@deepseekcode/cli 1.0.0 → 1.0.1

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.
Files changed (37) hide show
  1. package/dist/cli.js +941 -757
  2. package/package.json +1 -1
  3. package/web/dist/assets/AgentFlowView-Co1aujcZ.js +1 -0
  4. package/web/dist/assets/{AgentsView-DvSlePx6.js → AgentsView-CHvg1cY0.js} +1 -1
  5. package/web/dist/assets/{AskQuestionModal-bOMD8fv0.js → AskQuestionModal-nAvPzz0y.js} +1 -1
  6. package/web/dist/assets/ChannelConfigView-DPg31Ui7.js +8 -0
  7. package/web/dist/assets/{FileTreeView-DtYvBKee.js → FileTreeView-DA87bArS.js} +3 -3
  8. package/web/dist/assets/HookApprovalModal-qN4gBTAu.js +1 -0
  9. package/web/dist/assets/HookConfigView-CBzuNojA.js +3 -0
  10. package/web/dist/assets/ModelsView-D4X70i7U.js +1 -0
  11. package/web/dist/assets/SessionGrid-CG6wC-sh.js +20 -0
  12. package/web/dist/assets/{SettingsPanel-N5qcaI8b.js → SettingsPanel-UUAdnvtB.js} +3 -3
  13. package/web/dist/assets/SkillsView-C1s0EA-r.js +1 -0
  14. package/web/dist/assets/{TerminalView-BFjl4bGT.js → TerminalView-DJitpAf8.js} +2 -2
  15. package/web/dist/assets/Toast-DJAVHqFo.js +1 -0
  16. package/web/dist/assets/ToolsView-DvbfsrpK.js +1 -0
  17. package/web/dist/assets/{hookRisk-DECuVQpA.js → hookRisk-CbXD9F3U.js} +1 -1
  18. package/web/dist/assets/{icons-B_rAQLge.js → icons-CjYP2PII.js} +146 -86
  19. package/web/dist/assets/index-B-DFEdP3.js +21 -0
  20. package/web/dist/assets/index-D2PsJB4J.css +1 -0
  21. package/web/dist/assets/{markdown-BAhUvdx-.js → markdown-CIsUyqRd.js} +1 -1
  22. package/web/dist/assets/panels-DP49kN7A.js +1 -0
  23. package/web/dist/assets/{react-vendor-meeTdQCf.js → react-vendor-DuqM3ddv.js} +1 -1
  24. package/web/dist/assets/{state-Cke1lss7.js → state-BCeK45RP.js} +1 -1
  25. package/web/dist/index.html +6 -6
  26. package/web/dist/assets/AgentFlowView-Cq5rwwHO.js +0 -1
  27. package/web/dist/assets/ChannelConfigView-ByhL7_5W.js +0 -8
  28. package/web/dist/assets/HookApprovalModal-BOSEvhFh.js +0 -1
  29. package/web/dist/assets/HookConfigView-DIytJ_Pb.js +0 -3
  30. package/web/dist/assets/ModelsView-DOUNg5rX.js +0 -1
  31. package/web/dist/assets/SessionGrid-DS1RanMd.js +0 -17
  32. package/web/dist/assets/SkillsView-H0sCdR5e.js +0 -1
  33. package/web/dist/assets/Toast-DowV4l0w.js +0 -1
  34. package/web/dist/assets/ToolsView-DSl95dvA.js +0 -1
  35. package/web/dist/assets/index-BhVUD1px.css +0 -1
  36. package/web/dist/assets/index-BtIzCXfW.js +0 -20
  37. package/web/dist/assets/panels-p9MZH4aX.js +0 -1
@@ -1,17 +0,0 @@
1
- import{j as s,M as jr,P as Or}from"./markdown-BAhUvdx-.js";import{R as F,r as R,n as Lr,ah as _n,ak as rt,a as Tt,i as Vt,al as Pn,X as Fr,am as Hr,l as Dr,m as $n,K as zr,an as Mr,p as Br,ao as _r,aa as Pr,ap as $r,a8 as Ur,aq as Gr,L as Wr}from"./icons-B_rAQLge.js";import{x as Vr}from"./react-vendor-meeTdQCf.js";import{e as De,w as gt,i as fn,u as vt,j as ye,W as Kr,k as Yr,l as Rt,m as Xr,b as Zr,n as mn,d as Jr,S as Qr}from"./index-BtIzCXfW.js";import{c as qr,e as eo,R as to}from"./hookRisk-DECuVQpA.js";import"./state-Cke1lss7.js";const kt=0,ze=1,Ze=2,Un=4;function hn(e){return()=>e}function no(e){e()}function Gn(e,t){return n=>e(t(n))}function gn(e,t){return()=>e(t)}function ro(e,t){return n=>e(t,n)}function Kt(e){return e!==void 0}function oo(...e){return()=>{e.map(no)}}function Je(){}function yt(e,t){return t(e),e}function so(e,t){return t(e)}function ne(...e){return e}function Z(e,t){return e(ze,t)}function $(e,t){e(kt,t)}function Yt(e){e(Ze)}function oe(e){return e(Un)}function H(e,t){return Z(e,ro(t,kt))}function Ne(e,t){const n=e(ze,r=>{n(),t(r)});return n}function xn(e){let t,n;return r=>o=>{t=o,n&&clearTimeout(n),n=setTimeout(()=>{r(t)},e)}}function Wn(e,t){return e===t}function te(e=Wn){let t;return n=>r=>{e(t,r)||(t=r,n(r))}}function B(e){return t=>n=>{e(n)&&t(n)}}function O(e){return t=>Gn(t,e)}function Ae(e){return t=>()=>{t(e)}}function T(e,...t){const n=io(...t);return(r,o)=>{switch(r){case Ze:Yt(e);return;case ze:return Z(e,n(o))}}}function je(e,t){return n=>r=>{n(t=e(t,r))}}function Ue(e){return t=>n=>{e>0?e--:t(n)}}function Le(e){let t=null,n;return r=>o=>{t=o,!n&&(n=setTimeout(()=>{n=void 0,r(t)},e))}}function U(...e){const t=Array.from({length:e.length});let n=0,r=null;const o=2**e.length-1;return e.forEach((i,l)=>{const c=2**l;Z(i,a=>{const u=n;n|=c,t[l]=a,u!==o&&n===o&&r&&(r(),r=null)})}),i=>l=>{const c=()=>{i([l].concat(t))};n===o?c():r=c}}function io(...e){return t=>e.reduceRight(so,t)}function ao(e){let t,n;const r=()=>t==null?void 0:t();return function(o,i){switch(o){case ze:return i?n===i?void 0:(r(),n=i,t=Z(e,i),t):(r(),Je);case Ze:r(),n=null;return}}}function y(e){let t=e;const n=W();return(r,o)=>{switch(r){case kt:t=o;break;case ze:{o(t);break}case Un:return t}return n(r,o)}}function xe(e,t){return yt(y(t),n=>H(e,n))}function W(){const e=[];return(t,n)=>{switch(t){case kt:e.slice().forEach(r=>{r(n)});return;case Ze:e.splice(0);return;case ze:return e.push(n),()=>{const r=e.indexOf(n);r>-1&&e.splice(r,1)}}}}function Te(e){return yt(W(),t=>H(e,t))}const lo={singleton:!0};function Y(e,t=[],n=lo){const{singleton:r}=n;return{constructor:e,dependencies:t,id:co(),singleton:r}}const co=()=>Symbol("id");function uo(e){const t=new Map,n=({constructor:r,dependencies:o,id:i,singleton:l})=>{if(l&&t.has(i))return t.get(i);const c=r(o.map(a=>n(a)));return l&&t.set(i,c),c};return n(e)}function le(...e){const t=W(),n=Array.from({length:e.length});let r=0;const o=2**e.length-1;return e.forEach((i,l)=>{const c=2**l;Z(i,a=>{n[l]=a,r|=c,r===o&&$(t,n)})}),function(i,l){switch(i){case Ze:{Yt(t);return}case ze:return r===o&&l(n),Z(t,l)}}}function M(e,t=Wn){return T(e,te(t))}function Mt(...e){return function(t,n){switch(t){case Ze:return;case ze:return oo(...e.map(r=>Z(r,n)))}}}const fe={DEBUG:0,INFO:1,WARN:2,ERROR:3},po={[fe.DEBUG]:"debug",[fe.ERROR]:"error",[fe.INFO]:"log",[fe.WARN]:"warn"},fo=()=>typeof globalThis>"u"?window:globalThis,Me=Y(()=>{const e=y(fe.ERROR);return{log:y((t,n,r=fe.INFO)=>{const o=fo().VIRTUOSO_LOG_LEVEL??oe(e);r>=o&&console[po[r]]("%creact-virtuoso: %c%s %o","color: #0253b3; font-weight: bold","color: initial",t,n)}),logLevel:e}},[],{singleton:!0}),Bt=new WeakMap;function Vn(e){return"self"in e?e.document.documentElement:e}function mo(e){const t=Vn(e),n=Bt.get(t);if(n!==void 0)return n;const r=t.ownerDocument.defaultView.getComputedStyle(t).direction==="rtl";return Bt.set(t,r),r}function bn(e){Bt.delete(Vn(e))}function Kn(e,t){return mo(e)?-t:t}const Pe=Kn;function vn(e,t){return Kn(e,t)}function Ge(e,t,n){return Xt(e,t,n).callbackRef}function Xt(e,t,n){const r=F.useRef(null);let o=l=>{};const i=F.useMemo(()=>typeof ResizeObserver<"u"?new ResizeObserver(l=>{const c=()=>{const a=l[0].target;a.offsetParent!==null&&e(a)};n?c():requestAnimationFrame(c)}):null,[e,n]);return o=l=>{l&&t?(i==null||i.observe(l),r.current=l):(r.current&&(i==null||i.unobserve(r.current)),r.current=null)},{callbackRef:o,ref:r}}function ho(e,t,n,r,o,i,l,c,a){const u=F.useCallback(d=>{var h;const m=go(d.children,t,c?"offsetWidth":"offsetHeight",o);let g=d.parentElement;for(;g.dataset.virtuosoScroller===void 0;)g=g.parentElement;const x=((h=g.lastElementChild)==null?void 0:h.dataset.viewportType)==="window";let E;x&&(E=g.ownerDocument.defaultView);const k=l?c?l.scrollWidth:l.scrollHeight:x?c?E.document.documentElement.scrollWidth:E.document.documentElement.scrollHeight:c?g.scrollWidth:g.scrollHeight,b=l?c?l.offsetWidth:l.offsetHeight:x?c?E.innerWidth:E.innerHeight:c?g.offsetWidth:g.offsetHeight,f=l?c?Pe(l,l.scrollLeft):l.scrollTop:x?c?Pe(E,E.scrollX||E.document.documentElement.scrollLeft):E.scrollY||E.document.documentElement.scrollTop:c?Pe(g,g.scrollLeft):g.scrollTop;r({scrollHeight:k,scrollTop:Math.max(f,0),viewportHeight:b}),i==null||i(c?Sn("column-gap",getComputedStyle(d).columnGap,o):Sn("row-gap",getComputedStyle(d).rowGap,o)),m!==null&&e(m)},[e,t,o,i,l,r,c]);return Xt(u,n,a)}function go(e,t,n,r){const o=e.length;if(o===0)return null;const i=[];for(let l=0;l<o;l++){const c=e.item(l);if(c.dataset.index===void 0)continue;const a=parseInt(c.dataset.index,10),u=parseFloat(c.dataset.knownSize),d=t(c,n);if(d===0&&r("Zero-sized element, this should not happen",{child:c},fe.ERROR),d===u)continue;const m=i[i.length-1];i.length===0||m.size!==d||m.endIndex!==a-1?i.push({endIndex:a,size:d,startIndex:a}):i[i.length-1].endIndex++}return i}function Sn(e,t,n){return t!=="normal"&&(t==null?void 0:t.endsWith("px"))!==!0&&n(`${e} was not resolved to pixel value correctly`,t,fe.WARN),t==="normal"?0:parseInt(t??"0",10)}function Yn(e,t,n){const r=F.useRef(null),o=F.useCallback(a=>{if(!(a!=null&&a.offsetParent))return;const u=a.getBoundingClientRect(),d=u.width;let m,g;if(t){const x=t.getBoundingClientRect(),E=u.top-x.top;g=x.height-Math.max(0,E),m=E+t.scrollTop}else{const x=l.current.ownerDocument.defaultView;g=x.innerHeight-Math.max(0,u.top),m=u.top+x.scrollY}r.current={listHeight:u.height,offsetTop:m,visibleHeight:g,visibleWidth:d},e(r.current)},[e,t]),{callbackRef:i,ref:l}=Xt(o,!0,n),c=F.useCallback(()=>{o(l.current)},[o,l]);return F.useEffect(()=>{var u;if(t){t.addEventListener("scroll",c);const d=new ResizeObserver(()=>{requestAnimationFrame(c)});return d.observe(t),()=>{t.removeEventListener("scroll",c),d.unobserve(t)}}const a=(u=l.current)==null?void 0:u.ownerDocument.defaultView;return a==null||a.addEventListener("scroll",c),a==null||a.addEventListener("resize",c),()=>{a==null||a.removeEventListener("scroll",c),a==null||a.removeEventListener("resize",c)}},[c,t,l]),i}const ve=Y(()=>{const e=W(),t=W(),n=y(0),r=W(),o=y(0),i=W(),l=W(),c=y(0),a=y(0),u=y(0),d=y(0),m=W(),g=W(),x=y(!1),E=y(!1),k=y(!1);return H(T(e,O(({scrollTop:b})=>b)),t),H(T(e,O(({scrollHeight:b})=>b)),l),H(t,o),{deviation:n,fixedFooterHeight:u,fixedHeaderHeight:a,footerHeight:d,headerHeight:c,horizontalDirection:E,scrollBy:g,scrollContainerState:e,scrollHeight:l,scrollingInProgress:x,scrollTo:m,scrollTop:t,skipAnimationFrameInResizeObserver:k,smoothScrollTargetReached:r,statefulScrollTop:o,viewportHeight:i}},[],{singleton:!0}),ot={lvl:0};function Xn(e,t){const n=e.length;if(n===0)return[];let{index:r,value:o}=t(e[0]);const i=[];for(let l=1;l<n;l++){const{index:c,value:a}=t(e[l]);i.push({end:c-1,start:r,value:o}),r=c,o=a}return i.push({end:1/0,start:r,value:o}),i}function J(e){return e===ot}function st(e,t){if(!J(e))return t===e.k?e.v:t<e.k?st(e.l,t):st(e.r,t)}function Ce(e,t,n="k"){if(J(e))return[-1/0,void 0];if(Number(e[n])===t)return[e.k,e.v];if(Number(e[n])<t){const r=Ce(e.r,t,n);return r[0]===-1/0?[e.k,e.v]:r}return Ce(e.l,t,n)}function Ie(e,t,n){return J(e)?Qn(t,n,1):t===e.k?pe(e,{k:t,v:n}):t<e.k?In(pe(e,{l:Ie(e.l,t,n)})):In(pe(e,{r:Ie(e.r,t,n)}))}function Ye(){return ot}function Xe(e,t,n){if(J(e))return[];const r=Ce(e,t)[0];return xo(Pt(e,r,n))}function _t(e,t){if(J(e))return ot;const{k:n,l:r,r:o}=e;if(t===n){if(J(r))return o;if(J(o))return r;const[i,l]=Jn(r);return St(pe(e,{k:i,l:Zn(r),v:l}))}return t<n?St(pe(e,{l:_t(r,t)})):St(pe(e,{r:_t(o,t)}))}function $e(e){return J(e)?[]:[...$e(e.l),{k:e.k,v:e.v},...$e(e.r)]}function Pt(e,t,n){if(J(e))return[];const{k:r,l:o,r:i,v:l}=e;let c=[];return r>t&&(c=c.concat(Pt(o,t,n))),r>=t&&r<=n&&c.push({k:r,v:l}),r<=n&&(c=c.concat(Pt(i,t,n))),c}function St(e){const{l:t,lvl:n,r}=e;if(r.lvl>=n-1&&t.lvl>=n-1)return e;if(n>r.lvl+1){if(At(t))return qn(pe(e,{lvl:n-1}));if(!J(t)&&!J(t.r))return pe(t.r,{l:pe(t,{r:t.r.l}),lvl:n,r:pe(e,{l:t.r.r,lvl:n-1})});throw new Error("Unexpected empty nodes")}if(At(e))return $t(pe(e,{lvl:n-1}));if(!J(r)&&!J(r.l)){const o=r.l,i=At(o)?r.lvl-1:r.lvl;return pe(o,{l:pe(e,{lvl:n-1,r:o.l}),lvl:o.lvl+1,r:$t(pe(r,{l:o.r,lvl:i}))})}throw new Error("Unexpected empty nodes")}function pe(e,t){return Qn(t.k===void 0?e.k:t.k,t.v===void 0?e.v:t.v,t.lvl===void 0?e.lvl:t.lvl,t.l===void 0?e.l:t.l,t.r===void 0?e.r:t.r)}function Zn(e){return J(e.r)?e.l:St(pe(e,{r:Zn(e.r)}))}function At(e){return J(e)||e.lvl>e.r.lvl}function Jn(e){return J(e.r)?[e.k,e.v]:Jn(e.r)}function Qn(e,t,n,r=ot,o=ot){return{k:e,l:r,lvl:n,r:o,v:t}}function In(e){return $t(qn(e))}function qn(e){const{l:t}=e;return!J(t)&&t.lvl===e.lvl?pe(t,{r:pe(e,{l:t.r})}):e}function $t(e){const{lvl:t,r:n}=e;return!J(n)&&!J(n.r)&&n.lvl===t&&n.r.lvl===t?pe(n,{l:pe(e,{r:n.l}),lvl:t+1}):e}function xo(e){return Xn(e,({k:t,v:n})=>({index:t,value:n}))}function er(e,t){return!!(e&&e.startIndex===t.startIndex&&e.endIndex===t.endIndex)}function it(e,t){return!!(e&&e[0]===t[0]&&e[1]===t[1])}const Zt=Y(()=>({recalcInProgress:y(!1)}),[],{singleton:!0});function tr(e,t,n){return e[Et(e,t,n)]}function Et(e,t,n,r=0){let o=e.length-1;for(;r<=o;){const i=Math.floor((r+o)/2),l=e[i],c=n(l,t);if(c===0)return i;if(c===-1){if(o-r<2)return i-1;o=i-1}else{if(o===r)return i;r=i+1}}throw new Error(`Failed binary finding record in array - ${e.join(",")}, searched for ${t}`)}function bo(e,t,n,r){const o=Et(e,t,r),i=Et(e,n,r,o);return e.slice(o,i+1)}function He(e,t){return Math.round(e.getBoundingClientRect()[t])}function Nt(e){return!J(e.groupOffsetTree)}function Jt({index:e},t){return t===e?0:t<e?-1:1}function vo(){return{groupIndices:[],groupOffsetTree:Ye(),lastIndex:0,lastOffset:0,lastSize:0,offsetTree:[],sizeTree:Ye()}}function So(e,t){let n=J(e)?0:1/0;for(const r of t){const{endIndex:o,size:i,startIndex:l}=r;if(n=Math.min(n,l),J(e)){e=Ie(e,0,i);continue}const c=Xe(e,l-1,o+1);if(c.some(No(r)))continue;let a=!1,u=!1;for(const{end:d,start:m,value:g}of c)a?(o>=m||i===g)&&(e=_t(e,m)):(u=g!==i,a=!0),d>o&&o>=m&&g!==i&&(e=Ie(e,o+1,g));u&&(e=Ie(e,l,i))}return[e,n]}function Io(e){return e.groupIndex!==void 0}function To({offset:e},t){return t===e?0:t<e?-1:1}function at(e,t,n){if(t.length===0)return 0;const{index:r,offset:o,size:i}=tr(t,e,Jt),l=e-r,c=i*l+(l-1)*n+o;return c>0?c+n:c}function nr(e,t){if(!Nt(t))return e;let n=0;for(;t.groupIndices[n]<=e+n;)n++;return e+n}function rr(e,t,n){if(Io(e))return t.groupIndices[e.groupIndex]+1;const r=e.index==="LAST"?n:e.index;let o=nr(r,t);return o=Math.max(0,Math.min(n,o)),o}function Eo(e,t,n,r=0){return r>0&&(t=Math.max(t,tr(e,r,Jt).offset)),Xn(bo(e,t,n,To),yo)}function wo(e,[t,n,r,o]){t.length>0&&r("received item sizes",t,fe.DEBUG);const i=e.sizeTree;let l=i,c=0;if(n.length>0&&J(i)&&t.length===2){const g=t[0].size,x=t[1].size;l=n.reduce((E,k)=>Ie(Ie(E,k,g),k+1,x),l)}else[l,c]=So(l,t);if(l===i)return e;const{lastIndex:a,lastOffset:u,lastSize:d,offsetTree:m}=Ut(e.offsetTree,c,l,o);return{groupIndices:n,groupOffsetTree:n.reduce((g,x)=>Ie(g,x,at(x,m,o)),Ye()),lastIndex:a,lastOffset:u,lastSize:d,offsetTree:m,sizeTree:l}}function ko(e){return $e(e).map(({k:t,v:n},r,o)=>{const i=o[r+1];return{endIndex:i===void 0?1/0:i.k-1,size:n,startIndex:t}})}function Tn(e,t){let n=0,r=0;for(;n<e;)n+=t[r+1]-t[r]-1,r++;return r-(n===e?0:1)}function Ut(e,t,n,r){let o=e,i=0,l=0,c=0,a=0;if(t===0)o=[];else{a=Et(o,t-1,Jt),c=o[a].offset;const u=Ce(n,t-1);i=u[0],l=u[1],o.length&&o[a].size===Ce(n,t)[1]&&(a-=1),o=o.slice(0,a+1)}for(const{start:u,value:d}of Xe(n,t,1/0)){const m=u-i,g=m*l+c+m*r;o.push({index:u,offset:g,size:d}),i=u,c=g,l=d}return{lastIndex:i,lastOffset:c,lastSize:l,offsetTree:o}}function yo(e){return{index:e.index,value:e}}function No(e){const{endIndex:t,size:n,startIndex:r}=e;return o=>o.start===r&&(o.end===t||o.end===1/0)&&o.value===n}const Co={offsetHeight:"height",offsetWidth:"width"},Oe=Y(([{log:e},{recalcInProgress:t}])=>{const n=W(),r=W(),o=xe(r,0),i=W(),l=W(),c=y(0),a=y([]),u=y(void 0),d=y(void 0),m=y(void 0),g=y(void 0),x=y((p,v)=>He(p,Co[v])),E=y(void 0),k=y(0),b=vo(),f=xe(T(n,U(a,e,k),je(wo,b),te()),b),h=xe(T(a,te(),je((p,v)=>({current:v,prev:p.current}),{current:[],prev:[]}),O(({prev:p})=>p)),[]);H(T(a,B(p=>p.length>0),U(f,k),O(([p,v,C])=>{const w=p.reduce((A,_,L)=>Ie(A,_,at(_,v.offsetTree,C)||L),Ye());return{...v,groupIndices:p,groupOffsetTree:w}})),f),H(T(r,U(f),B(([p,{lastIndex:v}])=>p<v),O(([p,{lastIndex:v,lastSize:C}])=>[{endIndex:v,size:C,startIndex:p}])),n),H(u,d);const S=xe(T(u,O(p=>p===void 0)),!0);H(T(d,B(p=>p!==void 0&&J(oe(f).sizeTree)),O(p=>{const v=oe(m),C=oe(a).length>0;return v!==void 0&&v!==0?C?[{endIndex:0,size:v,startIndex:0},{endIndex:1,size:p,startIndex:1}]:[]:[{endIndex:0,size:p,startIndex:0}]})),n),H(T(g,B(p=>p!==void 0&&p.length>0&&J(oe(f).sizeTree)),O(p=>{const v=[];let C=p[0],w=0;for(let A=1;A<p.length;A++){const _=p[A];_!==C&&(v.push({endIndex:A-1,size:C,startIndex:w}),C=_,w=A)}return v.push({endIndex:p.length-1,size:C,startIndex:w}),v})),n),H(T(a,U(m,d),B(([,p,v])=>p!==void 0&&v!==void 0),O(([p,v,C])=>{const w=[];for(let A=0;A<p.length;A++){const _=p[A],L=p[A+1];w.push({startIndex:_,endIndex:_,size:v}),L!==void 0&&w.push({startIndex:_+1,endIndex:L-1,size:C})}return w})),n);const N=Te(T(n,U(f),je(({sizes:p},[v,C])=>({changed:C!==p,sizes:C}),{changed:!1,sizes:b}),O(p=>p.changed)));Z(T(c,je((p,v)=>({diff:p.prev-v,prev:v}),{diff:0,prev:0}),O(p=>p.diff)),p=>{const{groupIndices:v}=oe(f);if(p>0)$(t,!0),$(i,p+Tn(p,v));else if(p<0){const C=oe(h);C.length>0&&(p-=Tn(-p,C)),$(l,p)}}),Z(T(c,U(e)),([p,v])=>{p<0&&v("`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value",{firstItemIndex:c},fe.ERROR)});const I=Te(i);H(T(i,U(f),O(([p,v])=>{const C=v.groupIndices.length>0,w=[],A=v.lastSize;if(C){const _=st(v.sizeTree,0);let L=0,z=0;for(;L<p;){const K=v.groupIndices[z],V=v.groupIndices.length===z+1?1/0:v.groupIndices[z+1]-K-1;w.push({endIndex:K,size:_,startIndex:K}),w.push({endIndex:K+1+V-1,size:A,startIndex:K+1}),z++,L+=V+1}const G=$e(v.sizeTree);return L!==p&&G.shift(),G.reduce((K,{k:V,v:ce})=>{let Ee=K.ranges;return K.prevSize!==0&&(Ee=[...K.ranges,{endIndex:V+p-1,size:K.prevSize,startIndex:K.prevIndex}]),{prevIndex:V+p,prevSize:ce,ranges:Ee}},{prevIndex:p,prevSize:0,ranges:w}).ranges}return $e(v.sizeTree).reduce((_,{k:L,v:z})=>({prevIndex:L+p,prevSize:z,ranges:[..._.ranges,{endIndex:L+p-1,size:_.prevSize,startIndex:_.prevIndex}]}),{prevIndex:0,prevSize:A,ranges:[]}).ranges})),n);const D=Te(T(l,U(f,k),O(([p,{offsetTree:v},C])=>{const w=-p;return at(w,v,C)})));return H(T(l,U(f,k),O(([p,v,C])=>{if(v.groupIndices.length>0){if(J(v.sizeTree))return v;let A=Ye();const _=oe(h);let L=0,z=0,G=0;for(;L<-p;){G=_[z];const K=_[z+1]-G-1;z++,L+=K+1}if(A=$e(v.sizeTree).reduce((K,{k:V,v:ce})=>Ie(K,Math.max(0,V+p),ce),A),L!==-p){const K=st(v.sizeTree,G);A=Ie(A,0,K);const V=Ce(v.sizeTree,-p+1)[1];A=Ie(A,1,V)}return{...v,sizeTree:A,...Ut(v.offsetTree,0,A,C)}}const w=$e(v.sizeTree).reduce((A,{k:_,v:L})=>Ie(A,Math.max(0,_+p),L),Ye());return{...v,sizeTree:w,...Ut(v.offsetTree,0,w,C)}})),f),{beforeUnshiftWith:I,data:E,defaultItemSize:d,firstItemIndex:c,fixedItemSize:u,fixedGroupSize:m,gap:k,groupIndices:a,heightEstimates:g,itemSize:x,listRefresh:N,shiftWith:l,shiftWithOffset:D,sizeRanges:n,sizes:f,statefulTotalCount:o,totalCount:r,trackItemSizes:S,unshiftWith:i}},ne(Me,Zt),{singleton:!0});function Ro(e){return e.reduce((t,n)=>(t.groupIndices.push(t.totalCount),t.totalCount+=n+1,t),{groupIndices:[],totalCount:0})}const or=Y(([{groupIndices:e,sizes:t,totalCount:n},{headerHeight:r,scrollTop:o}])=>{const i=W(),l=W(),c=Te(T(i,O(Ro)));return H(T(c,O(a=>a.totalCount)),n),H(T(c,O(a=>a.groupIndices)),e),H(T(le(o,t,r),B(([a,u])=>Nt(u)),O(([a,u,d])=>Ce(u.groupOffsetTree,Math.max(a-d,0),"v")[0]),te(),O(a=>[a])),l),{groupCounts:i,topItemsIndexes:l}},ne(Oe,ve)),Be=Y(([{log:e}])=>{const t=y(!1),n=Te(T(t,B(r=>r),te()));return Z(t,r=>{r&&oe(e)("props updated",{},fe.DEBUG)}),{didMount:n,propsReady:t}},ne(Me),{singleton:!0}),Ao=typeof document<"u"&&"scrollBehavior"in document.documentElement.style;function sr(e){const t=typeof e=="number"?{index:e}:{...e};return t.align||(t.align="start"),(!t.behavior||!Ao)&&(t.behavior="auto"),t.offset===void 0&&(t.offset=0),t}const dt=Y(([{gap:e,listRefresh:t,sizes:n,totalCount:r},{fixedFooterHeight:o,fixedHeaderHeight:i,footerHeight:l,headerHeight:c,scrollingInProgress:a,scrollTo:u,smoothScrollTargetReached:d,viewportHeight:m},{log:g}])=>{const x=W(),E=W(),k=y(0);let b=null,f=null,h=null;function S(){b!==null&&(b(),b=null),h!==null&&(h(),h=null),f&&(clearTimeout(f),f=null),$(a,!1)}return H(T(x,U(n,m,r,k,c,l,g),U(e,i,o),O(([[N,I,D,p,v,C,w,A],_,L,z])=>{const G=sr(N),{align:K,behavior:V,offset:ce}=G,Ee=p-1,me=rr(G,I,Ee);let Se=at(me,I.offsetTree,_)+C;K==="end"?(Se+=L+Ce(I.sizeTree,me)[1]-D+z,me===Ee&&(Se+=w)):K==="center"?Se+=(L+Ce(I.sizeTree,me)[1]-D+z)/2:Se-=v,ce!==void 0&&ce!==0&&(Se+=ce);const Fe=he=>{S(),he?(A("retrying to scroll to",{location:N},fe.DEBUG),$(x,N)):($(E,!0),A("list did not change, scroll successful",{},fe.DEBUG))};if(S(),V==="smooth"){let he=!1;h=Z(t,Ve=>{he=he||Ve}),b=Ne(d,()=>{Fe(he)})}else b=Ne(T(t,jo(150)),Fe);return f=setTimeout(()=>{S()},1200),$(a,!0),A("scrolling from index to",{behavior:V,index:me,top:Se},fe.DEBUG),{behavior:V,top:Se}})),u),{scrollTargetReached:E,scrollToIndex:x,topListHeight:k}},ne(Oe,ve,Me),{singleton:!0});function jo(e){return t=>{const n=setTimeout(()=>{t(!1)},e);return r=>{r&&(t(!0),clearTimeout(n))}}}function Qt(e,t){e===0?t():requestAnimationFrame(()=>{Qt(e-1,t)})}function qt(e,t){if(e===void 0)return 0;const n=t-1,r=typeof e=="number"?e:e.index==="LAST"?n:e.index;return Math.max(0,Math.min(r,n))}function Gt(e){return e===void 0?!0:typeof e=="number"?e===0:e.index===0&&(e.align===void 0||e.align==="start")&&(e.offset===void 0||e.offset===0)}const pt=Y(([{defaultItemSize:e,listRefresh:t,sizes:n},{scrollTop:r},{scrollTargetReached:o,scrollToIndex:i},{didMount:l}])=>{const c=y(!0),a=y(0),u=y(!0);return H(T(l,U(a),B(([d,m])=>!Gt(m)),Ae(!1)),c),H(T(l,U(a),B(([d,m])=>!Gt(m)),Ae(!1)),u),Z(T(le(t,l),U(c,n,e,u),B(([[,d],m,{sizeTree:g},x,E])=>d&&(!J(g)||Kt(x))&&!m&&!E),U(a)),([,d])=>{if(d===void 0){$(c,!0),$(u,!0);return}Ne(o,()=>{$(u,!0)}),Qt(4,()=>{Ne(r,()=>{$(c,!0)}),$(i,d)})}),{initialItemFinalLocationReached:u,initialTopMostItemIndex:a,scrolledToInitialItem:c}},ne(Oe,ve,dt,Be),{singleton:!0});function ir(e,t){return Math.abs(e-t)<1.01}const lt="up",tt="down",Oo="none",Lo={atBottom:!1,notAtBottomBecause:"NOT_SHOWING_LAST_ITEM",state:{offsetBottom:0,scrollHeight:0,scrollTop:0,viewportHeight:0}},Fo=0,ft=Y(([{footerHeight:e,headerHeight:t,scrollBy:n,scrollContainerState:r,scrollTop:o,viewportHeight:i}])=>{const l=y(!1),c=y(!0),a=W(),u=W(),d=y(4),m=y(Fo),g=xe(T(Mt(T(M(o),Ue(1),Ae(!0)),T(M(o),Ue(1),Ae(!1),xn(100))),te()),!1),x=xe(T(Mt(T(n,Ae(!0)),T(n,Ae(!1),xn(200))),te()),!1);H(T(le(M(o),M(m)),O(([h,S])=>h<=S),te()),c),H(T(c,Le(50)),u);const E=Te(T(le(r,M(i),M(t),M(e),M(d)),je((h,[{scrollHeight:S,scrollTop:N},I,D,p,v])=>{const C=N+I-S>-v,w={scrollHeight:S,scrollTop:N,viewportHeight:I};if(C){let _,L;return N>h.state.scrollTop?(_="SCROLLED_DOWN",L=h.state.scrollTop-N):(_="SIZE_DECREASED",L=h.state.scrollTop-N||h.scrollTopDelta),{atBottom:!0,atBottomBecause:_,scrollTopDelta:L,state:w}}let A;return w.scrollHeight>h.state.scrollHeight?A="SIZE_INCREASED":I<h.state.viewportHeight?A="VIEWPORT_HEIGHT_DECREASING":N<h.state.scrollTop?A="SCROLLING_UPWARDS":A="NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM",{atBottom:!1,notAtBottomBecause:A,state:w}},Lo),te((h,S)=>h!==void 0&&h.atBottom===S.atBottom))),k=xe(T(r,je((h,{scrollHeight:S,scrollTop:N,viewportHeight:I})=>{if(!ir(h.scrollHeight,S)){const D=S-(N+I)<1;return h.scrollTop!==N&&D?{changed:!0,jump:h.scrollTop-N,scrollHeight:S,scrollTop:N}:{changed:!0,jump:0,scrollHeight:S,scrollTop:N}}return{changed:!1,jump:0,scrollHeight:S,scrollTop:N}},{changed:!1,jump:0,scrollHeight:0,scrollTop:0}),B(h=>h.changed),O(h=>h.jump)),0);H(T(E,O(h=>h.atBottom)),l),H(T(l,Le(50)),a);const b=y(tt);H(T(r,O(({scrollTop:h})=>h),te(),je((h,S)=>oe(x)?{direction:h.direction,prevScrollTop:S}:{direction:S<h.prevScrollTop?lt:tt,prevScrollTop:S},{direction:tt,prevScrollTop:0}),O(h=>h.direction)),b),H(T(r,Le(50),Ae(Oo)),b);const f=y(0);return H(T(g,B(h=>!h),Ae(0)),f),H(T(o,Le(100),U(g),B(([h,S])=>S),je(([h,S],[N])=>[S,N],[0,0]),O(([h,S])=>S-h)),f),{atBottomState:E,atBottomStateChange:a,atBottomThreshold:d,atTopStateChange:u,atTopThreshold:m,isAtBottom:l,isAtTop:c,isScrolling:g,lastJumpDueToItemResize:k,scrollDirection:b,scrollVelocity:f}},ne(ve)),ct="top",ut="bottom",En="none";function wn(e,t,n){return typeof e=="number"?n===lt&&t===ct||n===tt&&t===ut?e:0:n===lt?t===ct?e.main:e.reverse:t===ut?e.main:e.reverse}function kn(e,t){return typeof e=="number"?e:e[t]??0}const en=Y(([{deviation:e,fixedHeaderHeight:t,headerHeight:n,scrollTop:r,viewportHeight:o}])=>{const i=W(),l=y(0),c=y(0),a=y(0),u=xe(T(le(M(r),M(o),M(n),M(i,it),M(a),M(l),M(t),M(e),M(c)),O(([d,m,g,[x,E],k,b,f,h,S])=>{const N=d-h,I=b+f,D=Math.max(g-N,0);let p=En;const v=kn(S,ct),C=kn(S,ut);return x-=h,x+=g+f,E+=g+f,E-=h,x>d+I-v&&(p=lt),E<d-D+m+C&&(p=tt),p!==En?[Math.max(N-g-wn(k,ct,p)-v,0),N-D-f+m+wn(k,ut,p)+C]:null}),B(d=>d!==null),te(it)),[0,0]);return{increaseViewportBy:c,listBoundary:i,overscan:a,topListHeight:l,visibleRange:u}},ne(ve),{singleton:!0});function Ho(e,t,n){if(Nt(t)){const r=nr(e,t);return[{index:Ce(t.groupOffsetTree,r)[0],offset:0,size:0},{data:n==null?void 0:n[0],index:r,offset:0,size:0}]}return[{data:n==null?void 0:n[0],index:e,offset:0,size:0}]}const jt={bottom:0,firstItemIndex:0,items:[],offsetBottom:0,offsetTop:0,top:0,topItems:[],topListHeight:0,totalCount:0};function It(e,t,n,r,o,i){const{lastIndex:l,lastOffset:c,lastSize:a}=o;let u=0,d=0;if(e.length>0){u=e[0].offset;const k=e[e.length-1];d=k.offset+k.size}const m=n-l,g=c+m*a+(m-1)*r,x=u,E=g-d;return{bottom:d,firstItemIndex:i,items:yn(e,o,i),offsetBottom:E,offsetTop:u,top:x,topItems:yn(t,o,i),topListHeight:t.reduce((k,b)=>b.size+k,0),totalCount:n}}function ar(e,t,n,r,o,i){let l=0;if(n.groupIndices.length>0)for(const d of n.groupIndices){if(d-l>=e)break;l++}const c=e+l,a=qt(t,c),u=Array.from({length:c}).map((d,m)=>({data:i[m+a],index:m+a,offset:0,size:0}));return It(u,[],c,o,n,r)}function yn(e,t,n){if(e.length===0)return[];if(!Nt(t))return e.map(u=>({...u,index:u.index+n,originalIndex:u.index}));const r=e[0].index,o=e[e.length-1].index,i=[],l=Xe(t.groupOffsetTree,r,o);let c,a=0;for(const u of e){(!c||c.end<u.index)&&(c=l.shift(),a=t.groupIndices.indexOf(c.start));let d;u.index===c.start?d={index:a,type:"group"}:d={groupIndex:a,index:u.index-(a+1)+n},i.push({...d,data:u.data,offset:u.offset,originalIndex:u.index,size:u.size})}return i}function Nn(e,t){return e===void 0?0:typeof e=="number"?e:e[t]??0}const We=Y(([{data:e,firstItemIndex:t,gap:n,sizes:r,totalCount:o},i,{listBoundary:l,topListHeight:c,visibleRange:a},{initialTopMostItemIndex:u,scrolledToInitialItem:d},{topListHeight:m},g,{didMount:x},{recalcInProgress:E}])=>{const k=y([]),b=y(0),f=W(),h=y(0);H(i.topItemsIndexes,k);const S=xe(T(le(x,E,M(a,it),M(o),M(r),M(u),d,M(k),M(t),M(n),M(h),e),B(([p,v,,C,,,,,,,,w])=>{const A=w!==void 0&&w.length!==C;return p&&!v&&!A}),O(([,,[p,v],C,w,A,_,L,z,G,K,V])=>{var X,ue;const ce=w,{offsetTree:Ee,sizeTree:me}=ce,Se=oe(b);if(C===0)return{...jt,totalCount:C};if(p===0&&v===0)return Se===0?{...jt,totalCount:C}:ar(Se,A,w,z,G,V||[]);if(J(me))return Se>0?null:It(Ho(qt(A,C),ce,V),[],C,G,ce,z);const Fe=[];if(L.length>0){const q=L[0],re=L[L.length-1];let de=0;for(const ie of Xe(me,q,re)){const Q=ie.value,se=Math.max(ie.start,q),be=Math.min(ie.end,re);for(let ae=se;ae<=be;ae++)Fe.push({data:V==null?void 0:V[ae],index:ae,offset:de,size:Q}),de+=Q}}if(!_)return It([],Fe,C,G,ce,z);const he=L.length>0?L[L.length-1]+1:0,Ve=Eo(Ee,p,v,he);if(Ve.length===0)return null;const Qe=C-1,Re=yt([],q=>{for(const re of Ve){const de=re.value;let ie=de.offset,Q=re.start;const se=de.size;if(de.offset<p){Q+=Math.floor((p-de.offset+G)/(se+G));const ae=Q-re.start;ie+=ae*se+ae*G}Q<he&&(ie+=(he-Q)*se,Q=he);const be=Math.min(re.end,Qe);for(let ae=Q;ae<=be&&!(ie>=v);ae++)q.push({data:V==null?void 0:V[ae],index:ae,offset:ie,size:se}),ie+=se+G}}),qe=Nn(K,ct),j=Nn(K,ut);if(Re.length>0&&(qe>0||j>0)){const q=Re[0],re=Re[Re.length-1];if(qe>0&&q.index>he){const de=Math.min(qe,q.index-he),ie=[];let Q=q.offset;for(let se=q.index-1;se>=q.index-de;se--){const be=((X=Xe(me,se,se)[0])==null?void 0:X.value)??q.size;Q-=be+G,ie.unshift({data:V==null?void 0:V[se],index:se,offset:Q,size:be})}Re.unshift(...ie)}if(j>0&&re.index<Qe){const de=Math.min(j,Qe-re.index);let ie=re.offset+re.size+G;for(let Q=re.index+1;Q<=re.index+de;Q++){const se=((ue=Xe(me,Q,Q)[0])==null?void 0:ue.value)??re.size;Re.push({data:V==null?void 0:V[Q],index:Q,offset:ie,size:se}),ie+=se+G}}}return It(Re,Fe,C,G,ce,z)}),B(p=>p!==null),te()),jt);H(T(e,B(Kt),O(p=>p==null?void 0:p.length)),o),H(T(S,O(p=>p.topListHeight)),m),H(m,c),H(T(S,O(p=>[p.top,p.bottom])),l),H(T(S,O(p=>p.items)),f);const N=Te(T(S,B(({items:p})=>p.length>0),U(o,e),B(([{items:p},v])=>p[p.length-1].originalIndex===v-1),O(([,p,v])=>[p-1,v]),te(it),O(([p])=>p))),I=Te(T(S,Le(200),B(({items:p,topItems:v})=>p.length>0&&p[0].originalIndex===v.length),O(({items:p})=>p[0].index),te())),D=Te(T(S,B(({items:p})=>p.length>0),O(({items:p})=>{let v=0,C=p.length-1;for(;p[v].type==="group"&&v<C;)v++;for(;p[C].type==="group"&&C>v;)C--;return{endIndex:p[C].index,startIndex:p[v].index}}),te(er)));return{endReached:N,initialItemCount:b,itemsRendered:f,listState:S,minOverscanItemCount:h,rangeChanged:D,startReached:I,topItemsIndexes:k,...g}},ne(Oe,or,en,pt,dt,ft,Be,Zt),{singleton:!0}),lr=Y(([{fixedFooterHeight:e,fixedHeaderHeight:t,footerHeight:n,headerHeight:r},{listState:o}])=>{const i=W(),l=xe(T(le(n,e,r,t,o),O(([c,a,u,d,m])=>c+a+u+d+m.offsetBottom+m.bottom)),0);return H(M(l),i),{totalListHeight:l,totalListHeightChanged:i}},ne(ve,We),{singleton:!0}),Do=Y(([{viewportHeight:e},{totalListHeight:t}])=>{const n=y(!1),r=xe(T(le(n,e,t),B(([o])=>o),O(([,o,i])=>Math.max(0,o-i)),Le(0),te()),0);return{alignToBottom:n,paddingTopAddition:r}},ne(ve,lr),{singleton:!0}),cr=Y(()=>({context:y(null)})),zo=({itemBottom:e,itemTop:t,locationParams:{align:n,behavior:r,...o},viewportBottom:i,viewportTop:l})=>t<l?{...o,align:n??"start",...r===void 0?{}:{behavior:r}}:e>i?{...o,align:n??"end",...r===void 0?{}:{behavior:r}}:null,ur=Y(([{gap:e,sizes:t,totalCount:n},{fixedFooterHeight:r,fixedHeaderHeight:o,headerHeight:i,scrollingInProgress:l,scrollTop:c,viewportHeight:a},{scrollToIndex:u}])=>{const d=W();return H(T(d,U(t,a,n,i,o,r,c),U(e),O(([[m,g,x,E,k,b,f,h],S])=>{const{calculateViewLocation:N=zo,done:I,...D}=m,p=rr(m,g,E-1),v=at(p,g.offsetTree,S)+k+b,C=v+Ce(g.sizeTree,p)[1],w=h+b,A=h+x-f,_=N({itemBottom:C,itemTop:v,locationParams:D,viewportBottom:A,viewportTop:w});return _===null?I==null||I():I&&Ne(T(l,B(L=>!L),Ue(oe(l)?1:2)),I),_}),B(m=>m!==null)),u),{scrollIntoView:d}},ne(Oe,ve,dt,We,Me),{singleton:!0});function Cn(e){return e===!1?!1:e==="smooth"?"smooth":"auto"}const Mo=(e,t)=>typeof e=="function"?Cn(e(t)):t&&Cn(e),Bo=Y(([{listRefresh:e,totalCount:t,fixedItemSize:n,data:r},{atBottomState:o,isAtBottom:i},{scrollToIndex:l},{scrolledToInitialItem:c},{didMount:a,propsReady:u},{log:d},{scrollingInProgress:m},{context:g},{scrollIntoView:x}])=>{const E=y(!1),k=W();let b=null;function f(I){$(l,{align:"end",behavior:I,index:"LAST"})}Z(T(le(T(M(t),Ue(1)),a),U(M(E),i,c,m),O(([[I,D],p,v,C,w])=>{let A=D&&C,_="auto";return A&&(_=Mo(p,v||w),A=A&&_!==!1),{followOutputBehavior:_,shouldFollow:A,totalCount:I}}),B(({shouldFollow:I})=>I)),({followOutputBehavior:I,totalCount:D})=>{b!==null&&(b(),b=null),oe(n)===void 0?b=Ne(e,()=>{oe(d)("following output to ",{totalCount:D},fe.DEBUG),f(I),b=null}):requestAnimationFrame(()=>{oe(d)("following output to ",{totalCount:D},fe.DEBUG),f(I)})});function h(I){const D=Ne(o,p=>{I&&!p.atBottom&&p.notAtBottomBecause==="SIZE_INCREASED"&&b===null&&(oe(d)("scrolling to bottom due to increased size",{},fe.DEBUG),f("auto"))});setTimeout(D,100)}Z(T(le(M(E),t,u),B(([I,,D])=>I!==!1&&D),je(({value:I},[,D])=>({refreshed:I===D,value:D}),{refreshed:!1,value:0}),B(({refreshed:I})=>I),U(E,t)),([,I])=>{oe(c)&&h(I!==!1)}),Z(k,()=>{h(oe(E)!==!1)}),Z(le(M(E),o),([I,D])=>{I!==!1&&!D.atBottom&&D.notAtBottomBecause==="VIEWPORT_HEIGHT_DECREASING"&&f("auto")});const S=y(null),N=W();return H(Mt(T(M(r),O(I=>(I==null?void 0:I.length)??0)),T(M(t))),N),Z(T(le(T(N,Ue(1)),a),U(M(S),c,m,g),O(([[I,D],p,v,C,w])=>D&&v&&(p==null?void 0:p({context:w,totalCount:I,scrollingInProgress:C}))),B(I=>!!I),Le(0)),I=>{b!==null&&(b(),b=null),oe(n)===void 0?b=Ne(e,()=>{oe(d)("scrolling into view",{}),$(x,I),b=null}):requestAnimationFrame(()=>{oe(d)("scrolling into view",{}),$(x,I)})}),{autoscrollToBottom:k,followOutput:E,scrollIntoViewOnChange:S}},ne(Oe,ft,dt,pt,Be,Me,ve,cr,ur)),_o=Y(([{data:e,firstItemIndex:t,gap:n,sizes:r},{initialTopMostItemIndex:o},{initialItemCount:i,listState:l},{didMount:c}])=>(H(T(c,U(i),B(([,a])=>a!==0),U(o,r,t,n,e),O(([[,a],u,d,m,g,x=[]])=>ar(a,u,d,m,g,x))),l),{}),ne(Oe,pt,We,Be),{singleton:!0}),Po=Y(([{didMount:e},{scrollTo:t},{listState:n}])=>{const r=y(0);return Z(T(e,U(r),B(([,o])=>o!==0),O(([,o])=>({top:o}))),o=>{Ne(T(n,Ue(1),B(i=>i.items.length>1)),()=>{requestAnimationFrame(()=>{$(t,o)})})}),{initialScrollTop:r}},ne(Be,ve,We),{singleton:!0}),dr=Y(([{scrollVelocity:e}])=>{const t=y(!1),n=W(),r=y(!1);return H(T(e,U(r,t,n),B(([o,i])=>i!==!1&&i!==void 0),O(([o,i,l,c])=>{const{enter:a,exit:u}=i;if(l){if(u(o,c))return!1}else if(a(o,c))return!0;return l}),te()),t),Z(T(le(t,e,n),U(r)),([[o,i,l],c])=>{o&&c!==!1&&c!==void 0&&c.change&&c.change(i,l)}),{isSeeking:t,scrollSeekConfiguration:r,scrollSeekRangeChanged:n,scrollVelocity:e}},ne(ft),{singleton:!0}),tn=Y(([{scrollContainerState:e,scrollTo:t}])=>{const n=W(),r=W(),o=W(),i=y(!1),l=y(void 0);return H(T(le(n,r),O(([{scrollTop:c,viewportHeight:a},{offsetTop:u,listHeight:d}])=>({scrollHeight:d,scrollTop:Math.max(0,c-u),viewportHeight:a}))),e),H(T(t,U(r),O(([c,{offsetTop:a}])=>({...c,top:c.top+a}))),o),{customScrollParent:l,useWindowScroll:i,windowScrollContainerState:n,windowScrollTo:o,windowViewportRect:r}},ne(ve)),$o=Y(([{sizeRanges:e,sizes:t},{headerHeight:n,scrollTop:r},{initialTopMostItemIndex:o},{didMount:i},{useWindowScroll:l,windowScrollContainerState:c,windowViewportRect:a}])=>{const u=W(),d=y(void 0),m=y(null),g=y(null);return H(c,m),H(a,g),Z(T(u,U(t,r,l,m,g,n)),([x,E,k,b,f,h,S])=>{const N=ko(E.sizeTree);b&&f!==null&&h!==null&&(k=f.scrollTop-h.offsetTop),k-=S,x({ranges:N,scrollTop:k})}),H(T(d,B(Kt),O(Uo)),o),H(T(i,U(d),B(([,x])=>x!==void 0),te(),O(([,x])=>x.ranges)),e),{getState:u,restoreStateFrom:d}},ne(Oe,ve,pt,Be,tn));function Uo(e){return{align:"start",index:0,offset:e.scrollTop}}const Go=Y(([{topItemsIndexes:e}])=>{const t=y(0);return H(T(t,B(n=>n>=0),O(n=>Array.from({length:n}).map((r,o)=>o))),e),{topItemCount:t}},ne(We));function pr(e){let t=!1,n;return()=>(t||(t=!0,n=e()),n)}const Wo=pr(()=>/iP(ad|od|hone)/i.test(navigator.userAgent)&&/WebKit/i.test(navigator.userAgent)),Vo=Y(([{deviation:e,scrollBy:t,scrollingInProgress:n,scrollTop:r},{isAtBottom:o,isScrolling:i,lastJumpDueToItemResize:l,scrollDirection:c},{listState:a},{beforeUnshiftWith:u,gap:d,shiftWithOffset:m,sizes:g},{log:x},{recalcInProgress:E}])=>{const k=Te(T(a,U(l),je(([,f,h,S],[{bottom:N,items:I,offsetBottom:D,totalCount:p},v])=>{const C=N+D;let w=0;return h===p&&f.length>0&&I.length>0&&(I[0].originalIndex===0&&f[0].originalIndex===0||(w=C-S,w!==0&&(w+=v))),[w,I,p,C]},[0,[],0,0]),B(([f])=>f!==0),U(r,c,n,o,x,E),B(([,f,h,S,,,N])=>!N&&!S&&f!==0&&h===lt),O(([[f],,,,,h])=>(h("Upward scrolling compensation",{amount:f},fe.DEBUG),f))));function b(f){f>0?($(t,{behavior:"auto",top:-f}),$(e,0)):($(e,0),$(t,{behavior:"auto",top:-f}))}return Z(T(k,U(e,i)),([f,h,S])=>{S&&Wo()?$(e,h-f):b(-f)}),Z(T(le(xe(i,!1),e,E),B(([f,h,S])=>!f&&!S&&h!==0),O(([f,h])=>h),Le(1)),b),H(T(m,O(f=>({top:-f}))),t),Z(T(u,U(g,d),O(([f,{groupIndices:h,lastSize:S,sizeTree:N},I])=>{function D(A){return A*(S+I)}if(h.length===0)return D(f);let p=0;const v=st(N,0);let C=0,w=0;for(;C<f;){C++,p+=v;let A=h.length===w+1?1/0:h[w+1]-h[w]-1;C+A>f&&(p-=v,A=f-C+1),C+=A,p+=D(A),w++}return p})),f=>{$(e,f),requestAnimationFrame(()=>{$(t,{top:f}),requestAnimationFrame(()=>{$(e,0),$(E,!1)})})}),{deviation:e}},ne(ve,ft,We,Oe,Me,Zt)),Ko=Y(([e,t,n,r,o,i,l,c,a,u,d])=>({...e,...t,...n,...r,...o,...i,...l,...c,...a,...u,...d}),ne(en,_o,Be,dr,lr,Po,Do,tn,ur,Me,cr)),fr=Y(([{data:e,defaultItemSize:t,firstItemIndex:n,fixedItemSize:r,fixedGroupSize:o,gap:i,groupIndices:l,heightEstimates:c,itemSize:a,sizeRanges:u,sizes:d,statefulTotalCount:m,totalCount:g,trackItemSizes:x},{initialItemFinalLocationReached:E,initialTopMostItemIndex:k,scrolledToInitialItem:b},f,h,S,N,{scrollToIndex:I},D,{topItemCount:p},{groupCounts:v},C])=>{const{listState:w,minOverscanItemCount:A,topItemsIndexes:_,rangeChanged:L,...z}=N;return H(L,C.scrollSeekRangeChanged),H(T(C.windowViewportRect,O(G=>G.visibleHeight)),f.viewportHeight),{data:e,defaultItemHeight:t,firstItemIndex:n,fixedItemHeight:r,fixedGroupHeight:o,gap:i,groupCounts:v,heightEstimates:c,initialItemFinalLocationReached:E,initialTopMostItemIndex:k,scrolledToInitialItem:b,sizeRanges:u,topItemCount:p,topItemsIndexes:_,totalCount:g,...S,groupIndices:l,itemSize:a,listState:w,minOverscanItemCount:A,scrollToIndex:I,statefulTotalCount:m,trackItemSizes:x,rangeChanged:L,...z,...C,...f,sizes:d,...h}},ne(Oe,pt,ve,$o,Bo,We,dt,Vo,Go,or,Ko));function Yo(e,t){const n={},r={};let o=0;const i=e.length;for(;o<i;)r[e[o]]=1,o+=1;for(const l in t)Object.hasOwn(r,l)||(n[l]=t[l]);return n}const xt=typeof document>"u"?F.useEffect:F.useLayoutEffect;function mr(e,t,n){const r=Object.keys(t.required||{}),o=Object.keys(t.optional||{}),i=Object.keys(t.methods||{}),l=Object.keys(t.events||{}),c=F.createContext({});function a(b,f){b.propsReady!==void 0&&$(b.propsReady,!1);for(const h of r){const S=b[t.required[h]];$(S,f[h])}for(const h of o)if(h in f){const S=b[t.optional[h]];$(S,f[h])}b.propsReady!==void 0&&$(b.propsReady,!0)}function u(b){return i.reduce((f,h)=>(f[h]=S=>{const N=b[t.methods[h]];$(N,S)},f),{})}function d(b){return l.reduce((f,h)=>(f[h]=ao(b[t.events[h]]),f),{})}const m=F.forwardRef(function(b,f){const{children:h,...S}=b,[N]=F.useState(()=>yt(uo(e),p=>{a(p,S)})),[I]=F.useState(gn(d,N));xt(()=>{for(const p of l)p in S&&Z(I[p],S[p]);return()=>{Object.values(I).map(Yt)}},[S,I,N]),xt(()=>{a(N,S)}),F.useImperativeHandle(f,hn(u(N)));const D=n;return s.jsx(c.Provider,{value:N,children:n===void 0?h:s.jsx(D,{...Yo([...r,...o,...l],S),children:h})})}),g=b=>{const f=F.useContext(c);return F.useCallback(h=>{$(f[b],h)},[f,b])},x=b=>{const f=F.useContext(c)[b],h=F.useCallback(S=>Z(f,S),[f]);return F.useSyncExternalStore(h,()=>oe(f),()=>oe(f))},E=b=>{const f=F.useContext(c)[b],[h,S]=F.useState(gn(oe,f));return xt(()=>Z(f,N=>{N!==h&&S(hn(N))}),[f,h]),h},k=parseInt(F.version,10)>=18?x:E;return{Component:m,useEmitter:(b,f)=>{const h=F.useContext(c)[b];xt(()=>Z(h,f),[f,h])},useEmitterValue:k,usePublisher:g}}const hr=F.createContext(void 0),gr=F.createContext(void 0),Ot="-webkit-sticky",Rn="sticky",nn=pr(()=>{if(typeof document>"u")return Rn;const e=document.createElement("div");return e.style.position=Ot,e.style.position===Ot?Ot:Rn}),xr=typeof document>"u"?F.useEffect:F.useLayoutEffect;function Lt(e){return"self"in e}function Xo(e){return"body"in e}function br(e,t,n,r=Je,o,i){const l=F.useRef(null),c=F.useRef(null),a=F.useRef(null),u=F.useCallback(g=>{let x,E,k;const b=g.target;if(Xo(b)||Lt(b)){const h=Lt(b)?b:b.defaultView;k=i===!0?Pe(h,h.scrollX):h.scrollY,x=i===!0?h.document.documentElement.scrollWidth:h.document.documentElement.scrollHeight,E=i===!0?h.innerWidth:h.innerHeight}else k=i===!0?Pe(b,b.scrollLeft):b.scrollTop,x=i===!0?b.scrollWidth:b.scrollHeight,E=i===!0?b.offsetWidth:b.offsetHeight;const f=()=>{e({scrollHeight:x,scrollTop:Math.max(k,0),viewportHeight:E})};g.suppressFlushSync===!0?f():Vr.flushSync(f),c.current!==null&&(k===c.current||k<=0||k===x-E)&&(c.current=null,t(!0),a.current&&(clearTimeout(a.current),a.current=null))},[e,t,i]);F.useEffect(()=>{const g=o??l.current;return bn(g),r(o??l.current),u({suppressFlushSync:!0,target:g}),g.addEventListener("scroll",u,{passive:!0}),()=>{bn(g),r(null),g.removeEventListener("scroll",u)}},[l,u,n,r,o]);function d(g){const x=l.current;if(!x||(i===!0?"offsetWidth"in x&&x.offsetWidth===0:"offsetHeight"in x&&x.offsetHeight===0))return;const E=g.behavior==="smooth";let k,b,f;Lt(x)?(b=Math.max(He(x.document.documentElement,i===!0?"width":"height"),i===!0?x.document.documentElement.scrollWidth:x.document.documentElement.scrollHeight),k=i===!0?x.innerWidth:x.innerHeight,f=i===!0?Pe(x,x.scrollX):x.scrollY):(b=x[i===!0?"scrollWidth":"scrollHeight"],k=He(x,i===!0?"width":"height"),f=i===!0?Pe(x,x.scrollLeft):x.scrollTop);const h=b-k;if(g.top===void 0){x.scrollTo(g);return}const S=Math.ceil(Math.max(Math.min(h,g.top),0));if(g.top=S,ir(k,b)||S===f){e({scrollHeight:b,scrollTop:f,viewportHeight:k}),E&&t(!0);return}E?(c.current=S,a.current&&clearTimeout(a.current),a.current=setTimeout(()=>{a.current=null,c.current=null,t(!0)},1e3)):c.current=null,i===!0&&(g={...g.behavior===void 0?{}:{behavior:g.behavior},left:vn(x,S)}),x.scrollTo(g)}function m(g){i===!0&&(g={...g.behavior===void 0?{}:{behavior:g.behavior},...g.top===void 0?{}:{left:vn(l.current,g.top)}}),l.current.scrollBy(g)}return{scrollByCallback:m,scrollerRef:l,scrollToCallback:d}}function rn(e){return e}const Zo=Y(()=>{const e=y(c=>`Item ${c}`),t=y(c=>`Group ${c}`),n=y({}),r=y(rn),o=y("div"),i=y(Je),l=(c,a=null)=>xe(T(n,O(u=>u[c]),te()),a);return{components:n,computeItemKey:r,EmptyPlaceholder:l("EmptyPlaceholder"),FooterComponent:l("Footer"),GroupComponent:l("Group","div"),groupContent:t,HeaderComponent:l("Header"),HeaderFooterTag:o,ItemComponent:l("Item","div"),itemContent:e,ListComponent:l("List","div"),ScrollerComponent:l("Scroller","div"),scrollerRef:i,ScrollSeekPlaceholder:l("ScrollSeekPlaceholder"),TopItemListComponent:l("TopItemList")}}),Jo=Y(([e,t])=>({...e,...t}),ne(fr,Zo)),Qo=({height:e})=>s.jsx("div",{style:{height:e}}),qo={overflowAnchor:"none",position:nn(),zIndex:1},vr={overflowAnchor:"none"},es={...vr,display:"inline-block",height:"100%"},An=F.memo(function({showTopList:e=!1}){const t=P("listState"),n=we("sizeRanges"),r=P("useWindowScroll"),o=P("customScrollParent"),i=we("windowScrollContainerState"),l=we("scrollContainerState"),c=o||r?i:l,a=P("itemContent"),u=P("context"),d=P("groupContent"),m=P("trackItemSizes"),g=P("itemSize"),x=P("log"),E=we("gap"),k=P("horizontalDirection"),{callbackRef:b}=ho(n,g,m,e?Je:c,x,E,o,k,P("skipAnimationFrameInResizeObserver")),[f,h]=F.useState(0);sn("deviation",z=>{f!==z&&h(z)});const S=P("EmptyPlaceholder"),N=P("ScrollSeekPlaceholder")??Qo,I=P("ListComponent"),D=P("ItemComponent"),p=P("GroupComponent"),v=P("computeItemKey"),C=P("isSeeking"),w=P("groupIndices").length>0,A=P("alignToBottom"),_=P("initialItemFinalLocationReached"),L=e?{}:{boxSizing:"border-box",...k?{display:"inline-block",height:"100%",marginInlineStart:f===0?A?"auto":0:f,paddingInlineEnd:t.offsetBottom,paddingInlineStart:t.offsetTop,whiteSpace:"nowrap"}:{marginTop:f===0?A?"auto":0:f,paddingBottom:t.offsetBottom,paddingTop:t.offsetTop},..._?{}:{visibility:"hidden"}};return!e&&t.totalCount===0&&S!==null&&S!==void 0?s.jsx(S,{...ge(S,u)}):s.jsx(I,{...ge(I,u),"data-testid":e?"virtuoso-top-item-list":"virtuoso-item-list",ref:b,style:L,children:(e?t.topItems:t.items).map(z=>{const G=z.originalIndex,K=v(G+t.firstItemIndex,z.data,u);return C?R.createElement(N,{...ge(N,u),height:z.size,index:z.index,key:K,type:z.type||"item",...z.type==="group"?{}:{groupIndex:z.groupIndex}}):z.type==="group"?R.createElement(p,{...ge(p,u),"data-index":G,"data-item-index":z.index,"data-known-size":z.size,key:K,style:qo},d(z.index,u)):R.createElement(D,{...ge(D,u),...os(D,z.data),"data-index":G,"data-item-group-index":z.groupIndex,"data-item-index":z.index,"data-known-size":z.size,key:K,style:k?es:vr},w?a(z.index,z.groupIndex,z.data,u):a(z.index,z.data,u))})})}),ts={height:"100%",outline:"none",overflowY:"auto",position:"relative",WebkitOverflowScrolling:"touch"},ns={outline:"none",overflowX:"auto",position:"relative"},on=e=>({height:"100%",position:"absolute",top:0,width:"100%",...e?{display:"flex",flexDirection:"column"}:void 0}),Sr=(e,t,n=0)=>({...on(e),position:t?"relative":"absolute",top:t?-n:0}),rs={position:nn(),top:0,width:"100%",zIndex:1};function ge(e,t){if(typeof e!="string")return{context:t}}function os(e,t){return{item:typeof e=="string"?void 0:t}}const ss=F.memo(function(){const e=P("HeaderComponent"),t=we("headerHeight"),n=P("HeaderFooterTag"),r=Ge(F.useMemo(()=>i=>{t(He(i,"height"))},[t]),!0,P("skipAnimationFrameInResizeObserver")),o=P("context");return e!=null?s.jsx(n,{ref:r,children:s.jsx(e,{...ge(e,o)})}):null}),is=F.memo(function(){const e=P("FooterComponent"),t=we("footerHeight"),n=P("HeaderFooterTag"),r=Ge(F.useMemo(()=>i=>{t(He(i,"height"))},[t]),!0,P("skipAnimationFrameInResizeObserver")),o=P("context");return e!=null?s.jsx(n,{ref:r,children:s.jsx(e,{...ge(e,o)})}):null});function Ir({useEmitter:e,useEmitterValue:t,usePublisher:n}){return F.memo(function({children:r,style:o,context:i,...l}){const c=n("scrollContainerState"),a=t("ScrollerComponent"),u=n("smoothScrollTargetReached"),d=t("scrollerRef"),m=t("horizontalDirection")||!1,{scrollByCallback:g,scrollerRef:x,scrollToCallback:E}=br(c,u,a,d,void 0,m);return e("scrollTo",E),e("scrollBy",g),s.jsx(a,{"data-testid":"virtuoso-scroller","data-virtuoso-scroller":!0,ref:x,style:{...m?ns:ts,...o},tabIndex:0,...l,...ge(a,i),children:r})})}function Tr({useEmitter:e,useEmitterValue:t,usePublisher:n}){return F.memo(function({children:r,style:o,context:i,...l}){const c=n("windowScrollContainerState"),a=t("ScrollerComponent"),u=n("smoothScrollTargetReached"),d=t("totalListHeight"),m=t("deviation"),g=t("customScrollParent"),x=F.useRef(null),E=t("scrollerRef"),{scrollByCallback:k,scrollerRef:b,scrollToCallback:f}=br(c,u,a,E,g);return xr(()=>{var h;return b.current=g??((h=x.current)==null?void 0:h.ownerDocument.defaultView),()=>{b.current=null}},[b,g]),e("windowScrollTo",f),e("scrollBy",k),s.jsx(a,{ref:x,"data-virtuoso-scroller":!0,style:{position:"relative",...o,...d===0?void 0:{height:d+m}},...l,...ge(a,i),children:r})})}const as=({children:e})=>{const t=F.useContext(hr),n=we("viewportHeight"),r=we("fixedItemHeight"),o=P("alignToBottom"),i=P("horizontalDirection"),l=F.useMemo(()=>Gn(n,a=>He(a,i?"width":"height")),[n,i]),c=Ge(l,!0,P("skipAnimationFrameInResizeObserver"));return F.useEffect(()=>{t&&(n(t.viewportHeight),r(t.itemHeight))},[t,n,r]),s.jsx("div",{"data-viewport-type":"element",ref:c,style:on(o),children:e})},ls=({children:e})=>{const t=F.useContext(hr),n=we("windowViewportRect"),r=we("fixedItemHeight"),o=P("customScrollParent"),i=P("useWindowScroll"),l=P("topListHeight"),c=Yn(n,o,P("skipAnimationFrameInResizeObserver")),a=P("alignToBottom");return F.useEffect(()=>{t&&(r(t.itemHeight),n({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:100}))},[t,n,r]),s.jsx("div",{"data-viewport-type":"window",ref:c,style:Sr(a,i,l),children:e})},cs=({children:e})=>{const t=P("TopItemListComponent")??"div",n=P("headerHeight"),r={...rs,marginTop:`${n}px`},o=P("context");return s.jsx(t,{style:r,...ge(t,o),children:e})},us=F.memo(function(e){const t=P("useWindowScroll"),n=P("topItemsIndexes").length>0,r=P("customScrollParent"),o=P("context");return s.jsxs(r||t?fs:ps,{...e,context:o,children:[n&&s.jsx(cs,{children:s.jsx(An,{showTopList:!0})}),s.jsxs(r||t?ls:as,{children:[s.jsx(ss,{}),s.jsx(An,{}),s.jsx(is,{})]})]})}),{Component:ds,useEmitter:sn,useEmitterValue:P,usePublisher:we}=mr(Jo,{optional:{restoreStateFrom:"restoreStateFrom",context:"context",followOutput:"followOutput",scrollIntoViewOnChange:"scrollIntoViewOnChange",itemContent:"itemContent",groupContent:"groupContent",overscan:"overscan",increaseViewportBy:"increaseViewportBy",minOverscanItemCount:"minOverscanItemCount",totalCount:"totalCount",groupCounts:"groupCounts",topItemCount:"topItemCount",firstItemIndex:"firstItemIndex",initialTopMostItemIndex:"initialTopMostItemIndex",components:"components",atBottomThreshold:"atBottomThreshold",atTopThreshold:"atTopThreshold",computeItemKey:"computeItemKey",defaultItemHeight:"defaultItemHeight",fixedGroupHeight:"fixedGroupHeight",fixedItemHeight:"fixedItemHeight",heightEstimates:"heightEstimates",itemSize:"itemSize",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"HeaderFooterTag",data:"data",initialItemCount:"initialItemCount",initialScrollTop:"initialScrollTop",alignToBottom:"alignToBottom",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",horizontalDirection:"horizontalDirection",skipAnimationFrameInResizeObserver:"skipAnimationFrameInResizeObserver"},methods:{scrollToIndex:"scrollToIndex",scrollIntoView:"scrollIntoView",scrollTo:"scrollTo",scrollBy:"scrollBy",autoscrollToBottom:"autoscrollToBottom",getState:"getState"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",totalListHeightChanged:"totalListHeightChanged",itemsRendered:"itemsRendered",groupIndices:"groupIndices"}},us),ps=Ir({useEmitter:sn,useEmitterValue:P,usePublisher:we}),fs=Tr({useEmitter:sn,useEmitterValue:P,usePublisher:we}),ms=ds,hs=Y(()=>{const e=y(u=>s.jsxs("td",{children:["Item $",u]})),t=y(null),n=y(u=>s.jsxs("td",{colSpan:1e3,children:["Group ",u]})),r=y(null),o=y(null),i=y({}),l=y(rn),c=y(Je),a=(u,d=null)=>xe(T(i,O(m=>m[u]),te()),d);return{components:i,computeItemKey:l,context:t,EmptyPlaceholder:a("EmptyPlaceholder"),FillerRow:a("FillerRow"),fixedFooterContent:o,fixedHeaderContent:r,itemContent:e,groupContent:n,ScrollerComponent:a("Scroller","div"),scrollerRef:c,ScrollSeekPlaceholder:a("ScrollSeekPlaceholder"),TableBodyComponent:a("TableBody","tbody"),TableComponent:a("Table","table"),TableFooterComponent:a("TableFoot","tfoot"),TableHeadComponent:a("TableHead","thead"),TableRowComponent:a("TableRow","tr"),GroupComponent:a("Group","tr")}});ne(fr,hs);nn();const jn={bottom:0,itemHeight:0,items:[],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},gs={bottom:0,itemHeight:0,items:[{index:0}],itemWidth:0,offsetBottom:0,offsetTop:0,top:0},{ceil:On,floor:wt,max:nt,min:Ft,round:Ln}=Math;function Fn(e,t,n){return Array.from({length:t-e+1}).map((r,o)=>({data:n===null?null:n[o+e],index:o+e}))}function xs(e){return{...gs,items:e}}function bt(e,t){return e!==void 0&&e.width===t.width&&e.height===t.height}function bs(e,t){return e!==void 0&&e.column===t.column&&e.row===t.row}const vs=Y(([{increaseViewportBy:e,listBoundary:t,overscan:n,visibleRange:r},{footerHeight:o,headerHeight:i,scrollBy:l,scrollContainerState:c,scrollTo:a,scrollTop:u,smoothScrollTargetReached:d,viewportHeight:m},g,x,{didMount:E,propsReady:k},{customScrollParent:b,useWindowScroll:f,windowScrollContainerState:h,windowScrollTo:S,windowViewportRect:N},I])=>{const D=y(0),p=y(0),v=y(jn),C=y({height:0,width:0}),w=y({height:0,width:0}),A=W(),_=W(),L=y(0),z=y(null),G=y({column:0,row:0}),K=W(),V=W(),ce=y(!1),Ee=y(0),me=y(!0),Se=y(!1),Fe=y(!1);Z(T(E,U(Ee),B(([j,X])=>!Gt(X))),()=>{$(me,!1)}),Z(T(le(E,me,w,C,Ee,Se),B(([j,X,ue,q,,re])=>j&&!X&&ue.height!==0&&q.height!==0&&!re)),([,,,,j])=>{if(j===void 0){$(me,!0);return}$(Se,!0),Qt(1,()=>{$(A,j)}),Ne(T(u),()=>{$(t,[0,0]),$(me,!0)})}),H(T(V,B(j=>j!=null&&j.scrollTop>0),Ae(0)),p),Z(T(E,U(V),B(([,j])=>j!=null)),([,j])=>{j&&($(C,j.viewport),$(w,j.item),$(G,j.gap),j.scrollTop>0&&($(ce,!0),Ne(T(u,Ue(1)),X=>{$(ce,!1)}),$(a,{top:j.scrollTop})))}),H(T(C,O(({height:j})=>j)),m),H(T(le(M(C,bt),M(w,bt),M(G,(j,X)=>j!==void 0&&j.column===X.column&&j.row===X.row),M(u)),O(([j,X,ue,q])=>({gap:ue,item:X,scrollTop:q,viewport:j}))),K),H(T(le(M(D),r,M(G,bs),M(w,bt),M(C,bt),M(z),M(p),M(ce),M(me),M(Ee)),B(([,,,,,,,j])=>!j),O(([j,[X,ue],q,re,de,ie,Q,,se,be])=>{const{column:ae,row:et}=q,{height:mt,width:Ct}=re,{width:an}=de;if(Q===0&&(j===0||an===0))return jn;if(Ct===0){const pn=qt(be,j),Ar=pn+Math.max(Q-1,0);return xs(Fn(pn,Ar,ie))}const ht=Er(an,Ct,ae);let Ke,_e;se?X===0&&ue===0&&Q>0?(Ke=0,_e=Q-1):(Ke=ht*wt((X+et)/(mt+et)),_e=ht*On((ue+et)/(mt+et))-1,_e=Ft(j-1,nt(_e,ht-1)),Ke=Ft(_e,nt(0,Ke))):(Ke=0,_e=-1);const ln=Fn(Ke,_e,ie),{bottom:cn,top:un}=Hn(de,q,re,ln),dn=On(j/ht),Rr=dn*mt+(dn-1)*et-cn;return{bottom:cn,itemHeight:mt,items:ln,itemWidth:Ct,offsetBottom:Rr,offsetTop:un,top:un}})),v),H(T(z,B(j=>j!==null),O(j=>j.length)),D),H(T(le(C,w,v,G),B(([j,X,{items:ue}])=>ue.length>0&&X.height!==0&&j.height!==0),O(([j,X,{items:ue},q])=>{const{bottom:re,top:de}=Hn(j,q,X,ue);return[de,re]}),te(it)),t);const he=y(!1);H(T(u,U(he),O(([j,X])=>X||j!==0)),he);const Ve=Te(T(le(v,D),B(([{items:j}])=>j.length>0),U(he),B(([[j,X],ue])=>{const q=j.items[j.items.length-1].index===X-1;return(ue||j.bottom>0&&j.itemHeight>0&&j.offsetBottom===0&&j.items.length===X)&&q}),O(([[,j]])=>j-1),te())),Qe=Te(T(M(v),B(({items:j})=>j.length>0&&j[0].index===0),Ae(0),te())),Re=Te(T(M(v),U(ce),B(([{items:j},X])=>j.length>0&&!X),O(([{items:j}])=>({endIndex:j[j.length-1].index,startIndex:j[0].index})),te(er),Le(0)));H(Re,x.scrollSeekRangeChanged),H(T(A,U(C,w,D,G),O(([j,X,ue,q,re])=>{const de=sr(j),{align:ie,behavior:Q,offset:se}=de;let be=de.index;be==="LAST"&&(be=q-1),be=nt(0,be,Ft(q-1,be));let ae=Wt(X,re,ue,be);return ie==="end"?ae=Ln(ae-X.height+ue.height):ie==="center"&&(ae=Ln(ae-X.height/2+ue.height/2)),se!==void 0&&se!==0&&(ae+=se),{behavior:Q,top:ae}})),a);const qe=xe(T(v,O(j=>j.offsetBottom+j.bottom)),0);return H(T(N,O(j=>({height:j.visibleHeight,width:j.visibleWidth}))),C),{customScrollParent:b,data:z,deviation:L,footerHeight:o,gap:G,headerHeight:i,increaseViewportBy:e,initialItemCount:p,itemDimensions:w,overscan:n,restoreStateFrom:V,scrollBy:l,scrollContainerState:c,scrollHeight:_,scrollTo:a,scrollToIndex:A,scrollTop:u,smoothScrollTargetReached:d,totalCount:D,useWindowScroll:f,viewportDimensions:C,windowScrollContainerState:h,windowScrollTo:S,windowViewportRect:N,...x,gridState:v,horizontalDirection:Fe,initialTopMostItemIndex:Ee,totalListHeight:qe,...g,endReached:Ve,propsReady:k,rangeChanged:Re,startReached:Qe,stateChanged:K,stateRestoreInProgress:ce,...I}},ne(en,ve,ft,dr,Be,tn,Me));function Er(e,t,n){return nt(1,wt((e+n)/(wt(t)+n)))}function Hn(e,t,n,r){const{height:o}=n;if(o===void 0||r.length===0)return{bottom:0,top:0};const i=Wt(e,t,n,r[0].index);return{bottom:Wt(e,t,n,r[r.length-1].index)+o,top:i}}function Wt(e,t,n,r){const o=Er(e.width,n.width,t.column),i=wt(r/o),l=i*n.height+nt(0,i-1)*t.row;return l>0?l+t.row:l}const Ss=Y(()=>{const e=y(m=>`Item ${m}`),t=y({}),n=y(null),r=y("virtuoso-grid-item"),o=y("virtuoso-grid-list"),i=y(rn),l=y("div"),c=y(Je),a=(m,g=null)=>xe(T(t,O(x=>x[m]),te()),g),u=y(!1),d=y(!1);return H(M(d),u),{components:t,computeItemKey:i,context:n,FooterComponent:a("Footer"),HeaderComponent:a("Header"),headerFooterTag:l,itemClassName:r,ItemComponent:a("Item","div"),itemContent:e,listClassName:o,ListComponent:a("List","div"),readyStateChanged:u,reportReadyState:d,ScrollerComponent:a("Scroller","div"),scrollerRef:c,ScrollSeekPlaceholder:a("ScrollSeekPlaceholder","div")}}),Is=Y(([e,t])=>({...e,...t}),ne(vs,Ss)),Ts=F.memo(function(){const e=ee("gridState"),t=ee("listClassName"),n=ee("itemClassName"),r=ee("itemContent"),o=ee("computeItemKey"),i=ee("isSeeking"),l=ke("scrollHeight"),c=ee("ItemComponent"),a=ee("ListComponent"),u=ee("ScrollSeekPlaceholder"),d=ee("context"),m=ke("itemDimensions"),g=ke("gap"),x=ee("log"),E=ee("stateRestoreInProgress"),k=ke("reportReadyState"),b=Ge(F.useMemo(()=>f=>{const h=f.parentElement.parentElement.scrollHeight;l(h);const S=f.firstChild;if(S!==null){const{height:N,width:I}=S.getBoundingClientRect();m({height:N,width:I})}g({column:Dn("column-gap",getComputedStyle(f).columnGap,x),row:Dn("row-gap",getComputedStyle(f).rowGap,x)})},[l,m,g,x]),!0,!1);return xr(()=>{e.itemHeight>0&&e.itemWidth>0&&k(!0)},[e]),E?null:s.jsx(a,{className:t,ref:b,...ge(a,d),"data-testid":"virtuoso-item-list",style:{paddingBottom:e.offsetBottom,paddingTop:e.offsetTop},children:e.items.map(f=>{const h=o(f.index,f.data,d);return i?s.jsx(u,{...ge(u,d),height:e.itemHeight,index:f.index,width:e.itemWidth},h):R.createElement(c,{...ge(c,d),className:n,"data-index":f.index,key:h},r(f.index,f.data,d))})})}),Es=F.memo(function(){const e=ee("HeaderComponent"),t=ke("headerHeight"),n=ee("headerFooterTag"),r=Ge(F.useMemo(()=>i=>{t(He(i,"height"))},[t]),!0,!1),o=ee("context");return e!=null?s.jsx(n,{ref:r,children:s.jsx(e,{...ge(e,o)})}):null}),ws=F.memo(function(){const e=ee("FooterComponent"),t=ke("footerHeight"),n=ee("headerFooterTag"),r=Ge(F.useMemo(()=>i=>{t(He(i,"height"))},[t]),!0,!1),o=ee("context");return e!=null?s.jsx(n,{ref:r,children:s.jsx(e,{...ge(e,o)})}):null}),ks=({children:e})=>{const t=F.useContext(gr),n=ke("itemDimensions"),r=ke("viewportDimensions"),o=Ge(F.useMemo(()=>i=>{r(i.getBoundingClientRect())},[r]),!0,!1);return F.useEffect(()=>{t&&(r({height:t.viewportHeight,width:t.viewportWidth}),n({height:t.itemHeight,width:t.itemWidth}))},[t,r,n]),s.jsx("div",{ref:o,style:on(!1),children:e})},ys=({children:e})=>{const t=F.useContext(gr),n=ke("windowViewportRect"),r=ke("itemDimensions"),o=ee("customScrollParent"),i=ee("useWindowScroll"),l=Yn(n,o,!1);return F.useEffect(()=>{t&&(r({height:t.itemHeight,width:t.itemWidth}),n({listHeight:0,offsetTop:0,visibleHeight:t.viewportHeight,visibleWidth:t.viewportWidth}))},[t,n,r]),s.jsx("div",{ref:l,style:Sr(!1,i),children:e})},Ns=F.memo(function({...e}){const t=ee("useWindowScroll"),n=ee("customScrollParent"),r=n||t?Rs:Cs,o=n||t?ys:ks,i=ee("context");return s.jsx(r,{...e,...ge(r,i),children:s.jsxs(o,{children:[s.jsx(Es,{}),s.jsx(Ts,{}),s.jsx(ws,{})]})})}),{useEmitter:wr,useEmitterValue:ee,usePublisher:ke}=mr(Is,{optional:{context:"context",totalCount:"totalCount",overscan:"overscan",itemContent:"itemContent",components:"components",computeItemKey:"computeItemKey",data:"data",initialItemCount:"initialItemCount",scrollSeekConfiguration:"scrollSeekConfiguration",headerFooterTag:"headerFooterTag",listClassName:"listClassName",itemClassName:"itemClassName",useWindowScroll:"useWindowScroll",customScrollParent:"customScrollParent",scrollerRef:"scrollerRef",logLevel:"logLevel",restoreStateFrom:"restoreStateFrom",initialTopMostItemIndex:"initialTopMostItemIndex",increaseViewportBy:"increaseViewportBy"},methods:{scrollTo:"scrollTo",scrollBy:"scrollBy",scrollToIndex:"scrollToIndex"},events:{isScrolling:"isScrolling",endReached:"endReached",startReached:"startReached",rangeChanged:"rangeChanged",atBottomStateChange:"atBottomStateChange",atTopStateChange:"atTopStateChange",stateChanged:"stateChanged",readyStateChanged:"readyStateChanged"}},Ns),Cs=Ir({useEmitter:wr,useEmitterValue:ee,usePublisher:ke}),Rs=Tr({useEmitter:wr,useEmitterValue:ee,usePublisher:ke});function Dn(e,t,n){return t!=="normal"&&(t==null?void 0:t.endsWith("px"))!==!0&&n(`${e} was not resolved to pixel value correctly`,t,fe.WARN),t==="normal"?0:parseInt(t??"0",10)}Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+(/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source)+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/});Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/;Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp(/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)/.source+/\//.source+"(?:"+/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}/.source+"|"+/(?:\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.|\[(?:[^[\]\\\r\n]|\\.)*\])*\])*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}v[dgimyus]{0,7}/.source+")"+/(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/.source),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/});Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}});Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}});Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript"));Prism.languages.js=Prism.languages.javascript;(function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript})(Prism);(function(e){var t=e.util.clone(e.languages.javascript),n=/(?:\s|\/\/.*(?!.)|\/\*(?:[^*]|\*(?!\/))\*\/)/.source,r=/(?:\{(?:\{(?:\{[^{}]*\}|[^{}])*\}|[^{}])*\})/.source,o=/(?:\{<S>*\.{3}(?:[^{}]|<BRACES>)*\})/.source;function i(a,u){return a=a.replace(/<S>/g,function(){return n}).replace(/<BRACES>/g,function(){return r}).replace(/<SPREAD>/g,function(){return o}),RegExp(a,u)}o=i(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=i(/<\/?(?:[\w.:-]+(?:<S>+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|<BRACES>))?|<SPREAD>))*<S>*\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:i(/<SPREAD>/.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:i(/=<BRACES>/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var l=function(a){return a?typeof a=="string"?a:typeof a.content=="string"?a.content:a.content.map(l).join(""):""},c=function(a){for(var u=[],d=0;d<a.length;d++){var m=a[d],g=!1;if(typeof m!="string"&&(m.type==="tag"&&m.content[0]&&m.content[0].type==="tag"?m.content[0].content[0].content==="</"?u.length>0&&u[u.length-1].tagName===l(m.content[0].content[1])&&u.pop():m.content[m.content.length-1].content==="/>"||u.push({tagName:l(m.content[0].content[1]),openedBraces:0}):u.length>0&&m.type==="punctuation"&&m.content==="{"?u[u.length-1].openedBraces++:u.length>0&&u[u.length-1].openedBraces>0&&m.type==="punctuation"&&m.content==="}"?u[u.length-1].openedBraces--:g=!0),(g||typeof m=="string")&&u.length>0&&u[u.length-1].openedBraces===0){var x=l(m);d<a.length-1&&(typeof a[d+1]=="string"||a[d+1].type==="plain-text")&&(x+=l(a[d+1]),a.splice(d+1,1)),d>0&&(typeof a[d-1]=="string"||a[d-1].type==="plain-text")&&(x=l(a[d-1])+x,a.splice(d-1,1),d--),a[d]=new e.Token("plain-text",x,null,x)}m.content&&typeof m.content!="string"&&c(m.content)}};e.hooks.add("after-tokenize",function(a){a.language!=="jsx"&&a.language!=="tsx"||c(a.tokens)})})(Prism);(function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var n=e.languages.tsx.tag;n.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+n.pattern.source+")",n.pattern.flags),n.lookbehind=!0})(Prism);(function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:"+/[^;{\s"']|\s+(?!\s)/.source+"|"+t.source+")*?"+/(?:;|(?=\s*\{))/.source),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp(`(^|[{}\\s])[^{}\\s](?:[^{};"'\\s]|\\s+(?![\\s{])|`+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var n=e.languages.markup;n&&(n.tag.addInlined("style","css"),n.tag.addAttribute("style","css"))})(Prism);Prism.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}};Prism.languages.webmanifest=Prism.languages.json;(function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},r={bash:n,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:r},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:n}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:r},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:r.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:r.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},n.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],i=r.variable[1].inside,l=0;l<o.length;l++)i[o[l]]=e.languages.bash[o[l]];e.languages.sh=e.languages.bash,e.languages.shell=e.languages.bash})(Prism);Prism.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/};Prism.languages.python["string-interpolation"].inside.interpolation.inside.rest=Prism.languages.python;Prism.languages.py=Prism.languages.python;(function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function n(d){return d=d.replace(/<inner>/g,function(){return t}),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+d+")")}var r=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,function(){return r}),i=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+i+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+i+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(r),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+i+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(r),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:n(/\b__(?:(?!_)<inner>|_(?:(?!_)<inner>)+_)+__\b|\*\*(?:(?!\*)<inner>|\*(?:(?!\*)<inner>)+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:n(/\b_(?:(?!_)<inner>|__(?:(?!_)<inner>)+__)+_\b|\*(?:(?!\*)<inner>|\*\*(?:(?!\*)<inner>)+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:n(/(~~?)(?:(?!~)<inner>)+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:n(/!?\[(?:(?!\])<inner>)+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\])<inner>)+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach(function(d){["url","bold","italic","strike","code-snippet"].forEach(function(m){d!==m&&(e.languages.markdown[d].inside.content.inside[m]=e.languages.markdown[m])})}),e.hooks.add("after-tokenize",function(d){if(d.language!=="markdown"&&d.language!=="md")return;function m(g){if(!(!g||typeof g=="string"))for(var x=0,E=g.length;x<E;x++){var k=g[x];if(k.type!=="code"){m(k.content);continue}var b=k.content[1],f=k.content[3];if(b&&f&&b.type==="code-language"&&f.type==="code-block"&&typeof b.content=="string"){var h=b.content.replace(/\b#/g,"sharp").replace(/\b\+\+/g,"pp");h=(/[a-z][\w-]*/i.exec(h)||[""])[0].toLowerCase();var S="language-"+h;f.alias?typeof f.alias=="string"?f.alias=[f.alias,S]:f.alias.push(S):f.alias=[S]}}}m(d.tokens)}),e.hooks.add("wrap",function(d){if(d.type==="code-block"){for(var m="",g=0,x=d.classes.length;g<x;g++){var E=d.classes[g],k=/language-(.+)/.exec(E);if(k){m=k[1];break}}var b=e.languages[m];if(b)d.content=e.highlight(u(d.content),b,m);else if(m&&m!=="none"&&e.plugins.autoloader){var f="md-"+new Date().valueOf()+"-"+Math.floor(Math.random()*1e16);d.attributes.id=f,e.plugins.autoloader.loadLanguages(m,function(){var h=document.getElementById(f);h&&(h.innerHTML=e.highlight(h.textContent,e.languages[m],m))})}}});var l=RegExp(e.languages.markup.tag.pattern.source,"gi"),c={amp:"&",lt:"<",gt:">",quot:'"'},a=String.fromCodePoint||String.fromCharCode;function u(d){var m=d.replace(l,"");return m=m.replace(/&(\w{1,8}|#x?[\da-f]{1,8});/gi,function(g,x){if(x=x.toLowerCase(),x[0]==="#"){var E;return x[1]==="x"?E=parseInt(x.slice(2),16):E=Number(x.slice(1)),a(E)}else{var k=c[x];return k||g}}),m}e.languages.md=e.languages.markdown})(Prism);(function(e){var t=/[*&][^\s[\]{},]+/,n=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,r="(?:"+n.source+"(?:[ ]+"+t.source+")?|"+t.source+"(?:[ ]+"+n.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-]<PLAIN>)(?:[ \t]*(?:(?![#:])<PLAIN>|:<PLAIN>))*/.source.replace(/<PLAIN>/g,function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source}),i=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function l(c,a){a=(a||"").replace(/m/g,"")+"m";var u=/([:\-,[{]\s*(?:\s<<prop>>[ \t]+)?)(?:<<value>>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<value>>/g,function(){return c});return RegExp(u,a)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<<prop>>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<<prop>>/g,function(){return r})),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<<prop>>[ \t]+)?)<<key>>(?=\s*:\s)/.source.replace(/<<prop>>/g,function(){return r}).replace(/<<key>>/g,function(){return"(?:"+o+"|"+i+")"})),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:l(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:l(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:l(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:l(i),lookbehind:!0,greedy:!0},number:{pattern:l(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:n,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml})(Prism);Prism.languages.sql={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|(?:--|\/\/|#).*)/,lookbehind:!0},variable:[{pattern:/@(["'`])(?:\\[\s\S]|(?!\1)[^\\])+\1/,greedy:!0},/@[\w.$]+/],string:{pattern:/(^|[^@\\])("|')(?:\\[\s\S]|(?!\2)[^\\]|\2\2)*\2/,greedy:!0,lookbehind:!0},identifier:{pattern:/(^|[^@\\])`(?:\\[\s\S]|[^`\\]|``)*`/,greedy:!0,lookbehind:!0,inside:{punctuation:/^`|`$/}},function:/\b(?:AVG|COUNT|FIRST|FORMAT|LAST|LCASE|LEN|MAX|MID|MIN|MOD|NOW|ROUND|SUM|UCASE)(?=\s*\()/i,keyword:/\b(?:ACTION|ADD|AFTER|ALGORITHM|ALL|ALTER|ANALYZE|ANY|APPLY|AS|ASC|AUTHORIZATION|AUTO_INCREMENT|BACKUP|BDB|BEGIN|BERKELEYDB|BIGINT|BINARY|BIT|BLOB|BOOL|BOOLEAN|BREAK|BROWSE|BTREE|BULK|BY|CALL|CASCADED?|CASE|CHAIN|CHAR(?:ACTER|SET)?|CHECK(?:POINT)?|CLOSE|CLUSTERED|COALESCE|COLLATE|COLUMNS?|COMMENT|COMMIT(?:TED)?|COMPUTE|CONNECT|CONSISTENT|CONSTRAINT|CONTAINS(?:TABLE)?|CONTINUE|CONVERT|CREATE|CROSS|CURRENT(?:_DATE|_TIME|_TIMESTAMP|_USER)?|CURSOR|CYCLE|DATA(?:BASES?)?|DATE(?:TIME)?|DAY|DBCC|DEALLOCATE|DEC|DECIMAL|DECLARE|DEFAULT|DEFINER|DELAYED|DELETE|DELIMITERS?|DENY|DESC|DESCRIBE|DETERMINISTIC|DISABLE|DISCARD|DISK|DISTINCT|DISTINCTROW|DISTRIBUTED|DO|DOUBLE|DROP|DUMMY|DUMP(?:FILE)?|DUPLICATE|ELSE(?:IF)?|ENABLE|ENCLOSED|END|ENGINE|ENUM|ERRLVL|ERRORS|ESCAPED?|EXCEPT|EXEC(?:UTE)?|EXISTS|EXIT|EXPLAIN|EXTENDED|FETCH|FIELDS|FILE|FILLFACTOR|FIRST|FIXED|FLOAT|FOLLOWING|FOR(?: EACH ROW)?|FORCE|FOREIGN|FREETEXT(?:TABLE)?|FROM|FULL|FUNCTION|GEOMETRY(?:COLLECTION)?|GLOBAL|GOTO|GRANT|GROUP|HANDLER|HASH|HAVING|HOLDLOCK|HOUR|IDENTITY(?:COL|_INSERT)?|IF|IGNORE|IMPORT|INDEX|INFILE|INNER|INNODB|INOUT|INSERT|INT|INTEGER|INTERSECT|INTERVAL|INTO|INVOKER|ISOLATION|ITERATE|JOIN|KEYS?|KILL|LANGUAGE|LAST|LEAVE|LEFT|LEVEL|LIMIT|LINENO|LINES|LINESTRING|LOAD|LOCAL|LOCK|LONG(?:BLOB|TEXT)|LOOP|MATCH(?:ED)?|MEDIUM(?:BLOB|INT|TEXT)|MERGE|MIDDLEINT|MINUTE|MODE|MODIFIES|MODIFY|MONTH|MULTI(?:LINESTRING|POINT|POLYGON)|NATIONAL|NATURAL|NCHAR|NEXT|NO|NONCLUSTERED|NULLIF|NUMERIC|OFF?|OFFSETS?|ON|OPEN(?:DATASOURCE|QUERY|ROWSET)?|OPTIMIZE|OPTION(?:ALLY)?|ORDER|OUT(?:ER|FILE)?|OVER|PARTIAL|PARTITION|PERCENT|PIVOT|PLAN|POINT|POLYGON|PRECEDING|PRECISION|PREPARE|PREV|PRIMARY|PRINT|PRIVILEGES|PROC(?:EDURE)?|PUBLIC|PURGE|QUICK|RAISERROR|READS?|REAL|RECONFIGURE|REFERENCES|RELEASE|RENAME|REPEAT(?:ABLE)?|REPLACE|REPLICATION|REQUIRE|RESIGNAL|RESTORE|RESTRICT|RETURN(?:ING|S)?|REVOKE|RIGHT|ROLLBACK|ROUTINE|ROW(?:COUNT|GUIDCOL|S)?|RTREE|RULE|SAVE(?:POINT)?|SCHEMA|SECOND|SELECT|SERIAL(?:IZABLE)?|SESSION(?:_USER)?|SET(?:USER)?|SHARE|SHOW|SHUTDOWN|SIMPLE|SMALLINT|SNAPSHOT|SOME|SONAME|SQL|START(?:ING)?|STATISTICS|STATUS|STRIPED|SYSTEM_USER|TABLES?|TABLESPACE|TEMP(?:ORARY|TABLE)?|TERMINATED|TEXT(?:SIZE)?|THEN|TIME(?:STAMP)?|TINY(?:BLOB|INT|TEXT)|TOP?|TRAN(?:SACTIONS?)?|TRIGGER|TRUNCATE|TSEQUAL|TYPES?|UNBOUNDED|UNCOMMITTED|UNDEFINED|UNION|UNIQUE|UNLOCK|UNPIVOT|UNSIGNED|UPDATE(?:TEXT)?|USAGE|USE|USER|USING|VALUES?|VAR(?:BINARY|CHAR|CHARACTER|YING)|VIEW|WAITFOR|WARNINGS|WHEN|WHERE|WHILE|WITH(?: ROLLUP|IN)?|WORK|WRITE(?:TEXT)?|YEAR)\b/i,boolean:/\b(?:FALSE|NULL|TRUE)\b/i,number:/\b0x[\da-f]+\b|\b\d+(?:\.\d*)?|\B\.\d+\b/i,operator:/[-+*\/=%^~]|&&?|\|\|?|!=?|<(?:=>?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/};const As={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"};function js({language:e,code:t}){const[n,r]=R.useState(!1),o=R.useRef(null);R.useEffect(()=>{o.current&&Or.highlightElement(o.current)},[t,e]);const i=async()=>{try{await navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),2e3)}catch(c){console.error("Failed to copy:",c)}},l=As[e]||e.toUpperCase();return s.jsxs("div",{className:"relative group rounded-lg overflow-hidden border border-dark-border my-2",children:[s.jsxs("div",{className:"flex items-center justify-between px-3 py-1.5 bg-dark-surface border-b border-dark-border",children:[s.jsx("span",{className:"text-xs text-dark-muted font-mono",children:l}),s.jsx("button",{onClick:i,className:"flex items-center gap-1 text-xs px-2 py-1 rounded hover:bg-dark-hover transition-colors",children:n?s.jsxs(s.Fragment,{children:[s.jsx(Lr,{size:12,className:"text-accent-green"}),s.jsx("span",{className:"text-accent-green",children:"已复制"})]}):s.jsxs(s.Fragment,{children:[s.jsx(_n,{size:12}),s.jsx("span",{children:"复制"})]})})]}),s.jsx("pre",{className:"bg-dark-bg p-3 overflow-x-auto custom-scrollbar text-sm",children:s.jsx("code",{ref:o,className:`language-${e}`,children:t})})]})}function Os({content:e,className:t=""}){const[n,r]=R.useState(e),o=R.useRef(0),i=R.useRef(null),l=R.useRef(e);l.current=e,R.useEffect(()=>{if(e===n)return;const a=Date.now(),u=a-o.current;u>=200?(r(e),o.current=a):i.current||(i.current=setTimeout(()=>{i.current=null,r(l.current),o.current=Date.now()},200-u))},[e]),R.useEffect(()=>()=>{i.current&&clearTimeout(i.current)},[]);const c=(n||"").replace(/\\n/g,`
2
- `).replace(/\n{3,}/g,`
3
-
4
- `);return s.jsx("div",{className:`markdown-content ${t}`,style:{wordBreak:"break-word"},children:s.jsx(jr,{components:{code({className:a,children:u,...d}){const m=/language-(\w+)/.exec(a||""),g=String(u).replace(/\n$/,"");return m&&m[1]?s.jsx(js,{language:m[1],code:g}):s.jsx("code",{className:"bg-dark-hover px-1.5 py-0.5 rounded text-sm font-mono text-accent-blue",...d,children:u})},a({href:a,children:u}){return s.jsx("a",{href:a,target:"_blank",rel:"noopener noreferrer",className:"text-accent-blue hover:underline",children:u})},table({children:a}){return s.jsx("div",{className:"overflow-x-auto custom-scrollbar my-2",children:s.jsx("table",{className:"w-full border-collapse border border-dark-border",children:a})})},th({children:a}){return s.jsx("th",{className:"border border-dark-border px-3 py-2 text-left bg-dark-hover font-medium",children:a})},td({children:a}){return s.jsx("td",{className:"border border-dark-border px-3 py-2",children:a})},p({children:a}){return s.jsx("p",{className:"mb-0.5 leading-snug last:mb-0",children:a})},blockquote({children:a}){return s.jsx("blockquote",{className:"border-l-4 border-accent-blue pl-3 my-1 text-dark-muted italic",children:a})},h1({children:a}){return s.jsx("h1",{className:"text-2xl font-bold mt-3 mb-1 text-dark-text border-b border-dark-border pb-1",children:a})},h2({children:a}){return s.jsx("h2",{className:"text-xl font-semibold mt-3 mb-1 text-dark-text border-b border-dark-border pb-1",children:a})},h3({children:a}){return s.jsx("h3",{className:"text-lg font-semibold mt-2 mb-1 text-dark-text",children:a})}},children:c})})}const Ls=R.memo(function({filePath:t,content:n,language:r}){if(!n&&!t)return null;const[o,i]=R.useState("unified"),[l,c]=R.useState(!1),a=Fs(t,r),u=(n==null?void 0:n.includes("@@"))||(n==null?void 0:n.includes("+++"))||(n==null?void 0:n.includes("---")),d=u?Hs(n||""):null;return s.jsxs("div",{className:"mt-2 border border-dark-border rounded-lg overflow-hidden",children:[s.jsxs("div",{className:"flex items-center gap-2 px-3 py-1.5 bg-dark-surface border-b border-dark-border",children:[s.jsx("span",{className:"text-accent-purple text-xs",children:"📝"}),s.jsx("span",{className:"text-xs font-mono text-dark-fg truncate",children:t||"file"}),d&&s.jsxs("span",{className:"text-xs ml-2 flex gap-2",children:[s.jsxs("span",{className:"text-green-400",children:["+",d.additions]}),s.jsxs("span",{className:"text-red-400",children:["-",d.deletions]})]}),s.jsx("span",{className:"text-xs text-dark-muted ml-auto",children:a}),u&&s.jsxs("div",{className:"flex gap-0.5 ml-2",children:[s.jsx("button",{onClick:()=>i("unified"),className:`text-xs px-1.5 py-0.5 rounded ${o==="unified"?"bg-accent-blue/20 text-accent-blue":"text-dark-muted hover:text-dark-fg"}`,title:"Unified view",children:"Unified"}),s.jsx("button",{onClick:()=>i("side-by-side"),className:`text-xs px-1.5 py-0.5 rounded ${o==="side-by-side"?"bg-accent-blue/20 text-accent-blue":"text-dark-muted hover:text-dark-fg"}`,title:"Side-by-side view",children:"Side"})]}),s.jsx("button",{onClick:()=>c(!l),className:"text-xs text-dark-muted hover:text-dark-fg ml-1",children:l?"▶":"▼"})]}),!l&&s.jsxs("div",{className:"bg-dark-bg overflow-x-auto max-h-96 overflow-y-auto custom-scrollbar",children:[u?o==="unified"?Ds(n||""):zs(n||""):s.jsx("pre",{className:"text-xs font-mono p-2 text-dark-fg whitespace-pre-wrap",children:n||"(no content)"}),d&&s.jsxs("div",{className:"sticky bottom-0 bg-dark-surface border-t border-dark-border px-3 py-1 flex gap-4 text-xs text-dark-muted",children:[s.jsxs("span",{className:"text-green-400",children:["+",d.additions," additions"]}),s.jsxs("span",{className:"text-red-400",children:["-",d.deletions," deletions"]}),s.jsxs("span",{children:[d.hunks," hunks"]})]})]})]})});function Fs(e,t){var o;if(t)return t;if(!e)return"plaintext";const n=(o=e.split(".").pop())==null?void 0:o.toLowerCase();return{ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",py:"python",go:"go",rs:"rust",cpp:"cpp",c:"c",h:"c",css:"css",html:"html",json:"json",xml:"xml",yml:"yaml",yaml:"yaml",md:"markdown",sql:"sql",sh:"bash",ps1:"powershell",properties:"properties",toml:"toml",gradle:"groovy",kt:"kotlin",swift:"swift"}[n||""]||"plaintext"}function Hs(e){const t=e.split(`
5
- `);let n=0,r=0,o=0;for(const i of t)i.startsWith("@@")?o++:i.startsWith("+")&&!i.startsWith("+++")?n++:i.startsWith("-")&&!i.startsWith("---")&&r++;return{additions:n,deletions:r,hunks:o,filesChanged:1}}function Ds(e){return e.split(`
6
- `).map((n,r)=>{let o="text-dark-fg",i=" ";return(n.startsWith("+++")||n.startsWith("---"))&&r<3?o="text-dark-muted font-bold text-xs":n.startsWith("+")?(o="text-green-400 bg-green-900/20",i="+"):n.startsWith("-")?(o="text-red-400 bg-red-900/20",i="-"):n.startsWith("@@")&&(o="text-accent-blue font-bold bg-accent-blue/5"),s.jsxs("div",{className:`text-xs font-mono leading-snug px-2 ${o}`,style:{minHeight:"1.25rem"},children:[s.jsx("span",{className:"select-none inline-block w-4 text-dark-muted text-right mr-1",children:o.includes("text-accent-blue")?"@":i}),n||" "]},`${r}-${n.substring(0,20)}`)})}function zs(e){const t=e.split(`
7
- `),n=[];let r=null;for(const o of t)o.startsWith("@@")?(r&&Ht(n,r),r={leftLines:[],rightLines:[]},n.push({left:o,right:o,type:"header"})):o.startsWith("---")||o.startsWith("+++")?n.push({left:"",right:o,type:"header"}):o.startsWith("-")&&r?r.leftLines.push(o.substring(1)):o.startsWith("+")&&r?r.rightLines.push(o.substring(1)):r?(Ht(n,r),n.push({left:o,right:o,type:"context"})):n.push({left:o,right:o,type:"context"});return r&&Ht(n,r),s.jsxs("div",{children:[s.jsxs("div",{className:"flex border-b border-dark-border text-xs font-bold text-dark-muted",children:[s.jsx("div",{className:"flex-1 px-2 py-0.5 border-r border-dark-border",children:"Old"}),s.jsx("div",{className:"flex-1 px-2 py-0.5",children:"New"})]}),n.map((o,i)=>s.jsxs("div",{className:"flex",style:{minHeight:"1.25rem"},children:[s.jsx("div",{className:`flex-1 px-2 border-r border-dark-border/30 font-mono text-xs leading-snug ${o.type==="delete"?"bg-red-900/20 text-red-400":o.type==="header"?"bg-accent-blue/5 text-accent-blue":"text-dark-fg"}`,children:o.left||" "}),s.jsx("div",{className:`flex-1 px-2 font-mono text-xs leading-snug ${o.type==="add"?"bg-green-900/20 text-green-400":o.type==="header"?"bg-accent-blue/5 text-accent-blue":"text-dark-fg"}`,children:o.right||" "})]},i))]})}function Ht(e,t){const n=Math.max(t.leftLines.length,t.rightLines.length);for(let r=0;r<n;r++){const o=r<t.leftLines.length?t.leftLines[r]:"",i=r<t.rightLines.length?t.rightLines[r]:"";e.push({left:r<t.leftLines.length?"- "+o:"",right:r<t.rightLines.length?"+ "+i:"",type:r<t.leftLines.length&&r<t.rightLines.length?"context":r<t.leftLines.length?"delete":"add"})}t.leftLines=[],t.rightLines=[]}function kr(e){const t=R.useRef(null),n=R.useRef(0);return R.useEffect(()=>{if(!e){n.current=0;return}n.current=Date.now();const r=t.current;if(!r)return;const o=()=>{const l=Math.floor((Date.now()-n.current)/1e3),c=l>=60?`${Math.floor(l/60)}m ${l%60}s`:`${l}s`;r.textContent=c};o();const i=setInterval(o,1e3);return()=>clearInterval(i)},[e]),t}const Ms=["FileEditTool","FileWriteTool","EditTool","NotebookEditTool","Write","Edit","WriteTool","FileCreateTool"],Bs=/\b(write|edit|save|create|update|modify|patch)\b/i,_s=/\b(read|open|cat|view|list|ls|dir|find|grep|glob|search)\b/i;function Ps(e){return Ms.includes(e)?!0:Bs.test(e)&&!_s.test(e)}function $s(e){return typeof e=="string"?e:e&&typeof e=="object"?JSON.stringify(e,null,2):String(e??"")}function Us(e){if(typeof e!="string"&&e)return e.filePath||e.path||e.file||e.file_path}const yr=R.memo(function({toolCall:t,defaultCollapsed:n=!0}){const[r,o]=R.useState(n),i=t.status==="running",l=kr(i),c=t.result!==void 0&&t.result!==null,a=t.status==="error",u=Ps(t.name),d=c?$s(t.result):"",m=typeof t.args=="object"&&t.args?Us(t.args):void 0,g=t.duration??0,x=g>0?g>=60?`${Math.floor(g/60)}m ${g%60}s`:`${g}s`:"",E=i?"bg-accent-blue":a?"bg-accent-red":"bg-accent-green";return s.jsxs("div",{className:"rounded-lg transition-colors hover:bg-dark-surface/40","data-testid":"toolcall-row",children:[s.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 cursor-pointer select-none",onClick:()=>o(!r),children:[i?s.jsx("span",{className:"inline-block w-3 h-3 shrink-0 rounded-full border-2 border-accent-blue border-r-transparent animate-spin"}):s.jsx("span",{className:`w-2 h-2 shrink-0 rounded-full ${E}`}),s.jsx("span",{className:"text-xs text-dark-muted shrink-0",children:"🔧"}),s.jsx("span",{className:"font-medium text-[13px] text-dark-text truncate",children:t.name}),i&&s.jsxs("span",{className:"text-[11px] text-accent-blue shrink-0 flex items-center gap-1 tabular-nums",children:[s.jsx(rt,{size:10}),s.jsx("span",{ref:l,children:"0s"})]}),!i&&x&&s.jsxs("span",{className:"text-[10px] text-dark-muted shrink-0 flex items-center gap-1 tabular-nums",children:[s.jsx(rt,{size:10}),s.jsx("span",{children:x})]}),s.jsx("span",{className:`ml-auto shrink-0 text-dark-muted/60 transition-transform ${r?"":"rotate-180"}`,children:s.jsx(Tt,{size:13})})]}),!r&&s.jsxs("div",{className:"ml-4 pb-1 pl-3 border-l-2 border-dark-border/30 space-y-1",children:[s.jsxs("div",{className:"py-0.5 px-2",children:[s.jsx("div",{className:"text-[10px] text-dark-muted mb-0.5",children:"参数"}),s.jsx("pre",{className:"text-[11px] font-mono bg-dark-bg border border-dark-border p-2 rounded overflow-x-auto max-h-24 overflow-y-auto custom-scrollbar",children:typeof t.args=="string"?t.args:JSON.stringify(t.args,null,2)})]}),c&&s.jsxs("div",{className:"py-0.5 px-2",children:[s.jsx("div",{className:`text-[10px] mb-0.5 ${a?"text-accent-red":"text-accent-green"}`,children:a?"错误":"结果"}),u&&d?s.jsx(Ls,{filePath:m,content:d}):s.jsx("pre",{className:`text-[11px] font-mono bg-dark-bg border border-dark-border p-2 rounded overflow-x-auto max-h-48 overflow-y-auto custom-scrollbar whitespace-pre-wrap break-all ${a?"text-accent-red":"text-accent-green"}`,children:d})]})]})]})}),Gs=R.memo(function({text:t,maxLength:n=300,preformatted:r=!1}){const[o,i]=R.useState(!1);return t.length>n?s.jsxs("div",{children:[r?s.jsx("pre",{className:"text-xs font-mono bg-dark-bg p-1.5 rounded overflow-x-auto custom-scrollbar mt-1 text-accent-green",children:o?t:t.slice(0,n)+"..."}):s.jsx("div",{className:"text-dark-text leading-snug",children:o?t:t.slice(0,n)+"..."}),s.jsx("button",{onClick:c=>{c.stopPropagation(),i(!o)},className:"mt-1 text-[10px] px-2 py-0.5 rounded bg-dark-hover text-accent-blue hover:bg-dark-border transition-colors",children:o?"收起":"展开"})]}):r?s.jsx("pre",{className:"text-xs font-mono bg-dark-bg p-1.5 rounded overflow-x-auto custom-scrollbar mt-1 text-accent-green",children:t}):s.jsx("div",{className:"text-dark-text leading-snug",children:t})}),Ws=R.memo(function({step:t,defaultCollapsed:n=!0}){const[r,o]=R.useState(n),[i,l]=R.useState(!0),c=t.status==="running",a=kr(c),u=t.description||t.thought||t.result||t.action||t.toolCalls&&t.toolCalls.length>0,d=t.duration??0,m=d>0?d>=60?`${Math.floor(d/60)}m ${d%60}s`:`${d}s`:"",g={pending:"bg-dark-muted/40",running:"bg-accent-blue",success:"bg-accent-green",error:"bg-accent-red",warning:"bg-accent-yellow"}[t.status]||"bg-dark-muted/40";return s.jsxs("div",{className:"rounded-lg transition-colors hover:bg-dark-surface/40","data-testid":"step-row",children:[s.jsxs("div",{className:"flex items-center gap-2 px-2 py-1 cursor-pointer select-none",onClick:()=>u&&o(!r),children:[c?s.jsx("span",{className:"inline-block w-3 h-3 shrink-0 rounded-full border-2 border-accent-blue border-r-transparent animate-spin"}):s.jsx("span",{className:`w-2 h-2 shrink-0 rounded-full ${g} ${t.status==="pending"?"opacity-60":""}`}),s.jsx("span",{className:"text-[13px] text-dark-text truncate",children:t.title}),c&&s.jsxs("span",{className:"text-[11px] text-accent-blue shrink-0 flex items-center gap-1 tabular-nums",children:[s.jsx(rt,{size:10}),s.jsx("span",{ref:a,children:"0s"})]}),!c&&m&&s.jsxs("span",{className:"text-[10px] text-dark-muted shrink-0 flex items-center gap-1 tabular-nums",children:[s.jsx(rt,{size:10}),s.jsx("span",{children:m})]}),u&&s.jsx("span",{className:`ml-auto shrink-0 text-dark-muted/60 transition-transform ${r?"":"rotate-180"}`,children:s.jsx(Tt,{size:13})})]}),!r&&u&&s.jsxs("div",{className:"ml-4 pb-1 pl-3 border-l-2 border-dark-border/30 space-y-1",children:[t.description&&s.jsx("div",{className:"text-dark-muted py-0.5 px-2 text-xs",children:t.description}),t.thought&&s.jsxs("div",{className:"py-0.5 px-2 text-xs border-l-2 border-accent-blue/40 bg-accent-blue/5 rounded-r",children:[s.jsxs("div",{className:"flex items-center gap-1 text-accent-blue cursor-pointer hover:opacity-80 select-none",onClick:()=>l(!i),children:[i?s.jsx(Vt,{size:12}):s.jsx(Tt,{size:12}),s.jsx("span",{children:"🧠 思考"}),i&&s.jsxs("span",{className:"text-[10px] text-dark-muted truncate max-w-[200px]",children:[t.thought.slice(0,80).replace(/\n/g," "),"..."]})]}),!i&&s.jsx("div",{className:"text-dark-muted italic whitespace-pre-wrap leading-snug mt-1",children:t.thought.replace(/\n\s*\n+/g,`
8
- `)})]}),t.action&&s.jsxs("div",{className:"py-0.5 px-2 text-xs border-l-2 border-accent-yellow/40 bg-accent-yellow/5 rounded-r",children:[s.jsx("div",{className:"flex items-center gap-1 text-accent-yellow mb-0.5",children:"⚡ 执行"}),s.jsx("div",{className:"text-dark-text leading-snug font-mono text-[11px]",children:t.action})]}),t.toolCalls&&t.toolCalls.length>0&&t.toolCalls.map(x=>s.jsx("div",{className:"px-1 py-0.5",children:s.jsx(yr,{toolCall:x})},x.id)),t.result&&s.jsxs("div",{className:"py-0.5 px-2 text-xs border-l-2 border-accent-green/40 bg-accent-green/5 rounded-r",children:[s.jsx("div",{className:"flex items-center gap-1 text-accent-green mb-0.5",children:"✓ 结果"}),s.jsx(Gs,{text:t.result,maxLength:500})]})]})]})}),Vs=R.memo(function({steps:t,isGenerating:n}){const{t:r}=De(),[o,i]=R.useState(n),l=R.useRef(n);R.useEffect(()=>{l.current&&!n&&i(!1),l.current=n},[n]);const c=t.length,a=n||t.some(x=>x.status==="running"),u=[...t].reverse().find(x=>x.status==="running"),d=t[t.length-1],m=(u==null?void 0:u.title)||(d==null?void 0:d.title)||"",g=`${c} ${r(c===1?"chat.stepCount":"chat.stepCountPlural")}`;return s.jsxs("div",{className:"mb-1 rounded-lg border border-dark-border/50 transition-colors","data-testid":"turn-group",children:[s.jsxs("button",{className:"flex w-full items-center gap-2 px-2 py-1 text-left cursor-pointer select-none hover:bg-dark-surface/40",onClick:()=>i(!o),"data-testid":"turn-group-toggle",children:[s.jsx("span",{className:"shrink-0 text-dark-muted/60 transition-transform",children:o?s.jsx(Tt,{size:13}):s.jsx(Vt,{size:13})}),a?s.jsx("span",{className:"inline-block w-3 h-3 shrink-0 rounded-full border-2 border-accent-blue border-r-transparent animate-spin"}):s.jsx("span",{className:"w-2 h-2 shrink-0 rounded-full bg-accent-green"}),s.jsx("span",{className:"text-xs text-dark-muted",children:a?`${r("chat.runningSteps")} ${g}…`:g}),a&&m&&s.jsxs("span",{className:"min-w-0 flex-1 truncate pl-1 text-xs text-dark-muted/70",children:["· ",m]})]}),o&&s.jsx("div",{className:"ml-3 pb-1 pl-3 border-l-2 border-dark-border/30 space-y-0.5",children:t.map(x=>s.jsx(Ws,{step:x},x.id))})]})}),Dt=15,Ks=R.memo(function({approval:t,onResolved:n}){const{t:r}=De("hook"),[o,i]=R.useState(!1),[l,c]=R.useState(Dt),a=R.useRef(null),u=t.status==="pending",{level:d,reasonKey:m}=qr(t.toolName,t.askPayload),g=to[d];R.useEffect(()=>{if(u)return c(Dt),a.current=setInterval(()=>{c(I=>I<=1?(a.current&&clearInterval(a.current),0):I-1)},1e3),()=>{a.current&&clearInterval(a.current)}},[u,t.approvalId]),R.useEffect(()=>{l===0&&u&&!o&&E()},[l]);const x=eo(t.toolName,t.askPayload),E=R.useCallback(()=>{!u||o||(i(!0),a.current&&clearInterval(a.current),gt.send({type:"hook_allow",data:JSON.stringify({approvalId:t.approvalId})}),n==null||n(t.approvalId,"approved"))},[u,o,t.approvalId,n]),k=R.useCallback(()=>{!u||o||(i(!0),a.current&&clearInterval(a.current),gt.send({type:"hook_deny",data:JSON.stringify({approvalId:t.approvalId})}),n==null||n(t.approvalId,"denied"))},[u,o,t.approvalId,n]),b=R.useCallback(()=>{if(!u||o)return;i(!0),a.current&&clearInterval(a.current),fn.getState().addToSessionAllowList(t.toolName),gt.send({type:"hook_allow",data:JSON.stringify({approvalId:t.approvalId})}),n==null||n(t.approvalId,"approved")},[u,o,t.approvalId,t.toolName,n]),f=R.useCallback(()=>{!u||o||(i(!0),a.current&&clearInterval(a.current),fn.getState().setAutoMode(!0),vt.getState().setAuto(!0),gt.send({type:"hook_allow",data:JSON.stringify({approvalId:t.approvalId})}),n==null||n(t.approvalId,"approved"))},[u,o,t.approvalId,n]);if(!u){const I=t.status==="approved";return s.jsx("div",{className:`flex items-center gap-2 px-3 py-2 rounded-lg text-xs ${I?"bg-accent-green/10 border border-accent-green/30 text-accent-green":"bg-accent-red/10 border border-accent-red/30 text-accent-red"}`,children:I?s.jsxs(s.Fragment,{children:[s.jsx(Pn,{size:14}),s.jsxs("span",{children:[r("alreadyAllowed"),t.toolName]})]}):s.jsxs(s.Fragment,{children:[s.jsx(Fr,{size:14}),s.jsxs("span",{children:[r("alreadyDenied"),t.toolName]})]})})}const h=l/Dt*100,S=l<=5,N=[{id:"allow",index:1,label:r("optionAllow"),hint:r("optionAllowHint"),action:E},{id:"deny",index:2,label:r("optionDeny"),hint:r("optionDenyHint"),action:k},{id:"allow_session",index:3,label:r("optionAllowAlways"),hint:r("optionAllowAlwaysHint",{tool:t.toolName}),action:b},{id:"auto_mode",index:4,label:r("optionAutoMode"),hint:r("optionAutoModeHint"),action:f}];return s.jsxs("div",{className:`bg-dark-bg border rounded-lg overflow-hidden ${g.border}`,children:[s.jsxs("div",{className:`flex items-center gap-2 px-3 py-2 ${g.bg} border-b ${g.border}`,children:[s.jsxs("span",{className:`px-1.5 py-0.5 rounded text-[10px] font-bold border ${g.badge}`,children:[g.icon," ",d]}),s.jsx(Hr,{size:14,className:g.text}),s.jsx("span",{className:"text-xs font-medium text-dark-text",children:r("permissionRequest")}),s.jsx("span",{className:"text-[10px] text-dark-muted ml-auto",children:r(m)}),s.jsxs("div",{className:"flex items-center gap-1.5 ml-2",children:[s.jsx(rt,{size:11,className:S?"text-accent-red":"text-dark-muted"}),s.jsxs("span",{className:`text-[11px] font-mono ${S?"text-accent-red animate-pulse":"text-dark-muted"}`,children:[l,"s"]}),s.jsx("div",{className:"w-10 h-1 bg-dark-border rounded-full overflow-hidden",children:s.jsx("div",{className:`h-full rounded-full transition-all duration-1000 ${S?"bg-accent-red":l<=8?"bg-accent-yellow":"bg-accent-green"}`,style:{width:`${h}%`}})})]})]}),s.jsxs("div",{className:"px-3 py-2.5 space-y-2",children:[s.jsxs("div",{className:"flex items-center gap-2 text-xs",children:[s.jsx("span",{className:"text-dark-muted shrink-0",children:r("tool")}),s.jsx("code",{className:"text-accent-blue font-mono text-xs bg-dark-surface px-1.5 py-0.5 rounded",children:t.toolName})]}),x&&s.jsx("div",{className:"bg-dark-surface rounded border border-dark-border p-2 max-h-24 overflow-y-auto custom-scrollbar",children:s.jsx("pre",{className:"text-[11px] font-mono text-dark-text whitespace-pre-wrap break-all leading-relaxed",children:x})}),(d==="CRITICAL"||d==="HIGH")&&s.jsxs("div",{className:`flex items-center gap-1.5 text-[11px] px-2 py-1 rounded ${g.bg} ${g.text}`,children:[s.jsx(Dr,{size:12}),s.jsx("span",{children:r(d==="CRITICAL"?"highRiskWarning":"mediumRiskConfirm")})]}),s.jsxs(s.Fragment,{children:[s.jsx("div",{className:"space-y-0.5 pt-1",children:N.map(I=>s.jsxs("button",{onClick:I.action,disabled:o,className:"w-full text-left px-2 py-1.5 rounded hover:bg-dark-hover transition-colors disabled:opacity-50 group",children:[s.jsxs("div",{className:"flex items-baseline gap-1.5",children:[s.jsxs("span",{className:"text-xs text-dark-muted font-mono shrink-0",children:[I.index,"."]}),s.jsx("span",{className:"text-xs text-dark-text group-hover:text-white transition-colors",children:I.label})]}),s.jsx("div",{className:"text-[10px] text-dark-muted/60 ml-5 mt-0.5",children:I.hint})]},I.id))}),s.jsx("div",{className:"text-[10px] text-dark-muted/50 pt-0.5 border-t border-dark-border/50",children:r("clickToSelect")})]})]})]})});function zt({onClick:e,title:t,children:n,danger:r=!1}){return s.jsx("button",{onClick:e,title:t,"aria-label":t,className:`inline-flex items-center justify-center rounded p-1 transition-colors ${r?"text-dark-muted hover:text-accent-red hover:bg-accent-red/10":"text-dark-muted hover:text-dark-text hover:bg-dark-hover"}`,children:n})}function zn({message:e,sessionId:t,onRegenerate:n,onDeleteMessage:r}){const{t:o}=De(),[i,l]=R.useState(!1),c=R.useRef(null);R.useEffect(()=>()=>{c.current&&clearTimeout(c.current)},[]);const a=R.useCallback(async()=>{try{await navigator.clipboard.writeText(e.content||e.thinking||""),l(!0),c.current&&clearTimeout(c.current),c.current=setTimeout(()=>l(!1),2e3)}catch(u){console.error("Failed to copy message:",u)}},[e.content,e.thinking]);return t?s.jsxs(s.Fragment,{children:[s.jsx(zt,{onClick:a,title:o("chat.copyMessage"),children:i?s.jsx(Pn,{size:12,className:"text-accent-green"}):s.jsx(_n,{size:12})}),e.type==="assistant"&&n&&s.jsx(zt,{onClick:()=>n(e.id),title:o("chat.regenerate"),children:s.jsx($n,{size:12})}),r&&s.jsx(zt,{onClick:()=>r(e.id),title:o("chat.deleteMessage"),danger:!0,children:s.jsx(zr,{size:12})})]}):null}function Mn({ts:e,align:t,children:n}){const{i18n:r}=De(),o=r.language==="en"?"en-US":"zh-CN";return s.jsx("div",{className:"relative h-0 select-none",children:s.jsxs("div",{className:`absolute top-1 flex items-center gap-0.5 text-[10.5px] leading-none whitespace-nowrap opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 transition-opacity duration-150 ${t==="right"?"right-0":"left-0"}`,children:[n,s.jsx("span",{className:"pl-1 text-[10px] text-dark-muted/50",children:new Date(e).toLocaleTimeString(o,{hour:"2-digit",minute:"2-digit"})})]})})}const Ys=R.memo(function({message:t,sessionId:n,onRegenerate:r,onDeleteMessage:o}){var x,E,k;const{t:i}=De(),l=ye(b=>{var h;if(!n||!b.generatingSessions.includes(n))return!1;const f=b.messagesBySession[n];return f?((h=f[f.length-1])==null?void 0:h.id)===t.id:!1}),[c,a]=R.useState(!0),u=R.useRef(l);R.useEffect(()=>{u.current&&!l&&a(!0),u.current=l},[l]);const d=t.type==="user",m=t.type==="system",g=R.useCallback((b,f)=>{if(!n)return;const S=ye.getState().getMessages(n),N=S.findIndex(v=>v.id===t.id);if(N===-1)return;const I=S[N];if(!I)return;const D={...I,hookApproval:I.hookApproval?{...I.hookApproval,status:f}:void 0},p=[...S];p[N]=D,ye.setState({messagesBySession:{...ye.getState().messagesBySession,[n]:p}})},[n,t.id]);return t.deleted?null:d?s.jsx("div",{className:"group flex justify-end animate-fade-in-up px-1",children:s.jsxs("div",{className:"max-w-[92%] md:max-w-[78%]",children:[s.jsx("div",{className:"rounded-2xl rounded-br-md border border-dark-border/70 bg-dark-surface px-4 py-2.5 shadow-sm",children:s.jsx("div",{className:"text-dark-text whitespace-pre-wrap break-words leading-relaxed text-sm",children:(x=t.content)==null?void 0:x.replace(/\n{3,}/g,`
9
-
10
- `)})}),s.jsx(Mn,{ts:t.timestamp,align:"right",children:s.jsx(zn,{message:t,sessionId:n,onRegenerate:r,onDeleteMessage:o})})]})}):m?s.jsx("div",{className:"flex justify-center animate-fade-in-up px-1 py-1",children:s.jsx("div",{className:"text-[11px] text-dark-muted bg-dark-surface border border-dark-border/60 rounded-full px-3.5 py-1 max-w-[90%] text-center",children:t.content})}):s.jsx("div",{className:"group flex animate-fade-in-up px-1",children:s.jsxs("div",{className:"w-full max-w-full",children:[s.jsx(Mn,{ts:t.timestamp,align:"left",children:s.jsx(zn,{message:t,sessionId:n,onRegenerate:r,onDeleteMessage:o})}),t.steps&&t.steps.length>0&&!t.hookApproval?s.jsx(Vs,{steps:t.steps,isGenerating:l}):s.jsxs(s.Fragment,{children:[t.thinking&&!t.hookApproval&&s.jsxs("div",{className:"mb-1",children:[s.jsxs("button",{className:"flex items-center gap-1.5 cursor-pointer select-none py-0.5 text-xs",onClick:()=>a(!c),"data-testid":"thinking-toggle",children:[s.jsx(Vt,{size:12,className:`text-dark-muted transition-transform ${c?"":"rotate-90"}`}),s.jsx("span",{className:l?"text-accent-blue/90 animate-pulse":"text-dark-muted",children:l?`${i("chat.thinking")}…`:i("chat.thoughtProcess")})]}),!c&&s.jsx("div",{className:"mt-1 text-xs text-dark-muted whitespace-pre-wrap break-words border-l-2 border-dark-border/40 pl-3 max-h-64 overflow-y-auto custom-scrollbar",children:t.thinking.replace(/\n{3,}/g,`
11
-
12
- `)})]}),t.toolCalls&&t.toolCalls.length>0&&!t.hookApproval&&s.jsx("div",{className:"mb-1 space-y-0.5",children:t.toolCalls.map(b=>s.jsx(yr,{toolCall:b},b.id))})]}),t.content?s.jsx("div",{className:"leading-relaxed",children:s.jsx(Os,{content:t.content.replace(/\n{3,}/g,`
13
-
14
- `)})}):!t.thinking&&!t.hookApproval&&((E=t.steps)!=null&&E.length)?null:!t.thinking&&!t.hookApproval&&!((k=t.steps)!=null&&k.length)&&l?s.jsxs("div",{className:"flex items-center gap-3 py-1 text-xs text-dark-muted",children:[s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-blue animate-blink"}),s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-blue animate-blink",style:{animationDelay:"0.2s"}}),s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-blue animate-blink",style:{animationDelay:"0.4s"}})]}),i("chat.thinking"),"..."]}):null,t.hookApproval&&s.jsx("div",{className:"mt-3 border-l-2 border-accent-yellow/50 pl-3",children:s.jsx(Ks,{approval:t.hookApproval,onResolved:g})})]})})}),Xs=R.memo(function({messages:t,isGenerating:n,sessionId:r,onSendSuggestion:o,onRegenerate:i,onDeleteMessage:l}){const{t:c}=De(),a=R.useRef(null),u=R.useRef(n);u.current=n;const[d,m]=R.useState(!0),g=R.useCallback(N=>{const I=N.currentTarget,D=I.scrollHeight-I.scrollTop-I.clientHeight;m(D<50)},[]),x=R.useMemo(()=>F.forwardRef((N,I)=>s.jsx("div",{...N,ref:I,onScroll:g})),[g]);R.useEffect(()=>{n&&(m(!0),requestAnimationFrame(()=>{var N;(N=a.current)==null||N.scrollToIndex({index:"LAST",behavior:"smooth"})}))},[n]);const E=R.useMemo(()=>t.filter(N=>!N.deleted),[t]),k=R.useMemo(()=>(N,I)=>s.jsx("div",{className:"px-4 py-2",children:s.jsx(Ys,{message:I,sessionId:r,onRegenerate:i,onDeleteMessage:l})}),[r,i,l]),b=R.useMemo(()=>()=>n?s.jsxs("div",{className:"flex items-center gap-2 text-xs text-dark-muted py-3 px-5",children:[s.jsxs("span",{className:"flex items-center gap-1",children:[s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-blue animate-blink"}),s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-blue animate-blink",style:{animationDelay:"0.2s"}}),s.jsx("span",{className:"w-1.5 h-1.5 rounded-full bg-accent-blue animate-blink",style:{animationDelay:"0.4s"}})]}),s.jsx("span",{children:c("chat.thinkingEllipsis")})]}):null,[n,c]),f=R.useMemo(()=>[{icon:Mr,label:c("chat.suggestionCode"),prompt:c("chat.suggestionCodePrompt")},{icon:Br,label:c("chat.suggestionAnalyze"),prompt:c("chat.suggestionAnalyzePrompt")},{icon:_r,label:c("chat.suggestionAutomate"),prompt:c("chat.suggestionAutomatePrompt")}],[c]),h=R.useMemo(()=>()=>s.jsx("div",{className:"flex min-h-[55vh] items-center justify-center p-6",children:s.jsxs("div",{className:"w-full max-w-xl px-4 text-center",children:[s.jsx("img",{src:"/logo.svg",alt:"deepseekcode",className:"w-14 h-14 mx-auto mb-5 rounded-2xl shadow-md"}),s.jsx("h2",{className:"text-xl font-semibold tracking-tight mb-2",children:c("chat.welcome")}),s.jsx("p",{className:"text-dark-muted text-sm mb-8",children:c("chat.welcomeDesc")}),o&&s.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-2.5 text-left",children:f.map(N=>s.jsxs("button",{onClick:()=>o(N.prompt),className:"group w-full rounded-xl border border-dark-border bg-dark-surface px-3.5 py-3 text-left transition-all duration-150 hover:border-accent-blue/40 hover:shadow-md hover:-translate-y-px",children:[s.jsx(N.icon,{size:16,"aria-hidden":"true",className:"text-accent-blue mb-2"}),s.jsx("div",{className:"text-[13px] font-medium text-dark-text",children:N.label}),s.jsx("div",{className:"mt-0.5 text-[11px] leading-snug text-dark-muted line-clamp-2",children:N.prompt})]},N.label))})]})}),[c,f,o]),S=R.useMemo(()=>E.length===0?{Scroller:x,Footer:b,Header:h}:{Scroller:x,Footer:b},[x,b,h,E.length]);return s.jsx("div",{className:"flex-1 min-h-0 overflow-hidden",children:s.jsx(ms,{ref:a,data:E,itemContent:k,followOutput:d?"smooth":void 0,components:S,style:{height:"100%"}})})}),Zs={plan:"border-accent-blue/30 text-accent-blue bg-accent-blue/10","auto-plan":"border-accent-cyan/30 text-accent-cyan bg-accent-cyan/10",act:"border-accent-green/30 text-accent-green bg-accent-green/10","auto-act":"border-accent-yellow/30 text-accent-yellow bg-accent-yellow/10",goal:"border-accent-purple/30 text-accent-purple bg-accent-purple/10","auto-goal":"border-accent-red/30 text-accent-red bg-accent-red/10",normal:"border-accent-green/30 text-accent-green"},Js=R.memo(function(){const{t}=De(),n=vt(a=>a.mode),r=vt(a=>a.setBaseMode),o=vt(a=>a.toggleAuto),i=n==="normal"?"act":n,l=Zr(i),c=Xr(i);return s.jsxs("div",{className:"flex items-center gap-1",children:[Kr.map(a=>{const u=l===a,d=Yr[a],m=n!=="normal"&&u?Zs[n]??"border-dark-border text-dark-muted":"border-dark-border text-dark-muted hover:bg-dark-hover";return s.jsx("button",{type:"button",onClick:()=>r(a),className:Rt("px-2 py-0.5 rounded-full border text-xs whitespace-nowrap transition-colors cursor-pointer",m),title:t("chat.clickToSwitchMode"),"aria-pressed":u,children:d.label},a)}),s.jsxs("button",{type:"button",role:"switch","aria-checked":c,onClick:()=>o(),className:Rt("flex items-center gap-1 px-2 py-0.5 rounded-full border text-xs whitespace-nowrap transition-colors cursor-pointer",c?"border-accent-yellow/40 text-accent-yellow bg-accent-yellow/10":"border-dark-border text-dark-muted hover:bg-dark-hover"),title:t("plan.autoApprove"),children:[s.jsx($n,{size:11,className:Rt(c?"text-accent-yellow":"text-dark-muted")}),s.jsx("span",{children:t("plan.autoApprove")})]})]})}),Qs=800,Bn=/\[Pasted text #(\d+)(?:\s*\+\d+ lines?)?\]/g;let qs=0;const Nr=new Map;function ei(e){const t=++qs;return Nr.set(t,e),t}function ti(e){return e.length>Qs||Cr(e)>0}function Cr(e){return(e.match(/\r\n|\r|\n/g)||[]).length}function ni(e){const t=ei(e),n=Cr(e);return n===0?{id:t,label:`[Pasted text #${t}]`}:{id:t,label:`[Pasted text #${t} +${n} lines]`}}function ri(e){return Bn.lastIndex=0,e.replace(Bn,(t,n)=>{const r=parseInt(n,10),o=Nr.get(r);return o!==void 0?o:t})}const oi=R.memo(function({sessionId:t,onSend:n,onStop:r,onPause:o,onResume:i}){const{t:l}=De(),c=ye(w=>{var A;return((A=w.sessionInputs)==null?void 0:A[t])??""}),a=ye(w=>w.setSessionInput),u=ye(w=>{var A;return((A=w.generatingSessions)==null?void 0:A.includes(t))??!1}),d=ye(w=>{var A;return((A=w.pausedSessions)==null?void 0:A.includes(t))??!1}),m=R.useRef(null),g=R.useRef(!1),x=R.useDeferredValue(c),E=mn(w=>w.estimateTokens),k=R.useMemo(()=>E(x),[x,E]),b=mn(w=>w.model),f=R.useCallback(w=>{a(t,w)},[t,a]),h=R.useCallback(()=>{const w=m.current;w&&(w.style.height="auto",w.style.height=Math.min(w.scrollHeight,200)+"px")},[]);R.useEffect(()=>{h()},[c,h]);const S=R.useCallback(w=>{const A=w.target.value;f(A)},[f]),N=R.useCallback(w=>{const A=w.clipboardData.getData("text/plain");if(!A||!ti(A))return;w.preventDefault();const{label:_}=ni(A),L=m.current;if(!L)return;const z=L.selectionStart,G=L.selectionEnd,K=L.value,V=K.slice(0,z)+_+K.slice(G);f(V),requestAnimationFrame(()=>{L.selectionStart=L.selectionEnd=z+_.length})},[f]),I=R.useCallback(()=>{c.trim()&&(n(ri(c)),f(""))},[c,n,f]),D=R.useCallback(w=>{if(!w.nativeEvent.isComposing){if(w.key==="Escape"&&u){w.preventDefault(),d?i():o();return}if(w.key==="Enter"&&(w.ctrlKey||w.metaKey)){w.preventDefault(),I();return}w.key==="Enter"&&!w.shiftKey&&(w.preventDefault(),I())}},[u,d,I,o,i]),p=R.useCallback(()=>{g.current=!0},[]),v=R.useCallback(()=>{g.current=!1},[]),C=k>8e3;return s.jsxs("div",{className:"shrink-0 px-3 sm:px-4 pb-3 pt-2 bg-dark-bg",children:[s.jsxs("div",{className:"rounded-2xl border border-dark-border bg-dark-surface shadow-sm transition-all duration-150 focus-within:border-accent-blue/50 focus-within:ring-4 focus-within:ring-accent-blue/10",children:[s.jsx("textarea",{ref:m,value:c,onChange:S,onKeyDown:D,onPaste:N,onCompositionStart:p,onCompositionEnd:v,placeholder:l(u?"chat.generatingPlaceholder":"chat.inputPlaceholder"),rows:1,disabled:u&&!d,"aria-label":"Message input",className:`w-full bg-transparent px-4 pt-3.5 pb-2 text-sm text-dark-text placeholder-dark-muted/60
15
- resize-none focus:outline-none min-h-[44px] max-h-[40vh] leading-relaxed
16
- disabled:opacity-50 disabled:cursor-not-allowed`}),s.jsxs("div",{className:"flex items-center gap-2 px-2.5 pb-2.5",children:[s.jsx(Js,{}),s.jsx("span",{className:"text-[11px] text-dark-muted/80 font-mono truncate max-w-[10rem] hidden sm:block",children:b||""}),s.jsx("div",{className:"flex-1"}),k>0&&c.length>0&&s.jsxs("span",{className:`text-[10px] tabular-nums ${C?"text-accent-red font-medium":"text-dark-muted/60"}`,children:["~",k," tokens",C?` · ${l("chat.nearLimit")}`:""]}),u?s.jsxs("div",{className:"flex items-center gap-1.5",children:[d?s.jsx("button",{onClick:i,className:"flex h-8 w-8 items-center justify-center rounded-full bg-accent-green text-white transition-all hover:opacity-85 active:scale-95",title:l("chat.resumeGen"),"aria-label":l("chat.resumeGen"),children:s.jsx(Pr,{size:14,"aria-hidden":"true"})}):s.jsx("button",{onClick:o,className:"flex h-8 w-8 items-center justify-center rounded-full bg-accent-yellow text-white transition-all hover:opacity-85 active:scale-95",title:l("chat.pauseGen"),"aria-label":l("chat.pauseGen"),children:s.jsx($r,{size:14,"aria-hidden":"true"})}),s.jsx("button",{onClick:r,className:"flex h-8 w-8 items-center justify-center rounded-full bg-accent-red text-white transition-all hover:opacity-85 active:scale-95",title:l("chat.stopGen"),"aria-label":l("chat.stopGen"),children:s.jsx(Ur,{size:13,"aria-hidden":"true"})})]}):s.jsx("button",{onClick:I,disabled:!c.trim(),className:`flex h-8 w-8 items-center justify-center rounded-full bg-dark-text text-dark-bg transition-all
17
- hover:opacity-80 active:scale-95 disabled:opacity-25 disabled:cursor-not-allowed`,title:l("chat.sendBtn"),"aria-label":l("chat.sendBtn"),children:s.jsx(Gr,{size:15,"aria-hidden":"true"})})]})]}),s.jsxs("div",{className:"mt-1.5 hidden sm:flex items-center justify-center gap-3 text-[10px] text-dark-muted/50 select-none",children:[s.jsx("span",{children:l("chat.shiftEnter")}),s.jsx("span",{"aria-hidden":"true",children:"·"}),s.jsx("span",{children:l("chat.escHint")})]})]})}),di=R.memo(function({tabs:t,activeSessionId:n,onSend:r,onStop:o,onPause:i,onResume:l,activeTab:c,setActiveTab:a,createNewSession:u,clearMessages:d,setTheme:m,toggleTerminal:g,setLogs:x,setUnreadLogs:E,showTaskBoard:k=!0,onToggleTaskBoard:b,onRegenerate:f,onDeleteMessage:h}){const S=ye(L=>n?L.messagesBySession[n]||[]:[]),N=ye(L=>n?L.generatingSessions.includes(n):!1),I=ye(L=>n?L.pausedSessions.includes(n):!1),D=Jr(L=>n?L.getTasksForSession(n):[]),p=t.find(L=>L.id===n)||null,v=D.length>0,C=R.useCallback((L,z)=>{n&&r(n,L,z)},[r,n]),w=R.useCallback(L=>{n&&r(n,L)},[r,n]),A=R.useCallback(L=>{n&&f&&f(n,L)},[f,n]),_=R.useCallback(L=>{n&&h&&h(n,L)},[h,n]);return s.jsxs("div",{className:"flex-1 flex min-h-0",children:[s.jsx("div",{className:"flex-1 flex flex-col min-w-0 min-h-0",children:p&&s.jsxs(s.Fragment,{children:[s.jsx(Xs,{messages:S,isGenerating:N,isPaused:I,sessionId:p.id,onSendSuggestion:w,onRegenerate:f?A:void 0,onDeleteMessage:h?_:void 0}),s.jsx(oi,{sessionId:p.id,onSend:C,onStop:()=>o(p.id),onPause:()=>i(p.id),onResume:()=>l(p.id)})]})}),n&&k&&v&&s.jsx("div",{className:"w-80 shrink-0 border-l border-dark-border overflow-hidden flex flex-col min-h-0 max-lg:hidden",children:s.jsx(Qr,{sessionId:n,defaultExpanded:!0,onClose:b})}),n&&!k&&v&&s.jsxs("button",{onClick:b,className:"fixed bottom-6 right-6 z-40 bg-accent-blue text-white rounded-full px-3 py-2 shadow-lg hover:opacity-90 transition-opacity flex items-center gap-1.5 text-xs",children:[s.jsx(Wr,{size:14}),"Task Board"]})]})});export{di as SessionGrid};
@@ -1 +0,0 @@
1
- import{j as e}from"./markdown-BAhUvdx-.js";import{r as l,m as A,l as X,a2 as Z,P as ee,a3 as se,_ as $,$ as O,a4 as _,a5 as te}from"./icons-B_rAQLge.js";import"./Toast-DowV4l0w.js";import{e as re,M as U,a as p}from"./index-BtIzCXfW.js";import"./react-vendor-meeTdQCf.js";import"./state-Cke1lss7.js";const T={id:"",name:"",description:"",category:"",trigger:"",systemPrompt:"",injection:"lazy",tags:"",requiredTools:""};function oe(){const{t}=re(),[d,b]=l.useState([]),[f,E]=l.useState(!0),[P,j]=l.useState(null),[k,D]=l.useState(""),[v,N]=l.useState(null),[H,x]=l.useState(!1),[y,w]=l.useState(null),[I,q]=l.useState(!1),[F,u]=l.useState(null),[a,c]=l.useState(T),[Q,C]=l.useState(!1),[V,L]=l.useState(!1),[M,S]=l.useState(null),h=l.useRef(null),g=async()=>{E(!0),j(null);const s=await p.skills.list();if(s.success){const r=Array.isArray(s.data)?s.data:[];b(r),N(n=>{var o;return n&&r.some(W=>W.id===n)?n:((o=r[0])==null?void 0:o.id)||null}),s.data!==null&&s.data!==void 0&&!Array.isArray(s.data)&&j("服务端返回的技能数据格式异常")}else j(s.error||t("skills.loadFailedFallback"));E(!1)};l.useEffect(()=>{g()},[]);const i=l.useMemo(()=>d.find(s=>s.id===v)||d[0]||null,[d,v]),z=l.useMemo(()=>{const s=k.trim().toLowerCase();return s?d.filter(r=>[r.id,r.name,r.description,r.category,...r.tags||[]].join(" ").toLowerCase().includes(s)):d},[d,k]),Y=()=>{w(null),c(T),u(null),x(!0)},G=s=>{w(s.id),c({id:s.id,name:s.name,description:s.description,category:s.category,trigger:s.trigger||"",systemPrompt:s.systemPrompt||"",injection:s.injection||"lazy",tags:(s.tags||[]).join(", "),requiredTools:(s.requiredTools||[]).join(", ")}),u(null),x(!0)},J=async()=>{const s=a.id.trim();if(!s){u(t("skills.fieldId")+" is required");return}q(!0),u(null);const r={id:s,name:a.name.trim(),description:a.description.trim(),category:a.category.trim(),trigger:a.trigger.trim(),systemPrompt:a.systemPrompt,injection:a.injection.trim(),tags:B(a.tags),requiredTools:B(a.requiredTools)},n=y?await p.skills.update(y,r):await p.skills.create(r);n.success?(x(!1),w(null),c(T),await g(),N(s)):u(n.error||t("skills.save")),q(!1)},R=async s=>{(await p.skills.toggle(s.id,!s.enabled)).success&&b(n=>n.map(o=>o.id===s.id?{...o,enabled:!o.enabled}:o))},K=async s=>{L(!0),S(null);try{const r=await s.text(),n=await p.skills.import({fileName:s.name,content:r});n.success?(C(!1),await g()):S(n.error||t("skills.import"))}catch(r){S(r instanceof Error?r.message:t("skills.import"))}finally{L(!1),h.current&&(h.current.value="")}};return f?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx(A,{size:32,className:"animate-spin mx-auto mb-2 text-accent-blue"}),e.jsx("p",{className:"text-dark-muted",children:"Loading..."})]})}):P?e.jsx("div",{className:"flex-1 flex items-center justify-center",children:e.jsxs("div",{className:"text-center",children:[e.jsx(X,{size:32,className:"mx-auto mb-2 text-accent-red"}),e.jsx("p",{className:"text-accent-red mb-4",children:P}),e.jsx("button",{onClick:g,className:"px-4 py-2 bg-accent-blue text-white rounded-lg",children:t("skills.retry")})]})}):e.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4 gap-4",children:[e.jsxs("div",{className:"flex items-center justify-between gap-3",children:[e.jsxs("div",{className:"flex items-center gap-3 min-w-0",children:[e.jsxs("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[e.jsx(Z,{size:20}),t("skills.title"),e.jsxs("span",{className:"text-sm font-normal text-dark-muted",children:["(",d.length,")"]})]}),e.jsx("input",{value:k,onChange:s=>D(s.target.value),placeholder:"Search skills",className:"w-56 px-3 py-2 bg-dark-surface border border-dark-border rounded-lg text-sm outline-none focus:border-accent-blue"})]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:Y,className:"flex items-center gap-2 px-3 py-2 bg-accent-blue text-white rounded-lg",children:[e.jsx(ee,{size:14}),t("skills.new")]}),e.jsxs("button",{onClick:()=>C(!0),className:"flex items-center gap-2 px-3 py-2 bg-dark-surface border border-dark-border rounded-lg",children:[e.jsx(se,{size:14}),t("skills.import")]}),e.jsxs("button",{onClick:g,className:"flex items-center gap-2 px-3 py-2 bg-dark-surface border border-dark-border rounded-lg",children:[e.jsx(A,{size:14}),t("skills.refresh")]})]})]}),e.jsxs("div",{className:"grid grid-cols-[320px_minmax(0,1fr)] gap-4 flex-1 min-h-0",children:[e.jsxs("div",{className:"border border-dark-border rounded-lg overflow-hidden bg-dark-surface flex flex-col min-h-0",children:[e.jsxs("div",{className:"px-3 py-2 border-b border-dark-border text-sm text-dark-muted flex items-center justify-between",children:[e.jsx("span",{children:t("skills.list")}),e.jsx("span",{children:z.length})]}),e.jsxs("div",{className:"overflow-y-auto custom-scrollbar",children:[z.map(s=>e.jsx("button",{onClick:()=>N(s.id),className:`w-full text-left px-3 py-3 border-b border-dark-border/60 hover:bg-dark-hover ${v===s.id?"bg-dark-hover":""}`,children:e.jsxs("div",{className:"flex items-start justify-between gap-2",children:[e.jsx("div",{className:"min-w-0",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-lg",children:s.icon||"⭐"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-medium truncate",children:s.name}),e.jsx("div",{className:"text-xs text-dark-muted truncate",children:s.id})]})]})}),e.jsxs("button",{onClick:r=>{r.stopPropagation(),R(s)},className:`flex items-center gap-1 px-2 py-1 rounded text-xs font-medium transition-colors ${s.enabled?"bg-accent-green/20 text-accent-green hover:bg-accent-green/30":"bg-accent-red/20 text-accent-red hover:bg-accent-red/30"}`,title:s.enabled?t("skills.disable"):t("skills.enable"),children:[s.enabled?e.jsx($,{size:16}):e.jsx(O,{size:16}),s.enabled?t("skills.enabled"):t("skills.disabled")]})]})},s.id)),z.length===0&&e.jsx("div",{className:"p-4 text-sm text-dark-muted",children:t("skills.noSkills")})]})]}),e.jsx("div",{className:"border border-dark-border rounded-lg bg-dark-surface min-h-0 overflow-hidden flex flex-col",children:i?e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"px-4 py-3 border-b border-dark-border flex items-start justify-between gap-3",children:[e.jsxs("div",{className:"min-w-0",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-2xl",children:i.icon||"⭐"}),e.jsxs("div",{className:"min-w-0",children:[e.jsx("div",{className:"font-semibold truncate",children:i.name}),e.jsxs("div",{className:"text-xs text-dark-muted",children:[i.id," · ",i.category]})]})]}),e.jsx("p",{className:"mt-2 text-sm text-dark-muted whitespace-pre-wrap",children:i.description})]}),e.jsxs("div",{className:"flex gap-2",children:[e.jsxs("button",{onClick:()=>R(i),className:`flex items-center gap-1 px-3 py-2 rounded-lg text-sm font-medium transition-colors ${i.enabled?"bg-accent-green/20 text-accent-green hover:bg-accent-green/30":"bg-accent-red/20 text-accent-red hover:bg-accent-red/30"}`,children:[i.enabled?e.jsx($,{size:14}):e.jsx(O,{size:14}),i.enabled?t("skills.enabled"):t("skills.disabled")]}),e.jsxs("button",{onClick:()=>G(i),className:"px-3 py-2 bg-accent-blue text-white rounded-lg text-sm flex items-center gap-2",children:[e.jsx(_,{size:14}),t("skills.edit")]})]})]}),e.jsxs("div",{className:"p-4 overflow-y-auto custom-scrollbar text-sm space-y-3",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-dark-muted mb-1",children:t("skills.tags")}),e.jsx("div",{className:"flex flex-wrap gap-2",children:(i.tags||[]).length>0?i.tags.map(s=>e.jsx("span",{className:"px-2 py-1 rounded bg-dark-bg border border-dark-border",children:s},s)):e.jsx("span",{className:"text-dark-muted",children:t("skills.none")})})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-dark-muted mb-1",children:t("skills.source")}),e.jsx("div",{className:"break-all",children:i.source||t("skills.localSkill")})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-dark-muted mb-1",children:t("skills.systemPrompt")}),e.jsx("pre",{className:"whitespace-pre-wrap text-xs p-3 rounded border border-dark-border bg-dark-bg overflow-auto custom-scrollbar",children:i.systemPrompt||t("skills.none")})]})]})]}):e.jsx("div",{className:"flex-1 flex items-center justify-center text-dark-muted",children:t("skills.selectSkill")})})]}),e.jsx(U,{isOpen:H,onClose:()=>x(!1),title:t(y?"skills.edit":"skills.new"),size:"xl",children:e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(m,{label:t("skills.fieldId"),value:a.id,onChange:s=>c(r=>({...r,id:s}))}),e.jsx(m,{label:t("skills.fieldName"),value:a.name,onChange:s=>c(r=>({...r,name:s}))}),e.jsx(m,{label:t("skills.fieldCategory"),value:a.category,onChange:s=>c(r=>({...r,category:s}))}),e.jsx(m,{label:t("skills.fieldTrigger"),value:a.trigger,onChange:s=>c(r=>({...r,trigger:s}))}),e.jsx(m,{label:t("skills.tags"),value:a.tags,onChange:s=>c(r=>({...r,tags:s}))}),e.jsx(m,{label:t("skills.fieldTools"),value:a.requiredTools,onChange:s=>c(r=>({...r,requiredTools:s}))}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("label",{className:"block text-sm mb-1 text-dark-muted",children:t("skills.description")}),e.jsx("textarea",{value:a.description,onChange:s=>c(r=>({...r,description:s.target.value})),className:"w-full h-20 px-3 py-2 rounded-lg bg-dark-bg border border-dark-border outline-none resize-none"})]}),e.jsxs("div",{className:"col-span-2",children:[e.jsx("label",{className:"block text-sm mb-1 text-dark-muted",children:t("skills.systemPrompt")}),e.jsx("textarea",{value:a.systemPrompt,onChange:s=>c(r=>({...r,systemPrompt:s.target.value})),className:"w-full h-40 px-3 py-2 rounded-lg bg-dark-bg border border-dark-border outline-none resize-none font-mono text-sm"})]}),F&&e.jsx("div",{className:"col-span-2 text-sm text-accent-red",children:F}),e.jsxs("div",{className:"col-span-2 flex justify-end gap-2",children:[e.jsx("button",{onClick:()=>x(!1),className:"px-4 py-2 border border-dark-border rounded-lg",children:t("skills.cancel")}),e.jsxs("button",{disabled:I,onClick:J,className:"px-4 py-2 bg-accent-blue text-white rounded-lg flex items-center gap-2",children:[e.jsx(_,{size:14}),t(I?"skills.saving":"skills.save")]})]})]})}),e.jsx(U,{isOpen:Q,onClose:()=>C(!1),title:t("skills.importTitle"),size:"md",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("input",{ref:h,type:"file",accept:".md,.skill.md,.txt",className:"hidden",onChange:s=>{var n;const r=(n=s.target.files)==null?void 0:n[0];r&&K(r)}}),e.jsxs("button",{onClick:()=>{var s;return(s=h.current)==null?void 0:s.click()},disabled:V,className:"w-full py-6 border border-dashed border-dark-border rounded-lg flex items-center justify-center gap-2",children:[e.jsx(te,{size:16}),t("skills.chooseFile")]}),M&&e.jsx("div",{className:"text-sm text-accent-red",children:M}),e.jsx("div",{className:"text-xs text-dark-muted",children:t("skills.importHint")})]})})]})}function B(t){return t.split(",").map(d=>d.trim()).filter(Boolean)}function m({label:t,value:d,onChange:b}){return e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm mb-1 text-dark-muted",children:t}),e.jsx("input",{value:d,onChange:f=>b(f.target.value),className:"w-full px-3 py-2 rounded-lg bg-dark-bg border border-dark-border outline-none focus:border-accent-blue"})]})}export{oe as SkillsView};
@@ -1 +0,0 @@
1
- import"./markdown-BAhUvdx-.js";import{r}from"./icons-B_rAQLge.js";r.createContext(null);
@@ -1 +0,0 @@
1
- import{j as s}from"./markdown-BAhUvdx-.js";import{r as a,m as y,l as $,v as k,p as A,a as R,i as F,Z as v,_ as M,$ as D}from"./icons-B_rAQLge.js";import{u as O,a as w,b as P}from"./index-BtIzCXfW.js";import"./react-vendor-meeTdQCf.js";import"./state-Cke1lss7.js";function _(){const m=O(e=>e.mode),u=m==="normal"?"act":P(m),[l,p]=a.useState([]),[d,b]=a.useState([]),[C,g]=a.useState(!0),[h,i]=a.useState(null),[r,z]=a.useState(""),[c,f]=a.useState(null),[n,j]=a.useState(null),o=async()=>{g(!0),i(null);const e=await w.tools.list();e.success&&Array.isArray(e.data)?(p(e.data),b(e.data)):e.success&&e.data&&!Array.isArray(e.data)?i("服务端返回的工具数据格式异常"):i(e.error||"加载工具失败"),g(!1)};a.useEffect(()=>{o()},[]),a.useEffect(()=>{let e=l;r&&(e=e.filter(t=>t.name.toLowerCase().includes(r.toLowerCase())||t.description.toLowerCase().includes(r.toLowerCase()))),c&&(e=e.filter(t=>t.category===c)),b(e)},[r,c,l]);const S=async(e,t)=>{(await w.tools.toggle(e,!t)).success&&p(L=>L.map(x=>x.id===e?{...x,enabled:!t}:x))},T=[...new Set(l.map(e=>e.category))],E=e=>({file:"bg-accent-blue/20 text-accent-blue",search:"bg-accent-green/20 text-accent-green",git:"bg-accent-yellow/20 text-accent-yellow",web:"bg-accent-purple/20 text-accent-purple",system:"bg-accent-red/20 text-accent-red"})[e]||"bg-dark-hover text-dark-muted";return C?s.jsx("div",{className:"flex-1 flex items-center justify-center",children:s.jsxs("div",{className:"text-center",children:[s.jsx(y,{size:32,className:"animate-spin mx-auto mb-2 text-accent-blue"}),s.jsx("p",{className:"text-dark-muted",children:"加载中..."})]})}):h?s.jsx("div",{className:"flex-1 flex items-center justify-center",children:s.jsxs("div",{className:"text-center",children:[s.jsx($,{size:32,className:"mx-auto mb-2 text-accent-red"}),s.jsx("p",{className:"text-accent-red mb-4",children:h}),s.jsx("button",{onClick:o,className:"px-4 py-2 bg-accent-blue text-white rounded-lg",children:"重试"})]})}):s.jsxs("div",{className:"flex-1 flex flex-col overflow-hidden p-4",children:[s.jsxs("div",{className:"flex items-center justify-between mb-4",children:[s.jsxs("h2",{className:"text-lg font-semibold flex items-center gap-2",children:[s.jsx(k,{size:20}),"工具列表",s.jsxs("span",{className:"text-sm font-normal text-dark-muted",children:["(",d.length,")"]})]}),s.jsxs("button",{onClick:o,className:"flex items-center gap-2 px-3 py-1.5 bg-dark-surface border border-dark-border rounded hover:bg-dark-hover transition-colors",children:[s.jsx(y,{size:14}),"刷新"]})]}),s.jsxs("div",{className:"flex gap-3 mb-4",children:[s.jsxs("div",{className:"flex-1 relative",children:[s.jsx(A,{size:16,className:"absolute left-3 top-1/2 -translate-y-1/2 text-dark-muted"}),s.jsx("input",{type:"text",value:r,onChange:e=>z(e.target.value),placeholder:"搜索工具...",className:"w-full pl-10 pr-4 py-2 bg-dark-surface border border-dark-border rounded-lg text-dark-text placeholder-dark-muted focus:border-accent-blue focus:outline-none"})]}),s.jsxs("div",{className:"flex gap-1",children:[s.jsx("button",{onClick:()=>f(null),className:`px-3 py-2 rounded-lg text-sm transition-colors ${c?"bg-dark-surface border border-dark-border hover:bg-dark-hover":"bg-accent-blue text-white"}`,children:"全部"}),T.slice(0,4).map(e=>s.jsx("button",{onClick:()=>f(e),className:`px-3 py-2 rounded-lg text-sm transition-colors ${c===e?"bg-accent-blue text-white":"bg-dark-surface border border-dark-border hover:bg-dark-hover"}`,children:e},e))]})]}),s.jsx("div",{className:"flex-1 min-h-0 overflow-y-auto custom-scrollbar",children:s.jsxs("div",{className:"space-y-2",children:[d.map(e=>s.jsxs("div",{className:`bg-dark-surface border rounded-lg transition-colors ${e.enabled?"border-dark-border":"border-dark-border opacity-60"}`,children:[s.jsxs("div",{className:"flex items-center justify-between p-4 cursor-pointer",onClick:()=>j(n===e.id?null:e.id),children:[s.jsxs("div",{className:"flex items-center gap-3 flex-1",children:[s.jsx("button",{onClick:t=>{t.stopPropagation(),j(n===e.id?null:e.id)},className:"text-dark-muted",children:n===e.id?s.jsx(R,{size:16}):s.jsx(F,{size:16})}),s.jsx("span",{className:`px-2 py-0.5 rounded text-xs ${E(e.category)}`,children:e.category}),s.jsx("span",{className:"font-medium",children:e.name}),u==="plan"&&(e.category==="File Operation"||e.category==="Execution")&&s.jsx(v,{size:14,className:"text-accent-red ml-1.5"}),u==="plan"&&(e.category==="File Operation"||e.category==="Execution")&&s.jsx(v,{size:14,className:"text-accent-red ml-1.5"})]}),s.jsx("div",{className:"flex items-center gap-3",children:s.jsx("button",{onClick:t=>{t.stopPropagation(),S(e.id,e.enabled)},className:`p-1.5 rounded transition-colors ${e.enabled?"text-accent-green hover:bg-accent-green/10":"text-dark-muted hover:bg-dark-hover"}`,title:e.enabled?"禁用":"启用",children:e.enabled?s.jsx(M,{size:24}):s.jsx(D,{size:24})})})]}),n===e.id&&s.jsxs("div",{className:"px-4 pb-4 border-t border-dark-border",children:[s.jsx("p",{className:"text-sm text-dark-muted mt-3 mb-3",children:e.description}),e.params&&e.params.length>0&&s.jsxs("div",{children:[s.jsx("div",{className:"text-xs text-dark-muted mb-2",children:"参数"}),s.jsx("div",{className:"space-y-1",children:e.params.map((t,N)=>s.jsxs("div",{className:"flex items-center gap-2 text-sm",children:[s.jsxs("code",{className:"px-1.5 py-0.5 bg-dark-bg rounded text-accent-blue",children:[t.name,t.required&&s.jsx("span",{className:"text-accent-red",children:"*"})]}),s.jsxs("span",{className:"text-dark-muted text-xs",children:["(",t.type,")"]}),s.jsx("span",{className:"text-dark-muted text-xs",children:t.description})]},N))})]})]})]},e.id)),d.length===0&&s.jsxs("div",{className:"text-center text-dark-muted py-8",children:[s.jsx(k,{size:48,className:"mx-auto mb-2 opacity-50"}),s.jsx("p",{children:"暂无工具"})]})]})})]})}export{_ as ToolsView,_ as default};
@@ -1 +0,0 @@
1
- *,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-6{bottom:1.5rem}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:.125rem}.left-1{left:.25rem}.left-2{left:.5rem}.left-3{left:.75rem}.left-7{left:1.75rem}.left-\[18px\]{left:18px}.left-\[2px\]{left:2px}.right-0{right:0}.right-1{right:.25rem}.right-1\.5{right:.375rem}.right-2{right:.5rem}.right-4{right:1rem}.right-6{right:1.5rem}.top-0{top:0}.top-0\.5{top:.125rem}.top-1{top:.25rem}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-4{margin-left:1rem;margin-right:1rem}.mx-6{margin-left:1.5rem;margin-right:1.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.-ml-2{margin-left:-.5rem}.-ml-3{margin-left:-.75rem}.-ml-4{margin-left:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0\.5{margin-left:.125rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-5{margin-left:1.25rem}.ml-6{margin-left:1.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-0{height:0px}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-60{height:15rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-80{height:20rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[260px\]{height:260px}.h-\[520px\]{height:520px}.h-full{height:100%}.h-screen{height:100vh}.max-h-24{max-height:6rem}.max-h-36{max-height:9rem}.max-h-48{max-height:12rem}.max-h-60{max-height:15rem}.max-h-64{max-height:16rem}.max-h-72{max-height:18rem}.max-h-96{max-height:24rem}.max-h-\[200px\]{max-height:200px}.max-h-\[260px\]{max-height:260px}.max-h-\[280px\]{max-height:280px}.max-h-\[300px\]{max-height:300px}.max-h-\[400px\]{max-height:400px}.max-h-\[40vh\]{max-height:40vh}.max-h-\[480px\]{max-height:480px}.max-h-\[50vh\]{max-height:50vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[calc\(100vh-2rem\)\]{max-height:calc(100vh - 2rem)}.min-h-0{min-height:0px}.min-h-\[180px\]{min-height:180px}.min-h-\[200px\]{min-height:200px}.min-h-\[240px\]{min-height:240px}.min-h-\[300px\]{min-height:300px}.min-h-\[400px\]{min-height:400px}.min-h-\[44px\]{min-height:44px}.min-h-\[520px\]{min-height:520px}.min-h-\[55vh\]{min-height:55vh}.w-0{width:0px}.w-1{width:.25rem}.w-1\.5{width:.375rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[260px\]{width:260px}.w-\[440px\]{width:440px}.w-\[560px\]{width:560px}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-\[18px\]{min-width:18px}.min-w-\[20px\]{min-width:20px}.min-w-\[220px\]{min-width:220px}.min-w-\[240px\]{min-width:240px}.max-w-3xl{max-width:48rem}.max-w-\[10rem\]{max-width:10rem}.max-w-\[120px\]{max-width:120px}.max-w-\[14rem\]{max-width:14rem}.max-w-\[180px\]{max-width:180px}.max-w-\[200px\]{max-width:200px}.max-w-\[220px\]{max-width:220px}.max-w-\[240px\]{max-width:240px}.max-w-\[320px\]{max-width:320px}.max-w-\[60\%\]{max-width:60%}.max-w-\[90\%\]{max-width:90%}.max-w-\[92\%\]{max-width:92%}.max-w-\[calc\(100vw-2rem\)\]{max-width:calc(100vw - 2rem)}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate: -90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes blink{0%,to{opacity:1}50%{opacity:.2}}.animate-blink{animation:blink 1.2s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in-up{animation:fadeInUp .4s ease-out}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}.cursor-col-resize{cursor:col-resize}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-wait{cursor:wait}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize{resize:both}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[320px_minmax\(0\,1fr\)\]{grid-template-columns:320px minmax(0,1fr)}.grid-rows-\[0fr\]{grid-template-rows:0fr}.grid-rows-\[1fr\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-\[2px\]{gap:2px}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-dark-border>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-divide-opacity, 1))}.divide-dark-border\/20>:not([hidden])~:not([hidden]){border-color:rgb(var(--color-border) / .2)}.divide-dark-border\/70>:not([hidden])~:not([hidden]){border-color:rgb(var(--color-border) / .7)}.self-start{align-self:flex-start}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-hidden{overflow-y:hidden}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:var(--radius-md)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-r{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md)}.rounded-t{border-top-left-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.rounded-br-md{border-bottom-right-radius:var(--radius-md)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-l-4{border-left-width:4px}.border-r{border-right-width:1px}.border-r-0{border-right-width:0px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[\#3c3c3c\]{--tw-border-opacity: 1;border-color:rgb(60 60 60 / var(--tw-border-opacity, 1))}.border-accent-blue{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.border-accent-blue\/30{border-color:rgb(var(--color-accent-blue) / .3)}.border-accent-blue\/40{border-color:rgb(var(--color-accent-blue) / .4)}.border-accent-blue\/60{border-color:rgb(var(--color-accent-blue) / .6)}.border-accent-cyan\/30{border-color:#39c5cf4d}.border-accent-green{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-green) / var(--tw-border-opacity, 1))}.border-accent-green\/30{border-color:rgb(var(--color-accent-green) / .3)}.border-accent-green\/40{border-color:rgb(var(--color-accent-green) / .4)}.border-accent-green\/50{border-color:rgb(var(--color-accent-green) / .5)}.border-accent-purple\/30{border-color:rgb(var(--color-accent-purple) / .3)}.border-accent-red{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-red) / var(--tw-border-opacity, 1))}.border-accent-red\/30{border-color:rgb(var(--color-accent-red) / .3)}.border-accent-red\/40{border-color:rgb(var(--color-accent-red) / .4)}.border-accent-red\/60{border-color:rgb(var(--color-accent-red) / .6)}.border-accent-yellow\/30{border-color:rgb(var(--color-accent-yellow) / .3)}.border-accent-yellow\/40{border-color:rgb(var(--color-accent-yellow) / .4)}.border-accent-yellow\/50{border-color:rgb(var(--color-accent-yellow) / .5)}.border-accent-yellow\/60{border-color:rgb(var(--color-accent-yellow) / .6)}.border-blue-300{--tw-border-opacity: 1;border-color:rgb(147 197 253 / var(--tw-border-opacity, 1))}.border-blue-400\/30{border-color:#60a5fa4d}.border-blue-500\/25{border-color:#3b82f640}.border-blue-500\/30{border-color:#3b82f64d}.border-blue-600{--tw-border-opacity: 1;border-color:rgb(37 99 235 / var(--tw-border-opacity, 1))}.border-cyan-500\/30{border-color:#06b6d44d}.border-dark-border{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}.border-dark-border\/30{border-color:rgb(var(--color-border) / .3)}.border-dark-border\/40{border-color:rgb(var(--color-border) / .4)}.border-dark-border\/50{border-color:rgb(var(--color-border) / .5)}.border-dark-border\/60{border-color:rgb(var(--color-border) / .6)}.border-dark-border\/70{border-color:rgb(var(--color-border) / .7)}.border-emerald-500\/30{border-color:#10b9814d}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity, 1))}.border-gray-600{--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.border-green-400\/30{border-color:#4ade804d}.border-green-500\/30{border-color:#22c55e4d}.border-green-600\/40{border-color:#16a34a66}.border-indigo-500\/30{border-color:#6366f14d}.border-lime-500\/30{border-color:#84cc164d}.border-orange-500\/30{border-color:#f973164d}.border-purple-500\/30{border-color:#a855f74d}.border-red-500\/30{border-color:#ef44444d}.border-red-500\/40{border-color:#ef444466}.border-transparent{border-color:transparent}.border-yellow-500\/25{border-color:#eab30840}.border-l-accent-blue{--tw-border-opacity: 1;border-left-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.border-l-transparent{border-left-color:transparent}.border-r-transparent{border-right-color:transparent}.border-t-accent-blue{--tw-border-opacity: 1;border-top-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.border-t-transparent{border-top-color:transparent}.bg-\[\#1e1e1e\]{--tw-bg-opacity: 1;background-color:rgb(30 30 30 / var(--tw-bg-opacity, 1))}.bg-\[\#252526\]{--tw-bg-opacity: 1;background-color:rgb(37 37 38 / var(--tw-bg-opacity, 1))}.bg-accent-blue{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.bg-accent-blue\/10{background-color:rgb(var(--color-accent-blue) / .1)}.bg-accent-blue\/15{background-color:rgb(var(--color-accent-blue) / .15)}.bg-accent-blue\/20{background-color:rgb(var(--color-accent-blue) / .2)}.bg-accent-blue\/5{background-color:rgb(var(--color-accent-blue) / .05)}.bg-accent-cyan\/10{background-color:#39c5cf1a}.bg-accent-cyan\/15{background-color:#39c5cf26}.bg-accent-green{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-green) / var(--tw-bg-opacity, 1))}.bg-accent-green\/10{background-color:rgb(var(--color-accent-green) / .1)}.bg-accent-green\/15{background-color:rgb(var(--color-accent-green) / .15)}.bg-accent-green\/20{background-color:rgb(var(--color-accent-green) / .2)}.bg-accent-green\/5{background-color:rgb(var(--color-accent-green) / .05)}.bg-accent-orange\/15{background-color:#d7775326}.bg-accent-purple{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-purple) / var(--tw-bg-opacity, 1))}.bg-accent-purple\/10{background-color:rgb(var(--color-accent-purple) / .1)}.bg-accent-purple\/15{background-color:rgb(var(--color-accent-purple) / .15)}.bg-accent-purple\/20{background-color:rgb(var(--color-accent-purple) / .2)}.bg-accent-red{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-red) / var(--tw-bg-opacity, 1))}.bg-accent-red\/10{background-color:rgb(var(--color-accent-red) / .1)}.bg-accent-red\/15{background-color:rgb(var(--color-accent-red) / .15)}.bg-accent-red\/20{background-color:rgb(var(--color-accent-red) / .2)}.bg-accent-red\/5{background-color:rgb(var(--color-accent-red) / .05)}.bg-accent-yellow{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-yellow) / var(--tw-bg-opacity, 1))}.bg-accent-yellow\/10{background-color:rgb(var(--color-accent-yellow) / .1)}.bg-accent-yellow\/15{background-color:rgb(var(--color-accent-yellow) / .15)}.bg-accent-yellow\/20{background-color:rgb(var(--color-accent-yellow) / .2)}.bg-accent-yellow\/5{background-color:rgb(var(--color-accent-yellow) / .05)}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-amber-500\/10{background-color:#f59e0b1a}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-blue-400\/15{background-color:#60a5fa26}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.bg-blue-500\/10{background-color:#3b82f61a}.bg-blue-500\/15{background-color:#3b82f626}.bg-blue-500\/20{background-color:#3b82f633}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-900\/10{background-color:#1e3a8a1a}.bg-blue-900\/30{background-color:#1e3a8a4d}.bg-cyan-500\/15{background-color:#06b6d426}.bg-cyan-500\/20{background-color:#06b6d433}.bg-dark-bg{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1))}.bg-dark-bg\/50{background-color:rgb(var(--color-bg) / .5)}.bg-dark-bg\/60{background-color:rgb(var(--color-bg) / .6)}.bg-dark-bg\/70{background-color:rgb(var(--color-bg) / .7)}.bg-dark-border{--tw-bg-opacity: 1;background-color:rgb(var(--color-border) / var(--tw-bg-opacity, 1))}.bg-dark-border\/50{background-color:rgb(var(--color-border) / .5)}.bg-dark-border\/70{background-color:rgb(var(--color-border) / .7)}.bg-dark-hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1))}.bg-dark-hover\/40{background-color:rgb(var(--color-hover) / .4)}.bg-dark-muted\/40{background-color:rgb(var(--color-muted) / .4)}.bg-dark-surface{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.bg-dark-surface\/50{background-color:rgb(var(--color-surface) / .5)}.bg-dark-surface\/80{background-color:rgb(var(--color-surface) / .8)}.bg-dark-surface\/95{background-color:rgb(var(--color-surface) / .95)}.bg-dark-text{--tw-bg-opacity: 1;background-color:rgb(var(--color-text) / var(--tw-bg-opacity, 1))}.bg-dark-text\/70{background-color:rgb(var(--color-text) / .7)}.bg-emerald-500\/15{background-color:#10b98126}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-400{--tw-bg-opacity: 1;background-color:rgb(156 163 175 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-gray-500{--tw-bg-opacity: 1;background-color:rgb(107 114 128 / var(--tw-bg-opacity, 1))}.bg-gray-500\/10{background-color:#6b72801a}.bg-gray-500\/20{background-color:#6b728033}.bg-gray-500\/5{background-color:#6b72800d}.bg-gray-600{--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}.bg-gray-700{--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.bg-green-400\/15{background-color:#4ade8026}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-500\/10{background-color:#22c55e1a}.bg-green-500\/15{background-color:#22c55e26}.bg-green-500\/20{background-color:#22c55e33}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-green-600\/15{background-color:#16a34a26}.bg-green-600\/90{background-color:#16a34ae6}.bg-green-900\/20{background-color:#14532d33}.bg-indigo-500{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.bg-indigo-500\/15{background-color:#6366f126}.bg-indigo-500\/20{background-color:#6366f133}.bg-lime-500\/15{background-color:#84cc1626}.bg-orange-500{--tw-bg-opacity: 1;background-color:rgb(249 115 22 / var(--tw-bg-opacity, 1))}.bg-orange-500\/15{background-color:#f9731626}.bg-orange-500\/20{background-color:#f9731633}.bg-orange-900\/15{background-color:#7c2d1226}.bg-orange-900\/30{background-color:#7c2d124d}.bg-pink-500{--tw-bg-opacity: 1;background-color:rgb(236 72 153 / var(--tw-bg-opacity, 1))}.bg-pink-500\/20{background-color:#ec489933}.bg-purple-500{--tw-bg-opacity: 1;background-color:rgb(168 85 247 / var(--tw-bg-opacity, 1))}.bg-purple-500\/10{background-color:#a855f71a}.bg-purple-500\/15{background-color:#a855f726}.bg-purple-500\/20{background-color:#a855f733}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(239 68 68 / var(--tw-bg-opacity, 1))}.bg-red-500\/10{background-color:#ef44441a}.bg-red-500\/20{background-color:#ef444433}.bg-red-900\/20{background-color:#7f1d1d33}.bg-red-900\/30{background-color:#7f1d1d4d}.bg-teal-500\/20{background-color:#14b8a633}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-yellow-500{--tw-bg-opacity: 1;background-color:rgb(234 179 8 / var(--tw-bg-opacity, 1))}.bg-yellow-500\/10{background-color:#eab3081a}.bg-yellow-500\/15{background-color:#eab30826}.bg-yellow-500\/20{background-color:#eab30833}.bg-yellow-900\/10{background-color:#713f121a}.bg-yellow-900\/30{background-color:#713f124d}.fill-gray-500{fill:#6b7280}.fill-green-500{fill:#22c55e}.object-contain{-o-object-fit:contain;object-fit:contain}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.\!px-0{padding-left:0!important;padding-right:0!important}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-\[7px\]{padding-top:7px;padding-bottom:7px}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-2\.5{padding-bottom:.625rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-1{padding-left:.25rem}.pl-10{padding-left:2.5rem}.pl-3{padding-left:.75rem}.pl-6{padding-left:1.5rem}.pl-7{padding-left:1.75rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-0\.5{padding-top:.125rem}.pt-1{padding-top:.25rem}.pt-1\.5{padding-top:.375rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-3\.5{padding-top:.875rem}.pt-4{padding-top:1rem}.pt-\[12vh\]{padding-top:12vh}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:SF Mono,Monaco,Menlo,Consolas,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-accent-blue{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.text-accent-blue\/90{color:rgb(var(--color-accent-blue) / .9)}.text-accent-cyan{--tw-text-opacity: 1;color:rgb(57 197 207 / var(--tw-text-opacity, 1))}.text-accent-green{--tw-text-opacity: 1;color:rgb(var(--color-accent-green) / var(--tw-text-opacity, 1))}.text-accent-orange{--tw-text-opacity: 1;color:rgb(215 119 83 / var(--tw-text-opacity, 1))}.text-accent-purple{--tw-text-opacity: 1;color:rgb(var(--color-accent-purple) / var(--tw-text-opacity, 1))}.text-accent-red{--tw-text-opacity: 1;color:rgb(var(--color-accent-red) / var(--tw-text-opacity, 1))}.text-accent-red\/70{color:rgb(var(--color-accent-red) / .7)}.text-accent-yellow{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.text-blue-300{--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-700{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.text-cyan-300{--tw-text-opacity: 1;color:rgb(103 232 249 / var(--tw-text-opacity, 1))}.text-cyan-400{--tw-text-opacity: 1;color:rgb(34 211 238 / var(--tw-text-opacity, 1))}.text-dark-bg{--tw-text-opacity: 1;color:rgb(var(--color-bg) / var(--tw-text-opacity, 1))}.text-dark-border{--tw-text-opacity: 1;color:rgb(var(--color-border) / var(--tw-text-opacity, 1))}.text-dark-muted{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.text-dark-muted\/40{color:rgb(var(--color-muted) / .4)}.text-dark-muted\/50{color:rgb(var(--color-muted) / .5)}.text-dark-muted\/60{color:rgb(var(--color-muted) / .6)}.text-dark-muted\/70{color:rgb(var(--color-muted) / .7)}.text-dark-muted\/80{color:rgb(var(--color-muted) / .8)}.text-dark-text{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.text-dark-text\/70{color:rgb(var(--color-text) / .7)}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-300{--tw-text-opacity: 1;color:rgb(134 239 172 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-indigo-300{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-lime-400{--tw-text-opacity: 1;color:rgb(163 230 53 / var(--tw-text-opacity, 1))}.text-orange-300{--tw-text-opacity: 1;color:rgb(253 186 116 / var(--tw-text-opacity, 1))}.text-orange-400{--tw-text-opacity: 1;color:rgb(251 146 60 / var(--tw-text-opacity, 1))}.text-pink-300{--tw-text-opacity: 1;color:rgb(249 168 212 / var(--tw-text-opacity, 1))}.text-purple-300{--tw-text-opacity: 1;color:rgb(216 180 254 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-teal-300{--tw-text-opacity: 1;color:rgb(94 234 212 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-yellow-300{--tw-text-opacity: 1;color:rgb(253 224 71 / var(--tw-text-opacity, 1))}.text-yellow-400{--tw-text-opacity: 1;color:rgb(250 204 21 / var(--tw-text-opacity, 1))}.text-yellow-500{--tw-text-opacity: 1;color:rgb(234 179 8 / var(--tw-text-opacity, 1))}.text-yellow-600\/70{color:#ca8a04b3}.placeholder-dark-muted::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted) / var(--tw-placeholder-opacity, 1))}.placeholder-dark-muted::placeholder{--tw-placeholder-opacity: 1;color:rgb(var(--color-muted) / var(--tw-placeholder-opacity, 1))}.placeholder-dark-muted\/60::-moz-placeholder{color:rgb(var(--color-muted) / .6)}.placeholder-dark-muted\/60::placeholder{color:rgb(var(--color-muted) / .6)}.caret-dark-text{caret-color:rgb(var(--color-text) / 1)}.accent-accent-blue{accent-color:rgb(var(--color-accent-blue) / 1)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-accent-blue{--tw-ring-opacity: 1;--tw-ring-color: rgb(var(--color-accent-blue) / var(--tw-ring-opacity, 1))}.ring-accent-blue\/30{--tw-ring-color: rgb(var(--color-accent-blue) / .3)}.ring-accent-blue\/60{--tw-ring-color: rgb(var(--color-accent-blue) / .6)}.\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-\[2px\]{--tw-backdrop-blur: blur(2px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[grid-template-rows\]{transition-property:grid-template-rows;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[width\]{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}:root{--color-bg: 255 255 255;--color-surface: 246 246 247;--color-border: 228 228 232;--color-hover: 240 240 243;--color-text: 24 24 27;--color-muted: 113 113 122;--color-accent-blue: 94 106 210;--color-accent-green: 22 163 74;--color-accent-red: 220 38 38;--color-accent-yellow: 180 83 9;--color-accent-purple: 124 58 237;--radius-xs: .125rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1)}.light{--color-bg: 255 255 255;--color-surface: 246 246 247;--color-border: 228 228 232;--color-hover: 240 240 243;--color-text: 24 24 27;--color-muted: 113 113 122;--color-accent-blue: 94 106 210;--color-accent-green: 22 163 74;--color-accent-red: 220 38 38;--color-accent-yellow: 180 83 9;--color-accent-purple: 124 58 237}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%;width:100%;overflow:hidden;overscroll-behavior:none}body{font-family:Inter,ui-sans-serif,system-ui,PingFang SC,-apple-system,BlinkMacSystemFont,Segoe UI,Microsoft YaHei,sans-serif;background-color:rgb(var(--color-bg));color:rgb(var(--color-text));line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv02","cv03","cv04","cv11"}button,input,textarea,select{font:inherit}*{scrollbar-width:thin;scrollbar-color:rgb(var(--color-border)) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:rgb(var(--color-border));border:3px solid transparent;border-radius:999px;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--color-muted))}::-webkit-scrollbar-corner{background:transparent}.custom-scrollbar{scrollbar-width:thin;scrollbar-color:rgb(var(--color-border)) transparent}.custom-scrollbar::-webkit-scrollbar{width:10px;height:10px}.custom-scrollbar::-webkit-scrollbar-track{background:transparent}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:rgb(var(--color-border));border:3px solid transparent;border-radius:999px;background-clip:padding-box}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:rgb(var(--color-muted))}.scrollbar-none{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-none::-webkit-scrollbar{display:none}::-moz-selection{background-color:rgb(var(--color-accent-blue) / .18)}::selection{background-color:rgb(var(--color-accent-blue) / .18)}:focus-visible{outline:2px solid rgb(var(--color-accent-blue) / .7);outline-offset:1px}.btn{display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;justify-content:center;gap:.5rem;border-radius:var(--radius-lg);padding:.5rem .875rem;font-size:.875rem;line-height:1.25rem;font-weight:500;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.btn:active{--tw-scale-x: .98;--tw-scale-y: .98;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.btn:disabled{cursor:not-allowed;opacity:.4}.btn-primary{--tw-bg-opacity: 1;background-color:rgb(var(--color-text) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-bg) / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-primary:hover{opacity:.85}.btn-accent{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-accent:hover{opacity:.9}.btn-secondary{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-secondary:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1))}.btn-ghost{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.btn-ghost:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.btn-danger{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-red) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.btn-danger:hover{opacity:.9}.input{width:100%;border-radius:var(--radius-lg);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));padding:.625rem .875rem;font-size:.875rem;line-height:1.25rem;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.input::-moz-placeholder{color:rgb(var(--color-muted) / .7)}.input::placeholder{color:rgb(var(--color-muted) / .7)}.input{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.input:focus{border-color:rgb(var(--color-accent-blue) / .6);outline:2px solid transparent;outline-offset:2px;--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000);--tw-ring-color: rgb(var(--color-accent-blue) / .15)}.card,.panel-surface{border-radius:var(--radius-xl);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.paper-surface{background:rgb(var(--color-bg) / .85);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.app-shell{background-color:rgb(var(--color-bg))}.workbench-frame{border:1px solid rgb(var(--color-border));background:rgb(var(--color-bg) / .85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mimo-tab{display:inline-flex;align-items:center;gap:.5rem;border-radius:var(--radius-lg);border-width:1px;border-color:transparent;padding:.375rem .75rem;font-size:.875rem;line-height:1.25rem;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.mimo-tab[data-active=true]{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1));--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.mimo-tab[data-active=false]{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.mimo-tab[data-active=false]:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.side-nav-item{position:relative;display:flex;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:.625rem;border-radius:var(--radius-lg);padding-left:.625rem;padding-right:.625rem;padding-top:7px;padding-bottom:7px;font-size:13px;font-weight:500;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.1s}.side-nav-item[data-active=true]{background-color:rgb(var(--color-accent-blue) / .1);--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.side-nav-item[data-active=false]{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.side-nav-item[data-active=false]:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.side-nav-item[data-active=true]:before{content:"";position:absolute;left:-10px;top:50%;transform:translateY(-50%);width:3px;height:16px;border-radius:999px;background:rgb(var(--color-accent-blue))}.side-group-label{-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:1rem .625rem .25rem;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:rgb(var(--color-muted) / .7)}.section-title{font-size:.875rem;line-height:1.25rem;font-weight:600;letter-spacing:.025em;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.subtle-label{font-size:11px;text-transform:uppercase;letter-spacing:.18em;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.72}}@keyframes blink{0%,to{opacity:1}50%{opacity:.35}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .3s ease-out}.animate-slide-in{animation:slideIn .3s ease-out}.animate-slide-in-right{animation:slideInRight .3s ease-out}.animate-pulse-soft{animation:pulse-soft 2s ease-in-out infinite}.animate-blink{animation:blink 1s infinite}.animate-spin{animation:spin 1s linear infinite}.skeleton-shimmer{background-image:linear-gradient(90deg,rgb(var(--color-border) / .34) 25%,rgb(var(--color-muted) / .18) 37%,rgb(var(--color-border) / .34) 63%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.markdown-content{white-space:normal;word-break:break-word}.markdown-content h1{margin-top:1rem;margin-bottom:.5rem;font-size:1.5rem;line-height:2rem;font-weight:700;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.markdown-content h2{margin-top:1rem;margin-bottom:.5rem;font-size:1.25rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.markdown-content h3{margin-top:.75rem;margin-bottom:.5rem;font-size:1.125rem;line-height:1.75rem;font-weight:600;--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.markdown-content p{margin-top:.5rem;margin-bottom:.5rem}.markdown-content ul,.markdown-content ol{margin-top:.5rem;margin-bottom:.5rem;padding-left:1.5rem}.markdown-content li{margin-top:.25rem;margin-bottom:.25rem}.markdown-content code{border-radius:var(--radius-md);--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1));padding:.125rem .375rem;font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.85em}.markdown-content pre{margin-top:.75rem;margin-bottom:.75rem;overflow-x:auto;border-radius:var(--radius-xl);border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));padding:.875rem}.markdown-content pre code{background-color:transparent;padding:0}.markdown-content blockquote{margin-top:.75rem;margin-bottom:.75rem;border-left-width:3px;border-color:rgb(var(--color-accent-blue) / .4);padding-left:1rem;--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.markdown-content a{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1));text-decoration-line:underline;text-decoration-color:rgb(var(--color-accent-blue) / .3);text-underline-offset:2px}.markdown-content a:hover{text-decoration-color:rgb(var(--color-accent-blue) / .6)}.markdown-content table{margin-top:.75rem;margin-bottom:.75rem;width:100%;border-collapse:collapse;overflow:hidden;border-radius:var(--radius-lg)}.markdown-content th,.markdown-content td{border-width:1px;--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1));padding:.5rem .75rem;text-align:left}.markdown-content th{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1));font-weight:600}code[class*=language-],pre[class*=language-]{font-family:SF Mono,Monaco,Menlo,Consolas,monospace;font-size:.875rem;line-height:1.25rem}.token.comment,.token.prolog,.token.doctype,.token.cdata{--tw-text-opacity: 1;color:rgb(var(--color-muted) / var(--tw-text-opacity, 1))}.token.punctuation{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{--tw-text-opacity: 1;color:rgb(var(--color-accent-red) / var(--tw-text-opacity, 1))}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{--tw-text-opacity: 1;color:rgb(var(--color-accent-green) / var(--tw-text-opacity, 1))}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.token.atrule,.token.attr-value,.token.keyword{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.token.function,.token.class-name{color:rgb(var(--color-accent-purple))}.token.regex,.token.important,.token.variable{--tw-text-opacity: 1;color:rgb(var(--color-accent-yellow) / var(--tw-text-opacity, 1))}.last\:mb-0:last-child{margin-bottom:0}.last\:border-0:last-child{border-width:0px}.last\:border-b-0:last-child{border-bottom-width:0px}.focus-within\:border-accent-blue\/50:focus-within{border-color:rgb(var(--color-accent-blue) / .5)}.focus-within\:ring-4:focus-within{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-within\:ring-accent-blue\/10:focus-within{--tw-ring-color: rgb(var(--color-accent-blue) / .1)}.hover\:-translate-y-px:hover{--tw-translate-y: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-accent-blue:hover{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.hover\:border-accent-blue\/30:hover{border-color:rgb(var(--color-accent-blue) / .3)}.hover\:border-accent-blue\/40:hover{border-color:rgb(var(--color-accent-blue) / .4)}.hover\:border-accent-blue\/50:hover{border-color:rgb(var(--color-accent-blue) / .5)}.hover\:border-accent-green\/50:hover{border-color:rgb(var(--color-accent-green) / .5)}.hover\:border-dark-border:hover{--tw-border-opacity: 1;border-color:rgb(var(--color-border) / var(--tw-border-opacity, 1))}.hover\:border-dark-border\/50:hover{border-color:rgb(var(--color-border) / .5)}.hover\:border-dark-hover:hover{--tw-border-opacity: 1;border-color:rgb(var(--color-hover) / var(--tw-border-opacity, 1))}.hover\:border-dark-muted\/40:hover{border-color:rgb(var(--color-muted) / .4)}.hover\:bg-\[\#3c3c3c\]:hover{--tw-bg-opacity: 1;background-color:rgb(60 60 60 / var(--tw-bg-opacity, 1))}.hover\:bg-accent-blue:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}.hover\:bg-accent-blue\/10:hover{background-color:rgb(var(--color-accent-blue) / .1)}.hover\:bg-accent-blue\/20:hover{background-color:rgb(var(--color-accent-blue) / .2)}.hover\:bg-accent-blue\/80:hover{background-color:rgb(var(--color-accent-blue) / .8)}.hover\:bg-accent-blue\/90:hover{background-color:rgb(var(--color-accent-blue) / .9)}.hover\:bg-accent-green\/10:hover{background-color:rgb(var(--color-accent-green) / .1)}.hover\:bg-accent-green\/25:hover{background-color:rgb(var(--color-accent-green) / .25)}.hover\:bg-accent-green\/30:hover{background-color:rgb(var(--color-accent-green) / .3)}.hover\:bg-accent-purple\/10:hover{background-color:rgb(var(--color-accent-purple) / .1)}.hover\:bg-accent-red\/10:hover{background-color:rgb(var(--color-accent-red) / .1)}.hover\:bg-accent-red\/20:hover{background-color:rgb(var(--color-accent-red) / .2)}.hover\:bg-accent-red\/25:hover{background-color:rgb(var(--color-accent-red) / .25)}.hover\:bg-accent-red\/30:hover{background-color:rgb(var(--color-accent-red) / .3)}.hover\:bg-accent-red\/90:hover{background-color:rgb(var(--color-accent-red) / .9)}.hover\:bg-accent-yellow\/10:hover{background-color:rgb(var(--color-accent-yellow) / .1)}.hover\:bg-blue-100:hover{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500:hover{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity, 1))}.hover\:bg-blue-500\/10:hover{background-color:#3b82f61a}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\:bg-dark-bg:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-bg) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-border:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-border) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-hover:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-hover) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-hover\/30:hover{background-color:rgb(var(--color-hover) / .3)}.hover\:bg-dark-hover\/50:hover{background-color:rgb(var(--color-hover) / .5)}.hover\:bg-dark-hover\/60:hover{background-color:rgb(var(--color-hover) / .6)}.hover\:bg-dark-surface:hover{--tw-bg-opacity: 1;background-color:rgb(var(--color-surface) / var(--tw-bg-opacity, 1))}.hover\:bg-dark-surface\/40:hover{background-color:rgb(var(--color-surface) / .4)}.hover\:bg-dark-surface\/50:hover{background-color:rgb(var(--color-surface) / .5)}.hover\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500:hover{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.hover\:bg-green-500\/10:hover{background-color:#22c55e1a}.hover\:bg-green-600:hover{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.hover\:bg-green-600\/25:hover{background-color:#16a34a40}.hover\:bg-purple-600:hover{--tw-bg-opacity: 1;background-color:rgb(147 51 234 / var(--tw-bg-opacity, 1))}.hover\:bg-red-500\/10:hover{background-color:#ef44441a}.hover\:text-accent-blue:hover{--tw-text-opacity: 1;color:rgb(var(--color-accent-blue) / var(--tw-text-opacity, 1))}.hover\:text-accent-red:hover{--tw-text-opacity: 1;color:rgb(var(--color-accent-red) / var(--tw-text-opacity, 1))}.hover\:text-dark-text:hover{--tw-text-opacity: 1;color:rgb(var(--color-text) / var(--tw-text-opacity, 1))}.hover\:text-red-300:hover{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-85:hover{opacity:.85}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-md:hover{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.hover\:shadow-sm:hover{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:border-accent-blue:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-blue) / var(--tw-border-opacity, 1))}.focus\:border-accent-blue\/50:focus{border-color:rgb(var(--color-accent-blue) / .5)}.focus\:border-accent-blue\/60:focus{border-color:rgb(var(--color-accent-blue) / .6)}.focus\:border-accent-red:focus{--tw-border-opacity: 1;border-color:rgb(var(--color-accent-red) / var(--tw-border-opacity, 1))}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-accent-blue\/15:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .15)}.focus\:ring-accent-blue\/20:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .2)}.focus\:ring-accent-blue\/50:focus{--tw-ring-color: rgb(var(--color-accent-blue) / .5)}.focus\:ring-accent-red\/20:focus{--tw-ring-color: rgb(var(--color-accent-red) / .2)}.focus\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.active\:scale-95:active{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-25:disabled{opacity:.25}.disabled\:opacity-50:disabled{opacity:.5}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:border-blue-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(29 78 216 / var(--tw-border-opacity, 1))}.dark\:border-gray-500:is(.dark *){--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity, 1))}.dark\:border-gray-600:is(.dark *){--tw-border-opacity: 1;border-color:rgb(75 85 99 / var(--tw-border-opacity, 1))}.dark\:border-gray-700:is(.dark *){--tw-border-opacity: 1;border-color:rgb(55 65 81 / var(--tw-border-opacity, 1))}.dark\:bg-blue-900\/20:is(.dark *){background-color:#1e3a8a33}.dark\:bg-gray-700:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(55 65 81 / var(--tw-bg-opacity, 1))}.dark\:bg-gray-800:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(31 41 55 / var(--tw-bg-opacity, 1))}.dark\:text-blue-300:is(.dark *){--tw-text-opacity: 1;color:rgb(147 197 253 / var(--tw-text-opacity, 1))}.dark\:text-gray-100:is(.dark *){--tw-text-opacity: 1;color:rgb(243 244 246 / var(--tw-text-opacity, 1))}.dark\:text-gray-200:is(.dark *){--tw-text-opacity: 1;color:rgb(229 231 235 / var(--tw-text-opacity, 1))}.dark\:text-gray-300:is(.dark *){--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.dark\:text-gray-400:is(.dark *){--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.dark\:text-gray-500:is(.dark *){--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.dark\:hover\:bg-blue-900\/30:hover:is(.dark *){background-color:#1e3a8a4d}.dark\:hover\:bg-gray-600:hover:is(.dark *){--tw-bg-opacity: 1;background-color:rgb(75 85 99 / var(--tw-bg-opacity, 1))}@media not all and (min-width: 1024px){.max-lg\:hidden{display:none}}@media (min-width: 640px){.sm\:block{display:block}.sm\:flex{display:flex}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:px-4{padding-left:1rem;padding-right:1rem}}@media (min-width: 768px){.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:max-w-\[78\%\]{max-width:78%}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[1fr_1\.2fr\]{grid-template-columns:1fr 1.2fr}}@media (min-width: 1024px){.lg\:inline{display:inline}.lg\:flex{display:flex}.lg\:w-20{width:5rem}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width: 1280px){.xl\:flex{display:flex}.xl\:w-\[420px\]{width:420px}.xl\:grid-cols-\[minmax\(0\,1fr\)_320px\]{grid-template-columns:minmax(0,1fr) 320px}}@media (min-width: 1536px){.\32xl\:inline{display:inline}.\32xl\:w-80{width:20rem}}.\[\&\:\:-webkit-slider-thumb\]\:h-3::-webkit-slider-thumb{height:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:w-3::-webkit-slider-thumb{width:.75rem}.\[\&\:\:-webkit-slider-thumb\]\:appearance-none::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none}.\[\&\:\:-webkit-slider-thumb\]\:rounded-full::-webkit-slider-thumb{border-radius:9999px}.\[\&\:\:-webkit-slider-thumb\]\:bg-accent-blue::-webkit-slider-thumb{--tw-bg-opacity: 1;background-color:rgb(var(--color-accent-blue) / var(--tw-bg-opacity, 1))}