@hienlh/ppm 0.18.6 → 0.18.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +12 -0
- package/assets/skills/ppm/SKILL.md +1 -1
- package/assets/skills/ppm/references/cli-reference.md +4 -4
- package/assets/skills/ppm/references/http-api.md +2 -1
- package/dist/web/assets/{ai-resource-editor-C59ti0ED.js → ai-resource-editor-BydGrxjb.js} +1 -1
- package/dist/web/assets/{audio-preview-GGksv6U8.js → audio-preview-DzBGq9Lk.js} +1 -1
- package/dist/web/assets/{chat-tab-CM5hUNpk.js → chat-tab-pBGQ9SCY.js} +3 -3
- package/dist/web/assets/{code-editor-2yL9lCL1.js → code-editor-XviNXdzi.js} +2 -2
- package/dist/web/assets/{conflict-editor-H1zmUXSQ.js → conflict-editor-CRConSGG.js} +1 -1
- package/dist/web/assets/{csv-preview-Dzzyx_Gv.js → csv-preview-BtCGfmrq.js} +1 -1
- package/dist/web/assets/{database-viewer-CiVA--mM.js → database-viewer-2M5sKRqb.js} +1 -1
- package/dist/web/assets/{diff-viewer-69nl3mqO.js → diff-viewer-BMr7vOvZ.js} +1 -1
- package/dist/web/assets/{docx-preview-CFvopEBf.js → docx-preview-BpG2kr_-.js} +1 -1
- package/dist/web/assets/{explorer-body-DyPXovdU.js → explorer-body-DXufyj-9.js} +1 -1
- package/dist/web/assets/{explorer-window-content-CXFdvs_i.js → explorer-window-content-B3krk4G1.js} +1 -1
- package/dist/web/assets/{extension-webview-DIoKwGV4.js → extension-webview-12M45CGq.js} +1 -1
- package/dist/web/assets/{git-log-panel-Copm8mzy.js → git-log-panel-Cp4k3tX_.js} +1 -1
- package/dist/web/assets/{glide-data-grid-D0L8SZVt.js → glide-data-grid-B0BB0VDl.js} +1 -1
- package/dist/web/assets/{group-chat-tab-D9cazEAI.js → group-chat-tab-CcG_NXIS.js} +1 -1
- package/dist/web/assets/{image-preview-vFeN8o43.js → image-preview-3HfuxA0N.js} +1 -1
- package/dist/web/assets/{index-BewcuJw5.js → index-BAVBuKmT.js} +5 -5
- package/dist/web/assets/{keybindings-store-ruNjhVT3.js → keybindings-store-oMJmtpH4.js} +1 -1
- package/dist/web/assets/{markdown-renderer-B46VJEHH.js → markdown-renderer-DPcoPjmO.js} +1 -1
- package/dist/web/assets/{markdown-renderer-CYiMPviS.js → markdown-renderer-Dg5HE9Zq.js} +1 -1
- package/dist/web/assets/media-url-DlYsHq0S.js +1 -0
- package/dist/web/assets/{mobile-explorer-sheet-BkMZxqs3.js → mobile-explorer-sheet-CEVcU964.js} +1 -1
- package/dist/web/assets/{notification-store-B3IK7PXf.js → notification-store-B8AqxwRT.js} +1 -1
- package/dist/web/assets/{pdf-preview-DU_NRMno.js → pdf-preview-BslNoDFw.js} +1 -1
- package/dist/web/assets/{postgres-viewer-C0h3Zfk9.js → postgres-viewer-BtSXQ3S4.js} +1 -1
- package/dist/web/assets/{settings-tab-Cep8gjxG.js → settings-tab-COSUzGl8.js} +1 -1
- package/dist/web/assets/{sql-query-editor-DJofTC9F.js → sql-query-editor-CkvpmXyA.js} +1 -1
- package/dist/web/assets/{sqlite-viewer-D7bskeyk.js → sqlite-viewer-CJbP6ruh.js} +1 -1
- package/dist/web/assets/{system-monitor-tab-CxgFsQx9.js → system-monitor-tab-DThAFSd_.js} +1 -1
- package/dist/web/assets/{team-member-sheet-Dn5NGkcp.js → team-member-sheet-M83B4znI.js} +2 -2
- package/dist/web/assets/{team-member-window-content-DS9V4trr.js → team-member-window-content-Cxh-HF2V.js} +1 -1
- package/dist/web/assets/{terminal-tab-CMs8AyFJ.js → terminal-tab-gQCs_fyx.js} +1 -1
- package/dist/web/assets/{tool-cards-HHRTIlFv.js → tool-cards-BG2fz83z.js} +2 -2
- package/dist/web/assets/{use-monaco-theme-BLt-n9r1.js → use-monaco-theme-DaqI7O-a.js} +1 -1
- package/dist/web/assets/{use-open-team-member-BwtzTuxf.js → use-open-team-member-DKpstvLS.js} +1 -1
- package/dist/web/assets/{use-websocket-DA3Zwl3Z.js → use-websocket-KVhDtbwK.js} +1 -1
- package/dist/web/assets/video-preview-CVEUDZBj.js +1 -0
- package/dist/web/index.html +1 -1
- package/dist/web/sw.js +1 -1
- package/package.json +1 -1
- package/src/server/helpers/media-route-handlers.ts +22 -3
- package/src/server/routes/files.ts +5 -2
- package/src/server/routes/fs-browse.ts +5 -2
- package/src/services/edge-forwarder.ts +191 -191
- package/src/services/fs-ops/fs-ops-upload.service.ts +17 -1
- package/src/services/fs-path-guard.service.ts +17 -1
- package/src/services/media-transcode/transcode-stream.ts +27 -5
- package/src/services/windows-process-tree.ts +351 -351
- package/src/web/components/editor/video-player/video-player.tsx +54 -22
- package/src/web/components/os-explorer/actions/explorer-actions-upload.ts +6 -0
- package/src/web/lib/media-url.ts +30 -4
- package/dist/web/assets/media-url-CUpN5vI1.js +0 -1
- package/dist/web/assets/video-preview-BZhTYMFX.js +0 -1
- package/packages/vscode-compat/node_modules/.bin/tsc.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsc.exe +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.bunx +0 -0
- package/packages/vscode-compat/node_modules/.bin/tsserver.exe +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/terminal-tab-gQCs_fyx.js","assets/rolldown-runtime-FhOqtrmT.js","assets/vendor-mermaid-Bg4vE8QA.js","assets/vendor-ui-CaeeFO0B.js","assets/vendor-markdown-Ls5AcU91.js","assets/vendor-xterm-C1diXHJl.js","assets/vendor-xterm-DkTCHfhq.css","assets/utils-DoY4yTP-.js","assets/createLucideIcon-D8pyde1A.js","assets/copy-BApI9v7Z.js","assets/api-client-BSB14J4w.js","assets/mobile-bottom-sheet-CS3XMwFw.js","assets/run-in-terminal-CGW6o37_.js","assets/panel-store-DCD82zc1.js","assets/react-I_EwPIZi.js","assets/send-to-chat-YXHdAyLG.js","assets/settings-store-C9YT1Hir.js","assets/apply-theme-CNj1iA-v.js","assets/resolve-theme-CJvkL8hU.js","assets/chat-tab-pBGQ9SCY.js","assets/button-B4MWPjWj.js","assets/libesm-ah-mr-sh.js","assets/bot-CunPuEdW.js","assets/context-menu-DkQdt6YA.js","assets/chevron-right-BLOtX8Vy.js","assets/tool-cards-BG2fz83z.js","assets/arrow-right-DubGFkN8.js","assets/circle-question-mark-CENpx4oA.js","assets/clock-D493FU_D.js","assets/code-CLF5x7KK.js","assets/sparkles-n1hzh65o.js","assets/use-blob-url-BmlYYZ8L.js","assets/image-gallery-CrM5fHKy.js","assets/tab-store-DAsvpx4t.js","assets/download-D9UYwY0-.js","assets/plus-DmjC2iRB.js","assets/shield-off-egKAZEwR.js","assets/x-BcqfTY_7.js","assets/use-open-team-member-DKpstvLS.js","assets/use-is-mobile-B8FA4kQf.js","assets/use-websocket-KVhDtbwK.js","assets/api-settings-DfNRPr1q.js","assets/project-store-B8BkHXy5.js","assets/code-editor-XviNXdzi.js","assets/glide-data-grid-B0BB0VDl.js","assets/dist-DOlBnxFX.js","assets/data-grid-types-BXwlFMzs.js","assets/save-DRPrDfTt.js","assets/csv-parser-BRtnJCfv.js","assets/use-monaco-theme-DaqI7O-a.js","assets/glide-data-grid-nthEL3fk.css","assets/database-B9okYLx6.js","assets/file-exclamation-point-a8f3_w7a.js","assets/shield-check-8GObuUAn.js","assets/table-BX2ZrJfM.js","assets/can-open-in-ppm-DXGOSUQc.js","assets/database-viewer-2M5sKRqb.js","assets/sql-query-editor-CkvpmXyA.js","assets/sqlite-viewer-CJbP6ruh.js","assets/postgres-viewer-BtSXQ3S4.js","assets/dist-CUPbqNnL.js","assets/lib-B1clP4ai.js","assets/diff-viewer-BMr7vOvZ.js","assets/settings-tab-COSUzGl8.js","assets/extension-webview-12M45CGq.js","assets/conflict-editor-CRConSGG.js","assets/system-monitor-tab-DThAFSd_.js","assets/git-log-panel-Cp4k3tX_.js","assets/ai-resource-editor-BydGrxjb.js","assets/group-chat-tab-CcG_NXIS.js","assets/markdown-renderer-DPcoPjmO.js","assets/explorer-window-content-B3krk4G1.js","assets/explorer-body-DXufyj-9.js","assets/eye-off-CUdzgmX8.js","assets/team-member-window-content-Cxh-HF2V.js","assets/angular-html-jfMqUuRd.js","assets/html-bgVcwZ-t.js","assets/css-VXsMY--y.js","assets/javascript-DHuz9VXn.js","assets/angular-ts-wytn9PMm.js","assets/scss-BB0CUoCL.js","assets/apl-i-ahKx6O.js","assets/json-0_y80FD5.js","assets/xml-C-vM2m7J.js","assets/java-Bzo8yIal.js","assets/astro-DVBCJfG6.js","assets/postcss-BgJlpFdw.js","assets/tsx-B1MmXGT3.js","assets/typescript-Dz9wU5Y1.js","assets/blade-BHlL8SqU.js","assets/html-derivative-D6-IxTgn.js","assets/sql-CBzeNAD8.js","assets/bsl-D-UOfR1F.js","assets/sdbl-DbPeJPUr.js","assets/c-clbySDvd.js","assets/cairo-Bn6rucli.js","assets/python-iWuxKXvT.js","assets/cobol-Byn9FYKu.js","assets/coffee-DjBl4gm-.js","assets/cpp-CKzic-3E.js","assets/glsl-nR2eaJQe.js","assets/regexp-CD2uvAWx.js","assets/crystal-Bkg-Ly_g.js","assets/shellscript-DMiHlR3q.js","assets/edge-DVbZnd3Y.js","assets/elixir-Dwi8Wu7W.js","assets/elm-DtIv-HXJ.js","assets/erb-D3HEDz1x.js","assets/ruby-D5fejQwd.js","assets/graphql-CGPPFAU6.js","assets/jsx-DlJL-Oj3.js","assets/haml-tPY-9Pfm.js","assets/lua-PNuaIBEF.js","assets/yaml-Bwr01G2K.js","assets/erlang-2MjTCzGz.js","assets/markdown-Seon0vHs.js","assets/fortran-fixed-form-BLyAtyPM.js","assets/fortran-free-form-DvOu8jAt.js","assets/fsharp-Bxbn_gbr.js","assets/gdresource-sFMY4D2Q.js","assets/gdscript-DCPxdLpq.js","assets/gdshader-CTZ381FO.js","assets/git-commit-BzB9Lio5.js","assets/diff-BCEo1Ej7.js","assets/git-rebase-CKSVd848.js","assets/glimmer-js-BY8aExAJ.js","assets/glimmer-ts-Bak54dBX.js","assets/hack-CXIMX-Ol.js","assets/handlebars-BuW1LT7T.js","assets/http-CJ1zyB-h.js","assets/hurl-CmoT7l3T.js","assets/csv-BEbcJdHz.js","assets/hxml-CztOsL8o.js","assets/haxe-c6bI4_GT.js","assets/jinja-B1pq3jJq.js","assets/jison-D8B5pCwA.js","assets/julia-D0K3bwpU.js","assets/r-TU2eaIPw.js","assets/just-B9Jlddu-.js","assets/perl-Cf31sZYE.js","assets/latex-BPJSSE6j.js","assets/tex-CsrOiqh1.js","assets/liquid-lv10fo4U.js","assets/marko-Du3frD6X.js","assets/less-BoxmU_Mk.js","assets/mdc-BeDVcFRl.js","assets/nextflow-DkcXP71s.js","assets/nextflow-groovy-ZHa4JrPJ.js","assets/nginx-C5n8N_bt.js","assets/nim-CIhyfs-A.js","assets/php-Dzl_MDIW.js","assets/pug-CxSYHrB3.js","assets/qml-DlEjGhwN.js","assets/razor-KVt5uW14.js","assets/csharp-C1HHzXBp.js","assets/rst-D5BwNTnw.js","assets/cmake-DejCqcu4.js","assets/sas-Bj7B1CB2.js","assets/shaderlab-BdjEZUMc.js","assets/hlsl-BMC4JGoE.js","assets/shellsession-Bp1OA1rR.js","assets/soy-DlYz3wsC.js","assets/sparql-CdfII5Jd.js","assets/turtle-DFceTiqd.js","assets/stata-BvUA6GUW.js","assets/surrealql--DLNbTyI.js","assets/svelte-CBfSsG4n.js","assets/templ-Dv8zpKZW.js","assets/go-D7Qqska7.js","assets/ts-tags-3T98k4EJ.js","assets/twig-u6QZ45FH.js","assets/vue-CxIsxtwn.js","assets/vue-html-BGL5qnuH.js","assets/vue-vine-DHPh_gMr.js","assets/stylus-DvBnYniP.js","assets/xsl-DvTXNwuO.js","assets/mobile-explorer-sheet-CEVcU964.js","assets/team-member-sheet-M83B4znI.js","assets/keybindings-store-oMJmtpH4.js","assets/notification-store-B8AqxwRT.js"])))=>i.map(i=>d[i]);
|
|
2
2
|
import{o as e,r as t,t as n}from"./rolldown-runtime-FhOqtrmT.js";import{S as r,_ as i,b as a,g as o,h as s,m as c,v as l,x as u,y as d}from"./vendor-markdown-Ls5AcU91.js";import{A as f,B as p,C as m,D as h,E as g,F as _,H as v,I as y,L as b,M as x,N as S,O as C,P as w,R as T,S as E,T as D,U as O,V as k,W as A,_ as j,a as M,at as ee,b as N,c as P,ct as te,d as ne,f as re,ft as ie,g as ae,h as oe,i as se,it as ce,j as le,k as ue,l as de,lt as fe,m as pe,n as me,o as he,ot as ge,p as _e,r as ve,rt as ye,s as be,st as xe,t as Se,u as Ce,ut as we,v as Te,w as Ee,x as De,y as Oe,z as ke}from"./vendor-ui-CaeeFO0B.js";import{t as F}from"./createLucideIcon-D8pyde1A.js";import{n as Ae,t as je}from"./eye-off-CUdzgmX8.js";import{t as Me}from"./bot-CunPuEdW.js";import{a as Ne,c as Pe,d as Fe,i as Ie,l as Le,n as Re,o as ze,r as Be,s as Ve,t as He,u as Ue}from"./context-menu-DkQdt6YA.js";import{t as We}from"./chevron-right-BLOtX8Vy.js";import{n as Ge,r as Ke,t as I}from"./button-B4MWPjWj.js";import{t as qe}from"./clock-D493FU_D.js";import{n as Je,t as Ye}from"./sparkles-n1hzh65o.js";import{t as Xe}from"./copy-BApI9v7Z.js";import{t as Ze}from"./database-B9okYLx6.js";import{t as Qe}from"./download-D9UYwY0-.js";import{n as $e,t as et}from"./plus-DmjC2iRB.js";import{t as tt}from"./x-BcqfTY_7.js";import{a as nt,i as L,n as R,o as rt,r as it,s as z}from"./api-client-BSB14J4w.js";import{t as at}from"./react-I_EwPIZi.js";import{q as B}from"./vendor-mermaid-Bg4vE8QA.js";import{t as V}from"./settings-store-C9YT1Hir.js";import{n as H,r as ot,t as st}from"./utils-DoY4yTP-.js";import{c as ct,i as lt,n as ut,o as dt,r as ft,s as pt,t as U}from"./panel-store-DCD82zc1.js";import{i as W,n as mt,r as ht,t as gt}from"./project-store-B8BkHXy5.js";import{t as G}from"./tab-store-DAsvpx4t.js";import{n as _t,t as vt}from"./use-is-mobile-B8FA4kQf.js";import{a as yt,i as bt,n as xt,o as St,r as Ct,s as wt,t as Tt}from"./mobile-bottom-sheet-CS3XMwFw.js";import{a as Et,b as Dt,d as Ot,f as kt,g as At,n as jt,y as Mt}from"./api-settings-DfNRPr1q.js";import{n as Nt,r as Pt,t as Ft}from"./resolve-theme-CJvkL8hU.js";import{n as It,r as Lt,t as Rt}from"./apply-theme-CNj1iA-v.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var zt=n((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m)if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),Bt=n(((e,t)=>{t.exports=zt()})),Vt=n((e=>{var t=Bt(),n=r(),i=ie();function a(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function o(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function s(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function c(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function u(e){if(s(e)!==e)throw Error(a(188))}function d(e){var t=e.alternate;if(!t){if(t=s(e),t===null)throw Error(a(188));return t===e?e:null}for(var n=e,r=t;;){var i=n.return;if(i===null)break;var o=i.alternate;if(o===null){if(r=i.return,r!==null){n=r;continue}break}if(i.child===o.child){for(o=i.child;o;){if(o===n)return u(i),e;if(o===r)return u(i),t;o=o.sibling}throw Error(a(188))}if(n.return!==r.return)n=i,r=o;else{for(var c=!1,l=i.child;l;){if(l===n){c=!0,n=i,r=o;break}if(l===r){c=!0,r=i,n=o;break}l=l.sibling}if(!c){for(l=o.child;l;){if(l===n){c=!0,n=o,r=i;break}if(l===r){c=!0,r=o,n=i;break}l=l.sibling}if(!c)throw Error(a(189))}}if(n.alternate!==r)throw Error(a(190))}if(n.tag!==3)throw Error(a(188));return n.stateNode.current===n?e:t}function f(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=f(e),t!==null)return t;e=e.sibling}return null}var p=Object.assign,m=Symbol.for(`react.element`),h=Symbol.for(`react.transitional.element`),g=Symbol.for(`react.portal`),_=Symbol.for(`react.fragment`),v=Symbol.for(`react.strict_mode`),y=Symbol.for(`react.profiler`),b=Symbol.for(`react.consumer`),x=Symbol.for(`react.context`),S=Symbol.for(`react.forward_ref`),C=Symbol.for(`react.suspense`),w=Symbol.for(`react.suspense_list`),T=Symbol.for(`react.memo`),E=Symbol.for(`react.lazy`),D=Symbol.for(`react.activity`),O=Symbol.for(`react.memo_cache_sentinel`),k=Symbol.iterator;function A(e){return typeof e!=`object`||!e?null:(e=k&&e[k]||e[`@@iterator`],typeof e==`function`?e:null)}var j=Symbol.for(`react.client.reference`);function M(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===j?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case _:return`Fragment`;case y:return`Profiler`;case v:return`StrictMode`;case C:return`Suspense`;case w:return`SuspenseList`;case D:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case g:return`Portal`;case x:return e.displayName||`Context`;case b:return(e._context.displayName||`Context`)+`.Consumer`;case S:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case T:return t=e.displayName||null,t===null?M(e.type)||`Memo`:t;case E:t=e._payload,e=e._init;try{return M(e(t))}catch{}}return null}var ee=Array.isArray,N=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=i.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,te={pending:!1,data:null,method:null,action:null},ne=[],re=-1;function ae(e){return{current:e}}function oe(e){0>re||(e.current=ne[re],ne[re]=null,re--)}function se(e,t){re++,ne[re]=e.current,e.current=t}var ce=ae(null),le=ae(null),ue=ae(null),de=ae(null);function fe(e,t){switch(se(ue,t),se(le,e),se(ce,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Hd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Hd(t),e=Ud(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}oe(ce),se(ce,e)}function pe(){oe(ce),oe(le),oe(ue)}function me(e){e.memoizedState!==null&&se(de,e);var t=ce.current,n=Ud(t,e.type);t!==n&&(se(le,e),se(ce,n))}function he(e){le.current===e&&(oe(ce),oe(le)),de.current===e&&(oe(de),$f._currentValue=te)}var ge,_e;function ve(e){if(ge===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);ge=t&&t[1]||``,_e=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+ge+e+_e}var ye=!1;function be(e,t){if(!e||ye)return``;ye=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,`props`,{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,`name`,{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
@@ -7,20 +7,20 @@ import{o as e,r as t,t as n}from"./rolldown-runtime-FhOqtrmT.js";import{S as r,_
|
|
|
7
7
|
`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{ye=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?ve(n):``}function xe(e,t){switch(e.tag){case 26:case 27:case 5:return ve(e.type);case 16:return ve(`Lazy`);case 13:return e.child!==t&&t!==null?ve(`Suspense Fallback`):ve(`Suspense`);case 19:return ve(`SuspenseList`);case 0:case 15:return be(e.type,!1);case 11:return be(e.type.render,!1);case 1:return be(e.type,!0);case 31:return ve(`Activity`);default:return``}}function Se(e){try{var t=``,n=null;do t+=xe(e,n),n=e,e=e.return;while(e);return t}catch(e){return`
|
|
8
8
|
Error generating stack: `+e.message+`
|
|
9
9
|
`+e.stack}}var Ce=Object.prototype.hasOwnProperty,we=t.unstable_scheduleCallback,Te=t.unstable_cancelCallback,Ee=t.unstable_shouldYield,De=t.unstable_requestPaint,Oe=t.unstable_now,ke=t.unstable_getCurrentPriorityLevel,F=t.unstable_ImmediatePriority,Ae=t.unstable_UserBlockingPriority,je=t.unstable_NormalPriority,Me=t.unstable_LowPriority,Ne=t.unstable_IdlePriority,Pe=t.log,Fe=t.unstable_setDisableYieldValue,Ie=null,Le=null;function Re(e){if(typeof Pe==`function`&&Fe(e),Le&&typeof Le.setStrictMode==`function`)try{Le.setStrictMode(Ie,e)}catch{}}var ze=Math.clz32?Math.clz32:He,Be=Math.log,Ve=Math.LN2;function He(e){return e>>>=0,e===0?32:31-(Be(e)/Ve|0)|0}var Ue=256,We=262144,Ge=4194304;function Ke(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&261888;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function I(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=Ke(n))):i=Ke(o):i=Ke(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=Ke(n))):i=Ke(o)):i=Ke(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function qe(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function Je(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function Ye(){var e=Ge;return Ge<<=1,!(Ge&62914560)&&(Ge=4194304),e}function Xe(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function Ze(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function Qe(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-ze(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&$e(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function $e(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ze(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function et(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ze(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function tt(e,t){var n=t&-t;return n=n&42?1:nt(n),(n&(e.suspendedLanes|t))===0?n:0}function nt(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function L(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function R(){var e=P.p;return e===0?(e=window.event,e===void 0?32:mp(e.type)):e}function rt(e,t){var n=P.p;try{return P.p=e,t()}finally{P.p=n}}var it=Math.random().toString(36).slice(2),z=`__reactFiber$`+it,at=`__reactProps$`+it,B=`__reactContainer$`+it,V=`__reactEvents$`+it,H=`__reactListeners$`+it,ot=`__reactHandles$`+it,st=`__reactResources$`+it,ct=`__reactMarker$`+it;function lt(e){delete e[z],delete e[at],delete e[V],delete e[H],delete e[ot]}function ut(e){var t=e[z];if(t)return t;for(var n=e.parentNode;n;){if(t=n[B]||n[z]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=ff(e);e!==null;){if(n=e[z])return n;e=ff(e)}return t}e=n,n=e.parentNode}return null}function dt(e){if(e=e[z]||e[B]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function ft(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(a(33))}function pt(e){var t=e[st];return t||=e[st]={hoistableStyles:new Map,hoistableScripts:new Map},t}function U(e){e[ct]=!0}var W=new Set,mt={};function ht(e,t){gt(e,t),gt(e+`Capture`,t)}function gt(e,t){for(mt[e]=t,e=0;e<t.length;e++)W.add(t[e])}var G=RegExp(`^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$`),_t={},vt={};function yt(e){return Ce.call(vt,e)?!0:Ce.call(_t,e)?!1:G.test(e)?vt[e]=!0:(_t[e]=!0,!1)}function bt(e,t,n){if(yt(t))if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,``+n)}}function xt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,``+n)}}function St(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,``+r)}}function Ct(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function wt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Tt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Et(e){if(!e._valueTracker){var t=wt(e)?`checked`:`value`;e._valueTracker=Tt(e,t,``+e[t])}}function Dt(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=wt(e)?e.checked?`true`:`false`:e.value),e=r,e===n?!1:(t.setValue(e),!0)}function Ot(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}var kt=/[\n"\\]/g;function At(e){return e.replace(kt,function(e){return`\\`+e.charCodeAt(0).toString(16)+` `})}function jt(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Ct(t)):e.value!==``+Ct(t)&&(e.value=``+Ct(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):Nt(e,o,Ct(n)):Nt(e,o,Ct(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Ct(s):e.removeAttribute(`name`)}function Mt(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){Et(e);return}n=n==null?``:``+Ct(n),t=t==null?n:``+Ct(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),Et(e)}function Nt(e,t,n){t===`number`&&Ot(e.ownerDocument)===e||e.defaultValue===``+n||(e.defaultValue=``+n)}function Pt(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Ct(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function Ft(e,t,n){if(t!=null&&(t=``+Ct(t),t!==e.value&&(e.value=t),n==null)){e.defaultValue!==t&&(e.defaultValue=t);return}e.defaultValue=n==null?``:``+Ct(n)}function It(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(a(92));if(ee(r)){if(1<r.length)throw Error(a(93));r=r[0]}n=r}n??=``,t=n}n=Ct(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),Et(e)}function Lt(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var Rt=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function zt(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||Rt.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function Vt(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(a(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``);for(var i in t)r=t[i],t.hasOwnProperty(i)&&n[i]!==r&&zt(e,i,r)}else for(var o in t)t.hasOwnProperty(o)&&zt(e,o,t[o])}function Ht(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var Ut=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),Wt=/^[\u0000-\u001F ]*j[\r\n\t]*a[\r\n\t]*v[\r\n\t]*a[\r\n\t]*s[\r\n\t]*c[\r\n\t]*r[\r\n\t]*i[\r\n\t]*p[\r\n\t]*t[\r\n\t]*:/i;function Gt(e){return Wt.test(``+e)?`javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')`:e}function Kt(){}var qt=null;function Jt(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Yt=null,Xt=null;function Zt(e){var t=dt(e);if(t&&(e=t.stateNode)){var n=e[at]||null;a:switch(e=t.stateNode,t.type){case`input`:if(jt(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+At(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var i=r[at]||null;if(!i)throw Error(a(90));jt(r,i.value,i.defaultValue,i.defaultValue,i.checked,i.defaultChecked,i.type,i.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&Dt(r)}break a;case`textarea`:Ft(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&Pt(e,!!n.multiple,t,!1)}}}var Qt=!1;function $t(e,t,n){if(Qt)return e(t,n);Qt=!0;try{return e(t)}finally{if(Qt=!1,(Yt!==null||Xt!==null)&&(vu(),Yt&&(t=Yt,e=Xt,Xt=Yt=null,Zt(t),e)))for(t=0;t<e.length;t++)Zt(e[t])}}function en(e,t){var n=e.stateNode;if(n===null)return null;var r=n[at]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=!(e===`button`||e===`input`||e===`select`||e===`textarea`)),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(a(231,t,typeof n));return n}var tn=!(typeof window>`u`||window.document===void 0||window.document.createElement===void 0),nn=!1;if(tn)try{var rn={};Object.defineProperty(rn,`passive`,{get:function(){nn=!0}}),window.addEventListener(`test`,rn,rn),window.removeEventListener(`test`,rn,rn)}catch{nn=!1}var an=null,on=null,sn=null;function cn(){if(sn)return sn;var e,t=on,n=t.length,r,i=`value`in an?an.value:an.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return sn=i.slice(e,1<r?1-r:void 0)}function ln(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function un(){return!0}function dn(){return!1}function fn(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?un:dn,this.isPropagationStopped=dn,this}return p(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=un)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=un)},persist:function(){},isPersistent:un}),t}var pn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},mn=fn(pn),hn=p({},pn,{view:0,detail:0}),gn=fn(hn),_n,vn,yn,bn=p({},hn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:jn,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==yn&&(yn&&e.type===`mousemove`?(_n=e.screenX-yn.screenX,vn=e.screenY-yn.screenY):vn=_n=0,yn=e),_n)},movementY:function(e){return`movementY`in e?e.movementY:vn}}),xn=fn(bn),Sn=fn(p({},bn,{dataTransfer:0})),Cn=fn(p({},hn,{relatedTarget:0})),wn=fn(p({},pn,{animationName:0,elapsedTime:0,pseudoElement:0})),Tn=fn(p({},pn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),En=fn(p({},pn,{data:0})),Dn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},On={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},kn={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function An(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=kn[e])?!!t[e]:!1}function jn(){return An}var Mn=fn(p({},hn,{key:function(e){if(e.key){var t=Dn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=ln(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?On[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:jn,charCode:function(e){return e.type===`keypress`?ln(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?ln(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),Nn=fn(p({},bn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pn=fn(p({},hn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:jn})),Fn=fn(p({},pn,{propertyName:0,elapsedTime:0,pseudoElement:0})),In=fn(p({},bn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),Ln=fn(p({},pn,{newState:0,oldState:0})),Rn=[9,13,27,32],zn=tn&&`CompositionEvent`in window,Bn=null;tn&&`documentMode`in document&&(Bn=document.documentMode);var Vn=tn&&`TextEvent`in window&&!Bn,Hn=tn&&(!zn||Bn&&8<Bn&&11>=Bn),Un=` `,Wn=!1;function Gn(e,t){switch(e){case`keyup`:return Rn.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function Kn(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var qn=!1;function Jn(e,t){switch(e){case`compositionend`:return Kn(t);case`keypress`:return t.which===32?(Wn=!0,Un):null;case`textInput`:return e=t.data,e===Un&&Wn?null:e;default:return null}}function Yn(e,t){if(qn)return e===`compositionend`||!zn&&Gn(e,t)?(e=cn(),sn=on=an=null,qn=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return Hn&&t.locale!==`ko`?null:t.data;default:return null}}var Xn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Zn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Xn[e.type]:t===`textarea`}function Qn(e,t,n,r){Yt?Xt?Xt.push(r):Xt=[r]:Yt=r,t=Ed(t,`onChange`),0<t.length&&(n=new mn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var $n=null,er=null;function tr(e){vd(e,0)}function nr(e){if(Dt(ft(e)))return e}function rr(e,t){if(e===`change`)return t}var ir=!1;if(tn){var ar;if(tn){var or=`oninput`in document;if(!or){var sr=document.createElement(`div`);sr.setAttribute(`oninput`,`return;`),or=typeof sr.oninput==`function`}ar=or}else ar=!1;ir=ar&&(!document.documentMode||9<document.documentMode)}function cr(){$n&&($n.detachEvent(`onpropertychange`,lr),er=$n=null)}function lr(e){if(e.propertyName===`value`&&nr(er)){var t=[];Qn(t,er,e,Jt(e)),$t(tr,t)}}function ur(e,t,n){e===`focusin`?(cr(),$n=t,er=n,$n.attachEvent(`onpropertychange`,lr)):e===`focusout`&&cr()}function dr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return nr(er)}function K(e,t){if(e===`click`)return nr(t)}function fr(e,t){if(e===`input`||e===`change`)return nr(t)}function pr(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var mr=typeof Object.is==`function`?Object.is:pr;function hr(e,t){if(mr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Ce.call(t,i)||!mr(e[i],t[i]))return!1}return!0}function gr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function _r(e,t){var n=gr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=gr(n)}}function vr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?vr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function yr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ot(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ot(e.document)}return t}function br(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var xr=tn&&`documentMode`in document&&11>=document.documentMode,Sr=null,Cr=null,wr=null,Tr=!1;function Er(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;Tr||Sr==null||Sr!==Ot(r)||(r=Sr,`selectionStart`in r&&br(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),wr&&hr(wr,r)||(wr=r,r=Ed(Cr,`onSelect`),0<r.length&&(t=new mn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Sr)))}function Dr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var Or={animationend:Dr(`Animation`,`AnimationEnd`),animationiteration:Dr(`Animation`,`AnimationIteration`),animationstart:Dr(`Animation`,`AnimationStart`),transitionrun:Dr(`Transition`,`TransitionRun`),transitionstart:Dr(`Transition`,`TransitionStart`),transitioncancel:Dr(`Transition`,`TransitionCancel`),transitionend:Dr(`Transition`,`TransitionEnd`)},kr={},Ar={};tn&&(Ar=document.createElement(`div`).style,`AnimationEvent`in window||(delete Or.animationend.animation,delete Or.animationiteration.animation,delete Or.animationstart.animation),`TransitionEvent`in window||delete Or.transitionend.transition);function jr(e){if(kr[e])return kr[e];if(!Or[e])return e;var t=Or[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in Ar)return kr[e]=t[n];return e}var Mr=jr(`animationend`),Nr=jr(`animationiteration`),Pr=jr(`animationstart`),Fr=jr(`transitionrun`),Ir=jr(`transitionstart`),Lr=jr(`transitioncancel`),Rr=jr(`transitionend`),zr=new Map,Br=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);Br.push(`scrollEnd`);function Vr(e,t){zr.set(e,t),ht(t,[e])}var Hr=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},Ur=[],Wr=0,Gr=0;function Kr(){for(var e=Wr,t=Gr=Wr=0;t<e;){var n=Ur[t];Ur[t++]=null;var r=Ur[t];Ur[t++]=null;var i=Ur[t];Ur[t++]=null;var a=Ur[t];if(Ur[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&Xr(n,i,a)}}function qr(e,t,n,r){Ur[Wr++]=e,Ur[Wr++]=t,Ur[Wr++]=n,Ur[Wr++]=r,Gr|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Jr(e,t,n,r){return qr(e,t,n,r),Zr(e)}function Yr(e,t){return qr(e,null,null,t),Zr(e)}function Xr(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-ze(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function Zr(e){if(50<lu)throw lu=0,uu=null,Error(a(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Qr={};function $r(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ei(e,t,n,r){return new $r(e,t,n,r)}function ti(e){return e=e.prototype,!(!e||!e.isReactComponent)}function ni(e,t){var n=e.alternate;return n===null?(n=ei(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&65011712,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function ri(e,t){e.flags&=65011714;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function ii(e,t,n,r,i,o){var s=0;if(r=e,typeof e==`function`)ti(e)&&(s=1);else if(typeof e==`string`)s=Wf(e,n,ce.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(e){case D:return e=ei(31,n,t,i),e.elementType=D,e.lanes=o,e;case _:return ai(n.children,i,o,t);case v:s=8,i|=24;break;case y:return e=ei(12,n,t,i|2),e.elementType=y,e.lanes=o,e;case C:return e=ei(13,n,t,i),e.elementType=C,e.lanes=o,e;case w:return e=ei(19,n,t,i),e.elementType=w,e.lanes=o,e;default:if(typeof e==`object`&&e)switch(e.$$typeof){case x:s=10;break a;case b:s=9;break a;case S:s=11;break a;case T:s=14;break a;case E:s=16,r=null;break a}s=29,n=Error(a(130,e===null?`null`:typeof e,``)),r=null}return t=ei(s,n,t,i),t.elementType=e,t.type=r,t.lanes=o,t}function ai(e,t,n,r){return e=ei(7,e,r,t),e.lanes=n,e}function oi(e,t,n){return e=ei(6,e,null,t),e.lanes=n,e}function si(e){var t=ei(18,null,null,0);return t.stateNode=e,t}function ci(e,t,n){return t=ei(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var li=new WeakMap;function ui(e,t){if(typeof e==`object`&&e){var n=li.get(e);return n===void 0?(t={value:e,source:t,stack:Se(t)},li.set(e,t),t):n}return{value:e,source:t,stack:Se(t)}}var di=[],fi=0,pi=null,mi=0,hi=[],gi=0,_i=null,vi=1,q=``;function J(e,t){di[fi++]=mi,di[fi++]=pi,pi=e,mi=t}function yi(e,t,n){hi[gi++]=vi,hi[gi++]=q,hi[gi++]=_i,_i=e;var r=vi;e=q;var i=32-ze(r)-1;r&=~(1<<i),n+=1;var a=32-ze(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,vi=1<<32-ze(t)+i|n<<i|r,q=a+e}else vi=1<<a|n<<i|r,q=e}function bi(e){e.return!==null&&(J(e,1),yi(e,1,0))}function xi(e){for(;e===pi;)pi=di[--fi],di[fi]=null,mi=di[--fi],di[fi]=null;for(;e===_i;)_i=hi[--gi],hi[gi]=null,q=hi[--gi],hi[gi]=null,vi=hi[--gi],hi[gi]=null}function Si(e,t){hi[gi++]=vi,hi[gi++]=q,hi[gi++]=_i,vi=t.id,q=t.overflow,_i=e}var Ci=null,wi=null,Ti=!1,Ei=null,Di=!1,Oi=Error(a(519));function ki(e){throw Fi(ui(Error(a(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),Oi}function Ai(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[z]=e,t[at]=r,n){case`dialog`:yd(`cancel`,t),yd(`close`,t);break;case`iframe`:case`object`:case`embed`:yd(`load`,t);break;case`video`:case`audio`:for(n=0;n<gd.length;n++)yd(gd[n],t);break;case`source`:yd(`error`,t);break;case`img`:case`image`:case`link`:yd(`error`,t),yd(`load`,t);break;case`details`:yd(`toggle`,t);break;case`input`:yd(`invalid`,t),Mt(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:yd(`invalid`,t);break;case`textarea`:yd(`invalid`,t),It(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||Md(t.textContent,n)?(r.popover!=null&&(yd(`beforetoggle`,t),yd(`toggle`,t)),r.onScroll!=null&&yd(`scroll`,t),r.onScrollEnd!=null&&yd(`scrollend`,t),r.onClick!=null&&(t.onclick=Kt),t=!0):t=!1,t||ki(e,!0)}function ji(e){for(Ci=e.return;Ci;)switch(Ci.tag){case 5:case 31:case 13:Di=!1;return;case 27:case 3:Di=!0;return;default:Ci=Ci.return}}function Mi(e){if(e!==Ci)return!1;if(!Ti)return ji(e),Ti=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=!(n!==`form`&&n!==`button`)||Wd(e.type,e.memoizedProps)),n=!n),n&&wi&&ki(e),ji(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));wi=df(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(317));wi=df(e)}else t===27?(t=wi,Qd(e.type)?(e=uf,uf=null,wi=e):wi=t):wi=Ci?lf(e.stateNode.nextSibling):null;return!0}function Ni(){wi=Ci=null,Ti=!1}function Pi(){var e=Ei;return e!==null&&(Yl===null?Yl=e:Yl.push.apply(Yl,e),Ei=null),e}function Fi(e){Ei===null?Ei=[e]:Ei.push(e)}var Ii=ae(null),Li=null,Ri=null;function zi(e,t,n){se(Ii,t._currentValue),t._currentValue=n}function Bi(e){e._currentValue=Ii.current,oe(Ii)}function Vi(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function Hi(e,t,n,r){var i=e.child;for(i!==null&&(i.return=e);i!==null;){var o=i.dependencies;if(o!==null){var s=i.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=i;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),Vi(o.return,n,e),r||(s=null);break a}o=c.next}}else if(i.tag===18){if(s=i.return,s===null)throw Error(a(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),Vi(s,n,e),s=null}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}}function Ui(e,t,n,r){e=null;for(var i=t,o=!1;i!==null;){if(!o){if(i.flags&524288)o=!0;else if(i.flags&262144)break}if(i.tag===10){var s=i.alternate;if(s===null)throw Error(a(387));if(s=s.memoizedProps,s!==null){var c=i.type;mr(i.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(i===de.current){if(s=i.alternate,s===null)throw Error(a(387));s.memoizedState.memoizedState!==i.memoizedState.memoizedState&&(e===null?e=[$f]:e.push($f))}i=i.return}e!==null&&Hi(t,e,n,r),t.flags|=262144}function Wi(e){for(e=e.firstContext;e!==null;){if(!mr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function Gi(e){Li=e,Ri=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ki(e){return Ji(Li,e)}function qi(e,t){return Li===null&&Gi(e),Ji(e,t)}function Ji(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},Ri===null){if(e===null)throw Error(a(308));Ri=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else Ri=Ri.next=t;return n}var Yi=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},Xi=t.unstable_scheduleCallback,Zi=t.unstable_NormalPriority,Qi={$$typeof:x,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function $i(){return{controller:new Yi,data:new Map,refCount:0}}function ea(e){e.refCount--,e.refCount===0&&Xi(Zi,function(){e.controller.abort()})}var ta=null,na=0,ra=0,ia=null;function aa(e,t){if(ta===null){var n=ta=[];na=0,ra=ud(),ia={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return na++,t.then(oa,oa),t}function oa(){if(--na===0&&ta!==null){ia!==null&&(ia.status=`fulfilled`);var e=ta;ta=null,ra=0,ia=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function sa(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var ca=N.S;N.S=function(e,t){Ql=Oe(),typeof t==`object`&&t&&typeof t.then==`function`&&aa(e,t),ca!==null&&ca(e,t)};var la=ae(null);function ua(){var e=la.current;return e===null?Pl.pooledCache:e}function da(e,t){t===null?se(la,la.current):se(la,t.pool)}function fa(){var e=ua();return e===null?null:{parent:Qi._currentValue,pool:e}}var pa=Error(a(460)),ma=Error(a(474)),ha=Error(a(542)),ga={then:function(){}};function _a(e){return e=e.status,e===`fulfilled`||e===`rejected`}function va(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(Kt,Kt),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Sa(e),e;default:if(typeof t.status==`string`)t.then(Kt,Kt);else{if(e=Pl,e!==null&&100<e.shellSuspendCounter)throw Error(a(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,Sa(e),e}throw ba=t,pa}}function ya(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(ba=e,pa):e}}var ba=null;function xa(){if(ba===null)throw Error(a(459));var e=ba;return ba=null,e}function Sa(e){if(e===pa||e===ha)throw Error(a(483))}var Ca=null,wa=0;function Ta(e){var t=wa;return wa+=1,Ca===null&&(Ca=[]),va(Ca,e,t)}function Ea(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function Da(e,t){throw t.$$typeof===m?Error(a(525)):(e=Object.prototype.toString.call(t),Error(a(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function Oa(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function i(e,t){return e=ni(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=67108866,n):(r=r.index,r<n?(t.flags|=67108866,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=67108866),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=oi(n,e.mode,r),t.return=e,t):(t=i(t,n),t.return=e,t)}function l(e,t,n,r){var a=n.type;return a===_?d(e,t,n.props.children,r,n.key):t!==null&&(t.elementType===a||typeof a==`object`&&a&&a.$$typeof===E&&ya(a)===t.type)?(t=i(t,n.props),Ea(t,n),t.return=e,t):(t=ii(n.type,n.key,n.props,null,e.mode,r),Ea(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=ci(n,e.mode,r),t.return=e,t):(t=i(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,a){return t===null||t.tag!==7?(t=ai(n,e.mode,r,a),t.return=e,t):(t=i(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=oi(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case h:return n=ii(t.type,t.key,t.props,null,e.mode,n),Ea(n,t),n.return=e,n;case g:return t=ci(t,e.mode,n),t.return=e,t;case E:return t=ya(t),f(e,t,n)}if(ee(t)||A(t))return t=ai(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,Ta(t),n);if(t.$$typeof===x)return f(e,qi(e,t),n);Da(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case h:return n.key===i?l(e,t,n,r):null;case g:return n.key===i?u(e,t,n,r):null;case E:return n=ya(n),p(e,t,n,r)}if(ee(n)||A(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,Ta(n),r);if(n.$$typeof===x)return p(e,t,qi(e,n),r);Da(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case h:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case g:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case E:return r=ya(r),m(e,t,n,r,i)}if(ee(r)||A(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,Ta(r),i);if(r.$$typeof===x)return m(e,t,n,qi(t,r),i);Da(t,r)}return null}function v(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),Ti&&J(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return Ti&&J(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&g.alternate!==null&&d.delete(g.key===null?h:g.key),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),Ti&&J(i,h),l}function y(i,s,c,l){if(c==null)throw Error(a(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(i,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(i,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(i,h),Ti&&J(i,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(i,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return Ti&&J(i,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,i,g,v.value,l),v!==null&&(e&&v.alternate!==null&&h.delete(v.key===null?g:v.key),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(i,e)}),Ti&&J(i,g),u}function b(e,r,o,c){if(typeof o==`object`&&o&&o.type===_&&o.key===null&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case h:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===_){if(r.tag===7){n(e,r.sibling),c=i(r,o.props.children),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===E&&ya(l)===r.type){n(e,r.sibling),c=i(r,o.props),Ea(c,o),c.return=e,e=c;break a}n(e,r);break}else t(e,r);r=r.sibling}o.type===_?(c=ai(o.props.children,e.mode,c,o.key),c.return=e,e=c):(c=ii(o.type,o.key,o.props,null,e.mode,c),Ea(c,o),c.return=e,e=c)}return s(e);case g:a:{for(l=o.key;r!==null;){if(r.key===l)if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=i(r,o.children||[]),c.return=e,e=c;break a}else{n(e,r);break}else t(e,r);r=r.sibling}c=ci(o,e.mode,c),c.return=e,e=c}return s(e);case E:return o=ya(o),b(e,r,o,c)}if(ee(o))return v(e,r,o,c);if(A(o)){if(l=A(o),typeof l!=`function`)throw Error(a(150));return o=l.call(o),y(e,r,o,c)}if(typeof o.then==`function`)return b(e,r,Ta(o),c);if(o.$$typeof===x)return b(e,r,qi(e,o),c);Da(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=i(r,o),c.return=e,e=c):(n(e,r),c=oi(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{wa=0;var i=b(e,t,n,r);return Ca=null,i}catch(t){if(t===pa||t===ha)throw t;var a=ei(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var ka=Oa(!0),Aa=Oa(!1),ja=!1;function Ma(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Na(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function Pa(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function Fa(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,Nl&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=Zr(e),Xr(e,null,n),t}return qr(e,r,t,n),Zr(e)}function Ia(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,et(e,n)}}function La(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var Ra=!1;function za(){if(Ra){var e=ia;if(e!==null)throw e}}function Ba(e,t,n,r){Ra=!1;var i=e.updateQueue;ja=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,m=f!==s.lane;if(m?(Fl&f)===f:(r&f)===f){f!==0&&f===ra&&(Ra=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var h=e,g=s;f=t;var _=n;switch(g.tag){case 1:if(h=g.payload,typeof h==`function`){d=h.call(_,d,f);break a}d=h;break a;case 3:h.flags=h.flags&-65537|128;case 0:if(h=g.payload,f=typeof h==`function`?h.call(_,d,f):h,f==null)break a;d=p({},d,f);break a;case 2:ja=!0}}f=s.callback,f!==null&&(e.flags|=64,m&&(e.flags|=8192),m=i.callbacks,m===null?i.callbacks=[f]:m.push(f))}else m={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=m,c=d):u=u.next=m,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;m=s,s=m.next,m.next=null,i.lastBaseUpdate=m,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),Ul|=o,e.lanes=o,e.memoizedState=d}}function Va(e,t){if(typeof e!=`function`)throw Error(a(191,e));e.call(t)}function Ha(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)Va(n[e],t)}var Ua=ae(null),Wa=ae(0);function Ga(e,t){e=Vl,se(Wa,e),se(Ua,t),Vl=e|t.baseLanes}function Ka(){se(Wa,Vl),se(Ua,Ua.current)}function qa(){Vl=Wa.current,oe(Ua),oe(Wa)}var Ja=ae(null),Ya=null;function Xa(e){var t=e.alternate;se(to,to.current&1),se(Ja,e),Ya===null&&(t===null||Ua.current!==null||t.memoizedState!==null)&&(Ya=e)}function Za(e){se(to,to.current),se(Ja,e),Ya===null&&(Ya=e)}function Qa(e){e.tag===22?(se(to,to.current),se(Ja,e),Ya===null&&(Ya=e)):$a(e)}function $a(){se(to,to.current),se(Ja,Ja.current)}function eo(e){oe(Ja),Ya===e&&(Ya=null),oe(to)}var to=ae(0);function no(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||of(n)||sf(n)))return t}else if(t.tag===19&&(t.memoizedProps.revealOrder===`forwards`||t.memoizedProps.revealOrder===`backwards`||t.memoizedProps.revealOrder===`unstable_legacy-backwards`||t.memoizedProps.revealOrder===`together`)){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ro=0,Y=null,io=null,ao=null,oo=!1,so=!1,co=!1,lo=0,uo=0,fo=null,po=0;function mo(){throw Error(a(321))}function ho(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!mr(e[n],t[n]))return!1;return!0}function go(e,t,n,r,i,a){return ro=a,Y=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,N.H=e===null||e.memoizedState===null?Ns:Ps,co=!1,a=n(r,i),co=!1,so&&(a=vo(t,n,r,i)),_o(e),a}function _o(e){N.H=Ms;var t=io!==null&&io.next!==null;if(ro=0,ao=io=Y=null,oo=!1,uo=0,fo=null,t)throw Error(a(300));e===null||Zs||(e=e.dependencies,e!==null&&Wi(e)&&(Zs=!0))}function vo(e,t,n,r){Y=e;var i=0;do{if(so&&(fo=null),uo=0,so=!1,25<=i)throw Error(a(301));if(i+=1,ao=io=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}N.H=Fs,o=t(n,r)}while(so);return o}function yo(){var e=N.H,t=e.useState()[0];return t=typeof t.then==`function`?Eo(t):t,e=e.useState()[0],(io===null?null:io.memoizedState)!==e&&(Y.flags|=1024),t}function bo(){var e=lo!==0;return lo=0,e}function xo(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function So(e){if(oo){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}oo=!1}ro=0,ao=io=Y=null,so=!1,uo=lo=0,fo=null}function Co(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ao===null?Y.memoizedState=ao=e:ao=ao.next=e,ao}function wo(){if(io===null){var e=Y.alternate;e=e===null?null:e.memoizedState}else e=io.next;var t=ao===null?Y.memoizedState:ao.next;if(t!==null)ao=t,io=e;else{if(e===null)throw Y.alternate===null?Error(a(467)):Error(a(310));io=e,e={memoizedState:io.memoizedState,baseState:io.baseState,baseQueue:io.baseQueue,queue:io.queue,next:null},ao===null?Y.memoizedState=ao=e:ao=ao.next=e}return ao}function To(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function Eo(e){var t=uo;return uo+=1,fo===null&&(fo=[]),e=va(fo,e,t),t=Y,(ao===null?t.memoizedState:ao.next)===null&&(t=t.alternate,N.H=t===null||t.memoizedState===null?Ns:Ps),e}function Do(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return Eo(e);if(e.$$typeof===x)return Ki(e)}throw Error(a(438,String(e)))}function Oo(e){var t=null,n=Y.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=Y.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=To(),Y.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=O;return t.index++,n}function ko(e,t){return typeof t==`function`?t(e):t}function Ao(e){return jo(wo(),io,e)}function jo(e,t,n){var r=e.queue;if(r===null)throw Error(a(311));r.lastRenderedReducer=n;var i=e.baseQueue,o=r.pending;if(o!==null){if(i!==null){var s=i.next;i.next=o.next,o.next=s}t.baseQueue=i=o,r.pending=null}if(o=e.baseState,i===null)e.memoizedState=o;else{t=i.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(ro&f)===f:(Fl&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===ra&&(d=!0);else if((ro&p)===p){u=u.next,p===ra&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,Y.lanes|=p,Ul|=p;f=u.action,co&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,Y.lanes|=f,Ul|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!mr(o,e.memoizedState)&&(Zs=!0,d&&(n=ia,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return i===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function Mo(e){var t=wo(),n=t.queue;if(n===null)throw Error(a(311));n.lastRenderedReducer=e;var r=n.dispatch,i=n.pending,o=t.memoizedState;if(i!==null){n.pending=null;var s=i=i.next;do o=e(o,s.action),s=s.next;while(s!==i);mr(o,t.memoizedState)||(Zs=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function No(e,t,n){var r=Y,i=wo(),o=Ti;if(o){if(n===void 0)throw Error(a(407));n=n()}else n=t();var s=!mr((io||i).memoizedState,n);if(s&&(i.memoizedState=n,Zs=!0),i=i.queue,is(Io.bind(null,r,i,e),[e]),i.getSnapshot!==t||s||ao!==null&&ao.memoizedState.tag&1){if(r.flags|=2048,$o(9,{destroy:void 0},Fo.bind(null,r,i,n,t),null),Pl===null)throw Error(a(349));o||ro&127||Po(r,t,n)}return n}function Po(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=Y.updateQueue,t===null?(t=To(),Y.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function Fo(e,t,n,r){t.value=n,t.getSnapshot=r,Lo(t)&&Ro(e)}function Io(e,t,n){return n(function(){Lo(t)&&Ro(e)})}function Lo(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!mr(e,n)}catch{return!0}}function Ro(e){var t=Yr(e,2);t!==null&&pu(t,e,2)}function zo(e){var t=Co();if(typeof e==`function`){var n=e;if(e=n(),co){Re(!0);try{n()}finally{Re(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ko,lastRenderedState:e},t}function Bo(e,t,n,r){return e.baseState=n,jo(e,io,typeof r==`function`?r:ko)}function Vo(e,t,n,r,i){if(ks(e))throw Error(a(485));if(e=t.action,e!==null){var o={payload:i,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};N.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Ho(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Ho(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=N.T,o={};N.T=o;try{var s=n(i,r),c=N.S;c!==null&&c(o,s),Uo(e,t,s)}catch(n){Go(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),N.T=a}}else try{a=n(i,r),Uo(e,t,a)}catch(n){Go(e,t,n)}}function Uo(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Wo(e,t,n)},function(n){return Go(e,t,n)}):Wo(e,t,n)}function Wo(e,t,n){t.status=`fulfilled`,t.value=n,Ko(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Ho(e,n)))}function Go(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,Ko(t),t=t.next;while(t!==r)}e.action=null}function Ko(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function qo(e,t){return t}function Jo(e,t){if(Ti){var n=Pl.formState;if(n!==null){a:{var r=Y;if(Ti){if(wi){b:{for(var i=wi,a=Di;i.nodeType!==8;){if(!a){i=null;break b}if(i=lf(i.nextSibling),i===null){i=null;break b}}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){wi=lf(i.nextSibling),r=i.data===`F!`;break a}}ki(r)}r=!1}r&&(t=n[0])}}return n=Co(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:qo,lastRenderedState:t},n.queue=r,n=Es.bind(null,Y,r),r.dispatch=n,r=zo(!1),a=Os.bind(null,Y,!1,r.queue),r=Co(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Vo.bind(null,Y,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Yo(e){return Xo(wo(),io,e)}function Xo(e,t,n){if(t=jo(e,t,qo)[0],e=Ao(ko)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=Eo(t)}catch(e){throw e===pa?ha:e}else r=t;t=wo();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(Y.flags|=2048,$o(9,{destroy:void 0},Zo.bind(null,i,n),null)),[r,a,e]}function Zo(e,t){e.action=t}function Qo(e){var t=wo(),n=io;if(n!==null)return Xo(t,n,e);wo(),t=t.memoizedState,n=wo();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function $o(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=Y.updateQueue,t===null&&(t=To(),Y.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function es(){return wo().memoizedState}function ts(e,t,n,r){var i=Co();Y.flags|=e,i.memoizedState=$o(1|t,{destroy:void 0},n,r===void 0?null:r)}function ns(e,t,n,r){var i=wo();r=r===void 0?null:r;var a=i.memoizedState.inst;io!==null&&r!==null&&ho(r,io.memoizedState.deps)?i.memoizedState=$o(t,a,n,r):(Y.flags|=e,i.memoizedState=$o(1|t,a,n,r))}function rs(e,t){ts(8390656,8,e,t)}function is(e,t){ns(2048,8,e,t)}function as(e){Y.flags|=4;var t=Y.updateQueue;if(t===null)t=To(),Y.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function os(e){var t=wo().memoizedState;return as({ref:t,nextImpl:e}),function(){if(Nl&2)throw Error(a(440));return t.impl.apply(void 0,arguments)}}function ss(e,t){return ns(4,2,e,t)}function cs(e,t){return ns(4,4,e,t)}function ls(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function us(e,t,n){n=n==null?null:n.concat([e]),ns(4,4,ls.bind(null,t,e),n)}function ds(){}function fs(e,t){var n=wo();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&ho(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function ps(e,t){var n=wo();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&ho(t,r[1]))return r[0];if(r=e(),co){Re(!0);try{e()}finally{Re(!1)}}return n.memoizedState=[r,t],r}function ms(e,t,n){return n===void 0||ro&1073741824&&!(Fl&261930)?e.memoizedState=t:(e.memoizedState=n,e=fu(),Y.lanes|=e,Ul|=e,n)}function hs(e,t,n,r){return mr(n,t)?n:Ua.current===null?!(ro&42)||ro&1073741824&&!(Fl&261930)?(Zs=!0,e.memoizedState=n):(e=fu(),Y.lanes|=e,Ul|=e,t):(e=ms(e,n,r),mr(e,t)||(Zs=!0),e)}function gs(e,t,n,r,i){var a=P.p;P.p=a!==0&&8>a?a:8;var o=N.T,s={};N.T=s,Os(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?Ds(e,t,sa(c,r),du(e)):Ds(e,t,r,du(e))}catch(n){Ds(e,t,{then:function(){},status:`rejected`,reason:n},du())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function _s(){}function vs(e,t,n,r){if(e.tag!==5)throw Error(a(476));var i=ys(e).queue;gs(e,i,t,te,n===null?_s:function(){return bs(e),n(r)})}function ys(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:te,baseState:te,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ko,lastRenderedState:te},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ko,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function bs(e){var t=ys(e);t.next===null&&(t=e.alternate.memoizedState),Ds(e,t.next.queue,{},du())}function xs(){return Ki($f)}function Ss(){return wo().memoizedState}function Cs(){return wo().memoizedState}function ws(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=du();e=Pa(n);var r=Fa(t,e,n);r!==null&&(pu(r,t,n),Ia(r,t,n)),t={cache:$i()},e.payload=t;return}t=t.return}}function Ts(e,t,n){var r=du();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},ks(e)?As(t,n):(n=Jr(e,t,n,r),n!==null&&(pu(n,e,r),js(n,t,r)))}function Es(e,t,n){Ds(e,t,n,du())}function Ds(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(ks(e))As(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,mr(s,o))return qr(e,t,i,0),Pl===null&&Kr(),!1}catch{}if(n=Jr(e,t,i,r),n!==null)return pu(n,e,r),js(n,t,r),!0}return!1}function Os(e,t,n,r){if(r={lane:2,revertLane:ud(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},ks(e)){if(t)throw Error(a(479))}else t=Jr(e,n,r,2),t!==null&&pu(t,e,2)}function ks(e){var t=e.alternate;return e===Y||t!==null&&t===Y}function As(e,t){so=oo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function js(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,et(e,n)}}var Ms={readContext:Ki,use:Do,useCallback:mo,useContext:mo,useEffect:mo,useImperativeHandle:mo,useLayoutEffect:mo,useInsertionEffect:mo,useMemo:mo,useReducer:mo,useRef:mo,useState:mo,useDebugValue:mo,useDeferredValue:mo,useTransition:mo,useSyncExternalStore:mo,useId:mo,useHostTransitionStatus:mo,useFormState:mo,useActionState:mo,useOptimistic:mo,useMemoCache:mo,useCacheRefresh:mo};Ms.useEffectEvent=mo;var Ns={readContext:Ki,use:Do,useCallback:function(e,t){return Co().memoizedState=[e,t===void 0?null:t],e},useContext:Ki,useEffect:rs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),ts(4194308,4,ls.bind(null,t,e),n)},useLayoutEffect:function(e,t){return ts(4194308,4,e,t)},useInsertionEffect:function(e,t){ts(4,2,e,t)},useMemo:function(e,t){var n=Co();t=t===void 0?null:t;var r=e();if(co){Re(!0);try{e()}finally{Re(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=Co();if(n!==void 0){var i=n(t);if(co){Re(!0);try{n(t)}finally{Re(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=Ts.bind(null,Y,e),[r.memoizedState,e]},useRef:function(e){var t=Co();return e={current:e},t.memoizedState=e},useState:function(e){e=zo(e);var t=e.queue,n=Es.bind(null,Y,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:ds,useDeferredValue:function(e,t){return ms(Co(),e,t)},useTransition:function(){var e=zo(!1);return e=gs.bind(null,Y,e.queue,!0,!1),Co().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=Y,i=Co();if(Ti){if(n===void 0)throw Error(a(407));n=n()}else{if(n=t(),Pl===null)throw Error(a(349));Fl&127||Po(r,t,n)}i.memoizedState=n;var o={value:n,getSnapshot:t};return i.queue=o,rs(Io.bind(null,r,o,e),[e]),r.flags|=2048,$o(9,{destroy:void 0},Fo.bind(null,r,o,n,t),null),n},useId:function(){var e=Co(),t=Pl.identifierPrefix;if(Ti){var n=q,r=vi;n=(r&~(1<<32-ze(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=lo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=po++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:xs,useFormState:Jo,useActionState:Jo,useOptimistic:function(e){var t=Co();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=Os.bind(null,Y,!0,n),n.dispatch=t,[e,t]},useMemoCache:Oo,useCacheRefresh:function(){return Co().memoizedState=ws.bind(null,Y)},useEffectEvent:function(e){var t=Co(),n={impl:e};return t.memoizedState=n,function(){if(Nl&2)throw Error(a(440));return n.impl.apply(void 0,arguments)}}},Ps={readContext:Ki,use:Do,useCallback:fs,useContext:Ki,useEffect:is,useImperativeHandle:us,useInsertionEffect:ss,useLayoutEffect:cs,useMemo:ps,useReducer:Ao,useRef:es,useState:function(){return Ao(ko)},useDebugValue:ds,useDeferredValue:function(e,t){return hs(wo(),io.memoizedState,e,t)},useTransition:function(){var e=Ao(ko)[0],t=wo().memoizedState;return[typeof e==`boolean`?e:Eo(e),t]},useSyncExternalStore:No,useId:Ss,useHostTransitionStatus:xs,useFormState:Yo,useActionState:Yo,useOptimistic:function(e,t){return Bo(wo(),io,e,t)},useMemoCache:Oo,useCacheRefresh:Cs};Ps.useEffectEvent=os;var Fs={readContext:Ki,use:Do,useCallback:fs,useContext:Ki,useEffect:is,useImperativeHandle:us,useInsertionEffect:ss,useLayoutEffect:cs,useMemo:ps,useReducer:Mo,useRef:es,useState:function(){return Mo(ko)},useDebugValue:ds,useDeferredValue:function(e,t){var n=wo();return io===null?ms(n,e,t):hs(n,io.memoizedState,e,t)},useTransition:function(){var e=Mo(ko)[0],t=wo().memoizedState;return[typeof e==`boolean`?e:Eo(e),t]},useSyncExternalStore:No,useId:Ss,useHostTransitionStatus:xs,useFormState:Qo,useActionState:Qo,useOptimistic:function(e,t){var n=wo();return io===null?(n.baseState=e,[e,n.queue.dispatch]):Bo(n,io,e,t)},useMemoCache:Oo,useCacheRefresh:Cs};Fs.useEffectEvent=os;function Is(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:p({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var Ls={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=du(),i=Pa(r);i.payload=t,n!=null&&(i.callback=n),t=Fa(e,i,r),t!==null&&(pu(t,e,r),Ia(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=du(),i=Pa(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=Fa(e,i,r),t!==null&&(pu(t,e,r),Ia(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=du(),r=Pa(n);r.tag=2,t!=null&&(r.callback=t),t=Fa(e,r,n),t!==null&&(pu(t,e,n),Ia(t,e,n))}};function Rs(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!hr(n,r)||!hr(i,a):!0}function zs(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&Ls.enqueueReplaceState(t,t.state,null)}function Bs(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=p({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Vs(e){Hr(e)}function Hs(e){console.error(e)}function Us(e){Hr(e)}function Ws(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function Gs(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Ks(e,t,n){return n=Pa(n),n.tag=3,n.payload={element:null},n.callback=function(){Ws(e,t)},n}function qs(e){return e=Pa(e),e.tag=3,e}function Js(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){Gs(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){Gs(t,n,r),typeof i!=`function`&&(tu===null?tu=new Set([this]):tu.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Ys(e,t,n,r,i){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Ui(t,n,i,!0),n=Ja.current,n!==null){switch(n.tag){case 31:case 13:return Ya===null?Tu():n.alternate===null&&Hl===0&&(Hl=3),n.flags&=-257,n.flags|=65536,n.lanes=i,r===ga?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),Wu(e,r,i)),!1;case 22:return n.flags|=65536,r===ga?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),Wu(e,r,i)),!1}throw Error(a(435,n.tag))}return Wu(e,r,i),Tu(),!1}if(Ti)return t=Ja.current,t===null?(r!==Oi&&(t=Error(a(423),{cause:r}),Fi(ui(t,n))),e=e.current.alternate,e.flags|=65536,i&=-i,e.lanes|=i,r=ui(r,n),i=Ks(e.stateNode,r,i),La(e,i),Hl!==4&&(Hl=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=i,r!==Oi&&(e=Error(a(422),{cause:r}),Fi(ui(e,n)))),!1;var o=Error(a(520),{cause:r});if(o=ui(o,n),Jl===null?Jl=[o]:Jl.push(o),Hl!==4&&(Hl=2),t===null)return!0;r=ui(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=i&-i,n.lanes|=e,e=Ks(n.stateNode,r,e),La(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(tu===null||!tu.has(o))))return n.flags|=65536,i&=-i,n.lanes|=i,i=qs(i),Js(i,e,n,r),La(n,i),!1}n=n.return}while(n!==null);return!1}var Xs=Error(a(461)),Zs=!1;function Qs(e,t,n,r){t.child=e===null?Aa(t,null,n,r):ka(t,e.child,n,r)}function $s(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return Gi(t),r=go(e,t,n,o,a,i),s=bo(),e!==null&&!Zs?(xo(e,t,i),Cc(e,t,i)):(Ti&&s&&bi(t),t.flags|=1,Qs(e,t,r,i),t.child)}function ec(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!ti(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,tc(e,t,a,r,i)):(e=ii(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!wc(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?hr:n,n(o,r)&&e.ref===t.ref)return Cc(e,t,i)}return t.flags|=1,e=ni(a,r),e.ref=t.ref,e.return=t,t.child=e}function tc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(hr(a,r)&&e.ref===t.ref)if(Zs=!1,t.pendingProps=r=a,wc(e,i))e.flags&131072&&(Zs=!0);else return t.lanes=e.lanes,Cc(e,t,i)}return lc(e,t,n,r,i)}function nc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return ic(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&da(t,a===null?null:a.cachePool),a===null?Ka():Ga(t,a),Qa(t);else return r=t.lanes=536870912,ic(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&da(t,null),Ka(),$a(t)):(da(t,a.cachePool),Ga(t,a),$a(t),t.memoizedState=null);return Qs(e,t,i,n),t.child}function rc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function ic(e,t,n,r,i){var a=ua();return a=a===null?null:{parent:Qi._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&da(t,null),Ka(),Qa(t),e!==null&&Ui(e,t,r,!0),t.childLanes=i,null}function ac(e,t){return t=vc({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function oc(e,t,n){return ka(t,e.child,null,n),e=ac(t,t.pendingProps),e.flags|=2,eo(t),t.memoizedState=null,e}function sc(e,t,n){var r=t.pendingProps,i=(t.flags&128)!=0;if(t.flags&=-129,e===null){if(Ti){if(r.mode===`hidden`)return e=ac(t,r),t.lanes=536870912,rc(null,e);if(Za(t),(e=wi)?(e=af(e,Di),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:_i===null?null:{id:vi,overflow:q},retryLane:536870912,hydrationErrors:null},n=si(e),n.return=t,t.child=n,Ci=t,wi=null)):e=null,e===null)throw ki(t);return t.lanes=536870912,null}return ac(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Za(t),i)if(t.flags&256)t.flags&=-257,t=oc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(a(558));else if(Zs||Ui(e,t,n,!1),i=(n&e.childLanes)!==0,Zs||i){if(r=Pl,r!==null&&(s=tt(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Yr(e,s),pu(r,e,s),Xs;Tu(),t=oc(e,t,n)}else e=o.treeContext,wi=lf(s.nextSibling),Ci=t,Ti=!0,Ei=null,Di=!1,e!==null&&Si(t,e),t=ac(t,r),t.flags|=4096;return t}return e=ni(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function cc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(a(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function lc(e,t,n,r,i){return Gi(t),n=go(e,t,n,r,void 0,i),r=bo(),e!==null&&!Zs?(xo(e,t,i),Cc(e,t,i)):(Ti&&r&&bi(t),t.flags|=1,Qs(e,t,n,i),t.child)}function uc(e,t,n,r,i,a){return Gi(t),t.updateQueue=null,n=vo(t,r,n,i),_o(e),r=bo(),e!==null&&!Zs?(xo(e,t,a),Cc(e,t,a)):(Ti&&r&&bi(t),t.flags|=1,Qs(e,t,n,a),t.child)}function dc(e,t,n,r,i){if(Gi(t),t.stateNode===null){var a=Qr,o=n.contextType;typeof o==`object`&&o&&(a=Ki(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=Ls,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},Ma(t),o=n.contextType,a.context=typeof o==`object`&&o?Ki(o):Qr,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(Is(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&Ls.enqueueReplaceState(a,a.state,null),Ba(t,r,a,i),za(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=Bs(n,s);a.props=c;var l=a.context,u=n.contextType;o=Qr,typeof u==`object`&&u&&(o=Ki(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&zs(t,a,r,o),ja=!1;var f=t.memoizedState;a.state=f,Ba(t,r,a,i),za(),l=t.memoizedState,s||f!==l||ja?(typeof d==`function`&&(Is(t,n,d,r),l=t.memoizedState),(c=ja||Rs(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,Na(e,t),o=t.memoizedProps,u=Bs(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Qr,typeof l==`object`&&l&&(c=Ki(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&zs(t,a,r,c),ja=!1,f=t.memoizedState,a.state=f,Ba(t,r,a,i),za();var p=t.memoizedState;o!==d||f!==p||ja||e!==null&&e.dependencies!==null&&Wi(e.dependencies)?(typeof s==`function`&&(Is(t,n,s,r),p=t.memoizedState),(u=ja||Rs(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Wi(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,cc(e,t),r=(t.flags&128)!=0,a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=ka(t,e.child,null,i),t.child=ka(t,null,n,i)):Qs(e,t,n,i),t.memoizedState=a.state,e=t.child):e=Cc(e,t,i),e}function fc(e,t,n,r){return Ni(),t.flags|=256,Qs(e,t,n,r),t.child}var pc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function mc(e){return{baseLanes:e,cachePool:fa()}}function hc(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=Kl),e}function gc(e,t,n){var r=t.pendingProps,i=!1,o=(t.flags&128)!=0,s;if((s=o)||(s=e!==null&&e.memoizedState===null?!1:(to.current&2)!=0),s&&(i=!0,t.flags&=-129),s=(t.flags&32)!=0,t.flags&=-33,e===null){if(Ti){if(i?Xa(t):$a(t),(e=wi)?(e=af(e,Di),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:_i===null?null:{id:vi,overflow:q},retryLane:536870912,hydrationErrors:null},n=si(e),n.return=t,t.child=n,Ci=t,wi=null)):e=null,e===null)throw ki(t);return sf(e)?t.lanes=32:t.lanes=536870912,null}var c=r.children;return r=r.fallback,i?($a(t),i=t.mode,c=vc({mode:`hidden`,children:c},i),r=ai(r,i,n,null),c.return=t,r.return=t,c.sibling=r,t.child=c,r=t.child,r.memoizedState=mc(n),r.childLanes=hc(e,s,n),t.memoizedState=pc,rc(null,r)):(Xa(t),_c(t,c))}var l=e.memoizedState;if(l!==null&&(c=l.dehydrated,c!==null)){if(o)t.flags&256?(Xa(t),t.flags&=-257,t=yc(e,t,n)):t.memoizedState===null?($a(t),c=r.fallback,i=t.mode,r=vc({mode:`visible`,children:r.children},i),c=ai(c,i,n,null),c.flags|=2,r.return=t,c.return=t,r.sibling=c,t.child=r,ka(t,e.child,null,n),r=t.child,r.memoizedState=mc(n),r.childLanes=hc(e,s,n),t.memoizedState=pc,t=rc(null,r)):($a(t),t.child=e.child,t.flags|=128,t=null);else if(Xa(t),sf(c)){if(s=c.nextSibling&&c.nextSibling.dataset,s)var u=s.dgst;s=u,r=Error(a(419)),r.stack=``,r.digest=s,Fi({value:r,source:null,stack:null}),t=yc(e,t,n)}else if(Zs||Ui(e,t,n,!1),s=(n&e.childLanes)!==0,Zs||s){if(s=Pl,s!==null&&(r=tt(s,n),r!==0&&r!==l.retryLane))throw l.retryLane=r,Yr(e,r),pu(s,e,r),Xs;of(c)||Tu(),t=yc(e,t,n)}else of(c)?(t.flags|=192,t.child=e.child,t=null):(e=l.treeContext,wi=lf(c.nextSibling),Ci=t,Ti=!0,Ei=null,Di=!1,e!==null&&Si(t,e),t=_c(t,r.children),t.flags|=4096);return t}return i?($a(t),c=r.fallback,i=t.mode,l=e.child,u=l.sibling,r=ni(l,{mode:`hidden`,children:r.children}),r.subtreeFlags=l.subtreeFlags&65011712,u===null?(c=ai(c,i,n,null),c.flags|=2):c=ni(u,c),c.return=t,r.return=t,r.sibling=c,t.child=r,rc(null,r),r=t.child,c=e.child.memoizedState,c===null?c=mc(n):(i=c.cachePool,i===null?i=fa():(l=Qi._currentValue,i=i.parent===l?i:{parent:l,pool:l}),c={baseLanes:c.baseLanes|n,cachePool:i}),r.memoizedState=c,r.childLanes=hc(e,s,n),t.memoizedState=pc,rc(e.child,r)):(Xa(t),n=e.child,e=n.sibling,n=ni(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(s=t.deletions,s===null?(t.deletions=[e],t.flags|=16):s.push(e)),t.child=n,t.memoizedState=null,n)}function _c(e,t){return t=vc({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function vc(e,t){return e=ei(22,e,null,t),e.lanes=0,e}function yc(e,t,n){return ka(t,e.child,null,n),e=_c(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function bc(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),Vi(e.return,t,n)}function xc(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function Sc(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=to.current,s=(o&2)!=0;if(s?(o=o&1|2,t.flags|=128):o&=1,se(to,o),Qs(e,t,r,n),r=Ti?mi:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&bc(e,n,t);else if(e.tag===19)bc(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`forwards`:for(n=t.child,i=null;n!==null;)e=n.alternate,e!==null&&no(e)===null&&(i=n),n=n.sibling;n=i,n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),xc(t,!1,i,n,a,r);break;case`backwards`:case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&no(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}xc(t,!0,n,null,a,r);break;case`together`:xc(t,!1,null,null,void 0,r);break;default:t.memoizedState=null}return t.child}function Cc(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),Ul|=t.lanes,(n&t.childLanes)===0)if(e!==null){if(Ui(e,t,n,!1),(n&t.childLanes)===0)return null}else return null;if(e!==null&&t.child!==e.child)throw Error(a(153));if(t.child!==null){for(e=t.child,n=ni(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=ni(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function wc(e,t){return(e.lanes&t)===0?(e=e.dependencies,!!(e!==null&&Wi(e))):!0}function Tc(e,t,n){switch(t.tag){case 3:fe(t,t.stateNode.containerInfo),zi(t,Qi,e.memoizedState.cache),Ni();break;case 27:case 5:me(t);break;case 4:fe(t,t.stateNode.containerInfo);break;case 10:zi(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Za(t),null;break;case 13:var r=t.memoizedState;if(r!==null)return r.dehydrated===null?(n&t.child.childLanes)===0?(Xa(t),e=Cc(e,t,n),e===null?null:e.sibling):gc(e,t,n):(Xa(t),t.flags|=128,null);Xa(t);break;case 19:var i=(e.flags&128)!=0;if(r=(n&t.childLanes)!==0,r||=(Ui(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return Sc(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),se(to,to.current),r)break;return null;case 22:return t.lanes=0,nc(e,t,n,t.pendingProps);case 24:zi(t,Qi,e.memoizedState.cache)}return Cc(e,t,n)}function Ec(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps)Zs=!0;else{if(!wc(e,n)&&!(t.flags&128))return Zs=!1,Tc(e,t,n);Zs=!!(e.flags&131072)}else Zs=!1,Ti&&t.flags&1048576&&yi(t,mi,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=ya(t.elementType),t.type=e,typeof e==`function`)ti(e)?(r=Bs(e,r),t.tag=1,t=dc(null,t,e,r,n)):(t.tag=0,t=lc(null,t,e,r,n));else{if(e!=null){var i=e.$$typeof;if(i===S){t.tag=11,t=$s(null,t,e,r,n);break a}else if(i===T){t.tag=14,t=ec(null,t,e,r,n);break a}}throw t=M(e)||e,Error(a(306,t,``))}}return t;case 0:return lc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,i=Bs(r,t.pendingProps),dc(e,t,r,i,n);case 3:a:{if(fe(t,t.stateNode.containerInfo),e===null)throw Error(a(387));r=t.pendingProps;var o=t.memoizedState;i=o.element,Na(e,t),Ba(t,r,null,n);var s=t.memoizedState;if(r=s.cache,zi(t,Qi,r),r!==o.cache&&Hi(t,[Qi],n,!0),za(),r=s.element,o.isDehydrated)if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=fc(e,t,r,n);break a}else if(r!==i){i=ui(Error(a(424)),t),Fi(i),t=fc(e,t,r,n);break a}else{switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(wi=lf(e.firstChild),Ci=t,Ti=!0,Ei=null,Di=!0,n=Aa(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling}else{if(Ni(),r===i){t=Cc(e,t,n);break a}Qs(e,t,r,n)}t=t.child}return t;case 26:return cc(e,t),e===null?(n=Af(t.type,null,t.pendingProps,null))?t.memoizedState=n:Ti||(n=t.type,e=t.pendingProps,r=Vd(ue.current).createElement(n),r[z]=t,r[at]=e,Fd(r,n,e),U(r),t.stateNode=r):t.memoizedState=Af(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return me(t),e===null&&Ti&&(r=t.stateNode=pf(t.type,t.pendingProps,ue.current),Ci=t,Di=!0,i=wi,Qd(t.type)?(uf=i,wi=lf(r.firstChild)):wi=i),Qs(e,t,t.pendingProps.children,n),cc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&Ti&&((i=r=wi)&&(r=nf(r,t.type,t.pendingProps,Di),r===null?i=!1:(t.stateNode=r,Ci=t,wi=lf(r.firstChild),Di=!1,i=!0)),i||ki(t)),me(t),i=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,Wd(i,o)?r=null:s!==null&&Wd(i,s)&&(t.flags|=32),t.memoizedState!==null&&(i=go(e,t,yo,null,null,n),$f._currentValue=i),cc(e,t),Qs(e,t,r,n),t.child;case 6:return e===null&&Ti&&((e=n=wi)&&(n=rf(n,t.pendingProps,Di),n===null?e=!1:(t.stateNode=n,Ci=t,wi=null,e=!0)),e||ki(t)),null;case 13:return gc(e,t,n);case 4:return fe(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=ka(t,null,r,n):Qs(e,t,r,n),t.child;case 11:return $s(e,t,t.type,t.pendingProps,n);case 7:return Qs(e,t,t.pendingProps,n),t.child;case 8:return Qs(e,t,t.pendingProps.children,n),t.child;case 12:return Qs(e,t,t.pendingProps.children,n),t.child;case 10:return r=t.pendingProps,zi(t,t.type,r.value),Qs(e,t,r.children,n),t.child;case 9:return i=t.type._context,r=t.pendingProps.children,Gi(t),i=Ki(i),r=r(i),t.flags|=1,Qs(e,t,r,n),t.child;case 14:return ec(e,t,t.type,t.pendingProps,n);case 15:return tc(e,t,t.type,t.pendingProps,n);case 19:return Sc(e,t,n);case 31:return sc(e,t,n);case 22:return nc(e,t,n,t.pendingProps);case 24:return Gi(t),r=Ki(Qi),e===null?(i=ua(),i===null&&(i=Pl,o=$i(),i.pooledCache=o,o.refCount++,o!==null&&(i.pooledCacheLanes|=n),i=o),t.memoizedState={parent:r,cache:i},Ma(t),zi(t,Qi,i)):((e.lanes&n)!==0&&(Na(e,t),Ba(t,null,null,n),za()),i=e.memoizedState,o=t.memoizedState,i.parent===r?(r=o.cache,zi(t,Qi,r),r!==i.cache&&Hi(t,[Qi],n,!0)):(i={parent:r,cache:r},t.memoizedState=i,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=i),zi(t,Qi,r))),Qs(e,t,t.pendingProps.children,n),t.child;case 29:throw t.pendingProps}throw Error(a(156,t.tag))}function Dc(e){e.flags|=4}function Oc(e,t,n,r,i){if((t=(e.mode&32)!=0)&&(t=!1),t){if(e.flags|=16777216,(i&335544128)===i)if(e.stateNode.complete)e.flags|=8192;else if(Su())e.flags|=8192;else throw ba=ga,ma}else e.flags&=-16777217}function kc(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Gf(t))if(Su())e.flags|=8192;else throw ba=ga,ma}function Ac(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:Ye(),e.lanes|=t,ql|=t)}function jc(e,t){if(!Ti)switch(e.tailMode){case`hidden`:t=e.tail;for(var n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null;break;case`collapsed`:n=e.tail;for(var r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null}}function X(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&65011712,r|=i.flags&65011712,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Mc(e,t,n){var r=t.pendingProps;switch(xi(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return X(t),null;case 1:return X(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),Bi(Qi),pe(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(Mi(t)?Dc(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Pi())),X(t),null;case 26:var i=t.type,o=t.memoizedState;return e===null?(Dc(t),o===null?(X(t),Oc(t,i,null,r,n)):(X(t),kc(t,o))):o?o===e.memoizedState?(X(t),t.flags&=-16777217):(Dc(t),X(t),kc(t,o)):(e=e.memoizedProps,e!==r&&Dc(t),X(t),Oc(t,i,e,r,n)),null;case 27:if(he(t),n=ue.current,i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Dc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return X(t),null}e=ce.current,Mi(t)?Ai(t,e):(e=pf(i,r,n),t.stateNode=e,Dc(t))}return X(t),null;case 5:if(he(t),i=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&Dc(t);else{if(!r){if(t.stateNode===null)throw Error(a(166));return X(t),null}if(o=ce.current,Mi(t))Ai(t,o);else{var s=Vd(ue.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;default:switch(i){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,i);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,i);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(i,{is:r.is}):s.createElement(i)}}o[z]=t,o[at]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(Fd(o,i,r),i){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&Dc(t)}}return X(t),Oc(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&Dc(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(a(166));if(e=ue.current,Mi(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,i=Ci,i!==null)switch(i.tag){case 27:case 5:r=i.memoizedProps}e[z]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||Md(e.nodeValue,n)),e||ki(t,!0)}else e=Vd(e).createTextNode(r),e[z]=t,t.stateNode=e}return X(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=Mi(t),n!==null){if(e===null){if(!r)throw Error(a(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(a(557));e[z]=t}else Ni(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;X(t),e=!1}else n=Pi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(eo(t),t):(eo(t),null);if(t.flags&128)throw Error(a(558))}return X(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(i=Mi(t),r!==null&&r.dehydrated!==null){if(e===null){if(!i)throw Error(a(318));if(i=t.memoizedState,i=i===null?null:i.dehydrated,!i)throw Error(a(317));i[z]=t}else Ni(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;X(t),i=!1}else i=Pi(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=i),i=!0;if(!i)return t.flags&256?(eo(t),t):(eo(t),null)}return eo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,i=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(i=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==i&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),Ac(t,t.updateQueue),X(t),null);case 4:return pe(),e===null&&Sd(t.stateNode.containerInfo),X(t),null;case 10:return Bi(t.type),X(t),null;case 19:if(oe(to),r=t.memoizedState,r===null)return X(t),null;if(i=(t.flags&128)!=0,o=r.rendering,o===null)if(i)jc(r,!1);else{if(Hl!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=no(e),o!==null){for(t.flags|=128,jc(r,!1),e=o.updateQueue,t.updateQueue=e,Ac(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)ri(n,e),n=n.sibling;return se(to,to.current&1|2),Ti&&J(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Oe()>$l&&(t.flags|=128,i=!0,jc(r,!1),t.lanes=4194304)}else{if(!i)if(e=no(o),e!==null){if(t.flags|=128,i=!0,e=e.updateQueue,t.updateQueue=e,Ac(t,e),jc(r,!0),r.tail===null&&r.tailMode===`hidden`&&!o.alternate&&!Ti)return X(t),null}else 2*Oe()-r.renderingStartTime>$l&&n!==536870912&&(t.flags|=128,i=!0,jc(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}return r.tail===null?(X(t),null):(e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Oe(),e.sibling=null,n=to.current,se(to,i?n&1|2:n&1),Ti&&J(t,r.treeForkCount),e);case 22:case 23:return eo(t),qa(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(X(t),t.subtreeFlags&6&&(t.flags|=8192)):X(t),n=t.updateQueue,n!==null&&Ac(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&oe(la),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),Bi(Qi),X(t),null;case 25:return null;case 30:return null}throw Error(a(156,t.tag))}function Nc(e,t){switch(xi(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Bi(Qi),pe(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return he(t),null;case 31:if(t.memoizedState!==null){if(eo(t),t.alternate===null)throw Error(a(340));Ni()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(eo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(a(340));Ni()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return oe(to),null;case 4:return pe(),null;case 10:return Bi(t.type),null;case 22:case 23:return eo(t),qa(),e!==null&&oe(la),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return Bi(Qi),null;case 25:return null;default:return null}}function Pc(e,t){switch(xi(t),t.tag){case 3:Bi(Qi),pe();break;case 26:case 27:case 5:he(t);break;case 4:pe();break;case 31:t.memoizedState!==null&&eo(t);break;case 13:eo(t);break;case 19:oe(to);break;case 10:Bi(t.type);break;case 22:case 23:eo(t),qa(),e!==null&&oe(la);break;case 24:Bi(Qi)}}function Fc(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){Uu(t,t.return,e)}}function Ic(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){Uu(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){Uu(t,t.return,e)}}function Lc(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{Ha(t,n)}catch(t){Uu(e,e.return,t)}}}function Rc(e,t,n){n.props=Bs(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){Uu(e,t,n)}}function zc(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){Uu(e,t,n)}}function Bc(e,t){var n=e.ref,r=e.refCleanup;if(n!==null)if(typeof r==`function`)try{r()}catch(n){Uu(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){Uu(e,t,n)}else n.current=null}function Vc(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){Uu(e,e.return,t)}}function Hc(e,t,n){try{var r=e.stateNode;Id(r,e.type,n,t),r[at]=t}catch(t){Uu(e,e.return,t)}}function Uc(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Qd(e.type)||e.tag===4}function Wc(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Uc(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Qd(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Gc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(e,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(e),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Kt));else if(r!==4&&(r===27&&Qd(e.type)&&(n=e.stateNode,t=null),e=e.child,e!==null))for(Gc(e,t,n),e=e.sibling;e!==null;)Gc(e,t,n),e=e.sibling}function Kc(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(r===27&&Qd(e.type)&&(n=e.stateNode),e=e.child,e!==null))for(Kc(e,t,n),e=e.sibling;e!==null;)Kc(e,t,n),e=e.sibling}function qc(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);Fd(t,r,n),t[z]=e,t[at]=n}catch(t){Uu(e,e.return,t)}}var Jc=!1,Yc=!1,Xc=!1,Zc=typeof WeakSet==`function`?WeakSet:Set,Qc=null;function $c(e,t){if(e=e.containerInfo,zd=sp,e=yr(e),br(e)){if(`selectionStart`in e)var n={start:e.selectionStart,end:e.selectionEnd};else a:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,o=r.focusNode;r=r.focusOffset;try{n.nodeType,o.nodeType}catch{n=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==n||i!==0&&f.nodeType!==3||(c=s+i),f!==o||r!==0&&f.nodeType!==3||(l=s+r),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===n&&++u===i&&(c=s),p===o&&++d===r&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}n=c===-1||l===-1?null:{start:c,end:l}}else n=null}n||={start:0,end:0}}else n=null;for(Bd={focusedElem:e,selectionRange:n},sp=!1,Qc=t;Qc!==null;)if(t=Qc,e=t.child,t.subtreeFlags&1028&&e!==null)e.return=t,Qc=e;else for(;Qc!==null;){switch(t=Qc,o=t.alternate,e=t.flags,t.tag){case 0:if(e&4&&(e=t.updateQueue,e=e===null?null:e.events,e!==null))for(n=0;n<e.length;n++)i=e[n],i.ref.impl=i.nextImpl;break;case 11:case 15:break;case 1:if(e&1024&&o!==null){e=void 0,n=t,i=o.memoizedProps,o=o.memoizedState,r=n.stateNode;try{var h=Bs(n.type,i);e=r.getSnapshotBeforeUpdate(h,o),r.__reactInternalSnapshotBeforeUpdate=e}catch(e){Uu(n,n.return,e)}}break;case 3:if(e&1024){if(e=t.stateNode.containerInfo,n=e.nodeType,n===9)tf(e);else if(n===1)switch(e.nodeName){case`HEAD`:case`HTML`:case`BODY`:tf(e);break;default:e.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;default:if(e&1024)throw Error(a(163))}if(e=t.sibling,e!==null){e.return=t.return,Qc=e;break}Qc=t.return}}function el(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:ml(e,n),r&4&&Fc(5,n);break;case 1:if(ml(e,n),r&4)if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){Uu(n,n.return,e)}else{var i=Bs(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){Uu(n,n.return,e)}}r&64&&Lc(n),r&512&&zc(n,n.return);break;case 3:if(ml(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{Ha(e,t)}catch(e){Uu(n,n.return,e)}}break;case 27:t===null&&r&4&&qc(n);case 26:case 5:ml(e,n),t===null&&r&4&&Vc(n),r&512&&zc(n,n.return);break;case 12:ml(e,n);break;case 31:ml(e,n),r&4&&al(e,n);break;case 13:ml(e,n),r&4&&ol(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=qu.bind(null,n),cf(e,n))));break;case 22:if(r=n.memoizedState!==null||Jc,!r){t=t!==null&&t.memoizedState!==null||Yc,i=Jc;var a=Yc;Jc=r,(Yc=t)&&!a?gl(e,n,(n.subtreeFlags&8772)!=0):ml(e,n),Jc=i,Yc=a}break;case 30:break;default:ml(e,n)}}function tl(e){var t=e.alternate;t!==null&&(e.alternate=null,tl(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&<(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var Z=null,nl=!1;function rl(e,t,n){for(n=n.child;n!==null;)il(e,t,n),n=n.sibling}function il(e,t,n){if(Le&&typeof Le.onCommitFiberUnmount==`function`)try{Le.onCommitFiberUnmount(Ie,n)}catch{}switch(n.tag){case 26:Yc||Bc(n,t),rl(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:Yc||Bc(n,t);var r=Z,i=nl;Qd(n.type)&&(Z=n.stateNode,nl=!1),rl(e,t,n),mf(n.stateNode),Z=r,nl=i;break;case 5:Yc||Bc(n,t);case 6:if(r=Z,i=nl,Z=null,rl(e,t,n),Z=r,nl=i,Z!==null)if(nl)try{(Z.nodeType===9?Z.body:Z.nodeName===`HTML`?Z.ownerDocument.body:Z).removeChild(n.stateNode)}catch(e){Uu(n,t,e)}else try{Z.removeChild(n.stateNode)}catch(e){Uu(n,t,e)}break;case 18:Z!==null&&(nl?(e=Z,$d(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Np(e)):$d(Z,n.stateNode));break;case 4:r=Z,i=nl,Z=n.stateNode.containerInfo,nl=!0,rl(e,t,n),Z=r,nl=i;break;case 0:case 11:case 14:case 15:Ic(2,n,t),Yc||Ic(4,n,t),rl(e,t,n);break;case 1:Yc||(Bc(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Rc(n,t,r)),rl(e,t,n);break;case 21:rl(e,t,n);break;case 22:Yc=(r=Yc)||n.memoizedState!==null,rl(e,t,n),Yc=r;break;default:rl(e,t,n)}}function al(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Np(e)}catch(e){Uu(t,t.return,e)}}}function ol(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Np(e)}catch(e){Uu(t,t.return,e)}}function sl(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new Zc),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new Zc),t;default:throw Error(a(435,e.tag))}}function cl(e,t){var n=sl(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=Ju.bind(null,e,t);t.then(r,r)}})}function ll(e,t){var n=t.deletions;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r],o=e,s=t,c=s;a:for(;c!==null;){switch(c.tag){case 27:if(Qd(c.type)){Z=c.stateNode,nl=!1;break a}break;case 5:Z=c.stateNode,nl=!1;break a;case 3:case 4:Z=c.stateNode.containerInfo,nl=!0;break a}c=c.return}if(Z===null)throw Error(a(160));il(o,s,i),Z=null,nl=!1,o=i.alternate,o!==null&&(o.return=null),i.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)dl(t,e),t=t.sibling}var ul=null;function dl(e,t){var n=e.alternate,r=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:ll(t,e),fl(e),r&4&&(Ic(3,e,e.return),Fc(3,e),Ic(5,e,e.return));break;case 1:ll(t,e),fl(e),r&512&&(Yc||n===null||Bc(n,n.return)),r&64&&Jc&&(e=e.updateQueue,e!==null&&(r=e.callbacks,r!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?r:n.concat(r))));break;case 26:var i=ul;if(ll(t,e),fl(e),r&512&&(Yc||n===null||Bc(n,n.return)),r&4){var o=n===null?null:n.memoizedState;if(r=e.memoizedState,n===null)if(r===null)if(e.stateNode===null){a:{r=e.type,n=e.memoizedProps,i=i.ownerDocument||i;b:switch(r){case`title`:o=i.getElementsByTagName(`title`)[0],(!o||o[ct]||o[z]||o.namespaceURI===`http://www.w3.org/2000/svg`||o.hasAttribute(`itemprop`))&&(o=i.createElement(r),i.head.insertBefore(o,i.querySelector(`head > title`))),Fd(o,r,n),o[z]=e,U(o),r=o;break a;case`link`:var s=Hf(`link`,`href`,i).get(r+(n.href||``));if(s){for(var c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&o.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&o.getAttribute(`title`)===(n.title==null?null:n.title)&&o.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){s.splice(c,1);break b}}o=i.createElement(r),Fd(o,r,n),i.head.appendChild(o);break;case`meta`:if(s=Hf(`meta`,`content`,i).get(r+(n.content||``))){for(c=0;c<s.length;c++)if(o=s[c],o.getAttribute(`content`)===(n.content==null?null:``+n.content)&&o.getAttribute(`name`)===(n.name==null?null:n.name)&&o.getAttribute(`property`)===(n.property==null?null:n.property)&&o.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&o.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){s.splice(c,1);break b}}o=i.createElement(r),Fd(o,r,n),i.head.appendChild(o);break;default:throw Error(a(468,r))}o[z]=e,U(o),r=o}e.stateNode=r}else Uf(i,e.type,e.stateNode);else e.stateNode=Lf(i,r,e.memoizedProps);else o===r?r===null&&e.stateNode!==null&&Hc(e,e.memoizedProps,n.memoizedProps):(o===null?n.stateNode!==null&&(n=n.stateNode,n.parentNode.removeChild(n)):o.count--,r===null?Uf(i,e.type,e.stateNode):Lf(i,r,e.memoizedProps))}break;case 27:ll(t,e),fl(e),r&512&&(Yc||n===null||Bc(n,n.return)),n!==null&&r&4&&Hc(e,e.memoizedProps,n.memoizedProps);break;case 5:if(ll(t,e),fl(e),r&512&&(Yc||n===null||Bc(n,n.return)),e.flags&32){i=e.stateNode;try{Lt(i,``)}catch(t){Uu(e,e.return,t)}}r&4&&e.stateNode!=null&&(i=e.memoizedProps,Hc(e,i,n===null?i:n.memoizedProps)),r&1024&&(Xc=!0);break;case 6:if(ll(t,e),fl(e),r&4){if(e.stateNode===null)throw Error(a(162));r=e.memoizedProps,n=e.stateNode;try{n.nodeValue=r}catch(t){Uu(e,e.return,t)}}break;case 3:if(Vf=null,i=ul,ul=_f(t.containerInfo),ll(t,e),ul=i,fl(e),r&4&&n!==null&&n.memoizedState.isDehydrated)try{Np(t.containerInfo)}catch(t){Uu(e,e.return,t)}Xc&&(Xc=!1,pl(e));break;case 4:r=ul,ul=_f(e.stateNode.containerInfo),ll(t,e),fl(e),ul=r;break;case 12:ll(t,e),fl(e);break;case 31:ll(t,e),fl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,cl(e,r)));break;case 13:ll(t,e),fl(e),e.child.flags&8192&&e.memoizedState!==null!=(n!==null&&n.memoizedState!==null)&&(Zl=Oe()),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,cl(e,r)));break;case 22:i=e.memoizedState!==null;var l=n!==null&&n.memoizedState!==null,u=Jc,d=Yc;if(Jc=u||i,Yc=d||l,ll(t,e),Yc=d,Jc=u,fl(e),r&8192)a:for(t=e.stateNode,t._visibility=i?t._visibility&-2:t._visibility|1,i&&(n===null||l||Jc||Yc||hl(e)),n=null,t=e;;){if(t.tag===5||t.tag===26){if(n===null){l=n=t;try{if(o=l.stateNode,i)s=o.style,typeof s.setProperty==`function`?s.setProperty(`display`,`none`,`important`):s.display=`none`;else{c=l.stateNode;var f=l.memoizedProps.style,p=f!=null&&f.hasOwnProperty(`display`)?f.display:null;c.style.display=p==null||typeof p==`boolean`?``:(``+p).trim()}}catch(e){Uu(l,l.return,e)}}}else if(t.tag===6){if(n===null){l=t;try{l.stateNode.nodeValue=i?``:l.memoizedProps}catch(e){Uu(l,l.return,e)}}}else if(t.tag===18){if(n===null){l=t;try{var m=l.stateNode;i?ef(m,!0):ef(l.stateNode,!1)}catch(e){Uu(l,l.return,e)}}}else if((t.tag!==22&&t.tag!==23||t.memoizedState===null||t===e)&&t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break a;for(;t.sibling===null;){if(t.return===null||t.return===e)break a;n===t&&(n=null),t=t.return}n===t&&(n=null),t.sibling.return=t.return,t=t.sibling}r&4&&(r=e.updateQueue,r!==null&&(n=r.retryQueue,n!==null&&(r.retryQueue=null,cl(e,n))));break;case 19:ll(t,e),fl(e),r&4&&(r=e.updateQueue,r!==null&&(e.updateQueue=null,cl(e,r)));break;case 30:break;case 21:break;default:ll(t,e),fl(e)}}function fl(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Uc(r)){n=r;break}r=r.return}if(n==null)throw Error(a(160));switch(n.tag){case 27:var i=n.stateNode;Kc(e,Wc(e),i);break;case 5:var o=n.stateNode;n.flags&32&&(Lt(o,``),n.flags&=-33),Kc(e,Wc(e),o);break;case 3:case 4:var s=n.stateNode.containerInfo;Gc(e,Wc(e),s);break;default:throw Error(a(161))}}catch(t){Uu(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function pl(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;pl(t),t.tag===5&&t.flags&1024&&t.stateNode.reset(),e=e.sibling}}function ml(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)el(e,t.alternate,t),t=t.sibling}function hl(e){for(e=e.child;e!==null;){var t=e;switch(t.tag){case 0:case 11:case 14:case 15:Ic(4,t,t.return),hl(t);break;case 1:Bc(t,t.return);var n=t.stateNode;typeof n.componentWillUnmount==`function`&&Rc(t,t.return,n),hl(t);break;case 27:mf(t.stateNode);case 26:case 5:Bc(t,t.return),hl(t);break;case 22:t.memoizedState===null&&hl(t);break;case 30:hl(t);break;default:hl(t)}e=e.sibling}}function gl(e,t,n){for(n&&=(t.subtreeFlags&8772)!=0,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags;switch(a.tag){case 0:case 11:case 15:gl(i,a,n),Fc(4,a);break;case 1:if(gl(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){Uu(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var s=r.stateNode;try{var c=i.shared.hiddenCallbacks;if(c!==null)for(i.shared.hiddenCallbacks=null,i=0;i<c.length;i++)Va(c[i],s)}catch(e){Uu(r,r.return,e)}}n&&o&64&&Lc(a),zc(a,a.return);break;case 27:qc(a);case 26:case 5:gl(i,a,n),n&&r===null&&o&4&&Vc(a),zc(a,a.return);break;case 12:gl(i,a,n);break;case 31:gl(i,a,n),n&&o&4&&al(i,a);break;case 13:gl(i,a,n),n&&o&4&&ol(i,a);break;case 22:a.memoizedState===null&&gl(i,a,n),zc(a,a.return);break;case 30:break;default:gl(i,a,n)}t=t.sibling}}function _l(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&ea(n))}function vl(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ea(e))}function yl(e,t,n,r){if(t.subtreeFlags&10256)for(t=t.child;t!==null;)bl(e,t,n,r),t=t.sibling}function bl(e,t,n,r){var i=t.flags;switch(t.tag){case 0:case 11:case 15:yl(e,t,n,r),i&2048&&Fc(9,t);break;case 1:yl(e,t,n,r);break;case 3:yl(e,t,n,r),i&2048&&(e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&ea(e)));break;case 12:if(i&2048){yl(e,t,n,r),e=t.stateNode;try{var a=t.memoizedProps,o=a.id,s=a.onPostCommit;typeof s==`function`&&s(o,t.alternate===null?`mount`:`update`,e.passiveEffectDuration,-0)}catch(e){Uu(t,t.return,e)}}else yl(e,t,n,r);break;case 31:yl(e,t,n,r);break;case 13:yl(e,t,n,r);break;case 23:break;case 22:a=t.stateNode,o=t.alternate,t.memoizedState===null?a._visibility&2?yl(e,t,n,r):(a._visibility|=2,xl(e,t,n,r,(t.subtreeFlags&10256)!=0||!1)):a._visibility&2?yl(e,t,n,r):Sl(e,t),i&2048&&_l(o,t);break;case 24:yl(e,t,n,r),i&2048&&vl(t.alternate,t);break;default:yl(e,t,n,r)}}function xl(e,t,n,r,i){for(i&&=(t.subtreeFlags&10256)!=0||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:xl(a,o,s,c,i),Fc(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,xl(a,o,s,c,i)):u._visibility&2?xl(a,o,s,c,i):Sl(a,o),i&&l&2048&&_l(o.alternate,o);break;case 24:xl(a,o,s,c,i),i&&l&2048&&vl(o.alternate,o);break;default:xl(a,o,s,c,i)}t=t.sibling}}function Sl(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Sl(n,r),i&2048&&_l(r.alternate,r);break;case 24:Sl(n,r),i&2048&&vl(r.alternate,r);break;default:Sl(n,r)}t=t.sibling}}var Cl=8192;function wl(e,t,n){if(e.subtreeFlags&Cl)for(e=e.child;e!==null;)Tl(e,t,n),e=e.sibling}function Tl(e,t,n){switch(e.tag){case 26:wl(e,t,n),e.flags&Cl&&e.memoizedState!==null&&Kf(n,ul,e.memoizedState,e.memoizedProps);break;case 5:wl(e,t,n);break;case 3:case 4:var r=ul;ul=_f(e.stateNode.containerInfo),wl(e,t,n),ul=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Cl,Cl=16777216,wl(e,t,n),Cl=r):wl(e,t,n));break;default:wl(e,t,n)}}function El(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Dl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Qc=r,Al(r,e)}El(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Ol(e),e=e.sibling}function Ol(e){switch(e.tag){case 0:case 11:case 15:Dl(e),e.flags&2048&&Ic(9,e,e.return);break;case 3:Dl(e);break;case 12:Dl(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,kl(e)):Dl(e);break;default:Dl(e)}}function kl(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];Qc=r,Al(r,e)}El(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Ic(8,t,t.return),kl(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,kl(t));break;default:kl(t)}e=e.sibling}}function Al(e,t){for(;Qc!==null;){var n=Qc;switch(n.tag){case 0:case 11:case 15:Ic(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:ea(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,Qc=r;else a:for(n=e;Qc!==null;){r=Qc;var i=r.sibling,a=r.return;if(tl(r),r===n){Qc=null;break a}if(i!==null){i.return=a,Qc=i;break a}Qc=a}}}var jl={getCacheForType:function(e){var t=Ki(Qi),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ki(Qi).controller.signal}},Ml=typeof WeakMap==`function`?WeakMap:Map,Nl=0,Pl=null,Q=null,Fl=0,Il=0,Ll=null,Rl=!1,zl=!1,Bl=!1,Vl=0,Hl=0,Ul=0,Wl=0,Gl=0,Kl=0,ql=0,Jl=null,Yl=null,Xl=!1,Zl=0,Ql=0,$l=1/0,eu=null,tu=null,nu=0,ru=null,iu=null,au=0,ou=0,su=null,cu=null,lu=0,uu=null;function du(){return Nl&2&&Fl!==0?Fl&-Fl:N.T===null?R():ud()}function fu(){if(Kl===0)if(!(Fl&536870912)||Ti){var e=We;We<<=1,!(We&3932160)&&(We=262144),Kl=e}else Kl=536870912;return e=Ja.current,e!==null&&(e.flags|=32),Kl}function pu(e,t,n){(e===Pl&&(Il===2||Il===9)||e.cancelPendingCommit!==null)&&(bu(e,0),_u(e,Fl,Kl,!1)),Ze(e,n),(!(Nl&2)||e!==Pl)&&(e===Pl&&(!(Nl&2)&&(Wl|=n),Hl===4&&_u(e,Fl,Kl,!1)),nd(e))}function mu(e,t,n){if(Nl&6)throw Error(a(327));var r=!n&&(t&127)==0&&(t&e.expiredLanes)===0||qe(e,t),i=r?Ou(e,t):Eu(e,t,!0),o=r;do{if(i===0){zl&&!r&&_u(e,t,0,!1);break}else{if(n=e.current.alternate,o&&!gu(n)){i=Eu(e,t,!1),o=!1;continue}if(i===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;i=Jl;var l=c.current.memoizedState.isDehydrated;if(l&&(bu(c,s).flags|=256),s=Eu(c,s,!1),s!==2){if(Bl&&!l){c.errorRecoveryDisabledLanes|=o,Wl|=o,i=4;break a}o=Yl,Yl=i,o!==null&&(Yl===null?Yl=o:Yl.push.apply(Yl,o))}i=s}if(o=!1,i!==2)continue}}if(i===1){bu(e,0),_u(e,t,0,!0);break}a:{switch(r=e,o=i,o){case 0:case 1:throw Error(a(345));case 4:if((t&4194048)!==t)break;case 6:_u(r,t,Kl,!Rl);break a;case 2:Yl=null;break;case 3:case 5:break;default:throw Error(a(329))}if((t&62914560)===t&&(i=Zl+300-Oe(),10<i)){if(_u(r,t,Kl,!Rl),I(r,0,!0)!==0)break a;au=t,r.timeoutHandle=qd(hu.bind(null,r,n,Yl,eu,Xl,t,Kl,Wl,ql,Rl,o,`Throttled`,-0,0),i);break a}hu(r,n,Yl,eu,Xl,t,Kl,Wl,ql,Rl,o,null,-0,0)}}break}while(1);nd(e)}function hu(e,t,n,r,i,a,o,s,c,l,u,d,f,p){if(e.timeoutHandle=-1,d=t.subtreeFlags,d&8192||(d&16785408)==16785408){d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:Kt},Tl(t,a,d);var m=(a&62914560)===a?Zl-Oe():(a&4194048)===a?Ql-Oe():0;if(m=Jf(d,m),m!==null){au=a,e.cancelPendingCommit=m(Fu.bind(null,e,t,a,n,r,i,o,s,c,u,d,null,f,p)),_u(e,a,o,!l);return}}Fu(e,t,a,n,r,i,o,s,c)}function gu(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!mr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function _u(e,t,n,r){t&=~Gl,t&=~Wl,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-ze(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&$e(e,n,t)}function vu(){return Nl&6?!0:(rd(0,!1),!1)}function yu(){if(Q!==null){if(Il===0)var e=Q.return;else e=Q,Ri=Li=null,So(e),Ca=null,wa=0,e=Q;for(;e!==null;)Pc(e.alternate,e),e=e.return;Q=null}}function bu(e,t){var n=e.timeoutHandle;n!==-1&&(e.timeoutHandle=-1,Jd(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),au=0,yu(),Pl=e,Q=n=ni(e.current,null),Fl=t,Il=0,Ll=null,Rl=!1,zl=qe(e,t),Bl=!1,ql=Kl=Gl=Wl=Ul=Hl=0,Yl=Jl=null,Xl=!1,t&8&&(t|=t&32);var r=e.entangledLanes;if(r!==0)for(e=e.entanglements,r&=t;0<r;){var i=31-ze(r),a=1<<i;t|=e[i],r&=~a}return Vl=t,Kr(),n}function xu(e,t){Y=null,N.H=Ms,t===pa||t===ha?(t=xa(),Il=3):t===ma?(t=xa(),Il=4):Il=t===Xs?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,Ll=t,Q===null&&(Hl=1,Ws(e,ui(t,e.current)))}function Su(){var e=Ja.current;return e===null?!0:(Fl&4194048)===Fl?Ya===null:(Fl&62914560)===Fl||Fl&536870912?e===Ya:!1}function Cu(){var e=N.H;return N.H=Ms,e===null?Ms:e}function wu(){var e=N.A;return N.A=jl,e}function Tu(){Hl=4,Rl||(Fl&4194048)!==Fl&&Ja.current!==null||(zl=!0),!(Ul&134217727)&&!(Wl&134217727)||Pl===null||_u(Pl,Fl,Kl,!1)}function Eu(e,t,n){var r=Nl;Nl|=2;var i=Cu(),a=wu();(Pl!==e||Fl!==t)&&(eu=null,bu(e,t)),t=!1;var o=Hl;a:do try{if(Il!==0&&Q!==null){var s=Q,c=Ll;switch(Il){case 8:yu(),o=6;break a;case 3:case 2:case 9:case 6:Ja.current===null&&(t=!0);var l=Il;if(Il=0,Ll=null,Mu(e,s,c,l),n&&zl){o=0;break a}break;default:l=Il,Il=0,Ll=null,Mu(e,s,c,l)}}Du(),o=Hl;break}catch(t){xu(e,t)}while(1);return t&&e.shellSuspendCounter++,Ri=Li=null,Nl=r,N.H=i,N.A=a,Q===null&&(Pl=null,Fl=0,Kr()),o}function Du(){for(;Q!==null;)Au(Q)}function Ou(e,t){var n=Nl;Nl|=2;var r=Cu(),i=wu();Pl!==e||Fl!==t?(eu=null,$l=Oe()+500,bu(e,t)):zl=qe(e,t);a:do try{if(Il!==0&&Q!==null){t=Q;var o=Ll;b:switch(Il){case 1:Il=0,Ll=null,Mu(e,t,o,1);break;case 2:case 9:if(_a(o)){Il=0,Ll=null,ju(t);break}t=function(){Il!==2&&Il!==9||Pl!==e||(Il=7),nd(e)},o.then(t,t);break a;case 3:Il=7;break a;case 4:Il=5;break a;case 7:_a(o)?(Il=0,Ll=null,ju(t)):(Il=0,Ll=null,Mu(e,t,o,7));break;case 5:var s=null;switch(Q.tag){case 26:s=Q.memoizedState;case 5:case 27:var c=Q;if(s?Gf(s):c.stateNode.complete){Il=0,Ll=null;var l=c.sibling;if(l!==null)Q=l;else{var u=c.return;u===null?Q=null:(Q=u,Nu(u))}break b}}Il=0,Ll=null,Mu(e,t,o,5);break;case 6:Il=0,Ll=null,Mu(e,t,o,6);break;case 8:yu(),Hl=6;break a;default:throw Error(a(462))}}ku();break}catch(t){xu(e,t)}while(1);return Ri=Li=null,N.H=r,N.A=i,Nl=n,Q===null?(Pl=null,Fl=0,Kr(),Hl):0}function ku(){for(;Q!==null&&!Ee();)Au(Q)}function Au(e){var t=Ec(e.alternate,e,Vl);e.memoizedProps=e.pendingProps,t===null?Nu(e):Q=t}function ju(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=uc(n,t,t.pendingProps,t.type,void 0,Fl);break;case 11:t=uc(n,t,t.pendingProps,t.type.render,t.ref,Fl);break;case 5:So(t);default:Pc(n,t),t=Q=ri(t,Vl),t=Ec(n,t,Vl)}e.memoizedProps=e.pendingProps,t===null?Nu(e):Q=t}function Mu(e,t,n,r){Ri=Li=null,So(t),Ca=null,wa=0;var i=t.return;try{if(Ys(e,i,t,n,Fl)){Hl=1,Ws(e,ui(n,e.current)),Q=null;return}}catch(t){if(i!==null)throw Q=i,t;Hl=1,Ws(e,ui(n,e.current)),Q=null;return}t.flags&32768?(Ti||r===1?e=!0:zl||Fl&536870912?e=!1:(Rl=e=!0,(r===2||r===9||r===3||r===6)&&(r=Ja.current,r!==null&&r.tag===13&&(r.flags|=16384))),Pu(t,e)):Nu(t)}function Nu(e){var t=e;do{if(t.flags&32768){Pu(t,Rl);return}e=t.return;var n=Mc(t.alternate,t,Vl);if(n!==null){Q=n;return}if(t=t.sibling,t!==null){Q=t;return}Q=t=e}while(t!==null);Hl===0&&(Hl=5)}function Pu(e,t){do{var n=Nc(e.alternate,e);if(n!==null){n.flags&=32767,Q=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){Q=e;return}Q=e=n}while(e!==null);Hl=6,Q=null}function Fu(e,t,n,r,i,o,s,c,l){e.cancelPendingCommit=null;do Bu();while(nu!==0);if(Nl&6)throw Error(a(327));if(t!==null){if(t===e.current)throw Error(a(177));if(o=t.lanes|t.childLanes,o|=Gr,Qe(e,n,o,s,c,l),e===Pl&&(Q=Pl=null,Fl=0),iu=t,ru=e,au=n,ou=o,su=i,cu=r,t.subtreeFlags&10256||t.flags&10256?(e.callbackNode=null,e.callbackPriority=0,Yu(je,function(){return Vu(),null})):(e.callbackNode=null,e.callbackPriority=0),r=(t.flags&13878)!=0,t.subtreeFlags&13878||r){r=N.T,N.T=null,i=P.p,P.p=2,s=Nl,Nl|=4;try{$c(e,t,n)}finally{Nl=s,P.p=i,N.T=r}}nu=1,Iu(),Lu(),Ru()}}function Iu(){if(nu===1){nu=0;var e=ru,t=iu,n=(t.flags&13878)!=0;if(t.subtreeFlags&13878||n){n=N.T,N.T=null;var r=P.p;P.p=2;var i=Nl;Nl|=4;try{dl(t,e);var a=Bd,o=yr(e.containerInfo),s=a.focusedElem,c=a.selectionRange;if(o!==s&&s&&s.ownerDocument&&vr(s.ownerDocument.documentElement,s)){if(c!==null&&br(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=_r(s,h),v=_r(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}sp=!!zd,Bd=zd=null}finally{Nl=i,P.p=r,N.T=n}}e.current=t,nu=2}}function Lu(){if(nu===2){nu=0;var e=ru,t=iu,n=(t.flags&8772)!=0;if(t.subtreeFlags&8772||n){n=N.T,N.T=null;var r=P.p;P.p=2;var i=Nl;Nl|=4;try{el(e,t.alternate,t)}finally{Nl=i,P.p=r,N.T=n}}nu=3}}function Ru(){if(nu===4||nu===3){nu=0,De();var e=ru,t=iu,n=au,r=cu;t.subtreeFlags&10256||t.flags&10256?nu=5:(nu=0,iu=ru=null,zu(e,e.pendingLanes));var i=e.pendingLanes;if(i===0&&(tu=null),L(n),t=t.stateNode,Le&&typeof Le.onCommitFiberRoot==`function`)try{Le.onCommitFiberRoot(Ie,t,void 0,(t.current.flags&128)==128)}catch{}if(r!==null){t=N.T,i=P.p,P.p=2,N.T=null;try{for(var a=e.onRecoverableError,o=0;o<r.length;o++){var s=r[o];a(s.value,{componentStack:s.stack})}}finally{N.T=t,P.p=i}}au&3&&Bu(),nd(e),i=e.pendingLanes,n&261930&&i&42?e===uu?lu++:(lu=0,uu=e):lu=0,rd(0,!1)}}function zu(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,ea(t)))}function Bu(){return Iu(),Lu(),Ru(),Vu()}function Vu(){if(nu!==5)return!1;var e=ru,t=ou;ou=0;var n=L(au),r=N.T,i=P.p;try{P.p=32>n?32:n,N.T=null,n=su,su=null;var o=ru,s=au;if(nu=0,iu=ru=null,au=0,Nl&6)throw Error(a(331));var c=Nl;if(Nl|=4,Ol(o.current),bl(o,o.current,s,n),Nl=c,rd(0,!1),Le&&typeof Le.onPostCommitFiberRoot==`function`)try{Le.onPostCommitFiberRoot(Ie,o)}catch{}return!0}finally{P.p=i,N.T=r,zu(e,t)}}function Hu(e,t,n){t=ui(n,t),t=Ks(e.stateNode,t,2),e=Fa(e,t,2),e!==null&&(Ze(e,2),nd(e))}function Uu(e,t,n){if(e.tag===3)Hu(e,e,n);else for(;t!==null;){if(t.tag===3){Hu(t,e,n);break}else if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(tu===null||!tu.has(r))){e=ui(n,e),n=qs(2),r=Fa(t,n,2),r!==null&&(Js(n,r,t,e),Ze(r,2),nd(r));break}}t=t.return}}function Wu(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new Ml;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Bl=!0,i.add(n),e=Gu.bind(null,e,t,n),t.then(e,e))}function Gu(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,Pl===e&&(Fl&n)===n&&(Hl===4||Hl===3&&(Fl&62914560)===Fl&&300>Oe()-Zl?!(Nl&2)&&bu(e,0):Gl|=n,ql===Fl&&(ql=0)),nd(e)}function Ku(e,t){t===0&&(t=Ye()),e=Yr(e,t),e!==null&&(Ze(e,t),nd(e))}function qu(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),Ku(e,n)}function Ju(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(a(314))}r!==null&&r.delete(t),Ku(e,n)}function Yu(e,t){return we(e,t)}var Xu=null,Zu=null,Qu=!1,$u=!1,ed=!1,td=0;function nd(e){e!==Zu&&e.next===null&&(Zu===null?Xu=Zu=e:Zu=Zu.next=e),$u=!0,Qu||(Qu=!0,ld())}function rd(e,t){if(!ed&&$u){ed=!0;do for(var n=!1,r=Xu;r!==null;){if(!t)if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-ze(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,cd(r,a))}else a=Fl,a=I(r,r===Pl?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||qe(r,a)||(n=!0,cd(r,a));r=r.next}while(n);ed=!1}}function id(){ad()}function ad(){$u=Qu=!1;var e=0;td!==0&&Kd()&&(e=td);for(var t=Oe(),n=null,r=Xu;r!==null;){var i=r.next,a=od(r,t);a===0?(r.next=null,n===null?Xu=i:n.next=i,i===null&&(Zu=n)):(n=r,(e!==0||a&3)&&($u=!0)),r=i}nu!==0&&nu!==5||rd(e,!1),td!==0&&(td=0)}function od(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-ze(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=Je(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=Pl,n=Fl,n=I(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(Il===2||Il===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&Te(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||qe(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&Te(r),L(n)){case 2:case 8:n=Ae;break;case 32:n=je;break;case 268435456:n=Ne;break;default:n=je}return r=sd.bind(null,e),n=we(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&Te(r),e.callbackPriority=2,e.callbackNode=null,2}function sd(e,t){if(nu!==0&&nu!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(Bu()&&e.callbackNode!==n)return null;var r=Fl;return r=I(e,e===Pl?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(mu(e,r,t),od(e,Oe()),e.callbackNode!=null&&e.callbackNode===n?sd.bind(null,e):null)}function cd(e,t){if(Bu())return null;mu(e,t,!0)}function ld(){Xd(function(){Nl&6?we(F,id):ad()})}function ud(){if(td===0){var e=ra;e===0&&(e=Ue,Ue<<=1,!(Ue&261888)&&(Ue=256)),td=e}return td}function dd(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:Gt(``+e)}function fd(e,t){var n=t.ownerDocument.createElement(`input`);return n.name=t.name,n.value=t.value,e.id&&n.setAttribute(`form`,e.id),t.parentNode.insertBefore(n,t),e=new FormData(e),n.parentNode.removeChild(n),e}function pd(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=dd((i[at]||null).action),o=r.submitter;o&&(t=(t=o[at]||null)?dd(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new mn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(td!==0){var e=o?fd(i,o):new FormData(i);vs(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=o?fd(i,o):new FormData(i),vs(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var md=0;md<Br.length;md++){var hd=Br[md];Vr(hd.toLowerCase(),`on`+(hd[0].toUpperCase()+hd.slice(1)))}Vr(Mr,`onAnimationEnd`),Vr(Nr,`onAnimationIteration`),Vr(Pr,`onAnimationStart`),Vr(`dblclick`,`onDoubleClick`),Vr(`focusin`,`onFocus`),Vr(`focusout`,`onBlur`),Vr(Fr,`onTransitionRun`),Vr(Ir,`onTransitionStart`),Vr(Lr,`onTransitionCancel`),Vr(Rr,`onTransitionEnd`),gt(`onMouseEnter`,[`mouseout`,`mouseover`]),gt(`onMouseLeave`,[`mouseout`,`mouseover`]),gt(`onPointerEnter`,[`pointerout`,`pointerover`]),gt(`onPointerLeave`,[`pointerout`,`pointerover`]),ht(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),ht(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),ht(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),ht(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),ht(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),ht(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var gd=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),_d=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(gd));function vd(e,t){t=(t&4)!=0;for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Hr(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){Hr(e)}i.currentTarget=null,a=c}}}}function yd(e,t){var n=t[V];n===void 0&&(n=t[V]=new Set);var r=e+`__bubble`;n.has(r)||(Cd(t,e,2,!1),n.add(r))}function bd(e,t,n){var r=0;t&&(r|=4),Cd(n,e,r,t)}var xd=`_reactListening`+Math.random().toString(36).slice(2);function Sd(e){if(!e[xd]){e[xd]=!0,W.forEach(function(t){t!==`selectionchange`&&(_d.has(t)||bd(t,!1,e),bd(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[xd]||(t[xd]=!0,bd(`selectionchange`,!1,t))}}function Cd(e,t,n,r){switch(mp(t)){case 2:var i=cp;break;case 8:i=lp;break;default:i=up}n=i.bind(null,t,n,e),i=void 0,!nn||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function wd(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var o=r.tag;if(o===3||o===4){var c=r.stateNode.containerInfo;if(c===i)break;if(o===4)for(o=r.return;o!==null;){var l=o.tag;if((l===3||l===4)&&o.stateNode.containerInfo===i)return;o=o.return}for(;c!==null;){if(o=ut(c),o===null)return;if(l=o.tag,l===5||l===6||l===26||l===27){r=a=o;continue a}c=c.parentNode}}r=r.return}$t(function(){var r=a,i=Jt(n),o=[];a:{var c=zr.get(e);if(c!==void 0){var l=mn,u=e;switch(e){case`keypress`:if(ln(n)===0)break a;case`keydown`:case`keyup`:l=Mn;break;case`focusin`:u=`focus`,l=Cn;break;case`focusout`:u=`blur`,l=Cn;break;case`beforeblur`:case`afterblur`:l=Cn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=xn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=Sn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=Pn;break;case Mr:case Nr:case Pr:l=wn;break;case Rr:l=Fn;break;case`scroll`:case`scrollend`:l=gn;break;case`wheel`:l=In;break;case`copy`:case`cut`:case`paste`:l=Tn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=Nn;break;case`toggle`:case`beforetoggle`:l=Ln}var d=(t&4)!=0,f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=en(m,p),g!=null&&d.push(Td(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),o.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(c=e===`mouseover`||e===`pointerover`,l=e===`mouseout`||e===`pointerout`,c&&n!==qt&&(u=n.relatedTarget||n.fromElement)&&(ut(u)||u[B]))break a;if((l||c)&&(c=i.window===i?i:(c=i.ownerDocument)?c.defaultView||c.parentWindow:window,l?(u=n.relatedTarget||n.toElement,l=r,u=u?ut(u):null,u!==null&&(f=s(u),d=u.tag,u!==f||d!==5&&d!==27&&d!==6)&&(u=null)):(l=null,u=r),l!==u)){if(d=xn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=Nn,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=l==null?c:ft(l),h=u==null?c:ft(u),c=new d(g,m+`leave`,l,n,i),c.target=f,c.relatedTarget=h,g=null,ut(i)===r&&(d=new d(p,m+`enter`,u,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,l&&u)b:{for(d=Dd,p=l,m=u,h=0,g=p;g;g=d(g))h++;g=0;for(var _=m;_;_=d(_))g++;for(;0<h-g;)p=d(p),h--;for(;0<g-h;)m=d(m),g--;for(;h--;){if(p===m||m!==null&&p===m.alternate){d=p;break b}p=d(p),m=d(m)}d=null}else d=null;l!==null&&Od(o,c,l,d,!1),u!==null&&f!==null&&Od(o,f,u,d,!0)}}a:{if(c=r?ft(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var v=rr;else if(Zn(c))if(ir)v=fr;else{v=dr;var y=ur}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&Ht(r.elementType)&&(v=rr):v=K;if(v&&=v(e,r)){Qn(o,v,n,i);break a}y&&y(e,c,r),e===`focusout`&&r&&c.type===`number`&&r.memoizedProps.value!=null&&Nt(c,`number`,c.value)}switch(y=r?ft(r):window,e){case`focusin`:(Zn(y)||y.contentEditable===`true`)&&(Sr=y,Cr=r,wr=null);break;case`focusout`:wr=Cr=Sr=null;break;case`mousedown`:Tr=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:Tr=!1,Er(o,n,i);break;case`selectionchange`:if(xr)break;case`keydown`:case`keyup`:Er(o,n,i)}var b;if(zn)b:{switch(e){case`compositionstart`:var x=`onCompositionStart`;break b;case`compositionend`:x=`onCompositionEnd`;break b;case`compositionupdate`:x=`onCompositionUpdate`;break b}x=void 0}else qn?Gn(e,n)&&(x=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(x=`onCompositionStart`);x&&(Hn&&n.locale!==`ko`&&(qn||x!==`onCompositionStart`?x===`onCompositionEnd`&&qn&&(b=cn()):(an=i,on=`value`in an?an.value:an.textContent,qn=!0)),y=Ed(r,x),0<y.length&&(x=new En(x,e,null,n,i),o.push({event:x,listeners:y}),b?x.data=b:(b=Kn(n),b!==null&&(x.data=b)))),(b=Vn?Jn(e,n):Yn(e,n))&&(x=Ed(r,`onBeforeInput`),0<x.length&&(y=new En(`onBeforeInput`,`beforeinput`,null,n,i),o.push({event:y,listeners:x}),y.data=b)),pd(o,e,r,n,i)}vd(o,t)})}function Td(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Ed(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=en(e,n),i!=null&&r.unshift(Td(e,i,a)),i=en(e,t),i!=null&&r.push(Td(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Dd(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Od(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=en(n,a),l!=null&&o.unshift(Td(n,l,c))):i||(l=en(n,a),l!=null&&o.push(Td(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var kd=/\r\n?/g,Ad=/\u0000|\uFFFD/g;function jd(e){return(typeof e==`string`?e:``+e).replace(kd,`
|
|
10
|
-
`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function Nd(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Lt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Lt(e,``+r);break;case`className`:xt(e,`class`,r);break;case`tabIndex`:xt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:xt(e,n,r);break;case`style`:Vt(e,r,o);break;case`data`:if(t!==`object`){xt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Gt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&Nd(e,t,`name`,i.name,i,null),Nd(e,t,`formEncType`,i.formEncType,i,null),Nd(e,t,`formMethod`,i.formMethod,i,null),Nd(e,t,`formTarget`,i.formTarget,i,null)):(Nd(e,t,`encType`,i.encType,i,null),Nd(e,t,`method`,i.method,i,null),Nd(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Gt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Kt);break;case`onScroll`:r!=null&&yd(`scroll`,e);break;case`onScrollEnd`:r!=null&&yd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Gt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:yd(`beforetoggle`,e),yd(`toggle`,e),bt(e,`popover`,r);break;case`xlinkActuate`:St(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:St(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:St(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:St(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:St(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:St(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:St(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:St(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:St(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:bt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Ut.get(n)||n,bt(e,n,r))}}function Pd(e,t,n,r,i,o){switch(n){case`style`:Vt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Lt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Lt(e,``+r);break;case`onScroll`:r!=null&&yd(`scroll`,e);break;case`onScrollEnd`:r!=null&&yd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Kt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!mt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[at]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):bt(e,n,r)}}}function Fd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:yd(`error`,e),yd(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Nd(e,t,o,s,n,null)}}i&&Nd(e,t,`srcSet`,n.srcSet,n,null),r&&Nd(e,t,`src`,n.src,n,null);return;case`input`:yd(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:Nd(e,t,r,d,n,null)}}Mt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in yd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Nd(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Pt(e,!!r,n,!0):Pt(e,!!r,t,!1);return;case`textarea`:for(s in yd(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:Nd(e,t,s,c,n,null)}It(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Nd(e,t,l,r,n,null)}return;case`dialog`:yd(`beforetoggle`,e),yd(`toggle`,e),yd(`cancel`,e),yd(`close`,e);break;case`iframe`:case`object`:yd(`load`,e);break;case`video`:case`audio`:for(r=0;r<gd.length;r++)yd(gd[r],e);break;case`image`:yd(`error`,e),yd(`load`,e);break;case`details`:yd(`toggle`,e);break;case`embed`:case`source`:case`link`:yd(`error`,e),yd(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Nd(e,t,u,r,n,null)}return;default:if(Ht(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Pd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Nd(e,t,c,r,n,null))}function Id(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Nd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&Nd(e,t,p,m,r,f)}}jt(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Nd(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Nd(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Pt(e,!!n,n?[]:``,!1):Pt(e,!!n,t,!0)):Pt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Nd(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&Nd(e,t,s,i,r,o)}Ft(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Nd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Nd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Nd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:Nd(e,t,u,p,r,m)}return;default:if(Ht(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Pd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Pd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Nd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Nd(e,t,f,p,r,m)}function Ld(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Rd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Ld(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Ld(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var zd=null,Bd=null;function Vd(e){return e.nodeType===9?e:e.ownerDocument}function Hd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Ud(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Wd(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Gd=null;function Kd(){var e=window.event;return e&&e.type===`popstate`?e===Gd?!1:(Gd=e,!0):(Gd=null,!1)}var qd=typeof setTimeout==`function`?setTimeout:void 0,Jd=typeof clearTimeout==`function`?clearTimeout:void 0,Yd=typeof Promise==`function`?Promise:void 0,Xd=typeof queueMicrotask==`function`?queueMicrotask:Yd===void 0?qd:function(e){return Yd.resolve(null).then(e).catch(Zd)};function Zd(e){setTimeout(function(){throw e})}function Qd(e){return e===`head`}function $d(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)mf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,mf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[ct]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&mf(e.ownerDocument.body);n=i}while(n);Np(t)}function ef(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function tf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:tf(n),lt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function nf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[ct])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=lf(e.nextSibling),e===null)break}return null}function rf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=lf(e.nextSibling),e===null))return null;return e}function af(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=lf(e.nextSibling),e===null))return null;return e}function of(e){return e.data===`$?`||e.data===`$~`}function sf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function cf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function lf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var uf=null;function df(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return lf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function ff(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function pf(e,t,n){switch(t=Vd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function mf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);lt(e)}var hf=new Map,gf=new Set;function _f(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var vf=P.d;P.d={f:yf,r:bf,D:Cf,C:wf,L:Tf,m:Ef,X:Of,S:Df,M:kf};function yf(){var e=vf.f(),t=vu();return e||t}function bf(e){var t=dt(e);t!==null&&t.tag===5&&t.type===`form`?bs(t):vf.r(e)}var xf=typeof document>`u`?null:document;function Sf(e,t,n){var r=xf;if(r&&typeof t==`string`&&t){var i=At(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),gf.has(i)||(gf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Fd(t,`link`,e),U(t),r.head.appendChild(t)))}}function Cf(e){vf.D(e),Sf(`dns-prefetch`,e,null)}function wf(e,t){vf.C(e,t),Sf(`preconnect`,e,t)}function Tf(e,t,n){vf.L(e,t,n);var r=xf;if(r&&e&&t){var i=`link[rel="preload"][as="`+At(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+At(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+At(n.imageSizes)+`"]`)):i+=`[href="`+At(e)+`"]`;var a=i;switch(t){case`style`:a=jf(e);break;case`script`:a=Ff(e)}hf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),hf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Mf(a))||t===`script`&&r.querySelector(If(a))||(t=r.createElement(`link`),Fd(t,`link`,e),U(t),r.head.appendChild(t)))}}function Ef(e,t){vf.m(e,t);var n=xf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+At(r)+`"][href="`+At(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Ff(e)}if(!hf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),hf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(If(a)))return}r=n.createElement(`link`),Fd(r,`link`,e),U(r),n.head.appendChild(r)}}}function Df(e,t,n){vf.S(e,t,n);var r=xf;if(r&&e){var i=pt(r).hoistableStyles,a=jf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Mf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=hf.get(a))&&zf(e,n);var c=o=r.createElement(`link`);U(c),Fd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Rf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Of(e,t){vf.X(e,t);var n=xf;if(n&&e){var r=pt(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=p({src:e,async:!0},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),U(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t){vf.M(e,t);var n=xf;if(n&&e){var r=pt(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),U(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Af(e,t,n,r){var i=(i=ue.current)?_f(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=jf(n.href),n=pt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=jf(n.href);var o=pt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Mf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),hf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},hf.set(e,n),o||Pf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Ff(n),n=pt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function jf(e){return`href="`+At(e)+`"`}function Mf(e){return`link[rel="stylesheet"][`+e+`]`}function Nf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Pf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Fd(t,`link`,n),U(t),e.head.appendChild(t))}function Ff(e){return`[src="`+At(e)+`"]`}function If(e){return`script[async]`+e}function Lf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+At(n.href)+`"]`);if(r)return t.instance=r,U(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),U(r),Fd(r,`style`,i),Rf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=jf(n.href);var o=e.querySelector(Mf(i));if(o)return t.state.loading|=4,t.instance=o,U(o),o;r=Nf(n),(i=hf.get(i))&&zf(r,i),o=(e.ownerDocument||e).createElement(`link`),U(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Fd(o,`link`,r),t.state.loading|=4,Rf(o,n.precedence,e),t.instance=o;case`script`:return o=Ff(n.src),(i=e.querySelector(If(o)))?(t.instance=i,U(i),i):(r=n,(i=hf.get(o))&&(r=p({},n),Bf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),U(i),Fd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Rf(r,n.precedence,e));return t.instance}function Rf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Bf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Vf=null;function Hf(e,t,n){if(Vf===null){var r=new Map,i=Vf=new Map;i.set(n,r)}else i=Vf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[ct]||a[z]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Uf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Wf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Gf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Kf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=jf(r.href),a=t.querySelector(Mf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Yf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,U(a);return}a=t.ownerDocument||t,r=Nf(r),(i=hf.get(i))&&zf(r,i),a=a.createElement(`link`),U(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Fd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Yf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var qf=0;function Jf(e,t){return e.stylesheets&&e.count===0&&Zf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Zf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&qf===0&&(qf=62500*Rd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Zf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>qf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Yf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Xf=null;function Zf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Xf=new Map,t.forEach(Qf,e),Xf=null,Yf.call(e))}function Qf(e,t){if(!(t.state.loading&4)){var n=Xf.get(e);if(n)var r=n.get(null);else{n=new Map,Xf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Yf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var $f={$$typeof:x,Provider:null,Consumer:null,_currentValue:te,_currentValue2:te,_threadCount:0};function ep(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Xe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Xe(0),this.hiddenUpdates=Xe(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function tp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ep(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=ei(3,null,null,t),e.current=a,a.stateNode=e,t=$i(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ma(a),e}function np(e){return e?(e=Qr,e):Qr}function rp(e,t,n,r,i,a){i=np(i),r.context===null?r.context=i:r.pendingContext=i,r=Pa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Fa(e,r,t),n!==null&&(pu(n,e,t),Ia(n,e,t))}function ip(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ap(e,t){ip(e,t),(e=e.alternate)&&ip(e,t)}function $(e){if(e.tag===13||e.tag===31){var t=Yr(e,67108864);t!==null&&pu(t,e,67108864),ap(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=du();t=nt(t);var n=Yr(e,t);n!==null&&pu(n,e,t),ap(e,t)}}var sp=!0;function cp(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=2,up(e,t,n,r)}finally{P.p=a,N.T=i}}function lp(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=8,up(e,t,n,r)}finally{P.p=a,N.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=dt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ke(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-ze(o);s.entanglements[1]|=c,o&=~c}nd(a),!(Nl&6)&&($l=Oe()+500,rd(0,!1))}}break;case 31:case 13:s=Yr(a,2),s!==null&&pu(s,a,2),vu(),ap(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=Jt(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=ut(e),e!==null){var t=s(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=c(t),e!==null)return e;e=null}else if(n===31){if(e=l(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(ke()){case F:return 2;case Ae:return 8;case je:case Me:return 32;case Ne:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=dt(t),t!==null&&$(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=ut(e.target);if(t!==null){var n=s(t);if(n!==null){if(t=n.tag,t===13){if(t=c(n),t!==null){e.blockedOn=t,rt(e.priority,function(){op(n)});return}}else if(t===31){if(t=l(n),t!==null){e.blockedOn=t,rt(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);qt=r,n.target.dispatchEvent(r),qt=null}else return t=dt(n),t!==null&&$(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=dt(n);a!==null&&(e.splice(t,3),t-=3,vs(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[at]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[at]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;rp(n,du(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rp(e.current,2,null,e,null,null),vu(),t[B]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=R();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.4`)throw Error(a(527,Lp,`19.2.4`));P.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=d(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.4`,rendererPackageName:`react-dom`,currentDispatcherRef:N,reconcilerVersion:`19.2.4`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Ie=zp.inject(Rp),Le=zp}catch{}}e.createRoot=function(e,t){if(!o(e))throw Error(a(299));var n=!1,r=``,i=Vs,s=Hs,c=Us;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=tp(e,1,!1,null,null,n,r,null,i,s,c,Pp),e[B]=t.current,Sd(e),new Fp(t)}})),Ht=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Vt()})),Ut=F(`app-window`,[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]),Wt=F(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),Gt=F(`arrow-down-up`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`m21 8-4-4-4 4`,key:`1c9v7m`}],[`path`,{d:`M17 4v16`,key:`7dpous`}]]),Kt=F(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),qt=F(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Jt=F(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),Yt=F(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Xt=F(`bell-off`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),Zt=F(`bell-ring`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`,key:`5bb3ad`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`,key:`tap9e0`}]]),Qt=F(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),$t=F(`bot-message-square`,[[`path`,{d:`M12 6V2H8`,key:`1155em`}],[`path`,{d:`M15 11v2`,key:`i11awn`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z`,key:`11gyqh`}],[`path`,{d:`M9 11v2`,key:`1ueba0`}]]),en=F(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),tn=F(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),nn=F(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),rn=F(`calendar-x-2`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`,key:`3spt84`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`m17 22 5-5`,key:`1k6ppv`}],[`path`,{d:`m17 17 5 5`,key:`p7ous7`}]]),an=F(`case-sensitive`,[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`,key:`d5nyq2`}],[`path`,{d:`M22 9v7`,key:`pvm9v3`}],[`path`,{d:`M3.304 13h6.392`,key:`1q3zxz`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`,key:`z97x68`}]]),on=F(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),sn=F(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),cn=F(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ln=F(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),un=F(`chevrons-right`,[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]),dn=F(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),fn=F(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),pn=F(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),mn=F(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),hn=F(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),gn=F(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),_n=F(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),vn=F(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),yn=F(`coffee`,[[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M14 2v2`,key:`6buw04`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`,key:`pwadti`}],[`path`,{d:`M6 2v2`,key:`colzsn`}]]),bn=F(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),xn=F(`crosshair`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`,key:`l9bcsi`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`,key:`13hhkx`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`,key:`10w3f3`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`,key:`15g9kq`}]]),Sn=F(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Cn=F(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),wn=F(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Tn=F(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),En=F(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Dn=F(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),On=F(`file-code`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),kn=F(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),An=F(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),jn=F(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),Mn=F(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),Nn=F(`file-plus`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),Pn=F(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),Fn=F(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),In=F(`file-type`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M11 18h2`,key:`12mj7e`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`,key:`qbrxap`}]]),Ln=F(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),Rn=F(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),zn=F(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Bn=F(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Vn=F(`folder-search`,[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`,key:`1bw5m7`}],[`path`,{d:`m21 21-1.9-1.9`,key:`1g2n9r`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}]]),Hn=F(`folder-symlink`,[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`,key:`y8kt7d`}],[`path`,{d:`m8 16 3-3-3-3`,key:`rlqrt1`}]]),Un=F(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),Wn=F(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Gn=F(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Kn=F(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),qn=F(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),Jn=F(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Yn=F(`grid-2x2`,[[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]),Xn=F(`grip-horizontal`,[[`circle`,{cx:`12`,cy:`9`,r:`1`,key:`124mty`}],[`circle`,{cx:`19`,cy:`9`,r:`1`,key:`1ruzo2`}],[`circle`,{cx:`5`,cy:`9`,r:`1`,key:`1a8b28`}],[`circle`,{cx:`12`,cy:`15`,r:`1`,key:`1e56xg`}],[`circle`,{cx:`19`,cy:`15`,r:`1`,key:`1a92ep`}],[`circle`,{cx:`5`,cy:`15`,r:`1`,key:`5r1jwy`}]]),Zn=F(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Qn=F(`heart`,[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`,key:`mvr1a0`}]]),$n=F(`hexagon`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}]]),er=F(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),tr=F(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),nr=F(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),rr=F(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),ir=F(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),ar=F(`key`,[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`,key:`g0fldk`}],[`path`,{d:`m21 2-9.6 9.6`,key:`1j0ho8`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`,key:`yqb3hr`}]]),or=F(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),sr=F(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),cr=F(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),lr=F(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),ur=F(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),dr=F(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),K=F(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),fr=F(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),pr=F(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),mr=F(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),hr=F(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),gr=F(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),_r=F(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]),vr=F(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),yr=F(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),br=F(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),xr=F(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),Sr=F(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Cr=F(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),wr=F(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Tr=F(`panel-bottom`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 15h18`,key:`5xshup`}]]),Er=F(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),Dr=F(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Or=F(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),kr=F(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ar=F(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),jr=F(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),Mr=F(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Nr=F(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),Pr=F(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Fr=F(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),Ir=F(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),Lr=F(`qr-code`,[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`,key:`1tu5fj`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`,key:`1v8r4q`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`1x03jg`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`,key:`177gqh`}],[`path`,{d:`M21 21v.01`,key:`ents32`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`,key:`8crl2c`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M12 3h.01`,key:`n36tog`}],[`path`,{d:`M12 16v.01`,key:`133mhm`}],[`path`,{d:`M16 12h1`,key:`1slzba`}],[`path`,{d:`M21 12v.01`,key:`1lwtk9`}],[`path`,{d:`M12 21v-1`,key:`1880an`}]]),Rr=F(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),zr=F(`regex`,[[`path`,{d:`M17 3v10`,key:`15fgeh`}],[`path`,{d:`m12.67 5.5 8.66 5`,key:`1gpheq`}],[`path`,{d:`m12.67 10.5 8.66-5`,key:`1dkfa6`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`,key:`swwfx4`}]]),Br=F(`replace-all`,[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`,key:`zg1ipl`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`,key:`txt6k4`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Vr=F(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Hr=F(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Ur=F(`scan`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]),Wr=F(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Gr=F(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),Kr=F(`server-off`,[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`,key:`bt2siv`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`,key:`1hjrv1`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`,key:`1iynyr`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`,key:`161ggg`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),qr=F(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Jr=F(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Yr=F(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),Xr=F(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]),Zr=F(`square-centerline-dashed-horizontal`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3`,key:`1i73f7`}],[`path`,{d:`M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3`,key:`saxlbk`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 14v2`,key:`8jcxud`}],[`path`,{d:`M12 8v2`,key:`1woqiv`}],[`path`,{d:`M12 2v2`,key:`tus03m`}]]),Qr=F(`square-centerline-dashed-vertical`,[[`path`,{d:`M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3`,key:`14bfxa`}],[`path`,{d:`M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`,key:`14rx03`}],[`path`,{d:`M4 12H2`,key:`rhcxmi`}],[`path`,{d:`M10 12H8`,key:`s88cx1`}],[`path`,{d:`M16 12h-2`,key:`10asgb`}],[`path`,{d:`M22 12h-2`,key:`14jgyd`}]]),$r=F(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),ei=F(`square-x`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ti=F(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),ni=F(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),ri=F(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]),ii=F(`tags`,[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`,key:`16rjxf`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`,key:`178nd4`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`12ikhr`}]]),ai=F(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),oi=F(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),si=F(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),ci=F(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),li=F(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),ui=F(`unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),di=F(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),fi=F(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),pi=F(`whole-word`,[[`circle`,{cx:`7`,cy:`12`,r:`3`,key:`12clwm`}],[`path`,{d:`M10 9v6`,key:`17i7lo`}],[`circle`,{cx:`17`,cy:`12`,r:`3`,key:`gl7c2s`}],[`path`,{d:`M14 7v8`,key:`dl84cr`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`,key:`lt2kga`}]]),mi=F(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),hi=F(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),gi=F(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),_i=F(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),vi=Ht(),q=e(r(),1),J=u(),yi=({...e})=>{let t=V(e=>e.themeMode);return(0,J.jsx)(rt,{theme:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t,className:`toaster group`,icons:{success:(0,J.jsx)(hn,{className:`size-4`}),info:(0,J.jsx)(rr,{className:`size-4`}),warning:(0,J.jsx)(ci,{className:`size-4`}),error:(0,J.jsx)(Cr,{className:`size-4`}),loading:(0,J.jsx)(K,{className:`size-4 animate-spin`})},style:{"--normal-bg":`var(--color-popover)`,"--normal-text":`var(--color-popover-foreground)`,"--normal-border":`var(--color-border)`,"--border-radius":`var(--radius)`},...e})};function bi({delayDuration:e=0,...t}){return(0,J.jsx)(se,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function xi({...e}){return(0,J.jsx)(M,{"data-slot":`tooltip`,...e})}function Si({...e}){return(0,J.jsx)(he,{"data-slot":`tooltip-trigger`,...e})}function Ci({className:e,sideOffset:t=0,children:n,...r}){return(0,J.jsx)(ve,{children:(0,J.jsxs)(me,{"data-slot":`tooltip-content`,sideOffset:t,className:H(`z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,e),...r,children:[n,(0,J.jsx)(Se,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function wi(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Ti(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function Ei(e){return e/100*window.innerHeight}function Di(e){return e/100*window.innerWidth}function Oi(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function ki({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Oi(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Ti(t,i);break;case`em`:r=wi(t,i);break;case`vh`:r=Ei(i);break;case`vw`:r=Di(i);break}return r}function Ai(e){return parseFloat(e.toFixed(3))}function ji({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function Mi(e){let{panels:t}=e,n=ji({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=Ai(ki({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=Ai(ki({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=Ai(ki({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=Ai(ki({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function Ni(e,t=`Assertion error`){if(!e)throw Error(t)}function Pi(e,t){return Array.from(t).sort(e===`horizontal`?Fi:Ii)}function Fi(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Ii(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Li(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Ri(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function zi({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Ri(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return Ni(i,`No rect found`),i}var Bi;function Vi(){return Bi===void 0&&(Bi=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Bi}function Hi(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=Pi(n,Array.from(t.children).filter(Li).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.ariaDisabled===null&&(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,zi({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=Vi()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:ji({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var Ui=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},Wi=new Map,Gi=new Ui;function Ki(e){Wi=new Map(Wi),Wi.delete(e)}function qi(e,t){for(let[t]of Wi)if(t.id===e)return t}function Ji(e,t){for(let[t,n]of Wi)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function Yi(){return Wi}function Xi(e,t){return Gi.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function Zi(e,t){let n=Wi.get(e);Wi=new Map(Wi),Wi.set(e,t),Gi.emit(`groupChange`,{group:e,prev:n,next:t})}function Qi(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Ri(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function $i(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function ea(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:oa(e),b:oa(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();Ni(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:aa(ia(n.a)),b:aa(ia(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var ta=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function na(e){let t=getComputedStyle(sa(e)??e).display;return t===`flex`||t===`inline-flex`}function ra(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||na(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||ta.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function ia(e){let t=e.length;for(;t--;){let n=e[t];if(Ni(n,`Missing node`),ra(n))return n}return null}function aa(e){return e&&Number(getComputedStyle(e).zIndex)||0}function oa(e){let t=[];for(;e;)t.push(e),e=sa(e);return t}function sa(e){let{parentNode:t}=e;return $i(t)?t.host:t}function ca(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function la({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Li(n)||n.contains(e)||e.contains(n))return!0;if(ea(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(ca(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function ua(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Hi(r),a=Qi(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&la({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function da(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function fa(e,t,n=0){return Math.abs(Ai(e)-Ai(t))<=n}function pa(e,t){return fa(e,t)?0:e>t?1:-1}function ma({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(pa(r,c)<0)if(a){let e=(i+c)/2;r=pa(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=Ai(r),r}function ha({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(fa(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;Ni(u!=null,`Invalid first pivot index`),Ni(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];Ni(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(Ni(n!=null,`Previous layout not found for panel index ${t}`),fa(n,i)){let t=o-n;pa(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];Ni(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(Ni(n!=null,`Previous layout not found for panel index ${t}`),fa(n,o)){let t=n-i;pa(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];Ni(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&pa(i,c)<0)if(e>0){let t=c-o,n=t/2;pa(i+e,c)<0&&(e=pa(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;pa(i-e,c)<0&&(e=pa(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];Ni(e!=null,`Previous layout not found for panel index ${r}`);let a=ma({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];Ni(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=ma({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!fa(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(da(c,l))return i;{let t=e<0?d:u,r=s[t];Ni(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=ma({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!fa(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];Ni(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=ma({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(fa(i,s)||(t-=s-i,l[r]=s),fa(t,0))break;e>0?r--:r++}}}if(!fa(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function ga(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||pa(e[n],t[n])!==0)return!1;return!0}function _a({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!fa(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];Ni(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];Ni(i!=null,`No layout data found for index ${e}`);let o=r[e];Ni(o!=null,`No layout data found for index ${e}`);let s=ma({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!fa(a,0))for(let e=0;e<t.length;e++){let n=r[e];Ni(n!=null,`No layout data found for index ${e}`);let i=n+a,o=ma({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,fa(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function va({groupId:e,panelId:t}){let n=()=>{let t=Yi();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=e=>{let r=a();if(e===r)return;let{defaultLayoutDeferred:i,derivedPanelConstraints:o,group:s,groupSize:c,layout:l,separatorToPanels:u}=n(),d=s.panels.findIndex(e=>e.id===t),f=d===s.panels.length-1,p=_a({layout:ha({delta:f?r-e:e-r,initialLayout:l,panelConstraints:o,pivotIndices:f?[d-1,d]:[d,d+1],prevLayout:l,trigger:`imperative-api`}),panelConstraints:o});ga(l,p)||Zi(s,{defaultLayoutDeferred:i,derivedPanelConstraints:o,groupSize:c,layout:p,separatorToPanels:u})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),s=a();e&&s!==t&&(n.expandToSize=s,o(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:s}=i(),c=a();if(e&&c===t){let e=s.expandToSize??n;e===0&&(e=1),o(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&fa(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=ji({group:t});o(Ai(ki({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function ya(e){e.defaultPrevented||ua(e,Yi()).forEach(t=>{if(t.separator){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=va({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function ba(e){let t=Yi();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function xa({groupId:e}){let t=()=>{let t=Yi();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=_a({layout:e,panelConstraints:r});return n?o:(ga(o,c)||Zi(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Sa(e,t){let n=ba(e),r=Ji(n.id,!0),i=n.separators.find(t=>t.element===e);Ni(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);Ni(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=xa({groupId:n.id}).getLayout(),c=_a({layout:ha({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});ga(s,c)||Zi(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function Ca(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=ba(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Sa(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Sa(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Sa(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Sa(t,-5);break;case`End`:e.preventDefault(),Sa(t,100);break;case`Enter`:{e.preventDefault();let n=ba(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=Ji(n.id,!0),o=n.separators.find(e=>e.element===t);Ni(o,`Matching separator not found`);let s=a.get(o);Ni(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(Ni(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Sa(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=ba(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);Ni(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Sa(t,-100);break}}var wa={cursorFlags:0,state:`inactive`},Ta=new Ui;function Ea(){return wa}function Da(e){return Ta.addListener(`change`,e)}function Oa(e){let t=wa,n={...wa};n.cursorFlags=e,wa=n,Ta.emit(`change`,{prev:t,next:n})}function ka(e){let t=wa;wa=e,Ta.emit(`change`,{prev:t,next:e})}function Aa(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Yi(),n=ua(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),ka({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var ja=e=>e,Ma=()=>{},Na=1,Pa=2,Fa=4,Ia=8,La=3,Ra=12,za;function Ba(){return za===void 0&&(za=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(za=!0)),za}function Va({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&Ba()){let t=(e&Na)!==0,n=(e&Pa)!==0,r=(e&Fa)!==0,i=(e&Ia)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return Ba()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Ha=new WeakMap;function Ua(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Ha.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=Ea();switch(r.state){case`active`:case`hover`:{let e=Va({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}Ha.set(e,{prevStyle:t,styleSheet:n})}function Wa({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=ha({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(ga(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?Na:Pa;break;case`vertical`:s|=d<0?Fa:Ia;break}}else Zi(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&La:c|=s&La,t.movementY===0?c|=o&Ra:c|=s&Ra,Oa(c),Ua(e)}function Ga(e){let t=Yi(),n=Ea();switch(n.state){case`active`:Wa({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Ka(e){if(e.defaultPrevented)return;let t=Ea(),n=Yi();switch(t.state){case`active`:if(e.buttons===0){ka({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=Ji(e.group.id,!0);Zi(e.group,t)});return}Wa({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=ua(e,n);r.length===0?t.state!==`inactive`&&ka({cursorFlags:0,state:`inactive`}):ka({cursorFlags:0,hitRegions:r,state:`hover`}),Ua(e.currentTarget);break}}}function qa(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Ea().state){case`hover`:ka({cursorFlags:0,state:`inactive`})}}function Ja(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Ea();switch(t.state){case`active`:ka({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Ua(e.currentTarget),t.hitRegions.forEach(e=>{let t=Ji(e.group.id,!0);Zi(e.group,t)}),e.preventDefault())}}function Ya(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=Ai(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=Ai((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Xa(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=ji({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:Ai(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function Za(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Qa({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=Ai(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=Ai((r[e]??0)/a*l);else{let e=Ai(l/c.length);for(let t of c)u[t]=e}return u}function $a(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var eo=new Map;function to(e){let t=!0;Ni(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=ji({group:e});if(t===0)return;let n=Ji(e.id);if(!n)return;let r=Mi(e),i=n.defaultLayoutDeferred?Ya(r):n.layout,a=_a({layout:Qa({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&ga(n.layout,a)&&Za(n.derivedPanelConstraints,r)&&n.groupSize===t)return;Zi(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Xa(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{Ni(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=ji({group:e}),s=Mi(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&($a(e.panels,l)||(l=void 0));let u=_a({layout:e.mutableState.layouts[c]??l??Ya(s),panelConstraints:s}),d=e.element.ownerDocument;eo.set(d,(eo.get(d)??0)+1);let f=new Map;return Hi(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),Zi(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{Ni(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,Ca)}),eo.get(d)===1&&(d.addEventListener(`dblclick`,ya,!0),d.addEventListener(`pointerdown`,Aa,!0),d.addEventListener(`pointerleave`,Ga),d.addEventListener(`pointermove`,Ka),d.addEventListener(`pointerout`,qa),d.addEventListener(`pointerup`,Ja,!0)),function(){t=!1,eo.set(d,Math.max(0,(eo.get(d)??0)-1)),Ki(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,Ca)}),eo.get(d)||(d.removeEventListener(`dblclick`,ya,!0),d.removeEventListener(`pointerdown`,Aa,!0),d.removeEventListener(`pointerleave`,Ga),d.removeEventListener(`pointermove`,Ka),d.removeEventListener(`pointerout`,qa),d.removeEventListener(`pointerup`,Ja,!0)),a.disconnect()}}function no(){let[e,t]=(0,q.useState)({});return[e,(0,q.useCallback)(()=>t({}),[])]}function ro(e){let t=(0,q.useId)();return`${e??t}`}var Y=typeof window<`u`?q.useLayoutEffect:q.useEffect;function io(e){let t=(0,q.useRef)(e);return Y(()=>{t.current=e},[e]),(0,q.useCallback)((...e)=>t.current?.(...e),[t])}function ao(...e){return io(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function oo(e){let t=(0,q.useRef)({...e});return Y(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var so=(0,q.createContext)(null);function co(e,t){let n=(0,q.useRef)({getLayout:()=>({}),setLayout:ja});(0,q.useImperativeHandle)(t,()=>n.current,[]),Y(()=>{Object.assign(n.current,xa({groupId:e}))})}function lo({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,q.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=io(e=>{ga(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=io(e=>{ga(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=ro(s),v=(0,q.useRef)(null),[y,b]=no(),x=(0,q.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=ao(v,a);co(_,o);let C=io((e,t)=>{let r=Ea(),i=qi(e),a=Ji(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}return{flexGrow:n?.[t]??1}}),w=oo({defaultLayout:n,disableCursor:r}),T=(0,q.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=Pi(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=Pi(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},togglePanelDisabled:(e,t)=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=qi(_),i=Ji(_);r&&i&&Zi(r,{...i,derivedPanelConstraints:Mi(r)})},toggleSeparatorDisabled:(e,t)=>{let n=x.current.separators.find(t=>t.id===e);n&&(n.disabled=t)}}),[C,_,b,u,w]),E=(0,q.useRef)(null);return Y(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=to(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=Ji(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Xi(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=fa(t.collapsedSize,i[t.panelId]),a=fa(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Ea().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,q.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,J.jsx)(so.Provider,{value:T,children:(0,J.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}lo.displayName=`Group`;function uo(){let e=(0,q.useContext)(so);return Ni(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function fo(e,t){let{id:n}=uo(),r=(0,q.useRef)({collapse:Ma,expand:Ma,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Ma});(0,q.useImperativeHandle)(t,()=>r.current,[]),Y(()=>{Object.assign(r.current,va({groupId:n,panelId:e}))})}function po({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=ro(c),_=oo({disabled:a}),v=(0,q.useRef)(null),y=ao(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,togglePanelDisabled:w}=uo(),T=d!==null,E=io((e,t,n)=>{d?.(e,c,n)});Y(()=>{let e=v.current;if(e!==null)return C({element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}})},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,q.useEffect)(()=>{w(g,!!a)},[a,g,w]),fo(g,f);let D=(0,q.useSyncExternalStore)(e=>Xi(x,e),()=>JSON.stringify(b(x,g)),()=>JSON.stringify(b(x,g)));return(0,J.jsx)(`div`,{...m,"aria-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...mo,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...JSON.parse(D)},children:(0,J.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}po.displayName=`Panel`;var mo={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function ho({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=_a({layout:ha({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=_a({layout:ha({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function go({children:e,className:t,disabled:n,elementRef:r,id:i,style:a,...o}){let s=ro(i),c=oo({disabled:n}),[l,u]=(0,q.useState)({}),[d,f]=(0,q.useState)(`inactive`),p=(0,q.useRef)(null),m=ao(p,r),{disableCursor:h,id:g,orientation:_,registerSeparator:v,toggleSeparatorDisabled:y}=uo(),b=_===`horizontal`?`vertical`:`horizontal`;Y(()=>{let e=p.current;if(e!==null){let t={disabled:c.disabled,element:e,id:s},n=v(t),r=Da(e=>{f(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Xi(g,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);u(ho({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[g,s,v,c]),(0,q.useEffect)(()=>{y(s,!!n)},[n,s,y]);let x;return n&&!h&&(x=`not-allowed`),(0,J.jsx)(`div`,{...o,"aria-controls":l.valueControls,"aria-disabled":n||void 0,"aria-orientation":b,"aria-valuemax":l.valueMax,"aria-valuemin":l.valueMin,"aria-valuenow":l.valueNow,children:e,className:t,"data-separator":n?`disabled`:d,"data-testid":s,id:s,ref:m,role:`separator`,style:{flexBasis:`auto`,cursor:x,...a,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}go.displayName=`Separator`;function _o(e){let[t,n]=(0,q.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,q.useEffect)(()=>{let t=window.matchMedia(e),r=e=>n(e.matches);return t.addEventListener(`change`,r),n(t.matches),()=>t.removeEventListener(`change`,r)},[e]),t}function vo(e){try{let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`just now`;if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<7?`${a}d ago`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}catch{return``}}function yo(e,t){let[n,r]=(0,q.useState)(e);return(0,q.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function bo(e){let[t,n]=(0,q.useState)([]),[r,i]=(0,q.useState)({}),a=(0,q.useCallback)(async()=>{if(e)try{let t=await R.get(`${L(e)}/tags`);n(t.tags),i(t.counts)}catch{}},[e]);return(0,q.useEffect)(()=>{a()},[a]),{projectTags:t,tagCounts:r,loadTags:a}}function xo({projectTags:e,tagCounts:t,totalCount:n,selectedTagId:r,onSelect:i}){return e.length===0?null:(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto scrollbar-none`,children:[(0,J.jsxs)(`button`,{onClick:()=>i(null),className:`shrink-0 rounded-md border px-2 py-1 text-[10px] transition-colors ${r===null?`bg-primary/20 border-primary text-primary`:`border-border bg-surface text-text-secondary hover:bg-surface-elevated`}`,children:[`All (`,n,`)`]}),e.map(e=>(0,J.jsxs)(`button`,{onClick:()=>i(r===e.id?null:e.id),className:`shrink-0 flex items-center gap-1 rounded-md border px-2 py-1 text-[10px] transition-colors ${r===e.id?`border-current`:`border-border bg-surface hover:bg-surface-elevated`}`,style:r===e.id?{backgroundColor:e.color+`20`,color:e.color,borderColor:e.color}:void 0,children:[(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,t[e.id]??0,`)`]},e.id))]})}var So={approval_request:`bg-error`,question:`bg-warning`,done:`bg-primary`},Co={done:0,question:1,approval_request:2};function wo(e){return e&&So[e]||`bg-error`}var To={approval_request:`bg-error/10`,question:`bg-warning/10`,done:`bg-primary/10`};function Eo(e){return e&&To[e]||`bg-error/10`}var Do=at()(e=>({notifications:new Map,addNotification:(t,n,r,i)=>{e(e=>{let a=new Map(e.notifications),o=a.get(t);return a.set(t,{count:(o?.count??0)+1,type:n,projectName:r,sessionTitle:i??o?.sessionTitle??null}),{notifications:a}})},markUnread:(t,n,r)=>{e(e=>{let i=new Map(e.notifications);return i.set(t,{count:1,type:`done`,projectName:n,sessionTitle:r??i.get(t)?.sessionTitle??null,manual:!0}),{notifications:i}}),R.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/unread`,{projectName:n}).catch(()=>{})},clearForSession:t=>{let n=Do.getState().notifications.get(t)?.projectName;e(e=>{if(!e.notifications.has(t))return e;let n=new Map(e.notifications);return n.delete(t),{notifications:n}}),n&&R.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/read`).catch(()=>{})},clearAll:()=>e({notifications:new Map}),loadFromServer:async t=>{try{let n=await R.get(`/api/project/${encodeURIComponent(t)}/chat/sessions/unread`);e(()=>{let e=new Map;for(let t of n)t.unreadCount>0&&e.set(t.sessionId,{count:t.unreadCount,type:t.unreadType||`done`,projectName:t.projectName||``,sessionTitle:t.sessionTitle??null});return{notifications:e}})}catch{}},handleUnreadChanged:(t,n,r,i,a,o)=>{e(e=>{let s=new Map(e.notifications);if(n===0)s.delete(t);else{let e=s.get(t);s.set(t,{count:n>0?n:(e?.count??0)+1,type:r||`done`,projectName:i||e?.projectName||``,sessionTitle:a??e?.sessionTitle??null,manual:o??e?.manual})}return{notifications:s}})}}));function Oo(e){return e.notifications.size}function ko(e){return t=>{if(!e)return 0;let n=0;for(let[,r]of t.notifications)r.projectName===e&&n++;return n}}function Ao(e){return t=>{let n=null,r=-1;for(let[,i]of t.notifications){if(i.projectName!==e)continue;let t=Co[i.type]??0;t>r&&(r=t,n=i.type)}return n}}function jo({session:e,projectName:t,projectTags:n,children:r,onTogglePin:i,onStartEditing:a,onDeleteSession:o,onTagChanged:s}){let c=Do(e=>e.markUnread),l=Do(t=>t.notifications.has(e.id)),u=(0,q.useCallback)(async r=>{try{if(r){await R.patch(`${L(t)}/chat/sessions/${e.id}/tag`,{tagId:r});let i=n.find(e=>e.id===r);i&&s(e.id,{id:i.id,name:i.name,color:i.color})}else await R.del(`${L(t)}/chat/sessions/${e.id}/tag`),s(e.id,null)}catch{}},[e.id,t,n,s]);return(0,J.jsxs)(He,{children:[(0,J.jsx)(Ue,{asChild:!0,children:r}),(0,J.jsxs)(Re,{children:[(0,J.jsxs)(Be,{onClick:t=>i(t,e),children:[e.pinned?(0,J.jsx)(Ar,{className:`size-3.5 mr-2`}):(0,J.jsx)(jr,{className:`size-3.5 mr-2`}),e.pinned?`Unpin`:`Pin`]}),!l&&(0,J.jsxs)(Be,{onClick:()=>c(e.id,t,e.title),children:[(0,J.jsx)(Ke,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),a&&(0,J.jsxs)(Be,{onClick:t=>a(e,t),children:[(0,J.jsx)(kr,{className:`size-3.5 mr-2`}),`Rename`]}),n.length>0&&(0,J.jsxs)(Ve,{children:[(0,J.jsxs)(Le,{children:[(0,J.jsx)(ri,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,J.jsxs)(Pe,{children:[n.map(t=>(0,J.jsxs)(Be,{onClick:()=>u(t.id),children:[(0,J.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:t.color}}),t.name,e.tag?.id===t.id&&(0,J.jsx)(Fe,{className:`size-3 ml-auto`})]},t.id)),e.tag&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>u(null),children:`Remove tag`})]})]})]}),o&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ze,{}),(0,J.jsxs)(Be,{className:`text-error focus:text-error`,onClick:t=>o(t,e),children:[(0,J.jsx)(si,{className:`size-3.5 mr-2`}),`Delete`]})]})]})]})}var Mo=5,No=20;function Po({projectName:e,onSelectSession:t,className:n}){let[r,i]=(0,q.useState)([]),[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(``),d=yo(l,300),[f,p]=(0,q.useState)(null),{projectTags:m,tagCounts:h,loadTags:g}=bo(e),_=(0,q.useCallback)(async t=>{if(e){o(!0);try{let n=new URLSearchParams({limit:String(No)});t&&n.set(`q`,t),i((await R.get(`${L(e)}/chat/sessions?${n}`)).sessions.slice(0,No))}catch{}finally{o(!1)}}},[e]);(0,q.useEffect)(()=>{_()},[_]),(0,q.useEffect)(()=>{_(d||void 0)},[d]);let v=(0,q.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${L(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await R.del(r):await R.put(r),i(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort((e,t)=>e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()))}catch{}},[e]),y=(0,q.useCallback)((e,t)=>{i(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),g()},[g]),b=f===null?r:r.filter(e=>e.tag?.id===f),x=b.filter(e=>e.pinned),S=b.filter(e=>!e.pinned),C=s?S:S.slice(0,Mo),w=S.length>Mo;return a||!e||r.length===0?null:(0,J.jsxs)(`div`,{className:n,children:[(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(Wr,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,J.jsx)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search chats...`,className:`w-full pl-8 pr-8 py-1.5 text-xs rounded-md border border-border bg-surface text-text-primary placeholder:text-text-subtle focus:outline-none focus:ring-1 focus:ring-primary/50`}),l&&(0,J.jsx)(`button`,{onClick:()=>u(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text-primary`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}),(0,J.jsx)(`div`,{className:`mt-3`,children:(0,J.jsx)(xo,{projectTags:m,tagCounts:h,totalCount:r.length,selectedTagId:f,onSelect:p})}),x.length>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Pinned`}),(0,J.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:x.map(n=>(0,J.jsx)(Fo,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))})]}),C.length>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Recent chats`}),(0,J.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:C.map(n=>(0,J.jsx)(Fo,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))}),w&&(0,J.jsxs)(`button`,{onClick:()=>c(!s),className:`flex items-center justify-center gap-1 text-[11px] text-text-subtle hover:text-text-primary transition-colors py-1`,children:[s?(0,J.jsx)(cn,{className:`size-3`}):(0,J.jsx)(on,{className:`size-3`}),s?`Show less`:`Show more (${S.length-Mo})`]})]})]})}function Fo({session:e,projectName:t,projectTags:n,onSelect:r,onTogglePin:i,onTagChanged:a}){let o=Do(t=>t.notifications.get(e.id));return(0,J.jsx)(jo,{session:e,projectName:t,projectTags:n,onTogglePin:i,onTagChanged:a,children:(0,J.jsxs)(`button`,{onClick:()=>r(e),className:H(`group flex items-center gap-2.5 w-full px-3 py-2.5 text-left hover:bg-surface-elevated active:bg-surface-elevated transition-colors border-b border-border/50 last:border-0`,o&&Eo(o.type)),children:[(0,J.jsx)(gr,{className:`size-3.5 shrink-0 text-text-subtle`}),e.tag&&(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.tag.color},title:e.tag.name}),(0,J.jsx)(`span`,{className:H(`flex-1 min-w-0 text-xs truncate`,o?`font-semibold text-foreground`:`font-medium text-text-primary`),children:e.title||`Untitled`}),e.updatedAt&&(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:vo(e.updatedAt)}),(0,J.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>i(t,e),className:`p-1 rounded transition-colors shrink-0 ${e.pinned?`text-primary hover:text-primary/70`:`text-text-subtle can-hover:opacity-0 can-hover:group-hover:opacity-100 hover:text-text-primary`}`,"aria-label":e.pinned?`Unpin session`:`Pin session`,children:e.pinned?(0,J.jsx)(Ar,{className:`size-3`}):(0,J.jsx)(jr,{className:`size-3`})})]})})}function Io(e,t){return e.map(e=>({name:e.name,path:t?`${t}/${e.name}`:e.name,type:e.type,ignored:e.isIgnored}))}function Lo(e,t,n){return t?e.map(e=>Ro(e,t,n)):n.map(t=>{let n=e.find(e=>e.path===t.path);return n?{...t,children:n.children}:t})}function Ro(e,t,n){if(e.path===t){let t=n.map(t=>{let n=e.children?.find(e=>e.path===t.path);return n?{...t,children:n.children}:t});return{...e,children:t}}return e.children&&t.startsWith(e.path+`/`)?{...e,children:e.children.map(e=>Ro(e,t,n))}:e}var zo=20,Bo=3,Vo=[],Ho=0,Uo=0,Wo=null,Go=typeof requestIdleCallback==`function`?e=>requestIdleCallback(()=>e(),{timeout:1e3}):e=>setTimeout(e,200);function Ko(e){if(e===Uo)for(;Ho<Bo&&Vo.length>0;){let t=Vo.shift();Ho++,Wo(t).finally(()=>{Ho--,e===Uo&&Go(()=>Ko(e))})}}function qo(e,t,n){Wo=n;let r=e.filter(e=>e.type===`directory`&&!e.ignored&&!t(e.path)).slice(0,zo).map(e=>e.path);if(r.length===0)return;Vo.push(...r.filter(e=>!Vo.includes(e)));let i=Uo;Go(()=>Ko(i))}function Jo(){Uo++,Vo=[]}function Yo(e){return[...e].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1)}function Xo(e,t){let n=e,r=e.name;if(e.type===`directory`&&t.has(e.path)&&e.children)for(;n.children&&n.children.length===1&&n.children[0].type===`directory`&&t.has(n.children[0].path);)n=n.children[0],r+=`/${n.name}`;return{effective:n,displayName:r}}function Zo(e,t,n=null){let r=[],i=n!=null&&n.type!==`rename`,a=n?.type===`rename`?n.existingNode?.path:void 0;i&&n.parentPath===``&&r.push({kind:`input`,inline:n,depth:0,targetPath:``});function o(e,s){for(let c of Yo(e)){let{effective:e,displayName:l}=Xo(c,t);a!=null&&a===c.path?r.push({kind:`input`,inline:n,depth:s,targetPath:c.path}):r.push({kind:`node`,node:c,effectiveNode:e,displayName:l,depth:s});let u=e.type===`directory`&&t.has(e.path);i&&u&&(n.parentPath===c.path||n.parentPath===e.path)&&r.push({kind:`input`,inline:n,depth:s+1,targetPath:e.path}),u&&e.children&&o(e.children,s+1)}}return o(e,0),r}function Qo(e,t){return Zo(e,t).filter(e=>e.kind===`node`).map(e=>e.effectiveNode)}function $o(e,t){if(!t)return e;let n=e.includes(`\\`)?`\\`:`/`,r=n===`\\`?t.replace(/\//g,`\\`):t;return e.endsWith(n)?`${e}${r}`:`${e}${n}${r}`}function es(e,t){let n=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``),r=n(e),i=n(t);return i===r?``:i.startsWith(`${r}/`)?i.slice(r.length+1):null}function ts(e,t){let n=e;for(;;){let e=n.find(e=>e.path===t||t.startsWith(`${e.path}/`));if(!e)return;if(e.path===t)return e;n=e.children??[]}}function ns(e,t,n){qo(n,t=>e().loadedPaths.has(t)||e().inflight.has(t),n=>e().loadChildren(t,n,{prefetch:!0}))}var rs=at((e,t)=>({tree:[],fileIndex:[],loading:!1,error:null,expandedPaths:new Set,loadedPaths:new Set,inflight:new Map,indexStatus:`idle`,selectedFiles:[],inlineAction:null,clipboard:null,focusedPath:null,setInlineAction:t=>e({inlineAction:t}),clearInlineAction:()=>e({inlineAction:null}),setClipboard:t=>e({clipboard:t}),setFocusedPath:t=>e({focusedPath:t}),loadRoot:async n=>{e({loading:!0,error:null});try{let r=Io(await R.get(`${L(n)}/files/list?path=`),``),i=new Set(t().loadedPaths);i.add(``),e({tree:r,loading:!1,loadedPaths:i}),ns(t,n,r)}catch(t){e({error:t instanceof Error?t.message:`Failed to load files`,loading:!1})}},loadChildren:async(n,r,i)=>{let a=t();if(a.loadedPaths.has(r)||i?.prefetch&&a.inflight.has(r))return;let o=a.inflight.get(r);o&&o.abort();let s=new AbortController,c=new Map(a.inflight);c.set(r,s),e({inflight:c});try{let a=encodeURIComponent(r),o=await R.get(`${L(n)}/files/list?path=${a}`,{signal:s.signal});if(s.signal.aborted)return;let c=Io(o,r),l=t(),u=Lo(l.tree,r,c),d=new Set(l.loadedPaths);d.add(r);let f=new Map(l.inflight);f.delete(r),e({tree:u,loadedPaths:d,inflight:f}),i?.prefetch||ns(t,n,c)}catch(n){if(n instanceof Error&&n.name===`AbortError`)return;let i=new Map(t().inflight);i.delete(r),e({inflight:i})}},loadPathsBatch:async(n,r)=>{let i=t(),a=[...new Set(r)].filter(e=>!i.loadedPaths.has(e));if(a.length!==0){i.tree.length===0&&e({loading:!0,error:null});try{let r=await R.post(`${L(n)}/files/list-batch`,{paths:a}),i=t(),o=i.tree,s=new Set(i.loadedPaths),c=new Set(i.expandedPaths),l=[...r].sort((e,t)=>e.path.split(`/`).length-t.path.split(`/`).length);for(let e of l){if(e.error!=null||!e.entries){c.delete(e.path);continue}let t=Io(e.entries,e.path);o=e.path===``?t:Lo(o,e.path,t),s.add(e.path)}e({tree:o,loadedPaths:s,expandedPaths:c,loading:!1}),ns(t,n,o)}catch(n){e({error:t().tree.length===0?n instanceof Error?n.message:`Failed to load files`:null,loading:!1})}}},loadIndex:async t=>{e({indexStatus:`loading`});try{e({fileIndex:await R.get(`${L(t)}/files/index`),indexStatus:`ready`})}catch{e({indexStatus:`error`})}},invalidateIndex:()=>{e({indexStatus:`idle`,fileIndex:[]})},invalidateFolder:async(n,r)=>{let i=t();if(!i.loadedPaths.has(r))return;let a=new Set(i.loadedPaths);a.delete(r),e({loadedPaths:a}),(!r||i.expandedPaths.has(r))&&await t().loadChildren(n,r)},toggleExpand:(n,r)=>{let i=t(),a=new Set(i.expandedPaths);if(a.has(r))a.delete(r),e({expandedPaths:a});else if(a.add(r),e({expandedPaths:a}),!i.loadedPaths.has(r))t().loadChildren(n,r);else{let e=ts(t().tree,r);e?.children&&ns(t,n,e.children)}},setExpanded:(n,r)=>{let i=new Set(t().expandedPaths);r?i.add(n):i.delete(n),e({expandedPaths:i})},collapseAll:()=>{e({expandedPaths:new Set})},toggleFileSelect:n=>{let r=t().selectedFiles;r.indexOf(n)>=0?e({selectedFiles:r.filter(e=>e!==n)}):e({selectedFiles:[...r,n]})},setSelectedFiles:t=>e({selectedFiles:t}),clearSelection:()=>e({selectedFiles:[]}),reset:()=>{Jo();for(let e of t().inflight.values())e.abort();e({tree:[],fileIndex:[],loading:!1,error:null,expandedPaths:new Set,loadedPaths:new Set,inflight:new Map,indexStatus:`idle`,selectedFiles:[],inlineAction:null,clipboard:null,focusedPath:null})},fetchTree:async e=>{await t().loadRoot(e),t().loadIndex(e)}})),is=`ppm-explorer-expanded:`;function as(e){try{let t=localStorage.getItem(is+e),n=t?JSON.parse(t):[];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}catch{return[]}}function os(e,t){try{let n=[...t].filter(e=>e!==``).slice(0,50);localStorage.setItem(is+e,JSON.stringify(n))}catch{}}function ss(){let{tree:e,expandedPaths:t}=rs.getState();return Qo(e,t).map(e=>e.path)}function cs(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var ls=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return ls(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return ls(t)(e)}}}},us=(e,t)=>(n,r,i)=>{let a={storage:cs(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return ls(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(m,void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},ds=5e5,fs=at()(us(e=>({selection:null,setSelection:t=>e({selection:t}),clearSelection:()=>e({selection:null})}),{name:`ppm:compare-selection`,partialize:e=>{if(!e.selection)return{selection:null};let t=e.selection;if(t.dirtyContent&&t.dirtyContent.length>ds){let{dirtyContent:e,...n}=t;return{selection:n}}return{selection:t}}})),ps=null;W.subscribe(e=>{let t=e.activeProject?.name??null;ps!==null&&ps!==t&&fs.getState().clearSelection(),ps=t});async function ms(e,t,n){let r=`${st(e.path)} ↔ ${st(t.path)}`,i=e.dirtyContent!==void 0,a=t.dirtyContent!==void 0,o;if(i||a){let[r,i]=await Promise.all([hs(e,n),hs(t,n)]);o={projectName:n,original:r,modified:i,file1:e.path,file2:t.path}}else o={projectName:n,file1:e.path,file2:t.path};return G.getState().openTab({type:`git-diff`,title:r,projectId:n,metadata:o,closable:!0})}async function hs(e,t){if(e.dirtyContent!==void 0)return e.dirtyContent;try{let{content:n}=await R.get(`${L(t)}/files/read?path=${encodeURIComponent(e.path)}`);return n}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Failed to read "${e.path}": ${n}`)}}var gs=`application/ppm-tab`,_s=!1,vs=new Set;function ys(e){_s!==e&&(_s=e,vs.forEach(e=>e()))}function bs(){return(0,q.useSyncExternalStore)(e=>(vs.add(e),()=>vs.delete(e)),()=>_s)}function xs(){ys(!1)}function Ss(e){let[t,n]=(0,q.useState)(null),r=(0,q.useRef)(null);return{dropIndex:t,handleDragStart:(0,q.useCallback)((t,n)=>{let r={tabId:n,panelId:e};t.dataTransfer.setData(gs,JSON.stringify(r)),t.dataTransfer.effectAllowed=`move`,requestAnimationFrame(()=>ys(!0))},[e]),handleDragOver:(0,q.useCallback)((e,t,i)=>{if(!e.dataTransfer.types.includes(`application/ppm-tab`)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,r.current===t))return;r.current=t;let a=e.currentTarget.getBoundingClientRect(),o=a.left+a.width/2;n(e.clientX<o?i:i+1)},[]),handleDragOverBar:(0,q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`)},[]),handleDrop:(0,q.useCallback)(i=>{i.preventDefault(),ys(!1);let a=i.dataTransfer.getData(gs);if(a){try{let n=JSON.parse(a),r=U.getState();n.panelId===e?t!==null&&r.reorderTab(n.tabId,e,t):r.moveTab(n.tabId,n.panelId,e,t??void 0)}catch{}n(null),r.current=null}},[e,t]),handleDragEnd:(0,q.useCallback)(()=>{ys(!1),n(null),r.current=null},[])}}var Cs=null,ws=null,Ts=0,Es=new Set;function Ds(){Es.forEach(e=>e())}function Os(){return(0,q.useSyncExternalStore)(e=>(Es.add(e),()=>Es.delete(e)),()=>ws)}function ks(){return Date.now()-Ts<300}var As=null;function js(e,t,n){let r=document.createElement(`div`);r.id=`touch-drag-ghost`,Object.assign(r.style,{position:`fixed`,zIndex:`9999`,pointerEvents:`none`,padding:`6px 14px`,borderRadius:`8px`,background:`rgba(30,30,30,0.92)`,color:`#fff`,fontSize:`12px`,whiteSpace:`nowrap`,opacity:`0.95`,boxShadow:`0 4px 16px rgba(0,0,0,0.35)`,transform:`translate(-50%, -130%)`,left:`${t}px`,top:`${n}px`}),r.textContent=e,document.body.appendChild(r),As=r}function Ms(e,t){As&&(As.style.left=`${e}px`,As.style.top=`${t}px`)}function Ns(){As?.remove(),As=null}function Ps(e,t){As&&(As.style.display=`none`);let n=document.elementFromPoint(e,t);As&&(As.style.display=``);let r=n?.closest(`[data-panel-drop-zone]`);if(!r)return null;let i=r.dataset.panelDropZone,a=r.getBoundingClientRect(),o=(e-a.left)/a.width,s=(t-a.top)/a.height,c=.25,{grid:l}=U.getState(),u=window.innerWidth<768,d=lt(l,i),f=d?!u&&(l[d.row]?.length??0)<pt(!1):!1,p=!u&&l.length<3,m=`center`;return o<c&&f?m=`left`:o>1-c&&f?m=`right`:s<c&&p?m=`top`:s>1-c&&p&&(m=`bottom`),{panelId:i,zone:m}}function Fs(e){if(!Cs)return;e.preventDefault();let t=e.touches[0];if(!t)return;Ms(t.clientX,t.clientY);let n=Ps(t.clientX,t.clientY);(n?.panelId!==ws?.panelId||n?.zone!==ws?.zone)&&(ws=n,Ds())}function Is(){Cs=null,ws=null,Ds(),Ns(),xs(),document.removeEventListener(`touchmove`,Fs),document.removeEventListener(`touchend`,Ls),document.removeEventListener(`touchcancel`,Rs)}function Ls(){let e=Cs,t=ws;if(Is(),Ts=Date.now(),!e||!t)return;let n=U.getState();if(t.zone===`center`)e.panelId!==t.panelId&&n.moveTab(e.tabId,e.panelId,t.panelId);else{let r=t.zone===`top`?`up`:t.zone===`bottom`?`down`:t.zone;n.splitPanel(r,e.tabId,e.panelId,t.panelId)}}function Rs(){Is(),Ts=Date.now()}function zs(e,t,n,r){Cs=e,ys(!0),js(t,n,r),document.addEventListener(`touchmove`,Fs,{passive:!1}),document.addEventListener(`touchend`,Ls),document.addEventListener(`touchcancel`,Rs)}var Bs=200,Vs=10;function Hs(e){let t=(0,q.useRef)(null),n=(0,q.useRef)(null),r=(0,q.useRef)(!1);return{handleTouchStart:(0,q.useCallback)((i,a,o)=>{let s=i.touches[0];s&&(n.current={x:s.clientX,y:s.clientY},r.current=!1,t.current=setTimeout(()=>{r.current=!0,zs({tabId:a,panelId:e},o,n.current.x,n.current.y)},Bs))},[e]),handleTouchMove:(0,q.useCallback)(e=>{if(r.current||!n.current||!t.current)return;let i=e.touches[0];i&&(Math.abs(i.clientX-n.current.x)>Vs||Math.abs(i.clientY-n.current.y)>Vs)&&(clearTimeout(t.current),t.current=null)},[]),handleTouchEnd:(0,q.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null)},[])}}var Us=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),Ws=[{id:`command-palette`,label:`Command Palette`,category:`general`,defaultKey:`F1`,note:`Shift+Shift also opens (not customizable)`},{id:`toggle-sidebar`,label:`Toggle Sidebar`,category:`general`,defaultKey:`Mod+B`},{id:`toggle-dock`,label:`Toggle Terminal Panel`,category:`general`,defaultKey:`Mod+'`,note:`Opens/closes the terminal panel; auto-opens a terminal when empty. Fires even when a terminal is focused.`},{id:`save-prevent`,label:`Prevent Save Dialog`,category:`general`,defaultKey:`Mod+S`,locked:!0,note:`Always active — prevents browser save`},{id:`next-tab`,label:`Next Tab`,category:`tabs`,defaultKey:`Alt+]`},{id:`prev-tab`,label:`Previous Tab`,category:`tabs`,defaultKey:`Alt+[`},{id:`new-file`,label:`New File`,category:`tabs`,defaultKey:`Mod+N`},{id:`open-chat`,label:`Open Chat`,category:`tabs`,defaultKey:`Mod+L`},{id:`open-terminal`,label:`Open Terminal Tab`,category:`tabs`,defaultKey:``,note:`No default shortcut — Mod+' now toggles the terminal panel; still available via the command palette`},{id:`open-settings`,label:`Open Settings`,category:`tabs`,defaultKey:`Mod+,`},{id:`open-git-status`,label:`Git Status (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+E`},{id:`open-search`,label:`Search Files (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+F`},{id:`voice-input`,label:`Voice Input`,category:`general`,defaultKey:`Mod+Shift+V`,note:`Toggle speech-to-text in chat`},{id:`chat-nav-prev`,label:`Previous Chat Message`,category:`general`,defaultKey:`Alt+ArrowUp`,note:`Jump to your previous message in the visible chat transcript`},{id:`chat-nav-next`,label:`Next Chat Message`,category:`general`,defaultKey:`Alt+ArrowDown`,note:`Jump to your next message in the visible chat transcript`},{id:`compare-files`,label:`Compare Files...`,category:`general`,defaultKey:`Mod+Alt+D`,note:`Open file-compare picker (seeds active file as A)`},...Array.from({length:9},(e,t)=>({id:`switch-project-${t+1}`,label:`Switch to Project ${t+1}`,category:`projects`,defaultKey:`Mod+${t+1}`}))],Gs=new Map(Ws.map(e=>[e.id,e.defaultKey]));function Ks(e){let t=e.split(`+`),n={ctrl:!1,meta:!1,alt:!1,shift:!1,key:``};for(let e of t){let t=e.trim();switch(t){case`Mod`:Us?n.meta=!0:n.ctrl=!0;break;case`Ctrl`:n.ctrl=!0;break;case`Meta`:case`Cmd`:n.meta=!0;break;case`Alt`:n.alt=!0;break;case`Shift`:n.shift=!0;break;default:n.key=t.toLowerCase();break}}return n}function qs(e,t){return e.ctrlKey!==t.ctrl||e.metaKey!==t.meta||e.altKey!==t.alt||e.shiftKey!==t.shift?!1:e.key.toLowerCase()===t.key}function Js(e){return e.replace(/Mod/g,Us?`⌘`:`Ctrl`).replace(/Shift/g,Us?`⇧`:`Shift`).replace(/Alt/g,Us?`⌥`:`Alt`).replace(/Meta|Cmd/g,`⌘`).replace(/Ctrl/g,Us?`⌃`:`Ctrl`)}function Ys(e){if([`Control`,`Meta`,`Alt`,`Shift`].includes(e.key))return null;let t=[];e.ctrlKey&&!e.metaKey&&t.push(Us?`Ctrl`:`Mod`),e.metaKey&&t.push(Us?`Mod`:`Meta`),e.altKey&&t.push(`Alt`),e.shiftKey&&t.push(`Shift`);let n=e.key;return n===` `?n=`Space`:n.length===1&&(n=n.toUpperCase()),t.push(n),t.join(`+`)}function Xs(e){let t=new Map;for(let n of Ws){let r=e[n.id]??n.defaultKey;r&&t.set(n.id,Ks(r))}return t}var Zs=Xs({}),Qs=at((e,t)=>({overrides:{},parsedCache:Zs,loaded:!1,getBinding:e=>t().overrides[e]??Gs.get(e)??``,matchesEvent:(e,n)=>{let r=t().parsedCache.get(n);return r?qs(e,r):!1},setBinding:(n,r)=>{let i={...t().overrides,[n]:r};e({overrides:i,parsedCache:Xs(i)}),R.put(`/api/settings/keybindings`,{[n]:r}).catch(()=>{})},resetBinding:n=>{let r={...t().overrides};delete r[n],e({overrides:r,parsedCache:Xs(r)}),R.put(`/api/settings/keybindings`,{[n]:null}).catch(()=>{})},resetAll:()=>{let n={};for(let e of Object.keys(t().overrides))n[e]=null;e({overrides:{},parsedCache:Xs({})}),Object.keys(n).length>0&&R.put(`/api/settings/keybindings`,n).catch(()=>{})},loadFromServer:async()=>{try{let t=await R.get(`/api/settings/keybindings`);e({overrides:t,parsedCache:Xs(t),loaded:!0})}catch{e({loaded:!0})}}})),$s=at((e,t)=>({statusBarItems:[],addStatusBarItem:t=>e(e=>({statusBarItems:[...e.statusBarItems.filter(e=>e.id!==t.id),t]})),removeStatusBarItem:t=>e(e=>({statusBarItems:e.statusBarItems.filter(e=>e.id!==t)})),updateStatusBarItem:(t,n)=>e(e=>({statusBarItems:e.statusBarItems.map(e=>e.id===t?{...e,...n}:e)})),treeViews:{},updateTree:(t,n)=>e(e=>({treeViews:{...e.treeViews,[t]:n}})),updateTreeChildren:(t,n,r)=>e(e=>{let i=e.treeViews[t];if(!i)return e;let a=e=>e.map(e=>e.id===n?{...e,children:r,collapsibleState:`expanded`}:e.children?{...e,children:a(e.children)}:e);return{treeViews:{...e.treeViews,[t]:a(i)}}}),removeTree:t=>e(e=>{let{[t]:n,...r}=e.treeViews;return{treeViews:r}}),webviewPanels:{},addWebviewPanel:t=>e(e=>({webviewPanels:{...e.webviewPanels,[t.id]:t}})),removeWebviewPanel:t=>e(e=>{let{[t]:n,...r}=e.webviewPanels;return{webviewPanels:r}}),updateWebviewPanel:(t,n)=>e(e=>{let r=e.webviewPanels[t];return r?{webviewPanels:{...e.webviewPanels,[t]:{...r,...n}}}:e}),contributions:null,setContributions:t=>e({contributions:t}),activationErrors:{},setActivationErrors:t=>e({activationErrors:t}),quickPick:null,showQuickPick:(n,r={})=>{let i=t().quickPick;return i&&i.resolve(void 0),new Promise(t=>{e({quickPick:{items:n,options:r,resolve:t}})})},resolveQuickPick:n=>{let r=t().quickPick;r&&(r.resolve(n),e({quickPick:null}))},inputBox:null,showInputBox:(n={})=>{let r=t().inputBox;return r&&r.resolve(void 0),new Promise(t=>{e({inputBox:{options:n,resolve:t}})})},resolveInputBox:n=>{let r=t().inputBox;r&&(r.resolve(n),e({inputBox:null}))},clearExtension:t=>e(e=>{let n={...e.webviewPanels};for(let[e,r]of Object.entries(n))r.extensionId===t&&delete n[e];return{statusBarItems:e.statusBarItems.filter(e=>e.extensionId!==t),webviewPanels:n}})}));function ec(e){window.dispatchEvent(new CustomEvent(`open-command-palette`,{detail:e}))}function tc(){let[e,t]=(0,q.useState)(!1),[n,r]=(0,q.useState)(``);return(0,q.useEffect)(()=>{let e=0,n=!1,{matchesEvent:i}=Qs.getState(),a=new Map,o=!1;function s(){o=!0}function c(){o=!1}function l(e,t){let n=t(e,`chat-nav-prev`)?`prev`:t(e,`chat-nav-next`)?`next`:null;return n?(e.preventDefault(),window.dispatchEvent(new CustomEvent(`chat-nav-${n}`)),!0):!1}function u(i){if(i.type===`keydown`&&i.key===`Shift`){n=!0;return}if(i.type===`keydown`&&i.shiftKey&&(n=!1),i.type===`keydown`&&i.key!==`Shift`&&(e=0),i.type===`keyup`&&i.key===`Shift`&&n&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!o&&!i.isComposing){let n=Date.now();if(n-e<400){e=0,r(``),t(!0);return}e=n;return}if(i.type!==`keydown`||o||i.isComposing)return;let s=i.target?.tagName;if(s===`TEXTAREA`||s===`INPUT`||i.target?.isContentEditable){let{matchesEvent:e}=Qs.getState();e(i,`save-prevent`)&&i.preventDefault(),e(i,`toggle-dock`)&&(i.preventDefault(),U.getState().toggleDock()),l(i,e);return}let{matchesEvent:c}=Qs.getState();if(c(i,`save-prevent`)){i.preventDefault();return}if(c(i,`command-palette`)){i.preventDefault(),r(``),t(!0);return}if(c(i,`toggle-sidebar`)){i.preventDefault(),V.getState().toggleSidebar();return}if(c(i,`toggle-dock`)){i.preventDefault(),U.getState().toggleDock();return}if(c(i,`next-tab`)||c(i,`prev-tab`)){i.preventDefault();let{tabs:e,activeTabId:t,setActiveTab:n}=G.getState();if(e.length<2)return;let r=e.findIndex(e=>e.id===t);n(e[c(i,`next-tab`)?(r+1)%e.length:(r-1+e.length)%e.length].id);return}if(c(i,`new-file`)){i.preventDefault(),G.getState().openNewFile();return}for(let e of[{action:`open-chat`,type:`chat`,title:`AI Chat`},{action:`open-terminal`,type:`terminal`,title:`Terminal`}])if(c(i,e.action)){i.preventDefault();let t=W.getState().activeProject;G.getState().openTab({type:e.type,title:e.title,projectId:t?.name??null,metadata:t?{projectName:t.name}:void 0,closable:!0});return}if(c(i,`open-settings`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`settings`);return}if(c(i,`open-git-status`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`git`);return}if(c(i,`voice-input`)){i.preventDefault(),window.dispatchEvent(new CustomEvent(`toggle-voice-input`));return}if(l(i,c))return;if(c(i,`compare-files`)){i.preventDefault();let{activeTabId:e,tabs:t}=G.getState(),n=t.find(t=>t.id===e),r=n?.metadata;n?.type===`editor`&&r?.filePath&&r?.projectName&&fs.getState().setSelection({filePath:r.filePath,projectName:r.projectName,dirtyContent:r.unsavedContent,label:st(r.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`));return}if(c(i,`open-search`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`search`);return}for(let e=1;e<=9;e++)if(c(i,`switch-project-${e}`)){i.preventDefault();let t=W.getState().projects[e-1];t&&(W.getState().setActiveProject(t),G.getState().switchProject(t.name));return}let u=$s.getState().contributions?.keybindings;if(u){let e=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),{getBinding:t}=Qs.getState();for(let n of u){let r=t(`ext:${n.command}`)||(e&&n.mac?n.mac:n.key);if(!r)continue;let o=a.get(r);if(o||(o=Ks(r),a.set(r,o)),qs(i,o)){i.preventDefault();let e=W.getState().activeProject,t=[];e?.path&&t.push(e.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:n.command,args:t}}));return}}}}function d(e){let n=e.detail;r(typeof n==`string`?n:``),t(!0)}return window.addEventListener(`keydown`,u),window.addEventListener(`keyup`,u),window.addEventListener(`compositionstart`,s),window.addEventListener(`compositionend`,c),window.addEventListener(`open-command-palette`,d),()=>{window.removeEventListener(`keydown`,u),window.removeEventListener(`keyup`,u),window.removeEventListener(`compositionstart`,s),window.removeEventListener(`compositionend`,c),window.removeEventListener(`open-command-palette`,d)}},[]),{paletteOpen:e,paletteInitialQuery:n,closePalette:(0,q.useCallback)(()=>{t(!1),r(``)},[])}}var nc=at(e=>({sessions:new Map,setStreaming:(t,n,r)=>e(e=>{let i=new Map(e.sessions);return n?i.set(t,r??i.get(t)??``):i.delete(t),{sessions:i}}),replaceProjectStreaming:(t,n)=>e(e=>{let r=new Set(n),i=new Map(e.sessions);for(let[n,a]of e.sessions)a===t&&!r.has(n)&&i.delete(n);for(let e of n)i.set(e,t);return{sessions:i}})})),rc=e=>e.sessions.size>0;function ic(e){let[t,n]=(0,q.useState)(!1),[r,i]=(0,q.useState)(!1),a=(0,q.useCallback)(()=>{let t=e.current;t&&(n(t.scrollLeft>1),i(t.scrollLeft+t.clientWidth<t.scrollWidth-1))},[e]);return(0,q.useEffect)(()=>{let t=e.current;if(!t)return;a(),t.addEventListener(`scroll`,a,{passive:!0});let n=new ResizeObserver(a);n.observe(t);let r=new MutationObserver(a);return r.observe(t,{childList:!0,subtree:!0}),()=>{t.removeEventListener(`scroll`,a),n.disconnect(),r.disconnect()}},[e,a]),{canScrollLeft:t,canScrollRight:r,scrollLeft:(0,q.useCallback)(()=>{e.current?.scrollBy({left:-150,behavior:`smooth`})},[e]),scrollRight:(0,q.useCallback)(()=>{e.current?.scrollBy({left:150,behavior:`smooth`})},[e])}}var ac={done:0,question:1,approval_request:2};function oc(e,t,n,r){if(!e)return{left:null,right:null};let i=e.scrollLeft,a=i+e.clientWidth,o=null,s=-1,c=null,l=-1,u=e.getBoundingClientRect();for(let d of n){if(d.type!==`chat`)continue;let n=d.metadata?.sessionId,f=n?r.get(n):void 0;if(!f||f.count===0)continue;let p=t.get(d.id);if(!p)continue;let m=p.getBoundingClientRect(),h=m.left-u.left+e.scrollLeft,g=h+m.width,_=ac[f.type]??0;g<=i&&_>s&&(s=_,o=f.type),h>=a&&_>l&&(l=_,c=f.type)}return{left:o,right:c}}var sc={default:{base:`group flex items-center gap-1 px-3 h-[41px] whitespace-nowrap text-xs transition-colors border-t-2 [border-right:1px_solid_var(--border-soft)] cursor-grab active:cursor-grabbing`,active:`border-t-primary bg-panel-2 text-primary`,inactive:`border-t-transparent text-text-secondary hover:text-foreground hover:bg-panel/60`,row:`flex items-center`,add:`flex items-center justify-center h-[41px] w-10 shrink-0 sticky right-0 border-t-2 border-transparent text-text-secondary hover:text-foreground transition-colors`},boxed:{base:`group flex items-center gap-1.5 px-2.5 h-8 rounded-md whitespace-nowrap text-xs transition-colors border cursor-grab active:cursor-grabbing`,active:`border-primary bg-primary/10 text-primary`,inactive:`border-border text-text-secondary hover:border-text-subtle hover:text-foreground`,row:`flex items-center gap-1.5 px-2 py-1.5`,add:`flex items-center justify-center size-8 shrink-0 sticky right-0 rounded-md text-text-secondary hover:text-foreground hover:bg-surface-elevated transition-colors`},pill:{base:`group flex items-center gap-1.5 px-3 h-8 rounded-lg whitespace-nowrap text-xs transition-colors border cursor-grab active:cursor-grabbing`,active:`border-border bg-surface-elevated text-foreground`,inactive:`border-transparent text-text-secondary hover:bg-surface hover:text-foreground`,row:`flex items-center gap-1 px-2 py-1.5`,add:`flex items-center justify-center size-8 shrink-0 sticky right-0 rounded-lg text-text-secondary hover:text-foreground hover:bg-surface-elevated transition-colors`}};function cc(e,t,n){let r=sc[e];return H(r.base,n?`border-t-transparent`:t?r.active:r.inactive)}function lc(e,t){let n=e===`default`?` [background:repeating-linear-gradient(to_bottom,transparent_0,transparent_40px,var(--border-soft)_40px,var(--border-soft)_41px)]`:``;return H(sc[e].row,t?`flex-wrap min-h-[41px]`+n:`h-[41px]`)}function uc(e){return sc[e].add}function dc(e){let t=/^#([0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return null;let n=parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}function fc(e){let t=e.trim();if(t.startsWith(`#`)){let e=t.slice(1),n=e.length===3?e.split(``).map(e=>e+e).join(``):e;return/^[0-9a-fA-F]{6,8}$/.test(n)?{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16),a:n.length===8?parseInt(n.slice(6,8),16)/255:1}:null}let n=/^rgba?\(([^)]+)\)$/.exec(t);if(!n)return null;let r=n[1].split(/[,\s/]+/).filter(Boolean).map(Number);return r.length<3||r.slice(0,4).some(e=>Number.isNaN(e))?null:{r:r[0],g:r[1],b:r[2],a:r[3]??1}}function pc(e,t){let n=fc(e),r=fc(t);if(!n||!r||n.a>=1)return e;let i=(e,t)=>Math.round(e*n.a+t*(1-n.a));return`rgb(${i(n.r,r.r)}, ${i(n.g,r.g)}, ${i(n.b,r.b)})`}function mc(e,t,n){let[r,i,a]=[e,t,n].map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a}function hc(e){let t=dc(e);return t?mc(t.r,t.g,t.b)<.4:!1}function gc({tab:e,isActive:t,icon:n,showDropBefore:r,notificationType:i,notificationManual:a,isStreaming:o,onSelect:s,onClose:c,onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,tabRef:h,onRename:g,onContextAction:_,tagColor:v,extraMenuContent:y}){let[b,x]=(0,q.useState)(!1),[S,C]=(0,q.useState)(e.title),w=(0,q.useRef)(null),T=V(e=>e.editorTabStyle);(0,q.useEffect)(()=>{b&&(C(e.title),setTimeout(()=>w.current?.select(),0))},[b]);let E=()=>{x(!1);let t=S.trim();t&&t!==e.title&&g&&g(t)},D=e.metadata?.connectionColor,O=D?{backgroundColor:t?D:`${D}33`,color:t&&hc(D)?`#fff`:void 0}:void 0,k=e.type===`editor`,A=(0,J.jsxs)(`button`,{ref:h,"data-tab-item":!0,"data-tab-id":e.id,draggable:!b,onClick:s,onAuxClick:t=>{t.button===1&&e.closable&&(t.preventDefault(),c())},onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,style:O,className:cc(T,t,!!O),children:[(0,J.jsxs)(`span`,{className:H(`relative`,o&&`text-warning`),children:[(0,J.jsx)(n,{className:`size-4`}),o?(0,J.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):i&&(!t||a)?(0,J.jsx)(`span`,{className:H(`absolute -top-1 -right-1 size-2 rounded-full`,wo(i))}):null]}),b?(0,J.jsx)(`input`,{ref:w,value:S,onChange:e=>C(e.target.value),onBlur:E,onKeyDown:e=>{e.key===`Enter`&&E(),e.key===`Escape`&&x(!1),e.stopPropagation()},onClick:e=>e.stopPropagation(),className:`max-w-[120px] bg-surface-elevated text-xs px-1 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}):(0,J.jsx)(`span`,{className:`max-w-[120px] truncate`,title:e.title,onDoubleClick:e=>{g&&(e.stopPropagation(),x(!0))},children:e.title}),e.closable&&!b&&(0,J.jsx)(`span`,{role:`button`,tabIndex:0,onClick:e=>{e.stopPropagation(),c()},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),c())},className:`ml-1 can-hover:opacity-0 can-hover:group-hover:opacity-100 rounded-sm hover:bg-surface-elevated p-0.5 transition-opacity`,children:(0,J.jsx)(tt,{className:`size-3`})})]});return(0,J.jsxs)(`div`,{className:`relative flex items-center`,children:[r&&(0,J.jsx)(`div`,{className:`absolute left-0 top-1 bottom-1 w-0.5 bg-primary rounded-full z-10`}),v&&(0,J.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-full pointer-events-none`,style:{backgroundColor:v}}),_?(0,J.jsxs)(He,{children:[(0,J.jsx)(Ue,{asChild:!0,children:A}),(0,J.jsxs)(Re,{children:[k&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Be,{onClick:()=>_(`copy-path`),children:`Copy Path`}),(0,J.jsx)(Be,{onClick:()=>_(`copy-full-path`),children:`Copy Full Path`}),(0,J.jsxs)(Be,{onClick:()=>_(`download`),children:[(0,J.jsx)(Qe,{className:`size-3.5 mr-2`}),`Download`]}),(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>_(`rename`),children:`Rename`}),(0,J.jsx)(Be,{variant:`destructive`,onClick:()=>_(`delete`),children:`Delete`}),(0,J.jsx)(ze,{})]}),y,e.closable&&(0,J.jsx)(Be,{onClick:()=>_(`close`),children:`Close`}),(0,J.jsx)(Be,{onClick:()=>_(`close-others`),children:`Close Others`}),(0,J.jsx)(Be,{onClick:()=>_(`close-right`),children:`Close to the Right`})]})]}):A]})}async function _c(e,t){if(/^(\/|[A-Za-z]:[/\\])/.test(t)){let{token:e}=await R.post(`/api/fs/download/token`,{path:t});yc(`/api/fs/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(e)}`,st(t));return}let{token:n}=await R.post(`${L(e)}/files/download/token`);yc(`${L(e)}/files/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(n)}`,st(t))}async function vc(e,t){let{token:n}=await R.post(`${L(e)}/files/download/token`),r=st(t)||`folder`;yc(`${L(e)}/files/download/zip?path=${encodeURIComponent(t)}&dl_token=${encodeURIComponent(n)}`,`${r}.zip`)}function yc(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,n.style.display=`none`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}async function bc(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return wc(e)}function xc(){return typeof ClipboardItem<`u`&&!!navigator.clipboard?.write}async function Sc(e){if(!xc())return!1;try{let t=await fetch(e).then(e=>e.blob()),n=t.type===`image/png`?t:await Cc(t);return await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),!0}catch{return!1}}async function Cc(e){let t=await createImageBitmap(e),n=document.createElement(`canvas`);return n.width=t.width,n.height=t.height,n.getContext(`2d`)?.drawImage(t,0,0),t.close(),new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`canvas produced no blob`)),`image/png`)})}function wc(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:none;opacity:0;`,document.body.appendChild(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;try{return t.focus(),t.select(),t.setSelectionRange(0,e.length),document.execCommand(`copy`)}catch{return!1}finally{t.remove(),n&&r&&(n.removeAllRanges(),n.addRange(r))}}function Tc({...e}){return(0,J.jsx)(te,{"data-slot":`dialog`,...e})}function Ec({...e}){return(0,J.jsx)(we,{"data-slot":`dialog-trigger`,...e})}function Dc({...e}){return(0,J.jsx)(xe,{"data-slot":`dialog-portal`,...e})}function Oc({className:e,...t}){return(0,J.jsx)(ge,{"data-slot":`dialog-overlay`,className:H(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function kc({className:e,children:t,showCloseButton:n=!0,...r}){return(0,J.jsxs)(Dc,{"data-slot":`dialog-portal`,children:[(0,J.jsx)(Oc,{}),(0,J.jsxs)(ce,{"data-slot":`dialog-content`,className:H(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background text-foreground p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg`,e),...r,children:[t,n&&(0,J.jsxs)(ye,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,J.jsx)(tt,{}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function Ac({className:e,...t}){return(0,J.jsx)(`div`,{"data-slot":`dialog-header`,className:H(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function jc({className:e,showCloseButton:t=!1,children:n,...r}){return(0,J.jsxs)(`div`,{"data-slot":`dialog-footer`,className:H(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,J.jsx)(ye,{asChild:!0,children:(0,J.jsx)(I,{variant:`outline`,children:`Close`})})]})}function X({className:e,...t}){return(0,J.jsx)(fe,{"data-slot":`dialog-title`,className:H(`text-lg leading-none font-semibold`,e),...t})}function Mc({className:e,...t}){return(0,J.jsx)(ee,{"data-slot":`dialog-description`,className:H(`text-sm text-muted-foreground`,e),...t})}function Nc({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null);async function c(){a(!0),s(null);try{await R.del(`${L(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,J.jsx)(Tc,{open:!0,onOpenChange:e=>!e&&n(),children:(0,J.jsxs)(kc,{children:[(0,J.jsxs)(Ac,{children:[(0,J.jsxs)(X,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,J.jsxs)(Mc,{children:[`Are you sure you want to delete`,` `,(0,J.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,J.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var Pc={terminal:ai,chat:gr,editor:On,database:Ze,sqlite:Ze,postgres:Ze,"git-diff":kn,settings:Jr,extension:Ir,"extension-webview":Ir,"conflict-editor":kn,"system-monitor":Jr,"git-log":Kn,"ai-resource":Ye,group:fi},Fc=(0,q.memo)(function({panelId:e}){let t=W(e=>e.activeProject),n=(0,q.useRef)(new Map),r=(0,q.useRef)(null),i=(0,q.useRef)(0),a=U(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),o=t?.name??null,s=ct(a?.tabs??[],o),c=a?.activeTabId??null,l=a?.id??U.getState().focusedPanelId,{dropIndex:u,handleDragStart:d,handleDragOver:f,handleDragOverBar:p,handleDrop:m,handleDragEnd:h}=Ss(l),{handleTouchStart:g,handleTouchMove:_,handleTouchEnd:v}=Hs(l),{projectTags:y,loadTags:b}=bo(t?.name),[x,S]=(0,q.useState)({}),C=s.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,q.useEffect)(()=>{!t?.name||C.length===0||R.get(`${L(t.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);S(t)}).catch(()=>{})},[t?.name,C.join(`,`)]);let w=(0,q.useCallback)(async(e,n)=>{if(t?.name)try{if(n!==null){await R.patch(`${L(t.name)}/chat/sessions/${e}/tag`,{tagId:n});let r=y.find(e=>e.id===n);r&&S(t=>({...t,[e]:{id:r.id,name:r.name,color:r.color}}))}else await R.del(`${L(t.name)}/chat/sessions/${e}/tag`),S(t=>{let n={...t};return delete n[e],n});b()}catch{}},[t?.name,y,b]),T=Do(e=>e.notifications),E=nc(e=>e.sessions),D=V(e=>e.tabWrap),O=V(e=>e.toggleTabWrap),k=V(e=>e.editorTabStyle),{canScrollLeft:A,canScrollRight:j,scrollLeft:M,scrollRight:ee}=ic(r),N=oc(r.current,n.current,s,T);(0,q.useEffect)(()=>{if(s.length>i.current&&c){let e=n.current.get(c);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}i.current=s.length},[s.length,c]);let P=(0,q.useCallback)((e,t)=>{G.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&R.patch(`${L(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),te=fs(e=>e.selection),[ne,re]=(0,q.useState)(null);function ie(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=te!=null&&te.projectName===n&&te.filePath!==t;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Be,{onClick:()=>{let r=e.metadata?.unsavedContent;fs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:st(t)})},children:[(0,J.jsx)(Je,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,J.jsxs)(Be,{onClick:async()=>{let r=fs.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await ms({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),fs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;z.error(t)}},children:[(0,J.jsx)(Je,{className:`size-3.5 mr-2`}),`Compare with Selected (`,te.label,`)`]}),(0,J.jsx)(ze,{})]})}function ae(e){if(e.type!==`terminal`)return null;let t=l===ut;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Be,{onClick:()=>oe(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Yn,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Tr,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,J.jsx)(ze,{})]})}let oe=(0,q.useCallback)((e,t)=>{let n=U.getState(),r=n.panels[l]?.tabs??[];switch(t){case`close`:n.closeTab(e.id,l);break;case`move-to-dock`:n.redockTab(e.id,l);break;case`move-to-editor`:{let t=n.focusedPanelId===`__dock__`?n.grid.flat()[0]:n.focusedPanelId;t&&n.moveTab(e.id,ut,t);break}case`close-others`:for(let t of r)t.id!==e.id&&t.closable&&n.closeTab(t.id,l);break;case`close-right`:{let t=r.findIndex(t=>t.id===e.id);for(let e=t+1;e<r.length;e++)r[e].closable&&n.closeTab(r[e].id,l);break}case`copy-path`:{let t=e.metadata?.filePath;t&&bc(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?W.getState().projects.find(e=>e.name===n):null;bc(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&_c(n,t);break}case`rename`:case`delete`:{let n=e.metadata?.filePath;n&&re({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}}},[l]);function se(e){e.target.closest(`[data-tab-item]`)||ec()}return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(He,{children:[(0,J.jsx)(Ue,{asChild:!0,children:(0,J.jsxs)(`div`,{className:H(`hidden md:flex items-center border-b border-border relative shrink-0`,D?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:p,onDrop:m,onDoubleClick:se,children:[!D&&A&&(0,J.jsx)(`button`,{onClick:M,className:`absolute left-0 z-10 flex items-center justify-center size-8 bg-gradient-to-r from-background via-background to-transparent`,children:(0,J.jsxs)(`span`,{className:`relative`,children:[(0,J.jsx)(sn,{className:`size-4 text-text-secondary`}),N.left&&(0,J.jsx)(`span`,{className:H(`absolute -top-1 -right-0.5 size-2 rounded-full`,wo(N.left))})]})}),(0,J.jsx)(`div`,{ref:r,className:H(`flex-1 min-w-0 scrollbar-none`,D?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,J.jsxs)(`div`,{className:lc(k,D),children:[s.map((e,t)=>{let r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?T.get(r):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=r?E.has(r):!1;return(0,J.jsx)(gc,{tab:e,isActive:e.id===c,icon:Pc[e.type]||Ir,showDropBefore:u===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{ks()||(U.getState().setActiveTab(e.id,l),r&&Do.getState().clearForSession(r))},onClose:()=>U.getState().closeTab(e.id,l),onDragStart:t=>d(t,e.id),onDragOver:n=>f(n,e.id,t),onDragEnd:h,onTouchStart:t=>g(t,e.id,e.title),onTouchMove:_,onTouchEnd:v,tabRef:t=>{t?n.current.set(e.id,t):n.current.delete(e.id)},onRename:e.type===`chat`?t=>P(e,t):void 0,onContextAction:t=>oe(e,t),tagColor:r?x[r]?.color:void 0,extraMenuContent:(0,J.jsxs)(J.Fragment,{children:[ae(e),ie(e),r&&!a&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Be,{onClick:()=>{let t=e.metadata?.projectName;t&&Do.getState().markUnread(r,t,e.title)},children:[(0,J.jsx)(Ke,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,J.jsx)(ze,{})]}),r&&y.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Ve,{children:[(0,J.jsxs)(Le,{children:[(0,J.jsx)(ri,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,J.jsxs)(Pe,{children:[y.map(e=>(0,J.jsxs)(Be,{onClick:()=>w(r,e.id),children:[(0,J.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,x[r]?.id===e.id&&(0,J.jsx)(Fe,{className:`size-3 ml-auto`})]},e.id)),x[r]&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>w(r,null),children:`Remove tag`})]})]})]}),(0,J.jsx)(ze,{})]})]})},e.id)}),u!==null&&u>=s.length&&(0,J.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,J.jsx)(`button`,{onClick:()=>{if(l===`__dock__`){let e=W.getState().activeProject;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else ec()},title:l===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:uc(k),children:(0,J.jsx)(et,{className:`size-4`})})]})}),!D&&j&&(0,J.jsx)(`button`,{onClick:ee,className:`absolute right-10 z-10 flex items-center justify-center size-8 bg-gradient-to-l from-background via-background to-transparent`,children:(0,J.jsxs)(`span`,{className:`relative`,children:[(0,J.jsx)(We,{className:`size-4 text-text-secondary`}),N.right&&(0,J.jsx)(`span`,{className:H(`absolute -top-1 -left-0.5 size-2 rounded-full`,wo(N.right))})]})})]})}),(0,J.jsxs)(Re,{children:[(0,J.jsx)(Be,{onClick:O,children:D?`Scroll Tabs`:`Wrap Tabs`}),(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>ec(),children:`Open Command Palette`})]})]}),ne&&(0,J.jsx)(Nc,{node:ne.node,projectName:t?.name??``,onClose:()=>re(null),onRefresh:()=>{t&&rs.getState().fetchTree(t.name),ne.action===`delete`&&U.getState().closeTab(ne.tabId,l)}})]})});function Ic({panelId:e}){let[t,n]=(0,q.useState)(null),r=bs(),i=Os(),a=(i?.panelId===e?i.zone:null)??t,o=U(e=>e.grid),s=U(e=>e.isMobile()),c=lt(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<pt(!1):!1,d=(0,q.useCallback)(e=>{let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height,i=.25;return n<i&&u?`left`:n>1-i&&u?`right`:r<i&&l?`top`:r>1-i&&l?`bottom`:`center`},[u,l]),f=(0,q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,q.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,q.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),xs(),!r)return;let i=t.dataTransfer.getData(gs);if(i)try{let t=JSON.parse(i),n=U.getState();if(r===`center`)t.panelId!==e&&n.moveTab(t.tabId,t.panelId,e);else{let i=r===`top`?`up`:r===`bottom`?`down`:r;n.splitPanel(i,t.tabId,t.panelId,e)}}catch{}},[d,e]);return r?(0,J.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,J.jsx)(`div`,{className:`absolute inset-y-0 left-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-l-md`}),a===`right`&&(0,J.jsx)(`div`,{className:`absolute inset-y-0 right-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-r-md`}),a===`top`&&(0,J.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-t-md`}),a===`bottom`&&(0,J.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-b-md`}),a===`center`&&(0,J.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var Lc=at(e=>({mounted:new Set,mount:t=>e(e=>{if(e.mounted.has(t))return e;let n=new Set(e.mounted);return n.add(t),{mounted:n}})}));function Rc(e,t,n,r,i,a){for(let o of e.flat()){let e=r[o];if(e)for(let r of e.tabs)i.has(r.id)||r.projectId&&t&&r.projectId!==t||!n&&(r.type===`extension`||r.type===`extension-webview`)||(i.add(r.id),a.push({tabId:r.id,panelId:o,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}}function zc(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:ut,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function Bc(e,t,n,r){let i=[],a=new Set;Rc(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&Rc(o,t,!1,e,a,i);let o=e[ut];return o&&zc(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function Vc(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var Hc={terminal:(0,q.lazy)(()=>B(()=>import(`./terminal-tab-CMs8AyFJ.js`).then(e=>({default:e.TerminalTab})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),chat:(0,q.lazy)(()=>B(()=>import(`./chat-tab-CM5hUNpk.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([19,1,2,3,4,20,7,8,21,22,23,24,25,26,27,28,29,30,31,10,32,33,14,13,9,34,35,36,37,38,39,11,40,41,42,15,16]))),editor:(0,q.lazy)(()=>B(()=>import(`./code-editor-2yL9lCL1.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([43,1,2,3,4,44,45,46,8,24,30,34,35,47,37,48,49,16,10,14,17,18,33,13,7,50,20,29,51,52,53,36,54,55,42]))),database:(0,q.lazy)(()=>B(()=>import(`./database-viewer-CiVA--mM.js`).then(e=>({default:e.DatabaseViewer})),__vite__mapDeps([56,1,2,3,4,44,45,46,8,24,30,34,35,47,37,48,49,16,10,14,17,18,33,13,7,50,51,53,36,57]))),sqlite:(0,q.lazy)(()=>B(()=>import(`./sqlite-viewer-D7bskeyk.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([58,1,2,3,4,44,45,46,8,24,30,34,35,47,37,48,49,16,10,14,17,18,33,13,7,50,51,54,57]))),postgres:(0,q.lazy)(()=>B(()=>import(`./postgres-viewer-C0h3Zfk9.js`).then(e=>({default:e.PostgresViewer})),__vite__mapDeps([59,1,2,60,3,4,61,24,8,51,54,10]))),"git-diff":(0,q.lazy)(()=>B(()=>import(`./diff-viewer-69nl3mqO.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([62,1,2,3,4,10,49,16,14,17,18]))),settings:(0,q.lazy)(()=>B(()=>import(`./settings-tab-Cep8gjxG.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([63,2,1,3,4,20,7,8,23,24,10,11,39,41,42,14,16]))),extension:(0,q.lazy)(()=>B(()=>import(`./extension-webview-DIoKwGV4.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([64,1,3,4,10]))),"extension-webview":(0,q.lazy)(()=>B(()=>import(`./extension-webview-DIoKwGV4.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([64,1,3,4,10]))),"conflict-editor":(0,q.lazy)(()=>B(()=>import(`./conflict-editor-H1zmUXSQ.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([65,1,2,3,4,10,49,16,14,17,18]))),"system-monitor":(0,q.lazy)(()=>B(()=>import(`./system-monitor-tab-CxgFsQx9.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([66,1,3,4,7,8,22,24,27,37,10,39]))),"git-log":(0,q.lazy)(()=>B(()=>import(`./git-log-panel-Copm8mzy.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([67,1,3,4,7,8,10,42,14]))),"ai-resource":(0,q.lazy)(()=>B(()=>import(`./ai-resource-editor-C59ti0ED.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([68,1,2,3,4,7,47,8,10,49,16,14,17,18]))),group:(0,q.lazy)(()=>B(()=>import(`./group-chat-tab-D9cazEAI.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([69,1,2,3,4,20,7,8,70,10,32,12,13,14,33,23,24,25,26,22,27,28,29,30,31,11,39,40,42,16])))},Uc=new class{slots=new Map;listeners=new Set;version=0;register(e,t){if(t){if(this.slots.get(e)===t)return;this.slots.set(e,t)}else{if(!this.slots.has(e))return;this.slots.delete(e)}this.version++,this.listeners.forEach(e=>e())}get(e){return this.slots.get(e)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getVersion(){return this.version}};function Wc(e,t){Uc.register(e,t)}function Gc(){let e=(0,q.useRef)(null);(0,q.useSyncExternalStore)(e=>Uc.subscribe(e),()=>Uc.getVersion());let t=U(e=>e.panels),n=U(e=>e.grid),r=U(e=>e.currentProject),i=Bc(t,n,U(e=>e.projectGrids),r),a=Vc(i,Lc(e=>e.mounted)),o=i.filter(e=>e.isActive).map(e=>e.tabId);return(0,q.useEffect)(()=>{let{mount:e}=Lc.getState();for(let t of o)e(t)},[JSON.stringify(o)]),(0,J.jsx)(`div`,{ref:e,style:{position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`},children:a.map(t=>(0,J.jsx)(Kc,{tabId:t.tabId,panelId:t.panelId,type:t.type,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId))})}function Kc({tabId:e,panelId:t,type:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,q.useRef)(null),s=Hc[n];return(0,q.useLayoutEffect)(()=>()=>{let e=o.current,t=a.current;e&&t&&e.parentElement!==t&&t.appendChild(e)},[a]),(0,q.useLayoutEffect)(()=>{let e=o.current,n=Uc.get(t);if(!e)return;if(!n){let t=a.current;t&&e.parentElement!==t&&t.appendChild(e);return}if(e.parentElement===n)return;let r=[];e.querySelectorAll(`*`).forEach(e=>{(e.scrollTop||e.scrollLeft)&&r.push({el:e,top:e.scrollTop,left:e.scrollLeft})}),n.appendChild(e);for(let{el:e,top:t,left:n}of r)e.scrollTop=t,e.scrollLeft=n}),s?(0,J.jsx)(`div`,{ref:o,className:`absolute inset-0`,style:i?void 0:{display:`none`},"data-tab-pool-id":e,onMouseDownCapture:()=>{t!==`__dock__`&&U.getState().setFocusedPanel(t)},children:(0,J.jsx)(q.Suspense,{fallback:(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,J.jsx)(K,{className:`size-6 animate-spin text-primary`})}),children:(0,J.jsx)(s,{metadata:r,tabId:e})})}):null}var qc=[{type:`terminal`,label:`Terminal`,icon:ai},{type:`chat`,label:`AI Chat`,icon:gr},{type:`editor`,label:`New File`,icon:Nn}];function Jc({panelId:e,projectName:t}){let n=U(t=>t.panels[e]),r=U(t=>t.focusedPanelId===e),i=U(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),a=(0,q.useCallback)(t=>{Wc(e,t)},[e]);if(!n)return null;let o=ct(n.tabs,t).length===0;return(0,J.jsxs)(`div`,{className:H(`flex flex-col h-full overflow-hidden`,i>1&&`border border-transparent`,i>1&&r&&`border-primary/30`),onMouseDown:()=>{U.getState().focusedPanelId!==e&&U.getState().setFocusedPanel(e)},children:[(0,J.jsx)(Fc,{panelId:e}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{t.button!==1||!o||(t.preventDefault(),U.getState().closePanel(e))},children:[o&&(0,J.jsx)(Yc,{panelId:e,canClose:i>1}),(0,J.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:o?{display:`none`}:void 0}),(0,J.jsx)(Ic,{panelId:e})]})]})}function Yc({panelId:e,canClose:t}){let n=W(e=>e.activeProject);function r(t){if(t===`editor`){G.getState().openNewFile();return}let r=t!==`settings`&&n?{projectName:n.name}:void 0;U.getState().openTab({type:t,title:qc.find(e=>e.type===t)?.label??t,metadata:r,projectId:n?.name??null,closable:!0},e)}let i=(0,q.useCallback)(t=>{U.getState().openTab({type:`chat`,title:t.title||`Chat`,projectId:n?.name??null,metadata:{projectName:n?.name,sessionId:t.id,providerId:t.providerId},closable:!0},e)},[n?.name,e]);return(0,J.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,J.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,J.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:qc.map(e=>{let t=e.icon;return(0,J.jsxs)(`button`,{onClick:()=>r(e.type),className:`flex flex-col items-center justify-center gap-1.5 px-2 py-3 rounded-md border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated text-xs text-foreground transition-colors`,children:[(0,J.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&(0,J.jsxs)(`button`,{onClick:()=>U.getState().closePanel(e),className:`flex items-center gap-1.5 px-4 py-3.5 rounded-md text-xs text-text-subtle hover:text-foreground active:bg-surface-elevated transition-colors`,children:[(0,J.jsx)(tt,{className:`size-3.5`}),`Close Panel`]}),(0,J.jsx)(Po,{projectName:n?.name,onSelectSession:i,className:`w-full`})]})})}var Xc={terminal:ai,chat:gr,editor:On,database:Ze,sqlite:Ze,postgres:Ze,"git-diff":kn,settings:Jr,extension:Ir,"extension-webview":Ir,"conflict-editor":kn,"system-monitor":Jr,"git-log":On,"ai-resource":Ye,group:fi};function Zc(e){return Xc[e]??Ir}function Qc(e,t,n){let r=n!==`bottom`;if(n===`bottom`||e.length<=2)return{visible:[...e],overflow:[],iconOnlyInactive:r};let i=new Set;t&&e.includes(t)&&i.add(t);for(let t of e){if(i.size>=2)break;i.add(t)}return{visible:e.filter(e=>i.has(e)),overflow:e.filter(e=>!i.has(e)),iconOnlyInactive:r}}function $c({...e}){return(0,J.jsx)(ke,{"data-slot":`dropdown-menu`,...e})}function el({...e}){return(0,J.jsx)(A,{"data-slot":`dropdown-menu-trigger`,...e})}function tl({className:e,sideOffset:t=4,...n}){return(0,J.jsx)(y,{children:(0,J.jsx)(x,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:H(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...n})})}function Z({className:e,inset:t,variant:n=`default`,...r}){return(0,J.jsx)(S,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:H(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function nl({...e}){return(0,J.jsx)(b,{"data-slot":`dropdown-menu-radio-group`,...e})}function rl({className:e,children:t,...n}){return(0,J.jsxs)(T,{"data-slot":`dropdown-menu-radio-item`,className:H(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,J.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,J.jsx)(w,{children:(0,J.jsx)(Ke,{className:`size-2 fill-current`})})}),t]})}function il({className:e,inset:t,...n}){return(0,J.jsx)(_,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:H(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function al({className:e,...t}){return(0,J.jsx)(p,{"data-slot":`dropdown-menu-separator`,className:H(`-mx-1 my-1 h-px bg-border`,e),...t})}function ol({...e}){return(0,J.jsx)(k,{"data-slot":`dropdown-menu-sub`,...e})}function sl({className:e,inset:t,children:n,...r}){return(0,J.jsxs)(O,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:H(`flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,J.jsx)(We,{className:`ml-auto size-4`})]})}function cl({className:e,...t}){return(0,J.jsx)(v,{"data-slot":`dropdown-menu-sub-content`,className:H(`z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var ll={left:Dr,bottom:Tr,right:Or},ul={left:`Left`,bottom:`Bottom`,right:`Right`},dl=[`left`,`bottom`,`right`];function fl(){let e=U(e=>e.panels[ut]),t=W(e=>e.activeProject?.name??null),n=V(e=>e.dockPosition),r=V(e=>e.setDockPosition),i=U(e=>e.dockExpanded),a=(e?.tabs??[]).filter(e=>!e.projectId||!t||e.projectId===t),o=e?.activeTabId??null,s=new Map(a.map(e=>[e.id,e])),c=Qc(a.map(e=>e.id),o,n);function l(e){U.getState().setActiveTab(e,ut)}function u(e){U.getState().closeTab(e,ut)}function d(){let e=W.getState().activeProject;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=ll[n];return(0,J.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1 overflow-x-auto scrollbar-none`,children:[c.visible.map(e=>{let t=s.get(e);if(!t)return null;let n=Zc(t.type),r=e===o,i=!c.iconOnlyInactive||r,a=(0,J.jsxs)(`button`,{onClick:()=>l(e),className:H(`flex items-center gap-1.5 h-6 rounded-full border shrink-0 transition-colors`,i?`px-2.5`:`px-1.5`,r?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary hover:bg-surface-elevated`),children:[(0,J.jsx)(n,{className:`size-3`}),i&&(0,J.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,J.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":`Close ${t.title}`,onClick:t=>{t.stopPropagation(),u(e)},className:`flex items-center justify-center size-4 -mr-1 rounded hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3`})})]},e);return i?a:(0,J.jsxs)(xi,{children:[(0,J.jsx)(Si,{asChild:!0,children:a}),(0,J.jsx)(Ci,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsxs)(`button`,{className:`flex items-center justify-center h-6 px-2 rounded-full border border-border text-text-secondary text-[10px] font-mono shrink-0 hover:bg-surface-elevated`,children:[`+`,c.overflow.length]})}),(0,J.jsx)(tl,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,J.jsxs)(Z,{onClick:()=>l(e),children:[(0,J.jsx)(Zc(t.type),{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,J.jsx)(`button`,{onClick:d,title:`New panel tab`,"aria-label":`New panel tab`,className:`flex items-center justify-center size-6 rounded-full border border-dashed border-border text-text-subtle shrink-0 hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(et,{className:`size-3.5`})})]}),(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsxs)(`button`,{title:`Panel position`,"aria-label":`Panel position`,className:`flex items-center gap-0.5 h-6 px-1.5 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:[(0,J.jsx)(f,{className:`size-3.5`}),(0,J.jsx)(on,{className:`size-2.5`})]})}),(0,J.jsxs)(tl,{align:`end`,children:[(0,J.jsx)(il,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),dl.map(e=>{let t=ll[e],i=e===n;return(0,J.jsxs)(Z,{onClick:()=>r(e),className:H(i&&`text-primary bg-primary/10`),children:[(0,J.jsx)(t,{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`flex-1`,children:ul[e]}),i&&(0,J.jsx)(Fe,{className:`size-3.5`})]},e)})]})]}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,J.jsx)(`button`,{onClick:()=>U.getState().toggleDockExpanded(),title:i?`Restore panel`:`Maximize panel`,"aria-label":i?`Restore panel`:`Maximize panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:i?(0,J.jsx)(vr,{className:`size-3.5`}):(0,J.jsx)(mr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>U.getState().setDockVisible(!1),title:`Hide panel`,"aria-label":`Hide panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:(0,J.jsx)(on,{className:`size-3.5`})})]})}var pl={top:`border-t`,left:`border-l`,right:`border-r`};function ml({variant:e=`desktop`,borderEdge:t=`top`}){let n=U(e=>e.panels[ut]),r=W(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,q.useCallback)(e=>{Wc(ut,e)},[]);return(0,J.jsxs)(`div`,{className:H(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&pl[t]),children:[(0,J.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(hl,{}),(0,J.jsx)(`button`,{onClick:()=>U.getState().setDockVisible(!1),title:`Hide terminal dock`,className:H(`shrink-0 flex items-center justify-center mr-1 size-11`,`text-text-subtle hover:text-foreground hover:bg-surface-elevated`,`active:bg-surface-elevated rounded transition-colors`),"aria-label":`Hide terminal dock`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}):(0,J.jsx)(fl,{})}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,J.jsx)(gl,{variant:e}),(0,J.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function hl(){let e=U(e=>e.panels[ut]),t=W(e=>e.activeProject),n=U(e=>e.dockExpanded),r=t?.name??null,i=(e?.tabs??[]).filter(e=>!e.projectId||!r||e.projectId===r),a=e?.activeTabId??null;function o(e){U.getState().setActiveTab(e,ut)}function s(){let e=t;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 overflow-x-auto scrollbar-none`,children:[i.map(e=>{let t=Zc(e.type);return(0,J.jsxs)(`div`,{className:H(`flex items-center h-8 pl-3 pr-1 gap-1 rounded-full border shrink-0 transition-colors`,e.id===a?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary`),children:[(0,J.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(t,{className:`size-[13px] shrink-0`}),(0,J.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,J.jsx)(`button`,{onClick:()=>U.getState().closeTab(e.id,`__dock__`),"aria-label":`Close ${e.title}`,className:`shrink-0 flex items-center justify-center size-6 rounded-full text-text-subtle active:bg-surface-elevated active:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]},e.id)}),(0,J.jsx)(`button`,{onClick:s,title:`New panel tab`,"aria-label":`New panel tab`,className:`shrink-0 flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,J.jsx)(et,{className:`size-4`})})]}),(0,J.jsx)(`button`,{onClick:()=>U.getState().toggleDockExpanded(),title:n?`Collapse panel`:`Expand panel`,"aria-label":n?`Collapse panel`:`Expand panel`,className:`shrink-0 flex items-center justify-center size-9 text-text-subtle active:bg-surface-elevated rounded transition-colors`,children:n?(0,J.jsx)(vr,{className:`size-4`}):(0,J.jsx)(mr,{className:`size-4`})})]})}function gl({variant:e}){let t=W(e=>e.activeProject);function n(){let e=t;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,J.jsxs)(`button`,{onClick:n,className:H(`flex items-center gap-2 rounded-md`,e===`mobile`?`px-4 py-3`:`px-3 py-2`,`border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated`,`text-sm text-foreground transition-colors`),children:[(0,J.jsx)(ai,{className:`size-4`}),`Open Terminal`]})})}function _l(e,t,n){return e===`bottom`?{orientation:`vertical`,dockFirst:!1,dockSize:`${n?70:t}%`,borderEdge:`top`}:{orientation:`horizontal`,dockFirst:e===`left`,dockSize:`${n?55:t}%`,borderEdge:e===`left`?`right`:`left`}}var vl=[[]],yl=(0,q.memo)(function({projectName:e}){let t=_o(`(min-width: 768px)`),n=U(t=>t.currentProject===e?t.grid:t.projectGrids[e]??vl),r=U(e=>e.focusedPanelId),i=U(e=>e.dock),a=U(e=>e.dockExpanded),o=V(e=>e.dockPosition),s=U(e=>e.currentProject),c=n.flat().length,l=s===e;(0,q.useEffect)(()=>{if(l&&c===0){let e=ft();U.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[l,c]);let u=(0,q.useCallback)(({asPercentage:e})=>{U.getState().dockExpanded||U.getState().setDockHeight(e)},[]),d=(0,q.useRef)({key:``,size:``});if(c===0)return null;if(!t){let t=n.flat(),i=t.includes(r)?r:t[0];return i?(0,J.jsx)(Jc,{panelId:i,projectName:e}):null}let f=c===1&&n[0]?.[0]?(0,J.jsx)(Jc,{panelId:n[0][0],projectName:e}):(0,J.jsx)(lo,{orientation:`vertical`,style:{height:`100%`},children:n.map((t,r)=>(0,J.jsx)(bl,{row:t,rowIdx:r,totalRows:n.length,projectName:e},`row-${r}`))});if(!l)return(0,J.jsx)(J.Fragment,{children:f});let p=_l(o,i.height,a),m=p.orientation===`vertical`?`horizontal`:`vertical`,h=`${o}-${a}`;d.current.key!==h&&(d.current={key:h,size:p.dockSize});let g=(0,J.jsx)(po,{minSize:`15%`,children:f}),_=i.visible?(0,J.jsx)(po,{defaultSize:d.current.size,minSize:`10%`,maxSize:`85%`,onResize:u,children:(0,J.jsx)(ml,{borderEdge:p.borderEdge})}):null,v=i.visible?(0,J.jsx)(Sl,{orientation:m}):null;return(0,J.jsxs)(lo,{orientation:p.orientation,style:{height:`100%`},children:[p.dockFirst?_:g,v,p.dockFirst?g:_]},h)});function bl({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(po,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,J.jsx)(Jc,{panelId:e[0],projectName:r}):(0,J.jsx)(lo,{orientation:`horizontal`,children:e.map((t,n)=>(0,J.jsx)(xl,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,J.jsx)(Sl,{orientation:`horizontal`})]})}function xl({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(po,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,J.jsx)(Jc,{panelId:e,projectName:r})}),t<n-1&&(0,J.jsx)(Sl,{orientation:`vertical`})]})}function Sl({orientation:e}){let t=e===`vertical`;return(0,J.jsx)(go,{className:`
|
|
10
|
+
`).replace(Ad,``)}function Md(e,t){return t=jd(t),jd(e)===t}function Nd(e,t,n,r,i,o){switch(n){case`children`:typeof r==`string`?t===`body`||t===`textarea`&&r===``||Lt(e,r):(typeof r==`number`||typeof r==`bigint`)&&t!==`body`&&Lt(e,``+r);break;case`className`:xt(e,`class`,r);break;case`tabIndex`:xt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:xt(e,n,r);break;case`style`:Vt(e,r,o);break;case`data`:if(t!==`object`){xt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)){e.removeAttribute(n);break}if(r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Gt(``+r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error('A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().')`);break}else typeof o==`function`&&(n===`formAction`?(t!==`input`&&Nd(e,t,`name`,i.name,i,null),Nd(e,t,`formEncType`,i.formEncType,i,null),Nd(e,t,`formMethod`,i.formMethod,i,null),Nd(e,t,`formTarget`,i.formTarget,i,null)):(Nd(e,t,`encType`,i.encType,i,null),Nd(e,t,`method`,i.method,i,null),Nd(e,t,`target`,i.target,i,null)));if(r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=Gt(``+r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=Kt);break;case`onScroll`:r!=null&&yd(`scroll`,e);break;case`onScrollEnd`:r!=null&&yd(`scrollend`,e);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=Gt(``+r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``+r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:yd(`beforetoggle`,e),yd(`toggle`,e),bt(e,`popover`,r);break;case`xlinkActuate`:St(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:St(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:St(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:St(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:St(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:St(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:St(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:St(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:St(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:bt(e,`is`,r);break;case`innerText`:case`textContent`:break;default:(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)&&(n=Ut.get(n)||n,bt(e,n,r))}}function Pd(e,t,n,r,i,o){switch(n){case`style`:Vt(e,r,o);break;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(a(61));if(n=r.__html,n!=null){if(i.children!=null)throw Error(a(60));e.innerHTML=n}}break;case`children`:typeof r==`string`?Lt(e,r):(typeof r==`number`||typeof r==`bigint`)&&Lt(e,``+r);break;case`onScroll`:r!=null&&yd(`scroll`,e);break;case`onScrollEnd`:r!=null&&yd(`scrollend`,e);break;case`onClick`:r!=null&&(e.onclick=Kt);break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:break;case`innerText`:case`textContent`:break;default:if(!mt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(i=n.endsWith(`Capture`),t=n.slice(2,i?n.length-7:void 0),o=e[at]||null,o=o==null?null:o[n],typeof o==`function`&&e.removeEventListener(t,o,i),typeof r==`function`)){typeof o!=`function`&&o!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(t,r,i);break a}n in e?e[n]=r:!0===r?e.setAttribute(n,``):bt(e,n,r)}}}function Fd(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:yd(`error`,e),yd(`load`,e);var r=!1,i=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:i=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Nd(e,t,o,s,n,null)}}i&&Nd(e,t,`srcSet`,n.srcSet,n,null),r&&Nd(e,t,`src`,n.src,n,null);return;case`input`:yd(`invalid`,e);var c=o=s=i=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:i=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(a(137,t));break;default:Nd(e,t,r,d,n,null)}}Mt(e,o,c,l,u,s,i,!1);return;case`select`:for(i in yd(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(i)&&(c=n[i],c!=null))switch(i){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:Nd(e,t,i,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&Pt(e,!!r,n,!0):Pt(e,!!r,t,!1);return;case`textarea`:for(s in yd(`invalid`,e),o=i=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:i=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(a(91));break;default:Nd(e,t,s,c,n,null)}It(e,r,i,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:Nd(e,t,l,r,n,null)}return;case`dialog`:yd(`beforetoggle`,e),yd(`toggle`,e),yd(`cancel`,e),yd(`close`,e);break;case`iframe`:case`object`:yd(`load`,e);break;case`video`:case`audio`:for(r=0;r<gd.length;r++)yd(gd[r],e);break;case`image`:yd(`error`,e),yd(`load`,e);break;case`details`:yd(`toggle`,e);break;case`embed`:case`source`:case`link`:yd(`error`,e),yd(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(a(137,t));default:Nd(e,t,u,r,n,null)}return;default:if(Ht(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&Pd(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&Nd(e,t,c,r,n,null))}function Id(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var i=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||Nd(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:o=m;break;case`name`:i=m;break;case`checked`:u=m;break;case`defaultChecked`:d=m;break;case`value`:s=m;break;case`defaultValue`:c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(a(137,t));break;default:m!==f&&Nd(e,t,p,m,r,f)}}jt(e,s,c,l,u,d,o,i);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||Nd(e,t,o,null,r,l)}for(i in r)if(o=r[i],l=n[i],r.hasOwnProperty(i)&&(o!=null||l!=null))switch(i){case`value`:p=o;break;case`defaultValue`:c=o;break;case`multiple`:s=o;default:o!==l&&Nd(e,t,i,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?Pt(e,!!n,n?[]:``,!1):Pt(e,!!n,t,!0)):Pt(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(i=n[c],n.hasOwnProperty(c)&&i!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:Nd(e,t,c,null,r,i)}for(s in r)if(i=r[s],o=n[s],r.hasOwnProperty(s)&&(i!=null||o!=null))switch(s){case`value`:p=i;break;case`defaultValue`:m=i;break;case`children`:break;case`dangerouslySetInnerHTML`:if(i!=null)throw Error(a(91));break;default:i!==o&&Nd(e,t,s,i,r,o)}Ft(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:Nd(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:Nd(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&Nd(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(a(137,t));break;default:Nd(e,t,u,p,r,m)}return;default:if(Ht(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&Pd(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||Pd(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&Nd(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||Nd(e,t,f,p,r,m)}function Ld(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function Rd(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&Ld(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&Ld(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var zd=null,Bd=null;function Vd(e){return e.nodeType===9?e:e.ownerDocument}function Hd(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function Ud(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function Wd(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Gd=null;function Kd(){var e=window.event;return e&&e.type===`popstate`?e===Gd?!1:(Gd=e,!0):(Gd=null,!1)}var qd=typeof setTimeout==`function`?setTimeout:void 0,Jd=typeof clearTimeout==`function`?clearTimeout:void 0,Yd=typeof Promise==`function`?Promise:void 0,Xd=typeof queueMicrotask==`function`?queueMicrotask:Yd===void 0?qd:function(e){return Yd.resolve(null).then(e).catch(Zd)};function Zd(e){setTimeout(function(){throw e})}function Qd(e){return e===`head`}function $d(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8)if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Np(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)mf(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,mf(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[ct]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&mf(e.ownerDocument.body);n=i}while(n);Np(t)}function ef(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8)if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++;n=r}while(n)}function tf(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:tf(n),lt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function nf(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r)if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e;else if(!e[ct])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=lf(e.nextSibling),e===null)break}return null}function rf(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=lf(e.nextSibling),e===null))return null;return e}function af(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=lf(e.nextSibling),e===null))return null;return e}function of(e){return e.data===`$?`||e.data===`$~`}function sf(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function cf(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function lf(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var uf=null;function df(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return lf(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function ff(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function pf(e,t,n){switch(t=Vd(n),e){case`html`:if(e=t.documentElement,!e)throw Error(a(452));return e;case`head`:if(e=t.head,!e)throw Error(a(453));return e;case`body`:if(e=t.body,!e)throw Error(a(454));return e;default:throw Error(a(451))}}function mf(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);lt(e)}var hf=new Map,gf=new Set;function _f(e){return typeof e.getRootNode==`function`?e.getRootNode():e.nodeType===9?e:e.ownerDocument}var vf=P.d;P.d={f:yf,r:bf,D:Cf,C:wf,L:Tf,m:Ef,X:Of,S:Df,M:kf};function yf(){var e=vf.f(),t=vu();return e||t}function bf(e){var t=dt(e);t!==null&&t.tag===5&&t.type===`form`?bs(t):vf.r(e)}var xf=typeof document>`u`?null:document;function Sf(e,t,n){var r=xf;if(r&&typeof t==`string`&&t){var i=At(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),gf.has(i)||(gf.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),Fd(t,`link`,e),U(t),r.head.appendChild(t)))}}function Cf(e){vf.D(e),Sf(`dns-prefetch`,e,null)}function wf(e,t){vf.C(e,t),Sf(`preconnect`,e,t)}function Tf(e,t,n){vf.L(e,t,n);var r=xf;if(r&&e&&t){var i=`link[rel="preload"][as="`+At(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+At(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+At(n.imageSizes)+`"]`)):i+=`[href="`+At(e)+`"]`;var a=i;switch(t){case`style`:a=jf(e);break;case`script`:a=Ff(e)}hf.has(a)||(e=p({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),hf.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Mf(a))||t===`script`&&r.querySelector(If(a))||(t=r.createElement(`link`),Fd(t,`link`,e),U(t),r.head.appendChild(t)))}}function Ef(e,t){vf.m(e,t);var n=xf;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+At(r)+`"][href="`+At(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Ff(e)}if(!hf.has(a)&&(e=p({rel:`modulepreload`,href:e},t),hf.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(If(a)))return}r=n.createElement(`link`),Fd(r,`link`,e),U(r),n.head.appendChild(r)}}}function Df(e,t,n){vf.S(e,t,n);var r=xf;if(r&&e){var i=pt(r).hoistableStyles,a=jf(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Mf(a)))s.loading=5;else{e=p({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=hf.get(a))&&zf(e,n);var c=o=r.createElement(`link`);U(c),Fd(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Rf(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function Of(e,t){vf.X(e,t);var n=xf;if(n&&e){var r=pt(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=p({src:e,async:!0},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),U(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function kf(e,t){vf.M(e,t);var n=xf;if(n&&e){var r=pt(n).hoistableScripts,i=Ff(e),a=r.get(i);a||(a=n.querySelector(If(i)),a||(e=p({src:e,async:!0,type:`module`},t),(t=hf.get(i))&&Bf(e,t),a=n.createElement(`script`),U(a),Fd(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Af(e,t,n,r){var i=(i=ue.current)?_f(i):null;if(!i)throw Error(a(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(t=jf(n.href),n=pt(i).hoistableStyles,r=n.get(t),r||(r={type:`style`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=jf(n.href);var o=pt(i).hoistableStyles,s=o.get(e);if(s||(i=i.ownerDocument||i,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=i.querySelector(Mf(e)))&&!o._p&&(s.instance=o,s.state.loading=5),hf.has(e)||(n={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},hf.set(e,n),o||Pf(i,e,n,s.state))),t&&r===null)throw Error(a(528,``));return s}if(t&&r!==null)throw Error(a(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(t=Ff(n),n=pt(i).hoistableScripts,r=n.get(t),r||(r={type:`script`,instance:null,count:0,state:null},n.set(t,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(a(444,e))}}function jf(e){return`href="`+At(e)+`"`}function Mf(e){return`link[rel="stylesheet"][`+e+`]`}function Nf(e){return p({},e,{"data-precedence":e.precedence,precedence:null})}function Pf(e,t,n,r){e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)?r.loading=1:(t=e.createElement(`link`),r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2}),Fd(t,`link`,n),U(t),e.head.appendChild(t))}function Ff(e){return`[src="`+At(e)+`"]`}function If(e){return`script[async]`+e}function Lf(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+At(n.href)+`"]`);if(r)return t.instance=r,U(r),r;var i=p({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),U(r),Fd(r,`style`,i),Rf(r,n.precedence,e),t.instance=r;case`stylesheet`:i=jf(n.href);var o=e.querySelector(Mf(i));if(o)return t.state.loading|=4,t.instance=o,U(o),o;r=Nf(n),(i=hf.get(i))&&zf(r,i),o=(e.ownerDocument||e).createElement(`link`),U(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),Fd(o,`link`,r),t.state.loading|=4,Rf(o,n.precedence,e),t.instance=o;case`script`:return o=Ff(n.src),(i=e.querySelector(If(o)))?(t.instance=i,U(i),i):(r=n,(i=hf.get(o))&&(r=p({},n),Bf(r,i)),e=e.ownerDocument||e,i=e.createElement(`script`),U(i),Fd(i,`link`,r),e.head.appendChild(i),t.instance=i);case`void`:return null;default:throw Error(a(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Rf(r,n.precedence,e));return t.instance}function Rf(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function zf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Bf(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Vf=null;function Hf(e,t,n){if(Vf===null){var r=new Map,i=Vf=new Map;i.set(n,r)}else i=Vf,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[ct]||a[z]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Uf(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function Wf(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Gf(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Kf(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=jf(r.href),a=t.querySelector(Mf(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=Yf.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,U(a);return}a=t.ownerDocument||t,r=Nf(r),(i=hf.get(i))&&zf(r,i),a=a.createElement(`link`),U(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),Fd(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=Yf.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var qf=0;function Jf(e,t){return e.stylesheets&&e.count===0&&Zf(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&Zf(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&qf===0&&(qf=62500*Rd());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&Zf(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>qf?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function Yf(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)Zf(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var Xf=null;function Zf(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,Xf=new Map,t.forEach(Qf,e),Xf=null,Yf.call(e))}function Qf(e,t){if(!(t.state.loading&4)){var n=Xf.get(e);if(n)var r=n.get(null);else{n=new Map,Xf.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=Yf.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var $f={$$typeof:x,Provider:null,Consumer:null,_currentValue:te,_currentValue2:te,_threadCount:0};function ep(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=Xe(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Xe(0),this.hiddenUpdates=Xe(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.incompleteTransitions=new Map}function tp(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ep(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=ei(3,null,null,t),e.current=a,a.stateNode=e,t=$i(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},Ma(a),e}function np(e){return e?(e=Qr,e):Qr}function rp(e,t,n,r,i,a){i=np(i),r.context===null?r.context=i:r.pendingContext=i,r=Pa(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=Fa(e,r,t),n!==null&&(pu(n,e,t),Ia(n,e,t))}function ip(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ap(e,t){ip(e,t),(e=e.alternate)&&ip(e,t)}function $(e){if(e.tag===13||e.tag===31){var t=Yr(e,67108864);t!==null&&pu(t,e,67108864),ap(e,67108864)}}function op(e){if(e.tag===13||e.tag===31){var t=du();t=nt(t);var n=Yr(e,t);n!==null&&pu(n,e,t),ap(e,t)}}var sp=!0;function cp(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=2,up(e,t,n,r)}finally{P.p=a,N.T=i}}function lp(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=8,up(e,t,n,r)}finally{P.p=a,N.T=i}}function up(e,t,n,r){if(sp){var i=dp(r);if(i===null)wd(e,t,r,fp,n),Cp(e,r);else if(Tp(i,e,t,n,r))r.stopPropagation();else if(Cp(e,r),t&4&&-1<Sp.indexOf(e)){for(;i!==null;){var a=dt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=Ke(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-ze(o);s.entanglements[1]|=c,o&=~c}nd(a),!(Nl&6)&&($l=Oe()+500,rd(0,!1))}}break;case 31:case 13:s=Yr(a,2),s!==null&&pu(s,a,2),vu(),ap(a,2)}if(a=dp(r),a===null&&wd(e,t,r,fp,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else wd(e,t,r,null,n)}}function dp(e){return e=Jt(e),pp(e)}var fp=null;function pp(e){if(fp=null,e=ut(e),e!==null){var t=s(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=c(t),e!==null)return e;e=null}else if(n===31){if(e=l(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return fp=e,null}function mp(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`resize`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(ke()){case F:return 2;case Ae:return 8;case je:case Me:return 32;case Ne:return 268435456;default:return 32}default:return 32}}var hp=!1,gp=null,_p=null,vp=null,yp=new Map,bp=new Map,xp=[],Sp=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Cp(e,t){switch(e){case`focusin`:case`focusout`:gp=null;break;case`dragenter`:case`dragleave`:_p=null;break;case`mouseover`:case`mouseout`:vp=null;break;case`pointerover`:case`pointerout`:yp.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:bp.delete(t.pointerId)}}function wp(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=dt(t),t!==null&&$(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Tp(e,t,n,r,i){switch(t){case`focusin`:return gp=wp(gp,e,t,n,r,i),!0;case`dragenter`:return _p=wp(_p,e,t,n,r,i),!0;case`mouseover`:return vp=wp(vp,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return yp.set(a,wp(yp.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,bp.set(a,wp(bp.get(a)||null,e,t,n,r,i)),!0}return!1}function Ep(e){var t=ut(e.target);if(t!==null){var n=s(t);if(n!==null){if(t=n.tag,t===13){if(t=c(n),t!==null){e.blockedOn=t,rt(e.priority,function(){op(n)});return}}else if(t===31){if(t=l(n),t!==null){e.blockedOn=t,rt(e.priority,function(){op(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Dp(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=dp(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);qt=r,n.target.dispatchEvent(r),qt=null}else return t=dt(n),t!==null&&$(t),e.blockedOn=n,!1;t.shift()}return!0}function Op(e,t,n){Dp(e)&&n.delete(t)}function kp(){hp=!1,gp!==null&&Dp(gp)&&(gp=null),_p!==null&&Dp(_p)&&(_p=null),vp!==null&&Dp(vp)&&(vp=null),yp.forEach(Op),bp.forEach(Op)}function Ap(e,n){e.blockedOn===n&&(e.blockedOn=null,hp||(hp=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,kp)))}var jp=null;function Mp(e){jp!==e&&(jp=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){jp===e&&(jp=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(pp(r||n)===null)continue;break}var a=dt(n);a!==null&&(e.splice(t,3),t-=3,vs(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Np(e){function t(t){return Ap(t,e)}gp!==null&&Ap(gp,e),_p!==null&&Ap(_p,e),vp!==null&&Ap(vp,e),yp.forEach(t),bp.forEach(t);for(var n=0;n<xp.length;n++){var r=xp[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<xp.length&&(n=xp[0],n.blockedOn===null);)Ep(n),n.blockedOn===null&&xp.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[at]||null;if(typeof a==`function`)o||Mp(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[at]||null)s=o.formAction;else if(pp(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Mp(n)}}}function Pp(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Fp(e){this._internalRoot=e}Ip.prototype.render=Fp.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(a(409));var n=t.current;rp(n,du(),e,t,null,null)},Ip.prototype.unmount=Fp.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;rp(e.current,2,null,e,null,null),vu(),t[B]=null}};function Ip(e){this._internalRoot=e}Ip.prototype.unstable_scheduleHydration=function(e){if(e){var t=R();e={blockedOn:null,target:e,priority:t};for(var n=0;n<xp.length&&t!==0&&t<xp[n].priority;n++);xp.splice(n,0,e),n===0&&Ep(e)}};var Lp=n.version;if(Lp!==`19.2.4`)throw Error(a(527,Lp,`19.2.4`));P.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(a(188)):(e=Object.keys(e).join(`,`),Error(a(268,e)));return e=d(t),e=e===null?null:f(e),e=e===null?null:e.stateNode,e};var Rp={bundleType:0,version:`19.2.4`,rendererPackageName:`react-dom`,currentDispatcherRef:N,reconcilerVersion:`19.2.4`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var zp=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!zp.isDisabled&&zp.supportsFiber)try{Ie=zp.inject(Rp),Le=zp}catch{}}e.createRoot=function(e,t){if(!o(e))throw Error(a(299));var n=!1,r=``,i=Vs,s=Hs,c=Us;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(i=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=tp(e,1,!1,null,null,n,r,null,i,s,c,Pp),e[B]=t.current,Sd(e),new Fp(t)}})),Ht=n(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=Vt()})),Ut=F(`app-window`,[[`rect`,{x:`2`,y:`4`,width:`20`,height:`16`,rx:`2`,key:`izxlao`}],[`path`,{d:`M10 4v4`,key:`pp8u80`}],[`path`,{d:`M2 8h20`,key:`d11cs7`}],[`path`,{d:`M6 4v4`,key:`1svtjw`}]]),Wt=F(`arrow-down-a-z`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`M20 8h-5`,key:`1vsyxs`}],[`path`,{d:`M15 10V6.5a2.5 2.5 0 0 1 5 0V10`,key:`ag13bf`}],[`path`,{d:`M15 14h5l-5 6h5`,key:`ur5jdg`}]]),Gt=F(`arrow-down-up`,[[`path`,{d:`m3 16 4 4 4-4`,key:`1co6wj`}],[`path`,{d:`M7 20V4`,key:`1yoxec`}],[`path`,{d:`m21 8-4-4-4 4`,key:`1c9v7m`}],[`path`,{d:`M17 4v16`,key:`7dpous`}]]),Kt=F(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),qt=F(`arrow-down`,[[`path`,{d:`M12 5v14`,key:`s699le`}],[`path`,{d:`m19 12-7 7-7-7`,key:`1idqje`}]]),Jt=F(`arrow-up-from-line`,[[`path`,{d:`m18 9-6-6-6 6`,key:`kcunyi`}],[`path`,{d:`M12 3v14`,key:`7cf3v8`}],[`path`,{d:`M5 21h14`,key:`11awu3`}]]),Yt=F(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Xt=F(`bell-off`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M17 17H4a1 1 0 0 1-.74-1.673C4.59 13.956 6 12.499 6 8a6 6 0 0 1 .258-1.742`,key:`178tsu`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M8.668 3.01A6 6 0 0 1 18 8c0 2.687.77 4.653 1.707 6.05`,key:`1hqiys`}]]),Zt=F(`bell-ring`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M22 8c0-2.3-.8-4.3-2-6`,key:`5bb3ad`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}],[`path`,{d:`M4 2C2.8 3.7 2 5.7 2 8`,key:`tap9e0`}]]),Qt=F(`bell`,[[`path`,{d:`M10.268 21a2 2 0 0 0 3.464 0`,key:`vwvbt9`}],[`path`,{d:`M3.262 15.326A1 1 0 0 0 4 17h16a1 1 0 0 0 .74-1.673C19.41 13.956 18 12.499 18 8A6 6 0 0 0 6 8c0 4.499-1.411 5.956-2.738 7.326`,key:`11g9vi`}]]),$t=F(`bot-message-square`,[[`path`,{d:`M12 6V2H8`,key:`1155em`}],[`path`,{d:`M15 11v2`,key:`i11awn`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z`,key:`11gyqh`}],[`path`,{d:`M9 11v2`,key:`1ueba0`}]]),en=F(`brain`,[[`path`,{d:`M12 18V5`,key:`adv99a`}],[`path`,{d:`M15 13a4.17 4.17 0 0 1-3-4 4.17 4.17 0 0 1-3 4`,key:`1e3is1`}],[`path`,{d:`M17.598 6.5A3 3 0 1 0 12 5a3 3 0 1 0-5.598 1.5`,key:`1gqd8o`}],[`path`,{d:`M17.997 5.125a4 4 0 0 1 2.526 5.77`,key:`iwvgf7`}],[`path`,{d:`M18 18a4 4 0 0 0 2-7.464`,key:`efp6ie`}],[`path`,{d:`M19.967 17.483A4 4 0 1 1 12 18a4 4 0 1 1-7.967-.517`,key:`1gq6am`}],[`path`,{d:`M6 18a4 4 0 0 1-2-7.464`,key:`k1g0md`}],[`path`,{d:`M6.003 5.125a4 4 0 0 0-2.526 5.77`,key:`q97ue3`}]]),tn=F(`bug`,[[`path`,{d:`M12 20v-9`,key:`1qisl0`}],[`path`,{d:`M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z`,key:`uouzyp`}],[`path`,{d:`M14.12 3.88 16 2`,key:`qol33r`}],[`path`,{d:`M21 21a4 4 0 0 0-3.81-4`,key:`1b0z45`}],[`path`,{d:`M21 5a4 4 0 0 1-3.55 3.97`,key:`5cxbf6`}],[`path`,{d:`M22 13h-4`,key:`1jl80f`}],[`path`,{d:`M3 21a4 4 0 0 1 3.81-4`,key:`1fjd4g`}],[`path`,{d:`M3 5a4 4 0 0 0 3.55 3.97`,key:`1d7oge`}],[`path`,{d:`M6 13H2`,key:`82j7cp`}],[`path`,{d:`m8 2 1.88 1.88`,key:`fmnt4t`}],[`path`,{d:`M9 7.13V6a3 3 0 1 1 6 0v1.13`,key:`1vgav8`}]]),nn=F(`calendar-clock`,[[`path`,{d:`M16 14v2.2l1.6 1`,key:`fo4ql5`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 7.5V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h3.5`,key:`1osxxc`}],[`path`,{d:`M3 10h5`,key:`r794hk`}],[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`circle`,{cx:`16`,cy:`16`,r:`6`,key:`qoo3c4`}]]),rn=F(`calendar-x-2`,[[`path`,{d:`M8 2v4`,key:`1cmpym`}],[`path`,{d:`M16 2v4`,key:`4m81vk`}],[`path`,{d:`M21 13V6a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h8`,key:`3spt84`}],[`path`,{d:`M3 10h18`,key:`8toen8`}],[`path`,{d:`m17 22 5-5`,key:`1k6ppv`}],[`path`,{d:`m17 17 5 5`,key:`p7ous7`}]]),an=F(`case-sensitive`,[[`path`,{d:`m2 16 4.039-9.69a.5.5 0 0 1 .923 0L11 16`,key:`d5nyq2`}],[`path`,{d:`M22 9v7`,key:`pvm9v3`}],[`path`,{d:`M3.304 13h6.392`,key:`1q3zxz`}],[`circle`,{cx:`18.5`,cy:`12.5`,r:`3.5`,key:`z97x68`}]]),on=F(`chevron-down`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),sn=F(`chevron-left`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),cn=F(`chevron-up`,[[`path`,{d:`m18 15-6-6-6 6`,key:`153udz`}]]),ln=F(`chevrons-down-up`,[[`path`,{d:`m7 20 5-5 5 5`,key:`13a0gw`}],[`path`,{d:`m7 4 5 5 5-5`,key:`1kwcof`}]]),un=F(`chevrons-right`,[[`path`,{d:`m6 17 5-5-5-5`,key:`xnjwq`}],[`path`,{d:`m13 17 5-5-5-5`,key:`17xmmf`}]]),dn=F(`chevrons-up-down`,[[`path`,{d:`m7 15 5 5 5-5`,key:`1hf1tw`}],[`path`,{d:`m7 9 5-5 5 5`,key:`sgt6xg`}]]),fn=F(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),pn=F(`circle-check-big`,[[`path`,{d:`M21.801 10A10 10 0 1 1 17 3.335`,key:`yps3ct`}],[`path`,{d:`m9 11 3 3L22 4`,key:`1pflzl`}]]),mn=F(`circle-arrow-up`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m16 12-4-4-4 4`,key:`177agl`}],[`path`,{d:`M12 16V8`,key:`1sbj14`}]]),hn=F(`circle-check`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),gn=F(`clipboard-paste`,[[`path`,{d:`M11 14h10`,key:`1w8e9d`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v1.344`,key:`1e62lh`}],[`path`,{d:`m17 18 4-4-4-4`,key:`z2g111`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 1.793-1.113`,key:`bjbb7m`}],[`rect`,{x:`8`,y:`2`,width:`8`,height:`4`,rx:`1`,key:`ublpy`}]]),_n=F(`clipboard`,[[`rect`,{width:`8`,height:`4`,x:`8`,y:`2`,rx:`1`,ry:`1`,key:`tgr4d6`}],[`path`,{d:`M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2`,key:`116196`}]]),vn=F(`cloud`,[[`path`,{d:`M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z`,key:`p7xjir`}]]),yn=F(`coffee`,[[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M14 2v2`,key:`6buw04`}],[`path`,{d:`M16 8a1 1 0 0 1 1 1v8a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1h14a4 4 0 1 1 0 8h-1`,key:`pwadti`}],[`path`,{d:`M6 2v2`,key:`colzsn`}]]),bn=F(`cpu`,[[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M17 20v2`,key:`1rnc9c`}],[`path`,{d:`M17 2v2`,key:`11trls`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M2 17h2`,key:`7oei6x`}],[`path`,{d:`M2 7h2`,key:`asdhe0`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`M20 17h2`,key:`1fpfkl`}],[`path`,{d:`M20 7h2`,key:`1o8tra`}],[`path`,{d:`M7 20v2`,key:`4gnj0m`}],[`path`,{d:`M7 2v2`,key:`1i4yhu`}],[`rect`,{x:`4`,y:`4`,width:`16`,height:`16`,rx:`2`,key:`1vbyd7`}],[`rect`,{x:`8`,y:`8`,width:`8`,height:`8`,rx:`1`,key:`z9xiuo`}]]),xn=F(`crosshair`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`22`,x2:`18`,y1:`12`,y2:`12`,key:`l9bcsi`}],[`line`,{x1:`6`,x2:`2`,y1:`12`,y2:`12`,key:`13hhkx`}],[`line`,{x1:`12`,x2:`12`,y1:`6`,y2:`2`,key:`10w3f3`}],[`line`,{x1:`12`,x2:`12`,y1:`22`,y2:`18`,key:`15g9kq`}]]),Sn=F(`database-zap`,[[`ellipse`,{cx:`12`,cy:`5`,rx:`9`,ry:`3`,key:`msslwz`}],[`path`,{d:`M3 5V19A9 3 0 0 0 15 21.84`,key:`14ibmq`}],[`path`,{d:`M21 5V8`,key:`1marbg`}],[`path`,{d:`M21 12L18 17H22L19 22`,key:`zafso`}],[`path`,{d:`M3 12A9 3 0 0 0 14.59 14.87`,key:`1y4wr8`}]]),Cn=F(`ellipsis-vertical`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`12`,cy:`5`,r:`1`,key:`gxeob9`}],[`circle`,{cx:`12`,cy:`19`,r:`1`,key:`lyex9k`}]]),wn=F(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Tn=F(`external-link`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]),En=F(`file-archive`,[[`path`,{d:`M13.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v11.5`,key:`4pqfef`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 12v-1`,key:`1ej8lb`}],[`path`,{d:`M8 18v-2`,key:`qcmpov`}],[`path`,{d:`M8 7V6`,key:`1nbb54`}],[`circle`,{cx:`8`,cy:`20`,r:`2`,key:`ckkr5m`}]]),Dn=F(`file-braces`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12a1 1 0 0 0-1 1v1a1 1 0 0 1-1 1 1 1 0 0 1 1 1v1a1 1 0 0 0 1 1`,key:`1oajmo`}],[`path`,{d:`M14 18a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1 1 1 0 0 1-1-1v-1a1 1 0 0 0-1-1`,key:`mpwhp6`}]]),On=F(`file-code`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}]]),kn=F(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]),An=F(`file-headphone`,[[`path`,{d:`M4 6.835V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2h-.343`,key:`1vfytu`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M2 19a2 2 0 0 1 4 0v1a2 2 0 0 1-4 0v-4a6 6 0 0 1 12 0v4a2 2 0 0 1-4 0v-1a2 2 0 0 1 4 0`,key:`1etmh7`}]]),jn=F(`file-image`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`circle`,{cx:`10`,cy:`12`,r:`2`,key:`737tya`}],[`path`,{d:`m20 17-1.296-1.296a2.41 2.41 0 0 0-3.408 0L9 22`,key:`wt3hpn`}]]),Mn=F(`file-play`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M15.033 13.44a.647.647 0 0 1 0 1.12l-4.065 2.352a.645.645 0 0 1-.968-.56v-4.704a.645.645 0 0 1 .967-.56z`,key:`1tzo1f`}]]),Nn=F(`file-plus`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M9 15h6`,key:`cctwl0`}],[`path`,{d:`M12 18v-6`,key:`17g6i2`}]]),Pn=F(`file-spreadsheet`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M8 13h2`,key:`yr2amv`}],[`path`,{d:`M14 13h2`,key:`un5t4a`}],[`path`,{d:`M8 17h2`,key:`2yhykz`}],[`path`,{d:`M14 17h2`,key:`10kma7`}]]),Fn=F(`file-text`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10 9H8`,key:`b1mrlr`}],[`path`,{d:`M16 13H8`,key:`t4e002`}],[`path`,{d:`M16 17H8`,key:`z1uh3a`}]]),In=F(`file-type`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M11 18h2`,key:`12mj7e`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5`,key:`qbrxap`}]]),Ln=F(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),Rn=F(`flask-conical`,[[`path`,{d:`M14 2v6a2 2 0 0 0 .245.96l5.51 10.08A2 2 0 0 1 18 22H6a2 2 0 0 1-1.755-2.96l5.51-10.08A2 2 0 0 0 10 8V2`,key:`18mbvz`}],[`path`,{d:`M6.453 15h11.094`,key:`3shlmq`}],[`path`,{d:`M8.5 2h7`,key:`csnxdl`}]]),zn=F(`folder-open`,[[`path`,{d:`m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2`,key:`usdka0`}]]),Bn=F(`folder-plus`,[[`path`,{d:`M12 10v6`,key:`1bos4e`}],[`path`,{d:`M9 13h6`,key:`1uhe8q`}],[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Vn=F(`folder-search`,[[`path`,{d:`M10.7 20H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v4.1`,key:`1bw5m7`}],[`path`,{d:`m21 21-1.9-1.9`,key:`1g2n9r`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}]]),Hn=F(`folder-symlink`,[[`path`,{d:`M2 9.35V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h7`,key:`y8kt7d`}],[`path`,{d:`m8 16 3-3-3-3`,key:`rlqrt1`}]]),Un=F(`folder-tree`,[[`path`,{d:`M20 10a1 1 0 0 0 1-1V6a1 1 0 0 0-1-1h-2.5a1 1 0 0 1-.8-.4l-.9-1.2A1 1 0 0 0 15 3h-2a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`hod4my`}],[`path`,{d:`M20 21a1 1 0 0 0 1-1v-3a1 1 0 0 0-1-1h-2.9a1 1 0 0 1-.88-.55l-.42-.85a1 1 0 0 0-.92-.6H13a1 1 0 0 0-1 1v5a1 1 0 0 0 1 1Z`,key:`w4yl2u`}],[`path`,{d:`M3 5a2 2 0 0 0 2 2h3`,key:`f2jnh7`}],[`path`,{d:`M3 3v13a2 2 0 0 0 2 2h3`,key:`k8epm1`}]]),Wn=F(`folder`,[[`path`,{d:`M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z`,key:`1kt360`}]]),Gn=F(`git-branch`,[[`path`,{d:`M15 6a9 9 0 0 0-9 9V3`,key:`1cii5b`}],[`circle`,{cx:`18`,cy:`6`,r:`3`,key:`1h7g24`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}]]),Kn=F(`git-commit-horizontal`,[[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`line`,{x1:`3`,x2:`9`,y1:`12`,y2:`12`,key:`1dyftd`}],[`line`,{x1:`15`,x2:`21`,y1:`12`,y2:`12`,key:`oup4p8`}]]),qn=F(`github`,[[`path`,{d:`M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4`,key:`tonef`}],[`path`,{d:`M9 18c-4.51 2-5-2-7-2`,key:`9comsn`}]]),Jn=F(`globe`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20`,key:`13o1zl`}],[`path`,{d:`M2 12h20`,key:`9i4pu4`}]]),Yn=F(`grid-2x2`,[[`path`,{d:`M12 3v18`,key:`108xh3`}],[`path`,{d:`M3 12h18`,key:`1i2n21`}],[`rect`,{x:`3`,y:`3`,width:`18`,height:`18`,rx:`2`,key:`h1oib`}]]),Xn=F(`grip-horizontal`,[[`circle`,{cx:`12`,cy:`9`,r:`1`,key:`124mty`}],[`circle`,{cx:`19`,cy:`9`,r:`1`,key:`1ruzo2`}],[`circle`,{cx:`5`,cy:`9`,r:`1`,key:`1a8b28`}],[`circle`,{cx:`12`,cy:`15`,r:`1`,key:`1e56xg`}],[`circle`,{cx:`19`,cy:`15`,r:`1`,key:`1a92ep`}],[`circle`,{cx:`5`,cy:`15`,r:`1`,key:`5r1jwy`}]]),Zn=F(`grip-vertical`,[[`circle`,{cx:`9`,cy:`12`,r:`1`,key:`1vctgf`}],[`circle`,{cx:`9`,cy:`5`,r:`1`,key:`hp0tcf`}],[`circle`,{cx:`9`,cy:`19`,r:`1`,key:`fkjjf6`}],[`circle`,{cx:`15`,cy:`12`,r:`1`,key:`1tmaij`}],[`circle`,{cx:`15`,cy:`5`,r:`1`,key:`19l28e`}],[`circle`,{cx:`15`,cy:`19`,r:`1`,key:`f4zoj3`}]]),Qn=F(`heart`,[[`path`,{d:`M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5`,key:`mvr1a0`}]]),$n=F(`hexagon`,[[`path`,{d:`M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z`,key:`yt0hxn`}]]),er=F(`history`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}],[`path`,{d:`M12 7v5l4 2`,key:`1fdv2h`}]]),tr=F(`house`,[[`path`,{d:`M15 21v-8a1 1 0 0 0-1-1h-4a1 1 0 0 0-1 1v8`,key:`5wwlr5`}],[`path`,{d:`M3 10a2 2 0 0 1 .709-1.528l7-6a2 2 0 0 1 2.582 0l7 6A2 2 0 0 1 21 10v9a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`r6nss1`}]]),nr=F(`image`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}]]),rr=F(`info`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),ir=F(`key-round`,[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]),ar=F(`key`,[[`path`,{d:`m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4`,key:`g0fldk`}],[`path`,{d:`m21 2-9.6 9.6`,key:`1j0ho8`}],[`circle`,{cx:`7.5`,cy:`15.5`,r:`5.5`,key:`yqb3hr`}]]),or=F(`keyboard`,[[`path`,{d:`M10 8h.01`,key:`1r9ogq`}],[`path`,{d:`M12 12h.01`,key:`1mp3jc`}],[`path`,{d:`M14 8h.01`,key:`1primd`}],[`path`,{d:`M16 12h.01`,key:`1l6xoz`}],[`path`,{d:`M18 8h.01`,key:`emo2bl`}],[`path`,{d:`M6 8h.01`,key:`x9i8wu`}],[`path`,{d:`M7 16h10`,key:`wp8him`}],[`path`,{d:`M8 12h.01`,key:`czm47f`}],[`rect`,{width:`20`,height:`16`,x:`2`,y:`4`,rx:`2`,key:`18n3k1`}]]),sr=F(`layers`,[[`path`,{d:`M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83z`,key:`zw3jo`}],[`path`,{d:`M2 12a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 12`,key:`1wduqc`}],[`path`,{d:`M2 17a1 1 0 0 0 .58.91l8.6 3.91a2 2 0 0 0 1.65 0l8.58-3.9A1 1 0 0 0 22 17`,key:`kqbvx6`}]]),cr=F(`link-2`,[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]),lr=F(`link`,[[`path`,{d:`M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71`,key:`1cjeqo`}],[`path`,{d:`M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71`,key:`19qd67`}]]),ur=F(`list-filter`,[[`path`,{d:`M2 5h20`,key:`1fs1ex`}],[`path`,{d:`M6 12h12`,key:`8npq4p`}],[`path`,{d:`M9 19h6`,key:`456am0`}]]),dr=F(`list`,[[`path`,{d:`M3 5h.01`,key:`18ugdj`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M3 19h.01`,key:`noohij`}],[`path`,{d:`M8 5h13`,key:`1pao27`}],[`path`,{d:`M8 12h13`,key:`1za7za`}],[`path`,{d:`M8 19h13`,key:`m83p4d`}]]),K=F(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),fr=F(`lock`,[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]),pr=F(`log-out`,[[`path`,{d:`m16 17 5-5-5-5`,key:`1bji2h`}],[`path`,{d:`M21 12H9`,key:`dn1m92`}],[`path`,{d:`M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4`,key:`1uf3rs`}]]),mr=F(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),hr=F(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),gr=F(`message-square`,[[`path`,{d:`M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z`,key:`18887p`}]]),_r=F(`mic`,[[`path`,{d:`M12 19v3`,key:`npa21l`}],[`path`,{d:`M19 10v2a7 7 0 0 1-14 0v-2`,key:`1vc78b`}],[`rect`,{x:`9`,y:`2`,width:`6`,height:`13`,rx:`3`,key:`s6n7sd`}]]),vr=F(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),yr=F(`minus`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),br=F(`monitor-smartphone`,[[`path`,{d:`M18 8V6a2 2 0 0 0-2-2H4a2 2 0 0 0-2 2v7a2 2 0 0 0 2 2h8`,key:`10dyio`}],[`path`,{d:`M10 19v-3.96 3.15`,key:`1irgej`}],[`path`,{d:`M7 19h5`,key:`qswx4l`}],[`rect`,{width:`6`,height:`10`,x:`16`,y:`12`,rx:`2`,key:`1egngj`}]]),xr=F(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),Sr=F(`moon`,[[`path`,{d:`M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401`,key:`kfwtm`}]]),Cr=F(`octagon-x`,[[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`M2.586 16.726A2 2 0 0 1 2 15.312V8.688a2 2 0 0 1 .586-1.414l4.688-4.688A2 2 0 0 1 8.688 2h6.624a2 2 0 0 1 1.414.586l4.688 4.688A2 2 0 0 1 22 8.688v6.624a2 2 0 0 1-.586 1.414l-4.688 4.688a2 2 0 0 1-1.414.586H8.688a2 2 0 0 1-1.414-.586z`,key:`2d38gg`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),wr=F(`palette`,[[`path`,{d:`M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z`,key:`e79jfc`}],[`circle`,{cx:`13.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`1okk4w`}],[`circle`,{cx:`17.5`,cy:`10.5`,r:`.5`,fill:`currentColor`,key:`f64h9f`}],[`circle`,{cx:`6.5`,cy:`12.5`,r:`.5`,fill:`currentColor`,key:`qy21gx`}],[`circle`,{cx:`8.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`fotxhn`}]]),Tr=F(`panel-bottom`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M3 15h18`,key:`5xshup`}]]),Er=F(`panel-left-open`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}],[`path`,{d:`m14 9 3 3-3 3`,key:`8010ee`}]]),Dr=F(`panel-left`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M9 3v18`,key:`fh3hqa`}]]),Or=F(`panel-right`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),kr=F(`pencil`,[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]),Ar=F(`pin-off`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M15 9.34V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H7.89`,key:`znwnzq`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}],[`path`,{d:`M9 9v1.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h11`,key:`c9qhm2`}]]),jr=F(`pin`,[[`path`,{d:`M12 17v5`,key:`bb1du9`}],[`path`,{d:`M9 10.76a2 2 0 0 1-1.11 1.79l-1.78.9A2 2 0 0 0 5 15.24V16a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-.76a2 2 0 0 0-1.11-1.79l-1.78-.9A2 2 0 0 1 15 10.76V7a1 1 0 0 1 1-1 2 2 0 0 0 0-4H8a2 2 0 0 0 0 4 1 1 0 0 1 1 1z`,key:`1nkz8b`}]]),Mr=F(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),Nr=F(`plug`,[[`path`,{d:`M12 22v-5`,key:`1ega77`}],[`path`,{d:`M15 8V2`,key:`18g5xt`}],[`path`,{d:`M17 8a1 1 0 0 1 1 1v4a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V9a1 1 0 0 1 1-1z`,key:`1xoxul`}],[`path`,{d:`M9 8V2`,key:`14iosj`}]]),Pr=F(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),Fr=F(`power`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),Ir=F(`puzzle`,[[`path`,{d:`M15.39 4.39a1 1 0 0 0 1.68-.474 2.5 2.5 0 1 1 3.014 3.015 1 1 0 0 0-.474 1.68l1.683 1.682a2.414 2.414 0 0 1 0 3.414L19.61 15.39a1 1 0 0 1-1.68-.474 2.5 2.5 0 1 0-3.014 3.015 1 1 0 0 1 .474 1.68l-1.683 1.682a2.414 2.414 0 0 1-3.414 0L8.61 19.61a1 1 0 0 0-1.68.474 2.5 2.5 0 1 1-3.014-3.015 1 1 0 0 0 .474-1.68l-1.683-1.682a2.414 2.414 0 0 1 0-3.414L4.39 8.61a1 1 0 0 1 1.68.474 2.5 2.5 0 1 0 3.014-3.015 1 1 0 0 1-.474-1.68l1.683-1.682a2.414 2.414 0 0 1 3.414 0z`,key:`w46dr5`}]]),Lr=F(`qr-code`,[[`rect`,{width:`5`,height:`5`,x:`3`,y:`3`,rx:`1`,key:`1tu5fj`}],[`rect`,{width:`5`,height:`5`,x:`16`,y:`3`,rx:`1`,key:`1v8r4q`}],[`rect`,{width:`5`,height:`5`,x:`3`,y:`16`,rx:`1`,key:`1x03jg`}],[`path`,{d:`M21 16h-3a2 2 0 0 0-2 2v3`,key:`177gqh`}],[`path`,{d:`M21 21v.01`,key:`ents32`}],[`path`,{d:`M12 7v3a2 2 0 0 1-2 2H7`,key:`8crl2c`}],[`path`,{d:`M3 12h.01`,key:`nlz23k`}],[`path`,{d:`M12 3h.01`,key:`n36tog`}],[`path`,{d:`M12 16v.01`,key:`133mhm`}],[`path`,{d:`M16 12h1`,key:`1slzba`}],[`path`,{d:`M21 12v.01`,key:`1lwtk9`}],[`path`,{d:`M12 21v-1`,key:`1880an`}]]),Rr=F(`refresh-cw`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),zr=F(`regex`,[[`path`,{d:`M17 3v10`,key:`15fgeh`}],[`path`,{d:`m12.67 5.5 8.66 5`,key:`1gpheq`}],[`path`,{d:`m12.67 10.5 8.66-5`,key:`1dkfa6`}],[`path`,{d:`M9 17a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v2a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2v-2z`,key:`swwfx4`}]]),Br=F(`replace-all`,[[`path`,{d:`M14 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`,key:`zg1ipl`}],[`path`,{d:`M14 4a1 1 0 0 1 1-1`,key:`dhj8ez`}],[`path`,{d:`M15 10a1 1 0 0 1-1-1`,key:`1mnyi5`}],[`path`,{d:`M19 14a1 1 0 0 1 1 1v5a1 1 0 0 1-1 1`,key:`txt6k4`}],[`path`,{d:`M21 4a1 1 0 0 0-1-1`,key:`sfs9ap`}],[`path`,{d:`M21 9a1 1 0 0 1-1 1`,key:`mp6qeo`}],[`path`,{d:`m3 7 3 3 3-3`,key:`x25e72`}],[`path`,{d:`M6 10V5a2 2 0 0 1 2-2h2`,key:`15xut4`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}]]),Vr=F(`rotate-ccw`,[[`path`,{d:`M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8`,key:`1357e3`}],[`path`,{d:`M3 3v5h5`,key:`1xhq8a`}]]),Hr=F(`rotate-cw`,[[`path`,{d:`M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8`,key:`1p45f6`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}]]),Ur=F(`scan`,[[`path`,{d:`M3 7V5a2 2 0 0 1 2-2h2`,key:`aa7l1z`}],[`path`,{d:`M17 3h2a2 2 0 0 1 2 2v2`,key:`4qcy5o`}],[`path`,{d:`M21 17v2a2 2 0 0 1-2 2h-2`,key:`6vwrx8`}],[`path`,{d:`M7 21H5a2 2 0 0 1-2-2v-2`,key:`ioqczr`}]]),Wr=F(`search`,[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]),Gr=F(`send`,[[`path`,{d:`M14.536 21.686a.5.5 0 0 0 .937-.024l6.5-19a.496.496 0 0 0-.635-.635l-19 6.5a.5.5 0 0 0-.024.937l7.93 3.18a2 2 0 0 1 1.112 1.11z`,key:`1ffxy3`}],[`path`,{d:`m21.854 2.147-10.94 10.939`,key:`12cjpa`}]]),Kr=F(`server-off`,[[`path`,{d:`M7 2h13a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-5`,key:`bt2siv`}],[`path`,{d:`M10 10 2.5 2.5C2 2 2 2.5 2 5v3a2 2 0 0 0 2 2h6z`,key:`1hjrv1`}],[`path`,{d:`M22 17v-1a2 2 0 0 0-2-2h-1`,key:`1iynyr`}],[`path`,{d:`M4 14a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16.5l1-.5.5.5-8-8H4z`,key:`161ggg`}],[`path`,{d:`M6 18h.01`,key:`uhywen`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),qr=F(`settings-2`,[[`path`,{d:`M14 17H5`,key:`gfn3mx`}],[`path`,{d:`M19 7h-9`,key:`6i9tg`}],[`circle`,{cx:`17`,cy:`17`,r:`3`,key:`18b49y`}],[`circle`,{cx:`7`,cy:`7`,r:`3`,key:`dfmy0x`}]]),Jr=F(`settings`,[[`path`,{d:`M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915`,key:`1i5ecw`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]),Yr=F(`share-2`,[[`circle`,{cx:`18`,cy:`5`,r:`3`,key:`gq8acd`}],[`circle`,{cx:`6`,cy:`12`,r:`3`,key:`w7nqdw`}],[`circle`,{cx:`18`,cy:`19`,r:`3`,key:`1xt0gg`}],[`line`,{x1:`8.59`,x2:`15.42`,y1:`13.51`,y2:`17.49`,key:`47mynk`}],[`line`,{x1:`15.41`,x2:`8.59`,y1:`6.51`,y2:`10.49`,key:`1n3mei`}]]),Xr=F(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]),Zr=F(`square-centerline-dashed-horizontal`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h3`,key:`1i73f7`}],[`path`,{d:`M16 3h3a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-3`,key:`saxlbk`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`M12 14v2`,key:`8jcxud`}],[`path`,{d:`M12 8v2`,key:`1woqiv`}],[`path`,{d:`M12 2v2`,key:`tus03m`}]]),Qr=F(`square-centerline-dashed-vertical`,[[`path`,{d:`M21 8V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v3`,key:`14bfxa`}],[`path`,{d:`M21 16v3a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-3`,key:`14rx03`}],[`path`,{d:`M4 12H2`,key:`rhcxmi`}],[`path`,{d:`M10 12H8`,key:`s88cx1`}],[`path`,{d:`M16 12h-2`,key:`10asgb`}],[`path`,{d:`M22 12h-2`,key:`14jgyd`}]]),$r=F(`square-terminal`,[[`path`,{d:`m7 11 2-2-2-2`,key:`1lz0vl`}],[`path`,{d:`M11 13h4`,key:`1p7l4v`}],[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}]]),ei=F(`square-x`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,ry:`2`,key:`1m3agn`}],[`path`,{d:`m15 9-6 6`,key:`1uzhvr`}],[`path`,{d:`m9 9 6 6`,key:`z0biqf`}]]),ti=F(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),ni=F(`sun`,[[`circle`,{cx:`12`,cy:`12`,r:`4`,key:`4exip2`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 20v2`,key:`1lh1kg`}],[`path`,{d:`m4.93 4.93 1.41 1.41`,key:`149t6j`}],[`path`,{d:`m17.66 17.66 1.41 1.41`,key:`ptbguv`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`M20 12h2`,key:`1q8mjw`}],[`path`,{d:`m6.34 17.66-1.41 1.41`,key:`1m8zz5`}],[`path`,{d:`m19.07 4.93-1.41 1.41`,key:`1shlcs`}]]),ri=F(`tag`,[[`path`,{d:`M12.586 2.586A2 2 0 0 0 11.172 2H4a2 2 0 0 0-2 2v7.172a2 2 0 0 0 .586 1.414l8.704 8.704a2.426 2.426 0 0 0 3.42 0l6.58-6.58a2.426 2.426 0 0 0 0-3.42z`,key:`vktsd0`}],[`circle`,{cx:`7.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`kqv944`}]]),ii=F(`tags`,[[`path`,{d:`M13.172 2a2 2 0 0 1 1.414.586l6.71 6.71a2.4 2.4 0 0 1 0 3.408l-4.592 4.592a2.4 2.4 0 0 1-3.408 0l-6.71-6.71A2 2 0 0 1 6 9.172V3a1 1 0 0 1 1-1z`,key:`16rjxf`}],[`path`,{d:`M2 7v6.172a2 2 0 0 0 .586 1.414l6.71 6.71a2.4 2.4 0 0 0 3.191.193`,key:`178nd4`}],[`circle`,{cx:`10.5`,cy:`6.5`,r:`.5`,fill:`currentColor`,key:`12ikhr`}]]),ai=F(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),oi=F(`text-wrap`,[[`path`,{d:`m16 16-3 3 3 3`,key:`117b85`}],[`path`,{d:`M3 12h14.5a1 1 0 0 1 0 7H13`,key:`18xa6z`}],[`path`,{d:`M3 19h6`,key:`1ygdsz`}],[`path`,{d:`M3 5h18`,key:`1u36vt`}]]),si=F(`trash-2`,[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]]),ci=F(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),li=F(`undo-2`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),ui=F(`unlink`,[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]),di=F(`upload`,[[`path`,{d:`M12 3v12`,key:`1x0j5s`}],[`path`,{d:`m17 8-5-5-5 5`,key:`7q97r8`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}]]),fi=F(`users`,[[`path`,{d:`M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2`,key:`1yyitq`}],[`path`,{d:`M16 3.128a4 4 0 0 1 0 7.744`,key:`16gr8j`}],[`path`,{d:`M22 21v-2a4 4 0 0 0-3-3.87`,key:`kshegd`}],[`circle`,{cx:`9`,cy:`7`,r:`4`,key:`nufk8`}]]),pi=F(`whole-word`,[[`circle`,{cx:`7`,cy:`12`,r:`3`,key:`12clwm`}],[`path`,{d:`M10 9v6`,key:`17i7lo`}],[`circle`,{cx:`17`,cy:`12`,r:`3`,key:`gl7c2s`}],[`path`,{d:`M14 7v8`,key:`dl84cr`}],[`path`,{d:`M22 17v1c0 .5-.5 1-1 1H3c-.5 0-1-.5-1-1v-1`,key:`lt2kga`}]]),mi=F(`wifi-off`,[[`path`,{d:`M12 20h.01`,key:`zekei9`}],[`path`,{d:`M8.5 16.429a5 5 0 0 1 7 0`,key:`1bycff`}],[`path`,{d:`M5 12.859a10 10 0 0 1 5.17-2.69`,key:`1dl1wf`}],[`path`,{d:`M19 12.859a10 10 0 0 0-2.007-1.523`,key:`4k23kn`}],[`path`,{d:`M2 8.82a15 15 0 0 1 4.177-2.643`,key:`1grhjp`}],[`path`,{d:`M22 8.82a15 15 0 0 0-11.288-3.764`,key:`z3jwby`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),hi=F(`zap`,[[`path`,{d:`M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z`,key:`1xq2db`}]]),gi=F(`zoom-in`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`11`,x2:`11`,y1:`8`,y2:`14`,key:`1vmskp`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),_i=F(`zoom-out`,[[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}],[`line`,{x1:`21`,x2:`16.65`,y1:`21`,y2:`16.65`,key:`13gj7c`}],[`line`,{x1:`8`,x2:`14`,y1:`11`,y2:`11`,key:`durymu`}]]),vi=Ht(),q=e(r(),1),J=u(),yi=({...e})=>{let t=V(e=>e.themeMode);return(0,J.jsx)(rt,{theme:t===`system`?window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:t,className:`toaster group`,icons:{success:(0,J.jsx)(hn,{className:`size-4`}),info:(0,J.jsx)(rr,{className:`size-4`}),warning:(0,J.jsx)(ci,{className:`size-4`}),error:(0,J.jsx)(Cr,{className:`size-4`}),loading:(0,J.jsx)(K,{className:`size-4 animate-spin`})},style:{"--normal-bg":`var(--color-popover)`,"--normal-text":`var(--color-popover-foreground)`,"--normal-border":`var(--color-border)`,"--border-radius":`var(--radius)`},...e})};function bi({delayDuration:e=0,...t}){return(0,J.jsx)(se,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function xi({...e}){return(0,J.jsx)(M,{"data-slot":`tooltip`,...e})}function Si({...e}){return(0,J.jsx)(he,{"data-slot":`tooltip-trigger`,...e})}function Ci({className:e,sideOffset:t=0,children:n,...r}){return(0,J.jsx)(ve,{children:(0,J.jsxs)(me,{"data-slot":`tooltip-content`,sideOffset:t,className:H(`z-50 w-fit origin-(--radix-tooltip-content-transform-origin) animate-in rounded-md bg-foreground px-3 py-1.5 text-xs text-balance text-background fade-in-0 zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95`,e),...r,children:[n,(0,J.jsx)(Se,{className:`z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground`})]})})}function wi(e,t){let n=getComputedStyle(e);return t*parseFloat(n.fontSize)}function Ti(e,t){let n=getComputedStyle(e.ownerDocument.body);return t*parseFloat(n.fontSize)}function Ei(e){return e/100*window.innerHeight}function Di(e){return e/100*window.innerWidth}function Oi(e){switch(typeof e){case`number`:return[e,`px`];case`string`:{let t=parseFloat(e);return e.endsWith(`%`)?[t,`%`]:e.endsWith(`px`)?[t,`px`]:e.endsWith(`rem`)?[t,`rem`]:e.endsWith(`em`)?[t,`em`]:e.endsWith(`vh`)?[t,`vh`]:e.endsWith(`vw`)?[t,`vw`]:[t,`%`]}}}function ki({groupSize:e,panelElement:t,styleProp:n}){let r,[i,a]=Oi(n);switch(a){case`%`:r=i/100*e;break;case`px`:r=i;break;case`rem`:r=Ti(t,i);break;case`em`:r=wi(t,i);break;case`vh`:r=Ei(i);break;case`vw`:r=Di(i);break}return r}function Ai(e){return parseFloat(e.toFixed(3))}function ji({group:e}){let{orientation:t,panels:n}=e;return n.reduce((e,n)=>(e+=t===`horizontal`?n.element.offsetWidth:n.element.offsetHeight,e),0)}function Mi(e){let{panels:t}=e,n=ji({group:e});return n===0?t.map(e=>({groupResizeBehavior:e.panelConstraints.groupResizeBehavior,collapsedSize:0,collapsible:e.panelConstraints.collapsible===!0,defaultSize:void 0,disabled:e.panelConstraints.disabled,minSize:0,maxSize:100,panelId:e.id})):t.map(e=>{let{element:t,panelConstraints:r}=e,i=0;r.collapsedSize!==void 0&&(i=Ai(ki({groupSize:n,panelElement:t,styleProp:r.collapsedSize})/n*100));let a;r.defaultSize!==void 0&&(a=Ai(ki({groupSize:n,panelElement:t,styleProp:r.defaultSize})/n*100));let o=0;r.minSize!==void 0&&(o=Ai(ki({groupSize:n,panelElement:t,styleProp:r.minSize})/n*100));let s=100;return r.maxSize!==void 0&&(s=Ai(ki({groupSize:n,panelElement:t,styleProp:r.maxSize})/n*100)),{groupResizeBehavior:r.groupResizeBehavior,collapsedSize:i,collapsible:r.collapsible===!0,defaultSize:a,disabled:r.disabled,minSize:o,maxSize:s,panelId:e.id}})}function Ni(e,t=`Assertion error`){if(!e)throw Error(t)}function Pi(e,t){return Array.from(t).sort(e===`horizontal`?Fi:Ii)}function Fi(e,t){let n=e.element.offsetLeft-t.element.offsetLeft;return n===0?e.element.offsetWidth-t.element.offsetWidth:n}function Ii(e,t){let n=e.element.offsetTop-t.element.offsetTop;return n===0?e.element.offsetHeight-t.element.offsetHeight:n}function Li(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.ELEMENT_NODE}function Ri(e,t){return{x:e.x>=t.left&&e.x<=t.right?0:Math.min(Math.abs(e.x-t.left),Math.abs(e.x-t.right)),y:e.y>=t.top&&e.y<=t.bottom?0:Math.min(Math.abs(e.y-t.top),Math.abs(e.y-t.bottom))}}function zi({orientation:e,rects:t,targetRect:n}){let r={x:n.x+n.width/2,y:n.y+n.height/2},i,a=Number.MAX_VALUE;for(let n of t){let{x:t,y:o}=Ri(r,n),s=e===`horizontal`?t:o;s<a&&(a=s,i=n)}return Ni(i,`No rect found`),i}var Bi;function Vi(){return Bi===void 0&&(Bi=typeof matchMedia==`function`?!!matchMedia(`(pointer:coarse)`).matches:!1),Bi}function Hi(e){let{element:t,orientation:n,panels:r,separators:i}=e,a=Pi(n,Array.from(t.children).filter(Li).map(e=>({element:e}))).map(({element:e})=>e),o=[],s=!1,c=!1,l=-1,u=-1,d=0,f,p=[];{let e=-1;for(let t of a)t.hasAttribute(`data-panel`)&&(e++,t.ariaDisabled===null&&(d++,l===-1&&(l=e),u=e))}if(d>1){let t=-1;for(let d of a)if(d.hasAttribute(`data-panel`)){t++;let i=r.find(e=>e.element===d);if(i){if(f){let r=f.element.getBoundingClientRect(),a=d.getBoundingClientRect(),m;if(c){let e=n===`horizontal`?new DOMRect(r.right,r.top,0,r.height):new DOMRect(r.left,r.bottom,r.width,0),t=n===`horizontal`?new DOMRect(a.left,a.top,0,a.height):new DOMRect(a.left,a.top,a.width,0);switch(p.length){case 0:m=[e,t];break;case 1:{let i=p[0];m=[i,zi({orientation:n,rects:[r,a],targetRect:i.element.getBoundingClientRect()})===r?t:e];break}default:m=p;break}}else m=p.length?p:[n===`horizontal`?new DOMRect(r.right,a.top,a.left-r.right,a.height):new DOMRect(a.left,r.bottom,a.width,a.top-r.bottom)];for(let n of m){let r=`width`in n?n:n.element.getBoundingClientRect(),a=Vi()?e.resizeTargetMinimumSize.coarse:e.resizeTargetMinimumSize.fine;if(r.width<a){let e=a-r.width;r=new DOMRect(r.x-e/2,r.y,r.width+e,r.height)}if(r.height<a){let e=a-r.height;r=new DOMRect(r.x,r.y-e/2,r.width,r.height+e)}!s&&!(t<=l||t>u)&&o.push({group:e,groupSize:ji({group:e}),panels:[f,i],separator:`width`in n?void 0:n,rect:r}),s=!1}}c=!1,f=i,p=[]}}else if(d.hasAttribute(`data-separator`)){d.ariaDisabled!==null&&(s=!0);let e=i.find(e=>e.element===d);e?p.push(e):(f=void 0,p=[])}else c=!0}return o}var Ui=class{#e={};addListener(e,t){let n=this.#e[e];return n===void 0?this.#e[e]=[t]:n.includes(t)||n.push(t),()=>{this.removeListener(e,t)}}emit(e,t){let n=this.#e[e];if(n!==void 0)if(n.length===1)n[0].call(null,t);else{let e=!1,r=null,i=Array.from(n);for(let n=0;n<i.length;n++){let a=i[n];try{a.call(null,t)}catch(t){r===null&&(e=!0,r=t)}}if(e)throw r}}removeAllListeners(){this.#e={}}removeListener(e,t){let n=this.#e[e];if(n!==void 0){let e=n.indexOf(t);e>=0&&n.splice(e,1)}}},Wi=new Map,Gi=new Ui;function Ki(e){Wi=new Map(Wi),Wi.delete(e)}function qi(e,t){for(let[t]of Wi)if(t.id===e)return t}function Ji(e,t){for(let[t,n]of Wi)if(t.id===e)return n;if(t)throw Error(`Could not find data for Group with id ${e}`)}function Yi(){return Wi}function Xi(e,t){return Gi.addListener(`groupChange`,n=>{n.group.id===e&&t(n)})}function Zi(e,t){let n=Wi.get(e);Wi=new Map(Wi),Wi.set(e,t),Gi.emit(`groupChange`,{group:e,prev:n,next:t})}function Qi(e,t,n){let r,i={x:1/0,y:1/0};for(let a of t){let t=Ri(n,a.rect);switch(e){case`horizontal`:t.x<=i.x&&(r=a,i=t);break;case`vertical`:t.y<=i.y&&(r=a,i=t);break}}return r?{distance:i,hitRegion:r}:void 0}function $i(e){return typeof e==`object`&&!!e&&`nodeType`in e&&e.nodeType===Node.DOCUMENT_FRAGMENT_NODE}function ea(e,t){if(e===t)throw Error(`Cannot compare node with itself`);let n={a:oa(e),b:oa(t)},r;for(;n.a.at(-1)===n.b.at(-1);)r=n.a.pop(),n.b.pop();Ni(r,`Stacking order can only be calculated for elements with a common ancestor`);let i={a:aa(ia(n.a)),b:aa(ia(n.b))};if(i.a===i.b){let e=r.childNodes,t={a:n.a.at(-1),b:n.b.at(-1)},i=e.length;for(;i--;){let n=e[i];if(n===t.a)return 1;if(n===t.b)return-1}}return Math.sign(i.a-i.b)}var ta=/\b(?:position|zIndex|opacity|transform|webkitTransform|mixBlendMode|filter|webkitFilter|isolation)\b/;function na(e){let t=getComputedStyle(sa(e)??e).display;return t===`flex`||t===`inline-flex`}function ra(e){let t=getComputedStyle(e);return!!(t.position===`fixed`||t.zIndex!==`auto`&&(t.position!==`static`||na(e))||+t.opacity<1||`transform`in t&&t.transform!==`none`||`webkitTransform`in t&&t.webkitTransform!==`none`||`mixBlendMode`in t&&t.mixBlendMode!==`normal`||`filter`in t&&t.filter!==`none`||`webkitFilter`in t&&t.webkitFilter!==`none`||`isolation`in t&&t.isolation===`isolate`||ta.test(t.willChange)||t.webkitOverflowScrolling===`touch`)}function ia(e){let t=e.length;for(;t--;){let n=e[t];if(Ni(n,`Missing node`),ra(n))return n}return null}function aa(e){return e&&Number(getComputedStyle(e).zIndex)||0}function oa(e){let t=[];for(;e;)t.push(e),e=sa(e);return t}function sa(e){let{parentNode:t}=e;return $i(t)?t.host:t}function ca(e,t){return e.x<t.x+t.width&&e.x+e.width>t.x&&e.y<t.y+t.height&&e.y+e.height>t.y}function la({groupElement:e,hitRegion:t,pointerEventTarget:n}){if(!Li(n)||n.contains(e)||e.contains(n))return!0;if(ea(n,e)>0){let r=n;for(;r;){if(r.contains(e))return!0;if(ca(r.getBoundingClientRect(),t))return!1;r=r.parentElement}}return!0}function ua(e,t){let n=[];return t.forEach((t,r)=>{if(r.disabled)return;let i=Hi(r),a=Qi(r.orientation,i,{x:e.clientX,y:e.clientY});a&&a.distance.x<=0&&a.distance.y<=0&&la({groupElement:r.element,hitRegion:a.hitRegion.rect,pointerEventTarget:e.target})&&n.push(a.hitRegion)}),n}function da(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}function fa(e,t,n=0){return Math.abs(Ai(e)-Ai(t))<=n}function pa(e,t){return fa(e,t)?0:e>t?1:-1}function ma({overrideDisabledPanels:e,panelConstraints:t,prevSize:n,size:r}){let{collapsedSize:i=0,collapsible:a,disabled:o,maxSize:s=100,minSize:c=0}=t;if(o&&!e)return n;if(pa(r,c)<0)if(a){let e=(i+c)/2;r=pa(r,e)<0?i:c}else r=c;return r=Math.min(s,r),r=Ai(r),r}function ha({delta:e,initialLayout:t,panelConstraints:n,pivotIndices:r,prevLayout:i,trigger:a}){if(fa(e,0))return t;let o=a===`imperative-api`,s=Object.values(t),c=Object.values(i),l=[...s],[u,d]=r;Ni(u!=null,`Invalid first pivot index`),Ni(d!=null,`Invalid second pivot index`);let f=0;switch(a){case`keyboard`:{let t=e<0?d:u,r=n[t];Ni(r,`Panel constraints not found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(Ni(n!=null,`Previous layout not found for panel index ${t}`),fa(n,i)){let t=o-n;pa(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let t=e<0?u:d,r=n[t];Ni(r,`No panel constraints found for index ${t}`);let{collapsedSize:i=0,collapsible:a,minSize:o=0}=r;if(a){let n=s[t];if(Ni(n!=null,`Previous layout not found for panel index ${t}`),fa(n,o)){let t=n-i;pa(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}break;default:{let t=e<0?d:u,r=n[t];Ni(r,`Panel constraints not found for index ${t}`);let i=s[t],{collapsible:a,collapsedSize:o,minSize:c}=r;if(a&&pa(i,c)<0)if(e>0){let t=c-o,n=t/2;pa(i+e,c)<0&&(e=pa(e,n)<=0?0:t)}else{let t=c-o,n=100-t/2;pa(i-e,c)<0&&(e=pa(100+e,n)>0?0:-t)}break}}{let t=e<0?1:-1,r=e<0?d:u,i=0;for(;;){let e=s[r];Ni(e!=null,`Previous layout not found for panel index ${r}`);let a=ma({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:e,size:100})-e;if(i+=a,r+=t,r<0||r>=n.length)break}let a=Math.min(Math.abs(e),Math.abs(i));e=e<0?0-a:a}{let t=e<0?u:d;for(;t>=0&&t<n.length;){let r=Math.abs(e)-Math.abs(f),i=s[t];Ni(i!=null,`Previous layout not found for panel index ${t}`);let a=i-r,c=ma({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:i,size:a});if(!fa(i,c)&&(f+=i-c,l[t]=c,f.toFixed(3).localeCompare(Math.abs(e).toFixed(3),void 0,{numeric:!0})>=0))break;e<0?t--:t++}}if(da(c,l))return i;{let t=e<0?d:u,r=s[t];Ni(r!=null,`Previous layout not found for panel index ${t}`);let i=r+f,a=ma({overrideDisabledPanels:o,panelConstraints:n[t],prevSize:r,size:i});if(l[t]=a,!fa(a,i)){let t=i-a,r=e<0?d:u;for(;r>=0&&r<n.length;){let i=l[r];Ni(i!=null,`Previous layout not found for panel index ${r}`);let a=i+t,s=ma({overrideDisabledPanels:o,panelConstraints:n[r],prevSize:i,size:a});if(fa(i,s)||(t-=s-i,l[r]=s),fa(t,0))break;e>0?r--:r++}}}if(!fa(Object.values(l).reduce((e,t)=>t+e,0),100,.1))return i;let p=Object.keys(i);return l.reduce((e,t,n)=>(e[p[n]]=t,e),{})}function ga(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(t[n]===void 0||pa(e[n],t[n])!==0)return!1;return!0}function _a({layout:e,panelConstraints:t}){let n=Object.values(e),r=[...n],i=r.reduce((e,t)=>e+t,0);if(r.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${r.map(e=>`${e}%`).join(`, `)}`);if(!fa(i,100)&&r.length>0)for(let e=0;e<t.length;e++){let t=r[e];Ni(t!=null,`No layout data found for index ${e}`),r[e]=100/i*t}let a=0;for(let e=0;e<t.length;e++){let i=n[e];Ni(i!=null,`No layout data found for index ${e}`);let o=r[e];Ni(o!=null,`No layout data found for index ${e}`);let s=ma({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:i,size:o});o!=s&&(a+=o-s,r[e]=s)}if(!fa(a,0))for(let e=0;e<t.length;e++){let n=r[e];Ni(n!=null,`No layout data found for index ${e}`);let i=n+a,o=ma({overrideDisabledPanels:!0,panelConstraints:t[e],prevSize:n,size:i});if(n!==o&&(a-=o-n,r[e]=o,fa(a,0)))break}let o=Object.keys(e);return r.reduce((e,t,n)=>(e[o[n]]=t,e),{})}function va({groupId:e,panelId:t}){let n=()=>{let t=Yi();for(let[n,{defaultLayoutDeferred:r,derivedPanelConstraints:i,layout:a,groupSize:o,separatorToPanels:s}]of t)if(n.id===e)return{defaultLayoutDeferred:r,derivedPanelConstraints:i,group:n,groupSize:o,layout:a,separatorToPanels:s};throw Error(`Group ${e} not found`)},r=()=>{let e=n().derivedPanelConstraints.find(e=>e.panelId===t);if(e!==void 0)return e;throw Error(`Panel constraints not found for Panel ${t}`)},i=()=>{let e=n().group.panels.find(e=>e.id===t);if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},a=()=>{let e=n().layout[t];if(e!==void 0)return e;throw Error(`Layout not found for Panel ${t}`)},o=e=>{let r=a();if(e===r)return;let{defaultLayoutDeferred:i,derivedPanelConstraints:o,group:s,groupSize:c,layout:l,separatorToPanels:u}=n(),d=s.panels.findIndex(e=>e.id===t),f=d===s.panels.length-1,p=_a({layout:ha({delta:f?r-e:e-r,initialLayout:l,panelConstraints:o,pivotIndices:f?[d-1,d]:[d,d+1],prevLayout:l,trigger:`imperative-api`}),panelConstraints:o});ga(l,p)||Zi(s,{defaultLayoutDeferred:i,derivedPanelConstraints:o,groupSize:c,layout:p,separatorToPanels:u})};return{collapse:()=>{let{collapsible:e,collapsedSize:t}=r(),{mutableValues:n}=i(),s=a();e&&s!==t&&(n.expandToSize=s,o(t))},expand:()=>{let{collapsible:e,collapsedSize:t,minSize:n}=r(),{mutableValues:s}=i(),c=a();if(e&&c===t){let e=s.expandToSize??n;e===0&&(e=1),o(e)}},getSize:()=>{let{group:e}=n(),t=a(),{element:r}=i();return{asPercentage:t,inPixels:e.orientation===`horizontal`?r.offsetWidth:r.offsetHeight}},isCollapsed:()=>{let{collapsible:e,collapsedSize:t}=r(),n=a();return e&&fa(t,n)},resize:e=>{let{group:t}=n(),{element:r}=i(),a=ji({group:t});o(Ai(ki({groupSize:a,panelElement:r,styleProp:e})/a*100))}}}function ya(e){e.defaultPrevented||ua(e,Yi()).forEach(t=>{if(t.separator){let n=t.panels.find(e=>e.panelConstraints.defaultSize!==void 0);if(n){let r=n.panelConstraints.defaultSize,i=va({groupId:t.group.id,panelId:n.id});i&&r!==void 0&&(i.resize(r),e.preventDefault())}}})}function ba(e){let t=Yi();for(let[n]of t)if(n.separators.some(t=>t.element===e))return n;throw Error(`Could not find parent Group for separator element`)}function xa({groupId:e}){let t=()=>{let t=Yi();for(let[n,r]of t)if(n.id===e)return{group:n,...r};throw Error(`Could not find Group with id "${e}"`)};return{getLayout(){let{defaultLayoutDeferred:e,layout:n}=t();return e?{}:n},setLayout(e){let{defaultLayoutDeferred:n,derivedPanelConstraints:r,group:i,groupSize:a,layout:o,separatorToPanels:s}=t(),c=_a({layout:e,panelConstraints:r});return n?o:(ga(o,c)||Zi(i,{defaultLayoutDeferred:n,derivedPanelConstraints:r,groupSize:a,layout:c,separatorToPanels:s}),c)}}}function Sa(e,t){let n=ba(e),r=Ji(n.id,!0),i=n.separators.find(t=>t.element===e);Ni(i,`Matching separator not found`);let a=r.separatorToPanels.get(i);Ni(a,`Matching panels not found`);let o=a.map(e=>n.panels.indexOf(e)),s=xa({groupId:n.id}).getLayout(),c=_a({layout:ha({delta:t,initialLayout:s,panelConstraints:r.derivedPanelConstraints,pivotIndices:o,prevLayout:s,trigger:`keyboard`}),panelConstraints:r.derivedPanelConstraints});ga(s,c)||Zi(n,{defaultLayoutDeferred:r.defaultLayoutDeferred,derivedPanelConstraints:r.derivedPanelConstraints,groupSize:r.groupSize,layout:c,separatorToPanels:r.separatorToPanels})}function Ca(e){if(e.defaultPrevented)return;let t=e.currentTarget,n=ba(t);if(!n.disabled)switch(e.key){case`ArrowDown`:e.preventDefault(),n.orientation===`vertical`&&Sa(t,5);break;case`ArrowLeft`:e.preventDefault(),n.orientation===`horizontal`&&Sa(t,-5);break;case`ArrowRight`:e.preventDefault(),n.orientation===`horizontal`&&Sa(t,5);break;case`ArrowUp`:e.preventDefault(),n.orientation===`vertical`&&Sa(t,-5);break;case`End`:e.preventDefault(),Sa(t,100);break;case`Enter`:{e.preventDefault();let n=ba(t),{derivedPanelConstraints:r,layout:i,separatorToPanels:a}=Ji(n.id,!0),o=n.separators.find(e=>e.element===t);Ni(o,`Matching separator not found`);let s=a.get(o);Ni(s,`Matching panels not found`);let c=s[0],l=r.find(e=>e.panelId===c.id);if(Ni(l,`Panel metadata not found`),l.collapsible){let e=i[c.id];Sa(t,(l.collapsedSize===e?n.mutableState.expandedPanelSizes[c.id]??l.minSize:l.collapsedSize)-e)}break}case`F6`:{e.preventDefault();let n=ba(t).separators.map(e=>e.element),r=Array.from(n).findIndex(t=>t===e.currentTarget);Ni(r!==null,`Index not found`),n[e.shiftKey?r>0?r-1:n.length-1:r+1<n.length?r+1:0].focus({preventScroll:!0});break}case`Home`:e.preventDefault(),Sa(t,-100);break}}var wa={cursorFlags:0,state:`inactive`},Ta=new Ui;function Ea(){return wa}function Da(e){return Ta.addListener(`change`,e)}function Oa(e){let t=wa,n={...wa};n.cursorFlags=e,wa=n,Ta.emit(`change`,{prev:t,next:n})}function ka(e){let t=wa;wa=e,Ta.emit(`change`,{prev:t,next:e})}function Aa(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Yi(),n=ua(e,t),r=new Map,i=!1;n.forEach(e=>{e.separator&&(i||(i=!0,e.separator.element.focus({preventScroll:!0})));let n=t.get(e.group);n&&r.set(e.group,n.layout)}),ka({cursorFlags:0,hitRegions:n,initialLayoutMap:r,pointerDownAtPoint:{x:e.clientX,y:e.clientY},state:`active`}),n.length&&e.preventDefault()}var ja=e=>e,Ma=()=>{},Na=1,Pa=2,Fa=4,Ia=8,La=3,Ra=12,za;function Ba(){return za===void 0&&(za=!1,typeof window<`u`&&(window.navigator.userAgent.includes(`Chrome`)||window.navigator.userAgent.includes(`Firefox`))&&(za=!0)),za}function Va({cursorFlags:e,groups:t,state:n}){let r=0,i=0;switch(n){case`active`:case`hover`:t.forEach(e=>{if(!e.mutableState.disableCursor)switch(e.orientation){case`horizontal`:r++;break;case`vertical`:i++;break}})}if(!(r===0&&i===0)){switch(n){case`active`:if(e&&Ba()){let t=(e&Na)!==0,n=(e&Pa)!==0,r=(e&Fa)!==0,i=(e&Ia)!==0;if(t)return r?`se-resize`:i?`ne-resize`:`e-resize`;if(n)return r?`sw-resize`:i?`nw-resize`:`w-resize`;if(r)return`s-resize`;if(i)return`n-resize`}break}return Ba()?r>0&&i>0?`move`:r>0?`ew-resize`:`ns-resize`:r>0&&i>0?`grab`:r>0?`col-resize`:`row-resize`}}var Ha=new WeakMap;function Ua(e){if(e.defaultView===null||e.defaultView===void 0)return;let{prevStyle:t,styleSheet:n}=Ha.get(e)??{};n===void 0&&(n=new e.defaultView.CSSStyleSheet,e.adoptedStyleSheets&&e.adoptedStyleSheets.push(n));let r=Ea();switch(r.state){case`active`:case`hover`:{let e=Va({cursorFlags:r.cursorFlags,groups:r.hitRegions.map(e=>e.group),state:r.state}),i=`*, *:hover {cursor: ${e} !important; }`;if(t===i)return;t=i,e?n.cssRules.length===0?n.insertRule(i):n.replaceSync(i):n.cssRules.length===1&&n.deleteRule(0);break}case`inactive`:t=void 0,n.cssRules.length===1&&n.deleteRule(0);break}Ha.set(e,{prevStyle:t,styleSheet:n})}function Wa({document:e,event:t,hitRegions:n,initialLayoutMap:r,mountedGroups:i,pointerDownAtPoint:a,prevCursorFlags:o}){let s=0;n.forEach(e=>{let{group:n,groupSize:o}=e,{orientation:c,panels:l}=n,{disableCursor:u}=n.mutableState,d=0;d=a?c===`horizontal`?(t.clientX-a.x)/o*100:(t.clientY-a.y)/o*100:c===`horizontal`?t.clientX<0?-100:100:t.clientY<0?-100:100;let f=r.get(n),p=i.get(n);if(!f||!p)return;let{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:_,separatorToPanels:v}=p;if(h&&_&&v){let t=ha({delta:d,initialLayout:f,panelConstraints:h,pivotIndices:e.panels.map(e=>l.indexOf(e)),prevLayout:_,trigger:`mouse-or-touch`});if(ga(t,_)){if(d!==0&&!u)switch(c){case`horizontal`:s|=d<0?Na:Pa;break;case`vertical`:s|=d<0?Fa:Ia;break}}else Zi(e.group,{defaultLayoutDeferred:m,derivedPanelConstraints:h,groupSize:g,layout:t,separatorToPanels:v})}});let c=0;t.movementX===0?c|=o&La:c|=s&La,t.movementY===0?c|=o&Ra:c|=s&Ra,Oa(c),Ua(e)}function Ga(e){let t=Yi(),n=Ea();switch(n.state){case`active`:Wa({document:e.currentTarget,event:e,hitRegions:n.hitRegions,initialLayoutMap:n.initialLayoutMap,mountedGroups:t,prevCursorFlags:n.cursorFlags})}}function Ka(e){if(e.defaultPrevented)return;let t=Ea(),n=Yi();switch(t.state){case`active`:if(e.buttons===0){ka({cursorFlags:0,state:`inactive`}),t.hitRegions.forEach(e=>{let t=Ji(e.group.id,!0);Zi(e.group,t)});return}Wa({document:e.currentTarget,event:e,hitRegions:t.hitRegions,initialLayoutMap:t.initialLayoutMap,mountedGroups:n,pointerDownAtPoint:t.pointerDownAtPoint,prevCursorFlags:t.cursorFlags});break;default:{let r=ua(e,n);r.length===0?t.state!==`inactive`&&ka({cursorFlags:0,state:`inactive`}):ka({cursorFlags:0,hitRegions:r,state:`hover`}),Ua(e.currentTarget);break}}}function qa(e){if(e.relatedTarget instanceof HTMLIFrameElement)switch(Ea().state){case`hover`:ka({cursorFlags:0,state:`inactive`})}}function Ja(e){if(e.defaultPrevented||e.pointerType===`mouse`&&e.button>0)return;let t=Ea();switch(t.state){case`active`:ka({cursorFlags:0,state:`inactive`}),t.hitRegions.length>0&&(Ua(e.currentTarget),t.hitRegions.forEach(e=>{let t=Ji(e.group.id,!0);Zi(e.group,t)}),e.preventDefault())}}function Ya(e){let t=0,n=0,r={};for(let i of e)if(i.defaultSize!==void 0){t++;let e=Ai(i.defaultSize);n+=e,r[i.panelId]=e}else r[i.panelId]=void 0;let i=e.length-t;if(i!==0){let t=Ai((100-n)/i);for(let n of e)n.defaultSize===void 0&&(r[n.panelId]=t)}return r}function Xa(e,t,n){if(!n[0])return;let r=e.panels.find(e=>e.element===t);if(!r||!r.onResize)return;let i=ji({group:e}),a=e.orientation===`horizontal`?r.element.offsetWidth:r.element.offsetHeight,o=r.mutableValues.prevSize,s={asPercentage:Ai(a/i*100),inPixels:a};r.mutableValues.prevSize=s,r.onResize(s,r.id,o)}function Za(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function Qa({group:e,nextGroupSize:t,prevGroupSize:n,prevLayout:r}){if(n<=0||t<=0||n===t)return r;let i=0,a=0,o=!1,s=new Map,c=[];for(let l of e.panels){let e=r[l.id]??0;switch(l.panelConstraints.groupResizeBehavior){case`preserve-pixel-size`:{o=!0;let r=Ai(e/100*n/t*100);s.set(l.id,r),i+=r;break}default:c.push(l.id),a+=e;break}}if(!o||c.length===0)return r;let l=100-i,u={...r};if(s.forEach((e,t)=>{u[t]=e}),a>0)for(let e of c)u[e]=Ai((r[e]??0)/a*l);else{let e=Ai(l/c.length);for(let t of c)u[t]=e}return u}function $a(e,t){let n=e.map(e=>e.id),r=Object.keys(t);if(n.length!==r.length)return!1;for(let e of n)if(!r.includes(e))return!1;return!0}var eo=new Map;function to(e){let t=!0;Ni(e.element.ownerDocument.defaultView,`Cannot register an unmounted Group`);let n=e.element.ownerDocument.defaultView.ResizeObserver,r=new Set,i=new Set,a=new n(n=>{for(let r of n){let{borderBoxSize:n,target:i}=r;if(i===e.element){if(t){let t=ji({group:e});if(t===0)return;let n=Ji(e.id);if(!n)return;let r=Mi(e),i=n.defaultLayoutDeferred?Ya(r):n.layout,a=_a({layout:Qa({group:e,nextGroupSize:t,prevGroupSize:n.groupSize,prevLayout:i}),panelConstraints:r});if(!n.defaultLayoutDeferred&&ga(n.layout,a)&&Za(n.derivedPanelConstraints,r)&&n.groupSize===t)return;Zi(e,{defaultLayoutDeferred:!1,derivedPanelConstraints:r,groupSize:t,layout:a,separatorToPanels:n.separatorToPanels})}}else Xa(e,i,n)}});a.observe(e.element),e.panels.forEach(e=>{Ni(!r.has(e.id),`Panel ids must be unique; id "${e.id}" was used more than once`),r.add(e.id),e.onResize&&a.observe(e.element)});let o=ji({group:e}),s=Mi(e),c=e.panels.map(({id:e})=>e).join(`,`),l=e.mutableState.defaultLayout;l&&($a(e.panels,l)||(l=void 0));let u=_a({layout:e.mutableState.layouts[c]??l??Ya(s),panelConstraints:s}),d=e.element.ownerDocument;eo.set(d,(eo.get(d)??0)+1);let f=new Map;return Hi(e).forEach(e=>{e.separator&&f.set(e.separator,e.panels)}),Zi(e,{defaultLayoutDeferred:o===0,derivedPanelConstraints:s,groupSize:o,layout:u,separatorToPanels:f}),e.separators.forEach(e=>{Ni(!i.has(e.id),`Separator ids must be unique; id "${e.id}" was used more than once`),i.add(e.id),e.element.addEventListener(`keydown`,Ca)}),eo.get(d)===1&&(d.addEventListener(`dblclick`,ya,!0),d.addEventListener(`pointerdown`,Aa,!0),d.addEventListener(`pointerleave`,Ga),d.addEventListener(`pointermove`,Ka),d.addEventListener(`pointerout`,qa),d.addEventListener(`pointerup`,Ja,!0)),function(){t=!1,eo.set(d,Math.max(0,(eo.get(d)??0)-1)),Ki(e),e.separators.forEach(e=>{e.element.removeEventListener(`keydown`,Ca)}),eo.get(d)||(d.removeEventListener(`dblclick`,ya,!0),d.removeEventListener(`pointerdown`,Aa,!0),d.removeEventListener(`pointerleave`,Ga),d.removeEventListener(`pointermove`,Ka),d.removeEventListener(`pointerout`,qa),d.removeEventListener(`pointerup`,Ja,!0)),a.disconnect()}}function no(){let[e,t]=(0,q.useState)({});return[e,(0,q.useCallback)(()=>t({}),[])]}function ro(e){let t=(0,q.useId)();return`${e??t}`}var Y=typeof window<`u`?q.useLayoutEffect:q.useEffect;function io(e){let t=(0,q.useRef)(e);return Y(()=>{t.current=e},[e]),(0,q.useCallback)((...e)=>t.current?.(...e),[t])}function ao(...e){return io(t=>{e.forEach(e=>{if(e)switch(typeof e){case`function`:e(t);break;case`object`:e.current=t;break}})})}function oo(e){let t=(0,q.useRef)({...e});return Y(()=>{for(let n in e)t.current[n]=e[n]},[e]),t.current}var so=(0,q.createContext)(null);function co(e,t){let n=(0,q.useRef)({getLayout:()=>({}),setLayout:ja});(0,q.useImperativeHandle)(t,()=>n.current,[]),Y(()=>{Object.assign(n.current,xa({groupId:e}))})}function lo({children:e,className:t,defaultLayout:n,disableCursor:r,disabled:i,elementRef:a,groupRef:o,id:s,onLayoutChange:c,onLayoutChanged:l,orientation:u=`horizontal`,resizeTargetMinimumSize:d={coarse:20,fine:10},style:f,...p}){let m=(0,q.useRef)({onLayoutChange:{},onLayoutChanged:{}}),h=io(e=>{ga(m.current.onLayoutChange,e)||(m.current.onLayoutChange=e,c?.(e))}),g=io(e=>{ga(m.current.onLayoutChanged,e)||(m.current.onLayoutChanged=e,l?.(e))}),_=ro(s),v=(0,q.useRef)(null),[y,b]=no(),x=(0,q.useRef)({lastExpandedPanelSizes:{},layouts:{},panels:[],resizeTargetMinimumSize:d,separators:[]}),S=ao(v,a);co(_,o);let C=io((e,t)=>{let r=Ea(),i=qi(e),a=Ji(e);if(a){let e=!1;switch(r.state){case`active`:e=r.hitRegions.some(e=>e.group===i);break}return{flexGrow:a.layout[t]??1,pointerEvents:e?`none`:void 0}}return{flexGrow:n?.[t]??1}}),w=oo({defaultLayout:n,disableCursor:r}),T=(0,q.useMemo)(()=>({get disableCursor(){return!!w.disableCursor},getPanelStyles:C,id:_,orientation:u,registerPanel:e=>{let t=x.current;return t.panels=Pi(u,[...t.panels,e]),b(),()=>{t.panels=t.panels.filter(t=>t!==e),b()}},registerSeparator:e=>{let t=x.current;return t.separators=Pi(u,[...t.separators,e]),b(),()=>{t.separators=t.separators.filter(t=>t!==e),b()}},togglePanelDisabled:(e,t)=>{let n=x.current.panels.find(t=>t.id===e);n&&(n.panelConstraints.disabled=t);let r=qi(_),i=Ji(_);r&&i&&Zi(r,{...i,derivedPanelConstraints:Mi(r)})},toggleSeparatorDisabled:(e,t)=>{let n=x.current.separators.find(t=>t.id===e);n&&(n.disabled=t)}}),[C,_,b,u,w]),E=(0,q.useRef)(null);return Y(()=>{let e=v.current;if(e===null)return;let t=x.current,n;if(w.defaultLayout!==void 0&&Object.keys(w.defaultLayout).length===t.panels.length){n={};for(let e of t.panels){let t=w.defaultLayout[e.id];t!==void 0&&(n[e.id]=t)}}let r={disabled:!!i,element:e,id:_,mutableState:{defaultLayout:n,disableCursor:!!w.disableCursor,expandedPanelSizes:x.current.lastExpandedPanelSizes,layouts:x.current.layouts},orientation:u,panels:t.panels,resizeTargetMinimumSize:t.resizeTargetMinimumSize,separators:t.separators};E.current=r;let a=to(r),{defaultLayoutDeferred:o,derivedPanelConstraints:s,layout:c}=Ji(r.id,!0);!o&&s.length>0&&(h(c),g(c));let l=Xi(_,e=>{let{defaultLayoutDeferred:t,derivedPanelConstraints:n,layout:i}=e.next;if(t||n.length===0)return;let a=r.panels.map(({id:e})=>e).join(`,`);r.mutableState.layouts[a]=i,n.forEach(t=>{if(t.collapsible){let{layout:n}=e.prev??{};if(n){let e=fa(t.collapsedSize,i[t.panelId]),a=fa(t.collapsedSize,n[t.panelId]);e&&!a&&(r.mutableState.expandedPanelSizes[t.panelId]=n[t.panelId])}}});let o=Ea().state!==`active`;h(i),o&&g(i)});return()=>{E.current=null,a(),l()}},[i,_,g,h,u,y,w]),(0,q.useEffect)(()=>{let e=E.current;e&&(e.mutableState.defaultLayout=n,e.mutableState.disableCursor=!!r)}),(0,J.jsx)(so.Provider,{value:T,children:(0,J.jsx)(`div`,{...p,className:t,"data-group":!0,"data-testid":_,id:_,ref:S,style:{height:`100%`,width:`100%`,overflow:`hidden`,...f,display:`flex`,flexDirection:u===`horizontal`?`row`:`column`,flexWrap:`nowrap`,touchAction:u===`horizontal`?`pan-y`:`pan-x`},children:e})})}lo.displayName=`Group`;function uo(){let e=(0,q.useContext)(so);return Ni(e,`Group Context not found; did you render a Panel or Separator outside of a Group?`),e}function fo(e,t){let{id:n}=uo(),r=(0,q.useRef)({collapse:Ma,expand:Ma,getSize:()=>({asPercentage:0,inPixels:0}),isCollapsed:()=>!1,resize:Ma});(0,q.useImperativeHandle)(t,()=>r.current,[]),Y(()=>{Object.assign(r.current,va({groupId:n,panelId:e}))})}function po({children:e,className:t,collapsedSize:n=`0%`,collapsible:r=!1,defaultSize:i,disabled:a,elementRef:o,groupResizeBehavior:s=`preserve-relative-size`,id:c,maxSize:l=`100%`,minSize:u=`0%`,onResize:d,panelRef:f,style:p,...m}){let h=!!c,g=ro(c),_=oo({disabled:a}),v=(0,q.useRef)(null),y=ao(v,o),{getPanelStyles:b,id:x,orientation:S,registerPanel:C,togglePanelDisabled:w}=uo(),T=d!==null,E=io((e,t,n)=>{d?.(e,c,n)});Y(()=>{let e=v.current;if(e!==null)return C({element:e,id:g,idIsStable:h,mutableValues:{expandToSize:void 0,prevSize:void 0},onResize:T?E:void 0,panelConstraints:{groupResizeBehavior:s,collapsedSize:n,collapsible:r,defaultSize:i,disabled:_.disabled,maxSize:l,minSize:u}})},[s,n,r,i,T,g,h,l,u,E,C,_]),(0,q.useEffect)(()=>{w(g,!!a)},[a,g,w]),fo(g,f);let D=(0,q.useSyncExternalStore)(e=>Xi(x,e),()=>JSON.stringify(b(x,g)),()=>JSON.stringify(b(x,g)));return(0,J.jsx)(`div`,{...m,"aria-disabled":a||void 0,"data-panel":!0,"data-testid":g,id:g,ref:y,style:{...mo,display:`flex`,flexBasis:0,flexShrink:1,overflow:`visible`,...JSON.parse(D)},children:(0,J.jsx)(`div`,{className:t,style:{maxHeight:`100%`,maxWidth:`100%`,flexGrow:1,overflow:`auto`,...p,touchAction:S===`horizontal`?`pan-y`:`pan-x`},children:e})})}po.displayName=`Panel`;var mo={minHeight:0,maxHeight:`100%`,height:`auto`,minWidth:0,maxWidth:`100%`,width:`auto`,border:`none`,borderWidth:0,padding:0,margin:0};function ho({layout:e,panelConstraints:t,panelId:n,panelIndex:r}){let i,a,o=e[n],s=t.find(e=>e.panelId===n);if(s){let c=s.maxSize,l=s.collapsible?s.collapsedSize:s.minSize,u=[r,r+1];a=_a({layout:ha({delta:l-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n],i=_a({layout:ha({delta:c-o,initialLayout:e,panelConstraints:t,pivotIndices:u,prevLayout:e}),panelConstraints:t})[n]}return{valueControls:n,valueMax:i,valueMin:a,valueNow:o}}function go({children:e,className:t,disabled:n,elementRef:r,id:i,style:a,...o}){let s=ro(i),c=oo({disabled:n}),[l,u]=(0,q.useState)({}),[d,f]=(0,q.useState)(`inactive`),p=(0,q.useRef)(null),m=ao(p,r),{disableCursor:h,id:g,orientation:_,registerSeparator:v,toggleSeparatorDisabled:y}=uo(),b=_===`horizontal`?`vertical`:`horizontal`;Y(()=>{let e=p.current;if(e!==null){let t={disabled:c.disabled,element:e,id:s},n=v(t),r=Da(e=>{f(e.next.state!==`inactive`&&e.next.hitRegions.some(e=>e.separator===t)?e.next.state:`inactive`)}),i=Xi(g,e=>{let{derivedPanelConstraints:n,layout:r,separatorToPanels:i}=e.next,a=i.get(t);if(a){let e=a[0],t=a.indexOf(e);u(ho({layout:r,panelConstraints:n,panelId:e.id,panelIndex:t}))}});return()=>{r(),i(),n()}}},[g,s,v,c]),(0,q.useEffect)(()=>{y(s,!!n)},[n,s,y]);let x;return n&&!h&&(x=`not-allowed`),(0,J.jsx)(`div`,{...o,"aria-controls":l.valueControls,"aria-disabled":n||void 0,"aria-orientation":b,"aria-valuemax":l.valueMax,"aria-valuemin":l.valueMin,"aria-valuenow":l.valueNow,children:e,className:t,"data-separator":n?`disabled`:d,"data-testid":s,id:s,ref:m,role:`separator`,style:{flexBasis:`auto`,cursor:x,...a,flexGrow:0,flexShrink:0,touchAction:`none`},tabIndex:n?void 0:0})}go.displayName=`Separator`;function _o(e){let[t,n]=(0,q.useState)(()=>typeof window<`u`?window.matchMedia(e).matches:!1);return(0,q.useEffect)(()=>{let t=window.matchMedia(e),r=e=>n(e.matches);return t.addEventListener(`change`,r),n(t.matches),()=>t.removeEventListener(`change`,r)},[e]),t}function vo(e){try{let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`just now`;if(r<60)return`${r}m ago`;let i=Math.floor(r/60);if(i<24)return`${i}h ago`;let a=Math.floor(i/24);return a<7?`${a}d ago`:t.toLocaleDateString(void 0,{month:`short`,day:`numeric`})}catch{return``}}function yo(e,t){let[n,r]=(0,q.useState)(e);return(0,q.useEffect)(()=>{let n=setTimeout(()=>r(e),t);return()=>clearTimeout(n)},[e,t]),n}function bo(e){let[t,n]=(0,q.useState)([]),[r,i]=(0,q.useState)({}),a=(0,q.useCallback)(async()=>{if(e)try{let t=await R.get(`${L(e)}/tags`);n(t.tags),i(t.counts)}catch{}},[e]);return(0,q.useEffect)(()=>{a()},[a]),{projectTags:t,tagCounts:r,loadTags:a}}function xo({projectTags:e,tagCounts:t,totalCount:n,selectedTagId:r,onSelect:i}){return e.length===0?null:(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1.5 overflow-x-auto scrollbar-none`,children:[(0,J.jsxs)(`button`,{onClick:()=>i(null),className:`shrink-0 rounded-md border px-2 py-1 text-[10px] transition-colors ${r===null?`bg-primary/20 border-primary text-primary`:`border-border bg-surface text-text-secondary hover:bg-surface-elevated`}`,children:[`All (`,n,`)`]}),e.map(e=>(0,J.jsxs)(`button`,{onClick:()=>i(r===e.id?null:e.id),className:`shrink-0 flex items-center gap-1 rounded-md border px-2 py-1 text-[10px] transition-colors ${r===e.id?`border-current`:`border-border bg-surface hover:bg-surface-elevated`}`,style:r===e.id?{backgroundColor:e.color+`20`,color:e.color,borderColor:e.color}:void 0,children:[(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,t[e.id]??0,`)`]},e.id))]})}var So={approval_request:`bg-error`,question:`bg-warning`,done:`bg-primary`},Co={done:0,question:1,approval_request:2};function wo(e){return e&&So[e]||`bg-error`}var To={approval_request:`bg-error/10`,question:`bg-warning/10`,done:`bg-primary/10`};function Eo(e){return e&&To[e]||`bg-error/10`}var Do=at()(e=>({notifications:new Map,addNotification:(t,n,r,i)=>{e(e=>{let a=new Map(e.notifications),o=a.get(t);return a.set(t,{count:(o?.count??0)+1,type:n,projectName:r,sessionTitle:i??o?.sessionTitle??null}),{notifications:a}})},markUnread:(t,n,r)=>{e(e=>{let i=new Map(e.notifications);return i.set(t,{count:1,type:`done`,projectName:n,sessionTitle:r??i.get(t)?.sessionTitle??null,manual:!0}),{notifications:i}}),R.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/unread`,{projectName:n}).catch(()=>{})},clearForSession:t=>{let n=Do.getState().notifications.get(t)?.projectName;e(e=>{if(!e.notifications.has(t))return e;let n=new Map(e.notifications);return n.delete(t),{notifications:n}}),n&&R.post(`/api/project/${encodeURIComponent(n)}/chat/sessions/${encodeURIComponent(t)}/read`).catch(()=>{})},clearAll:()=>e({notifications:new Map}),loadFromServer:async t=>{try{let n=await R.get(`/api/project/${encodeURIComponent(t)}/chat/sessions/unread`);e(()=>{let e=new Map;for(let t of n)t.unreadCount>0&&e.set(t.sessionId,{count:t.unreadCount,type:t.unreadType||`done`,projectName:t.projectName||``,sessionTitle:t.sessionTitle??null});return{notifications:e}})}catch{}},handleUnreadChanged:(t,n,r,i,a,o)=>{e(e=>{let s=new Map(e.notifications);if(n===0)s.delete(t);else{let e=s.get(t);s.set(t,{count:n>0?n:(e?.count??0)+1,type:r||`done`,projectName:i||e?.projectName||``,sessionTitle:a??e?.sessionTitle??null,manual:o??e?.manual})}return{notifications:s}})}}));function Oo(e){return e.notifications.size}function ko(e){return t=>{if(!e)return 0;let n=0;for(let[,r]of t.notifications)r.projectName===e&&n++;return n}}function Ao(e){return t=>{let n=null,r=-1;for(let[,i]of t.notifications){if(i.projectName!==e)continue;let t=Co[i.type]??0;t>r&&(r=t,n=i.type)}return n}}function jo({session:e,projectName:t,projectTags:n,children:r,onTogglePin:i,onStartEditing:a,onDeleteSession:o,onTagChanged:s}){let c=Do(e=>e.markUnread),l=Do(t=>t.notifications.has(e.id)),u=(0,q.useCallback)(async r=>{try{if(r){await R.patch(`${L(t)}/chat/sessions/${e.id}/tag`,{tagId:r});let i=n.find(e=>e.id===r);i&&s(e.id,{id:i.id,name:i.name,color:i.color})}else await R.del(`${L(t)}/chat/sessions/${e.id}/tag`),s(e.id,null)}catch{}},[e.id,t,n,s]);return(0,J.jsxs)(He,{children:[(0,J.jsx)(Ue,{asChild:!0,children:r}),(0,J.jsxs)(Re,{children:[(0,J.jsxs)(Be,{onClick:t=>i(t,e),children:[e.pinned?(0,J.jsx)(Ar,{className:`size-3.5 mr-2`}):(0,J.jsx)(jr,{className:`size-3.5 mr-2`}),e.pinned?`Unpin`:`Pin`]}),!l&&(0,J.jsxs)(Be,{onClick:()=>c(e.id,t,e.title),children:[(0,J.jsx)(Ke,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),a&&(0,J.jsxs)(Be,{onClick:t=>a(e,t),children:[(0,J.jsx)(kr,{className:`size-3.5 mr-2`}),`Rename`]}),n.length>0&&(0,J.jsxs)(Ve,{children:[(0,J.jsxs)(Le,{children:[(0,J.jsx)(ri,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,J.jsxs)(Pe,{children:[n.map(t=>(0,J.jsxs)(Be,{onClick:()=>u(t.id),children:[(0,J.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:t.color}}),t.name,e.tag?.id===t.id&&(0,J.jsx)(Fe,{className:`size-3 ml-auto`})]},t.id)),e.tag&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>u(null),children:`Remove tag`})]})]})]}),o&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ze,{}),(0,J.jsxs)(Be,{className:`text-error focus:text-error`,onClick:t=>o(t,e),children:[(0,J.jsx)(si,{className:`size-3.5 mr-2`}),`Delete`]})]})]})]})}var Mo=5,No=20;function Po({projectName:e,onSelectSession:t,className:n}){let[r,i]=(0,q.useState)([]),[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(``),d=yo(l,300),[f,p]=(0,q.useState)(null),{projectTags:m,tagCounts:h,loadTags:g}=bo(e),_=(0,q.useCallback)(async t=>{if(e){o(!0);try{let n=new URLSearchParams({limit:String(No)});t&&n.set(`q`,t),i((await R.get(`${L(e)}/chat/sessions?${n}`)).sessions.slice(0,No))}catch{}finally{o(!1)}}},[e]);(0,q.useEffect)(()=>{_()},[_]),(0,q.useEffect)(()=>{_(d||void 0)},[d]);let v=(0,q.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${L(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await R.del(r):await R.put(r),i(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort((e,t)=>e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()))}catch{}},[e]),y=(0,q.useCallback)((e,t)=>{i(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),g()},[g]),b=f===null?r:r.filter(e=>e.tag?.id===f),x=b.filter(e=>e.pinned),S=b.filter(e=>!e.pinned),C=s?S:S.slice(0,Mo),w=S.length>Mo;return a||!e||r.length===0?null:(0,J.jsxs)(`div`,{className:n,children:[(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(Wr,{className:`absolute left-2.5 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,J.jsx)(`input`,{type:`text`,value:l,onChange:e=>u(e.target.value),placeholder:`Search chats...`,className:`w-full pl-8 pr-8 py-1.5 text-xs rounded-md border border-border bg-surface text-text-primary placeholder:text-text-subtle focus:outline-none focus:ring-1 focus:ring-primary/50`}),l&&(0,J.jsx)(`button`,{onClick:()=>u(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-text-subtle hover:text-text-primary`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}),(0,J.jsx)(`div`,{className:`mt-3`,children:(0,J.jsx)(xo,{projectTags:m,tagCounts:h,totalCount:r.length,selectedTagId:f,onSelect:p})}),x.length>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Pinned`}),(0,J.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:x.map(n=>(0,J.jsx)(Fo,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))})]}),C.length>0&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2 w-full mt-4`,children:[(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Recent chats`}),(0,J.jsx)(`div`,{className:`w-full rounded-md border border-border bg-surface overflow-hidden`,children:C.map(n=>(0,J.jsx)(Fo,{session:n,projectName:e,projectTags:m,onSelect:t,onTogglePin:v,onTagChanged:y},n.id))}),w&&(0,J.jsxs)(`button`,{onClick:()=>c(!s),className:`flex items-center justify-center gap-1 text-[11px] text-text-subtle hover:text-text-primary transition-colors py-1`,children:[s?(0,J.jsx)(cn,{className:`size-3`}):(0,J.jsx)(on,{className:`size-3`}),s?`Show less`:`Show more (${S.length-Mo})`]})]})]})}function Fo({session:e,projectName:t,projectTags:n,onSelect:r,onTogglePin:i,onTagChanged:a}){let o=Do(t=>t.notifications.get(e.id));return(0,J.jsx)(jo,{session:e,projectName:t,projectTags:n,onTogglePin:i,onTagChanged:a,children:(0,J.jsxs)(`button`,{onClick:()=>r(e),className:H(`group flex items-center gap-2.5 w-full px-3 py-2.5 text-left hover:bg-surface-elevated active:bg-surface-elevated transition-colors border-b border-border/50 last:border-0`,o&&Eo(o.type)),children:[(0,J.jsx)(gr,{className:`size-3.5 shrink-0 text-text-subtle`}),e.tag&&(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.tag.color},title:e.tag.name}),(0,J.jsx)(`span`,{className:H(`flex-1 min-w-0 text-xs truncate`,o?`font-semibold text-foreground`:`font-medium text-text-primary`),children:e.title||`Untitled`}),e.updatedAt&&(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0`,children:vo(e.updatedAt)}),(0,J.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>i(t,e),className:`p-1 rounded transition-colors shrink-0 ${e.pinned?`text-primary hover:text-primary/70`:`text-text-subtle can-hover:opacity-0 can-hover:group-hover:opacity-100 hover:text-text-primary`}`,"aria-label":e.pinned?`Unpin session`:`Pin session`,children:e.pinned?(0,J.jsx)(Ar,{className:`size-3`}):(0,J.jsx)(jr,{className:`size-3`})})]})})}function Io(e,t){return e.map(e=>({name:e.name,path:t?`${t}/${e.name}`:e.name,type:e.type,ignored:e.isIgnored}))}function Lo(e,t,n){return t?e.map(e=>Ro(e,t,n)):n.map(t=>{let n=e.find(e=>e.path===t.path);return n?{...t,children:n.children}:t})}function Ro(e,t,n){if(e.path===t){let t=n.map(t=>{let n=e.children?.find(e=>e.path===t.path);return n?{...t,children:n.children}:t});return{...e,children:t}}return e.children&&t.startsWith(e.path+`/`)?{...e,children:e.children.map(e=>Ro(e,t,n))}:e}var zo=20,Bo=3,Vo=[],Ho=0,Uo=0,Wo=null,Go=typeof requestIdleCallback==`function`?e=>requestIdleCallback(()=>e(),{timeout:1e3}):e=>setTimeout(e,200);function Ko(e){if(e===Uo)for(;Ho<Bo&&Vo.length>0;){let t=Vo.shift();Ho++,Wo(t).finally(()=>{Ho--,e===Uo&&Go(()=>Ko(e))})}}function qo(e,t,n){Wo=n;let r=e.filter(e=>e.type===`directory`&&!e.ignored&&!t(e.path)).slice(0,zo).map(e=>e.path);if(r.length===0)return;Vo.push(...r.filter(e=>!Vo.includes(e)));let i=Uo;Go(()=>Ko(i))}function Jo(){Uo++,Vo=[]}function Yo(e){return[...e].sort((e,t)=>e.type===t.type?e.name.localeCompare(t.name):e.type===`directory`?-1:1)}function Xo(e,t){let n=e,r=e.name;if(e.type===`directory`&&t.has(e.path)&&e.children)for(;n.children&&n.children.length===1&&n.children[0].type===`directory`&&t.has(n.children[0].path);)n=n.children[0],r+=`/${n.name}`;return{effective:n,displayName:r}}function Zo(e,t,n=null){let r=[],i=n!=null&&n.type!==`rename`,a=n?.type===`rename`?n.existingNode?.path:void 0;i&&n.parentPath===``&&r.push({kind:`input`,inline:n,depth:0,targetPath:``});function o(e,s){for(let c of Yo(e)){let{effective:e,displayName:l}=Xo(c,t);a!=null&&a===c.path?r.push({kind:`input`,inline:n,depth:s,targetPath:c.path}):r.push({kind:`node`,node:c,effectiveNode:e,displayName:l,depth:s});let u=e.type===`directory`&&t.has(e.path);i&&u&&(n.parentPath===c.path||n.parentPath===e.path)&&r.push({kind:`input`,inline:n,depth:s+1,targetPath:e.path}),u&&e.children&&o(e.children,s+1)}}return o(e,0),r}function Qo(e,t){return Zo(e,t).filter(e=>e.kind===`node`).map(e=>e.effectiveNode)}function $o(e,t){if(!t)return e;let n=e.includes(`\\`)?`\\`:`/`,r=n===`\\`?t.replace(/\//g,`\\`):t;return e.endsWith(n)?`${e}${r}`:`${e}${n}${r}`}function es(e,t){let n=e=>e.replace(/\\/g,`/`).replace(/\/+$/,``),r=n(e),i=n(t);return i===r?``:i.startsWith(`${r}/`)?i.slice(r.length+1):null}function ts(e,t){let n=e;for(;;){let e=n.find(e=>e.path===t||t.startsWith(`${e.path}/`));if(!e)return;if(e.path===t)return e;n=e.children??[]}}function ns(e,t,n){qo(n,t=>e().loadedPaths.has(t)||e().inflight.has(t),n=>e().loadChildren(t,n,{prefetch:!0}))}var rs=at((e,t)=>({tree:[],fileIndex:[],loading:!1,error:null,expandedPaths:new Set,loadedPaths:new Set,inflight:new Map,indexStatus:`idle`,selectedFiles:[],inlineAction:null,clipboard:null,focusedPath:null,setInlineAction:t=>e({inlineAction:t}),clearInlineAction:()=>e({inlineAction:null}),setClipboard:t=>e({clipboard:t}),setFocusedPath:t=>e({focusedPath:t}),loadRoot:async n=>{e({loading:!0,error:null});try{let r=Io(await R.get(`${L(n)}/files/list?path=`),``),i=new Set(t().loadedPaths);i.add(``),e({tree:r,loading:!1,loadedPaths:i}),ns(t,n,r)}catch(t){e({error:t instanceof Error?t.message:`Failed to load files`,loading:!1})}},loadChildren:async(n,r,i)=>{let a=t();if(a.loadedPaths.has(r)||i?.prefetch&&a.inflight.has(r))return;let o=a.inflight.get(r);o&&o.abort();let s=new AbortController,c=new Map(a.inflight);c.set(r,s),e({inflight:c});try{let a=encodeURIComponent(r),o=await R.get(`${L(n)}/files/list?path=${a}`,{signal:s.signal});if(s.signal.aborted)return;let c=Io(o,r),l=t(),u=Lo(l.tree,r,c),d=new Set(l.loadedPaths);d.add(r);let f=new Map(l.inflight);f.delete(r),e({tree:u,loadedPaths:d,inflight:f}),i?.prefetch||ns(t,n,c)}catch(n){if(n instanceof Error&&n.name===`AbortError`)return;let i=new Map(t().inflight);i.delete(r),e({inflight:i})}},loadPathsBatch:async(n,r)=>{let i=t(),a=[...new Set(r)].filter(e=>!i.loadedPaths.has(e));if(a.length!==0){i.tree.length===0&&e({loading:!0,error:null});try{let r=await R.post(`${L(n)}/files/list-batch`,{paths:a}),i=t(),o=i.tree,s=new Set(i.loadedPaths),c=new Set(i.expandedPaths),l=[...r].sort((e,t)=>e.path.split(`/`).length-t.path.split(`/`).length);for(let e of l){if(e.error!=null||!e.entries){c.delete(e.path);continue}let t=Io(e.entries,e.path);o=e.path===``?t:Lo(o,e.path,t),s.add(e.path)}e({tree:o,loadedPaths:s,expandedPaths:c,loading:!1}),ns(t,n,o)}catch(n){e({error:t().tree.length===0?n instanceof Error?n.message:`Failed to load files`:null,loading:!1})}}},loadIndex:async t=>{e({indexStatus:`loading`});try{e({fileIndex:await R.get(`${L(t)}/files/index`),indexStatus:`ready`})}catch{e({indexStatus:`error`})}},invalidateIndex:()=>{e({indexStatus:`idle`,fileIndex:[]})},invalidateFolder:async(n,r)=>{let i=t();if(!i.loadedPaths.has(r))return;let a=new Set(i.loadedPaths);a.delete(r),e({loadedPaths:a}),(!r||i.expandedPaths.has(r))&&await t().loadChildren(n,r)},toggleExpand:(n,r)=>{let i=t(),a=new Set(i.expandedPaths);if(a.has(r))a.delete(r),e({expandedPaths:a});else if(a.add(r),e({expandedPaths:a}),!i.loadedPaths.has(r))t().loadChildren(n,r);else{let e=ts(t().tree,r);e?.children&&ns(t,n,e.children)}},setExpanded:(n,r)=>{let i=new Set(t().expandedPaths);r?i.add(n):i.delete(n),e({expandedPaths:i})},collapseAll:()=>{e({expandedPaths:new Set})},toggleFileSelect:n=>{let r=t().selectedFiles;r.indexOf(n)>=0?e({selectedFiles:r.filter(e=>e!==n)}):e({selectedFiles:[...r,n]})},setSelectedFiles:t=>e({selectedFiles:t}),clearSelection:()=>e({selectedFiles:[]}),reset:()=>{Jo();for(let e of t().inflight.values())e.abort();e({tree:[],fileIndex:[],loading:!1,error:null,expandedPaths:new Set,loadedPaths:new Set,inflight:new Map,indexStatus:`idle`,selectedFiles:[],inlineAction:null,clipboard:null,focusedPath:null})},fetchTree:async e=>{await t().loadRoot(e),t().loadIndex(e)}})),is=`ppm-explorer-expanded:`;function as(e){try{let t=localStorage.getItem(is+e),n=t?JSON.parse(t):[];return Array.isArray(n)?n.filter(e=>typeof e==`string`):[]}catch{return[]}}function os(e,t){try{let n=[...t].filter(e=>e!==``).slice(0,50);localStorage.setItem(is+e,JSON.stringify(n))}catch{}}function ss(){let{tree:e,expandedPaths:t}=rs.getState();return Qo(e,t).map(e=>e.path)}function cs(e,t){let n;try{n=e()}catch{return}return{getItem:e=>{let r=e=>e===null?null:JSON.parse(e,t?.reviver),i=n.getItem(e)??null;return i instanceof Promise?i.then(r):r(i)},setItem:(e,r)=>n.setItem(e,JSON.stringify(r,t?.replacer)),removeItem:e=>n.removeItem(e)}}var ls=e=>t=>{try{let n=e(t);return n instanceof Promise?n:{then(e){return ls(e)(n)},catch(e){return this}}}catch(e){return{then(e){return this},catch(t){return ls(t)(e)}}}},us=(e,t)=>(n,r,i)=>{let a={storage:cs(()=>window.localStorage),partialize:e=>e,version:0,merge:(e,t)=>({...t,...e}),...t},o=!1,s=0,c=new Set,l=new Set,u=a.storage;if(!u)return e((...e)=>{console.warn(`[zustand persist middleware] Unable to update item '${a.name}', the given storage is currently unavailable.`),n(...e)},r,i);let d=()=>{let e=a.partialize({...r()});return u.setItem(a.name,{state:e,version:a.version})},f=i.setState;i.setState=(e,t)=>(f(e,t),d());let p=e((...e)=>(n(...e),d()),r,i);i.getInitialState=()=>p;let m,h=()=>{if(!u)return;let e=++s;o=!1,c.forEach(e=>e(r()??p));let t=a.onRehydrateStorage?.call(a,r()??p)||void 0;return ls(u.getItem.bind(u))(a.name).then(e=>{if(e)if(typeof e.version==`number`&&e.version!==a.version){if(a.migrate){let t=a.migrate(e.state,e.version);return t instanceof Promise?t.then(e=>[!0,e]):[!0,t]}console.error(`State loaded from storage couldn't be migrated since no migrate function was provided`)}else return[!1,e.state];return[!1,void 0]}).then(t=>{if(e!==s)return;let[i,o]=t;if(m=a.merge(o,r()??p),n(m,!0),i)return d()}).then(()=>{e===s&&(t?.(m,void 0),m=r(),o=!0,l.forEach(e=>e(m)))}).catch(n=>{e===s&&t?.(void 0,n)})};return i.persist={setOptions:e=>{a={...a,...e},e.storage&&(u=e.storage)},clearStorage:()=>{u?.removeItem(a.name)},getOptions:()=>a,rehydrate:()=>h(),hasHydrated:()=>o,onHydrate:e=>(c.add(e),()=>{c.delete(e)}),onFinishHydration:e=>(l.add(e),()=>{l.delete(e)})},a.skipHydration||h(),m||p},ds=5e5,fs=at()(us(e=>({selection:null,setSelection:t=>e({selection:t}),clearSelection:()=>e({selection:null})}),{name:`ppm:compare-selection`,partialize:e=>{if(!e.selection)return{selection:null};let t=e.selection;if(t.dirtyContent&&t.dirtyContent.length>ds){let{dirtyContent:e,...n}=t;return{selection:n}}return{selection:t}}})),ps=null;W.subscribe(e=>{let t=e.activeProject?.name??null;ps!==null&&ps!==t&&fs.getState().clearSelection(),ps=t});async function ms(e,t,n){let r=`${st(e.path)} ↔ ${st(t.path)}`,i=e.dirtyContent!==void 0,a=t.dirtyContent!==void 0,o;if(i||a){let[r,i]=await Promise.all([hs(e,n),hs(t,n)]);o={projectName:n,original:r,modified:i,file1:e.path,file2:t.path}}else o={projectName:n,file1:e.path,file2:t.path};return G.getState().openTab({type:`git-diff`,title:r,projectId:n,metadata:o,closable:!0})}async function hs(e,t){if(e.dirtyContent!==void 0)return e.dirtyContent;try{let{content:n}=await R.get(`${L(t)}/files/read?path=${encodeURIComponent(e.path)}`);return n}catch(t){let n=t instanceof Error?t.message:String(t);throw Error(`Failed to read "${e.path}": ${n}`)}}var gs=`application/ppm-tab`,_s=!1,vs=new Set;function ys(e){_s!==e&&(_s=e,vs.forEach(e=>e()))}function bs(){return(0,q.useSyncExternalStore)(e=>(vs.add(e),()=>vs.delete(e)),()=>_s)}function xs(){ys(!1)}function Ss(e){let[t,n]=(0,q.useState)(null),r=(0,q.useRef)(null);return{dropIndex:t,handleDragStart:(0,q.useCallback)((t,n)=>{let r={tabId:n,panelId:e};t.dataTransfer.setData(gs,JSON.stringify(r)),t.dataTransfer.effectAllowed=`move`,requestAnimationFrame(()=>ys(!0))},[e]),handleDragOver:(0,q.useCallback)((e,t,i)=>{if(!e.dataTransfer.types.includes(`application/ppm-tab`)||(e.preventDefault(),e.dataTransfer.dropEffect=`move`,r.current===t))return;r.current=t;let a=e.currentTarget.getBoundingClientRect(),o=a.left+a.width/2;n(e.clientX<o?i:i+1)},[]),handleDragOverBar:(0,q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.dataTransfer.dropEffect=`move`)},[]),handleDrop:(0,q.useCallback)(i=>{i.preventDefault(),ys(!1);let a=i.dataTransfer.getData(gs);if(a){try{let n=JSON.parse(a),r=U.getState();n.panelId===e?t!==null&&r.reorderTab(n.tabId,e,t):r.moveTab(n.tabId,n.panelId,e,t??void 0)}catch{}n(null),r.current=null}},[e,t]),handleDragEnd:(0,q.useCallback)(()=>{ys(!1),n(null),r.current=null},[])}}var Cs=null,ws=null,Ts=0,Es=new Set;function Ds(){Es.forEach(e=>e())}function Os(){return(0,q.useSyncExternalStore)(e=>(Es.add(e),()=>Es.delete(e)),()=>ws)}function ks(){return Date.now()-Ts<300}var As=null;function js(e,t,n){let r=document.createElement(`div`);r.id=`touch-drag-ghost`,Object.assign(r.style,{position:`fixed`,zIndex:`9999`,pointerEvents:`none`,padding:`6px 14px`,borderRadius:`8px`,background:`rgba(30,30,30,0.92)`,color:`#fff`,fontSize:`12px`,whiteSpace:`nowrap`,opacity:`0.95`,boxShadow:`0 4px 16px rgba(0,0,0,0.35)`,transform:`translate(-50%, -130%)`,left:`${t}px`,top:`${n}px`}),r.textContent=e,document.body.appendChild(r),As=r}function Ms(e,t){As&&(As.style.left=`${e}px`,As.style.top=`${t}px`)}function Ns(){As?.remove(),As=null}function Ps(e,t){As&&(As.style.display=`none`);let n=document.elementFromPoint(e,t);As&&(As.style.display=``);let r=n?.closest(`[data-panel-drop-zone]`);if(!r)return null;let i=r.dataset.panelDropZone,a=r.getBoundingClientRect(),o=(e-a.left)/a.width,s=(t-a.top)/a.height,c=.25,{grid:l}=U.getState(),u=window.innerWidth<768,d=lt(l,i),f=d?!u&&(l[d.row]?.length??0)<pt(!1):!1,p=!u&&l.length<3,m=`center`;return o<c&&f?m=`left`:o>1-c&&f?m=`right`:s<c&&p?m=`top`:s>1-c&&p&&(m=`bottom`),{panelId:i,zone:m}}function Fs(e){if(!Cs)return;e.preventDefault();let t=e.touches[0];if(!t)return;Ms(t.clientX,t.clientY);let n=Ps(t.clientX,t.clientY);(n?.panelId!==ws?.panelId||n?.zone!==ws?.zone)&&(ws=n,Ds())}function Is(){Cs=null,ws=null,Ds(),Ns(),xs(),document.removeEventListener(`touchmove`,Fs),document.removeEventListener(`touchend`,Ls),document.removeEventListener(`touchcancel`,Rs)}function Ls(){let e=Cs,t=ws;if(Is(),Ts=Date.now(),!e||!t)return;let n=U.getState();if(t.zone===`center`)e.panelId!==t.panelId&&n.moveTab(e.tabId,e.panelId,t.panelId);else{let r=t.zone===`top`?`up`:t.zone===`bottom`?`down`:t.zone;n.splitPanel(r,e.tabId,e.panelId,t.panelId)}}function Rs(){Is(),Ts=Date.now()}function zs(e,t,n,r){Cs=e,ys(!0),js(t,n,r),document.addEventListener(`touchmove`,Fs,{passive:!1}),document.addEventListener(`touchend`,Ls),document.addEventListener(`touchcancel`,Rs)}var Bs=200,Vs=10;function Hs(e){let t=(0,q.useRef)(null),n=(0,q.useRef)(null),r=(0,q.useRef)(!1);return{handleTouchStart:(0,q.useCallback)((i,a,o)=>{let s=i.touches[0];s&&(n.current={x:s.clientX,y:s.clientY},r.current=!1,t.current=setTimeout(()=>{r.current=!0,zs({tabId:a,panelId:e},o,n.current.x,n.current.y)},Bs))},[e]),handleTouchMove:(0,q.useCallback)(e=>{if(r.current||!n.current||!t.current)return;let i=e.touches[0];i&&(Math.abs(i.clientX-n.current.x)>Vs||Math.abs(i.clientY-n.current.y)>Vs)&&(clearTimeout(t.current),t.current=null)},[]),handleTouchEnd:(0,q.useCallback)(()=>{t.current&&=(clearTimeout(t.current),null)},[])}}var Us=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),Ws=[{id:`command-palette`,label:`Command Palette`,category:`general`,defaultKey:`F1`,note:`Shift+Shift also opens (not customizable)`},{id:`toggle-sidebar`,label:`Toggle Sidebar`,category:`general`,defaultKey:`Mod+B`},{id:`toggle-dock`,label:`Toggle Terminal Panel`,category:`general`,defaultKey:`Mod+'`,note:`Opens/closes the terminal panel; auto-opens a terminal when empty. Fires even when a terminal is focused.`},{id:`save-prevent`,label:`Prevent Save Dialog`,category:`general`,defaultKey:`Mod+S`,locked:!0,note:`Always active — prevents browser save`},{id:`next-tab`,label:`Next Tab`,category:`tabs`,defaultKey:`Alt+]`},{id:`prev-tab`,label:`Previous Tab`,category:`tabs`,defaultKey:`Alt+[`},{id:`new-file`,label:`New File`,category:`tabs`,defaultKey:`Mod+N`},{id:`open-chat`,label:`Open Chat`,category:`tabs`,defaultKey:`Mod+L`},{id:`open-terminal`,label:`Open Terminal Tab`,category:`tabs`,defaultKey:``,note:`No default shortcut — Mod+' now toggles the terminal panel; still available via the command palette`},{id:`open-settings`,label:`Open Settings`,category:`tabs`,defaultKey:`Mod+,`},{id:`open-git-status`,label:`Git Status (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+E`},{id:`open-search`,label:`Search Files (sidebar)`,category:`tabs`,defaultKey:`Mod+Shift+F`},{id:`voice-input`,label:`Voice Input`,category:`general`,defaultKey:`Mod+Shift+V`,note:`Toggle speech-to-text in chat`},{id:`chat-nav-prev`,label:`Previous Chat Message`,category:`general`,defaultKey:`Alt+ArrowUp`,note:`Jump to your previous message in the visible chat transcript`},{id:`chat-nav-next`,label:`Next Chat Message`,category:`general`,defaultKey:`Alt+ArrowDown`,note:`Jump to your next message in the visible chat transcript`},{id:`compare-files`,label:`Compare Files...`,category:`general`,defaultKey:`Mod+Alt+D`,note:`Open file-compare picker (seeds active file as A)`},...Array.from({length:9},(e,t)=>({id:`switch-project-${t+1}`,label:`Switch to Project ${t+1}`,category:`projects`,defaultKey:`Mod+${t+1}`}))],Gs=new Map(Ws.map(e=>[e.id,e.defaultKey]));function Ks(e){let t=e.split(`+`),n={ctrl:!1,meta:!1,alt:!1,shift:!1,key:``};for(let e of t){let t=e.trim();switch(t){case`Mod`:Us?n.meta=!0:n.ctrl=!0;break;case`Ctrl`:n.ctrl=!0;break;case`Meta`:case`Cmd`:n.meta=!0;break;case`Alt`:n.alt=!0;break;case`Shift`:n.shift=!0;break;default:n.key=t.toLowerCase();break}}return n}function qs(e,t){return e.ctrlKey!==t.ctrl||e.metaKey!==t.meta||e.altKey!==t.alt||e.shiftKey!==t.shift?!1:e.key.toLowerCase()===t.key}function Js(e){return e.replace(/Mod/g,Us?`⌘`:`Ctrl`).replace(/Shift/g,Us?`⇧`:`Shift`).replace(/Alt/g,Us?`⌥`:`Alt`).replace(/Meta|Cmd/g,`⌘`).replace(/Ctrl/g,Us?`⌃`:`Ctrl`)}function Ys(e){if([`Control`,`Meta`,`Alt`,`Shift`].includes(e.key))return null;let t=[];e.ctrlKey&&!e.metaKey&&t.push(Us?`Ctrl`:`Mod`),e.metaKey&&t.push(Us?`Mod`:`Meta`),e.altKey&&t.push(`Alt`),e.shiftKey&&t.push(`Shift`);let n=e.key;return n===` `?n=`Space`:n.length===1&&(n=n.toUpperCase()),t.push(n),t.join(`+`)}function Xs(e){let t=new Map;for(let n of Ws){let r=e[n.id]??n.defaultKey;r&&t.set(n.id,Ks(r))}return t}var Zs=Xs({}),Qs=at((e,t)=>({overrides:{},parsedCache:Zs,loaded:!1,getBinding:e=>t().overrides[e]??Gs.get(e)??``,matchesEvent:(e,n)=>{let r=t().parsedCache.get(n);return r?qs(e,r):!1},setBinding:(n,r)=>{let i={...t().overrides,[n]:r};e({overrides:i,parsedCache:Xs(i)}),R.put(`/api/settings/keybindings`,{[n]:r}).catch(()=>{})},resetBinding:n=>{let r={...t().overrides};delete r[n],e({overrides:r,parsedCache:Xs(r)}),R.put(`/api/settings/keybindings`,{[n]:null}).catch(()=>{})},resetAll:()=>{let n={};for(let e of Object.keys(t().overrides))n[e]=null;e({overrides:{},parsedCache:Xs({})}),Object.keys(n).length>0&&R.put(`/api/settings/keybindings`,n).catch(()=>{})},loadFromServer:async()=>{try{let t=await R.get(`/api/settings/keybindings`);e({overrides:t,parsedCache:Xs(t),loaded:!0})}catch{e({loaded:!0})}}})),$s=at((e,t)=>({statusBarItems:[],addStatusBarItem:t=>e(e=>({statusBarItems:[...e.statusBarItems.filter(e=>e.id!==t.id),t]})),removeStatusBarItem:t=>e(e=>({statusBarItems:e.statusBarItems.filter(e=>e.id!==t)})),updateStatusBarItem:(t,n)=>e(e=>({statusBarItems:e.statusBarItems.map(e=>e.id===t?{...e,...n}:e)})),treeViews:{},updateTree:(t,n)=>e(e=>({treeViews:{...e.treeViews,[t]:n}})),updateTreeChildren:(t,n,r)=>e(e=>{let i=e.treeViews[t];if(!i)return e;let a=e=>e.map(e=>e.id===n?{...e,children:r,collapsibleState:`expanded`}:e.children?{...e,children:a(e.children)}:e);return{treeViews:{...e.treeViews,[t]:a(i)}}}),removeTree:t=>e(e=>{let{[t]:n,...r}=e.treeViews;return{treeViews:r}}),webviewPanels:{},addWebviewPanel:t=>e(e=>({webviewPanels:{...e.webviewPanels,[t.id]:t}})),removeWebviewPanel:t=>e(e=>{let{[t]:n,...r}=e.webviewPanels;return{webviewPanels:r}}),updateWebviewPanel:(t,n)=>e(e=>{let r=e.webviewPanels[t];return r?{webviewPanels:{...e.webviewPanels,[t]:{...r,...n}}}:e}),contributions:null,setContributions:t=>e({contributions:t}),activationErrors:{},setActivationErrors:t=>e({activationErrors:t}),quickPick:null,showQuickPick:(n,r={})=>{let i=t().quickPick;return i&&i.resolve(void 0),new Promise(t=>{e({quickPick:{items:n,options:r,resolve:t}})})},resolveQuickPick:n=>{let r=t().quickPick;r&&(r.resolve(n),e({quickPick:null}))},inputBox:null,showInputBox:(n={})=>{let r=t().inputBox;return r&&r.resolve(void 0),new Promise(t=>{e({inputBox:{options:n,resolve:t}})})},resolveInputBox:n=>{let r=t().inputBox;r&&(r.resolve(n),e({inputBox:null}))},clearExtension:t=>e(e=>{let n={...e.webviewPanels};for(let[e,r]of Object.entries(n))r.extensionId===t&&delete n[e];return{statusBarItems:e.statusBarItems.filter(e=>e.extensionId!==t),webviewPanels:n}})}));function ec(e){window.dispatchEvent(new CustomEvent(`open-command-palette`,{detail:e}))}function tc(){let[e,t]=(0,q.useState)(!1),[n,r]=(0,q.useState)(``);return(0,q.useEffect)(()=>{let e=0,n=!1,{matchesEvent:i}=Qs.getState(),a=new Map,o=!1;function s(){o=!0}function c(){o=!1}function l(e,t){let n=t(e,`chat-nav-prev`)?`prev`:t(e,`chat-nav-next`)?`next`:null;return n?(e.preventDefault(),window.dispatchEvent(new CustomEvent(`chat-nav-${n}`)),!0):!1}function u(i){if(i.type===`keydown`&&i.key===`Shift`){n=!0;return}if(i.type===`keydown`&&i.shiftKey&&(n=!1),i.type===`keydown`&&i.key!==`Shift`&&(e=0),i.type===`keyup`&&i.key===`Shift`&&n&&!i.ctrlKey&&!i.metaKey&&!i.altKey&&!o&&!i.isComposing){let n=Date.now();if(n-e<400){e=0,r(``),t(!0);return}e=n;return}if(i.type!==`keydown`||o||i.isComposing)return;let s=i.target?.tagName;if(s===`TEXTAREA`||s===`INPUT`||i.target?.isContentEditable){let{matchesEvent:e}=Qs.getState();e(i,`save-prevent`)&&i.preventDefault(),e(i,`toggle-dock`)&&(i.preventDefault(),U.getState().toggleDock()),l(i,e);return}let{matchesEvent:c}=Qs.getState();if(c(i,`save-prevent`)){i.preventDefault();return}if(c(i,`command-palette`)){i.preventDefault(),r(``),t(!0);return}if(c(i,`toggle-sidebar`)){i.preventDefault(),V.getState().toggleSidebar();return}if(c(i,`toggle-dock`)){i.preventDefault(),U.getState().toggleDock();return}if(c(i,`next-tab`)||c(i,`prev-tab`)){i.preventDefault();let{tabs:e,activeTabId:t,setActiveTab:n}=G.getState();if(e.length<2)return;let r=e.findIndex(e=>e.id===t);n(e[c(i,`next-tab`)?(r+1)%e.length:(r-1+e.length)%e.length].id);return}if(c(i,`new-file`)){i.preventDefault(),G.getState().openNewFile();return}for(let e of[{action:`open-chat`,type:`chat`,title:`AI Chat`},{action:`open-terminal`,type:`terminal`,title:`Terminal`}])if(c(i,e.action)){i.preventDefault();let t=W.getState().activeProject;G.getState().openTab({type:e.type,title:e.title,projectId:t?.name??null,metadata:t?{projectName:t.name}:void 0,closable:!0});return}if(c(i,`open-settings`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`settings`);return}if(c(i,`open-git-status`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`git`);return}if(c(i,`voice-input`)){i.preventDefault(),window.dispatchEvent(new CustomEvent(`toggle-voice-input`));return}if(l(i,c))return;if(c(i,`compare-files`)){i.preventDefault();let{activeTabId:e,tabs:t}=G.getState(),n=t.find(t=>t.id===e),r=n?.metadata;n?.type===`editor`&&r?.filePath&&r?.projectName&&fs.getState().setSelection({filePath:r.filePath,projectName:r.projectName,dirtyContent:r.unsavedContent,label:st(r.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`));return}if(c(i,`open-search`)){i.preventDefault();let e=V.getState();e.sidebarCollapsed&&e.toggleSidebar(),e.setSidebarActiveTab(`search`);return}for(let e=1;e<=9;e++)if(c(i,`switch-project-${e}`)){i.preventDefault();let t=W.getState().projects[e-1];t&&(W.getState().setActiveProject(t),G.getState().switchProject(t.name));return}let u=$s.getState().contributions?.keybindings;if(u){let e=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),{getBinding:t}=Qs.getState();for(let n of u){let r=t(`ext:${n.command}`)||(e&&n.mac?n.mac:n.key);if(!r)continue;let o=a.get(r);if(o||(o=Ks(r),a.set(r,o)),qs(i,o)){i.preventDefault();let e=W.getState().activeProject,t=[];e?.path&&t.push(e.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:n.command,args:t}}));return}}}}function d(e){let n=e.detail;r(typeof n==`string`?n:``),t(!0)}return window.addEventListener(`keydown`,u),window.addEventListener(`keyup`,u),window.addEventListener(`compositionstart`,s),window.addEventListener(`compositionend`,c),window.addEventListener(`open-command-palette`,d),()=>{window.removeEventListener(`keydown`,u),window.removeEventListener(`keyup`,u),window.removeEventListener(`compositionstart`,s),window.removeEventListener(`compositionend`,c),window.removeEventListener(`open-command-palette`,d)}},[]),{paletteOpen:e,paletteInitialQuery:n,closePalette:(0,q.useCallback)(()=>{t(!1),r(``)},[])}}var nc=at(e=>({sessions:new Map,setStreaming:(t,n,r)=>e(e=>{let i=new Map(e.sessions);return n?i.set(t,r??i.get(t)??``):i.delete(t),{sessions:i}}),replaceProjectStreaming:(t,n)=>e(e=>{let r=new Set(n),i=new Map(e.sessions);for(let[n,a]of e.sessions)a===t&&!r.has(n)&&i.delete(n);for(let e of n)i.set(e,t);return{sessions:i}})})),rc=e=>e.sessions.size>0;function ic(e){let[t,n]=(0,q.useState)(!1),[r,i]=(0,q.useState)(!1),a=(0,q.useCallback)(()=>{let t=e.current;t&&(n(t.scrollLeft>1),i(t.scrollLeft+t.clientWidth<t.scrollWidth-1))},[e]);return(0,q.useEffect)(()=>{let t=e.current;if(!t)return;a(),t.addEventListener(`scroll`,a,{passive:!0});let n=new ResizeObserver(a);n.observe(t);let r=new MutationObserver(a);return r.observe(t,{childList:!0,subtree:!0}),()=>{t.removeEventListener(`scroll`,a),n.disconnect(),r.disconnect()}},[e,a]),{canScrollLeft:t,canScrollRight:r,scrollLeft:(0,q.useCallback)(()=>{e.current?.scrollBy({left:-150,behavior:`smooth`})},[e]),scrollRight:(0,q.useCallback)(()=>{e.current?.scrollBy({left:150,behavior:`smooth`})},[e])}}var ac={done:0,question:1,approval_request:2};function oc(e,t,n,r){if(!e)return{left:null,right:null};let i=e.scrollLeft,a=i+e.clientWidth,o=null,s=-1,c=null,l=-1,u=e.getBoundingClientRect();for(let d of n){if(d.type!==`chat`)continue;let n=d.metadata?.sessionId,f=n?r.get(n):void 0;if(!f||f.count===0)continue;let p=t.get(d.id);if(!p)continue;let m=p.getBoundingClientRect(),h=m.left-u.left+e.scrollLeft,g=h+m.width,_=ac[f.type]??0;g<=i&&_>s&&(s=_,o=f.type),h>=a&&_>l&&(l=_,c=f.type)}return{left:o,right:c}}var sc={default:{base:`group flex items-center gap-1 px-3 h-[41px] whitespace-nowrap text-xs transition-colors border-t-2 [border-right:1px_solid_var(--border-soft)] cursor-grab active:cursor-grabbing`,active:`border-t-primary bg-panel-2 text-primary`,inactive:`border-t-transparent text-text-secondary hover:text-foreground hover:bg-panel/60`,row:`flex items-center`,add:`flex items-center justify-center h-[41px] w-10 shrink-0 sticky right-0 border-t-2 border-transparent text-text-secondary hover:text-foreground transition-colors`},boxed:{base:`group flex items-center gap-1.5 px-2.5 h-8 rounded-md whitespace-nowrap text-xs transition-colors border cursor-grab active:cursor-grabbing`,active:`border-primary bg-primary/10 text-primary`,inactive:`border-border text-text-secondary hover:border-text-subtle hover:text-foreground`,row:`flex items-center gap-1.5 px-2 py-1.5`,add:`flex items-center justify-center size-8 shrink-0 sticky right-0 rounded-md text-text-secondary hover:text-foreground hover:bg-surface-elevated transition-colors`},pill:{base:`group flex items-center gap-1.5 px-3 h-8 rounded-lg whitespace-nowrap text-xs transition-colors border cursor-grab active:cursor-grabbing`,active:`border-border bg-surface-elevated text-foreground`,inactive:`border-transparent text-text-secondary hover:bg-surface hover:text-foreground`,row:`flex items-center gap-1 px-2 py-1.5`,add:`flex items-center justify-center size-8 shrink-0 sticky right-0 rounded-lg text-text-secondary hover:text-foreground hover:bg-surface-elevated transition-colors`}};function cc(e,t,n){let r=sc[e];return H(r.base,n?`border-t-transparent`:t?r.active:r.inactive)}function lc(e,t){let n=e===`default`?` [background:repeating-linear-gradient(to_bottom,transparent_0,transparent_40px,var(--border-soft)_40px,var(--border-soft)_41px)]`:``;return H(sc[e].row,t?`flex-wrap min-h-[41px]`+n:`h-[41px]`)}function uc(e){return sc[e].add}function dc(e){let t=/^#([0-9a-fA-F]{6})$/.exec(e.trim());if(!t)return null;let n=parseInt(t[1],16);return{r:n>>16&255,g:n>>8&255,b:n&255}}function fc(e){let t=e.trim();if(t.startsWith(`#`)){let e=t.slice(1),n=e.length===3?e.split(``).map(e=>e+e).join(``):e;return/^[0-9a-fA-F]{6,8}$/.test(n)?{r:parseInt(n.slice(0,2),16),g:parseInt(n.slice(2,4),16),b:parseInt(n.slice(4,6),16),a:n.length===8?parseInt(n.slice(6,8),16)/255:1}:null}let n=/^rgba?\(([^)]+)\)$/.exec(t);if(!n)return null;let r=n[1].split(/[,\s/]+/).filter(Boolean).map(Number);return r.length<3||r.slice(0,4).some(e=>Number.isNaN(e))?null:{r:r[0],g:r[1],b:r[2],a:r[3]??1}}function pc(e,t){let n=fc(e),r=fc(t);if(!n||!r||n.a>=1)return e;let i=(e,t)=>Math.round(e*n.a+t*(1-n.a));return`rgb(${i(n.r,r.r)}, ${i(n.g,r.g)}, ${i(n.b,r.b)})`}function mc(e,t,n){let[r,i,a]=[e,t,n].map(e=>{let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4});return .2126*r+.7152*i+.0722*a}function hc(e){let t=dc(e);return t?mc(t.r,t.g,t.b)<.4:!1}function gc({tab:e,isActive:t,icon:n,showDropBefore:r,notificationType:i,notificationManual:a,isStreaming:o,onSelect:s,onClose:c,onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,tabRef:h,onRename:g,onContextAction:_,tagColor:v,extraMenuContent:y}){let[b,x]=(0,q.useState)(!1),[S,C]=(0,q.useState)(e.title),w=(0,q.useRef)(null),T=V(e=>e.editorTabStyle);(0,q.useEffect)(()=>{b&&(C(e.title),setTimeout(()=>w.current?.select(),0))},[b]);let E=()=>{x(!1);let t=S.trim();t&&t!==e.title&&g&&g(t)},D=e.metadata?.connectionColor,O=D?{backgroundColor:t?D:`${D}33`,color:t&&hc(D)?`#fff`:void 0}:void 0,k=e.type===`editor`,A=(0,J.jsxs)(`button`,{ref:h,"data-tab-item":!0,"data-tab-id":e.id,draggable:!b,onClick:s,onAuxClick:t=>{t.button===1&&e.closable&&(t.preventDefault(),c())},onDragStart:l,onDragOver:u,onDragEnd:d,onTouchStart:f,onTouchMove:p,onTouchEnd:m,style:O,className:cc(T,t,!!O),children:[(0,J.jsxs)(`span`,{className:H(`relative`,o&&`text-warning`),children:[(0,J.jsx)(n,{className:`size-4`}),o?(0,J.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):i&&(!t||a)?(0,J.jsx)(`span`,{className:H(`absolute -top-1 -right-1 size-2 rounded-full`,wo(i))}):null]}),b?(0,J.jsx)(`input`,{ref:w,value:S,onChange:e=>C(e.target.value),onBlur:E,onKeyDown:e=>{e.key===`Enter`&&E(),e.key===`Escape`&&x(!1),e.stopPropagation()},onClick:e=>e.stopPropagation(),className:`max-w-[120px] bg-surface-elevated text-xs px-1 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}):(0,J.jsx)(`span`,{className:`max-w-[120px] truncate`,title:e.title,onDoubleClick:e=>{g&&(e.stopPropagation(),x(!0))},children:e.title}),e.closable&&!b&&(0,J.jsx)(`span`,{role:`button`,tabIndex:0,onClick:e=>{e.stopPropagation(),c()},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),c())},className:`ml-1 can-hover:opacity-0 can-hover:group-hover:opacity-100 rounded-sm hover:bg-surface-elevated p-0.5 transition-opacity`,children:(0,J.jsx)(tt,{className:`size-3`})})]});return(0,J.jsxs)(`div`,{className:`relative flex items-center`,children:[r&&(0,J.jsx)(`div`,{className:`absolute left-0 top-1 bottom-1 w-0.5 bg-primary rounded-full z-10`}),v&&(0,J.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-full pointer-events-none`,style:{backgroundColor:v}}),_?(0,J.jsxs)(He,{children:[(0,J.jsx)(Ue,{asChild:!0,children:A}),(0,J.jsxs)(Re,{children:[k&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Be,{onClick:()=>_(`copy-path`),children:`Copy Path`}),(0,J.jsx)(Be,{onClick:()=>_(`copy-full-path`),children:`Copy Full Path`}),(0,J.jsxs)(Be,{onClick:()=>_(`download`),children:[(0,J.jsx)(Qe,{className:`size-3.5 mr-2`}),`Download`]}),(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>_(`rename`),children:`Rename`}),(0,J.jsx)(Be,{variant:`destructive`,onClick:()=>_(`delete`),children:`Delete`}),(0,J.jsx)(ze,{})]}),y,e.closable&&(0,J.jsx)(Be,{onClick:()=>_(`close`),children:`Close`}),(0,J.jsx)(Be,{onClick:()=>_(`close-others`),children:`Close Others`}),(0,J.jsx)(Be,{onClick:()=>_(`close-right`),children:`Close to the Right`})]})]}):A]})}async function _c(e,t){if(/^(\/|[A-Za-z]:[/\\])/.test(t)){let{token:e}=await R.post(`/api/fs/download/token`,{path:t});yc(`/api/fs/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(e)}`,st(t));return}let{token:n}=await R.post(`${L(e)}/files/download/token`);yc(`${L(e)}/files/raw?path=${encodeURIComponent(t)}&download=true&dl_token=${encodeURIComponent(n)}`,st(t))}async function vc(e,t){let{token:n}=await R.post(`${L(e)}/files/download/token`),r=st(t)||`folder`;yc(`${L(e)}/files/download/zip?path=${encodeURIComponent(t)}&dl_token=${encodeURIComponent(n)}`,`${r}.zip`)}function yc(e,t){let n=document.createElement(`a`);n.href=e,n.download=t,n.style.display=`none`,document.body.appendChild(n),n.click(),document.body.removeChild(n)}async function bc(e){if(navigator.clipboard?.writeText)try{return await navigator.clipboard.writeText(e),!0}catch{}return wc(e)}function xc(){return typeof ClipboardItem<`u`&&!!navigator.clipboard?.write}async function Sc(e){if(!xc())return!1;try{let t=await fetch(e).then(e=>e.blob()),n=t.type===`image/png`?t:await Cc(t);return await navigator.clipboard.write([new ClipboardItem({"image/png":n})]),!0}catch{return!1}}async function Cc(e){let t=await createImageBitmap(e),n=document.createElement(`canvas`);return n.width=t.width,n.height=t.height,n.getContext(`2d`)?.drawImage(t,0,0),t.close(),new Promise((e,t)=>{n.toBlob(n=>n?e(n):t(Error(`canvas produced no blob`)),`image/png`)})}function wc(e){let t=document.createElement(`textarea`);t.value=e,t.setAttribute(`readonly`,``),t.style.cssText=`position:fixed;top:0;left:0;width:1px;height:1px;padding:0;border:none;opacity:0;`,document.body.appendChild(t);let n=document.getSelection(),r=n&&n.rangeCount>0?n.getRangeAt(0):null;try{return t.focus(),t.select(),t.setSelectionRange(0,e.length),document.execCommand(`copy`)}catch{return!1}finally{t.remove(),n&&r&&(n.removeAllRanges(),n.addRange(r))}}function Tc({...e}){return(0,J.jsx)(te,{"data-slot":`dialog`,...e})}function Ec({...e}){return(0,J.jsx)(we,{"data-slot":`dialog-trigger`,...e})}function Dc({...e}){return(0,J.jsx)(xe,{"data-slot":`dialog-portal`,...e})}function Oc({className:e,...t}){return(0,J.jsx)(ge,{"data-slot":`dialog-overlay`,className:H(`fixed inset-0 z-50 bg-black/50 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0`,e),...t})}function kc({className:e,children:t,showCloseButton:n=!0,...r}){return(0,J.jsxs)(Dc,{"data-slot":`dialog-portal`,children:[(0,J.jsx)(Oc,{}),(0,J.jsxs)(ce,{"data-slot":`dialog-content`,className:H(`fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background text-foreground p-6 shadow-lg duration-200 outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 sm:max-w-lg`,e),...r,children:[t,n&&(0,J.jsxs)(ye,{"data-slot":`dialog-close`,className:`absolute top-4 right-4 rounded-xs opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:ring-2 focus:ring-ring focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,J.jsx)(tt,{}),(0,J.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function Ac({className:e,...t}){return(0,J.jsx)(`div`,{"data-slot":`dialog-header`,className:H(`flex flex-col gap-2 text-center sm:text-left`,e),...t})}function jc({className:e,showCloseButton:t=!1,children:n,...r}){return(0,J.jsxs)(`div`,{"data-slot":`dialog-footer`,className:H(`flex flex-col-reverse gap-2 sm:flex-row sm:justify-end`,e),...r,children:[n,t&&(0,J.jsx)(ye,{asChild:!0,children:(0,J.jsx)(I,{variant:`outline`,children:`Close`})})]})}function X({className:e,...t}){return(0,J.jsx)(fe,{"data-slot":`dialog-title`,className:H(`text-lg leading-none font-semibold`,e),...t})}function Mc({className:e,...t}){return(0,J.jsx)(ee,{"data-slot":`dialog-description`,className:H(`text-sm text-muted-foreground`,e),...t})}function Nc({node:e,projectName:t,onClose:n,onRefresh:r}){let[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null);async function c(){a(!0),s(null);try{await R.del(`${L(t)}/files/delete`,{path:e.path}),r(),n()}catch(e){s(e instanceof Error?e.message:`Failed to delete`)}finally{a(!1)}}return(0,J.jsx)(Tc,{open:!0,onOpenChange:e=>!e&&n(),children:(0,J.jsxs)(kc,{children:[(0,J.jsxs)(Ac,{children:[(0,J.jsxs)(X,{children:[`Delete `,e.type===`directory`?`Folder`:`File`]}),(0,J.jsxs)(Mc,{children:[`Are you sure you want to delete`,` `,(0,J.jsx)(`span`,{className:`font-mono font-semibold`,children:e.name}),`?`,e.type===`directory`&&` This will delete all contents.`]})]}),o&&(0,J.jsx)(`p`,{className:`text-sm text-error`,children:o}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:n,disabled:i,children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:c,disabled:i,children:i?`Deleting...`:`Delete`})]})]})})}var Pc={terminal:ai,chat:gr,editor:On,database:Ze,sqlite:Ze,postgres:Ze,"git-diff":kn,settings:Jr,extension:Ir,"extension-webview":Ir,"conflict-editor":kn,"system-monitor":Jr,"git-log":Kn,"ai-resource":Ye,group:fi},Fc=(0,q.memo)(function({panelId:e}){let t=W(e=>e.activeProject),n=(0,q.useRef)(new Map),r=(0,q.useRef)(null),i=(0,q.useRef)(0),a=U(t=>e?t.panels[e]:t.panels[t.focusedPanelId]),o=t?.name??null,s=ct(a?.tabs??[],o),c=a?.activeTabId??null,l=a?.id??U.getState().focusedPanelId,{dropIndex:u,handleDragStart:d,handleDragOver:f,handleDragOverBar:p,handleDrop:m,handleDragEnd:h}=Ss(l),{handleTouchStart:g,handleTouchMove:_,handleTouchEnd:v}=Hs(l),{projectTags:y,loadTags:b}=bo(t?.name),[x,S]=(0,q.useState)({}),C=s.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,q.useEffect)(()=>{!t?.name||C.length===0||R.get(`${L(t.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);S(t)}).catch(()=>{})},[t?.name,C.join(`,`)]);let w=(0,q.useCallback)(async(e,n)=>{if(t?.name)try{if(n!==null){await R.patch(`${L(t.name)}/chat/sessions/${e}/tag`,{tagId:n});let r=y.find(e=>e.id===n);r&&S(t=>({...t,[e]:{id:r.id,name:r.name,color:r.color}}))}else await R.del(`${L(t.name)}/chat/sessions/${e}/tag`),S(t=>{let n={...t};return delete n[e],n});b()}catch{}},[t?.name,y,b]),T=Do(e=>e.notifications),E=nc(e=>e.sessions),D=V(e=>e.tabWrap),O=V(e=>e.toggleTabWrap),k=V(e=>e.editorTabStyle),{canScrollLeft:A,canScrollRight:j,scrollLeft:M,scrollRight:ee}=ic(r),N=oc(r.current,n.current,s,T);(0,q.useEffect)(()=>{if(s.length>i.current&&c){let e=n.current.get(c);e&&e.scrollIntoView({behavior:`smooth`,block:`nearest`,inline:`nearest`})}i.current=s.length},[s.length,c]);let P=(0,q.useCallback)((e,t)=>{G.getState().updateTab(e.id,{title:t});let n=e.metadata?.projectName,r=e.metadata?.sessionId;n&&r&&R.patch(`${L(n)}/chat/sessions/${r}`,{title:t}).catch(()=>{})},[]),te=fs(e=>e.selection),[ne,re]=(0,q.useState)(null);function ie(e){if(e.type!==`editor`)return null;let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return null;let r=te!=null&&te.projectName===n&&te.filePath!==t;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Be,{onClick:()=>{let r=e.metadata?.unsavedContent;fs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:st(t)})},children:[(0,J.jsx)(Je,{className:`size-3.5 mr-2`}),`Select for Compare`]}),r&&(0,J.jsxs)(Be,{onClick:async()=>{let r=fs.getState().selection;if(!r)return;let i=e.metadata?.unsavedContent;try{await ms({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),fs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;z.error(t)}},children:[(0,J.jsx)(Je,{className:`size-3.5 mr-2`}),`Compare with Selected (`,te.label,`)`]}),(0,J.jsx)(ze,{})]})}function ae(e){if(e.type!==`terminal`)return null;let t=l===ut;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Be,{onClick:()=>oe(e,t?`move-to-editor`:`move-to-dock`),children:t?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Yn,{className:`size-3.5 mr-2`}),`Move to Editor`]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Tr,{className:`size-3.5 mr-2`}),`Move to Dock`]})}),(0,J.jsx)(ze,{})]})}let oe=(0,q.useCallback)((e,t)=>{let n=U.getState(),r=n.panels[l]?.tabs??[];switch(t){case`close`:n.closeTab(e.id,l);break;case`move-to-dock`:n.redockTab(e.id,l);break;case`move-to-editor`:{let t=n.focusedPanelId===`__dock__`?n.grid.flat()[0]:n.focusedPanelId;t&&n.moveTab(e.id,ut,t);break}case`close-others`:for(let t of r)t.id!==e.id&&t.closable&&n.closeTab(t.id,l);break;case`close-right`:{let t=r.findIndex(t=>t.id===e.id);for(let e=t+1;e<r.length;e++)r[e].closable&&n.closeTab(r[e].id,l);break}case`copy-path`:{let t=e.metadata?.filePath;t&&bc(t);break}case`copy-full-path`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;if(t){let e=n?W.getState().projects.find(e=>e.name===n):null;bc(e?`${e.path}/${t}`:t)}break}case`download`:{let t=e.metadata?.filePath,n=e.metadata?.projectName;t&&n&&_c(n,t);break}case`rename`:case`delete`:{let n=e.metadata?.filePath;n&&re({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}}},[l]);function se(e){e.target.closest(`[data-tab-item]`)||ec()}return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(He,{children:[(0,J.jsx)(Ue,{asChild:!0,children:(0,J.jsxs)(`div`,{className:H(`hidden md:flex items-center border-b border-border relative shrink-0`,D?`min-h-[41px] flex-wrap`:`h-[41px]`),onDragOver:p,onDrop:m,onDoubleClick:se,children:[!D&&A&&(0,J.jsx)(`button`,{onClick:M,className:`absolute left-0 z-10 flex items-center justify-center size-8 bg-gradient-to-r from-background via-background to-transparent`,children:(0,J.jsxs)(`span`,{className:`relative`,children:[(0,J.jsx)(sn,{className:`size-4 text-text-secondary`}),N.left&&(0,J.jsx)(`span`,{className:H(`absolute -top-1 -right-0.5 size-2 rounded-full`,wo(N.left))})]})}),(0,J.jsx)(`div`,{ref:r,className:H(`flex-1 min-w-0 scrollbar-none`,D?`overflow-y-auto overflow-x-hidden`:`overflow-x-auto overflow-y-hidden`),children:(0,J.jsxs)(`div`,{className:lc(k,D),children:[s.map((e,t)=>{let r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?T.get(r):void 0,a=i&&i.count>0?i.type:null,o=!!i?.manual,s=r?E.has(r):!1;return(0,J.jsx)(gc,{tab:e,isActive:e.id===c,icon:Pc[e.type]||Ir,showDropBefore:u===t,notificationType:a,notificationManual:o,isStreaming:s,onSelect:()=>{ks()||(U.getState().setActiveTab(e.id,l),r&&Do.getState().clearForSession(r))},onClose:()=>U.getState().closeTab(e.id,l),onDragStart:t=>d(t,e.id),onDragOver:n=>f(n,e.id,t),onDragEnd:h,onTouchStart:t=>g(t,e.id,e.title),onTouchMove:_,onTouchEnd:v,tabRef:t=>{t?n.current.set(e.id,t):n.current.delete(e.id)},onRename:e.type===`chat`?t=>P(e,t):void 0,onContextAction:t=>oe(e,t),tagColor:r?x[r]?.color:void 0,extraMenuContent:(0,J.jsxs)(J.Fragment,{children:[ae(e),ie(e),r&&!a&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Be,{onClick:()=>{let t=e.metadata?.projectName;t&&Do.getState().markUnread(r,t,e.title)},children:[(0,J.jsx)(Ke,{className:`size-3.5 mr-2 fill-primary text-primary`}),`Mark as unread`]}),(0,J.jsx)(ze,{})]}),r&&y.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(Ve,{children:[(0,J.jsxs)(Le,{children:[(0,J.jsx)(ri,{className:`size-3.5 mr-2`}),`Set Tag`]}),(0,J.jsxs)(Pe,{children:[y.map(e=>(0,J.jsxs)(Be,{onClick:()=>w(r,e.id),children:[(0,J.jsx)(`span`,{className:`size-2.5 rounded-full mr-2 shrink-0`,style:{backgroundColor:e.color}}),e.name,x[r]?.id===e.id&&(0,J.jsx)(Fe,{className:`size-3 ml-auto`})]},e.id)),x[r]&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>w(r,null),children:`Remove tag`})]})]})]}),(0,J.jsx)(ze,{})]})]})},e.id)}),u!==null&&u>=s.length&&(0,J.jsx)(`div`,{className:`w-0.5 h-6 bg-primary rounded-full`}),(0,J.jsx)(`button`,{onClick:()=>{if(l===`__dock__`){let e=W.getState().activeProject;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}else ec()},title:l===`__dock__`?`New terminal in dock`:`Open command palette (Shift+Shift)`,className:uc(k),children:(0,J.jsx)(et,{className:`size-4`})})]})}),!D&&j&&(0,J.jsx)(`button`,{onClick:ee,className:`absolute right-10 z-10 flex items-center justify-center size-8 bg-gradient-to-l from-background via-background to-transparent`,children:(0,J.jsxs)(`span`,{className:`relative`,children:[(0,J.jsx)(We,{className:`size-4 text-text-secondary`}),N.right&&(0,J.jsx)(`span`,{className:H(`absolute -top-1 -left-0.5 size-2 rounded-full`,wo(N.right))})]})})]})}),(0,J.jsxs)(Re,{children:[(0,J.jsx)(Be,{onClick:O,children:D?`Scroll Tabs`:`Wrap Tabs`}),(0,J.jsx)(ze,{}),(0,J.jsx)(Be,{onClick:()=>ec(),children:`Open Command Palette`})]})]}),ne&&(0,J.jsx)(Nc,{node:ne.node,projectName:t?.name??``,onClose:()=>re(null),onRefresh:()=>{t&&rs.getState().fetchTree(t.name),ne.action===`delete`&&U.getState().closeTab(ne.tabId,l)}})]})});function Ic({panelId:e}){let[t,n]=(0,q.useState)(null),r=bs(),i=Os(),a=(i?.panelId===e?i.zone:null)??t,o=U(e=>e.grid),s=U(e=>e.isMobile()),c=lt(o,e),l=!s&&o.length<3,u=c?!s&&(o[c.row]?.length??0)<pt(!1):!1,d=(0,q.useCallback)(e=>{let t=e.currentTarget.getBoundingClientRect(),n=(e.clientX-t.left)/t.width,r=(e.clientY-t.top)/t.height,i=.25;return n<i&&u?`left`:n>1-i&&u?`right`:r<i&&l?`top`:r>1-i&&l?`bottom`:`center`},[u,l]),f=(0,q.useCallback)(e=>{e.dataTransfer.types.includes(`application/ppm-tab`)&&(e.preventDefault(),e.stopPropagation(),n(d(e)))},[d]),p=(0,q.useCallback)(e=>{e.currentTarget.contains(e.relatedTarget)||n(null)},[]),m=(0,q.useCallback)(t=>{t.preventDefault(),t.stopPropagation();let r=d(t);if(n(null),xs(),!r)return;let i=t.dataTransfer.getData(gs);if(i)try{let t=JSON.parse(i),n=U.getState();if(r===`center`)t.panelId!==e&&n.moveTab(t.tabId,t.panelId,e);else{let i=r===`top`?`up`:r===`bottom`?`down`:r;n.splitPanel(i,t.tabId,t.panelId,e)}}catch{}},[d,e]);return r?(0,J.jsxs)(`div`,{className:`absolute inset-0 z-20`,onDragOver:f,onDragLeave:p,onDrop:m,children:[a===`left`&&(0,J.jsx)(`div`,{className:`absolute inset-y-0 left-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-l-md`}),a===`right`&&(0,J.jsx)(`div`,{className:`absolute inset-y-0 right-0 w-1/3 bg-primary/10 border-2 border-primary/30 rounded-r-md`}),a===`top`&&(0,J.jsx)(`div`,{className:`absolute inset-x-0 top-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-t-md`}),a===`bottom`&&(0,J.jsx)(`div`,{className:`absolute inset-x-0 bottom-0 h-1/3 bg-primary/10 border-2 border-primary/30 rounded-b-md`}),a===`center`&&(0,J.jsx)(`div`,{className:`absolute inset-0 bg-primary/5 border-2 border-dashed border-primary/30 rounded-md`})]}):null}var Lc=at(e=>({mounted:new Set,mount:t=>e(e=>{if(e.mounted.has(t))return e;let n=new Set(e.mounted);return n.add(t),{mounted:n}})}));function Rc(e,t,n,r,i,a){for(let o of e.flat()){let e=r[o];if(e)for(let r of e.tabs)i.has(r.id)||r.projectId&&t&&r.projectId!==t||!n&&(r.type===`extension`||r.type===`extension-webview`)||(i.add(r.id),a.push({tabId:r.id,panelId:o,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}}function zc(e,t,n){for(let r of e.tabs)t.has(r.id)||(t.add(r.id),n.push({tabId:r.id,panelId:ut,type:r.type,metadata:r.metadata,isActive:r.id===e.activeTabId}))}function Bc(e,t,n,r){let i=[],a=new Set;Rc(t,r,!0,e,a,i);for(let[t,o]of Object.entries(n))t!==r&&Rc(o,t,!1,e,a,i);let o=e[ut];return o&&zc(o,a,i),i.sort((e,t)=>e.tabId.localeCompare(t.tabId)),i}function Vc(e,t){return e.filter(e=>e.isActive||t.has(e.tabId))}var Hc={terminal:(0,q.lazy)(()=>B(()=>import(`./terminal-tab-gQCs_fyx.js`).then(e=>({default:e.TerminalTab})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]))),chat:(0,q.lazy)(()=>B(()=>import(`./chat-tab-pBGQ9SCY.js`).then(e=>({default:e.ChatTab})),__vite__mapDeps([19,1,2,3,4,20,7,8,21,22,23,24,25,26,27,28,29,30,31,10,32,33,14,13,9,34,35,36,37,38,39,11,40,41,42,15,16]))),editor:(0,q.lazy)(()=>B(()=>import(`./code-editor-XviNXdzi.js`).then(e=>({default:e.CodeEditor})),__vite__mapDeps([43,1,2,3,4,44,45,46,8,24,30,34,35,47,37,48,49,16,10,14,17,18,33,13,7,50,20,29,51,52,53,36,54,55,42]))),database:(0,q.lazy)(()=>B(()=>import(`./database-viewer-2M5sKRqb.js`).then(e=>({default:e.DatabaseViewer})),__vite__mapDeps([56,1,2,3,4,44,45,46,8,24,30,34,35,47,37,48,49,16,10,14,17,18,33,13,7,50,51,53,36,57]))),sqlite:(0,q.lazy)(()=>B(()=>import(`./sqlite-viewer-CJbP6ruh.js`).then(e=>({default:e.SqliteViewer})),__vite__mapDeps([58,1,2,3,4,44,45,46,8,24,30,34,35,47,37,48,49,16,10,14,17,18,33,13,7,50,51,54,57]))),postgres:(0,q.lazy)(()=>B(()=>import(`./postgres-viewer-BtSXQ3S4.js`).then(e=>({default:e.PostgresViewer})),__vite__mapDeps([59,1,2,60,3,4,61,24,8,51,54,10]))),"git-diff":(0,q.lazy)(()=>B(()=>import(`./diff-viewer-BMr7vOvZ.js`).then(e=>({default:e.DiffViewer})),__vite__mapDeps([62,1,2,3,4,10,49,16,14,17,18]))),settings:(0,q.lazy)(()=>B(()=>import(`./settings-tab-COSUzGl8.js`).then(e=>({default:e.SettingsTab})),__vite__mapDeps([63,2,1,3,4,20,7,8,23,24,10,11,39,41,42,14,16]))),extension:(0,q.lazy)(()=>B(()=>import(`./extension-webview-12M45CGq.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([64,1,3,4,10]))),"extension-webview":(0,q.lazy)(()=>B(()=>import(`./extension-webview-12M45CGq.js`).then(e=>({default:e.ExtensionWebview})),__vite__mapDeps([64,1,3,4,10]))),"conflict-editor":(0,q.lazy)(()=>B(()=>import(`./conflict-editor-CRConSGG.js`).then(e=>({default:e.ConflictEditor})),__vite__mapDeps([65,1,2,3,4,10,49,16,14,17,18]))),"system-monitor":(0,q.lazy)(()=>B(()=>import(`./system-monitor-tab-DThAFSd_.js`).then(e=>({default:e.SystemMonitorTab})),__vite__mapDeps([66,1,3,4,7,8,22,24,27,37,10,39]))),"git-log":(0,q.lazy)(()=>B(()=>import(`./git-log-panel-Cp4k3tX_.js`).then(e=>({default:e.GitLogPanel})),__vite__mapDeps([67,1,3,4,7,8,10,42,14]))),"ai-resource":(0,q.lazy)(()=>B(()=>import(`./ai-resource-editor-BydGrxjb.js`).then(e=>({default:e.AiResourceEditor})),__vite__mapDeps([68,1,2,3,4,7,47,8,10,49,16,14,17,18]))),group:(0,q.lazy)(()=>B(()=>import(`./group-chat-tab-CcG_NXIS.js`).then(e=>({default:e.GroupChatTab})),__vite__mapDeps([69,1,2,3,4,20,7,8,70,10,32,12,13,14,33,23,24,25,26,22,27,28,29,30,31,11,39,40,42,16])))},Uc=new class{slots=new Map;listeners=new Set;version=0;register(e,t){if(t){if(this.slots.get(e)===t)return;this.slots.set(e,t)}else{if(!this.slots.has(e))return;this.slots.delete(e)}this.version++,this.listeners.forEach(e=>e())}get(e){return this.slots.get(e)}subscribe(e){return this.listeners.add(e),()=>this.listeners.delete(e)}getVersion(){return this.version}};function Wc(e,t){Uc.register(e,t)}function Gc(){let e=(0,q.useRef)(null);(0,q.useSyncExternalStore)(e=>Uc.subscribe(e),()=>Uc.getVersion());let t=U(e=>e.panels),n=U(e=>e.grid),r=U(e=>e.currentProject),i=Bc(t,n,U(e=>e.projectGrids),r),a=Vc(i,Lc(e=>e.mounted)),o=i.filter(e=>e.isActive).map(e=>e.tabId);return(0,q.useEffect)(()=>{let{mount:e}=Lc.getState();for(let t of o)e(t)},[JSON.stringify(o)]),(0,J.jsx)(`div`,{ref:e,style:{position:`fixed`,top:0,left:0,width:0,height:0,overflow:`hidden`,pointerEvents:`none`,visibility:`hidden`},children:a.map(t=>(0,J.jsx)(Kc,{tabId:t.tabId,panelId:t.panelId,type:t.type,metadata:t.metadata,isActive:t.isActive,hiddenContainer:e},t.tabId))})}function Kc({tabId:e,panelId:t,type:n,metadata:r,isActive:i,hiddenContainer:a}){let o=(0,q.useRef)(null),s=Hc[n];return(0,q.useLayoutEffect)(()=>()=>{let e=o.current,t=a.current;e&&t&&e.parentElement!==t&&t.appendChild(e)},[a]),(0,q.useLayoutEffect)(()=>{let e=o.current,n=Uc.get(t);if(!e)return;if(!n){let t=a.current;t&&e.parentElement!==t&&t.appendChild(e);return}if(e.parentElement===n)return;let r=[];e.querySelectorAll(`*`).forEach(e=>{(e.scrollTop||e.scrollLeft)&&r.push({el:e,top:e.scrollTop,left:e.scrollLeft})}),n.appendChild(e);for(let{el:e,top:t,left:n}of r)e.scrollTop=t,e.scrollLeft=n}),s?(0,J.jsx)(`div`,{ref:o,className:`absolute inset-0`,style:i?void 0:{display:`none`},"data-tab-pool-id":e,onMouseDownCapture:()=>{t!==`__dock__`&&U.getState().setFocusedPanel(t)},children:(0,J.jsx)(q.Suspense,{fallback:(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,J.jsx)(K,{className:`size-6 animate-spin text-primary`})}),children:(0,J.jsx)(s,{metadata:r,tabId:e})})}):null}var qc=[{type:`terminal`,label:`Terminal`,icon:ai},{type:`chat`,label:`AI Chat`,icon:gr},{type:`editor`,label:`New File`,icon:Nn}];function Jc({panelId:e,projectName:t}){let n=U(t=>t.panels[e]),r=U(t=>t.focusedPanelId===e),i=U(e=>(e.currentProject===t?e.grid:e.projectGrids[t]??[[]]).flat().length),a=(0,q.useCallback)(t=>{Wc(e,t)},[e]);if(!n)return null;let o=ct(n.tabs,t).length===0;return(0,J.jsxs)(`div`,{className:H(`flex flex-col h-full overflow-hidden`,i>1&&`border border-transparent`,i>1&&r&&`border-primary/30`),onMouseDown:()=>{U.getState().focusedPanelId!==e&&U.getState().setFocusedPanel(e)},children:[(0,J.jsx)(Fc,{panelId:e}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,"data-panel-drop-zone":e,onAuxClick:t=>{t.button!==1||!o||(t.preventDefault(),U.getState().closePanel(e))},children:[o&&(0,J.jsx)(Yc,{panelId:e,canClose:i>1}),(0,J.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:o?{display:`none`}:void 0}),(0,J.jsx)(Ic,{panelId:e})]})]})}function Yc({panelId:e,canClose:t}){let n=W(e=>e.activeProject);function r(t){if(t===`editor`){G.getState().openNewFile();return}let r=t!==`settings`&&n?{projectName:n.name}:void 0;U.getState().openTab({type:t,title:qc.find(e=>e.type===t)?.label??t,metadata:r,projectId:n?.name??null,closable:!0},e)}let i=(0,q.useCallback)(t=>{U.getState().openTab({type:`chat`,title:t.title||`Chat`,projectId:n?.name??null,metadata:{projectName:n?.name,sessionId:t.id,providerId:t.providerId},closable:!0},e)},[n?.name,e]);return(0,J.jsx)(`div`,{className:`flex flex-col h-full overflow-y-auto text-text-secondary`,children:(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center gap-6 px-4 flex-1`,children:[(0,J.jsx)(`p`,{className:`text-sm`,children:`Open a tab to get started`}),(0,J.jsx)(`div`,{className:`grid grid-cols-3 gap-2 w-full max-w-sm`,children:qc.map(e=>{let t=e.icon;return(0,J.jsxs)(`button`,{onClick:()=>r(e.type),className:`flex flex-col items-center justify-center gap-1.5 px-2 py-3 rounded-md border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated text-xs text-foreground transition-colors`,children:[(0,J.jsx)(t,{className:`size-5`}),e.label]},e.type)})}),t&&(0,J.jsxs)(`button`,{onClick:()=>U.getState().closePanel(e),className:`flex items-center gap-1.5 px-4 py-3.5 rounded-md text-xs text-text-subtle hover:text-foreground active:bg-surface-elevated transition-colors`,children:[(0,J.jsx)(tt,{className:`size-3.5`}),`Close Panel`]}),(0,J.jsx)(Po,{projectName:n?.name,onSelectSession:i,className:`w-full`})]})})}var Xc={terminal:ai,chat:gr,editor:On,database:Ze,sqlite:Ze,postgres:Ze,"git-diff":kn,settings:Jr,extension:Ir,"extension-webview":Ir,"conflict-editor":kn,"system-monitor":Jr,"git-log":On,"ai-resource":Ye,group:fi};function Zc(e){return Xc[e]??Ir}function Qc(e,t,n){let r=n!==`bottom`;if(n===`bottom`||e.length<=2)return{visible:[...e],overflow:[],iconOnlyInactive:r};let i=new Set;t&&e.includes(t)&&i.add(t);for(let t of e){if(i.size>=2)break;i.add(t)}return{visible:e.filter(e=>i.has(e)),overflow:e.filter(e=>!i.has(e)),iconOnlyInactive:r}}function $c({...e}){return(0,J.jsx)(ke,{"data-slot":`dropdown-menu`,...e})}function el({...e}){return(0,J.jsx)(A,{"data-slot":`dropdown-menu-trigger`,...e})}function tl({className:e,sideOffset:t=4,...n}){return(0,J.jsx)(y,{children:(0,J.jsx)(x,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:H(`z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...n})})}function Z({className:e,inset:t,variant:n=`default`,...r}){return(0,J.jsx)(S,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:H(`relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!`,e),...r})}function nl({...e}){return(0,J.jsx)(b,{"data-slot":`dropdown-menu-radio-group`,...e})}function rl({className:e,children:t,...n}){return(0,J.jsxs)(T,{"data-slot":`dropdown-menu-radio-item`,className:H(`relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,J.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,J.jsx)(w,{children:(0,J.jsx)(Ke,{className:`size-2 fill-current`})})}),t]})}function il({className:e,inset:t,...n}){return(0,J.jsx)(_,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:H(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function al({className:e,...t}){return(0,J.jsx)(p,{"data-slot":`dropdown-menu-separator`,className:H(`-mx-1 my-1 h-px bg-border`,e),...t})}function ol({...e}){return(0,J.jsx)(k,{"data-slot":`dropdown-menu-sub`,...e})}function sl({className:e,inset:t,children:n,...r}){return(0,J.jsxs)(O,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:H(`flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,J.jsx)(We,{className:`ml-auto size-4`})]})}function cl({className:e,...t}){return(0,J.jsx)(v,{"data-slot":`dropdown-menu-sub-content`,className:H(`z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,e),...t})}var ll={left:Dr,bottom:Tr,right:Or},ul={left:`Left`,bottom:`Bottom`,right:`Right`},dl=[`left`,`bottom`,`right`];function fl(){let e=U(e=>e.panels[ut]),t=W(e=>e.activeProject?.name??null),n=V(e=>e.dockPosition),r=V(e=>e.setDockPosition),i=U(e=>e.dockExpanded),a=(e?.tabs??[]).filter(e=>!e.projectId||!t||e.projectId===t),o=e?.activeTabId??null,s=new Map(a.map(e=>[e.id,e])),c=Qc(a.map(e=>e.id),o,n);function l(e){U.getState().setActiveTab(e,ut)}function u(e){U.getState().closeTab(e,ut)}function d(){let e=W.getState().activeProject;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}let f=ll[n];return(0,J.jsxs)(`div`,{className:`flex items-center h-8 min-w-0 flex-1 gap-1 px-1`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1 overflow-x-auto scrollbar-none`,children:[c.visible.map(e=>{let t=s.get(e);if(!t)return null;let n=Zc(t.type),r=e===o,i=!c.iconOnlyInactive||r,a=(0,J.jsxs)(`button`,{onClick:()=>l(e),className:H(`flex items-center gap-1.5 h-6 rounded-full border shrink-0 transition-colors`,i?`px-2.5`:`px-1.5`,r?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary hover:bg-surface-elevated`),children:[(0,J.jsx)(n,{className:`size-3`}),i&&(0,J.jsx)(`span`,{className:`text-[11px] font-medium max-w-[120px] truncate`,children:t.title}),i&&t.closable&&(0,J.jsx)(`span`,{role:`button`,tabIndex:0,"aria-label":`Close ${t.title}`,onClick:t=>{t.stopPropagation(),u(e)},className:`flex items-center justify-center size-4 -mr-1 rounded hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3`})})]},e);return i?a:(0,J.jsxs)(xi,{children:[(0,J.jsx)(Si,{asChild:!0,children:a}),(0,J.jsx)(Ci,{side:`top`,className:`text-xs`,children:t.title})]},e)}),c.overflow.length>0&&(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsxs)(`button`,{className:`flex items-center justify-center h-6 px-2 rounded-full border border-border text-text-secondary text-[10px] font-mono shrink-0 hover:bg-surface-elevated`,children:[`+`,c.overflow.length]})}),(0,J.jsx)(tl,{align:`start`,className:`min-w-[10rem]`,children:c.overflow.map(e=>{let t=s.get(e);return t?(0,J.jsxs)(Z,{onClick:()=>l(e),children:[(0,J.jsx)(Zc(t.type),{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`truncate`,children:t.title})]},e):null})})]}),(0,J.jsx)(`button`,{onClick:d,title:`New panel tab`,"aria-label":`New panel tab`,className:`flex items-center justify-center size-6 rounded-full border border-dashed border-border text-text-subtle shrink-0 hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(et,{className:`size-3.5`})})]}),(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsxs)(`button`,{title:`Panel position`,"aria-label":`Panel position`,className:`flex items-center gap-0.5 h-6 px-1.5 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:[(0,J.jsx)(f,{className:`size-3.5`}),(0,J.jsx)(on,{className:`size-2.5`})]})}),(0,J.jsxs)(tl,{align:`end`,children:[(0,J.jsx)(il,{className:`text-[10px] uppercase tracking-wide text-text-subtle`,children:`Panel Position`}),dl.map(e=>{let t=ll[e],i=e===n;return(0,J.jsxs)(Z,{onClick:()=>r(e),className:H(i&&`text-primary bg-primary/10`),children:[(0,J.jsx)(t,{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`flex-1`,children:ul[e]}),i&&(0,J.jsx)(Fe,{className:`size-3.5`})]},e)})]})]}),(0,J.jsx)(`div`,{className:`w-px h-4 bg-border shrink-0`}),(0,J.jsx)(`button`,{onClick:()=>U.getState().toggleDockExpanded(),title:i?`Restore panel`:`Maximize panel`,"aria-label":i?`Restore panel`:`Maximize panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:i?(0,J.jsx)(vr,{className:`size-3.5`}):(0,J.jsx)(mr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>U.getState().setDockVisible(!1),title:`Hide panel`,"aria-label":`Hide panel`,className:`flex items-center justify-center size-7 rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground shrink-0`,children:(0,J.jsx)(on,{className:`size-3.5`})})]})}var pl={top:`border-t`,left:`border-l`,right:`border-r`};function ml({variant:e=`desktop`,borderEdge:t=`top`}){let n=U(e=>e.panels[ut]),r=W(e=>e.activeProject?.name??null),i=(n?.tabs??[]).some(e=>!e.projectId||!r||e.projectId===r),a=(0,q.useCallback)(e=>{Wc(ut,e)},[]);return(0,J.jsxs)(`div`,{className:H(`flex flex-col h-full overflow-hidden border-border bg-panel`,e===`desktop`&&pl[t]),children:[(0,J.jsx)(`div`,{className:`flex items-center shrink-0`,children:e===`mobile`?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(hl,{}),(0,J.jsx)(`button`,{onClick:()=>U.getState().setDockVisible(!1),title:`Hide terminal dock`,className:H(`shrink-0 flex items-center justify-center mr-1 size-11`,`text-text-subtle hover:text-foreground hover:bg-surface-elevated`,`active:bg-surface-elevated rounded transition-colors`),"aria-label":`Hide terminal dock`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}):(0,J.jsx)(fl,{})}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-hidden relative`,children:[!i&&(0,J.jsx)(gl,{variant:e}),(0,J.jsx)(`div`,{ref:a,className:`absolute inset-0`,style:i?void 0:{display:`none`}})]})]})}function hl(){let e=U(e=>e.panels[ut]),t=W(e=>e.activeProject),n=U(e=>e.dockExpanded),r=t?.name??null,i=(e?.tabs??[]).filter(e=>!e.projectId||!r||e.projectId===r),a=e?.activeTabId??null;function o(e){U.getState().setActiveTab(e,ut)}function s(){let e=t;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center h-11 gap-1 pl-2 overflow-hidden`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 overflow-x-auto scrollbar-none`,children:[i.map(e=>{let t=Zc(e.type);return(0,J.jsxs)(`div`,{className:H(`flex items-center h-8 pl-3 pr-1 gap-1 rounded-full border shrink-0 transition-colors`,e.id===a?`border-primary text-primary bg-primary/10`:`border-border text-text-secondary`),children:[(0,J.jsxs)(`button`,{onClick:()=>o(e.id),className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(t,{className:`size-[13px] shrink-0`}),(0,J.jsx)(`span`,{className:`max-w-[96px] truncate text-xs font-medium`,children:e.title})]}),e.closable&&(0,J.jsx)(`button`,{onClick:()=>U.getState().closeTab(e.id,`__dock__`),"aria-label":`Close ${e.title}`,className:`shrink-0 flex items-center justify-center size-6 rounded-full text-text-subtle active:bg-surface-elevated active:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]},e.id)}),(0,J.jsx)(`button`,{onClick:s,title:`New panel tab`,"aria-label":`New panel tab`,className:`shrink-0 flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,J.jsx)(et,{className:`size-4`})})]}),(0,J.jsx)(`button`,{onClick:()=>U.getState().toggleDockExpanded(),title:n?`Collapse panel`:`Expand panel`,"aria-label":n?`Collapse panel`:`Expand panel`,className:`shrink-0 flex items-center justify-center size-9 text-text-subtle active:bg-surface-elevated rounded transition-colors`,children:n?(0,J.jsx)(vr,{className:`size-4`}):(0,J.jsx)(mr,{className:`size-4`})})]})}function gl({variant:e}){let t=W(e=>e.activeProject);function n(){let e=t;U.getState().openInDock({type:`terminal`,title:`Terminal`,projectId:e?.name??null,closable:!0,metadata:e?{projectName:e.name}:void 0})}return(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,J.jsxs)(`button`,{onClick:n,className:H(`flex items-center gap-2 rounded-md`,e===`mobile`?`px-4 py-3`:`px-3 py-2`,`border border-border bg-surface hover:bg-surface-elevated active:bg-surface-elevated`,`text-sm text-foreground transition-colors`),children:[(0,J.jsx)(ai,{className:`size-4`}),`Open Terminal`]})})}function _l(e,t,n){return e===`bottom`?{orientation:`vertical`,dockFirst:!1,dockSize:`${n?70:t}%`,borderEdge:`top`}:{orientation:`horizontal`,dockFirst:e===`left`,dockSize:`${n?55:t}%`,borderEdge:e===`left`?`right`:`left`}}var vl=[[]],yl=(0,q.memo)(function({projectName:e}){let t=_o(`(min-width: 768px)`),n=U(t=>t.currentProject===e?t.grid:t.projectGrids[e]??vl),r=U(e=>e.focusedPanelId),i=U(e=>e.dock),a=U(e=>e.dockExpanded),o=V(e=>e.dockPosition),s=U(e=>e.currentProject),c=n.flat().length,l=s===e;(0,q.useEffect)(()=>{if(l&&c===0){let e=ft();U.setState(t=>({panels:{...t.panels,[e.id]:e},grid:[[e.id]],focusedPanelId:e.id}))}},[l,c]);let u=(0,q.useCallback)(({asPercentage:e})=>{U.getState().dockExpanded||U.getState().setDockHeight(e)},[]),d=(0,q.useRef)({key:``,size:``});if(c===0)return null;if(!t){let t=n.flat(),i=t.includes(r)?r:t[0];return i?(0,J.jsx)(Jc,{panelId:i,projectName:e}):null}let f=c===1&&n[0]?.[0]?(0,J.jsx)(Jc,{panelId:n[0][0],projectName:e}):(0,J.jsx)(lo,{orientation:`vertical`,style:{height:`100%`},children:n.map((t,r)=>(0,J.jsx)(bl,{row:t,rowIdx:r,totalRows:n.length,projectName:e},`row-${r}`))});if(!l)return(0,J.jsx)(J.Fragment,{children:f});let p=_l(o,i.height,a),m=p.orientation===`vertical`?`horizontal`:`vertical`,h=`${o}-${a}`;d.current.key!==h&&(d.current={key:h,size:p.dockSize});let g=(0,J.jsx)(po,{minSize:`15%`,children:f}),_=i.visible?(0,J.jsx)(po,{defaultSize:d.current.size,minSize:`10%`,maxSize:`85%`,onResize:u,children:(0,J.jsx)(ml,{borderEdge:p.borderEdge})}):null,v=i.visible?(0,J.jsx)(Sl,{orientation:m}):null;return(0,J.jsxs)(lo,{orientation:p.orientation,style:{height:`100%`},children:[p.dockFirst?_:g,v,p.dockFirst?g:_]},h)});function bl({row:e,rowIdx:t,totalRows:n,projectName:r}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(po,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:e.length===1?(0,J.jsx)(Jc,{panelId:e[0],projectName:r}):(0,J.jsx)(lo,{orientation:`horizontal`,children:e.map((t,n)=>(0,J.jsx)(xl,{panelId:t,colIdx:n,totalCols:e.length,projectName:r},t))})}),t<n-1&&(0,J.jsx)(Sl,{orientation:`horizontal`})]})}function xl({panelId:e,colIdx:t,totalCols:n,projectName:r}){return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(po,{minSize:`15%`,defaultSize:`${Math.round(100/n)}%`,children:(0,J.jsx)(Jc,{panelId:e,projectName:r})}),t<n-1&&(0,J.jsx)(Sl,{orientation:`vertical`})]})}function Sl({orientation:e}){let t=e===`vertical`;return(0,J.jsx)(go,{className:`
|
|
11
11
|
group/handle relative flex items-center justify-center
|
|
12
12
|
${t?`w-px cursor-col-resize`:`h-px cursor-row-resize`}
|
|
13
13
|
bg-border/30 hover:bg-primary/30 active:bg-primary/50
|
|
14
14
|
transition-colors duration-150
|
|
15
15
|
`,children:(0,J.jsx)(`div`,{className:`absolute can-hover:opacity-0 can-hover:group-hover/handle:opacity-70 transition-opacity text-foreground/50`,children:t?(0,J.jsx)(Zn,{className:`size-3`}):(0,J.jsx)(Xn,{className:`size-3`})})})}var Cl=e=>Symbol.iterator in e,wl=e=>`entries`in e,Tl=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},El=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function Dl(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:Cl(e)&&Cl(t)?wl(e)&&wl(t)?Tl(e,t):El(e,t):Tl({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function Ol(e){let t=q.useRef(void 0);return n=>{let r=e(n);return Dl(t.current,r)?t.current:t.current=r}}var kl=e(ie(),1);function Al(e,t,n){let r=Array(e);return new Proxy(r,{get(r,i,a){if(typeof i==`string`){let a=i.charCodeAt(0);if(a>=48&&a<=57){let a=+i;if(Number.isInteger(a)&&a>=0&&a<e){let e=r[a];if(!e){let i=t[a*2];e=r[a]={index:a,key:n(a),start:i,size:t[a*2+1],end:i+t[a*2+1],lane:0}}return e}}if(i===`length`)return e}return Reflect.get(r,i,a)}})}function jl(e,t,n){let r=n.initialDeps??[],i,a=!0;function o(){let o=e();return o.length!==r.length||o.some((e,t)=>r[t]!==e)?(r=o,i=t(...o),n?.onChange&&!(a&&n.skipInitialOnChange)&&n.onChange(i),a=!1,i):i}return o.updateDeps=e=>{r=e},o}function Ml(e,t){if(e===void 0)throw Error(`Unexpected undefined${t?`: ${t}`:``}`);return e}var Nl=(e,t)=>Math.abs(e-t)<1.01,Pl=(e,t,n)=>{let r;return function(...i){e.clearTimeout(r),r=e.setTimeout(()=>t.apply(this,i),n)}},Q,Fl=()=>{if(Q!==void 0)return Q;if(typeof navigator>`u`)return Q=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return Q=!0;let e=navigator.maxTouchPoints;return Q=navigator.platform===`MacIntel`&&e!==void 0&&e>0},Il=e=>{let{offsetWidth:t,offsetHeight:n}=e;return{width:t,height:n}},Ll=e=>e,Rl=e=>{let t=Math.max(e.startIndex-e.overscan,0),n=Math.min(e.endIndex+e.overscan,e.count-1)-t+1,r=Array(n);for(let e=0;e<n;e++)r[e]=t+e;return r},zl=(e,t)=>{let n=e.scrollElement;if(!n)return;let r=e.targetWindow;if(!r)return;let i=e=>{let{width:n,height:r}=e;t({width:Math.round(n),height:Math.round(r)})};if(i(Il(n)),!r.ResizeObserver)return()=>{};let a=new r.ResizeObserver(t=>{let r=()=>{let e=t[0];if(e?.borderBoxSize){let t=e.borderBoxSize[0];if(t){i({width:t.inlineSize,height:t.blockSize});return}}i(Il(n))};e.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()});return a.observe(n,{box:`border-box`}),()=>{a.unobserve(n)}},Bl={passive:!0},Vl=typeof window>`u`?!0:`onscrollend`in window,Hl=(e,t,n)=>{let r=e.scrollElement;if(!r)return;let i=e.targetWindow;if(!i)return;let a=e.options.useScrollendEvent&&Vl,o=0,s=a?null:Pl(i,()=>t(o,!1),e.options.isScrollingResetDelay),c=e=>()=>{o=n(r),s?.(),t(o,e)},l=c(!0),u=c(!1);return r.addEventListener(`scroll`,l,Bl),a&&r.addEventListener(`scrollend`,u,Bl),()=>{r.removeEventListener(`scroll`,l),a&&r.removeEventListener(`scrollend`,u)}},Ul=(e,t)=>Hl(e,t,t=>{let{horizontal:n,isRtl:r}=e.options;return n?t.scrollLeft*(r&&-1||1):t.scrollTop}),Wl=(e,t,n)=>{if(n.options.useCachedMeasurements){let t=n.indexFromElement(e),r=n.options.getItemKey(t);return n.itemSizeCache.get(r)??n.options.estimateSize(t)}if(t?.borderBoxSize){let e=t.borderBoxSize[0];if(e)return Math.round(e[n.options.horizontal?`inlineSize`:`blockSize`])}if(!t){let t=n.indexFromElement(e),r=n.options.getItemKey(t),i=n.itemSizeCache.get(r);if(i!==void 0)return i}return e[n.options.horizontal?`offsetWidth`:`offsetHeight`]},Gl=(e,{adjustments:t=0,behavior:n},r)=>{var i,a;(a=(i=r.scrollElement)?.scrollTo)==null||a.call(i,{[r.options.horizontal?`left`:`top`]:e+t,behavior:n})},Kl=class{constructor(e){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var e;return((e=this.targetWindow?.performance)?.now)?.call(e)??Date.now()},this.observer=(()=>{let e=null,t=()=>e||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:e=new this.targetWindow.ResizeObserver(e=>{e.forEach(e=>{let t=()=>{let t=e.target,n=this.indexFromElement(t);if(!t.isConnected){this.observer.unobserve(t);for(let[e,n]of this.elementsCache)if(n===t){this.elementsCache.delete(e);break}return}this.shouldMeasureDuringScroll(n)&&this.resizeItem(n,this.options.measureElement(t,e,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(t):t()})}));return{disconnect:()=>{var n;(n=t())==null||n.disconnect(),e=null},observe:e=>t()?.observe(e,{box:`border-box`}),unobserve:e=>t()?.unobserve(e)}})(),this.range=null,this.setOptions=e=>{let t={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:Ll,rangeExtractor:Rl,onChange:()=>{},measureElement:Wl,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:`data-index`,initialMeasurementsCache:[],lanes:1,anchorTo:`start`,followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:`estimate`,useCachedMeasurements:!1};for(let n in e){let r=e[n];r!==void 0&&(t[n]=r)}let n=this.options,r=null,i=null,a=!1;if(n!==void 0&&n.enabled&&t.enabled&&t.anchorTo===`end`&&this.scrollElement!==null){let e=n.count,o=t.count,s=this.getMeasurements(),c=e>0?s[0]?.key??n.getItemKey(0):null,l=e>0?s[e-1]?.key??n.getItemKey(e-1):null;if(o!==e||e>0&&o>0&&(t.getItemKey(0)!==c||t.getItemKey(o-1)!==l)){a=!0;let c=e>0?this.getVirtualItemForOffset(this.getScrollOffset())??s[0]:null;c&&(r=[c.key,this.getScrollOffset()-c.start]);let u=t.followOnAppend===!0?`auto`:t.followOnAppend||null;u&&o>e&&this.isAtEnd(n.scrollEndThreshold)&&(e===0||t.getItemKey(o-1)!==l)&&(i=u)}}this.options=t,a&&(this.pendingMin=0,this.itemSizeCacheVersion++);let o=!1,s=0;if(r&&this.scrollOffset!==null){let[e,t]=r,n=this.getMeasurements(),{count:i,getItemKey:a}=this.options,c=0;for(;c<i&&a(c)!==e;)c++;if(c<i){let e=n[c];if(e){let n=e.start+t;n!==this.scrollOffset&&(s=n-this.scrollOffset,this.scrollOffset=n,o=!0)}}}(o||i)&&(this.pendingScrollAnchor=[o?r[0]:null,o?r[1]:0,i,s])},this.notify=e=>{var t,n;(n=(t=this.options).onChange)==null||n.call(t,this,e)},this.maybeNotify=jl(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),e=>{this.notify(e)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(e=>e()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{let e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,this.scrollElement&&`ownerDocument`in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=this.scrollElement?.window??null,this.elementsCache.forEach(e=>{this.observer.observe(e)}),this.unsubs.push(this.options.observeElementRect(this,e=>{this.scrollRect=e,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(e,t)=>{if(t&&this._intendedScrollOffset===null&&e===this.scrollOffset)return;this._intendedScrollOffset!==null&&Math.abs(e-this._intendedScrollOffset)<1.5&&(e=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0;let n=this.getScrollOffset();this.scrollDirection=t?n===e?this.scrollDirection:n<e?`forward`:`backward`:null,this.scrollOffset=e,this.isScrolling=t,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),`addEventListener`in this.scrollElement){let e=this.scrollElement,t=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},n=()=>{this._iosTouching=!1,!(!Fl()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};e.addEventListener(`touchstart`,t,Bl),e.addEventListener(`touchend`,n,Bl),this.unsubs.push(()=>{e.removeEventListener(`touchstart`,t),e.removeEventListener(`touchend`,n),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let t=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,t&&this.scrollElement&&this.options.enabled){let[e,n,r,i]=t;e!==null&&!r&&(Fl()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?i!==0&&(this._iosDeferredAdjustment+=i):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let e=this.getScrollOffset(),t=this.getMaxScrollOffset();if(e<0||e>t)return;let n=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(e,{adjustments:this.scrollAdjustments+=n,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?`width`:`height`]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset==`function`?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(e,t)=>{let n=new Map,r=new Map;for(let i=t-1;i>=0;i--){let t=e[i];if(n.has(t.lane))continue;let a=r.get(t.lane);if(a==null||t.end>a.end?r.set(t.lane,t):t.end<a.end&&n.set(t.lane,!0),n.size===this.options.lanes)break}return r.size===this.options.lanes?Array.from(r.values()).sort((e,t)=>e.end===t.end?e.index-t.index:e.end-t.end)[0]:void 0},this.getMeasurementOptions=jl(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(e,t,n,r,i,a,o)=>(this.prevLanes!==void 0&&this.prevLanes!==a&&(this.lanesChangedFlag=!0),this.prevLanes=a,this.pendingMin=null,{count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o}),{key:!1}),this.getMeasurements=jl(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:e,paddingStart:t,scrollMargin:n,getItemKey:r,enabled:i,lanes:a,laneAssignmentMode:o},s)=>{let c=this.itemSizeCache;if(!i)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>e)for(let t of this.laneAssignments.keys())t>=e&&this.laneAssignments.delete(t);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(e=>{this.itemSizeCache.set(e.key,e.size)}));let l=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===e&&(this.lanesSettling=!1),a===1){let i=this.options.gap,a=e*2,o=this._flatMeasurements;if(!o||o.length<a){let e=new Float64Array(a);o&&l>0&&e.set(o.subarray(0,l*2)),o=e,this._flatMeasurements=o}let s;if(l===0)s=t+n;else{let e=l-1;s=o[e*2]+o[e*2+1]+i}for(let t=l;t<e;t++){let e=r(t),n=c.get(e),a=typeof n==`number`?n:this.options.estimateSize(t);o[t*2]=s,o[t*2+1]=a,s+=a+i}let u=Al(e,o,r);return this.measurementsCache=u,u}let u=this.measurementsCache.slice(0,l),d=Array(a).fill(void 0);for(let e=0;e<l;e++){let t=u[e];t&&(d[t.lane]=e)}for(let i=l;i<e;i++){let e=r(i),a=this.laneAssignments.get(i),s,l,f=o===`estimate`||c.has(e);if(a!==void 0&&this.options.lanes>1){s=a;let e=d[s],r=e===void 0?void 0:u[e];l=r?r.end+this.options.gap:t+n}else{let e=this.options.lanes===1?u[i-1]:this.getFurthestMeasurement(u,i);l=e?e.end+this.options.gap:t+n,s=e?e.lane:i%this.options.lanes,this.options.lanes>1&&f&&this.laneAssignments.set(i,s)}let p=c.get(e),m=typeof p==`number`?p:this.options.estimateSize(i),h=l+m;u[i]={index:i,start:l,size:m,end:h,key:e,lane:s},d[s]=i}return this.measurementsCache=u,u},{key:!1,debug:()=>this.options.debug}),this.calculateRange=jl(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(e,t,n,r)=>e.length===0||t===0?(this.range=null,null):(this.range=Yl(e,t,n,r,r===1&&this._flatMeasurements!=null?this._flatMeasurements:null),this.range),{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=jl(()=>{let e=null,t=null,n=this.calculateRange();return n&&(e=n.startIndex,t=n.endIndex),this.maybeNotify.updateDeps([this.isScrolling,e,t]),[this.options.rangeExtractor,this.options.overscan,this.options.count,e,t]},(e,t,n,r,i)=>r===null||i===null?[]:e({startIndex:r,endIndex:i,overscan:t,count:n}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=e=>{let t=this.options.indexAttribute,n=e.getAttribute(t);return n?parseInt(n,10):(console.warn(`Missing attribute name '${t}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=e=>{if(!this.scrollState||this.scrollState.behavior!==`smooth`)return!0;let t=this.scrollState.index??this.getVirtualItemForOffset(this.scrollState.lastTargetOffset)?.index;if(t!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,t-n),i=Math.min(this.options.count-1,t+n);return e>=r&&e<=i}return!0},this.measureElement=e=>{if(!e){this.elementsCache.forEach((e,t)=>{e.isConnected||(this.observer.unobserve(e),this.elementsCache.delete(t))});return}let t=this.indexFromElement(e),n=this.options.getItemKey(t),r=this.elementsCache.get(n);r!==e&&(r&&this.observer.unobserve(r),this.observer.observe(e),this.elementsCache.set(n,e)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(t)&&this.resizeItem(t,this.options.measureElement(e,void 0,this))},this.resizeItem=(e,t)=>{if(e<0||e>=this.options.count)return;let n,r,i,a=this._flatMeasurements;if(this.options.lanes===1&&a!==null)i=this.options.getItemKey(e),r=a[e*2],n=a[e*2+1];else{let t=this.measurementsCache[e];if(!t)return;i=t.key,r=t.start,n=t.size}let o=t-(this.itemSizeCache.get(i)??n);if(o!==0){let a=this.options.anchorTo===`end`&&this.scrollState?.behavior!==`smooth`&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,s=a?this.getTotalSize():0,c=this.scrollState?.behavior!==`smooth`&&(this.shouldAdjustScrollPositionOnItemSizeChange===void 0?r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(i)||this.scrollDirection!==`backward`):this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[e]??{index:e,key:i,start:r,size:n,end:r+n,lane:0},o,this));(this.pendingMin===null||e<this.pendingMin)&&(this.pendingMin=e),this.itemSizeCache.set(i,t),this.itemSizeCacheVersion++,a?this.applyScrollAdjustment(this.getTotalSize()-s):c&&this.applyScrollAdjustment(o),this.notify(!1)}},this.getVirtualItems=jl(()=>[this.getVirtualIndexes(),this.getMeasurements()],(e,t)=>{let n=[];for(let r=0,i=e.length;r<i;r++){let i=t[e[r]];n.push(i)}return n},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=e=>{let t=this.getMeasurements();if(t.length===0)return;let n=this._flatMeasurements,r=this.options.lanes===1&&n!=null;return Ml(t[ql(0,t.length-1,r?e=>n[e*2]:e=>Ml(t[e]).start,e)])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if(`scrollHeight`in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let e=this.scrollElement.document.documentElement;return this.options.horizontal?e.scrollWidth-this.scrollElement.innerWidth:e.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(e=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=e,this.getOffsetForAlignment=(e,t,n=0)=>{if(!this.scrollElement)return 0;let r=this.getSize(),i=this.getScrollOffset();t===`auto`&&(t=e>=i+r?`end`:`start`),t===`center`?e+=(n-r)/2:t===`end`&&(e-=r);let a=this.getMaxScrollOffset();return Math.max(Math.min(a,e),0)},this.getOffsetForIndex=(e,t=`auto`)=>{e=Math.max(0,Math.min(e,this.options.count-1));let n=this.getSize(),r=this.getScrollOffset(),i=this.measurementsCache[e];if(!i)return;if(t===`auto`)if(i.end>=r+n-this.options.scrollPaddingEnd)t=`end`;else if(i.start<=r+this.options.scrollPaddingStart)t=`start`;else return[r,t];if(t===`end`&&e===this.options.count-1)return[this.getMaxScrollOffset(),t];let a=t===`end`?i.end+this.options.scrollPaddingEnd:i.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(a,t,i.size),t]},this.scrollToOffset=(e,{align:t=`start`,behavior:n=`auto`}={})=>{let r=this.getOffsetForAlignment(e,t);this.scrollState={index:null,align:t,behavior:n,startedAt:this.now(),lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollToIndex=(e,{align:t=`auto`,behavior:n=`auto`}={})=>{e=Math.max(0,Math.min(e,this.options.count-1));let r=this.getOffsetForIndex(e,t);if(!r)return;let[i,a]=r,o=this.now();this.scrollState={index:e,align:a,behavior:n,startedAt:o,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:n}),this.scheduleScrollReconcile()},this.scrollBy=(e,{behavior:t=`auto`}={})=>{let n=this.getScrollOffset()+e;this.scrollState={index:null,align:`start`,behavior:t,startedAt:this.now(),lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:t}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:e=`auto`}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:`end`,behavior:e});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:e})},this.getTotalSize=()=>{let e=this.getMeasurements(),t;if(e.length===0)t=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,r=this._flatMeasurements;t=r==null?e[n]?.end??0:r[n*2]+r[n*2+1]}else{let n=Array(this.options.lanes).fill(null),r=e.length-1;for(;r>=0&&n.some(e=>e===null);){let t=e[r];n[t.lane]===null&&(n[t.lane]=t.end),r--}t=Math.max(...n.filter(e=>e!==null))}return Math.max(t-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let e=[];if(this.itemSizeCache.size===0)return e;let t=this.getMeasurements();for(let n of t)n&&this.itemSizeCache.has(n.key)&&e.push({index:n.index,key:n.key,start:n.start,size:n.size,end:n.end,lane:n.lane});return e},this._scrollToOffset=(e,{adjustments:t,behavior:n})=>{this._intendedScrollOffset=e+(t??0),this.options.scrollToFn(e,{behavior:n,adjustments:t},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(e)}applyScrollAdjustment(e,t){e!==0&&(Fl()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=e:(this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=e,behavior:t}),this.scrollOffset!==null&&(this.scrollOffset+=this.scrollAdjustments,this.scrollAdjustments=0)))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId??=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()})}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index==null?void 0:this.getOffsetForIndex(this.scrollState.index,this.scrollState.align),t=e?e[0]:this.scrollState.lastTargetOffset,n=t!==this.scrollState.lastTargetOffset;if(!n&&Nl(t,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=1){this.getScrollOffset()!==t&&this._scrollToOffset(t,{adjustments:void 0,behavior:`auto`}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,n){let e=this.getSize()||600,n=Math.abs(t-this.getScrollOffset()),r=this.scrollState.behavior===`smooth`&&n>e;this.scrollState.lastTargetOffset=t,r||(this.scrollState.behavior=`auto`),this._scrollToOffset(t,{adjustments:void 0,behavior:r?`smooth`:`auto`})}this.scheduleScrollReconcile()}},ql=(e,t,n,r)=>{for(;e<=t;){let i=(e+t)/2|0,a=n(i);if(a<r)e=i+1;else if(a>r)t=i-1;else return i}return e>0?e-1:0};function Jl(e,t,n){let r=0;for(;r<=t;){let i=(r+t)/2|0,a=e[i*2];if(a<n)r=i+1;else if(a>n)t=i-1;else return i}return r>0?r-1:0}function Yl(e,t,n,r,i){let a=e.length-1;if(e.length<=r)return{startIndex:0,endIndex:a};if(r===1&&i!==null){let e=Jl(i,a,n),r=e,o=n+t;for(;r<a&&i[r*2]+i[r*2+1]<o;)r++;return{startIndex:e,endIndex:r}}let o=ql(0,a,t=>e[t].start,n),s=o;if(r===1)for(;s<a&&e[s].end<n+t;)s++;else if(r>1){let i=Array(r).fill(0);for(;s<a&&i.some(e=>e<n+t);){let t=e[s];i[t.lane]=t.end,s++}let c=Array(r).fill(n+t);for(;o>=0&&c.some(e=>e>=n);){let t=e[o];c[t.lane]=t.start,o--}o=Math.max(0,o-o%r),s=Math.min(a,s+(r-1-s%r))}return{startIndex:o,endIndex:s}}var Xl=typeof document<`u`?q.useLayoutEffect:q.useEffect;function Zl({useFlushSync:e=!0,directDomUpdates:t=!1,directDomUpdatesMode:n=`transform`,...r}){let i=q.useReducer(e=>e+1,0)[1],a=q.useRef({enabled:t,mode:n,container:null,lastSize:null,lastPositions:new WeakMap,prevRange:null});a.current.enabled=t,a.current.mode=n;let o=e=>{let t=a.current;if(!t.enabled||!t.container)return;let n=e.getTotalSize();if(n!==t.lastSize){t.lastSize=n;let r=e.options.horizontal?`width`:`height`;t.container.style[r]=`${n}px`}let r=!!e.options.horizontal,i=t.mode===`transform`,o=r?`left`:`top`,s=e.options.scrollMargin,c=e.getVirtualItems();for(let n of c){let a=n.start-s,c=e.elementsCache.get(n.key);c&&t.lastPositions.get(c)!==a&&(t.lastPositions.set(c,a),i?c.style.transform=r?`translate3d(${a}px, 0, 0)`:`translate3d(0, ${a}px, 0)`:c.style[o]=`${a}px`)}},s={...r,onChange:(t,n)=>{var s;let c=a.current,l=!0;if(c.enabled){o(t);let e=t.range,n=c.prevRange;l=!n||n.isScrolling!==t.isScrolling||n.startIndex!==e?.startIndex||n.endIndex!==e?.endIndex,l&&(c.prevRange=e?{startIndex:e.startIndex,endIndex:e.endIndex,isScrolling:t.isScrolling}:null)}l&&(e&&n?(0,kl.flushSync)(i):i()),(s=r.onChange)==null||s.call(r,t,n)}},[c]=q.useState(()=>{let e=new Kl(s);return Object.assign(e,{containerRef:t=>{let n=a.current;if(n.container=t,n.lastSize=null,t&&n.enabled){let r=e.getTotalSize();n.lastSize=r;let i=e.options.horizontal?`width`:`height`;t.style[i]=`${r}px`}}})});return c.setOptions(s),Xl(()=>c._didMount(),[]),Xl(()=>c._willUpdate()),Xl(()=>{o(c)}),c}function Ql(e){return Zl({observeElementRect:zl,observeElementOffset:Ul,scrollToFn:Gl,...e})}function $l({icon:e,title:t,children:n}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border shrink-0`,children:[(0,J.jsx)(e,{className:`size-4 text-primary`}),(0,J.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary flex-1`,children:t}),n]})}var eu=400,tu=q.createContext(!1),nu=q.createContext({});function ru({children:e,...t}){let n=_t(),[r,i]=(0,q.useState)(!1);return n?(0,J.jsx)(tu.Provider,{value:!0,children:(0,J.jsx)(xt.Provider,{value:{open:r,setOpen:i},children:e})}):(0,J.jsx)(He,{...t,children:e})}function iu({children:e,asChild:t,...n}){let r=q.useContext(tu),{setOpen:i}=q.useContext(xt),a=(0,q.useRef)(void 0),o=(0,q.useRef)(!1);return r?(0,J.jsx)(`div`,{onTouchStart:(0,q.useCallback)(e=>{e.stopPropagation(),o.current=!1,a.current=setTimeout(()=>{i(!0),o.current=!0},eu)},[i]),onTouchMove:(0,q.useCallback)(()=>{clearTimeout(a.current)},[]),onTouchEnd:(0,q.useCallback)(()=>{clearTimeout(a.current)},[]),onClickCapture:(0,q.useCallback)(e=>{o.current&&=(e.preventDefault(),e.stopPropagation(),!1)},[]),onContextMenu:(0,q.useCallback)(e=>{e.preventDefault(),e.stopPropagation()},[]),className:`contents`,children:e}):(0,J.jsx)(Ue,{asChild:t,...n,children:e})}function au({children:e,className:t,...n}){if(!q.useContext(tu))return(0,J.jsx)(Re,{className:t,...n,children:e});let{open:r,setOpen:i}=q.useContext(xt);return(0,J.jsx)(Tt,{open:r,onClose:()=>i(!1),className:H(`p-2`,t),children:(0,J.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto`,children:e})})}function ou({children:e,className:t,variant:n,onClick:r,disabled:i,...a}){return q.useContext(tu)?(0,J.jsx)(Ct,{className:t,variant:n,disabled:i,onClick:r,children:e}):(0,J.jsx)(Be,{className:t,variant:n,disabled:i,onClick:r,...a,children:e})}function su({className:e,...t}){return q.useContext(tu)?(0,J.jsx)(bt,{className:e}):(0,J.jsx)(ze,{className:e,...t})}function cu({value:e,onValueChange:t,children:n,...r}){return q.useContext(tu)?(0,J.jsx)(nu.Provider,{value:{value:e,onValueChange:t},children:n}):(0,J.jsx)(Ie,{value:e,onValueChange:t,...r,children:n})}function lu({value:e,children:t,className:n,...r}){let i=q.useContext(tu),{value:a,onValueChange:o}=q.useContext(nu);return i?(0,J.jsxs)(Ct,{className:n,onClick:()=>o?.(e),children:[(0,J.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:a===e&&(0,J.jsx)(Ke,{className:`size-2 fill-current`})}),t]}):(0,J.jsx)(Ne,{value:e,className:n,...r,children:t})}function uu({children:e,...t}){return q.useContext(tu)?(0,J.jsx)(J.Fragment,{children:e}):(0,J.jsx)(Ve,{...t,children:e})}function du({children:e,className:t,...n}){return q.useContext(tu)?(0,J.jsx)(St,{className:t,children:e}):(0,J.jsx)(Le,{className:t,...n,children:e})}function fu({children:e,className:t,...n}){return q.useContext(tu)?(0,J.jsx)(yt,{className:t,children:e}):(0,J.jsx)(Pe,{className:t,...n,children:e})}var pu={M:`text-warning`,A:`text-success`,D:`text-error`,R:`text-primary`,C:`text-accent-2`,U:`text-text-3`};function mu(e){let t=new Map;for(let n of e.untracked)t.set(n,`U`);for(let n of e.unstaged){let e=n.status===`?`?`U`:n.status;t.set(n.path,e)}for(let n of e.staged){let e=n.status===`?`?`U`:n.status;t.set(n.path,e)}return t}function hu(e){let t={D:5,A:4,M:3,R:2,C:1,U:0},n=new Map;for(let[r,i]of e){let e=r.split(`/`);for(let r=1;r<e.length;r++){let a=e.slice(0,r).join(`/`),o=n.get(a);(!o||t[i]>t[o])&&n.set(a,i)}}return n}var gu=at()(e=>({counts:new Map,fileStatuses:new Map,folderStatuses:new Map,meta:new Map,setCount:(t,n)=>{e(e=>{if(e.counts.get(t)===n)return e;let r=new Map(e.counts);return r.set(t,n),{counts:r}})},setFileStatuses:(t,n)=>{let r=mu(n),i=hu(r);e(e=>{let n=new Map(e.fileStatuses);n.set(t,r);let a=new Map(e.folderStatuses);return a.set(t,i),{fileStatuses:n,folderStatuses:a}})},setMeta:(t,n)=>{e(e=>{let r=e.meta.get(t);if(r&&r.branch===n.current&&r.ahead===n.ahead&&r.behind===n.behind&&r.tracking===n.tracking)return e;let i=new Map(e.meta);return i.set(t,{branch:n.current,ahead:n.ahead,behind:n.behind,tracking:n.tracking}),{meta:i}})}}));function _u(e,t){let n=gu(e=>e.setCount),r=gu(e=>e.setFileStatuses),i=gu(e=>e.setMeta),a=(0,q.useCallback)(async()=>{if(e)try{let t=await R.get(`${L(e)}/git/status`);n(e,t.staged.length+t.unstaged.length+t.untracked.length),r(e,t),i(e,t)}catch{}},[e,n,r]);(0,q.useEffect)(()=>{if(t)return;a();let e=setInterval(a,1e4);return()=>clearInterval(e)},[a,t])}var vu=`ring-1 ring-dashed ring-primary bg-primary/10`,yu={ts:{icon:On,color:`text-blue-400`},tsx:{icon:On,color:`text-blue-400`},js:{icon:On,color:`text-yellow-400`},jsx:{icon:On,color:`text-yellow-400`},py:{icon:On,color:`text-green-400`},rs:{icon:On,color:`text-orange-400`},go:{icon:On,color:`text-cyan-400`},c:{icon:On,color:`text-blue-300`},cpp:{icon:On,color:`text-blue-300`},java:{icon:On,color:`text-red-400`},rb:{icon:On,color:`text-red-400`},php:{icon:On,color:`text-purple-400`},swift:{icon:On,color:`text-orange-400`},kt:{icon:On,color:`text-purple-400`},dart:{icon:On,color:`text-cyan-400`},sh:{icon:On,color:`text-green-300`},html:{icon:On,color:`text-orange-400`},css:{icon:On,color:`text-blue-400`},scss:{icon:On,color:`text-pink-400`},json:{icon:Dn,color:`text-yellow-400`},yaml:{icon:In,color:`text-orange-300`},yml:{icon:In,color:`text-orange-300`},toml:{icon:In,color:`text-orange-300`},ini:{icon:In,color:`text-orange-300`},env:{icon:In,color:`text-yellow-300`},csv:{icon:Pn,color:`text-green-400`},xls:{icon:Pn,color:`text-green-400`},xlsx:{icon:Pn,color:`text-green-400`},md:{icon:Fn,color:`text-text-secondary`},txt:{icon:Fn,color:`text-text-secondary`},log:{icon:Fn,color:`text-text-subtle`},pdf:{icon:Fn,color:`text-red-400`},png:{icon:jn,color:`text-green-400`},jpg:{icon:jn,color:`text-green-400`},jpeg:{icon:jn,color:`text-green-400`},gif:{icon:jn,color:`text-green-400`},svg:{icon:jn,color:`text-yellow-400`},webp:{icon:jn,color:`text-green-400`},ico:{icon:jn,color:`text-green-400`},bmp:{icon:jn,color:`text-green-400`},mp4:{icon:Mn,color:`text-purple-400`},webm:{icon:Mn,color:`text-purple-400`},mov:{icon:Mn,color:`text-purple-400`},avi:{icon:Mn,color:`text-purple-400`},mkv:{icon:Mn,color:`text-purple-400`},mp3:{icon:An,color:`text-pink-400`},wav:{icon:An,color:`text-pink-400`},ogg:{icon:An,color:`text-pink-400`},flac:{icon:An,color:`text-pink-400`},db:{icon:Ze,color:`text-amber-400`},sqlite:{icon:Ze,color:`text-amber-400`},sqlite3:{icon:Ze,color:`text-amber-400`},sql:{icon:Ze,color:`text-amber-400`},zip:{icon:En,color:`text-amber-300`},tar:{icon:En,color:`text-amber-300`},gz:{icon:En,color:`text-amber-300`},rar:{icon:En,color:`text-amber-300`},"7z":{icon:En,color:`text-amber-300`}},bu={icon:Ln};function xu(e){return yu[e.split(`.`).pop()?.toLowerCase()??``]??bu}function Su({node:e,isDir:t,projectName:n,selectedFiles:r,compareSelection:i,clipboard:a,onAction:o}){return(0,J.jsxs)(au,{children:[t&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ou,{onClick:()=>o(`new-file`,e),children:`New File`}),(0,J.jsx)(ou,{onClick:()=>o(`new-folder`,e),children:`New Folder`}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{onClick:()=>o(`open-in-file-explorer`,e),children:[(0,J.jsx)(zn,{className:`size-3.5 mr-2`}),`Open in File Explorer`]}),(0,J.jsxs)(ou,{onClick:()=>o(`open-in-terminal`,e),children:[(0,J.jsx)($r,{className:`size-3.5 mr-2`}),`Open in Terminal`]}),(0,J.jsx)(su,{})]}),(0,J.jsx)(ou,{onClick:()=>o(`cut`,e),children:`Cut`}),(0,J.jsx)(ou,{onClick:()=>o(`copy-file`,e),children:`Copy`}),t&&a&&(0,J.jsx)(ou,{onClick:()=>o(`paste`,e),children:`Paste`}),(0,J.jsx)(su,{}),(0,J.jsx)(ou,{onClick:()=>o(`rename`,e),children:`Rename`}),(0,J.jsx)(ou,{variant:`destructive`,onClick:()=>o(`delete`,e),children:`Delete`}),(0,J.jsx)(su,{}),(0,J.jsx)(ou,{onClick:()=>o(`copy-path`,e),children:`Copy Path`}),(0,J.jsx)(ou,{onClick:()=>o(`copy-full-path`,e),children:`Copy Full Path`}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{onClick:()=>o(`download`,e),children:[(0,J.jsx)(Qe,{className:`size-3.5 mr-2`}),`Download`,t?` as Zip`:``]}),!t&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(su,{}),(0,J.jsx)(ou,{onClick:()=>o(`select-for-compare`,e),children:`Select for Compare`}),i&&i.projectName===n&&i.filePath!==e.path&&(0,J.jsxs)(ou,{onClick:()=>o(`compare-with-selected`,e),children:[`Compare with Selected (`,i.label,`)`]})]}),!t&&r.length===2&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(su,{}),(0,J.jsx)(ou,{onClick:()=>o(`compare-selected`,e),children:`Compare Selected`})]})]})}var Cu=`ppm-explorer-view`,wu={sort:{key:`name`,dir:`asc`},viewMode:`list`,showHidden:!1};function Tu(){try{let e=localStorage.getItem(Cu);if(!e)return wu;let t=JSON.parse(e);return{sort:t.sort?.key?t.sort:wu.sort,viewMode:t.viewMode??wu.viewMode,showHidden:t.showHidden??wu.showHidden}}catch{return wu}}function Eu(e){try{localStorage.setItem(Cu,JSON.stringify(e))}catch{}}function Du(e){return{path:e,history:[e],historyIndex:0,entries:[],breadcrumbs:[],parent:null,sep:`/`,truncated:!1,loading:!0,error:null,selection:new Set,anchor:null,filter:``,inlineEdit:null}}var Ou=at((e,t)=>({...Tu(),slices:{},ensure:(n,r)=>{t().slices[n]||e(e=>({slices:{...e.slices,[n]:Du(r)}}))},discard:t=>{e(e=>{if(!e.slices[t])return e;let n={...e.slices};return delete n[t],{slices:n}})},patch:(t,n)=>{e(e=>{let r=e.slices[t];return r?{slices:{...e.slices,[t]:{...r,...n}}}:e})},setPrefs:t=>{e(e=>{let n={sort:t.sort??e.sort,viewMode:t.viewMode??e.viewMode,showHidden:t.showHidden??e.showHidden};return Eu(n),n})}})),ku=new Set;function Au(...e){for(let t of e)if(t)for(let e of ku)e(t)}function ju(e){return ku.add(e),()=>ku.delete(e)}var Mu=`application/x-ppm-paths`,Nu=`application/x-ppm-path`;function Pu(e){return/^[a-zA-Z]:[\\/]/.test(e)||e.startsWith(`\\\\`)}function Fu(e){let t=e.replace(/\\/g,`/`).replace(/\/+$/,``);return Pu(e)?t.toLowerCase():t}function Iu(e){return JSON.stringify(e)}function Lu(e){if(!e)return null;let t;try{t=JSON.parse(e)}catch{return null}if(typeof t!=`object`||!t)return null;let n=t;if(!Array.isArray(n.paths))return null;let r=n.paths.filter(e=>typeof e==`string`&&e.length>0);if(r.length===0)return null;let i={paths:r,origin:n.origin===`tree`?`tree`:`explorer`};return typeof n.projectName==`string`&&(i.projectName=n.projectName),i}function Ru(e,t){let n=Fu(t);return e.some(e=>{let t=Fu(e);return n===t||n.startsWith(`${t}/`)})}function zu(e,t){let n=Fu(t);return e.every(e=>{let t=Fu(e),r=t.lastIndexOf(`/`);return(r<=0?t.slice(0,r+1):t.slice(0,r))===n})}function Bu(e){return e.ctrlKey||e.altKey?`copy`:`move`}function Vu(e){return e.map(e=>{let t=e.replace(/\\/g,`/`);return`file://${(t.startsWith(`/`)?t:`/${t}`).split(`/`).map(encodeURIComponent).join(`/`)}`}).join(`\r
|
|
16
16
|
`)}var Hu=null;function Uu(e){Hu=e}function Wu(){return Hu}function Gu(){Hu=null}typeof window<`u`&&(window.addEventListener(`dragend`,Gu),window.addEventListener(`drop`,Gu));function Ku(e,t){return t?(e.current++,e.current===1):!1}function qu(e,t){return t?(e.current=Math.max(0,e.current-1),e.current===0):!1}function Ju(e){e.current=0}var Yu=class extends Error{constructor(e,t,n,r){super(e),this.code=t,this.status=n,this.hint=r,this.name=`FsError`}};async function Xu(e,t={}){let n=it(),r={"Content-Type":`application/json`,"x-ppm-client":`web`};n&&(r.Authorization=`Bearer ${n}`);let i=await fetch(e,{...t,headers:{...r,...t.headers}}),a;try{a=await i.json()}catch{throw new Yu(i.ok?`Empty response from server`:`Server error (HTTP ${i.status})`,`EUNKNOWN`,i.status)}if(!i.ok||a.ok===!1)throw new Yu(a.error??`HTTP ${i.status}`,a.code??`EUNKNOWN`,i.status,a.hint);return a.data}var Zu=e=>JSON.stringify(e),Qu=encodeURIComponent,$u={browse(e,t={}){let n=t.showHidden?`&showHidden=true`:``;return Xu(`/api/fs/browse?path=${Qu(e)}${n}`,{signal:t.signal})},stat(e,t){return Xu(`/api/fs/stat?path=${Qu(e)}`,{signal:t})},copy(e,t){return Xu(`/api/fs/copy`,{method:`POST`,body:Zu({source:e,destination:t})})},move(e,t){return Xu(`/api/fs/move`,{method:`POST`,body:Zu({source:e,destination:t})})},rename(e,t){return Xu(`/api/fs/rename`,{method:`POST`,body:Zu({path:e,newName:t})})},touch(e){return Xu(`/api/fs/touch`,{method:`POST`,body:Zu({path:e})})},mkdir(e,t=!1){return Xu(`/api/fs/mkdir`,{method:`POST`,body:Zu({path:e,gitInit:t})})},remove(e,t=!1){return Xu(`/api/fs/delete`,{method:`DELETE`,body:Zu({path:e,permanent:t})})},async downloadUrl(e){let{token:t}=await Xu(`/api/fs/download/token`,{method:`POST`,body:Zu({path:e})});return`/api/fs/raw?path=${Qu(e)}&download=true&dl_token=${Qu(t)}`},uploadUrl(e,t){return`/api/fs/upload?path=${Qu(e)}&overwrite=${t?`1`:`0`}`}};function ed(e){return e instanceof Yu?e.hint??e.message:e instanceof Error?e.message:void 0}function td(e){return e==null?``:e<1024?`${e} B`:e<1024*1024?`${(e/1024).toFixed(1)} KB`:e<1024*1024*1024?`${(e/(1024*1024)).toFixed(1)} MB`:`${(e/(1024*1024*1024)).toFixed(2)} GB`}function nd(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`now`;if(n<60)return`${n}m ago`;let r=Math.floor(n/60);return r<24?`${r}h ago`:`${Math.floor(r/24)}d ago`}function rd(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?``:t.toLocaleString()}function id(e){return e==null?``:(e&511).toString(8).padStart(3,`0`)}function ad(e,t){let n=e.endsWith(t)&&e.length>t.length?e.slice(0,-t.length):e,r=n.lastIndexOf(t);if(r<0)return n;if(r===0)return t;let i=n.slice(0,r);return i.endsWith(`:`)?i+t:i}function od(e,t,n){return e.endsWith(n)?`${e}${t}`:`${e}${n}${t}`}function sd(e,t){let n=e.lastIndexOf(`.`);return n<=0?`${e} (${t})`:`${e.slice(0,n)} (${t})${e.slice(n)}`}var cd=99;async function ld(e){try{return await $u.stat(e),!0}catch(e){return!(e instanceof Yu&&e.code===`ENOENT`)}}async function ud(e,t,n){for(let r=2;r<=cd;r++){let i=sd(t,r);if(!await ld(od(e,i,n)))return i}return null}async function dd(e,t,n){n===`copy`?await $u.copy(e,t):await $u.move(e,t)}async function fd(e,t,n,r){let i={succeeded:0,skipped:0,failed:0},a=new Set([t]);r.startBatch?.();try{await pd(e,t,n,r,i,a)}finally{r.endBatch?.()}return Au(...a),i}async function pd(e,t,n,r,i,a){for(let o of e){let e=o.split(/[/\\]/).filter(Boolean).pop()??o,s=ad(o,r.sep);if(a.add(s),n===`move`&&s===t){i.skipped++;continue}let c=od(t,e,r.sep);if(n===`copy`&&s===t){let a=await ud(t,e,r.sep);if(!a){i.failed++,z.error(`Copy failed: ${e}`,{description:`No free name available`});continue}c=od(t,a,r.sep);try{await dd(o,c,n),i.succeeded++}catch(t){i.failed++,z.error(`Copy failed: ${e}`,{description:ed(t)})}continue}try{await dd(o,c,n),i.succeeded++;continue}catch(t){if(!(t instanceof Yu)||t.code!==`EEXIST`){i.failed++,z.error(`${n===`copy`?`Copy`:`Move`} failed: ${e}`,{description:ed(t)});continue}}let l=await r.resolve({name:e,destination:c});if(l===`skip`){i.skipped++;continue}if(l===`keep-both`){try{let a=await ud(t,e,r.sep);if(!a)throw Error(`No free name available`);c=od(t,a,r.sep),await dd(o,c,n),i.succeeded++}catch(t){i.failed++,z.error(`${n===`copy`?`Copy`:`Move`} failed: ${e}`,{description:ed(t)})}continue}try{await $u.remove(c,!1)}catch(t){if(!(t instanceof Yu)||t.code!==`NO_TRASH`){i.failed++,z.error(`Could not remove existing ${e}`,{description:ed(t)});continue}if(!await r.confirmPermanentOverwrite(e)){i.skipped++;continue}try{await $u.remove(c,!0)}catch(t){i.failed++,z.error(`Could not remove existing ${e}`,{description:ed(t)});continue}}try{await dd(o,c,n),i.succeeded++}catch(t){i.failed++,z.error(`${e} was removed but the replacement could not be written`,{description:ed(t)})}}}function md(e,t,n){e.length!==0&&rs.getState().setClipboard({paths:[...e],operation:t,origin:n})}async function hd(e,t){let n=rs.getState().clipboard;if(!n||n.paths.length===0)return;let r=await fd(n.paths,e,n.operation===`cut`?`move`:`copy`,t);if(n.operation===`cut`&&r.failed===0&&rs.getState().setClipboard(null),r.succeeded>0){let e=n.operation===`cut`?`Moved`:`Copied`;z.success(`${e} ${r.succeeded} item${r.succeeded===1?``:`s`}`)}}async function gd(e,t,n,r){if(e.paths.length!==0){if(Ru(e.paths,t)){z.error(`Cannot place an item inside itself`);return}await r(e.paths,t,n)}}function _d(e){return async(t,n,r)=>{await fd(t,n,r,e)}}var vd=12,yd=12;function bd(e,t){if(typeof document>`u`||t.length===0)return;let n=t.length===1?t[0]:`${t.length} items`,r=document.createElement(`div`);r.textContent=n,r.style.cssText=[`position:fixed`,`top:-1000px`,`left:-1000px`,`padding:4px 10px`,`border-radius:6px`,`font:500 12px/1.4 var(--x-font, system-ui, sans-serif)`,`color:var(--text, #fff)`,`background:var(--panel-2, #2a2a2a)`,`border:1px solid var(--border, #444)`,`box-shadow:0 2px 8px rgba(0,0,0,.35)`,`white-space:nowrap`,`pointer-events:none`].join(`;`),document.body.appendChild(r);try{e.setDragImage(r,vd,yd)}catch{}requestAnimationFrame(()=>r.remove())}var xd=400,Sd=10;function Cd(){let[e,t]=(0,q.useState)(()=>typeof window<`u`&&window.matchMedia?.(`(pointer: coarse)`).matches===!0);return(0,q.useEffect)(()=>{let e=window.matchMedia?.(`(pointer: coarse)`);if(!e)return;let n=()=>t(e.matches);return e.addEventListener(`change`,n),()=>e.removeEventListener(`change`,n)},[]),e}function wd(e){let t=Cd(),n=(0,q.useRef)(null),r=(0,q.useRef)(null),i=(0,q.useRef)(!1),a=(0,q.useCallback)(()=>{n.current&&clearTimeout(n.current),n.current=null},[]);(0,q.useEffect)(()=>a,[a]);let o=(0,q.useCallback)(t=>{let o=t.touches[0];if(!o)return;let s=t.currentTarget;r.current={x:o.clientX,y:o.clientY},i.current=!1,a(),n.current=setTimeout(()=>{i.current=!0,e?.(),s.dispatchEvent(new MouseEvent(`contextmenu`,{bubbles:!0,cancelable:!0,clientX:o.clientX,clientY:o.clientY}))},xd)},[a,e]),s=(0,q.useCallback)(e=>{let t=e.touches[0];!t||!r.current||(Math.abs(t.clientX-r.current.x)>Sd||Math.abs(t.clientY-r.current.y)>Sd)&&a()},[a]);return t?{onTouchStart:o,onTouchMove:s,onTouchEnd:a}:{}}function Td(e){return e.split(/[/\\]/).filter(Boolean).pop()??e}function Ed(e){let{paths:t,names:n,origin:r,projectName:i,extraData:a,disabled:o,onDragStarted:s}=e,c=!Cd()&&!o&&t.length>0,l=(0,q.useCallback)(e=>{s?.();let o={paths:t,origin:r,...i?{projectName:i}:{}},c=e.dataTransfer;c.setData(Mu,Iu(o)),c.setData(`text/uri-list`,Vu(t)),c.setData(`text/plain`,t.join(`
|
|
17
|
-
`));for(let[e,t]of Object.entries(a??{}))c.setData(e,t);c.effectAllowed=`copyMove`,bd(c,n??t.map(Td)),Uu(o)},[t,n,r,i,a,s]);return(0,q.useMemo)(()=>c?{draggable:!0,onDragStart:l,onDragEnd:Gu}:{},[c,l])}function Dd({types:e,payload:t,targetDir:n,modifiers:r}){if(!e.includes(`application/x-ppm-paths`))return{accept:!1,reason:`not-an-entry-drag`};if(n==null||n===``)return{accept:!1,reason:`no-target`};let i=Bu(r);return t?Ru(t.paths,n)?{accept:!1,reason:`self-or-descendant`}:i===`move`&&zu(t.paths,n)?{accept:!1,reason:`same-directory`}:{accept:!0,op:i}:{accept:!0,op:i}}var Od=120,kd=800;function Ad(e,t,n){return Dd({types:Array.from(e.dataTransfer.types),payload:n,targetDir:t,modifiers:{ctrlKey:e.ctrlKey,altKey:e.altKey}})}function jd(e){let{targetDir:t,onDropEntries:n,springLoad:r,disabled:i}=e,[a,o]=(0,q.useState)(!1),s=(0,q.useRef)(0),c=(0,q.useRef)([]),l=(0,q.useCallback)(()=>{for(let e of c.current)clearTimeout(e);c.current=[]},[]),u=(0,q.useCallback)(()=>{s.current=0,l(),o(!1)},[l]);return(0,q.useEffect)(()=>l,[l]),{isOver:a,handlers:{onDragEnter:(0,q.useCallback)(e=>{if(i||!e.dataTransfer.types.includes(`application/x-ppm-paths`))return;let n=Ad(e,t,Wu());n.accept&&(e.preventDefault(),e.stopPropagation()),s.current++,!(s.current>1||!n.accept)&&(c.current.push(setTimeout(()=>o(!0),Od)),r&&c.current.push(setTimeout(r,kd)))},[i,t,r]),onDragOver:(0,q.useCallback)(e=>{if(i)return;let n=Ad(e,t,Wu());n.accept&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=n.op===`copy`?`copy`:`move`)},[i,t]),onDragLeave:(0,q.useCallback)(e=>{s.current!==0&&(e.stopPropagation(),s.current--,s.current===0&&(l(),o(!1)))},[l]),onDrop:(0,q.useCallback)(e=>{if(i)return;let r=Lu(e.dataTransfer.getData(`application/x-ppm-paths`))??Wu();Gu();let a=Ad(e,t,r);if(!a.accept){a.reason!==`not-an-entry-drag`&&(e.preventDefault(),e.stopPropagation()),u();return}if(!r||t==null){u();return}e.preventDefault(),e.stopPropagation(),u(),n(r,a.op,t)},[i,t,n,u])}}}function Md(e){return e.dataTransfer.types.includes(`Files`)&&!e.dataTransfer.types.includes(`application/x-ppm-path`)}function Nd(e,t,n){return t&&e?.origin===`tree`&&e.projectName===n}function Pd(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function Fd(e){let{path:t,name:n,isDir:r,effectivePath:i,isSelected:a,selectedFiles:o,isExpanded:s,projectName:c,projectRoot:l,toggleExpand:u,onFileDrop:d,transferRun:f}=e,[p,m]=(0,q.useState)(!1),h=(0,q.useRef)(0),g=Ed({paths:(a&&o.length>1?o:[t]).map(e=>l?$o(l,e):e),origin:`tree`,projectName:c,extraData:{[Nu]:r?`${t}/`:t}}),_=r?i:Pd(t),v=jd({targetDir:r&&l?$o(l,_):null,onDropEntries:(e,t,n)=>void gd(e,n,t,f),springLoad:r&&!s?()=>u(c,t):void 0});function y(e){return e.type===`drop`?Lu(e.dataTransfer.getData(Mu)):Wu()}function b(e){return Md(e)?!0:Nd(y(e),e.dataTransfer.types.includes(Nu),c)}function x(e){b(e)&&(e.preventDefault(),e.stopPropagation(),Ku(h,!0)&&m(!0))}function S(e){e.stopPropagation(),qu(h,!0)&&m(!1)}function C(e){b(e)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=Md(e)?`copy`:`move`)}function w(e){if(e.preventDefault(),e.stopPropagation(),Ju(h),m(!1),Md(e)){e.dataTransfer.files.length>0&&d(_,e.dataTransfer.files);return}let t=e.dataTransfer.getData(Nu).replace(/\/$/,``);if(!t||t===_||_.startsWith(`${t}/`))return;let n=Pd(t);if(n===_)return;let r=t.includes(`/`)?t.slice(t.lastIndexOf(`/`)+1):t,i=_?`${_}/${r}`:r;R.post(`${L(c)}/files/move`,{source:t,destination:i}).then(()=>{let e=rs.getState();e.invalidateIndex(),e.loadIndex(c),e.invalidateFolder(c,n),e.invalidateFolder(c,_),l&&Au($o(l,n),$o(l,_))}).catch(e=>{z.error(e instanceof Error?e.message:`Move failed`)})}return{entrySource:g,isDragOver:p||v.isOver,containerHandlers:{onDragEnter:e=>{b(e)?x(e):v.handlers.onDragEnter(e)},onDragLeave:e=>{b(e)?S(e):v.handlers.onDragLeave(e)},onDragOver:e=>{b(e)?C(e):v.handlers.onDragOver(e)},onDrop:e=>{b(e)?w(e):v.handlers.onDrop(e)}}}}var Id=(0,q.memo)(function({row:e,projectName:t,onAction:n,onFileDrop:r,onFileOpen:i,transferRun:a}){let{node:o,effectiveNode:s,displayName:c,depth:l}=e,{expandedPaths:u,loadedPaths:d,inflight:f,toggleExpand:p,selectedFiles:m,toggleFileSelect:h,clipboard:g,focusedPath:_,setFocusedPath:v}=rs(Ol(e=>({expandedPaths:e.expandedPaths,loadedPaths:e.loadedPaths,inflight:e.inflight,toggleExpand:e.toggleExpand,selectedFiles:e.selectedFiles,toggleFileSelect:e.toggleFileSelect,clipboard:e.clipboard,focusedPath:e.focusedPath,setFocusedPath:e.setFocusedPath}))),y=G(e=>e.openTab),b=W(e=>e.activeProject?.path),x=fs(e=>e.selection),S=o.type===`directory`,C=gu(e=>(S?e.folderStatuses.get(t):e.fileStatuses.get(t))?.get(o.path)),w=C?pu[C]:void 0,T=u.has(o.path),E=m.includes(o.path),D=o.ignored===!0,O=g?.operation===`cut`&&b!=null&&g.paths.includes($o(b,o.path)),k=_===o.path||_===s.path,A=S&&T&&!d.has(s.path)&&f.has(s.path),j=(0,q.useRef)(null);(0,q.useEffect)(()=>{k&&j.current&&j.current.scrollIntoView({block:`nearest`})},[k]);function M(e){if(e.metaKey||e.ctrlKey){v(o.path),h(o.path);return}if(e.shiftKey&&_!=null){let e=ss(),t=e.indexOf(_),n=e.indexOf(s.path);if(t>=0&&n>=0){let r=Math.min(t,n),i=Math.max(t,n);rs.getState().setSelectedFiles(e.slice(r,i+1))}return}if(v(o.path),rs.getState().clearSelection(),S){p(t,o.path);return}let n=o.name.split(`.`).pop()?.toLowerCase()??``;y({type:n===`db`||n===`sqlite`||n===`sqlite3`?`sqlite`:`editor`,title:o.name,metadata:{filePath:o.path,projectName:t},projectId:t,closable:!0}),i?.()}let ee=Fd({path:o.path,name:o.name,isDir:S,effectivePath:s.path,isSelected:E,selectedFiles:m,isExpanded:T,projectName:t,projectRoot:b,toggleExpand:p,onFileDrop:r,transferRun:a}),{icon:N,color:P}=S?{icon:T?zn:Wn,color:T?`text-primary`:`text-text-3`}:xu(o.name);return(0,J.jsx)(`div`,{...ee.containerHandlers,children:(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`button`,{ref:j,...ee.entrySource,onClick:M,className:H(`flex items-center w-full gap-1.5 px-2 py-1 rounded-[var(--rad-sm)] text-[13px]`,`min-h-[32px] md:min-h-[26px] hover:bg-surface-elevated transition-colors text-left`,`select-none`,(D||O)&&`opacity-40`,k&&`bg-surface-elevated`,E&&`bg-accent-wash`,ee.isDragOver&&`ring-1 ring-dashed ring-primary bg-primary/10`),style:{paddingLeft:`${l*16+8}px`},children:[S?A?(0,J.jsx)(K,{className:`size-3.5 shrink-0 text-text-subtle animate-spin`}):T?(0,J.jsx)(on,{className:`size-3.5 shrink-0 text-text-subtle`}):(0,J.jsx)(We,{className:`size-3.5 shrink-0 text-text-subtle`}):(0,J.jsx)(`span`,{className:`w-3.5 shrink-0`}),(0,J.jsx)(N,{className:H(`size-4 shrink-0`,P??`text-text-secondary`)}),(0,J.jsx)(`span`,{className:H(`truncate`,w??(E?`text-text`:S&&T?`text-text font-medium`:`text-text-2`)),children:c}),C&&!S&&(0,J.jsx)(`span`,{className:H(`text-[10px] ml-auto shrink-0 font-mono`,w),children:C})]})}),(0,J.jsx)(Su,{node:o,isDir:S,projectName:t,selectedFiles:m,compareSelection:x,clipboard:g,onAction:n})]})})});function Ld({defaultValue:e,placeholder:t,depth:n,icon:r,onConfirm:i,onCancel:a}){let[o,s]=(0,q.useState)(e),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),f=(0,q.useRef)(null),p=(0,q.useRef)(!1);(0,q.useEffect)(()=>{let t=f.current;t&&requestAnimationFrame(()=>{if(t.focus(),e){let n=e.lastIndexOf(`.`);t.setSelectionRange(0,n>0?n:e.length)}})},[e]);let m=(0,q.useCallback)(async()=>{if(p.current||u)return;let e=o.trim();if(!e){a();return}p.current=!0,d(!0),l(null);try{await i(e)}catch(e){p.current=!1,l(e instanceof Error?e.message:`Failed`),d(!1)}},[o,u,i,a]);function h(e){e.key===`Enter`?(e.preventDefault(),m()):e.key===`Escape`&&(e.preventDefault(),a())}function g(){p.current||m()}let _=r===`folder`?Wn:Ln;return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:H(`flex items-center w-full gap-1.5 px-2 py-0.5`,`min-h-[32px] text-left`),style:{paddingLeft:`${n*16+8}px`},children:[(0,J.jsx)(`span`,{className:`w-3.5 shrink-0`}),(0,J.jsx)(_,{className:`size-4 shrink-0 text-text-secondary`}),(0,J.jsx)(`input`,{ref:f,value:o,onChange:e=>{s(e.target.value),l(null)},onKeyDown:h,onBlur:g,placeholder:t,disabled:u,className:H(`flex-1 min-w-0 bg-input text-sm px-1.5 py-0.5 rounded border outline-none`,`focus:ring-1 focus:ring-primary/50`,c?`border-destructive`:`border-primary`)})]}),c&&(0,J.jsx)(`p`,{className:`text-[10px] text-destructive truncate`,style:{paddingLeft:`${n*16+8+14+22}px`},children:c})]})}var Rd=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`],zd={w:360,h:240},Bd={w:880,h:560},Vd=48,Hd=(e,t,n)=>Math.min(n,Math.max(t,e));function Ud(e){return 30+Hd(Math.trunc(e),0,8)}function Wd(e,t){let n=Math.max(zd.w,Math.min(e.w,Math.max(t.w,zd.w))),r=Math.max(zd.h,Math.min(e.h,Math.max(t.h,zd.h))),i=Hd(e.x,48-n,Math.max(48-n,t.w-48)),a=Hd(e.y,0,Math.max(0,t.h-48));return{x:Math.round(i),y:Math.round(a),w:Math.round(n),h:Math.round(r)}}function Gd(e,t,n,r,i=zd){let{x:a,y:o,w:s,h:c}=e;if(t.includes(`e`))s=Math.max(i.w,e.w+n);else if(t.includes(`w`)){let t=e.x+e.w;s=Math.max(i.w,e.w-n),a=t-s}if(t.includes(`s`))c=Math.max(i.h,e.h+r);else if(t.includes(`n`)){let t=e.y+e.h;c=Math.max(i.h,e.h-r),o=t-c}return{x:a,y:o,w:s,h:c}}function Kd(e,t){let n=Math.min(Bd.w,Math.max(zd.w,t.w-Vd*2)),r=Math.min(Bd.h,Math.max(zd.h,t.h-Vd*2)),i=e.length%8;return Wd({x:Vd+i*24,y:Vd+i*24,w:n,h:r},t)}function qd(e,t,n,r){return Wd({...e,x:e.x+t,y:e.y+n},r)}var Jd=`ppm-windows`,Yd=[`explorer`],Xd=[`normal`,`maximized`,`minimized`];function Zd(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`x`,`y`,`w`,`h`].every(e=>typeof t[e]==`number`&&Number.isFinite(t[e]))}function Qd(e){if(e===void 0)return!0;if(!e||typeof e!=`object`||Array.isArray(e))return!1;try{return JSON.stringify(e),!0}catch{return!1}}function $d(e){return Qd(e.payload)?{id:e.id,kind:e.kind,rect:e.rect,state:e.state,payload:e.payload}:null}function ef(e){try{let t=[...e].sort((e,t)=>e.rank-t.rank).map($d).filter(e=>e!==null);t.length===0?localStorage.removeItem(Jd):localStorage.setItem(Jd,JSON.stringify(t))}catch{}}function tf(e){let t=null;try{t=localStorage.getItem(Jd)}catch{return[]}if(!t)return[];let n;try{n=JSON.parse(t)}catch{return[]}if(!Array.isArray(n))return[];let r=[];for(let t of n){if(!t||typeof t!=`object`)continue;let n=t;if(typeof n.id!=`string`||!Yd.includes(n.kind)||!Zd(n.rect)||!Qd(n.payload))continue;let i=Xd.includes(n.state)?n.state:`normal`;r.push({id:n.id,kind:n.kind,rect:Wd(n.rect,e),state:i,payload:n.payload})}return r}var nf={w:1280,h:800},rf=e=>Object.values(e).sort((e,t)=>e.rank-t.rank);function af(e){let t={};return e.forEach((e,n)=>{t[e.id]=e.rank===n?e:{...e,rank:n}}),t}function of(e){ef(Object.values(e))}function sf(){return`win-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}var cf=at((e,t)=>({windows:{},bounds:nf,restored:!1,open:(n,r,i)=>{let{windows:a,bounds:o}=t(),s=rf(a);if(s.length>=8){let e=s[0];return t().focus(e.id),e.id}let c=sf(),l=i?Wd(i,o):Kd(s.map(e=>e.rect),o),u=af([...s,{id:c,kind:n,rect:l,rank:s.length,state:`normal`,payload:r}]);return e({windows:u}),of(u),c},close:n=>{let{windows:r}=t();if(!r[n])return;let i=af(rf(r).filter(e=>e.id!==n));e({windows:i}),of(i)},focus:n=>{let{windows:r}=t(),i=r[n];if(!i)return;let a=rf(r);if(a[a.length-1]?.id===n)return;let o=af([...a.filter(e=>e.id!==n),i]);e({windows:o}),of(o)},move:(n,r)=>{let{windows:i,bounds:a}=t(),o=i[n];if(!o)return;let s=Wd({...o.rect,...r},a),c={...i,[n]:{...o,rect:s}};e({windows:c}),of(c)},resize:(n,r)=>{let{windows:i,bounds:a}=t(),o=i[n];if(!o)return;let s={...i,[n]:{...o,rect:Wd(r,a)}};e({windows:s}),of(s)},setState:(n,r)=>{let{windows:i}=t(),a=i[n];if(!a||a.state===r)return;let o={...i,[n]:{...a,state:r}};e({windows:o}),of(o)},setPayload:(n,r)=>{let{windows:i}=t(),a=i[n];if(!a)return;let o={...a.payload,...r};if(Object.entries(o).every(([e,t])=>a.payload?.[e]===t)&&Object.keys(o).length===Object.keys(a.payload??{}).length)return;let s={...i,[n]:{...a,payload:o}};e({windows:s}),of(s)},setBounds:n=>{let r=t();if(r.bounds.w===n.w&&r.bounds.h===n.h)return;let i={};for(let e of Object.values(r.windows)){let t=Wd(e.rect,n);i[e.id]=t.x===e.rect.x&&t.y===e.rect.y&&t.w===e.rect.w&&t.h===e.rect.h?e:{...e,rect:t}}e({bounds:n,windows:i})},restoreAll:n=>{t().restored||e({bounds:n,windows:af(tf(n).slice(0,8).map((e,t)=>({id:e.id,kind:e.kind,rect:e.rect,rank:t,state:e.state,payload:e.payload}))),restored:!0})}}));function lf(e){return rf(e)}var uf=6e4,df=null,ff=null,pf=new Set;function mf(){return df&&Date.now()-df.at<uf?Promise.resolve(df.value):ff||(ff=R.get(`/api/system/host`).then(e=>{df={at:Date.now(),value:e};for(let t of pf)t(e);return e}).finally(()=>{ff=null}),ff)}function hf(){let[e,t]=(0,q.useState)(()=>({host:df?.value??null,loading:df==null,error:null}));return(0,q.useEffect)(()=>{let e=!0,n=n=>{e&&t({host:n,loading:!1,error:null})};return pf.add(n),mf().then(n).catch(n=>{e&&t({host:null,loading:!1,error:n instanceof Error?n.message:`Failed to read host info`})}),()=>{e=!1,pf.delete(n)}},[]),e}function gf(){return mf()}function _f(){return df?.value.homedir??null}var vf=`mobile`,yf=at(e=>({isOpen:!1,selectMode:!1,close:()=>e({isOpen:!1,selectMode:!1}),setSelectMode:t=>e({selectMode:t})}));async function bf(e){let t=Ou.getState(),n=t.slices[vf],r=e??n?.path??_f();if(!r)try{r=(await gf()).homedir}catch{return}n?e&&n.path!==e&&t.patch(vf,{path:r,history:[r],historyIndex:0,selection:new Set,anchor:null,filter:``,inlineEdit:null}):t.ensure(vf,r),yf.setState({isOpen:!0,selectMode:!1})}async function xf(e){if(vt())return await bf(e),vf;let t=e??_f();if(!t)try{t=(await gf()).homedir}catch{return null}return cf.getState().open(`explorer`,{path:t})}function Sf(e,t){let n=st(e)||e;return U.getState().openInDock({type:`terminal`,title:n,projectId:t??null,closable:!0,metadata:{cwd:e,...t?{projectName:t}:{}}})}var Cf=48,wf=16;function Tf(e){if(e>=Cf)return 0;let t=Math.min(1,Math.max(0,(Cf-e)/Cf));return Math.ceil(t*wf)}function Ef(e){(0,q.useEffect)(()=>{let t=e.current;if(!t)return;let n=null,r={x:0,y:0},i=()=>{n!==null&&cancelAnimationFrame(n),n=null,r={x:0,y:0}},a=()=>{if(r.x===0&&r.y===0){n=null;return}t.scrollBy(r.x,r.y),n=requestAnimationFrame(a)},o=e=>{if(!e.dataTransfer?.types.includes(`application/x-ppm-paths`))return;let i=t.getBoundingClientRect(),o=Tf(e.clientY-i.top),s=Tf(i.bottom-e.clientY),c=Tf(e.clientX-i.left);r={x:Tf(i.right-e.clientX)-c,y:s-o},n===null&&(r.x!==0||r.y!==0)&&(n=requestAnimationFrame(a))};return t.addEventListener(`dragover`,o),t.addEventListener(`dragleave`,i),t.addEventListener(`drop`,i),window.addEventListener(`dragend`,i),()=>{i(),t.removeEventListener(`dragover`,o),t.removeEventListener(`dragleave`,i),t.removeEventListener(`drop`,i),window.removeEventListener(`dragend`,i)}},[e])}function Df(e,t,n,r,i){return new Promise((a,o)=>{if(i?.aborted){o(new DOMException(`Upload aborted`,`AbortError`));return}let s=new XMLHttpRequest;s.open(`PUT`,$u.uploadUrl(e,n));let c=it();c&&s.setRequestHeader(`Authorization`,`Bearer ${c}`),s.setRequestHeader(`x-ppm-client`,`web`),s.upload.onprogress=e=>{e.lengthComputable&&r({loaded:e.loaded,total:e.total})};let l=()=>s.abort();i?.addEventListener(`abort`,l);let u=()=>i?.removeEventListener(`abort`,l);s.onload=()=>{u();let e={};try{e=JSON.parse(s.responseText)}catch{}if(s.status>=200&&s.status<300&&e.ok!==!1&&e.data){a(e.data);return}o(new Yu(e.error??`HTTP ${s.status}`,e.code??`EUNKNOWN`,s.status))},s.onerror=()=>{u(),o(Error(`Network error during upload`))},s.onabort=()=>{u(),o(new DOMException(`Upload aborted`,`AbortError`))},s.send(t)})}function Of(e){return e instanceof Yu?e.status===403?`Not allowed here`:e.status===413?`File too large for the tunnel (100 MB)`:e.message||`Upload failed`:e instanceof Error?`Connection lost`:`Upload failed`}function kf(e){return e.every(e=>e.state!==`queued`&&e.state!==`uploading`)}var Af=at((e,t)=>({order:[],batches:{},cancellers:{},addBatch:(t,n,r)=>{let i={id:t,dstDir:n,items:r.map(e=>({...e,bytesLoaded:0,state:`queued`})),settled:!1};e(e=>({order:[...e.order,t],batches:{...e.batches,[t]:i}}))},registerCanceller:(t,n,r)=>{e(e=>({cancellers:{...e.cancellers,[`${t}:${n}`]:r}}))},setItemState:(t,n,r,i)=>{e(e=>{let a=e.batches[t];if(!a)return e;let o=a.items.map(e=>e.id===n?{...e,state:r,errorMessage:i}:e);return{batches:{...e.batches,[t]:{...a,items:o,settled:kf(o)}}}})},setItemProgress:(t,n,r)=>{e(e=>{let i=e.batches[t];if(!i)return e;let a=i.items.map(e=>e.id===n?{...e,bytesLoaded:r}:e);return{batches:{...e.batches,[t]:{...i,items:a}}}})},cancelItem:(e,n)=>{t().cancellers[`${e}:${n}`]?.()},cancelBatch:e=>{let n=t().batches[e];if(n)for(let r of n.items)t().cancelItem(e,r.id)},dismissBatch:t=>{e(e=>{let{[t]:n,...r}=e.batches;return{batches:r,order:e.order.filter(e=>e!==t)}})}}));async function jf(e,t,n){let r=e.reduce((e,t)=>e+t.size,0),i=Array(e.length).fill(0),a=Array(e.length),o=0,s=()=>{n({completed:o,total:e.length,bytesLoaded:i.reduce((e,t)=>e+t,0),bytesTotal:r})},c=0;async function l(){for(;;){let t=c++;if(t>=e.length)return;let n=e[t];try{let e=await n.run(e=>{i[t]=e,s()});a[t]={id:n.id,ok:!0,value:e}}catch(e){a[t]={id:n.id,ok:!1,error:e}}i[t]=n.size,o++,s()}}let u=Math.max(1,Math.min(t,e.length));return await Promise.all(Array.from({length:u},l)),a}var Mf=3;function Nf(e){return e.split(`/`).pop()??e}function Pf(e,t,n){return od(e,t.split(`/`).join(n),n)}async function Ff(e,t,n,r,i,a){let o=Pf(t,e.relativePath,n);try{return await Df(o,e.file,!1,e=>a(e.loaded),i),`done`}catch(e){if(!(e instanceof Yu)||e.code!==`EEXIST`)throw e}let s=Nf(e.relativePath),c=await r.resolve({name:s,destination:o});if(c===`skip`)return`skipped`;if(c===`keep-both`){let t=ad(o,n),r=await ud(t,s,n);if(!r)throw Error(`No free name available`);return await Df(od(t,r,n),e.file,!1,e=>a(e.loaded),i),`done`}try{await $u.remove(o,!1)}catch(e){if(!(e instanceof Yu)||e.code!==`NO_TRASH`)throw e;if(!await r.confirmPermanentOverwrite(s))return`skipped`;await $u.remove(o,!0)}return await Df(o,e.file,!0,e=>a(e.loaded),i),`done`}async function If(e,t,n,r){if(e.length===0)return;let i=crypto.randomUUID(),a=Af.getState();a.addBatch(i,t,e.map((e,t)=>({id:String(t),name:Nf(e.relativePath),relativePath:e.relativePath,size:e.file.size})));let o=e.map((e,t)=>{let n=new AbortController;return a.registerCanceller(i,String(t),()=>n.abort()),n});r.startBatch?.();try{await jf(e.map((e,s)=>{let c=String(s),l=o[s];return{id:c,size:e.file.size,run:async o=>{if(l.signal.aborted)throw a.setItemState(i,c,`cancelled`),new DOMException(`Upload aborted`,`AbortError`);a.setItemState(i,c,`uploading`);try{let s=await Ff(e,t,n,r,l.signal,e=>{o(e),a.setItemProgress(i,c,e)});a.setItemState(i,c,s===`skipped`?`skipped`:`done`)}catch(e){let t=e instanceof DOMException&&e.name===`AbortError`;throw a.setItemState(i,c,t?`cancelled`:`failed`,t?void 0:Of(e)),e}}}}),Mf,()=>{})}finally{r.endBatch?.(),Au(t)}}var Lf=class{queue=[];constructor(e){this.onChange=e}request(e){return new Promise(t=>{this.queue.push({request:e,settle:t}),this.onChange()})}snapshot(){let e=this.queue[0];return e?{request:e.request,remaining:this.queue.length-1}:null}choose(e){let t=this.queue.shift();t&&(t.settle(e),this.onChange())}drain(e){let t=this.queue.splice(0);if(t.length!==0){for(let n of t)n.settle(e);this.onChange()}}},Rf=class{core;stickyChoice=null;activeBatches=0;constructor(e){this.core=new Lf(e)}startBatch(){this.activeBatches++}endBatch(){this.activeBatches=Math.max(0,this.activeBatches-1),this.activeBatches===0&&(this.stickyChoice=null)}request(e){return this.stickyChoice?Promise.resolve(this.stickyChoice):this.core.request(e)}snapshot(){return this.core.snapshot()}choose(e,t){t?(this.stickyChoice=e,this.core.drain(e)):this.core.choose(e)}};function zf(){let[e,t]=(0,q.useState)(0),[n,r]=(0,q.useState)(!1),i=(0,q.useRef)(null);i.current||=new Rf(()=>t(e=>e+1));let a=i.current;return(0,q.useMemo)(()=>{let e=a.snapshot();return{state:e&&{...e.request,remaining:e.remaining,applyToAll:n,setApplyToAll:r,resolve:e=>{a.choose(e,n),r(!1)}},resolve:e=>a.request(e),startBatch:()=>a.startBatch(),endBatch:()=>a.endBatch()}},[a,n,e])}function Bf(){let[e,t]=(0,q.useState)(0),n=(0,q.useRef)(null);n.current||=new Lf(()=>t(e=>e+1));let r=n.current;return(0,q.useMemo)(()=>{let e=r.snapshot();return{state:e&&{name:e.request,remaining:e.remaining,resolve:e=>r.choose(e)},confirm:e=>r.request(e)}},[r,e])}function Vf({open:e,onClose:t,title:n,description:r,children:i,footer:a,className:o}){return _t()?(0,J.jsx)(Tt,{open:e,onClose:t,className:`p-4`,children:(0,J.jsxs)(`div`,{className:H(`space-y-3`,o),children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-base font-semibold text-text`,children:n}),r&&(0,J.jsx)(`p`,{className:`mt-1 text-sm text-text-2`,children:r})]}),(0,J.jsx)(`div`,{className:`max-h-[50vh] overflow-y-auto`,children:i}),a&&(0,J.jsx)(`div`,{className:`flex flex-col gap-2 pt-1`,children:a})]})}):(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||t()},children:(0,J.jsxs)(kc,{className:H(`sm:max-w-md`,o),children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:n}),r&&(0,J.jsx)(Mc,{children:r})]}),(0,J.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto`,children:i}),a&&(0,J.jsx)(`div`,{className:`flex justify-end gap-2 pt-2`,children:a})]})})}var Hf={file:`File`,directory:`Folder`,symlink:`Symbolic link`,unknown:`Unknown`};function Uf({label:e,value:t}){return t?(0,J.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2 py-1 text-sm`,children:[(0,J.jsx)(`span`,{className:`text-text-2`,children:e}),(0,J.jsx)(`span`,{className:`break-all text-text`,children:t})]}):null}function Wf({entry:e,platform:t,sep:n,onClose:r}){let[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(null);(0,q.useEffect)(()=>{let t=!0,n=new AbortController;return a(null),s(null),$u.stat(e.path,n.signal).then(e=>{t&&a(e)}).catch(e=>{t&&s(e instanceof Error?e.message:`Could not read properties`)}),()=>{t=!1,n.abort()}},[e.path]);let c=i?i.kind===`directory`?`${i.childCount??0}${i.truncated?`+`:``} item${i.childCount===1?``:`s`}`:`${td(i.size)} (${i.size.toLocaleString()} bytes)`:``,l=i?t===`win32`?i.readonly?`Read-only`:`Read / write`:`${id(i.mode)}${i.readonly?` (read-only)`:``}`:``;return(0,J.jsxs)(Vf,{open:!0,onClose:r,title:e.name,description:`Properties`,footer:(0,J.jsx)(I,{variant:`outline`,onClick:r,children:`Close`}),children:[o&&(0,J.jsx)(`p`,{className:`py-2 text-sm text-error`,children:o}),!i&&!o&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-4 text-sm text-text-2`,children:[(0,J.jsx)(K,{className:`size-4 animate-spin`}),` Reading…`]}),i&&(0,J.jsxs)(`div`,{className:`divide-y divide-border`,children:[(0,J.jsx)(Uf,{label:`Name`,value:i.name}),(0,J.jsx)(Uf,{label:`Kind`,value:Hf[i.kind]}),(0,J.jsx)(Uf,{label:`Location`,value:ad(i.path,n)}),(0,J.jsx)(Uf,{label:i.kind===`directory`?`Contains`:`Size`,value:c}),(0,J.jsx)(Uf,{label:`Created`,value:rd(i.birthtime)}),(0,J.jsx)(Uf,{label:`Modified`,value:rd(i.mtime)}),(0,J.jsx)(Uf,{label:`Permissions`,value:l}),(0,J.jsx)(Uf,{label:`Hidden`,value:i.isHidden?`Yes`:``}),(0,J.jsx)(Uf,{label:`Links to`,value:i.target??``})]})]})}function Gf({dialogs:e,platform:t,sep:n}){let{collision:r,pendingDelete:i,permanentOverwrite:a,properties:o}=e;return(0,J.jsxs)(J.Fragment,{children:[e.uploadInputs,r&&(0,J.jsxs)(Vf,{open:!0,onClose:()=>r.resolve(`skip`),title:`An item with that name already exists`,description:r.remaining>0?`${r.name} — and ${r.remaining} more`:r.name,footer:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>r.resolve(`skip`),children:`Skip`}),(0,J.jsx)(I,{variant:`outline`,onClick:()=>r.resolve(`keep-both`),children:`Keep both`}),(0,J.jsx)(I,{variant:`destructive`,onClick:()=>r.resolve(`replace`),children:`Replace`})]}),children:[(0,J.jsx)(`p`,{className:`py-1 text-sm text-text-2`,children:`Replacing moves the existing item to the Trash first, so it stays recoverable. Keep both adds a numbered suffix.`}),r.remaining>0&&(0,J.jsxs)(`label`,{className:`flex min-h-11 items-center gap-2 text-sm text-text-2`,children:[(0,J.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:r.applyToAll,onChange:e=>r.setApplyToAll(e.target.checked)}),`Apply to all `,r.remaining,` remaining item`,r.remaining===1?``:`s`]})]}),i&&(0,J.jsx)(Vf,{open:!0,onClose:e.closeDelete,title:`Delete ${i.paths.length} item${i.paths.length===1?``:`s`} permanently?`,description:`This cannot be undone — the items do not go to the Trash.`,footer:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:e.closeDelete,children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:e.runPermanentDelete,children:`Delete permanently`})]}),children:(0,J.jsxs)(`ul`,{className:`space-y-0.5 py-1 text-sm text-text-2`,children:[i.names.slice(0,10).map(e=>(0,J.jsx)(`li`,{className:`truncate`,children:e},e)),i.names.length>10&&(0,J.jsxs)(`li`,{className:`text-text-subtle`,children:[`and `,i.names.length-10,` more…`]})]})}),a&&(0,J.jsx)(Vf,{open:!0,onClose:()=>a.resolve(!1),title:`This host has no Trash`,description:a.name,footer:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>a.resolve(!1),children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:()=>a.resolve(!0),children:`Delete permanently`})]}),children:(0,J.jsx)(`p`,{className:`py-1 text-sm text-text-2`,children:`Replacing this item cannot go through the Trash on this host. Deleting it permanently cannot be undone.`})}),o&&(0,J.jsx)(Wf,{entry:o,platform:t,sep:n,onClose:e.closeProperties})]})}function Kf(e,t){let n=zf(),r=Bf(),i=(0,q.useRef)(e);(0,q.useEffect)(()=>{i.current=e},[e]);let a=(0,q.useRef)(n);a.current=n;let o=(0,q.useRef)(r);o.current=r;let s=(0,q.useMemo)(()=>({get sep(){return i.current},resolve:e=>a.current.resolve(e),startBatch:()=>a.current.startBatch(),endBatch:()=>a.current.endBatch(),confirmPermanentOverwrite:e=>o.current.confirm(e)}),[]);return{run:(0,q.useMemo)(()=>_d(s),[s]),uploadRun:(0,q.useMemo)(()=>(e,t)=>If(e,t,i.current,s),[s]),prompts:(0,J.jsx)(Gf,{dialogs:{collision:n.state,permanentOverwrite:r.state,pendingDelete:null,properties:null,inlineError:null,closeDelete:()=>{},runPermanentDelete:()=>{},closeProperties:()=>{},uploadInputs:null},platform:t,sep:e})}}function qf(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``).split(`/`).filter(e=>e.length>0&&e!==`.`);return t.length===0||t.some(e=>e===`..`)?null:t.join(`/`)}function Jf(e){return new Promise((t,n)=>e.file(t,n))}function Yf(e){return new Promise((t,n)=>{let r=[],i=()=>{e.readEntries(e=>{if(e.length===0){t(r);return}r.push(...e),i()},n)};i()})}async function Xf(e,t){if(e.isFile){let n=qf(e.fullPath);if(!n)return;t.push({file:await Jf(e),relativePath:n});return}if(e.isDirectory){let n=e.createReader();for(let e of await Yf(n))await Xf(e,t)}}async function Zf(e){let t=Array.from(e.items??[]).filter(e=>e.kind===`file`&&typeof e.webkitGetAsEntry==`function`).map(e=>e.webkitGetAsEntry()).filter(e=>e!=null);if(t.length>0){let e=[];for(let n of t)await Xf(n,e);return e}let n=[];for(let t of Array.from(e.files)){let e=qf(t.name);e&&n.push({file:t,relativePath:e})}return n}function Qf(e){let{targetDir:t,onFiles:n,disabled:r}=e,[i,a]=(0,q.useState)(!1),o=(0,q.useRef)(0),s=(0,q.useCallback)(()=>{o.current=0,a(!1)},[]),c=(0,q.useCallback)(e=>!r&&t!=null&&Md(e),[r,t]);return{isOver:i,handlers:{onDragEnter:(0,q.useCallback)(e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),o.current++,a(!0))},[c]),onDragOver:(0,q.useCallback)(e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`)},[c]),onDragLeave:(0,q.useCallback)(e=>{o.current!==0&&(e.stopPropagation(),o.current--,o.current===0&&a(!1))},[]),onDrop:(0,q.useCallback)(e=>{if(!c(e)||t==null)return;e.preventDefault(),e.stopPropagation();let r=e.dataTransfer;s(),Zf(r).then(e=>{e.length>0&&n(e,t)})},[c,t,n,s])}}}function $f(){}function ep(e){let{targetDir:t,run:n,springLoad:r,disabled:i,onFiles:a}=e,o=jd({targetDir:t,onDropEntries:(0,q.useCallback)((e,t,r)=>{gd(e,r,t,n)},[n]),springLoad:r,disabled:i}),s=Qf({targetDir:t,onFiles:a??$f,disabled:i||!a});return a?{isOver:o.isOver||s.isOver,handlers:{onDragEnter:e=>{o.handlers.onDragEnter(e),s.handlers.onDragEnter(e)},onDragOver:e=>{o.handlers.onDragOver(e),s.handlers.onDragOver(e)},onDragLeave:e=>{o.handlers.onDragLeave(e),s.handlers.onDragLeave(e)},onDrop:e=>{o.handlers.onDrop(e),s.handlers.onDrop(e)}}}:o}function tp({projectName:e,setExpanded:t}){let[n,r]=(0,q.useState)(!1),i=(0,q.useRef)(0),a=(0,q.useCallback)(async(n,r)=>{if(!e)return;let i=r.length,a=i===1?r[0].name:`${i} files`,o=z.loading(`Uploading ${a}…`),s=new FormData;s.append(`targetDir`,n);for(let e of r)s.append(`files`,e);let c={},l=it();l&&(c.Authorization=`Bearer ${l}`);try{let r=await fetch(`${L(e)}/files/upload`,{method:`POST`,headers:c,body:s});if(!r.ok){let e=await r.json();z.error(`Upload failed: ${e.error??`Unknown error`}`,{id:o});return}z.success(`Uploaded ${a}`,{id:o});let i=rs.getState();i.loadedPaths.has(n)&&await i.invalidateFolder(e,n),n&&t(n,!0)}catch(e){z.error(e instanceof Error?e.message:`Upload failed`,{id:o})}},[e,t]);function o(e){let t=Md(e);t&&(e.preventDefault(),Ku(i,t)&&r(!0))}function s(e){qu(i,Md(e))&&r(!1)}function c(e){Md(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function l(e){Md(e)&&(e.preventDefault(),Ju(i),r(!1),e.dataTransfer.files.length>0&&a(``,e.dataTransfer.files))}return{uploadFiles:a,isRootDragOver:n,handleRootDragEnter:o,handleRootDragLeave:s,handleRootDragOver:c,handleRootDrop:l}}function np({tree:e,expandedPaths:t,focusedPath:n,setFocusedPath:r,setExpanded:i,toggleExpand:a,projectName:o,onAction:s}){let c=(0,q.useMemo)(()=>Qo(e,t),[e,t]),l=(0,q.useMemo)(()=>c.find(e=>e.path===n)??null,[c,n]);function u(e){if(!o)return;let u=e.target;if(u.tagName===`INPUT`||u.tagName===`TEXTAREA`)return;let d=n==null?-1:c.findIndex(e=>e.path===n);switch(e.key){case`ArrowDown`:e.preventDefault(),r(c[d<c.length-1?d+1:0].path);break;case`ArrowUp`:e.preventDefault(),r(c[d>0?d-1:c.length-1].path);break;case`ArrowRight`:e.preventDefault(),l?.type===`directory`&&!t.has(l.path)&&a(o,l.path);break;case`ArrowLeft`:if(e.preventDefault(),l?.type===`directory`&&t.has(l.path))i(l.path,!1);else if(l){let e=l.path.includes(`/`)?l.path.slice(0,l.path.lastIndexOf(`/`)):``;if(e||e===``){let t=c.find(t=>t.path===e);t&&r(t.path)}}break;case`Enter`:e.preventDefault(),l&&s(l.type===`directory`?`toggle-expand`:`open-file`,l);break;case`F2`:e.preventDefault(),l&&s(`rename`,l);break;case`Delete`:e.preventDefault(),l&&s(`delete`,l);break}}return{visibleNodes:c,focusedNode:l,handleTreeKeyDown:u}}var rp={name:``,path:``,type:`directory`};function ip(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function ap({onFileOpen:e}={}){let{tree:t,loading:n,error:r,loadRoot:i,loadIndex:a,loadChildren:o,invalidateIndex:s,invalidateFolder:c,reset:l,selectedFiles:u,clearSelection:d,setExpanded:f,fetchTree:p,inlineAction:m,setInlineAction:h,clearInlineAction:g,clipboard:_,setClipboard:v,collapseAll:y,focusedPath:b,setFocusedPath:x,expandedPaths:S,toggleExpand:C}=rs(Ol(e=>({tree:e.tree,loading:e.loading,error:e.error,loadRoot:e.loadRoot,loadIndex:e.loadIndex,loadChildren:e.loadChildren,invalidateIndex:e.invalidateIndex,invalidateFolder:e.invalidateFolder,reset:e.reset,selectedFiles:e.selectedFiles,clearSelection:e.clearSelection,setExpanded:e.setExpanded,fetchTree:e.fetchTree,inlineAction:e.inlineAction,setInlineAction:e.setInlineAction,clearInlineAction:e.clearInlineAction,clipboard:e.clipboard,setClipboard:e.setClipboard,collapseAll:e.collapseAll,focusedPath:e.focusedPath,setFocusedPath:e.setFocusedPath,expandedPaths:e.expandedPaths,toggleExpand:e.toggleExpand}))),w=W(e=>e.activeProject),T=G(e=>e.openTab),[E,D]=(0,q.useState)(null),O=(0,q.useCallback)(()=>{w&&(l(),i(w.name),a(w.name))},[w,l,i,a]),k=(0,q.useCallback)(async()=>{if(!w)return;let{tabs:e,activeTabId:t}=G.getState(),n=e.find(e=>e.id===t)?.metadata?.filePath;if(!n)return;let r=n.split(`/`),i=w.name;for(let e=1;e<r.length;e++){let t=r.slice(0,e).join(`/`);f(t,!0),await o(i,t)}x(n)},[w,f,o,x]),A=(0,q.useCallback)(async e=>{if(!w||!_)return;let t=w.name,n=w.path,r=n.includes(`\\`)?`\\`:`/`,i=_.operation===`cut`?`move`:`copy`,a=new Set([$o(n,e)]);for(let o of _.paths){let s=o.split(/[/\\]/).filter(Boolean).pop()??o,c=es(n,o);a.add(ad(o,r));try{if(c!=null){let n=e?`${e}/${s}`:s;await R.post(`${L(t)}/files/${i}`,{source:c,destination:n})}else{let t=$o(n,e?`${e}/${s}`:s);await R.post(`/api/fs/${i}`,{source:o,destination:t})}}catch(e){z.error(e instanceof Error?e.message:`Failed to ${i}`)}}_.operation===`cut`&&v(null),Au(...a),O()},[w,_,v,O]),j=(0,q.useRef)(null),M=(0,q.useCallback)((e,t)=>{if(!w)return;let n=w.path;v({paths:e.map(e=>$o(n,e)),operation:t,origin:{projectName:w.name,root:n}})},[w,v]),ee=(0,q.useCallback)(e=>{if(!w)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable||(e.metaKey||e.ctrlKey)&&((e.key===`x`||e.key===`c`)&&u.length>0?(e.preventDefault(),M(u,e.key===`x`?`cut`:`copy`)):e.key===`v`&&_&&(e.preventDefault(),A(``)))},[w,u,_,v,A]),{handleTreeKeyDown:N}=np({tree:t,expandedPaths:S,focusedPath:b,setFocusedPath:x,setExpanded:f,toggleExpand:C,projectName:w?.name,onAction:me});(0,q.useEffect)(()=>{if(!w)return;l();let e=w.name,t=as(e);rs.setState({expandedPaths:new Set([``,...t])}),t.length>0?rs.getState().loadPathsBatch(e,[``,...t]):i(e),a(e)},[w?.name]),(0,q.useEffect)(()=>{w&&os(w.name,rs.getState().expandedPaths)},[S,w?.name]),(0,q.useEffect)(()=>{if(!w)return;let e=w.name,t,n=n=>{let r=n.detail;r.projectName===e&&(clearTimeout(t),t=setTimeout(()=>{let t=rs.getState(),n=r.path??``,i=n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``;t.invalidateIndex(),t.loadIndex(e),t.invalidateFolder(e,i)},300))};return window.addEventListener(`file:changed`,n),()=>{clearTimeout(t),window.removeEventListener(`file:changed`,n)}},[w]),(0,q.useEffect)(()=>{if(!w)return;let e=w.name,t=w.path;return ju(n=>{let r=es(t,n);if(r==null)return;let i=rs.getState();i.invalidateIndex(),i.loadIndex(e),i.invalidateFolder(e,r)})},[w]);let{uploadFiles:P,isRootDragOver:te,handleRootDragEnter:ne,handleRootDragLeave:re,handleRootDragOver:ie,handleRootDrop:ae}=tp({projectName:w?.name,setExpanded:f}),{run:oe,prompts:se}=Kf(w?.path.includes(`\\`)?`\\`:`/`),ce=ep({targetDir:w?.path??null,run:oe,disabled:!w}),le=(0,q.useMemo)(()=>Zo(t,S,m),[t,S,m]),ue=(0,q.useRef)(null);Ef(ue);let de=_t(),fe=Ql({count:le.length,getScrollElement:()=>ue.current,estimateSize:()=>de?32:26,overscan:10,paddingStart:4,paddingEnd:4});(0,q.useEffect)(()=>{if(b==null)return;let e=le.findIndex(e=>e.kind===`node`&&(e.node.path===b||e.effectiveNode.path===b));e>=0&&fe.scrollToIndex(e,{align:`auto`})},[b]);let pe=(0,q.useCallback)(async(e,t)=>{let n=w.name,r=rs.getState();if(e.inline.type===`rename`){let i=e.inline.existingNode;if(t===i.name){g();return}let a=i.path.includes(`/`)?i.path.slice(0,i.path.lastIndexOf(`/`)):``,o=a?`${a}/${t}`:t;await R.post(`${L(n)}/files/rename`,{oldPath:i.path,newPath:o}),g(),r.invalidateIndex(),r.loadIndex(n),r.invalidateFolder(n,a),Au($o(w.path,a))}else{let i=e.inline.type===`new-file`?`file`:`directory`,a=e.targetPath?`${e.targetPath}/${t}`:t;await R.post(`${L(n)}/files/create`,{path:a,type:i}),g(),r.invalidateIndex(),r.loadIndex(n),r.invalidateFolder(n,e.targetPath),Au($o(w.path,e.targetPath))}},[w,g]);async function me(t,n){if(t===`toggle-expand`&&n.type===`directory`){C(w.name,n.path);return}if(t===`open-file`&&n.type===`file`){let t=n.name.split(`.`).pop()?.toLowerCase()??``;T({type:t===`db`||t===`sqlite`||t===`sqlite3`?`sqlite`:`editor`,title:n.name,metadata:{filePath:n.path,projectName:w.name},projectId:w.name,closable:!0}),e?.();return}if(t===`cut`||t===`copy-file`){M(u.length>0&&u.includes(n.path)?[...u]:[n.path],t===`cut`?`cut`:`copy`);return}if(t===`open-in-file-explorer`){let e=n.type===`directory`?n.path:ip(n.path);xf($o(w.path,e));return}if(t===`open-in-terminal`){let e=n.type===`directory`?n.path:ip(n.path);Sf($o(w.path,e),w.name);return}if(t===`paste`&&n.type===`directory`){A(n.path);return}if(t===`copy-path`){bc(n.path);return}if(t===`copy-full-path`){let e=w?.path;bc(e?`${e}/${n.path}`:n.path);return}if(t===`select-for-compare`){fs.getState().setSelection({filePath:n.path,projectName:w.name,label:n.name});return}if(t===`compare-with-selected`){let e=fs.getState().selection;if(!e)return;try{await ms({path:e.filePath,dirtyContent:e.dirtyContent},{path:n.path},w.name),fs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;z.error(t)}return}if(t===`download`){n.type===`directory`?vc(w.name,n.path):_c(w.name,n.path);return}if(t===`compare-selected`&&u.length===2){let e=u[0],t=u[1];T({type:`git-diff`,title:`Compare ${st(e)} vs ${st(t)}`,closable:!0,metadata:{projectName:w.name,file1:e,file2:t},projectId:w.name}),d();return}if(t===`new-file`||t===`new-folder`){let e=n.type===`directory`?n.path:``;e&&f(e,!0),h({type:t,parentPath:e});return}if(t===`rename`){h({type:`rename`,parentPath:n.path.includes(`/`)?n.path.slice(0,n.path.lastIndexOf(`/`)):``,existingNode:n});return}D({action:t,node:n})}if(!w)return(0,J.jsx)(`div`,{className:`p-3 text-xs text-text-subtle`,children:`Select a project to browse files.`});if(n&&t.length===0)return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 p-3 text-xs text-text-secondary`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),`Loading files...`]});if(r)return(0,J.jsxs)(`div`,{className:`p-3 text-xs text-error`,children:[r,(0,J.jsx)(`button`,{onClick:O,className:`block mt-1 text-primary underline`,children:`Retry`})]});let he=`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`;return(0,J.jsxs)(`div`,{ref:j,className:H(`flex flex-col h-full outline-none`,(te||ce.isOver)&&`bg-primary/5`),tabIndex:0,onKeyDown:e=>{ee(e),N(e)},onDragEnter:e=>{ne(e),ce.handlers.onDragEnter(e)},onDragLeave:e=>{re(e),ce.handlers.onDragLeave(e)},onDragOver:e=>{ie(e),ce.handlers.onDragOver(e)},onDrop:e=>{ae(e),ce.handlers.onDrop(e)},children:[(0,J.jsxs)($l,{icon:zn,title:`Explorer`,children:[(0,J.jsx)(`button`,{onClick:()=>me(`new-file`,rp),title:`New File`,className:he,children:(0,J.jsx)(Nn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>me(`new-folder`,rp),title:`New Folder`,className:he,children:(0,J.jsx)(Bn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:k,title:`Reveal Active File`,className:he,children:(0,J.jsx)(xn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:y,title:`Collapse All`,className:he,children:(0,J.jsx)(ln,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:O,title:`Refresh`,className:he,children:(0,J.jsx)(Rr,{className:`size-3.5`})})]}),(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsx)(`div`,{ref:ue,className:`flex-1 overflow-y-auto`,children:(0,J.jsxs)(`div`,{className:`relative w-full`,style:{height:fe.getTotalSize()},children:[fe.getVirtualItems().map(t=>{let n=le[t.index];return(0,J.jsx)(`div`,{"data-index":t.index,ref:fe.measureElement,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${t.start}px)`},children:n.kind===`input`?(0,J.jsx)(Ld,{defaultValue:n.inline.type===`rename`?n.inline.existingNode.name:``,placeholder:n.inline.type===`rename`?n.inline.existingNode.name:n.inline.type===`new-file`?`filename.ts`:`folder-name`,depth:n.depth,icon:n.inline.type===`rename`?n.inline.existingNode.type===`directory`?`folder`:`file`:n.inline.type===`new-file`?`file`:`folder`,onConfirm:e=>pe(n,e),onCancel:g}):(0,J.jsx)(Id,{row:n,projectName:w.name,onAction:me,onFileDrop:P,onFileOpen:e,transferRun:oe})},n.kind===`node`?n.node.path:`input:${n.targetPath}:${n.inline.type}`)}),le.length===0&&(0,J.jsx)(`p`,{className:`p-3 text-xs text-text-subtle`,children:`Empty project.`})]})})}),(0,J.jsxs)(au,{children:[(0,J.jsxs)(ou,{onClick:()=>me(`new-file`,rp),children:[(0,J.jsx)(Nn,{className:`size-3.5 mr-2`}),`New File`]}),(0,J.jsxs)(ou,{onClick:()=>me(`new-folder`,rp),children:[(0,J.jsx)(Bn,{className:`size-3.5 mr-2`}),`New Folder`]}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{onClick:O,children:[(0,J.jsx)(Rr,{className:`size-3.5 mr-2`}),`Refresh`]})]})]}),E?.action===`delete`&&(0,J.jsx)(Nc,{node:E.node,projectName:w.name,onClose:()=>D(null),onRefresh:()=>{Au($o(w.path,ip(E.node.path))),O()}}),se]})}function $({className:e,type:t,...n}){return(0,J.jsx)(`input`,{type:t,"data-slot":`input`,className:H(`h-9 w-full min-w-0 rounded-lg border border-border bg-surface px-3 py-2 text-base md:text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:border-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,`selection:bg-primary selection:text-primary-foreground`,`file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground`,`aria-invalid:border-destructive`,e),...n})}function op({className:e,...t}){return(0,J.jsx)(le,{"data-slot":`label`,className:H(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function sp({open:e,onOpenChange:t,projectName:n,onCreated:r}){let[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(`new`),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)([]),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null);(0,q.useEffect)(()=>{!e||!n||R.get(`${L(n)}/git/branches`).then(e=>{let t=e.filter(e=>!e.remote).map(e=>e.name);p(t),t.length>0&&!u&&d(t[0])}).catch(()=>p([]))},[e,n]);function v(){a(``),s(`new`),l(``),_(null)}function y(){v(),t(!1)}async function b(){if(!i.trim()){_(`Worktree path is required`);return}let e=o===`existing`?u:void 0,t=o===`new`&&c.trim()?c.trim():void 0;h(!0),_(null);try{await R.post(`${L(n)}/git/worktree/add`,{path:i.trim(),branch:e,newBranch:t}),r(),y()}catch(e){_(e instanceof Error?e.message:`Failed to create worktree`)}finally{h(!1)}}let x=(0,J.jsxs)(`div`,{className:`space-y-4`,children:[g&&(0,J.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 px-3 py-2 rounded-md`,children:g}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{htmlFor:`wt-path`,children:`Worktree Path`}),(0,J.jsx)($,{id:`wt-path`,placeholder:`../my-feature`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,className:`w-full`}),(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Relative or absolute path for the new worktree directory`})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(op,{children:`Branch`}),(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[(0,J.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,J.jsx)(`input`,{type:`radio`,checked:o===`new`,onChange:()=>s(`new`),className:`accent-primary`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Create new branch`})]}),(0,J.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,J.jsx)(`input`,{type:`radio`,checked:o===`existing`,onChange:()=>s(`existing`),className:`accent-primary`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Use existing branch`})]})]}),o===`new`?(0,J.jsx)($,{placeholder:`feature/my-branch`,value:c,onChange:e=>l(e.target.value),className:`w-full`}):(0,J.jsxs)(`select`,{value:u,onChange:e=>d(e.target.value),className:`w-full h-9 px-3 rounded-md border border-input bg-transparent text-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[f.length===0&&(0,J.jsx)(`option`,{value:``,children:`No branches available`}),f.map(e=>(0,J.jsx)(`option`,{value:e,children:e},e))]})]})]}),S=(0,J.jsxs)(`div`,{className:`flex gap-2 justify-end pt-2`,children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:y,disabled:m,children:`Cancel`}),(0,J.jsxs)(I,{size:`sm`,onClick:b,disabled:m||!i.trim(),children:[m?(0,J.jsx)(K,{className:`size-3 animate-spin mr-1`}):null,`Create Worktree`]})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||y()},children:(0,J.jsxs)(kc,{className:`hidden md:grid sm:max-w-md`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Add Worktree`})}),x,(0,J.jsx)(jc,{children:S})]})}),e&&(0,J.jsxs)(`div`,{className:`md:hidden`,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:y}),(0,J.jsxs)(`div`,{className:H(`fixed bottom-0 left-0 right-0 z-50 bg-background rounded-t-2xl border-t border-border shadow-2xl`,`animate-in slide-in-from-bottom-2 duration-200`),children:[(0,J.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,J.jsx)(`div`,{className:`w-10 h-1 rounded-full bg-border`})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Add Worktree`}),(0,J.jsx)(`button`,{onClick:y,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),(0,J.jsxs)(`div`,{className:`px-4 py-4 space-y-4 max-h-[70vh] overflow-y-auto`,children:[x,S]})]})]})]})}function cp({projectName:e,projectPath:t}){let[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)([]),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(!1),g=(0,q.useCallback)(async()=>{if(e){s(!0),l(null);try{a(await R.get(`${L(e)}/git/worktrees`))}catch(e){l(e instanceof Error?e.message:`Failed to load worktrees`)}finally{s(!1)}}},[e]);(0,q.useEffect)(()=>{n&&g()},[n,g]);async function _(t=!1){if(f){h(!0);try{await R.post(`${L(e)}/git/worktree/remove`,{path:f.path,force:t}),p(null),await g()}catch(e){l(e instanceof Error?e.message:`Failed to remove worktree`),p(null)}finally{h(!1)}}}async function v(){try{await R.post(`${L(e)}/git/worktree/prune`,{}),await g()}catch(e){l(e instanceof Error?e.message:`Prune failed`)}}return(0,J.jsxs)(`div`,{className:`border-t border-border`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center justify-between w-full px-3 py-2 hover:bg-muted/50 transition-colors`,onClick:()=>r(e=>!e),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[n?(0,J.jsx)(on,{className:`size-3.5 text-muted-foreground`}):(0,J.jsx)(We,{className:`size-3.5 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase`,children:`Worktrees`}),i.length>0&&(0,J.jsx)(`span`,{className:`text-[10px] bg-muted text-muted-foreground rounded px-1`,children:i.length})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-0.5`,children:n&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{role:`button`,tabIndex:0,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground transition-colors`,onClick:e=>{e.stopPropagation(),v()},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),v())},title:`Prune stale worktrees`,"aria-label":`Prune stale worktrees`,children:(0,J.jsx)(Rr,{className:H(`size-3`,o&&`animate-spin`)})}),(0,J.jsx)(`span`,{role:`button`,tabIndex:0,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground transition-colors`,onClick:e=>{e.stopPropagation(),d(!0)},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),d(!0))},title:`Add worktree`,"aria-label":`Add worktree`,children:(0,J.jsx)(et,{className:`size-3`})})]})})]}),n&&(0,J.jsxs)(`div`,{className:`pb-1`,children:[c&&(0,J.jsx)(`p`,{className:`text-xs text-destructive px-3 py-1`,children:c}),o&&i.length===0&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-muted-foreground`,children:[(0,J.jsx)(K,{className:`size-3.5 animate-spin`}),(0,J.jsx)(`span`,{className:`text-xs`,children:`Loading worktrees...`})]}),!o&&i.length===0&&!c&&(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground px-3 py-1`,children:`No worktrees found.`}),i.map(e=>(0,J.jsx)(lp,{worktree:e,isActive:!!t&&e.path===t,onRemove:()=>p(e)},e.path)),(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 w-full px-3 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors`,onClick:()=>d(!0),children:[(0,J.jsx)(et,{className:`size-3.5`}),`Add worktree`]})]}),(0,J.jsx)(sp,{open:u,onOpenChange:d,projectName:e,onCreated:g}),(0,J.jsx)(Tc,{open:!!f,onOpenChange:e=>!e&&p(null),children:(0,J.jsxs)(kc,{showCloseButton:!1,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:`Remove Worktree`}),(0,J.jsxs)(Mc,{children:[`Remove worktree at`,` `,(0,J.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-muted text-xs font-mono`,children:f?.path}),f?.branch&&(0,J.jsxs)(J.Fragment,{children:[` (branch: `,(0,J.jsx)(`strong`,{children:f.branch}),`)`]}),`? The directory will be deleted.`]})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:()=>p(null),disabled:m,children:`Cancel`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:()=>_(!0),disabled:m,children:m?(0,J.jsx)(K,{className:`size-3 animate-spin`}):`Force Remove`}),(0,J.jsx)(I,{variant:`destructive`,size:`sm`,onClick:()=>_(!1),disabled:m,children:m?(0,J.jsx)(K,{className:`size-3 animate-spin`}):`Remove`})]})]})})]})}function lp({worktree:e,isActive:t,onRemove:n}){let r=e.branch||e.head.slice(0,7)||`detached`,i=e.path.replace(/^\/home\/[^/]+/,`~`);return(0,J.jsxs)(`div`,{className:H(`group flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 transition-colors`,t&&`bg-accent/10`),children:[(0,J.jsx)(Gn,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs font-mono truncate`,title:e.branch,children:r}),t&&(0,J.jsx)(Fe,{className:`size-3 text-success shrink-0`}),e.isMain&&(0,J.jsx)(`span`,{className:`text-[10px] bg-muted text-muted-foreground rounded px-1 shrink-0`,children:`main`}),e.locked&&(0,J.jsx)(`span`,{title:e.lockReason??`locked`,children:(0,J.jsx)(fr,{className:`size-3 text-warning shrink-0`})}),e.prunable&&(0,J.jsx)(`span`,{title:`stale/prunable`,children:(0,J.jsx)(fn,{className:`size-3 text-destructive shrink-0`})})]}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground truncate`,title:e.path,children:i})]}),!e.isMain&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-all active:scale-95 shrink-0`,onClick:n,title:`Remove worktree`,"aria-label":`Remove worktree`,children:(0,J.jsx)(si,{className:`size-3`})})]})}function up({className:e,children:t,...n}){return(0,J.jsxs)(h,{"data-slot":`scroll-area`,className:H(`relative`,e),...n,children:[(0,J.jsx)(f,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 [&>div]:!block`,children:t}),(0,J.jsx)(dp,{}),(0,J.jsx)(g,{})]})}function dp({className:e,orientation:t=`vertical`,...n}){return(0,J.jsx)(C,{"data-slot":`scroll-area-scrollbar`,orientation:t,className:H(`flex touch-none p-px transition-colors select-none`,t===`vertical`&&`h-full w-1.5 border-l border-l-transparent`,t===`horizontal`&&`h-1.5 flex-col border-t border-t-transparent`,e),...n,children:(0,J.jsx)(ue,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}var fp={M:`text-warning`,A:`text-success`,D:`text-error`,R:`text-primary`,C:`text-accent-2`,"?":`text-text-3`};function pp(e){let t=[];for(let n of e){let e=n.path.split(`/`),r=t;for(let t=0;t<e.length;t++){let i=e[t],a=e.slice(0,t+1).join(`/`),o=t===e.length-1,s=r.find(e=>e.name===i);s||(s={name:i,fullPath:a,file:o?n:void 0,children:[]},r.push(s)),o&&(s.file=n),r=s.children}}return t}function mp(e){let t=[];e.file&&t.push(e.file);for(let n of e.children)t.push(...mp(n));return t}function hp({metadata:e,tabId:t,onNavigate:n}){let r=e?.projectName,[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(!0),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(null),{openTab:g}=G(Ol(e=>({openTab:e.openTab}))),_=V(e=>e.gitStatusViewMode),v=V(e=>e.setGitStatusViewMode),y=W(e=>e.projects.find(e=>e.name===r)?.path),b=gu(e=>e.setCount),x=$s(e=>e.contributions?.commands?.some(e=>e.command===`git-graph.view`)??!1),S=(0,q.useCallback)(async()=>{if(r)try{s(!0);let e=await R.get(`${L(r)}/git/status`);a(e),b(r,e.staged.length+e.unstaged.length+e.untracked.length),gu.getState().setMeta(r,e),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to fetch status`)}finally{s(!1)}},[r,b]);(0,q.useEffect)(()=>{S();let e=setInterval(S,5e3);return()=>clearInterval(e)},[S]);let C=async e=>{if(r){p(!0);try{await R.post(`${L(r)}/git/stage`,{files:e}),await S()}catch(e){l(e instanceof Error?e.message:`Stage failed`)}finally{p(!1)}}},w=async e=>{if(r){p(!0);try{await R.post(`${L(r)}/git/unstage`,{files:e}),await S()}catch(e){l(e instanceof Error?e.message:`Unstage failed`)}finally{p(!1)}}},T=async e=>{if(r){p(!0);try{await R.post(`${L(r)}/git/discard`,{files:e}),await S()}catch(e){l(e instanceof Error?e.message:`Discard failed`)}finally{p(!1)}}},E=async()=>{m&&(await T(m.files),h(null))},D=async()=>{if(!(!r||!u.trim()||!i?.staged.length)){p(!0);try{await R.post(`${L(r)}/git/commit`,{message:u.trim()}),d(``),await S()}catch(e){l(e instanceof Error?e.message:`Commit failed`)}finally{p(!1)}}},O=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/push`,{}),await S()}catch(e){l(e instanceof Error?e.message:`Push failed`)}finally{p(!1)}}},k=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/pull`,{}),await S()}catch(e){l(e instanceof Error?e.message:`Pull failed`)}finally{p(!1)}}},A=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/commit`,{message:u.trim(),amend:!0}),d(``),await S()}catch(e){l(e instanceof Error?e.message:`Amend failed`)}finally{p(!1)}}},j=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/fetch`,{}),await S()}catch(e){l(e instanceof Error?e.message:`Fetch failed`)}finally{p(!1)}}},M=async()=>{await D(),await O()},ee=async()=>{await D(),await k(),await O()},N=e=>{g({type:`git-diff`,title:st(e.path),closable:!0,metadata:{projectName:r,filePath:e.path},projectId:r??null}),n?.()},P=e=>{g({type:`editor`,title:st(e.path),closable:!0,metadata:{projectName:r,filePath:e.path},projectId:r??null}),n?.()},te=(0,q.useMemo)(()=>[...i?.unstaged??[],...i?.untracked.map(e=>({path:e,status:`?`}))??[]],[i]);if(!r)return(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`});if(o&&!i)return(0,J.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,J.jsx)(K,{className:`size-5 animate-spin`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Loading git status...`})]});if(c&&!i)return(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-destructive text-sm`,children:[(0,J.jsx)(`p`,{children:c}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:S,children:`Retry`})]});let ne=i?.staged.length??0,re=f||!u.trim()||!ne,ie=(0,J.jsxs)(`div`,{className:`p-2 flex flex-col gap-2`,children:[(0,J.jsx)(`textarea`,{className:`w-full h-10 px-3 py-2 text-base md:text-sm text-foreground bg-surface border border-border rounded-lg resize-none focus:outline-none focus:border-ring placeholder:text-muted-foreground`,placeholder:`Message (⌘↵)`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&D()}}),(0,J.jsxs)(`div`,{className:`flex h-8`,children:[(0,J.jsx)(I,{size:`sm`,className:`flex-1 rounded-r-none`,disabled:re,onClick:D,children:f?(0,J.jsx)(K,{className:`size-3 animate-spin`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Fe,{className:`size-3.5`}),`Commit (`,ne,`)`]})}),(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsx)(I,{size:`sm`,className:`w-8 px-0 rounded-l-none border-l border-white/20`,disabled:f,title:`More commit actions`,children:(0,J.jsx)(on,{className:`size-3.5`})})}),(0,J.jsxs)(tl,{align:`end`,className:`w-56`,children:[(0,J.jsxs)(Z,{onClick:M,disabled:re,children:[(0,J.jsx)(Jt,{className:`size-3.5`}),`Commit & Push`]}),(0,J.jsxs)(Z,{onClick:ee,disabled:re,children:[(0,J.jsx)(Rr,{className:`size-3.5`}),`Commit & Sync`]}),(0,J.jsx)(al,{}),(0,J.jsxs)(Z,{onClick:A,disabled:f,children:[(0,J.jsx)(Kn,{className:`size-3.5`}),`Amend Last Commit`]}),(0,J.jsx)(al,{}),(0,J.jsxs)(Z,{onClick:O,disabled:f,children:[(0,J.jsx)(Jt,{className:`size-3.5`}),`Push`]}),(0,J.jsxs)(Z,{onClick:k,disabled:f,children:[(0,J.jsx)(Kt,{className:`size-3.5`}),`Pull`]}),(0,J.jsxs)(Z,{onClick:j,disabled:f,children:[(0,J.jsx)(Rr,{className:`size-3.5`}),`Fetch`]})]})]})]})]});return(0,J.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,J.jsxs)($l,{icon:Gn,title:i?.current?`On: ${i.current}`:`Source Control`,children:[(0,J.jsx)(I,{variant:_===`flat`?`secondary`:`ghost`,size:`icon-xs`,onClick:()=>v(`flat`),title:`Flat view`,children:(0,J.jsx)(dr,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:_===`tree`?`secondary`:`ghost`,size:`icon-xs`,onClick:()=>v(`tree`),title:`Tree view`,children:(0,J.jsx)(Un,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon-xs`,onClick:()=>{if(x){let e=[];y&&e.push(y),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:`git-graph.view`,args:e}}))}else g({type:`git-log`,title:`Git Log`,projectId:r??null,closable:!0,metadata:{projectName:r}});n?.()},title:x?`Open Git Graph (⌘G)`:`View Git Log`,children:(0,J.jsx)(Gn,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon-xs`,onClick:S,disabled:f,children:(0,J.jsx)(Rr,{className:o?`animate-spin`:``})})]}),c&&(0,J.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-destructive bg-destructive/10 shrink-0`,children:c}),(0,J.jsx)(`div`,{className:`hidden md:block border-b border-border`,children:ie}),r&&(0,J.jsx)(cp,{projectName:r,projectPath:y}),(0,J.jsx)(up,{className:`flex-1 overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`p-1.5 space-y-2 overflow-hidden`,children:[(0,J.jsx)(_p,{title:`Staged Changes`,count:i?.staged.length??0,files:i?.staged??[],viewMode:_,actionIcon:(0,J.jsx)(yr,{className:`size-3`}),actionAllIcon:(0,J.jsx)(yr,{className:`size-3`}),actionTitle:`Unstage`,onAction:e=>w([e.path]),onActionAll:i?.staged.length?()=>w(i.staged.map(e=>e.path)):void 0,actionAllLabel:`Unstage All`,onFolderAction:e=>w(e.map(e=>e.path)),onClickFile:N,onOpenFile:P,disabled:f}),(0,J.jsx)(_p,{title:`Changes`,count:te.length,files:te,viewMode:_,actionIcon:(0,J.jsx)(et,{className:`size-3`}),actionAllIcon:(0,J.jsx)(et,{className:`size-3`}),actionTitle:`Stage`,onAction:e=>C([e.path]),onActionAll:te.length?()=>C(te.map(e=>e.path)):void 0,actionAllLabel:`Stage All`,onFolderAction:e=>C(e.map(e=>e.path)),onClickFile:N,onOpenFile:P,disabled:f,showRevert:!0,onRevert:e=>h({label:e.path,files:[e.path]}),onFolderRevert:(e,t)=>h({label:`${t}/ (${e.length} files)`,files:e.map(e=>e.path)})})]})}),(0,J.jsx)(`div`,{className:`md:hidden border-t border-border shrink-0`,children:ie}),(0,J.jsx)(Tc,{open:!!m,onOpenChange:e=>!e&&h(null),children:(0,J.jsxs)(kc,{showCloseButton:!1,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:`Discard Changes`}),(0,J.jsxs)(Mc,{children:[`Are you sure you want to discard all changes to`,` `,(0,J.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-muted text-sm font-mono`,children:m?.label}),`? This action cannot be undone.`]})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>h(null),children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:E,disabled:f,children:f?(0,J.jsx)(K,{className:`size-3 animate-spin`}):`Discard`})]})]})})]})}function gp({showRevert:e,onRevert:t,onAction:n,onOpenFile:r,actionIcon:i,actionTitle:a,disabled:o}){return(0,J.jsxs)(`div`,{className:`hidden md:flex absolute right-0 top-0 bottom-0 items-center gap-0.5 pl-6 pr-1 bg-gradient-to-l from-background from-70% to-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-opacity`,children:[r&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),r()},disabled:o,title:`Open file`,children:(0,J.jsx)(Fn,{className:`size-3`})}),e&&t&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),t()},disabled:o,title:`Discard changes`,children:(0,J.jsx)(li,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),n()},disabled:o,title:a,children:i})]})}function _p({title:e,count:t,files:n,viewMode:r,actionIcon:i,actionAllIcon:a,actionTitle:o,onAction:s,onActionAll:c,actionAllLabel:l,onFolderAction:u,onClickFile:d,onOpenFile:f,disabled:p,showRevert:m,onRevert:h,onFolderRevert:g}){return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between mb-0.5`,children:[(0,J.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase`,children:[e,` (`,t,`)`]}),c&&t>0&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors`,onClick:c,disabled:p,title:l,children:a})]}),n.length===0?(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground px-1`,children:`No changes`}):r===`flat`?(0,J.jsx)(`div`,{className:`w-full overflow-hidden`,children:n.map(e=>(0,J.jsx)(yp,{file:e,actionIcon:i,actionTitle:o,onAction:s,onClickFile:d,onOpenFile:f,disabled:p,showRevert:m,onRevert:h},e.path))}):(0,J.jsx)(bp,{files:n,actionIcon:i,actionTitle:o,onAction:s,onFolderAction:u,onClickFile:d,onOpenFile:f,disabled:p,showRevert:m,onRevert:h,onFolderRevert:g})]})}function vp(e,t,n=400){let r=(0,q.useRef)(null),i=(0,q.useRef)(!1),a=(0,q.useRef)(!1),o=(0,q.useCallback)(()=>{r.current&&=(clearTimeout(r.current),null)},[]);return{onTouchStart:(0,q.useCallback)(t=>{i.current=!1,a.current=!1,r.current=setTimeout(()=>{a.current=!0,e()},n)},[e,n]),onTouchMove:(0,q.useCallback)(()=>{i.current=!0,o()},[o]),onTouchEnd:(0,q.useCallback)(e=>{o(),!i.current&&!a.current&&(e.preventDefault(),t())},[o,t])}}function yp({file:e,actionIcon:t,actionTitle:n,onAction:r,onClickFile:i,onOpenFile:a,disabled:o,showRevert:s,onRevert:c,displayName:l}){let[u,d]=(0,q.useState)(!1),f=vp((0,q.useCallback)(()=>d(!0),[]),(0,q.useCallback)(()=>i(e),[i,e])),p=(0,J.jsxs)(`div`,{className:`group relative flex items-center gap-1 hover:bg-muted/50 rounded pl-1 py-px w-full min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs font-mono w-4 text-center shrink-0 ${fp[e.status]??``}`,children:e.status}),(0,J.jsx)(`button`,{type:`button`,className:`hidden md:block flex-1 text-left text-xs font-mono truncate hover:underline min-w-0`,onClick:()=>i(e),title:e.path,children:l??e.path}),(0,J.jsx)(`span`,{className:`md:hidden flex-1 text-left text-xs font-mono truncate min-w-0 select-none`,children:l??e.path}),(0,J.jsx)(gp,{showRevert:s,onRevert:c?()=>c(e):void 0,onOpenFile:a?()=>a(e):void 0,onAction:()=>r(e),actionIcon:t,actionTitle:n,disabled:o})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`hidden md:block`,children:p}),(0,J.jsx)(`div`,{className:`md:hidden select-none`,...f,children:(0,J.jsxs)($c,{open:u,onOpenChange:d,children:[(0,J.jsx)(el,{asChild:!0,children:p}),(0,J.jsxs)(tl,{align:`start`,className:`min-w-40`,children:[(0,J.jsx)(Z,{onClick:()=>i(e),children:`View Diff`}),a&&(0,J.jsx)(Z,{onClick:()=>a(e),children:`Open File`}),(0,J.jsx)(Z,{onClick:()=>r(e),disabled:o,children:n}),s&&c&&(0,J.jsx)(Z,{className:`text-destructive focus:text-destructive`,onClick:()=>c(e),disabled:o,children:`Discard Changes`})]})]})})]})}function bp({files:e,actionIcon:t,actionTitle:n,onAction:r,onFolderAction:i,onClickFile:a,onOpenFile:o,disabled:s,showRevert:c,onRevert:l,onFolderRevert:u}){let d=(0,q.useMemo)(()=>pp(e),[e]);return(0,J.jsx)(`div`,{children:d.map((e,f)=>(0,J.jsx)(xp,{node:e,depth:0,isLast:f===d.length-1,actionIcon:t,actionTitle:n,onAction:r,onFolderAction:i,onClickFile:a,onOpenFile:o,disabled:s,showRevert:c,onRevert:l,onFolderRevert:u},e.fullPath))})}function xp({node:e,depth:t,isLast:n,actionIcon:r,actionTitle:i,onAction:a,onFolderAction:o,onClickFile:s,onOpenFile:c,disabled:l,showRevert:u,onRevert:d,onFolderRevert:f}){let[p,m]=(0,q.useState)(!0),h=e.children.length>0&&!e.file,g=t*12-6,_=`absolute border-dashed border-border`;if(e.file)return(0,J.jsxs)(`div`,{className:`relative`,style:{paddingLeft:t*12},children:[t>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`${_} border-l`,style:{left:g,top:0,bottom:n?`50%`:0}}),(0,J.jsx)(`div`,{className:`${_} border-t`,style:{left:g,top:`50%`,width:6}})]}),(0,J.jsx)(yp,{file:e.file,displayName:e.name,actionIcon:r,actionTitle:i,onAction:a,onClickFile:s,onOpenFile:c,disabled:l,showRevert:u,onRevert:d})]});if(h){let h=mp(e);return(0,J.jsxs)(`div`,{className:`relative`,children:[t>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`${_} border-l`,style:{left:g,top:0,...n?{height:13}:{bottom:0}}}),(0,J.jsx)(`div`,{className:`${_} border-t`,style:{left:g,top:13,width:8}})]}),(()=>{let n=(0,J.jsxs)(`div`,{className:`group relative flex items-center hover:bg-muted/50 rounded py-0.5`,style:{paddingLeft:t*12+2},children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 flex-1 min-w-0 text-xs font-mono text-muted-foreground`,onClick:()=>m(!p),children:[p?(0,J.jsx)(on,{className:`size-3.5 shrink-0`}):(0,J.jsx)(We,{className:`size-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate font-semibold`,children:e.name}),(0,J.jsxs)(`span`,{className:`text-[10px] opacity-60 shrink-0`,children:[`(`,h.length,`)`]})]}),(0,J.jsx)(gp,{showRevert:u,onRevert:f?()=>f(h,e.fullPath):void 0,onAction:()=>o?.(h),actionIcon:r,actionTitle:`${i} ${e.name}/`,disabled:l})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`hidden md:block`,children:n}),(0,J.jsx)(`div`,{className:`md:hidden`,children:(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:n}),(0,J.jsxs)(tl,{align:`start`,className:`min-w-40`,children:[(0,J.jsxs)(Z,{onClick:()=>o?.(h),disabled:l,children:[i,` `,e.name,`/`]}),f&&(0,J.jsx)(Z,{className:`text-destructive focus:text-destructive`,onClick:()=>f(h,e.fullPath),disabled:l,children:`Discard Changes`})]})]})})]})})(),p&&(0,J.jsx)(`div`,{children:e.children.map((n,p)=>(0,J.jsx)(xp,{node:n,depth:t+1,isLast:p===e.children.length-1,actionIcon:r,actionTitle:i,onAction:a,onFolderAction:o,onClickFile:s,onOpenFile:c,disabled:l,showRevert:u,onRevert:d,onFolderRevert:f},n.fullPath))})]})}return null}var Sp=q.forwardRef(({className:e,...t},n)=>(0,J.jsx)(ne,{className:H(`peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,J.jsx)(re,{className:H(`pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`)})}));Sp.displayName=ne.displayName;function Cp({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,J.jsx)(_e,{"data-slot":`separator`,decorative:n,orientation:t,className:H(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,e),...r})}function wp({...e}){return(0,J.jsx)(N,{"data-slot":`select`,...e})}function Tp({...e}){return(0,J.jsx)(Ee,{"data-slot":`select-value`,...e})}function Ep({className:e,size:t=`default`,children:n,...r}){return(0,J.jsxs)(m,{"data-slot":`select-trigger`,"data-size":t,className:H(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,J.jsx)(oe,{asChild:!0,children:(0,J.jsx)(on,{className:`size-4 opacity-50`})})]})}function Dp({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,J.jsx)(Oe,{children:(0,J.jsxs)(pe,{"data-slot":`select-content`,className:H(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,J.jsx)(kp,{}),(0,J.jsx)(D,{className:H(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,J.jsx)(Ap,{})]})})}function Op({className:e,children:t,...n}){return(0,J.jsxs)(ae,{"data-slot":`select-item`,className:H(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,J.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,J.jsx)(j,{children:(0,J.jsx)(Fe,{className:`size-4`})})}),(0,J.jsx)(Te,{children:t})]})}function kp({className:e,...t}){return(0,J.jsx)(E,{"data-slot":`select-scroll-up-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,J.jsx)(cn,{className:`size-4`})})}function Ap({className:e,...t}){return(0,J.jsx)(De,{"data-slot":`select-scroll-down-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,J.jsx)(on,{className:`size-4`})})}var jp={claude:`C`,cursor:`▶`,codex:`◆`,gemini:`G`};function Mp({value:e,onChange:t,projectName:n}){let[r,i]=(0,q.useState)([]),[a,o]=(0,q.useState)(!1),s=(0,q.useRef)(null),c=(0,q.useRef)(0);(0,q.useEffect)(()=>{n&&R.get(`${L(n)}/chat/providers`).then(i).catch(()=>{})},[n]),(0,q.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[a]),(0,q.useEffect)(()=>{a&&(c.current=Math.max(0,r.findIndex(t=>t.id===e)))},[a,e,r]);let l=(0,q.useCallback)(e=>{if(e.key===`Escape`){o(!1);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;c.current=(c.current+t+r.length)%r.length,(s.current?.querySelector(`[data-idx="${c.current}"]`))?.focus()}if(e.key===`Enter`){e.preventDefault();let n=r[c.current];n&&(t(n.id),o(!1))}},[t,r]);if(r.length<=1)return null;let u=r.find(t=>t.id===e),d=jp[e]||`?`;return(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(e=>!e)},className:`inline-flex items-center gap-1.5 px-[9px] py-1 rounded-full text-[11.5px] text-text-2 bg-panel-2 border border-border-soft hover:text-text-primary hover:border-border transition-colors`,"aria-label":`AI Provider: ${u?.name??e}`,children:[(0,J.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center rounded text-[9px] font-bold bg-surface-elevated shrink-0`,children:d}),(0,J.jsx)(`span`,{className:`max-w-[80px] truncate capitalize`,children:u?.name??e})]}),a&&(0,J.jsxs)(`div`,{ref:s,role:`listbox`,"aria-label":`AI Providers`,onKeyDown:l,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:`absolute bottom-full left-0 mb-1 z-50 w-56 rounded-lg border border-border popover-solid shadow-[var(--shadow-panel)]`,children:[(0,J.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,J.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Provider`})}),(0,J.jsx)(`div`,{className:`py-1`,children:r.map((n,r)=>{let i=jp[n.id]||`?`,a=n.id===e;return(0,J.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":a,tabIndex:0,onClick:()=>{t(n.id),o(!1)},className:`w-full flex items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-surface-elevated focus:bg-surface-elevated focus:outline-none ${a?`bg-surface-elevated`:``}`,children:[(0,J.jsx)(`span`,{className:`inline-flex h-5 w-5 items-center justify-center rounded text-[11px] font-bold bg-surface-elevated text-text-subtle shrink-0`,children:i}),(0,J.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary capitalize`,children:n.name}),a&&(0,J.jsx)(Fe,{className:`size-4 shrink-0 text-primary`})]},n.id)})})]})]})}function Np({providerId:e}){return(0,J.jsx)(`span`,{className:`inline-flex h-4 w-4 items-center justify-center rounded text-[10px] font-bold bg-surface-elevated text-text-subtle shrink-0`,title:e,children:jp[e]||`?`})}var Pp=[{value:`round-robin`,label:`Round-robin`},{value:`fill-first`,label:`Fill-first`},{value:`lowest-usage`,label:`Lowest usage`}];function Fp(e){return e==null?`—`:`${Math.round(e*100)}%`}function Ip(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(`round-robin`),[i,a]=(0,q.useState)({}),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(``),[S,C]=(0,q.useState)(!1),[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(null),O=(0,q.useRef)(null),k=(0,q.useCallback)(async()=>{s(!0);try{let e=await R.get(`/api/codex-accounts`);t(e.accounts),r(e.strategy),R.get(`/api/codex-accounts/usage`).then(a).catch(()=>{})}finally{s(!1)}},[]);(0,q.useEffect)(()=>{k()},[k]);let A=async()=>{if(c.trim()){p(!0),h(null);try{await R.post(`/api/codex-accounts/api-key`,{apiKey:c.trim(),label:u.trim()||void 0}),l(``),d(``),await k()}catch(e){h(e.message)}finally{p(!1)}}},j=async()=>{h(null);try{let e=await R.post(`/api/codex-accounts/device-login`,{label:u.trim()||void 0});_(e),y(!0),R.post(`/api/codex-accounts/device-login/${e.id}/await`).then(async()=>{_(null),y(!1),d(``),await k()}).catch(e=>{h(e.message),_(null),y(!1)})}catch(e){h(e.message)}},M=async e=>{await R.del(`/api/codex-accounts/${e}`),await k()},ee=async e=>{r(e);try{await R.put(`/api/codex-accounts/strategy`,{strategy:e})}catch{}},N=async()=>{if(!b.trim()){h(`Set a backup password first.`);return}C(!0),h(null),D(null);try{let e={"Content-Type":`application/json`},t=it();t&&(e.Authorization=`Bearer ${t}`);let n=await fetch(`/api/codex-accounts/export`,{method:`POST`,headers:e,body:JSON.stringify({password:b})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`Export failed: ${n.status}`)}let r=await n.text(),i=new Blob([r],{type:`application/json`}),a=document.createElement(`a`);a.href=URL.createObjectURL(i),a.download=`ppm-codex-accounts-backup.json`,a.click(),URL.revokeObjectURL(a.href),D(`Backup downloaded.`)}catch(e){h(e.message)}finally{C(!1)}},P=async e=>{if(!b.trim()){h(`Enter the backup password first.`);return}T(!0),h(null),D(null);try{let t=await e.text(),n=await R.post(`/api/codex-accounts/import`,{data:t,password:b});D(`Imported ${n.imported}${n.skipped?`, skipped ${n.skipped}`:``}.`),await k()}catch(e){h(e.message)}finally{T(!1),O.current&&(O.current.value=``)}};return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-text-primary`,children:`Codex Accounts`}),(0,J.jsx)(`p`,{className:`text-xs text-text-subtle mt-0.5`,children:`Each account uses its own login (CODEX_HOME). One is selected per chat by the strategy below.`})]}),m&&(0,J.jsx)(`div`,{className:`text-xs text-error bg-error/10 border border-error/30 rounded-md p-2`,children:m}),E&&(0,J.jsx)(`div`,{className:`text-xs text-success bg-success/10 border border-success/30 rounded-md p-2`,children:E}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,J.jsx)(`span`,{className:`text-xs text-text-secondary`,children:`Selection strategy:`}),Pp.map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>ee(e.value),className:`text-xs px-3 min-h-[36px] rounded-md border transition-colors ${n===e.value?`border-primary bg-primary/15 text-text-primary`:`border-border bg-surface/50 text-text-secondary hover:bg-surface`}`,children:e.label},e.value))]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[o&&e.length===0&&(0,J.jsxs)(`div`,{className:`text-xs text-text-subtle flex items-center gap-2`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` Loading…`]}),!o&&e.length===0&&(0,J.jsxs)(`div`,{className:`text-xs text-text-subtle`,children:[`No codex accounts yet — add one below. (With none, chats use your default `,(0,J.jsx)(`code`,{children:`~/.codex`}),` login.)`]}),e.map(e=>{let t=i[e.id]??{};return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 border border-border rounded-md bg-surface/40 p-2.5`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`text-sm text-text-primary truncate`,children:e.label}),(0,J.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-text-subtle border border-border rounded px-1`,children:e.type}),e.planType&&(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:e.planType})]}),(0,J.jsxs)(`div`,{className:`text-[11px] text-text-subtle mt-0.5`,children:[`5h `,Fp(t.fiveHour),` · weekly `,Fp(t.sevenDay)]})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>M(e.id),title:`Remove account`,className:`p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-text-subtle hover:text-error transition-colors`,children:(0,J.jsx)(si,{className:`size-4`})})]},e.id)})]}),(0,J.jsxs)(`div`,{className:`border border-border rounded-md p-3 space-y-2`,children:[(0,J.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:`Label (optional)`,className:`w-full text-sm bg-surface border border-border rounded-md px-3 min-h-[40px] text-text-primary placeholder:text-text-subtle`}),(0,J.jsxs)(`div`,{className:`flex gap-2 flex-col sm:flex-row`,children:[(0,J.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),type:`password`,placeholder:`OpenAI API key (sk-…)`,className:`flex-1 text-sm bg-surface border border-border rounded-md px-3 min-h-[44px] text-text-primary placeholder:text-text-subtle font-mono`}),(0,J.jsxs)(`button`,{type:`button`,onClick:A,disabled:f||!c.trim(),className:`inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[f?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(ir,{className:`size-4`}),` Add key`]})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:j,disabled:v,className:`inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] w-full sm:w-auto rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[v?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(br,{className:`size-4`}),` Sign in with ChatGPT (device code)`]})]}),(0,J.jsxs)(`div`,{className:`border border-border rounded-md p-3 space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-xs text-text-secondary`,children:`Backup & transfer — password-encrypted file with each account's login.`}),(0,J.jsx)(`input`,{value:b,onChange:e=>x(e.target.value),type:`password`,placeholder:`Backup password`,className:`w-full text-sm bg-surface border border-border rounded-md px-3 min-h-[44px] text-text-primary placeholder:text-text-subtle`}),(0,J.jsxs)(`div`,{className:`flex gap-2 flex-col sm:flex-row`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:N,disabled:S||!b.trim(),className:`flex-1 inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[S?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(Qe,{className:`size-4`}),` Export`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>O.current?.click(),disabled:w||!b.trim(),className:`flex-1 inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[w?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(di,{className:`size-4`}),` Import`]}),(0,J.jsx)(`input`,{ref:O,type:`file`,accept:`application/json,.json`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];t&&P(t)}})]})]}),g&&(0,J.jsxs)(`div`,{className:`border border-primary/40 bg-primary/10 rounded-md p-3 space-y-2 text-sm`,children:[(0,J.jsx)(`p`,{className:`text-text-primary`,children:`Enter this code to authorize:`}),(0,J.jsx)(`div`,{className:`font-mono text-lg tracking-widest text-text-primary`,children:g.userCode}),(0,J.jsxs)(`a`,{href:g.verificationUrl,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-primary hover:underline text-xs`,children:[(0,J.jsx)(Tn,{className:`size-3`}),` `,g.verificationUrl]}),(0,J.jsxs)(`p`,{className:`text-xs text-text-subtle flex items-center gap-2`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` Waiting for authorization…`]})]})]})}var Lp=[{value:`low`,label:`Low`},{value:`medium`,label:`Medium`},{value:`high`,label:`High`},{value:`xhigh`,label:`Extra`},{value:`max`,label:`Max`}],Rp=[{value:`bypassPermissions`,label:`Bypass permissions (default)`},{value:`default`,label:`Ask before edits`},{value:`acceptEdits`,label:`Edit automatically`},{value:`plan`,label:`Plan mode`}],zp={claude:`Claude`,cursor:`Cursor`,codex:`Codex`,gemini:`Gemini`};function Bp({compact:e}={}){let[t,n]=(0,q.useState)(null),[r,i]=(0,q.useState)(``),[a,o]=(0,q.useState)([]),[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)(0);(0,q.useEffect)(()=>{Et().then(e=>{n(e),i(e.default_provider??`claude`)}).catch(e=>f(e.message))},[]),(0,q.useEffect)(()=>{r&&(c(!0),R.get(`/api/settings/ai/providers/${r}/models`).then(o).catch(()=>o([])).finally(()=>c(!1)))},[r]);let h=t?Object.keys(t.providers).filter(e=>e!==`mock`).map(e=>({id:e,name:zp[e]??e})):[],g=t?.providers[r],_=g?.type===`agent-sdk`||!g?.type&&r===`claude`,v=async(e,i)=>{if(t){u(!0),f(null);try{n(await At({providers:{[r]:{[e]:i}}})),m(e=>e+1)}catch(e){f(e.message)}finally{u(!1)}}},y=e?`text-[11px]`:`text-sm`,b=e?`text-xs`:`text-sm`,x=e?`space-y-2`:`space-y-4`,S=e?`space-y-1.5`:`space-y-3`,C=e?`space-y-1`:`space-y-1.5`;if(!t)return(0,J.jsxs)(`div`,{className:S,children:[(0,J.jsx)(`h3`,{className:`${b} font-medium text-text-secondary`,children:`AI Settings`}),(0,J.jsx)(`p`,{className:`${y} text-text-subtle`,children:d?`Error: ${d}`:`Loading...`})]});let w=_?a:[{value:`__default__`,label:`Auto (default)`},...a];return(0,J.jsxs)(`div`,{className:x,children:[(0,J.jsx)(`h3`,{className:`${b} font-medium text-text-secondary`,children:`AI Settings`}),h.length>1&&(0,J.jsx)(`div`,{className:`flex gap-0.5 border-b border-border/50 -mx-1 px-1`,children:h.map(e=>(0,J.jsxs)(`button`,{onClick:()=>i(e.id),className:`flex items-center gap-1 px-2 py-1 text-[11px] rounded-t transition-colors ${r===e.id?`text-primary border-b-2 border-primary font-medium`:`text-text-subtle hover:text-text-secondary`}`,children:[(0,J.jsx)(Np,{providerId:e.id}),(0,J.jsx)(`span`,{className:`capitalize`,children:e.name})]},e.id))}),(0,J.jsxs)(`div`,{className:S,children:[r===`codex`&&(0,J.jsx)(Ip,{}),a.length>0&&(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-model`,className:e?y:void 0,children:`Model`}),(0,J.jsxs)(wp,{value:_?g?.model??a[0]?.value:g?.model||`__default__`,onValueChange:e=>v(`model`,e===`__default__`?void 0:e),disabled:s,children:[(0,J.jsx)(Ep,{id:`ai-model`,className:`w-full ${e?`h-7 text-[11px]`:``}`,children:(0,J.jsx)(Tp,{placeholder:s?`Loading models...`:`Select model`})}),(0,J.jsx)(Dp,{className:`max-h-[300px]`,children:w.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]})]}),_&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-base-url`,className:e?y:void 0,children:`Base URL`}),(0,J.jsx)($,{id:`ai-base-url`,type:`url`,defaultValue:g?.base_url??``,placeholder:`https://api.anthropic.com (default)`,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{v(`base_url`,e.target.value.trim()||void 0)}},`baseurl-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-api-key`,className:e?y:void 0,children:`API Key / Token`}),(0,J.jsx)($,{id:`ai-api-key`,type:`password`,defaultValue:g?.api_key??``,placeholder:`sk-ant-... (optional, overrides accounts)`,className:e?`h-7 text-[11px] font-mono`:`font-mono`,onBlur:e=>{let t=e.target.value.trim();t.startsWith(`••••`)||v(`api_key`,t||void 0)}},`apikey-${r}-${p}`),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Direct API key or OAuth token. Leave empty to use connected accounts.`})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-effort`,className:e?y:void 0,children:`Effort`}),(0,J.jsxs)(wp,{value:g?.effort??`high`,onValueChange:e=>v(`effort`,e),children:[(0,J.jsx)(Ep,{id:`ai-effort`,className:`w-full ${e?`h-7 text-[11px]`:``}`,children:(0,J.jsx)(Tp,{})}),(0,J.jsx)(Dp,{children:Lp.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-max-turns`,className:e?y:void 0,children:`Max Turns (1-500)`}),(0,J.jsx)($,{id:`ai-max-turns`,type:`number`,min:1,max:500,defaultValue:g?.max_turns??100,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{let t=parseInt(e.target.value);isNaN(t)||v(`max_turns`,t)}},`turns-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-budget`,className:e?y:void 0,children:`Max Budget (USD)`}),(0,J.jsx)($,{id:`ai-budget`,type:`number`,step:.1,min:.01,max:50,defaultValue:g?.max_budget_usd??``,placeholder:`No limit`,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{let t=parseFloat(e.target.value);v(`max_budget_usd`,isNaN(t)?void 0:t)}},`budget-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-thinking`,className:e?y:void 0,children:`Thinking Budget (tokens)`}),(0,J.jsx)($,{id:`ai-thinking`,type:`number`,min:0,defaultValue:g?.thinking_budget_tokens??``,placeholder:`Adaptive (model decides)`,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{let t=parseInt(e.target.value);v(`thinking_budget_tokens`,isNaN(t)?void 0:t)}},`thinking-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{htmlFor:`ai-agent-teams`,className:e?y:void 0,children:`Agent Teams`}),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Experimental. Enables multi-agent collaboration with shared tasks and messaging. Uses ~7x more tokens.`})]}),(0,J.jsx)(Sp,{id:`ai-agent-teams`,checked:g?.agent_teams??!1,onCheckedChange:e=>v(`agent_teams`,e)})]}),g?.agent_teams&&(0,J.jsx)(Vp,{compact:e}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{htmlFor:`ai-context-1m`,className:e?y:void 0,children:`1M Context Window`}),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Requires an entitled account (Max/Team/Enterprise) and an Opus 4 / Sonnet 4 model. Other accounts will error.`})]}),(0,J.jsx)(Sp,{id:`ai-context-1m`,checked:g?.context_1m??!1,onCheckedChange:e=>v(`context_1m`,e)})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{htmlFor:`ai-inherit-mcp`,className:e?y:void 0,children:`Inherit Claude Code MCP`}),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Auto-load MCP servers from Claude Code's ~/.claude.json (global + per-project). Your own MCP servers override inherited ones.`})]}),(0,J.jsx)(Sp,{id:`ai-inherit-mcp`,checked:g?.inherit_claude_mcp??!0,onCheckedChange:e=>v(`inherit_claude_mcp`,e)})]})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-permission-mode`,className:e?y:void 0,children:`Default Permission Mode`}),(0,J.jsxs)(wp,{value:g?.permission_mode??`bypassPermissions`,onValueChange:e=>v(`permission_mode`,e),children:[(0,J.jsx)(Ep,{id:`ai-permission-mode`,className:`w-full ${e?`h-7 text-[11px]`:``}`,children:(0,J.jsx)(Tp,{})}),(0,J.jsx)(Dp,{children:Rp.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-system-prompt`,className:e?y:void 0,children:`Additional Instructions`}),(0,J.jsx)(`textarea`,{id:`ai-system-prompt`,rows:e?3:4,defaultValue:g?.system_prompt??``,placeholder:`Enter additional instructions for ${r}...`,className:`w-full rounded-md border border-input bg-background px-3 py-2 ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ${e?`text-[11px]`:`text-sm`}`,onBlur:e=>{v(`system_prompt`,e.target.value.trim()||void 0)}},`sysprompt-${r}-${p}`)]})]}),l&&(0,J.jsx)(`p`,{className:`text-xs text-text-subtle`,children:`Saving...`}),d&&(0,J.jsx)(`p`,{className:`text-xs text-error`,children:d})]})}function Vp({compact:e}){let[t,n]=(0,q.useState)([]),[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(null),s=(0,q.useCallback)(async()=>{i(!0);try{n(await R.get(`/api/teams`)??[])}catch{}i(!1)},[]);(0,q.useEffect)(()=>{s()},[s]);let c=async e=>{try{await R.del(`/api/teams/${encodeURIComponent(e)}`),n(t=>t.filter(t=>t.name!==e)),o(null)}catch{}};return t.length===0&&!r?null:(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(op,{className:e?`text-[11px]`:void 0,children:[`Teams (`,t.length,`)`]}),(0,J.jsx)(`button`,{onClick:s,className:`text-text-subtle hover:text-foreground p-1`,"aria-label":`Refresh teams`,children:(0,J.jsx)(Rr,{className:`size-3 ${r?`animate-spin`:``}`})})]}),t.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center justify-between p-2 rounded bg-surface-elevated text-xs`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),e.description&&(0,J.jsx)(`div`,{className:`text-text-subtle truncate`,children:e.description}),(0,J.jsxs)(`div`,{className:`text-text-subtle`,children:[e.members?.length??e.memberCount??0,` members`,e.createdAt?` · ${new Date(e.createdAt).toLocaleDateString()}`:``]})]}),a===e.name?(0,J.jsxs)(`div`,{className:`flex gap-1 shrink-0 ml-2`,children:[(0,J.jsx)(`button`,{onClick:()=>c(e.name),className:`px-2 py-1 bg-error text-white rounded text-[10px]`,children:`Delete`}),(0,J.jsx)(`button`,{onClick:()=>o(null),className:`px-2 py-1 bg-panel-2 text-text rounded text-[10px]`,children:`Cancel`})]}):(0,J.jsx)(`button`,{onClick:()=>o(e.name),className:`shrink-0 text-text-subtle hover:text-error p-1 ml-2`,"aria-label":`Delete team ${e.name}`,children:(0,J.jsx)(si,{className:`size-3.5`})})]},e.name))]})}var Hp=[{key:`general`,label:`General`},{key:`tabs`,label:`Tabs`},{key:`projects`,label:`Projects`}],Up=[`Ctrl+T`,`Ctrl+W`,`Ctrl+N`,`Ctrl+Tab`,`Ctrl+L`,`Ctrl+H`,`Ctrl+J`,`F5`,`Ctrl+R`,`Ctrl+Shift+I`,`Ctrl+Shift+J`];function Wp({actionId:e,combo:t,locked:n}){let[r,i]=(0,q.useState)(!1),a=Qs(e=>e.setBinding),o=(0,q.useRef)(null),s=(0,q.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),t.key===`Escape`){i(!1);return}let n=Ys(t);n&&(a(e,n),i(!1))},[e,a]);return(0,q.useEffect)(()=>{if(r)return document.addEventListener(`keydown`,s,!0),()=>document.removeEventListener(`keydown`,s,!0)},[r,s]),(0,q.useEffect)(()=>{if(!r)return;let e=e=>{o.current&&!o.current.contains(e.target)&&i(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),n?(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded border border-border bg-muted px-2 py-0.5 text-[11px] font-mono text-muted-foreground`,children:[(0,J.jsx)(fr,{className:`size-2.5`}),Js(t)]}):r?(0,J.jsx)(`button`,{ref:o,className:`inline-flex items-center rounded border-2 border-primary bg-primary/10 px-2 py-0.5 text-[11px] font-mono text-primary animate-pulse`,children:`Press keys...`}):(0,J.jsx)(`button`,{ref:o,onClick:()=>i(!0),className:`inline-flex items-center rounded border border-border bg-surface px-2 py-0.5 text-[11px] font-mono text-foreground hover:border-primary hover:bg-primary/5 transition-colors cursor-pointer`,title:`Click to change shortcut`,children:Js(t)})}function Gp(){let{getBinding:e,resetBinding:t,resetAll:n,overrides:r}=Qs(),i=$s(e=>e.contributions),a=i?.keybindings??[],o=i?.commands??[];return(0,J.jsxs)(`div`,{className:`space-y-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-text-secondary`,children:`Keyboard Shortcuts`}),Object.keys(r).length>0&&(0,J.jsxs)(I,{variant:`ghost`,size:`sm`,className:`h-6 text-[10px] text-muted-foreground`,onClick:n,children:[(0,J.jsx)(Vr,{className:`size-3 mr-1`}),`Reset all`]})]}),(0,J.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-warning/30 bg-warning/5 px-2.5 py-2`,children:[(0,J.jsx)(ci,{className:`size-3.5 text-warning shrink-0 mt-0.5`}),(0,J.jsxs)(`p`,{className:`text-[10px] text-muted-foreground leading-relaxed`,children:[`Some shortcuts (`,Up.slice(0,4).join(`, `),`...) are reserved by the browser and cannot be overridden.`]})]}),Hp.map(n=>{let i=Ws.filter(e=>e.category===n.key);return i.length===0?null:(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:n.label}),(0,J.jsx)(`div`,{className:`space-y-0.5`,children:i.map(n=>{let i=e(n.id),a=n.id in r;return(0,J.jsxs)(`div`,{className:`flex items-center justify-between py-1 px-1 rounded hover:bg-surface-elevated/50 transition-colors`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs text-foreground`,children:n.label}),n.note&&(0,J.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:n.note})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0 ml-2`,children:[(0,J.jsx)(Wp,{actionId:n.id,combo:i,locked:n.locked}),a&&!n.locked&&(0,J.jsx)(`button`,{onClick:()=>t(n.id),className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground hover:bg-surface-elevated transition-colors`,title:`Reset to default`,children:(0,J.jsx)(Vr,{className:`size-3`})})]})]},n.id)})})]},n.key)}),a.length>0&&(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Extensions`}),(0,J.jsx)(`div`,{className:`space-y-0.5`,children:a.map(n=>{let i=o.find(e=>e.command===n.command)?.title??n.command,a=`ext:${n.command}`,s=e(a)||n.key,c=a in r;return(0,J.jsxs)(`div`,{className:`flex items-center justify-between py-1 px-1 rounded hover:bg-surface-elevated/50 transition-colors`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(Ir,{className:`size-3 text-muted-foreground shrink-0`}),(0,J.jsx)(`span`,{className:`text-xs text-foreground`,children:i})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0 ml-2`,children:[(0,J.jsx)(Wp,{actionId:a,combo:s}),c&&(0,J.jsx)(`button`,{onClick:()=>t(a),className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground hover:bg-surface-elevated transition-colors`,title:`Reset to default`,children:(0,J.jsx)(Vr,{className:`size-3`})})]})]},a)})})]})]})}var Kp=[{value:`claude-opus-5`,label:`Claude Opus 5`,hint:`most powerful`},{value:`claude-fable-5-1`,label:`Claude Fable 5.1`,hint:`flagship`},{value:`claude-fable-5`,label:`Claude Fable 5`,hint:`flagship`},{value:`claude-opus-4-8`,label:`Claude Opus 4.8`,hint:`powerful`},{value:`claude-opus-4-7`,label:`Claude Opus 4.7`,hint:`powerful`},{value:`claude-opus-4-6`,label:`Claude Opus 4.6`,hint:`powerful`},{value:`claude-sonnet-5`,label:`Claude Sonnet 5`,hint:`fast`},{value:`claude-sonnet-4-6`,label:`Claude Sonnet 4.6`,hint:`fast`},{value:`claude-haiku-4-5`,label:`Claude Haiku 4.5`,hint:`cheap`}];Kp.map(e=>e.value);var qp=`Hello! Reply briefly.`,Jp=`claude-opus-5`;function Yp(e){let[t,n]=(0,q.useState)(!1);return(0,J.jsxs)(Tc,{open:t,onOpenChange:n,children:[(0,J.jsx)(Ec,{asChild:!0,children:(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-7 text-[11px] gap-1.5 cursor-pointer`,children:[(0,J.jsx)(Rn,{className:`size-3`}),`Test`]})}),(0,J.jsxs)(kc,{className:`sm:max-w-md max-h-[85vh] overflow-y-auto`,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{className:`text-sm`,children:`Test Proxy`}),(0,J.jsx)(Mc,{className:`text-[11px]`,children:`Send a test request and inspect the raw response.`})]}),t&&(0,J.jsx)(Xp,{...e})]})]})}function Xp({authKey:e,baseUrl:t}){let[n,r]=(0,q.useState)(`anthropic`),[i,a]=(0,q.useState)(qp),[o,s]=(0,q.useState)(Jp),[c,l]=(0,q.useState)(!0),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),v=(0,q.useRef)(null),y=(0,q.useRef)(null);(0,q.useEffect)(()=>{v.current?.select()},[]),(0,q.useEffect)(()=>{y.current&&(y.current.scrollTop=y.current.scrollHeight)},[f]);let b=e=>{r(e),p(null),h(null),_(null)},x=async()=>{d(!0),p(null),h(null),_(null);let r=Date.now(),a=n===`openai`,s=a?`${t}/proxy/v1/chat/completions`:`${t}/proxy/v1/messages`,l=JSON.stringify({model:o,max_tokens:256,stream:c,messages:[{role:`user`,content:i}]}),u={"Content-Type":`application/json`};a?u.Authorization=`Bearer ${e}`:(u[`x-api-key`]=e,u[`anthropic-version`]=`2023-06-01`);try{let e=await fetch(s,{method:`POST`,headers:u,body:l});if(!e.ok){let t=await e.text();h(`HTTP ${e.status}: ${t}`),d(!1),_(Date.now()-r);return}if(c){let t=e.body?.getReader();if(!t){h(`No response body`),d(!1);return}let n=new TextDecoder,i=``;for(;;){let{done:e,value:r}=await t.read();if(e)break;i+=n.decode(r,{stream:!0}),p(i)}_(Date.now()-r)}else{let t=await e.text();try{p(JSON.stringify(JSON.parse(t),null,2))}catch{p(t)}_(Date.now()-r)}}catch(e){h(e.message)}finally{d(!1),_(e=>e??Date.now()-r)}};return(0,J.jsxs)(`div`,{className:`space-y-3 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5 min-w-0`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Auth Style`}),(0,J.jsx)(`div`,{className:`flex gap-1`,children:[`anthropic`,`openai`].map(e=>(0,J.jsx)(`button`,{onClick:()=>b(e),className:`flex-1 h-8 rounded-md text-[11px] font-medium border transition-colors cursor-pointer ${n===e?`bg-primary text-primary-foreground border-primary`:`bg-muted text-muted-foreground border-transparent hover:bg-muted/80`}`,children:e===`anthropic`?`Anthropic`:`OpenAI`},e))}),(0,J.jsx)(`p`,{className:`text-[9px] text-muted-foreground`,children:n===`anthropic`?`x-api-key header`:`Authorization: Bearer header`})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Model`}),(0,J.jsx)(`select`,{value:o,onChange:e=>s(e.target.value),className:`h-8 w-full rounded-md border bg-background px-2 text-[11px]`,children:Kp.map(e=>(0,J.jsx)(`option`,{value:e.value,children:e.value},e.value))})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Streaming`}),(0,J.jsx)(`div`,{className:`flex gap-1`,children:[!0,!1].map(e=>(0,J.jsx)(`button`,{onClick:()=>l(e),className:`h-7 px-3 rounded-md text-[11px] font-medium border transition-colors cursor-pointer ${c===e?`bg-primary text-primary-foreground border-primary`:`bg-muted text-muted-foreground border-transparent hover:bg-muted/80`}`,children:e?`Stream`:`JSON`},String(e)))})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Message`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{ref:v,value:i,onChange:e=>a(e.target.value),placeholder:`Type a test message...`,className:`h-9 text-[11px] flex-1 min-w-0`,onKeyDown:e=>{e.key===`Enter`&&!u&&x()}}),(0,J.jsxs)(I,{size:`sm`,className:`h-9 px-3 cursor-pointer shrink-0`,onClick:x,disabled:u||!i.trim(),children:[u?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(Mr,{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`ml-1 text-[11px]`,children:u?`...`:`Send`})]})]})]}),(f||m)&&(0,J.jsxs)(`div`,{className:`space-y-1 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`Raw Response`}),g!=null&&(0,J.jsxs)(`span`,{className:`text-[9px] font-mono text-muted-foreground`,children:[(g/1e3).toFixed(1),`s`]})]}),m?(0,J.jsx)(`pre`,{className:`text-[9px] font-mono bg-error/10 text-error p-2 rounded overflow-auto max-h-52 whitespace-pre-wrap break-all`,children:m}):(0,J.jsx)(`pre`,{ref:y,className:`text-[9px] font-mono bg-muted p-2 rounded overflow-auto max-h-52 whitespace-pre-wrap break-all`,children:f})]})]})}function Zp(){let[e,t]=(0,q.useState)(null),[n,r]=(0,q.useState)(!0),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(null);(0,q.useEffect)(()=>{r(!0),Ot().then(t).catch(e=>s(e.message)).finally(()=>r(!1))},[]);let u=async e=>{a(!0),s(null);try{t(await Mt(e))}catch(e){s(e.message)}finally{a(!1)}},d=(e,t)=>{bc(e),l(t),setTimeout(()=>l(null),2e3)};if(n||!e)return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-text-secondary`,children:`API Proxy`}),(0,J.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:o?`Error: ${o}`:`Loading...`})]});let f=!!e.authKey,p=!!e.tunnelUrl,m=e.localEndpoint,h=m.replace(/\/proxy\/v1\/messages$/,``);return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsx)(`div`,{className:`space-y-1.5`,children:(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Expose your Claude accounts as an Anthropic-compatible API endpoint. External tools (OpenCode, Cursor, etc.) can use your accounts via this proxy.`})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,J.jsx)(op,{className:`text-xs`,children:`Enable Proxy`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Accept API requests on /proxy/v1/messages`})]}),(0,J.jsx)(Sp,{checked:e.enabled,onCheckedChange:e=>u({enabled:e}),disabled:i})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Auth Key`}),f?(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{readOnly:!0,value:e.authKey,className:`h-7 text-[11px] font-mono flex-1`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 px-2 cursor-pointer shrink-0`,onClick:()=>d(e.authKey,`key`),children:c===`key`?`Copied!`:(0,J.jsx)(Xe,{className:`size-3`})}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 px-2 cursor-pointer shrink-0`,onClick:()=>u({generateKey:!0}),disabled:i,children:(0,J.jsx)(Rr,{className:`size-3`})})]}):(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 text-xs cursor-pointer`,onClick:()=>u({generateKey:!0}),disabled:i,children:`Generate Auth Key`}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Use as Bearer token or x-api-key when calling the proxy.`})]}),e.enabled&&f&&(0,J.jsxs)(`div`,{className:`space-y-2 rounded-md border p-3 bg-muted/30`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h4`,{className:`text-[11px] font-medium`,children:`Connection Info`}),(0,J.jsx)(Yp,{authKey:e.authKey,baseUrl:window.location.origin})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`Anthropic Endpoint`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsx)(`code`,{className:`text-[10px] font-mono bg-muted px-1.5 py-0.5 rounded flex-1 truncate`,children:p?e.proxyEndpoint:m}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 px-1.5 cursor-pointer shrink-0`,onClick:()=>d(p?e.proxyEndpoint:m,`anthropic`),children:c===`anthropic`?`Copied!`:(0,J.jsx)(Xe,{className:`size-3`})})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`OpenAI-Compatible Endpoint`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsx)(`code`,{className:`text-[10px] font-mono bg-muted px-1.5 py-0.5 rounded flex-1 truncate`,children:p?e.openAiEndpoint:e.localOpenAiEndpoint}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 px-1.5 cursor-pointer shrink-0`,onClick:()=>d(p?e.openAiEndpoint:e.localOpenAiEndpoint,`openai`),children:c===`openai`?`Copied!`:(0,J.jsx)(Xe,{className:`size-3`})})]})]}),!p&&(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Start a Cloudflare tunnel (Share) to get a public URL.`}),(0,J.jsxs)(`div`,{className:`space-y-1 pt-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`Anthropic Format`}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(`pre`,{className:`text-[9px] font-mono bg-muted p-2 rounded overflow-x-auto whitespace-pre`,children:`ANTHROPIC_BASE_URL=${p?e.tunnelUrl+`/proxy`:h+`/proxy`}
|
|
17
|
+
`));for(let[e,t]of Object.entries(a??{}))c.setData(e,t);c.effectAllowed=`copyMove`,bd(c,n??t.map(Td)),Uu(o)},[t,n,r,i,a,s]);return(0,q.useMemo)(()=>c?{draggable:!0,onDragStart:l,onDragEnd:Gu}:{},[c,l])}function Dd({types:e,payload:t,targetDir:n,modifiers:r}){if(!e.includes(`application/x-ppm-paths`))return{accept:!1,reason:`not-an-entry-drag`};if(n==null||n===``)return{accept:!1,reason:`no-target`};let i=Bu(r);return t?Ru(t.paths,n)?{accept:!1,reason:`self-or-descendant`}:i===`move`&&zu(t.paths,n)?{accept:!1,reason:`same-directory`}:{accept:!0,op:i}:{accept:!0,op:i}}var Od=120,kd=800;function Ad(e,t,n){return Dd({types:Array.from(e.dataTransfer.types),payload:n,targetDir:t,modifiers:{ctrlKey:e.ctrlKey,altKey:e.altKey}})}function jd(e){let{targetDir:t,onDropEntries:n,springLoad:r,disabled:i}=e,[a,o]=(0,q.useState)(!1),s=(0,q.useRef)(0),c=(0,q.useRef)([]),l=(0,q.useCallback)(()=>{for(let e of c.current)clearTimeout(e);c.current=[]},[]),u=(0,q.useCallback)(()=>{s.current=0,l(),o(!1)},[l]);return(0,q.useEffect)(()=>l,[l]),{isOver:a,handlers:{onDragEnter:(0,q.useCallback)(e=>{if(i||!e.dataTransfer.types.includes(`application/x-ppm-paths`))return;let n=Ad(e,t,Wu());n.accept&&(e.preventDefault(),e.stopPropagation()),s.current++,!(s.current>1||!n.accept)&&(c.current.push(setTimeout(()=>o(!0),Od)),r&&c.current.push(setTimeout(r,kd)))},[i,t,r]),onDragOver:(0,q.useCallback)(e=>{if(i)return;let n=Ad(e,t,Wu());n.accept&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=n.op===`copy`?`copy`:`move`)},[i,t]),onDragLeave:(0,q.useCallback)(e=>{s.current!==0&&(e.stopPropagation(),s.current--,s.current===0&&(l(),o(!1)))},[l]),onDrop:(0,q.useCallback)(e=>{if(i)return;let r=Lu(e.dataTransfer.getData(`application/x-ppm-paths`))??Wu();Gu();let a=Ad(e,t,r);if(!a.accept){a.reason!==`not-an-entry-drag`&&(e.preventDefault(),e.stopPropagation()),u();return}if(!r||t==null){u();return}e.preventDefault(),e.stopPropagation(),u(),n(r,a.op,t)},[i,t,n,u])}}}function Md(e){return e.dataTransfer.types.includes(`Files`)&&!e.dataTransfer.types.includes(`application/x-ppm-path`)}function Nd(e,t,n){return t&&e?.origin===`tree`&&e.projectName===n}function Pd(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function Fd(e){let{path:t,name:n,isDir:r,effectivePath:i,isSelected:a,selectedFiles:o,isExpanded:s,projectName:c,projectRoot:l,toggleExpand:u,onFileDrop:d,transferRun:f}=e,[p,m]=(0,q.useState)(!1),h=(0,q.useRef)(0),g=Ed({paths:(a&&o.length>1?o:[t]).map(e=>l?$o(l,e):e),origin:`tree`,projectName:c,extraData:{[Nu]:r?`${t}/`:t}}),_=r?i:Pd(t),v=jd({targetDir:r&&l?$o(l,_):null,onDropEntries:(e,t,n)=>void gd(e,n,t,f),springLoad:r&&!s?()=>u(c,t):void 0});function y(e){return e.type===`drop`?Lu(e.dataTransfer.getData(Mu)):Wu()}function b(e){return Md(e)?!0:Nd(y(e),e.dataTransfer.types.includes(Nu),c)}function x(e){b(e)&&(e.preventDefault(),e.stopPropagation(),Ku(h,!0)&&m(!0))}function S(e){e.stopPropagation(),qu(h,!0)&&m(!1)}function C(e){b(e)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=Md(e)?`copy`:`move`)}function w(e){if(e.preventDefault(),e.stopPropagation(),Ju(h),m(!1),Md(e)){e.dataTransfer.files.length>0&&d(_,e.dataTransfer.files);return}let t=e.dataTransfer.getData(Nu).replace(/\/$/,``);if(!t||t===_||_.startsWith(`${t}/`))return;let n=Pd(t);if(n===_)return;let r=t.includes(`/`)?t.slice(t.lastIndexOf(`/`)+1):t,i=_?`${_}/${r}`:r;R.post(`${L(c)}/files/move`,{source:t,destination:i}).then(()=>{let e=rs.getState();e.invalidateIndex(),e.loadIndex(c),e.invalidateFolder(c,n),e.invalidateFolder(c,_),l&&Au($o(l,n),$o(l,_))}).catch(e=>{z.error(e instanceof Error?e.message:`Move failed`)})}return{entrySource:g,isDragOver:p||v.isOver,containerHandlers:{onDragEnter:e=>{b(e)?x(e):v.handlers.onDragEnter(e)},onDragLeave:e=>{b(e)?S(e):v.handlers.onDragLeave(e)},onDragOver:e=>{b(e)?C(e):v.handlers.onDragOver(e)},onDrop:e=>{b(e)?w(e):v.handlers.onDrop(e)}}}}var Id=(0,q.memo)(function({row:e,projectName:t,onAction:n,onFileDrop:r,onFileOpen:i,transferRun:a}){let{node:o,effectiveNode:s,displayName:c,depth:l}=e,{expandedPaths:u,loadedPaths:d,inflight:f,toggleExpand:p,selectedFiles:m,toggleFileSelect:h,clipboard:g,focusedPath:_,setFocusedPath:v}=rs(Ol(e=>({expandedPaths:e.expandedPaths,loadedPaths:e.loadedPaths,inflight:e.inflight,toggleExpand:e.toggleExpand,selectedFiles:e.selectedFiles,toggleFileSelect:e.toggleFileSelect,clipboard:e.clipboard,focusedPath:e.focusedPath,setFocusedPath:e.setFocusedPath}))),y=G(e=>e.openTab),b=W(e=>e.activeProject?.path),x=fs(e=>e.selection),S=o.type===`directory`,C=gu(e=>(S?e.folderStatuses.get(t):e.fileStatuses.get(t))?.get(o.path)),w=C?pu[C]:void 0,T=u.has(o.path),E=m.includes(o.path),D=o.ignored===!0,O=g?.operation===`cut`&&b!=null&&g.paths.includes($o(b,o.path)),k=_===o.path||_===s.path,A=S&&T&&!d.has(s.path)&&f.has(s.path),j=(0,q.useRef)(null);(0,q.useEffect)(()=>{k&&j.current&&j.current.scrollIntoView({block:`nearest`})},[k]);function M(e){if(e.metaKey||e.ctrlKey){v(o.path),h(o.path);return}if(e.shiftKey&&_!=null){let e=ss(),t=e.indexOf(_),n=e.indexOf(s.path);if(t>=0&&n>=0){let r=Math.min(t,n),i=Math.max(t,n);rs.getState().setSelectedFiles(e.slice(r,i+1))}return}if(v(o.path),rs.getState().clearSelection(),S){p(t,o.path);return}let n=o.name.split(`.`).pop()?.toLowerCase()??``;y({type:n===`db`||n===`sqlite`||n===`sqlite3`?`sqlite`:`editor`,title:o.name,metadata:{filePath:o.path,projectName:t},projectId:t,closable:!0}),i?.()}let ee=Fd({path:o.path,name:o.name,isDir:S,effectivePath:s.path,isSelected:E,selectedFiles:m,isExpanded:T,projectName:t,projectRoot:b,toggleExpand:p,onFileDrop:r,transferRun:a}),{icon:N,color:P}=S?{icon:T?zn:Wn,color:T?`text-primary`:`text-text-3`}:xu(o.name);return(0,J.jsx)(`div`,{...ee.containerHandlers,children:(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`button`,{ref:j,...ee.entrySource,onClick:M,className:H(`flex items-center w-full gap-1.5 px-2 py-1 rounded-[var(--rad-sm)] text-[13px]`,`min-h-[32px] md:min-h-[26px] hover:bg-surface-elevated transition-colors text-left`,`select-none`,(D||O)&&`opacity-40`,k&&`bg-surface-elevated`,E&&`bg-accent-wash`,ee.isDragOver&&`ring-1 ring-dashed ring-primary bg-primary/10`),style:{paddingLeft:`${l*16+8}px`},children:[S?A?(0,J.jsx)(K,{className:`size-3.5 shrink-0 text-text-subtle animate-spin`}):T?(0,J.jsx)(on,{className:`size-3.5 shrink-0 text-text-subtle`}):(0,J.jsx)(We,{className:`size-3.5 shrink-0 text-text-subtle`}):(0,J.jsx)(`span`,{className:`w-3.5 shrink-0`}),(0,J.jsx)(N,{className:H(`size-4 shrink-0`,P??`text-text-secondary`)}),(0,J.jsx)(`span`,{className:H(`truncate`,w??(E?`text-text`:S&&T?`text-text font-medium`:`text-text-2`)),children:c}),C&&!S&&(0,J.jsx)(`span`,{className:H(`text-[10px] ml-auto shrink-0 font-mono`,w),children:C})]})}),(0,J.jsx)(Su,{node:o,isDir:S,projectName:t,selectedFiles:m,compareSelection:x,clipboard:g,onAction:n})]})})});function Ld({defaultValue:e,placeholder:t,depth:n,icon:r,onConfirm:i,onCancel:a}){let[o,s]=(0,q.useState)(e),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),f=(0,q.useRef)(null),p=(0,q.useRef)(!1);(0,q.useEffect)(()=>{let t=f.current;t&&requestAnimationFrame(()=>{if(t.focus(),e){let n=e.lastIndexOf(`.`);t.setSelectionRange(0,n>0?n:e.length)}})},[e]);let m=(0,q.useCallback)(async()=>{if(p.current||u)return;let e=o.trim();if(!e){a();return}p.current=!0,d(!0),l(null);try{await i(e)}catch(e){p.current=!1,l(e instanceof Error?e.message:`Failed`),d(!1)}},[o,u,i,a]);function h(e){e.key===`Enter`?(e.preventDefault(),m()):e.key===`Escape`&&(e.preventDefault(),a())}function g(){p.current||m()}let _=r===`folder`?Wn:Ln;return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:H(`flex items-center w-full gap-1.5 px-2 py-0.5`,`min-h-[32px] text-left`),style:{paddingLeft:`${n*16+8}px`},children:[(0,J.jsx)(`span`,{className:`w-3.5 shrink-0`}),(0,J.jsx)(_,{className:`size-4 shrink-0 text-text-secondary`}),(0,J.jsx)(`input`,{ref:f,value:o,onChange:e=>{s(e.target.value),l(null)},onKeyDown:h,onBlur:g,placeholder:t,disabled:u,className:H(`flex-1 min-w-0 bg-input text-sm px-1.5 py-0.5 rounded border outline-none`,`focus:ring-1 focus:ring-primary/50`,c?`border-destructive`:`border-primary`)})]}),c&&(0,J.jsx)(`p`,{className:`text-[10px] text-destructive truncate`,style:{paddingLeft:`${n*16+8+14+22}px`},children:c})]})}var Rd=[`n`,`s`,`e`,`w`,`ne`,`nw`,`se`,`sw`],zd={w:360,h:240},Bd={w:880,h:560},Vd=48,Hd=(e,t,n)=>Math.min(n,Math.max(t,e));function Ud(e){return 30+Hd(Math.trunc(e),0,8)}function Wd(e,t){let n=Math.max(zd.w,Math.min(e.w,Math.max(t.w,zd.w))),r=Math.max(zd.h,Math.min(e.h,Math.max(t.h,zd.h))),i=Hd(e.x,48-n,Math.max(48-n,t.w-48)),a=Hd(e.y,0,Math.max(0,t.h-48));return{x:Math.round(i),y:Math.round(a),w:Math.round(n),h:Math.round(r)}}function Gd(e,t,n,r,i=zd){let{x:a,y:o,w:s,h:c}=e;if(t.includes(`e`))s=Math.max(i.w,e.w+n);else if(t.includes(`w`)){let t=e.x+e.w;s=Math.max(i.w,e.w-n),a=t-s}if(t.includes(`s`))c=Math.max(i.h,e.h+r);else if(t.includes(`n`)){let t=e.y+e.h;c=Math.max(i.h,e.h-r),o=t-c}return{x:a,y:o,w:s,h:c}}function Kd(e,t){let n=Math.min(Bd.w,Math.max(zd.w,t.w-Vd*2)),r=Math.min(Bd.h,Math.max(zd.h,t.h-Vd*2)),i=e.length%8;return Wd({x:Vd+i*24,y:Vd+i*24,w:n,h:r},t)}function qd(e,t,n,r){return Wd({...e,x:e.x+t,y:e.y+n},r)}var Jd=`ppm-windows`,Yd=[`explorer`],Xd=[`normal`,`maximized`,`minimized`];function Zd(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`x`,`y`,`w`,`h`].every(e=>typeof t[e]==`number`&&Number.isFinite(t[e]))}function Qd(e){if(e===void 0)return!0;if(!e||typeof e!=`object`||Array.isArray(e))return!1;try{return JSON.stringify(e),!0}catch{return!1}}function $d(e){return Qd(e.payload)?{id:e.id,kind:e.kind,rect:e.rect,state:e.state,payload:e.payload}:null}function ef(e){try{let t=[...e].sort((e,t)=>e.rank-t.rank).map($d).filter(e=>e!==null);t.length===0?localStorage.removeItem(Jd):localStorage.setItem(Jd,JSON.stringify(t))}catch{}}function tf(e){let t=null;try{t=localStorage.getItem(Jd)}catch{return[]}if(!t)return[];let n;try{n=JSON.parse(t)}catch{return[]}if(!Array.isArray(n))return[];let r=[];for(let t of n){if(!t||typeof t!=`object`)continue;let n=t;if(typeof n.id!=`string`||!Yd.includes(n.kind)||!Zd(n.rect)||!Qd(n.payload))continue;let i=Xd.includes(n.state)?n.state:`normal`;r.push({id:n.id,kind:n.kind,rect:Wd(n.rect,e),state:i,payload:n.payload})}return r}var nf={w:1280,h:800},rf=e=>Object.values(e).sort((e,t)=>e.rank-t.rank);function af(e){let t={};return e.forEach((e,n)=>{t[e.id]=e.rank===n?e:{...e,rank:n}}),t}function of(e){ef(Object.values(e))}function sf(){return`win-${Date.now().toString(36)}-${Math.random().toString(36).slice(2,8)}`}var cf=at((e,t)=>({windows:{},bounds:nf,restored:!1,open:(n,r,i)=>{let{windows:a,bounds:o}=t(),s=rf(a);if(s.length>=8){let e=s[0];return t().focus(e.id),e.id}let c=sf(),l=i?Wd(i,o):Kd(s.map(e=>e.rect),o),u=af([...s,{id:c,kind:n,rect:l,rank:s.length,state:`normal`,payload:r}]);return e({windows:u}),of(u),c},close:n=>{let{windows:r}=t();if(!r[n])return;let i=af(rf(r).filter(e=>e.id!==n));e({windows:i}),of(i)},focus:n=>{let{windows:r}=t(),i=r[n];if(!i)return;let a=rf(r);if(a[a.length-1]?.id===n)return;let o=af([...a.filter(e=>e.id!==n),i]);e({windows:o}),of(o)},move:(n,r)=>{let{windows:i,bounds:a}=t(),o=i[n];if(!o)return;let s=Wd({...o.rect,...r},a),c={...i,[n]:{...o,rect:s}};e({windows:c}),of(c)},resize:(n,r)=>{let{windows:i,bounds:a}=t(),o=i[n];if(!o)return;let s={...i,[n]:{...o,rect:Wd(r,a)}};e({windows:s}),of(s)},setState:(n,r)=>{let{windows:i}=t(),a=i[n];if(!a||a.state===r)return;let o={...i,[n]:{...a,state:r}};e({windows:o}),of(o)},setPayload:(n,r)=>{let{windows:i}=t(),a=i[n];if(!a)return;let o={...a.payload,...r};if(Object.entries(o).every(([e,t])=>a.payload?.[e]===t)&&Object.keys(o).length===Object.keys(a.payload??{}).length)return;let s={...i,[n]:{...a,payload:o}};e({windows:s}),of(s)},setBounds:n=>{let r=t();if(r.bounds.w===n.w&&r.bounds.h===n.h)return;let i={};for(let e of Object.values(r.windows)){let t=Wd(e.rect,n);i[e.id]=t.x===e.rect.x&&t.y===e.rect.y&&t.w===e.rect.w&&t.h===e.rect.h?e:{...e,rect:t}}e({bounds:n,windows:i})},restoreAll:n=>{t().restored||e({bounds:n,windows:af(tf(n).slice(0,8).map((e,t)=>({id:e.id,kind:e.kind,rect:e.rect,rank:t,state:e.state,payload:e.payload}))),restored:!0})}}));function lf(e){return rf(e)}var uf=6e4,df=null,ff=null,pf=new Set;function mf(){return df&&Date.now()-df.at<uf?Promise.resolve(df.value):ff||(ff=R.get(`/api/system/host`).then(e=>{df={at:Date.now(),value:e};for(let t of pf)t(e);return e}).finally(()=>{ff=null}),ff)}function hf(){let[e,t]=(0,q.useState)(()=>({host:df?.value??null,loading:df==null,error:null}));return(0,q.useEffect)(()=>{let e=!0,n=n=>{e&&t({host:n,loading:!1,error:null})};return pf.add(n),mf().then(n).catch(n=>{e&&t({host:null,loading:!1,error:n instanceof Error?n.message:`Failed to read host info`})}),()=>{e=!1,pf.delete(n)}},[]),e}function gf(){return mf()}function _f(){return df?.value.homedir??null}var vf=`mobile`,yf=at(e=>({isOpen:!1,selectMode:!1,close:()=>e({isOpen:!1,selectMode:!1}),setSelectMode:t=>e({selectMode:t})}));async function bf(e){let t=Ou.getState(),n=t.slices[vf],r=e??n?.path??_f();if(!r)try{r=(await gf()).homedir}catch{return}n?e&&n.path!==e&&t.patch(vf,{path:r,history:[r],historyIndex:0,selection:new Set,anchor:null,filter:``,inlineEdit:null}):t.ensure(vf,r),yf.setState({isOpen:!0,selectMode:!1})}async function xf(e){if(vt())return await bf(e),vf;let t=e??_f();if(!t)try{t=(await gf()).homedir}catch{return null}return cf.getState().open(`explorer`,{path:t})}function Sf(e,t){let n=st(e)||e;return U.getState().openInDock({type:`terminal`,title:n,projectId:t??null,closable:!0,metadata:{cwd:e,...t?{projectName:t}:{}}})}var Cf=48,wf=16;function Tf(e){if(e>=Cf)return 0;let t=Math.min(1,Math.max(0,(Cf-e)/Cf));return Math.ceil(t*wf)}function Ef(e){(0,q.useEffect)(()=>{let t=e.current;if(!t)return;let n=null,r={x:0,y:0},i=()=>{n!==null&&cancelAnimationFrame(n),n=null,r={x:0,y:0}},a=()=>{if(r.x===0&&r.y===0){n=null;return}t.scrollBy(r.x,r.y),n=requestAnimationFrame(a)},o=e=>{if(!e.dataTransfer?.types.includes(`application/x-ppm-paths`))return;let i=t.getBoundingClientRect(),o=Tf(e.clientY-i.top),s=Tf(i.bottom-e.clientY),c=Tf(e.clientX-i.left);r={x:Tf(i.right-e.clientX)-c,y:s-o},n===null&&(r.x!==0||r.y!==0)&&(n=requestAnimationFrame(a))};return t.addEventListener(`dragover`,o),t.addEventListener(`dragleave`,i),t.addEventListener(`drop`,i),window.addEventListener(`dragend`,i),()=>{i(),t.removeEventListener(`dragover`,o),t.removeEventListener(`dragleave`,i),t.removeEventListener(`drop`,i),window.removeEventListener(`dragend`,i)}},[e])}function Df(e,t,n,r,i){return new Promise((a,o)=>{if(i?.aborted){o(new DOMException(`Upload aborted`,`AbortError`));return}let s=new XMLHttpRequest;s.open(`PUT`,$u.uploadUrl(e,n));let c=it();c&&s.setRequestHeader(`Authorization`,`Bearer ${c}`),s.setRequestHeader(`x-ppm-client`,`web`),s.upload.onprogress=e=>{e.lengthComputable&&r({loaded:e.loaded,total:e.total})};let l=()=>s.abort();i?.addEventListener(`abort`,l);let u=()=>i?.removeEventListener(`abort`,l);s.onload=()=>{u();let e={};try{e=JSON.parse(s.responseText)}catch{}if(s.status>=200&&s.status<300&&e.ok!==!1&&e.data){a(e.data);return}o(new Yu(e.error??`HTTP ${s.status}`,e.code??`EUNKNOWN`,s.status))},s.onerror=()=>{u(),o(Error(`Network error during upload`))},s.onabort=()=>{u(),o(new DOMException(`Upload aborted`,`AbortError`))},s.send(t)})}function Of(e){return e instanceof Yu?e.status===403?`Not allowed here`:e.status===413?`File too large for the tunnel (100 MB)`:e.message||`Upload failed`:e instanceof Error?`Connection lost`:`Upload failed`}function kf(e){return e.every(e=>e.state!==`queued`&&e.state!==`uploading`)}var Af=at((e,t)=>({order:[],batches:{},cancellers:{},addBatch:(t,n,r)=>{let i={id:t,dstDir:n,items:r.map(e=>({...e,bytesLoaded:0,state:`queued`})),settled:!1};e(e=>({order:[...e.order,t],batches:{...e.batches,[t]:i}}))},registerCanceller:(t,n,r)=>{e(e=>({cancellers:{...e.cancellers,[`${t}:${n}`]:r}}))},setItemState:(t,n,r,i)=>{e(e=>{let a=e.batches[t];if(!a)return e;let o=a.items.map(e=>e.id===n?{...e,state:r,errorMessage:i}:e);return{batches:{...e.batches,[t]:{...a,items:o,settled:kf(o)}}}})},setItemProgress:(t,n,r)=>{e(e=>{let i=e.batches[t];if(!i)return e;let a=i.items.map(e=>e.id===n?{...e,bytesLoaded:r}:e);return{batches:{...e.batches,[t]:{...i,items:a}}}})},cancelItem:(e,n)=>{t().cancellers[`${e}:${n}`]?.()},cancelBatch:e=>{let n=t().batches[e];if(n)for(let r of n.items)t().cancelItem(e,r.id)},dismissBatch:t=>{e(e=>{let{[t]:n,...r}=e.batches;return{batches:r,order:e.order.filter(e=>e!==t)}})}}));async function jf(e,t,n){let r=e.reduce((e,t)=>e+t.size,0),i=Array(e.length).fill(0),a=Array(e.length),o=0,s=()=>{n({completed:o,total:e.length,bytesLoaded:i.reduce((e,t)=>e+t,0),bytesTotal:r})},c=0;async function l(){for(;;){let t=c++;if(t>=e.length)return;let n=e[t];try{let e=await n.run(e=>{i[t]=e,s()});a[t]={id:n.id,ok:!0,value:e}}catch(e){a[t]={id:n.id,ok:!1,error:e}}i[t]=n.size,o++,s()}}let u=Math.max(1,Math.min(t,e.length));return await Promise.all(Array.from({length:u},l)),a}var Mf=3;function Nf(e){return e.split(`/`).pop()??e}function Pf(e,t,n){return od(e,t.split(`/`).join(n),n)}async function Ff(e,t,n,r,i,a){let o=Pf(t,e.relativePath,n);try{return await Df(o,e.file,!1,e=>a(e.loaded),i),`done`}catch(e){if(!(e instanceof Yu)||e.code!==`EEXIST`)throw e}let s=Nf(e.relativePath),c=await r.resolve({name:s,destination:o});if(c===`skip`)return`skipped`;if(c===`keep-both`){let t=ad(o,n),r=await ud(t,s,n);if(!r)throw Error(`No free name available`);return await Df(od(t,r,n),e.file,!1,e=>a(e.loaded),i),`done`}try{await $u.remove(o,!1)}catch(t){if(t instanceof Yu&&t.code===`ENOENT`)return await Df(o,e.file,!0,e=>a(e.loaded),i),`done`;if(!(t instanceof Yu)||t.code!==`NO_TRASH`)throw t;if(!await r.confirmPermanentOverwrite(s))return`skipped`;await $u.remove(o,!0)}return await Df(o,e.file,!0,e=>a(e.loaded),i),`done`}async function If(e,t,n,r){if(e.length===0)return;let i=crypto.randomUUID(),a=Af.getState();a.addBatch(i,t,e.map((e,t)=>({id:String(t),name:Nf(e.relativePath),relativePath:e.relativePath,size:e.file.size})));let o=e.map((e,t)=>{let n=new AbortController;return a.registerCanceller(i,String(t),()=>n.abort()),n});r.startBatch?.();try{await jf(e.map((e,s)=>{let c=String(s),l=o[s];return{id:c,size:e.file.size,run:async o=>{if(l.signal.aborted)throw a.setItemState(i,c,`cancelled`),new DOMException(`Upload aborted`,`AbortError`);a.setItemState(i,c,`uploading`);try{let s=await Ff(e,t,n,r,l.signal,e=>{o(e),a.setItemProgress(i,c,e)});a.setItemState(i,c,s===`skipped`?`skipped`:`done`)}catch(e){let t=e instanceof DOMException&&e.name===`AbortError`;throw a.setItemState(i,c,t?`cancelled`:`failed`,t?void 0:Of(e)),e}}}}),Mf,()=>{})}finally{r.endBatch?.(),Au(t)}}var Lf=class{queue=[];constructor(e){this.onChange=e}request(e){return new Promise(t=>{this.queue.push({request:e,settle:t}),this.onChange()})}snapshot(){let e=this.queue[0];return e?{request:e.request,remaining:this.queue.length-1}:null}choose(e){let t=this.queue.shift();t&&(t.settle(e),this.onChange())}drain(e){let t=this.queue.splice(0);if(t.length!==0){for(let n of t)n.settle(e);this.onChange()}}},Rf=class{core;stickyChoice=null;activeBatches=0;constructor(e){this.core=new Lf(e)}startBatch(){this.activeBatches++}endBatch(){this.activeBatches=Math.max(0,this.activeBatches-1),this.activeBatches===0&&(this.stickyChoice=null)}request(e){return this.stickyChoice?Promise.resolve(this.stickyChoice):this.core.request(e)}snapshot(){return this.core.snapshot()}choose(e,t){t?(this.stickyChoice=e,this.core.drain(e)):this.core.choose(e)}};function zf(){let[e,t]=(0,q.useState)(0),[n,r]=(0,q.useState)(!1),i=(0,q.useRef)(null);i.current||=new Rf(()=>t(e=>e+1));let a=i.current;return(0,q.useMemo)(()=>{let e=a.snapshot();return{state:e&&{...e.request,remaining:e.remaining,applyToAll:n,setApplyToAll:r,resolve:e=>{a.choose(e,n),r(!1)}},resolve:e=>a.request(e),startBatch:()=>a.startBatch(),endBatch:()=>a.endBatch()}},[a,n,e])}function Bf(){let[e,t]=(0,q.useState)(0),n=(0,q.useRef)(null);n.current||=new Lf(()=>t(e=>e+1));let r=n.current;return(0,q.useMemo)(()=>{let e=r.snapshot();return{state:e&&{name:e.request,remaining:e.remaining,resolve:e=>r.choose(e)},confirm:e=>r.request(e)}},[r,e])}function Vf({open:e,onClose:t,title:n,description:r,children:i,footer:a,className:o}){return _t()?(0,J.jsx)(Tt,{open:e,onClose:t,className:`p-4`,children:(0,J.jsxs)(`div`,{className:H(`space-y-3`,o),children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h2`,{className:`text-base font-semibold text-text`,children:n}),r&&(0,J.jsx)(`p`,{className:`mt-1 text-sm text-text-2`,children:r})]}),(0,J.jsx)(`div`,{className:`max-h-[50vh] overflow-y-auto`,children:i}),a&&(0,J.jsx)(`div`,{className:`flex flex-col gap-2 pt-1`,children:a})]})}):(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||t()},children:(0,J.jsxs)(kc,{className:H(`sm:max-w-md`,o),children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:n}),r&&(0,J.jsx)(Mc,{children:r})]}),(0,J.jsx)(`div`,{className:`max-h-[60vh] overflow-y-auto`,children:i}),a&&(0,J.jsx)(`div`,{className:`flex justify-end gap-2 pt-2`,children:a})]})})}var Hf={file:`File`,directory:`Folder`,symlink:`Symbolic link`,unknown:`Unknown`};function Uf({label:e,value:t}){return t?(0,J.jsxs)(`div`,{className:`grid grid-cols-[7rem_1fr] gap-2 py-1 text-sm`,children:[(0,J.jsx)(`span`,{className:`text-text-2`,children:e}),(0,J.jsx)(`span`,{className:`break-all text-text`,children:t})]}):null}function Wf({entry:e,platform:t,sep:n,onClose:r}){let[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(null);(0,q.useEffect)(()=>{let t=!0,n=new AbortController;return a(null),s(null),$u.stat(e.path,n.signal).then(e=>{t&&a(e)}).catch(e=>{t&&s(e instanceof Error?e.message:`Could not read properties`)}),()=>{t=!1,n.abort()}},[e.path]);let c=i?i.kind===`directory`?`${i.childCount??0}${i.truncated?`+`:``} item${i.childCount===1?``:`s`}`:`${td(i.size)} (${i.size.toLocaleString()} bytes)`:``,l=i?t===`win32`?i.readonly?`Read-only`:`Read / write`:`${id(i.mode)}${i.readonly?` (read-only)`:``}`:``;return(0,J.jsxs)(Vf,{open:!0,onClose:r,title:e.name,description:`Properties`,footer:(0,J.jsx)(I,{variant:`outline`,onClick:r,children:`Close`}),children:[o&&(0,J.jsx)(`p`,{className:`py-2 text-sm text-error`,children:o}),!i&&!o&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 py-4 text-sm text-text-2`,children:[(0,J.jsx)(K,{className:`size-4 animate-spin`}),` Reading…`]}),i&&(0,J.jsxs)(`div`,{className:`divide-y divide-border`,children:[(0,J.jsx)(Uf,{label:`Name`,value:i.name}),(0,J.jsx)(Uf,{label:`Kind`,value:Hf[i.kind]}),(0,J.jsx)(Uf,{label:`Location`,value:ad(i.path,n)}),(0,J.jsx)(Uf,{label:i.kind===`directory`?`Contains`:`Size`,value:c}),(0,J.jsx)(Uf,{label:`Created`,value:rd(i.birthtime)}),(0,J.jsx)(Uf,{label:`Modified`,value:rd(i.mtime)}),(0,J.jsx)(Uf,{label:`Permissions`,value:l}),(0,J.jsx)(Uf,{label:`Hidden`,value:i.isHidden?`Yes`:``}),(0,J.jsx)(Uf,{label:`Links to`,value:i.target??``})]})]})}function Gf({dialogs:e,platform:t,sep:n}){let{collision:r,pendingDelete:i,permanentOverwrite:a,properties:o}=e;return(0,J.jsxs)(J.Fragment,{children:[e.uploadInputs,r&&(0,J.jsxs)(Vf,{open:!0,onClose:()=>r.resolve(`skip`),title:`An item with that name already exists`,description:r.remaining>0?`${r.name} — and ${r.remaining} more`:r.name,footer:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>r.resolve(`skip`),children:`Skip`}),(0,J.jsx)(I,{variant:`outline`,onClick:()=>r.resolve(`keep-both`),children:`Keep both`}),(0,J.jsx)(I,{variant:`destructive`,onClick:()=>r.resolve(`replace`),children:`Replace`})]}),children:[(0,J.jsx)(`p`,{className:`py-1 text-sm text-text-2`,children:`Replacing moves the existing item to the Trash first, so it stays recoverable. Keep both adds a numbered suffix.`}),r.remaining>0&&(0,J.jsxs)(`label`,{className:`flex min-h-11 items-center gap-2 text-sm text-text-2`,children:[(0,J.jsx)(`input`,{type:`checkbox`,className:`size-4`,checked:r.applyToAll,onChange:e=>r.setApplyToAll(e.target.checked)}),`Apply to all `,r.remaining,` remaining item`,r.remaining===1?``:`s`]})]}),i&&(0,J.jsx)(Vf,{open:!0,onClose:e.closeDelete,title:`Delete ${i.paths.length} item${i.paths.length===1?``:`s`} permanently?`,description:`This cannot be undone — the items do not go to the Trash.`,footer:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:e.closeDelete,children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:e.runPermanentDelete,children:`Delete permanently`})]}),children:(0,J.jsxs)(`ul`,{className:`space-y-0.5 py-1 text-sm text-text-2`,children:[i.names.slice(0,10).map(e=>(0,J.jsx)(`li`,{className:`truncate`,children:e},e)),i.names.length>10&&(0,J.jsxs)(`li`,{className:`text-text-subtle`,children:[`and `,i.names.length-10,` more…`]})]})}),a&&(0,J.jsx)(Vf,{open:!0,onClose:()=>a.resolve(!1),title:`This host has no Trash`,description:a.name,footer:(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>a.resolve(!1),children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:()=>a.resolve(!0),children:`Delete permanently`})]}),children:(0,J.jsx)(`p`,{className:`py-1 text-sm text-text-2`,children:`Replacing this item cannot go through the Trash on this host. Deleting it permanently cannot be undone.`})}),o&&(0,J.jsx)(Wf,{entry:o,platform:t,sep:n,onClose:e.closeProperties})]})}function Kf(e,t){let n=zf(),r=Bf(),i=(0,q.useRef)(e);(0,q.useEffect)(()=>{i.current=e},[e]);let a=(0,q.useRef)(n);a.current=n;let o=(0,q.useRef)(r);o.current=r;let s=(0,q.useMemo)(()=>({get sep(){return i.current},resolve:e=>a.current.resolve(e),startBatch:()=>a.current.startBatch(),endBatch:()=>a.current.endBatch(),confirmPermanentOverwrite:e=>o.current.confirm(e)}),[]);return{run:(0,q.useMemo)(()=>_d(s),[s]),uploadRun:(0,q.useMemo)(()=>(e,t)=>If(e,t,i.current,s),[s]),prompts:(0,J.jsx)(Gf,{dialogs:{collision:n.state,permanentOverwrite:r.state,pendingDelete:null,properties:null,inlineError:null,closeDelete:()=>{},runPermanentDelete:()=>{},closeProperties:()=>{},uploadInputs:null},platform:t,sep:e})}}function qf(e){let t=e.replace(/\\/g,`/`).replace(/^\/+/,``).split(`/`).filter(e=>e.length>0&&e!==`.`);return t.length===0||t.some(e=>e===`..`)?null:t.join(`/`)}function Jf(e){return new Promise((t,n)=>e.file(t,n))}function Yf(e){return new Promise((t,n)=>{let r=[],i=()=>{e.readEntries(e=>{if(e.length===0){t(r);return}r.push(...e),i()},n)};i()})}async function Xf(e,t){if(e.isFile){let n=qf(e.fullPath);if(!n)return;t.push({file:await Jf(e),relativePath:n});return}if(e.isDirectory){let n=e.createReader();for(let e of await Yf(n))await Xf(e,t)}}async function Zf(e){let t=Array.from(e.items??[]).filter(e=>e.kind===`file`&&typeof e.webkitGetAsEntry==`function`).map(e=>e.webkitGetAsEntry()).filter(e=>e!=null);if(t.length>0){let e=[];for(let n of t)await Xf(n,e);return e}let n=[];for(let t of Array.from(e.files)){let e=qf(t.name);e&&n.push({file:t,relativePath:e})}return n}function Qf(e){let{targetDir:t,onFiles:n,disabled:r}=e,[i,a]=(0,q.useState)(!1),o=(0,q.useRef)(0),s=(0,q.useCallback)(()=>{o.current=0,a(!1)},[]),c=(0,q.useCallback)(e=>!r&&t!=null&&Md(e),[r,t]);return{isOver:i,handlers:{onDragEnter:(0,q.useCallback)(e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),o.current++,a(!0))},[c]),onDragOver:(0,q.useCallback)(e=>{c(e)&&(e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect=`copy`)},[c]),onDragLeave:(0,q.useCallback)(e=>{o.current!==0&&(e.stopPropagation(),o.current--,o.current===0&&a(!1))},[]),onDrop:(0,q.useCallback)(e=>{if(!c(e)||t==null)return;e.preventDefault(),e.stopPropagation();let r=e.dataTransfer;s(),Zf(r).then(e=>{e.length>0&&n(e,t)})},[c,t,n,s])}}}function $f(){}function ep(e){let{targetDir:t,run:n,springLoad:r,disabled:i,onFiles:a}=e,o=jd({targetDir:t,onDropEntries:(0,q.useCallback)((e,t,r)=>{gd(e,r,t,n)},[n]),springLoad:r,disabled:i}),s=Qf({targetDir:t,onFiles:a??$f,disabled:i||!a});return a?{isOver:o.isOver||s.isOver,handlers:{onDragEnter:e=>{o.handlers.onDragEnter(e),s.handlers.onDragEnter(e)},onDragOver:e=>{o.handlers.onDragOver(e),s.handlers.onDragOver(e)},onDragLeave:e=>{o.handlers.onDragLeave(e),s.handlers.onDragLeave(e)},onDrop:e=>{o.handlers.onDrop(e),s.handlers.onDrop(e)}}}:o}function tp({projectName:e,setExpanded:t}){let[n,r]=(0,q.useState)(!1),i=(0,q.useRef)(0),a=(0,q.useCallback)(async(n,r)=>{if(!e)return;let i=r.length,a=i===1?r[0].name:`${i} files`,o=z.loading(`Uploading ${a}…`),s=new FormData;s.append(`targetDir`,n);for(let e of r)s.append(`files`,e);let c={},l=it();l&&(c.Authorization=`Bearer ${l}`);try{let r=await fetch(`${L(e)}/files/upload`,{method:`POST`,headers:c,body:s});if(!r.ok){let e=await r.json();z.error(`Upload failed: ${e.error??`Unknown error`}`,{id:o});return}z.success(`Uploaded ${a}`,{id:o});let i=rs.getState();i.loadedPaths.has(n)&&await i.invalidateFolder(e,n),n&&t(n,!0)}catch(e){z.error(e instanceof Error?e.message:`Upload failed`,{id:o})}},[e,t]);function o(e){let t=Md(e);t&&(e.preventDefault(),Ku(i,t)&&r(!0))}function s(e){qu(i,Md(e))&&r(!1)}function c(e){Md(e)&&(e.preventDefault(),e.dataTransfer.dropEffect=`copy`)}function l(e){Md(e)&&(e.preventDefault(),Ju(i),r(!1),e.dataTransfer.files.length>0&&a(``,e.dataTransfer.files))}return{uploadFiles:a,isRootDragOver:n,handleRootDragEnter:o,handleRootDragLeave:s,handleRootDragOver:c,handleRootDrop:l}}function np({tree:e,expandedPaths:t,focusedPath:n,setFocusedPath:r,setExpanded:i,toggleExpand:a,projectName:o,onAction:s}){let c=(0,q.useMemo)(()=>Qo(e,t),[e,t]),l=(0,q.useMemo)(()=>c.find(e=>e.path===n)??null,[c,n]);function u(e){if(!o)return;let u=e.target;if(u.tagName===`INPUT`||u.tagName===`TEXTAREA`)return;let d=n==null?-1:c.findIndex(e=>e.path===n);switch(e.key){case`ArrowDown`:e.preventDefault(),r(c[d<c.length-1?d+1:0].path);break;case`ArrowUp`:e.preventDefault(),r(c[d>0?d-1:c.length-1].path);break;case`ArrowRight`:e.preventDefault(),l?.type===`directory`&&!t.has(l.path)&&a(o,l.path);break;case`ArrowLeft`:if(e.preventDefault(),l?.type===`directory`&&t.has(l.path))i(l.path,!1);else if(l){let e=l.path.includes(`/`)?l.path.slice(0,l.path.lastIndexOf(`/`)):``;if(e||e===``){let t=c.find(t=>t.path===e);t&&r(t.path)}}break;case`Enter`:e.preventDefault(),l&&s(l.type===`directory`?`toggle-expand`:`open-file`,l);break;case`F2`:e.preventDefault(),l&&s(`rename`,l);break;case`Delete`:e.preventDefault(),l&&s(`delete`,l);break}}return{visibleNodes:c,focusedNode:l,handleTreeKeyDown:u}}var rp={name:``,path:``,type:`directory`};function ip(e){return e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}function ap({onFileOpen:e}={}){let{tree:t,loading:n,error:r,loadRoot:i,loadIndex:a,loadChildren:o,invalidateIndex:s,invalidateFolder:c,reset:l,selectedFiles:u,clearSelection:d,setExpanded:f,fetchTree:p,inlineAction:m,setInlineAction:h,clearInlineAction:g,clipboard:_,setClipboard:v,collapseAll:y,focusedPath:b,setFocusedPath:x,expandedPaths:S,toggleExpand:C}=rs(Ol(e=>({tree:e.tree,loading:e.loading,error:e.error,loadRoot:e.loadRoot,loadIndex:e.loadIndex,loadChildren:e.loadChildren,invalidateIndex:e.invalidateIndex,invalidateFolder:e.invalidateFolder,reset:e.reset,selectedFiles:e.selectedFiles,clearSelection:e.clearSelection,setExpanded:e.setExpanded,fetchTree:e.fetchTree,inlineAction:e.inlineAction,setInlineAction:e.setInlineAction,clearInlineAction:e.clearInlineAction,clipboard:e.clipboard,setClipboard:e.setClipboard,collapseAll:e.collapseAll,focusedPath:e.focusedPath,setFocusedPath:e.setFocusedPath,expandedPaths:e.expandedPaths,toggleExpand:e.toggleExpand}))),w=W(e=>e.activeProject),T=G(e=>e.openTab),[E,D]=(0,q.useState)(null),O=(0,q.useCallback)(()=>{w&&(l(),i(w.name),a(w.name))},[w,l,i,a]),k=(0,q.useCallback)(async()=>{if(!w)return;let{tabs:e,activeTabId:t}=G.getState(),n=e.find(e=>e.id===t)?.metadata?.filePath;if(!n)return;let r=n.split(`/`),i=w.name;for(let e=1;e<r.length;e++){let t=r.slice(0,e).join(`/`);f(t,!0),await o(i,t)}x(n)},[w,f,o,x]),A=(0,q.useCallback)(async e=>{if(!w||!_)return;let t=w.name,n=w.path,r=n.includes(`\\`)?`\\`:`/`,i=_.operation===`cut`?`move`:`copy`,a=new Set([$o(n,e)]);for(let o of _.paths){let s=o.split(/[/\\]/).filter(Boolean).pop()??o,c=es(n,o);a.add(ad(o,r));try{if(c!=null){let n=e?`${e}/${s}`:s;await R.post(`${L(t)}/files/${i}`,{source:c,destination:n})}else{let t=$o(n,e?`${e}/${s}`:s);await R.post(`/api/fs/${i}`,{source:o,destination:t})}}catch(e){z.error(e instanceof Error?e.message:`Failed to ${i}`)}}_.operation===`cut`&&v(null),Au(...a),O()},[w,_,v,O]),j=(0,q.useRef)(null),M=(0,q.useCallback)((e,t)=>{if(!w)return;let n=w.path;v({paths:e.map(e=>$o(n,e)),operation:t,origin:{projectName:w.name,root:n}})},[w,v]),ee=(0,q.useCallback)(e=>{if(!w)return;let t=e.target;t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable||(e.metaKey||e.ctrlKey)&&((e.key===`x`||e.key===`c`)&&u.length>0?(e.preventDefault(),M(u,e.key===`x`?`cut`:`copy`)):e.key===`v`&&_&&(e.preventDefault(),A(``)))},[w,u,_,v,A]),{handleTreeKeyDown:N}=np({tree:t,expandedPaths:S,focusedPath:b,setFocusedPath:x,setExpanded:f,toggleExpand:C,projectName:w?.name,onAction:me});(0,q.useEffect)(()=>{if(!w)return;l();let e=w.name,t=as(e);rs.setState({expandedPaths:new Set([``,...t])}),t.length>0?rs.getState().loadPathsBatch(e,[``,...t]):i(e),a(e)},[w?.name]),(0,q.useEffect)(()=>{w&&os(w.name,rs.getState().expandedPaths)},[S,w?.name]),(0,q.useEffect)(()=>{if(!w)return;let e=w.name,t,n=n=>{let r=n.detail;r.projectName===e&&(clearTimeout(t),t=setTimeout(()=>{let t=rs.getState(),n=r.path??``,i=n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``;t.invalidateIndex(),t.loadIndex(e),t.invalidateFolder(e,i)},300))};return window.addEventListener(`file:changed`,n),()=>{clearTimeout(t),window.removeEventListener(`file:changed`,n)}},[w]),(0,q.useEffect)(()=>{if(!w)return;let e=w.name,t=w.path;return ju(n=>{let r=es(t,n);if(r==null)return;let i=rs.getState();i.invalidateIndex(),i.loadIndex(e),i.invalidateFolder(e,r)})},[w]);let{uploadFiles:P,isRootDragOver:te,handleRootDragEnter:ne,handleRootDragLeave:re,handleRootDragOver:ie,handleRootDrop:ae}=tp({projectName:w?.name,setExpanded:f}),{run:oe,prompts:se}=Kf(w?.path.includes(`\\`)?`\\`:`/`),ce=ep({targetDir:w?.path??null,run:oe,disabled:!w}),le=(0,q.useMemo)(()=>Zo(t,S,m),[t,S,m]),ue=(0,q.useRef)(null);Ef(ue);let de=_t(),fe=Ql({count:le.length,getScrollElement:()=>ue.current,estimateSize:()=>de?32:26,overscan:10,paddingStart:4,paddingEnd:4});(0,q.useEffect)(()=>{if(b==null)return;let e=le.findIndex(e=>e.kind===`node`&&(e.node.path===b||e.effectiveNode.path===b));e>=0&&fe.scrollToIndex(e,{align:`auto`})},[b]);let pe=(0,q.useCallback)(async(e,t)=>{let n=w.name,r=rs.getState();if(e.inline.type===`rename`){let i=e.inline.existingNode;if(t===i.name){g();return}let a=i.path.includes(`/`)?i.path.slice(0,i.path.lastIndexOf(`/`)):``,o=a?`${a}/${t}`:t;await R.post(`${L(n)}/files/rename`,{oldPath:i.path,newPath:o}),g(),r.invalidateIndex(),r.loadIndex(n),r.invalidateFolder(n,a),Au($o(w.path,a))}else{let i=e.inline.type===`new-file`?`file`:`directory`,a=e.targetPath?`${e.targetPath}/${t}`:t;await R.post(`${L(n)}/files/create`,{path:a,type:i}),g(),r.invalidateIndex(),r.loadIndex(n),r.invalidateFolder(n,e.targetPath),Au($o(w.path,e.targetPath))}},[w,g]);async function me(t,n){if(t===`toggle-expand`&&n.type===`directory`){C(w.name,n.path);return}if(t===`open-file`&&n.type===`file`){let t=n.name.split(`.`).pop()?.toLowerCase()??``;T({type:t===`db`||t===`sqlite`||t===`sqlite3`?`sqlite`:`editor`,title:n.name,metadata:{filePath:n.path,projectName:w.name},projectId:w.name,closable:!0}),e?.();return}if(t===`cut`||t===`copy-file`){M(u.length>0&&u.includes(n.path)?[...u]:[n.path],t===`cut`?`cut`:`copy`);return}if(t===`open-in-file-explorer`){let e=n.type===`directory`?n.path:ip(n.path);xf($o(w.path,e));return}if(t===`open-in-terminal`){let e=n.type===`directory`?n.path:ip(n.path);Sf($o(w.path,e),w.name);return}if(t===`paste`&&n.type===`directory`){A(n.path);return}if(t===`copy-path`){bc(n.path);return}if(t===`copy-full-path`){let e=w?.path;bc(e?`${e}/${n.path}`:n.path);return}if(t===`select-for-compare`){fs.getState().setSelection({filePath:n.path,projectName:w.name,label:n.name});return}if(t===`compare-with-selected`){let e=fs.getState().selection;if(!e)return;try{await ms({path:e.filePath,dirtyContent:e.dirtyContent},{path:n.path},w.name),fs.getState().clearSelection()}catch(e){let t=e instanceof Error?e.message:`Compare failed`;z.error(t)}return}if(t===`download`){n.type===`directory`?vc(w.name,n.path):_c(w.name,n.path);return}if(t===`compare-selected`&&u.length===2){let e=u[0],t=u[1];T({type:`git-diff`,title:`Compare ${st(e)} vs ${st(t)}`,closable:!0,metadata:{projectName:w.name,file1:e,file2:t},projectId:w.name}),d();return}if(t===`new-file`||t===`new-folder`){let e=n.type===`directory`?n.path:``;e&&f(e,!0),h({type:t,parentPath:e});return}if(t===`rename`){h({type:`rename`,parentPath:n.path.includes(`/`)?n.path.slice(0,n.path.lastIndexOf(`/`)):``,existingNode:n});return}D({action:t,node:n})}if(!w)return(0,J.jsx)(`div`,{className:`p-3 text-xs text-text-subtle`,children:`Select a project to browse files.`});if(n&&t.length===0)return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 p-3 text-xs text-text-secondary`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),`Loading files...`]});if(r)return(0,J.jsxs)(`div`,{className:`p-3 text-xs text-error`,children:[r,(0,J.jsx)(`button`,{onClick:O,className:`block mt-1 text-primary underline`,children:`Retry`})]});let he=`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`;return(0,J.jsxs)(`div`,{ref:j,className:H(`flex flex-col h-full outline-none`,(te||ce.isOver)&&`bg-primary/5`),tabIndex:0,onKeyDown:e=>{ee(e),N(e)},onDragEnter:e=>{ne(e),ce.handlers.onDragEnter(e)},onDragLeave:e=>{re(e),ce.handlers.onDragLeave(e)},onDragOver:e=>{ie(e),ce.handlers.onDragOver(e)},onDrop:e=>{ae(e),ce.handlers.onDrop(e)},children:[(0,J.jsxs)($l,{icon:zn,title:`Explorer`,children:[(0,J.jsx)(`button`,{onClick:()=>me(`new-file`,rp),title:`New File`,className:he,children:(0,J.jsx)(Nn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>me(`new-folder`,rp),title:`New Folder`,className:he,children:(0,J.jsx)(Bn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:k,title:`Reveal Active File`,className:he,children:(0,J.jsx)(xn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:y,title:`Collapse All`,className:he,children:(0,J.jsx)(ln,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:O,title:`Refresh`,className:he,children:(0,J.jsx)(Rr,{className:`size-3.5`})})]}),(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsx)(`div`,{ref:ue,className:`flex-1 overflow-y-auto`,children:(0,J.jsxs)(`div`,{className:`relative w-full`,style:{height:fe.getTotalSize()},children:[fe.getVirtualItems().map(t=>{let n=le[t.index];return(0,J.jsx)(`div`,{"data-index":t.index,ref:fe.measureElement,className:`absolute left-0 top-0 w-full`,style:{transform:`translateY(${t.start}px)`},children:n.kind===`input`?(0,J.jsx)(Ld,{defaultValue:n.inline.type===`rename`?n.inline.existingNode.name:``,placeholder:n.inline.type===`rename`?n.inline.existingNode.name:n.inline.type===`new-file`?`filename.ts`:`folder-name`,depth:n.depth,icon:n.inline.type===`rename`?n.inline.existingNode.type===`directory`?`folder`:`file`:n.inline.type===`new-file`?`file`:`folder`,onConfirm:e=>pe(n,e),onCancel:g}):(0,J.jsx)(Id,{row:n,projectName:w.name,onAction:me,onFileDrop:P,onFileOpen:e,transferRun:oe})},n.kind===`node`?n.node.path:`input:${n.targetPath}:${n.inline.type}`)}),le.length===0&&(0,J.jsx)(`p`,{className:`p-3 text-xs text-text-subtle`,children:`Empty project.`})]})})}),(0,J.jsxs)(au,{children:[(0,J.jsxs)(ou,{onClick:()=>me(`new-file`,rp),children:[(0,J.jsx)(Nn,{className:`size-3.5 mr-2`}),`New File`]}),(0,J.jsxs)(ou,{onClick:()=>me(`new-folder`,rp),children:[(0,J.jsx)(Bn,{className:`size-3.5 mr-2`}),`New Folder`]}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{onClick:O,children:[(0,J.jsx)(Rr,{className:`size-3.5 mr-2`}),`Refresh`]})]})]}),E?.action===`delete`&&(0,J.jsx)(Nc,{node:E.node,projectName:w.name,onClose:()=>D(null),onRefresh:()=>{Au($o(w.path,ip(E.node.path))),O()}}),se]})}function $({className:e,type:t,...n}){return(0,J.jsx)(`input`,{type:t,"data-slot":`input`,className:H(`h-9 w-full min-w-0 rounded-lg border border-border bg-surface px-3 py-2 text-base md:text-sm text-foreground placeholder:text-muted-foreground focus:outline-none focus:border-ring disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50`,`selection:bg-primary selection:text-primary-foreground`,`file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground`,`aria-invalid:border-destructive`,e),...n})}function op({className:e,...t}){return(0,J.jsx)(le,{"data-slot":`label`,className:H(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function sp({open:e,onOpenChange:t,projectName:n,onCreated:r}){let[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(`new`),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)([]),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null);(0,q.useEffect)(()=>{!e||!n||R.get(`${L(n)}/git/branches`).then(e=>{let t=e.filter(e=>!e.remote).map(e=>e.name);p(t),t.length>0&&!u&&d(t[0])}).catch(()=>p([]))},[e,n]);function v(){a(``),s(`new`),l(``),_(null)}function y(){v(),t(!1)}async function b(){if(!i.trim()){_(`Worktree path is required`);return}let e=o===`existing`?u:void 0,t=o===`new`&&c.trim()?c.trim():void 0;h(!0),_(null);try{await R.post(`${L(n)}/git/worktree/add`,{path:i.trim(),branch:e,newBranch:t}),r(),y()}catch(e){_(e instanceof Error?e.message:`Failed to create worktree`)}finally{h(!1)}}let x=(0,J.jsxs)(`div`,{className:`space-y-4`,children:[g&&(0,J.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 px-3 py-2 rounded-md`,children:g}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{htmlFor:`wt-path`,children:`Worktree Path`}),(0,J.jsx)($,{id:`wt-path`,placeholder:`../my-feature`,value:i,onChange:e=>a(e.target.value),autoFocus:!0,className:`w-full`}),(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Relative or absolute path for the new worktree directory`})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(op,{children:`Branch`}),(0,J.jsxs)(`div`,{className:`flex gap-3`,children:[(0,J.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,J.jsx)(`input`,{type:`radio`,checked:o===`new`,onChange:()=>s(`new`),className:`accent-primary`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Create new branch`})]}),(0,J.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,J.jsx)(`input`,{type:`radio`,checked:o===`existing`,onChange:()=>s(`existing`),className:`accent-primary`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Use existing branch`})]})]}),o===`new`?(0,J.jsx)($,{placeholder:`feature/my-branch`,value:c,onChange:e=>l(e.target.value),className:`w-full`}):(0,J.jsxs)(`select`,{value:u,onChange:e=>d(e.target.value),className:`w-full h-9 px-3 rounded-md border border-input bg-transparent text-sm focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,children:[f.length===0&&(0,J.jsx)(`option`,{value:``,children:`No branches available`}),f.map(e=>(0,J.jsx)(`option`,{value:e,children:e},e))]})]})]}),S=(0,J.jsxs)(`div`,{className:`flex gap-2 justify-end pt-2`,children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:y,disabled:m,children:`Cancel`}),(0,J.jsxs)(I,{size:`sm`,onClick:b,disabled:m||!i.trim(),children:[m?(0,J.jsx)(K,{className:`size-3 animate-spin mr-1`}):null,`Create Worktree`]})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||y()},children:(0,J.jsxs)(kc,{className:`hidden md:grid sm:max-w-md`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Add Worktree`})}),x,(0,J.jsx)(jc,{children:S})]})}),e&&(0,J.jsxs)(`div`,{className:`md:hidden`,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:y}),(0,J.jsxs)(`div`,{className:H(`fixed bottom-0 left-0 right-0 z-50 bg-background rounded-t-2xl border-t border-border shadow-2xl`,`animate-in slide-in-from-bottom-2 duration-200`),children:[(0,J.jsx)(`div`,{className:`flex justify-center pt-3 pb-1`,children:(0,J.jsx)(`div`,{className:`w-10 h-1 rounded-full bg-border`})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Add Worktree`}),(0,J.jsx)(`button`,{onClick:y,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),(0,J.jsxs)(`div`,{className:`px-4 py-4 space-y-4 max-h-[70vh] overflow-y-auto`,children:[x,S]})]})]})]})}function cp({projectName:e,projectPath:t}){let[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)([]),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(!1),g=(0,q.useCallback)(async()=>{if(e){s(!0),l(null);try{a(await R.get(`${L(e)}/git/worktrees`))}catch(e){l(e instanceof Error?e.message:`Failed to load worktrees`)}finally{s(!1)}}},[e]);(0,q.useEffect)(()=>{n&&g()},[n,g]);async function _(t=!1){if(f){h(!0);try{await R.post(`${L(e)}/git/worktree/remove`,{path:f.path,force:t}),p(null),await g()}catch(e){l(e instanceof Error?e.message:`Failed to remove worktree`),p(null)}finally{h(!1)}}}async function v(){try{await R.post(`${L(e)}/git/worktree/prune`,{}),await g()}catch(e){l(e instanceof Error?e.message:`Prune failed`)}}return(0,J.jsxs)(`div`,{className:`border-t border-border`,children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center justify-between w-full px-3 py-2 hover:bg-muted/50 transition-colors`,onClick:()=>r(e=>!e),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[n?(0,J.jsx)(on,{className:`size-3.5 text-muted-foreground`}):(0,J.jsx)(We,{className:`size-3.5 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase`,children:`Worktrees`}),i.length>0&&(0,J.jsx)(`span`,{className:`text-[10px] bg-muted text-muted-foreground rounded px-1`,children:i.length})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-0.5`,children:n&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{role:`button`,tabIndex:0,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground transition-colors`,onClick:e=>{e.stopPropagation(),v()},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),v())},title:`Prune stale worktrees`,"aria-label":`Prune stale worktrees`,children:(0,J.jsx)(Rr,{className:H(`size-3`,o&&`animate-spin`)})}),(0,J.jsx)(`span`,{role:`button`,tabIndex:0,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground transition-colors`,onClick:e=>{e.stopPropagation(),d(!0)},onKeyDown:e=>{e.key===`Enter`&&(e.stopPropagation(),d(!0))},title:`Add worktree`,"aria-label":`Add worktree`,children:(0,J.jsx)(et,{className:`size-3`})})]})})]}),n&&(0,J.jsxs)(`div`,{className:`pb-1`,children:[c&&(0,J.jsx)(`p`,{className:`text-xs text-destructive px-3 py-1`,children:c}),o&&i.length===0&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 text-muted-foreground`,children:[(0,J.jsx)(K,{className:`size-3.5 animate-spin`}),(0,J.jsx)(`span`,{className:`text-xs`,children:`Loading worktrees...`})]}),!o&&i.length===0&&!c&&(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground px-3 py-1`,children:`No worktrees found.`}),i.map(e=>(0,J.jsx)(lp,{worktree:e,isActive:!!t&&e.path===t,onRemove:()=>p(e)},e.path)),(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-2 w-full px-3 py-2 text-xs text-muted-foreground hover:text-foreground hover:bg-muted/50 transition-colors`,onClick:()=>d(!0),children:[(0,J.jsx)(et,{className:`size-3.5`}),`Add worktree`]})]}),(0,J.jsx)(sp,{open:u,onOpenChange:d,projectName:e,onCreated:g}),(0,J.jsx)(Tc,{open:!!f,onOpenChange:e=>!e&&p(null),children:(0,J.jsxs)(kc,{showCloseButton:!1,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:`Remove Worktree`}),(0,J.jsxs)(Mc,{children:[`Remove worktree at`,` `,(0,J.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-muted text-xs font-mono`,children:f?.path}),f?.branch&&(0,J.jsxs)(J.Fragment,{children:[` (branch: `,(0,J.jsx)(`strong`,{children:f.branch}),`)`]}),`? The directory will be deleted.`]})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:()=>p(null),disabled:m,children:`Cancel`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:()=>_(!0),disabled:m,children:m?(0,J.jsx)(K,{className:`size-3 animate-spin`}):`Force Remove`}),(0,J.jsx)(I,{variant:`destructive`,size:`sm`,onClick:()=>_(!1),disabled:m,children:m?(0,J.jsx)(K,{className:`size-3 animate-spin`}):`Remove`})]})]})})]})}function lp({worktree:e,isActive:t,onRemove:n}){let r=e.branch||e.head.slice(0,7)||`detached`,i=e.path.replace(/^\/home\/[^/]+/,`~`);return(0,J.jsxs)(`div`,{className:H(`group flex items-center gap-2 px-3 py-1.5 hover:bg-muted/50 transition-colors`,t&&`bg-accent/10`),children:[(0,J.jsx)(Gn,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1 min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs font-mono truncate`,title:e.branch,children:r}),t&&(0,J.jsx)(Fe,{className:`size-3 text-success shrink-0`}),e.isMain&&(0,J.jsx)(`span`,{className:`text-[10px] bg-muted text-muted-foreground rounded px-1 shrink-0`,children:`main`}),e.locked&&(0,J.jsx)(`span`,{title:e.lockReason??`locked`,children:(0,J.jsx)(fr,{className:`size-3 text-warning shrink-0`})}),e.prunable&&(0,J.jsx)(`span`,{title:`stale/prunable`,children:(0,J.jsx)(fn,{className:`size-3 text-destructive shrink-0`})})]}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground truncate`,title:e.path,children:i})]}),!e.isMain&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive opacity-0 group-hover:opacity-100 can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-all active:scale-95 shrink-0`,onClick:n,title:`Remove worktree`,"aria-label":`Remove worktree`,children:(0,J.jsx)(si,{className:`size-3`})})]})}function up({className:e,children:t,...n}){return(0,J.jsxs)(h,{"data-slot":`scroll-area`,className:H(`relative`,e),...n,children:[(0,J.jsx)(f,{"data-slot":`scroll-area-viewport`,className:`size-full rounded-[inherit] transition-[color,box-shadow] outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 [&>div]:!block`,children:t}),(0,J.jsx)(dp,{}),(0,J.jsx)(g,{})]})}function dp({className:e,orientation:t=`vertical`,...n}){return(0,J.jsx)(C,{"data-slot":`scroll-area-scrollbar`,orientation:t,className:H(`flex touch-none p-px transition-colors select-none`,t===`vertical`&&`h-full w-1.5 border-l border-l-transparent`,t===`horizontal`&&`h-1.5 flex-col border-t border-t-transparent`,e),...n,children:(0,J.jsx)(ue,{"data-slot":`scroll-area-thumb`,className:`relative flex-1 rounded-full bg-border`})})}var fp={M:`text-warning`,A:`text-success`,D:`text-error`,R:`text-primary`,C:`text-accent-2`,"?":`text-text-3`};function pp(e){let t=[];for(let n of e){let e=n.path.split(`/`),r=t;for(let t=0;t<e.length;t++){let i=e[t],a=e.slice(0,t+1).join(`/`),o=t===e.length-1,s=r.find(e=>e.name===i);s||(s={name:i,fullPath:a,file:o?n:void 0,children:[]},r.push(s)),o&&(s.file=n),r=s.children}}return t}function mp(e){let t=[];e.file&&t.push(e.file);for(let n of e.children)t.push(...mp(n));return t}function hp({metadata:e,tabId:t,onNavigate:n}){let r=e?.projectName,[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(!0),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(null),{openTab:g}=G(Ol(e=>({openTab:e.openTab}))),_=V(e=>e.gitStatusViewMode),v=V(e=>e.setGitStatusViewMode),y=W(e=>e.projects.find(e=>e.name===r)?.path),b=gu(e=>e.setCount),x=$s(e=>e.contributions?.commands?.some(e=>e.command===`git-graph.view`)??!1),S=(0,q.useCallback)(async()=>{if(r)try{s(!0);let e=await R.get(`${L(r)}/git/status`);a(e),b(r,e.staged.length+e.unstaged.length+e.untracked.length),gu.getState().setMeta(r,e),l(null)}catch(e){l(e instanceof Error?e.message:`Failed to fetch status`)}finally{s(!1)}},[r,b]);(0,q.useEffect)(()=>{S();let e=setInterval(S,5e3);return()=>clearInterval(e)},[S]);let C=async e=>{if(r){p(!0);try{await R.post(`${L(r)}/git/stage`,{files:e}),await S()}catch(e){l(e instanceof Error?e.message:`Stage failed`)}finally{p(!1)}}},w=async e=>{if(r){p(!0);try{await R.post(`${L(r)}/git/unstage`,{files:e}),await S()}catch(e){l(e instanceof Error?e.message:`Unstage failed`)}finally{p(!1)}}},T=async e=>{if(r){p(!0);try{await R.post(`${L(r)}/git/discard`,{files:e}),await S()}catch(e){l(e instanceof Error?e.message:`Discard failed`)}finally{p(!1)}}},E=async()=>{m&&(await T(m.files),h(null))},D=async()=>{if(!(!r||!u.trim()||!i?.staged.length)){p(!0);try{await R.post(`${L(r)}/git/commit`,{message:u.trim()}),d(``),await S()}catch(e){l(e instanceof Error?e.message:`Commit failed`)}finally{p(!1)}}},O=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/push`,{}),await S()}catch(e){l(e instanceof Error?e.message:`Push failed`)}finally{p(!1)}}},k=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/pull`,{}),await S()}catch(e){l(e instanceof Error?e.message:`Pull failed`)}finally{p(!1)}}},A=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/commit`,{message:u.trim(),amend:!0}),d(``),await S()}catch(e){l(e instanceof Error?e.message:`Amend failed`)}finally{p(!1)}}},j=async()=>{if(r){p(!0);try{await R.post(`${L(r)}/git/fetch`,{}),await S()}catch(e){l(e instanceof Error?e.message:`Fetch failed`)}finally{p(!1)}}},M=async()=>{await D(),await O()},ee=async()=>{await D(),await k(),await O()},N=e=>{g({type:`git-diff`,title:st(e.path),closable:!0,metadata:{projectName:r,filePath:e.path},projectId:r??null}),n?.()},P=e=>{g({type:`editor`,title:st(e.path),closable:!0,metadata:{projectName:r,filePath:e.path},projectId:r??null}),n?.()},te=(0,q.useMemo)(()=>[...i?.unstaged??[],...i?.untracked.map(e=>({path:e,status:`?`}))??[]],[i]);if(!r)return(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full text-muted-foreground text-sm`,children:`No project selected.`});if(o&&!i)return(0,J.jsxs)(`div`,{className:`flex items-center justify-center h-full gap-2 text-muted-foreground`,children:[(0,J.jsx)(K,{className:`size-5 animate-spin`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Loading git status...`})]});if(c&&!i)return(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-2 text-destructive text-sm`,children:[(0,J.jsx)(`p`,{children:c}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:S,children:`Retry`})]});let ne=i?.staged.length??0,re=f||!u.trim()||!ne,ie=(0,J.jsxs)(`div`,{className:`p-2 flex flex-col gap-2`,children:[(0,J.jsx)(`textarea`,{className:`w-full h-10 px-3 py-2 text-base md:text-sm text-foreground bg-surface border border-border rounded-lg resize-none focus:outline-none focus:border-ring placeholder:text-muted-foreground`,placeholder:`Message (⌘↵)`,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&D()}}),(0,J.jsxs)(`div`,{className:`flex h-8`,children:[(0,J.jsx)(I,{size:`sm`,className:`flex-1 rounded-r-none`,disabled:re,onClick:D,children:f?(0,J.jsx)(K,{className:`size-3 animate-spin`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Fe,{className:`size-3.5`}),`Commit (`,ne,`)`]})}),(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsx)(I,{size:`sm`,className:`w-8 px-0 rounded-l-none border-l border-white/20`,disabled:f,title:`More commit actions`,children:(0,J.jsx)(on,{className:`size-3.5`})})}),(0,J.jsxs)(tl,{align:`end`,className:`w-56`,children:[(0,J.jsxs)(Z,{onClick:M,disabled:re,children:[(0,J.jsx)(Jt,{className:`size-3.5`}),`Commit & Push`]}),(0,J.jsxs)(Z,{onClick:ee,disabled:re,children:[(0,J.jsx)(Rr,{className:`size-3.5`}),`Commit & Sync`]}),(0,J.jsx)(al,{}),(0,J.jsxs)(Z,{onClick:A,disabled:f,children:[(0,J.jsx)(Kn,{className:`size-3.5`}),`Amend Last Commit`]}),(0,J.jsx)(al,{}),(0,J.jsxs)(Z,{onClick:O,disabled:f,children:[(0,J.jsx)(Jt,{className:`size-3.5`}),`Push`]}),(0,J.jsxs)(Z,{onClick:k,disabled:f,children:[(0,J.jsx)(Kt,{className:`size-3.5`}),`Pull`]}),(0,J.jsxs)(Z,{onClick:j,disabled:f,children:[(0,J.jsx)(Rr,{className:`size-3.5`}),`Fetch`]})]})]})]})]});return(0,J.jsxs)(`div`,{className:`flex flex-col h-full overflow-hidden`,children:[(0,J.jsxs)($l,{icon:Gn,title:i?.current?`On: ${i.current}`:`Source Control`,children:[(0,J.jsx)(I,{variant:_===`flat`?`secondary`:`ghost`,size:`icon-xs`,onClick:()=>v(`flat`),title:`Flat view`,children:(0,J.jsx)(dr,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:_===`tree`?`secondary`:`ghost`,size:`icon-xs`,onClick:()=>v(`tree`),title:`Tree view`,children:(0,J.jsx)(Un,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon-xs`,onClick:()=>{if(x){let e=[];y&&e.push(y),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:`git-graph.view`,args:e}}))}else g({type:`git-log`,title:`Git Log`,projectId:r??null,closable:!0,metadata:{projectName:r}});n?.()},title:x?`Open Git Graph (⌘G)`:`View Git Log`,children:(0,J.jsx)(Gn,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon-xs`,onClick:S,disabled:f,children:(0,J.jsx)(Rr,{className:o?`animate-spin`:``})})]}),c&&(0,J.jsx)(`div`,{className:`px-3 py-1.5 text-xs text-destructive bg-destructive/10 shrink-0`,children:c}),(0,J.jsx)(`div`,{className:`hidden md:block border-b border-border`,children:ie}),r&&(0,J.jsx)(cp,{projectName:r,projectPath:y}),(0,J.jsx)(up,{className:`flex-1 overflow-hidden`,children:(0,J.jsxs)(`div`,{className:`p-1.5 space-y-2 overflow-hidden`,children:[(0,J.jsx)(_p,{title:`Staged Changes`,count:i?.staged.length??0,files:i?.staged??[],viewMode:_,actionIcon:(0,J.jsx)(yr,{className:`size-3`}),actionAllIcon:(0,J.jsx)(yr,{className:`size-3`}),actionTitle:`Unstage`,onAction:e=>w([e.path]),onActionAll:i?.staged.length?()=>w(i.staged.map(e=>e.path)):void 0,actionAllLabel:`Unstage All`,onFolderAction:e=>w(e.map(e=>e.path)),onClickFile:N,onOpenFile:P,disabled:f}),(0,J.jsx)(_p,{title:`Changes`,count:te.length,files:te,viewMode:_,actionIcon:(0,J.jsx)(et,{className:`size-3`}),actionAllIcon:(0,J.jsx)(et,{className:`size-3`}),actionTitle:`Stage`,onAction:e=>C([e.path]),onActionAll:te.length?()=>C(te.map(e=>e.path)):void 0,actionAllLabel:`Stage All`,onFolderAction:e=>C(e.map(e=>e.path)),onClickFile:N,onOpenFile:P,disabled:f,showRevert:!0,onRevert:e=>h({label:e.path,files:[e.path]}),onFolderRevert:(e,t)=>h({label:`${t}/ (${e.length} files)`,files:e.map(e=>e.path)})})]})}),(0,J.jsx)(`div`,{className:`md:hidden border-t border-border shrink-0`,children:ie}),(0,J.jsx)(Tc,{open:!!m,onOpenChange:e=>!e&&h(null),children:(0,J.jsxs)(kc,{showCloseButton:!1,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:`Discard Changes`}),(0,J.jsxs)(Mc,{children:[`Are you sure you want to discard all changes to`,` `,(0,J.jsx)(`code`,{className:`px-1 py-0.5 rounded bg-muted text-sm font-mono`,children:m?.label}),`? This action cannot be undone.`]})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>h(null),children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:E,disabled:f,children:f?(0,J.jsx)(K,{className:`size-3 animate-spin`}):`Discard`})]})]})})]})}function gp({showRevert:e,onRevert:t,onAction:n,onOpenFile:r,actionIcon:i,actionTitle:a,disabled:o}){return(0,J.jsxs)(`div`,{className:`hidden md:flex absolute right-0 top-0 bottom-0 items-center gap-0.5 pl-6 pr-1 bg-gradient-to-l from-background from-70% to-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 transition-opacity`,children:[r&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),r()},disabled:o,title:`Open file`,children:(0,J.jsx)(Fn,{className:`size-3`})}),e&&t&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-destructive active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),t()},disabled:o,title:`Discard changes`,children:(0,J.jsx)(li,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors`,onClick:e=>{e.stopPropagation(),n()},disabled:o,title:a,children:i})]})}function _p({title:e,count:t,files:n,viewMode:r,actionIcon:i,actionAllIcon:a,actionTitle:o,onAction:s,onActionAll:c,actionAllLabel:l,onFolderAction:u,onClickFile:d,onOpenFile:f,disabled:p,showRevert:m,onRevert:h,onFolderRevert:g}){return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between mb-0.5`,children:[(0,J.jsxs)(`span`,{className:`text-xs font-medium text-muted-foreground uppercase`,children:[e,` (`,t,`)`]}),c&&t>0&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-accent-foreground active:scale-95 transition-colors`,onClick:c,disabled:p,title:l,children:a})]}),n.length===0?(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground px-1`,children:`No changes`}):r===`flat`?(0,J.jsx)(`div`,{className:`w-full overflow-hidden`,children:n.map(e=>(0,J.jsx)(yp,{file:e,actionIcon:i,actionTitle:o,onAction:s,onClickFile:d,onOpenFile:f,disabled:p,showRevert:m,onRevert:h},e.path))}):(0,J.jsx)(bp,{files:n,actionIcon:i,actionTitle:o,onAction:s,onFolderAction:u,onClickFile:d,onOpenFile:f,disabled:p,showRevert:m,onRevert:h,onFolderRevert:g})]})}function vp(e,t,n=400){let r=(0,q.useRef)(null),i=(0,q.useRef)(!1),a=(0,q.useRef)(!1),o=(0,q.useCallback)(()=>{r.current&&=(clearTimeout(r.current),null)},[]);return{onTouchStart:(0,q.useCallback)(t=>{i.current=!1,a.current=!1,r.current=setTimeout(()=>{a.current=!0,e()},n)},[e,n]),onTouchMove:(0,q.useCallback)(()=>{i.current=!0,o()},[o]),onTouchEnd:(0,q.useCallback)(e=>{o(),!i.current&&!a.current&&(e.preventDefault(),t())},[o,t])}}function yp({file:e,actionIcon:t,actionTitle:n,onAction:r,onClickFile:i,onOpenFile:a,disabled:o,showRevert:s,onRevert:c,displayName:l}){let[u,d]=(0,q.useState)(!1),f=vp((0,q.useCallback)(()=>d(!0),[]),(0,q.useCallback)(()=>i(e),[i,e])),p=(0,J.jsxs)(`div`,{className:`group relative flex items-center gap-1 hover:bg-muted/50 rounded pl-1 py-px w-full min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs font-mono w-4 text-center shrink-0 ${fp[e.status]??``}`,children:e.status}),(0,J.jsx)(`button`,{type:`button`,className:`hidden md:block flex-1 text-left text-xs font-mono truncate hover:underline min-w-0`,onClick:()=>i(e),title:e.path,children:l??e.path}),(0,J.jsx)(`span`,{className:`md:hidden flex-1 text-left text-xs font-mono truncate min-w-0 select-none`,children:l??e.path}),(0,J.jsx)(gp,{showRevert:s,onRevert:c?()=>c(e):void 0,onOpenFile:a?()=>a(e):void 0,onAction:()=>r(e),actionIcon:t,actionTitle:n,disabled:o})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`hidden md:block`,children:p}),(0,J.jsx)(`div`,{className:`md:hidden select-none`,...f,children:(0,J.jsxs)($c,{open:u,onOpenChange:d,children:[(0,J.jsx)(el,{asChild:!0,children:p}),(0,J.jsxs)(tl,{align:`start`,className:`min-w-40`,children:[(0,J.jsx)(Z,{onClick:()=>i(e),children:`View Diff`}),a&&(0,J.jsx)(Z,{onClick:()=>a(e),children:`Open File`}),(0,J.jsx)(Z,{onClick:()=>r(e),disabled:o,children:n}),s&&c&&(0,J.jsx)(Z,{className:`text-destructive focus:text-destructive`,onClick:()=>c(e),disabled:o,children:`Discard Changes`})]})]})})]})}function bp({files:e,actionIcon:t,actionTitle:n,onAction:r,onFolderAction:i,onClickFile:a,onOpenFile:o,disabled:s,showRevert:c,onRevert:l,onFolderRevert:u}){let d=(0,q.useMemo)(()=>pp(e),[e]);return(0,J.jsx)(`div`,{children:d.map((e,f)=>(0,J.jsx)(xp,{node:e,depth:0,isLast:f===d.length-1,actionIcon:t,actionTitle:n,onAction:r,onFolderAction:i,onClickFile:a,onOpenFile:o,disabled:s,showRevert:c,onRevert:l,onFolderRevert:u},e.fullPath))})}function xp({node:e,depth:t,isLast:n,actionIcon:r,actionTitle:i,onAction:a,onFolderAction:o,onClickFile:s,onOpenFile:c,disabled:l,showRevert:u,onRevert:d,onFolderRevert:f}){let[p,m]=(0,q.useState)(!0),h=e.children.length>0&&!e.file,g=t*12-6,_=`absolute border-dashed border-border`;if(e.file)return(0,J.jsxs)(`div`,{className:`relative`,style:{paddingLeft:t*12},children:[t>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`${_} border-l`,style:{left:g,top:0,bottom:n?`50%`:0}}),(0,J.jsx)(`div`,{className:`${_} border-t`,style:{left:g,top:`50%`,width:6}})]}),(0,J.jsx)(yp,{file:e.file,displayName:e.name,actionIcon:r,actionTitle:i,onAction:a,onClickFile:s,onOpenFile:c,disabled:l,showRevert:u,onRevert:d})]});if(h){let h=mp(e);return(0,J.jsxs)(`div`,{className:`relative`,children:[t>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`${_} border-l`,style:{left:g,top:0,...n?{height:13}:{bottom:0}}}),(0,J.jsx)(`div`,{className:`${_} border-t`,style:{left:g,top:13,width:8}})]}),(()=>{let n=(0,J.jsxs)(`div`,{className:`group relative flex items-center hover:bg-muted/50 rounded py-0.5`,style:{paddingLeft:t*12+2},children:[(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 flex-1 min-w-0 text-xs font-mono text-muted-foreground`,onClick:()=>m(!p),children:[p?(0,J.jsx)(on,{className:`size-3.5 shrink-0`}):(0,J.jsx)(We,{className:`size-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate font-semibold`,children:e.name}),(0,J.jsxs)(`span`,{className:`text-[10px] opacity-60 shrink-0`,children:[`(`,h.length,`)`]})]}),(0,J.jsx)(gp,{showRevert:u,onRevert:f?()=>f(h,e.fullPath):void 0,onAction:()=>o?.(h),actionIcon:r,actionTitle:`${i} ${e.name}/`,disabled:l})]});return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`hidden md:block`,children:n}),(0,J.jsx)(`div`,{className:`md:hidden`,children:(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:n}),(0,J.jsxs)(tl,{align:`start`,className:`min-w-40`,children:[(0,J.jsxs)(Z,{onClick:()=>o?.(h),disabled:l,children:[i,` `,e.name,`/`]}),f&&(0,J.jsx)(Z,{className:`text-destructive focus:text-destructive`,onClick:()=>f(h,e.fullPath),disabled:l,children:`Discard Changes`})]})]})})]})})(),p&&(0,J.jsx)(`div`,{children:e.children.map((n,p)=>(0,J.jsx)(xp,{node:n,depth:t+1,isLast:p===e.children.length-1,actionIcon:r,actionTitle:i,onAction:a,onFolderAction:o,onClickFile:s,onOpenFile:c,disabled:l,showRevert:u,onRevert:d,onFolderRevert:f},n.fullPath))})]})}return null}var Sp=q.forwardRef(({className:e,...t},n)=>(0,J.jsx)(ne,{className:H(`peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input`,e),...t,ref:n,children:(0,J.jsx)(re,{className:H(`pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0`)})}));Sp.displayName=ne.displayName;function Cp({className:e,orientation:t=`horizontal`,decorative:n=!0,...r}){return(0,J.jsx)(_e,{"data-slot":`separator`,decorative:n,orientation:t,className:H(`shrink-0 bg-border data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px`,e),...r})}function wp({...e}){return(0,J.jsx)(N,{"data-slot":`select`,...e})}function Tp({...e}){return(0,J.jsx)(Ee,{"data-slot":`select-value`,...e})}function Ep({className:e,size:t=`default`,children:n,...r}){return(0,J.jsxs)(m,{"data-slot":`select-trigger`,"data-size":t,className:H(`flex w-fit items-center justify-between gap-2 rounded-md border border-input bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 data-[placeholder]:text-muted-foreground data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground`,e),...r,children:[n,(0,J.jsx)(oe,{asChild:!0,children:(0,J.jsx)(on,{className:`size-4 opacity-50`})})]})}function Dp({className:e,children:t,position:n=`item-aligned`,align:r=`center`,...i}){return(0,J.jsx)(Oe,{children:(0,J.jsxs)(pe,{"data-slot":`select-content`,className:H(`relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,J.jsx)(kp,{}),(0,J.jsx)(D,{className:H(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,J.jsx)(Ap,{})]})})}function Op({className:e,children:t,...n}){return(0,J.jsxs)(ae,{"data-slot":`select-item`,className:H(`relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,J.jsx)(`span`,{"data-slot":`select-item-indicator`,className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,J.jsx)(j,{children:(0,J.jsx)(Fe,{className:`size-4`})})}),(0,J.jsx)(Te,{children:t})]})}function kp({className:e,...t}){return(0,J.jsx)(E,{"data-slot":`select-scroll-up-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,J.jsx)(cn,{className:`size-4`})})}function Ap({className:e,...t}){return(0,J.jsx)(De,{"data-slot":`select-scroll-down-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,J.jsx)(on,{className:`size-4`})})}var jp={claude:`C`,cursor:`▶`,codex:`◆`,gemini:`G`};function Mp({value:e,onChange:t,projectName:n}){let[r,i]=(0,q.useState)([]),[a,o]=(0,q.useState)(!1),s=(0,q.useRef)(null),c=(0,q.useRef)(0);(0,q.useEffect)(()=>{n&&R.get(`${L(n)}/chat/providers`).then(i).catch(()=>{})},[n]),(0,q.useEffect)(()=>{if(!a)return;let e=e=>{s.current&&!s.current.contains(e.target)&&o(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[a]),(0,q.useEffect)(()=>{a&&(c.current=Math.max(0,r.findIndex(t=>t.id===e)))},[a,e,r]);let l=(0,q.useCallback)(e=>{if(e.key===`Escape`){o(!1);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;c.current=(c.current+t+r.length)%r.length,(s.current?.querySelector(`[data-idx="${c.current}"]`))?.focus()}if(e.key===`Enter`){e.preventDefault();let n=r[c.current];n&&(t(n.id),o(!1))}},[t,r]);if(r.length<=1)return null;let u=r.find(t=>t.id===e),d=jp[e]||`?`;return(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:e=>{e.stopPropagation(),o(e=>!e)},className:`inline-flex items-center gap-1.5 px-[9px] py-1 rounded-full text-[11.5px] text-text-2 bg-panel-2 border border-border-soft hover:text-text-primary hover:border-border transition-colors`,"aria-label":`AI Provider: ${u?.name??e}`,children:[(0,J.jsx)(`span`,{className:`inline-flex h-3.5 w-3.5 items-center justify-center rounded text-[9px] font-bold bg-surface-elevated shrink-0`,children:d}),(0,J.jsx)(`span`,{className:`max-w-[80px] truncate capitalize`,children:u?.name??e})]}),a&&(0,J.jsxs)(`div`,{ref:s,role:`listbox`,"aria-label":`AI Providers`,onKeyDown:l,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:`absolute bottom-full left-0 mb-1 z-50 w-56 rounded-lg border border-border popover-solid shadow-[var(--shadow-panel)]`,children:[(0,J.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,J.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Provider`})}),(0,J.jsx)(`div`,{className:`py-1`,children:r.map((n,r)=>{let i=jp[n.id]||`?`,a=n.id===e;return(0,J.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":a,tabIndex:0,onClick:()=>{t(n.id),o(!1)},className:`w-full flex items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-surface-elevated focus:bg-surface-elevated focus:outline-none ${a?`bg-surface-elevated`:``}`,children:[(0,J.jsx)(`span`,{className:`inline-flex h-5 w-5 items-center justify-center rounded text-[11px] font-bold bg-surface-elevated text-text-subtle shrink-0`,children:i}),(0,J.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary capitalize`,children:n.name}),a&&(0,J.jsx)(Fe,{className:`size-4 shrink-0 text-primary`})]},n.id)})})]})]})}function Np({providerId:e}){return(0,J.jsx)(`span`,{className:`inline-flex h-4 w-4 items-center justify-center rounded text-[10px] font-bold bg-surface-elevated text-text-subtle shrink-0`,title:e,children:jp[e]||`?`})}var Pp=[{value:`round-robin`,label:`Round-robin`},{value:`fill-first`,label:`Fill-first`},{value:`lowest-usage`,label:`Lowest usage`}];function Fp(e){return e==null?`—`:`${Math.round(e*100)}%`}function Ip(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(`round-robin`),[i,a]=(0,q.useState)({}),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(``),[S,C]=(0,q.useState)(!1),[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(null),O=(0,q.useRef)(null),k=(0,q.useCallback)(async()=>{s(!0);try{let e=await R.get(`/api/codex-accounts`);t(e.accounts),r(e.strategy),R.get(`/api/codex-accounts/usage`).then(a).catch(()=>{})}finally{s(!1)}},[]);(0,q.useEffect)(()=>{k()},[k]);let A=async()=>{if(c.trim()){p(!0),h(null);try{await R.post(`/api/codex-accounts/api-key`,{apiKey:c.trim(),label:u.trim()||void 0}),l(``),d(``),await k()}catch(e){h(e.message)}finally{p(!1)}}},j=async()=>{h(null);try{let e=await R.post(`/api/codex-accounts/device-login`,{label:u.trim()||void 0});_(e),y(!0),R.post(`/api/codex-accounts/device-login/${e.id}/await`).then(async()=>{_(null),y(!1),d(``),await k()}).catch(e=>{h(e.message),_(null),y(!1)})}catch(e){h(e.message)}},M=async e=>{await R.del(`/api/codex-accounts/${e}`),await k()},ee=async e=>{r(e);try{await R.put(`/api/codex-accounts/strategy`,{strategy:e})}catch{}},N=async()=>{if(!b.trim()){h(`Set a backup password first.`);return}C(!0),h(null),D(null);try{let e={"Content-Type":`application/json`},t=it();t&&(e.Authorization=`Bearer ${t}`);let n=await fetch(`/api/codex-accounts/export`,{method:`POST`,headers:e,body:JSON.stringify({password:b})});if(!n.ok){let e=await n.json().catch(()=>({}));throw Error(e.error??`Export failed: ${n.status}`)}let r=await n.text(),i=new Blob([r],{type:`application/json`}),a=document.createElement(`a`);a.href=URL.createObjectURL(i),a.download=`ppm-codex-accounts-backup.json`,a.click(),URL.revokeObjectURL(a.href),D(`Backup downloaded.`)}catch(e){h(e.message)}finally{C(!1)}},P=async e=>{if(!b.trim()){h(`Enter the backup password first.`);return}T(!0),h(null),D(null);try{let t=await e.text(),n=await R.post(`/api/codex-accounts/import`,{data:t,password:b});D(`Imported ${n.imported}${n.skipped?`, skipped ${n.skipped}`:``}.`),await k()}catch(e){h(e.message)}finally{T(!1),O.current&&(O.current.value=``)}};return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h3`,{className:`text-sm font-semibold text-text-primary`,children:`Codex Accounts`}),(0,J.jsx)(`p`,{className:`text-xs text-text-subtle mt-0.5`,children:`Each account uses its own login (CODEX_HOME). One is selected per chat by the strategy below.`})]}),m&&(0,J.jsx)(`div`,{className:`text-xs text-error bg-error/10 border border-error/30 rounded-md p-2`,children:m}),E&&(0,J.jsx)(`div`,{className:`text-xs text-success bg-success/10 border border-success/30 rounded-md p-2`,children:E}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,J.jsx)(`span`,{className:`text-xs text-text-secondary`,children:`Selection strategy:`}),Pp.map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>ee(e.value),className:`text-xs px-3 min-h-[36px] rounded-md border transition-colors ${n===e.value?`border-primary bg-primary/15 text-text-primary`:`border-border bg-surface/50 text-text-secondary hover:bg-surface`}`,children:e.label},e.value))]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[o&&e.length===0&&(0,J.jsxs)(`div`,{className:`text-xs text-text-subtle flex items-center gap-2`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` Loading…`]}),!o&&e.length===0&&(0,J.jsxs)(`div`,{className:`text-xs text-text-subtle`,children:[`No codex accounts yet — add one below. (With none, chats use your default `,(0,J.jsx)(`code`,{children:`~/.codex`}),` login.)`]}),e.map(e=>{let t=i[e.id]??{};return(0,J.jsxs)(`div`,{className:`flex items-center gap-3 border border-border rounded-md bg-surface/40 p-2.5`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`text-sm text-text-primary truncate`,children:e.label}),(0,J.jsx)(`span`,{className:`text-[10px] uppercase tracking-wide text-text-subtle border border-border rounded px-1`,children:e.type}),e.planType&&(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:e.planType})]}),(0,J.jsxs)(`div`,{className:`text-[11px] text-text-subtle mt-0.5`,children:[`5h `,Fp(t.fiveHour),` · weekly `,Fp(t.sevenDay)]})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>M(e.id),title:`Remove account`,className:`p-2 min-h-[44px] min-w-[44px] flex items-center justify-center text-text-subtle hover:text-error transition-colors`,children:(0,J.jsx)(si,{className:`size-4`})})]},e.id)})]}),(0,J.jsxs)(`div`,{className:`border border-border rounded-md p-3 space-y-2`,children:[(0,J.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),placeholder:`Label (optional)`,className:`w-full text-sm bg-surface border border-border rounded-md px-3 min-h-[40px] text-text-primary placeholder:text-text-subtle`}),(0,J.jsxs)(`div`,{className:`flex gap-2 flex-col sm:flex-row`,children:[(0,J.jsx)(`input`,{value:c,onChange:e=>l(e.target.value),type:`password`,placeholder:`OpenAI API key (sk-…)`,className:`flex-1 text-sm bg-surface border border-border rounded-md px-3 min-h-[44px] text-text-primary placeholder:text-text-subtle font-mono`}),(0,J.jsxs)(`button`,{type:`button`,onClick:A,disabled:f||!c.trim(),className:`inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[f?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(ir,{className:`size-4`}),` Add key`]})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:j,disabled:v,className:`inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] w-full sm:w-auto rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[v?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(br,{className:`size-4`}),` Sign in with ChatGPT (device code)`]})]}),(0,J.jsxs)(`div`,{className:`border border-border rounded-md p-3 space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-xs text-text-secondary`,children:`Backup & transfer — password-encrypted file with each account's login.`}),(0,J.jsx)(`input`,{value:b,onChange:e=>x(e.target.value),type:`password`,placeholder:`Backup password`,className:`w-full text-sm bg-surface border border-border rounded-md px-3 min-h-[44px] text-text-primary placeholder:text-text-subtle`}),(0,J.jsxs)(`div`,{className:`flex gap-2 flex-col sm:flex-row`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:N,disabled:S||!b.trim(),className:`flex-1 inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[S?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(Qe,{className:`size-4`}),` Export`]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>O.current?.click(),disabled:w||!b.trim(),className:`flex-1 inline-flex items-center justify-center gap-2 text-sm px-4 min-h-[44px] rounded-md border border-border bg-surface/50 hover:bg-surface text-text-primary disabled:opacity-60`,children:[w?(0,J.jsx)(K,{className:`size-4 animate-spin`}):(0,J.jsx)(di,{className:`size-4`}),` Import`]}),(0,J.jsx)(`input`,{ref:O,type:`file`,accept:`application/json,.json`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];t&&P(t)}})]})]}),g&&(0,J.jsxs)(`div`,{className:`border border-primary/40 bg-primary/10 rounded-md p-3 space-y-2 text-sm`,children:[(0,J.jsx)(`p`,{className:`text-text-primary`,children:`Enter this code to authorize:`}),(0,J.jsx)(`div`,{className:`font-mono text-lg tracking-widest text-text-primary`,children:g.userCode}),(0,J.jsxs)(`a`,{href:g.verificationUrl,target:`_blank`,rel:`noreferrer`,className:`inline-flex items-center gap-1 text-primary hover:underline text-xs`,children:[(0,J.jsx)(Tn,{className:`size-3`}),` `,g.verificationUrl]}),(0,J.jsxs)(`p`,{className:`text-xs text-text-subtle flex items-center gap-2`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` Waiting for authorization…`]})]})]})}var Lp=[{value:`low`,label:`Low`},{value:`medium`,label:`Medium`},{value:`high`,label:`High`},{value:`xhigh`,label:`Extra`},{value:`max`,label:`Max`}],Rp=[{value:`bypassPermissions`,label:`Bypass permissions (default)`},{value:`default`,label:`Ask before edits`},{value:`acceptEdits`,label:`Edit automatically`},{value:`plan`,label:`Plan mode`}],zp={claude:`Claude`,cursor:`Cursor`,codex:`Codex`,gemini:`Gemini`};function Bp({compact:e}={}){let[t,n]=(0,q.useState)(null),[r,i]=(0,q.useState)(``),[a,o]=(0,q.useState)([]),[s,c]=(0,q.useState)(!1),[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)(0);(0,q.useEffect)(()=>{Et().then(e=>{n(e),i(e.default_provider??`claude`)}).catch(e=>f(e.message))},[]),(0,q.useEffect)(()=>{r&&(c(!0),R.get(`/api/settings/ai/providers/${r}/models`).then(o).catch(()=>o([])).finally(()=>c(!1)))},[r]);let h=t?Object.keys(t.providers).filter(e=>e!==`mock`).map(e=>({id:e,name:zp[e]??e})):[],g=t?.providers[r],_=g?.type===`agent-sdk`||!g?.type&&r===`claude`,v=async(e,i)=>{if(t){u(!0),f(null);try{n(await At({providers:{[r]:{[e]:i}}})),m(e=>e+1)}catch(e){f(e.message)}finally{u(!1)}}},y=e?`text-[11px]`:`text-sm`,b=e?`text-xs`:`text-sm`,x=e?`space-y-2`:`space-y-4`,S=e?`space-y-1.5`:`space-y-3`,C=e?`space-y-1`:`space-y-1.5`;if(!t)return(0,J.jsxs)(`div`,{className:S,children:[(0,J.jsx)(`h3`,{className:`${b} font-medium text-text-secondary`,children:`AI Settings`}),(0,J.jsx)(`p`,{className:`${y} text-text-subtle`,children:d?`Error: ${d}`:`Loading...`})]});let w=_?a:[{value:`__default__`,label:`Auto (default)`},...a];return(0,J.jsxs)(`div`,{className:x,children:[(0,J.jsx)(`h3`,{className:`${b} font-medium text-text-secondary`,children:`AI Settings`}),h.length>1&&(0,J.jsx)(`div`,{className:`flex gap-0.5 border-b border-border/50 -mx-1 px-1`,children:h.map(e=>(0,J.jsxs)(`button`,{onClick:()=>i(e.id),className:`flex items-center gap-1 px-2 py-1 text-[11px] rounded-t transition-colors ${r===e.id?`text-primary border-b-2 border-primary font-medium`:`text-text-subtle hover:text-text-secondary`}`,children:[(0,J.jsx)(Np,{providerId:e.id}),(0,J.jsx)(`span`,{className:`capitalize`,children:e.name})]},e.id))}),(0,J.jsxs)(`div`,{className:S,children:[r===`codex`&&(0,J.jsx)(Ip,{}),a.length>0&&(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-model`,className:e?y:void 0,children:`Model`}),(0,J.jsxs)(wp,{value:_?g?.model??a[0]?.value:g?.model||`__default__`,onValueChange:e=>v(`model`,e===`__default__`?void 0:e),disabled:s,children:[(0,J.jsx)(Ep,{id:`ai-model`,className:`w-full ${e?`h-7 text-[11px]`:``}`,children:(0,J.jsx)(Tp,{placeholder:s?`Loading models...`:`Select model`})}),(0,J.jsx)(Dp,{className:`max-h-[300px]`,children:w.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]})]}),_&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-base-url`,className:e?y:void 0,children:`Base URL`}),(0,J.jsx)($,{id:`ai-base-url`,type:`url`,defaultValue:g?.base_url??``,placeholder:`https://api.anthropic.com (default)`,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{v(`base_url`,e.target.value.trim()||void 0)}},`baseurl-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-api-key`,className:e?y:void 0,children:`API Key / Token`}),(0,J.jsx)($,{id:`ai-api-key`,type:`password`,defaultValue:g?.api_key??``,placeholder:`sk-ant-... (optional, overrides accounts)`,className:e?`h-7 text-[11px] font-mono`:`font-mono`,onBlur:e=>{let t=e.target.value.trim();t.startsWith(`••••`)||v(`api_key`,t||void 0)}},`apikey-${r}-${p}`),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Direct API key or OAuth token. Leave empty to use connected accounts.`})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-effort`,className:e?y:void 0,children:`Effort`}),(0,J.jsxs)(wp,{value:g?.effort??`high`,onValueChange:e=>v(`effort`,e),children:[(0,J.jsx)(Ep,{id:`ai-effort`,className:`w-full ${e?`h-7 text-[11px]`:``}`,children:(0,J.jsx)(Tp,{})}),(0,J.jsx)(Dp,{children:Lp.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-max-turns`,className:e?y:void 0,children:`Max Turns (1-500)`}),(0,J.jsx)($,{id:`ai-max-turns`,type:`number`,min:1,max:500,defaultValue:g?.max_turns??100,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{let t=parseInt(e.target.value);isNaN(t)||v(`max_turns`,t)}},`turns-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-budget`,className:e?y:void 0,children:`Max Budget (USD)`}),(0,J.jsx)($,{id:`ai-budget`,type:`number`,step:.1,min:.01,max:50,defaultValue:g?.max_budget_usd??``,placeholder:`No limit`,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{let t=parseFloat(e.target.value);v(`max_budget_usd`,isNaN(t)?void 0:t)}},`budget-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-thinking`,className:e?y:void 0,children:`Thinking Budget (tokens)`}),(0,J.jsx)($,{id:`ai-thinking`,type:`number`,min:0,defaultValue:g?.thinking_budget_tokens??``,placeholder:`Adaptive (model decides)`,className:e?`h-7 text-[11px]`:void 0,onBlur:e=>{let t=parseInt(e.target.value);v(`thinking_budget_tokens`,isNaN(t)?void 0:t)}},`thinking-${r}-${p}`)]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{htmlFor:`ai-agent-teams`,className:e?y:void 0,children:`Agent Teams`}),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Experimental. Enables multi-agent collaboration with shared tasks and messaging. Uses ~7x more tokens.`})]}),(0,J.jsx)(Sp,{id:`ai-agent-teams`,checked:g?.agent_teams??!1,onCheckedChange:e=>v(`agent_teams`,e)})]}),g?.agent_teams&&(0,J.jsx)(Vp,{compact:e}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{htmlFor:`ai-context-1m`,className:e?y:void 0,children:`1M Context Window`}),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Requires an entitled account (Max/Team/Enterprise) and an Opus 4 / Sonnet 4 model. Other accounts will error.`})]}),(0,J.jsx)(Sp,{id:`ai-context-1m`,checked:g?.context_1m??!1,onCheckedChange:e=>v(`context_1m`,e)})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{htmlFor:`ai-inherit-mcp`,className:e?y:void 0,children:`Inherit Claude Code MCP`}),(0,J.jsx)(`p`,{className:`${e?`text-[9px]`:`text-[11px]`} text-muted-foreground`,children:`Auto-load MCP servers from Claude Code's ~/.claude.json (global + per-project). Your own MCP servers override inherited ones.`})]}),(0,J.jsx)(Sp,{id:`ai-inherit-mcp`,checked:g?.inherit_claude_mcp??!0,onCheckedChange:e=>v(`inherit_claude_mcp`,e)})]})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-permission-mode`,className:e?y:void 0,children:`Default Permission Mode`}),(0,J.jsxs)(wp,{value:g?.permission_mode??`bypassPermissions`,onValueChange:e=>v(`permission_mode`,e),children:[(0,J.jsx)(Ep,{id:`ai-permission-mode`,className:`w-full ${e?`h-7 text-[11px]`:``}`,children:(0,J.jsx)(Tp,{})}),(0,J.jsx)(Dp,{children:Rp.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]})]}),(0,J.jsxs)(`div`,{className:C,children:[(0,J.jsx)(op,{htmlFor:`ai-system-prompt`,className:e?y:void 0,children:`Additional Instructions`}),(0,J.jsx)(`textarea`,{id:`ai-system-prompt`,rows:e?3:4,defaultValue:g?.system_prompt??``,placeholder:`Enter additional instructions for ${r}...`,className:`w-full rounded-md border border-input bg-background px-3 py-2 ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 ${e?`text-[11px]`:`text-sm`}`,onBlur:e=>{v(`system_prompt`,e.target.value.trim()||void 0)}},`sysprompt-${r}-${p}`)]})]}),l&&(0,J.jsx)(`p`,{className:`text-xs text-text-subtle`,children:`Saving...`}),d&&(0,J.jsx)(`p`,{className:`text-xs text-error`,children:d})]})}function Vp({compact:e}){let[t,n]=(0,q.useState)([]),[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(null),s=(0,q.useCallback)(async()=>{i(!0);try{n(await R.get(`/api/teams`)??[])}catch{}i(!1)},[]);(0,q.useEffect)(()=>{s()},[s]);let c=async e=>{try{await R.del(`/api/teams/${encodeURIComponent(e)}`),n(t=>t.filter(t=>t.name!==e)),o(null)}catch{}};return t.length===0&&!r?null:(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(op,{className:e?`text-[11px]`:void 0,children:[`Teams (`,t.length,`)`]}),(0,J.jsx)(`button`,{onClick:s,className:`text-text-subtle hover:text-foreground p-1`,"aria-label":`Refresh teams`,children:(0,J.jsx)(Rr,{className:`size-3 ${r?`animate-spin`:``}`})})]}),t.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center justify-between p-2 rounded bg-surface-elevated text-xs`,children:[(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),e.description&&(0,J.jsx)(`div`,{className:`text-text-subtle truncate`,children:e.description}),(0,J.jsxs)(`div`,{className:`text-text-subtle`,children:[e.members?.length??e.memberCount??0,` members`,e.createdAt?` · ${new Date(e.createdAt).toLocaleDateString()}`:``]})]}),a===e.name?(0,J.jsxs)(`div`,{className:`flex gap-1 shrink-0 ml-2`,children:[(0,J.jsx)(`button`,{onClick:()=>c(e.name),className:`px-2 py-1 bg-error text-white rounded text-[10px]`,children:`Delete`}),(0,J.jsx)(`button`,{onClick:()=>o(null),className:`px-2 py-1 bg-panel-2 text-text rounded text-[10px]`,children:`Cancel`})]}):(0,J.jsx)(`button`,{onClick:()=>o(e.name),className:`shrink-0 text-text-subtle hover:text-error p-1 ml-2`,"aria-label":`Delete team ${e.name}`,children:(0,J.jsx)(si,{className:`size-3.5`})})]},e.name))]})}var Hp=[{key:`general`,label:`General`},{key:`tabs`,label:`Tabs`},{key:`projects`,label:`Projects`}],Up=[`Ctrl+T`,`Ctrl+W`,`Ctrl+N`,`Ctrl+Tab`,`Ctrl+L`,`Ctrl+H`,`Ctrl+J`,`F5`,`Ctrl+R`,`Ctrl+Shift+I`,`Ctrl+Shift+J`];function Wp({actionId:e,combo:t,locked:n}){let[r,i]=(0,q.useState)(!1),a=Qs(e=>e.setBinding),o=(0,q.useRef)(null),s=(0,q.useCallback)(t=>{if(t.preventDefault(),t.stopPropagation(),t.key===`Escape`){i(!1);return}let n=Ys(t);n&&(a(e,n),i(!1))},[e,a]);return(0,q.useEffect)(()=>{if(r)return document.addEventListener(`keydown`,s,!0),()=>document.removeEventListener(`keydown`,s,!0)},[r,s]),(0,q.useEffect)(()=>{if(!r)return;let e=e=>{o.current&&!o.current.contains(e.target)&&i(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[r]),n?(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1 rounded border border-border bg-muted px-2 py-0.5 text-[11px] font-mono text-muted-foreground`,children:[(0,J.jsx)(fr,{className:`size-2.5`}),Js(t)]}):r?(0,J.jsx)(`button`,{ref:o,className:`inline-flex items-center rounded border-2 border-primary bg-primary/10 px-2 py-0.5 text-[11px] font-mono text-primary animate-pulse`,children:`Press keys...`}):(0,J.jsx)(`button`,{ref:o,onClick:()=>i(!0),className:`inline-flex items-center rounded border border-border bg-surface px-2 py-0.5 text-[11px] font-mono text-foreground hover:border-primary hover:bg-primary/5 transition-colors cursor-pointer`,title:`Click to change shortcut`,children:Js(t)})}function Gp(){let{getBinding:e,resetBinding:t,resetAll:n,overrides:r}=Qs(),i=$s(e=>e.contributions),a=i?.keybindings??[],o=i?.commands??[];return(0,J.jsxs)(`div`,{className:`space-y-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-text-secondary`,children:`Keyboard Shortcuts`}),Object.keys(r).length>0&&(0,J.jsxs)(I,{variant:`ghost`,size:`sm`,className:`h-6 text-[10px] text-muted-foreground`,onClick:n,children:[(0,J.jsx)(Vr,{className:`size-3 mr-1`}),`Reset all`]})]}),(0,J.jsxs)(`div`,{className:`flex items-start gap-2 rounded-md border border-warning/30 bg-warning/5 px-2.5 py-2`,children:[(0,J.jsx)(ci,{className:`size-3.5 text-warning shrink-0 mt-0.5`}),(0,J.jsxs)(`p`,{className:`text-[10px] text-muted-foreground leading-relaxed`,children:[`Some shortcuts (`,Up.slice(0,4).join(`, `),`...) are reserved by the browser and cannot be overridden.`]})]}),Hp.map(n=>{let i=Ws.filter(e=>e.category===n.key);return i.length===0?null:(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:n.label}),(0,J.jsx)(`div`,{className:`space-y-0.5`,children:i.map(n=>{let i=e(n.id),a=n.id in r;return(0,J.jsxs)(`div`,{className:`flex items-center justify-between py-1 px-1 rounded hover:bg-surface-elevated/50 transition-colors`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs text-foreground`,children:n.label}),n.note&&(0,J.jsx)(`span`,{className:`text-[10px] text-muted-foreground`,children:n.note})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0 ml-2`,children:[(0,J.jsx)(Wp,{actionId:n.id,combo:i,locked:n.locked}),a&&!n.locked&&(0,J.jsx)(`button`,{onClick:()=>t(n.id),className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground hover:bg-surface-elevated transition-colors`,title:`Reset to default`,children:(0,J.jsx)(Vr,{className:`size-3`})})]})]},n.id)})})]},n.key)}),a.length>0&&(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Extensions`}),(0,J.jsx)(`div`,{className:`space-y-0.5`,children:a.map(n=>{let i=o.find(e=>e.command===n.command)?.title??n.command,a=`ext:${n.command}`,s=e(a)||n.key,c=a in r;return(0,J.jsxs)(`div`,{className:`flex items-center justify-between py-1 px-1 rounded hover:bg-surface-elevated/50 transition-colors`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(Ir,{className:`size-3 text-muted-foreground shrink-0`}),(0,J.jsx)(`span`,{className:`text-xs text-foreground`,children:i})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0 ml-2`,children:[(0,J.jsx)(Wp,{actionId:a,combo:s}),c&&(0,J.jsx)(`button`,{onClick:()=>t(a),className:`flex items-center justify-center size-5 rounded text-muted-foreground hover:text-foreground hover:bg-surface-elevated transition-colors`,title:`Reset to default`,children:(0,J.jsx)(Vr,{className:`size-3`})})]})]},a)})})]})]})}var Kp=[{value:`claude-opus-5`,label:`Claude Opus 5`,hint:`most powerful`},{value:`claude-fable-5-1`,label:`Claude Fable 5.1`,hint:`flagship`},{value:`claude-fable-5`,label:`Claude Fable 5`,hint:`flagship`},{value:`claude-opus-4-8`,label:`Claude Opus 4.8`,hint:`powerful`},{value:`claude-opus-4-7`,label:`Claude Opus 4.7`,hint:`powerful`},{value:`claude-opus-4-6`,label:`Claude Opus 4.6`,hint:`powerful`},{value:`claude-sonnet-5`,label:`Claude Sonnet 5`,hint:`fast`},{value:`claude-sonnet-4-6`,label:`Claude Sonnet 4.6`,hint:`fast`},{value:`claude-haiku-4-5`,label:`Claude Haiku 4.5`,hint:`cheap`}];Kp.map(e=>e.value);var qp=`Hello! Reply briefly.`,Jp=`claude-opus-5`;function Yp(e){let[t,n]=(0,q.useState)(!1);return(0,J.jsxs)(Tc,{open:t,onOpenChange:n,children:[(0,J.jsx)(Ec,{asChild:!0,children:(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-7 text-[11px] gap-1.5 cursor-pointer`,children:[(0,J.jsx)(Rn,{className:`size-3`}),`Test`]})}),(0,J.jsxs)(kc,{className:`sm:max-w-md max-h-[85vh] overflow-y-auto`,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{className:`text-sm`,children:`Test Proxy`}),(0,J.jsx)(Mc,{className:`text-[11px]`,children:`Send a test request and inspect the raw response.`})]}),t&&(0,J.jsx)(Xp,{...e})]})]})}function Xp({authKey:e,baseUrl:t}){let[n,r]=(0,q.useState)(`anthropic`),[i,a]=(0,q.useState)(qp),[o,s]=(0,q.useState)(Jp),[c,l]=(0,q.useState)(!0),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),v=(0,q.useRef)(null),y=(0,q.useRef)(null);(0,q.useEffect)(()=>{v.current?.select()},[]),(0,q.useEffect)(()=>{y.current&&(y.current.scrollTop=y.current.scrollHeight)},[f]);let b=e=>{r(e),p(null),h(null),_(null)},x=async()=>{d(!0),p(null),h(null),_(null);let r=Date.now(),a=n===`openai`,s=a?`${t}/proxy/v1/chat/completions`:`${t}/proxy/v1/messages`,l=JSON.stringify({model:o,max_tokens:256,stream:c,messages:[{role:`user`,content:i}]}),u={"Content-Type":`application/json`};a?u.Authorization=`Bearer ${e}`:(u[`x-api-key`]=e,u[`anthropic-version`]=`2023-06-01`);try{let e=await fetch(s,{method:`POST`,headers:u,body:l});if(!e.ok){let t=await e.text();h(`HTTP ${e.status}: ${t}`),d(!1),_(Date.now()-r);return}if(c){let t=e.body?.getReader();if(!t){h(`No response body`),d(!1);return}let n=new TextDecoder,i=``;for(;;){let{done:e,value:r}=await t.read();if(e)break;i+=n.decode(r,{stream:!0}),p(i)}_(Date.now()-r)}else{let t=await e.text();try{p(JSON.stringify(JSON.parse(t),null,2))}catch{p(t)}_(Date.now()-r)}}catch(e){h(e.message)}finally{d(!1),_(e=>e??Date.now()-r)}};return(0,J.jsxs)(`div`,{className:`space-y-3 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5 min-w-0`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Auth Style`}),(0,J.jsx)(`div`,{className:`flex gap-1`,children:[`anthropic`,`openai`].map(e=>(0,J.jsx)(`button`,{onClick:()=>b(e),className:`flex-1 h-8 rounded-md text-[11px] font-medium border transition-colors cursor-pointer ${n===e?`bg-primary text-primary-foreground border-primary`:`bg-muted text-muted-foreground border-transparent hover:bg-muted/80`}`,children:e===`anthropic`?`Anthropic`:`OpenAI`},e))}),(0,J.jsx)(`p`,{className:`text-[9px] text-muted-foreground`,children:n===`anthropic`?`x-api-key header`:`Authorization: Bearer header`})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Model`}),(0,J.jsx)(`select`,{value:o,onChange:e=>s(e.target.value),className:`h-8 w-full rounded-md border bg-background px-2 text-[11px]`,children:Kp.map(e=>(0,J.jsx)(`option`,{value:e.value,children:e.value},e.value))})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Streaming`}),(0,J.jsx)(`div`,{className:`flex gap-1`,children:[!0,!1].map(e=>(0,J.jsx)(`button`,{onClick:()=>l(e),className:`h-7 px-3 rounded-md text-[11px] font-medium border transition-colors cursor-pointer ${c===e?`bg-primary text-primary-foreground border-primary`:`bg-muted text-muted-foreground border-transparent hover:bg-muted/80`}`,children:e?`Stream`:`JSON`},String(e)))})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Message`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{ref:v,value:i,onChange:e=>a(e.target.value),placeholder:`Type a test message...`,className:`h-9 text-[11px] flex-1 min-w-0`,onKeyDown:e=>{e.key===`Enter`&&!u&&x()}}),(0,J.jsxs)(I,{size:`sm`,className:`h-9 px-3 cursor-pointer shrink-0`,onClick:x,disabled:u||!i.trim(),children:[u?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(Mr,{className:`size-3.5`}),(0,J.jsx)(`span`,{className:`ml-1 text-[11px]`,children:u?`...`:`Send`})]})]})]}),(f||m)&&(0,J.jsxs)(`div`,{className:`space-y-1 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`Raw Response`}),g!=null&&(0,J.jsxs)(`span`,{className:`text-[9px] font-mono text-muted-foreground`,children:[(g/1e3).toFixed(1),`s`]})]}),m?(0,J.jsx)(`pre`,{className:`text-[9px] font-mono bg-error/10 text-error p-2 rounded overflow-auto max-h-52 whitespace-pre-wrap break-all`,children:m}):(0,J.jsx)(`pre`,{ref:y,className:`text-[9px] font-mono bg-muted p-2 rounded overflow-auto max-h-52 whitespace-pre-wrap break-all`,children:f})]})]})}function Zp(){let[e,t]=(0,q.useState)(null),[n,r]=(0,q.useState)(!0),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(null);(0,q.useEffect)(()=>{r(!0),Ot().then(t).catch(e=>s(e.message)).finally(()=>r(!1))},[]);let u=async e=>{a(!0),s(null);try{t(await Mt(e))}catch(e){s(e.message)}finally{a(!1)}},d=(e,t)=>{bc(e),l(t),setTimeout(()=>l(null),2e3)};if(n||!e)return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-text-secondary`,children:`API Proxy`}),(0,J.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:o?`Error: ${o}`:`Loading...`})]});let f=!!e.authKey,p=!!e.tunnelUrl,m=e.localEndpoint,h=m.replace(/\/proxy\/v1\/messages$/,``);return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsx)(`div`,{className:`space-y-1.5`,children:(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Expose your Claude accounts as an Anthropic-compatible API endpoint. External tools (OpenCode, Cursor, etc.) can use your accounts via this proxy.`})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,J.jsx)(op,{className:`text-xs`,children:`Enable Proxy`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Accept API requests on /proxy/v1/messages`})]}),(0,J.jsx)(Sp,{checked:e.enabled,onCheckedChange:e=>u({enabled:e}),disabled:i})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-[11px]`,children:`Auth Key`}),f?(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{readOnly:!0,value:e.authKey,className:`h-7 text-[11px] font-mono flex-1`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 px-2 cursor-pointer shrink-0`,onClick:()=>d(e.authKey,`key`),children:c===`key`?`Copied!`:(0,J.jsx)(Xe,{className:`size-3`})}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 px-2 cursor-pointer shrink-0`,onClick:()=>u({generateKey:!0}),disabled:i,children:(0,J.jsx)(Rr,{className:`size-3`})})]}):(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 text-xs cursor-pointer`,onClick:()=>u({generateKey:!0}),disabled:i,children:`Generate Auth Key`}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Use as Bearer token or x-api-key when calling the proxy.`})]}),e.enabled&&f&&(0,J.jsxs)(`div`,{className:`space-y-2 rounded-md border p-3 bg-muted/30`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h4`,{className:`text-[11px] font-medium`,children:`Connection Info`}),(0,J.jsx)(Yp,{authKey:e.authKey,baseUrl:window.location.origin})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`Anthropic Endpoint`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsx)(`code`,{className:`text-[10px] font-mono bg-muted px-1.5 py-0.5 rounded flex-1 truncate`,children:p?e.proxyEndpoint:m}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 px-1.5 cursor-pointer shrink-0`,onClick:()=>d(p?e.proxyEndpoint:m,`anthropic`),children:c===`anthropic`?`Copied!`:(0,J.jsx)(Xe,{className:`size-3`})})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`OpenAI-Compatible Endpoint`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsx)(`code`,{className:`text-[10px] font-mono bg-muted px-1.5 py-0.5 rounded flex-1 truncate`,children:p?e.openAiEndpoint:e.localOpenAiEndpoint}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 px-1.5 cursor-pointer shrink-0`,onClick:()=>d(p?e.openAiEndpoint:e.localOpenAiEndpoint,`openai`),children:c===`openai`?`Copied!`:(0,J.jsx)(Xe,{className:`size-3`})})]})]}),!p&&(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Start a Cloudflare tunnel (Share) to get a public URL.`}),(0,J.jsxs)(`div`,{className:`space-y-1 pt-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`Anthropic Format`}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(`pre`,{className:`text-[9px] font-mono bg-muted p-2 rounded overflow-x-auto whitespace-pre`,children:`ANTHROPIC_BASE_URL=${p?e.tunnelUrl+`/proxy`:h+`/proxy`}
|
|
18
18
|
ANTHROPIC_API_KEY=${e.authKey}`}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`absolute top-1 right-1 h-5 px-1 cursor-pointer`,onClick:()=>d(`ANTHROPIC_BASE_URL=${p?e.tunnelUrl+`/proxy`:h+`/proxy`}\nANTHROPIC_API_KEY=${e.authKey}`,`anthropic-env`),children:c===`anthropic-env`?`Copied!`:(0,J.jsx)(Xe,{className:`size-2.5`})})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(op,{className:`text-[10px] text-muted-foreground`,children:`OpenAI Format`}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(`pre`,{className:`text-[9px] font-mono bg-muted p-2 rounded overflow-x-auto whitespace-pre`,children:`OPENAI_BASE_URL=${p?e.tunnelUrl+`/proxy/v1`:h+`/proxy/v1`}
|
|
19
19
|
OPENAI_API_KEY=${e.authKey}`}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`absolute top-1 right-1 h-5 px-1 cursor-pointer`,onClick:()=>d(`OPENAI_BASE_URL=${p?e.tunnelUrl+`/proxy/v1`:h+`/proxy/v1`}\nOPENAI_API_KEY=${e.authKey}`,`openai-env`),children:c===`openai-env`?`Copied!`:(0,J.jsx)(Xe,{className:`size-2.5`})})]})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-3 pt-1`,children:(0,J.jsxs)(`span`,{className:`text-[10px] text-muted-foreground`,children:[`Requests served: `,(0,J.jsx)(`span`,{className:`font-mono`,children:e.requestCount})]})})]}),i&&(0,J.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:`Saving...`}),o&&(0,J.jsx)(`p`,{className:`text-[11px] text-error`,children:o})]})}function Qp(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(!0),[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(null),g=(0,q.useCallback)(async()=>{try{t(await R.get(`/api/extensions`))}catch(e){console.error(`Failed to load extensions:`,e)}finally{r(!1)}},[]);(0,q.useEffect)(()=>{g()},[g]);let _=async()=>{let e=i.trim();if(e){s(!0);try{await R.post(`/api/extensions/install`,{name:e}),z.success(`Installed ${e}`),a(``),g()}catch(e){z.error(e.message||`Install failed`)}finally{s(!1)}}},v=async e=>{p(e.id);try{await R.patch(`/api/extensions/${e.id}`,{enabled:!e.enabled}),g()}catch(e){z.error(e.message||`Toggle failed`)}finally{p(null)}},y=async e=>{h(e);try{await R.del(`/api/extensions/${e}`),z.success(`Removed ${e}`),g()}catch(e){z.error(e.message||`Remove failed`)}finally{h(null)}};return n?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,J.jsx)(K,{className:`size-4 animate-spin text-muted-foreground`})}):(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Install Extension`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()},placeholder:`npm package name (e.g. @ppm/ext-myext)`,className:`h-8 text-xs flex-1`}),(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-8 text-xs px-3 gap-1 cursor-pointer`,disabled:!i.trim()||o,onClick:_,children:[o?(0,J.jsx)(K,{className:`size-3 animate-spin`}):(0,J.jsx)(et,{className:`size-3`}),`Install`]})]}),(0,J.jsx)(`button`,{onClick:()=>d(!u),className:`text-[11px] text-muted-foreground hover:text-foreground transition-colors cursor-pointer`,children:u?`Hide`:`Dev link local extension...`}),u&&(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{value:c,onChange:e=>l(e.target.value),placeholder:`Local path (e.g. ./packages/ext-myext)`,className:`h-8 text-xs flex-1`}),(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-8 text-xs px-3 gap-1 cursor-pointer`,disabled:!c.trim(),onClick:async()=>{try{await R.post(`/api/extensions/dev-link`,{path:c.trim()}),z.success(`Dev-linked successfully`),l(``),g()}catch(e){z.error(e.message||`Dev link failed`)}},children:[(0,J.jsx)(Hn,{className:`size-3`}),`Link`]})]})]}),(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsxs)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:[`Installed (`,e.length,`)`]}),e.length===0?(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-4 text-center`,children:`No extensions installed`}):(0,J.jsx)(`div`,{className:`space-y-1`,children:e.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 rounded-lg bg-muted/50 hover:bg-muted transition-colors`,children:[(0,J.jsx)(`div`,{className:`size-8 rounded-md bg-background flex items-center justify-center shrink-0`,children:(0,J.jsx)(Ir,{className:`size-4 text-muted-foreground`})}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium truncate`,children:e.displayName||e.id}),(0,J.jsxs)(`p`,{className:`text-[11px] text-muted-foreground truncate`,children:[e.id,` v`,e.version,e.activated&&(0,J.jsx)(`span`,{className:`ml-1 text-success`,children:`active`})]})]}),(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,title:e.enabled?`Disable`:`Enable`,disabled:f===e.id,onClick:()=>v(e),children:f===e.id?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):e.enabled?(0,J.jsx)(Fr,{className:`size-3.5 text-success`}):(0,J.jsx)(Pr,{className:`size-3.5 text-muted-foreground`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer text-destructive hover:text-destructive`,title:`Remove`,disabled:m===e.id,onClick:()=>y(e.id),children:m===e.id?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(si,{className:`size-3.5`})})]},e.id))})]})]})}function $p(){let[e,t]=(0,q.useState)(null),[n,r]=(0,q.useState)(!1),[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(``),[g,_]=(0,q.useState)(!0),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(2e3),[S,C]=(0,q.useState)([]),[w,T]=(0,q.useState)(``),[E,D]=(0,q.useState)(!1),[O,k]=(0,q.useState)(!1),[A,j]=(0,q.useState)([]),[M,ee]=(0,q.useState)(`_global`),[N,P]=(0,q.useState)([]),te=(0,q.useRef)(void 0),ne=(0,q.useCallback)(async()=>{try{C(await R.get(`/api/settings/clawbot/paired`))}catch{}},[]),re=(0,q.useCallback)(async(e=M)=>{try{j(await R.get(`/api/settings/clawbot/memories?project=${encodeURIComponent(e)}`))}catch{}},[M]),ie=(0,q.useCallback)(async()=>{try{P(await R.get(`/api/settings/clawbot/tasks?limit=20`))}catch{}},[]),ae=async e=>{try{await R.del(`/api/settings/clawbot/memories/${e}`),j(t=>t.filter(t=>t.id!==e))}catch{}};(0,q.useEffect)(()=>(R.get(`/api/settings/clawbot`).then(e=>{t(e),p(e.enabled),h(e.system_prompt),_(e.show_tool_calls),y(e.show_thinking),x(e.debounce_ms)}).catch(()=>{}),R.get(`/api/settings/telegram`).then(e=>{l(!!e.bot_token)}).catch(()=>{}),ne(),re(`_global`),ie(),te.current=setInterval(ie,1e4),()=>{te.current&&clearInterval(te.current)}),[ne,re,ie]);let oe=async()=>{if(o.trim()){d(!0),a(null);try{await R.put(`/api/settings/telegram`,{bot_token:o}),l(!0),s(``),a({type:`ok`,msg:`Bot token saved`})}catch(e){a({type:`err`,msg:e.message})}finally{d(!1)}}},se=async()=>{r(!0),a(null);try{let e={enabled:f,system_prompt:m,show_tool_calls:g,show_thinking:v,debounce_ms:b};t(await R.put(`/api/settings/clawbot`,e)),a({type:`ok`,msg:f?`Saved — bot started`:`Saved — bot stopped`})}catch(e){a({type:`err`,msg:e.message})}finally{r(!1)}},ce=async()=>{if(w.trim()){D(!0);try{await R.post(`/api/settings/clawbot/paired/approve`,{code:w.trim().toUpperCase()}),T(``),await ne(),a({type:`ok`,msg:`Device approved`})}catch(e){a({type:`err`,msg:e.message})}finally{D(!1)}}},le=async e=>{try{await R.del(`/api/settings/clawbot/paired/${e}`),await ne(),a({type:`ok`,msg:`Device revoked`})}catch(e){a({type:`err`,msg:e.message})}},ue=async()=>{k(!0),a(null);try{await R.post(`/api/settings/telegram/test`,{}),a({type:`ok`,msg:`Test notification sent to all paired devices!`})}catch(e){a({type:`err`,msg:e.message})}finally{k(!1)}};if(!e)return(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Loading...`});let de=S.filter(e=>e.status===`approved`).length,fe={pending:`⏳`,running:`🔄`,completed:`✅`,failed:`❌`,timeout:`⏱`},pe={running:`text-primary`,completed:`text-success`,failed:`text-destructive`,timeout:`text-warning`};return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{className:`text-[11px] text-muted-foreground`,children:`Telegram Bot Token`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{type:`password`,placeholder:c?`•••••• (saved)`:`123456:ABC-DEF...`,value:o,onChange:e=>s(e.target.value),className:`h-7 text-xs flex-1`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-7 text-xs shrink-0 cursor-pointer`,disabled:u||!o.trim(),onClick:oe,children:u?`...`:`Save`})]}),(0,J.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[`Create a bot via `,(0,J.jsx)(`b`,{children:`@BotFather`}),` on Telegram. Used for both chat and notifications.`]})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Enable PPMBot`}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`AI coordinator on Telegram — delegates tasks to your projects`})]}),(0,J.jsx)(Sp,{checked:f,onCheckedChange:p})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Paired Devices`}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Send any message to the bot on Telegram to get a pairing code. Enter it below to approve. Notifications are sent to all approved devices.`}),(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsx)($,{placeholder:`Enter pairing code (e.g. A3K7WR)`,value:w,onChange:e=>T(e.target.value.toUpperCase()),className:`h-8 text-xs font-mono tracking-wider uppercase`,maxLength:6}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-8 text-xs shrink-0 cursor-pointer`,disabled:E||w.length<6,onClick:ce,children:E?`...`:`Approve`})]}),S.length===0?(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:`No paired devices yet.`}):(0,J.jsx)(`div`,{className:`space-y-1`,children:S.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center justify-between rounded-md border p-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[e.status===`approved`?(0,J.jsx)(pn,{className:`size-3.5 text-success shrink-0`}):(0,J.jsx)(qe,{className:`size-3.5 text-warning shrink-0`}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`p`,{className:`text-xs truncate`,children:e.display_name||`Chat ${e.telegram_chat_id}`}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:e.status===`pending`&&e.pairing_code?`Code: ${e.pairing_code}`:e.status})]})]}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-7 w-7 p-0 text-destructive hover:text-destructive cursor-pointer`,onClick:()=>le(e.telegram_chat_id),children:(0,J.jsx)(si,{className:`size-3.5`})})]},e.id))}),c&&de>0&&(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-7 text-xs gap-1 w-full cursor-pointer`,disabled:O,onClick:ue,children:[(0,J.jsx)(Gr,{className:`size-3`}),O?`Sending...`:`Test Notification`]})]}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Delegated Tasks`}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 cursor-pointer`,onClick:ie,children:(0,J.jsx)(Rr,{className:`size-3`})})]}),N.length===0?(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:`No delegated tasks yet. The coordinator will create tasks when you ask it to work on a project.`}):(0,J.jsx)(`div`,{className:`space-y-1 max-h-[200px] overflow-y-auto`,children:N.map(e=>{let t=e.completed_at?`${Math.round((e.completed_at-e.created_at)/60)}m`:`${Math.round((Date.now()/1e3-e.created_at)/60)}m`;return(0,J.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border p-2 text-[11px]`,children:[(0,J.jsx)(`span`,{className:pe[e.status]??``,children:fe[e.status]??`?`}),(0,J.jsx)(`span`,{className:`font-medium shrink-0`,children:e.project_name}),(0,J.jsx)(`span`,{className:`truncate text-muted-foreground flex-1`,children:e.prompt.slice(0,60)}),(0,J.jsx)(`span`,{className:`text-[10px] text-muted-foreground shrink-0`,children:t})]},e.id)})})]}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(en,{className:`size-3.5 text-muted-foreground`}),(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Memory & Identity`})]}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 cursor-pointer`,onClick:()=>re(M),children:(0,J.jsx)(Rr,{className:`size-3`})})]}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Facts the bot remembers across sessions. Use /remember on Telegram to add, or delete here.`}),A.length===0?(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground italic`,children:`No memories stored yet. Send /start on Telegram and introduce yourself.`}):(0,J.jsx)(`div`,{className:`space-y-1 max-h-[200px] overflow-y-auto`,children:A.map(e=>(0,J.jsxs)(`div`,{className:`flex items-start justify-between rounded-md border p-2 gap-1`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`p`,{className:`text-[11px] break-words`,children:e.content}),(0,J.jsxs)(`p`,{className:`text-[10px] text-muted-foreground`,children:[e.category,` · `,e.project]})]}),(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 text-destructive hover:text-destructive cursor-pointer shrink-0`,onClick:()=>ae(e.id),children:(0,J.jsx)(si,{className:`size-3`})})]},e.id))})]}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{className:`text-[11px] text-muted-foreground`,children:`Custom Instructions`}),(0,J.jsx)(`textarea`,{placeholder:`Additional instructions for the coordinator (optional)...`,value:m,onChange:e=>h(e.target.value),className:`flex w-full rounded-md border border-input bg-background px-3 py-2 text-xs min-h-[60px] resize-y ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2`,rows:3}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Extra instructions added to the coordinator identity. Leave empty to use defaults from coordinator.md.`})]}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`p`,{className:`text-xs`,children:`Show tool calls`}),(0,J.jsx)(Sp,{checked:g,onCheckedChange:_})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`p`,{className:`text-xs`,children:`Show thinking`}),(0,J.jsx)(Sp,{checked:v,onCheckedChange:y})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{className:`text-[11px] text-muted-foreground`,children:`Debounce (ms)`}),(0,J.jsx)($,{type:`number`,min:0,max:3e4,step:500,value:b,onChange:e=>x(Number(e.target.value)),className:`h-7 text-xs w-24`}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:`Merge rapid messages within this window. 0 = no debounce.`})]}),(0,J.jsx)(I,{variant:`default`,size:`sm`,className:`h-8 text-xs w-full cursor-pointer`,disabled:n,onClick:se,children:n?`Saving...`:`Save`}),i&&(0,J.jsx)(`p`,{className:`text-[11px] ${i.type===`ok`?`text-success`:`text-destructive`}`,children:i.msg})]})}function em(){let[e,t]=(0,q.useState)(!1),[n,r]=(0,q.useState)(``),[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),m=i.length>0&&n!==i,h=n.trim().length>=4&&n===i&&!c,g=(0,q.useCallback)(async()=>{if(h){l(!0),p(null);try{let{token:e}=await R.put(`/api/settings/auth/password`,{password:n.trim(),confirm:i.trim()});nt(e),d(!0),r(``),a(``),setTimeout(()=>{d(!1),t(!1)},1500)}catch(e){p(e instanceof Error?e.message:`Failed to change password`)}finally{l(!1)}}},[h,n,i]);return e?(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Change Password`}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)($,{type:o?`text`:`password`,placeholder:`New password`,value:n,onChange:e=>r(e.target.value),className:`h-8 text-xs pr-8`,autoFocus:!0}),(0,J.jsx)(`button`,{type:`button`,className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground cursor-pointer`,onClick:()=>s(!o),tabIndex:-1,children:o?(0,J.jsx)(je,{className:`size-3.5`}):(0,J.jsx)($e,{className:`size-3.5`})})]}),(0,J.jsx)($,{type:o?`text`:`password`,placeholder:`Confirm password`,value:i,onChange:e=>a(e.target.value),onKeyDown:e=>{e.key===`Enter`&&g()},className:`h-8 text-xs`}),m&&(0,J.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Passwords do not match`}),f&&(0,J.jsx)(`p`,{className:`text-[11px] text-destructive`,children:f}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-8 text-xs flex-1 cursor-pointer`,onClick:()=>{t(!1),r(``),a(``),p(null)},children:`Cancel`}),(0,J.jsx)(I,{variant:u?`default`:`outline`,size:`sm`,className:`h-8 text-xs flex-1 cursor-pointer`,disabled:!h,onClick:g,children:c?`...`:u?(0,J.jsx)(Fe,{className:`size-3.5`}):`Save`})]}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Min 4 characters. You'll stay logged in on this device.`})]})]}):(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Security`}),(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-8 text-xs gap-1.5 cursor-pointer`,onClick:()=>t(!0),children:[(0,J.jsx)(ir,{className:`size-3.5`}),`Change Password`]})]})}function tm(){return R.get(`/api/settings/files`)}function nm(e){return R.patch(`/api/settings/files`,e)}function rm(e){return R.get(`/api/projects/${encodeURIComponent(e)}/settings`)}function im(e,t){return R.patch(`/api/projects/${encodeURIComponent(e)}/settings`,t)}function am({value:e,onChange:t,placeholder:n=`e.g. **/*.log`,disabled:r=!1}){let i=(0,q.useRef)([]);function a(n,r){let i=[...e];i[n]=r,t(i)}function o(n){t(e.filter((e,t)=>t!==n)),setTimeout(()=>{let e=Math.max(n-1,0);i.current[e]?.focus()},0)}function s(){t([...e,``]),setTimeout(()=>{i.current[e.length]?.focus()},0)}function c(t,n){n.key===`Enter`?(n.preventDefault(),e[t]?.trim()&&s()):n.key===`Backspace`&&e[t]===``&&(n.preventDefault(),o(t))}return(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[e.length===0&&(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-1`,children:`No patterns. Click "Add pattern" to start.`}),e.map((e,t)=>(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)($,{ref:e=>{i.current[t]=e},value:e,onChange:e=>a(t,e.target.value),onKeyDown:e=>c(t,e),placeholder:n,disabled:r,className:`h-8 text-xs flex-1 font-mono`,"aria-label":`Pattern ${t+1}`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>o(t),disabled:r,"aria-label":`Remove pattern ${t+1}`,className:`shrink-0 flex items-center justify-center p-2.5 rounded-md text-muted-foreground hover:text-destructive hover:bg-destructive/10 transition-colors disabled:opacity-40 disabled:pointer-events-none`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]},t)),(0,J.jsxs)(I,{type:`button`,variant:`outline`,size:`sm`,onClick:s,disabled:r,className:`h-8 text-xs gap-1.5 w-full cursor-pointer`,children:[(0,J.jsx)(et,{className:`size-3.5`}),`Add pattern`]})]})}var om={filesExclude:[],searchExclude:[],useIgnoreFiles:!0};function sm(){let e=W(e=>e.activeProject),[t,n]=(0,q.useState)(`global`),[r,i]=(0,q.useState)([]),[a,o]=(0,q.useState)([]),[s,c]=(0,q.useState)(!0),[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(!1),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(!1),_=(0,q.useRef)(null);(0,q.useEffect)(()=>{_.current?.abort();let n=new AbortController;return _.current=n,g(!0),m(null),(async()=>{try{if(t===`global`){let e=await tm();if(n.signal.aborted)return;i(e.filesExclude),o(e.searchExclude),c(e.useIgnoreFiles)}else{if(!e)return;let t=await rm(e.name);if(n.signal.aborted)return;let r=t.files??{};i(r.filesExclude??om.filesExclude),o(r.searchExclude??om.searchExclude),c(r.useIgnoreFiles??om.useIgnoreFiles)}}catch(e){if(n.signal.aborted)return;m(e.message)}finally{n.signal.aborted||g(!1)}})(),()=>n.abort()},[t,e?.name]);let v=async()=>{u(!0),f(!1),m(null);try{let n={filesExclude:r.filter(e=>e.trim()!==``),searchExclude:a.filter(e=>e.trim()!==``),useIgnoreFiles:s};if(t===`global`)await nm(n);else{if(!e)throw Error(`No active project`);await im(e.name,{files:n})}let i=rs.getState();i.invalidateIndex(),e&&i.loadIndex(e.name),f(!0),setTimeout(()=>f(!1),2e3)}catch(e){m(e.message)}finally{u(!1)}},y=!!e;return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`File Filters`}),(0,J.jsxs)(`div`,{className:`flex gap-1`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>n(`global`),className:`flex-1 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer ${t===`global`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:bg-accent`}`,children:`Global`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>y&&n(`project`),disabled:!y,title:y?void 0:`Open a project to edit per-project overrides`,className:`flex-1 py-1.5 rounded-md text-xs font-medium transition-colors cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed ${t===`project`?`bg-primary text-primary-foreground`:`bg-muted text-muted-foreground hover:bg-accent`}`,children:e?e.name:`Per-project`})]}),t===`project`&&e&&(0,J.jsxs)(`p`,{className:`text-[11px] text-muted-foreground -mt-2`,children:[`Overrides for `,(0,J.jsx)(`span`,{className:`font-medium`,children:e.name}),`. Leave empty to use global settings.`]}),h?(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Loading...`}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-xs`,children:`Files to Exclude`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Glob patterns hidden from the file tree and palette.`}),(0,J.jsx)(am,{value:r,onChange:i,placeholder:`e.g. **/*.log or node_modules/**`,disabled:l})]}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{className:`text-xs`,children:`Search to Exclude`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Glob patterns excluded from file index / palette search.`}),(0,J.jsx)(am,{value:a,onChange:o,placeholder:`e.g. dist/** or **/*.min.js`,disabled:l})]}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(op,{className:`text-xs`,children:`Use .gitignore rules`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Respect .gitignore when filtering the file tree and index.`})]}),(0,J.jsx)(Sp,{checked:s,onCheckedChange:c,disabled:l})]}),p&&(0,J.jsx)(`p`,{className:`text-[11px] text-destructive`,children:p}),(0,J.jsx)(I,{onClick:v,disabled:l||h,size:`sm`,className:`h-8 text-xs w-full cursor-pointer`,children:l?`Saving...`:d?`Saved`:`Save`})]})]})}var cm=1e4;function lm(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(!0),i=(0,q.useCallback)(async()=>{try{t(await R.get(`/api/schedules`))}catch{}finally{r(!1)}},[]);return(0,q.useEffect)(()=>{i();let e=setInterval(()=>{document.visibilityState===`visible`&&i()},cm);return()=>clearInterval(e)},[i]),{schedules:e,loading:n,refetch:i}}function um(e){let[t,n]=(0,q.useState)([]),[r,i]=(0,q.useState)(!1),a=(0,q.useCallback)(async()=>{if(e!=null){i(!0);try{n(await R.get(`/api/schedules/${e}/runs?limit=20`))}catch{n([])}finally{i(!1)}}},[e]);return(0,q.useEffect)(()=>{a()},[a]),{runs:t,loading:r,refetch:a}}var dm={done:`bg-success/10 text-success`,error:`bg-error/10 text-error`,running:`bg-warning/10 text-warning`,skipped:`bg-muted text-muted-foreground`};function fm({scheduleId:e}){let{runs:t,loading:n}=um(e);return n&&t.length===0?(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-1`,children:`Loading runs…`}):t.length===0?(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-1`,children:`No runs yet.`}):(0,J.jsx)(`div`,{className:`space-y-1`,children:t.map(e=>(0,J.jsx)(mm,{run:e},e.id))})}function pm(e){return new Date(e.includes(`T`)?e:e.replace(` `,`T`)+`Z`)}function mm({run:e}){let[t,n]=(0,q.useState)(!1),r=!!(e.output_truncated||e.error),i=e.ended_at?`${Math.round((pm(e.ended_at).getTime()-pm(e.started_at).getTime())/1e3)}s`:`…`;return(0,J.jsxs)(`div`,{className:`rounded border border-border text-[11px]`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>r&&n(!t),className:H(`w-full flex items-center gap-2 px-2 py-2 min-h-11 text-left`,r&&`cursor-pointer hover:bg-accent/30`),children:[(0,J.jsx)(`span`,{className:H(`rounded px-1.5 py-0.5 font-medium shrink-0`,dm[e.status]),children:e.status}),(0,J.jsxs)(`span`,{className:`text-muted-foreground truncate flex-1`,children:[pm(e.started_at).toLocaleString(),` · `,i,e.cost_usd!=null&&` · $${e.cost_usd.toFixed(4)}`,e.context_window_pct!=null&&` · ctx ${e.context_window_pct}%`]})]}),t&&(0,J.jsxs)(`div`,{className:`px-2 pb-2 space-y-1`,children:[e.error&&(0,J.jsx)(`p`,{className:`text-error break-all`,children:e.error}),e.output_truncated&&(0,J.jsx)(`pre`,{className:`overflow-auto max-h-96 whitespace-pre-wrap break-all text-muted-foreground font-mono text-[10px]`,children:e.output_truncated})]})]})}function hm({schedule:e,onEdit:t,onChanged:n}){let[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(0);return(0,J.jsxs)(`div`,{className:`rounded-lg border border-border`,children:[(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>i(!r),className:`w-full flex items-center gap-2 px-2.5 py-2.5 min-h-11 text-left cursor-pointer hover:bg-accent/30`,children:[r?(0,J.jsx)(on,{className:`size-3.5 shrink-0 text-muted-foreground`}):(0,J.jsx)(We,{className:`size-3.5 shrink-0 text-muted-foreground`}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium truncate`,children:e.name}),(0,J.jsxs)(`p`,{className:`text-[11px] text-muted-foreground truncate`,children:[(0,J.jsx)(`span`,{className:`font-mono`,children:e.cron_expr}),` · `,e.next_fire_at&&e.enabled?`next ${new Date(e.next_fire_at).toLocaleString()}`:`—`]})]}),(0,J.jsx)(`span`,{className:H(`rounded px-1.5 py-0.5 text-[10px] font-medium shrink-0`,e.enabled?`bg-success/10 text-success`:`bg-muted text-muted-foreground`),children:e.enabled?`Enabled`:`Disabled`})]})}),(0,J.jsxs)(au,{children:[(0,J.jsxs)(ou,{onClick:async()=>{try{let t=await R.post(`/api/schedules/${e.id}/run-now`);z.success(`Run #${t.runId} started${t.wasRunning?` (previous run still active)`:``}`),i(!0),o(e=>e+1)}catch(e){z.error(e instanceof Error?e.message:`Run failed`)}},children:[(0,J.jsx)(Mr,{className:`size-3.5`}),` Run now`]}),(0,J.jsxs)(ou,{onClick:async()=>{try{await R.patch(`/api/schedules/${e.id}`,{enabled:!e.enabled}),n()}catch(e){z.error(e instanceof Error?e.message:`Update failed`)}},children:[(0,J.jsx)(Fr,{className:`size-3.5`}),` `,e.enabled?`Disable`:`Enable`]}),(0,J.jsxs)(ou,{onClick:t,children:[(0,J.jsx)(kr,{className:`size-3.5`}),` Edit`]}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{variant:`destructive`,onClick:async()=>{try{await R.del(`/api/schedules/${e.id}`),z.success(`Schedule deleted`),n()}catch(e){z.error(e instanceof Error?e.message:`Delete failed`)}},children:[(0,J.jsx)(si,{className:`size-3.5`}),` Delete`]})]})]}),r&&(0,J.jsxs)(`div`,{className:`px-2.5 pb-2.5 space-y-1.5`,children:[(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground break-all line-clamp-3`,children:e.prompt}),(0,J.jsx)(fm,{scheduleId:e.id},a)]})]})}function gm(e,t,n,r,i,a,o,s){return gm.fromTZ(gm.tp(e,t,n,r,i,a,o),s)}gm.fromTZISO=(e,t,n)=>gm.fromTZ(vm(e,t),n),gm.fromTZ=function(e,t){let n=new Date(Date.UTC(e.y,e.m-1,e.d,e.h,e.i,e.s)),r=_m(e.tz,n),i=new Date(n.getTime()-r),a=_m(e.tz,i);if(a-r===0)return i;{let r=new Date(n.getTime()-a),o=_m(e.tz,r);if(o-a===0||!t&&o-a>0)return r;if(t)throw Error(`Invalid date passed to fromTZ()`);return i}},gm.toTZ=function(e,t){let n=e.toLocaleString(`en-US`,{timeZone:t}).replace(/[\u202f]/,` `),r=new Date(n);return{y:r.getFullYear(),m:r.getMonth()+1,d:r.getDate(),h:r.getHours(),i:r.getMinutes(),s:r.getSeconds(),tz:t}},gm.tp=(e,t,n,r,i,a,o)=>({y:e,m:t,d:n,h:r,i,s:a,tz:o});function _m(e,t=new Date){let n=t.toLocaleString(`en-US`,{timeZone:e,timeZoneName:`shortOffset`}).split(` `).slice(-1)[0],r=t.toLocaleString(`en-US`).replace(/[\u202f]/,` `);return Date.parse(`${r} GMT`)-Date.parse(`${r} ${n}`)}function vm(e,t){let n=new Date(Date.parse(e));if(isNaN(n))throw Error(`minitz: Invalid ISO8601 passed to parser.`);let r=e.substring(9);return e.includes(`Z`)||r.includes(`-`)||r.includes(`+`)?gm.tp(n.getUTCFullYear(),n.getUTCMonth()+1,n.getUTCDate(),n.getUTCHours(),n.getUTCMinutes(),n.getUTCSeconds(),`Etc/UTC`):gm.tp(n.getFullYear(),n.getMonth()+1,n.getDate(),n.getHours(),n.getMinutes(),n.getSeconds(),t)}gm.minitz=gm;var ym=32,bm=31|ym,xm=[1,2,4,8,16],Sm=class{pattern;timezone;second;minute;hour;day;month;dayOfWeek;lastDayOfMonth;starDOM;starDOW;constructor(e,t){this.pattern=e,this.timezone=t,this.second=Array(60).fill(0),this.minute=Array(60).fill(0),this.hour=Array(24).fill(0),this.day=Array(31).fill(0),this.month=Array(12).fill(0),this.dayOfWeek=Array(7).fill(0),this.lastDayOfMonth=!1,this.starDOM=!1,this.starDOW=!1,this.parse()}parse(){if(!(typeof this.pattern==`string`||this.pattern instanceof String))throw TypeError(`CronPattern: Pattern has to be of type string.`);this.pattern.indexOf(`@`)>=0&&(this.pattern=this.handleNicknames(this.pattern).trim());let e=this.pattern.replace(/\s+/g,` `).split(` `);if(e.length<5||e.length>6)throw TypeError(`CronPattern: invalid configuration format ('`+this.pattern+`'), exactly five or six space separated parts are required.`);if(e.length===5&&e.unshift(`0`),e[3].indexOf(`L`)>=0&&(e[3]=e[3].replace(`L`,``),this.lastDayOfMonth=!0),e[3]==`*`&&(this.starDOM=!0),e[4].length>=3&&(e[4]=this.replaceAlphaMonths(e[4])),e[5].length>=3&&(e[5]=this.replaceAlphaDays(e[5])),e[5]==`*`&&(this.starDOW=!0),this.pattern.indexOf(`?`)>=0){let t=new Tm(new Date,this.timezone).getDate(!0);e[0]=e[0].replace(`?`,t.getSeconds().toString()),e[1]=e[1].replace(`?`,t.getMinutes().toString()),e[2]=e[2].replace(`?`,t.getHours().toString()),this.starDOM||(e[3]=e[3].replace(`?`,t.getDate().toString())),e[4]=e[4].replace(`?`,(t.getMonth()+1).toString()),this.starDOW||(e[5]=e[5].replace(`?`,t.getDay().toString()))}this.throwAtIllegalCharacters(e),this.partToArray(`second`,e[0],0,1),this.partToArray(`minute`,e[1],0,1),this.partToArray(`hour`,e[2],0,1),this.partToArray(`day`,e[3],-1,1),this.partToArray(`month`,e[4],-1,1),this.partToArray(`dayOfWeek`,e[5],0,bm),this.dayOfWeek[7]&&(this.dayOfWeek[0]=this.dayOfWeek[7])}partToArray(e,t,n,r){let i=this[e],a=e===`day`&&this.lastDayOfMonth;if(t===``&&!a)throw TypeError(`CronPattern: configuration entry `+e+` (`+t+`) is empty, check for trailing spaces.`);if(t===`*`)return i.fill(r);let o=t.split(`,`);if(o.length>1)for(let t=0;t<o.length;t++)this.partToArray(e,o[t],n,r);else t.indexOf(`-`)!==-1&&t.indexOf(`/`)!==-1?this.handleRangeWithStepping(t,e,n,r):t.indexOf(`-`)===-1?t.indexOf(`/`)===-1?t!==``&&this.handleNumber(t,e,n,r):this.handleStepping(t,e,n,r):this.handleRange(t,e,n,r)}throwAtIllegalCharacters(e){for(let t=0;t<e.length;t++)if((t===5?/[^/*0-9,\-#L]+/:/[^/*0-9,-]+/).test(e[t]))throw TypeError(`CronPattern: configuration entry `+t+` (`+e[t]+`) contains illegal characters.`)}handleNumber(e,t,n,r){let i=this.extractNth(e,t),a=parseInt(i[0],10)+n;if(isNaN(a))throw TypeError(`CronPattern: `+t+` is not a number: '`+e+`'`);this.setPart(t,a,i[1]||r)}setPart(e,t,n){if(!Object.prototype.hasOwnProperty.call(this,e))throw TypeError(`CronPattern: Invalid part specified: `+e);if(e===`dayOfWeek`){if(t===7&&(t=0),t<0||t>6)throw RangeError(`CronPattern: Invalid value for dayOfWeek: `+t);this.setNthWeekdayOfMonth(t,n);return}if(e===`second`||e===`minute`){if(t<0||t>=60)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`hour`){if(t<0||t>=24)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`day`){if(t<0||t>=31)throw RangeError(`CronPattern: Invalid value for `+e+`: `+t)}else if(e===`month`&&(t<0||t>=12))throw RangeError(`CronPattern: Invalid value for `+e+`: `+t);this[e][t]=n}handleRangeWithStepping(e,t,n,r){let i=this.extractNth(e,t),a=i[0].match(/^(\d+)-(\d+)\/(\d+)$/);if(a===null)throw TypeError(`CronPattern: Syntax error, illegal range with stepping: '`+e+`'`);let[,o,s,c]=a,l=parseInt(o,10)+n,u=parseInt(s,10)+n,d=parseInt(c,10);if(isNaN(l))throw TypeError(`CronPattern: Syntax error, illegal lower range (NaN)`);if(isNaN(u))throw TypeError(`CronPattern: Syntax error, illegal upper range (NaN)`);if(isNaN(d))throw TypeError(`CronPattern: Syntax error, illegal stepping: (NaN)`);if(d===0)throw TypeError(`CronPattern: Syntax error, illegal stepping: 0`);if(d>this[t].length)throw TypeError(`CronPattern: Syntax error, steps cannot be greater than maximum value of part (`+this[t].length+`)`);if(l>u)throw TypeError(`CronPattern: From value is larger than to value: '`+e+`'`);for(let e=l;e<=u;e+=d)this.setPart(t,e,i[1]||r)}extractNth(e,t){let n=e,r;if(n.includes(`#`)){if(t!==`dayOfWeek`)throw Error(`CronPattern: nth (#) only allowed in day-of-week field`);r=n.split(`#`)[1],n=n.split(`#`)[0]}return[n,r]}handleRange(e,t,n,r){let i=this.extractNth(e,t),a=i[0].split(`-`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal range: '`+e+`'`);let o=parseInt(a[0],10)+n,s=parseInt(a[1],10)+n;if(isNaN(o))throw TypeError(`CronPattern: Syntax error, illegal lower range (NaN)`);if(isNaN(s))throw TypeError(`CronPattern: Syntax error, illegal upper range (NaN)`);if(o>s)throw TypeError(`CronPattern: From value is larger than to value: '`+e+`'`);for(let e=o;e<=s;e++)this.setPart(t,e,i[1]||r)}handleStepping(e,t,n,r){let i=this.extractNth(e,t),a=i[0].split(`/`);if(a.length!==2)throw TypeError(`CronPattern: Syntax error, illegal stepping: '`+e+`'`);a[0]===``&&(a[0]=`*`);let o=0;a[0]!==`*`&&(o=parseInt(a[0],10)+n);let s=parseInt(a[1],10);if(isNaN(s))throw TypeError(`CronPattern: Syntax error, illegal stepping: (NaN)`);if(s===0)throw TypeError(`CronPattern: Syntax error, illegal stepping: 0`);if(s>this[t].length)throw TypeError(`CronPattern: Syntax error, max steps for part is (`+this[t].length+`)`);for(let e=o;e<this[t].length;e+=s)this.setPart(t,e,i[1]||r)}replaceAlphaDays(e){return e.replace(/-sun/gi,`-7`).replace(/sun/gi,`0`).replace(/mon/gi,`1`).replace(/tue/gi,`2`).replace(/wed/gi,`3`).replace(/thu/gi,`4`).replace(/fri/gi,`5`).replace(/sat/gi,`6`)}replaceAlphaMonths(e){return e.replace(/jan/gi,`1`).replace(/feb/gi,`2`).replace(/mar/gi,`3`).replace(/apr/gi,`4`).replace(/may/gi,`5`).replace(/jun/gi,`6`).replace(/jul/gi,`7`).replace(/aug/gi,`8`).replace(/sep/gi,`9`).replace(/oct/gi,`10`).replace(/nov/gi,`11`).replace(/dec/gi,`12`)}handleNicknames(e){let t=e.trim().toLowerCase();return t===`@yearly`||t===`@annually`?`0 0 1 1 *`:t===`@monthly`?`0 0 1 * *`:t===`@weekly`?`0 0 * * 0`:t===`@daily`?`0 0 * * *`:t===`@hourly`?`0 * * * *`:e}setNthWeekdayOfMonth(e,t){if(typeof t!=`number`&&t===`L`)this.dayOfWeek[e]=this.dayOfWeek[e]|ym;else if(t===bm)this.dayOfWeek[e]=bm;else if(t<6&&t>0)this.dayOfWeek[e]=this.dayOfWeek[e]|xm[t-1];else throw TypeError(`CronPattern: nth weekday out of range, should be 1-5 or L. Value: ${t}, Type: ${typeof t}`)}},Cm=[31,28,31,30,31,30,31,31,30,31,30,31],wm=[[`month`,`year`,0],[`day`,`month`,-1],[`hour`,`day`,0],[`minute`,`hour`,0],[`second`,`minute`,0]],Tm=class e{tz;ms;second;minute;hour;day;month;year;constructor(t,n){if(this.tz=n,t&&t instanceof Date)if(!isNaN(t))this.fromDate(t);else throw TypeError(`CronDate: Invalid date passed to CronDate constructor`);else if(t===void 0)this.fromDate(new Date);else if(t&&typeof t==`string`)this.fromString(t);else if(t instanceof e)this.fromCronDate(t);else throw TypeError(`CronDate: Invalid type (`+typeof t+`) passed to CronDate constructor`)}isNthWeekdayOfMonth(e,t,n,r){let i=new Date(Date.UTC(e,t,n)).getUTCDay(),a=0;for(let r=1;r<=n;r++)new Date(Date.UTC(e,t,r)).getUTCDay()===i&&a++;if(r&bm&&xm[a-1]&r)return!0;if(r&ym){let r=new Date(Date.UTC(e,t+1,0)).getUTCDate();for(let a=n+1;a<=r;a++)if(new Date(Date.UTC(e,t,a)).getUTCDay()===i)return!1;return!0}return!1}fromDate(e){if(this.tz!==void 0)if(typeof this.tz==`number`)this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes()+this.tz,this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),this.apply();else{let t=gm.toTZ(e,this.tz);this.ms=e.getMilliseconds(),this.second=t.s,this.minute=t.i,this.hour=t.h,this.day=t.d,this.month=t.m-1,this.year=t.y}else this.ms=e.getMilliseconds(),this.second=e.getSeconds(),this.minute=e.getMinutes(),this.hour=e.getHours(),this.day=e.getDate(),this.month=e.getMonth(),this.year=e.getFullYear()}fromCronDate(e){this.tz=e.tz,this.year=e.year,this.month=e.month,this.day=e.day,this.hour=e.hour,this.minute=e.minute,this.second=e.second,this.ms=e.ms}apply(){if(this.month>11||this.day>Cm[this.month]||this.hour>59||this.minute>59||this.second>59||this.hour<0||this.minute<0||this.second<0){let e=new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms));return this.ms=e.getUTCMilliseconds(),this.second=e.getUTCSeconds(),this.minute=e.getUTCMinutes(),this.hour=e.getUTCHours(),this.day=e.getUTCDate(),this.month=e.getUTCMonth(),this.year=e.getUTCFullYear(),!0}else return!1}fromString(e){if(typeof this.tz==`number`){let t=gm.fromTZISO(e);this.ms=t.getUTCMilliseconds(),this.second=t.getUTCSeconds(),this.minute=t.getUTCMinutes(),this.hour=t.getUTCHours(),this.day=t.getUTCDate(),this.month=t.getUTCMonth(),this.year=t.getUTCFullYear(),this.apply()}else return this.fromDate(gm.fromTZISO(e,this.tz))}findNext(e,t,n,r){let i=this[t],a;n.lastDayOfMonth&&(a=this.month===1?new Date(Date.UTC(this.year,this.month+1,0,0,0,0,0)).getUTCDate():Cm[this.month]);let o=!n.starDOW&&t==`day`?new Date(Date.UTC(this.year,this.month,1,0,0,0,0)).getUTCDay():void 0;for(let s=this[t]+r;s<n[t].length;s++){let c=n[t][s];if(t===`day`&&n.lastDayOfMonth&&s-r==a&&(c=1),t===`day`&&!n.starDOW){let t=n.dayOfWeek[(o+(s-r-1))%7];if(t&&t&bm)t=this.isNthWeekdayOfMonth(this.year,this.month,s-r,t)?1:0;else if(t)throw Error(`CronDate: Invalid value for dayOfWeek encountered. ${t}`);e.legacyMode&&!n.starDOM?c||=t:c&&=t}if(c)return this[t]=s-r,i===this[t]?1:2}return 3}recurse(e,t,n){let r=this.findNext(t,wm[n][0],e,wm[n][2]);if(r>1){let i=n+1;for(;i<wm.length;)this[wm[i][0]]=-wm[i][2],i++;if(r===3)return this[wm[n][1]]++,this[wm[n][0]]=-wm[n][2],this.apply(),this.recurse(e,t,0);if(this.apply())return this.recurse(e,t,n-1)}return n+=1,n>=wm.length?this:this.year>=3e3?null:this.recurse(e,t,n)}increment(e,t,n){return this.second+=t.interval!==void 0&&t.interval>1&&n?t.interval:1,this.ms=0,this.apply(),this.recurse(e,t,0)}getDate(e){return e||this.tz===void 0?new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.ms):typeof this.tz==`number`?new Date(Date.UTC(this.year,this.month,this.day,this.hour,this.minute-this.tz,this.second,this.ms)):gm.fromTZ(gm.tp(this.year,this.month+1,this.day,this.hour,this.minute,this.second,this.tz),!1)}getTime(){return this.getDate(!1).getTime()}};function Em(e){if(e===void 0&&(e={}),delete e.name,e.legacyMode=e.legacyMode===void 0?!0:e.legacyMode,e.paused=e.paused===void 0?!1:e.paused,e.maxRuns=e.maxRuns===void 0?1/0:e.maxRuns,e.catch=e.catch===void 0?!1:e.catch,e.interval=e.interval===void 0?0:parseInt(e.interval.toString(),10),e.utcOffset=e.utcOffset===void 0?void 0:parseInt(e.utcOffset.toString(),10),e.unref=e.unref===void 0?!1:e.unref,e.startAt&&=new Tm(e.startAt,e.timezone),e.stopAt&&=new Tm(e.stopAt,e.timezone),e.interval!==null){if(isNaN(e.interval))throw Error(`CronOptions: Supplied value for interval is not a number`);if(e.interval<0)throw Error(`CronOptions: Supplied value for interval can not be negative`)}if(e.utcOffset!==void 0){if(isNaN(e.utcOffset))throw Error(`CronOptions: Invalid value passed for utcOffset, should be number representing minutes offset from UTC.`);if(e.utcOffset<-870||e.utcOffset>870)throw Error(`CronOptions: utcOffset out of bounds.`);if(e.utcOffset!==void 0&&e.timezone)throw Error(`CronOptions: Combining 'utcOffset' with 'timezone' is not allowed.`)}if(e.unref!==!0&&e.unref!==!1)throw Error(`CronOptions: Unref should be either true, false or undefined(false).`);return e}function Dm(e){return Object.prototype.toString.call(e)===`[object Function]`||typeof e==`function`||e instanceof Function}function Om(e){return Dm(e)}function km(e){typeof Deno<`u`&&typeof Deno.unrefTimer<`u`?Deno.unrefTimer(e):e&&typeof e.unref<`u`&&e.unref()}var Am=30*1e3,jm=[],Mm=class{name;options;_states;fn;constructor(e,t,n){let r,i;if(Dm(t))i=t;else if(typeof t==`object`)r=t;else if(t!==void 0)throw Error(`Cron: Invalid argument passed for optionsIn. Should be one of function, or object (options).`);if(Dm(n))i=n;else if(typeof n==`object`)r=n;else if(n!==void 0)throw Error(`Cron: Invalid argument passed for funcIn. Should be one of function, or object (options).`);if(this.name=r?.name,this.options=Em(r),this._states={kill:!1,blocking:!1,previousRun:void 0,currentRun:void 0,once:void 0,currentTimeout:void 0,maxRuns:r?r.maxRuns:void 0,paused:r?r.paused:!1,pattern:new Sm(`* * * * *`)},e&&(e instanceof Date||typeof e==`string`&&e.indexOf(`:`)>0)?this._states.once=new Tm(e,this.options.timezone||this.options.utcOffset):this._states.pattern=new Sm(e,this.options.timezone),this.name){if(jm.find(e=>e.name===this.name))throw Error(`Cron: Tried to initialize new named job '`+this.name+`', but name already taken.`);jm.push(this)}return i!==void 0&&Om(i)&&(this.fn=i,this.schedule()),this}nextRun(e){let t=this._next(e);return t?t.getDate(!1):null}nextRuns(e,t){this._states.maxRuns!==void 0&&e>this._states.maxRuns&&(e=this._states.maxRuns);let n=[],r=t||this._states.currentRun||void 0;for(;e--&&(r=this.nextRun(r));)n.push(r);return n}getPattern(){return this._states.pattern?this._states.pattern.pattern:void 0}isRunning(){let e=this.nextRun(this._states.currentRun),t=!this._states.paused,n=this.fn!==void 0,r=!this._states.kill;return t&&n&&r&&e!==null}isStopped(){return this._states.kill}isBusy(){return this._states.blocking}currentRun(){return this._states.currentRun?this._states.currentRun.getDate():null}previousRun(){return this._states.previousRun?this._states.previousRun.getDate():null}msToNext(e){let t=this._next(e);return t?e instanceof Tm||e instanceof Date?t.getTime()-e.getTime():t.getTime()-new Tm(e).getTime():null}stop(){this._states.kill=!0,this._states.currentTimeout&&clearTimeout(this._states.currentTimeout);let e=jm.indexOf(this);e>=0&&jm.splice(e,1)}pause(){return this._states.paused=!0,!this._states.kill}resume(){return this._states.paused=!1,!this._states.kill}schedule(e){if(e&&this.fn)throw Error(`Cron: It is not allowed to schedule two functions using the same Croner instance.`);e&&(this.fn=e);let t=this.msToNext(),n=this.nextRun(this._states.currentRun);return t==null||isNaN(t)||n===null?this:(t>Am&&(t=Am),this._states.currentTimeout=setTimeout(()=>this._checkTrigger(n),t),this._states.currentTimeout&&this.options.unref&&km(this._states.currentTimeout),this)}async _trigger(e){if(this._states.blocking=!0,this._states.currentRun=new Tm(void 0,this.options.timezone||this.options.utcOffset),this.options.catch)try{this.fn!==void 0&&await this.fn(this,this.options.context)}catch(e){Dm(this.options.catch)&&this.options.catch(e,this)}else this.fn!==void 0&&await this.fn(this,this.options.context);this._states.previousRun=new Tm(e,this.options.timezone||this.options.utcOffset),this._states.blocking=!1}async trigger(){await this._trigger()}runsLeft(){return this._states.maxRuns}_checkTrigger(e){let t=new Date,n=!this._states.paused&&t.getTime()>=e.getTime(),r=this._states.blocking&&this.options.protect;n&&!r?(this._states.maxRuns!==void 0&&this._states.maxRuns--,this._trigger()):n&&r&&Dm(this.options.protect)&&setTimeout(()=>this.options.protect(this),0),this.schedule()}_next(e){let t=!!(e||this._states.currentRun),n=!1;!e&&this.options.startAt&&this.options.interval&&([e,t]=this._calculatePreviousRun(e,t),n=!e),e=new Tm(e,this.options.timezone||this.options.utcOffset),this.options.startAt&&e&&e.getTime()<this.options.startAt.getTime()&&(e=this.options.startAt);let r=this._states.once||new Tm(e,this.options.timezone||this.options.utcOffset);return!n&&r!==this._states.once&&(r=r.increment(this._states.pattern,this.options,t)),this._states.once&&this._states.once.getTime()<=e.getTime()||r===null||this._states.maxRuns!==void 0&&this._states.maxRuns<=0||this._states.kill||this.options.stopAt&&r.getTime()>=this.options.stopAt.getTime()?null:r}_calculatePreviousRun(e,t){let n=new Tm(void 0,this.options.timezone||this.options.utcOffset),r=e;if(this.options.startAt.getTime()<=n.getTime()){r=this.options.startAt;let e=r.getTime()+this.options.interval*1e3;for(;e<=n.getTime();)r=new Tm(r,this.options.timezone||this.options.utcOffset).increment(this._states.pattern,this.options,!0),e=r.getTime()+this.options.interval*1e3;t=!0}return r===null&&(r=void 0),[r,t]}},Nm=[`bypassPermissions`,`acceptEdits`,`default`,`plan`];function Pm({open:e,schedule:t,onClose:n,onSaved:r}){let i=_t(),[a,o]=(0,q.useState)(()=>Im(t)),[s,c]=(0,q.useState)([]),[l,u]=(0,q.useState)(!1),[d,f]=(0,q.useState)(null);(0,q.useEffect)(()=>{e&&(o(Im(t)),f(null),R.get(`/api/projects`).then(c).catch(()=>c([])))},[e,t]);let p=(0,q.useMemo)(()=>{try{return new Mm(a.cron_expr).nextRuns(3).map(e=>e.toLocaleString())}catch{return null}},[a.cron_expr]),m=(e,t)=>o(n=>({...n,[e]:t})),h=(0,J.jsxs)(`div`,{className:`space-y-3 px-1`,children:[(0,J.jsx)(Fm,{label:`Name`,children:(0,J.jsx)($,{value:a.name,onChange:e=>m(`name`,e.target.value),placeholder:`Morning PR review`,className:`h-11 md:h-9 text-xs`})}),(0,J.jsxs)(Fm,{label:`Cron expression (local timezone)`,children:[(0,J.jsx)($,{value:a.cron_expr,onChange:e=>m(`cron_expr`,e.target.value),placeholder:`0 7 * * *`,className:`h-11 md:h-9 text-xs font-mono`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:p?`Next: ${p.join(` · `)}`:`—`})]}),(0,J.jsx)(Fm,{label:`Project`,children:(0,J.jsxs)(wp,{value:a.project_path,onValueChange:e=>m(`project_path`,e),children:[(0,J.jsx)(Ep,{className:`w-full min-h-11 md:min-h-9 text-xs`,children:(0,J.jsx)(Tp,{placeholder:`Select project`})}),(0,J.jsx)(Dp,{children:s.map(e=>(0,J.jsx)(Op,{value:e.path,children:e.name},e.path))})]})}),(0,J.jsx)(Fm,{label:`Prompt (do not embed secrets)`,children:(0,J.jsx)(`textarea`,{value:a.prompt,onChange:e=>m(`prompt`,e.target.value),placeholder:`Check open PRs and summarize. If nothing to do, finish immediately.`,rows:4,className:`w-full rounded-md border border-input bg-transparent px-3 py-2 text-xs outline-none focus-visible:ring-2 focus-visible:ring-ring/50 resize-y`})}),(0,J.jsxs)(Fm,{label:`Permission mode`,children:[(0,J.jsxs)(wp,{value:a.permission_mode,onValueChange:e=>m(`permission_mode`,e),children:[(0,J.jsx)(Ep,{className:`w-full min-h-11 md:min-h-9 text-xs`,children:(0,J.jsx)(Tp,{})}),(0,J.jsx)(Dp,{children:Nm.map(e=>(0,J.jsx)(Op,{value:e,children:e},e))})]}),a.permission_mode===`bypassPermissions`&&(0,J.jsx)(`p`,{className:`text-[11px] text-warning`,children:`⚠ Unattended writes — agent can modify code and run commands`})]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[(0,J.jsx)(Fm,{label:`Max turns (optional)`,children:(0,J.jsx)($,{type:`number`,min:1,value:a.max_turns,onChange:e=>m(`max_turns`,e.target.value),placeholder:`∞`,className:`h-11 md:h-9 text-xs`})}),(0,J.jsx)(Fm,{label:`Timeout (ms)`,children:(0,J.jsx)($,{type:`number`,min:1e4,value:a.timeout_ms,onChange:e=>m(`timeout_ms`,e.target.value),className:`h-11 md:h-9 text-xs`})})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between min-h-11`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium`,children:`Enabled`}),(0,J.jsx)(Sp,{checked:a.enabled,onCheckedChange:e=>m(`enabled`,e)})]}),d&&(0,J.jsx)(`p`,{className:`text-[11px] text-error`,children:d}),(0,J.jsx)(I,{onClick:async()=>{if(!a.name.trim()||!a.project_path||!a.prompt.trim()){f(`Name, project, and prompt are required`);return}if(!p){f(`Invalid cron expression`);return}u(!0),f(null);try{let e={name:a.name.trim(),cron_expr:a.cron_expr,project_path:a.project_path,prompt:a.prompt,permission_mode:a.permission_mode,max_turns:a.max_turns===``?null:Number(a.max_turns),timeout_ms:Number(a.timeout_ms)||18e5,enabled:a.enabled};t?await R.patch(`/api/schedules/${t.id}`,e):await R.post(`/api/schedules`,e),r(),n()}catch(e){f(e instanceof Error?e.message:String(e))}finally{u(!1)}},disabled:l,className:`w-full min-h-11 cursor-pointer`,children:l?`Saving…`:t?`Save changes`:`Create schedule`})]}),g=t?`Edit: ${t.name}`:`New schedule`;return i?(0,J.jsxs)(Tt,{open:e,onClose:n,className:`max-h-[85vh] flex flex-col`,children:[(0,J.jsx)(`p`,{className:`text-sm font-semibold text-center pb-2`,children:g}),(0,J.jsx)(up,{className:`flex-1 min-h-0 px-3 pb-3`,children:h})]}):(0,J.jsx)(Tc,{open:e,onOpenChange:e=>!e&&n(),children:(0,J.jsxs)(kc,{className:`max-w-md max-h-[85vh] overflow-y-auto`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{className:`text-sm`,children:g})}),h]})})}function Fm({label:e,children:t}){return(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium text-muted-foreground`,children:e}),t]})}function Im(e){return{name:e?.name??``,cron_expr:e?.cron_expr??`0 7 * * *`,project_path:e?.project_path??``,prompt:e?.prompt??``,permission_mode:e?.permission_mode??`bypassPermissions`,max_turns:e?.max_turns==null?``:String(e.max_turns),timeout_ms:String(e?.timeout_ms??18e5),enabled:e?!!e.enabled:!0}}function Lm(){let{schedules:e,loading:t,refetch:n}=lm(),[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(null),s=()=>{o(null),i(!0)},c=e=>{o(e),i(!0)};return(0,J.jsxs)(`div`,{className:`space-y-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Periodically wake Claude to work on a project unattended.`}),(0,J.jsxs)(I,{size:`sm`,onClick:s,className:`min-h-11 md:min-h-8 text-xs gap-1 cursor-pointer shrink-0`,children:[(0,J.jsx)(et,{className:`size-3.5`}),` Add`]})]}),t&&e.length===0?(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground py-4 text-center`,children:`Loading…`}):e.length===0?(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-8 text-center`,children:[(0,J.jsx)(nn,{className:`size-8 text-muted-foreground/50`}),(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`No schedules yet. Add one to run Claude periodically.`}),(0,J.jsxs)(I,{size:`sm`,onClick:s,className:`min-h-11 text-xs gap-1 cursor-pointer`,children:[(0,J.jsx)(et,{className:`size-3.5`}),` Add schedule`]})]}):(0,J.jsx)(`div`,{className:`space-y-2`,children:e.map(e=>(0,J.jsx)(hm,{schedule:e,onEdit:()=>c(e),onChanged:n},e.id))}),(0,J.jsx)(Pm,{open:r,schedule:a,onClose:()=>i(!1),onSaved:n})]})}function Rm({swatch:e,className:t}){return(0,J.jsx)(`span`,{className:H(`inline-flex overflow-hidden rounded-md border border-border shrink-0`,t),"aria-hidden":!0,children:e.map((e,t)=>(0,J.jsx)(`span`,{className:`w-3 h-6`,style:{background:e}},t))})}function zm({className:e,orientation:t=`horizontal`,...n}){return(0,J.jsx)(de,{"data-slot":`tabs`,"data-orientation":t,orientation:t,className:H(`group/tabs flex gap-2 data-[orientation=horizontal]:flex-col`,e),...n})}var Bm=Ge(`group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-[orientation=horizontal]/tabs:h-9 group-data-[orientation=vertical]/tabs:h-fit group-data-[orientation=vertical]/tabs:flex-col data-[variant=line]:rounded-none`,{variants:{variant:{default:`bg-muted`,line:`gap-1 bg-transparent`}},defaultVariants:{variant:`default`}});function Vm({className:e,variant:t=`default`,...n}){return(0,J.jsx)(P,{"data-slot":`tabs-list`,"data-variant":t,className:H(Bm({variant:t}),e),...n})}function Hm({className:e,...t}){return(0,J.jsx)(Ce,{"data-slot":`tabs-trigger`,className:H(`relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-[orientation=vertical]/tabs:w-full group-data-[orientation=vertical]/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 group-data-[variant=default]/tabs-list:data-[state=active]:shadow-sm group-data-[variant=line]/tabs-list:data-[state=active]:shadow-none dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,`group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:border-transparent dark:group-data-[variant=line]/tabs-list:data-[state=active]:bg-transparent`,`data-[state=active]:bg-background data-[state=active]:text-foreground dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 dark:data-[state=active]:text-foreground`,`after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-[orientation=horizontal]/tabs:after:inset-x-0 group-data-[orientation=horizontal]/tabs:after:bottom-[-5px] group-data-[orientation=horizontal]/tabs:after:h-0.5 group-data-[orientation=vertical]/tabs:after:inset-y-0 group-data-[orientation=vertical]/tabs:after:-right-1 group-data-[orientation=vertical]/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-[state=active]:after:opacity-100`,e),...t})}function Um({className:e,...t}){return(0,J.jsx)(be,{"data-slot":`tabs-content`,className:H(`flex-1 outline-none`,e),...t})}function Wm({open:e,onOpenChange:t}){let n=V(e=>e.importThemeFrom),r=V(e=>e.setCustomTheme),[i,a]=(0,q.useState)(`url`),[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),m=()=>{s(``),l(``),d(``),a(`url`)},h=async()=>{let e=i===`url`?o.trim():c.trim();if(!e){z.error(`Nothing to import`);return}p(!0);try{let a=await n({source:i===`url`?`url`:i===`upload`?`upload`:`json`,value:e,name:u.trim()||void 0});z.success(a.length>1?`Imported ${a.length} themes`:`Imported "${a[0]?.name}"`),a[0]&&r(a[0].id),m(),t(!1)}catch(e){z.error(e.message||`Import failed`)}finally{p(!1)}},g=async e=>{if(e)try{l(await e.text()),d(e.name.replace(/\.json$/i,``))}catch{z.error(`Could not read file`)}};return(0,J.jsx)(Tc,{open:e,onOpenChange:t,children:(0,J.jsxs)(kc,{className:`max-w-md`,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:`Import theme`}),(0,J.jsx)(Mc,{className:`text-text-3`,children:`Import a VSCode color theme. Single-mode themes apply to both dark and light.`})]}),(0,J.jsxs)(zm,{value:i,onValueChange:e=>a(e),children:[(0,J.jsxs)(Vm,{className:`w-full`,children:[(0,J.jsx)(Hm,{value:`url`,className:`flex-1`,children:`URL`}),(0,J.jsx)(Hm,{value:`json`,className:`flex-1`,children:`Paste JSON`}),(0,J.jsx)(Hm,{value:`upload`,className:`flex-1`,children:`Upload`})]}),(0,J.jsxs)(Um,{value:`url`,className:`space-y-2 pt-2`,children:[(0,J.jsx)($,{placeholder:`https://…/theme.json or Marketplace .vsix URL`,value:o,onChange:e=>s(e.target.value)}),(0,J.jsx)(`p`,{className:`text-[11px] text-text-3`,children:`Only https URLs; private/internal addresses are blocked.`})]}),(0,J.jsx)(Um,{value:`json`,className:`pt-2`,children:(0,J.jsx)(`textarea`,{className:`w-full h-40 rounded-md border border-border bg-surface p-2 text-xs font-mono text-text focus:outline-none focus:border-ring`,placeholder:`{ "name": "My Theme", "type": "dark", "colors": { … }, "tokenColors": [ … ] }`,value:c,onChange:e=>l(e.target.value)})}),(0,J.jsxs)(Um,{value:`upload`,className:`space-y-2 pt-2`,children:[(0,J.jsx)(`input`,{type:`file`,accept:`.json,application/json`,onChange:e=>g(e.target.files?.[0]),className:`block w-full text-xs text-text-2 file:mr-3 file:rounded file:border file:border-border file:bg-panel-2 file:px-2 file:py-1 file:text-text`}),c&&(0,J.jsxs)(`p`,{className:`text-[11px] text-success`,children:[`File loaded (`,c.length,` chars)`]})]})]}),(0,J.jsx)($,{placeholder:`Optional name`,value:u,onChange:e=>d(e.target.value)}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,onClick:()=>t(!1),disabled:f,children:`Cancel`}),(0,J.jsx)(I,{onClick:h,disabled:f,children:f?`Importing…`:`Import`})]})]})})}function Gm(){let e=V(e=>e.customThemes),t=V(e=>e.themeStyle),n=V(e=>e.customThemeId),r=V(e=>e.setCustomTheme),i=V(e=>e.deleteCustomTheme),[a,o]=(0,q.useState)(!1);return(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Imported themes`}),(0,J.jsxs)(I,{size:`sm`,variant:`outline`,className:`h-7 gap-1 text-xs`,onClick:()=>o(!0),children:[(0,J.jsx)(et,{className:`size-3.5`}),` Import`]})]}),e.length===0?(0,J.jsx)(`p`,{className:`text-[11px] text-text-3`,children:`No imported themes yet. Import a VSCode theme from a URL, .vsix, or JSON.`}):(0,J.jsx)(`ul`,{className:`space-y-1`,children:e.map(e=>{let a=t===`custom`&&n===e.id;return(0,J.jsxs)(`li`,{className:H(`flex items-center gap-2 rounded-md border px-2 py-1.5`,a?`border-primary bg-primary/10`:`border-border`),children:[(0,J.jsx)(Rm,{swatch:e.swatch}),(0,J.jsxs)(`button`,{className:`flex-1 min-w-0 text-left`,onClick:()=>r(e.id),children:[(0,J.jsx)(`span`,{className:`block truncate text-xs text-text`,children:e.name}),(0,J.jsx)(`span`,{className:`block text-[10px] text-text-3`,children:e.mode})]}),a&&(0,J.jsx)(Fe,{className:`size-4 text-primary shrink-0`}),(0,J.jsx)(`button`,{className:`text-text-3 hover:text-error transition-colors shrink-0`,title:`Delete`,onClick:()=>void i(e.id),children:(0,J.jsx)(si,{className:`size-3.5`})})]},e.id)})}),(0,J.jsx)(Wm,{open:a,onOpenChange:o})]})}function Km(e){return e<1024*1024?`${(e/1024).toFixed(0)} KB`:`${(e/1024/1024).toFixed(1)} MB`}function qm(){let[e,t]=(0,q.useState)(null),[n,r]=(0,q.useState)(``),[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1);function u(e){t(e),r(String(e.retention_days)),a(String(e.max_size_mb))}(0,q.useEffect)(()=>{kt().then(u).catch(e=>z.error(`Could not load audit settings`,{description:e.message}))},[]);async function d(){s(!0);try{u(await Dt({retention_days:Number(n),max_size_mb:Number(i)})),z.success(`Audit retention updated`)}catch(e){z.error(`Could not save`,{description:e.message})}finally{s(!1)}}async function f(){if(confirm(`Delete every recorded query? This cannot be undone.`)){l(!0);try{await jt(),u(await kt()),z.success(`Query audit log cleared`)}catch(e){z.error(`Could not clear the log`,{description:e.message})}finally{l(!1)}}}if(!e)return(0,J.jsx)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground`,children:(0,J.jsx)(K,{className:`size-4 animate-spin`})});let p=n!==String(e.retention_days)||i!==String(e.max_size_mb);return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(`p`,{className:`text-[11px] text-muted-foreground`,children:[`Every statement run from the SQL editor, the data grid and the `,(0,J.jsx)(`code`,{children:`ppm db`}),` CLI is recorded, together with a sample of the result. Entries are pruned once they pass either limit below — whichever comes first.`]}),(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-3`,children:[(0,J.jsxs)(`label`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium`,children:`Keep for (days)`}),(0,J.jsx)($,{type:`number`,min:1,value:n,onChange:e=>r(e.target.value),className:`h-8 text-xs`})]}),(0,J.jsxs)(`label`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium`,children:`Max size (MB)`}),(0,J.jsx)($,{type:`number`,min:10,value:i,onChange:e=>a(e.target.value),className:`h-8 text-xs`})]})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between gap-2`,children:[(0,J.jsxs)(`span`,{className:`text-[11px] text-muted-foreground`,children:[e.entry_count.toLocaleString(),` entries · `,Km(e.size_bytes),` on disk`]}),(0,J.jsx)(I,{size:`sm`,className:`h-8 text-xs`,disabled:!p||o,onClick:d,children:o?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):`Save`})]}),(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-8 w-full gap-1.5 text-xs text-destructive`,disabled:c||e.entry_count===0,onClick:f,children:[c?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(si,{className:`size-3.5`}),`Clear all recorded queries`]})]})}function Jm(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),i=V(e=>e.setThemeStyle),a=V(e=>e.setThemeMode),o=Ft(e,t,r,n);return(0,J.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:Nt.map(e=>{let t=Pt[e];if(!t)return null;let n=o.id===e;return(0,J.jsxs)(`button`,{onClick:()=>{i(t.style),a(t.mode)},className:H(`relative flex items-center gap-2 rounded-lg border p-2 text-left transition-colors min-h-11`,n?`border-primary ring-[3px] ring-accent-wash`:`border-border hover:bg-accent/40`),children:[(0,J.jsx)(Rm,{swatch:t.swatch}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate text-xs font-medium text-text`,children:t.name.replace(/ (Dark|Light)$/,``)}),(0,J.jsx)(`span`,{className:`block text-[10px] text-text-3 capitalize`,children:t.mode})]}),n&&(0,J.jsx)(Fe,{className:`absolute top-1 right-1 size-3.5 text-primary`})]},e)})})}var Ym=[{value:`light`,label:`Light`,icon:ni},{value:`dark`,label:`Dark`,icon:Sr},{value:`system`,label:`System`,icon:xr}],Xm=[{value:`default`,label:`Default`},{value:`boxed`,label:`Boxed`},{value:`pill`,label:`Pill`}],Zm=[{value:`auto`,label:`Auto`},{value:`windows`,label:`Windows`},{value:`macos`,label:`macOS`}],Qm=[{value:`ai`,label:`AI Provider`,subtitle:`Model, execution mode, limits`,icon:Me},{value:`notifications`,label:`Notifications`,subtitle:`Push & Telegram alerts`,icon:Zt},{value:`clawbot`,label:`PPMBot`,subtitle:`Telegram AI bot`,icon:Me},{value:`schedules`,label:`Scheduled Agents`,subtitle:`Run Claude on a cron schedule`,icon:nn},{value:`proxy`,label:`API Proxy`,subtitle:`Expose accounts as Anthropic API`,icon:Jn},{value:`shortcuts`,label:`Keyboard Shortcuts`,subtitle:`Customize key bindings`,icon:or},{value:`extensions`,label:`Extensions`,subtitle:`Install and manage extensions`,icon:Ir},{value:`files`,label:`File Filters`,subtitle:`Exclude patterns, ignore files`,icon:Vn},{value:`queryAudit`,label:`Query Audit Log`,subtitle:`SQL history retention and size`,icon:Sn}];function $m(){let{theme:e,setTheme:t,deviceName:n,setDeviceName:r,version:i,jiraEnabled:a,setJiraEnabled:o,tabWrap:s,toggleTabWrap:c,editorTabStyle:l,setEditorTabStyle:u,explorerSkin:d,setExplorerSkin:f}=V(Ol(e=>({theme:e.themeMode,setTheme:e.setThemeMode,deviceName:e.deviceName,setDeviceName:e.setDeviceName,version:e.version,jiraEnabled:e.jiraEnabled,setJiraEnabled:e.setJiraEnabled,tabWrap:e.tabWrap,toggleTabWrap:e.toggleTabWrap,editorTabStyle:e.editorTabStyle,setEditorTabStyle:e.setEditorTabStyle,explorerSkin:e.explorerSkin,setExplorerSkin:e.setExplorerSkin}))),[p,m]=(0,q.useState)(null),[h,g]=(0,q.useState)(n??``),[_,v]=(0,q.useState)(!1),[y,b]=(0,q.useState)(!1),x=(0,q.useRef)(void 0),S=h.trim()!==(n??``),C=(0,q.useCallback)(async()=>{if(S){v(!0);try{await r(h),b(!0),clearTimeout(x.current),x.current=setTimeout(()=>b(!1),2e3)}finally{v(!1)}}},[h,S,r]);if(p){let e=Qm.find(e=>e.value===p),t=e.icon;return(0,J.jsxs)(`div`,{className:`h-full w-full flex flex-col`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 px-2 pt-3 pb-1 flex items-center gap-1`,children:[(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-8 cursor-pointer shrink-0`,onClick:()=>m(null),children:(0,J.jsx)(Ae,{className:`size-4`})}),(0,J.jsx)(t,{className:`size-4 text-muted-foreground shrink-0`}),(0,J.jsx)(`h2`,{className:`text-sm font-semibold truncate`,children:e.label})]}),(0,J.jsx)(Cp,{}),(0,J.jsx)(up,{className:`flex-1 min-h-0`,children:(0,J.jsxs)(`div`,{className:`p-3`,children:[p===`ai`&&(0,J.jsx)(Bp,{compact:!0}),p===`notifications`&&(0,J.jsx)(eh,{}),p===`clawbot`&&(0,J.jsx)($p,{}),p===`schedules`&&(0,J.jsx)(Lm,{}),p===`proxy`&&(0,J.jsx)(Zp,{}),p===`shortcuts`&&(0,J.jsx)(Gp,{}),p===`extensions`&&(0,J.jsx)(Qp,{}),p===`files`&&(0,J.jsx)(sm,{}),p===`queryAudit`&&(0,J.jsx)(qm,{})]})})]})}return(0,J.jsxs)(`div`,{className:`h-full w-full flex flex-col`,children:[(0,J.jsx)(`div`,{className:`shrink-0 px-3 pt-3 pb-1`,children:(0,J.jsx)(`h2`,{className:`text-sm font-semibold`,children:`Settings`})}),(0,J.jsx)(up,{className:`flex-1 min-h-0`,children:(0,J.jsxs)(`div`,{className:`p-3 space-y-4`,children:[(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Device Name`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsx)($,{value:h,onChange:e=>g(e.target.value),onKeyDown:e=>{e.key===`Enter`&&C()},placeholder:`My Device`,className:`h-8 text-xs flex-1`,maxLength:100}),(0,J.jsx)(I,{variant:y?`default`:`outline`,size:`sm`,className:`h-8 text-xs px-3 cursor-pointer`,disabled:!S||_,onClick:C,children:_?`...`:y?(0,J.jsx)(Fe,{className:`size-3.5`}):`Save`})]}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Shown in page title and synced to PPM Cloud.`})]}),(0,J.jsx)(em,{}),(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Theme`}),(0,J.jsx)(Jm,{}),(0,J.jsx)(`div`,{className:`flex gap-1.5 pt-1`,children:Ym.map(n=>{let r=n.icon;return(0,J.jsxs)(I,{variant:e===n.value?`default`:`outline`,size:`sm`,onClick:()=>t(n.value),className:H(`flex-1 gap-1.5 text-xs h-8 cursor-pointer`,e===n.value&&`ring-2 ring-primary`),children:[(0,J.jsx)(r,{className:`size-3.5`}),n.label]},n.value)})})]}),(0,J.jsx)(Gm,{}),(0,J.jsx)(`section`,{className:`space-y-1`,children:(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(tn,{className:`size-4 text-muted-foreground`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Jira Watcher`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Auto-debug Jira tickets`})]})]}),(0,J.jsx)(Sp,{checked:a,onCheckedChange:o})]})}),(0,J.jsx)(`section`,{className:`space-y-1`,children:(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(oi,{className:`size-4 text-muted-foreground`}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Wrap Tabs`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Stack tabs in rows instead of scrolling`})]})]}),(0,J.jsx)(Sp,{checked:s,onCheckedChange:c})]})}),(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Tab Style`}),(0,J.jsx)(`div`,{className:`flex gap-1.5`,children:Xm.map(e=>(0,J.jsx)(I,{variant:l===e.value?`default`:`outline`,size:`sm`,onClick:()=>u(e.value),className:H(`flex-1 text-xs h-8 cursor-pointer`,l===e.value&&`ring-2 ring-primary`),children:e.label},e.value))})]}),(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Explorer Skin`}),(0,J.jsx)(`div`,{className:`flex gap-1.5`,children:Zm.map(e=>(0,J.jsx)(I,{variant:d===e.value?`default`:`outline`,size:`sm`,onClick:()=>f(e.value),className:H(`flex-1 text-xs h-8 cursor-pointer`,d===e.value&&`ring-2 ring-primary`),children:e.label},e.value))})]}),(0,J.jsx)(Cp,{}),(0,J.jsx)(`nav`,{className:`space-y-1`,"aria-label":`Settings categories`,children:Qm.map(e=>{let t=e.icon;return(0,J.jsxs)(`button`,{onClick:()=>m(e.value),className:`w-full flex items-center gap-3 px-2.5 py-2.5 rounded-lg hover:bg-accent/50 active:bg-accent transition-colors cursor-pointer text-left group`,children:[(0,J.jsx)(`div`,{className:`size-8 rounded-md bg-muted flex items-center justify-center shrink-0 group-hover:bg-accent`,children:(0,J.jsx)(t,{className:`size-4 text-muted-foreground`})}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsx)(`p`,{className:`text-xs font-medium text-foreground truncate`,children:e.label}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground truncate`,children:e.subtitle})]}),(0,J.jsx)(We,{className:`size-4 text-muted-foreground shrink-0`})]},e.value)})}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`section`,{className:`space-y-1 pb-2`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`PPM — Personal Project Manager`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`A mobile-first web IDE for managing your projects.`}),i&&(0,J.jsxs)(`p`,{className:`text-[11px] text-muted-foreground tabular-nums`,children:[`Version `,i]})]})]})})]})}function eh(){return(0,J.jsxs)(`div`,{className:`space-y-4`,children:[(0,J.jsxs)(`section`,{className:`space-y-2`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Push Notifications`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(Qt,{className:`size-3.5 text-muted-foreground`}),(0,J.jsx)(`span`,{className:`text-xs`,children:`Not available yet`})]}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Browser push does not deliver right now. Use Telegram below to get alerted when a session finishes or needs approval.`})]}),(0,J.jsx)(Cp,{}),(0,J.jsxs)(`section`,{className:`space-y-1`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Telegram`}),(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground`,children:`Telegram notifications are sent to all approved devices in PPMBot settings. Configure your bot token and pair devices there.`})]})]})}function th({connId:e,schemas:t,isSingleSchema:n,filter:r,expandedTables:i,loadingColumns:a,columnCache:o,columnErrors:s,onToggleTable:c,onOpenTable:l}){let u=r.toLowerCase();return(0,J.jsxs)(`div`,{className:`overflow-y-auto max-h-[40vh]`,children:[Array.from(t.entries()).map(([t,r])=>{let d=u?r.filter(e=>e.tableName.toLowerCase().includes(u)):r;return d.length===0?null:(0,J.jsxs)(`div`,{children:[!n&&(0,J.jsx)(`p`,{className:`px-2 py-0.5 text-[9px] font-semibold text-text-subtle uppercase tracking-wider`,children:t}),d.map(t=>{let n=`${e}:${t.schemaName}.${t.tableName}`,r=i.has(n),u=a.has(n),d=o?.get(n),f=s?.has(n);return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1 pl-2 pr-2 py-0.5 hover:bg-surface-elevated transition-colors group/table`,children:[(0,J.jsx)(`button`,{onClick:()=>c(e,t.tableName,t.schemaName),className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:r?(0,J.jsx)(on,{className:`size-2.5`}):(0,J.jsx)(We,{className:`size-2.5`})}),(0,J.jsx)(Ze,{className:`size-2.5 shrink-0 text-text-subtle`}),(0,J.jsx)(`button`,{onClick:()=>l(t.tableName,t.schemaName),className:`flex-1 text-left text-[11px] text-text-secondary hover:text-foreground transition-colors truncate`,children:t.tableName}),(0,J.jsx)(`span`,{className:`text-[9px] text-text-subtle`,children:t.rowCount})]}),r&&(0,J.jsxs)(`div`,{className:`ml-[18px] border-l border-dotted border-border pl-2`,children:[u&&(0,J.jsx)(`p`,{className:`text-[9px] text-text-subtle px-1 py-0.5`,children:`Loading…`}),f&&(0,J.jsx)(`p`,{className:`text-[9px] text-error px-1 py-0.5`,children:`Failed to load columns`}),d&&d.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-1 py-px text-[10px] text-text-subtle`,title:e.fk?`FK → ${e.fk.table}.${e.fk.column}`:void 0,children:[e.pk&&(0,J.jsx)(ar,{className:`size-2.5 text-warning shrink-0`}),e.fk&&(0,J.jsx)(cr,{className:`size-2.5 text-primary shrink-0`}),!e.pk&&!e.fk&&(0,J.jsx)(`span`,{className:`size-2.5 shrink-0`}),(0,J.jsxs)(`span`,{className:`truncate`,children:[e.name,e.nullable?`?`:``]}),(0,J.jsx)(`span`,{className:`ml-auto text-[9px] text-text-subtle/60 shrink-0`,children:e.type})]},e.name)),!u&&!f&&!d&&(0,J.jsx)(`p`,{className:`text-[9px] text-text-subtle px-1 py-0.5`,children:`No columns`})]})]},n)})]},t)}),r&&Array.from(t.values()).every(e=>!e.some(e=>e.tableName.toLowerCase().includes(u)))&&(0,J.jsx)(`p`,{className:`text-[10px] text-text-subtle px-2 py-1`,children:`No match`})]})}function nh({conn:e,isExpanded:t,isRefreshing:n,tables:r,schemas:i,isSingleSchema:a,filter:o,expandedTables:s,loadingColumns:c,columnCache:l,columnErrors:u,refreshError:d,hasGroup:f,onToggle:p,onRefresh:m,onEdit:h,onDelete:g,onOpenTable:_,onToggleTable:v,onFilterChange:y}){let b=()=>p(e.id,!t&&r.length===0);return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:H(`group flex items-center gap-1 py-1 hover:bg-surface-elevated transition-colors`,f?`pl-3 pr-2`:`px-2`),children:[(0,J.jsx)(`button`,{onClick:b,className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:t?(0,J.jsx)(on,{className:`size-3`}):(0,J.jsx)(We,{className:`size-3`})}),(0,J.jsx)(`span`,{className:`shrink-0 size-2 rounded-full border border-border`,style:{backgroundColor:e.color??`transparent`}}),(0,J.jsx)(`button`,{className:`flex-1 text-left text-xs truncate hover:text-primary transition-colors`,onClick:b,children:e.name}),(0,J.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle uppercase px-1 rounded bg-surface-elevated`,children:e.type===`postgres`?`PG`:`DB`}),e.readonly===1&&(0,J.jsx)(`span`,{title:`Readonly`,children:(0,J.jsx)(fr,{className:`shrink-0 size-2.5 text-text-subtle`})}),(0,J.jsxs)(`div`,{className:`flex can-hover:hidden can-hover:group-hover:flex items-center gap-0.5 shrink-0`,children:[(0,J.jsx)(`button`,{onClick:()=>m(e.id),disabled:n,className:`p-0.5 text-text-subtle hover:text-foreground transition-colors`,title:`Refresh tables`,children:(0,J.jsx)(Rr,{className:H(`size-3`,n&&`animate-spin`)})}),(0,J.jsx)(`button`,{onClick:()=>h(e),className:`p-0.5 text-text-subtle hover:text-foreground transition-colors`,title:`Edit`,children:(0,J.jsx)(kr,{className:`size-3`})}),(0,J.jsx)(`button`,{onClick:()=>g(e.id),className:`p-0.5 text-text-subtle hover:text-error transition-colors`,title:`Delete`,children:(0,J.jsx)(si,{className:`size-3`})})]})]}),t&&(0,J.jsxs)(`div`,{className:`ml-[11px] border-l border-dashed border-border pl-1`,children:[n&&r.length===0&&(0,J.jsx)(`p`,{className:`text-[10px] text-text-subtle px-2 py-1`,children:`Loading…`}),!n&&r.length===0&&(d?(0,J.jsx)(`p`,{className:`text-[10px] text-error px-2 py-1 break-all`,children:d}):(0,J.jsx)(`p`,{className:`text-[10px] text-text-subtle px-2 py-1`,children:`No tables cached`})),r.length>0&&(0,J.jsxs)(J.Fragment,{children:[r.length>5&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-0.5`,children:[(0,J.jsx)(Wr,{className:`size-2.5 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{type:`text`,value:o,onChange:t=>y(e.id,t.target.value),placeholder:`Filter tables…`,className:`w-full text-[10px] bg-transparent border-none outline-none text-foreground placeholder:text-text-subtle`})]}),(0,J.jsx)(th,{connId:e.id,schemas:i,isSingleSchema:a,filter:o,expandedTables:s,loadingColumns:c,columnCache:l,columnErrors:u,onToggleTable:v,onOpenTable:(t,n)=>_(e,t,n)})]})]})]})}function rh(e,t,n){return`${e}:${t}.${n}`}function ih(e){return Number(e.slice(0,e.indexOf(`:`)))}function ah(){let e=V(e=>e.dbSidebarExpanded),t=V(e=>e.setDbSidebarExpanded),n=(0,q.useMemo)(()=>new Set(e.conns),[e.conns]),r=(0,q.useMemo)(()=>new Set(e.groups),[e.groups]),i=(0,q.useMemo)(()=>new Set(e.tables),[e.tables]),a=(0,q.useCallback)(e=>{let n=V.getState().dbSidebarExpanded,r=e(n);r!==n&&t(r)},[t]);return{expandedConns:n,expandedGroups:r,expandedTables:i,toggleConn:(0,q.useCallback)(e=>{a(t=>({...t,conns:t.conns.includes(e)?t.conns.filter(t=>t!==e):[...t.conns,e]}))},[a]),toggleGroup:(0,q.useCallback)(e=>{a(t=>({...t,groups:t.groups.includes(e)?t.groups.filter(t=>t!==e):[...t.groups,e]}))},[a]),setTableExpanded:(0,q.useCallback)((e,t)=>{a(n=>({...n,tables:t?n.tables.includes(e)?n.tables:[...n.tables,e]:n.tables.filter(t=>t!==e)}))},[a]),pruneDeletedConns:(0,q.useCallback)(e=>{let t=new Set(e);a(e=>{let n=e.conns.filter(e=>t.has(e)),r=e.tables.filter(e=>t.has(ih(e)));return n.length===e.conns.length&&r.length===e.tables.length?e:{...e,conns:n,tables:r}})},[a])}}function oh({connections:e,cachedTables:t,refreshErrors:n,onOpenTable:r,onRefreshTables:i,onEdit:a,onDelete:o,onFetchColumns:s,columnCache:c}){let{expandedConns:l,expandedGroups:u,expandedTables:d,toggleConn:f,toggleGroup:p,setTableExpanded:m,pruneDeletedConns:h}=ah(),[g,_]=(0,q.useState)(new Set),[v,y]=(0,q.useState)(new Map),[b,x]=(0,q.useState)(new Set),[S,C]=(0,q.useState)(new Set),w=(e,t)=>{f(e),t&&D(e)},T=async(e,t,n)=>{let r=rh(e,n,t);if(!(!s||c?.has(r))){x(e=>new Set(e).add(r)),C(e=>{let t=new Set(e);return t.delete(r),t});try{await s(e,t,n)}catch{C(e=>new Set(e).add(r))}x(e=>{let t=new Set(e);return t.delete(r),t})}},E=async(e,t,n)=>{let r=rh(e,n,t);if(d.has(r)){m(r,!1);return}m(r,!0),await T(e,t,n)},D=async e=>{_(t=>new Set(t).add(e));try{await i(e)}finally{_(t=>{let n=new Set(t);return n.delete(e),n})}},O=(e,t)=>{y(n=>new Map(n).set(e,t))},k=(0,q.useRef)(new Set);(0,q.useEffect)(()=>{if(e.length!==0){h(e.map(e=>e.id));for(let n of e){if(!l.has(n.id))continue;let e=t.get(n.id)??[];if(e.length===0){if(k.current.has(`conn:${n.id}`))continue;k.current.add(`conn:${n.id}`),D(n.id).catch(()=>{});continue}for(let t of e){let e=rh(n.id,t.schemaName,t.tableName);!d.has(e)||c?.has(e)||k.current.has(e)||(k.current.add(e),T(n.id,t.tableName,t.schemaName))}}}},[e,t,l,d,c,h]);let{groups:A,groupKeys:j}=(0,q.useMemo)(()=>{let t={};for(let n of e){let e=n.group_name??`__ungrouped__`;(t[e]??=[]).push(n)}return{groups:t,groupKeys:Object.keys(t).sort((e,t)=>e===`__ungrouped__`?1:t===`__ungrouped__`?-1:e.localeCompare(t))}},[e]),M=(0,q.useMemo)(()=>{let n=new Map;for(let r of e){let e=t.get(r.id)??[],i=new Map;for(let t of e){let e=t.schemaName;(i.get(e)??i.set(e,[]).get(e)).push(t)}n.set(r.id,i)}return n},[e,t]);return e.length===0?(0,J.jsxs)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:[`No connections yet.`,(0,J.jsx)(`br`,{}),`Click + to add one.`]}):(0,J.jsx)(`div`,{className:`py-1`,children:j.map(e=>{let i=u.has(e),s=e===`__ungrouped__`?`Ungrouped`:e,f=A[e],m=j.length>1||e!==`__ungrouped__`;return(0,J.jsxs)(`div`,{children:[m&&(0,J.jsxs)(`button`,{onClick:()=>p(e),className:`w-full flex items-center gap-1 px-2 py-1 text-[10px] font-semibold text-text-subtle uppercase tracking-wider hover:text-text-secondary transition-colors`,children:[i?(0,J.jsx)(on,{className:`size-3`}):(0,J.jsx)(We,{className:`size-3`}),s]}),i&&(0,J.jsx)(`div`,{className:m?`ml-[11px] border-l border-dashed border-border`:``,children:f.map(e=>(0,J.jsx)(nh,{conn:e,isExpanded:l.has(e.id),isRefreshing:g.has(e.id),tables:t.get(e.id)??[],schemas:M.get(e.id)??new Map,isSingleSchema:(M.get(e.id)?.size??0)<=1,filter:v.get(e.id)??``,expandedTables:d,loadingColumns:b,columnCache:c,columnErrors:S,refreshError:n?.get(e.id),hasGroup:m,onToggle:w,onRefresh:D,onEdit:a,onDelete:o,onOpenTable:r,onToggleTable:E,onFilterChange:O},e.id))})]},e)})})}var sh=`ppm-recent-paths`,ch=5,lh=[{name:`Home`,path:`~`,icon:tr},{name:`Desktop`,path:`~/Desktop`,icon:xr},{name:`Documents`,path:`~/Documents`,icon:Fn},{name:`Downloads`,path:`~/Downloads`,icon:Qe}];function uh(){try{return JSON.parse(localStorage.getItem(sh)??`[]`)}catch{return[]}}function dh(e){let t=[e,...uh().filter(t=>t!==e)].slice(0,ch);localStorage.setItem(sh,JSON.stringify(t))}function fh(e){if(e.type===`directory`)return(0,J.jsx)(Wn,{className:`size-4 text-primary`});let t=e.name.split(`.`).pop()?.toLowerCase();return t&&[`db`,`sqlite`,`sqlite3`].includes(t)?(0,J.jsx)(Ze,{className:`size-4 text-warning`}):(0,J.jsx)(Ln,{className:`size-4 text-text-subtle`})}function ph(e,t){if(!t?.length)return!0;let n=`.`+e.split(`.`).pop()?.toLowerCase();return t.includes(n)}function mh({open:e,mode:t,accept:n,root:r,title:i,onSelect:a,onCancel:o}){let[s,c]=(0,q.useState)([]),[l,u]=(0,q.useState)(``),[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)([]),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(!1),[y,b]=(0,q.useState)(null),[x,S]=(0,q.useState)(``),[C,w]=(0,q.useState)(``),[T,E]=(0,q.useState)(!1),[D,O]=(0,q.useState)([]),[k,A]=(0,q.useState)(null),[j,M]=(0,q.useState)(!1),[ee,N]=(0,q.useState)(null),P=(0,q.useRef)(null),te=(0,q.useRef)(null),ne=typeof window<`u`&&window.innerWidth<768,re=t===`folder`?`Select Folder`:t===`file`?`Select File`:`Select File or Folder`,ie=(0,q.useCallback)(async(e,t)=>{v(!0),b(null),g(null),S(``);try{let n=new URLSearchParams;e&&n.set(`path`,e),t&&n.set(`showHidden`,`true`);let r=await R.get(`/api/fs/browse?${n}`);c(r.entries),u(r.current),f(r.parent),m(r.breadcrumbs),w(r.current)}catch(e){b(e.message||`Failed to browse directory`)}finally{v(!1)}},[]);(0,q.useEffect)(()=>{e&&(ie(r??`~`,T),O(uh()))},[e,r,ie,T]);let ae=e=>ie(e,T),oe=()=>{let e=!T;E(e),ie(l||(r??`~`),e)},se=e=>{e.key===`Enter`&&C.trim()&&ie(C.trim())},ce=e=>{e.type===`directory`?t===`file`?ae(e.path):g(e.path):t!==`folder`&&g(e.path)},le=e=>{e.type===`directory`&&ae(e.path)},ue=()=>{h&&(dh(l),a(h))},de=async()=>{if(!k?.trim()||!l)return;let e=`${l}/${k.trim()}`;M(!0),N(null);try{await R.post(`/api/fs/mkdir`,{path:e}),A(null),N(null),await ie(l,T),g(e)}catch(e){N(e.message||`Failed to create folder`)}finally{M(!1)}},fe=async()=>{if(!h)return;let e=s.find(e=>e.path===h);if(!(!e||e.type!==`directory`)&&window.confirm(`Delete folder "${e.name}"? This cannot be undone.`))try{await R.del(`/api/fs/rmdir`,{path:h}),g(null),await ie(l,T)}catch(e){b(e.message||`Failed to delete folder`)}},pe=h?s.some(e=>e.path===h&&e.type===`directory`):!1,me=s.filter(e=>!(x&&!e.name.toLowerCase().includes(x.toLowerCase())||e.type===`file`&&n?.length&&!ph(e.name,n))),he=e=>e.type===`directory`?t!==`file`:t!==`folder`,ge=(0,J.jsxs)(`div`,{className:`flex flex-col flex-1 min-h-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-2 border-b border-border`,children:[d&&(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:()=>ae(d),children:(0,J.jsx)(Ae,{className:`size-4`})}),(0,J.jsx)($,{value:C,onChange:e=>w(e.target.value),onKeyDown:se,placeholder:`Type path and press Enter`,className:`h-7 text-xs font-mono flex-1`})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-0.5 px-3 py-1.5 border-b border-border overflow-x-auto text-xs`,children:p.map((e,t)=>(0,J.jsxs)(`span`,{className:`flex items-center shrink-0`,children:[t>0&&(0,J.jsx)(We,{className:`size-3 text-text-subtle mx-0.5`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>ae(e.path),className:`hover:text-primary hover:underline text-text-secondary`,children:e.name})]},e.path))}),(0,J.jsxs)(`div`,{className:`flex flex-1 min-h-0 overflow-hidden`,children:[!ne&&(0,J.jsxs)(`div`,{className:`w-36 border-r border-border py-2 px-1 shrink-0 overflow-y-auto`,children:[lh.map(e=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>ae(e.path),className:H(`flex items-center gap-2 w-full px-2 py-1 text-xs rounded-md hover:bg-surface-hover text-left`,l.endsWith(e.name)&&`bg-primary/10 text-primary`),children:[(0,J.jsx)(e.icon,{className:`size-3.5`}),e.name]},e.path)),D.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`text-[10px] text-text-subtle px-2 mt-3 mb-1 font-medium`,children:`Recent`}),D.map(e=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>ae(e),className:`flex items-center gap-2 w-full px-2 py-1 text-xs rounded-md hover:bg-surface-hover text-left truncate`,children:[(0,J.jsx)(qe,{className:`size-3 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.split(`/`).pop()})]},e))]})]}),(0,J.jsx)(up,{className:`flex-1 min-h-0`,children:_?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,J.jsx)(K,{className:`size-5 animate-spin text-text-subtle`})}):y?(0,J.jsx)(`div`,{className:`text-center py-8 text-xs text-error`,children:y}):me.length===0?(0,J.jsx)(`div`,{className:`text-center py-8 text-xs text-text-subtle`,children:x?`No matching entries`:`Empty directory`}):(0,J.jsxs)(`div`,{ref:te,className:`py-1`,children:[k!=null&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 bg-primary/5 border-b border-border`,children:[(0,J.jsx)(Bn,{className:`size-4 text-primary shrink-0`}),(0,J.jsx)($,{ref:P,value:k,onChange:e=>A(e.target.value),onKeyDown:e=>{e.key===`Enter`&&de(),e.key===`Escape`&&A(null)},placeholder:`Folder name`,className:`h-6 text-xs flex-1`,disabled:j,autoFocus:!0}),j&&(0,J.jsx)(K,{className:`size-3.5 animate-spin text-primary shrink-0`})]}),ee&&(0,J.jsx)(`div`,{className:`px-3 py-1 text-[11px] text-destructive bg-destructive/5 border-b border-border`,children:ee})]}),me.map(e=>{let t=he(e);return(0,J.jsxs)(`button`,{type:`button`,onClick:()=>ce(e),onDoubleClick:()=>le(e),className:H(`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors`,h===e.path?`bg-primary/10 text-primary`:t?`hover:bg-surface-hover text-text-primary`:`opacity-40 cursor-default`),disabled:!t&&e.type===`file`,children:[fh(e),(0,J.jsx)(`span`,{className:H(`flex-1 truncate`,e.type===`directory`&&`font-medium`),children:e.name}),(0,J.jsx)(`span`,{className:`text-text-subtle text-[10px] shrink-0 w-14 text-right`,children:td(e.size)}),(0,J.jsx)(`span`,{className:`text-text-subtle text-[10px] shrink-0 w-14 text-right`,children:nd(e.modified)})]},e.path)})]})})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-2 border-t border-border shrink-0`,children:[(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:()=>{A(``),N(null),setTimeout(()=>P.current?.focus(),50)},title:`New Folder`,children:(0,J.jsx)(Bn,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 text-destructive/70 hover:text-destructive disabled:opacity-30`,onClick:fe,disabled:!pe,title:`Delete selected folder`,children:(0,J.jsx)(si,{className:`size-3.5`})}),(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:H(`size-7 shrink-0`,T&&`text-primary`),onClick:oe,title:T?`Hide hidden files`:`Show hidden files`,children:T?(0,J.jsx)($e,{className:`size-3.5`}):(0,J.jsx)(je,{className:`size-3.5`})}),n?.length?(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle bg-surface-hover px-1.5 py-0.5 rounded`,children:n.join(`, `)}):null,(0,J.jsx)(`div`,{className:`flex-1 max-w-48`,children:(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(Wr,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3 text-text-subtle`}),(0,J.jsx)($,{value:x,onChange:e=>S(e.target.value),placeholder:`Filter...`,className:`h-6 text-[11px] pl-6`})]})}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:o,className:`h-7 text-xs`,children:`Cancel`}),(0,J.jsx)(I,{size:`sm`,onClick:ue,disabled:!h,className:`h-7 text-xs`,children:`Select`})]})]});return(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||o()},children:(0,J.jsxs)(kc,{className:H(`p-0 gap-0 overflow-hidden flex flex-col`,ne?`max-w-[95vw] h-[85vh]`:`max-w-2xl h-[70vh]`),children:[(0,J.jsx)(Ac,{className:`px-3 py-2 border-b border-border`,children:(0,J.jsx)(X,{className:`text-sm`,children:i??re})}),ge]})})}function hh({mode:e,accept:t,root:n,title:r,onSelect:i,className:a}){let[o,s]=(0,q.useState)(!1);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{type:`button`,variant:`ghost`,size:`icon`,className:H(`size-8 shrink-0`,a),onClick:()=>s(!0),title:r??`Browse...`,children:(0,J.jsx)(zn,{className:`size-4`})}),(0,J.jsx)(mh,{open:o,mode:e,accept:t,root:n,title:r,onSelect:e=>{i(e),s(!1)},onCancel:()=>s(!1)})]})}var gh=[`#ef4444`,`#f97316`,`#eab308`,`#22c55e`,`#06b6d4`,`#3b82f6`,`#8b5cf6`,`#ec4899`,`#6b7280`,`#000000`];function _h({value:e,onChange:t}){return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>t(null),className:H(`size-6 rounded-full border-2 transition-all`,e?`border-border hover:scale-105`:`border-primary scale-110`,`bg-transparent relative`),title:`No color`,children:(0,J.jsx)(`span`,{className:`absolute inset-0 flex items-center justify-center text-[8px] text-text-subtle`,children:`×`})}),gh.map(n=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:H(`size-6 rounded-full border-2 transition-all hover:scale-105`,e===n?`border-primary scale-110`:`border-transparent`),style:{backgroundColor:n},title:n},n))]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`div`,{className:`size-6 rounded-full border border-border shrink-0`,style:{backgroundColor:e??`transparent`}}),(0,J.jsx)(`input`,{type:`text`,value:e??``,onChange:e=>{let n=e.target.value.trim();if(n===``){t(null);return}/^#[0-9a-fA-F]{6}$/.test(n),t(n)},placeholder:`#3b82f6`,className:`flex-1 h-7 text-xs px-2 rounded-md border border-border bg-background focus:outline-none focus:border-primary font-mono`})]})]})}function vh({open:e,onClose:t,connection:n,onSave:r,onUpdate:i,onTest:a,onTestRaw:o}){let s=!!n,[c,l]=(0,q.useState)({name:``,type:`postgres`,path:``,connectionString:``,groupName:``,color:null,readonly:!0}),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(null),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null);(0,q.useEffect)(()=>{if(!e){p(null),_(null);return}l(n?{name:n.name,type:n.type,path:``,connectionString:``,groupName:n.group_name??``,color:n.color,readonly:n.readonly===1}:{name:``,type:`postgres`,path:``,connectionString:``,groupName:``,color:null,readonly:!0})},[e,n]);let v=(e,t)=>{l(n=>({...n,[e]:t})),p(null)};return(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||t()},children:(0,J.jsxs)(kc,{className:`max-w-md`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:s?`Edit Connection`:`Add Connection`})}),(0,J.jsxs)(`div`,{className:`space-y-3 py-1`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Name *`}),(0,J.jsx)(`input`,{value:c.name,onChange:e=>v(`name`,e.target.value),placeholder:`my-database`,className:`w-full h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Type`}),(0,J.jsxs)(`select`,{value:c.type,onChange:e=>v(`type`,e.target.value),className:`w-full h-8 text-sm px-2 rounded-md border border-border bg-background focus:outline-none focus:border-primary`,children:[(0,J.jsx)(`option`,{value:`postgres`,children:`PostgreSQL`}),(0,J.jsx)(`option`,{value:`sqlite`,children:`SQLite`})]})]}),c.type===`postgres`?(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Connection String *`}),(0,J.jsx)(`input`,{type:`password`,value:c.connectionString,onChange:e=>v(`connectionString`,e.target.value),placeholder:`postgresql://user:pass@host:5432/db`,className:`w-full h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary font-mono`})]}):(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`File Path *`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsx)(`input`,{value:c.path,onChange:e=>v(`path`,e.target.value),placeholder:`/path/to/database.db`,className:`flex-1 h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary font-mono`}),(0,J.jsx)(hh,{mode:`file`,accept:[`.db`,`.sqlite`,`.sqlite3`],title:`Browse for SQLite database`,onSelect:e=>v(`path`,e)})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Group`}),(0,J.jsx)(`input`,{value:c.groupName,onChange:e=>v(`groupName`,e.target.value),placeholder:`Production`,className:`w-full h-8 text-sm px-2.5 rounded-md border border-border bg-background focus:outline-none focus:border-primary`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs font-medium text-text-secondary mb-1 block`,children:`Tab Color`}),(0,J.jsx)(_h,{value:c.color,onChange:e=>v(`color`,e)})]}),s&&(0,J.jsxs)(`div`,{className:`flex items-center justify-between py-1`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:`Readonly`}),(0,J.jsx)(`p`,{className:`text-[10px] text-text-subtle`,children:`Block non-SELECT queries (AI protection)`})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>v(`readonly`,!c.readonly),className:`relative w-9 h-5 rounded-full transition-colors ${c.readonly?`bg-primary`:`bg-border`}`,children:(0,J.jsx)(`span`,{className:`absolute top-0.5 left-0.5 size-4 rounded-full bg-white transition-transform ${c.readonly?`translate-x-4`:``}`})})]}),f&&(0,J.jsx)(`p`,{className:`text-xs ${f.ok?`text-success`:`text-error`}`,children:f.ok?`✓ Connection successful`:`✗ ${f.error}`}),g&&(0,J.jsx)(`p`,{className:`text-xs text-error`,children:g})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:async()=>{d(!0),p(null);try{let e;if(s)e=await a(n.id);else if(o){let t=c.type===`postgres`?{type:`postgres`,connectionString:c.connectionString}:{type:`sqlite`,path:c.path};e=await o(c.type,t)}else e={ok:!1,error:`Save connection first`};p(e)}finally{d(!1)}},disabled:u,className:`mr-auto`,children:u?`Testing…`:`Test Connection`}),(0,J.jsx)(I,{variant:`outline`,size:`sm`,onClick:t,children:`Cancel`}),(0,J.jsx)(I,{size:`sm`,onClick:async()=>{if(_(null),!c.name.trim()){_(`Name is required`);return}h(!0);try{if(s&&i){let e=(c.type===`postgres`?c.connectionString.trim():c.path.trim())?c.type===`postgres`?{type:`postgres`,connectionString:c.connectionString}:{type:`sqlite`,path:c.path}:void 0;await i(n.id,{name:c.name.trim(),...e!==void 0&&{connectionConfig:e},groupName:c.groupName.trim()||null,color:c.color,readonly:c.readonly?1:0})}else if(r){let e=c.type===`postgres`?{type:`postgres`,connectionString:c.connectionString}:{type:`sqlite`,path:c.path};await r({type:c.type,name:c.name.trim(),connectionConfig:e,groupName:c.groupName.trim()||void 0,color:c.color??void 0})}t()}catch(e){_(e.message)}finally{h(!1)}},disabled:m,children:m?`Saving…`:s?`Save`:`Add`})]})]})})}function yh({onExport:e,onImport:t}){let[n,r]=(0,q.useState)(!1),i=(0,q.useRef)(null),a=()=>r(!1),o=async()=>{a();try{let t=await e(),n=new Blob([JSON.stringify(t,null,2)],{type:`application/json`}),r=URL.createObjectURL(n),i=document.createElement(`a`);i.href=r,i.download=`ppm-connections-${new Date().toISOString().slice(0,10)}.json`,i.click(),URL.revokeObjectURL(r)}catch(e){alert(`Export failed: ${e.message}`)}},s=async()=>{a();try{let t=await e(),n=await bc(JSON.stringify(t,null,2));alert(n?`Copied ${t.connections.length} connection(s) to clipboard`:`Copy failed — clipboard unavailable`)}catch(e){alert(`Export failed: ${e.message}`)}},c=async e=>{try{let n=JSON.parse(e),r=n.connections??n;if(!Array.isArray(r)){alert(`Invalid format: expected connections array`);return}let i=await t({connections:r}),a=`Imported ${i.imported} connection(s)`;i.skipped>0&&(a+=`, ${i.skipped} skipped`),i.errors?.length>0&&(a+=`\n\nErrors:\n${i.errors.join(`
|
|
20
20
|
`)}`),alert(a)}catch(e){alert(`Import failed: ${e.message}`)}};return(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(`button`,{onClick:()=>r(e=>!e),className:`flex items-center justify-center size-5 rounded hover:bg-surface-elevated transition-colors text-text-subtle hover:text-foreground`,title:`Import / Export`,children:(0,J.jsx)(Cn,{className:`size-3.5`})}),n&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:a}),(0,J.jsxs)(`div`,{className:`absolute right-0 top-full mt-1 z-50 w-44 bg-background border border-border rounded-md shadow-lg py-1 text-xs`,children:[(0,J.jsxs)(`button`,{onClick:o,className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,J.jsx)(Qe,{className:`size-3`}),` Export to file`]}),(0,J.jsxs)(`button`,{onClick:s,className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,J.jsx)(_n,{className:`size-3`}),` Export to clipboard`]}),(0,J.jsx)(`div`,{className:`border-t border-border my-1`}),(0,J.jsxs)(`button`,{onClick:()=>{a(),i.current?.click()},className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,J.jsx)(di,{className:`size-3`}),` Import from file`]}),(0,J.jsxs)(`button`,{onClick:async()=>{a();try{let e=await navigator.clipboard.readText();if(!e.trim()){alert(`Clipboard is empty`);return}await c(e)}catch(e){alert(`Clipboard read failed: ${e.message}`)}},className:`w-full flex items-center gap-2 px-3 py-1.5 hover:bg-surface-elevated transition-colors text-left`,children:[(0,J.jsx)(gn,{className:`size-3`}),` Import from clipboard`]})]})]}),(0,J.jsx)(`input`,{ref:i,type:`file`,accept:`.json`,className:`hidden`,onChange:e=>{let t=e.target.files?.[0];if(!t)return;let n=new FileReader;n.onload=()=>c(n.result),n.readAsText(t),e.target.value=``}})]})}function bh(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(!0),[i,a]=(0,q.useState)(new Map),[o,s]=(0,q.useState)(new Map),c=(0,q.useCallback)(async()=>{try{t(await R.get(`/api/db/connections`))}catch{}finally{r(!1)}},[]);(0,q.useEffect)(()=>{c()},[c]);let l=(0,q.useCallback)(async e=>{let n=await R.post(`/api/db/connections`,e);return t(e=>[...e,n]),n},[]),u=(0,q.useCallback)(async(e,n)=>{let r=await R.put(`/api/db/connections/${e}`,n);t(t=>t.map(t=>t.id===e?r:t))},[]),d=(0,q.useCallback)(async e=>{await R.del(`/api/db/connections/${e}`),t(t=>t.filter(t=>t.id!==e)),a(t=>{let n=new Map(t);return n.delete(e),n})},[]),f=(0,q.useCallback)(async e=>R.post(`/api/db/connections/${e}/test`),[]),p=(0,q.useCallback)(async(e,t)=>R.post(`/api/db/test`,{type:e,connectionConfig:t}),[]),m=(0,q.useCallback)(async e=>{s(t=>{let n=new Map(t);return n.delete(e),n});try{let t=(await R.get(`/api/db/connections/${e}/tables`)).map(t=>({connectionId:e,tableName:t.name,schemaName:t.schema,rowCount:t.rowCount,cachedAt:new Date().toISOString()}));a(n=>new Map(n).set(e,t))}catch(t){let n=t.message||`Connection failed`;throw s(t=>new Map(t).set(e,n)),t}},[]),[h,g]=(0,q.useState)(new Map),_=(0,q.useRef)(h);return _.current=h,{connections:e,loading:n,cachedTables:i,refreshErrors:o,columnCache:h,createConnection:l,updateConnection:u,deleteConnection:d,testConnection:f,testRawConnection:p,refreshTables:m,fetchColumns:(0,q.useCallback)(async(e,t,n)=>{let r=`${e}:${n??`main`}.${t}`,i=_.current.get(r);if(i)return i;let a=await R.get(`/api/db/connections/${e}/schema?table=${encodeURIComponent(t)}${n?`&schema=${encodeURIComponent(n)}`:``}`);return g(e=>new Map(e).set(r,a)),a},[]),exportConnections:(0,q.useCallback)(async()=>R.get(`/api/db/connections/export`),[]),importConnections:(0,q.useCallback)(async e=>{let t=await R.post(`/api/db/connections/import`,e);await c();let n=t.connections??[];return n.length>0&&Promise.all(n.map(e=>m(e.id).catch(()=>{}))),t},[c,m])}}function xh(){let{connections:e,loading:t,cachedTables:n,refreshErrors:r,columnCache:i,createConnection:a,updateConnection:o,deleteConnection:s,testConnection:c,testRawConnection:l,refreshTables:u,fetchColumns:d,exportConnections:f,importConnections:p}=bh(),m=G(e=>e.openTab),[h,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)(null);return(0,J.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,J.jsxs)($l,{icon:Ze,title:`Database`,children:[(0,J.jsx)(yh,{onExport:f,onImport:p}),(0,J.jsx)(`button`,{onClick:()=>g(!0),className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,title:`Add connection`,children:(0,J.jsx)(et,{className:`size-3.5`})})]}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:t?(0,J.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`Loading…`}):(0,J.jsx)(oh,{connections:e,cachedTables:n,refreshErrors:r,onOpenTable:(e,t,n)=>{m({type:`database`,title:`${e.name} · ${t}`,projectId:null,closable:!0,metadata:{connectionId:e.id,connectionName:e.name,dbType:e.type,tableName:t,schemaName:n,connectionColor:e.color}})},onRefreshTables:u,onEdit:v,onDelete:async e=>{if(confirm(`Delete this connection?`))try{await s(e)}catch{}},onFetchColumns:d,columnCache:i})}),(0,J.jsx)(vh,{open:h,onClose:()=>g(!1),onSave:async e=>{let t=await a(e);t&&u(t.id).catch(()=>{})},onTest:()=>Promise.resolve({ok:!1,error:`Save connection first`}),onTestRaw:l}),_&&(0,J.jsx)(vh,{open:!!_,onClose:()=>v(null),connection:_,onUpdate:async(e,t)=>{await o(e,t)},onTest:e=>c(e)})]})}function Sh(e,t,n,r){if(!e)return null;try{let i=r?e:e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);return n&&(i=`\\b${i}\\b`),RegExp(`(${i})`,t?`g`:`gi`)}catch{return null}}function Ch({text:e,re:t}){if(!t)return(0,J.jsx)(`span`,{children:e});try{t.lastIndex=0;let n=e.split(t);return t.lastIndex=0,(0,J.jsx)(`span`,{children:n.map((e,n)=>(t.lastIndex=0,t.test(e)?(0,J.jsx)(`mark`,{className:`bg-warning/40 text-foreground rounded-sm`,children:e},n):e))})}catch{return(0,J.jsx)(`span`,{children:e})}}function wh({active:e,onClick:t,title:n,children:r}){return(0,J.jsx)(`button`,{onClick:t,title:n,className:H(`flex items-center justify-center w-6 h-6 rounded border shrink-0`,e?`border-primary text-primary bg-primary/10`:`border-border text-text-subtle hover:text-foreground hover:border-border/80`),children:r})}function Th(){let{activeProject:e}=W(Ol(e=>({activeProject:e.activeProject}))),t=G(e=>e.openTab),[n,r]=(0,q.useState)(``),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(null),[b,x]=(0,q.useState)([]),[S,C]=(0,q.useState)(0),[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(new Set),O=(0,q.useRef)(null),k=(0,q.useRef)(null),A=(0,q.useCallback)(async(t,n,r,i,a)=>{if(d(!1),!e||!i&&t.length<2||i&&t.length<1){x([]),C(0);return}if(i)try{new RegExp(t)}catch{d(!0),x([]);return}T(!0);try{let o=new URLSearchParams({q:t,caseSensitive:String(n),wholeWord:String(r),regex:String(i)});a&&o.set(`include`,a);let s=await R.get(`${L(e.name)}/files/search?${o}`);x(s.results),C(s.total)}catch{x([])}finally{T(!1)}},[e]);(0,q.useEffect)(()=>(k.current&&clearTimeout(k.current),k.current=setTimeout(()=>A(n,i,o,c,f),300),()=>{k.current&&clearTimeout(k.current)}),[n,i,o,c,f,A]),(0,q.useEffect)(()=>{O.current?.focus()},[]);let j=Sh(n,i,o,c);function M(n,r){e&&t({type:`editor`,title:n.split(`/`).pop()??n,metadata:{filePath:n,projectName:e.name,lineNumber:r},projectId:e.name,closable:!0})}function ee(e){D(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})}async function N(){if(!e||!n||b.length===0||g)return;_(!0),y(null);let t=0;try{for(let r of b){let a=await R.get(`${L(e.name)}/files/read?path=${encodeURIComponent(r.file)}`),s=Sh(n,i,o,c);if(!s)continue;s.lastIndex=0;let l=a.content.match(s)??[];if(!l.length)continue;t+=l.length,s.lastIndex=0;let u=a.content.replace(s,m);await R.put(`${L(e.name)}/files/write`,{path:r.file,content:u})}y(t),A(n,i,o,c,f)}catch{}finally{_(!1)}}return(0,J.jsxs)(`div`,{className:`flex flex-col h-full`,children:[(0,J.jsxs)(`div`,{className:`p-2 border-b border-border space-y-1.5`,children:[(0,J.jsx)(`div`,{className:`relative flex items-center gap-1`,children:(0,J.jsxs)(`div`,{className:`relative flex-1`,children:[(0,J.jsx)(Wr,{className:`absolute left-2 top-1/2 -translate-y-1/2 size-3.5 text-text-subtle pointer-events-none`}),(0,J.jsx)(`input`,{ref:O,value:n,onChange:e=>{r(e.target.value),y(null)},placeholder:e?`Search files…`:`Select a project first`,disabled:!e,className:H(`w-full pl-7 pr-6 py-1 text-xs bg-input border rounded focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50`,u?`border-destructive`:`border-border`)}),n&&(0,J.jsx)(`button`,{onClick:()=>{r(``),x([]),C(0),d(!1),y(null)},className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3`})})]})}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(wh,{active:i,onClick:()=>a(e=>!e),title:`Match Case (Alt+C)`,children:(0,J.jsx)(an,{className:`size-3.5`})}),(0,J.jsx)(wh,{active:o,onClick:()=>{s(e=>!e),c&&l(!1)},title:`Match Whole Word (Alt+W)`,children:(0,J.jsx)(pi,{className:`size-3.5`})}),(0,J.jsx)(wh,{active:c,onClick:()=>{l(e=>!e),o&&s(!1)},title:`Use Regular Expression (Alt+R)`,children:(0,J.jsx)(zr,{className:`size-3.5`})}),u&&(0,J.jsx)(`span`,{className:`text-[10px] text-destructive ml-1`,children:`Invalid regex`})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsxs)(`div`,{className:`relative flex-1`,children:[(0,J.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),placeholder:`Replace…`,disabled:!e,className:`w-full pl-2 pr-6 py-1 text-xs bg-input border border-border rounded focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50`}),m&&(0,J.jsx)(`button`,{onClick:()=>h(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3`})})]}),(0,J.jsx)(`button`,{onClick:N,disabled:!n||b.length===0||g,title:`Replace All`,className:`flex items-center justify-center w-6 h-6 rounded border border-border text-text-subtle hover:text-foreground hover:border-border/80 disabled:opacity-40 shrink-0`,children:g?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(Br,{className:`size-3.5`})})]}),(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:`Files to include (e.g. *.ts, src/**)`,disabled:!e,className:`w-full pl-2 pr-6 py-1 text-xs bg-input border border-border rounded focus:outline-none focus:ring-1 focus:ring-primary/50 disabled:opacity-50`}),f&&(0,J.jsx)(`button`,{onClick:()=>p(``),className:`absolute right-1.5 top-1/2 -translate-y-1/2 text-text-subtle hover:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3`})})]}),(0,J.jsxs)(`div`,{className:`text-[10px] text-text-subtle h-3`,children:[(w||g)&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(K,{className:`size-2.5 animate-spin`}),g?`Replacing…`:`Searching…`]}),!w&&!g&&v!==null&&(0,J.jsxs)(`span`,{className:`text-success`,children:[v,` replacement`,v===1?``:`s`,` made`]}),!w&&!g&&v===null&&!u&&n.length>=2&&b.length===0&&(0,J.jsx)(`span`,{children:`No results`}),!w&&!g&&v===null&&S>0&&(0,J.jsxs)(`span`,{children:[S,` result`,S===1?``:`s`,` in `,b.length,` file`,b.length===1?``:`s`]})]})]}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:b.map(e=>{let t=E.has(e.file),n=e.file.split(`/`).pop()??e.file,r=e.file.includes(`/`)?e.file.slice(0,e.file.lastIndexOf(`/`)):``;return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`button`,{onClick:()=>ee(e.file),className:`w-full flex items-center gap-1 px-2 py-1 hover:bg-muted/50 text-left`,children:[t?(0,J.jsx)(We,{className:`size-3 shrink-0 text-text-subtle`}):(0,J.jsx)(on,{className:`size-3 shrink-0 text-text-subtle`}),(0,J.jsx)(Fn,{className:`size-3 shrink-0 text-text-subtle`}),(0,J.jsx)(`span`,{className:`text-xs font-medium text-foreground truncate`,children:n}),(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle truncate flex-1 min-w-0 ml-1`,children:r}),(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0 ml-1 bg-muted px-1 rounded`,children:e.matches.length})]}),!t&&e.matches.map(t=>(0,J.jsxs)(`button`,{onClick:()=>M(e.file,t.lineNum),className:`w-full flex items-start gap-2 pl-7 pr-2 py-0.5 hover:bg-primary/10 text-left`,children:[(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle shrink-0 w-7 text-right pt-px`,children:t.lineNum}),(0,J.jsx)(`span`,{className:`text-xs text-text-secondary truncate font-mono leading-4`,children:(0,J.jsx)(Ch,{text:t.content.trimStart(),re:j})})]},`${e.file}-${t.lineNum}`))]},e.file)})})]})}function Eh(e,t){window.dispatchEvent(new CustomEvent(`ext:tree:expand`,{detail:{viewId:e,itemId:t}}))}function Dh(e,t){window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e,args:t}}))}var Oh={refresh:Rr,edit:kr,trash:si,plus:et,search:Wr};function kh({viewId:e,className:t}){let n=$s(t=>t.treeViews[e])??[],r=$s(e=>e.contributions),i=(0,q.useMemo)(()=>{if(!r)return{name:e,headerActions:[]};let t=e,n=r.views;if(n)for(let r of Object.values(n)){let n=r.find(t=>t.id===e);if(n){t=n.name;break}}let i=[],a=r.menus?.[`view/title`];if(a)for(let t of a){if(t.when){let n=t.when.match(/view\s*==\s*(\S+)/);if(n&&n[1]!==e)continue}let n=r.commands?.find(e=>e.command===t.command);n&&i.push({command:n.command,title:n.title,icon:n.icon})}return{name:t,headerActions:i}},[r,e]);return(0,J.jsxs)(`div`,{className:H(`flex flex-col h-full`,t),children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border shrink-0`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-semibold text-text-subtle uppercase tracking-wider`,children:i.name}),(0,J.jsx)(`div`,{className:`flex items-center gap-0.5`,children:i.headerActions.map(e=>{let t=Oh[e.icon??Ah(e.command)]??Rr;return(0,J.jsx)(`button`,{onClick:()=>Dh(e.command),className:`flex items-center justify-center size-5 rounded hover:bg-surface-elevated transition-colors text-text-subtle hover:text-foreground`,title:e.title,children:(0,J.jsx)(t,{className:`size-3.5`})},e.command)})})]}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0 py-1`,role:`tree`,"aria-label":e,children:n.length===0?(0,J.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-subtle text-center`,children:`No items`}):n.map(t=>(0,J.jsx)(jh,{item:t,depth:0,viewId:e},t.id))})]})}function Ah(e){return e.includes(`refresh`)?`refresh`:e.includes(`add`)||e.includes(`create`)||e.includes(`new`)?`plus`:e.includes(`delete`)||e.includes(`remove`)?`trash`:e.includes(`edit`)||e.includes(`update`)?`edit`:e.includes(`search`)||e.includes(`find`)?`search`:`refresh`}function jh({item:e,depth:t,viewId:n}){let[r,i]=(0,q.useState)(!1),a=e.collapsibleState!==`none`,o=(0,q.useRef)(!1);e.children&&e.children.length>0&&!o.current&&(o.current=!0,r||i(!0));let s=(0,q.useCallback)(()=>{if(!a)return;let t=!r;i(t),t&&(!e.children||e.children.length===0)&&Eh(n,e.id)},[a,r,e.id,e.children,n]),c=(0,q.useCallback)(()=>{s(),e.command&&Dh(e.command,e.commandArgs)},[s,e.command,e.commandArgs]),l=8+t*16;return(0,J.jsxs)(`div`,{role:`treeitem`,"aria-expanded":a?r:void 0,children:[(0,J.jsxs)(`div`,{className:H(`group/node flex items-center gap-1 py-1 hover:bg-surface-elevated transition-colors`),style:{paddingLeft:l,paddingRight:8},children:[(0,J.jsx)(`button`,{onClick:s,className:`shrink-0 text-text-subtle hover:text-foreground transition-colors`,children:a?r?(0,J.jsx)(on,{className:`size-3`}):(0,J.jsx)(We,{className:`size-3`}):(0,J.jsx)(`span`,{className:`size-3`})}),e.color&&(0,J.jsx)(`span`,{className:`shrink-0 size-2 rounded-full border border-border`,style:{backgroundColor:e.color}}),(0,J.jsx)(`button`,{className:`flex-1 text-left text-xs truncate hover:text-primary transition-colors`,onClick:c,children:e.label}),e.description&&(0,J.jsx)(`span`,{className:`shrink-0 ml-1 text-text-subtle text-[10px]`,children:e.description}),e.badge&&(0,J.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle uppercase px-1 rounded bg-surface-elevated`,children:e.badge}),e.actions&&e.actions.length>0&&(0,J.jsx)(`div`,{className:`flex can-hover:hidden can-hover:group-hover/node:flex items-center gap-0.5 shrink-0`,children:e.actions.map(e=>(0,J.jsx)(Mh,{action:e},e.command))})]}),a&&r&&e.children&&(0,J.jsx)(`div`,{role:`group`,children:e.children.map(e=>(0,J.jsx)(jh,{item:e,depth:t+1,viewId:n},e.id))})]})}function Mh({action:e}){let[t,n]=(0,q.useState)(!1),r=Oh[e.icon]??Rr,i=e.icon===`trash`;return(0,J.jsx)(`button`,{onClick:(0,q.useCallback)(t=>{t.stopPropagation(),e.icon===`refresh`&&(n(!0),setTimeout(()=>n(!1),1e3)),Dh(e.command,e.commandArgs)},[e]),className:H(`p-0.5 text-text-subtle transition-colors`,i?`hover:text-error`:`hover:text-foreground`),title:e.tooltip,children:(0,J.jsx)(r,{className:H(`size-3`,t&&`animate-spin`)})})}var Nh=at((e,t)=>({projectsWithIds:[],configs:[],selectedProjectId:null,watchers:[],results:[],unreadCount:0,setSelectedProjectId:t=>e({selectedProjectId:t}),loadProjectsWithIds:async()=>{let t=await R.get(`/api/jira/config/projects`);e({projectsWithIds:Array.isArray(t)?t:[]})},loadConfigs:async()=>{e({configs:await R.get(`/api/jira/config`)})},saveConfig:async(e,n)=>{await R.put(`/api/jira/config/${e}`,n),await t().loadConfigs()},deleteConfig:async t=>{await R.del(`/api/jira/config/${t}`),e(e=>({configs:e.configs.filter(e=>e.projectId!==t),watchers:[]}))},testConnection:async e=>(await R.post(`/api/jira/config/${e}/test`)).connected,loadWatchers:async t=>{e({watchers:await R.get(`/api/jira/watchers?configId=${t}`)})},createWatcher:async e=>{await R.post(`/api/jira/watchers`,e),e.configId&&await t().loadWatchers(e.configId)},updateWatcher:async(e,n)=>{await R.put(`/api/jira/watchers/${e}`,n);let r=t().watchers.find(t=>t.id===e);r&&await t().loadWatchers(r.jiraConfigId)},deleteWatcher:async e=>{let n=t().watchers.find(t=>t.id===e);await R.del(`/api/jira/watchers/${e}`),n&&await t().loadWatchers(n.jiraConfigId)},toggleWatcher:async(t,n)=>{e(e=>({watchers:e.watchers.map(e=>e.id===t?{...e,enabled:n}:e)}));try{await R.put(`/api/jira/watchers/${t}`,{enabled:n})}catch{e(e=>({watchers:e.watchers.map(e=>e.id===t?{...e,enabled:!n}:e)}))}},pullWatcher:async e=>{let n=await R.post(`/api/jira/watchers/${e}/pull`);return await t().loadResults(),n},testJql:async(e,t)=>await R.post(`/api/jira/watchers/test-jql`,{configId:e,jql:t}),loadResults:async(t,n,r=50,i=0)=>{let a=new URLSearchParams;t!==void 0&&a.set(`watcherId`,String(t)),n&&a.set(`status`,n),a.set(`limit`,String(r)),a.set(`offset`,String(i));let o=await R.get(`/api/jira/results?${a}`);e(i>0?e=>({results:[...e.results,...o]}):{results:o})},softDeleteResult:async t=>{e(e=>({results:e.results.filter(e=>e.id!==t)}));try{await R.del(`/api/jira/results/${t}`)}catch{}},startDebug:async(n,r)=>{let i=t().results.find(e=>e.id===n)?.status;e(e=>({results:e.results.map(e=>e.id===n?{...e,status:`queued`}:e)}));try{await R.post(`/api/jira/results/${n}/debug`,r?{prompt:r}:{})}catch{e(e=>({results:e.results.map(e=>e.id===n?{...e,status:i??`pending`}:e)}))}},resumeDebug:async n=>{let r=t().results.find(e=>e.id===n)?.status;e(e=>({results:e.results.map(e=>e.id===n?{...e,status:`queued`}:e)}));try{await R.post(`/api/jira/results/${n}/resume`)}catch{e(e=>({results:e.results.map(e=>e.id===n?{...e,status:r??`failed`}:e)}))}},cancelDebug:async e=>{try{await R.post(`/api/jira/results/${e}/cancel`),await t().loadResults()}catch{}},markRead:async t=>{e(e=>({results:e.results.map(e=>e.id===t?{...e,readAt:new Date().toISOString()}:e),unreadCount:Math.max(0,e.unreadCount-1)}));try{await R.patch(`/api/jira/results/${t}/read`)}catch{}},loadUnreadCount:async()=>{try{e({unreadCount:(await R.get(`/api/jira/results/unread-count`)).count})}catch{}}})),Ph={pending:`bg-warning`,queued:`bg-warning/80`,running:`bg-primary animate-pulse`,done:`bg-success`,failed:`bg-error`};function Fh(e){let t=Date.now()-new Date(e).getTime(),n=Math.floor(t/6e4);if(n<1)return`now`;if(n<60)return`${n}m`;let r=Math.floor(n/60);return r<24?`${r}h`:`${Math.floor(r/24)}d`}function Ih({result:e,onDebug:t,onResume:n,onCancel:r,onOpenSession:i,onDelete:a,onClick:o}){let s=e,c=s.status===`done`&&!s.readAt,l=!!s.sessionId,u=s.status===`failed`&&l,d=s.status===`pending`||s.status===`failed`&&!l,f=s.status===`queued`||s.status===`running`,p=s.status;return(0,J.jsxs)(`div`,{className:H(`group rounded bg-card shadow-sm hover:shadow-md hover:bg-accent/50 hover:-translate-y-px cursor-pointer transition-all duration-150`,`px-2.5 py-2 space-y-1`,c&&`ring-1 ring-primary/30`),onClick:()=>o(s),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(`span`,{className:`text-xs font-mono font-semibold text-foreground shrink-0`,children:s.issueKey}),c&&(0,J.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground truncate flex-1 min-w-0`,children:s.issueSummary||`No summary`}),(0,J.jsx)(`span`,{className:`text-[10px] text-muted-foreground/60 tabular-nums shrink-0`,children:Fh(s.createdAt)})]}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between min-w-0`,children:[(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 text-[11px] text-muted-foreground`,children:[(0,J.jsx)(`span`,{className:H(`size-1.5 rounded-full shrink-0`,Ph[p])}),p]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-0.5 shrink-0`,onClick:e=>e.stopPropagation(),children:[u&&(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 h-6 px-1.5 rounded text-[10px] font-medium text-primary hover:bg-primary/10 active:scale-95 transition-colors`,onClick:()=>n(s),title:`Resume debug session`,children:[(0,J.jsx)(Vr,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Resume`})]}),d&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-6 rounded text-muted-foreground hover:text-primary active:scale-95 transition-colors`,onClick:()=>t(s),title:`Debug`,children:(0,J.jsx)(Mr,{className:`size-3`})}),f&&(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-6 rounded text-muted-foreground hover:text-destructive active:scale-95 transition-colors`,onClick:()=>r(s),title:`Stop debug`,children:(0,J.jsx)(ti,{className:`size-3`})}),s.status===`running`&&(0,J.jsx)(K,{className:`size-3 animate-spin text-primary`}),l&&(0,J.jsxs)(`button`,{type:`button`,className:`flex items-center gap-1 h-6 px-1.5 rounded text-[10px] font-medium text-primary hover:bg-primary/10 active:scale-95 transition-colors`,onClick:()=>i(s),title:`Open session`,children:[(0,J.jsx)(Tn,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Open`})]}),(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,className:`flex items-center justify-center size-6 rounded text-muted-foreground hover:text-foreground active:scale-95 transition-colors`,children:(0,J.jsx)(wn,{className:`size-3`})})}),(0,J.jsx)(tl,{align:`end`,children:(0,J.jsxs)(Z,{className:`text-destructive`,onClick:()=>a(s.id),children:[(0,J.jsx)(si,{className:`size-3.5 mr-2`}),` Delete`]})})]})]})]})]})}function Lh(e){let t=[];return e.project.length&&t.push(`project IN (${e.project.join(`, `)})`),e.issueType.length&&t.push(`issuetype IN (${e.issueType.map(e=>`"${e}"`).join(`, `)})`),e.priority.length&&t.push(`priority IN (${e.priority.map(e=>`"${e}"`).join(`, `)})`),e.status.length&&t.push(`status IN (${e.status.map(e=>`"${e}"`).join(`, `)})`),e.assignee.length&&t.push(`assignee IN (${e.assignee.map(e=>`"${e}"`).join(`, `)})`),(t.join(` AND `)||`ORDER BY updated DESC`)+(t.length?` ORDER BY updated DESC`:``)}var Rh={project:[],issueType:[],priority:[],status:[],assignee:[]};function zh({value:e,onChange:t,configId:n}){let[r,i]=(0,q.useState)(e?`raw`:`builder`),[a,o]=(0,q.useState)(Rh),[s,c]=(0,q.useState)(e),[l,u]=(0,q.useState)([]),[d,f]=(0,q.useState)([]),[p,m]=(0,q.useState)([]),[h,g]=(0,q.useState)([]),[_,v]=(0,q.useState)([]),[y,b]=(0,q.useState)(!1);(0,q.useEffect)(()=>{n&&(b(!0),Promise.all([R.get(`/api/jira/metadata/${n}/projects`).catch(()=>[]),R.get(`/api/jira/metadata/${n}/issuetype`).catch(()=>[]),R.get(`/api/jira/metadata/${n}/priority`).catch(()=>[]),R.get(`/api/jira/metadata/${n}/status`).catch(()=>[]),R.get(`/api/jira/metadata/${n}/assignees`).catch(()=>[])]).then(([e,t,n,r,i])=>{u(e),f(t),m(n),g(r),v(i.map(e=>({id:e.accountId,name:e.displayName})))}).finally(()=>b(!1)))},[n]),(0,q.useEffect)(()=>{r===`builder`&&t(Lh(a))},[a,r]);let x=(0,q.useCallback)(e=>{c(e),t(e)},[t]),S=(e,t)=>{!t||a[e].includes(t)||o(n=>({...n,[e]:[...n[e],t]}))},C=(e,t)=>{o(n=>({...n,[e]:n[e].filter(e=>e!==t)}))};return(0,J.jsxs)(`div`,{className:`space-y-2 min-w-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(I,{type:`button`,size:`sm`,variant:r===`builder`?`default`:`outline`,onClick:()=>i(`builder`),className:`min-h-[44px] text-xs`,children:`Builder`}),(0,J.jsx)(I,{type:`button`,size:`sm`,variant:r===`raw`?`default`:`outline`,onClick:()=>i(`raw`),className:`min-h-[44px] text-xs`,children:`Raw JQL`}),y&&(0,J.jsx)(K,{className:`size-3.5 animate-spin text-muted-foreground`})]}),r===`raw`?(0,J.jsx)(`textarea`,{value:s,onChange:e=>x(e.target.value),className:`w-full h-20 rounded-md border border-input bg-background px-3 py-2 text-sm font-mono resize-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,placeholder:`e.g. project = MYPROJ AND status = "In Progress"`}):(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(Bh,{label:`Project`,field:`project`,filters:a,onAdd:S,onRemove:C,options:l.map(e=>({value:e.key??e.name,label:`${e.key??e.name} — ${e.name}`})),placeholder:`Select project...`}),(0,J.jsx)(Bh,{label:`Issue Type`,field:`issueType`,filters:a,onAdd:S,onRemove:C,options:d.map(e=>({value:e.name,label:e.name})),placeholder:`Select issue type...`}),(0,J.jsx)(Bh,{label:`Priority`,field:`priority`,filters:a,onAdd:S,onRemove:C,options:p.map(e=>({value:e.name,label:e.name})),placeholder:`Select priority...`}),(0,J.jsx)(Bh,{label:`Status`,field:`status`,filters:a,onAdd:S,onRemove:C,options:h.map(e=>({value:e.name,label:e.name})),placeholder:`Select status...`}),(0,J.jsx)(Bh,{label:`Assignee`,field:`assignee`,filters:a,onAdd:S,onRemove:C,options:_.map(e=>({value:e.id??e.name,label:e.name})),placeholder:`Select assignee...`})]}),(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground bg-muted/50 rounded px-2 py-1 font-mono break-all`,children:r===`builder`?Lh(a):s||`(empty)`})]})}function Bh({label:e,field:t,filters:n,onAdd:r,onRemove:i,options:a,placeholder:o}){let s=a.filter(e=>!n[t].includes(e.value));return(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:e}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 flex-wrap`,children:[n[t].map(e=>(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-0.5 px-2 py-0.5 rounded-full bg-primary/10 text-xs`,children:[a.find(t=>t.value===e)?.label??e,(0,J.jsx)(`button`,{type:`button`,onClick:()=>i(t,e),className:`hover:text-destructive`,children:(0,J.jsx)(tt,{className:`size-3`})})]},e)),s.length>0?(0,J.jsxs)(wp,{onValueChange:e=>r(t,e),children:[(0,J.jsx)(Ep,{className:`h-7 w-auto min-w-[120px] text-xs`,children:(0,J.jsx)(Tp,{placeholder:o})}),(0,J.jsx)(Dp,{children:s.map(e=>(0,J.jsx)(Op,{value:e.value,children:e.label},e.value))})]}):a.length>0?(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`All selected`}):(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground italic`,children:`Loading...`})]})]})}var Vh=[{label:`30s`,value:3e4},{label:`1m`,value:6e4},{label:`2m`,value:12e4},{label:`5m`,value:3e5},{label:`10m`,value:6e5},{label:`30m`,value:18e5},{label:`1h`,value:36e5}];function Hh({configId:e,existing:t,onDone:n}){let{createWatcher:r,updateWatcher:i,testJql:a}=Nh(),[o,s]=(0,q.useState)(t?.name??``),[c,l]=(0,q.useState)(t?.jql??``),[u,d]=(0,q.useState)(t?.intervalMs??12e4),[f,p]=(0,q.useState)(t?.mode??`debug`),[m,h]=(0,q.useState)(t?.promptTemplate??``),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(null),[S,C]=(0,q.useState)(0),[w,T]=(0,q.useState)(null),E=!!t;return(0,J.jsxs)(`form`,{onSubmit:async a=>{if(a.preventDefault(),!(!o||!c)){_(!0);try{E?await i(t.id,{name:o,jql:c,intervalMs:u,mode:f,promptTemplate:m||null}):await r({configId:e,name:o,jql:c,intervalMs:u,mode:f,promptTemplate:m||void 0}),n()}catch{}_(!1)}},className:`space-y-3 min-w-0`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Name`}),(0,J.jsx)($,{value:o,onChange:e=>s(e.target.value),placeholder:`Bug watcher`,className:`h-9`})]}),(0,J.jsx)(zh,{value:c,onChange:l,configId:e}),(0,J.jsxs)(I,{type:`button`,size:`sm`,variant:`outline`,className:`w-full min-h-[44px]`,disabled:!c||v,onClick:async()=>{if(c){y(!0),T(null),x(null);try{let t=await a(e,c);x(t.issues),C(t.total)}catch(e){T(e.message??`Test failed`)}y(!1)}},children:[v?(0,J.jsx)(K,{className:`size-4 animate-spin mr-1.5`}):(0,J.jsx)(Wr,{className:`size-4 mr-1.5`}),`Test Filter`]}),w&&(0,J.jsx)(`p`,{className:`text-xs text-destructive bg-destructive/10 rounded-md px-3 py-2`,children:w}),b&&(0,J.jsxs)(`div`,{className:`border rounded-md max-h-48 overflow-hidden`,children:[(0,J.jsxs)(`div`,{className:`px-3 py-1.5 border-b bg-muted/50 text-xs text-muted-foreground font-medium`,children:[S,` ticket`,S===1?``:`s`,` found`,S>b.length&&` (showing ${b.length})`]}),(0,J.jsx)(`div`,{className:`overflow-y-auto max-h-[calc(12rem-30px)]`,children:b.length===0?(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`No tickets match this filter.`}):b.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b last:border-b-0 text-xs min-w-0`,children:[(0,J.jsx)(`span`,{className:`font-mono font-medium shrink-0`,children:e.key}),(0,J.jsx)(`span`,{className:`truncate text-muted-foreground flex-1 min-w-0`,children:e.fields.summary}),(0,J.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground px-1.5 py-0.5 bg-muted rounded whitespace-nowrap`,children:e.fields.status.name})]},e.key))})]}),(0,J.jsxs)(`div`,{className:`flex gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex-1`,children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Interval`}),(0,J.jsxs)(wp,{value:String(u),onValueChange:e=>d(Number(e)),children:[(0,J.jsx)(Ep,{className:`h-9`,children:(0,J.jsx)(Tp,{})}),(0,J.jsx)(Dp,{children:Vh.map(e=>(0,J.jsx)(Op,{value:String(e.value),children:e.label},e.value))})]})]}),(0,J.jsxs)(`div`,{className:`flex-1`,children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Mode`}),(0,J.jsxs)(wp,{value:f,onValueChange:e=>p(e),children:[(0,J.jsx)(Ep,{className:`h-9`,children:(0,J.jsx)(Tp,{})}),(0,J.jsxs)(Dp,{children:[(0,J.jsx)(Op,{value:`debug`,children:`Debug + Notify`}),(0,J.jsx)(Op,{value:`notify`,children:`Notify only`})]})]})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Prompt template (optional)`}),(0,J.jsx)(`textarea`,{value:m,onChange:e=>h(e.target.value),className:`w-full h-16 rounded-md border border-input bg-background px-3 py-2 text-xs font-mono resize-none focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,placeholder:`Debug Jira issue {issue_key}: {summary}`})]}),(0,J.jsx)(I,{type:`submit`,size:`sm`,disabled:g||!o||!c,className:`min-h-[44px] w-full`,children:g?(0,J.jsx)(K,{className:`size-4 animate-spin`}):E?`Save Changes`:`Create Watcher`})]})}function Uh({configId:e}){let{watchers:t,deleteWatcher:n,toggleWatcher:r,pullWatcher:i}=Nh(),[a,o]=(0,q.useState)(!1),[s,c]=(0,q.useState)(null),[l,u]=(0,q.useState)(null),d=async e=>{u(e);try{let t=await i(e);z.success(`Pulled ${t.newIssues} new issue${t.newIssues===1?``:`s`}`)}catch(e){z.error(e.message??`Pull failed`)}u(null)};return(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h4`,{className:`text-sm font-medium`,children:`Watchers`}),(0,J.jsxs)(Tc,{open:a,onOpenChange:o,children:[(0,J.jsx)(Ec,{asChild:!0,children:(0,J.jsxs)(I,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,children:[(0,J.jsx)(et,{className:`size-4 mr-1`}),` Add`]})}),(0,J.jsxs)(kc,{className:`max-w-md overflow-hidden`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`New Watcher`})}),(0,J.jsx)(Hh,{configId:e,onDone:()=>o(!1)})]})]})]}),t.length===0&&(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground py-4 text-center`,children:`No watchers yet.`}),t.map(e=>(0,J.jsxs)(`div`,{className:`flex items-center gap-2 p-2 rounded-md border text-sm`,children:[(0,J.jsx)(Sp,{checked:e.enabled,onCheckedChange:t=>r(e.id,t),className:`shrink-0`}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsx)(`div`,{className:`font-medium truncate`,children:e.name}),(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground truncate font-mono`,children:e.jql})]}),(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground shrink-0`,children:[e.mode===`notify`?`notify`:`debug`,` · `,Wh(e.intervalMs)]}),(0,J.jsx)(I,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>c(e),children:(0,J.jsx)(kr,{className:`size-3.5`})}),(0,J.jsx)(I,{size:`icon`,variant:`ghost`,className:`size-8`,onClick:()=>d(e.id),disabled:l===e.id,children:l===e.id?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(Mr,{className:`size-3.5`})}),(0,J.jsx)(I,{size:`icon`,variant:`ghost`,className:`size-8 text-destructive`,onClick:()=>n(e.id),children:(0,J.jsx)(si,{className:`size-3.5`})})]},e.id)),(0,J.jsx)(Tc,{open:!!s,onOpenChange:e=>{e||c(null)},children:(0,J.jsxs)(kc,{className:`max-w-md overflow-hidden`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Edit Watcher`})}),s&&(0,J.jsx)(Hh,{configId:e,existing:s,onDone:()=>c(null)})]})})]})}function Wh(e){return e>=36e5?`${e/36e5}h`:e>=6e4?`${e/6e4}m`:`${e/1e3}s`}function Gh({projectId:e,existing:t}){let{saveConfig:n,deleteConfig:r,testConnection:i}=Nh(),[a,o]=(0,q.useState)(t?.baseUrl??``),[s,c]=(0,q.useState)(t?.email??``),[l,u]=(0,q.useState)(``);(0,q.useEffect)(()=>{t&&(o(t.baseUrl),c(t.email))},[t?.baseUrl,t?.email]);let[d,f]=(0,q.useState)(!1),[p,m]=(0,q.useState)(!1),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(null);return(0,J.jsxs)(`form`,{onSubmit:async r=>{if(r.preventDefault(),!(!a||!s||!l&&!t?.hasToken)){f(!0);try{await n(e,{baseUrl:a,email:s,...l?{token:l}:{}}),u(``)}catch{}f(!1)}},className:`space-y-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Base URL`}),(0,J.jsx)($,{value:a,onChange:e=>o(e.target.value),placeholder:`https://mysite.atlassian.net`,className:`h-9`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Email`}),(0,J.jsx)($,{value:s,onChange:e=>c(e.target.value),placeholder:`you@company.com`,className:`h-9`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`label`,{className:`text-xs text-muted-foreground`,children:[`API Token `,t?.hasToken&&(0,J.jsx)(`span`,{className:`text-success`,children:`(saved)`})]}),(0,J.jsx)($,{type:`password`,value:l,onChange:e=>u(e.target.value),placeholder:t?.hasToken?`Enter new token to replace`:`Your Jira API token`,className:`h-9`})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-2 flex-wrap`,children:[(0,J.jsx)(I,{type:`submit`,size:`sm`,disabled:d,className:`min-w-[44px] min-h-[44px]`,children:d?(0,J.jsx)(K,{className:`size-4 animate-spin`}):`Save`}),t&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(I,{type:`button`,size:`sm`,variant:`outline`,onClick:async()=>{m(!0),g(null),v(null);try{g(await i(e)?`ok`:`fail`)}catch(e){g(`fail`),v(e?.message??`Connection failed`)}m(!1)},disabled:p,className:`min-h-[44px]`,children:p?(0,J.jsx)(K,{className:`size-4 animate-spin`}):`Test Connection`}),(0,J.jsx)(I,{type:`button`,size:`sm`,variant:`destructive`,onClick:()=>r(e),className:`min-h-[44px]`,children:(0,J.jsx)(si,{className:`size-4`})})]}),h===`ok`&&(0,J.jsx)(pn,{className:`size-4 text-success`}),h===`fail`&&(0,J.jsx)(fn,{className:`size-4 text-error`})]}),_&&(0,J.jsx)(`p`,{className:`text-xs text-error break-all`,children:_})]})}function Kh({result:e,onClose:t}){let{watchers:n,startDebug:r}=Nh(),[i,a]=(0,q.useState)(``);return(0,q.useEffect)(()=>{e&&a((n.find(t=>t.id===e.watcherId)?.promptTemplate??`Debug Jira issue {issue_key}: {summary}`).replace(/\{issue_key\}/g,e.issueKey).replace(/\{summary\}/g,e.issueSummary??``))},[e,n]),(0,J.jsx)(Tc,{open:!!e,onOpenChange:e=>{e||t()},children:(0,J.jsxs)(kc,{className:`max-w-md`,children:[(0,J.jsx)(Ac,{children:(0,J.jsxs)(X,{children:[`Start Debug: `,e?.issueKey]})}),(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:e?.issueSummary}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`text-xs text-muted-foreground`,children:`Debug Prompt`}),(0,J.jsx)(`textarea`,{value:i,onChange:e=>a(e.target.value),className:`w-full h-24 rounded-md border border-input bg-background px-3 py-2 text-xs font-mono resize-none mt-1`,placeholder:`Debug Jira issue {issue_key}: {summary}`})]}),(0,J.jsx)(I,{size:`sm`,className:`w-full min-h-[44px]`,onClick:async()=>{if(e){try{await r(e.id,i)}catch{}t()}},children:`Start Debug Session`})]})})}function qh(){let e=W(e=>e.activeProject),t=G(e=>e.openTab),{configs:n,watchers:r,results:i,loadConfigs:a,loadWatchers:o,loadResults:s,loadProjectsWithIds:c,projectsWithIds:l,softDeleteResult:u,resumeDebug:d,cancelDebug:f,markRead:p,unreadCount:m,loadUnreadCount:h}=Nh(),[g,_]=(0,q.useState)(`tickets`),[v,y]=(0,q.useState)(!1),[b,x]=(0,q.useState)(null),S=l.find(t=>t.name===e?.name),C=n.find(e=>e.projectId===S?.id);(0,q.useEffect)(()=>{a(),c()},[]),(0,q.useEffect)(()=>{C&&o(C.id)},[C?.id]);let w=(0,q.useCallback)(async()=>{y(!0);try{await s()}catch{}y(!1)},[s]);(0,q.useEffect)(()=>{w(),h()},[C?.id]),(0,q.useEffect)(()=>{let n=n=>{let r=n.detail;r&&(w(),r.status===`done`?(h(),z.success(`Debug complete: ${r.issueKey}`,{action:r.sessionId?{label:`View`,onClick:()=>t({type:`chat`,title:`[Jira] ${r.issueKey}`,projectId:e?.name??null,metadata:{projectName:e?.name,sessionId:r.sessionId},closable:!0})}:void 0})):r.status===`failed`&&z.error(`Debug failed: ${r.issueKey}`))};return window.addEventListener(`jira:status_change`,n),()=>window.removeEventListener(`jira:status_change`,n)},[w,h]);let T=(0,q.useCallback)(n=>{n.sessionId&&(n.status===`done`&&!n.readAt&&p(n.id),t({type:`chat`,title:`[Jira] ${n.issueKey}`,projectId:e?.name??null,metadata:{projectName:e?.name,sessionId:n.sessionId},closable:!0}))},[t,p,e]),E=e=>{e.sessionId&&T(e)};return e?g===`tickets`?(0,J.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,J.jsxs)($l,{icon:tn,title:`Jira`,children:[m>0&&(0,J.jsx)(`span`,{className:`inline-flex items-center justify-center min-w-[18px] h-[18px] px-1 rounded-full bg-primary text-primary-foreground text-[10px] font-bold`,children:m}),(0,J.jsx)(`button`,{onClick:w,disabled:v,title:`Refresh`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground disabled:opacity-50`,children:v?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(Rr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>_(`watchers`),title:`Watchers`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(ur,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>_(`credentials`),title:`Credentials`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(qr,{className:`size-3.5`})})]}),(0,J.jsx)(up,{className:`flex-1 min-h-0`,children:(0,J.jsx)(`div`,{className:`p-1.5 space-y-1.5`,children:C?i.length===0&&r.length===0?(0,J.jsx)(Jh,{message:`No watchers yet`,action:`Add Watcher`,onAction:()=>_(`watchers`)}):i.length===0?(0,J.jsx)(Jh,{message:`No tickets yet. Watchers will pick up new issues.`}):i.map(e=>(0,J.jsx)(Ih,{result:e,onDebug:x,onResume:e=>d(e.id),onCancel:e=>f(e.id),onOpenSession:T,onDelete:u,onClick:E},e.id)):(0,J.jsx)(Jh,{message:`No Jira credentials configured`,action:`Set up Jira`,onAction:()=>_(`credentials`)})})}),(0,J.jsx)(Kh,{result:b,onClose:()=>x(null)})]}):(0,J.jsxs)(`div`,{className:`h-full flex flex-col`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 px-2 py-2 flex items-center gap-1.5 border-b border-border/50`,children:[(0,J.jsx)(I,{size:`icon`,variant:`ghost`,className:`size-7`,onClick:()=>_(`tickets`),children:(0,J.jsx)(Ae,{className:`size-4`})}),(0,J.jsx)(`h2`,{className:`text-sm font-semibold truncate`,children:g===`watchers`?`Watchers`:`Jira Credentials`})]}),(0,J.jsx)(up,{className:`flex-1 min-h-0`,children:(0,J.jsx)(`div`,{className:`p-3`,children:g===`watchers`?C?(0,J.jsx)(Uh,{configId:C.id}):(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Configure Jira credentials first.`}):S?(0,J.jsx)(Gh,{projectId:S.id,existing:C?{baseUrl:C.baseUrl,email:C.email,hasToken:C.hasToken}:null}):(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground text-center py-4`,children:`Project not found in database.`})})})]}):(0,J.jsx)(`div`,{className:`flex items-center justify-center h-32 p-4`,children:(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:`Select a project to use Jira`})})}function Jh({message:e,action:t,onAction:n}){return(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center py-12 gap-3`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground text-center`,children:e}),t&&n&&(0,J.jsxs)(I,{size:`sm`,variant:`outline`,className:`min-h-[44px]`,onClick:n,children:[(0,J.jsx)(et,{className:`size-4 mr-1.5`}),` `,t]})]})}var Yh=`/api/ai-resources`;function Xh(e){return R.get(`${Yh}?project=${encodeURIComponent(e)}`)}function Zh(e,t){return R.get(`${Yh}/content?project=${encodeURIComponent(t)}&path=${encodeURIComponent(e)}`)}function Qh(e,t,n){return R.put(`${Yh}/content`,{path:e,content:t,project:n})}function $h(e,t,n,r){return R.post(Yh,{type:e,scope:t,name:n,project:r})}function eg(e,t,n,r,i){return R.post(`${Yh}/duplicate`,{path:e,type:t,scope:n,name:r,project:i})}function tg(e,t,n){return R.del(Yh,{path:e,type:t,project:n})}var ng=at((e,t)=>({project:null,loading:!1,error:null,result:null,load:async n=>{e({project:n,loading:!0,error:null});try{let r=await Xh(n);if(t().project!==n)return;e({result:r,loading:!1})}catch(r){if(t().project!==n)return;e({error:r.message,loading:!1})}},reload:async()=>{let e=t().project;e&&await t().load(e)}}));function rg(){return R.get(`/api/settings/mcp`)}function ig(e,t){return R.post(`/api/settings/mcp`,{name:e,config:t})}function ag(e,t){return R.put(`/api/settings/mcp/${encodeURIComponent(e)}`,t)}function og(e){return R.del(`/api/settings/mcp/${encodeURIComponent(e)}`)}function sg(){return R.post(`/api/settings/mcp/import`,{})}function cg(e){return!e||!/^[a-zA-Z0-9][a-zA-Z0-9_-]*$/.test(e)?`Name must start with a letter/digit, then alphanumeric, hyphens, or underscores`:e.length>50?`Name max 50 chars`:null}function lg(e){let t=[];if(!e||typeof e!=`object`)return[`Config must be an object`];let n=e,r=n.type??`stdio`;return r===`stdio`?(!n.command||typeof n.command!=`string`)&&t.push(`command is required for stdio`):r===`http`||r===`sse`?((!n.url||typeof n.url!=`string`)&&t.push(`url is required for `+r),n.url&&typeof n.url==`string`&&!/^https?:\/\/.+/.test(n.url)&&t.push(`url must be HTTP(S)`)):t.push(`type must be stdio, http, or sse`),t}var ug=[`stdio`,`http`,`sse`];function dg({open:e,onClose:t,editServer:n}){let r=!!n,[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(`stdio`),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)([]),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(null);(0,q.useEffect)(()=>{if(e)if(y(null),_(!1),n){a(n.name),s(n.transport||`stdio`);let e=n.config;`command`in e?(l(e.command||``),d((e.args??[]).join(` `)),h(fg(e.env))):`url`in e&&(p(e.url||``),h(fg(e.headers)))}else a(``),s(`stdio`),l(``),d(``),p(``),h([])},[e,n]);let b=()=>{let e=pg(m);return o===`stdio`?{type:`stdio`,command:c,...u.trim()&&{args:u.trim().split(/\s+/)},...Object.keys(e).length>0&&{env:e}}:{type:o,url:f,...Object.keys(e).length>0&&{headers:e}}},x=async()=>{if(y(null),!r){let e=cg(i);if(e){y(e);return}}let e=b(),n=lg(e);if(n.length){y(n.join(`; `));return}_(!0);try{r?await ag(i,e):await ig(i,e),t(!0)}catch(e){y(e.message||`Save failed`)}finally{_(!1)}},S=()=>h([...m,{key:``,value:``}]),C=e=>h(m.filter((t,n)=>n!==e)),w=(e,t,n)=>{h(m.map((r,i)=>i===e?{key:t===`key`?n:r.key,value:t===`value`?n:r.value}:r))},T=o===`stdio`,E=T?`Environment Variables`:`Headers`;return(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||t()},children:(0,J.jsxs)(kc,{className:`max-h-[85vh] overflow-y-auto sm:max-w-md`,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{className:`text-sm`,children:r?`Edit MCP Server`:`Add MCP Server`}),(0,J.jsx)(Mc,{className:`text-[11px]`,children:`Configure a Model Context Protocol server connection.`})]}),(0,J.jsxs)(`div`,{className:`space-y-3`,children:[(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Name`}),(0,J.jsx)($,{value:i,onChange:e=>a(e.target.value),placeholder:`my-mcp-server`,className:`h-8 text-xs`,disabled:r})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Transport`}),(0,J.jsx)(`div`,{className:`flex gap-1`,children:ug.map(e=>(0,J.jsx)(I,{variant:o===e?`default`:`outline`,size:`sm`,className:`flex-1 h-7 text-xs cursor-pointer`,onClick:()=>{s(e),h([]),l(``),d(``),p(``)},children:e},e))})]}),T?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Command *`}),(0,J.jsx)($,{value:c,onChange:e=>l(e.target.value),placeholder:`npx`,className:`h-8 text-xs`})]}),(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`Arguments (space-separated)`}),(0,J.jsx)($,{value:u,onChange:e=>d(e.target.value),placeholder:`@playwright/mcp@latest`,className:`h-8 text-xs`})]})]}):(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:`URL *`}),(0,J.jsx)($,{value:f,onChange:e=>p(e.target.value),placeholder:`https://mcp.example.com`,className:`h-8 text-xs`})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`label`,{className:`text-[11px] font-medium text-muted-foreground`,children:E}),m.map((e,t)=>(0,J.jsxs)(`div`,{className:`flex gap-1 items-center`,children:[(0,J.jsx)($,{value:e.key,onChange:e=>w(t,`key`,e.target.value),placeholder:`KEY`,className:`h-7 text-xs flex-1`}),(0,J.jsx)($,{value:e.value,onChange:e=>w(t,`value`,e.target.value),placeholder:`value`,className:`h-7 text-xs flex-1`}),(0,J.jsx)(I,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0 cursor-pointer`,onClick:()=>C(t),children:(0,J.jsx)(tt,{className:`size-3`})})]},t)),(0,J.jsxs)(I,{variant:`outline`,size:`sm`,className:`h-7 text-xs gap-1 cursor-pointer`,onClick:S,children:[(0,J.jsx)(et,{className:`size-3`}),` Add `,T?`Variable`:`Header`]})]}),v&&(0,J.jsx)(`p`,{className:`text-[11px] text-destructive`,children:v})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`outline`,size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:()=>t(),children:`Cancel`}),(0,J.jsx)(I,{size:`sm`,className:`h-8 text-xs cursor-pointer`,onClick:x,disabled:g,children:g?`Saving...`:`Save`})]})]})})}function fg(e){return e?Object.entries(e).map(([e,t])=>({key:e,value:t})):[]}function pg(e){let t={};for(let{key:n,value:r}of e)n.trim()&&(t[n.trim()]=r);return t}var mg={skill:$n,agent:Me,command:$r},hg={skill:`Skills`,agent:`Agents`,command:`Commands`},gg={project:`text-primary border-primary/30 bg-primary/10`,user:`text-emerald-400 border-emerald-500/30 bg-emerald-500/10`,bundled:`text-text-subtle border-border bg-surface-elevated`},_g={project:`Project`,user:`User`,bundled:`Bundled`};function vg({scope:e,className:t}){return(0,J.jsx)(`span`,{className:H(`shrink-0 rounded border px-1 py-px text-[9px] font-medium uppercase leading-none tracking-wide`,gg[e],t),children:_g[e]})}var yg=(0,q.memo)(function({item:e,active:t,onOpen:n,onDuplicate:r,onDelete:i}){let a=mg[e.type];return(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`button`,{onClick:()=>n(e),className:H(`group relative flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors`,t?`bg-accent-wash text-foreground shadow-[inset_2px_0_0_var(--accent)]`:`hover:bg-surface-elevated`,e.shadowed&&`opacity-55`),children:[(0,J.jsx)(a,{className:`size-4 shrink-0 text-text-subtle`,strokeWidth:t?2.3:2}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:H(`truncate text-[13px] font-medium`,e.shadowed&&`line-through`),children:e.name}),e.overrides?(0,J.jsx)(`span`,{className:`shrink-0 rounded bg-amber-500/15 px-1 py-px text-[9px] font-medium text-amber-400 leading-none`,children:`overrides`}):null,e.shadowed?(0,J.jsx)(`span`,{className:`shrink-0 text-[9px] text-text-subtle`,children:`shadowed`}):null]}),e.description?(0,J.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:e.description}):null]}),(0,J.jsx)(vg,{scope:e.scope})]})}),(0,J.jsxs)(au,{className:`w-48`,children:[(0,J.jsx)(ou,{onClick:()=>n(e),children:e.readOnly?`Open (read-only)`:`Open / Edit`}),(0,J.jsx)(ou,{onClick:()=>r(e),children:`Duplicate…`}),!e.readOnly&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(su,{}),(0,J.jsx)(ou,{variant:`destructive`,onClick:()=>i(e),children:`Delete`})]})]})]})});function bg({open:e,onOpenChange:t,mode:n,source:r,initialType:i,project:a,hasProject:o,onSuccess:s}){let[c,l]=(0,q.useState)(`skill`),[u,d]=(0,q.useState)(o?`project`:`user`),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(!1);(0,q.useEffect)(()=>{e&&(l(n===`duplicate`&&r?r.type:i??`skill`),p(n===`duplicate`&&r?`${r.name}-copy`:``),d(o?`project`:`user`),h(!1))},[e,n,r,i,o]);let g=/^[a-zA-Z0-9][a-zA-Z0-9._-]*$/.test(f);async function _(){if(!(!g||m)){h(!0);try{let e=n===`duplicate`&&r?await eg(r.filePath,c,u,f,a):await $h(c,u,f,a);z.success(n===`duplicate`?`Resource duplicated`:`Resource created`),t(!1),s(e.filePath)}catch(e){z.error(e.message),h(!1)}}}return(0,J.jsx)(Tc,{open:e,onOpenChange:t,children:(0,J.jsxs)(kc,{className:`sm:max-w-md`,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsx)(X,{children:n===`duplicate`?`Duplicate resource`:`New resource`}),(0,J.jsx)(Mc,{children:n===`duplicate`?`Copy this resource into a writable scope under a new name.`:`Create a new skill, agent, or command from a template.`})]}),(0,J.jsxs)(`div`,{className:`space-y-3 py-1`,children:[(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{children:`Type`}),(0,J.jsxs)(wp,{value:c,onValueChange:e=>l(e),disabled:n===`duplicate`,children:[(0,J.jsx)(Ep,{children:(0,J.jsx)(Tp,{})}),(0,J.jsxs)(Dp,{children:[(0,J.jsx)(Op,{value:`skill`,children:`Skill`}),(0,J.jsx)(Op,{value:`agent`,children:`Agent`}),(0,J.jsx)(Op,{value:`command`,children:`Command`})]})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{children:`Scope`}),(0,J.jsxs)(wp,{value:u,onValueChange:e=>d(e),children:[(0,J.jsx)(Ep,{children:(0,J.jsx)(Tp,{})}),(0,J.jsxs)(Dp,{children:[(0,J.jsxs)(Op,{value:`project`,disabled:!o,children:[`Project`,o?``:` (no project selected)`]}),(0,J.jsx)(Op,{value:`user`,children:`User (~/.claude)`})]})]})]}),(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(op,{children:`Name`}),(0,J.jsx)($,{value:f,autoFocus:!0,placeholder:`my-resource`,onChange:e=>p(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_()}}),f&&!g&&(0,J.jsx)(`p`,{className:`text-[11px] text-destructive`,children:`Use letters, numbers, dots, dashes, underscores (no spaces or slashes).`})]})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`ghost`,onClick:()=>t(!1),disabled:m,children:`Cancel`}),(0,J.jsx)(I,{onClick:_,disabled:!g||m,children:m?`Working…`:n===`duplicate`?`Duplicate`:`Create`})]})]})})}function xg({open:e,kind:t,name:n,folderWarning:r,onCancel:i,onConfirm:a}){return(0,J.jsx)(Tc,{open:e,onOpenChange:e=>{e||i()},children:(0,J.jsxs)(kc,{className:`sm:max-w-md`,children:[(0,J.jsxs)(Ac,{children:[(0,J.jsxs)(X,{children:[`Delete `,t,`?`]}),(0,J.jsxs)(Mc,{children:[`This permanently deletes `,(0,J.jsx)(`span`,{className:`font-medium text-foreground`,children:n}),r?` and its entire skill folder`:``,`. This cannot be undone.`]})]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(I,{variant:`ghost`,onClick:i,children:`Cancel`}),(0,J.jsx)(I,{variant:`destructive`,onClick:a,children:`Delete`})]})]})})}function Sg(e,t){let n=G.getState(),r=n.tabs.find(t=>t.type===`ai-resource`&&t.metadata?.filePath===e.filePath);if(r){n.setActiveTab(r.id);return}n.openTab({type:`ai-resource`,title:e.name,projectId:null,closable:!0,metadata:{filePath:e.filePath,name:e.name,resourceType:e.type,scope:e.scope,readOnly:e.readOnly,shadowed:e.shadowed,shadowedBy:e.shadowedBy??null,project:t}})}function Cg(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(!0),i=(0,q.useCallback)(async()=>{try{t(await rg())}catch{}finally{r(!1)}},[]);return(0,q.useEffect)(()=>{i()},[i]),{servers:e,loading:n,reload:i,remove:(0,q.useCallback)(async e=>{await og(e),await i()},[i])}}function wg({servers:e,showActions:t,importing:n,onAdd:r,onImport:i,onEdit:a,onDelete:o}){return e.length===0&&!t?null:(0,J.jsxs)(`div`,{className:`pb-1`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,J.jsx)(`span`,{children:`MCP Servers`}),(0,J.jsx)(`span`,{className:`text-text-subtle/60`,children:e.length})]}),e.map(e=>(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`button`,{onClick:()=>a(e),className:`group flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors hover:bg-surface-elevated`,children:[(0,J.jsx)(Nr,{className:`size-4 shrink-0 text-text-subtle`}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`block truncate text-[13px] font-medium`,children:e.name}),(0,J.jsx)(`span`,{className:`block truncate text-[11px] text-text-subtle`,children:Tg(e)})]}),(0,J.jsx)(`span`,{className:`shrink-0 rounded border border-border bg-surface-elevated px-1 py-px text-[9px] font-medium uppercase leading-none tracking-wide text-text-subtle`,children:e.transport})]})}),(0,J.jsxs)(au,{className:`w-40`,children:[(0,J.jsx)(ou,{onClick:()=>a(e),children:`Edit…`}),(0,J.jsx)(su,{}),(0,J.jsx)(ou,{variant:`destructive`,onClick:()=>o(e),children:`Delete`})]})]},e.name)),e.length===0&&t&&(0,J.jsx)(`p`,{className:`px-2 py-2 text-[11px] text-text-subtle`,children:`No MCP servers configured.`}),t&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-1 px-2 pt-1.5`,children:[(0,J.jsxs)(`button`,{onClick:r,className:`flex items-center justify-center gap-1.5 rounded-md bg-primary py-1.5 text-[11px] font-medium text-primary-foreground hover:bg-primary/90`,children:[(0,J.jsx)(et,{className:`size-3.5`}),` Add MCP server`]}),(0,J.jsxs)(`button`,{onClick:i,disabled:n,className:H(`flex items-center justify-center gap-1.5 rounded-md border border-border py-1.5 text-[11px] text-text-secondary hover:bg-surface-elevated`,n&&`opacity-50`),children:[(0,J.jsx)(Qe,{className:`size-3.5`}),` `,n?`Importing…`:`Import from Claude Code`]})]})]})}function Tg(e){let t=e.config;if(e.transport===`stdio`||!(`url`in t)){let e=t;return[e.command,...e.args??[]].filter(Boolean).join(` `)}return t.url??``}function Eg({onCreate:e,onAddMcp:t,onImportMcp:n}){return(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsxs)(`button`,{className:`flex items-center gap-1 rounded bg-primary px-2 py-1 text-[11px] font-medium text-primary-foreground hover:bg-primary/90`,children:[(0,J.jsx)(et,{className:`size-3`}),` New`]})}),(0,J.jsxs)(tl,{align:`end`,className:`w-44`,children:[(0,J.jsxs)(Z,{onClick:()=>e(`skill`),children:[(0,J.jsx)($n,{className:`size-3.5`}),` New Skill`]}),(0,J.jsxs)(Z,{onClick:()=>e(`agent`),children:[(0,J.jsx)(Me,{className:`size-3.5`}),` New Agent`]}),(0,J.jsxs)(Z,{onClick:()=>e(`command`),children:[(0,J.jsx)($r,{className:`size-3.5`}),` New Command`]}),(0,J.jsx)(al,{}),(0,J.jsxs)(Z,{onClick:t,children:[(0,J.jsx)(Nr,{className:`size-3.5`}),` New MCP Server`]}),(0,J.jsxs)(Z,{onClick:n,children:[(0,J.jsx)(Qe,{className:`size-3.5`}),` Import MCP…`]})]})]})}var Dg=[{id:`all`,label:`All`},{id:`skill`,label:`Skills`},{id:`agent`,label:`Agents`},{id:`command`,label:`Commands`},{id:`mcp`,label:`MCP`}];function Og(){let e=W(Ol(e=>e.activeProject)),t=e?.path??``,{result:n,loading:r,error:i,load:a,reload:o}=ng(Ol(e=>({result:e.result,loading:e.loading,error:e.error,load:e.load,reload:e.reload}))),{tabs:s,activeTabId:c}=G(Ol(e=>({tabs:e.tabs,activeTabId:e.activeTabId}))),{servers:l,reload:u,remove:d}=Cg(),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(`all`),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(`skill`),[b,x]=(0,q.useState)(null),[S,C]=(0,q.useState)(null),[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(null),[O,k]=(0,q.useState)(null),[A,j]=(0,q.useState)(!1);(0,q.useEffect)(()=>{a(t)},[t,a]);let M=(0,q.useMemo)(()=>s.find(e=>e.id===c&&e.type===`ai-resource`)?.metadata?.filePath??null,[s,c]),ee=m!==`mcp`,N=m===`all`||m===`mcp`,P=(0,q.useMemo)(()=>{if(!n||!ee)return[];let e=f.trim().toLowerCase();return n.groups.filter(e=>m===`all`||e.type===m).map(t=>({...t,items:t.items.filter(t=>!e||t.name.toLowerCase().includes(e)||t.description.toLowerCase().includes(e))})).filter(e=>e.items.length>0)},[n,m,f,ee]),te=(0,q.useMemo)(()=>{if(!N)return[];let e=f.trim().toLowerCase();return e?l.filter(t=>t.name.toLowerCase().includes(e)||Tg(t).toLowerCase().includes(e)):l},[l,f,N]),ne=e=>Sg(e,t),re=async e=>{await o();let n=ng.getState().result?.groups.flatMap(e=>e.items).find(t=>t.filePath===e);n&&Sg(n,t)},ie=async()=>{if(S)try{await tg(S.filePath,S.type,t),z.success(`Deleted ${S.name}`),C(null),await o()}catch(e){z.error(e.message)}},ae=e=>{x(null),y(e),_(!0)},oe=()=>{D(null),T(!0)},se=e=>{T(!1),D(null),e&&u()},ce=async()=>{if(O)try{await d(O.name),z.success(`Deleted ${O.name}`),k(null)}catch(e){z.error(e.message)}},le=async()=>{j(!0);try{let e=await sg();z.success(`Imported ${e.imported}, skipped ${e.skipped}`),await u()}catch(e){z.error(e.message)}finally{j(!1)}},ue=n?.stats,de=P.length===0&&(!N||te.length===0)&&m!==`mcp`;return(0,J.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,J.jsxs)($l,{icon:Ye,title:`AI Resources`,children:[(0,J.jsx)(`button`,{onClick:()=>{o(),u()},title:`Refresh`,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground`,children:(0,J.jsx)(Rr,{className:H(`size-3.5`,r&&`animate-spin`)})}),(0,J.jsx)(Eg,{onCreate:ae,onAddMcp:oe,onImportMcp:le})]}),(0,J.jsx)(`div`,{className:`px-2 pt-2 shrink-0`,children:(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsx)(Wr,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,J.jsx)(`input`,{value:f,onChange:e=>p(e.target.value),placeholder:`Filter resources…`,className:`w-full rounded-md border border-border bg-surface-elevated py-1.5 pl-7 pr-2 text-xs outline-none focus:border-primary/50`})]})}),(0,J.jsx)(`div`,{className:`flex gap-1 px-2 py-2 shrink-0`,children:Dg.map(e=>(0,J.jsx)(`button`,{onClick:()=>h(e.id),className:H(`rounded-full border px-2 py-0.5 text-[11px] transition-colors`,m===e.id?`border-primary/40 bg-primary/10 text-primary`:`border-border text-text-subtle hover:bg-surface-elevated`),children:e.label},e.id))}),(0,J.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:i?(0,J.jsx)(`div`,{className:`p-4 text-center text-xs text-destructive`,children:i}):r&&!n?(0,J.jsx)(`div`,{className:`space-y-1 p-2`,children:Array.from({length:6}).map((e,t)=>(0,J.jsx)(`div`,{className:`h-9 animate-pulse rounded bg-surface-elevated`},t))}):de?(0,J.jsx)(kg,{hasProject:!!e,search:f}):(0,J.jsxs)(J.Fragment,{children:[P.map(e=>(0,J.jsxs)(`div`,{className:`pb-1`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-subtle`,children:[(0,J.jsx)(`span`,{children:hg[e.type]}),(0,J.jsx)(`span`,{className:`text-text-subtle/60`,children:e.items.length})]}),e.items.map(e=>(0,J.jsx)(yg,{item:e,active:M===e.filePath,onOpen:ne,onDuplicate:e=>x(e),onDelete:e=>C(e)},`${e.source}:${e.filePath}`))]},e.type)),N&&(0,J.jsx)(wg,{servers:te,showActions:m===`mcp`,importing:A,onAdd:oe,onImport:le,onEdit:e=>{D(e),T(!0)},onDelete:e=>k(e)})]})}),ue&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-t border-border px-2 py-1 text-[10px] text-text-subtle shrink-0`,children:[(0,J.jsxs)(`span`,{children:[ue.active,` active`]}),(0,J.jsx)(`span`,{children:`·`}),(0,J.jsxs)(`span`,{children:[ue.project,` project`]}),(0,J.jsx)(`span`,{children:`·`}),(0,J.jsxs)(`span`,{children:[ue.shadowed,` shadowed`]})]}),(0,J.jsx)(bg,{open:g||!!b,onOpenChange:e=>{e||(_(!1),x(null))},mode:b?`duplicate`:`create`,source:b,initialType:v,project:t,hasProject:!!e,onSuccess:re}),(0,J.jsx)(xg,{open:!!S,kind:S?.type??``,name:S?.name??``,folderWarning:S?.type===`skill`,onCancel:()=>C(null),onConfirm:ie}),(0,J.jsx)(dg,{open:w,onClose:se,editServer:E}),(0,J.jsx)(xg,{open:!!O,kind:`MCP server`,name:O?.name??``,onCancel:()=>k(null),onConfirm:ce})]})}function kg({hasProject:e,search:t}){return t?(0,J.jsxs)(`div`,{className:`p-6 text-center text-xs text-text-subtle`,children:[`No resources match “`,t,`”.`]}):(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-2 p-6 text-center`,children:[(0,J.jsx)(zn,{className:`size-6 text-text-subtle`}),(0,J.jsx)(`p`,{className:`text-xs font-medium`,children:e?`No resources yet`:`No project selected`}),(0,J.jsx)(`p`,{className:`text-[11px] text-text-subtle`,children:e?`Create one with the New button above.`:`Project resources appear here once a project is open. User & bundled resources are still shown.`})]})}var Ag={list:(e=!1)=>R.get(`/api/tunnels${e?`?force=1`:``}`),start:e=>R.post(`/api/tunnels`,{port:e}),stop:e=>R.del(`/api/tunnels/${e}`)},jg={app:{label:`app`,cls:`bg-primary/10 text-primary`},ppm:{label:`ppm`,cls:`bg-success/10 text-success`},external:{label:`external`,cls:`bg-surface-elevated text-text-secondary`}};function Mg(){let[e,t]=(0,q.useState)([]),[n,r]=(0,q.useState)(``),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(null),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(!1),g=(0,q.useCallback)(async(e=!1)=>{e&&h(!0);try{t(await Ag.list(e))}catch(e){console.warn(`[tunnels] failed to fetch`,e)}finally{p(!0),e&&h(!1)}},[]);(0,q.useEffect)(()=>{g();let e=setInterval(()=>g(),1e4);return()=>clearInterval(e)},[g]);let _=async e=>{a(!0),s(null);try{let t=await Ag.start(e);window.open(t.url,`_blank`),r(``),await g()}catch(t){s(t.message||`Failed to start tunnel for port ${e}`)}finally{a(!1)}},v=async e=>{if(e.source===`external`&&u!==e.pid){d(e.pid),setTimeout(()=>d(t=>t===e.pid?null:t),4e3);return}d(null);try{await Ag.stop(e.pid),await g()}catch(t){z.error(t.message||`Failed to stop tunnel (pid ${e.pid})`)}},y=(e,t)=>{bc(t).then(t=>{if(!t){z.error(`Failed to copy URL`);return}l(e),z.success(`URL copied`),setTimeout(()=>l(null),2e3)})};return(0,J.jsxs)(`div`,{className:`flex flex-col h-full w-full bg-background`,children:[(0,J.jsxs)(`div`,{className:`p-3 border-b border-border bg-surface`,children:[(0,J.jsxs)(`form`,{onSubmit:e=>{e.preventDefault();let t=parseInt(n,10);t>=1&&t<=65535?_(t):s(`Port must be 1-65535`)},className:`flex items-center gap-2`,children:[(0,J.jsxs)(`div`,{className:`flex-1 min-w-0 flex items-center gap-1.5 px-2.5 py-2 rounded-lg bg-background border border-border focus-within:border-primary/50 transition-colors`,children:[(0,J.jsx)(`span`,{className:`text-xs text-text-subtle shrink-0`,children:`localhost:`}),(0,J.jsx)(`input`,{type:`number`,value:n,onChange:e=>{r(e.target.value),s(null)},placeholder:`3000`,min:1,max:65535,className:`flex-1 min-w-0 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none`})]}),(0,J.jsx)(`button`,{type:`submit`,disabled:i||!n,className:`px-3 py-2 rounded-lg bg-primary text-primary-foreground text-sm font-medium hover:bg-primary/90 disabled:opacity-50 transition-colors shrink-0 flex items-center justify-center`,children:i?(0,J.jsx)(K,{className:`size-4 animate-spin`}):`Forward`}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>g(!0),disabled:m,title:`Refresh`,"aria-label":`Refresh tunnels`,className:`shrink-0 p-2 rounded-lg hover:bg-surface-elevated transition-colors disabled:opacity-50`,children:(0,J.jsx)(Rr,{className:`size-4 text-text-secondary ${m?`animate-spin`:``}`})})]}),o&&(0,J.jsx)(`p`,{className:`text-xs text-error mt-2`,children:o})]}),(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto p-3`,children:f?e.length===0?(0,J.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full gap-3 text-center px-2`,children:[(0,J.jsx)(Jn,{className:`size-8 text-text-subtle`}),(0,J.jsx)(`p`,{className:`text-xs text-text-secondary`,children:`No cloudflared tunnels running. Forward a port, or start one elsewhere and it will appear here.`})]}):(0,J.jsx)(`div`,{className:`space-y-2`,children:e.map(e=>(0,J.jsxs)(`div`,{className:`p-2.5 rounded-lg bg-surface border border-border`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsx)(`span`,{className:`shrink-0 font-mono text-sm font-medium text-text-primary`,children:e.port==null?`—`:`:${e.port}`}),(0,J.jsx)(`span`,{className:`shrink-0 px-1.5 py-0.5 rounded text-[10px] font-medium uppercase tracking-wide ${jg[e.source].cls}`,children:jg[e.source].label}),(0,J.jsx)(`div`,{className:`flex-1`}),e.protected?(0,J.jsx)(`div`,{className:`shrink-0 p-1.5`,title:`App tunnel — managed by PPM, not stoppable here`,children:(0,J.jsx)(fr,{className:`size-4 text-text-subtle`})}):(0,J.jsx)(`button`,{onClick:()=>v(e),className:`shrink-0 h-8 min-w-8 px-1.5 flex items-center justify-center rounded-md transition-colors ${u===e.pid?`bg-error/15`:`hover:bg-error/10`}`,title:u===e.pid?`Click again to confirm stop`:`Stop tunnel`,children:u===e.pid?(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-error`,children:`Sure?`}):(0,J.jsx)(ti,{className:`size-4 text-error`})})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 mt-1`,children:[(0,J.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-xs ${e.url?`text-text-secondary`:`text-text-subtle italic`}`,children:e.url??`unknown`}),e.url&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{onClick:()=>window.open(e.url,`_blank`),className:`shrink-0 p-1.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Open in browser`,children:(0,J.jsx)(Tn,{className:`size-3.5 text-text-secondary`})}),(0,J.jsx)(`button`,{onClick:()=>y(e.pid,e.url),className:`shrink-0 p-1.5 rounded-md hover:bg-surface-elevated transition-colors`,title:`Copy URL`,children:c===e.pid?(0,J.jsx)(Fe,{className:`size-3.5 text-success`}):(0,J.jsx)(Xe,{className:`size-3.5 text-text-secondary`})})]})]}),(0,J.jsxs)(`div`,{className:`mt-1 text-[10px] font-mono text-text-subtle`,children:[`pid `,e.pid]})]},e.pid))}):(0,J.jsx)(`div`,{className:`flex items-center justify-center h-full`,children:(0,J.jsx)(K,{className:`size-6 animate-spin text-primary`})})})]})}function Ng({projectName:e,onTagsChanged:t}){let[n,r]=(0,q.useState)([]),[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(!0),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[g,_]=(0,q.useState)(`#22c55e`),[v,y]=(0,q.useState)(!1),b=`${L(e)}/tags`,x=(0,q.useCallback)(async()=>{try{let e=await R.get(b);r(e.tags),a(e.defaultTagId)}catch{}s(!1)},[b]);(0,q.useEffect)(()=>{x()},[x]);let S=async()=>{if(m.trim())try{await R.post(b,{name:m.trim(),color:g}),h(``),y(!1),x(),t?.()}catch{}},C=async e=>{try{await R.patch(`${b}/${e}`,{name:u.trim()||void 0,color:f||void 0}),l(null),x(),t?.()}catch{}},w=async(e,n)=>{if(window.confirm(`Delete tag "${n}"? Sessions with this tag will become untagged.`))try{await R.del(`${b}/${e}`),x(),t?.()}catch{}},T=async e=>{let t=e===i?null:e;try{await R.patch(`${b}/default-tag`,{tagId:t}),a(t)}catch{}};return o?(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground animate-pulse`,children:`Loading tags...`}):(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsx)(`h3`,{className:`text-xs font-medium text-muted-foreground`,children:`Session Tags`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`button`,{onClick:async()=>{try{await R.post(`${b}/reset`,{}),x(),t?.()}catch{}},className:`p-1 rounded text-text-subtle hover:text-text-secondary`,title:`Reset to defaults`,children:(0,J.jsx)(Vr,{className:`size-3`})}),(0,J.jsx)(`button`,{onClick:()=>y(!v),className:`p-1 rounded text-primary hover:bg-primary/10`,title:`Add tag`,children:(0,J.jsx)(et,{className:`size-3.5`})})]})]}),v&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 px-1`,children:[(0,J.jsx)(`input`,{type:`color`,value:g,onChange:e=>_(e.target.value),className:`size-6 rounded cursor-pointer border-0 p-0`}),(0,J.jsx)(`input`,{value:m,onChange:e=>h(e.target.value),onKeyDown:e=>{e.key===`Enter`&&S(),e.key===`Escape`&&y(!1)},placeholder:`Tag name`,className:`flex-1 min-w-0 bg-surface-elevated text-[11px] text-text-primary px-2 py-1 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}),(0,J.jsx)(`button`,{onClick:S,className:`p-1 text-success hover:text-success/80`,children:(0,J.jsx)(Fe,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>y(!1),className:`p-1 text-text-subtle hover:text-text-secondary`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}),(0,J.jsxs)(`div`,{className:`space-y-0.5`,children:[n.map(e=>(0,J.jsx)(`div`,{className:`flex items-center gap-1.5 px-1 py-1 rounded hover:bg-surface-elevated group`,children:c===e.id?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{type:`color`,value:f,onChange:e=>p(e.target.value),className:`size-5 rounded cursor-pointer border-0 p-0`}),(0,J.jsx)(`input`,{value:u,onChange:e=>d(e.target.value),onKeyDown:t=>{t.key===`Enter`&&C(e.id),t.key===`Escape`&&l(null)},className:`flex-1 min-w-0 bg-surface-elevated text-[11px] px-1.5 py-0.5 rounded border border-border outline-none focus:border-primary`,autoFocus:!0}),(0,J.jsx)(`button`,{onClick:()=>C(e.id),className:`p-0.5 text-success`,children:(0,J.jsx)(Fe,{className:`size-3`})}),(0,J.jsx)(`button`,{onClick:()=>l(null),className:`p-0.5 text-text-subtle`,children:(0,J.jsx)(tt,{className:`size-3`})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`size-3 rounded-full shrink-0`,style:{backgroundColor:e.color}}),(0,J.jsx)(`span`,{className:`flex-1 text-[11px] text-text-primary truncate`,children:e.name}),(0,J.jsx)(`button`,{onClick:()=>T(e.id),className:`px-1.5 py-0.5 rounded text-[9px] font-medium transition-colors ${e.id===i?`bg-primary/15 text-primary border border-primary/30`:`text-text-subtle border border-transparent can-hover:opacity-0 can-hover:group-hover:opacity-100 hover:bg-surface-elevated hover:border-border`}`,title:e.id===i?`Default tag (click to unset)`:`Set as default for new sessions`,children:e.id===i?`Default`:`Set default`}),(0,J.jsx)(`button`,{onClick:()=>{l(e.id),d(e.name),p(e.color)},className:`p-0.5 rounded text-text-subtle hover:text-text-secondary can-hover:opacity-0 can-hover:group-hover:opacity-100`,children:(0,J.jsx)(kr,{className:`size-3`})}),(0,J.jsx)(`button`,{onClick:()=>w(e.id,e.name),className:`p-0.5 rounded text-text-subtle hover:text-error can-hover:opacity-0 can-hover:group-hover:opacity-100`,children:(0,J.jsx)(si,{className:`size-3`})})]})},e.id)),n.length===0&&(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground py-2 text-center`,children:`No tags. Click + to create one.`})]})]})}function Pg(e){let t=[],n=/<mark>([\s\S]*?)<\/mark>/g,r=0,i;for(;(i=n.exec(e))!==null;)i.index>r&&t.push({text:e.slice(r,i.index),mark:!1}),t.push({text:i[1]??``,mark:!0}),r=n.lastIndex;return r<e.length&&t.push({text:e.slice(r),mark:!1}),t}function Fg({snippet:e,className:t}){return(0,J.jsx)(`span`,{className:t,children:Pg(e).map((e,t)=>e.mark?(0,J.jsx)(`mark`,{className:`bg-warning/30 text-foreground rounded-sm px-0.5`,children:e.text},t):(0,J.jsx)(`span`,{children:e.text},t))})}var Ig=50;function Lg({projectName:e,sessionId:t,onSelectSession:n,enableKeyboardShortcuts:r=!1}){let[i,a]=(0,q.useState)([]),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(``),u=yo(c,300),[d,f]=(0,q.useState)(null),[p,m]=(0,q.useState)(``),[h,g]=(0,q.useState)(!1),[_,v]=(0,q.useState)(!1),[y,b]=(0,q.useState)([]),[x,S]=(0,q.useState)(null),[C,w]=(0,q.useState)({}),[T,E]=(0,q.useState)(!1),D=(0,q.useRef)(null),O=G(e=>e.openTab),k=(0,q.useCallback)(async t=>{if(e){s(!0);try{let n=new URLSearchParams({limit:String(Ig),offset:`0`});t&&n.set(`q`,t);let r=await R.get(`${L(e)}/chat/sessions?${n}`);a(r.sessions),g(r.hasMore)}catch{}finally{s(!1)}}},[e]),A=(0,q.useCallback)(async()=>{if(!(!e||_||!h)){v(!0);try{let t=i.filter(e=>!e.pinned).length,n=new URLSearchParams({limit:String(Ig),offset:String(t)});u&&n.set(`q`,u);let r=await R.get(`${L(e)}/chat/sessions?${n}`);a(e=>{let t=new Set(e.map(e=>e.id)),n=r.sessions.filter(e=>!t.has(e.id));return[...e,...n]}),g(r.hasMore)}catch{}finally{v(!1)}}},[e,_,h,i,u]),j=(0,q.useCallback)(async()=>{if(e)try{let t=await R.get(`${L(e)}/tags`);b(t.tags),w(t.counts)}catch{}},[e]);(0,q.useEffect)(()=>{k()},[k]),(0,q.useEffect)(()=>{e&&j()},[e,j]),(0,q.useEffect)(()=>{k(u||void 0)},[u]);function M(t){n?n(t):O({type:`chat`,title:t.title||`Chat`,projectId:e??null,metadata:{projectName:e,sessionId:t.id,providerId:t.providerId},closable:!0})}let ee=(0,q.useCallback)((e,t)=>{t.stopPropagation(),f(e.id),m(e.title||``),setTimeout(()=>D.current?.select(),0)},[]),N=(0,q.useCallback)(async()=>{if(!d||!p.trim()||!e){f(null);return}try{await R.patch(`${L(e)}/chat/sessions/${d}`,{title:p.trim()}),a(e=>e.map(e=>e.id===d?{...e,title:p.trim()}:e))}catch{}f(null)},[d,p,e]),P=(0,q.useCallback)(()=>f(null),[]),te=(0,q.useCallback)(async(t,n)=>{if(t.stopPropagation(),!e)return;let r=`${L(e)}/chat/sessions/${n.id}/pin`;try{n.pinned?await R.del(r):await R.put(r),a(e=>e.map(e=>e.id===n.id?{...e,pinned:!e.pinned}:e).sort((e,t)=>e.pinned&&!t.pinned?-1:!e.pinned&&t.pinned?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()))}catch{}},[e]),ne=(0,q.useCallback)(async(t,n)=>{if(t.stopPropagation(),e&&window.confirm(`Delete this session? This cannot be undone.`))try{await R.del(`${L(e)}/chat/sessions/${n.id}?providerId=${n.providerId}`),a(e=>e.filter(e=>e.id!==n.id))}catch{}},[e]),re=(0,q.useCallback)((e,t)=>{a(n=>n.map(n=>n.id===e?{...n,tag:t}:n)),j()},[j]),ie=(0,q.useCallback)(async()=>{if(!e)return;let t=window.prompt(`Delete sessions older than how many days? (pinned sessions are kept)`,`30`);if(!t)return;let n=parseInt(t,10);if(!(!n||n<1)&&window.confirm(`Delete all unpinned sessions older than ${n} days? This cannot be undone.`)){s(!0);try{await R.del(`${L(e)}/chat/sessions?olderThanDays=${n}`),k(u||void 0)}catch{}}},[e,k,u]);return(0,q.useEffect)(()=>{if(!r)return;let n=n=>{if(n.target instanceof HTMLInputElement||n.target instanceof HTMLTextAreaElement)return;let r=parseInt(n.key);if(r>=1&&r<=y.length&&t){let n=y[r-1];n&&(R.patch(`${L(e)}/chat/sessions/${t}/tag`,{tagId:n.id}).catch(()=>{}),re(t,{id:n.id,name:n.name,color:n.color}))}};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[r,y,t,e,re]),{sessions:i,filteredSessions:x===null?i:i.filter(e=>e.tag?.id===x),loading:o,hasMore:h,loadingMore:_,searchQuery:c,setSearchQuery:l,editingId:d,editingTitle:p,setEditingTitle:m,editInputRef:D,projectTags:y,selectedTagId:x,setSelectedTagId:S,tagCounts:C,showTagSettings:T,setShowTagSettings:E,load:k,loadMore:A,loadTags:j,openSession:M,startEditing:ee,saveTitle:N,cancelEditing:P,togglePin:te,deleteSession:ne,handleTagChanged:re,bulkDelete:ie}}var Rg={results:[],indexing:{total:0,indexed:0,running:!1}};function zg(e,t){let n=yo(t,300),[r,i]=(0,q.useState)(Rg),[a,o]=(0,q.useState)(!1);return(0,q.useEffect)(()=>{let t=n.trim();if(!t||!e){i(Rg),o(!1);return}let r=!1;return o(!0),R.get(`${L(e)}/chat/search?q=${encodeURIComponent(t)}`).then(e=>{r||i(e)}).catch(()=>{r||i(Rg)}).finally(()=>{r||o(!1)}),()=>{r=!0}},[e,n]),{results:r.results,indexing:r.indexing,loading:a,query:n}}function Bg({search:e,onOpen:t}){return(0,J.jsxs)(`div`,{children:[e.indexing.running&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-3 py-1 text-[10px] text-text-subtle`,children:[(0,J.jsx)(K,{className:`size-2.5 animate-spin`}),` Indexing `,e.indexing.indexed,`/`,e.indexing.total,`…`]}),e.loading&&e.results.length===0?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,J.jsx)(K,{className:`size-3.5 animate-spin text-text-subtle`})}):e.results.length===0?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-3 text-[11px] text-text-subtle`,children:e.indexing.running?`No matches yet — indexing…`:`No matches`}):e.results.map(e=>(0,J.jsxs)(`button`,{onClick:()=>t(e),className:`group relative flex w-full items-center gap-2 px-2 py-1.5 text-left hover:bg-surface-elevated transition-colors`,children:[(0,J.jsx)(gr,{className:`size-4 shrink-0 text-text-subtle`}),(0,J.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`span`,{className:`flex items-center gap-1.5`,children:(0,J.jsx)(`span`,{className:`truncate text-[13px] font-medium`,children:e.title||`Untitled`})}),e.matchedIn===`content`&&e.snippet&&(0,J.jsx)(Fg,{snippet:e.snippet,className:`block text-[11px] text-text-subtle line-clamp-2`})]})]},e.sessionId))]})}function Vg({projectName:e,variant:t,sessionId:n,onSelectSession:r,onNavigate:i,className:a}){let o=Lg({projectName:e,sessionId:n,onSelectSession:r,enableKeyboardShortcuts:t===`bar`}),s=Do(e=>e.notifications),c=G(e=>e.openTab),l=t===`sidebar`,u=zg(e,l?o.searchQuery:``),d=l&&o.searchQuery.trim().length>0;function f(t){c({type:`chat`,title:t.title||`Chat`,projectId:e,metadata:{projectName:e,sessionId:t.sessionId,providerId:t.providerId},closable:!0}),i?.()}function p(e){o.openSession(e),i?.()}return(0,J.jsxs)(`div`,{className:H(l?`flex flex-col h-full min-h-0`:`border-t border-border/30 bg-surface`,a),children:[l&&(0,J.jsx)($l,{icon:$t,title:`Chat History`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 shrink-0`,children:[(0,J.jsxs)(`div`,{className:`relative flex-1`,children:[(0,J.jsx)(Wr,{className:`pointer-events-none absolute left-2 top-1/2 size-3.5 -translate-y-1/2 text-text-subtle`}),(0,J.jsx)(`input`,{type:`text`,value:o.searchQuery,onChange:e=>o.setSearchQuery(e.target.value),placeholder:`Filter sessions…`,className:`w-full rounded-md border border-border bg-surface-elevated py-1.5 pl-7 pr-2 text-xs outline-none focus:border-primary/50`})]}),(0,J.jsx)(`button`,{onClick:o.bulkDelete,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-error`,title:`Delete old sessions...`,children:(0,J.jsx)(rn,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>o.load(o.searchQuery||void 0),disabled:o.loading,className:`flex size-6 items-center justify-center rounded text-text-subtle hover:bg-surface-elevated hover:text-foreground disabled:opacity-50`,title:`Refresh`,children:(0,J.jsx)(Rr,{className:H(`size-3.5`,o.loading&&`animate-spin`)})})]}),o.projectTags.length>0&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1 px-2 py-2 overflow-x-auto scrollbar-none shrink-0`,children:[(0,J.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(null),className:H(`shrink-0 rounded-full border px-2 py-0.5 text-[11px] transition-colors`,o.selectedTagId===null?`border-primary/40 bg-primary/10 text-primary`:`border-border text-text-subtle hover:bg-surface-elevated`),children:[`All (`,o.sessions.length,`)`]}),o.projectTags.map(e=>(0,J.jsxs)(`button`,{onClick:()=>o.setSelectedTagId(o.selectedTagId===e.id?null:e.id),className:H(`shrink-0 flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] transition-colors`,o.selectedTagId===e.id?`border-current`:`border-border text-text-subtle hover:bg-surface-elevated`),style:o.selectedTagId===e.id?{backgroundColor:e.color+`20`,color:e.color,borderColor:e.color}:void 0,children:[(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,` (`,o.tagCounts[e.id]??0,`)`]},e.id)),(0,J.jsx)(`button`,{onClick:()=>o.setShowTagSettings(!o.showTagSettings),className:H(`shrink-0 flex size-5 items-center justify-center rounded-full transition-colors`,o.showTagSettings?`text-primary bg-primary/10`:`text-text-subtle hover:bg-surface-elevated`),title:`Manage tags`,children:(0,J.jsx)(ii,{className:`size-3`})})]}),o.showTagSettings&&(0,J.jsx)(`div`,{className:`border-b border-border/30 px-2 py-2 max-h-[180px] overflow-y-auto bg-surface-elevated/50 shrink-0`,children:(0,J.jsx)(Ng,{projectName:e,onTagsChanged:o.loadTags})}),(0,J.jsx)(`div`,{className:l?`flex-1 overflow-y-auto min-h-0`:`max-h-[200px] overflow-y-auto`,children:d?(0,J.jsx)(Bg,{search:u,onOpen:f}):o.loading&&o.sessions.length===0?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-3`,children:(0,J.jsx)(K,{className:`size-3.5 animate-spin text-text-subtle`})}):o.filteredSessions.length===0?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-3 text-[11px] text-text-subtle`,children:o.searchQuery?`No matching sessions`:`No sessions yet`}):(0,J.jsxs)(J.Fragment,{children:[o.filteredSessions.map(t=>{let r=s.get(t.id),i=!!r;return(0,J.jsx)(jo,{session:t,projectName:e,projectTags:o.projectTags,onTogglePin:o.togglePin,onStartEditing:o.startEditing,onDeleteSession:o.deleteSession,onTagChanged:o.handleTagChanged,children:(0,J.jsxs)(`div`,{className:H(`group relative flex w-full items-center gap-2 px-2 py-1.5 text-left transition-colors`,n===t.id?`bg-accent-wash text-foreground shadow-[inset_2px_0_0_var(--accent)]`:`hover:bg-surface-elevated`,i&&Eo(r.type),!i&&n!==t.id&&`text-text-secondary`),children:[(0,J.jsx)(Np,{providerId:t.providerId}),t.tag&&(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{backgroundColor:t.tag.color},title:t.tag.name}),o.editingId===t.id?(0,J.jsxs)(`form`,{className:`flex items-center gap-1 flex-1 min-w-0`,onSubmit:e=>{e.preventDefault(),o.saveTitle()},children:[(0,J.jsx)(`input`,{ref:o.editInputRef,value:o.editingTitle,onChange:e=>o.setEditingTitle(e.target.value),onBlur:o.saveTitle,onKeyDown:e=>{e.key===`Escape`&&o.cancelEditing()},className:`flex-1 min-w-0 bg-surface-elevated text-xs text-text-primary px-1.5 py-0.5 rounded border border-border outline-none focus:border-primary/50`,autoFocus:!0}),(0,J.jsx)(`button`,{type:`submit`,className:`p-0.5 text-success hover:text-success/80`,onClick:e=>e.stopPropagation(),children:(0,J.jsx)(Fe,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,className:`p-0.5 text-text-subtle hover:text-text-secondary`,onClick:e=>{e.stopPropagation(),o.cancelEditing()},children:(0,J.jsx)(tt,{className:`size-3`})})]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`min-w-0 flex-1`,children:(0,J.jsxs)(`button`,{onClick:()=>p(t),className:`w-full min-w-0 text-left`,children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-1`,children:[t.title?.startsWith(`[PPM]`)&&(0,J.jsx)(Me,{className:`size-3.5 text-muted-foreground shrink-0`}),(0,J.jsx)(`span`,{className:H(`truncate text-[13px]`,i?`font-semibold`:`font-medium`),children:t.title?.startsWith(`[PPM]`)?t.title.slice(7):t.title||`Untitled`})]}),t.updatedAt&&(0,J.jsx)(`span`,{className:`block text-[11px] text-text-subtle`,children:vo(t.updatedAt)})]})}),(0,J.jsx)(`button`,{onClick:e=>o.togglePin(e,t),className:H(`p-0.5 rounded transition-all`,t.pinned?`text-primary hover:text-primary/70`:`text-text-subtle hover:text-text-secondary can-hover:opacity-0 can-hover:group-hover:opacity-100`),title:t.pinned?`Unpin session`:`Pin session`,children:t.pinned?(0,J.jsx)(Ar,{className:`size-3`}):(0,J.jsx)(jr,{className:`size-3`})}),(0,J.jsxs)(`span`,{className:`flex items-center shrink-0 can-hover:hidden can-hover:group-hover:flex`,children:[(0,J.jsx)(`button`,{onClick:e=>o.startEditing(t,e),className:`p-0.5 rounded text-text-subtle hover:text-text-secondary transition-colors`,title:`Rename session`,children:(0,J.jsx)(kr,{className:`size-3`})}),(0,J.jsx)(`button`,{onClick:e=>o.deleteSession(e,t),className:`p-0.5 rounded text-text-subtle hover:text-error hover:bg-error/20 transition-colors`,title:`Delete session`,children:(0,J.jsx)(si,{className:`size-3`})})]})]})]})},t.id)}),o.hasMore&&(0,J.jsxs)(`button`,{onClick:o.loadMore,disabled:o.loadingMore,className:`flex items-center justify-center gap-1 w-full py-1.5 text-[11px] text-text-subtle hover:text-text-secondary hover:bg-surface-elevated transition-colors`,children:[o.loadingMore?(0,J.jsx)(K,{className:`size-3 animate-spin`}):null,o.loadingMore?`Loading...`:`Load more`]})]})})]})}var Hg={teams:`beta`,"os-explorer":`new`};function Ug(e){return e?Hg[e]:void 0}function Wg({id:e,variant:t=`inline`,className:n}){let r=Ug(e);if(!r)return null;let i=r===`new`?`bg-success/15 text-success`:`bg-accent-wash text-primary`;return(0,J.jsx)(`span`,{"aria-label":r,className:H(`rounded-full font-bold uppercase tracking-wide`,t===`corner`?`absolute -top-0.5 -right-0.5 px-1 text-[7px] leading-[1.4] shadow-sm`:`px-1.5 py-px text-[9px] font-semibold leading-[1.4]`,i,n),children:r})}var Gg=`/api/group-chat`;function Kg(e){return R.get(`${Gg}?projectPath=${encodeURIComponent(e)}`)}function qg(e){return R.get(`${Gg}/${encodeURIComponent(e)}`)}function Jg(e){return R.post(Gg,e)}function Yg(e,t){return R.patch(`${Gg}/${encodeURIComponent(e)}`,t)}function Xg(e,t){let n=new URLSearchParams;t?.limit!=null&&n.set(`limit`,String(t.limit)),t?.sinceTurn!=null&&n.set(`sinceTurn`,String(t.sinceTurn));let r=n.toString();return R.get(`${Gg}/${encodeURIComponent(e)}/feed${r?`?${r}`:``}`)}function Zg(e,t){return R.post(`${Gg}/${encodeURIComponent(e)}/message`,{content:t})}function Qg(e){return R.post(`${Gg}/${encodeURIComponent(e)}/stop`)}function $g(e){return R.post(`${Gg}/${encodeURIComponent(e)}/resume`)}function e_(e){return R.del(`${Gg}/${encodeURIComponent(e)}`)}function t_(e,t){return R.post(`${Gg}/${encodeURIComponent(e)}/members`,t)}function n_(e,t,n){return R.patch(`${Gg}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`,n)}function r_(e,t){return R.del(`${Gg}/${encodeURIComponent(e)}/members/${encodeURIComponent(t)}`)}function i_(e,t){return R.get(`${Gg}/${encodeURIComponent(e)}/transcript?sessionRef=${encodeURIComponent(t)}`)}function a_(e){return e.replace(/^Claude\s+/i,``)}function o_({value:e,onChange:t,projectName:n,providerId:r,disabled:i}){let[a,o]=(0,q.useState)([]),[s,c]=(0,q.useState)(!1),l=(0,q.useRef)(null),u=(0,q.useRef)(0);(0,q.useEffect)(()=>{!n||!r||R.get(`${L(n)}/chat/providers/${r}/models`).then(o).catch(()=>{})},[n,r]),(0,q.useEffect)(()=>{i&&c(!1)},[i]),(0,q.useEffect)(()=>{if(!s)return;let e=e=>{l.current&&!l.current.contains(e.target)&&c(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[s]),(0,q.useEffect)(()=>{s&&(u.current=Math.max(0,a.findIndex(t=>t.value===e)))},[s,e,a]);let d=(0,q.useCallback)(e=>{if(e.key===`Escape`){c(!1);return}if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;u.current=(u.current+t+a.length)%a.length,(l.current?.querySelector(`[data-idx="${u.current}"]`))?.focus()}if(e.key===`Enter`){e.preventDefault();let n=a[u.current];n&&(t(n.value),c(!1))}},[t,a]);if(a.length<=1)return null;let f=a.find(t=>t.value===e),p=f?a_(f.label):e??`Model`;return(0,J.jsxs)(`div`,{className:`relative`,children:[(0,J.jsxs)(`button`,{type:`button`,disabled:i,onClick:e=>{e.stopPropagation(),i||c(e=>!e)},className:`inline-flex items-center gap-1.5 px-[9px] py-1 rounded-full text-[11.5px] text-primary bg-accent-wash border border-accent-wash-border hover:brightness-110 transition-[filter] disabled:opacity-50 disabled:cursor-default`,"aria-label":`Model: ${f?.label??e??`default`}`,title:i?`Model can't change while running`:f?.label??void 0,children:[(0,J.jsx)(Ye,{className:`h-3.5 w-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`max-w-[90px] truncate`,children:p})]}),s&&!i&&(0,J.jsxs)(`div`,{ref:l,role:`listbox`,"aria-label":`Models`,onKeyDown:d,onMouseDown:e=>e.stopPropagation(),onClick:e=>e.stopPropagation(),className:`absolute bottom-full left-0 mb-1 z-50 w-56 rounded-lg border border-border popover-solid shadow-[var(--shadow-panel)]`,children:[(0,J.jsx)(`div`,{className:`px-3 py-2 border-b border-border`,children:(0,J.jsx)(`span`,{className:`text-xs font-medium text-text-secondary`,children:`Model`})}),(0,J.jsx)(`div`,{className:`py-1`,children:a.map((n,r)=>{let i=n.value===e;return(0,J.jsxs)(`button`,{"data-idx":r,role:`option`,"aria-selected":i,tabIndex:0,onClick:()=>{t(n.value),c(!1)},className:`w-full flex items-center gap-3 px-3 py-2 text-left transition-colors hover:bg-surface-elevated focus:bg-surface-elevated focus:outline-none ${i?`bg-surface-elevated`:``}`,children:[(0,J.jsx)(`span`,{className:`flex-1 text-sm font-medium text-text-primary`,children:n.label}),i&&(0,J.jsx)(Fe,{className:`size-4 shrink-0 text-primary`})]},n.value)})})]})]})}var s_=[`#6366f1`,`#ec4899`,`#14b8a6`,`#f59e0b`,`#8b5cf6`,`#ef4444`];function c_(){return{key:ot(),name:``,persona:``,model:null}}function l_({open:e,onClose:t,projectName:n,projectPath:r,providerId:i=`claude`,onCreated:a}){let o=_t(),[s,c]=(0,q.useState)(``),[l,u]=(0,q.useState)(10),[d,f]=(0,q.useState)(`Leader`),[p,m]=(0,q.useState)(``),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)([c_()]),[y,b]=(0,q.useState)(!1),[x,S]=(0,q.useState)(null),C=(0,q.useCallback)(()=>{c(``),u(10),f(`Leader`),m(``),g(null),v([c_()]),S(null),b(!1)},[]),w=(0,q.useCallback)(()=>{C(),t()},[C,t]),T=(e,t)=>v(n=>n.map(n=>n.key===e?{...n,...t}:n)),E=(0,q.useCallback)(async()=>{let e=s.trim();if(!e){S(`Group name is required`);return}if(!d.trim()){S(`Leader name is required`);return}let t=_.filter(e=>e.name.trim());if(t.length===0){S(`Add at least one member`);return}let i=[{role:`leader`,name:d.trim(),persona:p.trim()||null,model:h,color:s_[0]},...t.map((e,t)=>({role:`member`,name:e.name.trim(),persona:e.persona.trim()||null,model:e.model,color:s_[(t+1)%s_.length]}))];b(!0),S(null);try{a(await Jg({projectName:n,projectPath:r,name:e,maxTurns:l,members:i})),w()}catch(e){S(e instanceof Error?e.message:`Failed to create group`),b(!1)}},[s,l,d,p,h,_,n,r,a,w]),D=`w-full min-h-[40px] rounded-md border border-border bg-background px-3 py-2 text-sm text-foreground placeholder:text-text-subtle focus:outline-none focus:ring-1 focus:ring-primary`,O=(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto px-1 py-1`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Group name`}),(0,J.jsx)(`input`,{className:D,value:s,onChange:e=>c(e.target.value),placeholder:`e.g. Design Review`,autoFocus:!0})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`mb-1 block text-xs font-medium text-text-secondary`,children:`Reply cap (max AI turns per message, 1–50)`}),(0,J.jsx)(`input`,{type:`number`,min:1,max:50,className:D,value:l,onChange:e=>u(Math.max(1,Math.min(50,Number(e.target.value)||1)))})]}),(0,J.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,J.jsx)(`p`,{className:`mb-2 text-xs font-semibold uppercase tracking-wide text-primary`,children:`Leader`}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`input`,{className:D,value:d,onChange:e=>f(e.target.value),placeholder:`Leader name`}),(0,J.jsx)(`input`,{className:D,value:p,onChange:e=>m(e.target.value),placeholder:`Persona (optional)`}),(0,J.jsx)(o_,{value:h,onChange:g,projectName:n,providerId:i})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,J.jsx)(`p`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Members`}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>v(e=>[...e,c_()]),className:`inline-flex min-h-[32px] items-center gap-1 text-xs font-medium text-primary hover:underline`,children:[(0,J.jsx)(et,{className:`size-3.5`}),` Add`]})]}),(0,J.jsx)(`div`,{className:`flex flex-col gap-3`,children:_.map((e,t)=>(0,J.jsxs)(`div`,{className:`rounded-lg border border-border p-3`,children:[(0,J.jsxs)(`div`,{className:`mb-2 flex items-center justify-between`,children:[(0,J.jsxs)(`span`,{className:`text-[11px] text-text-subtle`,children:[`Member `,t+1]}),_.length>1&&(0,J.jsx)(`button`,{type:`button`,onClick:()=>v(t=>t.filter(t=>t.key!==e.key)),className:`flex size-8 items-center justify-center rounded-md text-text-subtle hover:bg-surface-elevated hover:text-destructive`,"aria-label":`Remove member`,children:(0,J.jsx)(si,{className:`size-4`})})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(`input`,{className:D,value:e.name,onChange:t=>T(e.key,{name:t.target.value}),placeholder:`Member name`}),(0,J.jsx)(`input`,{className:D,value:e.persona,onChange:t=>T(e.key,{persona:t.target.value}),placeholder:`Persona (optional)`}),(0,J.jsx)(o_,{value:e.model,onChange:t=>T(e.key,{model:t}),projectName:n,providerId:i})]})]},e.key))})]}),x&&(0,J.jsx)(`p`,{className:`text-xs text-destructive`,children:x}),(0,J.jsxs)(`div`,{className:`flex justify-end gap-2 pt-1`,children:[(0,J.jsx)(I,{variant:`outline`,onClick:w,disabled:y,children:`Cancel`}),(0,J.jsxs)(I,{onClick:E,disabled:y,children:[y&&(0,J.jsx)(K,{className:`mr-1.5 size-4 animate-spin`}),`Create group`]})]})]});return e?o?(0,J.jsx)(Tt,{open:!0,onClose:w,className:`flex max-h-[90vh] flex-col`,children:(0,J.jsxs)(`div`,{className:`flex min-h-0 flex-col px-4 pb-2`,children:[(0,J.jsx)(`h2`,{className:`mb-2 text-base font-semibold text-foreground`,children:`New group`}),O]})}):(0,J.jsx)(Tc,{open:!0,onOpenChange:e=>{e||w()},children:(0,J.jsxs)(kc,{className:`flex max-h-[85vh] flex-col sm:max-w-lg`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`New group`})}),O]})}):null}function u_(){let{activeProject:e}=W(Ol(e=>({activeProject:e.activeProject}))),t=U(e=>e.openTab),[n,r]=(0,q.useState)([]),[i,a]=(0,q.useState)(!1),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(!1),u=e?.path??null,d=e?.name??``,f=(0,q.useCallback)(()=>{if(!u){r([]);return}a(!0),Kg(u).then(r).catch(e=>s(e instanceof Error?e.message:`Failed to load groups`)).finally(()=>a(!1))},[u]);(0,q.useEffect)(()=>{f()},[f]);let p=(0,q.useCallback)(e=>{t({type:`group`,title:e.name,projectId:d,closable:!0,metadata:{groupId:e.id,projectName:d}})},[t,d]),m=(0,q.useCallback)(async e=>{try{await e_(e.id),r(t=>t.filter(t=>t.id!==e.id))}catch(e){s(e instanceof Error?e.message:`Failed to delete group`)}},[]);return e?(0,J.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,J.jsxs)(`div`,{className:`flex h-9 shrink-0 items-center justify-between border-b border-border px-2`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`text-xs font-semibold uppercase tracking-wide text-text-secondary`,children:`Teams`}),(0,J.jsx)(Wg,{id:`teams`})]}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(!0),className:`flex size-11 items-center justify-center rounded-md text-text-subtle hover:bg-surface-elevated hover:text-foreground md:size-7`,"aria-label":`New group`,children:(0,J.jsx)(et,{className:`size-4`})})]}),(0,J.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto p-1`,children:i?(0,J.jsx)(`div`,{className:`flex items-center justify-center py-6`,children:(0,J.jsx)(K,{className:`size-4 animate-spin text-primary`})}):o?(0,J.jsx)(`p`,{className:`px-2 py-3 text-xs text-destructive`,children:o}):n.length===0?(0,J.jsx)(`p`,{className:`px-2 py-3 text-xs text-text-subtle`,children:`No groups yet. Create one to start.`}):n.map(e=>(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`button`,{type:`button`,onClick:()=>p(e),className:`flex w-full min-h-[40px] items-center gap-2 rounded-md px-2 py-2 text-left text-sm text-text-secondary hover:bg-surface-elevated hover:text-foreground`,children:[(0,J.jsx)(fi,{className:`size-4 shrink-0 text-text-subtle`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.name})]})}),(0,J.jsx)(au,{children:(0,J.jsxs)(ou,{variant:`destructive`,onClick:()=>m(e),children:[(0,J.jsx)(si,{className:`size-4`}),` Delete group`]})})]},e.id))}),(0,J.jsx)(l_,{open:c,onClose:()=>l(!1),projectName:d,projectPath:u??``,onCreated:e=>{r(t=>[e,...t]),p(e)}})]}):(0,J.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view groups`})})}var d_=[{mode:`recent`,label:`Recent`,Icon:qe},{mode:`priority`,label:`Priority`,Icon:Gt},{mode:`name`,label:`Name`,Icon:Wt}];function f_(e,t,n){return n===`recent`?ht(e):n===`name`?[...e].sort((e,t)=>e.name.localeCompare(t.name)):mt(e,t)}var p_=[`terminal`,`chat`,`editor`,`database`,`sqlite`,`postgres`,`git-diff`,`settings`,`extension`,`group`];function m_(){let e=window.location.pathname,t=new URLSearchParams(window.location.search).get(`openChat`),n=e.match(/^\/project\/([^/]+)(?:\/([^/]+)(\/.*)?)?/);if(!n)return{projectName:null,tabType:null,tabIdentifier:null,openChat:t};let r=decodeURIComponent(n[1]),i=n[2]??null,a=n[3]?n[3].slice(1):null;return i===`tab`?{projectName:r,tabType:null,tabIdentifier:null,openChat:t}:{projectName:r,tabType:p_.includes(i)?i:null,tabIdentifier:a,openChat:t}}function h_(e,t){if(!e||e===`__global__`)return`/`;let n=`/project/${encodeURIComponent(e)}`;if(!t)return n;let r=t.indexOf(`@`),i=r===-1?t:t.slice(0,r),a=i.indexOf(`:`);if(a===-1)n+=`/${i}`;else{let e=i.slice(0,a),t=i.slice(a+1);n+=`/${e}/${t.replace(/[?#]/g,encodeURIComponent)}`}return n}function g_(e,t){return t?`${e}:${t}`:e}function __(e,t,n){switch(e){case`editor`:return t?{filePath:t,projectName:n}:null;case`chat`:{if(!t)return null;let e=t.indexOf(`/`),r=e===-1?t:t.slice(e+1),i=e===-1?void 0:t.slice(0,e),a=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(r)?r:void 0;return{...a&&{sessionId:a},...i&&{providerId:i},projectName:n}}case`terminal`:return{terminalIndex:parseInt(t??`1`,10),projectName:n};case`git-diff`:return t?{filePath:t,projectName:n}:null;case`settings`:return{};case`database`:{let[e,n]=(t??``).split(`:`);return e?{connectionId:e,tableName:n??``}:null}case`sqlite`:return t?{filePath:t,projectName:n}:null;case`postgres`:{let[e,n]=(t??``).split(`:`);return e?{connectionId:e,tableName:n??``}:null}case`extension`:return t?{viewType:t,projectName:n}:null;case`group`:return t?{groupId:t,projectName:n}:null;default:return null}}function v_(e,t){switch(e){case`editor`:return t?.split(`/`).pop()??`File`;case`chat`:return`Chat`;case`terminal`:return`Terminal ${t??`1`}`;case`git-diff`:return t?.split(`/`).pop()??`Diff`;case`settings`:return`Settings`;case`database`:return t??`Database`;case`sqlite`:return t?.split(`/`).pop()??`SQLite`;case`postgres`:return t??`PostgreSQL`;case`extension`:return t?t.split(`-`).map(e=>(e[0]?.toUpperCase()??``)+e.slice(1)).join(` `):`Extension`;case`group`:return`Group`;default:return e}}function y_(e,t,n){let{tabs:r,setActiveTab:i,openTab:a}=G.getState(),o=g_(e,t),s=r.find(e=>e.id===o);if(s){i(s.id);return}let c=__(e,t,n);c&&a({type:e,title:v_(e,t),projectId:n,closable:!0,metadata:c})}function b_(){let e=G(e=>e.activeTabId),t=G(e=>e.currentProject),n=(0,q.useRef)(!1);(0,q.useEffect)(()=>{if(n.current){n.current=!1;return}let r=h_(t,e);window.location.pathname!==r&&window.history.pushState(null,``,r)},[e,t]),(0,q.useEffect)(()=>{function e(){let{tabType:e,tabIdentifier:t}=m_();if(!e)return;n.current=!0;let{tabs:r,setActiveTab:i}=G.getState(),a=g_(e,t),o=r.find(e=>e.id===a);if(o)i(o.id);else{let n=G.getState().currentProject;n&&y_(e,t,n)}}return window.addEventListener(`popstate`,e),()=>window.removeEventListener(`popstate`,e)},[])}var x_=[`linear-gradient(135deg, #667eea, #764ba2)`,`linear-gradient(135deg, #f5576c, #f093fb)`,`linear-gradient(135deg, #4facfe, #00c6ff)`,`linear-gradient(135deg, #43e97b, #38f9d7)`,`linear-gradient(135deg, #fa709a, #fee140)`,`linear-gradient(135deg, #a18cd1, #6a3de8)`,`linear-gradient(135deg, #fd7043, #ff8a65)`,`linear-gradient(135deg, #26c6da, #0097a7)`,`linear-gradient(135deg, #ab47bc, #7b1fa2)`,`linear-gradient(135deg, #ef5350, #b71c1c)`,`linear-gradient(135deg, #1976d2, #42a5f5)`,`linear-gradient(135deg, #2e7d32, #66bb6a)`];function S_(e,t){return e??x_[t%x_.length]}function C_(e,t){let n=e.split(/[-_.\s]+/).filter(Boolean),r=(n[0]?.[0]??e[0]??`?`).toUpperCase(),i=n.length>1?r+(n[1][0]??``).toUpperCase():r,a=t.filter(t=>t!==e);if(!a.map(e=>(e.split(/[-_.\s]+/).filter(Boolean)[0]?.[0]??e[0]??``).toUpperCase()).includes(r))return r;if(!a.map(e=>{let t=e.split(/[-_.\s]+/).filter(Boolean),n=(t[0]?.[0]??e[0]??``).toUpperCase(),r=t.length>1?(t[1][0]??``).toUpperCase():n;return t.length>1?n+r:n}).includes(i))return i;let o=t.indexOf(e);return String(o>=0?o+1:`?`)}var w_=(0,q.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a=`circle`}){let[o,s]=(0,q.useState)(!1);(0,q.useEffect)(()=>{s(!1)},[n]);let c=a===`square`?`rounded-[7px]`:`rounded-full`;if(n&&!o){let t=it(),i=new URLSearchParams({v:n});return t&&i.set(`token`,t),(0,J.jsx)(`img`,{src:`/api/projects/${encodeURIComponent(e)}/image?${i.toString()}`,alt:e,onError:()=>s(!0),className:H(`object-cover shrink-0 select-none`,c),style:{width:r,height:r}})}return(0,J.jsx)(`div`,{className:H(`flex items-center justify-center font-bold text-white select-none shrink-0`,c),style:{background:t,width:r,height:r,fontSize:r<=24?10:11},children:C_(e,i)})});function T_({onSuccess:e,onCancel:t,footerClassName:n}){let{addProject:r}=W(Ol(e=>({addProject:e.addProject}))),[i,a]=(0,q.useState)(`local`),[o,s]=(0,q.useState)(``),[c,l]=(0,q.useState)(``),[u,d]=(0,q.useState)([]),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(!1),[v,y]=(0,q.useState)(``),[b,x]=(0,q.useState)(`~/Projects`),[S,C]=(0,q.useState)(``),[w,T]=(0,q.useState)(!1),[E,D]=(0,q.useState)(``),O=(0,q.useRef)(null),k=(0,q.useRef)(null);(0,q.useEffect)(()=>{R.get(`/api/projects/last-clone-dir`).then(e=>{e?.dir&&x(e.dir)}).catch(()=>{})},[]),(0,q.useEffect)(()=>{if(!v.trim()){C(``);return}let e=v.match(/[/:]([^/:]+?)(?:\.git)?\s*$/);e?.[1]&&C(e[1])},[v]),(0,q.useEffect)(()=>{if(O.current&&clearTimeout(O.current),!o.trim()){d([]),p(!1);return}O.current=setTimeout(async()=>{h(!0);try{d(await R.get(`/api/projects/suggest-dirs?q=${encodeURIComponent(o)}`)??[]),p(!0)}catch{d([])}finally{h(!1)}},250)},[o]),(0,q.useEffect)(()=>{function e(e){k.current&&!k.current.contains(e.target)&&p(!1)}return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[]);function A(e){s(e.path),c||l(e.name),p(!1)}async function j(t){if(t?.preventDefault(),!o.trim()){D(`Path is required`);return}D(``),_(!0);try{await r(o.trim(),c.trim()||void 0),e()}catch(e){D(e instanceof Error?e.message:`Failed to add project`)}finally{_(!1)}}async function M(t){if(t?.preventDefault(),!v.trim()){D(`Git URL is required`);return}if(!b.trim()){D(`Clone directory is required`);return}D(``),T(!0);try{let t=await R.post(`/api/projects/git/clone`,{url:v.trim(),targetDir:b.trim(),name:S.trim()||void 0}),{fetchProjects:n,setActiveProject:r}=W.getState();await n();let i=W.getState().projects.find(e=>e.path===t.path);i&&r(i),e()}catch(e){D(e instanceof Error?e.message:`Clone failed`)}finally{T(!1)}}return(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,J.jsx)(`div`,{className:`flex gap-1 border-b border-border`,children:[`local`,`clone`].map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>{a(e),D(``)},className:H(`px-3 py-1.5 text-sm font-medium border-b-2 -mb-px transition-colors`,i===e?`border-primary text-foreground`:`border-transparent text-text-secondary hover:text-foreground`),children:e===`local`?`Local folder`:`Clone from Git`},e))}),i===`local`?(0,J.jsxs)(`form`,{onSubmit:j,className:`flex flex-col gap-3`,children:[(0,J.jsxs)(`div`,{ref:k,className:`relative`,children:[(0,J.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Project path`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsxs)(`div`,{className:`relative flex items-center flex-1`,children:[(0,J.jsx)(zn,{className:`absolute left-2.5 size-3.5 text-text-subtle pointer-events-none`}),(0,J.jsx)(`input`,{type:`text`,value:o,onChange:e=>{s(e.target.value),D(``)},onFocus:()=>u.length>0&&p(!0),placeholder:`/path/to/project`,className:`w-full pl-8 pr-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,autoComplete:`off`}),m&&(0,J.jsx)(K,{className:`absolute right-2.5 size-3.5 text-text-subtle animate-spin`})]}),(0,J.jsx)(hh,{mode:`folder`,onSelect:e=>{s(e),c||l(e.split(`/`).pop()??``),D(``)}})]}),f&&u.length>0&&(0,J.jsx)(`div`,{className:`absolute top-full left-0 right-0 mt-1 z-10 popover-solid border border-border rounded-md shadow-md max-h-48 overflow-y-auto`,children:u.map(e=>(0,J.jsxs)(`button`,{type:`button`,onMouseDown:()=>A(e),className:`w-full flex flex-col items-start px-3 py-2 text-left hover:bg-accent/50 transition-colors`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium truncate w-full`,children:e.name}),(0,J.jsx)(`span`,{className:`text-xs text-text-subtle truncate w-full`,children:e.path})]},e.path))})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Display name `,(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`(optional)`})]}),(0,J.jsx)(`input`,{type:`text`,value:c,onChange:e=>l(e.target.value),placeholder:`my-project`,className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`})]}),E&&(0,J.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,J.jsxs)(`div`,{className:H(`flex justify-end gap-2 pt-1`,n),children:[(0,J.jsx)(`button`,{type:`button`,onClick:t,className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,J.jsx)(`button`,{type:`submit`,disabled:g||!o.trim(),className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:g?`Adding…`:`Add Project`})]})]}):(0,J.jsxs)(`form`,{onSubmit:M,className:`flex flex-col gap-3`,children:[(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Git URL`}),(0,J.jsx)(`input`,{type:`text`,value:v,onChange:e=>{y(e.target.value),D(``)},placeholder:`https://github.com/user/repo.git`,className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0,autoComplete:`off`})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:`Clone to`}),(0,J.jsxs)(`div`,{className:`flex gap-1.5 items-center`,children:[(0,J.jsx)(`input`,{type:`text`,value:b,onChange:e=>{x(e.target.value),D(``)},placeholder:`~/Projects`,className:`flex-1 px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`}),(0,J.jsx)(hh,{mode:`folder`,onSelect:e=>{x(e),D(``)}})]})]}),(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`label`,{className:`block text-xs font-medium text-foreground mb-1`,children:[`Name `,(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:`(auto-parsed from URL)`})]}),(0,J.jsx)(`input`,{type:`text`,value:S,onChange:e=>C(e.target.value),placeholder:`repo-name`,className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`})]}),E&&(0,J.jsx)(`p`,{className:`text-xs text-destructive`,children:E}),(0,J.jsxs)(`div`,{className:H(`flex justify-end gap-2 pt-1`,n),children:[(0,J.jsx)(`button`,{type:`button`,onClick:t,className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,J.jsx)(`button`,{type:`submit`,disabled:w||!v.trim()||!b.trim(),className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:w?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(K,{className:`inline size-3.5 animate-spin mr-1.5`}),`Cloning…`]}):`Clone & Add`})]})]})]})}var E_=(0,q.memo)(function({name:e,color:t,image:n,size:r,allNames:i,shape:a}){let o=Do((0,q.useMemo)(()=>Ao(e),[e]));return(0,J.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,J.jsx)(w_,{name:e,color:t,image:n,size:r,allNames:i,shape:a}),o&&(0,J.jsx)(`div`,{className:H(`absolute -top-0.5 -right-0.5 size-2 rounded-full border-2 border-background`,wo(o))})]})});function D_({current:e,onChange:t}){return(0,J.jsx)(`div`,{className:`flex flex-wrap gap-2`,children:x_.map(n=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>t(n),className:H(`size-8 rounded-full border-2 transition-all`,e===n?`border-primary scale-110`:`border-transparent hover:scale-105`),style:{background:n}},n))})}var O_=(0,q.memo)(function(){let{projects:e,activeProject:t,setActiveProject:n,setProjectColor:r,setProjectImage:i,removeProjectImage:a,reorderProjects:o,renameProject:s,deleteProject:c,customOrder:l,sortMode:u,setProjectSortMode:d}=W(Ol(e=>({projects:e.projects,activeProject:e.activeProject,setActiveProject:e.setActiveProject,setProjectColor:e.setProjectColor,setProjectImage:e.setProjectImage,removeProjectImage:e.removeProjectImage,reorderProjects:e.reorderProjects,renameProject:e.renameProject,deleteProject:e.deleteProject,customOrder:e.customOrder,sortMode:e.projectSortMode,setProjectSortMode:e.setProjectSortMode}))),f=mt(e,l),p=f.map(e=>e.name),m=t??f[0]??null,h=m?f.findIndex(e=>e.name===m.name):-1,g=m?S_(m.color,h<0?0:h):`transparent`,[_,v]=(0,q.useState)(!1),[y,b]=(0,q.useState)(``),x=(0,q.useRef)(null),[S,C]=(0,q.useState)(null),w=(0,q.useCallback)(()=>{if(!_&&x.current){let e=x.current.getBoundingClientRect();C({left:e.left,top:e.bottom+4})}v(e=>!e)},[_]),T=(0,q.useCallback)(()=>{v(!1),b(``)},[]),[E,D]=(0,q.useState)(0),O=(0,q.useRef)(null),k=(0,q.useMemo)(()=>f_(e,l,u),[e,l,u,_]),A=(0,q.useMemo)(()=>gt(),[_]),j=y.trim().toLowerCase(),M=j?k.filter(e=>e.name.toLowerCase().includes(j)||e.path.toLowerCase().includes(j)):k,ee=u===`priority`&&!j,N=(0,q.useCallback)(e=>{n(e),T()},[n,T]),P=(0,q.useCallback)(e=>{window.open(h_(e.name,null),`_blank`,`noopener`)},[]);(0,q.useEffect)(()=>{D(0)},[y,u,_]),(0,q.useEffect)(()=>{O.current?.querySelector(`[data-row-index="${E}"]`)?.scrollIntoView({block:`nearest`})},[E]);let te=(0,q.useCallback)(e=>{if(e.key===`ArrowDown`)e.preventDefault(),D(e=>Math.min(e+1,M.length-1));else if(e.key===`ArrowUp`)e.preventDefault(),D(e=>Math.max(e-1,0));else if(e.key===`Enter`){e.preventDefault();let t=M[E]??M[0];if(!t)return;e.ctrlKey||e.metaKey?P(t):N(t)}else e.key===`Escape`&&(e.preventDefault(),T())},[M,E,P,N,T]),[ne,re]=(0,q.useState)(null),[ie,ae]=(0,q.useState)(null),[oe,se]=(0,q.useState)(!1),[ce,le]=(0,q.useState)(!1),[ue,de]=(0,q.useState)(``),[fe,pe]=(0,q.useState)(``),[me,he]=(0,q.useState)(!1),[ge,_e]=(0,q.useState)(``),[ve,ye]=(0,q.useState)(!1),[be,xe]=(0,q.useState)(``),[Se,Ce]=(0,q.useState)(``),[we,Te]=(0,q.useState)(!1),Ee=(0,q.useRef)(null),[De,Oe]=(0,q.useState)(null),ke=(0,q.useCallback)(async e=>{let t=e.target.files?.[0];if(e.target.value=``,!(!t||!De))try{await i(De,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}},[De,i]),F=(0,q.useCallback)(e=>{de(e),pe(e),le(!0)},[]),Ae=(0,q.useCallback)(e=>{_e(e),he(!0)},[]),je=(0,q.useCallback)((e,t)=>{xe(e),Ce(t),ye(!0)},[]);async function Me(){if(!fe.trim()||fe===ue){le(!1);return}try{await s(ue,fe.trim())}catch{}le(!1)}async function Ne(){try{await c(ge)}catch{}he(!1)}async function Pe(){Te(!0);try{await r(be,Se),ye(!1)}catch(e){console.error(`Failed to save color:`,e)}finally{Te(!1)}}return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{ref:Ee,type:`file`,accept:`image/*`,className:`hidden`,onChange:ke}),(0,J.jsxs)(`button`,{ref:x,onClick:w,title:`Switch project`,className:H(`flex items-center gap-[9px] w-full h-8 px-2 rounded-lg transition-colors border`,_?`bg-surface-elevated border-border`:`border-transparent hover:bg-surface-elevated`),children:[m?(0,J.jsx)(E_,{name:m.name,color:g,image:m.image,size:24,allNames:p,shape:`square`}):(0,J.jsx)(`div`,{className:`size-6 rounded-full bg-surface-elevated shrink-0`}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1 flex flex-col text-left leading-tight`,children:[(0,J.jsx)(`span`,{className:`text-[13px] font-semibold text-foreground truncate`,children:m?.name??`Select project`}),m?.path&&(0,J.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle truncate`,children:m.path})]}),(0,J.jsx)(dn,{className:`size-3.5 text-text-subtle shrink-0`})]}),_&&S&&(0,kl.createPortal)((0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:T}),(0,J.jsxs)(`div`,{className:`fixed z-50 w-[340px] max-h-[680px] flex flex-col rounded-xl border border-border popover-solid shadow-[var(--shadow-panel)] overflow-hidden`,style:{left:S.left,top:S.top},children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-2.5 py-2 border-b border-border`,children:[(0,J.jsx)(Wr,{className:`size-3.5 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),onKeyDown:te,placeholder:`Search projects…`,autoFocus:!0,className:`flex-1 bg-transparent text-xs text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-1 px-1.5 py-1.5 border-b border-border`,children:d_.map(({mode:e,label:t,Icon:n})=>(0,J.jsxs)(`button`,{onClick:()=>d(e),title:`Sort by ${t.toLowerCase()}`,className:H(`flex items-center justify-center gap-1 flex-1 px-2 py-1 rounded-md text-[11px] font-medium transition-colors`,u===e?`bg-primary/[0.12] text-primary`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`),children:[(0,J.jsx)(n,{className:`size-3`}),` `,t]},e))}),(0,J.jsxs)(`div`,{ref:O,className:`overflow-y-auto p-1.5`,children:[M.map((e,t)=>{let n=f.findIndex(t=>t.name===e.name),r=S_(e.color,n),i=m?.name===e.name,s=t===E,c=ne===n,l=ie===n&&ne!==n,u=A[e.name];return(0,J.jsxs)(ru,{children:[(0,J.jsx)(iu,{asChild:!0,children:(0,J.jsxs)(`div`,{"data-row-index":t,draggable:ee,onDragStart:()=>ee&&re(n),onDragOver:e=>{ee&&(e.preventDefault(),ae(n))},onDragLeave:()=>ae(null),onDragEnd:()=>{re(null),ae(null)},onDrop:()=>{if(ee&&ne!=null&&ne!==n){let e=f.map(e=>e.name),[t]=e.splice(ne,1);e.splice(n,0,t),o(e)}re(null),ae(null)},onMouseEnter:()=>D(t),className:H(`group relative flex items-center rounded-lg transition-colors`,i?`bg-primary/[0.12]`:s?`bg-surface-elevated`:``,c&&`opacity-40`,l&&`ring-2 ring-primary`),children:[(0,J.jsxs)(`button`,{onClick:()=>N(e),className:`flex items-center gap-2.5 min-w-0 flex-1 px-2 py-1.5 text-left`,children:[(0,J.jsx)(E_,{name:e.name,color:r,image:e.image,size:26,allNames:p}),(0,J.jsxs)(`div`,{className:`min-w-0`,children:[(0,J.jsx)(`div`,{className:H(`text-[13px] whitespace-nowrap overflow-hidden text-ellipsis`,i?`font-semibold text-primary`:`text-foreground`),children:e.name}),(0,J.jsx)(`div`,{className:`text-[10px] font-mono text-text-subtle whitespace-nowrap overflow-hidden text-ellipsis`,children:e.path})]})]}),u&&(0,J.jsx)(`span`,{title:`Last opened ${new Date(u).toLocaleString()}`,className:`shrink-0 mr-2 text-[10px] text-text-subtle whitespace-nowrap`,children:vo(new Date(u).toISOString())}),(0,J.jsx)(`button`,{onClick:t=>{t.stopPropagation(),P(e)},title:`Open in new browser tab`,className:H(`shrink-0 mr-1 p-1.5 rounded-md text-text-subtle hover:bg-background hover:text-foreground transition-opacity`,s?`opacity-100`:`opacity-0 group-hover:opacity-100`),children:(0,J.jsx)(Tn,{className:`size-3.5`})})]})}),(0,J.jsxs)(au,{children:[(0,J.jsxs)(ou,{onClick:()=>P(e),children:[(0,J.jsx)(Tn,{className:`size-3.5 mr-2`}),` Open in New Tab`]}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{onClick:()=>F(e.name),children:[(0,J.jsx)(kr,{className:`size-3.5 mr-2`}),` Rename`]}),(0,J.jsxs)(ou,{onClick:()=>je(e.name,r),children:[(0,J.jsx)(wr,{className:`size-3.5 mr-2`}),` Change Color`]}),(0,J.jsxs)(ou,{onClick:()=>{Oe(e.name),Ee.current?.click()},children:[(0,J.jsx)(nr,{className:`size-3.5 mr-2`}),` Change Image`]}),e.image&&(0,J.jsxs)(ou,{onClick:()=>{a(e.name).catch(()=>{})},children:[(0,J.jsx)(si,{className:`size-3.5 mr-2`}),` Remove Image`]}),(0,J.jsxs)(ou,{onClick:()=>void bc(e.path),children:[(0,J.jsx)(Xe,{className:`size-3.5 mr-2`}),` Copy Path`]}),(0,J.jsx)(su,{}),(0,J.jsxs)(ou,{className:`text-destructive focus:text-destructive`,onClick:()=>Ae(e.name),children:[(0,J.jsx)(si,{className:`size-3.5 mr-2`}),` Delete`]})]})]},e.name)}),M.length===0&&(0,J.jsx)(`div`,{className:`px-2 py-4 text-center text-xs text-text-subtle`,children:`No projects found`})]}),(0,J.jsxs)(`button`,{onClick:()=>{se(!0),T()},className:`flex items-center gap-2 px-3 py-2.5 border-t border-border text-text-secondary text-[13px] font-medium hover:bg-surface-elevated transition-colors`,children:[(0,J.jsx)(et,{className:`size-[15px]`}),` Add Project`]})]})]}),document.body),(0,J.jsx)(Tc,{open:oe,onOpenChange:se,children:(0,J.jsxs)(kc,{className:`sm:max-w-sm`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Add Project`})}),(0,J.jsx)(T_,{onSuccess:()=>se(!1),onCancel:()=>se(!1)})]})}),(0,J.jsx)(Tc,{open:ce,onOpenChange:le,children:(0,J.jsxs)(kc,{className:`sm:max-w-sm`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Rename Project`})}),(0,J.jsx)(`input`,{type:`text`,value:fe,onChange:e=>pe(e.target.value),onKeyDown:e=>{e.key===`Enter`&&Me()},className:`w-full px-3 py-2 rounded-md border border-border bg-background text-sm focus:outline-none focus:ring-1 focus:ring-primary`,autoFocus:!0}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(`button`,{onClick:()=>le(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:Me,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors`,children:`Rename`})]})]})}),(0,J.jsx)(Tc,{open:me,onOpenChange:he,children:(0,J.jsxs)(kc,{className:`sm:max-w-sm`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Delete Project`})}),(0,J.jsxs)(`p`,{className:`text-sm text-text-secondary`,children:[`Remove `,(0,J.jsx)(`strong`,{className:`text-foreground`,children:ge}),` from PPM? The files on disk won't be deleted.`]}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(`button`,{onClick:()=>he(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:Ne,className:`px-3 py-1.5 text-sm bg-destructive text-white rounded-md hover:bg-destructive/90 transition-colors`,children:`Delete`})]})]})}),(0,J.jsx)(Tc,{open:ve,onOpenChange:ye,children:(0,J.jsxs)(kc,{className:`sm:max-w-sm`,children:[(0,J.jsx)(Ac,{children:(0,J.jsx)(X,{children:`Change Color`})}),(0,J.jsx)(D_,{current:Se,onChange:Ce}),(0,J.jsxs)(jc,{children:[(0,J.jsx)(`button`,{onClick:()=>ye(!1),className:`px-3 py-1.5 text-sm text-text-secondary hover:text-foreground transition-colors`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:Pe,disabled:we,className:`px-3 py-1.5 text-sm bg-primary text-white rounded-md hover:bg-primary/90 transition-colors disabled:opacity-50`,children:we?`Saving…`:`Save`})]})]})})]})}),k_=[{id:`history`,label:`Chat History`,shortLabel:`History`,icon:$t},{id:`teams`,label:`Teams`,icon:fi,badge:`teams`},{id:`explorer`,label:`Explorer`,icon:zn},{id:`search`,label:`Search`,icon:Wr},{id:`git`,label:`Git`,icon:Gn},{id:`database`,label:`Database`,icon:Ze},{id:`tunnels`,label:`Cloudflare Tunnels`,shortLabel:`Tunnels`,icon:Jn},{id:`ai-resources`,label:`AI Resources`,shortLabel:`AI`,icon:Ye},{id:`settings`,label:`Settings`,icon:Jr}];function A_(e){let t=[...k_];if(e.jiraEnabled){let e=t.findIndex(e=>e.id===`settings`),n={id:`jira`,label:`Jira`,icon:tn};e>=0?t.splice(e,0,n):t.push(n)}let n=e.contributions?.views;if(n){let e=n.sidebar??n.explorer??[];for(let n of e)t.push({id:`ext:${n.id}`,label:n.name,icon:Ir})}return t}function j_(e,t){if(!t||t.length===0)return[...e];let n=new Map(e.map(e=>[e.id,e])),r=[],i=new Set;for(let e of t){let t=n.get(e);t&&!i.has(e)&&(r.push(t),i.add(e))}for(let t of e)i.has(t.id)||r.push(t);return r}function M_({expanded:e}){let t=Do(e=>e.notifications),n=Do(e=>e.clearAll),r=Do(Oo),{projects:i,setActiveProject:a,customOrder:o}=W(Ol(e=>({projects:e.projects,setActiveProject:e.setActiveProject,customOrder:e.customOrder}))),s=mt(i,o),c=G(e=>e.openTab),[l,u]=(0,q.useState)(!1),d=(0,q.useRef)(null),[f,p]=(0,q.useState)(null),m=()=>{if(!l&&d.current){let e=d.current.getBoundingClientRect();p({left:e.right+6,bottom:window.innerHeight-e.bottom})}u(!l)},h=(e,t)=>{let n=i.find(e=>e.name===t);n&&(a(n),c({type:`chat`,title:`Chat`,projectId:t,metadata:{projectName:t,sessionId:e,providerId:`claude`},closable:!0}),u(!1))},g=e=>{let t=s.findIndex(t=>t.name===e);if(t!==-1)return S_(s[t].color,t)},_=new Map;for(let[e,n]of t){let t=n.projectName||`Unknown`;_.has(t)||_.set(t,[]),_.get(t).push({sessionId:e,count:n.count,type:n.type,sessionTitle:n.sessionTitle})}return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{ref:d,onClick:m,className:H(`relative flex items-center rounded-md transition-colors`,e?`w-full h-8 gap-2 px-2 justify-start`:`justify-center size-8`,l?`text-primary bg-primary/10`:`text-text-subtle hover:text-foreground hover:bg-surface-elevated`),children:[(0,J.jsx)(Qt,{className:`size-4 shrink-0`}),e&&(0,J.jsx)(`span`,{className:`text-xs whitespace-nowrap`,children:`Notifications`}),r>0&&(0,J.jsx)(`span`,{className:H(`absolute flex items-center justify-center text-[9px] font-bold text-white bg-error rounded-full min-w-[16px] h-4 px-1`,e?`right-1.5`:`-top-1 -right-1`),children:r})]}),l&&f&&(0,kl.createPortal)((0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>u(!1)}),(0,J.jsxs)(`div`,{className:`fixed z-50 w-72 max-h-80 overflow-y-auto rounded-lg border border-border bg-background shadow-lg`,style:{left:f.left,bottom:f.bottom},children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border`,children:[(0,J.jsx)(`span`,{className:`text-xs font-medium text-foreground`,children:r>0?`${r} unread session${r>1?`s`:``}`:`No unread`}),r>0&&(0,J.jsxs)(`button`,{onClick:()=>{n(),u(!1)},className:`text-[10px] text-text-subtle hover:text-foreground transition-colors flex items-center gap-1`,children:[(0,J.jsx)(Xt,{className:`size-3`}),`Clear all`]})]}),r===0?(0,J.jsx)(`div`,{className:`px-3 py-4 text-center text-xs text-text-subtle`,children:`All caught up`}):(0,J.jsx)(`div`,{className:`py-1`,children:[..._.entries()].map(([e,t])=>(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`px-3 py-1 text-[10px] font-medium text-text-subtle uppercase tracking-wider flex items-center gap-1.5`,children:[(0,J.jsx)(`span`,{className:`size-2 rounded-full shrink-0`,style:{background:g(e)||`currentColor`}}),e]}),t.map(({sessionId:t,type:n,sessionTitle:r})=>(0,J.jsx)(`button`,{onClick:()=>h(t,e),className:H(`w-full px-3 py-1.5 text-left text-[11px] text-foreground truncate hover:bg-surface-elevated transition-colors`,Eo(n)),children:r||`${t.slice(0,12)}...`},t))]},e))})]})]}),document.body)]})}var N_=Object.defineProperty,P_=Object.getOwnPropertySymbols,F_=Object.prototype.hasOwnProperty,I_=Object.prototype.propertyIsEnumerable,L_=(e,t,n)=>t in e?N_(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,R_=(e,t)=>{for(var n in t||={})F_.call(t,n)&&L_(e,n,t[n]);if(P_)for(var n of P_(t))I_.call(t,n)&&L_(e,n,t[n]);return e},z_=(e,t)=>{var n={};for(var r in e)F_.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&P_)for(var r of P_(e))t.indexOf(r)<0&&I_.call(e,r)&&(n[r]=e[r]);return n},B_;(e=>{let t=class t{constructor(e,n,r,a){if(this.version=e,this.errorCorrectionLevel=n,this.modules=[],this.isFunction=[],e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version value out of range`);if(a<-1||a>7)throw RangeError(`Mask value out of range`);this.size=e*4+17;let o=[];for(let e=0;e<this.size;e++)o.push(!1);for(let e=0;e<this.size;e++)this.modules.push(o.slice()),this.isFunction.push(o.slice());this.drawFunctionPatterns();let s=this.addEccAndInterleave(r);if(this.drawCodewords(s),a==-1){let e=1e9;for(let t=0;t<8;t++){this.applyMask(t),this.drawFormatBits(t);let n=this.getPenaltyScore();n<e&&(a=t,e=n),this.applyMask(t)}}i(0<=a&&a<=7),this.mask=a,this.applyMask(a),this.drawFormatBits(a),this.isFunction=[]}static encodeText(n,r){let i=e.QrSegment.makeSegments(n);return t.encodeSegments(i,r)}static encodeBinary(n,r){let i=e.QrSegment.makeBytes(n);return t.encodeSegments([i],r)}static encodeSegments(e,r,a=1,s=40,c=-1,l=!0){if(!(t.MIN_VERSION<=a&&a<=s&&s<=t.MAX_VERSION)||c<-1||c>7)throw RangeError(`Invalid value`);let u,d;for(u=a;;u++){let n=t.getNumDataCodewords(u,r)*8,i=o.getTotalBits(e,u);if(i<=n){d=i;break}if(u>=s)throw RangeError(`Data too long`)}for(let e of[t.Ecc.MEDIUM,t.Ecc.QUARTILE,t.Ecc.HIGH])l&&d<=t.getNumDataCodewords(u,e)*8&&(r=e);let f=[];for(let t of e){n(t.mode.modeBits,4,f),n(t.numChars,t.mode.numCharCountBits(u),f);for(let e of t.getData())f.push(e)}i(f.length==d);let p=t.getNumDataCodewords(u,r)*8;i(f.length<=p),n(0,Math.min(4,p-f.length),f),n(0,(8-f.length%8)%8,f),i(f.length%8==0);for(let e=236;f.length<p;e^=253)n(e,8,f);let m=[];for(;m.length*8<f.length;)m.push(0);return f.forEach((e,t)=>m[t>>>3]|=e<<7-(t&7)),new t(u,r,m,c)}getModule(e,t){return 0<=e&&e<this.size&&0<=t&&t<this.size&&this.modules[t][e]}getModules(){return this.modules}drawFunctionPatterns(){for(let e=0;e<this.size;e++)this.setFunctionModule(6,e,e%2==0),this.setFunctionModule(e,6,e%2==0);this.drawFinderPattern(3,3),this.drawFinderPattern(this.size-4,3),this.drawFinderPattern(3,this.size-4);let e=this.getAlignmentPatternPositions(),t=e.length;for(let n=0;n<t;n++)for(let r=0;r<t;r++)n==0&&r==0||n==0&&r==t-1||n==t-1&&r==0||this.drawAlignmentPattern(e[n],e[r]);this.drawFormatBits(0),this.drawVersion()}drawFormatBits(e){let t=this.errorCorrectionLevel.formatBits<<3|e,n=t;for(let e=0;e<10;e++)n=n<<1^(n>>>9)*1335;let a=(t<<10|n)^21522;i(a>>>15==0);for(let e=0;e<=5;e++)this.setFunctionModule(8,e,r(a,e));this.setFunctionModule(8,7,r(a,6)),this.setFunctionModule(8,8,r(a,7)),this.setFunctionModule(7,8,r(a,8));for(let e=9;e<15;e++)this.setFunctionModule(14-e,8,r(a,e));for(let e=0;e<8;e++)this.setFunctionModule(this.size-1-e,8,r(a,e));for(let e=8;e<15;e++)this.setFunctionModule(8,this.size-15+e,r(a,e));this.setFunctionModule(8,this.size-8,!0)}drawVersion(){if(this.version<7)return;let e=this.version;for(let t=0;t<12;t++)e=e<<1^(e>>>11)*7973;let t=this.version<<12|e;i(t>>>18==0);for(let e=0;e<18;e++){let n=r(t,e),i=this.size-11+e%3,a=Math.floor(e/3);this.setFunctionModule(i,a,n),this.setFunctionModule(a,i,n)}}drawFinderPattern(e,t){for(let n=-4;n<=4;n++)for(let r=-4;r<=4;r++){let i=Math.max(Math.abs(r),Math.abs(n)),a=e+r,o=t+n;0<=a&&a<this.size&&0<=o&&o<this.size&&this.setFunctionModule(a,o,i!=2&&i!=4)}}drawAlignmentPattern(e,t){for(let n=-2;n<=2;n++)for(let r=-2;r<=2;r++)this.setFunctionModule(e+r,t+n,Math.max(Math.abs(r),Math.abs(n))!=1)}setFunctionModule(e,t,n){this.modules[t][e]=n,this.isFunction[t][e]=!0}addEccAndInterleave(e){let n=this.version,r=this.errorCorrectionLevel;if(e.length!=t.getNumDataCodewords(n,r))throw RangeError(`Invalid argument`);let a=t.NUM_ERROR_CORRECTION_BLOCKS[r.ordinal][n],o=t.ECC_CODEWORDS_PER_BLOCK[r.ordinal][n],s=Math.floor(t.getNumRawDataModules(n)/8),c=a-s%a,l=Math.floor(s/a),u=[],d=t.reedSolomonComputeDivisor(o);for(let n=0,r=0;n<a;n++){let i=e.slice(r,r+l-o+(n<c?0:1));r+=i.length;let a=t.reedSolomonComputeRemainder(i,d);n<c&&i.push(0),u.push(i.concat(a))}let f=[];for(let e=0;e<u[0].length;e++)u.forEach((t,n)=>{(e!=l-o||n>=c)&&f.push(t[e])});return i(f.length==s),f}drawCodewords(e){if(e.length!=Math.floor(t.getNumRawDataModules(this.version)/8))throw RangeError(`Invalid argument`);let n=0;for(let t=this.size-1;t>=1;t-=2){t==6&&(t=5);for(let i=0;i<this.size;i++)for(let a=0;a<2;a++){let o=t-a,s=t+1&2?i:this.size-1-i;!this.isFunction[s][o]&&n<e.length*8&&(this.modules[s][o]=r(e[n>>>3],7-(n&7)),n++)}}i(n==e.length*8)}applyMask(e){if(e<0||e>7)throw RangeError(`Mask value out of range`);for(let t=0;t<this.size;t++)for(let n=0;n<this.size;n++){let r;switch(e){case 0:r=(n+t)%2==0;break;case 1:r=t%2==0;break;case 2:r=n%3==0;break;case 3:r=(n+t)%3==0;break;case 4:r=(Math.floor(n/3)+Math.floor(t/2))%2==0;break;case 5:r=n*t%2+n*t%3==0;break;case 6:r=(n*t%2+n*t%3)%2==0;break;case 7:r=((n+t)%2+n*t%3)%2==0;break;default:throw Error(`Unreachable`)}!this.isFunction[t][n]&&r&&(this.modules[t][n]=!this.modules[t][n])}}getPenaltyScore(){let e=0;for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[n][o]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[n][o],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size;n++){let r=!1,i=0,a=[0,0,0,0,0,0,0];for(let o=0;o<this.size;o++)this.modules[o][n]==r?(i++,i==5?e+=t.PENALTY_N1:i>5&&e++):(this.finderPenaltyAddHistory(i,a),r||(e+=this.finderPenaltyCountPatterns(a)*t.PENALTY_N3),r=this.modules[o][n],i=1);e+=this.finderPenaltyTerminateAndCount(r,i,a)*t.PENALTY_N3}for(let n=0;n<this.size-1;n++)for(let r=0;r<this.size-1;r++){let i=this.modules[n][r];i==this.modules[n][r+1]&&i==this.modules[n+1][r]&&i==this.modules[n+1][r+1]&&(e+=t.PENALTY_N2)}let n=0;for(let e of this.modules)n=e.reduce((e,t)=>e+(t?1:0),n);let r=this.size*this.size,a=Math.ceil(Math.abs(n*20-r*10)/r)-1;return i(0<=a&&a<=9),e+=a*t.PENALTY_N4,i(0<=e&&e<=2568888),e}getAlignmentPatternPositions(){if(this.version==1)return[];{let e=Math.floor(this.version/7)+2,t=this.version==32?26:Math.ceil((this.version*4+4)/(e*2-2))*2,n=[6];for(let r=this.size-7;n.length<e;r-=t)n.splice(1,0,r);return n}}static getNumRawDataModules(e){if(e<t.MIN_VERSION||e>t.MAX_VERSION)throw RangeError(`Version number out of range`);let n=(16*e+128)*e+64;if(e>=2){let t=Math.floor(e/7)+2;n-=(25*t-10)*t-55,e>=7&&(n-=36)}return i(208<=n&&n<=29648),n}static getNumDataCodewords(e,n){return Math.floor(t.getNumRawDataModules(e)/8)-t.ECC_CODEWORDS_PER_BLOCK[n.ordinal][e]*t.NUM_ERROR_CORRECTION_BLOCKS[n.ordinal][e]}static reedSolomonComputeDivisor(e){if(e<1||e>255)throw RangeError(`Degree out of range`);let n=[];for(let t=0;t<e-1;t++)n.push(0);n.push(1);let r=1;for(let i=0;i<e;i++){for(let e=0;e<n.length;e++)n[e]=t.reedSolomonMultiply(n[e],r),e+1<n.length&&(n[e]^=n[e+1]);r=t.reedSolomonMultiply(r,2)}return n}static reedSolomonComputeRemainder(e,n){let r=n.map(e=>0);for(let i of e){let e=i^r.shift();r.push(0),n.forEach((n,i)=>r[i]^=t.reedSolomonMultiply(n,e))}return r}static reedSolomonMultiply(e,t){if(e>>>8||t>>>8)throw RangeError(`Byte out of range`);let n=0;for(let r=7;r>=0;r--)n=n<<1^(n>>>7)*285,n^=(t>>>r&1)*e;return i(n>>>8==0),n}finderPenaltyCountPatterns(e){let t=e[1];i(t<=this.size*3);let n=t>0&&e[2]==t&&e[3]==t*3&&e[4]==t&&e[5]==t;return(n&&e[0]>=t*4&&e[6]>=t?1:0)+(n&&e[6]>=t*4&&e[0]>=t?1:0)}finderPenaltyTerminateAndCount(e,t,n){return e&&(this.finderPenaltyAddHistory(t,n),t=0),t+=this.size,this.finderPenaltyAddHistory(t,n),this.finderPenaltyCountPatterns(n)}finderPenaltyAddHistory(e,t){t[0]==0&&(e+=this.size),t.pop(),t.unshift(e)}};t.MIN_VERSION=1,t.MAX_VERSION=40,t.PENALTY_N1=3,t.PENALTY_N2=3,t.PENALTY_N3=40,t.PENALTY_N4=10,t.ECC_CODEWORDS_PER_BLOCK=[[-1,7,10,15,20,26,18,20,24,30,18,20,24,26,30,22,24,28,30,28,28,28,28,30,30,26,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,10,16,26,18,24,16,18,22,22,26,30,22,22,24,24,28,28,26,26,26,26,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28,28],[-1,13,22,18,26,18,24,18,22,20,24,28,26,24,20,30,24,28,28,26,30,28,30,30,30,30,28,30,30,30,30,30,30,30,30,30,30,30,30,30,30],[-1,17,28,22,16,22,28,26,26,24,28,24,28,22,24,24,30,28,28,26,28,30,24,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30]],t.NUM_ERROR_CORRECTION_BLOCKS=[[-1,1,1,1,1,1,2,2,2,2,4,4,4,4,4,6,6,6,6,7,8,8,9,9,10,12,12,12,13,14,15,16,17,18,19,19,20,21,22,24,25],[-1,1,1,1,2,2,4,4,4,5,5,5,8,9,9,10,10,11,13,14,16,17,17,18,20,21,23,25,26,28,29,31,33,35,37,38,40,43,45,47,49],[-1,1,1,2,2,4,4,6,6,8,8,8,10,12,16,12,17,16,18,21,20,23,23,25,27,29,34,34,35,38,40,43,45,48,51,53,56,59,62,65,68],[-1,1,1,2,4,4,4,5,6,8,8,11,11,16,16,18,16,19,21,25,25,25,34,30,32,35,37,40,42,45,48,51,54,57,60,63,66,70,74,77,81]],e.QrCode=t;function n(e,t,n){if(t<0||t>31||e>>>t)throw RangeError(`Value out of range`);for(let r=t-1;r>=0;r--)n.push(e>>>r&1)}function r(e,t){return(e>>>t&1)!=0}function i(e){if(!e)throw Error(`Assertion error`)}let a=class e{constructor(e,t,n){if(this.mode=e,this.numChars=t,this.bitData=n,t<0)throw RangeError(`Invalid argument`);this.bitData=n.slice()}static makeBytes(t){let r=[];for(let e of t)n(e,8,r);return new e(e.Mode.BYTE,t.length,r)}static makeNumeric(t){if(!e.isNumeric(t))throw RangeError(`String contains non-numeric characters`);let r=[];for(let e=0;e<t.length;){let i=Math.min(t.length-e,3);n(parseInt(t.substring(e,e+i),10),i*3+1,r),e+=i}return new e(e.Mode.NUMERIC,t.length,r)}static makeAlphanumeric(t){if(!e.isAlphanumeric(t))throw RangeError(`String contains unencodable characters in alphanumeric mode`);let r=[],i;for(i=0;i+2<=t.length;i+=2){let a=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i))*45;a+=e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i+1)),n(a,11,r)}return i<t.length&&n(e.ALPHANUMERIC_CHARSET.indexOf(t.charAt(i)),6,r),new e(e.Mode.ALPHANUMERIC,t.length,r)}static makeSegments(t){return t==``?[]:e.isNumeric(t)?[e.makeNumeric(t)]:e.isAlphanumeric(t)?[e.makeAlphanumeric(t)]:[e.makeBytes(e.toUtf8ByteArray(t))]}static makeEci(t){let r=[];if(t<0)throw RangeError(`ECI assignment value out of range`);if(t<128)n(t,8,r);else if(t<16384)n(2,2,r),n(t,14,r);else if(t<1e6)n(6,3,r),n(t,21,r);else throw RangeError(`ECI assignment value out of range`);return new e(e.Mode.ECI,0,r)}static isNumeric(t){return e.NUMERIC_REGEX.test(t)}static isAlphanumeric(t){return e.ALPHANUMERIC_REGEX.test(t)}getData(){return this.bitData.slice()}static getTotalBits(e,t){let n=0;for(let r of e){let e=r.mode.numCharCountBits(t);if(r.numChars>=1<<e)return 1/0;n+=4+e+r.bitData.length}return n}static toUtf8ByteArray(e){e=encodeURI(e);let t=[];for(let n=0;n<e.length;n++)e.charAt(n)==`%`?(t.push(parseInt(e.substring(n+1,n+3),16)),n+=2):t.push(e.charCodeAt(n));return t}};a.NUMERIC_REGEX=/^[0-9]*$/,a.ALPHANUMERIC_REGEX=/^[A-Z0-9 $%*+.\/:-]*$/,a.ALPHANUMERIC_CHARSET=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`;let o=a;e.QrSegment=a})(B_||={}),(e=>{(e=>{let t=class{constructor(e,t){this.ordinal=e,this.formatBits=t}};t.LOW=new t(0,1),t.MEDIUM=new t(1,0),t.QUARTILE=new t(2,3),t.HIGH=new t(3,2),e.Ecc=t})(e.QrCode||={})})(B_||={}),(e=>{(e=>{let t=class{constructor(e,t){this.modeBits=e,this.numBitsCharCount=t}numCharCountBits(e){return this.numBitsCharCount[Math.floor((e+7)/17)]}};t.NUMERIC=new t(1,[10,12,14]),t.ALPHANUMERIC=new t(2,[9,11,13]),t.BYTE=new t(4,[8,16,16]),t.KANJI=new t(8,[8,10,12]),t.ECI=new t(7,[0,0,0]),e.Mode=t})(e.QrSegment||={})})(B_||={});var V_=B_,H_={L:V_.QrCode.Ecc.LOW,M:V_.QrCode.Ecc.MEDIUM,Q:V_.QrCode.Ecc.QUARTILE,H:V_.QrCode.Ecc.HIGH},U_=128,W_=`L`,G_=`#FFFFFF`,K_=`#000000`,q_=!1,J_=1,Y_=4,X_=0,Z_=.1;function Q_(e,t=0){let n=[];return e.forEach(function(e,r){let i=null;e.forEach(function(a,o){if(!a&&i!==null){n.push(`M${i+t} ${r+t}h${o-i}v1H${i+t}z`),i=null;return}if(o===e.length-1){if(!a)return;i===null?n.push(`M${o+t},${r+t} h1v1H${o+t}z`):n.push(`M${i+t},${r+t} h${o+1-i}v1H${i+t}z`);return}a&&i===null&&(i=o)})}),n.join(``)}function $_(e,t){return e.slice().map((e,n)=>n<t.y||n>=t.y+t.h?e:e.map((e,n)=>n<t.x||n>=t.x+t.w?e:!1))}function ev(e,t,n,r){if(r==null)return null;let i=e.length+n*2,a=Math.floor(t*Z_),o=i/t,s=(r.width||a)*o,c=(r.height||a)*o,l=r.x==null?e.length/2-s/2:r.x*o,u=r.y==null?e.length/2-c/2:r.y*o,d=r.opacity==null?1:r.opacity,f=null;if(r.excavate){let e=Math.floor(l),t=Math.floor(u);f={x:e,y:t,w:Math.ceil(s+l-e),h:Math.ceil(c+u-t)}}let p=r.crossOrigin;return{x:l,y:u,h:c,w:s,excavation:f,opacity:d,crossOrigin:p}}function tv(e,t){return t==null?e?Y_:X_:Math.max(Math.floor(t),0)}function nv({value:e,level:t,minVersion:n,includeMargin:r,marginSize:i,imageSettings:a,size:o,boostLevel:s}){let c=q.useMemo(()=>{let r=(Array.isArray(e)?e:[e]).reduce((e,t)=>(e.push(...V_.QrSegment.makeSegments(t)),e),[]);return V_.QrCode.encodeSegments(r,H_[t],n,void 0,void 0,s)},[e,t,n,s]),{cells:l,margin:u,numCells:d,calculatedImageSettings:f}=q.useMemo(()=>{let e=c.getModules(),t=tv(r,i);return{cells:e,margin:t,numCells:e.length+t*2,calculatedImageSettings:ev(e,o,t,a)}},[c,o,a,r,i]);return{qrcode:c,margin:u,cells:l,numCells:d,calculatedImageSettings:f}}var rv=function(){try{new Path2D().addPath(new Path2D)}catch{return!1}return!0}(),iv=q.forwardRef(function(e,t){let n=e,{value:r,size:i=U_,level:a=W_,bgColor:o=G_,fgColor:s=K_,includeMargin:c=q_,minVersion:l=J_,boostLevel:u,marginSize:d,imageSettings:f}=n,p=z_(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`marginSize`,`imageSettings`]),{style:m}=p,h=z_(p,[`style`]),g=f?.src,_=q.useRef(null),v=q.useRef(null),y=q.useCallback(e=>{_.current=e,typeof t==`function`?t(e):t&&(t.current=e)},[t]),[b,x]=q.useState(!1),{margin:S,cells:C,numCells:w,calculatedImageSettings:T}=nv({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:d,imageSettings:f,size:i});q.useEffect(()=>{if(_.current!=null){let e=_.current,t=e.getContext(`2d`);if(!t)return;let n=C,r=v.current,a=T!=null&&r!==null&&r.complete&&r.naturalHeight!==0&&r.naturalWidth!==0;a&&T.excavation!=null&&(n=$_(C,T.excavation));let c=window.devicePixelRatio||1;e.height=e.width=i*c;let l=i/w*c;t.scale(l,l),t.fillStyle=o,t.fillRect(0,0,w,w),t.fillStyle=s,rv?t.fill(new Path2D(Q_(n,S))):C.forEach(function(e,n){e.forEach(function(e,r){e&&t.fillRect(r+S,n+S,1,1)})}),T&&(t.globalAlpha=T.opacity),a&&t.drawImage(r,T.x+S,T.y+S,T.w,T.h)}}),q.useEffect(()=>{x(!1)},[g]);let E=R_({height:i,width:i},m),D=null;return g!=null&&(D=q.createElement(`img`,{src:g,key:g,style:{display:`none`},onLoad:()=>{x(!0)},ref:v,crossOrigin:T?.crossOrigin})),q.createElement(q.Fragment,null,q.createElement(`canvas`,R_({style:E,height:i,width:i,ref:y,role:`img`},h)),D)});iv.displayName=`QRCodeCanvas`;var av=q.forwardRef(function(e,t){let n=e,{value:r,size:i=U_,level:a=W_,bgColor:o=G_,fgColor:s=K_,includeMargin:c=q_,minVersion:l=J_,boostLevel:u,title:d,marginSize:f,imageSettings:p}=n,m=z_(n,[`value`,`size`,`level`,`bgColor`,`fgColor`,`includeMargin`,`minVersion`,`boostLevel`,`title`,`marginSize`,`imageSettings`]),{margin:h,cells:g,numCells:_,calculatedImageSettings:v}=nv({value:r,level:a,minVersion:l,boostLevel:u,includeMargin:c,marginSize:f,imageSettings:p,size:i}),y=g,b=null;p!=null&&v!=null&&(v.excavation!=null&&(y=$_(g,v.excavation)),b=q.createElement(`image`,{href:p.src,height:v.h,width:v.w,x:v.x+h,y:v.y+h,preserveAspectRatio:`none`,opacity:v.opacity,crossOrigin:v.crossOrigin}));let x=Q_(y,h);return q.createElement(`svg`,R_({height:i,width:i,viewBox:`0 0 ${_} ${_}`,ref:t,role:`img`},m),!!d&&q.createElement(`title`,null,d),q.createElement(`path`,{fill:o,d:`M0,0 h${_}v${_}H0z`,shapeRendering:`crispEdges`}),q.createElement(`path`,{fill:s,d:x,shapeRendering:`crispEdges`}),b)});av.displayName=`QRCodeSVG`;var ov=/^[a-z0-9][a-z0-9-]{1,31}$/,sv=`2–32 characters: lowercase letters, numbers, hyphens.`;function cv(e){return e.replace(/^https?:\/\//,``).replace(/\/$/,``)}function lv(e){if(!e)return``;let t=e.toLowerCase().replace(/[^a-z0-9]+/g,`-`).replace(/^-+|-+$/g,``).slice(0,32);return ov.test(t)?t:``}function uv({cloudUrl:e,deviceName:t}){let[n,r]=(0,q.useState)(null),[i,a]=(0,q.useState)(!0),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(null);(0,q.useEffect)(()=>{(async()=>{try{r((await R.get(`/api/cloud/alias`)).slug)}catch{s(!0)}a(!1)})()},[]);let g=(0,q.useCallback)(()=>{d(n??lv(t)),h(null),l(!0)},[n,t]),_=(0,q.useCallback)(async()=>{let e=u.trim().toLowerCase();if(!ov.test(e)){h(sv);return}p(!0),h(null);try{r((await R.patch(`/api/cloud/alias`,{slug:e})).slug),l(!1)}catch(e){h(e instanceof Error?e.message:`Could not save that name`)}finally{p(!1)}},[u]);return i?null:o?(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground leading-relaxed`,children:`Couldn't check this machine's permanent link. Open the cloud dashboard, or sign in again.`}):c?(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsxs)(`span`,{className:`text-xs font-mono text-muted-foreground shrink-0`,children:[cv(e),`/`]}),(0,J.jsx)(`input`,{autoFocus:!0,value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&_(),e.key===`Escape`&&l(!1)},placeholder:`my-mac`,className:`flex-1 min-w-0 text-base md:text-xs font-mono text-foreground bg-muted px-2 min-h-11 md:min-h-0 md:py-1.5 rounded border border-border outline-none focus:border-primary`}),(0,J.jsx)(`button`,{onClick:_,disabled:f,title:`Save`,className:`flex items-center justify-center size-11 md:size-8 rounded border border-border text-primary bg-muted hover:bg-accent transition-colors shrink-0 disabled:opacity-50`,children:f?(0,J.jsx)(K,{className:`size-3.5 animate-spin`}):(0,J.jsx)(Fe,{className:`size-3.5`})}),(0,J.jsx)(`button`,{onClick:()=>l(!1),title:`Cancel`,className:`flex items-center justify-center size-11 md:size-8 rounded border border-border text-muted-foreground bg-muted hover:bg-accent transition-colors shrink-0`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}),(0,J.jsx)(`p`,{className:`text-[10px] text-muted-foreground`,children:m??sv})]}):n?(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Permanent link`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsxs)(`a`,{href:`${e}/${n}`,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 min-w-0 flex items-center gap-1 text-xs font-mono text-primary hover:underline truncate`,children:[(0,J.jsxs)(`span`,{className:`truncate`,children:[cv(e),`/`,n]}),(0,J.jsx)(Tn,{className:`size-3 shrink-0`})]}),(0,J.jsx)(`button`,{onClick:g,title:`Change permanent link`,className:`flex items-center justify-center size-11 md:size-8 rounded border border-border text-muted-foreground bg-muted hover:bg-accent hover:text-foreground transition-colors shrink-0`,children:(0,J.jsx)(kr,{className:`size-3.5`})})]})]}):(0,J.jsxs)(`button`,{onClick:g,className:`w-full flex items-center justify-center gap-1.5 px-3 min-h-11 md:min-h-0 md:py-2 text-xs font-medium rounded-md border border-border hover:bg-muted transition-colors`,children:[(0,J.jsx)(kr,{className:`size-3.5`}),`Set a permanent link`]})}function dv({onClose:e,variant:t=`popover`}){let[n,r]=(0,q.useState)(null),[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(!0),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(null),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(null),[b,x]=(0,q.useState)(!1);(0,q.useEffect)(()=>{(async()=>{try{let[e,t]=await Promise.all([R.get(`/api/cloud/status`),R.get(`/api/tunnel`)]);r(e),a(t)}catch{}s(!1)})()},[]);let S=(0,q.useCallback)(e=>{bc(e),_(e),setTimeout(()=>_(null),2e3)},[]),C=(0,q.useCallback)(async()=>{l(!0),h(null);try{a({active:!0,url:(await R.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),r(await R.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to start tunnel`)}finally{l(!1)}},[i]),w=(0,q.useCallback)(async()=>{h(null);try{let{cloud_url:e}=await R.get(`/api/cloud/login-url`),t=await fetch(`${e}/auth/device-code`,{method:`POST`,headers:{"Content-Type":`application/json`}});if(!t.ok)throw Error(`Failed to get device code`);let n=await t.json();y({userCode:n.user_code,verifyUrl:n.verification_uri}),x(!0);let i=(n.interval||5)*1e3,a=Date.now()+n.expires_in*1e3,o=setInterval(async()=>{if(Date.now()>a){clearInterval(o),x(!1),y(null),h(`Login expired. Try again.`);return}try{let t=await fetch(`${e}/auth/device-code/poll`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({device_code:n.device_code})});if(!t.ok)return;let i=await t.json();i.status===`approved`&&i.access_token&&i.email&&(clearInterval(o),x(!1),y(null),await R.post(`/api/cloud/login`,{access_token:i.access_token,email:i.email,cloud_url:e}),r(await R.get(`/api/cloud/status`)))}catch{}},i)}catch(e){h(e instanceof Error?e.message:`Failed to start login`),x(!1),y(null)}},[]),T=(0,q.useCallback)(async()=>{d(!0),h(null);try{i?.active||a({active:!0,url:(await R.post(`/api/tunnel/start`,{})).url,localUrl:i?.localUrl??null}),await R.post(`/api/cloud/link`,{}),r(await R.get(`/api/cloud/status`))}catch(e){h(e instanceof Error?e.message:`Failed to link device`)}finally{d(!1)}},[i]),E=(0,q.useCallback)(async()=>{if(confirm(`Unlink this device from PPM Cloud? It will no longer appear on your cloud dashboard.`)){p(!0);try{await R.post(`/api/cloud/unlink`,{}),r(await R.get(`/api/cloud/status`))}catch{}p(!1)}},[]),D=(0,q.useCallback)(async()=>{let e=n?.linked?`Sign out from PPM Cloud? This will also unlink your device.`:`Sign out from PPM Cloud?`;if(confirm(e)){if(n?.linked)try{await R.post(`/api/cloud/unlink`,{})}catch{}await R.post(`/api/cloud/logout`,{}),r(e=>e?{...e,logged_in:!1,email:null,linked:!1,device_name:null,device_id:null}:null)}},[n?.linked]),O=i?.url||n?.tunnel_url;return(0,J.jsxs)(`div`,{className:t===`sheet`?`w-full p-3 space-y-3`:`w-72 bg-background border border-border rounded-lg shadow-lg p-3 space-y-3`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[(0,J.jsx)(vn,{className:`size-4 text-primary`}),(0,J.jsx)(`span`,{className:`text-sm font-medium text-foreground`,children:`PPM Cloud`})]}),(0,J.jsx)(`button`,{onClick:e,className:`text-text-subtle hover:text-foreground`,children:(0,J.jsx)(tt,{className:`size-3.5`})})]}),o&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground text-xs py-2`,children:[(0,J.jsx)(K,{className:`size-4 animate-spin`}),(0,J.jsx)(`span`,{children:`Loading...`})]}),!o&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`space-y-1.5`,children:n?.logged_in?(0,J.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(`div`,{className:`size-2 rounded-full bg-success shrink-0`}),(0,J.jsx)(`span`,{className:`text-xs text-foreground truncate`,children:n.email})]}),(0,J.jsx)(`button`,{onClick:D,className:`text-text-subtle hover:text-foreground p-1 rounded hover:bg-muted transition-colors shrink-0`,title:`Sign out`,children:(0,J.jsx)(pr,{className:`size-3`})})]}):v?(0,J.jsxs)(`div`,{className:`space-y-2 text-center`,children:[(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Open the link below and enter the code:`}),(0,J.jsx)(`div`,{className:`font-mono text-2xl font-bold tracking-[0.3em] text-primary`,children:v.userCode}),(0,J.jsx)(`a`,{href:v.verifyUrl,target:`_blank`,rel:`noopener noreferrer`,className:`text-xs text-primary hover:underline`,children:v.verifyUrl}),b&&(0,J.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 text-xs text-muted-foreground`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),(0,J.jsx)(`span`,{children:`Waiting for verification...`})]})]}):(0,J.jsxs)(J.Fragment,{children:[O&&(0,J.jsx)(`p`,{className:`text-[11px] text-muted-foreground leading-relaxed`,children:`This link changes every time PPM restarts. Sign in to get a permanent one that always points here — private to your account.`}),(0,J.jsxs)(`button`,{onClick:w,className:`w-full flex items-center justify-center gap-1.5 px-3 py-2 text-xs font-medium rounded-md border border-border hover:bg-muted transition-colors`,children:[(0,J.jsx)(vn,{className:`size-3.5`}),O?`Get a permanent link`:`Sign in to PPM Cloud`]})]})}),n?.logged_in&&(0,J.jsx)(`div`,{className:`space-y-1.5`,children:n.linked?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between text-xs`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 min-w-0`,children:[(0,J.jsx)(lr,{className:`size-3 text-primary shrink-0`}),(0,J.jsx)(`span`,{className:`text-foreground truncate`,children:n.device_name})]}),(0,J.jsx)(`button`,{onClick:E,disabled:f,className:`text-text-subtle hover:text-destructive p-1 rounded hover:bg-muted transition-colors shrink-0`,title:`Unlink device`,children:f?(0,J.jsx)(K,{className:`size-3 animate-spin`}):(0,J.jsx)(ui,{className:`size-3`})})]}),(0,J.jsx)(uv,{cloudUrl:n.cloud_url,deviceName:n.device_name})]}):(0,J.jsx)(`button`,{onClick:T,disabled:u,className:`w-full flex items-center justify-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors disabled:opacity-50`,children:u?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(K,{className:`size-3.5 animate-spin`}),` Linking...`]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(lr,{className:`size-3.5`}),` Link this machine`]})})}),(0,J.jsx)(`div`,{className:`border-t border-border`}),i?.localUrl&&(0,J.jsxs)(`div`,{className:`space-y-1`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Local Network`}),(0,J.jsx)(fv,{url:i.localUrl,copied:g,onCopy:S})]}),!O&&!c&&(0,J.jsxs)(`button`,{onClick:C,className:`w-full flex items-center justify-center gap-1.5 px-3 py-1.5 text-xs font-medium rounded-md bg-primary text-primary-foreground hover:bg-primary/90 transition-colors`,children:[(0,J.jsx)(Yr,{className:`size-3.5`}),`Start Sharing`]}),c&&(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-2 py-2`,children:[(0,J.jsx)(K,{className:`size-5 animate-spin text-primary`}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:`Starting tunnel...`})]}),O&&(0,J.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,J.jsx)(`span`,{className:`text-[10px] font-medium text-muted-foreground uppercase tracking-wide`,children:`Public URL`}),(0,J.jsx)(`div`,{className:`flex justify-center`,children:(0,J.jsx)(`div`,{className:`p-3 rounded-lg`,style:{backgroundColor:`#ffffff`,colorScheme:`light`},children:(0,J.jsx)(av,{value:O,size:180,bgColor:`#ffffff`,fgColor:`#000000`,level:`L`,style:{display:`block`}})})}),(0,J.jsx)(fv,{url:O,copied:g,onCopy:S})]}),n?.logged_in&&n.linked&&(0,J.jsxs)(`a`,{href:n.cloud_url+`/dashboard`,target:`_blank`,rel:`noopener noreferrer`,className:`flex items-center justify-center gap-1.5 w-full px-3 py-1.5 text-xs text-muted-foreground hover:text-foreground rounded-md border border-border hover:bg-muted transition-colors`,children:[(0,J.jsx)(Tn,{className:`size-3`}),`Open Cloud Dashboard`]}),m&&(0,J.jsx)(`p`,{className:`text-xs text-destructive`,children:m})]})]})}function fv({url:e,copied:t,onCopy:n}){return(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`input`,{readOnly:!0,value:e,className:`flex-1 text-xs font-mono text-foreground bg-muted px-2 py-1.5 rounded border border-border truncate`,onClick:e=>e.target.select()}),(0,J.jsx)(`button`,{onClick:()=>n(e),className:`flex items-center justify-center size-7 rounded border border-border text-muted-foreground bg-muted hover:bg-accent hover:text-foreground transition-colors shrink-0`,title:`Copy URL`,children:t===e?(0,J.jsx)(Fe,{className:`size-3.5 text-primary`}):(0,J.jsx)(Xe,{className:`size-3.5`})})]})}var pv=`hienlh/ppm`;async function mv(e,t){let n=`(could not fetch)`;try{let e=it(),t=await(await fetch(`/api/logs/recent`,e?{headers:{Authorization:`Bearer ${e}`}}:{})).json();t.ok&&(n=t.data.logs||`(empty)`)}catch{}let r=``;if(t?.sessionId&&t?.projectName)try{let e=await R.get(`${L(t.projectName)}/chat/sessions/${t.sessionId}/logs?tail=100`);e.logs&&(r=e.logs)}catch{}return[`## Environment`,`- PPM: v${e??`unknown`}`,`- Browser: ${navigator.userAgent}`,``,`## Description`,`<!-- Describe the bug -->`,``,`## Steps to Reproduce`,`1. `,``,`## Expected Behavior`,``,...r?[`## Chat Session Logs (${t?.sessionId?.slice(0,8)})`,"```",r,"```",``]:[],`## Server Logs (last 30 lines)`,"```",n,"```"].join(`
|
|
21
21
|
`)}function hv(e){let t=`https://github.com/${pv}/issues/new?title=bug%3A%20&body=${encodeURIComponent(e)}`;window.open(t,`_blank`)}function gv(e,t){mv(e,t).then(e=>{window.dispatchEvent(new CustomEvent(`open-bug-report`,{detail:e}))})}function _v({count:e}){return(0,J.jsx)(`span`,{className:`absolute top-1 right-1 min-w-[16px] h-4 px-1 flex items-center justify-center rounded-full bg-primary text-primary-foreground text-[10px] font-medium leading-none`,children:e>99?`99+`:e})}function vv({icon:e,label:t,active:n,badge:r,featureBadge:i,onClick:a,dragging:o,dropBefore:s,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d}){return(0,J.jsxs)(`button`,{draggable:!0,onDragStart:c,onDragOver:l,onDrop:u,onDragEnd:d,onClick:a,className:H(`group relative flex items-center justify-center size-[38px] rounded-[9px] transition-colors shrink-0`,n?`bg-accent-wash text-primary shadow-[inset_2px_0_0_var(--accent)]`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`,o&&`opacity-40`,s&&`shadow-[inset_0_2px_0_var(--accent)]`),children:[(0,J.jsx)(e,{className:`size-[18px]`,strokeWidth:n?2.4:2}),r!=null&&r>0&&(0,J.jsx)(_v,{count:r}),(0,J.jsx)(Wg,{id:i,variant:`corner`}),(0,J.jsx)(`span`,{className:`pointer-events-none absolute left-[calc(100%+8px)] z-50 hidden can-hover:group-hover:block whitespace-nowrap rounded-md border border-border bg-surface-elevated px-2 py-1 text-xs font-medium text-foreground shadow-[0_4px_12px_rgba(0,0,0,.4)]`,children:t})]})}function yv({icon:e,label:t,onClick:n,active:r,featureBadge:i}){return(0,J.jsxs)(`button`,{type:`button`,"aria-label":t,title:t,onClick:n,className:H(`group relative flex items-center justify-center size-8 rounded-[7px] transition-colors shrink-0`,r?`text-primary bg-accent-wash`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`),children:[(0,J.jsx)(e,{className:`size-4`}),(0,J.jsx)(Wg,{id:i,variant:`corner`}),(0,J.jsx)(`span`,{className:`pointer-events-none absolute left-[calc(100%+8px)] z-50 hidden can-hover:group-hover:block whitespace-nowrap rounded-md border border-border bg-surface-elevated px-2 py-1 text-xs font-medium text-foreground shadow-[0_4px_12px_rgba(0,0,0,.4)]`,children:t})]})}var bv=(0,q.memo)(function({className:e}){let{activeProject:t}=W(Ol(e=>({activeProject:e.activeProject}))),n=V(e=>e.sidebarActiveTab),r=V(e=>e.setSidebarActiveTab),i=V(e=>e.sidebarTabOrder),a=V(e=>e.setSidebarTabOrder),o=V(e=>e.sidebarCollapsed),s=V(e=>e.toggleSidebar),c=V(e=>e.jiraEnabled),l=V(e=>e.version),u=$s(e=>e.contributions),d=gu(e=>t?.name?e.counts.get(t.name)??0:0),f=Nh(e=>e.unreadCount),p=Do(ko(t?.name)),m=(0,q.useMemo)(()=>j_(A_({jiraEnabled:c,contributions:u}),i),[u,c,i]),[h,g]=(0,q.useState)(null),[_,v]=(0,q.useState)(null),y=e=>{if(h&&h!==e){let t=m.map(e=>e.id),n=t.indexOf(h);if(n>=0){t.splice(n,1);let r=t.indexOf(e);t.splice(r<0?t.length:r,0,h),a(t)}}g(null),v(null)},[b,x]=(0,q.useState)(!1),S=(0,q.useRef)(null),[C,w]=(0,q.useState)(null);(0,q.useEffect)(()=>{if(!b||!S.current){w(null);return}let e=S.current.getBoundingClientRect();w({left:e.right+6,bottom:window.innerHeight-e.bottom})},[b]),(0,q.useEffect)(()=>{let e=()=>{vt()||x(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let T=()=>gv(l),E=e=>{o?(r(e),s()):n===e?s():r(e)};return(0,J.jsxs)(`div`,{className:H(`w-[52px] shrink-0 border-r border-border flex flex-col`,e),children:[(0,J.jsx)(`div`,{className:`flex-1 overflow-y-auto min-h-0 flex flex-col items-center gap-[3px] px-[3px] py-2 scrollbar-none`,children:m.map(e=>(0,J.jsx)(vv,{icon:e.icon,label:e.label,active:n===e.id,badge:e.id===`git`?d:e.id===`jira`?f:e.id===`history`?p:void 0,featureBadge:e.badge,onClick:()=>E(e.id),dragging:h===e.id,dropBefore:_===e.id&&h!==e.id,onDragStart:t=>{g(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),y(e.id)},onDragEnd:()=>{g(null),v(null)}},e.id))}),(0,J.jsxs)(`div`,{className:`shrink-0 flex flex-col items-center gap-0.5 px-[3px] py-2 border-t border-border`,children:[(0,J.jsx)(M_,{expanded:!1}),(0,J.jsxs)(`button`,{ref:S,onClick:()=>x(!b),className:H(`group relative flex items-center justify-center size-8 rounded-[7px] transition-colors shrink-0`,b?`text-primary bg-primary/10`:`text-text-subtle hover:bg-surface-elevated hover:text-foreground`),children:[(0,J.jsx)(vn,{className:`size-4`}),(0,J.jsx)(`span`,{className:`pointer-events-none absolute left-[calc(100%+8px)] z-50 hidden can-hover:group-hover:block whitespace-nowrap rounded-md border border-border bg-surface-elevated px-2 py-1 text-xs font-medium text-foreground shadow-[0_4px_12px_rgba(0,0,0,.4)]`,children:`Cloud & Share`})]}),b&&C&&(0,kl.createPortal)((0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>x(!1)}),(0,J.jsx)(`div`,{className:`fixed z-50`,style:{left:C.left,bottom:C.bottom},children:(0,J.jsx)(dv,{onClose:()=>x(!1)})})]}),document.body),(0,J.jsx)(yv,{icon:Un,label:`File Explorer`,featureBadge:`os-explorer`,onClick:()=>void xf()}),(0,J.jsx)(yv,{icon:tn,label:`Report Bug`,onClick:T}),(0,J.jsx)(yv,{icon:Jr,label:`Settings`,active:n===`settings`,onClick:()=>E(`settings`)})]})]})});function xv({onResize:e}){let t=(0,q.useRef)(!1);return(0,J.jsx)(`div`,{className:`absolute right-0 top-0 bottom-0 w-1 cursor-col-resize hover:bg-primary/30 active:bg-primary/50 transition-colors z-10`,onPointerDown:(0,q.useCallback)(e=>{e.preventDefault(),t.current=!0,e.currentTarget.setPointerCapture(e.pointerId),document.body.style.cursor=`col-resize`,document.body.style.userSelect=`none`},[]),onPointerMove:(0,q.useCallback)(n=>{t.current&&e(n.clientX)},[e]),onPointerUp:(0,q.useCallback)(e=>{t.current=!1,e.currentTarget.releasePointerCapture(e.pointerId),document.body.style.cursor=``,document.body.style.userSelect=``},[])})}function Sv({onToggle:e}){return(0,J.jsx)(`button`,{onClick:e,title:`Toggle sidebar (⌘B)`,className:`w-[52px] shrink-0 flex items-center justify-center border-r border-border hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(`span`,{className:`text-sm font-extrabold text-primary leading-none tracking-tight`,children:`PPM`})})}var Cv=(0,q.memo)(function(){let{activeProject:e}=W(Ol(e=>({activeProject:e.activeProject}))),t=V(e=>e.sidebarCollapsed),n=V(e=>e.sidebarWidth),r=V(e=>e.toggleSidebar),i=V(e=>e.setSidebarWidth),a=V(e=>e.sidebarActiveTab);return _u(e?.name,a===`git`),t?(0,J.jsxs)(`aside`,{className:`hidden md:flex flex-col w-[52px] min-w-[52px] bg-rail border-r border-border`,children:[(0,J.jsx)(`button`,{onClick:r,title:`Expand sidebar (⌘B)`,className:`flex flex-col items-center justify-center gap-px h-[41px] border-b border-border text-primary hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(Er,{className:`size-4 text-text-secondary`})}),(0,J.jsx)(bv,{className:`flex-1 min-h-0`})]}):(0,J.jsxs)(`aside`,{className:`hidden md:flex flex-col bg-panel border-r border-border overflow-hidden relative`,style:{width:n,minWidth:200,maxWidth:600},children:[(0,J.jsxs)(`div`,{className:`flex h-[41px] border-b border-border shrink-0`,children:[(0,J.jsx)(Sv,{onToggle:r}),(0,J.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-1.5`,children:(0,J.jsx)(O_,{})})]}),(0,J.jsxs)(`div`,{className:`flex-1 min-h-0 flex`,children:[(0,J.jsx)(bv,{}),(0,J.jsx)(`div`,{className:`flex-1 min-w-0 flex flex-col`,children:(0,J.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:[a===`explorer`&&(e?(0,J.jsx)(ap,{}):(0,J.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to browse files`})})),a===`git`&&(0,J.jsx)(hp,{metadata:{projectName:e?.name}}),a===`search`&&(0,J.jsx)(Th,{}),a===`history`&&(e?(0,J.jsx)(Vg,{variant:`sidebar`,projectName:e.name}):(0,J.jsx)(`div`,{className:`flex items-center justify-center h-24 p-4`,children:(0,J.jsx)(`p`,{className:`text-xs text-text-subtle text-center`,children:`Select a project to view chat history`})})),a===`teams`&&(0,J.jsx)(u_,{}),a===`database`&&(0,J.jsx)(xh,{}),a===`tunnels`&&(0,J.jsx)(Mg,{}),a===`jira`&&(0,J.jsx)(qh,{}),a===`ai-resources`&&(0,J.jsx)(Og,{}),a===`settings`&&(0,J.jsx)($m,{}),typeof a==`string`&&a.startsWith(`ext:`)&&(0,J.jsx)(kh,{viewId:a.slice(4),className:`h-full`})]})})]}),(0,J.jsx)(xv,{onResize:i})]})}),wv=600,Tv=null,Ev=0,Dv=null,Ov=[],kv=!1,Av=new Set;function jv(){for(let e of Av)e()}function Mv(){if(Tv)return;let e=it(),t=e?`?token=${encodeURIComponent(e)}`:``,n=new EventSource(`/api/system/resources/stream${t}`);n.addEventListener(`snapshot`,e=>{try{let t=JSON.parse(e.data);Dv=t,Ov=[...Ov,t],Ov.length>wv&&(Ov=Ov.slice(-wv)),kv=!0,jv()}catch{}}),n.onerror=()=>{kv=!1,Tv&&=(Tv.close(),null),jv(),Ev>0&&setTimeout(()=>{!Tv&&Ev>0&&Mv()},5e3)},n.onopen=()=>{kv=!0,jv()},Tv=n}function Nv(){Tv&&(Tv.close(),Tv=null,kv=!1,jv())}function Pv(){let[,e]=(0,q.useState)(0),t=(0,q.useRef)(!0),n=(0,q.useCallback)(()=>{t.current&&e(e=>e+1)},[]);return(0,q.useEffect)(()=>(t.current=!0,Av.add(n),Ev++,Ev===1&&Mv(),()=>{t.current=!1,Av.delete(n),Ev--,Ev===0&&Nv()}),[n]),{latest:Dv,history:Ov,isConnected:kv}}function Fv(e){return e>80?`text-error`:e>50?`text-warning`:`text-success`}var Iv=(0,q.memo)(function({compact:e=!1}){let{latest:t,isConnected:n}=Pv(),r=G(e=>e.openTab),i=_t(),a=()=>{r({type:`system-monitor`,title:`System Monitor`,projectId:null,closable:!0})};if(!n||!t)return e?null:(0,J.jsxs)(`button`,{onClick:a,className:`flex items-center gap-1.5 px-2 py-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors w-full`,children:[(0,J.jsx)(bn,{className:`size-3 opacity-50`}),(0,J.jsx)(`span`,{className:`opacity-50`,children:`Connecting...`})]});let{cpu:o,ramMB:s,processCount:c}=t.total,l=s<1024?`${s.toFixed(0)}M`:`${(s/1024).toFixed(1)}G`;return e?(0,J.jsxs)(`button`,{onClick:a,className:`flex items-center gap-2 px-1 rounded-sm hover:bg-accent/15 transition-colors cursor-pointer`,title:`Open System Monitor`,children:[(0,J.jsxs)(`span`,{className:Fv(o),children:[`CPU `,o.toFixed(0),`%`]}),(0,J.jsxs)(`span`,{className:`text-text-secondary`,children:[`MEM `,l]})]}):(0,J.jsxs)(`button`,{onClick:a,className:`flex items-center gap-1.5 px-2 py-1 text-[10px] hover:bg-surface-hover transition-colors w-full cursor-pointer`,title:`Open System Monitor`,children:[(0,J.jsx)(bn,{className:H(`size-3`,Fv(o))}),(0,J.jsx)(`span`,{className:Fv(o),children:i?`${o.toFixed(0)}%`:`CPU ${o.toFixed(1)}%`}),(0,J.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,J.jsx)(`span`,{className:`text-text-secondary`,children:s<1024?`${s.toFixed(0)}MB`:`${(s/1024).toFixed(1)}GB`}),!i&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`span`,{className:`text-text-subtle`,children:`|`}),(0,J.jsxs)(`span`,{className:`text-text-subtle`,children:[c,` proc`]})]})]})}),Lv=(0,q.memo)(function(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),i=V(e=>e.setThemeStyle),a=V(e=>e.setThemeMode),o=V(e=>e.setCustomTheme),s=Ft(e,t,r,n),c=e=>{let t=Pt[e];t&&(i(t.style),a(t.mode))};return(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsxs)(`button`,{title:`Theme`,"aria-label":`Theme`,className:`flex items-center gap-1 px-1 rounded-sm transition-colors hover:bg-accent/40 hover:text-text-primary`,children:[(0,J.jsx)(wr,{className:`size-[11px]`}),(0,J.jsx)(`span`,{className:`truncate max-w-[90px]`,children:s.name})]})}),(0,J.jsxs)(tl,{side:`top`,align:`end`,className:`w-56`,children:[(0,J.jsx)(il,{children:`Theme`}),Nt.map(e=>{let t=Pt[e];if(!t)return null;let n=s.id===e;return(0,J.jsxs)(Z,{onClick:()=>c(e),className:`gap-2`,children:[(0,J.jsx)(Rm,{swatch:t.swatch}),(0,J.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,J.jsx)(Fe,{className:H(`size-4 shrink-0`,n?`opacity-100`:`opacity-0`)})]},e)}),r.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(il,{children:`Imported`}),r.map(t=>{let r=e===`custom`&&n===t.id;return(0,J.jsxs)(Z,{onClick:()=>o(t.id),className:`gap-2`,children:[(0,J.jsx)(Rm,{swatch:t.swatch}),(0,J.jsx)(`span`,{className:`flex-1 truncate`,children:t.name}),(0,J.jsx)(Fe,{className:H(`size-4 shrink-0`,r?`opacity-100`:`opacity-0`)})]},t.id)})]})]})]})}),Rv=`https://raw.githubusercontent.com/hienlh/ppm/main/CHANGELOG.md`;function zv(e,t){let n=e.split(`.`).map(e=>parseInt(e,10)||0),r=t.split(`.`).map(e=>parseInt(e,10)||0);for(let e=0;e<3;e++){let t=(n[e]??0)-(r[e]??0);if(t!==0)return t}return 0}var Bv=/^##\s*\[(\d+\.\d+\.\d+)\]\s*(?:-\s*(.+))?\s*$/;function Vv(e){let t=e.split(/\r?\n/),n=[],r=null,i=[],a=()=>{r&&(r.body=i.join(`
|
|
22
22
|
`).trim(),n.push(r)),i.length=0};for(let e of t){let t=e.match(Bv);t?(a(),r={version:t[1],date:(t[2]??``).trim(),body:``}):r&&i.push(e)}return a(),n}function Hv(e){return e.reduce((e,t)=>e&&zv(t.version,e)<=0?e:t.version,null)}async function Uv(){let e=await fetch(`${Rv}?t=${Date.now()}`,{cache:`no-store`});if(!e.ok)throw Error(`CHANGELOG fetch failed (${e.status})`);return e.text()}async function Wv(e=10){return Vv(await Uv()).slice(0,e)}var Gv=6e4,Kv=`ppm-upgrade-dismissed-`,qv=`https://github.com/hienlh/ppm/releases`,Jv=`ppm-upgrade-test`;(function(){if(typeof window>`u`)return;let e=new URLSearchParams(window.location.search);if(!e.has(`ppm_upgrade_test`))return;let t=e.get(`ppm_upgrade_test`);t===`off`||t===`0`||t===`false`?sessionStorage.removeItem(Jv):sessionStorage.setItem(Jv,t||`1`)})();function Yv(){if(typeof window>`u`)return null;let e=sessionStorage.getItem(Jv);return e===null?null:e===`1`?``:e}function Xv(e){let[t=0,n=0]=e.split(`.`).map(e=>parseInt(e,10)||0);return`${t}.${n+1}.0`}async function Zv(){if(`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload()}async function Qv(){let e=Date.now()+6e4;for(;Date.now()<e;){try{if((await fetch(`/api/health`,{cache:`no-store`})).ok)break}catch{}await new Promise(e=>setTimeout(e,2e3))}await Zv()}function $v(e){if(e instanceof TypeError)return!0;let t=e?.message??``;return/fetch|network|failed to fetch|load failed/i.test(t)?!0:/HTTP 5(0[234]|2\d)\b/.test(t)}function ey({align:e=`right`}){let t=V(e=>e.version),[n,r]=(0,q.useState)(null),[i,a]=(0,q.useState)(null),[o,s]=(0,q.useState)(!1),[c,l]=(0,q.useState)(!1),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),[m,h]=(0,q.useState)(!1),[g,_]=(0,q.useState)(null),[v,y]=(0,q.useState)(!1),b=(0,q.useCallback)(async(e=!1)=>{try{let t=await R.get(e?`/api/upgrade?refresh=1`:`/api/upgrade`);r(t.currentVersion),t.availableVersion?(a(t.availableVersion),h(!!sessionStorage.getItem(Kv+t.availableVersion))):a(null)}catch{}},[]);(0,q.useEffect)(()=>{b();let e=setInterval(()=>b(),Gv);return()=>clearInterval(e)},[b]),(0,q.useEffect)(()=>{o&&b(!0)},[o,b]);let x=n??t,S=Yv(),C=S!==null,w=S||(x?Xv(x):`9.9.9`),T=i&&x&&zv(i,x)>0?i:null;(0,q.useEffect)(()=>{!o||!x||(y(!0),Wv().then(_).catch(()=>_([])).finally(()=>y(!1)))},[o,x]);let E=(0,q.useMemo)(()=>{if(!g||!x)return null;let e=Hv(g);return e&&zv(e,x)>0?e:null},[g,x]),D=T??E??(C?w:null),O=!!D&&!m,k=(0,q.useMemo)(()=>{if(!g||!O||C||!x)return g;let e=g.filter(e=>zv(e.version,x)>0);return e.length>0?e:g},[g,O,C,x]),A=(0,q.useCallback)(()=>{l(!1),d(!0),p(!0),Qv()},[]),j=(0,q.useCallback)(async()=>{l(!0),s(!1);try{let e=await R.post(`/api/upgrade/apply`);e.restart?A():(z.info(e.message||`Upgrade installed. Restart PPM manually.`),l(!1),D&&sessionStorage.setItem(Kv+D,`1`),h(!0))}catch(e){$v(e)?A():/already on latest/i.test(e.message)?(z.info(`v${D} is announced but not published yet — try again shortly.`),l(!1)):(z.error(`Upgrade failed: ${e.message}`),l(!1))}},[D,A]),M=(0,q.useCallback)(()=>{D&&sessionStorage.setItem(Kv+D,`1`),h(!0),s(!1)},[D]);return!x&&!O?null:u?(0,J.jsx)(`button`,{onClick:()=>{p(!0),Qv()},disabled:f,className:`flex items-center gap-1 px-1 rounded-sm text-success hover:brightness-110 transition-[filter] disabled:opacity-70`,title:f?`Applying update — reconnecting to the server…`:`Reload to apply the update`,children:f?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` Updating, reconnecting…`]}):(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(Rr,{className:`size-3`}),` Reload`]})}):c?(0,J.jsxs)(`span`,{className:`flex items-center gap-1 px-1 text-success`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` Updating…`]}):(0,J.jsxs)(`div`,{className:`relative shrink-0`,children:[(0,J.jsxs)(`button`,{onClick:()=>x&&s(e=>!e),title:O?`Update available: v${D}`:`PPM v${x} — release notes`,className:H(`flex items-center gap-1 px-1 rounded-sm transition-colors`,O?`text-success hover:brightness-110`:`hover:text-text`),children:[O&&(0,J.jsx)(mn,{className:`size-3`}),(0,J.jsx)(`span`,{children:O?`New version · v${D}`:`v${x}`})]}),o&&x&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-40`,onClick:()=>s(!1)}),(0,J.jsxs)(`div`,{className:H(`absolute bottom-full mb-2 w-72 z-50 rounded-[var(--rad-sm)] border border-border popover-solid shadow-[var(--shadow-panel)] overflow-hidden font-sans`,e===`left`?`left-0`:`right-0`),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-3 border-b border-border-soft`,children:[(0,J.jsx)(`span`,{className:H(`flex items-center justify-center size-[26px] shrink-0 rounded-lg`,O?`bg-success/20`:`bg-accent/15`),children:O?(0,J.jsx)(mn,{className:`size-[15px] text-success`}):(0,J.jsx)(er,{className:`size-[15px] text-accent`})}),(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`div`,{className:`text-[13px] font-semibold text-text leading-tight`,children:O?`Update available`:`Release notes`}),(0,J.jsx)(`div`,{className:`text-[11px] text-text-3 font-mono mt-0.5`,children:O?`v${x} → v${D}`:`PPM v${x}`})]})]}),(0,J.jsx)(`div`,{className:`max-h-56 overflow-y-auto overflow-x-hidden px-3 py-2.5 text-[12px] text-text-2 leading-relaxed break-words`,children:v?(0,J.jsxs)(`span`,{className:`flex items-center gap-2 text-text-3`,children:[(0,J.jsx)(K,{className:`size-3.5 animate-spin`}),` Loading release notes…`]}):k&&k.length>0?(0,J.jsx)(`div`,{className:`space-y-2.5`,children:k.map(e=>(0,J.jsx)(ny,{version:e.version,body:e.body},e.version))}):(0,J.jsx)(`span`,{className:`text-text-3`,children:O?`A new version of PPM is available. Open the release notes for details.`:`No release notes available right now.`})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-1.5 px-3 pb-3`,children:[O&&(0,J.jsxs)(`button`,{onClick:C&&!T?()=>{z.info(`Test mode — no real update to install`),s(!1)}:j,className:`flex items-center justify-center gap-1.5 w-full py-2 rounded-lg bg-success text-[12.5px] font-bold text-[#04130c] hover:brightness-105 transition-[filter]`,children:[(0,J.jsx)(Qe,{className:`size-3.5`}),` Update now`]}),(0,J.jsxs)(`div`,{className:`flex gap-1.5`,children:[(0,J.jsxs)(`a`,{href:qv,target:`_blank`,rel:`noopener noreferrer`,className:`flex-1 flex items-center justify-center gap-1.5 py-2 rounded-lg border border-border bg-panel text-xs font-medium text-text-2 hover:text-text transition-colors`,children:[(0,J.jsx)(Tn,{className:`size-3`}),` Release notes`]}),O&&(0,J.jsx)(`button`,{onClick:M,className:`px-3 py-2 rounded-lg border border-border text-xs text-text-3 hover:text-text-2 transition-colors`,children:`Later`})]})]})]})]})]})}function ty(e){return e.replace(/\*\*(.+?)\*\*/g,`$1`).replace(/`([^`]+)`/g,`$1`)}function ny({version:e,body:t}){let n=t.split(`
|
|
23
|
-
`);return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`text-[11px] font-mono font-semibold text-text mb-1`,children:[`v`,e]}),(0,J.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,J.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-text-3 pt-1`,children:n.slice(4)},t):n.startsWith(`- `)?(0,J.jsxs)(`div`,{className:`flex gap-1.5 text-text-2`,children:[(0,J.jsx)(`span`,{className:`text-text-3 shrink-0`,children:`•`}),(0,J.jsx)(`span`,{className:`min-w-0 break-words`,children:ty(n.slice(2))})]},t):(0,J.jsx)(`div`,{className:`text-text-2 break-words`,children:ty(n)},t):null})})]})}function ry(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var iy=(0,q.memo)(function(){let e=$s(e=>e.statusBarItems),t=e.filter(e=>e.alignment===`left`).sort((e,t)=>t.priority-e.priority),n=e.filter(e=>e.alignment===`right`).sort((e,t)=>t.priority-e.priority);return(0,J.jsxs)(`div`,{className:`hidden md:flex items-center justify-between h-[26px] px-3.5 bg-panel border-t border-border-soft text-[11px] font-mono text-text-3 select-none shrink-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,J.jsx)(ay,{}),t.map(e=>(0,J.jsx)(sy,{item:e},e.id)),(0,J.jsx)(oy,{})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,J.jsx)(Iv,{compact:!0}),n.map(e=>(0,J.jsx)(sy,{item:e},e.id)),(0,J.jsx)(Lv,{}),(0,J.jsx)(ey,{})]})]})}),ay=(0,q.memo)(function(){let e=W(e=>e.activeProject?.name??null),t=gu(t=>e?t.meta.get(e):void 0);if(!t?.branch)return null;let{branch:n,ahead:r,behind:i,tracking:a}=t,o=!!a&&r===0&&i===0;return(0,J.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0 shrink-0`,children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,title:a?`Tracking ${a}`:`No upstream`,children:[(0,J.jsx)(Gn,{className:`size-3 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate max-w-[140px]`,children:n})]}),(r>0||i>0)&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0`,children:[r>0&&(0,J.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,J.jsx)(Yt,{className:`size-3`}),r]}),i>0&&(0,J.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,J.jsx)(qt,{className:`size-3`}),i]})]}),o&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0`,children:[(0,J.jsx)(Fe,{className:`size-3`}),`synced`]})]})}),oy=(0,q.memo)(function(){let e=U(e=>e.dock.visible),t=ry(U(e=>e.panels[ut]),W(e=>e.activeProject?.name??null));return(0,J.jsxs)(`button`,{onClick:()=>U.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:H(`flex items-center gap-1 px-1 rounded-sm transition-colors hover:bg-accent/15`,e?`text-primary`:`text-text-subtle hover:text-text-primary`),children:[(0,J.jsx)(Tr,{className:`size-[11px]`}),t>0&&(0,J.jsx)(`span`,{children:t})]})}),sy=(0,q.memo)(function({item:e}){let t=(0,J.jsx)(`button`,{className:`truncate px-1 rounded-sm transition-colors ${e.command?`hover:bg-accent/15 hover:text-text-primary cursor-pointer`:`cursor-default`}`,onClick:()=>{e.command&&window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e.command}}))},children:e.text});return e.tooltip?(0,J.jsxs)(xi,{children:[(0,J.jsx)(Si,{asChild:!0,children:t}),(0,J.jsx)(Ci,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),cy=`grid place-items-center w-11 self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function ly({title:e,state:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r;return(0,J.jsxs)(`div`,{...l,style:{height:36,...c},className:H(`flex items-stretch shrink-0 border-b border-border bg-panel-2 rounded-t-[8px] overflow-hidden`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,J.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-3 cursor-default`,children:(0,J.jsx)(`span`,{className:H(`truncate text-xs font-medium`,n?`text-text`:`text-text-2`),children:e})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:cy,onClick:i,children:(0,J.jsx)(yr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":t===`maximized`?`Restore window`:`Maximize window`,className:cy,onClick:a,children:t===`maximized`?(0,J.jsx)(Xe,{className:`size-3`}):(0,J.jsx)(ti,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:H(cy,`can-hover:hover:bg-destructive can-hover:hover:text-white`),onClick:o,children:(0,J.jsx)(tt,{className:`size-3.5`})})]})}function uy(e,t,n){return Math.max(t,Math.min(e,n))}var dy={toVector(e,t){return e===void 0&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function fy(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function py(e,t,n,r=.15){return r===0?uy(e,t,n):e<t?-fy(t-e,n-t,r)+t:e>n?+fy(e-n,n-t,r)+n:e}function my(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[py(t,a,o,r),py(n,s,c,i)]}function hy(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function gy(e){var t=hy(e,`string`);return typeof t==`symbol`?t:String(t)}function _y(e,t,n){return t=gy(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?vy(Object(n),!0).forEach(function(t){_y(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var by={pointer:{start:`down`,change:`move`,end:`up`},mouse:{start:`down`,change:`move`,end:`up`},touch:{start:`start`,change:`move`,end:`end`},gesture:{start:`start`,change:`change`,end:`end`}};function xy(e){return e?e[0].toUpperCase()+e.slice(1):``}var Sy=[`enter`,`leave`];function Cy(e=!1,t){return e&&!Sy.includes(t)}function wy(e,t=``,n=!1){let r=by[e],i=r&&r[t]||t;return`on`+xy(e)+xy(i)+(Cy(n,i)?`Capture`:``)}var Ty=[`gotpointercapture`,`lostpointercapture`];function Ey(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=Ty.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function Dy(e,t=``){let n=by[e];return e+(n&&n[t]||t)}function Oy(e){return`touches`in e}function ky(e){return Oy(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function Ay(e){return Array.from(e.touches).filter(t=>{var n,r;return t.target===e.currentTarget||((n=e.currentTarget)==null||(r=n.contains)==null?void 0:r.call(n,t.target))})}function jy(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function My(e){return Oy(e)?jy(e)[0]:e}function Ny(e,t){try{let n=t.clientX-e.clientX,r=t.clientY-e.clientY,i=(t.clientX+e.clientX)/2,a=(t.clientY+e.clientY)/2,o=Math.hypot(n,r);return{angle:-(Math.atan2(n,r)*180)/Math.PI,distance:o,origin:[i,a]}}catch{}return null}function Py(e){return Ay(e).map(e=>e.identifier)}function Fy(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return Ny(n,r)}function Iy(e){let t=My(e);return Oy(e)?t.identifier:t.pointerId}function Ly(e){let t=My(e);return[t.clientX,t.clientY]}var Ry=40,zy=800;function By(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=Ry,n*=Ry):r===2&&(t*=zy,n*=zy),[t,n]}function Vy(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function Hy(e){let t={};if(`buttons`in e&&(t.buttons=e.buttons),`shiftKey`in e){let{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a}=e;Object.assign(t,{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a})}return t}function Uy(e,...t){return typeof e==`function`?e(...t):e}function Wy(){}function Gy(...e){return e.length===0?Wy:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function Ky(e,t){return Object.assign({},t,e||{})}var qy=32,Jy=class{constructor(e,t,n){this.ctrl=e,this.args=t,this.key=n,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){let{state:e,shared:t,ingKey:n,args:r}=this;t[n]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=r,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){let t=this.state,n=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=n.from?Uy(n.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){let t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){let e=this.state;e._initial=e._values,e.initial=e.values}compute(e){let{state:t,config:n,shared:r}=this;t.args=this.args;let i=0;if(e&&(t.event=e,n.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,r.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,r.locked=!!document.pointerLockElement,Object.assign(r,Hy(e)),r.down=r.pressed=r.buttons%2==1||r.touches>0,i=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){let e=t._delta.map(Math.abs);dy.addTo(t._distance,e)}this.axisIntent&&this.axisIntent(e);let[a,o]=t._movement,[s,c]=n.threshold,{_step:l,values:u}=t;if(n.hasCustomTransform?(l[0]===!1&&(l[0]=Math.abs(a)>=s&&u[0]),l[1]===!1&&(l[1]=Math.abs(o)>=c&&u[1])):(l[0]===!1&&(l[0]=Math.abs(a)>=s&&Math.sign(a)*s),l[1]===!1&&(l[1]=Math.abs(o)>=c&&Math.sign(o)*c)),t.intentional=l[0]!==!1||l[1]!==!1,!t.intentional)return;let d=[0,0];if(n.hasCustomTransform){let[e,t]=u;d[0]=l[0]===!1?0:e-l[0],d[1]=l[1]===!1?0:t-l[1]}else d[0]=l[0]===!1?0:a-l[0],d[1]=l[1]===!1?0:o-l[1];this.restrictToAxis&&!t._blocked&&this.restrictToAxis(d);let f=t.offset,p=t._active&&!t._blocked||t.active;p&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=r[this.ingKey]=t._active,e&&(t.first&&(`bounds`in n&&(t._bounds=Uy(n.bounds,t)),this.setup&&this.setup()),t.movement=d,this.computeOffset()));let[m,h]=t.offset,[[g,_],[v,y]]=t._bounds;t.overflow=[m<g?-1:m>_?1:0,h<v?-1:h>y?1:0],t._movementBound[0]=t.overflow[0]?t._movementBound[0]===!1?t._movement[0]:t._movementBound[0]:!1,t._movementBound[1]=t.overflow[1]?t._movementBound[1]===!1?t._movement[1]:t._movementBound[1]:!1;let b=t._active&&n.rubberband||[0,0];if(t.offset=my(t._bounds,t.offset,b),t.delta=dy.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>qy)){t.delta=dy.sub(t.offset,f);let e=t.delta.map(Math.abs);dy.addTo(t.distance,e),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&i>0&&(t.velocity=[e[0]/i,e[1]/i],t.timeDelta=i)}}emit(){let e=this.state,t=this.shared,n=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!n.triggerAllEvents)return;let r=this.handler(yy(yy(yy({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function Yy([e,t],n){let r=Math.abs(e),i=Math.abs(t);if(r>i&&r>n)return`x`;if(i>r&&i>n)return`y`}var Xy=class extends Jy{constructor(...e){super(...e),_y(this,`aliasKey`,`xy`)}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=dy.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=dy.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){let t=this.state,n=this.config;if(!t.axis&&e){let r=typeof n.axisThreshold==`object`?n.axisThreshold[ky(e)]:n.axisThreshold;t.axis=Yy(t._movement,r)}t._blocked=(n.lockDirection||!!n.axis)&&!t.axis||!!n.axis&&n.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case`x`:e[1]=0;break;case`y`:e[0]=0;break}}},Zy=e=>e,Qy=.15,$y={enabled(e=!0){return e},eventOptions(e,t,n){return yy(yy({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[Qy,Qy];case!1:return[0,0];default:return dy.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return dy.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||Zy},threshold(e){return dy.toVector(e,0)}},eb=0,tb=yy(yy({},$y),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=eb){return e},bounds(e={}){if(typeof e==`function`)return t=>tb.bounds(e(t));if(`current`in e)return()=>e.current;if(typeof HTMLElement==`function`&&e instanceof HTMLElement)return e;let{left:t=-1/0,right:n=1/0,top:r=-1/0,bottom:i=1/0}=e;return[[t,n],[r,i]]}}),nb={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]},rb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`dragging`)}reset(){super.reset();let e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){let e=this.state;if(e._bounds instanceof HTMLElement){let t=e._bounds.getBoundingClientRect(),n=e.currentTarget.getBoundingClientRect(),r={left:t.left-n.left+e.offset[0],right:t.right-n.right+e.offset[0],top:t.top-n.top+e.offset[1],bottom:t.bottom-n.bottom+e.offset[1]};e._bounds=tb.bounds(r)}}cancel(){let e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){let t=this.config,n=this.state;if(e.buttons!=null&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):t.pointerButtons!==-1&&t.pointerButtons!==e.buttons))return;let r=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),!(r&&r.size>1&&n._pointerActive)&&(this.start(e),this.setupPointer(e),n._pointerId=Iy(e),n._pointerActive=!0,this.computeValues(Ly(e)),this.computeInitial(),t.preventScrollAxis&&ky(e)!==`mouse`?(n._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){let t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){let t=this.state,n=this.config;if(!t._pointerActive)return;let r=Iy(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=Ly(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=dy.sub(i,t._values),this.computeValues(i)),dy.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional){this.timeoutStore.remove(`dragDelay`),t.active=!1,this.startPointerDrag(e);return}if(n.preventScrollAxis&&!t._preventScroll)if(t.axis)if(t.axis===n.preventScrollAxis||n.preventScrollAxis===`xy`){t._active=!1,this.clean();return}else{this.timeoutStore.remove(`startPointerDrag`),this.startPointerDrag(e);return}else return;this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch{}let t=this.state,n=this.config;if(!t._active||!t._pointerActive)return;let r=Iy(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);let[i,a]=t._distance;if(t.tap=i<=n.tapsThreshold&&a<=n.tapsThreshold,t.tap&&n.filterTaps)t._force=!0;else{let[e,r]=t._delta,[i,a]=t._movement,[o,s]=n.swipe.velocity,[c,l]=n.swipe.distance,u=n.swipe.duration;if(t.elapsedTime<u){let n=Math.abs(e/t.timeDelta),u=Math.abs(r/t.timeDelta);n>o&&Math.abs(i)>c&&(t.swipe[0]=Math.sign(e)),u>s&&Math.abs(a)>l&&(t.swipe[1]=Math.sign(r))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){let t=this.config,n=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,n,`change`,this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`end`,this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`cancel`,this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,ib(e);let t=this.eventStore.add(this.sharedConfig.window,`touch`,`change`,this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,`touch`,`end`,t),this.eventStore.add(this.sharedConfig.window,`touch`,`cancel`,t),this.timeoutStore.add(`startPointerDrag`,this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add(`dragDelay`,()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){let t=nb[e.key];if(t){let n=this.state,r=e.shiftKey?10:e.altKey?.1:1;this.start(e),n._delta=t(this.config.keyboardDisplacement,r),n._keyboardActive=!0,dy.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in nb&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){let t=this.config.device;e(t,`start`,this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,`change`,this.pointerMove.bind(this)),e(t,`end`,this.pointerUp.bind(this)),e(t,`cancel`,this.pointerUp.bind(this)),e(`lostPointerCapture`,``,this.pointerUp.bind(this))),this.config.keys&&(e(`key`,`down`,this.keyDown.bind(this)),e(`key`,`up`,this.keyUp.bind(this))),this.config.filterTaps&&e(`click`,``,this.pointerClick.bind(this),{capture:!0,passive:!1})}};function ib(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var ab=typeof window<`u`&&window.document&&window.document.createElement;function ob(){return ab&&`ontouchstart`in window}function sb(){return ob()||ab&&window.navigator.maxTouchPoints>1}function cb(){return ab&&`onpointerdown`in window}function lb(){return ab&&`exitPointerLock`in window.document}function ub(){try{return`constructor`in GestureEvent}catch{return!1}}var db={isBrowser:ab,gesture:ub(),touch:ob(),touchscreen:sb(),pointer:cb(),pointerLock:lb()},fb=250,pb=180,mb=.5,hb=50,gb=250,_b=10,vb={mouse:0,touch:0,pen:8},yb=yy(yy({},tb),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&db.pointerLock,db.touch&&n?`touch`:this.pointerLock?`mouse`:db.pointer&&!i?`pointer`:db.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?fb:void 0,!(!db.touchscreen||n===!1))return e||(n===void 0?void 0:`y`)},pointerCapture(e,t,{pointer:{capture:n=!0,buttons:r=1,keys:i=!0}={}}){return this.pointerButtons=r,this.keys=i,!this.pointerLock&&this.device===`pointer`&&n},threshold(e,t,{filterTaps:n=!1,tapsThreshold:r=3,axis:i=void 0}){let a=dy.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=mb,distance:t=hb,duration:n=gb}={}){return{velocity:this.transform(dy.toVector(e)),distance:this.transform(dy.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return pb;case!1:return 0;default:return e}},axisThreshold(e){return e?yy(yy({},vb),e):vb},keyboardDisplacement(e=_b){return e}});function bb(e){let[t,n]=e.overflow,[r,i]=e._delta,[a,o]=e._direction;(t<0&&r>0&&a<0||t>0&&r<0&&a>0)&&(e._movement[0]=e._movementBound[0]),(n<0&&i>0&&o<0||n>0&&i<0&&o>0)&&(e._movement[1]=e._movementBound[1])}var xb=30,Sb=100,Cb=class extends Jy{constructor(...e){super(...e),_y(this,`ingKey`,`pinching`),_y(this,`aliasKey`,`da`)}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();let e=this.state;e._touchIds=[],e.canceled=!1,e.cancel=this.cancel.bind(this),e.turns=0}computeOffset(){let{type:e,movement:t,lastOffset:n}=this.state;e===`wheel`?this.state.offset=dy.add(t,n):this.state.offset=[(1+t[0])*n[0],t[1]+n[1]]}computeMovement(){let{offset:e,lastOffset:t}=this.state;this.state.movement=[e[0]/t[0],e[1]-t[1]]}axisIntent(){let e=this.state,[t,n]=e._movement;if(!e.axis){let r=Math.abs(t)*xb-Math.abs(n);r<0?e.axis=`angle`:r>0&&(e.axis=`scale`)}}restrictToAxis(e){this.config.lockDirection&&(this.state.axis===`scale`?e[1]=0:this.state.axis===`angle`&&(e[0]=0))}cancel(){let e=this.state;e.canceled||setTimeout(()=>{e.canceled=!0,e._active=!1,this.compute(),this.emit()},0)}touchStart(e){this.ctrl.setEventIds(e);let t=this.state,n=this.ctrl.touchIds;if(t._active&&t._touchIds.every(e=>n.has(e))||n.size<2)return;this.start(e),t._touchIds=Array.from(n).slice(0,2);let r=Fy(e,t._touchIds);r&&this.pinchStart(e,r)}pointerStart(e){if(e.buttons!=null&&e.buttons%2!=1)return;this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);let t=this.state,n=t._pointerEvents,r=this.ctrl.pointerIds;if(t._active&&Array.from(n.keys()).every(e=>r.has(e))||(n.size<2&&n.set(e.pointerId,e),t._pointerEvents.size<2))return;this.start(e);let i=Ny(...Array.from(n.values()));i&&this.pinchStart(e,i)}pinchStart(e,t){let n=this.state;n.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){if(!this.state._active)return;let t=Fy(e,this.state._touchIds);t&&this.pinchMove(e,t)}pointerMove(e){let t=this.state._pointerEvents;if(t.has(e.pointerId)&&t.set(e.pointerId,e),!this.state._active)return;let n=Ny(...Array.from(t.values()));n&&this.pinchMove(e,n)}pinchMove(e,t){let n=this.state,r=n._values[1],i=t.angle-r,a=0;Math.abs(i)>270&&(a+=Math.sign(i)),this.computeValues([t.distance,t.angle-360*a]),n.origin=t.origin,n.turns=a,n._movement=[n._values[0]/n._initial[0]-1,n._values[1]-n._initial[1]],this.compute(e),this.emit()}touchEnd(e){this.ctrl.setEventIds(e),this.state._active&&this.state._touchIds.some(e=>!this.ctrl.touchIds.has(e))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){let t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch{}t._pointerEvents.has(e.pointerId)&&t._pointerEvents.delete(e.pointerId),t._active&&t._pointerEvents.size<2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();let t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){if(e.cancelable&&e.preventDefault(),!this.state._active)return;let t=this.state;this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY];let n=t._movement;t._movement=[e.scale-1,e.rotation],t._delta=dy.sub(t._movement,n),this.compute(e),this.emit()}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(e){let t=this.config.modifierKey;t&&(Array.isArray(t)?!t.find(t=>e[t]):!e[t])||(this.state._active?this.wheelChange(e):this.wheelStart(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){`uv`in e||e.cancelable&&e.preventDefault();let t=this.state;t._delta=[-By(e)[1]/Sb*t.offset[0],0],dy.addTo(t._movement,t._delta),bb(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){let t=this.config.device;t&&(e(t,`start`,this[t+`Start`].bind(this)),e(t,`change`,this[t+`Move`].bind(this)),e(t,`end`,this[t+`End`].bind(this)),e(t,`cancel`,this[t+`End`].bind(this)),e(`lostPointerCapture`,``,this[t+`End`].bind(this))),this.config.pinchOnWheel&&e(`wheel`,``,this.wheel.bind(this),{passive:!1})}},wb=yy(yy({},$y),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!db.touch&&db.gesture)return`gesture`;if(db.touch&&r)return`touch`;if(db.touchscreen){if(db.pointer)return`pointer`;if(db.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=Ky(Uy(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=Ky(Uy(r,e),{min:-1/0,max:1/0});return[t.min,t.max]};return typeof n!=`function`&&typeof r!=`function`?[i(),a()]:e=>[i(e),a(e)]},threshold(e,t,n){return this.lockDirection=n.axis===`lock`,dy.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),Tb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`moving`)}move(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.state._active?this.moveChange(e):this.moveStart(e),this.timeoutStore.add(`moveEnd`,this.moveEnd.bind(this)))}moveStart(e){this.start(e),this.computeValues(Ly(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=Ly(e),n=this.state;n._delta=dy.sub(t,n._values),dy.addTo(n._movement,n._delta),this.computeValues(t),this.compute(e),this.emit()}moveEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}bind(e){e(`pointer`,`change`,this.move.bind(this)),e(`pointer`,`leave`,this.moveEnd.bind(this))}},Eb=yy(yy({},tb),{},{mouseOnly:(e=!0)=>e}),Db=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`scrolling`)}scroll(e){this.state._active||this.start(e),this.scrollChange(e),this.timeoutStore.add(`scrollEnd`,this.scrollEnd.bind(this))}scrollChange(e){e.cancelable&&e.preventDefault();let t=this.state,n=Vy(e);t._delta=dy.sub(n,t._values),dy.addTo(t._movement,t._delta),this.computeValues(n),this.compute(e),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`scroll`,``,this.scroll.bind(this))}},Ob=tb,kb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`wheeling`)}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this))}wheelChange(e){let t=this.state;t._delta=By(e),dy.addTo(t._movement,t._delta),bb(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`wheel`,``,this.wheel.bind(this))}},Ab=tb,jb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(Ly(e)),this.compute(e),this.emit())}leave(e){if(this.config.mouseOnly&&e.pointerType!==`mouse`)return;let t=this.state;if(!t._active)return;t._active=!1;let n=Ly(e);t._movement=t._delta=dy.sub(n,t._values),this.computeValues(n),this.compute(e),t.delta=t.movement,this.emit()}bind(e){e(`pointer`,`enter`,this.enter.bind(this)),e(`pointer`,`leave`,this.leave.bind(this))}},Mb=yy(yy({},tb),{},{mouseOnly:(e=!0)=>e}),Nb=new Map,Pb=new Map;function Fb(e){Nb.set(e.key,e.engine),Pb.set(e.key,e.resolver)}var Ib={key:`drag`,engine:rb,resolver:yb},Lb={key:`hover`,engine:jb,resolver:Mb},Rb={key:`move`,engine:Tb,resolver:Eb},zb={key:`pinch`,engine:Cb,resolver:wb},Bb={key:`scroll`,engine:Db,resolver:Ob},Vb={key:`wheel`,engine:kb,resolver:Ab};function Hb(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Ub(e,t){if(e==null)return{};var n=Hb(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var Wb={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=db.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},Gb=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function Kb(e={},t){let n={};for(let[r,i]of Object.entries(t))switch(typeof i){case`function`:n[r]=i.call(n,e[r],r,e);break;case`object`:n[r]=Kb(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function qb(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=Ub(r,Gb);if(n.shared=Kb({target:i,eventOptions:a,window:o,enabled:s,transform:c},Wb),t){let e=Pb.get(t);n[t]=Kb(yy({shared:n.shared},l),e)}else for(let e in l){let t=Pb.get(e);t&&(n[e]=Kb(yy({shared:n.shared},l[e]),t))}return n}var Jb=class{constructor(e,t){_y(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=Dy(t,n),s=yy(yy({},this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{}),i);e.addEventListener(o,r,s);let c=()=>{e.removeEventListener(o,r,s),a.delete(c)};return a.add(c),c}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}},Yb=class{constructor(){_y(this,`_timeouts`,new Map)}add(e,t,n=140,...r){this.remove(e),this._timeouts.set(e,window.setTimeout(t,n,...r))}remove(e){let t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>void window.clearTimeout(e)),this._timeouts.clear()}},Xb=class{constructor(e){_y(this,`gestures`,new Set),_y(this,`_targetEventStore`,new Jb(this)),_y(this,`gestureEventStores`,{}),_y(this,`gestureTimeoutStores`,{}),_y(this,`handlers`,{}),_y(this,`config`,{}),_y(this,`pointerIds`,new Set),_y(this,`touchIds`,new Set),_y(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),Qb(this,e)}setEventIds(e){if(Oy(e))return this.touchIds=new Set(Py(e)),this.touchIds;if(`pointerId`in e)return e.type===`pointerup`||e.type===`pointercancel`?this.pointerIds.delete(e.pointerId):e.type===`pointerdown`&&this.pointerIds.add(e.pointerId),this.pointerIds}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=qb(e,t,this.config)}clean(){this._targetEventStore.clean();for(let e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){let t=this.config.shared,n={},r;if(!(t.target&&(r=t.target(),!r))){if(t.enabled){for(let t of this.gestures){let i=this.config[t],a=$b(n,i.eventOptions,!!r);i.enabled&&new(Nb.get(t))(this,e,t).bind(a)}let i=$b(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](yy(yy({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=Gy(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=Ey(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function Zb(e,t){e.gestures.add(t),e.gestureEventStores[t]=new Jb(e,t),e.gestureTimeoutStores[t]=new Yb}function Qb(e,t){t.drag&&Zb(e,`drag`),t.wheel&&Zb(e,`wheel`),t.scroll&&Zb(e,`scroll`),t.move&&Zb(e,`move`),t.pinch&&Zb(e,`pinch`),t.hover&&Zb(e,`hover`)}var $b=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:wy(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},ex=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function tx(e){let t={},n={},r=new Set;for(let i in e)ex.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function nx(e,t,n,r,i,a){if(!e.has(n)||!Nb.has(r))return;let o=n+`Start`,s=n+`End`;i[r]=e=>{let r;return e.first&&o in t&&t[o](e),n in t&&(r=t[n](e)),e.last&&s in t&&t[s](e),r},a[r]=a[r]||{}}function rx(e,t){let[n,r,i]=tx(e),a={};return nx(i,n,`onDrag`,`drag`,a,t),nx(i,n,`onWheel`,`wheel`,a,t),nx(i,n,`onScroll`,`scroll`,a,t),nx(i,n,`onPinch`,`pinch`,a,t),nx(i,n,`onMove`,`move`,a,t),nx(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function ix(e,t={},n,r){let i=q.useMemo(()=>new Xb(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),q.useEffect(i.effect.bind(i)),q.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function ax(e,t){return Fb(Ib),ix({drag:e},t||{},`drag`)}function ox(e){return e.forEach(Fb),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=rx(e,t||{});return ix(n,i,void 0,r)}}function sx(e,t){return ox([Ib,zb,Bb,Vb,Rb,Lb])(e,t||{})}var cx={filterTaps:!0,pointer:{capture:!0}};function lx(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function ux(e){return ax(({xy:t,initial:n,first:r,last:i,memo:a})=>{let o=r?{...e.getRect()}:a;r&&e.onGestureActive(!0);let{dx:s,dy:c}=lx(t,n,e.getScale()),l=Wd({...o,x:o.x+s,y:o.y+c},e.getBounds());return e.onChange(l,i),i&&e.onGestureActive(!1),o},{...cx,enabled:!e.disabled})}var dx=10,fx=1,px={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function mx(e){return(0,q.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=px[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?fx:dx;e.onMove(qd(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function hx(e){return ax(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{let s=t[0],c=i?{...e.getRect()}:o;i&&e.onGestureActive(!0);let{dx:l,dy:u}=lx(n,r,e.getScale()),d=Wd(Gd(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...cx,enabled:!e.disabled})}var gx={edge:6,corner:12},_x={edge:12,corner:20},vx={n:`cursor-n-resize`,s:`cursor-s-resize`,e:`cursor-e-resize`,w:`cursor-w-resize`,ne:`cursor-ne-resize`,nw:`cursor-nw-resize`,se:`cursor-se-resize`,sw:`cursor-sw-resize`};function yx(e,t){let n=e.length===2,r={position:`absolute`,touchAction:`none`,zIndex:1};return e.includes(`n`)&&(r.top=-t.edge/2),e.includes(`s`)&&(r.bottom=-t.edge/2),e.includes(`w`)&&(r.left=-t.edge/2),e.includes(`e`)&&(r.right=-t.edge/2),n?(r.width=t.corner,r.height=t.corner,r):(e===`n`||e===`s`?(r.left=t.corner,r.right=t.corner,r.height=t.edge):(r.top=t.corner,r.bottom=t.corner,r.width=t.edge),r)}function bx({bind:e}){let t=_o(`(pointer: coarse)`)?_x:gx;return(0,J.jsx)(J.Fragment,{children:Rd.map(n=>(0,J.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:vx[n],style:yx(n,t)},n))})}function xx(e,t,n){e&&(e.style.transform=`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`,e.style.width=`${Math.round(t.w)}px`,e.style.height=n?`36px`:`${Math.round(t.h)}px`)}function Sx({win:e,bounds:t,title:n,focused:r,getScale:i,onGestureActive:a,chrome:o,children:s}){let c=(0,q.useRef)(null),[l,u]=(0,q.useState)(!1),d=e.state===`maximized`,f=e.state===`minimized`,p=d?{x:0,y:0,w:t.w,h:t.h}:e.rect,m=(0,q.useRef)(p);m.current=p;let h=(0,q.useRef)(t);h.current=t,(0,q.useLayoutEffect)(()=>{xx(c.current,m.current,f)},[p.x,p.y,p.w,p.h,f]);let g=(0,q.useCallback)(e=>{u(e),a(e)},[a]),_=(0,q.useCallback)((t,n)=>{xx(c.current,t,cf.getState().windows[e.id]?.state===`minimized`),n&&cf.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),v=(0,q.useCallback)((t,n)=>{xx(c.current,t,!1),n&&cf.getState().resize(e.id,t)},[e.id]),y={getRect:()=>m.current,getBounds:()=>h.current,getScale:i,onGestureActive:g},b=ux({...y,onChange:_,disabled:d}),x=hx({...y,onChange:v,disabled:d||f}),S=(0,q.useCallback)(()=>cf.getState().close(e.id),[e.id]),C=(0,q.useCallback)(()=>{cf.getState().setState(e.id,d?`normal`:`maximized`)},[e.id,d]),w=(0,q.useCallback)(()=>{cf.getState().setState(e.id,f?`normal`:`minimized`)},[e.id,f]),T=mx({getRect:()=>m.current,getBounds:()=>h.current,onMove:t=>cf.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:C,onClose:S,movable:!d}),E=o??ly;return(0,J.jsxs)(`div`,{ref:c,role:`group`,"aria-roledescription":`window`,"aria-label":n,onPointerDownCapture:()=>cf.getState().focus(e.id),style:{zIndex:Ud(e.rank)},className:H(`absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,r?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,l?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`),children:[(0,J.jsx)(E,{id:e.id,kind:e.kind,title:n,state:e.state,focused:r,titlebarProps:{...b(),onKeyDown:T,tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:w,onToggleMaximize:C,onClose:S}),(0,J.jsx)(`div`,{className:H(`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`,f&&`hidden`),children:s}),!d&&!f&&(0,J.jsx)(bx,{bind:e=>x(e)})]})}function Cx(e){let t=`mac-folder-${(0,q.useId)()}`;return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`defs`,{children:(0,J.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,J.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,J.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,J.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v7.5a2 2 0 0 1-2 2h-15a2 2 0 0 1-2-2V8Z`,fill:`url(#${t})`}),(0,J.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function wx(e){let t=`mac-folder-open-${(0,q.useId)()}`;return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`defs`,{children:(0,J.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,J.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,J.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,J.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v.3H5.9a2 2 0 0 0-1.94 1.51L2.5 17.9V8Z`,fill:`#7FC1FF`}),(0,J.jsx)(`path`,{d:`M2.13 18.36 3.98 11.1A2 2 0 0 1 5.92 9.6H21l-2.16 8a2 2 0 0 1-1.93 1.48H4.06a2 2 0 0 1-1.93-2.52Z`,fill:`url(#${t})`})]})}var Tx=[{color:`#FF5F57`,label:`Close window`,Icon:tt},{color:`#FEBC2E`,label:`Minimize window`,Icon:yr},{color:`#28C840`,label:`Maximize window`,Icon:et}];function Ex({title:e,focused:t,titlebarProps:n,onMinimize:r,onToggleMaximize:i,onClose:a}){let{className:o,style:s,...c}=n,l=[a,r,i];return(0,J.jsxs)(`div`,{...c,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...s},className:H(`group/titlebar relative flex items-center shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,o),children:[(0,J.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:Tx.map(({color:e,label:n,Icon:r},i)=>(0,J.jsx)(`button`,{type:`button`,"aria-label":n,onClick:l[i],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:t?e:`#8E8E93`},children:(0,J.jsx)(r,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},n))}),(0,J.jsx)(`span`,{className:H(`pointer-events-none absolute inset-x-0 truncate text-center text-[13px]`,t?`text-text`:`text-text-2`),children:e})]})}var Dx={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:Cx,FolderOpenIcon:wx,chrome:Ex};function Ox(e){return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-10Z`,fill:`#FFC93E`}),(0,J.jsx)(`path`,{d:`M3 9.5h18v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-8Z`,fill:`#FFCE49`}),(0,J.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function kx(e){return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v.5H5.2a1.5 1.5 0 0 0-1.45 1.13L2 18.2V7.5Z`,fill:`#FFC93E`}),(0,J.jsx)(`path`,{d:`M2.62 18.66 4.3 12.1A1.5 1.5 0 0 1 5.75 11H21l-1.86 6.63A1.5 1.5 0 0 1 17.7 18.7H4.06a1.5 1.5 0 0 1-1.44-1.9Z`,fill:`#FFB92E`})]})}var Ax=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,jx=H(Ax,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function Mx({title:e,state:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r;return(0,J.jsxs)(`div`,{...l,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...c},className:H(`flex items-stretch shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,J.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[(0,J.jsx)(Ox,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:H(`truncate text-[12px]`,n?`text-text`:`text-text-2`),children:e})]}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:Ax,onClick:i,children:(0,J.jsx)(yr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":t===`maximized`?`Restore window`:`Maximize window`,className:Ax,onClick:a,children:t===`maximized`?(0,J.jsx)(Xe,{className:`size-3`}):(0,J.jsx)(ti,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:jx,onClick:o,children:(0,J.jsx)(tt,{className:`size-3.5`})})]})}var Nx={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:Ox,FolderOpenIcon:kx,chrome:Mx};function Px(){let e=V(e=>e.explorerSkin),{host:t}=hf();return e===`windows`?Nx:e===`macos`?Dx:t?.platform===`win32`?Nx:Dx}function Fx(e){let t=Px().chrome;return(0,J.jsx)(t,{...e})}var Ix={explorer:(0,q.lazy)(()=>B(()=>import(`./explorer-window-content-CXFdvs_i.js`),__vite__mapDeps([71,1,2,3,4,72,7,8,73,26,23,20,24,27,9,34,35,37,10,14,55,11,39,33,13,16]))),"team-member":(0,q.lazy)(()=>B(()=>import(`./team-member-window-content-DS9V4trr.js`),__vite__mapDeps([74,1,2,3,4,7,25,8,26,22,24,27,28,29,30,31,10,32,33,14,13])))},Lx={explorer:Fx};function Rx(e){return Lx[e]}function zx(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`team-member`){let e=t?.memberName;return typeof e==`string`&&e?`Session — ${e}`:`Team member`}let r=t?.path;if(e===`explorer`&&typeof r==`string`&&r){let e=r.split(/[\\/]/).filter(Boolean);return e[e.length-1]??r}return`Explorer`}function Bx(){return _t()?null:(0,J.jsx)(Vx,{})}function Vx(){let e=(0,q.useRef)(null),t=cf(e=>e.windows),n=cf(e=>e.bounds),[r,i]=(0,q.useState)(!1);(0,q.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{let e=t.getBoundingClientRect(),n=t.offsetWidth>0?e.width/t.offsetWidth:1;return{w:Math.round(e.width/n),h:Math.round(e.height/n)}},r=cf.getState();r.setBounds(n()),r.restoreAll(n());let i=new ResizeObserver(()=>cf.getState().setBounds(n()));return i.observe(t),()=>i.disconnect()},[]);let a=(0,q.useCallback)(()=>{let t=e.current;return!t||t.offsetWidth===0?1:t.getBoundingClientRect().width/t.offsetWidth},[]),o=lf(t),s=o[o.length-1]?.id;return(0,J.jsxs)(`div`,{ref:e,className:`absolute inset-0 overflow-hidden pointer-events-none`,children:[o.map(e=>{let t=Ix[e.kind];return(0,J.jsx)(Sx,{win:e,bounds:n,title:zx(e.kind,e.payload),focused:e.id===s,getScale:a,onGestureActive:i,chrome:Rx(e.kind),children:(0,J.jsx)(q.Suspense,{fallback:(0,J.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,J.jsx)(t,{id:e.id,payload:e.payload})})},e.id)}),r&&(0,J.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function Hx(e,t,n,r,i){let a=r.trim().toLowerCase(),o=e=>!a||e.title.toLowerCase().includes(a)||e.type.toLowerCase().includes(a);if(i?.sortMode===`recent`){let t=i.recency,n=e=>t?.get(e.id)??2**53-1,r=e.filter(o).sort((e,t)=>n(e)-n(t));return{groups:r.length?[{panelId:`__recent__`,label:``,tabs:r}]:[],total:r.length}}let s=new Map;for(let r of e){if(!o(r))continue;let e=t[r.id]??n[0]??`__unknown__`;(s.get(e)??s.set(e,[]).get(e)).push(r)}let c=[];return(n.length>0?n:[...s.keys()]).forEach((e,t)=>{let n=s.get(e);!n||n.length===0||c.push({panelId:e,label:`Panel ${t+1}`,tabs:n})}),{groups:c,total:c.reduce((e,t)=>e+t.tabs.length,0)}}var Ux=`ppm:tab-sort-mode`;function Wx(){try{return localStorage.getItem(Ux)===`recent`?`recent`:`default`}catch{return`default`}}function Gx({open:e,onClose:t,onOpenPalette:n,tabs:r,tabPanelMap:i,panelOrder:a,activeTabId:o,projectColor:s,onTabLongPress:c,recency:l,sessionTagMap:u}){let[d,f]=(0,q.useState)(``),p=Do(e=>e.notifications),m=nc(e=>e.sessions),[h,g]=(0,q.useState)(Wx),_=(0,q.useCallback)(e=>{g(e);try{localStorage.setItem(Ux,e)}catch{}},[]),{groups:v,total:y}=Hx(r,i,a,d,{sortMode:h,recency:l}),b=(0,q.useRef)(null),x=(0,q.useCallback)(e=>{c&&(b.current=setTimeout(()=>c(e),400))},[c]),S=(0,q.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null)},[]);function C(e){if(U.getState().setActiveTab(e.id,i[e.id]),e.type===`chat`){let t=e.metadata?.sessionId;t&&Do.getState().clearForSession(t)}t()}function w(e,t){t.stopPropagation(),U.getState().closeTab(e.id,i[e.id])}function T(){t(),n()}return(0,J.jsxs)(Tt,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,J.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,J.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary`,children:r.length}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsx)(`div`,{className:`flex items-center gap-0.5 p-0.5 rounded-lg bg-background border border-border`,children:[[`default`,`Default`],[`recent`,`Recent`]].map(([e,t])=>(0,J.jsx)(`button`,{onClick:()=>_(e),"aria-pressed":h===e,className:H(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,h===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,J.jsx)(`button`,{onClick:T,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,J.jsx)(et,{className:`size-4`})})]}),(0,J.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:`Filter tabs...`,className:`flex-1 bg-transparent outline-none text-text-primary placeholder:text-text-subtle`,style:{fontSize:16}})]})}),(0,J.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:y===0?(0,J.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):v.map(e=>(0,J.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,J.jsx)(Je,{className:`size-3 text-text-subtle`}),(0,J.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,J.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=Zc(e.type),n=e.id===o,r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?u[r]?.color:void 0,a=r?p.get(r):void 0,c=a&&a.count>0?a.type:null,l=!!a?.manual,d=r?m.has(r):!1,f=i??(e.projectId&&s?s:void 0);return(0,J.jsxs)(`button`,{onClick:()=>C(e),onTouchStart:()=>x(e.id),onTouchEnd:S,onTouchMove:S,onContextMenu:e=>e.preventDefault(),className:H(`relative flex items-center gap-2.5 w-full h-11 rounded-lg pl-3.5 pr-2 transition-colors`,n?`bg-primary/10`:`active:bg-surface-elevated`),children:[(0,J.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,J.jsxs)(`span`,{className:H(`relative shrink-0`,d&&`text-warning`),children:[(0,J.jsx)(t,{className:H(`size-4`,d?void 0:n?`text-primary`:`text-text-secondary`)}),d?(0,J.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,J.jsx)(`span`,{className:H(`absolute -top-1 -right-1 size-2 rounded-full`,wo(c))}):null]}),(0,J.jsx)(`span`,{className:H(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),n&&(0,J.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,J.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>w(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,J.jsx)(tt,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function Kx({onMenuPress:e,onProjectsPress:t}){let n=U(e=>e.focusedPanelId),r=U(e=>e.panels),i=U(e=>e.grid),a=U(e=>e.dock),o=U(e=>e.dockExpanded),s=wt(!0)?.keyboardOpen??!1,c=_t(),l=U(e=>e.currentProject),{tabs:u,tabPanelMap:d}=(0,q.useMemo)(()=>{let e=i.flat(),t=[],n={};for(let i of e){let e=r[i];if(e)for(let r of e.tabs)r.projectId&&l&&r.projectId!==l||(t.push(r),n[r.id]=i)}return{tabs:t,tabPanelMap:n}},[r,i,l]),f=(0,q.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...u].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[u]),p=i.flat(),m=p.includes(n)?n:p[0],h=(m?r[m]?.activeTabId:null)??null,g=Do(e=>e.notifications),_=fs(e=>e.selection),[v,y]=(0,q.useState)({}),[b,x]=(0,q.useState)(null),[S,C]=(0,q.useState)(!1),[w,T]=(0,q.useState)(null),[E,D]=(0,q.useState)(``),O=u.find(e=>e.id===h)??null,k=r[ut],A=ry(k,l),j=b?u.find(e=>e.id===b):null,M=r[b?d[b]??n:n]?.tabs??[],ee=b?M.findIndex(e=>e.id===b):-1,N=j?.type===`chat`?j.metadata?.sessionId:void 0,P=N?(g.get(N)?.count??0)>0:!1,te=j?.metadata?.filePath,ne=j?.metadata?.projectName,re=_!=null&&!!ne&&_.projectName===ne&&_.filePath!==te;function ie(e){x(null),T(e.id),D(e.title)}async function ae(){let e=u.find(e=>e.id===w),t=e?.metadata?.sessionId,n=E.trim();if(!e||!t||!n||!l){T(null);return}try{await R.patch(`${L(l)}/chat/sessions/${t}`,{title:n}),U.getState().updateTab(e.id,{title:n})}catch{}T(null)}function oe(e){let t=d[e]??n,r=U.getState().panels[t]?.tabs??[];for(let n of r)n.id!==e&&n.closable&&U.getState().closeTab(n.id,t);x(null)}function se(e){let t=d[e]??n,r=U.getState().panels[t]?.tabs??[],i=r.findIndex(t=>t.id===e);for(let e=i+1;e<r.length;e++)r[e].closable&&U.getState().closeTab(r[e].id,t);x(null)}function ce(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;fs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:st(t)}),x(null)}async function le(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=fs.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await ms({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),fs.getState().clearSelection()}catch(e){z.error(e instanceof Error?e.message:`Compare failed`)}x(null)}function ue(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&Do.getState().markUnread(t,n,e.title),x(null)}let[de,fe]=(0,q.useState)(null);function pe(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&bc(n);break;case`copy-full-path`:if(n){let e=r?W.getState().projects.find(e=>e.name===r):null;bc(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&_c(r,n);break;case`rename`:case`delete`:n&&fe({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}x(null)}let{activeProject:me}=W.getState(),{activeProject:he,projects:ge,customOrder:_e}=W(Ol(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:ve,loadTags:ye}=bo(he?.name),be=(0,q.useCallback)(async(e,t)=>{if(he?.name){try{if(t!==null){await R.patch(`${L(he.name)}/chat/sessions/${e}/tag`,{tagId:t});let n=ve.find(e=>e.id===t);n&&y(t=>({...t,[e]:{id:n.id,name:n.name,color:n.color}}))}else await R.del(`${L(he.name)}/chat/sessions/${e}/tag`),y(t=>{let n={...t};return delete n[e],n});ye()}catch{}x(null)}},[he?.name,ve,ye]),xe=u.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,q.useEffect)(()=>{!he?.name||xe.length===0||R.get(`${L(he.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);y(t)}).catch(()=>{})},[he?.name,xe.join(`,`)]);let Se=mt(ge,_e??null),Ce=Se.map(e=>e.name),we=Se.findIndex(e=>e.name===he?.name),Te=he?S_(he.color,we>=0?we:0):`#4f86c6`,Ee=O?Zc(O.type):null;return(0,J.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,J.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,J.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,J.jsx)(`button`,{onClick:e,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,J.jsx)(hr,{className:`size-5`})}),(0,J.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,J.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:he?(0,J.jsx)(w_,{name:he.name,color:Te,image:he.image,size:28,allNames:Ce}):(0,J.jsx)(sr,{className:`size-5`})}),(0,J.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,J.jsxs)(`button`,{onClick:()=>U.getState().toggleDock(),title:a.visible?`Hide panel`:`Show panel`,"aria-label":a.visible?`Hide panel`:`Show panel`,className:H(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,a.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,J.jsx)(ai,{className:`size-5`}),A>0&&(0,J.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-1.5 right-1.5 size-[7px] rounded-full ring-[1.5px] ring-background`,style:{backgroundColor:`var(--color-success)`}})]}),(0,J.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,J.jsx)(`button`,{onClick:()=>ec(),title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,J.jsx)(et,{className:`size-5`})})]}),O&&Ee?(0,J.jsxs)(`button`,{onClick:()=>C(!0),className:`flex-1 min-w-0 flex items-center gap-2 h-12 px-3 border-t-2 border-primary bg-surface`,children:[(0,J.jsx)(Ee,{className:`size-4 text-primary shrink-0`}),(0,J.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:O.title}),(0,J.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary shrink-0`,children:u.length}),(0,J.jsx)(cn,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,J.jsxs)(`button`,{onClick:()=>ec(),className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,J.jsx)(et,{className:`size-4`}),` New Tab`]})]}),(0,J.jsx)(Gx,{open:S,onClose:()=>C(!1),onOpenPalette:()=>ec(),tabs:u,tabPanelMap:d,panelOrder:i.flat(),activeTabId:h,projectColor:he?Te:null,onTabLongPress:e=>x(e),recency:f,sessionTagMap:v}),(0,J.jsxs)(Tt,{open:!!j,onClose:()=>x(null),className:`select-none`,children:[(0,J.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:j?.title}),N&&(0,J.jsxs)(`button`,{onClick:()=>ie(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(kr,{className:`size-4`}),` Rename`]}),j?.type===`editor`&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{onClick:()=>pe(j,`copy-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Xe,{className:`size-4`}),` Copy Path`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`copy-full-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Xe,{className:`size-4`}),` Copy Full Path`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Qe,{className:`size-4`}),` Download`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(kr,{className:`size-4`}),` Rename`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,J.jsx)(si,{className:`size-4`}),` Delete`]}),(0,J.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,J.jsxs)(`button`,{onClick:()=>ce(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Je,{className:`size-4`}),` Select for Compare`]}),re&&(0,J.jsxs)(`button`,{onClick:()=>le(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Je,{className:`size-4`}),` Compare with Selected (`,_.label,`)`]}),(0,J.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),N&&!P&&(0,J.jsxs)(`button`,{onClick:()=>ue(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Ke,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),N&&ve.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,J.jsx)(ri,{className:`size-3.5`}),` Set Tag`]}),ve.map(e=>(0,J.jsxs)(`button`,{onClick:()=>be(N,e.id),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,v[N]?.id===e.id&&(0,J.jsx)(Fe,{className:`size-3.5 ml-auto`})]},e.id)),v[N]&&(0,J.jsx)(`button`,{onClick:()=>be(N,null),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:`Remove tag`}),(0,J.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),j?.closable&&(0,J.jsxs)(`button`,{onClick:()=>{U.getState().closeTab(b),x(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(tt,{className:`size-4`}),` Close`]}),M.some(e=>e.id!==b&&e.closable)&&(0,J.jsxs)(`button`,{onClick:()=>oe(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(ei,{className:`size-4`}),` Close Others`]}),ee>=0&&ee<M.length-1&&(0,J.jsxs)(`button`,{onClick:()=>se(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(un,{className:`size-4`}),` Close to the Right`]})]}),(0,J.jsx)(Tt,{open:!!w,onClose:()=>T(null),children:(0,J.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,J.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,J.jsx)(`input`,{autoFocus:!0,value:E,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ae()},placeholder:`Session title`,className:`w-full h-11 px-3 rounded-xl bg-background border border-border text-text-primary outline-none focus:border-primary`,style:{fontSize:16}}),(0,J.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,J.jsx)(`button`,{onClick:()=>T(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:ae,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),de&&(0,J.jsx)(Nc,{node:de.node,projectName:me?.name??``,onClose:()=>fe(null),onRefresh:()=>{me&&rs.getState().fetchTree(me.name),de.action===`delete`&&U.getState().closeTab(de.tabId)}}),c&&(0,J.jsx)(Tt,{open:a.visible,onClose:()=>U.getState().setDockVisible(!1),zIndex:60,className:H(`flex flex-col`,s?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:o?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,J.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,J.jsx)(ml,{variant:`mobile`})})})]})}var qx=64,Jx=350,Yx=10;function Xx(e,t,n){let r=[...e],i=r.indexOf(t);if(i<0||t===n)return e;r.splice(i,1);let a=r.indexOf(n);return r.splice(a<0?r.length:a,0,t),r}function Zx({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,q.useRef)(null),[a,o]=(0,q.useState)(0),[s,c]=(0,q.useState)(null),[l,u]=(0,q.useState)(null),d=(0,q.useRef)(null),f=(0,q.useRef)(null),[p,m]=(0,q.useState)(!1),h=(0,q.useRef)(null),g=(0,q.useRef)(null),_=e=>{d.current=e,c(e)},v=e=>{f.current=e,u(e)},y=()=>{_(null),v(null)},b=()=>{h.current&&=(clearTimeout(h.current),null)};(0,q.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(e=>o(e[0].contentRect.width));return t.observe(e),()=>t.disconnect()},[]),(0,q.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>{if(!d.current)return;e.preventDefault();let t=e.touches[0];if(!t)return;let n=(document.elementFromPoint(t.clientX,t.clientY)?.closest(`[data-tabid]`))?.getAttribute(`data-tabid`);n&&v(n)};return e.addEventListener(`touchmove`,t,{passive:!1}),()=>e.removeEventListener(`touchmove`,t)},[]);let x=a?Math.max(1,Math.floor(a/qx)):e.length,S=e.length>x,C=S?Math.max(1,x-1):e.length,w=e.slice(0,C),T=S&&!w.some(e=>e.id===t)&&e.some(e=>e.id===t);if(T){let n=e.find(e=>e.id===t);w=[...e.slice(0,C-1),n]}let E=new Set(w.map(e=>e.id)),D=e.filter(e=>!E.has(e.id)),O=t=>{d.current&&r(Xx(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>H(`relative flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] select-none transition-colors`,t?`text-primary`:`text-text-secondary`,s===e&&`opacity-40`,l===e&&s!==e&&`shadow-[inset_2px_0_0_var(--accent)]`);return(0,J.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,J.jsxs)(`button`,{"data-tabid":e.id,style:{width:qx},className:k(e.id,t===e.id),draggable:!0,onDragStart:t=>{_(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),O(e.id)},onDragEnd:y,onClick:()=>n(e.id),onTouchStart:t=>{g.current={x:t.touches[0].clientX,y:t.touches[0].clientY},b(),h.current=setTimeout(()=>_(e.id),Jx)},onTouchMove:e=>{if(!d.current&&g.current){let t=Math.abs(e.touches[0].clientX-g.current.x),n=Math.abs(e.touches[0].clientY-g.current.y);(t>Yx||n>Yx)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},children:[(0,J.jsx)(r,{className:`size-4`}),(0,J.jsx)(`span`,{children:e.shortLabel??e.label}),(0,J.jsx)(Wg,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,J.jsxs)(`button`,{style:{width:qx},onClick:()=>m(!0),className:H(`flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] transition-colors`,T?`text-primary`:`text-text-secondary`),children:[(0,J.jsx)(wn,{className:`size-4`}),(0,J.jsx)(`span`,{children:`More`})]}),(0,J.jsx)(Tt,{open:p,onClose:()=>m(!1),children:(0,J.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,J.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,J.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:H(`flex items-center gap-3 w-full px-3 py-2.5 rounded-md text-sm active:bg-surface-elevated`,t===e.id?`text-primary`:`text-foreground`),children:[(0,J.jsx)(r,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{children:e.label}),(0,J.jsx)(Wg,{id:e.badge})]},e.id)})]})})]})}var Qx=new Set([`history`,`teams`,`explorer`,`git`,`database`,`tunnels`,`ai-resources`,`settings`,`jira`]),$x=e=>Qx.has(e)||e.startsWith(`ext:`);function eS({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=W(Ol(e=>({activeProject:e.activeProject}))),i=V(e=>e.version),a=V(e=>e.jiraEnabled),o=V(e=>e.sidebarTabOrder),s=V(e=>e.setSidebarTabOrder),c=$s(e=>e.contributions),[l,u]=(0,q.useState)(n??`explorer`),[d,f]=(0,q.useState)(!1),p=(0,q.useMemo)(()=>j_(A_({jiraEnabled:a,contributions:c}),o).filter(e=>$x(e.id)),[a,c,o]);(0,q.useEffect)(()=>{n&&u(n)},[n]),(0,q.useEffect)(()=>{p.length>0&&!p.some(e=>e.id===l)&&u(p[0].id)},[p,l]),(0,q.useEffect)(()=>{let e=()=>{vt()&&f(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let m=(0,q.useCallback)(()=>gv(i),[i]),h=(0,J.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-secondary text-center`,children:`Select a project from the bottom nav bar`});return(0,J.jsxs)(`div`,{className:H(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,J.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,J.jsxs)(`div`,{className:H(`fixed left-0 top-0 bottom-0 w-[90vw] bg-background border-r border-border`,`z-50 flex flex-col transition-transform duration-300 ease-out`,e?`translate-x-0`:`-translate-x-full`),children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b border-border shrink-0`,children:[(0,J.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,J.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:[l===`history`&&(r?(0,J.jsx)(Vg,{variant:`sidebar`,projectName:r.name,onNavigate:t}):h),l===`teams`&&(r?(0,J.jsx)(u_,{}):h),l===`explorer`&&(r?(0,J.jsx)(ap,{onFileOpen:t}):h),l===`git`&&(0,J.jsx)(hp,{metadata:{projectName:r?.name},onNavigate:t}),l===`database`&&(0,J.jsx)(xh,{}),l===`tunnels`&&(0,J.jsx)(Mg,{}),l===`jira`&&(0,J.jsx)(qh,{}),l===`ai-resources`&&(0,J.jsx)(Og,{}),l===`settings`&&(0,J.jsx)($m,{}),l.startsWith(`ext:`)&&(0,J.jsx)(kh,{viewId:l.slice(4),className:`h-full`})]}),(0,J.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,J.jsx)(Zx,{tabs:p,activeId:l,onSelect:u,onReorder:s}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-t border-border text-[11px]`,children:[(0,J.jsx)(ey,{align:`left`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsxs)(`button`,{onClick:()=>{t(),xf()},className:`flex items-center gap-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors`,children:[(0,J.jsx)(Un,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Files`}),(0,J.jsx)(Wg,{id:`os-explorer`,className:`text-[7px] px-1`})]}),(0,J.jsxs)(`button`,{onClick:()=>f(!0),className:`flex items-center gap-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors`,children:[(0,J.jsx)(vn,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Cloud & Share`})]}),(0,J.jsxs)(`button`,{onClick:m,className:`flex items-center gap-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors`,children:[(0,J.jsx)(tn,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Report Bug`})]})]})]})]})]}),(0,J.jsx)(Tt,{open:d,onClose:()=>f(!1),zIndex:60,children:(0,J.jsx)(dv,{variant:`sheet`,onClose:()=>f(!1)})})]})}function tS({isOpen:e,onClose:t}){let{projects:n,activeProject:r,setActiveProject:i,setProjectColor:a,setProjectImage:o,removeProjectImage:s,reorderProjects:c,renameProject:l,deleteProject:u,customOrder:d,sortMode:f,setProjectSortMode:p}=W(Ol(e=>({projects:e.projects,activeProject:e.activeProject,setActiveProject:e.setActiveProject,setProjectColor:e.setProjectColor,setProjectImage:e.setProjectImage,removeProjectImage:e.removeProjectImage,reorderProjects:e.reorderProjects,renameProject:e.renameProject,deleteProject:e.deleteProject,customOrder:e.customOrder,sortMode:e.projectSortMode,setProjectSortMode:e.setProjectSortMode}))),m=V(e=>e.version),h=mt(n,d),g=h.map(e=>e.name),[_,v]=(0,q.useState)(`list`),[y,b]=(0,q.useState)(``),x=(0,q.useMemo)(()=>gt(),[e]),S=(0,q.useMemo)(()=>f_(n,d,f),[n,d,f]),C=y.trim().toLowerCase(),w=C?S.filter(e=>e.name.toLowerCase().includes(C)||e.path.toLowerCase().includes(C)):S,T=f===`priority`&&!C,E=(0,q.useCallback)(e=>{window.open(h_(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(``),[j,M]=(0,q.useState)(!1),ee=(0,q.useRef)(null),[N,P]=(0,q.useState)(null),[te,ne]=(0,q.useState)(``),re=(0,q.useRef)(null),[ie,ae]=(0,q.useState)(null);async function oe(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!ie)){O(null);try{await o(ie,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let se=(0,q.useCallback)(e=>{ee.current=setTimeout(()=>O(e),400)},[]),ce=(0,q.useCallback)(()=>{ee.current&&=(clearTimeout(ee.current),null)},[]);function le(){v(`list`),t()}function ue(e){let t=n.find(t=>t.name===e);t&&(i(t),le())}function de(){v(`add`)}function fe(){if(le(),window.innerWidth<768){window.dispatchEvent(new Event(`open-mobile-settings`));return}let{sidebarCollapsed:e,toggleSidebar:t,setSidebarActiveTab:n}=V.getState();e&&t(),n(`settings`)}async function pe(){if(!N||!te.trim()||te===N){P(null);return}try{await l(N,te.trim())}catch{}P(null)}async function me(e){O(null);try{await u(e)}catch{}}async function he(e,t){try{await a(e,t),M(!1),O(null)}catch(e){console.error(`Failed to save color:`,e)}}let ge=D?h.find(e=>e.name===D):null,_e=D?h.findIndex(e=>e.name===D):-1,ve=D?[{label:`Open in New Tab`,icon:Tn,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:kr,onClick:()=>{ne(D),P(D),O(null)}},{label:`Change Color`,icon:wr,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A(S_(t?.color,e)),M(!0)}},{label:`Change Image`,icon:nr,onClick:()=>{ae(D),re.current?.click()}},...ge?.image?[{label:`Remove Image`,icon:si,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:Xe,onClick:()=>{ge&&bc(ge.path),O(null)}},...T&&_e>0?[{label:`Move Up`,icon:cn,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e-1,0,t),c(e),O(null)}}]:[],...T&&_e<h.length-1?[{label:`Move Down`,icon:on,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:si,destructive:!0,onClick:()=>me(D)}]:[];return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{ref:re,type:`file`,accept:`image/*`,className:`hidden`,onChange:oe}),(0,J.jsxs)(Tt,{open:e,onClose:le,className:`bg-background`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,J.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(Ae,{className:`size-4`})}),(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,J.jsx)(`button`,{onClick:le,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),_===`add`&&(0,J.jsx)(`div`,{className:`px-4 py-4`,children:(0,J.jsx)(T_,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),placeholder:`Search projects…`,className:`flex-1 bg-transparent text-sm text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:d_.map(({mode:e,label:t,Icon:n})=>(0,J.jsxs)(`button`,{onClick:()=>p(e),className:H(`flex items-center justify-center gap-1 flex-1 px-2 py-1.5 rounded-md text-xs font-medium transition-colors`,f===e?`bg-primary/[0.12] text-primary`:`text-text-subtle active:bg-surface-elevated`),children:[(0,J.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,J.jsxs)(`div`,{className:_===`add`?`hidden`:`max-h-[60vh] overflow-y-auto`,children:[w.map(e=>{let t=h.findIndex(t=>t.name===e.name),n=S_(e.color,t),i=r?.name===e.name,a=N===e.name,o=x[e.name];return(0,J.jsxs)(`div`,{className:H(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&ue(e.name),onTouchStart:()=>se(e.name),onTouchEnd:ce,onTouchMove:ce,children:[(0,J.jsx)(w_,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,J.jsx)(`input`,{type:`text`,value:te,onChange:e=>ne(e.target.value),onKeyDown:e=>{e.key===`Enter`&&pe(),e.key===`Escape`&&P(null)},onBlur:pe,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,J.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,J.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,J.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:vo(new Date(o).toISOString())}),i&&(0,J.jsx)(Fe,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,J.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,J.jsx)(`div`,{className:`border-t border-border`,children:(0,J.jsxs)(`button`,{onClick:de,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,J.jsx)(et,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,J.jsxs)(`button`,{onClick:fe,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,J.jsx)(Jr,{className:`size-4`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,J.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,J.jsxs)(Tt,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,J.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,J.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),ve.map(e=>{let t=e.icon;return(0,J.jsxs)(`button`,{onClick:e.onClick,className:H(`w-full flex items-center gap-3 px-4 py-3 text-sm transition-colors active:bg-surface-elevated`,e.destructive?`text-destructive`:`text-foreground`),children:[(0,J.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,J.jsxs)(Tt,{open:j&&!!D,onClose:()=>{M(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,J.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:x_.map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:H(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,J.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,J.jsx)(`button`,{onClick:()=>{M(!1),O(null)},className:`flex-1 py-2 text-sm text-text-secondary border border-border rounded-md`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:()=>he(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var nS=`https://wise.com/pay/me/lehongh`,rS=`/donate-qr.png`,iS=`LE HONG HIEN`,aS=`Techcombank`;function oS({children:e}){return(0,J.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function sS(){let[e,t]=(0,q.useState)(!1);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,J.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,J.jsx)(Qn,{className:`size-5 text-primary`})}),(0,J.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,J.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,J.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,J.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,J.jsx)(oS,{children:`Vietnam`}),e?(0,J.jsxs)(`div`,{className:`flex size-40 flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-border text-text-subtle`,children:[(0,J.jsx)(Lr,{className:`size-8`}),(0,J.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,J.jsx)(`img`,{src:rS,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,J.jsxs)(`div`,{className:`text-center`,children:[(0,J.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:iS}),(0,J.jsx)(`p`,{className:`text-xs text-text-subtle`,children:aS})]}),(0,J.jsx)(`p`,{className:`text-center text-xs text-text-secondary`,children:`Quét mã QR bằng ứng dụng ngân hàng để chuyển khoản.`})]}),(0,J.jsxs)(`section`,{className:`flex flex-col items-center justify-center gap-3 border-t border-border pt-5 md:border-l md:border-t-0 md:pl-6 md:pt-0`,children:[(0,J.jsx)(oS,{children:`International`}),(0,J.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,J.jsx)(I,{asChild:!0,className:`w-full`,children:(0,J.jsxs)(`a`,{href:nS,target:`_blank`,rel:`noopener noreferrer`,children:[(0,J.jsx)(Jn,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function cS({open:e,onOpenChange:t}){return _t()?(0,J.jsx)(Tt,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,J.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,J.jsx)(sS,{})})}):(0,J.jsx)(Tc,{open:e,onOpenChange:t,children:(0,J.jsxs)(kc,{className:`sm:max-w-xl`,children:[(0,J.jsx)(X,{className:`sr-only`,children:`Support PPM`}),(0,J.jsx)(sS,{})]})})}function lS(){let[e,t]=(0,q.useState)(null),[n,r]=(0,q.useState)(!1);(0,q.useEffect)(()=>{function e(e){let n=e.detail;n&&(t(n),r(!1))}return window.addEventListener(`open-bug-report`,e),()=>window.removeEventListener(`open-bug-report`,e)},[]);let i=(0,q.useCallback)(()=>t(null),[]);return e?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:i}),(0,J.jsxs)(`div`,{className:`fixed inset-4 md:inset-auto md:top-[15%] md:left-1/2 md:-translate-x-1/2 md:w-full md:max-w-lg md:max-h-[70vh] z-50 flex flex-col bg-background border border-border rounded-lg shadow-2xl overflow-hidden`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium`,children:`Bug Report`}),(0,J.jsx)(`button`,{onClick:i,className:`p-1 rounded hover:bg-surface-elevated`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),(0,J.jsx)(`pre`,{className:`flex-1 overflow-auto px-4 py-2 text-xs font-mono whitespace-pre-wrap break-all`,children:e}),(0,J.jsxs)(`div`,{className:`flex gap-2 p-3 border-t border-border`,children:[(0,J.jsxs)(`button`,{onClick:async()=>{await bc(e)&&r(!0)},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-surface-elevated text-xs text-foreground hover:bg-surface transition-colors`,children:[n?(0,J.jsx)(Fe,{className:`size-3`}):(0,J.jsx)(Xe,{className:`size-3`}),n?`Copied`:`Copy`]}),(0,J.jsxs)(`button`,{onClick:()=>{hv(e),i()},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-xs hover:bg-primary/90 transition-colors`,children:[(0,J.jsx)(Tn,{className:`size-3`}),`Open GitHub Issue`]})]})]})]}):null}var uS=(0,q.memo)(function({className:e}){let t=V(e=>e.themeMode),n=V(e=>e.setThemeMode),r=Ym.find(e=>e.value===t)??Ym[2],i=r.icon;return(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:H(`flex size-11 items-center justify-center rounded-xl text-text-subtle`,`can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,e),children:(0,J.jsx)(i,{className:`size-[18px]`})})}),(0,J.jsxs)(tl,{align:`end`,className:`w-44`,children:[(0,J.jsx)(il,{children:`Appearance`}),Ym.map(e=>{let r=e.icon;return(0,J.jsxs)(Z,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,J.jsx)(r,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,J.jsx)(Fe,{className:H(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),dS=`https://github.com/hienlh/ppm`,fS={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},pS={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function mS({onSuccess:e}){let[t,n]=(0,q.useState)(``),[r,i]=(0,q.useState)(!1),a=V(e=>e.deviceName),o=V(e=>e.version),s=V(e=>e.tunnelActive),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),m=_t(),h=V(e=>e.themeMode),g=V(e=>e.syncThemeToServer),_=h!==(0,q.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{nt(t.trim());let n=await(await fetch(`/api/auth/check`,{headers:{Authorization:`Bearer ${t.trim()}`}})).json();if(!n.ok)throw Error(n.error??`Invalid password`);_&&await g(),e()}catch(e){l(e instanceof Error?e.message:`Authentication failed`),localStorage.removeItem(`ppm-auth-token`)}finally{d(!1)}}return(0,J.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:fS}),(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:pS}),(0,J.jsx)(uS,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,J.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,J.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,J.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,J.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,J.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[(0,J.jsx)(m?Xr:xr,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,J.jsxs)(`span`,{className:H(`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 font-mono text-[11px]`,s?`border-success/30 bg-success/10 text-success`:`border-border bg-surface-elevated text-text-secondary`),children:[s&&(0,J.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,J.jsxs)(J.Fragment,{children:[o&&(0,J.jsxs)(`span`,{className:`inline-flex items-center rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[`v`,o]}),s&&(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-success/30 bg-success/10 px-2.5 py-0.5 font-mono text-[11px] text-success`,children:[(0,J.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,J.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,J.jsxs)(`div`,{className:`relative w-full`,children:[(0,J.jsx)($,{type:r?`text`:`password`,placeholder:`Password`,value:t,onChange:e=>{n(e.target.value),c&&l(null)},className:`h-[50px] rounded-xl bg-surface-elevated pr-12 text-[15px] max-md:text-base`,autoFocus:!0}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),"aria-label":r?`Hide password`:`Show password`,className:`absolute right-2 top-1/2 flex size-9 -translate-y-1/2 items-center justify-center rounded-lg text-text-subtle can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,children:r?(0,J.jsx)(je,{className:`size-[18px]`}):(0,J.jsx)($e,{className:`size-[18px]`})})]}),c&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,J.jsx)(fn,{className:`size-[15px] shrink-0`}),(0,J.jsx)(`span`,{children:c})]}),(0,J.jsx)(I,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,J.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,J.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>gv(o),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,J.jsx)(tn,{className:`size-[18px] md:size-3.5`}),(0,J.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,J.jsxs)(`a`,{href:dS,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,J.jsx)(qn,{className:`size-[18px] md:size-3.5`}),(0,J.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>p(!0),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,J.jsx)(yn,{className:`size-[18px] md:size-3.5`}),(0,J.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,J.jsx)(cS,{open:f,onOpenChange:p}),(0,J.jsx)(lS,{})]})}function hS(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),[i,a]=(0,q.useState)(0),o=(0,q.useMemo)(()=>Ft(e,t,r,n),[e,t,r,n,i]);return(0,q.useEffect)(()=>{It(o)},[o,i]),(0,q.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=window.matchMedia(`(max-width: 767px)`),n=()=>a(e=>e+1);return e.addEventListener(`change`,n),t.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n),t.removeEventListener(`change`,n)}},[]),o}var gS=Object.defineProperty,_S=Object.getOwnPropertyDescriptor,vS=Object.getOwnPropertyNames,yS=Object.prototype.hasOwnProperty,bS=(e,t)=>{let n={};for(var r in e)gS(n,r,{get:e[r],enumerable:!0});return t||gS(n,Symbol.toStringTag,{value:`Module`}),n},xS=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=vS(t),a=0,o=i.length,s;a<o;a++)s=i[a],!yS.call(e,s)&&s!==n&&gS(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=_S(t,s))||r.enumerable});return e},SS=(e,t,n)=>(xS(e,t,`default`),n&&xS(n,t,`default`)),CS=[{id:`abap`,name:`ABAP`,import:(()=>B(()=>import(`./abap-C1K0-wzc.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>B(()=>import(`./actionscript-3-CJhQVjLA.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>B(()=>import(`./ada-Bt8r9fME.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>B(()=>import(`./angular-html-jfMqUuRd.js`).then(e=>e.n),__vite__mapDeps([75,1,76,77,78])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>B(()=>import(`./angular-ts-wytn9PMm.js`),__vite__mapDeps([79,75,1,76,77,78,80])))},{id:`apache`,name:`Apache Conf`,import:(()=>B(()=>import(`./apache-CnlleE6P.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>B(()=>import(`./apex-j0C6Xmk6.js`),[]))},{id:`apl`,name:`APL`,import:(()=>B(()=>import(`./apl-i-ahKx6O.js`),__vite__mapDeps([81,77,1,76,78,82,83,84])))},{id:`applescript`,name:`AppleScript`,import:(()=>B(()=>import(`./applescript-DO7AnO8U.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>B(()=>import(`./ara-i83AydZj.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>B(()=>import(`./asciidoc-DbBA6-sF.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>B(()=>import(`./asm-B5S47Rgr.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>B(()=>import(`./astro-DVBCJfG6.js`),__vite__mapDeps([85,77,1,78,82,86,87,88])))},{id:`awk`,name:`AWK`,import:(()=>B(()=>import(`./awk-CfyLHXqS.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>B(()=>import(`./ballerina-CumGp9A7.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>B(()=>import(`./bat-Ca2SBbYN.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>B(()=>import(`./beancount-CqyXBwwF.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>B(()=>import(`./berry-yl-kJr_H.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>B(()=>import(`./bibtex-DoFFszjV.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>B(()=>import(`./bicep-CWPi4nfK.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>B(()=>import(`./bird2-DXew-ut0.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>B(()=>import(`./blade-BHlL8SqU.js`),__vite__mapDeps([89,77,1,90,76,78,82,91,83,84])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>B(()=>import(`./bsl-D-UOfR1F.js`),__vite__mapDeps([92,93])))},{id:`c`,name:`C`,import:(()=>B(()=>import(`./c-clbySDvd.js`).then(e=>e.n),__vite__mapDeps([94,1])))},{id:`c3`,name:`C3`,import:(()=>B(()=>import(`./c3-B65jvSM1.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>B(()=>import(`./cadence-Cm8tQTHN.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>B(()=>import(`./cairo-Bn6rucli.js`),__vite__mapDeps([95,96])))},{id:`clarity`,name:`Clarity`,import:(()=>B(()=>import(`./clarity-DPulbvKH.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>B(()=>import(`./clojure-DFuWS20u.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>B(()=>import(`./cmake-DejCqcu4.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>B(()=>import(`./cobol-Byn9FYKu.js`),__vite__mapDeps([97,76,1,77,78,84])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>B(()=>import(`./codeowners-BwAyqWIH.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>B(()=>import(`./codeql-DgSwFjqI.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>B(()=>import(`./coffee-DjBl4gm-.js`),__vite__mapDeps([98,78,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>B(()=>import(`./common-lisp-CxIVJCtf.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>B(()=>import(`./coq-DLSjSnmf.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>B(()=>import(`./cpp-CKzic-3E.js`).then(e=>e.n),__vite__mapDeps([99,1,100,94,101,91])))},{id:`crystal`,name:`Crystal`,import:(()=>B(()=>import(`./crystal-Bkg-Ly_g.js`),__vite__mapDeps([102,94,1,77,76,78,103,91])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>B(()=>import(`./csharp-C1HHzXBp.js`),[]))},{id:`css`,name:`CSS`,import:(()=>B(()=>import(`./css-VXsMY--y.js`).then(e=>e.n),__vite__mapDeps([77,1])))},{id:`csv`,name:`CSV`,import:(()=>B(()=>import(`./csv-BEbcJdHz.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>B(()=>import(`./cue-BkDnFqUD.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>B(()=>import(`./cypher-1cMqojSQ.js`),[]))},{id:`d`,name:`D`,import:(()=>B(()=>import(`./d-BnYjRXtH.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>B(()=>import(`./dart-Ca7s-8hK.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>B(()=>import(`./dax-CmuOw-mY.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>B(()=>import(`./desktop-C2gJ6Ovb.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>B(()=>import(`./diff-BCEo1Ej7.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>B(()=>import(`./docker-DN2jlyAh.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>B(()=>import(`./dotenv-NExMY2kS.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>B(()=>import(`./dream-maker-DEyDwFsd.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>B(()=>import(`./edge-DVbZnd3Y.js`),__vite__mapDeps([104,90,76,1,77,78,88])))},{id:`elixir`,name:`Elixir`,import:(()=>B(()=>import(`./elixir-Dwi8Wu7W.js`),__vite__mapDeps([105,76,1,77,78])))},{id:`elm`,name:`Elm`,import:(()=>B(()=>import(`./elm-DtIv-HXJ.js`),__vite__mapDeps([106,100,1,94])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>B(()=>import(`./emacs-lisp-D_qP2zS6.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>B(()=>import(`./erb-D3HEDz1x.js`),__vite__mapDeps([107,76,1,77,78,108,94,99,100,101,91,109,110,87,88,111,112,103,83,84,113])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>B(()=>import(`./erlang-2MjTCzGz.js`),__vite__mapDeps([114,115])))},{id:`fennel`,name:`Fennel`,import:(()=>B(()=>import(`./fennel-6B22SfJR.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>B(()=>import(`./fish-CubIIvJD.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>B(()=>import(`./fluent-DF55zQ09.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>B(()=>import(`./fortran-fixed-form-BLyAtyPM.js`),__vite__mapDeps([116,117])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>B(()=>import(`./fortran-free-form-DvOu8jAt.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>B(()=>import(`./fsharp-Bxbn_gbr.js`),__vite__mapDeps([118,115])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>B(()=>import(`./gdresource-sFMY4D2Q.js`),__vite__mapDeps([119,120,121])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>B(()=>import(`./gdscript-DCPxdLpq.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>B(()=>import(`./gdshader-CTZ381FO.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>B(()=>import(`./genie-C_QDtvgU.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>B(()=>import(`./gherkin-BcvK42tF.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>B(()=>import(`./git-commit-BzB9Lio5.js`),__vite__mapDeps([122,123])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>B(()=>import(`./git-rebase-CKSVd848.js`),__vite__mapDeps([124,103,1])))},{id:`gleam`,name:`Gleam`,import:(()=>B(()=>import(`./gleam-BpeKwEIO.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>B(()=>import(`./glimmer-js-BY8aExAJ.js`),__vite__mapDeps([125,77,1,76,78,88])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>B(()=>import(`./glimmer-ts-Bak54dBX.js`),__vite__mapDeps([126,77,1,76,78,88])))},{id:`glsl`,name:`GLSL`,import:(()=>B(()=>import(`./glsl-nR2eaJQe.js`).then(e=>e.n),__vite__mapDeps([100,1,94])))},{id:`gn`,name:`GN`,import:(()=>B(()=>import(`./gn-nUb_Mit0.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>B(()=>import(`./gnuplot-D7I0v20p.js`),[]))},{id:`go`,name:`Go`,import:(()=>B(()=>import(`./go-D7Qqska7.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>B(()=>import(`./graphql-CGPPFAU6.js`).then(e=>e.n),__vite__mapDeps([109,1,78,110,87,88])))},{id:`groovy`,name:`Groovy`,import:(()=>B(()=>import(`./groovy-DS-pne5-.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>B(()=>import(`./hack-CXIMX-Ol.js`),__vite__mapDeps([127,76,1,77,78,91])))},{id:`haml`,name:`Ruby Haml`,import:(()=>B(()=>import(`./haml-tPY-9Pfm.js`).then(e=>e.n),__vite__mapDeps([111,1,77,78])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>B(()=>import(`./handlebars-BuW1LT7T.js`),__vite__mapDeps([128,77,1,76,78,113])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>B(()=>import(`./haskell-uQcywkDH.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>B(()=>import(`./haxe-c6bI4_GT.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>B(()=>import(`./hcl-CQXTiEXq.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>B(()=>import(`./hjson-ChETf2bz.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>B(()=>import(`./hlsl-BMC4JGoE.js`),[]))},{id:`html`,name:`HTML`,import:(()=>B(()=>import(`./html-bgVcwZ-t.js`).then(e=>e.n),__vite__mapDeps([76,1,77,78])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>B(()=>import(`./html-derivative-D6-IxTgn.js`),__vite__mapDeps([90,76,1,77,78])))},{id:`http`,name:`HTTP`,import:(()=>B(()=>import(`./http-CJ1zyB-h.js`),__vite__mapDeps([129,109,1,78,110,87,88,82,103,83,84])))},{id:`hurl`,name:`Hurl`,import:(()=>B(()=>import(`./hurl-CmoT7l3T.js`),__vite__mapDeps([130,131,109,1,78,110,87,88,83,84])))},{id:`hxml`,name:`HXML`,import:(()=>B(()=>import(`./hxml-CztOsL8o.js`),__vite__mapDeps([132,133])))},{id:`hy`,name:`Hy`,import:(()=>B(()=>import(`./hy-D_SOuqw9.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>B(()=>import(`./imba-BxLOHO5I.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>B(()=>import(`./ini-ox-CFcg0.js`),[]))},{id:`java`,name:`Java`,import:(()=>B(()=>import(`./java-Bzo8yIal.js`).then(e=>e.n),__vite__mapDeps([84,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>B(()=>import(`./javascript-DHuz9VXn.js`).then(e=>e.n),__vite__mapDeps([78,1])))},{id:`jinja`,name:`Jinja`,import:(()=>B(()=>import(`./jinja-B1pq3jJq.js`),__vite__mapDeps([134,76,1,77,78])))},{id:`jison`,name:`Jison`,import:(()=>B(()=>import(`./jison-D8B5pCwA.js`),__vite__mapDeps([135,78,1])))},{id:`json`,name:`JSON`,import:(()=>B(()=>import(`./json-0_y80FD5.js`).then(e=>e.n),__vite__mapDeps([82,1])))},{id:`json5`,name:`JSON5`,import:(()=>B(()=>import(`./json5-CEQ50pGM.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>B(()=>import(`./jsonc-CfrLEAKA.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>B(()=>import(`./jsonl-fKbrANC2.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>B(()=>import(`./jsonnet-DKbkPaQ2.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>B(()=>import(`./jssm-Dxxx1Hqu.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>B(()=>import(`./jsx-DlJL-Oj3.js`).then(e=>e.n),__vite__mapDeps([110,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>B(()=>import(`./julia-D0K3bwpU.js`),__vite__mapDeps([136,99,1,100,94,101,91,78,96,137])))},{id:`just`,name:`Just`,import:(()=>B(()=>import(`./just-B9Jlddu-.js`),__vite__mapDeps([138,78,1,139,77,76,91,83,84,96,108,94,99,100,101,109,110,87,88,111,112,103,113])))},{id:`kdl`,name:`KDL`,import:(()=>B(()=>import(`./kdl-DvtoJdFo.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>B(()=>import(`./kotlin-CTS4MLcx.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>B(()=>import(`./kusto-HtSE_sKm.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>B(()=>import(`./latex-BPJSSE6j.js`),__vite__mapDeps([140,141,137,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>B(()=>import(`./lean-BYtGUfWx.js`),[]))},{id:`less`,name:`Less`,import:(()=>B(()=>import(`./less-BoxmU_Mk.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>B(()=>import(`./liquid-lv10fo4U.js`),__vite__mapDeps([142,77,1,76,78,82])))},{id:`llvm`,name:`LLVM IR`,import:(()=>B(()=>import(`./llvm-CSdk9q9V.js`),[]))},{id:`log`,name:`Log file`,import:(()=>B(()=>import(`./log-B-kp_3CL.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>B(()=>import(`./logo-DdIsXFDO.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>B(()=>import(`./lua-PNuaIBEF.js`).then(e=>e.n),__vite__mapDeps([112,1,94])))},{id:`luau`,name:`Luau`,import:(()=>B(()=>import(`./luau-DUBpLlzQ.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>B(()=>import(`./make-B3JVjoW_.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>B(()=>import(`./markdown-Seon0vHs.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>B(()=>import(`./marko-Du3frD6X.js`),__vite__mapDeps([143,77,1,144,80,88])))},{id:`matlab`,name:`MATLAB`,import:(()=>B(()=>import(`./matlab-C2waytxs.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>B(()=>import(`./mdc-BeDVcFRl.js`),__vite__mapDeps([145,90,76,1,77,78,115,113])))},{id:`mdx`,name:`MDX`,import:(()=>B(()=>import(`./mdx-DAis6R6I.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>B(()=>import(`./mermaid-_rnT2YGD.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>B(()=>import(`./mipsasm-bBgtvPyG.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>B(()=>import(`./mojo-Cp9BayW0.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>B(()=>import(`./moonbit-BS_fcr-P.js`),[]))},{id:`move`,name:`Move`,import:(()=>B(()=>import(`./move-C79AH45U.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>B(()=>import(`./narrat-CJ5s3BDf.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>B(()=>import(`./nextflow-DkcXP71s.js`),__vite__mapDeps([146,147])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>B(()=>import(`./nextflow-groovy-ZHa4JrPJ.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>B(()=>import(`./nginx-C5n8N_bt.js`),__vite__mapDeps([148,112,1,94])))},{id:`nim`,name:`Nim`,import:(()=>B(()=>import(`./nim-CIhyfs-A.js`),__vite__mapDeps([149,94,1,77,100,76,78,115,83,84])))},{id:`nix`,name:`Nix`,import:(()=>B(()=>import(`./nix-D2Jet9DN.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>B(()=>import(`./nushell-CAiDi_mR.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>B(()=>import(`./objective-c-CVkmJkC1.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>B(()=>import(`./objective-cpp-DIKDO1Ly.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>B(()=>import(`./ocaml-R9qtGQhs.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>B(()=>import(`./odin-DTYNQqVr.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>B(()=>import(`./openscad-BlPcSnmT.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>B(()=>import(`./pascal-B1Y46ZZB.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>B(()=>import(`./perl-Cf31sZYE.js`),__vite__mapDeps([139,77,1,76,78,91,83,84])))},{id:`php`,name:`PHP`,import:(()=>B(()=>import(`./php-Dzl_MDIW.js`),__vite__mapDeps([150,77,1,76,78,82,91,83,84])))},{id:`pkl`,name:`Pkl`,import:(()=>B(()=>import(`./pkl-BhJSJbFv.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>B(()=>import(`./plsql-DBba7dyP.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>B(()=>import(`./po-BvgLlnNo.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>B(()=>import(`./polar-C7uILwJn.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>B(()=>import(`./postcss-BgJlpFdw.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>B(()=>import(`./powerquery-Dn1MIpZu.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>B(()=>import(`./powershell-Bo-DYzOS.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>B(()=>import(`./prisma-CTLs5IdT.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>B(()=>import(`./prolog-QRGun3eG.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>B(()=>import(`./proto-B7PI7apn.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>B(()=>import(`./pug-CxSYHrB3.js`),__vite__mapDeps([151,77,1,76,78])))},{id:`puppet`,name:`Puppet`,import:(()=>B(()=>import(`./puppet-CBq0tLrP.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>B(()=>import(`./purescript-DFewOQb2.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>B(()=>import(`./python-iWuxKXvT.js`),[]))},{id:`qml`,name:`QML`,import:(()=>B(()=>import(`./qml-DlEjGhwN.js`),__vite__mapDeps([152,78,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>B(()=>import(`./qmldir-cXiW3AsF.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>B(()=>import(`./qss-DASwAbBL.js`),[]))},{id:`r`,name:`R`,import:(()=>B(()=>import(`./r-TU2eaIPw.js`).then(e=>e.n),__vite__mapDeps([137,1])))},{id:`racket`,name:`Racket`,import:(()=>B(()=>import(`./racket-SkRKqrLY.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>B(()=>import(`./raku-D31lthkZ.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>B(()=>import(`./razor-KVt5uW14.js`),__vite__mapDeps([153,154,76,1,77,78])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>B(()=>import(`./reg-D8YAsTGf.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>B(()=>import(`./regexp-CD2uvAWx.js`).then(e=>e.n),__vite__mapDeps([101,1])))},{id:`rel`,name:`Rel`,import:(()=>B(()=>import(`./rel-CAaI-1fg.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>B(()=>import(`./riscv-DR-hJVIj.js`),[]))},{id:`ron`,name:`RON`,import:(()=>B(()=>import(`./ron-CuUCJ0n4.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>B(()=>import(`./rosmsg-CI1ywimO.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>B(()=>import(`./rst-D5BwNTnw.js`),__vite__mapDeps([155,156,99,1,100,94,101,91,90,76,77,78,96,108,109,110,87,88,111,112,103,83,84,113])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>B(()=>import(`./ruby-D5fejQwd.js`),__vite__mapDeps([108,94,1,99,100,101,91,77,109,78,110,87,88,111,76,112,103,83,84,113])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>B(()=>import(`./rust-p7Imk4G_.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>B(()=>import(`./sas-Bj7B1CB2.js`),__vite__mapDeps([157,91,1])))},{id:`sass`,name:`Sass`,import:(()=>B(()=>import(`./sass-C8JfaqCV.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>B(()=>import(`./scala-DNxCW1By.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>B(()=>import(`./scheme-BYuUPJoL.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>B(()=>import(`./scss-BB0CUoCL.js`).then(e=>e.n),__vite__mapDeps([80,1,77])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>B(()=>import(`./sdbl-DbPeJPUr.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>B(()=>import(`./shaderlab-BdjEZUMc.js`),__vite__mapDeps([158,159])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>B(()=>import(`./shellscript-DMiHlR3q.js`).then(e=>e.n),__vite__mapDeps([103,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>B(()=>import(`./shellsession-Bp1OA1rR.js`),__vite__mapDeps([160,103,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>B(()=>import(`./smalltalk-LDeL9PYH.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>B(()=>import(`./solidity-CAbDB4D4.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>B(()=>import(`./soy-DlYz3wsC.js`),__vite__mapDeps([161,76,1,77,78])))},{id:`sparql`,name:`SPARQL`,import:(()=>B(()=>import(`./sparql-CdfII5Jd.js`),__vite__mapDeps([162,163])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>B(()=>import(`./splunk-kQREPfIc.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>B(()=>import(`./sql-CBzeNAD8.js`).then(e=>e.n),__vite__mapDeps([91,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>B(()=>import(`./ssh-config-L1euxrsM.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>B(()=>import(`./stata-BvUA6GUW.js`),__vite__mapDeps([164,91,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>B(()=>import(`./stylus-DvBnYniP.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>B(()=>import(`./surrealql--DLNbTyI.js`),__vite__mapDeps([165,78,1])))},{id:`svelte`,name:`Svelte`,import:(()=>B(()=>import(`./svelte-CBfSsG4n.js`),__vite__mapDeps([166,77,1,78,86,88])))},{id:`swift`,name:`Swift`,import:(()=>B(()=>import(`./swift-DF5NDQp6.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>B(()=>import(`./system-verilog-D8s2ZW_k.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>B(()=>import(`./systemd-a5-XZJsG.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>B(()=>import(`./talonscript-BLa0URTW.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>B(()=>import(`./tasl-DIoV4XcC.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>B(()=>import(`./tcl-ztYAdXfQ.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>B(()=>import(`./templ-Dv8zpKZW.js`),__vite__mapDeps([167,77,1,168,78])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>B(()=>import(`./terraform-DvpCCiOZ.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>B(()=>import(`./tex-CsrOiqh1.js`),__vite__mapDeps([141,137,1])))},{id:`toml`,name:`TOML`,import:(()=>B(()=>import(`./toml-acIrxos6.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>B(()=>import(`./ts-tags-3T98k4EJ.js`),__vite__mapDeps([169,77,1,100,94,76,78,91,88,83,84])))},{id:`tsv`,name:`TSV`,import:(()=>B(()=>import(`./tsv-BJB5EVCT.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>B(()=>import(`./tsx-B1MmXGT3.js`).then(e=>e.n),__vite__mapDeps([87,1])))},{id:`turtle`,name:`Turtle`,import:(()=>B(()=>import(`./turtle-DFceTiqd.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>B(()=>import(`./twig-u6QZ45FH.js`),__vite__mapDeps([170,77,1,78,150,76,82,91,83,84,96,108,94,99,100,101,109,110,87,88,111,112,103,113,80])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>B(()=>import(`./typescript-Dz9wU5Y1.js`).then(e=>e.n),__vite__mapDeps([88,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>B(()=>import(`./typespec-CPuYZijj.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>B(()=>import(`./typst-CfsCIYv8.js`),[]))},{id:`v`,name:`V`,import:(()=>B(()=>import(`./v-CGo0jcXA.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>B(()=>import(`./vala-AsSR0hrb.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>B(()=>import(`./vb-C7tvbXv1.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>B(()=>import(`./verilog--a33ND-p.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>B(()=>import(`./vhdl-CWL5dZPN.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>B(()=>import(`./viml-BglmT14Y.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>B(()=>import(`./vue-CxIsxtwn.js`),__vite__mapDeps([171,77,1,90,76,78,82,88])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>B(()=>import(`./vue-html-BGL5qnuH.js`),__vite__mapDeps([172,78,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>B(()=>import(`./vue-vine-DHPh_gMr.js`),__vite__mapDeps([173,77,1,78,144,86,80,174])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>B(()=>import(`./vyper-CgCBYg1G.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>B(()=>import(`./wasm-BOG7ZeTT.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>B(()=>import(`./wenyan-DpShPKXZ.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>B(()=>import(`./wgsl-BakcCblK.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>B(()=>import(`./wikitext-NroRWVAO.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>B(()=>import(`./wit-B5CM2pg6.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>B(()=>import(`./wolfram-7MTFBJpR.js`),[]))},{id:`xml`,name:`XML`,import:(()=>B(()=>import(`./xml-C-vM2m7J.js`).then(e=>e.n),__vite__mapDeps([83,1,84])))},{id:`xsl`,name:`XSL`,import:(()=>B(()=>import(`./xsl-DvTXNwuO.js`),__vite__mapDeps([175,83,1,84])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>B(()=>import(`./yaml-Bwr01G2K.js`).then(e=>e.n),__vite__mapDeps([113,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>B(()=>import(`./zenscript-Dj8GATvi.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>B(()=>import(`./zig-LAE-fbS-.js`),[]))}],wS=Object.fromEntries(CS.map(e=>[e.id,e.import])),TS=Object.fromEntries(CS.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ES={...wS,...TS},DS=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>B(()=>import(`./andromeeda-DF1I8qi3.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>B(()=>import(`./aurora-x-De_IaSKw.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>B(()=>import(`./ayu-dark-DTLdZ1Si.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>B(()=>import(`./ayu-light-DTOfkzhu.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>B(()=>import(`./ayu-mirage-DsAECCMv.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-frappe-DLeGslh_.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>B(()=>import(`./catppuccin-latte-CR5GeHws.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-macchiato-p-XgjxhP.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-mocha-B8QOAZLl.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>B(()=>import(`./dark-plus-XfbaH7kZ.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>B(()=>import(`./dracula-B9lbE01y.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>B(()=>import(`./dracula-soft-CMBBfKF_.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>B(()=>import(`./everforest-dark-DbHa2U-p.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>B(()=>import(`./everforest-light-BISkJchP.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>B(()=>import(`./github-dark-C9afs_4w.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>B(()=>import(`./github-dark-default-CKGVrl3Z.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>B(()=>import(`./github-dark-dimmed-C3dQZ_LC.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>B(()=>import(`./github-dark-high-contrast-DW78QukY.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>B(()=>import(`./github-light-BnP2dznS.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>B(()=>import(`./github-light-default-C2fPZzPG.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>B(()=>import(`./github-light-high-contrast-BzIuUFR2.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-hard-C0W01fsq.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-medium-Bqo6fQbg.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-soft-D-XSM_fu.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-hard-IVAwMJRl.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-medium-38ATiG7i.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-soft-DnZr3c_0.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>B(()=>import(`./horizon-BusFlhLW.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>B(()=>import(`./horizon-bright-2oD0Mz7W.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>B(()=>import(`./houston-DdbbjqFg.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>B(()=>import(`./kanagawa-dragon-CwN4SV1c.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>B(()=>import(`./kanagawa-lotus-BHltayiE.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>B(()=>import(`./kanagawa-wave-D-KXPjw6.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>B(()=>import(`./laserwave-DaXZG9ge.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>B(()=>import(`./light-plus-Bt5CyUuo.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>B(()=>import(`./material-theme-Nq-ChX1P.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>B(()=>import(`./material-theme-darker-CPV4ayXJ.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>B(()=>import(`./material-theme-lighter-0kyjYqEd.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>B(()=>import(`./material-theme-ocean-DGpAp5co.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>B(()=>import(`./material-theme-palenight-B0AUn0NG.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>B(()=>import(`./min-dark-BSSjchUB.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>B(()=>import(`./min-light-DomAFQsa.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>B(()=>import(`./monokai-CL_9gbmn.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>B(()=>import(`./night-owl-Jkf9zFQK.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>B(()=>import(`./night-owl-light-DRPeaG5J.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>B(()=>import(`./nord-CREVs22j.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>B(()=>import(`./one-dark-pro-BSLWUJn5.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>B(()=>import(`./one-light-DbkRXG3t.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>B(()=>import(`./plastic-BzxsCTpi.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>B(()=>import(`./poimandres-DUaI_1JP.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>B(()=>import(`./red-CTcQZevb.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>B(()=>import(`./rose-pine-aFHxW48i.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>B(()=>import(`./rose-pine-dawn-Bqz2sBRY.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>B(()=>import(`./rose-pine-moon-wqyh0an4.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>B(()=>import(`./slack-dark-C4xGcQXI.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>B(()=>import(`./slack-ochin-BzgRt_wm.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>B(()=>import(`./snazzy-light-CXE7a5j_.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>B(()=>import(`./solarized-dark-DgUhY74x.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>B(()=>import(`./solarized-light-DD9C-H-9.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>B(()=>import(`./synthwave-84-DbBhB_Hq.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>B(()=>import(`./tokyo-night-BkHlYUv0.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>B(()=>import(`./vesper-B_Z0h4pn.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>B(()=>import(`./vitesse-black-RKFsSqQI.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>B(()=>import(`./vitesse-dark-D7zDWNmc.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>B(()=>import(`./vitesse-light-MAp87W5b.js`),[]))}].map(e=>[e.id,e.import])),OS=t({createOnigurumaEngine:()=>nC,getDefaultWasmLoader:()=>tC,loadWasm:()=>YS,setDefaultWasmLoader:()=>eC}),kS=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function AS(){return 2147483648}function jS(){return typeof performance<`u`?performance.now():Date.now()}var MS=(e,t)=>e+(t-e%t)%t;async function NS(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=AS();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,MS(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:jS,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var PS=Object.defineProperty,FS=(e,t,n)=>t in e?PS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IS=(e,t,n)=>FS(e,typeof t==`symbol`?t:t+``,n),LS=null;function RS(e){throw new kS(e.UTF8ToString(e.getLastOnigError()))}var zS=class e{constructor(t){IS(this,`utf16Length`),IS(this,`utf8Length`),IS(this,`utf16Value`),IS(this,`utf8Value`),IS(this,`utf16OffsetToUtf8`),IS(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},BS=class e{constructor(t){if(IS(this,`id`,++e.LAST_ID),IS(this,`_onigBinding`),IS(this,`content`),IS(this,`utf16Length`),IS(this,`utf8Length`),IS(this,`utf16OffsetToUtf8`),IS(this,`utf8OffsetToUtf16`),IS(this,`ptr`),!LS)throw new kS(`Must invoke loadWasm first.`);this._onigBinding=LS,this.content=t;let n=new zS(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=LS.omalloc(1e4),e._sharedPtrInUse=!0,LS.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(LS)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};IS(BS,`LAST_ID`,0),IS(BS,`_sharedPtr`,0),IS(BS,`_sharedPtrInUse`,!1);var VS=BS,HS=class{constructor(e){if(IS(this,`_onigBinding`),IS(this,`_ptr`),!LS)throw new kS(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new zS(e[r]);t[r]=i.createString(LS),n[r]=i.utf8Length}let r=LS.omalloc(4*e.length);LS.HEAPU32.set(t,r/4);let i=LS.omalloc(4*e.length);LS.HEAPU32.set(n,i/4);let a=LS.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)LS.ofree(t[n]);LS.ofree(i),LS.ofree(r),a===0&&RS(LS),this._onigBinding=LS,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new VS(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function US(e){return typeof e.instantiator==`function`}function WS(e){return typeof e.default==`function`}function GS(e){return e.data!==void 0}function KS(e){return typeof Response<`u`&&e instanceof Response}function qS(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var JS;function YS(e){if(JS)return JS;async function t(){LS=await NS(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),US(n)?n=await n.instantiator(t):WS(n)?n=await n.default(t):(GS(n)&&(n=n.data),KS(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await ZS(n)(t):await QS(n)(t):qS(n)||n instanceof WebAssembly.Module?n=await XS(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await XS(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return JS=t(),JS}function XS(e){return t=>WebAssembly.instantiate(e,t)}function ZS(e){return t=>WebAssembly.instantiateStreaming(e,t)}function QS(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var $S;function eC(e){$S=e}function tC(){return $S}async function nC(e){return e&&await YS(e),{createScanner(e){return new HS(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new VS(e)}}}var rC=bS({});SS(rC,OS);var iC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function aC(e){return oC(e)}function oC(e){return Array.isArray(e)?sC(e):e instanceof RegExp?e:typeof e==`object`?cC(e):e}function sC(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=oC(e[n]);return t}function cC(e){let t={};for(let n in e)t[n]=oC(e[n]);return t}function lC(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function uC(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?uC(e.substring(0,e.length-1)):e.substr(~t+1)}var dC=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,fC=class{static hasCaptures(e){return e===null?!1:(dC.lastIndex=0,dC.test(e))}static replaceCaptures(e,t,n){return e.replace(dC,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function pC(e,t){return e<t?-1:e>t?1:0}function mC(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=pC(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function hC(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function gC(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var _C=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},vC=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(CC(e),t)}static createFromParsedTheme(e,t){return EC(e,t)}_cachedMatchRoot=new _C(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>bC(e.parent,t.parentScopes));return n?new SC(n.fontStyle,n.foreground,n.background):null}},yC=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function bC(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!xC(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function xC(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var SC=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function CC(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&hC(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&hC(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new wC(l,u,e,o,s,c)}}return n}var wC=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},TC=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(TC||{});function EC(e,t){e.sort((e,t)=>{let n=pC(e.scope,t.scope);return n!==0||(n=mC(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new DC(t),o=new SC(n,a.getId(r),a.getId(i)),s=new AC(new kC(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new vC(a,o,s)}var DC=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},OC=Object.freeze([]),kC=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||OC,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},AC=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),kC.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(mC(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new kC(e,t,n,r,i))}},jC=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=e.containsBalancedBrackets(t)?1:0,d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=NC(r)),i!==null&&(u=i?1:0),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function MC(e){return e}function NC(e){return e}function PC(e,t){let n=[],r=IC(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(FC(i)){let e=[];do e.push(i),i=r.next();while(FC(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function FC(e){return!!e&&!!e.match(/[\w\.:]+/)}function IC(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function LC(e){typeof e.dispose==`function`&&e.dispose()}var RC=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},zC=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},BC=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},VC=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new RC(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new BC;for(let n of e)HC(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof RC){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function HC(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof RC?WC({baseGrammar:a,selfGrammar:i},r):UC(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new RC(e))}function UC(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];GC([r],t,n)}}function WC(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&GC(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&GC(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function GC(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?lC({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&GC(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=ZC(i);switch(a.kind){case 0:WC({...t,selfGrammar:t.baseGrammar},n);break;case 1:WC(t,n);break;case 2:UC(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?UC(a.ruleName,i,n):WC(i,n)}else a.kind===4?n.add(new zC(a.scopeName,a.ruleName)):n.add(new RC(a.scopeName));break}}}var KC=class{kind=0},qC=class{kind=1},JC=class{constructor(e){this.ruleName=e}kind=2},YC=class{constructor(e){this.scopeName=e}kind=3},XC=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ZC(e){if(e===`$base`)return new KC;if(e===`$self`)return new qC;let t=e.indexOf(`#`);return t===-1?new YC(e):t===0?new JC(e.substring(1)):new XC(e.substring(0,t),e.substring(t+1))}var QC=/\\(\d+)/,$C=/\\(\d+)/g,ew=-1,tw=-2;function nw(e){return e}function rw(e){return e}var iw=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=fC.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=fC.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${uC(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:fC.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:fC.replaceCaptures(this._contentName,e,t)}},aw=class extends iw{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},ow=class extends iw{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new dw(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new fw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},sw=class extends iw{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new fw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},cw=class extends iw{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new dw(i,this.id),this.beginCaptures=a,this._end=new dw(o||``,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new fw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},lw=class extends iw{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new dw(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new dw(o,tw),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new fw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new fw,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||``),this._cachedCompiledWhilePatterns}},uw=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new aw(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new ow(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=lC({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new sw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new lw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new cw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=ZC(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof sw||e instanceof cw||e instanceof lw)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},dw=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=QC.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return $C.lastIndex=0,this.source.replace($C,(e,t)=>gC(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=``,t[i+1]=``,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=``,t[i+1]=`G`,n[i+1]=``,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},fw=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){return this._cached||=new pw(e,this._items.map(e=>e.source),this._items.map(e=>e.ruleId)),this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new pw(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},pw=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
|
|
23
|
+
`);return(0,J.jsxs)(`div`,{children:[(0,J.jsxs)(`div`,{className:`text-[11px] font-mono font-semibold text-text mb-1`,children:[`v`,e]}),(0,J.jsx)(`div`,{className:`space-y-1`,children:n.map((e,t)=>{let n=e.trim();return n?n.startsWith(`### `)?(0,J.jsx)(`div`,{className:`text-[10px] font-semibold uppercase tracking-wide text-text-3 pt-1`,children:n.slice(4)},t):n.startsWith(`- `)?(0,J.jsxs)(`div`,{className:`flex gap-1.5 text-text-2`,children:[(0,J.jsx)(`span`,{className:`text-text-3 shrink-0`,children:`•`}),(0,J.jsx)(`span`,{className:`min-w-0 break-words`,children:ty(n.slice(2))})]},t):(0,J.jsx)(`div`,{className:`text-text-2 break-words`,children:ty(n)},t):null})})]})}function ry(e,t){return e?e.tabs.filter(e=>!e.projectId||!t||e.projectId===t).length:0}var iy=(0,q.memo)(function(){let e=$s(e=>e.statusBarItems),t=e.filter(e=>e.alignment===`left`).sort((e,t)=>t.priority-e.priority),n=e.filter(e=>e.alignment===`right`).sort((e,t)=>t.priority-e.priority);return(0,J.jsxs)(`div`,{className:`hidden md:flex items-center justify-between h-[26px] px-3.5 bg-panel border-t border-border-soft text-[11px] font-mono text-text-3 select-none shrink-0`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,J.jsx)(ay,{}),t.map(e=>(0,J.jsx)(sy,{item:e},e.id)),(0,J.jsx)(oy,{})]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-3 min-w-0`,children:[(0,J.jsx)(Iv,{compact:!0}),n.map(e=>(0,J.jsx)(sy,{item:e},e.id)),(0,J.jsx)(Lv,{}),(0,J.jsx)(ey,{})]})]})}),ay=(0,q.memo)(function(){let e=W(e=>e.activeProject?.name??null),t=gu(t=>e?t.meta.get(e):void 0);if(!t?.branch)return null;let{branch:n,ahead:r,behind:i,tracking:a}=t,o=!!a&&r===0&&i===0;return(0,J.jsxs)(`span`,{className:`flex items-center gap-2 min-w-0 shrink-0`,children:[(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-primary min-w-0`,title:a?`Tracking ${a}`:`No upstream`,children:[(0,J.jsx)(Gn,{className:`size-3 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate max-w-[140px]`,children:n})]}),(r>0||i>0)&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1.5 shrink-0`,children:[r>0&&(0,J.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,J.jsx)(Yt,{className:`size-3`}),r]}),i>0&&(0,J.jsxs)(`span`,{className:`flex items-center gap-0.5`,children:[(0,J.jsx)(qt,{className:`size-3`}),i]})]}),o&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-success shrink-0`,children:[(0,J.jsx)(Fe,{className:`size-3`}),`synced`]})]})}),oy=(0,q.memo)(function(){let e=U(e=>e.dock.visible),t=ry(U(e=>e.panels[ut]),W(e=>e.activeProject?.name??null));return(0,J.jsxs)(`button`,{onClick:()=>U.getState().toggleDock(),title:e?`Hide panel`:`Show panel`,"aria-label":e?`Hide panel`:`Show panel`,className:H(`flex items-center gap-1 px-1 rounded-sm transition-colors hover:bg-accent/15`,e?`text-primary`:`text-text-subtle hover:text-text-primary`),children:[(0,J.jsx)(Tr,{className:`size-[11px]`}),t>0&&(0,J.jsx)(`span`,{children:t})]})}),sy=(0,q.memo)(function({item:e}){let t=(0,J.jsx)(`button`,{className:`truncate px-1 rounded-sm transition-colors ${e.command?`hover:bg-accent/15 hover:text-text-primary cursor-pointer`:`cursor-default`}`,onClick:()=>{e.command&&window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e.command}}))},children:e.text});return e.tooltip?(0,J.jsxs)(xi,{children:[(0,J.jsx)(Si,{asChild:!0,children:t}),(0,J.jsx)(Ci,{side:`top`,className:`text-xs`,children:e.tooltip})]}):t}),cy=`grid place-items-center w-11 self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`;function ly({title:e,state:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r;return(0,J.jsxs)(`div`,{...l,style:{height:36,...c},className:H(`flex items-stretch shrink-0 border-b border-border bg-panel-2 rounded-t-[8px] overflow-hidden`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,J.jsx)(`div`,{className:`flex-1 min-w-0 flex items-center px-3 cursor-default`,children:(0,J.jsx)(`span`,{className:H(`truncate text-xs font-medium`,n?`text-text`:`text-text-2`),children:e})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:cy,onClick:i,children:(0,J.jsx)(yr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":t===`maximized`?`Restore window`:`Maximize window`,className:cy,onClick:a,children:t===`maximized`?(0,J.jsx)(Xe,{className:`size-3`}):(0,J.jsx)(ti,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:H(cy,`can-hover:hover:bg-destructive can-hover:hover:text-white`),onClick:o,children:(0,J.jsx)(tt,{className:`size-3.5`})})]})}function uy(e,t,n){return Math.max(t,Math.min(e,n))}var dy={toVector(e,t){return e===void 0&&(e=t),Array.isArray(e)?e:[e,e]},add(e,t){return[e[0]+t[0],e[1]+t[1]]},sub(e,t){return[e[0]-t[0],e[1]-t[1]]},addTo(e,t){e[0]+=t[0],e[1]+=t[1]},subTo(e,t){e[0]-=t[0],e[1]-=t[1]}};function fy(e,t,n){return t===0||Math.abs(t)===1/0?e**(n*5):e*t*n/(t+n*e)}function py(e,t,n,r=.15){return r===0?uy(e,t,n):e<t?-fy(t-e,n-t,r)+t:e>n?+fy(e-n,n-t,r)+n:e}function my(e,[t,n],[r,i]){let[[a,o],[s,c]]=e;return[py(t,a,o,r),py(n,s,c,i)]}function hy(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function gy(e){var t=hy(e,`string`);return typeof t==`symbol`?t:String(t)}function _y(e,t,n){return t=gy(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vy(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function yy(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?vy(Object(n),!0).forEach(function(t){_y(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):vy(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}var by={pointer:{start:`down`,change:`move`,end:`up`},mouse:{start:`down`,change:`move`,end:`up`},touch:{start:`start`,change:`move`,end:`end`},gesture:{start:`start`,change:`change`,end:`end`}};function xy(e){return e?e[0].toUpperCase()+e.slice(1):``}var Sy=[`enter`,`leave`];function Cy(e=!1,t){return e&&!Sy.includes(t)}function wy(e,t=``,n=!1){let r=by[e],i=r&&r[t]||t;return`on`+xy(e)+xy(i)+(Cy(n,i)?`Capture`:``)}var Ty=[`gotpointercapture`,`lostpointercapture`];function Ey(e){let t=e.substring(2).toLowerCase(),n=!!~t.indexOf(`passive`);n&&(t=t.replace(`passive`,``));let r=Ty.includes(t)?`capturecapture`:`capture`,i=!!~t.indexOf(r);return i&&(t=t.replace(`capture`,``)),{device:t,capture:i,passive:n}}function Dy(e,t=``){let n=by[e];return e+(n&&n[t]||t)}function Oy(e){return`touches`in e}function ky(e){return Oy(e)?`touch`:`pointerType`in e?e.pointerType:`mouse`}function Ay(e){return Array.from(e.touches).filter(t=>{var n,r;return t.target===e.currentTarget||((n=e.currentTarget)==null||(r=n.contains)==null?void 0:r.call(n,t.target))})}function jy(e){return e.type===`touchend`||e.type===`touchcancel`?e.changedTouches:e.targetTouches}function My(e){return Oy(e)?jy(e)[0]:e}function Ny(e,t){try{let n=t.clientX-e.clientX,r=t.clientY-e.clientY,i=(t.clientX+e.clientX)/2,a=(t.clientY+e.clientY)/2,o=Math.hypot(n,r);return{angle:-(Math.atan2(n,r)*180)/Math.PI,distance:o,origin:[i,a]}}catch{}return null}function Py(e){return Ay(e).map(e=>e.identifier)}function Fy(e,t){let[n,r]=Array.from(e.touches).filter(e=>t.includes(e.identifier));return Ny(n,r)}function Iy(e){let t=My(e);return Oy(e)?t.identifier:t.pointerId}function Ly(e){let t=My(e);return[t.clientX,t.clientY]}var Ry=40,zy=800;function By(e){let{deltaX:t,deltaY:n,deltaMode:r}=e;return r===1?(t*=Ry,n*=Ry):r===2&&(t*=zy,n*=zy),[t,n]}function Vy(e){let{scrollX:t,scrollY:n,scrollLeft:r,scrollTop:i}=e.currentTarget;return[t??r??0,n??i??0]}function Hy(e){let t={};if(`buttons`in e&&(t.buttons=e.buttons),`shiftKey`in e){let{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a}=e;Object.assign(t,{shiftKey:n,altKey:r,metaKey:i,ctrlKey:a})}return t}function Uy(e,...t){return typeof e==`function`?e(...t):e}function Wy(){}function Gy(...e){return e.length===0?Wy:e.length===1?e[0]:function(){let t;for(let n of e)t=n.apply(this,arguments)||t;return t}}function Ky(e,t){return Object.assign({},t,e||{})}var qy=32,Jy=class{constructor(e,t,n){this.ctrl=e,this.args=t,this.key=n,this.state||(this.state={},this.computeValues([0,0]),this.computeInitial(),this.init&&this.init(),this.reset())}get state(){return this.ctrl.state[this.key]}set state(e){this.ctrl.state[this.key]=e}get shared(){return this.ctrl.state.shared}get eventStore(){return this.ctrl.gestureEventStores[this.key]}get timeoutStore(){return this.ctrl.gestureTimeoutStores[this.key]}get config(){return this.ctrl.config[this.key]}get sharedConfig(){return this.ctrl.config.shared}get handler(){return this.ctrl.handlers[this.key]}reset(){let{state:e,shared:t,ingKey:n,args:r}=this;t[n]=e._active=e.active=e._blocked=e._force=!1,e._step=[!1,!1],e.intentional=!1,e._movement=[0,0],e._distance=[0,0],e._direction=[0,0],e._delta=[0,0],e._bounds=[[-1/0,1/0],[-1/0,1/0]],e.args=r,e.axis=void 0,e.memo=void 0,e.elapsedTime=e.timeDelta=0,e.direction=[0,0],e.distance=[0,0],e.overflow=[0,0],e._movementBound=[!1,!1],e.velocity=[0,0],e.movement=[0,0],e.delta=[0,0],e.timeStamp=0}start(e){let t=this.state,n=this.config;t._active||(this.reset(),this.computeInitial(),t._active=!0,t.target=e.target,t.currentTarget=e.currentTarget,t.lastOffset=n.from?Uy(n.from,t):t.offset,t.offset=t.lastOffset,t.startTime=t.timeStamp=e.timeStamp)}computeValues(e){let t=this.state;t._values=e,t.values=this.config.transform(e)}computeInitial(){let e=this.state;e._initial=e._values,e.initial=e.values}compute(e){let{state:t,config:n,shared:r}=this;t.args=this.args;let i=0;if(e&&(t.event=e,n.preventDefault&&e.cancelable&&t.event.preventDefault(),t.type=e.type,r.touches=this.ctrl.pointerIds.size||this.ctrl.touchIds.size,r.locked=!!document.pointerLockElement,Object.assign(r,Hy(e)),r.down=r.pressed=r.buttons%2==1||r.touches>0,i=e.timeStamp-t.timeStamp,t.timeStamp=e.timeStamp,t.elapsedTime=t.timeStamp-t.startTime),t._active){let e=t._delta.map(Math.abs);dy.addTo(t._distance,e)}this.axisIntent&&this.axisIntent(e);let[a,o]=t._movement,[s,c]=n.threshold,{_step:l,values:u}=t;if(n.hasCustomTransform?(l[0]===!1&&(l[0]=Math.abs(a)>=s&&u[0]),l[1]===!1&&(l[1]=Math.abs(o)>=c&&u[1])):(l[0]===!1&&(l[0]=Math.abs(a)>=s&&Math.sign(a)*s),l[1]===!1&&(l[1]=Math.abs(o)>=c&&Math.sign(o)*c)),t.intentional=l[0]!==!1||l[1]!==!1,!t.intentional)return;let d=[0,0];if(n.hasCustomTransform){let[e,t]=u;d[0]=l[0]===!1?0:e-l[0],d[1]=l[1]===!1?0:t-l[1]}else d[0]=l[0]===!1?0:a-l[0],d[1]=l[1]===!1?0:o-l[1];this.restrictToAxis&&!t._blocked&&this.restrictToAxis(d);let f=t.offset,p=t._active&&!t._blocked||t.active;p&&(t.first=t._active&&!t.active,t.last=!t._active&&t.active,t.active=r[this.ingKey]=t._active,e&&(t.first&&(`bounds`in n&&(t._bounds=Uy(n.bounds,t)),this.setup&&this.setup()),t.movement=d,this.computeOffset()));let[m,h]=t.offset,[[g,_],[v,y]]=t._bounds;t.overflow=[m<g?-1:m>_?1:0,h<v?-1:h>y?1:0],t._movementBound[0]=t.overflow[0]?t._movementBound[0]===!1?t._movement[0]:t._movementBound[0]:!1,t._movementBound[1]=t.overflow[1]?t._movementBound[1]===!1?t._movement[1]:t._movementBound[1]:!1;let b=t._active&&n.rubberband||[0,0];if(t.offset=my(t._bounds,t.offset,b),t.delta=dy.sub(t.offset,f),this.computeMovement(),p&&(!t.last||i>qy)){t.delta=dy.sub(t.offset,f);let e=t.delta.map(Math.abs);dy.addTo(t.distance,e),t.direction=t.delta.map(Math.sign),t._direction=t._delta.map(Math.sign),!t.first&&i>0&&(t.velocity=[e[0]/i,e[1]/i],t.timeDelta=i)}}emit(){let e=this.state,t=this.shared,n=this.config;if(e._active||this.clean(),(e._blocked||!e.intentional)&&!e._force&&!n.triggerAllEvents)return;let r=this.handler(yy(yy(yy({},t),e),{},{[this.aliasKey]:e.values}));r!==void 0&&(e.memo=r)}clean(){this.eventStore.clean(),this.timeoutStore.clean()}};function Yy([e,t],n){let r=Math.abs(e),i=Math.abs(t);if(r>i&&r>n)return`x`;if(i>r&&i>n)return`y`}var Xy=class extends Jy{constructor(...e){super(...e),_y(this,`aliasKey`,`xy`)}reset(){super.reset(),this.state.axis=void 0}init(){this.state.offset=[0,0],this.state.lastOffset=[0,0]}computeOffset(){this.state.offset=dy.add(this.state.lastOffset,this.state.movement)}computeMovement(){this.state.movement=dy.sub(this.state.offset,this.state.lastOffset)}axisIntent(e){let t=this.state,n=this.config;if(!t.axis&&e){let r=typeof n.axisThreshold==`object`?n.axisThreshold[ky(e)]:n.axisThreshold;t.axis=Yy(t._movement,r)}t._blocked=(n.lockDirection||!!n.axis)&&!t.axis||!!n.axis&&n.axis!==t.axis}restrictToAxis(e){if(this.config.axis||this.config.lockDirection)switch(this.state.axis){case`x`:e[1]=0;break;case`y`:e[0]=0;break}}},Zy=e=>e,Qy=.15,$y={enabled(e=!0){return e},eventOptions(e,t,n){return yy(yy({},n.shared.eventOptions),e)},preventDefault(e=!1){return e},triggerAllEvents(e=!1){return e},rubberband(e=0){switch(e){case!0:return[Qy,Qy];case!1:return[0,0];default:return dy.toVector(e)}},from(e){if(typeof e==`function`)return e;if(e!=null)return dy.toVector(e)},transform(e,t,n){let r=e||n.shared.transform;return this.hasCustomTransform=!!r,r||Zy},threshold(e){return dy.toVector(e,0)}},eb=0,tb=yy(yy({},$y),{},{axis(e,t,{axis:n}){if(this.lockDirection=n===`lock`,!this.lockDirection)return n},axisThreshold(e=eb){return e},bounds(e={}){if(typeof e==`function`)return t=>tb.bounds(e(t));if(`current`in e)return()=>e.current;if(typeof HTMLElement==`function`&&e instanceof HTMLElement)return e;let{left:t=-1/0,right:n=1/0,top:r=-1/0,bottom:i=1/0}=e;return[[t,n],[r,i]]}}),nb={ArrowRight:(e,t=1)=>[e*t,0],ArrowLeft:(e,t=1)=>[-1*e*t,0],ArrowUp:(e,t=1)=>[0,-1*e*t],ArrowDown:(e,t=1)=>[0,e*t]},rb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`dragging`)}reset(){super.reset();let e=this.state;e._pointerId=void 0,e._pointerActive=!1,e._keyboardActive=!1,e._preventScroll=!1,e._delayed=!1,e.swipe=[0,0],e.tap=!1,e.canceled=!1,e.cancel=this.cancel.bind(this)}setup(){let e=this.state;if(e._bounds instanceof HTMLElement){let t=e._bounds.getBoundingClientRect(),n=e.currentTarget.getBoundingClientRect(),r={left:t.left-n.left+e.offset[0],right:t.right-n.right+e.offset[0],top:t.top-n.top+e.offset[1],bottom:t.bottom-n.bottom+e.offset[1]};e._bounds=tb.bounds(r)}}cancel(){let e=this.state;e.canceled||(e.canceled=!0,e._active=!1,setTimeout(()=>{this.compute(),this.emit()},0))}setActive(){this.state._active=this.state._pointerActive||this.state._keyboardActive}clean(){this.pointerClean(),this.state._pointerActive=!1,this.state._keyboardActive=!1,super.clean()}pointerDown(e){let t=this.config,n=this.state;if(e.buttons!=null&&(Array.isArray(t.pointerButtons)?!t.pointerButtons.includes(e.buttons):t.pointerButtons!==-1&&t.pointerButtons!==e.buttons))return;let r=this.ctrl.setEventIds(e);t.pointerCapture&&e.target.setPointerCapture(e.pointerId),!(r&&r.size>1&&n._pointerActive)&&(this.start(e),this.setupPointer(e),n._pointerId=Iy(e),n._pointerActive=!0,this.computeValues(Ly(e)),this.computeInitial(),t.preventScrollAxis&&ky(e)!==`mouse`?(n._active=!1,this.setupScrollPrevention(e)):t.delay>0?(this.setupDelayTrigger(e),t.triggerAllEvents&&(this.compute(e),this.emit())):this.startPointerDrag(e))}startPointerDrag(e){let t=this.state;t._active=!0,t._preventScroll=!0,t._delayed=!1,this.compute(e),this.emit()}pointerMove(e){let t=this.state,n=this.config;if(!t._pointerActive)return;let r=Iy(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;let i=Ly(e);if(document.pointerLockElement===e.target?t._delta=[e.movementX,e.movementY]:(t._delta=dy.sub(i,t._values),this.computeValues(i)),dy.addTo(t._movement,t._delta),this.compute(e),t._delayed&&t.intentional){this.timeoutStore.remove(`dragDelay`),t.active=!1,this.startPointerDrag(e);return}if(n.preventScrollAxis&&!t._preventScroll)if(t.axis)if(t.axis===n.preventScrollAxis||n.preventScrollAxis===`xy`){t._active=!1,this.clean();return}else{this.timeoutStore.remove(`startPointerDrag`),this.startPointerDrag(e);return}else return;this.emit()}pointerUp(e){this.ctrl.setEventIds(e);try{this.config.pointerCapture&&e.target.hasPointerCapture(e.pointerId)&&e.target.releasePointerCapture(e.pointerId)}catch{}let t=this.state,n=this.config;if(!t._active||!t._pointerActive)return;let r=Iy(e);if(t._pointerId!==void 0&&r!==t._pointerId)return;this.state._pointerActive=!1,this.setActive(),this.compute(e);let[i,a]=t._distance;if(t.tap=i<=n.tapsThreshold&&a<=n.tapsThreshold,t.tap&&n.filterTaps)t._force=!0;else{let[e,r]=t._delta,[i,a]=t._movement,[o,s]=n.swipe.velocity,[c,l]=n.swipe.distance,u=n.swipe.duration;if(t.elapsedTime<u){let n=Math.abs(e/t.timeDelta),u=Math.abs(r/t.timeDelta);n>o&&Math.abs(i)>c&&(t.swipe[0]=Math.sign(e)),u>s&&Math.abs(a)>l&&(t.swipe[1]=Math.sign(r))}}this.emit()}pointerClick(e){!this.state.tap&&e.detail>0&&(e.preventDefault(),e.stopPropagation())}setupPointer(e){let t=this.config,n=t.device;t.pointerLock&&e.currentTarget.requestPointerLock(),t.pointerCapture||(this.eventStore.add(this.sharedConfig.window,n,`change`,this.pointerMove.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`end`,this.pointerUp.bind(this)),this.eventStore.add(this.sharedConfig.window,n,`cancel`,this.pointerUp.bind(this)))}pointerClean(){this.config.pointerLock&&document.pointerLockElement===this.state.currentTarget&&document.exitPointerLock()}preventScroll(e){this.state._preventScroll&&e.cancelable&&e.preventDefault()}setupScrollPrevention(e){this.state._preventScroll=!1,ib(e);let t=this.eventStore.add(this.sharedConfig.window,`touch`,`change`,this.preventScroll.bind(this),{passive:!1});this.eventStore.add(this.sharedConfig.window,`touch`,`end`,t),this.eventStore.add(this.sharedConfig.window,`touch`,`cancel`,t),this.timeoutStore.add(`startPointerDrag`,this.startPointerDrag.bind(this),this.config.preventScrollDelay,e)}setupDelayTrigger(e){this.state._delayed=!0,this.timeoutStore.add(`dragDelay`,()=>{this.state._step=[0,0],this.startPointerDrag(e)},this.config.delay)}keyDown(e){let t=nb[e.key];if(t){let n=this.state,r=e.shiftKey?10:e.altKey?.1:1;this.start(e),n._delta=t(this.config.keyboardDisplacement,r),n._keyboardActive=!0,dy.addTo(n._movement,n._delta),this.compute(e),this.emit()}}keyUp(e){e.key in nb&&(this.state._keyboardActive=!1,this.setActive(),this.compute(e),this.emit())}bind(e){let t=this.config.device;e(t,`start`,this.pointerDown.bind(this)),this.config.pointerCapture&&(e(t,`change`,this.pointerMove.bind(this)),e(t,`end`,this.pointerUp.bind(this)),e(t,`cancel`,this.pointerUp.bind(this)),e(`lostPointerCapture`,``,this.pointerUp.bind(this))),this.config.keys&&(e(`key`,`down`,this.keyDown.bind(this)),e(`key`,`up`,this.keyUp.bind(this))),this.config.filterTaps&&e(`click`,``,this.pointerClick.bind(this),{capture:!0,passive:!1})}};function ib(e){`persist`in e&&typeof e.persist==`function`&&e.persist()}var ab=typeof window<`u`&&window.document&&window.document.createElement;function ob(){return ab&&`ontouchstart`in window}function sb(){return ob()||ab&&window.navigator.maxTouchPoints>1}function cb(){return ab&&`onpointerdown`in window}function lb(){return ab&&`exitPointerLock`in window.document}function ub(){try{return`constructor`in GestureEvent}catch{return!1}}var db={isBrowser:ab,gesture:ub(),touch:ob(),touchscreen:sb(),pointer:cb(),pointerLock:lb()},fb=250,pb=180,mb=.5,hb=50,gb=250,_b=10,vb={mouse:0,touch:0,pen:8},yb=yy(yy({},tb),{},{device(e,t,{pointer:{touch:n=!1,lock:r=!1,mouse:i=!1}={}}){return this.pointerLock=r&&db.pointerLock,db.touch&&n?`touch`:this.pointerLock?`mouse`:db.pointer&&!i?`pointer`:db.touch?`touch`:`mouse`},preventScrollAxis(e,t,{preventScroll:n}){if(this.preventScrollDelay=typeof n==`number`?n:n||n===void 0&&e?fb:void 0,!(!db.touchscreen||n===!1))return e||(n===void 0?void 0:`y`)},pointerCapture(e,t,{pointer:{capture:n=!0,buttons:r=1,keys:i=!0}={}}){return this.pointerButtons=r,this.keys=i,!this.pointerLock&&this.device===`pointer`&&n},threshold(e,t,{filterTaps:n=!1,tapsThreshold:r=3,axis:i=void 0}){let a=dy.toVector(e,n?r:i?1:0);return this.filterTaps=n,this.tapsThreshold=r,a},swipe({velocity:e=mb,distance:t=hb,duration:n=gb}={}){return{velocity:this.transform(dy.toVector(e)),distance:this.transform(dy.toVector(t)),duration:n}},delay(e=0){switch(e){case!0:return pb;case!1:return 0;default:return e}},axisThreshold(e){return e?yy(yy({},vb),e):vb},keyboardDisplacement(e=_b){return e}});function bb(e){let[t,n]=e.overflow,[r,i]=e._delta,[a,o]=e._direction;(t<0&&r>0&&a<0||t>0&&r<0&&a>0)&&(e._movement[0]=e._movementBound[0]),(n<0&&i>0&&o<0||n>0&&i<0&&o>0)&&(e._movement[1]=e._movementBound[1])}var xb=30,Sb=100,Cb=class extends Jy{constructor(...e){super(...e),_y(this,`ingKey`,`pinching`),_y(this,`aliasKey`,`da`)}init(){this.state.offset=[1,0],this.state.lastOffset=[1,0],this.state._pointerEvents=new Map}reset(){super.reset();let e=this.state;e._touchIds=[],e.canceled=!1,e.cancel=this.cancel.bind(this),e.turns=0}computeOffset(){let{type:e,movement:t,lastOffset:n}=this.state;e===`wheel`?this.state.offset=dy.add(t,n):this.state.offset=[(1+t[0])*n[0],t[1]+n[1]]}computeMovement(){let{offset:e,lastOffset:t}=this.state;this.state.movement=[e[0]/t[0],e[1]-t[1]]}axisIntent(){let e=this.state,[t,n]=e._movement;if(!e.axis){let r=Math.abs(t)*xb-Math.abs(n);r<0?e.axis=`angle`:r>0&&(e.axis=`scale`)}}restrictToAxis(e){this.config.lockDirection&&(this.state.axis===`scale`?e[1]=0:this.state.axis===`angle`&&(e[0]=0))}cancel(){let e=this.state;e.canceled||setTimeout(()=>{e.canceled=!0,e._active=!1,this.compute(),this.emit()},0)}touchStart(e){this.ctrl.setEventIds(e);let t=this.state,n=this.ctrl.touchIds;if(t._active&&t._touchIds.every(e=>n.has(e))||n.size<2)return;this.start(e),t._touchIds=Array.from(n).slice(0,2);let r=Fy(e,t._touchIds);r&&this.pinchStart(e,r)}pointerStart(e){if(e.buttons!=null&&e.buttons%2!=1)return;this.ctrl.setEventIds(e),e.target.setPointerCapture(e.pointerId);let t=this.state,n=t._pointerEvents,r=this.ctrl.pointerIds;if(t._active&&Array.from(n.keys()).every(e=>r.has(e))||(n.size<2&&n.set(e.pointerId,e),t._pointerEvents.size<2))return;this.start(e);let i=Ny(...Array.from(n.values()));i&&this.pinchStart(e,i)}pinchStart(e,t){let n=this.state;n.origin=t.origin,this.computeValues([t.distance,t.angle]),this.computeInitial(),this.compute(e),this.emit()}touchMove(e){if(!this.state._active)return;let t=Fy(e,this.state._touchIds);t&&this.pinchMove(e,t)}pointerMove(e){let t=this.state._pointerEvents;if(t.has(e.pointerId)&&t.set(e.pointerId,e),!this.state._active)return;let n=Ny(...Array.from(t.values()));n&&this.pinchMove(e,n)}pinchMove(e,t){let n=this.state,r=n._values[1],i=t.angle-r,a=0;Math.abs(i)>270&&(a+=Math.sign(i)),this.computeValues([t.distance,t.angle-360*a]),n.origin=t.origin,n.turns=a,n._movement=[n._values[0]/n._initial[0]-1,n._values[1]-n._initial[1]],this.compute(e),this.emit()}touchEnd(e){this.ctrl.setEventIds(e),this.state._active&&this.state._touchIds.some(e=>!this.ctrl.touchIds.has(e))&&(this.state._active=!1,this.compute(e),this.emit())}pointerEnd(e){let t=this.state;this.ctrl.setEventIds(e);try{e.target.releasePointerCapture(e.pointerId)}catch{}t._pointerEvents.has(e.pointerId)&&t._pointerEvents.delete(e.pointerId),t._active&&t._pointerEvents.size<2&&(t._active=!1,this.compute(e),this.emit())}gestureStart(e){e.cancelable&&e.preventDefault();let t=this.state;t._active||(this.start(e),this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY],this.compute(e),this.emit())}gestureMove(e){if(e.cancelable&&e.preventDefault(),!this.state._active)return;let t=this.state;this.computeValues([e.scale,e.rotation]),t.origin=[e.clientX,e.clientY];let n=t._movement;t._movement=[e.scale-1,e.rotation],t._delta=dy.sub(t._movement,n),this.compute(e),this.emit()}gestureEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}wheel(e){let t=this.config.modifierKey;t&&(Array.isArray(t)?!t.find(t=>e[t]):!e[t])||(this.state._active?this.wheelChange(e):this.wheelStart(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this)))}wheelStart(e){this.start(e),this.wheelChange(e)}wheelChange(e){`uv`in e||e.cancelable&&e.preventDefault();let t=this.state;t._delta=[-By(e)[1]/Sb*t.offset[0],0],dy.addTo(t._movement,t._delta),bb(t),this.state.origin=[e.clientX,e.clientY],this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){let t=this.config.device;t&&(e(t,`start`,this[t+`Start`].bind(this)),e(t,`change`,this[t+`Move`].bind(this)),e(t,`end`,this[t+`End`].bind(this)),e(t,`cancel`,this[t+`End`].bind(this)),e(`lostPointerCapture`,``,this[t+`End`].bind(this))),this.config.pinchOnWheel&&e(`wheel`,``,this.wheel.bind(this),{passive:!1})}},wb=yy(yy({},$y),{},{device(e,t,{shared:n,pointer:{touch:r=!1}={}}){if(n.target&&!db.touch&&db.gesture)return`gesture`;if(db.touch&&r)return`touch`;if(db.touchscreen){if(db.pointer)return`pointer`;if(db.touch)return`touch`}},bounds(e,t,{scaleBounds:n={},angleBounds:r={}}){let i=e=>{let t=Ky(Uy(n,e),{min:-1/0,max:1/0});return[t.min,t.max]},a=e=>{let t=Ky(Uy(r,e),{min:-1/0,max:1/0});return[t.min,t.max]};return typeof n!=`function`&&typeof r!=`function`?[i(),a()]:e=>[i(e),a(e)]},threshold(e,t,n){return this.lockDirection=n.axis===`lock`,dy.toVector(e,this.lockDirection?[.1,3]:0)},modifierKey(e){return e===void 0?`ctrlKey`:e},pinchOnWheel(e=!0){return e}}),Tb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`moving`)}move(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.state._active?this.moveChange(e):this.moveStart(e),this.timeoutStore.add(`moveEnd`,this.moveEnd.bind(this)))}moveStart(e){this.start(e),this.computeValues(Ly(e)),this.compute(e),this.computeInitial(),this.emit()}moveChange(e){if(!this.state._active)return;let t=Ly(e),n=this.state;n._delta=dy.sub(t,n._values),dy.addTo(n._movement,n._delta),this.computeValues(t),this.compute(e),this.emit()}moveEnd(e){this.state._active&&(this.state._active=!1,this.compute(e),this.emit())}bind(e){e(`pointer`,`change`,this.move.bind(this)),e(`pointer`,`leave`,this.moveEnd.bind(this))}},Eb=yy(yy({},tb),{},{mouseOnly:(e=!0)=>e}),Db=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`scrolling`)}scroll(e){this.state._active||this.start(e),this.scrollChange(e),this.timeoutStore.add(`scrollEnd`,this.scrollEnd.bind(this))}scrollChange(e){e.cancelable&&e.preventDefault();let t=this.state,n=Vy(e);t._delta=dy.sub(n,t._values),dy.addTo(t._movement,t._delta),this.computeValues(n),this.compute(e),this.emit()}scrollEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`scroll`,``,this.scroll.bind(this))}},Ob=tb,kb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`wheeling`)}wheel(e){this.state._active||this.start(e),this.wheelChange(e),this.timeoutStore.add(`wheelEnd`,this.wheelEnd.bind(this))}wheelChange(e){let t=this.state;t._delta=By(e),dy.addTo(t._movement,t._delta),bb(t),this.compute(e),this.emit()}wheelEnd(){this.state._active&&(this.state._active=!1,this.compute(),this.emit())}bind(e){e(`wheel`,``,this.wheel.bind(this))}},Ab=tb,jb=class extends Xy{constructor(...e){super(...e),_y(this,`ingKey`,`hovering`)}enter(e){this.config.mouseOnly&&e.pointerType!==`mouse`||(this.start(e),this.computeValues(Ly(e)),this.compute(e),this.emit())}leave(e){if(this.config.mouseOnly&&e.pointerType!==`mouse`)return;let t=this.state;if(!t._active)return;t._active=!1;let n=Ly(e);t._movement=t._delta=dy.sub(n,t._values),this.computeValues(n),this.compute(e),t.delta=t.movement,this.emit()}bind(e){e(`pointer`,`enter`,this.enter.bind(this)),e(`pointer`,`leave`,this.leave.bind(this))}},Mb=yy(yy({},tb),{},{mouseOnly:(e=!0)=>e}),Nb=new Map,Pb=new Map;function Fb(e){Nb.set(e.key,e.engine),Pb.set(e.key,e.resolver)}var Ib={key:`drag`,engine:rb,resolver:yb},Lb={key:`hover`,engine:jb,resolver:Mb},Rb={key:`move`,engine:Tb,resolver:Eb},zb={key:`pinch`,engine:Cb,resolver:wb},Bb={key:`scroll`,engine:Db,resolver:Ob},Vb={key:`wheel`,engine:kb,resolver:Ab};function Hb(e,t){if(e==null)return{};var n={},r=Object.keys(e),i,a;for(a=0;a<r.length;a++)i=r[a],!(t.indexOf(i)>=0)&&(n[i]=e[i]);return n}function Ub(e,t){if(e==null)return{};var n=Hb(e,t),r,i;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(i=0;i<a.length;i++)r=a[i],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(n[r]=e[r])}return n}var Wb={target(e){if(e)return()=>`current`in e?e.current:e},enabled(e=!0){return e},window(e=db.isBrowser?window:void 0){return e},eventOptions({passive:e=!0,capture:t=!1}={}){return{passive:e,capture:t}},transform(e){return e}},Gb=[`target`,`eventOptions`,`window`,`enabled`,`transform`];function Kb(e={},t){let n={};for(let[r,i]of Object.entries(t))switch(typeof i){case`function`:n[r]=i.call(n,e[r],r,e);break;case`object`:n[r]=Kb(e[r],i);break;case`boolean`:i&&(n[r]=e[r]);break}return n}function qb(e,t,n={}){let r=e,{target:i,eventOptions:a,window:o,enabled:s,transform:c}=r,l=Ub(r,Gb);if(n.shared=Kb({target:i,eventOptions:a,window:o,enabled:s,transform:c},Wb),t){let e=Pb.get(t);n[t]=Kb(yy({shared:n.shared},l),e)}else for(let e in l){let t=Pb.get(e);t&&(n[e]=Kb(yy({shared:n.shared},l[e]),t))}return n}var Jb=class{constructor(e,t){_y(this,`_listeners`,new Set),this._ctrl=e,this._gestureKey=t}add(e,t,n,r,i){let a=this._listeners,o=Dy(t,n),s=yy(yy({},this._gestureKey?this._ctrl.config[this._gestureKey].eventOptions:{}),i);e.addEventListener(o,r,s);let c=()=>{e.removeEventListener(o,r,s),a.delete(c)};return a.add(c),c}clean(){this._listeners.forEach(e=>e()),this._listeners.clear()}},Yb=class{constructor(){_y(this,`_timeouts`,new Map)}add(e,t,n=140,...r){this.remove(e),this._timeouts.set(e,window.setTimeout(t,n,...r))}remove(e){let t=this._timeouts.get(e);t&&window.clearTimeout(t)}clean(){this._timeouts.forEach(e=>void window.clearTimeout(e)),this._timeouts.clear()}},Xb=class{constructor(e){_y(this,`gestures`,new Set),_y(this,`_targetEventStore`,new Jb(this)),_y(this,`gestureEventStores`,{}),_y(this,`gestureTimeoutStores`,{}),_y(this,`handlers`,{}),_y(this,`config`,{}),_y(this,`pointerIds`,new Set),_y(this,`touchIds`,new Set),_y(this,`state`,{shared:{shiftKey:!1,metaKey:!1,ctrlKey:!1,altKey:!1}}),Qb(this,e)}setEventIds(e){if(Oy(e))return this.touchIds=new Set(Py(e)),this.touchIds;if(`pointerId`in e)return e.type===`pointerup`||e.type===`pointercancel`?this.pointerIds.delete(e.pointerId):e.type===`pointerdown`&&this.pointerIds.add(e.pointerId),this.pointerIds}applyHandlers(e,t){this.handlers=e,this.nativeHandlers=t}applyConfig(e,t){this.config=qb(e,t,this.config)}clean(){this._targetEventStore.clean();for(let e of this.gestures)this.gestureEventStores[e].clean(),this.gestureTimeoutStores[e].clean()}effect(){return this.config.shared.target&&this.bind(),()=>this._targetEventStore.clean()}bind(...e){let t=this.config.shared,n={},r;if(!(t.target&&(r=t.target(),!r))){if(t.enabled){for(let t of this.gestures){let i=this.config[t],a=$b(n,i.eventOptions,!!r);i.enabled&&new(Nb.get(t))(this,e,t).bind(a)}let i=$b(n,t.eventOptions,!!r);for(let t in this.nativeHandlers)i(t,``,n=>this.nativeHandlers[t](yy(yy({},this.state.shared),{},{event:n,args:e})),void 0,!0)}for(let e in n)n[e]=Gy(...n[e]);if(!r)return n;for(let e in n){let{device:t,capture:i,passive:a}=Ey(e);this._targetEventStore.add(r,t,``,n[e],{capture:i,passive:a})}}}};function Zb(e,t){e.gestures.add(t),e.gestureEventStores[t]=new Jb(e,t),e.gestureTimeoutStores[t]=new Yb}function Qb(e,t){t.drag&&Zb(e,`drag`),t.wheel&&Zb(e,`wheel`),t.scroll&&Zb(e,`scroll`),t.move&&Zb(e,`move`),t.pinch&&Zb(e,`pinch`),t.hover&&Zb(e,`hover`)}var $b=(e,t,n)=>(r,i,a,o={},s=!1)=>{let c=o.capture??t.capture,l=o.passive??t.passive,u=s?r:wy(r,i,c);n&&l&&(u+=`Passive`),e[u]=e[u]||[],e[u].push(a)},ex=/^on(Drag|Wheel|Scroll|Move|Pinch|Hover)/;function tx(e){let t={},n={},r=new Set;for(let i in e)ex.test(i)?(r.add(RegExp.lastMatch),n[i]=e[i]):t[i]=e[i];return[n,t,r]}function nx(e,t,n,r,i,a){if(!e.has(n)||!Nb.has(r))return;let o=n+`Start`,s=n+`End`;i[r]=e=>{let r;return e.first&&o in t&&t[o](e),n in t&&(r=t[n](e)),e.last&&s in t&&t[s](e),r},a[r]=a[r]||{}}function rx(e,t){let[n,r,i]=tx(e),a={};return nx(i,n,`onDrag`,`drag`,a,t),nx(i,n,`onWheel`,`wheel`,a,t),nx(i,n,`onScroll`,`scroll`,a,t),nx(i,n,`onPinch`,`pinch`,a,t),nx(i,n,`onMove`,`move`,a,t),nx(i,n,`onHover`,`hover`,a,t),{handlers:a,config:t,nativeHandlers:r}}function ix(e,t={},n,r){let i=q.useMemo(()=>new Xb(e),[]);if(i.applyHandlers(e,r),i.applyConfig(t,n),q.useEffect(i.effect.bind(i)),q.useEffect(()=>i.clean.bind(i),[]),t.target===void 0)return i.bind.bind(i)}function ax(e,t){return Fb(Ib),ix({drag:e},t||{},`drag`)}function ox(e){return e.forEach(Fb),function(e,t){let{handlers:n,nativeHandlers:r,config:i}=rx(e,t||{});return ix(n,i,void 0,r)}}function sx(e,t){return ox([Ib,zb,Bb,Vb,Rb,Lb])(e,t||{})}var cx={filterTaps:!0,pointer:{capture:!0}};function lx(e,t,n){let r=n>0?n:1;return{dx:(e[0]-t[0])/r,dy:(e[1]-t[1])/r}}function ux(e){return ax(({xy:t,initial:n,first:r,last:i,memo:a})=>{let o=r?{...e.getRect()}:a;r&&e.onGestureActive(!0);let{dx:s,dy:c}=lx(t,n,e.getScale()),l=Wd({...o,x:o.x+s,y:o.y+c},e.getBounds());return e.onChange(l,i),i&&e.onGestureActive(!1),o},{...cx,enabled:!e.disabled})}var dx=10,fx=1,px={ArrowLeft:[-1,0],ArrowRight:[1,0],ArrowUp:[0,-1],ArrowDown:[0,1]};function mx(e){return(0,q.useCallback)(t=>{if(t.key===`Escape`){t.stopPropagation(),e.onClose();return}if(t.altKey&&t.key===`Enter`){t.preventDefault(),e.onToggleMaximize();return}let n=px[t.key];if(!n||!e.movable)return;t.preventDefault();let r=t.shiftKey?fx:dx;e.onMove(qd(e.getRect(),n[0]*r,n[1]*r,e.getBounds()))},[e])}function hx(e){return ax(({args:t,xy:n,initial:r,first:i,last:a,memo:o})=>{let s=t[0],c=i?{...e.getRect()}:o;i&&e.onGestureActive(!0);let{dx:l,dy:u}=lx(n,r,e.getScale()),d=Wd(Gd(c,s,l,u),e.getBounds());return e.onChange(d,a),a&&e.onGestureActive(!1),c},{...cx,enabled:!e.disabled})}var gx={edge:6,corner:12},_x={edge:12,corner:20},vx={n:`cursor-n-resize`,s:`cursor-s-resize`,e:`cursor-e-resize`,w:`cursor-w-resize`,ne:`cursor-ne-resize`,nw:`cursor-nw-resize`,se:`cursor-se-resize`,sw:`cursor-sw-resize`};function yx(e,t){let n=e.length===2,r={position:`absolute`,touchAction:`none`,zIndex:1};return e.includes(`n`)&&(r.top=-t.edge/2),e.includes(`s`)&&(r.bottom=-t.edge/2),e.includes(`w`)&&(r.left=-t.edge/2),e.includes(`e`)&&(r.right=-t.edge/2),n?(r.width=t.corner,r.height=t.corner,r):(e===`n`||e===`s`?(r.left=t.corner,r.right=t.corner,r.height=t.edge):(r.top=t.corner,r.bottom=t.corner,r.width=t.edge),r)}function bx({bind:e}){let t=_o(`(pointer: coarse)`)?_x:gx;return(0,J.jsx)(J.Fragment,{children:Rd.map(n=>(0,J.jsx)(`div`,{...e(n),"data-resize-handle":n,"aria-hidden":!0,className:vx[n],style:yx(n,t)},n))})}function xx(e,t,n){e&&(e.style.transform=`translate3d(${Math.round(t.x)}px, ${Math.round(t.y)}px, 0)`,e.style.width=`${Math.round(t.w)}px`,e.style.height=n?`36px`:`${Math.round(t.h)}px`)}function Sx({win:e,bounds:t,title:n,focused:r,getScale:i,onGestureActive:a,chrome:o,children:s}){let c=(0,q.useRef)(null),[l,u]=(0,q.useState)(!1),d=e.state===`maximized`,f=e.state===`minimized`,p=d?{x:0,y:0,w:t.w,h:t.h}:e.rect,m=(0,q.useRef)(p);m.current=p;let h=(0,q.useRef)(t);h.current=t,(0,q.useLayoutEffect)(()=>{xx(c.current,m.current,f)},[p.x,p.y,p.w,p.h,f]);let g=(0,q.useCallback)(e=>{u(e),a(e)},[a]),_=(0,q.useCallback)((t,n)=>{xx(c.current,t,cf.getState().windows[e.id]?.state===`minimized`),n&&cf.getState().move(e.id,{x:t.x,y:t.y})},[e.id]),v=(0,q.useCallback)((t,n)=>{xx(c.current,t,!1),n&&cf.getState().resize(e.id,t)},[e.id]),y={getRect:()=>m.current,getBounds:()=>h.current,getScale:i,onGestureActive:g},b=ux({...y,onChange:_,disabled:d}),x=hx({...y,onChange:v,disabled:d||f}),S=(0,q.useCallback)(()=>cf.getState().close(e.id),[e.id]),C=(0,q.useCallback)(()=>{cf.getState().setState(e.id,d?`normal`:`maximized`)},[e.id,d]),w=(0,q.useCallback)(()=>{cf.getState().setState(e.id,f?`normal`:`minimized`)},[e.id,f]),T=mx({getRect:()=>m.current,getBounds:()=>h.current,onMove:t=>cf.getState().move(e.id,{x:t.x,y:t.y}),onToggleMaximize:C,onClose:S,movable:!d}),E=o??ly;return(0,J.jsxs)(`div`,{ref:c,role:`group`,"aria-roledescription":`window`,"aria-label":n,onPointerDownCapture:()=>cf.getState().focus(e.id),style:{zIndex:Ud(e.rank)},className:H(`absolute left-0 top-0 flex flex-col pointer-events-auto`,`rounded-[8px] border border-border bg-panel overflow-visible`,r?`shadow-2xl shadow-black/40`:`shadow-lg shadow-black/20`,l?`transition-none`:`transition-[transform,width,height] duration-150 motion-reduce:transition-none`),children:[(0,J.jsx)(E,{id:e.id,kind:e.kind,title:n,state:e.state,focused:r,titlebarProps:{...b(),onKeyDown:T,tabIndex:0,role:`toolbar`,"aria-label":`${n} title bar`,style:{touchAction:`none`,userSelect:`none`}},onMinimize:w,onToggleMaximize:C,onClose:S}),(0,J.jsx)(`div`,{className:H(`relative flex-1 min-h-0 overflow-hidden rounded-b-[8px] bg-panel`,f&&`hidden`),children:s}),!d&&!f&&(0,J.jsx)(bx,{bind:e=>x(e)})]})}function Cx(e){let t=`mac-folder-${(0,q.useId)()}`;return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`defs`,{children:(0,J.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,J.jsx)(`stop`,{offset:`0`,stopColor:`#7FC1FF`}),(0,J.jsx)(`stop`,{offset:`1`,stopColor:`#3E92E5`})]})}),(0,J.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v7.5a2 2 0 0 1-2 2h-15a2 2 0 0 1-2-2V8Z`,fill:`url(#${t})`}),(0,J.jsx)(`path`,{d:`M2.5 10.5h19V9.8H4.7A2 2 0 0 0 2.5 10.5Z`,fill:`#FFFFFF`,fillOpacity:`.3`})]})}function wx(e){let t=`mac-folder-open-${(0,q.useId)()}`;return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`defs`,{children:(0,J.jsxs)(`linearGradient`,{id:t,x1:`0`,y1:`0`,x2:`0`,y2:`1`,children:[(0,J.jsx)(`stop`,{offset:`0`,stopColor:`#8FCBFF`}),(0,J.jsx)(`stop`,{offset:`1`,stopColor:`#2F82D9`})]})}),(0,J.jsx)(`path`,{d:`M2.5 8a2 2 0 0 1 2-2h5.2l1.7 2H19.5a2 2 0 0 1 2 2v.3H5.9a2 2 0 0 0-1.94 1.51L2.5 17.9V8Z`,fill:`#7FC1FF`}),(0,J.jsx)(`path`,{d:`M2.13 18.36 3.98 11.1A2 2 0 0 1 5.92 9.6H21l-2.16 8a2 2 0 0 1-1.93 1.48H4.06a2 2 0 0 1-1.93-2.52Z`,fill:`url(#${t})`})]})}var Tx=[{color:`#FF5F57`,label:`Close window`,Icon:tt},{color:`#FEBC2E`,label:`Minimize window`,Icon:yr},{color:`#28C840`,label:`Maximize window`,Icon:et}];function Ex({title:e,focused:t,titlebarProps:n,onMinimize:r,onToggleMaximize:i,onClose:a}){let{className:o,style:s,...c}=n,l=[a,r,i];return(0,J.jsxs)(`div`,{...c,"data-skin":`macos`,style:{height:36,fontFamily:`var(--x-font)`,...s},className:H(`group/titlebar relative flex items-center shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,o),children:[(0,J.jsx)(`div`,{className:`flex items-center gap-2 pl-3`,children:Tx.map(({color:e,label:n,Icon:r},i)=>(0,J.jsx)(`button`,{type:`button`,"aria-label":n,onClick:l[i],className:`grid size-3 place-items-center rounded-full`,style:{backgroundColor:t?e:`#8E8E93`},children:(0,J.jsx)(r,{className:`size-2 text-black/60 can-hover:opacity-0 can-hover:group-hover/titlebar:opacity-100`,strokeWidth:3})},n))}),(0,J.jsx)(`span`,{className:H(`pointer-events-none absolute inset-x-0 truncate text-center text-[13px]`,t?`text-text`:`text-text-2`),children:e})]})}var Dx={id:`macos`,vocab:{home:`Home`,pinned:`Favorites`,known:`Locations`,drives:`Devices`},FolderIcon:Cx,FolderOpenIcon:wx,chrome:Ex};function Ox(e){return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-10Z`,fill:`#FFC93E`}),(0,J.jsx)(`path`,{d:`M3 9.5h18v8A1.5 1.5 0 0 1 19.5 19h-15A1.5 1.5 0 0 1 3 17.5v-8Z`,fill:`#FFCE49`}),(0,J.jsx)(`path`,{d:`M4 9.2h16`,stroke:`#FFFFFF`,strokeOpacity:`.35`,strokeWidth:`1`})]})}function kx(e){return(0,J.jsxs)(`svg`,{viewBox:`0 0 24 24`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,J.jsx)(`path`,{d:`M3 7.5a1.5 1.5 0 0 1 1.5-1.5H10l1.6 2H19.5A1.5 1.5 0 0 1 21 9.5v.5H5.2a1.5 1.5 0 0 0-1.45 1.13L2 18.2V7.5Z`,fill:`#FFC93E`}),(0,J.jsx)(`path`,{d:`M2.62 18.66 4.3 12.1A1.5 1.5 0 0 1 5.75 11H21l-1.86 6.63A1.5 1.5 0 0 1 17.7 18.7H4.06a1.5 1.5 0 0 1-1.44-1.9Z`,fill:`#FFB92E`})]})}var Ax=`grid place-items-center w-[46px] self-stretch text-text-2 can-hover:hover:bg-surface-elevated can-hover:hover:text-text transition-colors`,jx=H(Ax,`can-hover:hover:!bg-[#c42b1c] can-hover:hover:!text-white`);function Mx({title:e,state:t,focused:n,titlebarProps:r,onMinimize:i,onToggleMaximize:a,onClose:o}){let{className:s,style:c,...l}=r;return(0,J.jsxs)(`div`,{...l,"data-skin":`windows`,style:{height:36,fontFamily:`var(--x-font)`,...c},className:H(`flex items-stretch shrink-0 rounded-t-[var(--x-radius)] overflow-hidden`,`bg-[var(--x-titlebar-bg)] border-b border-border`,`outline-none focus-visible:ring-1 focus-visible:ring-primary focus-visible:ring-inset`,s),children:[(0,J.jsxs)(`div`,{className:`flex flex-1 min-w-0 items-center gap-2 px-2.5 cursor-default`,children:[(0,J.jsx)(Ox,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:H(`truncate text-[12px]`,n?`text-text`:`text-text-2`),children:e})]}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Minimize window`,className:Ax,onClick:i,children:(0,J.jsx)(yr,{className:`size-3.5`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":t===`maximized`?`Restore window`:`Maximize window`,className:Ax,onClick:a,children:t===`maximized`?(0,J.jsx)(Xe,{className:`size-3`}):(0,J.jsx)(ti,{className:`size-3`})}),(0,J.jsx)(`button`,{type:`button`,"aria-label":`Close window`,className:jx,onClick:o,children:(0,J.jsx)(tt,{className:`size-3.5`})})]})}var Nx={id:`windows`,vocab:{home:`Home`,pinned:`Quick access`,known:`Folders`,drives:`Drives`},FolderIcon:Ox,FolderOpenIcon:kx,chrome:Mx};function Px(){let e=V(e=>e.explorerSkin),{host:t}=hf();return e===`windows`?Nx:e===`macos`?Dx:t?.platform===`win32`?Nx:Dx}function Fx(e){let t=Px().chrome;return(0,J.jsx)(t,{...e})}var Ix={explorer:(0,q.lazy)(()=>B(()=>import(`./explorer-window-content-B3krk4G1.js`),__vite__mapDeps([71,1,2,3,4,72,7,8,73,26,23,20,24,27,9,34,35,37,10,14,55,11,39,33,13,16]))),"team-member":(0,q.lazy)(()=>B(()=>import(`./team-member-window-content-Cxh-HF2V.js`),__vite__mapDeps([74,1,2,3,4,7,25,8,26,22,24,27,28,29,30,31,10,32,33,14,13])))},Lx={explorer:Fx};function Rx(e){return Lx[e]}function zx(e,t){let n=t?.title;if(typeof n==`string`&&n.trim())return n;if(e===`team-member`){let e=t?.memberName;return typeof e==`string`&&e?`Session — ${e}`:`Team member`}let r=t?.path;if(e===`explorer`&&typeof r==`string`&&r){let e=r.split(/[\\/]/).filter(Boolean);return e[e.length-1]??r}return`Explorer`}function Bx(){return _t()?null:(0,J.jsx)(Vx,{})}function Vx(){let e=(0,q.useRef)(null),t=cf(e=>e.windows),n=cf(e=>e.bounds),[r,i]=(0,q.useState)(!1);(0,q.useLayoutEffect)(()=>{let t=e.current;if(!t)return;let n=()=>{let e=t.getBoundingClientRect(),n=t.offsetWidth>0?e.width/t.offsetWidth:1;return{w:Math.round(e.width/n),h:Math.round(e.height/n)}},r=cf.getState();r.setBounds(n()),r.restoreAll(n());let i=new ResizeObserver(()=>cf.getState().setBounds(n()));return i.observe(t),()=>i.disconnect()},[]);let a=(0,q.useCallback)(()=>{let t=e.current;return!t||t.offsetWidth===0?1:t.getBoundingClientRect().width/t.offsetWidth},[]),o=lf(t),s=o[o.length-1]?.id;return(0,J.jsxs)(`div`,{ref:e,className:`absolute inset-0 overflow-hidden pointer-events-none`,children:[o.map(e=>{let t=Ix[e.kind];return(0,J.jsx)(Sx,{win:e,bounds:n,title:zx(e.kind,e.payload),focused:e.id===s,getScale:a,onGestureActive:i,chrome:Rx(e.kind),children:(0,J.jsx)(q.Suspense,{fallback:(0,J.jsx)(`div`,{className:`p-3 text-xs text-text-2`,children:`Loading…`}),children:(0,J.jsx)(t,{id:e.id,payload:e.payload})})},e.id)}),r&&(0,J.jsx)(`div`,{className:`absolute inset-0 pointer-events-auto`,style:{zIndex:38}})]})}function Hx(e,t,n,r,i){let a=r.trim().toLowerCase(),o=e=>!a||e.title.toLowerCase().includes(a)||e.type.toLowerCase().includes(a);if(i?.sortMode===`recent`){let t=i.recency,n=e=>t?.get(e.id)??2**53-1,r=e.filter(o).sort((e,t)=>n(e)-n(t));return{groups:r.length?[{panelId:`__recent__`,label:``,tabs:r}]:[],total:r.length}}let s=new Map;for(let r of e){if(!o(r))continue;let e=t[r.id]??n[0]??`__unknown__`;(s.get(e)??s.set(e,[]).get(e)).push(r)}let c=[];return(n.length>0?n:[...s.keys()]).forEach((e,t)=>{let n=s.get(e);!n||n.length===0||c.push({panelId:e,label:`Panel ${t+1}`,tabs:n})}),{groups:c,total:c.reduce((e,t)=>e+t.tabs.length,0)}}var Ux=`ppm:tab-sort-mode`;function Wx(){try{return localStorage.getItem(Ux)===`recent`?`recent`:`default`}catch{return`default`}}function Gx({open:e,onClose:t,onOpenPalette:n,tabs:r,tabPanelMap:i,panelOrder:a,activeTabId:o,projectColor:s,onTabLongPress:c,recency:l,sessionTagMap:u}){let[d,f]=(0,q.useState)(``),p=Do(e=>e.notifications),m=nc(e=>e.sessions),[h,g]=(0,q.useState)(Wx),_=(0,q.useCallback)(e=>{g(e);try{localStorage.setItem(Ux,e)}catch{}},[]),{groups:v,total:y}=Hx(r,i,a,d,{sortMode:h,recency:l}),b=(0,q.useRef)(null),x=(0,q.useCallback)(e=>{c&&(b.current=setTimeout(()=>c(e),400))},[c]),S=(0,q.useCallback)(()=>{b.current&&=(clearTimeout(b.current),null)},[]);function C(e){if(U.getState().setActiveTab(e.id,i[e.id]),e.type===`chat`){let t=e.metadata?.sessionId;t&&Do.getState().clearForSession(t)}t()}function w(e,t){t.stopPropagation(),U.getState().closeTab(e.id,i[e.id])}function T(){t(),n()}return(0,J.jsxs)(Tt,{open:e,onClose:t,className:`max-h-[72vh] flex flex-col`,children:[(0,J.jsxs)(`div`,{className:`shrink-0 flex items-center gap-2 pl-4 pr-3 pt-1 pb-2.5`,children:[(0,J.jsx)(`span`,{className:`text-[13px] font-semibold text-text-primary`,children:`Open Tabs`}),(0,J.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary`,children:r.length}),(0,J.jsx)(`div`,{className:`flex-1`}),(0,J.jsx)(`div`,{className:`flex items-center gap-0.5 p-0.5 rounded-lg bg-background border border-border`,children:[[`default`,`Default`],[`recent`,`Recent`]].map(([e,t])=>(0,J.jsx)(`button`,{onClick:()=>_(e),"aria-pressed":h===e,className:H(`h-7 px-2.5 rounded-md text-[11px] font-medium transition-colors select-none`,h===e?`bg-primary/10 text-primary`:`text-text-secondary active:bg-surface-elevated`),children:t},e))}),(0,J.jsx)(`button`,{onClick:T,title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-8 rounded-full border border-dashed border-border text-text-subtle active:bg-surface-elevated`,children:(0,J.jsx)(et,{className:`size-4`})})]}),(0,J.jsx)(`div`,{className:`shrink-0 px-3 pb-2`,children:(0,J.jsxs)(`div`,{className:`flex items-center gap-2 h-10 px-3 rounded-xl bg-background border border-border`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{value:d,onChange:e=>f(e.target.value),placeholder:`Filter tabs...`,className:`flex-1 bg-transparent outline-none text-text-primary placeholder:text-text-subtle`,style:{fontSize:16}})]})}),(0,J.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto overscroll-contain px-2 pb-2`,children:y===0?(0,J.jsx)(`p`,{className:`text-center text-[13px] text-text-subtle py-6`,children:`No tabs match`}):v.map(e=>(0,J.jsxs)(`div`,{className:`mb-1`,children:[e.label&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 px-2 pt-2 pb-1`,children:[(0,J.jsx)(Je,{className:`size-3 text-text-subtle`}),(0,J.jsx)(`span`,{className:`text-[11px] font-semibold uppercase tracking-[0.05em] text-text-subtle`,children:e.label}),(0,J.jsx)(`span`,{className:`text-[10px] font-mono text-text-subtle`,children:e.tabs.length})]}),e.tabs.map(e=>{let t=Zc(e.type),n=e.id===o,r=e.type===`chat`?e.metadata?.sessionId:void 0,i=r?u[r]?.color:void 0,a=r?p.get(r):void 0,c=a&&a.count>0?a.type:null,l=!!a?.manual,d=r?m.has(r):!1,f=i??(e.projectId&&s?s:void 0);return(0,J.jsxs)(`button`,{onClick:()=>C(e),onTouchStart:()=>x(e.id),onTouchEnd:S,onTouchMove:S,onContextMenu:e=>e.preventDefault(),className:H(`relative flex items-center gap-2.5 w-full h-11 rounded-lg pl-3.5 pr-2 transition-colors`,n?`bg-primary/10`:`active:bg-surface-elevated`),children:[(0,J.jsx)(`span`,{"aria-hidden":!0,className:`absolute left-0 top-2 bottom-2 w-[3px] rounded-r-sm`,style:{backgroundColor:f??`transparent`}}),(0,J.jsxs)(`span`,{className:H(`relative shrink-0`,d&&`text-warning`),children:[(0,J.jsx)(t,{className:H(`size-4`,d?void 0:n?`text-primary`:`text-text-secondary`)}),d?(0,J.jsxs)(`span`,{"aria-hidden":!0,className:`absolute inset-0 flex items-center justify-center gap-[1.5px]`,children:[(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.15s`}}),(0,J.jsx)(`span`,{className:`tab-typing-dot size-[2px] rounded-full bg-current`,style:{animationDelay:`0.3s`}})]}):c&&(!n||l)?(0,J.jsx)(`span`,{className:H(`absolute -top-1 -right-1 size-2 rounded-full`,wo(c))}):null]}),(0,J.jsx)(`span`,{className:H(`flex-1 text-left text-sm font-medium truncate`,n?`text-primary`:`text-text-primary`),children:e.title}),n&&(0,J.jsx)(`span`,{className:`size-1.5 rounded-full bg-primary shrink-0`}),e.closable&&(0,J.jsx)(`span`,{role:`button`,tabIndex:0,onClick:t=>w(e,t),className:`flex items-center justify-center size-8 rounded-lg text-text-subtle active:bg-surface-elevated shrink-0`,children:(0,J.jsx)(tt,{className:`size-4`})})]},e.id)})]},e.panelId))})]})}function Kx({onMenuPress:e,onProjectsPress:t}){let n=U(e=>e.focusedPanelId),r=U(e=>e.panels),i=U(e=>e.grid),a=U(e=>e.dock),o=U(e=>e.dockExpanded),s=wt(!0)?.keyboardOpen??!1,c=_t(),l=U(e=>e.currentProject),{tabs:u,tabPanelMap:d}=(0,q.useMemo)(()=>{let e=i.flat(),t=[],n={};for(let i of e){let e=r[i];if(e)for(let r of e.tabs)r.projectId&&l&&r.projectId!==l||(t.push(r),n[r.id]=i)}return{tabs:t,tabPanelMap:n}},[r,i,l]),f=(0,q.useMemo)(()=>{let e=e=>typeof e.metadata?.lastActiveAt==`number`?e.metadata.lastActiveAt:-1,t=new Map;return[...u].filter(t=>e(t)>=0).sort((t,n)=>e(n)-e(t)).forEach((e,n)=>t.set(e.id,n)),t},[u]),p=i.flat(),m=p.includes(n)?n:p[0],h=(m?r[m]?.activeTabId:null)??null,g=Do(e=>e.notifications),_=fs(e=>e.selection),[v,y]=(0,q.useState)({}),[b,x]=(0,q.useState)(null),[S,C]=(0,q.useState)(!1),[w,T]=(0,q.useState)(null),[E,D]=(0,q.useState)(``),O=u.find(e=>e.id===h)??null,k=r[ut],A=ry(k,l),j=b?u.find(e=>e.id===b):null,M=r[b?d[b]??n:n]?.tabs??[],ee=b?M.findIndex(e=>e.id===b):-1,N=j?.type===`chat`?j.metadata?.sessionId:void 0,P=N?(g.get(N)?.count??0)>0:!1,te=j?.metadata?.filePath,ne=j?.metadata?.projectName,re=_!=null&&!!ne&&_.projectName===ne&&_.filePath!==te;function ie(e){x(null),T(e.id),D(e.title)}async function ae(){let e=u.find(e=>e.id===w),t=e?.metadata?.sessionId,n=E.trim();if(!e||!t||!n||!l){T(null);return}try{await R.patch(`${L(l)}/chat/sessions/${t}`,{title:n}),U.getState().updateTab(e.id,{title:n})}catch{}T(null)}function oe(e){let t=d[e]??n,r=U.getState().panels[t]?.tabs??[];for(let n of r)n.id!==e&&n.closable&&U.getState().closeTab(n.id,t);x(null)}function se(e){let t=d[e]??n,r=U.getState().panels[t]?.tabs??[],i=r.findIndex(t=>t.id===e);for(let e=i+1;e<r.length;e++)r[e].closable&&U.getState().closeTab(r[e].id,t);x(null)}function ce(e){let t=e.metadata?.filePath,n=e.metadata?.projectName;if(!t||!n)return;let r=e.metadata?.unsavedContent;fs.getState().setSelection({filePath:t,projectName:n,dirtyContent:r,label:st(t)}),x(null)}async function le(e){let t=e.metadata?.filePath,n=e.metadata?.projectName,r=fs.getState().selection;if(!r||!t||!n)return;let i=e.metadata?.unsavedContent;try{await ms({path:r.filePath,dirtyContent:r.dirtyContent},{path:t,dirtyContent:i},n),fs.getState().clearSelection()}catch(e){z.error(e instanceof Error?e.message:`Compare failed`)}x(null)}function ue(e){let t=e.metadata?.sessionId,n=e.metadata?.projectName;t&&n&&Do.getState().markUnread(t,n,e.title),x(null)}let[de,fe]=(0,q.useState)(null);function pe(e,t){let n=e.metadata?.filePath,r=e.metadata?.projectName;switch(t){case`copy-path`:n&&bc(n);break;case`copy-full-path`:if(n){let e=r?W.getState().projects.find(e=>e.name===r):null;bc(e?`${e.path}/${n}`:n)}break;case`download`:n&&r&&_c(r,n);break;case`rename`:case`delete`:n&&fe({action:t,tabId:e.id,node:{name:e.title,path:n,type:`file`}});break}x(null)}let{activeProject:me}=W.getState(),{activeProject:he,projects:ge,customOrder:_e}=W(Ol(e=>({activeProject:e.activeProject,projects:e.projects,customOrder:e.customOrder}))),{projectTags:ve,loadTags:ye}=bo(he?.name),be=(0,q.useCallback)(async(e,t)=>{if(he?.name){try{if(t!==null){await R.patch(`${L(he.name)}/chat/sessions/${e}/tag`,{tagId:t});let n=ve.find(e=>e.id===t);n&&y(t=>({...t,[e]:{id:n.id,name:n.name,color:n.color}}))}else await R.del(`${L(he.name)}/chat/sessions/${e}/tag`),y(t=>{let n={...t};return delete n[e],n});ye()}catch{}x(null)}},[he?.name,ve,ye]),xe=u.filter(e=>e.type===`chat`&&e.metadata?.sessionId).map(e=>e.metadata.sessionId);(0,q.useEffect)(()=>{!he?.name||xe.length===0||R.get(`${L(he.name)}/chat/sessions?limit=50`).then(e=>{let t={};for(let n of e.sessions)n.tag&&(t[n.id]=n.tag);y(t)}).catch(()=>{})},[he?.name,xe.join(`,`)]);let Se=mt(ge,_e??null),Ce=Se.map(e=>e.name),we=Se.findIndex(e=>e.name===he?.name),Te=he?S_(he.color,we>=0?we:0):`#4f86c6`,Ee=O?Zc(O.type):null;return(0,J.jsxs)(`nav`,{className:`fixed bottom-0 left-0 right-0 md:hidden bg-background border-t border-border z-40 select-none`,children:[(0,J.jsxs)(`div`,{className:`flex items-center h-12`,children:[(0,J.jsxs)(`div`,{className:`flex items-center shrink-0 border-r border-border`,children:[(0,J.jsx)(`button`,{onClick:e,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,J.jsx)(hr,{className:`size-5`})}),(0,J.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,J.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,title:`Switch project`,children:he?(0,J.jsx)(w_,{name:he.name,color:Te,image:he.image,size:28,allNames:Ce}):(0,J.jsx)(sr,{className:`size-5`})}),(0,J.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,J.jsxs)(`button`,{onClick:()=>U.getState().toggleDock(),title:a.visible?`Hide panel`:`Show panel`,"aria-label":a.visible?`Hide panel`:`Show panel`,className:H(`relative flex items-center justify-center size-12 shrink-0 transition-colors`,a.visible?`text-primary bg-primary/10`:`text-text-secondary`),children:[(0,J.jsx)(ai,{className:`size-5`}),A>0&&(0,J.jsx)(`span`,{"aria-hidden":!0,className:`absolute top-1.5 right-1.5 size-[7px] rounded-full ring-[1.5px] ring-background`,style:{backgroundColor:`var(--color-success)`}})]}),(0,J.jsx)(`div`,{className:`w-px self-stretch bg-border shrink-0`}),(0,J.jsx)(`button`,{onClick:()=>ec(),title:`New tab`,"aria-label":`New tab`,className:`flex items-center justify-center size-12 shrink-0 text-text-secondary`,children:(0,J.jsx)(et,{className:`size-5`})})]}),O&&Ee?(0,J.jsxs)(`button`,{onClick:()=>C(!0),className:`flex-1 min-w-0 flex items-center gap-2 h-12 px-3 border-t-2 border-primary bg-surface`,children:[(0,J.jsx)(Ee,{className:`size-4 text-primary shrink-0`}),(0,J.jsx)(`span`,{className:`flex-1 min-w-0 truncate text-left text-xs font-medium text-primary`,children:O.title}),(0,J.jsx)(`span`,{className:`px-1.5 h-[18px] inline-flex items-center rounded-md border border-border bg-surface-elevated text-[10px] font-mono text-text-secondary shrink-0`,children:u.length}),(0,J.jsx)(cn,{className:`size-3.5 text-text-subtle shrink-0`})]}):(0,J.jsxs)(`button`,{onClick:()=>ec(),className:`flex-1 flex items-center gap-1.5 h-12 px-3 text-text-secondary text-xs`,children:[(0,J.jsx)(et,{className:`size-4`}),` New Tab`]})]}),(0,J.jsx)(Gx,{open:S,onClose:()=>C(!1),onOpenPalette:()=>ec(),tabs:u,tabPanelMap:d,panelOrder:i.flat(),activeTabId:h,projectColor:he?Te:null,onTabLongPress:e=>x(e),recency:f,sessionTagMap:v}),(0,J.jsxs)(Tt,{open:!!j,onClose:()=>x(null),className:`select-none`,children:[(0,J.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-secondary border-b border-border truncate`,children:j?.title}),N&&(0,J.jsxs)(`button`,{onClick:()=>ie(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(kr,{className:`size-4`}),` Rename`]}),j?.type===`editor`&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`button`,{onClick:()=>pe(j,`copy-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Xe,{className:`size-4`}),` Copy Path`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`copy-full-path`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Xe,{className:`size-4`}),` Copy Full Path`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`download`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Qe,{className:`size-4`}),` Download`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`rename`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(kr,{className:`size-4`}),` Rename`]}),(0,J.jsxs)(`button`,{onClick:()=>pe(j,`delete`),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-error active:bg-surface-elevated`,children:[(0,J.jsx)(si,{className:`size-4`}),` Delete`]}),(0,J.jsx)(`div`,{className:`h-px bg-border mx-2`}),(0,J.jsxs)(`button`,{onClick:()=>ce(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Je,{className:`size-4`}),` Select for Compare`]}),re&&(0,J.jsxs)(`button`,{onClick:()=>le(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Je,{className:`size-4`}),` Compare with Selected (`,_.label,`)`]}),(0,J.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),N&&!P&&(0,J.jsxs)(`button`,{onClick:()=>ue(j),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(Ke,{className:`size-4 fill-primary text-primary`}),` Mark as unread`]}),N&&ve.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`px-3 pt-2 pb-1 text-xs text-text-secondary flex items-center gap-2`,children:[(0,J.jsx)(ri,{className:`size-3.5`}),` Set Tag`]}),ve.map(e=>(0,J.jsxs)(`button`,{onClick:()=>be(N,e.id),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(`span`,{className:`size-2.5 rounded-full shrink-0`,style:{backgroundColor:e.color}}),e.name,v[N]?.id===e.id&&(0,J.jsx)(Fe,{className:`size-3.5 ml-auto`})]},e.id)),v[N]&&(0,J.jsx)(`button`,{onClick:()=>be(N,null),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:`Remove tag`}),(0,J.jsx)(`div`,{className:`h-px bg-border mx-2`})]}),j?.closable&&(0,J.jsxs)(`button`,{onClick:()=>{U.getState().closeTab(b),x(null)},className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(tt,{className:`size-4`}),` Close`]}),M.some(e=>e.id!==b&&e.closable)&&(0,J.jsxs)(`button`,{onClick:()=>oe(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(ei,{className:`size-4`}),` Close Others`]}),ee>=0&&ee<M.length-1&&(0,J.jsxs)(`button`,{onClick:()=>se(b),className:`flex items-center gap-2 w-full px-3 py-2.5 text-sm text-foreground active:bg-surface-elevated`,children:[(0,J.jsx)(un,{className:`size-4`}),` Close to the Right`]})]}),(0,J.jsx)(Tt,{open:!!w,onClose:()=>T(null),children:(0,J.jsxs)(`div`,{className:`px-4 pt-1 pb-3`,children:[(0,J.jsx)(`div`,{className:`text-[13px] font-semibold text-text-primary mb-2`,children:`Rename chat`}),(0,J.jsx)(`input`,{autoFocus:!0,value:E,onChange:e=>D(e.target.value),onKeyDown:e=>{e.key===`Enter`&&ae()},placeholder:`Session title`,className:`w-full h-11 px-3 rounded-xl bg-background border border-border text-text-primary outline-none focus:border-primary`,style:{fontSize:16}}),(0,J.jsxs)(`div`,{className:`flex gap-2 mt-3`,children:[(0,J.jsx)(`button`,{onClick:()=>T(null),className:`flex-1 h-11 rounded-xl border border-border text-sm text-text-secondary active:bg-surface-elevated`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:ae,className:`flex-1 h-11 rounded-xl bg-primary text-primary-foreground text-sm font-medium active:opacity-90`,children:`Save`})]})]})}),de&&(0,J.jsx)(Nc,{node:de.node,projectName:me?.name??``,onClose:()=>fe(null),onRefresh:()=>{me&&rs.getState().fetchTree(me.name),de.action===`delete`&&U.getState().closeTab(de.tabId)}}),c&&(0,J.jsx)(Tt,{open:a.visible,onClose:()=>U.getState().setDockVisible(!1),zIndex:60,className:H(`flex flex-col`,s?`h-[calc(var(--sheet-vh,100dvh)+var(--sheet-kb,0px))]`:o?`h-[calc(var(--sheet-vh,100dvh)*0.92)]`:`h-[calc(var(--sheet-vh,100dvh)*0.6)]`),children:(0,J.jsx)(`div`,{className:`flex flex-col flex-1 min-h-0 overflow-hidden`,children:(0,J.jsx)(ml,{variant:`mobile`})})})]})}var qx=64,Jx=350,Yx=10;function Xx(e,t,n){let r=[...e],i=r.indexOf(t);if(i<0||t===n)return e;r.splice(i,1);let a=r.indexOf(n);return r.splice(a<0?r.length:a,0,t),r}function Zx({tabs:e,activeId:t,onSelect:n,onReorder:r}){let i=(0,q.useRef)(null),[a,o]=(0,q.useState)(0),[s,c]=(0,q.useState)(null),[l,u]=(0,q.useState)(null),d=(0,q.useRef)(null),f=(0,q.useRef)(null),[p,m]=(0,q.useState)(!1),h=(0,q.useRef)(null),g=(0,q.useRef)(null),_=e=>{d.current=e,c(e)},v=e=>{f.current=e,u(e)},y=()=>{_(null),v(null)},b=()=>{h.current&&=(clearTimeout(h.current),null)};(0,q.useEffect)(()=>{let e=i.current;if(!e)return;let t=new ResizeObserver(e=>o(e[0].contentRect.width));return t.observe(e),()=>t.disconnect()},[]),(0,q.useEffect)(()=>{let e=i.current;if(!e)return;let t=e=>{if(!d.current)return;e.preventDefault();let t=e.touches[0];if(!t)return;let n=(document.elementFromPoint(t.clientX,t.clientY)?.closest(`[data-tabid]`))?.getAttribute(`data-tabid`);n&&v(n)};return e.addEventListener(`touchmove`,t,{passive:!1}),()=>e.removeEventListener(`touchmove`,t)},[]);let x=a?Math.max(1,Math.floor(a/qx)):e.length,S=e.length>x,C=S?Math.max(1,x-1):e.length,w=e.slice(0,C),T=S&&!w.some(e=>e.id===t)&&e.some(e=>e.id===t);if(T){let n=e.find(e=>e.id===t);w=[...e.slice(0,C-1),n]}let E=new Set(w.map(e=>e.id)),D=e.filter(e=>!E.has(e.id)),O=t=>{d.current&&r(Xx(e.map(e=>e.id),d.current,t)),y()},k=(e,t)=>H(`relative flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] select-none transition-colors`,t?`text-primary`:`text-text-secondary`,s===e&&`opacity-40`,l===e&&s!==e&&`shadow-[inset_2px_0_0_var(--accent)]`);return(0,J.jsxs)(`div`,{ref:i,className:`flex items-center overflow-hidden`,children:[w.map(e=>{let r=e.icon;return(0,J.jsxs)(`button`,{"data-tabid":e.id,style:{width:qx},className:k(e.id,t===e.id),draggable:!0,onDragStart:t=>{_(e.id),t.dataTransfer.effectAllowed=`move`},onDragOver:t=>{t.preventDefault(),v(e.id)},onDrop:t=>{t.preventDefault(),O(e.id)},onDragEnd:y,onClick:()=>n(e.id),onTouchStart:t=>{g.current={x:t.touches[0].clientX,y:t.touches[0].clientY},b(),h.current=setTimeout(()=>_(e.id),Jx)},onTouchMove:e=>{if(!d.current&&g.current){let t=Math.abs(e.touches[0].clientX-g.current.x),n=Math.abs(e.touches[0].clientY-g.current.y);(t>Yx||n>Yx)&&b()}},onTouchEnd:()=>{b(),d.current&&f.current?O(f.current):y(),g.current=null},children:[(0,J.jsx)(r,{className:`size-4`}),(0,J.jsx)(`span`,{children:e.shortLabel??e.label}),(0,J.jsx)(Wg,{id:e.badge,variant:`corner`,className:`top-1 right-2 shadow-none`})]},e.id)}),S&&(0,J.jsxs)(`button`,{style:{width:qx},onClick:()=>m(!0),className:H(`flex flex-col items-center justify-center gap-0.5 shrink-0 py-2.5 text-[10px] transition-colors`,T?`text-primary`:`text-text-secondary`),children:[(0,J.jsx)(wn,{className:`size-4`}),(0,J.jsx)(`span`,{children:`More`})]}),(0,J.jsx)(Tt,{open:p,onClose:()=>m(!1),children:(0,J.jsxs)(`div`,{className:`px-2 pb-3 pt-1`,children:[(0,J.jsx)(`div`,{className:`px-2 py-1 text-xs text-text-secondary`,children:`More tabs`}),D.map(e=>{let r=e.icon;return(0,J.jsxs)(`button`,{onClick:()=>{n(e.id),m(!1)},className:H(`flex items-center gap-3 w-full px-3 py-2.5 rounded-md text-sm active:bg-surface-elevated`,t===e.id?`text-primary`:`text-foreground`),children:[(0,J.jsx)(r,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{children:e.label}),(0,J.jsx)(Wg,{id:e.badge})]},e.id)})]})})]})}var Qx=new Set([`history`,`teams`,`explorer`,`git`,`database`,`tunnels`,`ai-resources`,`settings`,`jira`]),$x=e=>Qx.has(e)||e.startsWith(`ext:`);function eS({isOpen:e,onClose:t,initialTab:n}){let{activeProject:r}=W(Ol(e=>({activeProject:e.activeProject}))),i=V(e=>e.version),a=V(e=>e.jiraEnabled),o=V(e=>e.sidebarTabOrder),s=V(e=>e.setSidebarTabOrder),c=$s(e=>e.contributions),[l,u]=(0,q.useState)(n??`explorer`),[d,f]=(0,q.useState)(!1),p=(0,q.useMemo)(()=>j_(A_({jiraEnabled:a,contributions:c}),o).filter(e=>$x(e.id)),[a,c,o]);(0,q.useEffect)(()=>{n&&u(n)},[n]),(0,q.useEffect)(()=>{p.length>0&&!p.some(e=>e.id===l)&&u(p[0].id)},[p,l]),(0,q.useEffect)(()=>{let e=()=>{vt()&&f(!0)};return window.addEventListener(`open-cloud-share`,e),()=>window.removeEventListener(`open-cloud-share`,e)},[]);let m=(0,q.useCallback)(()=>gv(i),[i]),h=(0,J.jsx)(`p`,{className:`px-4 py-6 text-xs text-text-secondary text-center`,children:`Select a project from the bottom nav bar`});return(0,J.jsxs)(`div`,{className:H(`fixed inset-0 z-50 md:hidden transition-opacity duration-200`,e?`opacity-100`:`opacity-0 pointer-events-none`),children:[(0,J.jsx)(`div`,{className:`absolute inset-0 bg-black/50`,onClick:t,"aria-label":`Close drawer`}),(0,J.jsxs)(`div`,{className:H(`fixed left-0 top-0 bottom-0 w-[90vw] bg-background border-r border-border`,`z-50 flex flex-col transition-transform duration-300 ease-out`,e?`translate-x-0`:`-translate-x-full`),children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b border-border shrink-0`,children:[(0,J.jsx)(`span`,{className:`text-sm font-bold text-primary tracking-tight`,children:r?.name??`PPM`}),(0,J.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),(0,J.jsxs)(`div`,{className:`flex-1 overflow-y-auto min-h-0`,children:[l===`history`&&(r?(0,J.jsx)(Vg,{variant:`sidebar`,projectName:r.name,onNavigate:t}):h),l===`teams`&&(r?(0,J.jsx)(u_,{}):h),l===`explorer`&&(r?(0,J.jsx)(ap,{onFileOpen:t}):h),l===`git`&&(0,J.jsx)(hp,{metadata:{projectName:r?.name},onNavigate:t}),l===`database`&&(0,J.jsx)(xh,{}),l===`tunnels`&&(0,J.jsx)(Mg,{}),l===`jira`&&(0,J.jsx)(qh,{}),l===`ai-resources`&&(0,J.jsx)(Og,{}),l===`settings`&&(0,J.jsx)($m,{}),l.startsWith(`ext:`)&&(0,J.jsx)(kh,{viewId:l.slice(4),className:`h-full`})]}),(0,J.jsxs)(`div`,{className:`shrink-0 border-t border-border`,children:[(0,J.jsx)(Zx,{tabs:p,activeId:l,onSelect:u,onReorder:s}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-t border-border text-[11px]`,children:[(0,J.jsx)(ey,{align:`left`}),(0,J.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,J.jsxs)(`button`,{onClick:()=>{t(),xf()},className:`flex items-center gap-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors`,children:[(0,J.jsx)(Un,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Files`}),(0,J.jsx)(Wg,{id:`os-explorer`,className:`text-[7px] px-1`})]}),(0,J.jsxs)(`button`,{onClick:()=>f(!0),className:`flex items-center gap-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors`,children:[(0,J.jsx)(vn,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Cloud & Share`})]}),(0,J.jsxs)(`button`,{onClick:m,className:`flex items-center gap-1 text-[10px] text-text-subtle hover:text-text-secondary transition-colors`,children:[(0,J.jsx)(tn,{className:`size-3`}),(0,J.jsx)(`span`,{children:`Report Bug`})]})]})]})]})]}),(0,J.jsx)(Tt,{open:d,onClose:()=>f(!1),zIndex:60,children:(0,J.jsx)(dv,{variant:`sheet`,onClose:()=>f(!1)})})]})}function tS({isOpen:e,onClose:t}){let{projects:n,activeProject:r,setActiveProject:i,setProjectColor:a,setProjectImage:o,removeProjectImage:s,reorderProjects:c,renameProject:l,deleteProject:u,customOrder:d,sortMode:f,setProjectSortMode:p}=W(Ol(e=>({projects:e.projects,activeProject:e.activeProject,setActiveProject:e.setActiveProject,setProjectColor:e.setProjectColor,setProjectImage:e.setProjectImage,removeProjectImage:e.removeProjectImage,reorderProjects:e.reorderProjects,renameProject:e.renameProject,deleteProject:e.deleteProject,customOrder:e.customOrder,sortMode:e.projectSortMode,setProjectSortMode:e.setProjectSortMode}))),m=V(e=>e.version),h=mt(n,d),g=h.map(e=>e.name),[_,v]=(0,q.useState)(`list`),[y,b]=(0,q.useState)(``),x=(0,q.useMemo)(()=>gt(),[e]),S=(0,q.useMemo)(()=>f_(n,d,f),[n,d,f]),C=y.trim().toLowerCase(),w=C?S.filter(e=>e.name.toLowerCase().includes(C)||e.path.toLowerCase().includes(C)):S,T=f===`priority`&&!C,E=(0,q.useCallback)(e=>{window.open(h_(e,null),`_blank`,`noopener`)},[]),[D,O]=(0,q.useState)(null),[k,A]=(0,q.useState)(``),[j,M]=(0,q.useState)(!1),ee=(0,q.useRef)(null),[N,P]=(0,q.useState)(null),[te,ne]=(0,q.useState)(``),re=(0,q.useRef)(null),[ie,ae]=(0,q.useState)(null);async function oe(e){let t=e.target.files?.[0];if(e.target.value=``,!(!t||!ie)){O(null);try{await o(ie,t)}catch(e){alert(e instanceof Error?e.message:`Upload failed`)}}}let se=(0,q.useCallback)(e=>{ee.current=setTimeout(()=>O(e),400)},[]),ce=(0,q.useCallback)(()=>{ee.current&&=(clearTimeout(ee.current),null)},[]);function le(){v(`list`),t()}function ue(e){let t=n.find(t=>t.name===e);t&&(i(t),le())}function de(){v(`add`)}function fe(){if(le(),window.innerWidth<768){window.dispatchEvent(new Event(`open-mobile-settings`));return}let{sidebarCollapsed:e,toggleSidebar:t,setSidebarActiveTab:n}=V.getState();e&&t(),n(`settings`)}async function pe(){if(!N||!te.trim()||te===N){P(null);return}try{await l(N,te.trim())}catch{}P(null)}async function me(e){O(null);try{await u(e)}catch{}}async function he(e,t){try{await a(e,t),M(!1),O(null)}catch(e){console.error(`Failed to save color:`,e)}}let ge=D?h.find(e=>e.name===D):null,_e=D?h.findIndex(e=>e.name===D):-1,ve=D?[{label:`Open in New Tab`,icon:Tn,onClick:()=>{E(D),O(null)}},{label:`Rename`,icon:kr,onClick:()=>{ne(D),P(D),O(null)}},{label:`Change Color`,icon:wr,onClick:()=>{let e=h.findIndex(e=>e.name===D),t=h[e];A(S_(t?.color,e)),M(!0)}},{label:`Change Image`,icon:nr,onClick:()=>{ae(D),re.current?.click()}},...ge?.image?[{label:`Remove Image`,icon:si,onClick:()=>{s(D).catch(()=>{}),O(null)}}]:[],{label:`Copy Path`,icon:Xe,onClick:()=>{ge&&bc(ge.path),O(null)}},...T&&_e>0?[{label:`Move Up`,icon:cn,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e-1,0,t),c(e),O(null)}}]:[],...T&&_e<h.length-1?[{label:`Move Down`,icon:on,onClick:()=>{let e=h.map(e=>e.name),[t]=e.splice(_e,1);e.splice(_e+1,0,t),c(e),O(null)}}]:[],{label:`Delete`,icon:si,destructive:!0,onClick:()=>me(D)}]:[];return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`input`,{ref:re,type:`file`,accept:`image/*`,className:`hidden`,onChange:oe}),(0,J.jsxs)(Tt,{open:e,onClose:le,className:`bg-background`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[_===`add`&&(0,J.jsx)(`button`,{onClick:()=>v(`list`),className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(Ae,{className:`size-4`})}),(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:_===`add`?`Add Project`:`Projects`})]}),(0,J.jsx)(`button`,{onClick:le,className:`flex items-center justify-center size-7 rounded-md hover:bg-surface-elevated transition-colors`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),_===`add`&&(0,J.jsx)(`div`,{className:`px-4 py-4`,children:(0,J.jsx)(T_,{onSuccess:()=>{v(`list`),t()},onCancel:()=>v(`list`),footerClassName:`pt-2`})}),_!==`add`&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-2 border-b border-border`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{value:y,onChange:e=>b(e.target.value),placeholder:`Search projects…`,className:`flex-1 bg-transparent text-sm text-foreground placeholder:text-text-subtle focus:outline-none`})]}),(0,J.jsx)(`div`,{className:`flex items-center gap-1 px-2 py-2 border-b border-border`,children:d_.map(({mode:e,label:t,Icon:n})=>(0,J.jsxs)(`button`,{onClick:()=>p(e),className:H(`flex items-center justify-center gap-1 flex-1 px-2 py-1.5 rounded-md text-xs font-medium transition-colors`,f===e?`bg-primary/[0.12] text-primary`:`text-text-subtle active:bg-surface-elevated`),children:[(0,J.jsx)(n,{className:`size-3.5`}),` `,t]},e))})]}),(0,J.jsxs)(`div`,{className:_===`add`?`hidden`:`max-h-[60vh] overflow-y-auto`,children:[w.map(e=>{let t=h.findIndex(t=>t.name===e.name),n=S_(e.color,t),i=r?.name===e.name,a=N===e.name,o=x[e.name];return(0,J.jsxs)(`div`,{className:H(`flex items-center gap-3 px-4 py-3 transition-colors active:bg-surface-elevated`,i&&`bg-accent/10`),onClick:()=>!a&&ue(e.name),onTouchStart:()=>se(e.name),onTouchEnd:ce,onTouchMove:ce,children:[(0,J.jsx)(w_,{name:e.name,color:n,image:e.image,size:40,allNames:g}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[a?(0,J.jsx)(`input`,{type:`text`,value:te,onChange:e=>ne(e.target.value),onKeyDown:e=>{e.key===`Enter`&&pe(),e.key===`Escape`&&P(null)},onBlur:pe,onClick:e=>e.stopPropagation(),className:`w-full bg-transparent border-b border-primary text-sm outline-none`,autoFocus:!0}):(0,J.jsx)(`p`,{className:`text-sm font-medium truncate`,children:e.name}),(0,J.jsx)(`p`,{className:`text-xs text-text-subtle truncate`,children:e.path})]}),o&&!i&&(0,J.jsx)(`span`,{className:`shrink-0 text-[10px] text-text-subtle whitespace-nowrap`,children:vo(new Date(o).toISOString())}),i&&(0,J.jsx)(Fe,{className:`size-4 text-primary shrink-0`})]},e.name)}),w.length===0&&(0,J.jsx)(`div`,{className:`px-4 py-6 text-center text-sm text-text-subtle`,children:`No projects found`})]}),(0,J.jsx)(`div`,{className:`border-t border-border`,children:(0,J.jsxs)(`button`,{onClick:de,className:`w-full flex items-center gap-3 px-4 py-3 text-text-secondary hover:bg-surface-elevated transition-colors`,children:[(0,J.jsx)(et,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Add Project`})]})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-t border-border`,children:[(0,J.jsxs)(`button`,{onClick:fe,className:`flex items-center gap-2 text-text-secondary hover:text-foreground transition-colors`,children:[(0,J.jsx)(Jr,{className:`size-4`}),(0,J.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),m&&(0,J.jsxs)(`span`,{className:`text-xs text-text-subtle`,children:[`v`,m]})]})]}),(0,J.jsxs)(Tt,{open:!!D&&!j,onClose:()=>O(null),zIndex:60,children:[(0,J.jsx)(`div`,{className:`px-4 py-2 border-b border-border`,children:(0,J.jsx)(`p`,{className:`text-xs font-medium text-text-secondary`,children:D})}),ve.map(e=>{let t=e.icon;return(0,J.jsxs)(`button`,{onClick:e.onClick,className:H(`w-full flex items-center gap-3 px-4 py-3 text-sm transition-colors active:bg-surface-elevated`,e.destructive?`text-destructive`:`text-foreground`),children:[(0,J.jsx)(t,{className:`size-4 shrink-0`}),e.label]},e.label)})]}),(0,J.jsxs)(Tt,{open:j&&!!D,onClose:()=>{M(!1),O(null)},zIndex:60,className:`p-4 space-y-4`,children:[(0,J.jsx)(`p`,{className:`text-sm font-medium`,children:`Change Color`}),(0,J.jsx)(`div`,{className:`flex flex-wrap gap-3`,children:x_.map(e=>(0,J.jsx)(`button`,{type:`button`,onClick:()=>A(e),className:H(`size-9 rounded-full border-2 transition-all`,k===e?`border-primary scale-110`:`border-transparent`),style:{background:e}},e))}),(0,J.jsxs)(`div`,{className:`flex gap-2 pt-2`,children:[(0,J.jsx)(`button`,{onClick:()=>{M(!1),O(null)},className:`flex-1 py-2 text-sm text-text-secondary border border-border rounded-md`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:()=>he(D,k),className:`flex-1 py-2 text-sm bg-primary text-white rounded-md`,children:`Save`})]})]})]})}var nS=`https://wise.com/pay/me/lehongh`,rS=`/donate-qr.png`,iS=`LE HONG HIEN`,aS=`Techcombank`;function oS({children:e}){return(0,J.jsx)(`span`,{className:`font-mono text-[11px] font-medium uppercase tracking-wide text-text-subtle`,children:e})}function sS(){let[e,t]=(0,q.useState)(!1);return(0,J.jsxs)(`div`,{className:`flex flex-col gap-5`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-1 text-center`,children:[(0,J.jsx)(`div`,{className:`flex size-11 items-center justify-center rounded-xl bg-surface-elevated`,children:(0,J.jsx)(Qn,{className:`size-5 text-primary`})}),(0,J.jsx)(`h2`,{className:`text-lg font-semibold text-foreground`,children:`Support PPM`}),(0,J.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Thanks for keeping this project alive.`})]}),(0,J.jsxs)(`div`,{className:`grid gap-5 md:grid-cols-2 md:gap-6`,children:[(0,J.jsxs)(`section`,{className:`flex flex-col items-center gap-3`,children:[(0,J.jsx)(oS,{children:`Vietnam`}),e?(0,J.jsxs)(`div`,{className:`flex size-40 flex-col items-center justify-center gap-2 rounded-xl border border-dashed border-border text-text-subtle`,children:[(0,J.jsx)(Lr,{className:`size-8`}),(0,J.jsx)(`span`,{className:`text-xs`,children:`QR code coming soon`})]}):(0,J.jsx)(`img`,{src:rS,alt:`Bank transfer QR code`,onError:()=>t(!0),className:`size-40 rounded-xl border border-border bg-white object-contain p-2`}),(0,J.jsxs)(`div`,{className:`text-center`,children:[(0,J.jsx)(`p`,{className:`text-sm font-medium text-foreground`,children:iS}),(0,J.jsx)(`p`,{className:`text-xs text-text-subtle`,children:aS})]}),(0,J.jsx)(`p`,{className:`text-center text-xs text-text-secondary`,children:`Quét mã QR bằng ứng dụng ngân hàng để chuyển khoản.`})]}),(0,J.jsxs)(`section`,{className:`flex flex-col items-center justify-center gap-3 border-t border-border pt-5 md:border-l md:border-t-0 md:pl-6 md:pt-0`,children:[(0,J.jsx)(oS,{children:`International`}),(0,J.jsx)(`p`,{className:`text-center text-sm text-text-secondary`,children:`Send an international transfer via Wise — multi-currency, low fees.`}),(0,J.jsx)(I,{asChild:!0,className:`w-full`,children:(0,J.jsxs)(`a`,{href:nS,target:`_blank`,rel:`noopener noreferrer`,children:[(0,J.jsx)(Jn,{className:`size-4`}),`Support via Wise`]})})]})]})]})}function cS({open:e,onOpenChange:t}){return _t()?(0,J.jsx)(Tt,{open:e,onClose:()=>t(!1),className:`popover-solid`,children:(0,J.jsx)(`div`,{className:`px-4 pb-4 pt-1`,children:(0,J.jsx)(sS,{})})}):(0,J.jsx)(Tc,{open:e,onOpenChange:t,children:(0,J.jsxs)(kc,{className:`sm:max-w-xl`,children:[(0,J.jsx)(X,{className:`sr-only`,children:`Support PPM`}),(0,J.jsx)(sS,{})]})})}function lS(){let[e,t]=(0,q.useState)(null),[n,r]=(0,q.useState)(!1);(0,q.useEffect)(()=>{function e(e){let n=e.detail;n&&(t(n),r(!1))}return window.addEventListener(`open-bug-report`,e),()=>window.removeEventListener(`open-bug-report`,e)},[]);let i=(0,q.useCallback)(()=>t(null),[]);return e?(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`div`,{className:`fixed inset-0 z-50 bg-black/50`,onClick:i}),(0,J.jsxs)(`div`,{className:`fixed inset-4 md:inset-auto md:top-[15%] md:left-1/2 md:-translate-x-1/2 md:w-full md:max-w-lg md:max-h-[70vh] z-50 flex flex-col bg-background border border-border rounded-lg shadow-2xl overflow-hidden`,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 border-b border-border`,children:[(0,J.jsx)(`span`,{className:`text-sm font-medium`,children:`Bug Report`}),(0,J.jsx)(`button`,{onClick:i,className:`p-1 rounded hover:bg-surface-elevated`,children:(0,J.jsx)(tt,{className:`size-4`})})]}),(0,J.jsx)(`pre`,{className:`flex-1 overflow-auto px-4 py-2 text-xs font-mono whitespace-pre-wrap break-all`,children:e}),(0,J.jsxs)(`div`,{className:`flex gap-2 p-3 border-t border-border`,children:[(0,J.jsxs)(`button`,{onClick:async()=>{await bc(e)&&r(!0)},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-surface-elevated text-xs text-foreground hover:bg-surface transition-colors`,children:[n?(0,J.jsx)(Fe,{className:`size-3`}):(0,J.jsx)(Xe,{className:`size-3`}),n?`Copied`:`Copy`]}),(0,J.jsxs)(`button`,{onClick:()=>{hv(e),i()},className:`flex items-center gap-1.5 px-3 py-1.5 rounded-md bg-primary text-primary-foreground text-xs hover:bg-primary/90 transition-colors`,children:[(0,J.jsx)(Tn,{className:`size-3`}),`Open GitHub Issue`]})]})]})]}):null}var uS=(0,q.memo)(function({className:e}){let t=V(e=>e.themeMode),n=V(e=>e.setThemeMode),r=Ym.find(e=>e.value===t)??Ym[2],i=r.icon;return(0,J.jsxs)($c,{children:[(0,J.jsx)(el,{asChild:!0,children:(0,J.jsx)(`button`,{type:`button`,title:`Appearance: ${r.label}`,"aria-label":`Appearance: ${r.label}`,className:H(`flex size-11 items-center justify-center rounded-xl text-text-subtle`,`can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,e),children:(0,J.jsx)(i,{className:`size-[18px]`})})}),(0,J.jsxs)(tl,{align:`end`,className:`w-44`,children:[(0,J.jsx)(il,{children:`Appearance`}),Ym.map(e=>{let r=e.icon;return(0,J.jsxs)(Z,{onClick:()=>n(e.value),className:`gap-2`,children:[(0,J.jsx)(r,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`flex-1 truncate`,children:e.label}),(0,J.jsx)(Fe,{className:H(`size-4 shrink-0`,t===e.value?`opacity-100`:`opacity-0`)})]},e.value)})]})]})}),dS=`https://github.com/hienlh/ppm`,fS={background:`radial-gradient(80% 60% at 50% -10%, color-mix(in srgb, var(--accent) 12%, transparent) 0%, transparent 60%)`},pS={backgroundImage:`radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--text) 5%, transparent) 1px, transparent 0)`,backgroundSize:`26px 26px`};function mS({onSuccess:e}){let[t,n]=(0,q.useState)(``),[r,i]=(0,q.useState)(!1),a=V(e=>e.deviceName),o=V(e=>e.version),s=V(e=>e.tunnelActive),[c,l]=(0,q.useState)(null),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)(!1),m=_t(),h=V(e=>e.themeMode),g=V(e=>e.syncThemeToServer),_=h!==(0,q.useRef)(h).current;async function v(n){if(n.preventDefault(),!t.trim()){l(`Enter your password to continue`);return}d(!0),l(null);try{nt(t.trim());let n=await(await fetch(`/api/auth/check`,{headers:{Authorization:`Bearer ${t.trim()}`}})).json();if(!n.ok)throw Error(n.error??`Invalid password`);_&&await g(),e()}catch(e){l(e instanceof Error?e.message:`Authentication failed`),localStorage.removeItem(`ppm-auth-token`)}finally{d(!1)}}return(0,J.jsxs)(`div`,{className:`app-backdrop relative min-h-dvh overflow-hidden flex items-center justify-center p-6`,children:[(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:fS}),(0,J.jsx)(`div`,{className:`pointer-events-none absolute inset-0`,style:pS}),(0,J.jsx)(uS,{className:`absolute right-[max(1rem,env(safe-area-inset-right))] top-[max(1rem,env(safe-area-inset-top))]`}),(0,J.jsxs)(`div`,{className:`relative flex w-full max-w-[392px] flex-col items-center gap-[22px] text-center`,children:[(0,J.jsxs)(`div`,{className:`flex flex-col items-center gap-4`,children:[(0,J.jsx)(`div`,{className:`flex size-16 items-center justify-center rounded-2xl border border-border bg-background shadow-float`,children:(0,J.jsx)(`div`,{className:`flex size-[52px] items-center justify-center rounded-xl bg-surface-elevated`,children:(0,J.jsx)(`span`,{className:`text-[15px] font-bold tracking-wide text-primary`,children:`PPM`})})}),(0,J.jsxs)(`div`,{children:[(0,J.jsx)(`h1`,{className:`mb-1.5 text-2xl font-semibold tracking-tight text-foreground`,children:`Unlock your workspace`}),(0,J.jsx)(`p`,{className:`text-sm text-text-secondary`,children:`Enter your access password to unlock`})]}),(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-2`,children:[a&&(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[(0,J.jsx)(m?Xr:xr,{className:`size-3 text-text-subtle`}),a]}),m?(s||o)&&(0,J.jsxs)(`span`,{className:H(`inline-flex items-center gap-1.5 rounded-full border px-2.5 py-0.5 font-mono text-[11px]`,s?`border-success/30 bg-success/10 text-success`:`border-border bg-surface-elevated text-text-secondary`),children:[s&&(0,J.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),s?`tunnel · `:``,o?`v${o}`:``]}):(0,J.jsxs)(J.Fragment,{children:[o&&(0,J.jsxs)(`span`,{className:`inline-flex items-center rounded-full border border-border bg-surface-elevated px-2.5 py-0.5 font-mono text-[11px] text-text-secondary`,children:[`v`,o]}),s&&(0,J.jsxs)(`span`,{className:`inline-flex items-center gap-1.5 rounded-full border border-success/30 bg-success/10 px-2.5 py-0.5 font-mono text-[11px] text-success`,children:[(0,J.jsx)(`span`,{className:`size-1.5 animate-pulse rounded-full bg-success`}),`tunnel active`]})]})]})]}),(0,J.jsxs)(`form`,{onSubmit:v,className:`flex w-full flex-col gap-3`,children:[(0,J.jsxs)(`div`,{className:`relative w-full`,children:[(0,J.jsx)($,{type:r?`text`:`password`,placeholder:`Password`,value:t,onChange:e=>{n(e.target.value),c&&l(null)},className:`h-[50px] rounded-xl bg-surface-elevated pr-12 text-[15px] max-md:text-base`,autoFocus:!0}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>i(e=>!e),"aria-label":r?`Hide password`:`Show password`,className:`absolute right-2 top-1/2 flex size-9 -translate-y-1/2 items-center justify-center rounded-lg text-text-subtle can-hover:hover:bg-surface-elevated can-hover:hover:text-foreground`,children:r?(0,J.jsx)(je,{className:`size-[18px]`}):(0,J.jsx)($e,{className:`size-[18px]`})})]}),c&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-[13px] text-error`,children:[(0,J.jsx)(fn,{className:`size-[15px] shrink-0`}),(0,J.jsx)(`span`,{children:c})]}),(0,J.jsx)(I,{type:`submit`,disabled:u,className:`h-[50px] w-full text-[15px]`,children:u?`Checking…`:`Unlock`})]}),(0,J.jsx)(`div`,{className:`hidden h-px w-full bg-border md:block`}),(0,J.jsxs)(`div`,{className:`flex items-center justify-center gap-5`,children:[(0,J.jsxs)(`button`,{type:`button`,onClick:()=>gv(o),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,J.jsx)(tn,{className:`size-[18px] md:size-3.5`}),(0,J.jsx)(`span`,{className:`max-md:sr-only`,children:`Report Bug`})]}),(0,J.jsxs)(`a`,{href:dS,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,J.jsx)(qn,{className:`size-[18px] md:size-3.5`}),(0,J.jsx)(`span`,{className:`max-md:sr-only`,children:`Repo`})]}),(0,J.jsxs)(`button`,{type:`button`,onClick:()=>p(!0),className:`inline-flex items-center gap-1.5 text-xs text-text-subtle can-hover:hover:text-foreground`,children:[(0,J.jsx)(yn,{className:`size-[18px] md:size-3.5`}),(0,J.jsx)(`span`,{className:`max-md:sr-only`,children:`Buy me a coffee`})]})]})]}),(0,J.jsx)(cS,{open:f,onOpenChange:p}),(0,J.jsx)(lS,{})]})}function hS(){let e=V(e=>e.themeStyle),t=V(e=>e.themeMode),n=V(e=>e.customThemeId),r=V(e=>e.customThemes),[i,a]=(0,q.useState)(0),o=(0,q.useMemo)(()=>Ft(e,t,r,n),[e,t,r,n,i]);return(0,q.useEffect)(()=>{It(o)},[o,i]),(0,q.useEffect)(()=>{let e=window.matchMedia(`(prefers-color-scheme: dark)`),t=window.matchMedia(`(max-width: 767px)`),n=()=>a(e=>e+1);return e.addEventListener(`change`,n),t.addEventListener(`change`,n),()=>{e.removeEventListener(`change`,n),t.removeEventListener(`change`,n)}},[]),o}var gS=Object.defineProperty,_S=Object.getOwnPropertyDescriptor,vS=Object.getOwnPropertyNames,yS=Object.prototype.hasOwnProperty,bS=(e,t)=>{let n={};for(var r in e)gS(n,r,{get:e[r],enumerable:!0});return t||gS(n,Symbol.toStringTag,{value:`Module`}),n},xS=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=vS(t),a=0,o=i.length,s;a<o;a++)s=i[a],!yS.call(e,s)&&s!==n&&gS(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=_S(t,s))||r.enumerable});return e},SS=(e,t,n)=>(xS(e,t,`default`),n&&xS(n,t,`default`)),CS=[{id:`abap`,name:`ABAP`,import:(()=>B(()=>import(`./abap-C1K0-wzc.js`),[]))},{id:`actionscript-3`,name:`ActionScript`,import:(()=>B(()=>import(`./actionscript-3-CJhQVjLA.js`),[]))},{id:`ada`,name:`Ada`,import:(()=>B(()=>import(`./ada-Bt8r9fME.js`),[]))},{id:`angular-html`,name:`Angular HTML`,import:(()=>B(()=>import(`./angular-html-jfMqUuRd.js`).then(e=>e.n),__vite__mapDeps([75,1,76,77,78])))},{id:`angular-ts`,name:`Angular TypeScript`,import:(()=>B(()=>import(`./angular-ts-wytn9PMm.js`),__vite__mapDeps([79,75,1,76,77,78,80])))},{id:`apache`,name:`Apache Conf`,import:(()=>B(()=>import(`./apache-CnlleE6P.js`),[]))},{id:`apex`,name:`Apex`,import:(()=>B(()=>import(`./apex-j0C6Xmk6.js`),[]))},{id:`apl`,name:`APL`,import:(()=>B(()=>import(`./apl-i-ahKx6O.js`),__vite__mapDeps([81,77,1,76,78,82,83,84])))},{id:`applescript`,name:`AppleScript`,import:(()=>B(()=>import(`./applescript-DO7AnO8U.js`),[]))},{id:`ara`,name:`Ara`,import:(()=>B(()=>import(`./ara-i83AydZj.js`),[]))},{id:`asciidoc`,name:`AsciiDoc`,aliases:[`adoc`],import:(()=>B(()=>import(`./asciidoc-DbBA6-sF.js`),[]))},{id:`asm`,name:`Assembly`,import:(()=>B(()=>import(`./asm-B5S47Rgr.js`),[]))},{id:`astro`,name:`Astro`,import:(()=>B(()=>import(`./astro-DVBCJfG6.js`),__vite__mapDeps([85,77,1,78,82,86,87,88])))},{id:`awk`,name:`AWK`,import:(()=>B(()=>import(`./awk-CfyLHXqS.js`),[]))},{id:`ballerina`,name:`Ballerina`,import:(()=>B(()=>import(`./ballerina-CumGp9A7.js`),[]))},{id:`bat`,name:`Batch File`,aliases:[`batch`],import:(()=>B(()=>import(`./bat-Ca2SBbYN.js`),[]))},{id:`beancount`,name:`Beancount`,import:(()=>B(()=>import(`./beancount-CqyXBwwF.js`),[]))},{id:`berry`,name:`Berry`,aliases:[`be`],import:(()=>B(()=>import(`./berry-yl-kJr_H.js`),[]))},{id:`bibtex`,name:`BibTeX`,import:(()=>B(()=>import(`./bibtex-DoFFszjV.js`),[]))},{id:`bicep`,name:`Bicep`,import:(()=>B(()=>import(`./bicep-CWPi4nfK.js`),[]))},{id:`bird2`,name:`BIRD2 Configuration`,aliases:[`bird`],import:(()=>B(()=>import(`./bird2-DXew-ut0.js`),[]))},{id:`blade`,name:`Blade`,import:(()=>B(()=>import(`./blade-BHlL8SqU.js`),__vite__mapDeps([89,77,1,90,76,78,82,91,83,84])))},{id:`bsl`,name:`1C (Enterprise)`,aliases:[`1c`],import:(()=>B(()=>import(`./bsl-D-UOfR1F.js`),__vite__mapDeps([92,93])))},{id:`c`,name:`C`,import:(()=>B(()=>import(`./c-clbySDvd.js`).then(e=>e.n),__vite__mapDeps([94,1])))},{id:`c3`,name:`C3`,import:(()=>B(()=>import(`./c3-B65jvSM1.js`),[]))},{id:`cadence`,name:`Cadence`,aliases:[`cdc`],import:(()=>B(()=>import(`./cadence-Cm8tQTHN.js`),[]))},{id:`cairo`,name:`Cairo`,import:(()=>B(()=>import(`./cairo-Bn6rucli.js`),__vite__mapDeps([95,96])))},{id:`clarity`,name:`Clarity`,import:(()=>B(()=>import(`./clarity-DPulbvKH.js`),[]))},{id:`clojure`,name:`Clojure`,aliases:[`clj`],import:(()=>B(()=>import(`./clojure-DFuWS20u.js`),[]))},{id:`cmake`,name:`CMake`,import:(()=>B(()=>import(`./cmake-DejCqcu4.js`),[]))},{id:`cobol`,name:`COBOL`,import:(()=>B(()=>import(`./cobol-Byn9FYKu.js`),__vite__mapDeps([97,76,1,77,78,84])))},{id:`codeowners`,name:`CODEOWNERS`,import:(()=>B(()=>import(`./codeowners-BwAyqWIH.js`),[]))},{id:`codeql`,name:`CodeQL`,aliases:[`ql`],import:(()=>B(()=>import(`./codeql-DgSwFjqI.js`),[]))},{id:`coffee`,name:`CoffeeScript`,aliases:[`coffeescript`],import:(()=>B(()=>import(`./coffee-DjBl4gm-.js`),__vite__mapDeps([98,78,1])))},{id:`common-lisp`,name:`Common Lisp`,aliases:[`lisp`],import:(()=>B(()=>import(`./common-lisp-CxIVJCtf.js`),[]))},{id:`coq`,name:`Coq`,import:(()=>B(()=>import(`./coq-DLSjSnmf.js`),[]))},{id:`cpp`,name:`C++`,aliases:[`c++`],import:(()=>B(()=>import(`./cpp-CKzic-3E.js`).then(e=>e.n),__vite__mapDeps([99,1,100,94,101,91])))},{id:`crystal`,name:`Crystal`,import:(()=>B(()=>import(`./crystal-Bkg-Ly_g.js`),__vite__mapDeps([102,94,1,77,76,78,103,91])))},{id:`csharp`,name:`C#`,aliases:[`c#`,`cs`],import:(()=>B(()=>import(`./csharp-C1HHzXBp.js`),[]))},{id:`css`,name:`CSS`,import:(()=>B(()=>import(`./css-VXsMY--y.js`).then(e=>e.n),__vite__mapDeps([77,1])))},{id:`csv`,name:`CSV`,import:(()=>B(()=>import(`./csv-BEbcJdHz.js`),[]))},{id:`cue`,name:`CUE`,import:(()=>B(()=>import(`./cue-BkDnFqUD.js`),[]))},{id:`cypher`,name:`Cypher`,aliases:[`cql`],import:(()=>B(()=>import(`./cypher-1cMqojSQ.js`),[]))},{id:`d`,name:`D`,import:(()=>B(()=>import(`./d-BnYjRXtH.js`),[]))},{id:`dart`,name:`Dart`,import:(()=>B(()=>import(`./dart-Ca7s-8hK.js`),[]))},{id:`dax`,name:`DAX`,import:(()=>B(()=>import(`./dax-CmuOw-mY.js`),[]))},{id:`desktop`,name:`Desktop`,import:(()=>B(()=>import(`./desktop-C2gJ6Ovb.js`),[]))},{id:`diff`,name:`Diff`,import:(()=>B(()=>import(`./diff-BCEo1Ej7.js`),[]))},{id:`docker`,name:`Dockerfile`,aliases:[`dockerfile`],import:(()=>B(()=>import(`./docker-DN2jlyAh.js`),[]))},{id:`dotenv`,name:`dotEnv`,import:(()=>B(()=>import(`./dotenv-NExMY2kS.js`),[]))},{id:`dream-maker`,name:`Dream Maker`,import:(()=>B(()=>import(`./dream-maker-DEyDwFsd.js`),[]))},{id:`edge`,name:`Edge`,import:(()=>B(()=>import(`./edge-DVbZnd3Y.js`),__vite__mapDeps([104,90,76,1,77,78,88])))},{id:`elixir`,name:`Elixir`,import:(()=>B(()=>import(`./elixir-Dwi8Wu7W.js`),__vite__mapDeps([105,76,1,77,78])))},{id:`elm`,name:`Elm`,import:(()=>B(()=>import(`./elm-DtIv-HXJ.js`),__vite__mapDeps([106,100,1,94])))},{id:`emacs-lisp`,name:`Emacs Lisp`,aliases:[`elisp`],import:(()=>B(()=>import(`./emacs-lisp-D_qP2zS6.js`),[]))},{id:`erb`,name:`ERB`,import:(()=>B(()=>import(`./erb-D3HEDz1x.js`),__vite__mapDeps([107,76,1,77,78,108,94,99,100,101,91,109,110,87,88,111,112,103,83,84,113])))},{id:`erlang`,name:`Erlang`,aliases:[`erl`],import:(()=>B(()=>import(`./erlang-2MjTCzGz.js`),__vite__mapDeps([114,115])))},{id:`fennel`,name:`Fennel`,import:(()=>B(()=>import(`./fennel-6B22SfJR.js`),[]))},{id:`fish`,name:`Fish`,import:(()=>B(()=>import(`./fish-CubIIvJD.js`),[]))},{id:`fluent`,name:`Fluent`,aliases:[`ftl`],import:(()=>B(()=>import(`./fluent-DF55zQ09.js`),[]))},{id:`fortran-fixed-form`,name:`Fortran (Fixed Form)`,aliases:[`f`,`for`,`f77`],import:(()=>B(()=>import(`./fortran-fixed-form-BLyAtyPM.js`),__vite__mapDeps([116,117])))},{id:`fortran-free-form`,name:`Fortran (Free Form)`,aliases:[`f90`,`f95`,`f03`,`f08`,`f18`],import:(()=>B(()=>import(`./fortran-free-form-DvOu8jAt.js`),[]))},{id:`fsharp`,name:`F#`,aliases:[`f#`,`fs`],import:(()=>B(()=>import(`./fsharp-Bxbn_gbr.js`),__vite__mapDeps([118,115])))},{id:`gdresource`,name:`GDResource`,aliases:[`tscn`,`tres`],import:(()=>B(()=>import(`./gdresource-sFMY4D2Q.js`),__vite__mapDeps([119,120,121])))},{id:`gdscript`,name:`GDScript`,aliases:[`gd`],import:(()=>B(()=>import(`./gdscript-DCPxdLpq.js`),[]))},{id:`gdshader`,name:`GDShader`,import:(()=>B(()=>import(`./gdshader-CTZ381FO.js`),[]))},{id:`genie`,name:`Genie`,import:(()=>B(()=>import(`./genie-C_QDtvgU.js`),[]))},{id:`gherkin`,name:`Gherkin`,import:(()=>B(()=>import(`./gherkin-BcvK42tF.js`),[]))},{id:`git-commit`,name:`Git Commit Message`,import:(()=>B(()=>import(`./git-commit-BzB9Lio5.js`),__vite__mapDeps([122,123])))},{id:`git-rebase`,name:`Git Rebase Message`,import:(()=>B(()=>import(`./git-rebase-CKSVd848.js`),__vite__mapDeps([124,103,1])))},{id:`gleam`,name:`Gleam`,import:(()=>B(()=>import(`./gleam-BpeKwEIO.js`),[]))},{id:`glimmer-js`,name:`Glimmer JS`,aliases:[`gjs`],import:(()=>B(()=>import(`./glimmer-js-BY8aExAJ.js`),__vite__mapDeps([125,77,1,76,78,88])))},{id:`glimmer-ts`,name:`Glimmer TS`,aliases:[`gts`],import:(()=>B(()=>import(`./glimmer-ts-Bak54dBX.js`),__vite__mapDeps([126,77,1,76,78,88])))},{id:`glsl`,name:`GLSL`,import:(()=>B(()=>import(`./glsl-nR2eaJQe.js`).then(e=>e.n),__vite__mapDeps([100,1,94])))},{id:`gn`,name:`GN`,import:(()=>B(()=>import(`./gn-nUb_Mit0.js`),[]))},{id:`gnuplot`,name:`Gnuplot`,import:(()=>B(()=>import(`./gnuplot-D7I0v20p.js`),[]))},{id:`go`,name:`Go`,import:(()=>B(()=>import(`./go-D7Qqska7.js`),[]))},{id:`graphql`,name:`GraphQL`,aliases:[`gql`],import:(()=>B(()=>import(`./graphql-CGPPFAU6.js`).then(e=>e.n),__vite__mapDeps([109,1,78,110,87,88])))},{id:`groovy`,name:`Groovy`,import:(()=>B(()=>import(`./groovy-DS-pne5-.js`),[]))},{id:`hack`,name:`Hack`,import:(()=>B(()=>import(`./hack-CXIMX-Ol.js`),__vite__mapDeps([127,76,1,77,78,91])))},{id:`haml`,name:`Ruby Haml`,import:(()=>B(()=>import(`./haml-tPY-9Pfm.js`).then(e=>e.n),__vite__mapDeps([111,1,77,78])))},{id:`handlebars`,name:`Handlebars`,aliases:[`hbs`],import:(()=>B(()=>import(`./handlebars-BuW1LT7T.js`),__vite__mapDeps([128,77,1,76,78,113])))},{id:`haskell`,name:`Haskell`,aliases:[`hs`],import:(()=>B(()=>import(`./haskell-uQcywkDH.js`),[]))},{id:`haxe`,name:`Haxe`,import:(()=>B(()=>import(`./haxe-c6bI4_GT.js`),[]))},{id:`hcl`,name:`HashiCorp HCL`,import:(()=>B(()=>import(`./hcl-CQXTiEXq.js`),[]))},{id:`hjson`,name:`Hjson`,import:(()=>B(()=>import(`./hjson-ChETf2bz.js`),[]))},{id:`hlsl`,name:`HLSL`,import:(()=>B(()=>import(`./hlsl-BMC4JGoE.js`),[]))},{id:`html`,name:`HTML`,import:(()=>B(()=>import(`./html-bgVcwZ-t.js`).then(e=>e.n),__vite__mapDeps([76,1,77,78])))},{id:`html-derivative`,name:`HTML (Derivative)`,import:(()=>B(()=>import(`./html-derivative-D6-IxTgn.js`),__vite__mapDeps([90,76,1,77,78])))},{id:`http`,name:`HTTP`,import:(()=>B(()=>import(`./http-CJ1zyB-h.js`),__vite__mapDeps([129,109,1,78,110,87,88,82,103,83,84])))},{id:`hurl`,name:`Hurl`,import:(()=>B(()=>import(`./hurl-CmoT7l3T.js`),__vite__mapDeps([130,131,109,1,78,110,87,88,83,84])))},{id:`hxml`,name:`HXML`,import:(()=>B(()=>import(`./hxml-CztOsL8o.js`),__vite__mapDeps([132,133])))},{id:`hy`,name:`Hy`,import:(()=>B(()=>import(`./hy-D_SOuqw9.js`),[]))},{id:`imba`,name:`Imba`,import:(()=>B(()=>import(`./imba-BxLOHO5I.js`),[]))},{id:`ini`,name:`INI`,aliases:[`properties`],import:(()=>B(()=>import(`./ini-ox-CFcg0.js`),[]))},{id:`java`,name:`Java`,import:(()=>B(()=>import(`./java-Bzo8yIal.js`).then(e=>e.n),__vite__mapDeps([84,1])))},{id:`javascript`,name:`JavaScript`,aliases:[`js`,`cjs`,`mjs`],import:(()=>B(()=>import(`./javascript-DHuz9VXn.js`).then(e=>e.n),__vite__mapDeps([78,1])))},{id:`jinja`,name:`Jinja`,import:(()=>B(()=>import(`./jinja-B1pq3jJq.js`),__vite__mapDeps([134,76,1,77,78])))},{id:`jison`,name:`Jison`,import:(()=>B(()=>import(`./jison-D8B5pCwA.js`),__vite__mapDeps([135,78,1])))},{id:`json`,name:`JSON`,import:(()=>B(()=>import(`./json-0_y80FD5.js`).then(e=>e.n),__vite__mapDeps([82,1])))},{id:`json5`,name:`JSON5`,import:(()=>B(()=>import(`./json5-CEQ50pGM.js`),[]))},{id:`jsonc`,name:`JSON with Comments`,import:(()=>B(()=>import(`./jsonc-CfrLEAKA.js`),[]))},{id:`jsonl`,name:`JSON Lines`,import:(()=>B(()=>import(`./jsonl-fKbrANC2.js`),[]))},{id:`jsonnet`,name:`Jsonnet`,import:(()=>B(()=>import(`./jsonnet-DKbkPaQ2.js`),[]))},{id:`jssm`,name:`JSSM`,aliases:[`fsl`],import:(()=>B(()=>import(`./jssm-Dxxx1Hqu.js`),[]))},{id:`jsx`,name:`JSX`,import:(()=>B(()=>import(`./jsx-DlJL-Oj3.js`).then(e=>e.n),__vite__mapDeps([110,1])))},{id:`julia`,name:`Julia`,aliases:[`jl`],import:(()=>B(()=>import(`./julia-D0K3bwpU.js`),__vite__mapDeps([136,99,1,100,94,101,91,78,96,137])))},{id:`just`,name:`Just`,import:(()=>B(()=>import(`./just-B9Jlddu-.js`),__vite__mapDeps([138,78,1,139,77,76,91,83,84,96,108,94,99,100,101,109,110,87,88,111,112,103,113])))},{id:`kdl`,name:`KDL`,import:(()=>B(()=>import(`./kdl-DvtoJdFo.js`),[]))},{id:`kotlin`,name:`Kotlin`,aliases:[`kt`,`kts`],import:(()=>B(()=>import(`./kotlin-CTS4MLcx.js`),[]))},{id:`kusto`,name:`Kusto`,aliases:[`kql`],import:(()=>B(()=>import(`./kusto-HtSE_sKm.js`),[]))},{id:`latex`,name:`LaTeX`,import:(()=>B(()=>import(`./latex-BPJSSE6j.js`),__vite__mapDeps([140,141,137,1])))},{id:`lean`,name:`Lean 4`,aliases:[`lean4`],import:(()=>B(()=>import(`./lean-BYtGUfWx.js`),[]))},{id:`less`,name:`Less`,import:(()=>B(()=>import(`./less-BoxmU_Mk.js`),[]))},{id:`liquid`,name:`Liquid`,import:(()=>B(()=>import(`./liquid-lv10fo4U.js`),__vite__mapDeps([142,77,1,76,78,82])))},{id:`llvm`,name:`LLVM IR`,import:(()=>B(()=>import(`./llvm-CSdk9q9V.js`),[]))},{id:`log`,name:`Log file`,import:(()=>B(()=>import(`./log-B-kp_3CL.js`),[]))},{id:`logo`,name:`Logo`,import:(()=>B(()=>import(`./logo-DdIsXFDO.js`),[]))},{id:`lua`,name:`Lua`,import:(()=>B(()=>import(`./lua-PNuaIBEF.js`).then(e=>e.n),__vite__mapDeps([112,1,94])))},{id:`luau`,name:`Luau`,import:(()=>B(()=>import(`./luau-DUBpLlzQ.js`),[]))},{id:`make`,name:`Makefile`,aliases:[`makefile`],import:(()=>B(()=>import(`./make-B3JVjoW_.js`),[]))},{id:`markdown`,name:`Markdown`,aliases:[`md`],import:(()=>B(()=>import(`./markdown-Seon0vHs.js`),[]))},{id:`marko`,name:`Marko`,import:(()=>B(()=>import(`./marko-Du3frD6X.js`),__vite__mapDeps([143,77,1,144,80,88])))},{id:`matlab`,name:`MATLAB`,import:(()=>B(()=>import(`./matlab-C2waytxs.js`),[]))},{id:`mdc`,name:`MDC`,import:(()=>B(()=>import(`./mdc-BeDVcFRl.js`),__vite__mapDeps([145,90,76,1,77,78,115,113])))},{id:`mdx`,name:`MDX`,import:(()=>B(()=>import(`./mdx-DAis6R6I.js`),[]))},{id:`mermaid`,name:`Mermaid`,aliases:[`mmd`],import:(()=>B(()=>import(`./mermaid-_rnT2YGD.js`),[]))},{id:`mipsasm`,name:`MIPS Assembly`,aliases:[`mips`],import:(()=>B(()=>import(`./mipsasm-bBgtvPyG.js`),[]))},{id:`mojo`,name:`Mojo`,import:(()=>B(()=>import(`./mojo-Cp9BayW0.js`),[]))},{id:`moonbit`,name:`MoonBit`,aliases:[`mbt`,`mbti`],import:(()=>B(()=>import(`./moonbit-BS_fcr-P.js`),[]))},{id:`move`,name:`Move`,import:(()=>B(()=>import(`./move-C79AH45U.js`),[]))},{id:`narrat`,name:`Narrat Language`,aliases:[`nar`],import:(()=>B(()=>import(`./narrat-CJ5s3BDf.js`),[]))},{id:`nextflow`,name:`Nextflow`,aliases:[`nf`],import:(()=>B(()=>import(`./nextflow-DkcXP71s.js`),__vite__mapDeps([146,147])))},{id:`nextflow-groovy`,name:`Nextflow Groovy`,import:(()=>B(()=>import(`./nextflow-groovy-ZHa4JrPJ.js`),[]))},{id:`nginx`,name:`Nginx`,import:(()=>B(()=>import(`./nginx-C5n8N_bt.js`),__vite__mapDeps([148,112,1,94])))},{id:`nim`,name:`Nim`,import:(()=>B(()=>import(`./nim-CIhyfs-A.js`),__vite__mapDeps([149,94,1,77,100,76,78,115,83,84])))},{id:`nix`,name:`Nix`,import:(()=>B(()=>import(`./nix-D2Jet9DN.js`),[]))},{id:`nushell`,name:`nushell`,aliases:[`nu`],import:(()=>B(()=>import(`./nushell-CAiDi_mR.js`),[]))},{id:`objective-c`,name:`Objective-C`,aliases:[`objc`],import:(()=>B(()=>import(`./objective-c-CVkmJkC1.js`),[]))},{id:`objective-cpp`,name:`Objective-C++`,import:(()=>B(()=>import(`./objective-cpp-DIKDO1Ly.js`),[]))},{id:`ocaml`,name:`OCaml`,import:(()=>B(()=>import(`./ocaml-R9qtGQhs.js`),[]))},{id:`odin`,name:`Odin`,import:(()=>B(()=>import(`./odin-DTYNQqVr.js`),[]))},{id:`openscad`,name:`OpenSCAD`,aliases:[`scad`],import:(()=>B(()=>import(`./openscad-BlPcSnmT.js`),[]))},{id:`pascal`,name:`Pascal`,import:(()=>B(()=>import(`./pascal-B1Y46ZZB.js`),[]))},{id:`perl`,name:`Perl`,import:(()=>B(()=>import(`./perl-Cf31sZYE.js`),__vite__mapDeps([139,77,1,76,78,91,83,84])))},{id:`php`,name:`PHP`,import:(()=>B(()=>import(`./php-Dzl_MDIW.js`),__vite__mapDeps([150,77,1,76,78,82,91,83,84])))},{id:`pkl`,name:`Pkl`,import:(()=>B(()=>import(`./pkl-BhJSJbFv.js`),[]))},{id:`plsql`,name:`PL/SQL`,import:(()=>B(()=>import(`./plsql-DBba7dyP.js`),[]))},{id:`po`,name:`Gettext PO`,aliases:[`pot`,`potx`],import:(()=>B(()=>import(`./po-BvgLlnNo.js`),[]))},{id:`polar`,name:`Polar`,import:(()=>B(()=>import(`./polar-C7uILwJn.js`),[]))},{id:`postcss`,name:`PostCSS`,import:(()=>B(()=>import(`./postcss-BgJlpFdw.js`),[]))},{id:`powerquery`,name:`PowerQuery`,import:(()=>B(()=>import(`./powerquery-Dn1MIpZu.js`),[]))},{id:`powershell`,name:`PowerShell`,aliases:[`ps`,`ps1`],import:(()=>B(()=>import(`./powershell-Bo-DYzOS.js`),[]))},{id:`prisma`,name:`Prisma`,import:(()=>B(()=>import(`./prisma-CTLs5IdT.js`),[]))},{id:`prolog`,name:`Prolog`,import:(()=>B(()=>import(`./prolog-QRGun3eG.js`),[]))},{id:`proto`,name:`Protocol Buffer 3`,aliases:[`protobuf`],import:(()=>B(()=>import(`./proto-B7PI7apn.js`),[]))},{id:`pug`,name:`Pug`,aliases:[`jade`],import:(()=>B(()=>import(`./pug-CxSYHrB3.js`),__vite__mapDeps([151,77,1,76,78])))},{id:`puppet`,name:`Puppet`,import:(()=>B(()=>import(`./puppet-CBq0tLrP.js`),[]))},{id:`purescript`,name:`PureScript`,import:(()=>B(()=>import(`./purescript-DFewOQb2.js`),[]))},{id:`python`,name:`Python`,aliases:[`py`],import:(()=>B(()=>import(`./python-iWuxKXvT.js`),[]))},{id:`qml`,name:`QML`,import:(()=>B(()=>import(`./qml-DlEjGhwN.js`),__vite__mapDeps([152,78,1])))},{id:`qmldir`,name:`QML Directory`,import:(()=>B(()=>import(`./qmldir-cXiW3AsF.js`),[]))},{id:`qss`,name:`Qt Style Sheets`,import:(()=>B(()=>import(`./qss-DASwAbBL.js`),[]))},{id:`r`,name:`R`,import:(()=>B(()=>import(`./r-TU2eaIPw.js`).then(e=>e.n),__vite__mapDeps([137,1])))},{id:`racket`,name:`Racket`,import:(()=>B(()=>import(`./racket-SkRKqrLY.js`),[]))},{id:`raku`,name:`Raku`,aliases:[`perl6`],import:(()=>B(()=>import(`./raku-D31lthkZ.js`),[]))},{id:`razor`,name:`ASP.NET Razor`,import:(()=>B(()=>import(`./razor-KVt5uW14.js`),__vite__mapDeps([153,154,76,1,77,78])))},{id:`reg`,name:`Windows Registry Script`,import:(()=>B(()=>import(`./reg-D8YAsTGf.js`),[]))},{id:`regexp`,name:`RegExp`,aliases:[`regex`],import:(()=>B(()=>import(`./regexp-CD2uvAWx.js`).then(e=>e.n),__vite__mapDeps([101,1])))},{id:`rel`,name:`Rel`,import:(()=>B(()=>import(`./rel-CAaI-1fg.js`),[]))},{id:`riscv`,name:`RISC-V`,import:(()=>B(()=>import(`./riscv-DR-hJVIj.js`),[]))},{id:`ron`,name:`RON`,import:(()=>B(()=>import(`./ron-CuUCJ0n4.js`),[]))},{id:`rosmsg`,name:`ROS Interface`,import:(()=>B(()=>import(`./rosmsg-CI1ywimO.js`),[]))},{id:`rst`,name:`reStructuredText`,import:(()=>B(()=>import(`./rst-D5BwNTnw.js`),__vite__mapDeps([155,156,99,1,100,94,101,91,90,76,77,78,96,108,109,110,87,88,111,112,103,83,84,113])))},{id:`ruby`,name:`Ruby`,aliases:[`rb`],import:(()=>B(()=>import(`./ruby-D5fejQwd.js`),__vite__mapDeps([108,94,1,99,100,101,91,77,109,78,110,87,88,111,76,112,103,83,84,113])))},{id:`rust`,name:`Rust`,aliases:[`rs`],import:(()=>B(()=>import(`./rust-p7Imk4G_.js`),[]))},{id:`sas`,name:`SAS`,import:(()=>B(()=>import(`./sas-Bj7B1CB2.js`),__vite__mapDeps([157,91,1])))},{id:`sass`,name:`Sass`,import:(()=>B(()=>import(`./sass-C8JfaqCV.js`),[]))},{id:`scala`,name:`Scala`,import:(()=>B(()=>import(`./scala-DNxCW1By.js`),[]))},{id:`scheme`,name:`Scheme`,import:(()=>B(()=>import(`./scheme-BYuUPJoL.js`),[]))},{id:`scss`,name:`SCSS`,import:(()=>B(()=>import(`./scss-BB0CUoCL.js`).then(e=>e.n),__vite__mapDeps([80,1,77])))},{id:`sdbl`,name:`1C (Query)`,aliases:[`1c-query`],import:(()=>B(()=>import(`./sdbl-DbPeJPUr.js`),[]))},{id:`shaderlab`,name:`ShaderLab`,aliases:[`shader`],import:(()=>B(()=>import(`./shaderlab-BdjEZUMc.js`),__vite__mapDeps([158,159])))},{id:`shellscript`,name:`Shell`,aliases:[`bash`,`sh`,`shell`,`zsh`],import:(()=>B(()=>import(`./shellscript-DMiHlR3q.js`).then(e=>e.n),__vite__mapDeps([103,1])))},{id:`shellsession`,name:`Shell Session`,aliases:[`console`],import:(()=>B(()=>import(`./shellsession-Bp1OA1rR.js`),__vite__mapDeps([160,103,1])))},{id:`smalltalk`,name:`Smalltalk`,import:(()=>B(()=>import(`./smalltalk-LDeL9PYH.js`),[]))},{id:`solidity`,name:`Solidity`,import:(()=>B(()=>import(`./solidity-CAbDB4D4.js`),[]))},{id:`soy`,name:`Closure Templates`,aliases:[`closure-templates`],import:(()=>B(()=>import(`./soy-DlYz3wsC.js`),__vite__mapDeps([161,76,1,77,78])))},{id:`sparql`,name:`SPARQL`,import:(()=>B(()=>import(`./sparql-CdfII5Jd.js`),__vite__mapDeps([162,163])))},{id:`splunk`,name:`Splunk Query Language`,aliases:[`spl`],import:(()=>B(()=>import(`./splunk-kQREPfIc.js`),[]))},{id:`sql`,name:`SQL`,import:(()=>B(()=>import(`./sql-CBzeNAD8.js`).then(e=>e.n),__vite__mapDeps([91,1])))},{id:`ssh-config`,name:`SSH Config`,import:(()=>B(()=>import(`./ssh-config-L1euxrsM.js`),[]))},{id:`stata`,name:`Stata`,import:(()=>B(()=>import(`./stata-BvUA6GUW.js`),__vite__mapDeps([164,91,1])))},{id:`stylus`,name:`Stylus`,aliases:[`styl`],import:(()=>B(()=>import(`./stylus-DvBnYniP.js`),[]))},{id:`surrealql`,name:`SurrealQL`,aliases:[`surql`],import:(()=>B(()=>import(`./surrealql--DLNbTyI.js`),__vite__mapDeps([165,78,1])))},{id:`svelte`,name:`Svelte`,import:(()=>B(()=>import(`./svelte-CBfSsG4n.js`),__vite__mapDeps([166,77,1,78,86,88])))},{id:`swift`,name:`Swift`,import:(()=>B(()=>import(`./swift-DF5NDQp6.js`),[]))},{id:`system-verilog`,name:`SystemVerilog`,import:(()=>B(()=>import(`./system-verilog-D8s2ZW_k.js`),[]))},{id:`systemd`,name:`Systemd Units`,import:(()=>B(()=>import(`./systemd-a5-XZJsG.js`),[]))},{id:`talonscript`,name:`TalonScript`,aliases:[`talon`],import:(()=>B(()=>import(`./talonscript-BLa0URTW.js`),[]))},{id:`tasl`,name:`Tasl`,import:(()=>B(()=>import(`./tasl-DIoV4XcC.js`),[]))},{id:`tcl`,name:`Tcl`,import:(()=>B(()=>import(`./tcl-ztYAdXfQ.js`),[]))},{id:`templ`,name:`Templ`,import:(()=>B(()=>import(`./templ-Dv8zpKZW.js`),__vite__mapDeps([167,77,1,168,78])))},{id:`terraform`,name:`Terraform`,aliases:[`tf`,`tfvars`],import:(()=>B(()=>import(`./terraform-DvpCCiOZ.js`),[]))},{id:`tex`,name:`TeX`,import:(()=>B(()=>import(`./tex-CsrOiqh1.js`),__vite__mapDeps([141,137,1])))},{id:`toml`,name:`TOML`,import:(()=>B(()=>import(`./toml-acIrxos6.js`),[]))},{id:`ts-tags`,name:`TypeScript with Tags`,aliases:[`lit`],import:(()=>B(()=>import(`./ts-tags-3T98k4EJ.js`),__vite__mapDeps([169,77,1,100,94,76,78,91,88,83,84])))},{id:`tsv`,name:`TSV`,import:(()=>B(()=>import(`./tsv-BJB5EVCT.js`),[]))},{id:`tsx`,name:`TSX`,import:(()=>B(()=>import(`./tsx-B1MmXGT3.js`).then(e=>e.n),__vite__mapDeps([87,1])))},{id:`turtle`,name:`Turtle`,import:(()=>B(()=>import(`./turtle-DFceTiqd.js`),[]))},{id:`twig`,name:`Twig`,import:(()=>B(()=>import(`./twig-u6QZ45FH.js`),__vite__mapDeps([170,77,1,78,150,76,82,91,83,84,96,108,94,99,100,101,109,110,87,88,111,112,103,113,80])))},{id:`typescript`,name:`TypeScript`,aliases:[`ts`,`cts`,`mts`],import:(()=>B(()=>import(`./typescript-Dz9wU5Y1.js`).then(e=>e.n),__vite__mapDeps([88,1])))},{id:`typespec`,name:`TypeSpec`,aliases:[`tsp`],import:(()=>B(()=>import(`./typespec-CPuYZijj.js`),[]))},{id:`typst`,name:`Typst`,aliases:[`typ`],import:(()=>B(()=>import(`./typst-CfsCIYv8.js`),[]))},{id:`v`,name:`V`,import:(()=>B(()=>import(`./v-CGo0jcXA.js`),[]))},{id:`vala`,name:`Vala`,import:(()=>B(()=>import(`./vala-AsSR0hrb.js`),[]))},{id:`vb`,name:`Visual Basic`,aliases:[`cmd`],import:(()=>B(()=>import(`./vb-C7tvbXv1.js`),[]))},{id:`verilog`,name:`Verilog`,import:(()=>B(()=>import(`./verilog--a33ND-p.js`),[]))},{id:`vhdl`,name:`VHDL`,import:(()=>B(()=>import(`./vhdl-CWL5dZPN.js`),[]))},{id:`viml`,name:`Vim Script`,aliases:[`vim`,`vimscript`],import:(()=>B(()=>import(`./viml-BglmT14Y.js`),[]))},{id:`vue`,name:`Vue`,import:(()=>B(()=>import(`./vue-CxIsxtwn.js`),__vite__mapDeps([171,77,1,90,76,78,82,88])))},{id:`vue-html`,name:`Vue HTML`,import:(()=>B(()=>import(`./vue-html-BGL5qnuH.js`),__vite__mapDeps([172,78,1])))},{id:`vue-vine`,name:`Vue Vine`,import:(()=>B(()=>import(`./vue-vine-DHPh_gMr.js`),__vite__mapDeps([173,77,1,78,144,86,80,174])))},{id:`vyper`,name:`Vyper`,aliases:[`vy`],import:(()=>B(()=>import(`./vyper-CgCBYg1G.js`),[]))},{id:`wasm`,name:`WebAssembly`,import:(()=>B(()=>import(`./wasm-BOG7ZeTT.js`),[]))},{id:`wenyan`,name:`Wenyan`,aliases:[`文言`],import:(()=>B(()=>import(`./wenyan-DpShPKXZ.js`),[]))},{id:`wgsl`,name:`WGSL`,import:(()=>B(()=>import(`./wgsl-BakcCblK.js`),[]))},{id:`wikitext`,name:`Wikitext`,aliases:[`mediawiki`,`wiki`],import:(()=>B(()=>import(`./wikitext-NroRWVAO.js`),[]))},{id:`wit`,name:`WebAssembly Interface Types`,import:(()=>B(()=>import(`./wit-B5CM2pg6.js`),[]))},{id:`wolfram`,name:`Wolfram`,aliases:[`wl`],import:(()=>B(()=>import(`./wolfram-7MTFBJpR.js`),[]))},{id:`xml`,name:`XML`,import:(()=>B(()=>import(`./xml-C-vM2m7J.js`).then(e=>e.n),__vite__mapDeps([83,1,84])))},{id:`xsl`,name:`XSL`,import:(()=>B(()=>import(`./xsl-DvTXNwuO.js`),__vite__mapDeps([175,83,1,84])))},{id:`yaml`,name:`YAML`,aliases:[`yml`],import:(()=>B(()=>import(`./yaml-Bwr01G2K.js`).then(e=>e.n),__vite__mapDeps([113,1])))},{id:`zenscript`,name:`ZenScript`,import:(()=>B(()=>import(`./zenscript-Dj8GATvi.js`),[]))},{id:`zig`,name:`Zig`,import:(()=>B(()=>import(`./zig-LAE-fbS-.js`),[]))}],wS=Object.fromEntries(CS.map(e=>[e.id,e.import])),TS=Object.fromEntries(CS.flatMap(e=>e.aliases?.map(t=>[t,e.import])||[])),ES={...wS,...TS},DS=Object.fromEntries([{id:`andromeeda`,displayName:`Andromeeda`,type:`dark`,import:(()=>B(()=>import(`./andromeeda-DF1I8qi3.js`),[]))},{id:`aurora-x`,displayName:`Aurora X`,type:`dark`,import:(()=>B(()=>import(`./aurora-x-De_IaSKw.js`),[]))},{id:`ayu-dark`,displayName:`Ayu Dark`,type:`dark`,import:(()=>B(()=>import(`./ayu-dark-DTLdZ1Si.js`),[]))},{id:`ayu-light`,displayName:`Ayu Light`,type:`light`,import:(()=>B(()=>import(`./ayu-light-DTOfkzhu.js`),[]))},{id:`ayu-mirage`,displayName:`Ayu Mirage`,type:`dark`,import:(()=>B(()=>import(`./ayu-mirage-DsAECCMv.js`),[]))},{id:`catppuccin-frappe`,displayName:`Catppuccin Frappé`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-frappe-DLeGslh_.js`),[]))},{id:`catppuccin-latte`,displayName:`Catppuccin Latte`,type:`light`,import:(()=>B(()=>import(`./catppuccin-latte-CR5GeHws.js`),[]))},{id:`catppuccin-macchiato`,displayName:`Catppuccin Macchiato`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-macchiato-p-XgjxhP.js`),[]))},{id:`catppuccin-mocha`,displayName:`Catppuccin Mocha`,type:`dark`,import:(()=>B(()=>import(`./catppuccin-mocha-B8QOAZLl.js`),[]))},{id:`dark-plus`,displayName:`Dark Plus`,type:`dark`,import:(()=>B(()=>import(`./dark-plus-XfbaH7kZ.js`),[]))},{id:`dracula`,displayName:`Dracula Theme`,type:`dark`,import:(()=>B(()=>import(`./dracula-B9lbE01y.js`),[]))},{id:`dracula-soft`,displayName:`Dracula Theme Soft`,type:`dark`,import:(()=>B(()=>import(`./dracula-soft-CMBBfKF_.js`),[]))},{id:`everforest-dark`,displayName:`Everforest Dark`,type:`dark`,import:(()=>B(()=>import(`./everforest-dark-DbHa2U-p.js`),[]))},{id:`everforest-light`,displayName:`Everforest Light`,type:`light`,import:(()=>B(()=>import(`./everforest-light-BISkJchP.js`),[]))},{id:`github-dark`,displayName:`GitHub Dark`,type:`dark`,import:(()=>B(()=>import(`./github-dark-C9afs_4w.js`),[]))},{id:`github-dark-default`,displayName:`GitHub Dark Default`,type:`dark`,import:(()=>B(()=>import(`./github-dark-default-CKGVrl3Z.js`),[]))},{id:`github-dark-dimmed`,displayName:`GitHub Dark Dimmed`,type:`dark`,import:(()=>B(()=>import(`./github-dark-dimmed-C3dQZ_LC.js`),[]))},{id:`github-dark-high-contrast`,displayName:`GitHub Dark High Contrast`,type:`dark`,import:(()=>B(()=>import(`./github-dark-high-contrast-DW78QukY.js`),[]))},{id:`github-light`,displayName:`GitHub Light`,type:`light`,import:(()=>B(()=>import(`./github-light-BnP2dznS.js`),[]))},{id:`github-light-default`,displayName:`GitHub Light Default`,type:`light`,import:(()=>B(()=>import(`./github-light-default-C2fPZzPG.js`),[]))},{id:`github-light-high-contrast`,displayName:`GitHub Light High Contrast`,type:`light`,import:(()=>B(()=>import(`./github-light-high-contrast-BzIuUFR2.js`),[]))},{id:`gruvbox-dark-hard`,displayName:`Gruvbox Dark Hard`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-hard-C0W01fsq.js`),[]))},{id:`gruvbox-dark-medium`,displayName:`Gruvbox Dark Medium`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-medium-Bqo6fQbg.js`),[]))},{id:`gruvbox-dark-soft`,displayName:`Gruvbox Dark Soft`,type:`dark`,import:(()=>B(()=>import(`./gruvbox-dark-soft-D-XSM_fu.js`),[]))},{id:`gruvbox-light-hard`,displayName:`Gruvbox Light Hard`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-hard-IVAwMJRl.js`),[]))},{id:`gruvbox-light-medium`,displayName:`Gruvbox Light Medium`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-medium-38ATiG7i.js`),[]))},{id:`gruvbox-light-soft`,displayName:`Gruvbox Light Soft`,type:`light`,import:(()=>B(()=>import(`./gruvbox-light-soft-DnZr3c_0.js`),[]))},{id:`horizon`,displayName:`Horizon`,type:`dark`,import:(()=>B(()=>import(`./horizon-BusFlhLW.js`),[]))},{id:`horizon-bright`,displayName:`Horizon Bright`,type:`light`,import:(()=>B(()=>import(`./horizon-bright-2oD0Mz7W.js`),[]))},{id:`houston`,displayName:`Houston`,type:`dark`,import:(()=>B(()=>import(`./houston-DdbbjqFg.js`),[]))},{id:`kanagawa-dragon`,displayName:`Kanagawa Dragon`,type:`dark`,import:(()=>B(()=>import(`./kanagawa-dragon-CwN4SV1c.js`),[]))},{id:`kanagawa-lotus`,displayName:`Kanagawa Lotus`,type:`light`,import:(()=>B(()=>import(`./kanagawa-lotus-BHltayiE.js`),[]))},{id:`kanagawa-wave`,displayName:`Kanagawa Wave`,type:`dark`,import:(()=>B(()=>import(`./kanagawa-wave-D-KXPjw6.js`),[]))},{id:`laserwave`,displayName:`LaserWave`,type:`dark`,import:(()=>B(()=>import(`./laserwave-DaXZG9ge.js`),[]))},{id:`light-plus`,displayName:`Light Plus`,type:`light`,import:(()=>B(()=>import(`./light-plus-Bt5CyUuo.js`),[]))},{id:`material-theme`,displayName:`Material Theme`,type:`dark`,import:(()=>B(()=>import(`./material-theme-Nq-ChX1P.js`),[]))},{id:`material-theme-darker`,displayName:`Material Theme Darker`,type:`dark`,import:(()=>B(()=>import(`./material-theme-darker-CPV4ayXJ.js`),[]))},{id:`material-theme-lighter`,displayName:`Material Theme Lighter`,type:`light`,import:(()=>B(()=>import(`./material-theme-lighter-0kyjYqEd.js`),[]))},{id:`material-theme-ocean`,displayName:`Material Theme Ocean`,type:`dark`,import:(()=>B(()=>import(`./material-theme-ocean-DGpAp5co.js`),[]))},{id:`material-theme-palenight`,displayName:`Material Theme Palenight`,type:`dark`,import:(()=>B(()=>import(`./material-theme-palenight-B0AUn0NG.js`),[]))},{id:`min-dark`,displayName:`Min Dark`,type:`dark`,import:(()=>B(()=>import(`./min-dark-BSSjchUB.js`),[]))},{id:`min-light`,displayName:`Min Light`,type:`light`,import:(()=>B(()=>import(`./min-light-DomAFQsa.js`),[]))},{id:`monokai`,displayName:`Monokai`,type:`dark`,import:(()=>B(()=>import(`./monokai-CL_9gbmn.js`),[]))},{id:`night-owl`,displayName:`Night Owl`,type:`dark`,import:(()=>B(()=>import(`./night-owl-Jkf9zFQK.js`),[]))},{id:`night-owl-light`,displayName:`Night Owl Light`,type:`light`,import:(()=>B(()=>import(`./night-owl-light-DRPeaG5J.js`),[]))},{id:`nord`,displayName:`Nord`,type:`dark`,import:(()=>B(()=>import(`./nord-CREVs22j.js`),[]))},{id:`one-dark-pro`,displayName:`One Dark Pro`,type:`dark`,import:(()=>B(()=>import(`./one-dark-pro-BSLWUJn5.js`),[]))},{id:`one-light`,displayName:`One Light`,type:`light`,import:(()=>B(()=>import(`./one-light-DbkRXG3t.js`),[]))},{id:`plastic`,displayName:`Plastic`,type:`dark`,import:(()=>B(()=>import(`./plastic-BzxsCTpi.js`),[]))},{id:`poimandres`,displayName:`Poimandres`,type:`dark`,import:(()=>B(()=>import(`./poimandres-DUaI_1JP.js`),[]))},{id:`red`,displayName:`Red`,type:`dark`,import:(()=>B(()=>import(`./red-CTcQZevb.js`),[]))},{id:`rose-pine`,displayName:`Rosé Pine`,type:`dark`,import:(()=>B(()=>import(`./rose-pine-aFHxW48i.js`),[]))},{id:`rose-pine-dawn`,displayName:`Rosé Pine Dawn`,type:`light`,import:(()=>B(()=>import(`./rose-pine-dawn-Bqz2sBRY.js`),[]))},{id:`rose-pine-moon`,displayName:`Rosé Pine Moon`,type:`dark`,import:(()=>B(()=>import(`./rose-pine-moon-wqyh0an4.js`),[]))},{id:`slack-dark`,displayName:`Slack Dark`,type:`dark`,import:(()=>B(()=>import(`./slack-dark-C4xGcQXI.js`),[]))},{id:`slack-ochin`,displayName:`Slack Ochin`,type:`light`,import:(()=>B(()=>import(`./slack-ochin-BzgRt_wm.js`),[]))},{id:`snazzy-light`,displayName:`Snazzy Light`,type:`light`,import:(()=>B(()=>import(`./snazzy-light-CXE7a5j_.js`),[]))},{id:`solarized-dark`,displayName:`Solarized Dark`,type:`dark`,import:(()=>B(()=>import(`./solarized-dark-DgUhY74x.js`),[]))},{id:`solarized-light`,displayName:`Solarized Light`,type:`light`,import:(()=>B(()=>import(`./solarized-light-DD9C-H-9.js`),[]))},{id:`synthwave-84`,displayName:`Synthwave '84`,type:`dark`,import:(()=>B(()=>import(`./synthwave-84-DbBhB_Hq.js`),[]))},{id:`tokyo-night`,displayName:`Tokyo Night`,type:`dark`,import:(()=>B(()=>import(`./tokyo-night-BkHlYUv0.js`),[]))},{id:`vesper`,displayName:`Vesper`,type:`dark`,import:(()=>B(()=>import(`./vesper-B_Z0h4pn.js`),[]))},{id:`vitesse-black`,displayName:`Vitesse Black`,type:`dark`,import:(()=>B(()=>import(`./vitesse-black-RKFsSqQI.js`),[]))},{id:`vitesse-dark`,displayName:`Vitesse Dark`,type:`dark`,import:(()=>B(()=>import(`./vitesse-dark-D7zDWNmc.js`),[]))},{id:`vitesse-light`,displayName:`Vitesse Light`,type:`light`,import:(()=>B(()=>import(`./vitesse-light-MAp87W5b.js`),[]))}].map(e=>[e.id,e.import])),OS=t({createOnigurumaEngine:()=>nC,getDefaultWasmLoader:()=>tC,loadWasm:()=>YS,setDefaultWasmLoader:()=>eC}),kS=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function AS(){return 2147483648}function jS(){return typeof performance<`u`?performance.now():Date.now()}var MS=(e,t)=>e+(t-e%t)%t;async function NS(e){let t,n,r={};function i(e){n=e,r.HEAPU8=new Uint8Array(e),r.HEAPU32=new Uint32Array(e)}function a(e,t,n){r.HEAPU8.copyWithin(e,t,t+n)}function o(e){try{return t.grow(e-n.byteLength+65535>>>16),i(t.buffer),1}catch{}}function s(e){let t=r.HEAPU8.length;e>>>=0;let n=AS();if(e>n)return!1;for(let r=1;r<=4;r*=2){let i=t*(1+.2/r);if(i=Math.min(i,e+100663296),o(Math.min(n,MS(Math.max(e,i),65536))))return!0}return!1}let c=typeof TextDecoder<`u`?new TextDecoder(`utf8`):void 0;function l(e,t,n=1024){let r=t+n,i=t;for(;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&c)return c.decode(e.subarray(t,i));let a=``;for(;t<i;){let n=e[t++];if(!(n&128)){a+=String.fromCharCode(n);continue}let r=e[t++]&63;if((n&224)==192){a+=String.fromCharCode((n&31)<<6|r);continue}let i=e[t++]&63;if(n=(n&240)==224?(n&15)<<12|r<<6|i:(n&7)<<18|r<<12|i<<6|e[t++]&63,n<65536)a+=String.fromCharCode(n);else{let e=n-65536;a+=String.fromCharCode(55296|e>>10,56320|e&1023)}}return a}function u(e,t){return e?l(r.HEAPU8,e,t):``}let d={emscripten_get_now:jS,emscripten_memcpy_big:a,emscripten_resize_heap:s,fd_write:()=>0};async function f(){let n=await e({env:d,wasi_snapshot_preview1:d});t=n.memory,i(t.buffer),Object.assign(r,n),r.UTF8ToString=u}return await f(),r}var PS=Object.defineProperty,FS=(e,t,n)=>t in e?PS(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,IS=(e,t,n)=>FS(e,typeof t==`symbol`?t:t+``,n),LS=null;function RS(e){throw new kS(e.UTF8ToString(e.getLastOnigError()))}var zS=class e{constructor(t){IS(this,`utf16Length`),IS(this,`utf8Length`),IS(this,`utf16Value`),IS(this,`utf8Value`),IS(this,`utf16OffsetToUtf8`),IS(this,`utf8OffsetToUtf16`);let n=t.length,r=e._utf8ByteLength(t),i=r!==n,a=i?new Uint32Array(n+1):null;i&&(a[n]=r);let o=i?new Uint32Array(r+1):null;i&&(o[r]=n);let s=new Uint8Array(r),c=0;for(let e=0;e<n;e++){let r=t.charCodeAt(e),l=r,u=!1;if(r>=55296&&r<=56319&&e+1<n){let n=t.charCodeAt(e+1);n>=56320&&n<=57343&&(l=(r-55296<<10)+65536|n-56320,u=!0)}i&&(a[e]=c,u&&(a[e+1]=c),l<=127?o[c+0]=e:l<=2047?(o[c+0]=e,o[c+1]=e):l<=65535?(o[c+0]=e,o[c+1]=e,o[c+2]=e):(o[c+0]=e,o[c+1]=e,o[c+2]=e,o[c+3]=e)),l<=127?s[c++]=l:l<=2047?(s[c++]=192|(l&1984)>>>6,s[c++]=128|(l&63)>>>0):l<=65535?(s[c++]=224|(l&61440)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0):(s[c++]=240|(l&1835008)>>>18,s[c++]=128|(l&258048)>>>12,s[c++]=128|(l&4032)>>>6,s[c++]=128|(l&63)>>>0),u&&e++}this.utf16Length=n,this.utf8Length=r,this.utf16Value=t,this.utf8Value=s,this.utf16OffsetToUtf8=a,this.utf8OffsetToUtf16=o}static _utf8ByteLength(e){let t=0;for(let n=0,r=e.length;n<r;n++){let i=e.charCodeAt(n),a=i,o=!1;if(i>=55296&&i<=56319&&n+1<r){let t=e.charCodeAt(n+1);t>=56320&&t<=57343&&(a=(i-55296<<10)+65536|t-56320,o=!0)}a<=127?t+=1:a<=2047?t+=2:a<=65535?t+=3:t+=4,o&&n++}return t}createString(e){let t=e.omalloc(this.utf8Length);return e.HEAPU8.set(this.utf8Value,t),t}},BS=class e{constructor(t){if(IS(this,`id`,++e.LAST_ID),IS(this,`_onigBinding`),IS(this,`content`),IS(this,`utf16Length`),IS(this,`utf8Length`),IS(this,`utf16OffsetToUtf8`),IS(this,`utf8OffsetToUtf16`),IS(this,`ptr`),!LS)throw new kS(`Must invoke loadWasm first.`);this._onigBinding=LS,this.content=t;let n=new zS(t);this.utf16Length=n.utf16Length,this.utf8Length=n.utf8Length,this.utf16OffsetToUtf8=n.utf16OffsetToUtf8,this.utf8OffsetToUtf16=n.utf8OffsetToUtf16,this.utf8Length<1e4&&!e._sharedPtrInUse?(e._sharedPtr||=LS.omalloc(1e4),e._sharedPtrInUse=!0,LS.HEAPU8.set(n.utf8Value,e._sharedPtr),this.ptr=e._sharedPtr):this.ptr=n.createString(LS)}convertUtf8OffsetToUtf16(e){return this.utf8OffsetToUtf16?e<0?0:e>this.utf8Length?this.utf16Length:this.utf8OffsetToUtf16[e]:e}convertUtf16OffsetToUtf8(e){return this.utf16OffsetToUtf8?e<0?0:e>this.utf16Length?this.utf8Length:this.utf16OffsetToUtf8[e]:e}dispose(){this.ptr===e._sharedPtr?e._sharedPtrInUse=!1:this._onigBinding.ofree(this.ptr)}};IS(BS,`LAST_ID`,0),IS(BS,`_sharedPtr`,0),IS(BS,`_sharedPtrInUse`,!1);var VS=BS,HS=class{constructor(e){if(IS(this,`_onigBinding`),IS(this,`_ptr`),!LS)throw new kS(`Must invoke loadWasm first.`);let t=[],n=[];for(let r=0,i=e.length;r<i;r++){let i=new zS(e[r]);t[r]=i.createString(LS),n[r]=i.utf8Length}let r=LS.omalloc(4*e.length);LS.HEAPU32.set(t,r/4);let i=LS.omalloc(4*e.length);LS.HEAPU32.set(n,i/4);let a=LS.createOnigScanner(r,i,e.length);for(let n=0,r=e.length;n<r;n++)LS.ofree(t[n]);LS.ofree(i),LS.ofree(r),a===0&&RS(LS),this._onigBinding=LS,this._ptr=a}dispose(){this._onigBinding.freeOnigScanner(this._ptr)}findNextMatchSync(e,t,n){let r=0;if(typeof n==`number`&&(r=n),typeof e==`string`){e=new VS(e);let n=this._findNextMatchSync(e,t,!1,r);return e.dispose(),n}return this._findNextMatchSync(e,t,!1,r)}_findNextMatchSync(e,t,n,r){let i=this._onigBinding,a=i.findNextOnigScannerMatch(this._ptr,e.id,e.ptr,e.utf8Length,e.convertUtf16OffsetToUtf8(t),r);if(a===0)return null;let o=i.HEAPU32,s=a/4,c=o[s++],l=o[s++],u=[];for(let t=0;t<l;t++){let n=e.convertUtf8OffsetToUtf16(o[s++]),r=e.convertUtf8OffsetToUtf16(o[s++]);u[t]={start:n,end:r,length:r-n}}return{index:c,captureIndices:u}}};function US(e){return typeof e.instantiator==`function`}function WS(e){return typeof e.default==`function`}function GS(e){return e.data!==void 0}function KS(e){return typeof Response<`u`&&e instanceof Response}function qS(e){return typeof ArrayBuffer<`u`&&(e instanceof ArrayBuffer||ArrayBuffer.isView(e))||typeof Buffer<`u`&&Buffer.isBuffer?.(e)||typeof SharedArrayBuffer<`u`&&e instanceof SharedArrayBuffer||typeof Uint32Array<`u`&&e instanceof Uint32Array}var JS;function YS(e){if(JS)return JS;async function t(){LS=await NS(async t=>{let n=e;return n=await n,typeof n==`function`&&(n=await n(t)),typeof n==`function`&&(n=await n(t)),US(n)?n=await n.instantiator(t):WS(n)?n=await n.default(t):(GS(n)&&(n=n.data),KS(n)?n=typeof WebAssembly.instantiateStreaming==`function`?await ZS(n)(t):await QS(n)(t):qS(n)||n instanceof WebAssembly.Module?n=await XS(n)(t):`default`in n&&n.default instanceof WebAssembly.Module&&(n=await XS(n.default)(t))),`instance`in n&&(n=n.instance),`exports`in n&&(n=n.exports),n})}return JS=t(),JS}function XS(e){return t=>WebAssembly.instantiate(e,t)}function ZS(e){return t=>WebAssembly.instantiateStreaming(e,t)}function QS(e){return async t=>{let n=await e.arrayBuffer();return WebAssembly.instantiate(n,t)}}var $S;function eC(e){$S=e}function tC(){return $S}async function nC(e){return e&&await YS(e),{createScanner(e){return new HS(e.map(e=>typeof e==`string`?e:e.source))},createString(e){return new VS(e)}}}var rC=bS({});SS(rC,OS);var iC=class extends Error{constructor(e){super(e),this.name=`ShikiError`}};function aC(e){return oC(e)}function oC(e){return Array.isArray(e)?sC(e):e instanceof RegExp?e:typeof e==`object`?cC(e):e}function sC(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=oC(e[n]);return t}function cC(e){let t={};for(let n in e)t[n]=oC(e[n]);return t}function lC(e,...t){return t.forEach(t=>{for(let n in t)e[n]=t[n]}),e}function uC(e){let t=~e.lastIndexOf(`/`)||~e.lastIndexOf(`\\`);return t===0?e:~t===e.length-1?uC(e.substring(0,e.length-1)):e.substr(~t+1)}var dC=/\$(\d+)|\${(\d+):\/(downcase|upcase)}/g,fC=class{static hasCaptures(e){return e===null?!1:(dC.lastIndex=0,dC.test(e))}static replaceCaptures(e,t,n){return e.replace(dC,(e,r,i,a)=>{let o=n[parseInt(r||i,10)];if(o){let e=t.substring(o.start,o.end);for(;e[0]===`.`;)e=e.substring(1);switch(a){case`downcase`:return e.toLowerCase();case`upcase`:return e.toUpperCase();default:return e}}else return e})}};function pC(e,t){return e<t?-1:e>t?1:0}function mC(e,t){if(e===null&&t===null)return 0;if(!e)return-1;if(!t)return 1;let n=e.length,r=t.length;if(n===r){for(let r=0;r<n;r++){let n=pC(e[r],t[r]);if(n!==0)return n}return 0}return n-r}function hC(e){return!!(/^#[0-9a-f]{6}$/i.test(e)||/^#[0-9a-f]{8}$/i.test(e)||/^#[0-9a-f]{3}$/i.test(e)||/^#[0-9a-f]{4}$/i.test(e))}function gC(e){return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\,\[\]\(\)\#\s]/g,`\\$&`)}var _C=class{constructor(e){this.fn=e}cache=new Map;get(e){if(this.cache.has(e))return this.cache.get(e);let t=this.fn(e);return this.cache.set(e,t),t}},vC=class{constructor(e,t,n){this._colorMap=e,this._defaults=t,this._root=n}static createFromRawTheme(e,t){return this.createFromParsedTheme(CC(e),t)}static createFromParsedTheme(e,t){return EC(e,t)}_cachedMatchRoot=new _C(e=>this._root.match(e));getColorMap(){return this._colorMap.getColorMap()}getDefaults(){return this._defaults}match(e){if(e===null)return this._defaults;let t=e.scopeName,n=this._cachedMatchRoot.get(t).find(t=>bC(e.parent,t.parentScopes));return n?new SC(n.fontStyle,n.foreground,n.background):null}},yC=class e{constructor(e,t){this.parent=e,this.scopeName=t}static push(t,n){for(let r of n)t=new e(t,r);return t}static from(...t){let n=null;for(let r=0;r<t.length;r++)n=new e(n,t[r]);return n}push(t){return new e(this,t)}getSegments(){let e=this,t=[];for(;e;)t.push(e.scopeName),e=e.parent;return t.reverse(),t}toString(){return this.getSegments().join(` `)}extends(e){return this===e?!0:this.parent===null?!1:this.parent.extends(e)}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push(n.scopeName),n=n.parent;return n===e?t.reverse():void 0}};function bC(e,t){if(t.length===0)return!0;for(let n=0;n<t.length;n++){let r=t[n],i=!1;if(r===`>`){if(n===t.length-1)return!1;r=t[++n],i=!0}for(;e&&!xC(e.scopeName,r);){if(i)return!1;e=e.parent}if(!e)return!1;e=e.parent}return!0}function xC(e,t){return t===e||e.startsWith(t)&&e[t.length]===`.`}var SC=class{constructor(e,t,n){this.fontStyle=e,this.foregroundId=t,this.backgroundId=n}};function CC(e){if(!e||!e.settings||!Array.isArray(e.settings))return[];let t=e.settings,n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e];if(!i.settings)continue;let a;if(typeof i.scope==`string`){let e=i.scope;e=e.replace(/^[,]+/,``),e=e.replace(/[,]+$/,``),a=e.split(`,`)}else a=Array.isArray(i.scope)?i.scope:[``];let o=-1;if(typeof i.settings.fontStyle==`string`){o=0;let e=i.settings.fontStyle.split(` `);for(let t=0,n=e.length;t<n;t++)switch(e[t]){case`italic`:o|=1;break;case`bold`:o|=2;break;case`underline`:o|=4;break;case`strikethrough`:o|=8;break}}let s=null;typeof i.settings.foreground==`string`&&hC(i.settings.foreground)&&(s=i.settings.foreground);let c=null;typeof i.settings.background==`string`&&hC(i.settings.background)&&(c=i.settings.background);for(let t=0,i=a.length;t<i;t++){let i=a[t].trim().split(` `),l=i[i.length-1],u=null;i.length>1&&(u=i.slice(0,i.length-1),u.reverse()),n[r++]=new wC(l,u,e,o,s,c)}}return n}var wC=class{constructor(e,t,n,r,i,a){this.scope=e,this.parentScopes=t,this.index=n,this.fontStyle=r,this.foreground=i,this.background=a}},TC=(e=>(e[e.NotSet=-1]=`NotSet`,e[e.None=0]=`None`,e[e.Italic=1]=`Italic`,e[e.Bold=2]=`Bold`,e[e.Underline=4]=`Underline`,e[e.Strikethrough=8]=`Strikethrough`,e))(TC||{});function EC(e,t){e.sort((e,t)=>{let n=pC(e.scope,t.scope);return n!==0||(n=mC(e.parentScopes,t.parentScopes),n!==0)?n:e.index-t.index});let n=0,r=`#000000`,i=`#ffffff`;for(;e.length>=1&&e[0].scope===``;){let t=e.shift();t.fontStyle!==-1&&(n=t.fontStyle),t.foreground!==null&&(r=t.foreground),t.background!==null&&(i=t.background)}let a=new DC(t),o=new SC(n,a.getId(r),a.getId(i)),s=new AC(new kC(0,null,-1,0,0),[]);for(let t=0,n=e.length;t<n;t++){let n=e[t];s.insert(0,n.scope,n.parentScopes,n.fontStyle,a.getId(n.foreground),a.getId(n.background))}return new vC(a,o,s)}var DC=class{_isFrozen;_lastColorId;_id2color;_color2id;constructor(e){if(this._lastColorId=0,this._id2color=[],this._color2id=Object.create(null),Array.isArray(e)){this._isFrozen=!0;for(let t=0,n=e.length;t<n;t++)this._color2id[e[t]]=t,this._id2color[t]=e[t]}else this._isFrozen=!1}getId(e){if(e===null)return 0;e=e.toUpperCase();let t=this._color2id[e];if(t)return t;if(this._isFrozen)throw Error(`Missing color in color map - ${e}`);return t=++this._lastColorId,this._color2id[e]=t,this._id2color[t]=e,t}getColorMap(){return this._id2color.slice(0)}},OC=Object.freeze([]),kC=class e{scopeDepth;parentScopes;fontStyle;foreground;background;constructor(e,t,n,r,i){this.scopeDepth=e,this.parentScopes=t||OC,this.fontStyle=n,this.foreground=r,this.background=i}clone(){return new e(this.scopeDepth,this.parentScopes,this.fontStyle,this.foreground,this.background)}static cloneArr(e){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=e[n].clone();return t}acceptOverwrite(e,t,n,r){this.scopeDepth>e?console.log(`how did this happen?`):this.scopeDepth=e,t!==-1&&(this.fontStyle=t),n!==0&&(this.foreground=n),r!==0&&(this.background=r)}},AC=class e{constructor(e,t=[],n={}){this._mainRule=e,this._children=n,this._rulesWithParentScopes=t}_rulesWithParentScopes;static _cmpBySpecificity(e,t){if(e.scopeDepth!==t.scopeDepth)return t.scopeDepth-e.scopeDepth;let n=0,r=0;for(;e.parentScopes[n]===`>`&&n++,t.parentScopes[r]===`>`&&r++,!(n>=e.parentScopes.length||r>=t.parentScopes.length);){let i=t.parentScopes[r].length-e.parentScopes[n].length;if(i!==0)return i;n++,r++}return t.parentScopes.length-e.parentScopes.length}match(t){if(t!==``){let e=t.indexOf(`.`),n,r;if(e===-1?(n=t,r=``):(n=t.substring(0,e),r=t.substring(e+1)),this._children.hasOwnProperty(n))return this._children[n].match(r)}let n=this._rulesWithParentScopes.concat(this._mainRule);return n.sort(e._cmpBySpecificity),n}insert(t,n,r,i,a,o){if(n===``){this._doInsertHere(t,r,i,a,o);return}let s=n.indexOf(`.`),c,l;s===-1?(c=n,l=``):(c=n.substring(0,s),l=n.substring(s+1));let u;this._children.hasOwnProperty(c)?u=this._children[c]:(u=new e(this._mainRule.clone(),kC.cloneArr(this._rulesWithParentScopes)),this._children[c]=u),u.insert(t+1,l,r,i,a,o)}_doInsertHere(e,t,n,r,i){if(t===null){this._mainRule.acceptOverwrite(e,n,r,i);return}for(let a=0,o=this._rulesWithParentScopes.length;a<o;a++){let o=this._rulesWithParentScopes[a];if(mC(o.parentScopes,t)===0){o.acceptOverwrite(e,n,r,i);return}}n===-1&&(n=this._mainRule.fontStyle),r===0&&(r=this._mainRule.foreground),i===0&&(i=this._mainRule.background),this._rulesWithParentScopes.push(new kC(e,t,n,r,i))}},jC=class e{static toBinaryStr(e){return e.toString(2).padStart(32,`0`)}static print(t){let n=e.getLanguageId(t),r=e.getTokenType(t),i=e.getFontStyle(t),a=e.getForeground(t),o=e.getBackground(t);console.log({languageId:n,tokenType:r,fontStyle:i,foreground:a,background:o})}static getLanguageId(e){return(e&255)>>>0}static getTokenType(e){return(e&768)>>>8}static containsBalancedBrackets(e){return(e&1024)!=0}static getFontStyle(e){return(e&30720)>>>11}static getForeground(e){return(e&16744448)>>>15}static getBackground(e){return(e&4278190080)>>>24}static set(t,n,r,i,a,o,s){let c=e.getLanguageId(t),l=e.getTokenType(t),u=e.containsBalancedBrackets(t)?1:0,d=e.getFontStyle(t),f=e.getForeground(t),p=e.getBackground(t);return n!==0&&(c=n),r!==8&&(l=NC(r)),i!==null&&(u=i?1:0),a!==-1&&(d=a),o!==0&&(f=o),s!==0&&(p=s),(c<<0|l<<8|u<<10|d<<11|f<<15|p<<24)>>>0}};function MC(e){return e}function NC(e){return e}function PC(e,t){let n=[],r=IC(e),i=r.next();for(;i!==null;){let e=0;if(i.length===2&&i.charAt(1)===`:`){switch(i.charAt(0)){case`R`:e=1;break;case`L`:e=-1;break;default:console.log(`Unknown priority ${i} in scope selector`)}i=r.next()}let t=o();if(n.push({matcher:t,priority:e}),i!==`,`)break;i=r.next()}return n;function a(){if(i===`-`){i=r.next();let e=a();return t=>!!e&&!e(t)}if(i===`(`){i=r.next();let e=s();return i===`)`&&(i=r.next()),e}if(FC(i)){let e=[];do e.push(i),i=r.next();while(FC(i));return n=>t(e,n)}return null}function o(){let e=[],t=a();for(;t;)e.push(t),t=a();return t=>e.every(e=>e(t))}function s(){let e=[],t=o();for(;t&&(e.push(t),i===`|`||i===`,`);){do i=r.next();while(i===`|`||i===`,`);t=o()}return t=>e.some(e=>e(t))}}function FC(e){return!!e&&!!e.match(/[\w\.:]+/)}function IC(e){let t=/([LR]:|[\w\.:][\w\.:\-]*|[\,\|\-\(\)])/g,n=t.exec(e);return{next:()=>{if(!n)return null;let r=n[0];return n=t.exec(e),r}}}function LC(e){typeof e.dispose==`function`&&e.dispose()}var RC=class{constructor(e){this.scopeName=e}toKey(){return this.scopeName}},zC=class{constructor(e,t){this.scopeName=e,this.ruleName=t}toKey(){return`${this.scopeName}#${this.ruleName}`}},BC=class{_references=[];_seenReferenceKeys=new Set;get references(){return this._references}visitedRule=new Set;add(e){let t=e.toKey();this._seenReferenceKeys.has(t)||(this._seenReferenceKeys.add(t),this._references.push(e))}},VC=class{constructor(e,t){this.repo=e,this.initialScopeName=t,this.seenFullScopeRequests.add(this.initialScopeName),this.Q=[new RC(this.initialScopeName)]}seenFullScopeRequests=new Set;seenPartialScopeRequests=new Set;Q;processQueue(){let e=this.Q;this.Q=[];let t=new BC;for(let n of e)HC(n,this.initialScopeName,this.repo,t);for(let e of t.references)if(e instanceof RC){if(this.seenFullScopeRequests.has(e.scopeName))continue;this.seenFullScopeRequests.add(e.scopeName),this.Q.push(e)}else{if(this.seenFullScopeRequests.has(e.scopeName)||this.seenPartialScopeRequests.has(e.toKey()))continue;this.seenPartialScopeRequests.add(e.toKey()),this.Q.push(e)}}};function HC(e,t,n,r){let i=n.lookup(e.scopeName);if(!i){if(e.scopeName===t)throw Error(`No grammar provided for <${t}>`);return}let a=n.lookup(t);e instanceof RC?WC({baseGrammar:a,selfGrammar:i},r):UC(e.ruleName,{baseGrammar:a,selfGrammar:i,repository:i.repository},r);let o=n.injections(e.scopeName);if(o)for(let e of o)r.add(new RC(e))}function UC(e,t,n){if(t.repository&&t.repository[e]){let r=t.repository[e];GC([r],t,n)}}function WC(e,t){e.selfGrammar.patterns&&Array.isArray(e.selfGrammar.patterns)&&GC(e.selfGrammar.patterns,{...e,repository:e.selfGrammar.repository},t),e.selfGrammar.injections&&GC(Object.values(e.selfGrammar.injections),{...e,repository:e.selfGrammar.repository},t)}function GC(e,t,n){for(let r of e){if(n.visitedRule.has(r))continue;n.visitedRule.add(r);let e=r.repository?lC({},t.repository,r.repository):t.repository;Array.isArray(r.patterns)&&GC(r.patterns,{...t,repository:e},n);let i=r.include;if(!i)continue;let a=ZC(i);switch(a.kind){case 0:WC({...t,selfGrammar:t.baseGrammar},n);break;case 1:WC(t,n);break;case 2:UC(a.ruleName,{...t,repository:e},n);break;case 3:case 4:let r=a.scopeName===t.selfGrammar.scopeName?t.selfGrammar:a.scopeName===t.baseGrammar.scopeName?t.baseGrammar:void 0;if(r){let i={baseGrammar:t.baseGrammar,selfGrammar:r,repository:e};a.kind===4?UC(a.ruleName,i,n):WC(i,n)}else a.kind===4?n.add(new zC(a.scopeName,a.ruleName)):n.add(new RC(a.scopeName));break}}}var KC=class{kind=0},qC=class{kind=1},JC=class{constructor(e){this.ruleName=e}kind=2},YC=class{constructor(e){this.scopeName=e}kind=3},XC=class{constructor(e,t){this.scopeName=e,this.ruleName=t}kind=4};function ZC(e){if(e===`$base`)return new KC;if(e===`$self`)return new qC;let t=e.indexOf(`#`);return t===-1?new YC(e):t===0?new JC(e.substring(1)):new XC(e.substring(0,t),e.substring(t+1))}var QC=/\\(\d+)/,$C=/\\(\d+)/g,ew=-1,tw=-2;function nw(e){return e}function rw(e){return e}var iw=class{$location;id;_nameIsCapturing;_name;_contentNameIsCapturing;_contentName;constructor(e,t,n,r){this.$location=e,this.id=t,this._name=n||null,this._nameIsCapturing=fC.hasCaptures(this._name),this._contentName=r||null,this._contentNameIsCapturing=fC.hasCaptures(this._contentName)}get debugName(){let e=this.$location?`${uC(this.$location.filename)}:${this.$location.line}`:`unknown`;return`${this.constructor.name}#${this.id} @ ${e}`}getName(e,t){return!this._nameIsCapturing||this._name===null||e===null||t===null?this._name:fC.replaceCaptures(this._name,e,t)}getContentName(e,t){return!this._contentNameIsCapturing||this._contentName===null?this._contentName:fC.replaceCaptures(this._contentName,e,t)}},aw=class extends iw{retokenizeCapturedWithRuleId;constructor(e,t,n,r,i){super(e,t,n,r),this.retokenizeCapturedWithRuleId=i}dispose(){}collectPatterns(e,t){throw Error(`Not supported!`)}compile(e,t){throw Error(`Not supported!`)}compileAG(e,t,n,r){throw Error(`Not supported!`)}},ow=class extends iw{_match;captures;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,null),this._match=new dw(r,this.id),this.captures=i,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugMatchRegExp(){return`${this._match.source}`}collectPatterns(e,t){t.push(this._match)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new fw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},sw=class extends iw{hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i){super(e,t,n,r),this.patterns=i.patterns,this.hasMissingPatterns=i.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}collectPatterns(e,t){for(let n of this.patterns)e.getRule(n).collectPatterns(e,t)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){return this._cachedCompiledPatterns||(this._cachedCompiledPatterns=new fw,this.collectPatterns(e,this._cachedCompiledPatterns)),this._cachedCompiledPatterns}},cw=class extends iw{_begin;beginCaptures;_end;endHasBackReferences;endCaptures;applyEndPatternLast;hasMissingPatterns;patterns;_cachedCompiledPatterns;constructor(e,t,n,r,i,a,o,s,c,l){super(e,t,n,r),this._begin=new dw(i,this.id),this.beginCaptures=a,this._end=new dw(o||``,-1),this.endHasBackReferences=this._end.hasBackReferences,this.endCaptures=s,this.applyEndPatternLast=c||!1,this.patterns=l.patterns,this.hasMissingPatterns=l.hasMissingPatterns,this._cachedCompiledPatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugEndRegExp(){return`${this._end.source}`}getEndWithResolvedBackReferences(e,t){return this._end.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e,t).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e,t).compileAG(e,n,r)}_getCachedCompiledPatterns(e,t){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new fw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns);this.applyEndPatternLast?this._cachedCompiledPatterns.push(this._end.hasBackReferences?this._end.clone():this._end):this._cachedCompiledPatterns.unshift(this._end.hasBackReferences?this._end.clone():this._end)}return this._end.hasBackReferences&&(this.applyEndPatternLast?this._cachedCompiledPatterns.setSource(this._cachedCompiledPatterns.length()-1,t):this._cachedCompiledPatterns.setSource(0,t)),this._cachedCompiledPatterns}},lw=class extends iw{_begin;beginCaptures;whileCaptures;_while;whileHasBackReferences;hasMissingPatterns;patterns;_cachedCompiledPatterns;_cachedCompiledWhilePatterns;constructor(e,t,n,r,i,a,o,s,c){super(e,t,n,r),this._begin=new dw(i,this.id),this.beginCaptures=a,this.whileCaptures=s,this._while=new dw(o,tw),this.whileHasBackReferences=this._while.hasBackReferences,this.patterns=c.patterns,this.hasMissingPatterns=c.hasMissingPatterns,this._cachedCompiledPatterns=null,this._cachedCompiledWhilePatterns=null}dispose(){this._cachedCompiledPatterns&&=(this._cachedCompiledPatterns.dispose(),null),this._cachedCompiledWhilePatterns&&=(this._cachedCompiledWhilePatterns.dispose(),null)}get debugBeginRegExp(){return`${this._begin.source}`}get debugWhileRegExp(){return`${this._while.source}`}getWhileWithResolvedBackReferences(e,t){return this._while.resolveBackReferences(e,t)}collectPatterns(e,t){t.push(this._begin)}compile(e,t){return this._getCachedCompiledPatterns(e).compile(e)}compileAG(e,t,n,r){return this._getCachedCompiledPatterns(e).compileAG(e,n,r)}_getCachedCompiledPatterns(e){if(!this._cachedCompiledPatterns){this._cachedCompiledPatterns=new fw;for(let t of this.patterns)e.getRule(t).collectPatterns(e,this._cachedCompiledPatterns)}return this._cachedCompiledPatterns}compileWhile(e,t){return this._getCachedCompiledWhilePatterns(e,t).compile(e)}compileWhileAG(e,t,n,r){return this._getCachedCompiledWhilePatterns(e,t).compileAG(e,n,r)}_getCachedCompiledWhilePatterns(e,t){return this._cachedCompiledWhilePatterns||(this._cachedCompiledWhilePatterns=new fw,this._cachedCompiledWhilePatterns.push(this._while.hasBackReferences?this._while.clone():this._while)),this._while.hasBackReferences&&this._cachedCompiledWhilePatterns.setSource(0,t||``),this._cachedCompiledWhilePatterns}},uw=class e{static createCaptureRule(e,t,n,r,i){return e.registerRule(e=>new aw(t,e,n,r,i))}static getCompiledRuleId(t,n,r){return t.id||n.registerRule(i=>{if(t.id=i,t.match)return new ow(t.$vscodeTextmateLocation,t.id,t.name,t.match,e._compileCaptures(t.captures,n,r));if(t.begin===void 0){t.repository&&(r=lC({},r,t.repository));let i=t.patterns;return i===void 0&&t.include&&(i=[{include:t.include}]),new sw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,e._compilePatterns(i,n,r))}return t.while?new lw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.while,e._compileCaptures(t.whileCaptures||t.captures,n,r),e._compilePatterns(t.patterns,n,r)):new cw(t.$vscodeTextmateLocation,t.id,t.name,t.contentName,t.begin,e._compileCaptures(t.beginCaptures||t.captures,n,r),t.end,e._compileCaptures(t.endCaptures||t.captures,n,r),t.applyEndPatternLast,e._compilePatterns(t.patterns,n,r))}),t.id}static _compileCaptures(t,n,r){let i=[];if(t){let a=0;for(let e in t){if(e===`$vscodeTextmateLocation`)continue;let t=parseInt(e,10);t>a&&(a=t)}for(let e=0;e<=a;e++)i[e]=null;for(let a in t){if(a===`$vscodeTextmateLocation`)continue;let o=parseInt(a,10),s=0;t[a].patterns&&(s=e.getCompiledRuleId(t[a],n,r)),i[o]=e.createCaptureRule(n,t[a].$vscodeTextmateLocation,t[a].name,t[a].contentName,s)}}return i}static _compilePatterns(t,n,r){let i=[];if(t)for(let a=0,o=t.length;a<o;a++){let o=t[a],s=-1;if(o.include){let t=ZC(o.include);switch(t.kind){case 0:case 1:s=e.getCompiledRuleId(r[o.include],n,r);break;case 2:let i=r[t.ruleName];i&&(s=e.getCompiledRuleId(i,n,r));break;case 3:case 4:let a=t.scopeName,c=t.kind===4?t.ruleName:null,l=n.getExternalGrammar(a,r);if(l)if(c){let t=l.repository[c];t&&(s=e.getCompiledRuleId(t,n,l.repository))}else s=e.getCompiledRuleId(l.repository.$self,n,l.repository);break}}else s=e.getCompiledRuleId(o,n,r);if(s!==-1){let e=n.getRule(s),t=!1;if((e instanceof sw||e instanceof cw||e instanceof lw)&&e.hasMissingPatterns&&e.patterns.length===0&&(t=!0),t)continue;i.push(s)}}return{patterns:i,hasMissingPatterns:(t?t.length:0)!==i.length}}},dw=class e{source;ruleId;hasAnchor;hasBackReferences;_anchorCache;constructor(e,t){if(e&&typeof e==`string`){let t=e.length,n=0,r=[],i=!1;for(let a=0;a<t;a++)if(e.charAt(a)===`\\`&&a+1<t){let t=e.charAt(a+1);t===`z`?(r.push(e.substring(n,a)),r.push(`$(?!\\n)(?<!\\n)`),n=a+2):(t===`A`||t===`G`)&&(i=!0),a++}this.hasAnchor=i,n===0?this.source=e:(r.push(e.substring(n,t)),this.source=r.join(``))}else this.hasAnchor=!1,this.source=e;this.hasAnchor?this._anchorCache=this._buildAnchorCache():this._anchorCache=null,this.ruleId=t,typeof this.source==`string`?this.hasBackReferences=QC.test(this.source):this.hasBackReferences=!1}clone(){return new e(this.source,this.ruleId)}setSource(e){this.source!==e&&(this.source=e,this.hasAnchor&&(this._anchorCache=this._buildAnchorCache()))}resolveBackReferences(e,t){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let n=t.map(t=>e.substring(t.start,t.end));return $C.lastIndex=0,this.source.replace($C,(e,t)=>gC(n[parseInt(t,10)]||``))}_buildAnchorCache(){if(typeof this.source!=`string`)throw Error(`This method should only be called if the source is a string`);let e=[],t=[],n=[],r=[],i,a,o,s;for(i=0,a=this.source.length;i<a;i++)o=this.source.charAt(i),e[i]=o,t[i]=o,n[i]=o,r[i]=o,o===`\\`&&i+1<a&&(s=this.source.charAt(i+1),s===`A`?(e[i+1]=``,t[i+1]=``,n[i+1]=`A`,r[i+1]=`A`):s===`G`?(e[i+1]=``,t[i+1]=`G`,n[i+1]=``,r[i+1]=`G`):(e[i+1]=s,t[i+1]=s,n[i+1]=s,r[i+1]=s),i++);return{A0_G0:e.join(``),A0_G1:t.join(``),A1_G0:n.join(``),A1_G1:r.join(``)}}resolveAnchors(e,t){return!this.hasAnchor||!this._anchorCache||typeof this.source!=`string`?this.source:e?t?this._anchorCache.A1_G1:this._anchorCache.A1_G0:t?this._anchorCache.A0_G1:this._anchorCache.A0_G0}},fw=class{_items;_hasAnchors;_cached;_anchorCache;constructor(){this._items=[],this._hasAnchors=!1,this._cached=null,this._anchorCache={A0_G0:null,A0_G1:null,A1_G0:null,A1_G1:null}}dispose(){this._disposeCaches()}_disposeCaches(){this._cached&&=(this._cached.dispose(),null),this._anchorCache.A0_G0&&(this._anchorCache.A0_G0.dispose(),this._anchorCache.A0_G0=null),this._anchorCache.A0_G1&&(this._anchorCache.A0_G1.dispose(),this._anchorCache.A0_G1=null),this._anchorCache.A1_G0&&(this._anchorCache.A1_G0.dispose(),this._anchorCache.A1_G0=null),this._anchorCache.A1_G1&&(this._anchorCache.A1_G1.dispose(),this._anchorCache.A1_G1=null)}push(e){this._items.push(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}unshift(e){this._items.unshift(e),this._hasAnchors=this._hasAnchors||e.hasAnchor}length(){return this._items.length}setSource(e,t){this._items[e].source!==t&&(this._disposeCaches(),this._items[e].setSource(t))}compile(e){return this._cached||=new pw(e,this._items.map(e=>e.source),this._items.map(e=>e.ruleId)),this._cached}compileAG(e,t,n){return this._hasAnchors?t?n?(this._anchorCache.A1_G1||(this._anchorCache.A1_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G1):(this._anchorCache.A1_G0||(this._anchorCache.A1_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A1_G0):n?(this._anchorCache.A0_G1||(this._anchorCache.A0_G1=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G1):(this._anchorCache.A0_G0||(this._anchorCache.A0_G0=this._resolveAnchors(e,t,n)),this._anchorCache.A0_G0):this.compile(e)}_resolveAnchors(e,t,n){return new pw(e,this._items.map(e=>e.resolveAnchors(t,n)),this._items.map(e=>e.ruleId))}},pw=class{constructor(e,t,n){this.regExps=t,this.rules=n,this.scanner=e.createOnigScanner(t)}scanner;dispose(){typeof this.scanner.dispose==`function`&&this.scanner.dispose()}toString(){let e=[];for(let t=0,n=this.rules.length;t<n;t++)e.push(` - `+this.rules[t]+`: `+this.regExps[t]);return e.join(`
|
|
24
24
|
`)}findNextMatchSync(e,t,n){let r=this.scanner.findNextMatchSync(e,t,n);return r?{ruleId:this.rules[r.index],captureIndices:r.captureIndices}:null}},mw=class{constructor(e,t){this.languageId=e,this.tokenType=t}},hw=class e{_defaultAttributes;_embeddedLanguagesMatcher;constructor(e,t){this._defaultAttributes=new mw(e,8),this._embeddedLanguagesMatcher=new gw(Object.entries(t||{}))}getDefaultAttributes(){return this._defaultAttributes}getBasicScopeAttributes(t){return t===null?e._NULL_SCOPE_METADATA:this._getBasicScopeAttributes.get(t)}static _NULL_SCOPE_METADATA=new mw(0,0);_getBasicScopeAttributes=new _C(e=>new mw(this._scopeToLanguage(e),this._toStandardTokenType(e)));_scopeToLanguage(e){return this._embeddedLanguagesMatcher.match(e)||0}_toStandardTokenType(t){let n=t.match(e.STANDARD_TOKEN_TYPE_REGEXP);if(!n)return 8;switch(n[1]){case`comment`:return 1;case`string`:return 2;case`regex`:return 3;case`meta.embedded`:return 0}throw Error(`Unexpected match for standard token type!`)}static STANDARD_TOKEN_TYPE_REGEXP=/\b(comment|string|regex|meta\.embedded)\b/},gw=class{values;scopesRegExp;constructor(e){if(e.length===0)this.values=null,this.scopesRegExp=null;else{this.values=new Map(e);let t=e.map(([e,t])=>gC(e));t.sort(),t.reverse(),this.scopesRegExp=RegExp(`^((${t.join(`)|(`)}))($|\\.)`,``)}}match(e){if(!this.scopesRegExp)return;let t=e.match(this.scopesRegExp);if(t)return this.values.get(t[1])}};typeof process<`u`&&{}.VSCODE_TEXTMATE_DEBUG;var _w=!1,vw=class{constructor(e,t){this.stack=e,this.stoppedEarly=t}};function yw(e,t,n,r,i,a,o,s){let c=t.content.length,l=!1,u=-1;if(o){let o=bw(e,t,n,r,i,a);i=o.stack,r=o.linePos,n=o.isFirstLine,u=o.anchorPosition}let d=Date.now();for(;!l;){if(s!==0&&Date.now()-d>s)return new vw(i,!0);f()}return new vw(i,!1);function f(){let o=xw(e,t,n,r,i,u);if(!o){a.produce(i,c),l=!0;return}let s=o.captureIndices,d=o.matchedRuleId,f=s&&s.length>0?s[0].end>r:!1;if(d===ew){let o=i.getRule(e);a.produce(i,s[0].start),i=i.withContentNameScopesList(i.nameScopesList),Dw(e,t,n,i,a,o.endCaptures,s),a.produce(i,s[0].end);let d=i;if(i=i.parent,u=d.getAnchorPos(),!f&&d.getEnterPos()===r){i=d,a.produce(i,c),l=!0;return}}else{let o=e.getRule(d);a.produce(i,s[0].start);let p=i,m=o.getName(t.content,s),h=i.contentNameScopesList.pushAttributed(m,e);if(i=i.push(d,r,u,s[0].end===c,null,h,h),o instanceof cw){let r=o;Dw(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.endHasBackReferences&&(i=i.withEndRule(r.getEndWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(o instanceof lw){let r=o;Dw(e,t,n,i,a,r.beginCaptures,s),a.produce(i,s[0].end),u=s[0].end;let d=r.getContentName(t.content,s),m=h.pushAttributed(d,e);if(i=i.withContentNameScopesList(m),r.whileHasBackReferences&&(i=i.withEndRule(r.getWhileWithResolvedBackReferences(t.content,s))),!f&&p.hasSameRuleAs(i)){i=i.pop(),a.produce(i,c),l=!0;return}}else if(Dw(e,t,n,i,a,o.captures,s),a.produce(i,s[0].end),i=i.pop(),!f){i=i.safePop(),a.produce(i,c),l=!0;return}}s[0].end>r&&(r=s[0].end,n=!1)}}function bw(e,t,n,r,i,a){let o=i.beginRuleCapturedEOL?0:-1,s=[];for(let t=i;t;t=t.pop()){let n=t.getRule(e);n instanceof lw&&s.push({rule:n,stack:t})}for(let c=s.pop();c;c=s.pop()){let{ruleScanner:s,findOptions:l}=Tw(c.rule,e,c.stack.endRule,n,r===o),u=s.findNextMatchSync(t,r,l);if(u){if(u.ruleId!==tw){i=c.stack.pop();break}u.captureIndices&&u.captureIndices.length&&(a.produce(c.stack,u.captureIndices[0].start),Dw(e,t,n,c.stack,a,c.rule.whileCaptures,u.captureIndices),a.produce(c.stack,u.captureIndices[0].end),o=u.captureIndices[0].end,u.captureIndices[0].end>r&&(r=u.captureIndices[0].end,n=!1))}else{i=c.stack.pop();break}}return{stack:i,linePos:r,anchorPosition:o,isFirstLine:n}}function xw(e,t,n,r,i,a){let o=Sw(e,t,n,r,i,a),s=e.getInjections();if(s.length===0)return o;let c=Cw(s,e,t,n,r,i,a);if(!c)return o;if(!o)return c;let l=o.captureIndices[0].start,u=c.captureIndices[0].start;return u<l||c.priorityMatch&&u===l?c:o}function Sw(e,t,n,r,i,a){let{ruleScanner:o,findOptions:s}=ww(i.getRule(e),e,i.endRule,n,r===a),c=o.findNextMatchSync(t,r,s);return c?{captureIndices:c.captureIndices,matchedRuleId:c.ruleId}:null}function Cw(e,t,n,r,i,a,o){let s=Number.MAX_VALUE,c=null,l,u=0,d=a.contentNameScopesList.getScopeNames();for(let a=0,f=e.length;a<f;a++){let f=e[a];if(!f.matcher(d))continue;let{ruleScanner:p,findOptions:m}=ww(t.getRule(f.ruleId),t,null,r,i===o),h=p.findNextMatchSync(n,i,m);if(!h)continue;let g=h.captureIndices[0].start;if(!(g>=s)&&(s=g,c=h.captureIndices,l=h.ruleId,u=f.priority,s===i))break}return c?{priorityMatch:u===-1,captureIndices:c,matchedRuleId:l}:null}function ww(e,t,n,r,i){return _w?{ruleScanner:e.compile(t,n),findOptions:Ew(r,i)}:{ruleScanner:e.compileAG(t,n,r,i),findOptions:0}}function Tw(e,t,n,r,i){return _w?{ruleScanner:e.compileWhile(t,n),findOptions:Ew(r,i)}:{ruleScanner:e.compileWhileAG(t,n,r,i),findOptions:0}}function Ew(e,t){let n=0;return e||(n|=1),t||(n|=4),n}function Dw(e,t,n,r,i,a,o){if(a.length===0)return;let s=t.content,c=Math.min(a.length,o.length),l=[],u=o[0].end;for(let t=0;t<c;t++){let c=a[t];if(c===null)continue;let d=o[t];if(d.length===0)continue;if(d.start>u)break;for(;l.length>0&&l[l.length-1].endPos<=d.start;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop();if(l.length>0?i.produceFromScopes(l[l.length-1].scopes,d.start):i.produce(r,d.start),c.retokenizeCapturedWithRuleId){let t=c.getName(s,o),a=r.contentNameScopesList.pushAttributed(t,e),l=c.getContentName(s,o),u=a.pushAttributed(l,e),f=r.push(c.retokenizeCapturedWithRuleId,d.start,-1,!1,null,a,u),p=e.createOnigString(s.substring(0,d.end));yw(e,p,n&&d.start===0,d.start,f,i,!1,0),LC(p);continue}let f=c.getName(s,o);if(f!==null){let t=(l.length>0?l[l.length-1].scopes:r.contentNameScopesList).pushAttributed(f,e);l.push(new Ow(t,d.end))}}for(;l.length>0;)i.produceFromScopes(l[l.length-1].scopes,l[l.length-1].endPos),l.pop()}var Ow=class{scopes;endPos;constructor(e,t){this.scopes=e,this.endPos=t}};function kw(e,t,n,r,i,a,o,s){return new Nw(e,t,n,r,i,a,o,s)}function Aw(e,t,n,r,i){let a=PC(t,jw),o=uw.getCompiledRuleId(n,r,i.repository);for(let n of a)e.push({debugSelector:t,matcher:n.matcher,ruleId:o,grammar:i,priority:n.priority})}function jw(e,t){if(t.length<e.length)return!1;let n=0;return e.every(e=>{for(let r=n;r<t.length;r++)if(Mw(t[r],e))return n=r+1,!0;return!1})}function Mw(e,t){if(!e)return!1;if(e===t)return!0;let n=t.length;return e.length>n&&e.substr(0,n)===t&&e[n]===`.`}var Nw=class{constructor(e,t,n,r,i,a,o,s){if(this._rootScopeName=e,this.balancedBracketSelectors=a,this._onigLib=s,this._basicScopeAttributesProvider=new hw(n,r),this._rootId=-1,this._lastRuleId=0,this._ruleId2desc=[null],this._includedGrammars={},this._grammarRepository=o,this._grammar=Pw(t,null),this._injections=null,this._tokenTypeMatchers=[],i)for(let e of Object.keys(i)){let t=PC(e,jw);for(let n of t)this._tokenTypeMatchers.push({matcher:n.matcher,type:i[e]})}}_rootId;_lastRuleId;_ruleId2desc;_includedGrammars;_grammarRepository;_grammar;_injections;_basicScopeAttributesProvider;_tokenTypeMatchers;get themeProvider(){return this._grammarRepository}dispose(){for(let e of this._ruleId2desc)e&&e.dispose()}createOnigScanner(e){return this._onigLib.createOnigScanner(e)}createOnigString(e){return this._onigLib.createOnigString(e)}getMetadataForScope(e){return this._basicScopeAttributesProvider.getBasicScopeAttributes(e)}_collectInjections(){let e={lookup:e=>e===this._rootScopeName?this._grammar:this.getExternalGrammar(e),injections:e=>this._grammarRepository.injections(e)},t=[],n=this._rootScopeName,r=e.lookup(n);if(r){let e=r.injections;if(e)for(let n in e)Aw(t,n,e[n],this,r);let i=this._grammarRepository.injections(n);i&&i.forEach(e=>{let n=this.getExternalGrammar(e);if(n){let e=n.injectionSelector;e&&Aw(t,e,n,this,n)}})}return t.sort((e,t)=>e.priority-t.priority),t}getInjections(){return this._injections===null&&(this._injections=this._collectInjections()),this._injections}registerRule(e){let t=++this._lastRuleId,n=e(nw(t));return this._ruleId2desc[t]=n,n}getRule(e){return this._ruleId2desc[rw(e)]}getExternalGrammar(e,t){if(this._includedGrammars[e])return this._includedGrammars[e];if(this._grammarRepository){let n=this._grammarRepository.lookup(e);if(n)return this._includedGrammars[e]=Pw(n,t&&t.$base),this._includedGrammars[e]}}tokenizeLine(e,t,n=0){let r=this._tokenize(e,t,!1,n);return{tokens:r.lineTokens.getResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}tokenizeLine2(e,t,n=0){let r=this._tokenize(e,t,!0,n);return{tokens:r.lineTokens.getBinaryResult(r.ruleStack,r.lineLength),ruleStack:r.ruleStack,stoppedEarly:r.stoppedEarly}}_tokenize(e,t,n,r){this._rootId===-1&&(this._rootId=uw.getCompiledRuleId(this._grammar.repository.$self,this,this._grammar.repository),this.getInjections());let i;if(!t||t===Iw.NULL){i=!0;let e=this._basicScopeAttributesProvider.getDefaultAttributes(),n=this.themeProvider.getDefaults(),r=jC.set(0,e.languageId,e.tokenType,null,n.fontStyle,n.foregroundId,n.backgroundId),a=this.getRule(this._rootId).getName(null,null),o;o=a?Fw.createRootAndLookUpScopeName(a,r,this):Fw.createRoot(`unknown`,r),t=new Iw(null,this._rootId,-1,-1,!1,null,o,o)}else i=!1,t.reset();e+=`
|
|
25
25
|
`;let a=this.createOnigString(e),o=a.content.length,s=new Rw(n,e,this._tokenTypeMatchers,this.balancedBracketSelectors),c=yw(this,a,i,0,t,s,!0,r);return LC(a),{lineLength:o,lineTokens:s,ruleStack:c.stack,stoppedEarly:c.stoppedEarly}}};function Pw(e,t){return e=aC(e),e.repository=e.repository||{},e.repository.$self={$vscodeTextmateLocation:e.$vscodeTextmateLocation,patterns:e.patterns,name:e.scopeName},e.repository.$base=t||e.repository.$self,e}var Fw=class e{constructor(e,t,n){this.parent=e,this.scopePath=t,this.tokenAttributes=n}static fromExtension(t,n){let r=t,i=t?.scopePath??null;for(let t of n)i=yC.push(i,t.scopeNames),r=new e(r,i,t.encodedTokenAttributes);return r}static createRoot(t,n){return new e(null,new yC(null,t),n)}static createRootAndLookUpScopeName(t,n,r){let i=r.getMetadataForScope(t),a=new yC(null,t),o=r.themeProvider.themeMatch(a);return new e(null,a,e.mergeAttributes(n,i,o))}get scopeName(){return this.scopePath.scopeName}toString(){return this.getScopeNames().join(` `)}equals(t){return e.equals(this,t)}static equals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.scopeName!==t.scopeName||e.tokenAttributes!==t.tokenAttributes)return!1;e=e.parent,t=t.parent}while(!0)}static mergeAttributes(e,t,n){let r=-1,i=0,a=0;return n!==null&&(r=n.fontStyle,i=n.foregroundId,a=n.backgroundId),jC.set(e,t.languageId,t.tokenType,null,r,i,a)}pushAttributed(t,n){if(t===null)return this;if(t.indexOf(` `)===-1)return e._pushAttributed(this,t,n);let r=t.split(/ /g),i=this;for(let t of r)i=e._pushAttributed(i,t,n);return i}static _pushAttributed(t,n,r){let i=r.getMetadataForScope(n),a=t.scopePath.push(n),o=r.themeProvider.themeMatch(a);return new e(t,a,e.mergeAttributes(t.tokenAttributes,i,o))}getScopeNames(){return this.scopePath.getSegments()}getExtensionIfDefined(e){let t=[],n=this;for(;n&&n!==e;)t.push({encodedTokenAttributes:n.tokenAttributes,scopeNames:n.scopePath.getExtensionIfDefined(n.parent?.scopePath??null)}),n=n.parent;return n===e?t.reverse():void 0}},Iw=class e{constructor(e,t,n,r,i,a,o,s){this.parent=e,this.ruleId=t,this.beginRuleCapturedEOL=i,this.endRule=a,this.nameScopesList=o,this.contentNameScopesList=s,this.depth=this.parent?this.parent.depth+1:1,this._enterPos=n,this._anchorPos=r}_stackElementBrand=void 0;static NULL=new e(null,0,0,0,!1,null,null,null);_enterPos;_anchorPos;depth;equals(t){return t===null?!1:e._equals(this,t)}static _equals(e,t){return e===t?!0:this._structuralEquals(e,t)?Fw.equals(e.contentNameScopesList,t.contentNameScopesList):!1}static _structuralEquals(e,t){do{if(e===t||!e&&!t)return!0;if(!e||!t||e.depth!==t.depth||e.ruleId!==t.ruleId||e.endRule!==t.endRule)return!1;e=e.parent,t=t.parent}while(!0)}clone(){return this}static _reset(e){for(;e;)e._enterPos=-1,e._anchorPos=-1,e=e.parent}reset(){e._reset(this)}pop(){return this.parent}safePop(){return this.parent?this.parent:this}push(t,n,r,i,a,o,s){return new e(this,t,n,r,i,a,o,s)}getEnterPos(){return this._enterPos}getAnchorPos(){return this._anchorPos}getRule(e){return e.getRule(this.ruleId)}toString(){let e=[];return this._writeString(e,0),`[`+e.join(`,`)+`]`}_writeString(e,t){return this.parent&&(t=this.parent._writeString(e,t)),e[t++]=`(${this.ruleId}, ${this.nameScopesList?.toString()}, ${this.contentNameScopesList?.toString()})`,t}withContentNameScopesList(e){return this.contentNameScopesList===e?this:this.parent.push(this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,this.endRule,this.nameScopesList,e)}withEndRule(t){return this.endRule===t?this:new e(this.parent,this.ruleId,this._enterPos,this._anchorPos,this.beginRuleCapturedEOL,t,this.nameScopesList,this.contentNameScopesList)}hasSameRuleAs(e){let t=this;for(;t&&t._enterPos===e._enterPos;){if(t.ruleId===e.ruleId)return!0;t=t.parent}return!1}toStateStackFrame(){return{ruleId:rw(this.ruleId),beginRuleCapturedEOL:this.beginRuleCapturedEOL,endRule:this.endRule,nameScopesList:this.nameScopesList?.getExtensionIfDefined(this.parent?.nameScopesList??null)??[],contentNameScopesList:this.contentNameScopesList?.getExtensionIfDefined(this.nameScopesList)??[]}}static pushFrame(t,n){let r=Fw.fromExtension(t?.nameScopesList??null,n.nameScopesList);return new e(t,nw(n.ruleId),n.enterPos??-1,n.anchorPos??-1,n.beginRuleCapturedEOL,n.endRule,r,Fw.fromExtension(r,n.contentNameScopesList))}},Lw=class{balancedBracketScopes;unbalancedBracketScopes;allowAny=!1;constructor(e,t){this.balancedBracketScopes=e.flatMap(e=>e===`*`?(this.allowAny=!0,[]):PC(e,jw).map(e=>e.matcher)),this.unbalancedBracketScopes=t.flatMap(e=>PC(e,jw).map(e=>e.matcher))}get matchesAlways(){return this.allowAny&&this.unbalancedBracketScopes.length===0}get matchesNever(){return this.balancedBracketScopes.length===0&&!this.allowAny}match(e){for(let t of this.unbalancedBracketScopes)if(t(e))return!1;for(let t of this.balancedBracketScopes)if(t(e))return!0;return this.allowAny}},Rw=class{constructor(e,t,n,r){this.balancedBracketSelectors=r,this._emitBinaryTokens=e,this._tokenTypeOverrides=n,this._lineText=null,this._tokens=[],this._binaryTokens=[],this._lastTokenEndIndex=0}_emitBinaryTokens;_lineText;_tokens;_binaryTokens;_lastTokenEndIndex;_tokenTypeOverrides;produce(e,t){this.produceFromScopes(e.contentNameScopesList,t)}produceFromScopes(e,t){if(this._lastTokenEndIndex>=t)return;if(this._emitBinaryTokens){let n=e?.tokenAttributes??0,r=!1;if(this.balancedBracketSelectors?.matchesAlways&&(r=!0),this._tokenTypeOverrides.length>0||this.balancedBracketSelectors&&!this.balancedBracketSelectors.matchesAlways&&!this.balancedBracketSelectors.matchesNever){let t=e?.getScopeNames()??[];for(let e of this._tokenTypeOverrides)e.matcher(t)&&(n=jC.set(n,0,MC(e.type),null,-1,0,0));this.balancedBracketSelectors&&(r=this.balancedBracketSelectors.match(t))}if(r&&(n=jC.set(n,0,8,r,-1,0,0)),this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-1]===n){this._lastTokenEndIndex=t;return}this._binaryTokens.push(this._lastTokenEndIndex),this._binaryTokens.push(n),this._lastTokenEndIndex=t;return}let n=e?.getScopeNames()??[];this._tokens.push({startIndex:this._lastTokenEndIndex,endIndex:t,scopes:n}),this._lastTokenEndIndex=t}getResult(e,t){return this._tokens.length>0&&this._tokens[this._tokens.length-1].startIndex===t-1&&this._tokens.pop(),this._tokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._tokens[this._tokens.length-1].startIndex=0),this._tokens}getBinaryResult(e,t){this._binaryTokens.length>0&&this._binaryTokens[this._binaryTokens.length-2]===t-1&&(this._binaryTokens.pop(),this._binaryTokens.pop()),this._binaryTokens.length===0&&(this._lastTokenEndIndex=-1,this.produce(e,t),this._binaryTokens[this._binaryTokens.length-2]=0);let n=new Uint32Array(this._binaryTokens.length);for(let e=0,t=this._binaryTokens.length;e<t;e++)n[e]=this._binaryTokens[e];return n}},zw=class{constructor(e,t){this._onigLib=t,this._theme=e}_grammars=new Map;_rawGrammars=new Map;_injectionGrammars=new Map;_theme;dispose(){for(let e of this._grammars.values())e.dispose()}setTheme(e){this._theme=e}getColorMap(){return this._theme.getColorMap()}addGrammar(e,t){this._rawGrammars.set(e.scopeName,e),t&&this._injectionGrammars.set(e.scopeName,t)}lookup(e){return this._rawGrammars.get(e)}injections(e){return this._injectionGrammars.get(e)}getDefaults(){return this._theme.getDefaults()}themeMatch(e){return this._theme.match(e)}grammarForScopeName(e,t,n,r,i){if(!this._grammars.has(e)){let a=this._rawGrammars.get(e);if(!a)return null;this._grammars.set(e,kw(e,a,t,n,r,i,this,this._onigLib))}return this._grammars.get(e)}},Bw=class{_options;_syncRegistry;_ensureGrammarCache;constructor(e){this._options=e,this._syncRegistry=new zw(vC.createFromRawTheme(e.theme,e.colorMap),e.onigLib),this._ensureGrammarCache=new Map}dispose(){this._syncRegistry.dispose()}setTheme(e,t){this._syncRegistry.setTheme(vC.createFromRawTheme(e,t))}getColorMap(){return this._syncRegistry.getColorMap()}loadGrammarWithEmbeddedLanguages(e,t,n){return this.loadGrammarWithConfiguration(e,t,{embeddedLanguages:n})}loadGrammarWithConfiguration(e,t,n){return this._loadGrammar(e,t,n.embeddedLanguages,n.tokenTypes,new Lw(n.balancedBracketSelectors||[],n.unbalancedBracketSelectors||[]))}loadGrammar(e){return this._loadGrammar(e,0,null,null,null)}_loadGrammar(e,t,n,r,i){let a=new VC(this._syncRegistry,e);for(;a.Q.length>0;)a.Q.map(e=>this._loadSingleGrammar(e.scopeName)),a.processQueue();return this._grammarForScopeName(e,t,n,r,i)}_loadSingleGrammar(e){this._ensureGrammarCache.has(e)||(this._doLoadSingleGrammar(e),this._ensureGrammarCache.set(e,!0))}_doLoadSingleGrammar(e){let t=this._options.loadGrammar(e);if(t){let n=typeof this._options.getInjections==`function`?this._options.getInjections(e):void 0;this._syncRegistry.addGrammar(t,n)}}addGrammar(e,t=[],n=0,r=null){return this._syncRegistry.addGrammar(e,t),this._grammarForScopeName(e.scopeName,n,r)}_grammarForScopeName(e,t=0,n=null,r=null,i=null){return this._syncRegistry.grammarForScopeName(e,t,n,r,i)}},Vw=Iw.NULL;function Hw(e,t){let n=typeof e==`string`?{}:{...e.colorReplacements},r=typeof e==`string`?e:e.name;for(let[e,i]of Object.entries(t?.colorReplacements||{}))typeof i==`string`?n[e]=i:e===r&&Object.assign(n,i);return n}function Uw(e,t){return e&&(t?.[e?.toLowerCase()]||e)}function Ww(e){return Array.isArray(e)?e:[e]}async function Gw(e){return Promise.resolve(typeof e==`function`?e():e).then(e=>e.default||e)}function Kw(e){return!e||[`plaintext`,`txt`,`text`,`plain`].includes(e)}function qw(e){return e===`ansi`||Kw(e)}function Jw(e){return e===`none`}function Yw(e){return Jw(e)}var Xw=/(\r?\n)/g;function Zw(e,t=!1){if(e.length===0)return[[``,0]];let n=e.split(Xw),r=0,i=[];for(let e=0;e<n.length;e+=2){let a=t?n[e]+(n[e+1]||``):n[e];i.push([a,r]),r+=n[e].length,r+=n[e+1]?.length||0}return i}var Qw={light:`#333333`,dark:`#bbbbbb`},$w={light:`#fffffe`,dark:`#1e1e1e`},eT=`__shiki_resolved`;function tT(e){if(e?.[eT])return e;let t={...e};t.tokenColors&&!t.settings&&(t.settings=t.tokenColors,delete t.tokenColors),t.type||=`dark`,t.colorReplacements={...t.colorReplacements},t.settings||=[];let{bg:n,fg:r}=t;if(!n||!r){let e=t.settings?t.settings.find(e=>!e.name&&!e.scope):void 0;e?.settings?.foreground&&(r=e.settings.foreground),e?.settings?.background&&(n=e.settings.background),!r&&t?.colors?.[`editor.foreground`]&&(r=t.colors[`editor.foreground`]),!n&&t?.colors?.[`editor.background`]&&(n=t.colors[`editor.background`]),r||=t.type===`light`?Qw.light:Qw.dark,n||=t.type===`light`?$w.light:$w.dark,t.fg=r,t.bg=n}t.settings[0]&&t.settings[0].settings&&!t.settings[0].scope||t.settings.unshift({settings:{foreground:t.fg,background:t.bg}});let i=0,a=new Map;function o(e){if(a.has(e))return a.get(e);i+=1;let n=`#${i.toString(16).padStart(8,`0`).toLowerCase()}`;return t.colorReplacements?.[`#${n}`]?o(e):(a.set(e,n),n)}t.settings=t.settings.map(e=>{let n=e.settings?.foreground&&!e.settings.foreground.startsWith(`#`),r=e.settings?.background&&!e.settings.background.startsWith(`#`);if(!n&&!r)return e;let i={...e,settings:{...e.settings}};if(n){let n=o(e.settings.foreground);t.colorReplacements[n]=e.settings.foreground,i.settings.foreground=n}if(r){let n=o(e.settings.background);t.colorReplacements[n]=e.settings.background,i.settings.background=n}return i});for(let e of Object.keys(t.colors||{}))if((e===`editor.foreground`||e===`editor.background`||e.startsWith(`terminal.ansi`))&&!t.colors[e]?.startsWith(`#`)){let n=o(t.colors[e]);t.colorReplacements[n]=t.colors[e],t.colors[e]=n}return Object.defineProperty(t,eT,{enumerable:!1,writable:!1,value:!0}),t}async function nT(e){return[...new Set((await Promise.all(e.filter(e=>!qw(e)).map(async e=>await Gw(e).then(e=>Array.isArray(e)?e:[e])))).flat())]}async function rT(e){return(await Promise.all(e.map(async e=>Yw(e)?null:tT(await Gw(e))))).filter(e=>!!e)}function iT(e,t){if(!t)return e;if(t[e]){let n=new Set([e]);for(;t[e];){if(e=t[e],n.has(e))throw new iC(`Circular alias \`${[...n].join(` -> `)} -> ${e}\``);n.add(e)}}return e}var aT=class extends Bw{_resolver;_themes;_langs;_alias;_resolvedThemes=new Map;_resolvedGrammars=new Map;_langMap=new Map;_langGraph=new Map;_textmateThemeCache=new WeakMap;_loadedThemesCache=null;_loadedLanguagesCache=null;constructor(e,t,n,r={}){super(e),this._resolver=e,this._themes=t,this._langs=n,this._alias=r,this._themes.map(e=>this.loadTheme(e)),this.loadLanguages(this._langs)}getTheme(e){return typeof e==`string`?this._resolvedThemes.get(e):this.loadTheme(e)}loadTheme(e){let t=tT(e);return t.name&&(this._resolvedThemes.set(t.name,t),this._loadedThemesCache=null),t}getLoadedThemes(){return this._loadedThemesCache||=[...this._resolvedThemes.keys()],this._loadedThemesCache}setTheme(e){let t=this._textmateThemeCache.get(e);t||(t=vC.createFromRawTheme(e),this._textmateThemeCache.set(e,t)),this._syncRegistry.setTheme(t)}getGrammar(e){return e=iT(e,this._alias),this._resolvedGrammars.get(e)}loadLanguage(e){if(this.getGrammar(e.name))return;let t=new Set([...this._langMap.values()].filter(t=>t.embeddedLangsLazy?.includes(e.name)));this._resolver.addLanguage(e);let n={balancedBracketSelectors:e.balancedBracketSelectors||[`*`],unbalancedBracketSelectors:e.unbalancedBracketSelectors||[]};this._syncRegistry._rawGrammars.set(e.scopeName,e);let r=this.loadGrammarWithConfiguration(e.scopeName,1,n);if(r.name=e.name,this._resolvedGrammars.set(e.name,r),e.aliases&&e.aliases.forEach(t=>{this._alias[t]=e.name}),this._loadedLanguagesCache=null,t.size)for(let e of t)this._resolvedGrammars.delete(e.name),this._loadedLanguagesCache=null,this._syncRegistry?._injectionGrammars?.delete(e.scopeName),this._syncRegistry?._grammars?.delete(e.scopeName),this.loadLanguage(this._langMap.get(e.name))}dispose(){super.dispose(),this._resolvedThemes.clear(),this._resolvedGrammars.clear(),this._langMap.clear(),this._langGraph.clear(),this._loadedThemesCache=null}loadLanguages(e){for(let t of e)this.resolveEmbeddedLanguages(t);let t=[...this._langGraph.entries()],n=t.filter(([e,t])=>!t);if(n.length){let e=t.filter(([e,t])=>t?(t.embeddedLanguages||t.embeddedLangs)?.some(e=>n.map(([e])=>e).includes(e)):!1).filter(e=>!n.includes(e));throw new iC(`Missing languages ${n.map(([e])=>`\`${e}\``).join(`, `)}, required by ${e.map(([e])=>`\`${e}\``).join(`, `)}`)}for(let[e,n]of t)this._resolver.addLanguage(n);for(let[e,n]of t)this.loadLanguage(n)}getLoadedLanguages(){return this._loadedLanguagesCache||=[...new Set([...this._resolvedGrammars.keys(),...Object.keys(this._alias)])],this._loadedLanguagesCache}resolveEmbeddedLanguages(e){this._langMap.set(e.name,e),this._langGraph.set(e.name,e);let t=e.embeddedLanguages??e.embeddedLangs;if(t)for(let e of t)this._langGraph.set(e,this._langMap.get(e))}},oT=class{_langs=new Map;_scopeToLang=new Map;_injections=new Map;_onigLib;constructor(e,t){this._onigLib={createOnigScanner:t=>e.createScanner(t),createOnigString:t=>e.createString(t)},t.forEach(e=>this.addLanguage(e))}get onigLib(){return this._onigLib}getLangRegistration(e){return this._langs.get(e)}loadGrammar(e){return this._scopeToLang.get(e)}addLanguage(e){this._langs.set(e.name,e),e.aliases&&e.aliases.forEach(t=>{this._langs.set(t,e)}),this._scopeToLang.set(e.scopeName,e),e.injectTo&&e.injectTo.forEach(t=>{this._injections.get(t)||this._injections.set(t,[]),this._injections.get(t).push(e.scopeName)})}getInjections(e){let t=e.split(`.`),n=[];for(let e=1;e<=t.length;e++){let r=t.slice(0,e).join(`.`);n=[...n,...this._injections.get(r)||[]]}return n}},sT=0;function cT(e){sT+=1,e.warnings!==!1&&sT>=10&&sT%10==0&&console.warn(`[Shiki] ${sT} instances have been created. Shiki is supposed to be used as a singleton, consider refactoring your code to cache your highlighter instance; Or call \`highlighter.dispose()\` to release unused instances.`);let t=!1;if(!e.engine)throw new iC("`engine` option is required for synchronous mode");let n=(e.langs||[]).flat(1),r=(e.themes||[]).flat(1).map(tT),i=new aT(new oT(e.engine,n),r,n,e.langAlias),a;function o(t){return iT(t,e.langAlias)}function s(e){g();let t=i.getGrammar(typeof e==`string`?e:e.name);if(!t)throw new iC(`Language \`${e}\` not found, you may need to load it first`);return t}function c(e){if(e===`none`)return{bg:``,fg:``,name:`none`,settings:[],type:`dark`};g();let t=i.getTheme(e);if(!t)throw new iC(`Theme \`${e}\` not found, you may need to load it first`);return t}function l(e){g();let t=c(e);return a!==e&&(i.setTheme(t),a=e),{theme:t,colorMap:i.getColorMap()}}function u(){return g(),i.getLoadedThemes()}function d(){return g(),i.getLoadedLanguages()}function f(...e){g(),i.loadLanguages(e.flat(1))}async function p(...e){return f(await nT(e))}function m(...e){g();for(let t of e.flat(1))i.loadTheme(t)}async function h(...e){return g(),m(await rT(e))}function g(){if(t)throw new iC(`Shiki instance has been disposed`)}function _(){t||(t=!0,i.dispose(),--sT)}return{setTheme:l,getTheme:c,getLanguage:s,getLoadedThemes:u,getLoadedLanguages:d,resolveLangAlias:o,loadLanguage:p,loadLanguageSync:f,loadTheme:h,loadThemeSync:m,dispose:_,[Symbol.dispose]:_}}async function lT(e){e.engine||console.warn("`engine` option is required. Use `createOnigurumaEngine` or `createJavaScriptRegexEngine` to create an engine.");let[t,n,r]=await Promise.all([rT(e.themes||[]),nT(e.langs||[]),e.engine]);return cT({...e,themes:t,langs:n,engine:r})}var uT=new WeakMap;function dT(e,t){uT.set(e,t)}function fT(e){return uT.get(e)}var pT=class e{_stacks={};lang;get themes(){return Object.keys(this._stacks)}get theme(){return this.themes[0]}get _stack(){return this._stacks[this.theme]}static initial(t,n){return new e(Object.fromEntries(Ww(n).map(e=>[e,Vw])),t)}constructor(...e){if(e.length===2){let[t,n]=e;this.lang=n,this._stacks=t}else{let[t,n,r]=e;this.lang=n,this._stacks={[r]:t}}}getInternalStack(e=this.theme){return this._stacks[e]}getScopes(e=this.theme){return mT(this._stacks[e])}toJSON(){return{lang:this.lang,theme:this.theme,themes:this.themes,scopes:this.getScopes()}}};function mT(e){let t=[],n=new Set;function r(e){if(n.has(e))return;n.add(e);let i=e?.nameScopesList?.scopeName;i&&t.push(i),e.parent&&r(e.parent)}return r(e),t}function hT(e,t){if(!(e instanceof pT))throw new iC(`Invalid grammar state`);return e.getInternalStack(t)}var gT=/,/,_T=/ /;function vT(e,t,n={}){let{theme:r=e.getLoadedThemes()[0]}=n;if(Kw(e.resolveLangAlias(n.lang||`text`))||Jw(r))return Zw(t).map(e=>[{content:e[0],offset:e[1]}]);let{theme:i,colorMap:a}=e.setTheme(r),o=e.getLanguage(n.lang||`text`);if(n.grammarState){if(n.grammarState.lang!==o.name)throw new iC(`Grammar state language "${n.grammarState.lang}" does not match highlight language "${o.name}"`);if(!n.grammarState.themes.includes(i.name))throw new iC(`Grammar state themes "${n.grammarState.themes}" do not contain highlight theme "${i.name}"`)}return bT(t,o,i,a,n)}function yT(...e){if(e.length===2)return fT(e[1]);let[t,n,r={}]=e,{lang:i=`text`,theme:a=t.getLoadedThemes()[0]}=r;if(Kw(i)||Jw(a))throw new iC(`Plain language does not have grammar state`);if(i===`ansi`)throw new iC(`ANSI language does not have grammar state`);let{theme:o,colorMap:s}=t.setTheme(a),c=t.getLanguage(i);return new pT(xT(n,c,o,s,r).stateStack,c.name,o.name)}function bT(e,t,n,r,i){let a=xT(e,t,n,r,i),o=new pT(a.stateStack,t.name,n.name);return dT(a.tokens,o),a.tokens}function xT(e,t,n,r,i){let a=Hw(n,i),{tokenizeMaxLineLength:o=0,tokenizeTimeLimit:s=500,includeExplanation:c=!1}=i,l=Zw(e),u=i.grammarState?hT(i.grammarState,n.name)??Vw:i.grammarContextCode==null?Vw:xT(i.grammarContextCode,t,n,r,{...i,grammarState:void 0,grammarContextCode:void 0}).stateStack,d=[],f=[];for(let e=0,i=l.length;e<i;e++){let[i,p]=l[e];if(i===``){d=[],f.push([]);continue}if(o>0&&i.length>=o){d=[],f.push([{content:i,offset:p,color:``,fontStyle:0}]);continue}let m,h,g;c&&c!==`tokenType`&&(m=t.tokenizeLine(i,u,s),h=m.tokens,g=0);let _=t.tokenizeLine2(i,u,s),v=_.tokens.length/2;for(let e=0;e<v;e++){let t=_.tokens[2*e],o=e+1<v?_.tokens[2*e+2]:i.length;if(t===o)continue;let s=_.tokens[2*e+1],l=Uw(r[jC.getForeground(s)],a),u=jC.getFontStyle(s),f={content:i.substring(t,o),offset:p+t,color:l,fontStyle:u};if(c===`tokenType`)f.type=jC.getTokenType(s);else if(c){let e=[];if(c!==`scopeName`)for(let t of n.settings){let n;switch(typeof t.scope){case`string`:n=t.scope.split(gT).map(e=>e.trim());break;case`object`:n=t.scope;break;default:continue}e.push({settings:t,selectors:n.map(e=>e.split(_T))})}f.explanation=[];let r=0;for(;t+r<o;){let t=h[g],n=i.substring(t.startIndex,t.endIndex);r+=n.length,f.explanation.push({content:n,scopes:c===`scopeName`?ST(t.scopes):CT(e,t.scopes)}),g+=1}}d.push(f)}f.push(d),d=[],u=_.ruleStack}return{tokens:f,stateStack:u}}function ST(e){return e.map(e=>({scopeName:e}))}function CT(e,t){let n=[];for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]={scopeName:i,themeMatches:ET(e,i,t.slice(0,r))}}return n}function wT(e,t){return e===t||t.substring(0,e.length)===e&&t[e.length]===`.`}function TT(e,t,n){if(!wT(e.at(-1),t))return!1;let r=e.length-2,i=n.length-1;for(;r>=0&&i>=0;)wT(e[r],n[i])&&--r,--i;return r===-1}function ET(e,t,n){let r=[];for(let{selectors:i,settings:a}of e)for(let e of i)if(TT(e,t,n)){r.push(a);break}return r}function DT(e,t,n,r=vT){let i=Object.entries(n.themes).filter(e=>e[1]).map(e=>({color:e[0],theme:e[1]})),a=i.map(i=>{let a=r(e,t,{...n,theme:i.theme});return{tokens:a,state:fT(a),theme:typeof i.theme==`string`?i.theme:i.theme.name}}),o=OT(...a.map(e=>e.tokens)),s=o[0].map((e,t)=>e.map((e,r)=>{let a={content:e.content,variants:{},offset:e.offset};return`includeExplanation`in n&&n.includeExplanation&&(a.explanation=e.explanation),o.forEach((e,n)=>{let{content:o,explanation:s,offset:c,...l}=e[t][r];a.variants[i[n].color]=l}),a})),c=a[0].state?new pT(Object.fromEntries(a.map(e=>[e.theme,e.state?.getInternalStack(e.theme)])),a[0].state.lang):void 0;return c&&dT(s,c),s}function OT(...e){let t=e.map(()=>[]),n=e.length;for(let r=0;r<e[0].length;r++){let i=e.map(e=>e[r]),a=t.map(()=>[]);t.forEach((e,t)=>e.push(a[t]));let o=i.map(()=>0),s=i.map(e=>e[0]);for(;s.every(e=>e);){let e=Math.min(...s.map(e=>e.content.length));for(let t=0;t<n;t++){let n=s[t];n.content.length===e?(a[t].push(n),o[t]+=1,s[t]=i[t][o[t]]):(a[t].push({...n,content:n.content.slice(0,e)}),s[t]={...n,content:n.content.slice(e),offset:n.offset+e})}}}return t}var kT=[`area`,`base`,`basefont`,`bgsound`,`br`,`col`,`command`,`embed`,`frame`,`hr`,`image`,`img`,`input`,`keygen`,`link`,`meta`,`param`,`source`,`track`,`wbr`],AT={}.hasOwnProperty;function jT(e,t){let n=t||{};function r(t,...n){let i=r.invalid,a=r.handlers;if(t&&AT.call(t,e)){let n=String(t[e]);i=AT.call(a,n)?a[n]:r.unknown}if(i)return i.call(this,t,...n)}return r.handlers=n.handlers||{},r.invalid=n.invalid,r.unknown=n.unknown,r}var MT=/["&'<>`]/g,NT=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,PT=/[\x01-\t\v\f\x0E-\x1F\x7F\x81\x8D\x8F\x90\x9D\xA0-\uFFFF]/g,FT=/[|\\{}()[\]^$+*?.]/g,IT=new WeakMap;function LT(e,t){if(e=e.replace(t.subset?RT(t.subset):MT,r),t.subset||t.escapeOnly)return e;return e.replace(NT,n).replace(PT,r);function n(e,n,r){return t.format((e.charCodeAt(0)-55296)*1024+e.charCodeAt(1)-56320+65536,r.charCodeAt(n+2),t)}function r(e,n,r){return t.format(e.charCodeAt(0),r.charCodeAt(n+1),t)}}function RT(e){let t=IT.get(e);return t||(t=zT(e),IT.set(e,t)),t}function zT(e){let t=[],n=-1;for(;++n<e.length;)t.push(e[n].replace(FT,`\\$&`));return RegExp(`(?:`+t.join(`|`)+`)`,`g`)}var BT=/[\dA-Fa-f]/;function VT(e,t,n){let r=`&#x`+e.toString(16).toUpperCase();return n&&t&&!BT.test(String.fromCharCode(t))?r:r+`;`}var HT=/\d/;function UT(e,t,n){let r=`&#`+String(e);return n&&t&&!HT.test(String.fromCharCode(t))?r:r+`;`}var WT=`AElig.AMP.Aacute.Acirc.Agrave.Aring.Atilde.Auml.COPY.Ccedil.ETH.Eacute.Ecirc.Egrave.Euml.GT.Iacute.Icirc.Igrave.Iuml.LT.Ntilde.Oacute.Ocirc.Ograve.Oslash.Otilde.Ouml.QUOT.REG.THORN.Uacute.Ucirc.Ugrave.Uuml.Yacute.aacute.acirc.acute.aelig.agrave.amp.aring.atilde.auml.brvbar.ccedil.cedil.cent.copy.curren.deg.divide.eacute.ecirc.egrave.eth.euml.frac12.frac14.frac34.gt.iacute.icirc.iexcl.igrave.iquest.iuml.laquo.lt.macr.micro.middot.nbsp.not.ntilde.oacute.ocirc.ograve.ordf.ordm.oslash.otilde.ouml.para.plusmn.pound.quot.raquo.reg.sect.shy.sup1.sup2.sup3.szlig.thorn.times.uacute.ucirc.ugrave.uml.uuml.yacute.yen.yuml`.split(`.`),GT={nbsp:`\xA0`,iexcl:`¡`,cent:`¢`,pound:`£`,curren:`¤`,yen:`¥`,brvbar:`¦`,sect:`§`,uml:`¨`,copy:`©`,ordf:`ª`,laquo:`«`,not:`¬`,shy:``,reg:`®`,macr:`¯`,deg:`°`,plusmn:`±`,sup2:`²`,sup3:`³`,acute:`´`,micro:`µ`,para:`¶`,middot:`·`,cedil:`¸`,sup1:`¹`,ordm:`º`,raquo:`»`,frac14:`¼`,frac12:`½`,frac34:`¾`,iquest:`¿`,Agrave:`À`,Aacute:`Á`,Acirc:`Â`,Atilde:`Ã`,Auml:`Ä`,Aring:`Å`,AElig:`Æ`,Ccedil:`Ç`,Egrave:`È`,Eacute:`É`,Ecirc:`Ê`,Euml:`Ë`,Igrave:`Ì`,Iacute:`Í`,Icirc:`Î`,Iuml:`Ï`,ETH:`Ð`,Ntilde:`Ñ`,Ograve:`Ò`,Oacute:`Ó`,Ocirc:`Ô`,Otilde:`Õ`,Ouml:`Ö`,times:`×`,Oslash:`Ø`,Ugrave:`Ù`,Uacute:`Ú`,Ucirc:`Û`,Uuml:`Ü`,Yacute:`Ý`,THORN:`Þ`,szlig:`ß`,agrave:`à`,aacute:`á`,acirc:`â`,atilde:`ã`,auml:`ä`,aring:`å`,aelig:`æ`,ccedil:`ç`,egrave:`è`,eacute:`é`,ecirc:`ê`,euml:`ë`,igrave:`ì`,iacute:`í`,icirc:`î`,iuml:`ï`,eth:`ð`,ntilde:`ñ`,ograve:`ò`,oacute:`ó`,ocirc:`ô`,otilde:`õ`,ouml:`ö`,divide:`÷`,oslash:`ø`,ugrave:`ù`,uacute:`ú`,ucirc:`û`,uuml:`ü`,yacute:`ý`,thorn:`þ`,yuml:`ÿ`,fnof:`ƒ`,Alpha:`Α`,Beta:`Β`,Gamma:`Γ`,Delta:`Δ`,Epsilon:`Ε`,Zeta:`Ζ`,Eta:`Η`,Theta:`Θ`,Iota:`Ι`,Kappa:`Κ`,Lambda:`Λ`,Mu:`Μ`,Nu:`Ν`,Xi:`Ξ`,Omicron:`Ο`,Pi:`Π`,Rho:`Ρ`,Sigma:`Σ`,Tau:`Τ`,Upsilon:`Υ`,Phi:`Φ`,Chi:`Χ`,Psi:`Ψ`,Omega:`Ω`,alpha:`α`,beta:`β`,gamma:`γ`,delta:`δ`,epsilon:`ε`,zeta:`ζ`,eta:`η`,theta:`θ`,iota:`ι`,kappa:`κ`,lambda:`λ`,mu:`μ`,nu:`ν`,xi:`ξ`,omicron:`ο`,pi:`π`,rho:`ρ`,sigmaf:`ς`,sigma:`σ`,tau:`τ`,upsilon:`υ`,phi:`φ`,chi:`χ`,psi:`ψ`,omega:`ω`,thetasym:`ϑ`,upsih:`ϒ`,piv:`ϖ`,bull:`•`,hellip:`…`,prime:`′`,Prime:`″`,oline:`‾`,frasl:`⁄`,weierp:`℘`,image:`ℑ`,real:`ℜ`,trade:`™`,alefsym:`ℵ`,larr:`←`,uarr:`↑`,rarr:`→`,darr:`↓`,harr:`↔`,crarr:`↵`,lArr:`⇐`,uArr:`⇑`,rArr:`⇒`,dArr:`⇓`,hArr:`⇔`,forall:`∀`,part:`∂`,exist:`∃`,empty:`∅`,nabla:`∇`,isin:`∈`,notin:`∉`,ni:`∋`,prod:`∏`,sum:`∑`,minus:`−`,lowast:`∗`,radic:`√`,prop:`∝`,infin:`∞`,ang:`∠`,and:`∧`,or:`∨`,cap:`∩`,cup:`∪`,int:`∫`,there4:`∴`,sim:`∼`,cong:`≅`,asymp:`≈`,ne:`≠`,equiv:`≡`,le:`≤`,ge:`≥`,sub:`⊂`,sup:`⊃`,nsub:`⊄`,sube:`⊆`,supe:`⊇`,oplus:`⊕`,otimes:`⊗`,perp:`⊥`,sdot:`⋅`,lceil:`⌈`,rceil:`⌉`,lfloor:`⌊`,rfloor:`⌋`,lang:`〈`,rang:`〉`,loz:`◊`,spades:`♠`,clubs:`♣`,hearts:`♥`,diams:`♦`,quot:`"`,amp:`&`,lt:`<`,gt:`>`,OElig:`Œ`,oelig:`œ`,Scaron:`Š`,scaron:`š`,Yuml:`Ÿ`,circ:`ˆ`,tilde:`˜`,ensp:` `,emsp:` `,thinsp:` `,zwnj:``,zwj:``,lrm:``,rlm:``,ndash:`–`,mdash:`—`,lsquo:`‘`,rsquo:`’`,sbquo:`‚`,ldquo:`“`,rdquo:`”`,bdquo:`„`,dagger:`†`,Dagger:`‡`,permil:`‰`,lsaquo:`‹`,rsaquo:`›`,euro:`€`},KT=[`cent`,`copy`,`divide`,`gt`,`lt`,`not`,`para`,`times`],qT={}.hasOwnProperty,JT={},YT;for(YT in GT)qT.call(GT,YT)&&(JT[GT[YT]]=YT);var XT=/[^\dA-Za-z]/;function ZT(e,t,n,r){let i=String.fromCharCode(e);if(qT.call(JT,i)){let e=JT[i],a=`&`+e;return n&&WT.includes(e)&&!KT.includes(e)&&(!r||t&&t!==61&&XT.test(String.fromCharCode(t)))?a:a+`;`}return``}function QT(e,t,n){let r=VT(e,t,n.omitOptionalSemicolons),i;if((n.useNamedReferences||n.useShortestReferences)&&(i=ZT(e,t,n.omitOptionalSemicolons,n.attribute)),(n.useShortestReferences||!i)&&n.useShortestReferences){let i=UT(e,t,n.omitOptionalSemicolons);i.length<r.length&&(r=i)}return i&&(!n.useShortestReferences||i.length<r.length)?i:r}function $T(e,t){return LT(e,Object.assign({format:QT},t))}var eE=/^>|^->|<!--|-->|--!>|<!-$/g,tE=[`>`],nE=[`<`,`>`];function rE(e,t,n,r){return r.settings.bogusComments?`<?`+$T(e.value,Object.assign({},r.settings.characterReferences,{subset:tE}))+`>`:`<!--`+e.value.replace(eE,i)+`-->`;function i(e){return $T(e,Object.assign({},r.settings.characterReferences,{subset:nE}))}}function iE(e,t,n,r){return`<!`+(r.settings.upperDoctype?`DOCTYPE`:`doctype`)+(r.settings.tightDoctype?``:` `)+`html>`}var aE=cE(1),oE=cE(-1),sE=[];function cE(e){return t;function t(t,n,r){let i=t?t.children:sE,a=(n||0)+e,o=i[a];if(!r)for(;o&&c(o);)a+=e,o=i[a];return o}}var lE={}.hasOwnProperty;function uE(e){return t;function t(t,n,r){return lE.call(e,t.tagName)&&e[t.tagName](t,n,r)}}var dE=uE({body:mE,caption:fE,colgroup:fE,dd:vE,dt:_E,head:fE,html:pE,li:gE,optgroup:bE,option:xE,p:hE,rp:yE,rt:yE,tbody:CE,td:EE,tfoot:wE,th:EE,thead:SE,tr:TE});function fE(e,t,n){let r=aE(n,t,!0);return!r||r.type!==`comment`&&!(r.type===`text`&&c(r.value.charAt(0)))}function pE(e,t,n){let r=aE(n,t);return!r||r.type!==`comment`}function mE(e,t,n){let r=aE(n,t);return!r||r.type!==`comment`}function hE(e,t,n){let r=aE(n,t);return r?r.type===`element`&&(r.tagName===`address`||r.tagName===`article`||r.tagName===`aside`||r.tagName===`blockquote`||r.tagName===`details`||r.tagName===`div`||r.tagName===`dl`||r.tagName===`fieldset`||r.tagName===`figcaption`||r.tagName===`figure`||r.tagName===`footer`||r.tagName===`form`||r.tagName===`h1`||r.tagName===`h2`||r.tagName===`h3`||r.tagName===`h4`||r.tagName===`h5`||r.tagName===`h6`||r.tagName===`header`||r.tagName===`hgroup`||r.tagName===`hr`||r.tagName===`main`||r.tagName===`menu`||r.tagName===`nav`||r.tagName===`ol`||r.tagName===`p`||r.tagName===`pre`||r.tagName===`section`||r.tagName===`table`||r.tagName===`ul`):!n||!(n.type===`element`&&(n.tagName===`a`||n.tagName===`audio`||n.tagName===`del`||n.tagName===`ins`||n.tagName===`map`||n.tagName===`noscript`||n.tagName===`video`))}function gE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&r.tagName===`li`}function _E(e,t,n){let r=aE(n,t);return!!(r&&r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`))}function vE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&(r.tagName===`dt`||r.tagName===`dd`)}function yE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&(r.tagName===`rp`||r.tagName===`rt`)}function bE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&r.tagName===`optgroup`}function xE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&(r.tagName===`option`||r.tagName===`optgroup`)}function SE(e,t,n){let r=aE(n,t);return!!(r&&r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`))}function CE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&(r.tagName===`tbody`||r.tagName===`tfoot`)}function wE(e,t,n){return!aE(n,t)}function TE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&r.tagName===`tr`}function EE(e,t,n){let r=aE(n,t);return!r||r.type===`element`&&(r.tagName===`td`||r.tagName===`th`)}var DE=uE({body:AE,colgroup:jE,head:kE,html:OE,tbody:ME});function OE(e){let t=aE(e,-1);return!t||t.type!==`comment`}function kE(e){let t=new Set;for(let n of e.children)if(n.type===`element`&&(n.tagName===`base`||n.tagName===`title`)){if(t.has(n.tagName))return!1;t.add(n.tagName)}let n=e.children[0];return!n||n.type===`element`}function AE(e){let t=aE(e,-1,!0);return!t||t.type!==`comment`&&!(t.type===`text`&&c(t.value.charAt(0)))&&!(t.type===`element`&&(t.tagName===`meta`||t.tagName===`link`||t.tagName===`script`||t.tagName===`style`||t.tagName===`template`))}function jE(e,t,n){let r=oE(n,t),i=aE(e,-1,!0);return n&&r&&r.type===`element`&&r.tagName===`colgroup`&&dE(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`col`)}function ME(e,t,n){let r=oE(n,t),i=aE(e,-1);return n&&r&&r.type===`element`&&(r.tagName===`thead`||r.tagName===`tbody`)&&dE(r,n.children.indexOf(r),n)?!1:!!(i&&i.type===`element`&&i.tagName===`tr`)}var NE={name:[[`
|
|
26
26
|
\f\r &/=>`.split(``),`
|
|
@@ -49,4 +49,4 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
49
49
|
<rect width="32" height="32" rx="6" fill="${aA}"/>
|
|
50
50
|
${[10,16,22].map((t,n)=>`<circle cx="${t}" cy="${n===e?13:17}" r="3" fill="white"/>`).join(``)}
|
|
51
51
|
${t?`<circle cx="26" cy="6" r="5" fill="${oA}"/>`:``}
|
|
52
|
-
</svg>`}var lA=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,uA=[lA(sA(!1)),lA(sA(!0))],dA=[0,1,2,-1].map(e=>[lA(cA(e,!1)),lA(cA(e,!0))]),fA=dA.length;function pA(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=uA[r]:n.href=dA[(t%fA+fA)%fA][r]}function mA(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function hA(){let e=W(e=>e.activeProject),t=V(e=>e.deviceName),n=nc(rc),r=(0,q.useRef)(null);(0,q.useEffect)(()=>{let i=()=>Oo(Do.getState())>0,a=()=>{let n=Oo(Do.getState());document.title=mA(n,e?.name,t??void 0)};if(a(),n){let e=0;pA(i(),e),r.current=setInterval(()=>{e=(e+1)%fA,pA(i(),e)},300)}else pA(i());let o=Do.subscribe(()=>{a(),n||pA(i())});return()=>{o(),r.current&&=(clearInterval(r.current),null)}},[e?.name,t,n])}var gA=`chat`;function _A(e,t,n){if(n<=0)return[];let r=[];for(let n of Object.values(e)){let e=new Map(n.tabs.map(e=>[e.id,e.type])),i=new Set,a=[],o=n.tabHistory??[];for(let n=o.length-1;n>=0;n--){let r=o[n];i.has(r)||t.has(r)||e.get(r)===gA&&(i.add(r),a.push(r))}a.length>0&&r.push(a)}let i=[],a=new Set;for(let e=0;i.length<n;e++){let t=!1;for(let o of r){if(i.length>=n)break;let r=o[e];r!==void 0&&(t=!0,!a.has(r)&&(a.add(r),i.push(r)))}if(!t)break}return i}var vA=3,yA=2500,bA=1200;function xA(e,t){let n,r=window,i=setTimeout(()=>{r.requestIdleCallback?n=r.requestIdleCallback(e,{timeout:2e3}):e()},t);return{cancel:()=>{clearTimeout(i),n!==void 0&&r.cancelIdleCallback?.(n)}}}function SA(){let e=_t();(0,q.useEffect)(()=>{if(e)return;let t=!1,n=vA,r=null,i=()=>{r?.cancel(),r=null},a=()=>{if(r=null,t||n<=0)return;let{panels:e}=U.getState(),{mounted:i,mount:a}=Lc.getState(),[s]=_A(e,i,1);s&&(a(s),n--,o(bA))},o=e=>{t||n<=0||(i(),r=xA(a,e))},s=U.subscribe((e,t)=>{if(e.panels!==t.panels){for(let n of Object.keys(e.panels))if(n in t.panels&&e.panels[n]?.activeTabId!==t.panels[n]?.activeTabId){o(yA);return}}});return o(yA),()=>{t=!0,i(),s()}},[e,U(e=>e.currentProject)])}function CA(e){let t=it();return!t||/[?&]token=/.test(e)?e:`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(t)}`}var wA=3e4,TA=1e3,EA=class{ws=null;url;handlers=[];reconnectAttempts=0;reconnectTimer=null;intentionalClose=!1;pendingMessages=[];visibilityHandler=null;constructor(e){this.url=e,this.visibilityHandler=()=>{document.visibilityState===`visible`&&!this.intentionalClose&&this.ws?.readyState!==WebSocket.OPEN&&(this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null,this.reconnectAttempts=0,this.connect())},document.addEventListener(`visibilitychange`,this.visibilityHandler)}connect(){this.intentionalClose=!1,this.cleanup();let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=this.url.startsWith(`ws`)?this.url:CA(this.url),n;n=t.startsWith(`ws`)?t:`${e}//${window.location.host}${t}`,this.ws=new WebSocket(n),this.ws.onopen=()=>{this.reconnectAttempts=0;try{this.ws?.send(JSON.stringify({type:`ready`}))}catch{}if(this.pendingMessages.length>0){console.log(`[ws] flushing ${this.pendingMessages.length} queued message(s)`);for(let e of this.pendingMessages)try{this.ws?.send(e)}catch{}this.pendingMessages=[]}},this.ws.onmessage=e=>{for(let t of this.handlers)t(e)},this.ws.onclose=()=>{this.intentionalClose||this.scheduleReconnect()},this.ws.onerror=()=>{this.ws?.close()}}disconnect(){this.intentionalClose=!0,this.pendingMessages=[],this.cleanup(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.visibilityHandler&&=(document.removeEventListener(`visibilitychange`,this.visibilityHandler),null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.intentionalClose?console.warn(`[ws] message dropped — WS intentionally closed`):(console.warn(`[ws] WS not open (readyState=${this.ws?.readyState??`no-ws`}) — queuing message`),this.pendingMessages.push(e))}onMessage(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(t=>t!==e)}}get isConnected(){return this.ws?.readyState===WebSocket.OPEN}cleanup(){this.ws&&=(this.ws.onopen=null,this.ws.onclose=null,this.ws.onmessage=null,this.ws.onerror=null,(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING)&&this.ws.close(),null)}scheduleReconnect(){let e=Math.min(TA*2**this.reconnectAttempts,wA);this.reconnectAttempts++,this.reconnectTimer=setTimeout(()=>this.connect(),e)}};async function DA(e){if(e)try{let t=await R.get(`${L(e)}/chat/sessions/running`);nc.getState().replaceProjectStreaming(e,t.map(e=>e.sessionId))}catch{}}function OA(e,t){let n=(0,q.useRef)(null),r=(0,q.useRef)(t);r.current=t,(0,q.useEffect)(()=>{if(!e)return;let t=it(),i=new EA(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`);n.current=i;let a=i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type;if(typeof n==`string`){if(n===`global_ready`){r.current&&i.send(JSON.stringify({type:`watch`,projectName:r.current})),DA(r.current);return}if(n===`file:changed`){window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`session:unread_changed`){let e=t;Do.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;nc.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}n.startsWith(`jira:`)&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});return i.connect(),()=>{a(),i.disconnect(),n.current=null}},[e]),(0,q.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),DA(t))},[e,t])}var kA=15e3,AA=at((e,t)=>({isDown:!1,downSince:null,showOverlay:!1,markDown:()=>{let{downSince:n}=t(),r=Date.now(),i=n??r;e({isDown:!0,downSince:i,showOverlay:r-i>=kA})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),jA=1e4,MA=2e3;function NA(){(0,q.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=AA.getState();async function i(){try{let t=await fetch(`/api/health`,{cache:`no-store`});if(t.ok&&e){if(r(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}t.ok&&r(),e=!1}catch{e=!0,n()}t=setTimeout(i,e?MA:jA)}return t=setTimeout(i,jA),()=>clearTimeout(t)},[])}function PA(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function FA(e,t){let n=0,r=0,i=-1;for(let a=0;a<e.length;a++){if(n=t.indexOf(e[a],n),n===-1)return-1;i>=0&&(r+=n-i-1),i=n,n++}return r}function IA(e,t,n,r,i){if(e.includes(` `)){let a=e.split(/\s+/).filter(Boolean);if(a.length===0)return null;if(a.length===1)return IA(a[0],t,n,r,i);let o=0,s=0;for(let e of a){let a=IA(e,t,n,r,i);if(!a)return null;o=Math.max(o,a.tier),s+=a.offset}return{tier:o,offset:s,nameLen:r,depth:i}}if(t===e)return{tier:0,offset:0,nameLen:r,depth:i};if(t.startsWith(e))return{tier:1,offset:0,nameLen:r,depth:i};let a=t.indexOf(e);if(a>=0)return{tier:2,offset:a,nameLen:r,depth:i};let o=n.indexOf(e);if(o>=0)return{tier:3,offset:o,nameLen:r,depth:i};let s=FA(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=FA(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function LA(e,t,n){let r=n.toLowerCase();return IA(e.toLowerCase(),PA(r),r,t.length,n.split(`/`).length)}function RA(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var zA={action:{label:`Actions`,icon:hi},file:{label:`Files`,icon:On},db:{label:`Database`,icon:Ze},fs:{label:`Filesystem`,icon:zn}};function BA({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,J.jsx)(`div`,{className:`flex items-center gap-1.5 border-b border-border/50 px-3 py-1.5 overflow-x-auto`,children:e.map(e=>{let i=zA[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,J.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":o,"aria-label":`Filter by ${i.label}`,onClick:()=>r(e),className:`inline-flex items-center gap-1 shrink-0 rounded-full border px-2.5 py-1 text-xs font-medium transition-colors ${o?`bg-primary/15 border-primary text-primary`:`bg-surface border-border text-text-subtle hover:bg-surface-elevated`} ${a===0?`opacity-50`:``}`,children:[(0,J.jsx)(s,{className:`size-3`}),(0,J.jsx)(`span`,{children:i.label}),(0,J.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}var VA=100,HA=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),UA={"git-branch":Gn,database:Ze,refresh:Rr,plus:et,terminal:ai,settings:Jr,search:Wr,"file-code":On,globe:Jn};function WA(e){return e?e.replace(/Mod\+/g,HA?`⌘`:`Ctrl+`).replace(/Alt\+/g,HA?`⌥`:`Alt+`).replace(/Shift\+/g,HA?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,HA?`⌃`:`Ctrl+`):``}function GA(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...GA(n.children));return t}function KA(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function qA(e){let t=e.replace(/\\/g,`/`);if(t.endsWith(`/`))return e;let n=Math.max(t.lastIndexOf(`/`),e.lastIndexOf(`\\`));return n>0?e.slice(0,n+1):e}var JA=new Map;function YA({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,q.useState)(``),a=(0,q.useDeferredValue)(r),[o,s]=(0,q.useState)(0),[c,l]=(0,q.useState)([]),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)([]),[m,h]=(0,q.useState)(new Set),g=(0,q.useRef)(null),_=(0,q.useRef)(null),v=G(e=>e.openTab),y=W(e=>e.activeProject),b=rs(e=>e.fileIndex),x=rs(e=>e.indexStatus),S=rs(e=>e.loadIndex),C=rs(e=>e.tree),w=V(e=>e.setSidebarActiveTab),T=V(e=>e.sidebarCollapsed),E=V(e=>e.toggleSidebar),D=Qs(e=>e.getBinding),O=$s(e=>e.contributions),k=(0,q.useCallback)(async e=>{if(JA.has(e)){l(JA.get(e));return}d(!0);try{let t=await R.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);JA.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,q.useEffect)(()=>{if(!KA(r)){l([]);return}k(qA(r))},[r,k]),(0,q.useEffect)(()=>{if(KA(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await R.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let A=(0,q.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0,r=(r,i)=>()=>{v({type:r,title:i,projectId:e,metadata:n,closable:!0}),t()},i=[{id:`chat`,label:`New AI Chat`,icon:gr,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:WA(D(`open-chat`))},{id:`new-file`,label:`New File`,icon:Nn,action:()=>{G.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:WA(D(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:Ze,action:()=>{G.getState().openNewFile({language:`sql`,title:`SQL Query`}),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:ai,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:WA(D(`open-terminal`))},{id:`tunnels`,label:`Cloudflare Tunnels`,icon:Jn,action:()=>{T&&E(),w(`tunnels`),t()},keywords:`web preview localhost port forward tunnel cloudflare url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:vn,action:()=>{window.dispatchEvent(new CustomEvent(`open-cloud-share`)),t()},keywords:`cloud permanent link alias share phone remote device qr sign in login`,group:`action`},{id:`postgres`,label:`PostgreSQL`,icon:Ze,action:r(`postgres`,`PostgreSQL`),keywords:`database pg sql query`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:_r,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:WA(D(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:Kn,action:()=>{w(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:WA(D(`open-git-status`))},{id:`compare-files`,label:`Compare Files...`,icon:Je,group:`action`,keywords:`diff compare two files select`,shortcut:WA(D(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=G.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&fs.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:st(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},{id:`settings`,label:`Settings`,icon:Jr,action:()=>{T&&E(),w(`settings`),t()},keywords:`config preferences theme`,group:`action`,shortcut:WA(D(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:Ut,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{xf(),t()}}],a=O?.keybindings??[],o=(O?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?D(`ext:${n.command}`):``)||(n?HA&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:e.icon&&UA[e.icon]||Ir,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?WA(r):void 0,action:()=>{let n=[];y?.path&&n.push(y.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e.command,args:n}})),t()}}});return[...i,...o]},[y,v,t,w,T,E,D,O]),j=(0,q.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0;return(x===`ready`?b.filter(e=>e.type===`file`):GA(C)).map(r=>({id:`file:${r.path}`,label:r.name,hint:r.path,icon:On,group:`file`,keywords:r.path,isIgnored:`isIgnored`in r?r.isIgnored:void 0,action:()=>{v({type:`editor`,title:r.name,projectId:e,metadata:{...n,filePath:r.path},closable:!0}),t()}}))},[x,b,C,y,v,t]),M=(0,q.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0;return c.map(r=>{let i=st(r);return{id:`fs:${r}`,label:i,hint:r,icon:zn,group:`fs`,keywords:r,action:()=>{v({type:`editor`,title:i,projectId:e,metadata:{...n,filePath:r},closable:!0}),t()}}})},[c,y,v,t]),ee=(0,q.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${e.connectionType===`postgres`?`PG`:`SQLite`})`,icon:Ze,group:`db`,connectionColor:e.connectionColor,action:()=>{v({type:`database`,title:`${e.connectionName} · ${e.tableName}`,projectId:null,closable:!0,metadata:{connectionId:e.connectionId,connectionName:e.connectionName,dbType:e.connectionType,tableName:e.tableName,schemaName:e.schemaName,connectionColor:e.connectionColor}}),t()}})),[f,v,t]),N=(0,q.useMemo)(()=>[...A,...j],[A,j]),P=(0,q.useMemo)(()=>N.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:PA(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[N]),te=(0,q.useMemo)(()=>{if(KA(a)){let e=a.lastIndexOf(`/`),t=e>=0?a.slice(e+1).toLowerCase():``;return t?M.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):M.slice(0,50)}if(!a.trim())return A;let e=a.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of P){let r=IA(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>RA(e.score,t.score));let n=t.slice(0,VA).map(e=>e.cmd);return a.trim().length>=2?[...ee,...n]:n},[P,A,M,ee,a]),ne=(0,q.useMemo)(()=>{let e=new Set;for(let t of N)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[N,f.length,c.length]),re=(0,q.useMemo)(()=>{let e={};for(let t of te)e[t.group]=(e[t.group]??0)+1;return e},[te]),ie=(0,q.useMemo)(()=>m.size===0?te:te.filter(e=>m.has(e.group)),[te,m]),ae=(0,q.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,q.useEffect)(()=>{e&&x===`idle`&&y&&S(y.name)},[e,x,y,S]),(0,q.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,q.useEffect)(()=>{s(e=>Math.min(e,Math.max(ie.length-1,0)))},[ie.length]),(0,q.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let oe=(0,q.useCallback)(()=>{r.trim()&&(v({type:`chat`,title:`AI Chat`,projectId:y?.name??null,metadata:{projectName:y?.name,pendingMessage:r.trim()},closable:!0}),t())},[r,y,v,t]);function se(e){let n=ie.length;switch(e.key){case`ArrowDown`:e.preventDefault(),n>0&&s(e=>(e+1)%n);break;case`ArrowUp`:e.preventDefault(),n>0&&s(e=>(e-1+n)%n);break;case`Enter`:e.preventDefault(),n>0?ie[o]?.action():r.trim()&&oe();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return null;let ce=KA(r);return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,J.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:se,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{ref:g,type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`Search actions & files... (type / or ~/ for filesystem)`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),u&&(0,J.jsx)(K,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,J.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),ce&&!u&&c.length===0&&r.length<4&&(0,J.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-subtle border-b border-border/50`,children:`Type a directory path to browse files (e.g. ~/Projects/)`}),!ce&&(x===`loading`||x===`idle`)&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,J.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!ce&&x===`error`&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,J.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,J.jsx)(`button`,{onClick:()=>y&&S(y.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!ce&&(0,J.jsx)(BA,{availableGroups:ne,groupCounts:re,activeFilters:m,onToggle:ae}),(0,J.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:ie.length===0?u?(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&te.length>0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,J.jsxs)(`button`,{onClick:oe,className:`flex items-center gap-3 w-full px-3 py-3 text-sm text-left text-text-secondary hover:bg-accent/15 hover:text-text-primary transition-colors`,children:[(0,J.jsx)(gr,{className:`size-4 shrink-0 text-primary`}),(0,J.jsxs)(`span`,{children:[`Ask AI: `,(0,J.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):ie.map((e,t)=>{let n=e.icon;return(0,J.jsxs)(`button`,{onClick:e.action,className:`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors ${t===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`} ${e.isIgnored?`opacity-60`:``}`,title:e.isIgnored?`Gitignored file`:void 0,children:[(0,J.jsx)(n,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,J.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,J.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,J.jsx)(`kbd`,{className:`ml-auto shrink-0 rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:e.shortcut})]},e.id)})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,J.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,J.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})}var XA=50;function ZA({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,q.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,q.useState)(n??null);(0,q.useEffect)(()=>{if(r)return;function e(){l(fs.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(0),[m,h]=(0,q.useState)(null),g=(0,q.useRef)(null),_=G(e=>e.tabs),v=rs(e=>e.fileIndex),y=W(e=>e.activeProject);(0,q.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let b=(0,q.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:st(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=v.filter(e=>e.type===`file`&&!t.has(e.path)).map(e=>({id:`file:${e.path}`,path:e.path,label:e.name,source:`file`}));return[...e,...n]},[_,v]),x=(0,q.useMemo)(()=>u.trim()?b.map(e=>{let t=LA(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>RA(e.score,t.score)).slice(0,XA).map(e=>e.c):b.slice(0,XA),[b,u]);(0,q.useEffect)(()=>{f>=x.length&&p(Math.max(0,x.length-1))},[x,f]);let S=(0,q.useRef)(!1);async function C(e){if(y){if(!c){l({filePath:e.path,projectName:y.name,dirtyContent:e.dirtyContent,label:e.label}),d(``),p(0),g.current?.focus();return}if(!S.current){S.current=!0;try{await ms({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),fs.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{S.current=!1}}}}function w(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(x.length-1,e+1));else if(e.key===`ArrowUp`)e.preventDefault(),p(e=>Math.max(0,e-1));else if(e.key===`Enter`){e.preventDefault();let t=x[f];t&&C(t)}}return(0,J.jsx)(Tc,{open:o,onOpenChange:s,children:(0,J.jsxs)(kc,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,J.jsx)(Ac,{className:`px-4 pt-4 pb-2`,children:(0,J.jsxs)(X,{className:`flex items-center gap-2 text-sm`,children:[(0,J.jsx)(Je,{className:`size-4`}),`Compare Files`]})}),(0,J.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,J.jsx)(On,{className:`size-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,J.jsx)(tt,{className:`size-3`})})]}):(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,J.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:w,placeholder:c?`Search for file B...`:`Search for file A...`,className:`w-full px-4 py-2 bg-transparent border-y border-border text-sm outline-none`}),m&&(0,J.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,J.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:x.length===0?(0,J.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:b.length===0?`No files available`:`No matches`}):x.map((e,t)=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>C(e),onMouseEnter:()=>p(t),className:H(`w-full flex items-center gap-2 px-4 py-1.5 text-left text-sm`,`hover:bg-surface-elevated transition-colors`,t===f&&`bg-surface-elevated`),children:[(0,J.jsx)(On,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.label}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}var QA=at((e,t)=>({images:[],index:0,src:null,alt:``,open:(t,n=``,r)=>{let i=r?.length?r:[{src:t,alt:n}],a=i.findIndex(e=>e.src===t),o=a>=0?a:0,s=i[o];e({images:i,index:o,src:s.src,alt:s.alt||n})},close:()=>e({images:[],index:0,src:null,alt:``}),go:n=>{let{images:r,index:i}=t(),a=i+n;if(a<0||a>=r.length)return;let o=r[a];e({index:a,src:o.src,alt:o.alt})}})),$A={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},ej=.1,tj=20,nj=2.5,rj=(e,t,n)=>Math.min(n,Math.max(t,e));function ij(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function aj(){let e=(0,q.useRef)(null),t=(0,q.useRef)(null),n=(0,q.useRef)({...$A}),r=(0,q.useRef)(null),[i,a]=(0,q.useState)(100),[o,s]=(0,q.useState)(0),c=(0,q.useCallback)(()=>{let n=t.current,r=e.current;return{dw:n?.clientWidth??0,dh:n?.clientHeight??0,cw:r?.clientWidth??0,ch:r?.clientHeight??0,natural:n?.naturalWidth??0}},[]),l=(0,q.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90,o=(a?t:e)*n.current.scale,s=(a?e:t)*n.current.scale;return{maxX:Math.max(0,(o-r)/2),maxY:Math.max(0,(s-i)/2)}},[c]),u=(0,q.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,q.useCallback)((e=!1)=>{let i=t.current;if(!i)return;let{scale:a,x:o,y:s,rotation:c,flipX:l,flipY:d}=n.current;if(i.style.transform=`translate3d(${o}px, ${s}px, 0) rotate(${c}deg) scale(${a*(l?-1:1)}, ${a*(d?-1:1)})`,e){r.current!=null&&(cancelAnimationFrame(r.current),r.current=null),u();return}r.current??=requestAnimationFrame(()=>{r.current=null,u()})},[u]),f=(0,q.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=rj(n.current.x,-t,t),n.current.y=rj(n.current.y,-r,r),d(e)},[d,l]),p=(0,q.useCallback)((t,r,i,a=!1)=>{let o=e.current;if(!o)return;let s=o.getBoundingClientRect(),c=(r??s.left+s.width/2)-(s.left+s.width/2),l=(i??s.top+s.height/2)-(s.top+s.height/2),u=n.current.scale,d=rj(t,ej,tj),p=d/u;n.current.scale=d,n.current.x=c-(c-n.current.x)*p,n.current.y=l-(l-n.current.y)*p,f(a)},[f]),m=(0,q.useCallback)(()=>{n.current={...$A},d(!0)},[d]),h=(0,q.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90;n.current.scale=a&&e>0&&t>0?Math.min(r/t,i/e):1,n.current.x=0,n.current.y=0,f(!0)},[c,f]),g=(0,q.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,q.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,q.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,q.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return sx({onDrag:({delta:[e,t],pinching:r,cancel:i,last:a})=>{if(r)return i();n.current.x+=e,n.current.y+=t,f(a)},onPinch:({offset:[e],origin:[t,r],first:i,last:a,memo:o})=>{let s=i?n.current.scale/(e||1):o??1;return p(s*e,t,r,a),s},onWheel:({event:e,last:t})=>{if(t){d(!0);return}let{deltaX:r,deltaY:i}=e;if(!(r===0&&i===0)){if(e.preventDefault(),e.ctrlKey||e.metaKey||ij(e)){p(n.current.scale*Math.exp(-i/300),e.clientX,e.clientY);return}n.current.x-=r,n.current.y-=i,f()}},onDoubleClick:({event:e})=>{n.current.scale>1.05?h():p(nj,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:ej,max:tj},rubberband:!0},eventOptions:{passive:!1}}),(0,q.useEffect)(()=>{let e=()=>f();return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e),r.current!=null&&cancelAnimationFrame(r.current)}},[f]),{containerRef:e,imageRef:t,zoomPercent:i,rotation:o,zoomBy:y,reset:m,fit:h,actualSize:g,rotate:_,flip:v}}function oj(){let e=QA(e=>e.src);return e?(0,J.jsx)(sj,{},e):null}function sj(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=QA(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=aj(),[g,_]=(0,q.useState)(!1),v=xc();(0,q.useEffect)(()=>{d()},[d]);let y=(0,q.useRef)({close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h});if(y.current={close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h},(0,q.useEffect)(()=>{if(!e)return;let t=e=>{let t=y.current,n=e.key;if(n===`Escape`)return t.close();if(n===`ArrowLeft`)return t.go(-1);if(n===`ArrowRight`)return t.go(1);if(n===`+`||n===`=`)return t.zoomBy(1.25);if(n===`-`||n===`_`)return t.zoomBy(.8);if(n===`0`)return t.fit();if(n===`1`)return t.actualSize();if(n===`r`)return t.rotate(90);if(n===`R`)return t.rotate(-90);if(n===`h`)return t.flip(`x`);if(n===`v`)return t.flip(`y`)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e]),!e)return null;let b=t?.trim()||`image`,x=n.length>1,S=async()=>{await Sc(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/90 backdrop-blur-sm animate-in fade-in duration-150`,children:[(0,J.jsx)(`button`,{onClick:i,className:`absolute top-3 right-3 z-20 flex size-11 items-center justify-center rounded-full bg-white/10 text-white transition-colors hover:bg-white/20 active:bg-white/30`,"aria-label":`Close`,children:(0,J.jsx)(tt,{className:`size-5`})}),x&&(0,J.jsxs)(`div`,{className:`absolute top-3 left-3 z-20 rounded-full bg-white/10 px-3 py-1.5 font-mono text-xs text-white/80`,children:[r+1,` / `,n.length]}),(0,J.jsx)(`div`,{ref:o,className:`relative flex flex-1 touch-none select-none items-center justify-center overflow-hidden`,onPointerDown:e=>{e.target===e.currentTarget&&(e.currentTarget.dataset.bg=`1`)},onPointerUp:e=>{e.target===e.currentTarget&&e.currentTarget.dataset.bg===`1`&&i(),delete e.currentTarget.dataset.bg},children:(0,J.jsx)(`img`,{ref:s,src:e,alt:t,draggable:!1,style:{willChange:`transform`},className:`max-h-full max-w-full object-contain rounded-lg shadow-2xl`})}),(0,J.jsxs)(cj,{children:[x&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(uj,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,J.jsx)(sn,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,J.jsx)(We,{className:`size-5`})}),(0,J.jsx)(lj,{})]}),(0,J.jsx)(uj,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,J.jsx)(yr,{className:`size-5`})}),(0,J.jsxs)(`button`,{onClick:d,className:`h-11 min-w-[4.5rem] rounded-lg px-2 font-mono text-xs text-white/80 transition-colors hover:bg-white/10 active:bg-white/20`,title:`Reset view`,children:[c,`%`]}),(0,J.jsx)(uj,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,J.jsx)(et,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:f,label:`Fit to screen (0)`,children:(0,J.jsx)(mr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:p,label:`Actual size (1)`,children:(0,J.jsx)(Ur,{className:`size-5`})}),(0,J.jsx)(lj,{}),(0,J.jsx)(uj,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,J.jsx)(Vr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,J.jsx)(Hr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,J.jsx)(Zr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,J.jsx)(Qr,{className:`size-5`})}),(0,J.jsx)(lj,{}),(0,J.jsx)(uj,{onClick:()=>yc(e,b),label:`Download`,children:(0,J.jsx)(Qe,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,J.jsx)(Fe,{className:`size-5 text-green-400`}):(0,J.jsx)(Xe,{className:`size-5`})})]})]})}function cj({children:e}){return(0,J.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,J.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-0.5 rounded-2xl bg-white/10 p-1 backdrop-blur`,children:e})})}function lj(){return(0,J.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function uj({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,J.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:H(`flex size-11 items-center justify-center rounded-lg text-white transition-colors`,`hover:bg-white/15 active:bg-white/25`,i&&`text-primary`,r&&`pointer-events-none opacity-30`),children:n})}var dj=at(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),fj=.25,pj=4,mj=.25;function hj(){let{svg:e,close:t}=dj(),n=(0,q.useRef)(null),[r,i]=(0,q.useState)(1),[a,o]=(0,q.useState)({x:0,y:0}),s=(0,q.useRef)(!1),c=(0,q.useRef)({x:0,y:0});(0,q.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,q.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(pj,e+mj)),e.key===`-`&&i(e=>Math.max(fj,e-mj)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,q.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,q.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-mj:mj;i(e=>Math.min(pj,Math.max(fj,e+t)))},[]),d=(0,q.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,q.useCallback)(e=>{if(!s.current)return;let t=e.clientX-c.current.x,n=e.clientY-c.current.y;c.current={x:e.clientX,y:e.clientY},o(e=>({x:e.x+t,y:e.y+n}))},[]),p=(0,q.useCallback)(()=>{s.current=!1},[]);return e?(0,J.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/85 backdrop-blur-sm animate-in fade-in duration-150`,onClick:t,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,J.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`button`,{onClick:()=>i(e=>Math.max(fj,e-mj)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom out`,children:(0,J.jsx)(_i,{className:`size-4`})}),(0,J.jsx)(`button`,{onClick:()=>i(e=>Math.min(pj,e+mj)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom in`,children:(0,J.jsx)(gi,{className:`size-4`})}),(0,J.jsx)(`button`,{onClick:()=>{i(1),o({x:0,y:0})},className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Reset zoom`,children:(0,J.jsx)(Vr,{className:`size-4`})}),(0,J.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors ml-2`,"aria-label":`Close`,children:(0,J.jsx)(tt,{className:`size-5`})})]})]}),(0,J.jsx)(`div`,{ref:n,className:`flex-1 overflow-hidden cursor-grab active:cursor-grabbing`,onClick:e=>e.stopPropagation(),onWheel:u,onPointerDown:d,onPointerMove:f,onPointerUp:p,children:(0,J.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:{transform:`translate(${a.x}px, ${a.y}px) scale(${r})`,transformOrigin:`center center`},children:(0,J.jsx)(`div`,{className:`mermaid-overlay-content bg-white rounded-lg p-6 shadow-2xl [&_svg]:max-w-full [&_svg]:h-auto`,dangerouslySetInnerHTML:{__html:e}})})})]}):null}var gj=new Map,_j=at((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{gj.set(e,(gj.get(e)??0)+1)},releaseSession:t=>{let n=(gj.get(t)??1)-1;if(n>0){gj.set(t,n);return}gj.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=st(e).replace(/\.output$/,``);for(let r of Object.values(t().shellsBySession)){let t=r.find(t=>t.shellId===n||t.outputPath.endsWith(`${n}.output`)||t.outputPath.endsWith(e));if(t)return t}},getShell:e=>{for(let n of Object.values(t().shellsBySession)){let t=n.find(t=>t.shellId===e);if(t)return t}},openPanel:t=>e({panelShellId:t}),closePanel:()=>e({panelShellId:null})})),vj=1500,yj=5e5;function bj(){let e=_j(e=>e.panelShellId),t=_j(e=>e.getShell),n=_j(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(!1),u=(0,q.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,q.useCallback)(async()=>{if(d)try{let e=(await R.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>yj?e.slice(-yj):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,q.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,vj);return()=>clearInterval(e)},[d,f,p]),(0,q.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,q.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,J.jsx)(`div`,{className:`fixed inset-0 z-[100] flex items-end md:items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-150`,onClick:n,children:(0,J.jsxs)(`div`,{className:`flex flex-col w-full md:max-w-3xl md:w-[90vw] max-h-[80vh] md:max-h-[75vh] overflow-hidden rounded-t-xl md:rounded-xl border border-border bg-surface shadow-2xl`,onClick:e=>e.stopPropagation(),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,J.jsx)($r,{className:`size-4 shrink-0 text-text-secondary`}),(0,J.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,J.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,J.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,J.jsx)(`button`,{type:`button`,onClick:n,className:`flex items-center justify-center size-9 -mr-1 rounded hover:bg-surface-elevated text-text-secondary`,"aria-label":`Close`,children:(0,J.jsx)(tt,{className:`size-5`})})]}),(0,J.jsx)(`pre`,{ref:u,className:`flex-1 overflow-auto p-4 text-xs font-mono whitespace-pre-wrap break-words text-text-primary bg-background`,children:o?`Failed to read output: ${o}`:i||(c?`Loading…`:`(no output yet)`)})]})}):null}var xj=`https://cloud.ppm.sh`;function Sj(){return window.location.hostname.endsWith(`.trycloudflare.com`)}function Cj(){let e=AA(e=>e.showOverlay),[t,n]=(0,q.useState)(!1);if(!e)return null;let r=Sj();async function i(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(AA.getState().markUp(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}}catch{}n(!1)}return(0,J.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,J.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,J.jsx)(`div`,{className:`flex justify-center`,children:(0,J.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,J.jsx)(r?mi:Kr,{className:`h-10 w-10 text-destructive`})})}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:r?`Connection Lost`:`Server Unreachable`}),(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed`,children:r?`The tunnel appears to have closed. The server may have restarted with a new URL.`:`Cannot connect to the PPM server. It may have stopped or is restarting.`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&(0,J.jsx)(`a`,{href:xj,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center rounded-md bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors`,children:`Open PPM Cloud`}),(0,J.jsxs)(`button`,{onClick:i,disabled:t,className:`inline-flex items-center justify-center gap-2 rounded-md border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors disabled:opacity-50`,children:[(0,J.jsx)(Rr,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,J.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,J.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function wj(){let e=$s(e=>e.quickPick),t=$s(e=>e.resolveQuickPick);return e?(0,J.jsx)(Tj,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function Tj({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(0),[c,l]=(0,q.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,q.useRef)(null),d=(0,q.useRef)(null),f=t.canPickMany??!1;(0,q.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,q.useMemo)(()=>{if(!i.trim())return e.map((e,t)=>({item:e,originalIdx:t}));let t=i.toLowerCase();return e.map((e,t)=>({item:e,originalIdx:t})).filter(({item:e})=>e.label.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.detail?.toLowerCase().includes(t))},[e,i]);(0,q.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,q.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,q.useCallback)(()=>{f?n(e.filter((e,t)=>c.has(t))):p[o]&&n([p[o].item])},[f,c,e,p,o,n]);function h(e){switch(e.key){case`ArrowDown`:e.preventDefault(),p.length>0&&s(e=>(e+1)%p.length);break;case`ArrowUp`:e.preventDefault(),p.length>0&&s(e=>(e-1+p.length)%p.length);break;case` `:if(f&&p[o]){e.preventDefault();let t=p[o].originalIdx;l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}break;case`Enter`:e.preventDefault(),m();break;case`Escape`:e.preventDefault(),r();break}}return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,J.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:h,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{ref:u,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:t.placeholder??`Select an item...`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),(0,J.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),(0,J.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No matching items`}):p.map(({item:e,originalIdx:t},r)=>(0,J.jsxs)(`button`,{onClick:()=>{f?l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}):n([e])},className:H(`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors`,r===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`),children:[f&&(0,J.jsx)(`span`,{className:H(`size-4 shrink-0 rounded border flex items-center justify-center`,c.has(t)?`bg-primary border-primary text-primary-foreground`:`border-border`),children:c.has(t)&&(0,J.jsx)(Fe,{className:`size-3`})}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,J.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,J.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,J.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,J.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,J.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function Ej(){let e=$s(e=>e.inputBox),t=$s(e=>e.resolveInputBox);return e?(0,J.jsx)(Dj,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function Dj({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,q.useState)(e.value??``),a=(0,q.useRef)(null);(0,q.useEffect)(()=>{requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[]);function o(e){e.key===`Enter`?(e.preventDefault(),t(r)):e.key===`Escape`&&(e.preventDefault(),n())}return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,J.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden`,onClick:e=>e.stopPropagation(),children:[e.prompt&&(0,J.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,J.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,J.jsx)(`input`,{ref:a,type:e.password?`password`:`text`,value:r,onChange:e=>i(e.target.value),onKeyDown:o,placeholder:e.placeholder??``,className:`flex-1 bg-surface border border-border rounded px-2 py-1.5 text-sm text-text-primary outline-none focus:border-primary placeholder:text-text-subtle`})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,J.jsx)(`button`,{onClick:n,className:`px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors rounded`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:()=>t(r),className:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 transition-colors font-medium`,children:`OK`})]})]})]})}var Oj=new Set;function kj(e,t){return`${e}:${t??``}`}var Aj=new Map,jj=15e3;function Mj(e,t){let n=Date.now();for(let[e,t]of Aj)n-t>jj&&Aj.delete(e);if(Aj.delete(`${e}:${t??``}`)||t&&Aj.delete(`${e}:`))return!0;if(!t){for(let t of Aj.keys())if(t.startsWith(`${e}:`))return Aj.delete(t),!0}return!1}var Nj=new Set;function Pj(e=!0){let t=(0,q.useRef)(null),n=(0,q.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,q.useEffect)(()=>{if(!e)return;let r=it(),i=new EA(r?`/ws/extensions?token=${encodeURIComponent(r)}`:`/ws/extensions`);t.current=i,i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=$s.getState();switch(t.type){case`contributions:update`:if(r.setContributions(t.contributions),t.activationErrors){let e=r.activationErrors;r.setActivationErrors(t.activationErrors);for(let[n,r]of Object.entries(t.activationErrors))e[n]||z.error(`Extension "${n}" failed to activate: ${r}`)}break;case`statusbar:update`:r.addStatusBarItem(t.item);break;case`statusbar:remove`:r.removeStatusBarItem(t.itemId);break;case`tree:update`:t.parentId?r.updateTreeChildren(t.viewId,t.parentId,t.items):r.updateTree(t.viewId,t.items);break;case`tree:refresh`:r.removeTree(t.viewId);break;case`notification`:{let e=t.level===`error`?z.error:t.level===`warn`?z.warning:z.info;if(t.actions&&t.actions.length>0){let r={action:{label:t.actions[0],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[0]??null})},onDismiss:()=>n({type:`notification:action`,id:t.id,action:null})};t.actions.length>1&&(r.cancel={label:t.actions[1],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[1]??null})}),e(t.message,r)}else e(t.message);break}case`quickpick:show`:r.showQuickPick(t.items,t.options).then(e=>{n({type:`quickpick:resolve`,requestId:t.requestId,selected:e??null})});break;case`inputbox:show`:r.showInputBox(t.options).then(e=>{n({type:`inputbox:resolve`,requestId:t.requestId,value:e??null})});break;case`webview:create`:{let e=t.viewType.replace(/\.view$/,``),n=Mj(e,t.projectPath);r.addWebviewPanel({id:t.panelId,extensionId:t.extensionId,viewType:t.viewType,title:t.title,html:``,projectName:t.projectName});let i=`extension:${e}`,a=U.getState(),o=Object.values(a.panels).flatMap(e=>e.tabs).filter(e=>e.id===i||e.id.startsWith(`${i}@`)),s=e=>e.metadata?.projectName,c=t.projectName?o.find(e=>s(e)===t.projectName)??o.find(e=>!s(e)):o[0];if(c)G.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!Nj.has(e)&&G.getState().setActiveTab(c.id),Nj.delete(e);else if(n&&!Oj.has(kj(e,t.projectName))){let n=G.getState().currentProject,r=t.projectName??n??void 0;G.getState().openTab({type:`extension`,title:t.title,projectId:null,closable:!0,metadata:{viewType:e,panelId:t.panelId,extensionId:t.extensionId,...r&&{projectName:r}}})}break}case`webview:html`:r.updateWebviewPanel(t.panelId,{html:t.html});break;case`webview:dispose`:r.removeWebviewPanel(t.panelId);break;case`webview:postMessage`:window.dispatchEvent(new CustomEvent(`ext:webview:message`,{detail:{panelId:t.panelId,message:t.message}}));break;case`tab:open`:G.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break;case`project:switch`:G.getState().switchProject(t.projectName);break}});let a=e=>{let{panelId:t,message:n}=e.detail;i.send(JSON.stringify({type:`webview:message`,panelId:t,message:n}))};window.addEventListener(`ext:webview:send`,a);let o=e=>{let{viewId:t,itemId:n}=e.detail;i.send(JSON.stringify({type:`tree:expand`,viewId:t,itemId:n}))};window.addEventListener(`ext:tree:expand`,o);let s=e=>{let{command:t,args:n,recovery:r}=e.detail,a=t.replace(/\.view$/,``);for(let e of Oj)e.startsWith(`${a}:`)&&Oj.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;Aj.set(`${a}:${o}`,Date.now()),r?Nj.add(a):Nj.delete(a),i.send(JSON.stringify({type:`command:execute`,command:t,args:n}))};window.addEventListener(`ext:command:execute`,s);let c=e=>{let{panelId:t,viewType:n,projectName:r}=e.detail;if(i.send(JSON.stringify({type:`webview:close`,panelId:t})),n){let e=kj(n.replace(/\.view$/,``),r);Oj.add(e),setTimeout(()=>Oj.delete(e),5e3)}};return window.addEventListener(`ext:webview:close`,c),i.connect(),()=>{window.removeEventListener(`ext:webview:send`,a),window.removeEventListener(`ext:tree:expand`,o),window.removeEventListener(`ext:command:execute`,s),window.removeEventListener(`ext:webview:close`,c),i.disconnect(),t.current=null}},[n,e]),{send:n}}function Fj(e){let t=0,n=0,r=0,i=0;for(let a of e)n+=a.size,t+=a.state===`done`||a.state===`skipped`?a.size:Math.min(a.bytesLoaded,a.size),(a.state===`done`||a.state===`skipped`)&&r++,(a.state===`failed`||a.state===`cancelled`)&&i++;return{bytesLoaded:t,bytesTotal:n,doneCount:r,failedCount:i,totalCount:e.length}}function Ij(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(n>=10?0:1)} ${t[r]}`}function Lj({item:e,onCancel:t}){let n=e.size>0?Math.min(100,Math.round(e.bytesLoaded/e.size*100)):0,r=e.state===`queued`||e.state===`uploading`,i=e.relativePath!==e.name;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,J.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,J.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:Ij(e.size)}),r?(0,J.jsx)(`button`,{type:`button`,"aria-label":`Cancel ${e.name}`,onClick:t,className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,J.jsx)(tt,{className:`size-4 text-text-2`})}):(0,J.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,J.jsx)(Fe,{className:`size-4 text-success`}),e.state===`skipped`&&(0,J.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,J.jsx)(ci,{className:`size-4 text-destructive`})]})]}),r&&(0,J.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,J.jsx)(`div`,{className:H(`h-full rounded-full bg-primary transition-[width]`,e.state===`queued`&&`w-0 opacity-40`),style:e.state===`uploading`?{width:`${n}%`}:void 0})}),(e.state===`failed`||e.state===`cancelled`)&&(0,J.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function Rj(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function zj({batch:e}){let t=Af(e=>e.cancelItem),n=Af(e=>e.cancelBatch),r=Af(e=>e.dismissBatch),i=Fj(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,J.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`p`,{className:`truncate text-sm font-medium text-text`,children:a?`${i.doneCount}/${i.totalCount} uploaded${i.failedCount>0?`, ${i.failedCount} failed`:``}`:`Uploading ${i.totalCount} item${i.totalCount===1?``:`s`}… ${o}%`}),(0,J.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[Rj(i.bytesLoaded),` / `,Rj(i.bytesTotal)]})]}),a?(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,J.jsx)(`button`,{type:`button`,"aria-label":`Cancel all`,onClick:()=>n(e.id),className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,J.jsx)(tt,{className:`size-4 text-text-2`})})]}),(0,J.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,J.jsx)(Lj,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function Bj(){return Af(Ol(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function Vj(){let e=_t(),t=Bj(),[n,r]=(0,q.useState)(!1);if(t.length===0)return null;if(!e)return(0,J.jsx)(`div`,{className:`fixed bottom-4 right-4 z-30 flex w-80 max-w-[calc(100vw-2rem)] flex-col gap-2`,"data-testid":`upload-progress-panel`,children:t.map(e=>(0,J.jsx)(zj,{batch:e},e.id))});let i=t.filter(e=>!e.settled).length>0?`Uploading ${t.reduce((e,t)=>e+t.items.length,0)}…`:`Uploads finished`;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>r(!0),"data-testid":`upload-progress-pill`,className:`fixed bottom-20 right-3 z-30 flex h-11 items-center gap-2 rounded-full border border-border bg-panel px-4 text-sm text-text shadow-lg`,children:i}),(0,J.jsx)(Tt,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,J.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,J.jsx)(zj,{batch:e},e.id))})})]})}var Hj=(0,q.lazy)(()=>B(()=>import(`./mobile-explorer-sheet-BkMZxqs3.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([176,1,2,3,4,72,7,8,73,26,23,20,24,27,9,34,35,37,10,14,55,11,39,33,13,16]))),Uj=(0,q.lazy)(()=>B(()=>import(`./team-member-sheet-Dn5NGkcp.js`).then(e=>({default:e.TeamMemberSheet})),__vite__mapDeps([177,1,2,3,4,37,8,38,14,39,11,7])));function Wj(){let[e,t]=(0,q.useState)(`checking`),n=_t(),[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(),[s,c]=(0,q.useState)(!1);(0,q.useEffect)(()=>{let e=()=>{o(`settings`),i(!0)};return window.addEventListener(`open-mobile-settings`,e),()=>window.removeEventListener(`open-mobile-settings`,e)},[]);let[l,u]=(0,q.useState)(()=>new Set([`__global__`]));hS(),(0,q.useEffect)(()=>{bO(),pO(),rA()},[]);let d=V(e=>e.deviceName),f=W(e=>e.fetchProjects),p=V(e=>e.fetchServerInfo),m=W(e=>e.activeProject),h=(0,q.useRef)(m_());(0,q.useEffect)(()=>{p()},[p,e===`authenticated`]),(0,q.useEffect)(()=>{async function e(){let e=it();try{let n={};e&&(n.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:n})).json()).ok?t(`authenticated`):t(`unauthenticated`)}catch{t(`unauthenticated`)}}e()},[]),b_();let{paletteOpen:g,paletteInitialQuery:_,closePalette:v}=tc();hA(),NA(),Pj(e===`authenticated`),OA(e===`authenticated`,m?.name),SA(),(0,q.useEffect)(()=>{if(e!==`authenticated`)return;let t=e=>{e.preventDefault()};return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e]),(0,q.useEffect)(()=>{e===`authenticated`&&(B(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-ruNjhVT3.js`);return{useKeybindingsStore:e}},__vite__mapDeps([178,3,1,4,10])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),W.getState().hydrateUiPrefs())},[e]),(0,q.useEffect)(()=>{e===`authenticated`&&f().then(async()=>{let e=h.current,{projects:t,customOrder:n}=W.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=mt(t,n)[0],r&&(await dt(r.name),W.getState().setActiveProject(r),G.getState().switchProject(r.name),e.tabType&&y_(e.tabType,e.tabIdentifier,r.name),e.openChat)){y_(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[e,f]),(0,q.useEffect)(()=>{let e=m?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await dt(e),t)||G.getState().switchProject(e)})(),()=>{t=!0}},[m?.name]),(0,q.useEffect)(()=>{e!==`authenticated`||!m?.name||B(async()=>{let{useNotificationStore:e}=await import(`./notification-store-B3IK7PXf.js`);return{useNotificationStore:e}},__vite__mapDeps([179,3,1,4,10])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(m.name)})},[e,m?.name]),(0,q.useEffect)(()=>{let e=m?.name??`__global__`;u(t=>t.has(e)?t:new Set([...t,e]))},[m?.name]),(0,q.useEffect)(()=>{e===`authenticated`&&!m&&G.getState().switchProject(`__global__`)},[e,m]);let y=(0,q.useCallback)(()=>{t(`authenticated`)},[]);if(e===`checking`)return(0,J.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,J.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(e===`unauthenticated`)return(0,J.jsx)(mS,{onSuccess:y});let b=m?.name??`__global__`;return(0,J.jsx)(bi,{children:(0,J.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[(0,J.jsx)(`div`,{className:`fixed z-50 overflow-hidden pointer-events-none max-md:right-0 max-md:top-0 md:left-0 md:top-0 w-10 h-10`,children:(0,J.jsx)(`div`,{className:`absolute flex items-center justify-center max-md:rotate-45 max-md:right-[-18px] max-md:top-[4px] md:-rotate-45 md:left-[-18px] md:top-[4px] w-[60px] bg-warning text-white text-[6px] font-bold leading-none py-[2.5px] shadow-sm`,children:`BETA`})}),d&&(0,J.jsx)(`div`,{className:`md:hidden fixed left-0 top-0 z-50 px-2 py-0.5 bg-primary/80 text-primary-foreground text-[10px] font-medium rounded-br`,children:d}),(0,J.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,J.jsx)(Cv,{}),(0,J.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...l].map(e=>(0,J.jsx)(`div`,{className:H(`flex-1 overflow-hidden pb-12 md:pb-0`,b!==e&&`hidden`),children:(0,J.jsx)(yl,{projectName:e})},e)),(0,J.jsx)(Gc,{}),(0,J.jsx)(iy,{}),(0,J.jsx)(Bx,{})]})]}),(0,J.jsx)(Kx,{onMenuPress:()=>i(!0),onProjectsPress:()=>c(!0)}),(0,J.jsx)(eS,{isOpen:r,onClose:()=>{i(!1),o(void 0)},initialTab:a}),(0,J.jsx)(tS,{isOpen:s,onClose:()=>c(!1)}),(0,J.jsx)(YA,{open:g,onClose:v,initialQuery:_}),(0,J.jsx)(ZA,{}),(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(Hj,{})}),(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(Uj,{})}),(0,J.jsx)(lS,{}),(0,J.jsx)(oj,{}),(0,J.jsx)(hj,{}),(0,J.jsx)(bj,{}),(0,J.jsx)(wj,{}),(0,J.jsx)(Ej,{}),(0,J.jsx)(Cj,{}),(0,J.jsx)(Vj,{}),(0,J.jsx)(yi,{position:n?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}if(typeof Node<`u`){let e=Node.prototype.removeChild;Node.prototype.removeChild=function(t){try{return e.call(this,t)}catch(e){if(e instanceof DOMException&&e.name===`NotFoundError`)return t;throw e}};let t=Node.prototype.insertBefore;Node.prototype.insertBefore=function(e,n){try{return t.call(this,e,n)}catch(t){if(t instanceof DOMException&&t.name===`NotFoundError`)return e;throw t}}}(0,vi.createRoot)(document.getElementById(`root`)).render((0,J.jsx)(q.StrictMode,{children:(0,J.jsx)(Wj,{})}));export{If as $,fr as $n,X as $t,mg as A,si as An,tn as Ar,su as At,wp as B,Wr as Bn,il as Bt,$g as C,vo as Cn,hn as Cr,Ou as Ct,Yg as D,di as Dn,sn as Dr,ou as Dt,n_ as E,fi as En,cn as Er,au as Et,mh as F,ti as Fn,Ql as Ft,Sp as G,jr as Gn,cl as Gt,Op as H,Vr as Hn,rl as Ht,$m as I,$r as In,Ol as It,ep as J,xr as Jn,Tc as Jt,op as K,Ar as Kn,sl as Kt,Bp as L,Jr as Ln,$c as Lt,Zh as M,ai as Mn,Xt as Mr,fu as Mt,Qh as N,ii as Nn,Yt as Nr,du as Nt,Ng as O,li as On,on as Or,cu as Ot,bh as P,ri as Pn,qt as Pr,iu as Pt,zf as Q,mr as Qn,Ac as Qt,Np as R,qr as Rn,tl as Rt,r_ as S,yo as Sn,gn as Sr,ju as St,Qg as T,mi as Tn,dn as Tr,ru as Tt,Ep as U,Rr as Un,al as Ut,Dp as V,Hr as Vn,nl as Vt,Tp as W,Mr as Wn,ol as Wt,Gf as X,_r as Xn,Mc as Xt,Kf as Y,vr as Yn,kc as Yt,Bf as Z,gr as Zn,jc as Zt,o_ as _,Eo as _n,On as _r,td as _t,CA as a,ec as an,tr as ar,hf as at,qg as b,Oo as bn,wn as br,$u as bt,Wk as c,Ys as cn,Jn as cr,wd as ct,hO as d,Ks as dn,Hn as dr,md as dt,bc as en,K as er,Ef as et,jT as f,Qs as fn,Bn as fr,fd as ft,gv as g,wo as gn,Nn as gr,nd as gt,Pv as h,jo as hn,Fn as hr,rd as ht,EA as i,nc as in,nr as ir,_f as it,ng as j,oi as jn,en as jr,uu as jt,vg as k,ci as kn,rn as kr,lu as kt,gO as l,qs as ln,Kn as lr,Cd as lt,Px as m,Po as mn,In as mr,ed as mt,dj as n,yc as nn,lr as nr,vf as nt,Xk as o,$s as on,er as or,cf as ot,kT as p,rs as pn,Ln as pr,ad as pt,$ as q,kr as qn,el as qt,QA as r,pc as rn,rr,yf as rt,Yk as s,Ws as sn,Xn as sr,Ed as st,_j as t,_c as tn,dr as tr,Sf as tt,fO as u,Js as un,Wn as ur,hd as ut,t_ as v,ko as vn,Dn as vr,od as vt,Zg as w,hi as wn,fn as wr,vu as wt,i_ as x,Do as xn,vn as xr,Au as xt,Xg as y,Ao as yn,Tn as yr,Yu as yt,Mp as z,Gr as zn,Z as zt};
|
|
52
|
+
</svg>`}var lA=e=>`data:image/svg+xml,${encodeURIComponent(e)}`,uA=[lA(sA(!1)),lA(sA(!0))],dA=[0,1,2,-1].map(e=>[lA(cA(e,!1)),lA(cA(e,!0))]),fA=dA.length;function pA(e,t=null){let n=document.getElementById(`ppm-favicon`);if(!n)return;let r=e?1:0;t===null?n.href=uA[r]:n.href=dA[(t%fA+fA)%fA][r]}function mA(e,t,n){let r=[t,n||null,`PPM`].filter(Boolean).join(` - `);return e>0?`(${e}) ${r}`:r}function hA(){let e=W(e=>e.activeProject),t=V(e=>e.deviceName),n=nc(rc),r=(0,q.useRef)(null);(0,q.useEffect)(()=>{let i=()=>Oo(Do.getState())>0,a=()=>{let n=Oo(Do.getState());document.title=mA(n,e?.name,t??void 0)};if(a(),n){let e=0;pA(i(),e),r.current=setInterval(()=>{e=(e+1)%fA,pA(i(),e)},300)}else pA(i());let o=Do.subscribe(()=>{a(),n||pA(i())});return()=>{o(),r.current&&=(clearInterval(r.current),null)}},[e?.name,t,n])}var gA=`chat`;function _A(e,t,n){if(n<=0)return[];let r=[];for(let n of Object.values(e)){let e=new Map(n.tabs.map(e=>[e.id,e.type])),i=new Set,a=[],o=n.tabHistory??[];for(let n=o.length-1;n>=0;n--){let r=o[n];i.has(r)||t.has(r)||e.get(r)===gA&&(i.add(r),a.push(r))}a.length>0&&r.push(a)}let i=[],a=new Set;for(let e=0;i.length<n;e++){let t=!1;for(let o of r){if(i.length>=n)break;let r=o[e];r!==void 0&&(t=!0,!a.has(r)&&(a.add(r),i.push(r)))}if(!t)break}return i}var vA=3,yA=2500,bA=1200;function xA(e,t){let n,r=window,i=setTimeout(()=>{r.requestIdleCallback?n=r.requestIdleCallback(e,{timeout:2e3}):e()},t);return{cancel:()=>{clearTimeout(i),n!==void 0&&r.cancelIdleCallback?.(n)}}}function SA(){let e=_t();(0,q.useEffect)(()=>{if(e)return;let t=!1,n=vA,r=null,i=()=>{r?.cancel(),r=null},a=()=>{if(r=null,t||n<=0)return;let{panels:e}=U.getState(),{mounted:i,mount:a}=Lc.getState(),[s]=_A(e,i,1);s&&(a(s),n--,o(bA))},o=e=>{t||n<=0||(i(),r=xA(a,e))},s=U.subscribe((e,t)=>{if(e.panels!==t.panels){for(let n of Object.keys(e.panels))if(n in t.panels&&e.panels[n]?.activeTabId!==t.panels[n]?.activeTabId){o(yA);return}}});return o(yA),()=>{t=!0,i(),s()}},[e,U(e=>e.currentProject)])}function CA(e){let t=it();return!t||/[?&]token=/.test(e)?e:`${e}${e.includes(`?`)?`&`:`?`}token=${encodeURIComponent(t)}`}var wA=3e4,TA=1e3,EA=class{ws=null;url;handlers=[];reconnectAttempts=0;reconnectTimer=null;intentionalClose=!1;pendingMessages=[];visibilityHandler=null;constructor(e){this.url=e,this.visibilityHandler=()=>{document.visibilityState===`visible`&&!this.intentionalClose&&this.ws?.readyState!==WebSocket.OPEN&&(this.reconnectTimer&&clearTimeout(this.reconnectTimer),this.reconnectTimer=null,this.reconnectAttempts=0,this.connect())},document.addEventListener(`visibilitychange`,this.visibilityHandler)}connect(){this.intentionalClose=!1,this.cleanup();let e=window.location.protocol===`https:`?`wss:`:`ws:`,t=this.url.startsWith(`ws`)?this.url:CA(this.url),n;n=t.startsWith(`ws`)?t:`${e}//${window.location.host}${t}`,this.ws=new WebSocket(n),this.ws.onopen=()=>{this.reconnectAttempts=0;try{this.ws?.send(JSON.stringify({type:`ready`}))}catch{}if(this.pendingMessages.length>0){console.log(`[ws] flushing ${this.pendingMessages.length} queued message(s)`);for(let e of this.pendingMessages)try{this.ws?.send(e)}catch{}this.pendingMessages=[]}},this.ws.onmessage=e=>{for(let t of this.handlers)t(e)},this.ws.onclose=()=>{this.intentionalClose||this.scheduleReconnect()},this.ws.onerror=()=>{this.ws?.close()}}disconnect(){this.intentionalClose=!0,this.pendingMessages=[],this.cleanup(),this.reconnectTimer&&=(clearTimeout(this.reconnectTimer),null),this.visibilityHandler&&=(document.removeEventListener(`visibilitychange`,this.visibilityHandler),null)}send(e){this.ws?.readyState===WebSocket.OPEN?this.ws.send(e):this.intentionalClose?console.warn(`[ws] message dropped — WS intentionally closed`):(console.warn(`[ws] WS not open (readyState=${this.ws?.readyState??`no-ws`}) — queuing message`),this.pendingMessages.push(e))}onMessage(e){return this.handlers.push(e),()=>{this.handlers=this.handlers.filter(t=>t!==e)}}get isConnected(){return this.ws?.readyState===WebSocket.OPEN}cleanup(){this.ws&&=(this.ws.onopen=null,this.ws.onclose=null,this.ws.onmessage=null,this.ws.onerror=null,(this.ws.readyState===WebSocket.OPEN||this.ws.readyState===WebSocket.CONNECTING)&&this.ws.close(),null)}scheduleReconnect(){let e=Math.min(TA*2**this.reconnectAttempts,wA);this.reconnectAttempts++,this.reconnectTimer=setTimeout(()=>this.connect(),e)}};async function DA(e){if(e)try{let t=await R.get(`${L(e)}/chat/sessions/running`);nc.getState().replaceProjectStreaming(e,t.map(e=>e.sessionId))}catch{}}function OA(e,t){let n=(0,q.useRef)(null),r=(0,q.useRef)(t);r.current=t,(0,q.useEffect)(()=>{if(!e)return;let t=it(),i=new EA(`/ws/global${t?`?token=${encodeURIComponent(t)}`:``}`);n.current=i;let a=i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let n=t.type;if(typeof n==`string`){if(n===`global_ready`){r.current&&i.send(JSON.stringify({type:`watch`,projectName:r.current})),DA(r.current);return}if(n===`file:changed`){window.dispatchEvent(new CustomEvent(`file:changed`,{detail:t}));return}if(n===`session:unread_changed`){let e=t;Do.getState().handleUnreadChanged(e.sessionId,e.unreadCount,e.unreadType,e.projectName,e.sessionTitle,e.manual);return}if(n===`session:phase_changed`){let e=t;nc.getState().setStreaming(e.sessionId,e.phase!==`idle`,e.projectName);return}n.startsWith(`jira:`)&&window.dispatchEvent(new CustomEvent(n,{detail:t}))}});return i.connect(),()=>{a(),i.disconnect(),n.current=null}},[e]),(0,q.useEffect)(()=>{!e||!t||(n.current?.send(JSON.stringify({type:`watch`,projectName:t})),DA(t))},[e,t])}var kA=15e3,AA=at((e,t)=>({isDown:!1,downSince:null,showOverlay:!1,markDown:()=>{let{downSince:n}=t(),r=Date.now(),i=n??r;e({isDown:!0,downSince:i,showOverlay:r-i>=kA})},markUp:()=>{e({isDown:!1,downSince:null,showOverlay:!1})}})),jA=1e4,MA=2e3;function NA(){(0,q.useEffect)(()=>{let e=!1,t,{markDown:n,markUp:r}=AA.getState();async function i(){try{let t=await fetch(`/api/health`,{cache:`no-store`});if(t.ok&&e){if(r(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}t.ok&&r(),e=!1}catch{e=!0,n()}t=setTimeout(i,e?MA:jA)}return t=setTimeout(i,jA),()=>clearTimeout(t)},[])}function PA(e){let t=Math.max(e.lastIndexOf(`/`),e.lastIndexOf(`\\`));return t>=0?e.slice(t+1):e}function FA(e,t){let n=0,r=0,i=-1;for(let a=0;a<e.length;a++){if(n=t.indexOf(e[a],n),n===-1)return-1;i>=0&&(r+=n-i-1),i=n,n++}return r}function IA(e,t,n,r,i){if(e.includes(` `)){let a=e.split(/\s+/).filter(Boolean);if(a.length===0)return null;if(a.length===1)return IA(a[0],t,n,r,i);let o=0,s=0;for(let e of a){let a=IA(e,t,n,r,i);if(!a)return null;o=Math.max(o,a.tier),s+=a.offset}return{tier:o,offset:s,nameLen:r,depth:i}}if(t===e)return{tier:0,offset:0,nameLen:r,depth:i};if(t.startsWith(e))return{tier:1,offset:0,nameLen:r,depth:i};let a=t.indexOf(e);if(a>=0)return{tier:2,offset:a,nameLen:r,depth:i};let o=n.indexOf(e);if(o>=0)return{tier:3,offset:o,nameLen:r,depth:i};let s=FA(e,t);if(s>=0)return{tier:4,offset:s,nameLen:r,depth:i};let c=FA(e,n);return c>=0?{tier:5,offset:c,nameLen:r,depth:i}:null}function LA(e,t,n){let r=n.toLowerCase();return IA(e.toLowerCase(),PA(r),r,t.length,n.split(`/`).length)}function RA(e,t){return e.tier-t.tier||e.offset-t.offset||e.nameLen-t.nameLen||e.depth-t.depth}var zA={action:{label:`Actions`,icon:hi},file:{label:`Files`,icon:On},db:{label:`Database`,icon:Ze},fs:{label:`Filesystem`,icon:zn}};function BA({availableGroups:e,groupCounts:t,activeFilters:n,onToggle:r}){return e.length<=1?null:(0,J.jsx)(`div`,{className:`flex items-center gap-1.5 border-b border-border/50 px-3 py-1.5 overflow-x-auto`,children:e.map(e=>{let i=zA[e];if(!i)return null;let a=t[e]??0,o=n.has(e),s=i.icon;return(0,J.jsxs)(`button`,{type:`button`,role:`switch`,"aria-checked":o,"aria-label":`Filter by ${i.label}`,onClick:()=>r(e),className:`inline-flex items-center gap-1 shrink-0 rounded-full border px-2.5 py-1 text-xs font-medium transition-colors ${o?`bg-primary/15 border-primary text-primary`:`bg-surface border-border text-text-subtle hover:bg-surface-elevated`} ${a===0?`opacity-50`:``}`,children:[(0,J.jsx)(s,{className:`size-3`}),(0,J.jsx)(`span`,{children:i.label}),(0,J.jsxs)(`span`,{className:`text-[10px] opacity-70`,children:[`(`,a,`)`]})]},e)})})}var VA=100,HA=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.userAgent),UA={"git-branch":Gn,database:Ze,refresh:Rr,plus:et,terminal:ai,settings:Jr,search:Wr,"file-code":On,globe:Jn};function WA(e){return e?e.replace(/Mod\+/g,HA?`⌘`:`Ctrl+`).replace(/Alt\+/g,HA?`⌥`:`Alt+`).replace(/Shift\+/g,HA?`⇧`:`Shift+`).replace(/Meta\+/g,`⌘`).replace(/Ctrl\+/g,HA?`⌃`:`Ctrl+`):``}function GA(e){let t=[];for(let n of e)n.type===`file`&&t.push({name:n.name,path:n.path}),n.children&&t.push(...GA(n.children));return t}function KA(e){return e?e.startsWith(`/`)||e.startsWith(`~/`)||e.startsWith(`~\\`)||/^[A-Za-z]:[/\\]/.test(e):!1}function qA(e){let t=e.replace(/\\/g,`/`);if(t.endsWith(`/`))return e;let n=Math.max(t.lastIndexOf(`/`),e.lastIndexOf(`\\`));return n>0?e.slice(0,n+1):e}var JA=new Map;function YA({open:e,onClose:t,initialQuery:n=``}){let[r,i]=(0,q.useState)(``),a=(0,q.useDeferredValue)(r),[o,s]=(0,q.useState)(0),[c,l]=(0,q.useState)([]),[u,d]=(0,q.useState)(!1),[f,p]=(0,q.useState)([]),[m,h]=(0,q.useState)(new Set),g=(0,q.useRef)(null),_=(0,q.useRef)(null),v=G(e=>e.openTab),y=W(e=>e.activeProject),b=rs(e=>e.fileIndex),x=rs(e=>e.indexStatus),S=rs(e=>e.loadIndex),C=rs(e=>e.tree),w=V(e=>e.setSidebarActiveTab),T=V(e=>e.sidebarCollapsed),E=V(e=>e.toggleSidebar),D=Qs(e=>e.getBinding),O=$s(e=>e.contributions),k=(0,q.useCallback)(async e=>{if(JA.has(e)){l(JA.get(e));return}d(!0);try{let t=await R.get(`/api/fs/list?dir=${encodeURIComponent(e)}`);JA.set(e,t),l(t)}catch{l([])}finally{d(!1)}},[]);(0,q.useEffect)(()=>{if(!KA(r)){l([]);return}k(qA(r))},[r,k]),(0,q.useEffect)(()=>{if(KA(r)||r.trim().length<2){p([]);return}let e=setTimeout(async()=>{try{p(await R.get(`/api/db/search?q=${encodeURIComponent(r.trim())}`)??[])}catch{p([])}},300);return()=>clearTimeout(e)},[r]);let A=(0,q.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0,r=(r,i)=>()=>{v({type:r,title:i,projectId:e,metadata:n,closable:!0}),t()},i=[{id:`chat`,label:`New AI Chat`,icon:gr,action:r(`chat`,`AI Chat`),keywords:`ai assistant claude`,group:`action`,shortcut:WA(D(`open-chat`))},{id:`new-file`,label:`New File`,icon:Nn,action:()=>{G.getState().openNewFile(),t()},keywords:`create untitled blank empty`,group:`action`,shortcut:WA(D(`new-file`))},{id:`new-db-query`,label:`New DB Query`,icon:Ze,action:()=>{G.getState().openNewFile({language:`sql`,title:`SQL Query`}),t()},keywords:`sql database query scratchpad new`,group:`action`},{id:`terminal`,label:`New Terminal`,icon:ai,action:r(`terminal`,`Terminal`),keywords:`bash shell console`,group:`action`,shortcut:WA(D(`open-terminal`))},{id:`tunnels`,label:`Cloudflare Tunnels`,icon:Jn,action:()=>{T&&E(),w(`tunnels`),t()},keywords:`web preview localhost port forward tunnel cloudflare url`,group:`action`},{id:`cloud-share`,label:`PPM Cloud & Share`,icon:vn,action:()=>{window.dispatchEvent(new CustomEvent(`open-cloud-share`)),t()},keywords:`cloud permanent link alias share phone remote device qr sign in login`,group:`action`},{id:`postgres`,label:`PostgreSQL`,icon:Ze,action:r(`postgres`,`PostgreSQL`),keywords:`database pg sql query`,group:`action`},{id:`voice-input`,label:`Voice Input`,icon:_r,action:()=>{window.dispatchEvent(new CustomEvent(`toggle-voice-input`)),t()},keywords:`speech microphone dictate voice`,group:`action`,shortcut:WA(D(`voice-input`))},{id:`git-status`,label:`Git Status`,icon:Kn,action:()=>{w(`git`),t()},keywords:`changes diff staged`,group:`action`,shortcut:WA(D(`open-git-status`))},{id:`compare-files`,label:`Compare Files...`,icon:Je,group:`action`,keywords:`diff compare two files select`,shortcut:WA(D(`compare-files`)),action:()=>{let{activeTabId:e,tabs:n}=G.getState(),r=n.find(t=>t.id===e),i=r?.metadata;r?.type===`editor`&&i?.filePath&&i?.projectName&&fs.getState().setSelection({filePath:i.filePath,projectName:i.projectName,dirtyContent:i.unsavedContent,label:st(i.filePath)}),window.dispatchEvent(new CustomEvent(`open-compare-picker`)),t()}},{id:`settings`,label:`Settings`,icon:Jr,action:()=>{T&&E(),w(`settings`),t()},keywords:`config preferences theme`,group:`action`,shortcut:WA(D(`open-settings`))},{id:`open-file-explorer`,label:`Open File Explorer`,icon:Ut,group:`action`,keywords:`open file explorer finder browse files folders disk drive window`,action:()=>{xf(),t()}}],a=O?.keybindings??[],o=(O?.commands??[]).map(e=>{let n=a.find(t=>t.command===e.command),r=(n?D(`ext:${n.command}`):``)||(n?HA&&n.mac?n.mac:n.key:``);return{id:`ext:${e.command}`,label:e.title,hint:e.category,icon:e.icon&&UA[e.icon]||Ir,group:`action`,keywords:`extension ${e.command} ${e.category??``}`,shortcut:r?WA(r):void 0,action:()=>{let n=[];y?.path&&n.push(y.path),window.dispatchEvent(new CustomEvent(`ext:command:execute`,{detail:{command:e.command,args:n}})),t()}}});return[...i,...o]},[y,v,t,w,T,E,D,O]),j=(0,q.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0;return(x===`ready`?b.filter(e=>e.type===`file`):GA(C)).map(r=>({id:`file:${r.path}`,label:r.name,hint:r.path,icon:On,group:`file`,keywords:r.path,isIgnored:`isIgnored`in r?r.isIgnored:void 0,action:()=>{v({type:`editor`,title:r.name,projectId:e,metadata:{...n,filePath:r.path},closable:!0}),t()}}))},[x,b,C,y,v,t]),M=(0,q.useMemo)(()=>{let e=y?.name??null,n=y?{projectName:y.name}:void 0;return c.map(r=>{let i=st(r);return{id:`fs:${r}`,label:i,hint:r,icon:zn,group:`fs`,keywords:r,action:()=>{v({type:`editor`,title:i,projectId:e,metadata:{...n,filePath:r},closable:!0}),t()}}})},[c,y,v,t]),ee=(0,q.useMemo)(()=>f.map(e=>({id:`db:${e.connectionId}:${e.schemaName}.${e.tableName}`,label:e.tableName,hint:`${e.connectionName} (${e.connectionType===`postgres`?`PG`:`SQLite`})`,icon:Ze,group:`db`,connectionColor:e.connectionColor,action:()=>{v({type:`database`,title:`${e.connectionName} · ${e.tableName}`,projectId:null,closable:!0,metadata:{connectionId:e.connectionId,connectionName:e.connectionName,dbType:e.connectionType,tableName:e.tableName,schemaName:e.schemaName,connectionColor:e.connectionColor}}),t()}})),[f,v,t]),N=(0,q.useMemo)(()=>[...A,...j],[A,j]),P=(0,q.useMemo)(()=>N.map(e=>{let t=e.keywords??e.label,n=t.toLowerCase();return{cmd:e,filenameLower:PA(n),pathLower:n,labelLen:e.label.length,depth:t.split(`/`).length}}),[N]),te=(0,q.useMemo)(()=>{if(KA(a)){let e=a.lastIndexOf(`/`),t=e>=0?a.slice(e+1).toLowerCase():``;return t?M.filter(e=>{let n=e.label.toLowerCase(),r=(e.keywords??``).toLowerCase();return n.includes(t)||r.includes(t)}).slice(0,50):M.slice(0,50)}if(!a.trim())return A;let e=a.toLowerCase().replace(/^\.\.?\//,``),t=[];for(let n of P){let r=IA(e,n.filenameLower,n.pathLower,n.labelLen,n.depth);r&&t.push({cmd:n.cmd,score:r})}t.sort((e,t)=>RA(e.score,t.score));let n=t.slice(0,VA).map(e=>e.cmd);return a.trim().length>=2?[...ee,...n]:n},[P,A,M,ee,a]),ne=(0,q.useMemo)(()=>{let e=new Set;for(let t of N)e.add(t.group);return f.length>0&&e.add(`db`),c.length>0&&e.add(`fs`),Array.from(e)},[N,f.length,c.length]),re=(0,q.useMemo)(()=>{let e={};for(let t of te)e[t.group]=(e[t.group]??0)+1;return e},[te]),ie=(0,q.useMemo)(()=>m.size===0?te:te.filter(e=>m.has(e.group)),[te,m]),ae=(0,q.useCallback)(e=>{h(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),s(0)},[]);(0,q.useEffect)(()=>{e&&x===`idle`&&y&&S(y.name)},[e,x,y,S]),(0,q.useEffect)(()=>{e&&(i(n||``),s(0),l([]),p([]),h(new Set),requestAnimationFrame(()=>g.current?.focus()))},[e]),(0,q.useEffect)(()=>{s(e=>Math.min(e,Math.max(ie.length-1,0)))},[ie.length]),(0,q.useEffect)(()=>{let e=_.current;e&&e.children[o]?.scrollIntoView({block:`nearest`})},[o]);let oe=(0,q.useCallback)(()=>{r.trim()&&(v({type:`chat`,title:`AI Chat`,projectId:y?.name??null,metadata:{projectName:y?.name,pendingMessage:r.trim()},closable:!0}),t())},[r,y,v,t]);function se(e){let n=ie.length;switch(e.key){case`ArrowDown`:e.preventDefault(),n>0&&s(e=>(e+1)%n);break;case`ArrowUp`:e.preventDefault(),n>0&&s(e=>(e-1+n)%n);break;case`Enter`:e.preventDefault(),n>0?ie[o]?.action():r.trim()&&oe();break;case`Escape`:e.preventDefault(),t();break}}if(!e)return null;let ce=KA(r);return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:t,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,J.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:se,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{ref:g,type:`text`,value:r,onChange:e=>i(e.target.value),placeholder:`Search actions & files... (type / or ~/ for filesystem)`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),u&&(0,J.jsx)(K,{className:`size-3.5 animate-spin text-text-subtle shrink-0`}),(0,J.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),ce&&!u&&c.length===0&&r.length<4&&(0,J.jsx)(`div`,{className:`px-3 py-2 text-xs text-text-subtle border-b border-border/50`,children:`Type a directory path to browse files (e.g. ~/Projects/)`}),!ce&&(x===`loading`||x===`idle`)&&(0,J.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 border-b border-border/50`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin text-text-subtle shrink-0`}),(0,J.jsx)(`span`,{className:`text-[11px] text-text-subtle italic`,children:`Indexing project…`})]}),!ce&&x===`error`&&(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-3 py-1.5 border-b border-border/50`,children:[(0,J.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`Failed to build file index —`}),(0,J.jsx)(`button`,{onClick:()=>y&&S(y.name),className:`text-[11px] text-primary hover:underline`,children:`retry`})]}),!ce&&(0,J.jsx)(BA,{availableGroups:ne,groupCounts:re,activeFilters:m,onToggle:ae}),(0,J.jsx)(`div`,{ref:_,className:`max-h-72 overflow-y-auto py-1`,children:ie.length===0?u?(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`Searching...`}):m.size>0&&te.length>0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results in selected filters`}):r.trim()?(0,J.jsxs)(`button`,{onClick:oe,className:`flex items-center gap-3 w-full px-3 py-3 text-sm text-left text-text-secondary hover:bg-accent/15 hover:text-text-primary transition-colors`,children:[(0,J.jsx)(gr,{className:`size-4 shrink-0 text-primary`}),(0,J.jsxs)(`span`,{children:[`Ask AI: `,(0,J.jsx)(`span`,{className:`text-text-primary font-medium`,children:r.trim().slice(0,60)})]})]}):(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No results`}):ie.map((e,t)=>{let n=e.icon;return(0,J.jsxs)(`button`,{onClick:e.action,className:`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors ${t===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`} ${e.isIgnored?`opacity-60`:``}`,title:e.isIgnored?`Gitignored file`:void 0,children:[(0,J.jsx)(n,{className:`size-4 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.label}),e.hint&&(0,J.jsxs)(`span`,{className:`ml-auto flex items-center gap-1.5 text-xs text-text-subtle truncate max-w-[200px]`,children:[e.connectionColor&&(0,J.jsx)(`span`,{className:`shrink-0 size-2 rounded-full`,style:{backgroundColor:e.connectionColor}}),e.hint]}),e.shortcut&&(0,J.jsx)(`kbd`,{className:`ml-auto shrink-0 rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:e.shortcut})]},e.id)})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-center gap-1.5 border-t border-border px-3 py-1.5`,children:[(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`Press`}),(0,J.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,J.jsx)(`kbd`,{className:`inline-flex items-center rounded border border-border bg-surface px-1 py-0.5 text-[10px] text-text-subtle font-mono`,children:`Shift`}),(0,J.jsx)(`span`,{className:`text-[10px] text-text-subtle`,children:`to open this palette`})]})]})]})}var XA=50;function ZA({open:e,onOpenChange:t,initialA:n}={}){let r=e!==void 0,[i,a]=(0,q.useState)(!1),o=r?e:i,s=e=>{r?t?.(e):a(e)},[c,l]=(0,q.useState)(n??null);(0,q.useEffect)(()=>{if(r)return;function e(){l(fs.getState().selection),a(!0)}return window.addEventListener(`open-compare-picker`,e),()=>window.removeEventListener(`open-compare-picker`,e)},[r]);let[u,d]=(0,q.useState)(``),[f,p]=(0,q.useState)(0),[m,h]=(0,q.useState)(null),g=(0,q.useRef)(null),_=G(e=>e.tabs),v=rs(e=>e.fileIndex),y=W(e=>e.activeProject);(0,q.useEffect)(()=>{o&&(r&&l(n??null),d(``),p(0),h(null),setTimeout(()=>g.current?.focus(),50))},[o,n,r]);let b=(0,q.useMemo)(()=>{let e=_.filter(e=>e.type===`editor`&&e.metadata?.filePath).map(e=>({id:`tab:${e.id}`,path:e.metadata.filePath,label:st(e.metadata.filePath),source:`tab`,dirtyContent:e.metadata.unsavedContent})),t=new Set(e.map(e=>e.path)),n=v.filter(e=>e.type===`file`&&!t.has(e.path)).map(e=>({id:`file:${e.path}`,path:e.path,label:e.name,source:`file`}));return[...e,...n]},[_,v]),x=(0,q.useMemo)(()=>u.trim()?b.map(e=>{let t=LA(u,e.label,e.path);return t?{c:e,score:t}:null}).filter(e=>e!==null).sort((e,t)=>RA(e.score,t.score)).slice(0,XA).map(e=>e.c):b.slice(0,XA),[b,u]);(0,q.useEffect)(()=>{f>=x.length&&p(Math.max(0,x.length-1))},[x,f]);let S=(0,q.useRef)(!1);async function C(e){if(y){if(!c){l({filePath:e.path,projectName:y.name,dirtyContent:e.dirtyContent,label:e.label}),d(``),p(0),g.current?.focus();return}if(!S.current){S.current=!0;try{await ms({path:c.filePath,dirtyContent:c.dirtyContent},{path:e.path,dirtyContent:e.dirtyContent},y.name),fs.getState().clearSelection(),s(!1)}catch(e){h(e instanceof Error?e.message:`Compare failed`)}finally{S.current=!1}}}}function w(e){if(e.key===`ArrowDown`)e.preventDefault(),p(e=>Math.min(x.length-1,e+1));else if(e.key===`ArrowUp`)e.preventDefault(),p(e=>Math.max(0,e-1));else if(e.key===`Enter`){e.preventDefault();let t=x[f];t&&C(t)}}return(0,J.jsx)(Tc,{open:o,onOpenChange:s,children:(0,J.jsxs)(kc,{className:`max-w-lg p-0 gap-0 overflow-hidden`,children:[(0,J.jsx)(Ac,{className:`px-4 pt-4 pb-2`,children:(0,J.jsxs)(X,{className:`flex items-center gap-2 text-sm`,children:[(0,J.jsx)(Je,{className:`size-4`}),`Compare Files`]})}),(0,J.jsx)(`div`,{className:`px-4 pb-2`,children:c?(0,J.jsxs)(`div`,{className:`flex items-center gap-2 text-xs bg-muted rounded px-2 py-1 w-fit max-w-full`,children:[(0,J.jsx)(On,{className:`size-3.5 shrink-0`}),(0,J.jsx)(`span`,{className:`truncate`,title:c.filePath,children:c.label}),(0,J.jsx)(`button`,{type:`button`,onClick:()=>l(null),className:`hover:bg-surface-elevated rounded p-0.5`,"aria-label":`Clear first file`,children:(0,J.jsx)(tt,{className:`size-3`})})]}):(0,J.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Pick first file, then second.`})}),(0,J.jsx)(`input`,{ref:g,type:`text`,value:u,onChange:e=>{d(e.target.value),p(0)},onKeyDown:w,placeholder:c?`Search for file B...`:`Search for file A...`,className:`w-full px-4 py-2 bg-transparent border-y border-border text-sm outline-none`}),m&&(0,J.jsx)(`div`,{className:`px-4 py-2 text-xs text-destructive border-b border-border`,children:m}),(0,J.jsx)(`div`,{className:`max-h-[50vh] md:max-h-80 overflow-y-auto`,children:x.length===0?(0,J.jsx)(`div`,{className:`px-4 py-6 text-center text-xs text-muted-foreground`,children:b.length===0?`No files available`:`No matches`}):x.map((e,t)=>(0,J.jsxs)(`button`,{type:`button`,onClick:()=>C(e),onMouseEnter:()=>p(t),className:H(`w-full flex items-center gap-2 px-4 py-1.5 text-left text-sm`,`hover:bg-surface-elevated transition-colors`,t===f&&`bg-surface-elevated`),children:[(0,J.jsx)(On,{className:`size-3.5 shrink-0 text-text-secondary`}),(0,J.jsx)(`span`,{className:`truncate`,children:e.label}),(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground truncate ml-auto`,title:e.path,children:e.source===`tab`?`open`:e.path})]},e.id))})]})})}var QA=at((e,t)=>({images:[],index:0,src:null,alt:``,open:(t,n=``,r)=>{let i=r?.length?r:[{src:t,alt:n}],a=i.findIndex(e=>e.src===t),o=a>=0?a:0,s=i[o];e({images:i,index:o,src:s.src,alt:s.alt||n})},close:()=>e({images:[],index:0,src:null,alt:``}),go:n=>{let{images:r,index:i}=t(),a=i+n;if(a<0||a>=r.length)return;let o=r[a];e({index:a,src:o.src,alt:o.alt})}})),$A={scale:1,x:0,y:0,rotation:0,flipX:!1,flipY:!1},ej=.1,tj=20,nj=2.5,rj=(e,t,n)=>Math.min(n,Math.max(t,e));function ij(e){return e.deltaMode===0?e.deltaX===0?Number.isInteger(e.deltaY)&&Math.abs(e.deltaY)>=40:!1:!0}function aj(){let e=(0,q.useRef)(null),t=(0,q.useRef)(null),n=(0,q.useRef)({...$A}),r=(0,q.useRef)(null),[i,a]=(0,q.useState)(100),[o,s]=(0,q.useState)(0),c=(0,q.useCallback)(()=>{let n=t.current,r=e.current;return{dw:n?.clientWidth??0,dh:n?.clientHeight??0,cw:r?.clientWidth??0,ch:r?.clientHeight??0,natural:n?.naturalWidth??0}},[]),l=(0,q.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90,o=(a?t:e)*n.current.scale,s=(a?e:t)*n.current.scale;return{maxX:Math.max(0,(o-r)/2),maxY:Math.max(0,(s-i)/2)}},[c]),u=(0,q.useCallback)(()=>{a(Math.round(n.current.scale*100)),s(n.current.rotation)},[]),d=(0,q.useCallback)((e=!1)=>{let i=t.current;if(!i)return;let{scale:a,x:o,y:s,rotation:c,flipX:l,flipY:d}=n.current;if(i.style.transform=`translate3d(${o}px, ${s}px, 0) rotate(${c}deg) scale(${a*(l?-1:1)}, ${a*(d?-1:1)})`,e){r.current!=null&&(cancelAnimationFrame(r.current),r.current=null),u();return}r.current??=requestAnimationFrame(()=>{r.current=null,u()})},[u]),f=(0,q.useCallback)((e=!1)=>{let{maxX:t,maxY:r}=l();n.current.x=rj(n.current.x,-t,t),n.current.y=rj(n.current.y,-r,r),d(e)},[d,l]),p=(0,q.useCallback)((t,r,i,a=!1)=>{let o=e.current;if(!o)return;let s=o.getBoundingClientRect(),c=(r??s.left+s.width/2)-(s.left+s.width/2),l=(i??s.top+s.height/2)-(s.top+s.height/2),u=n.current.scale,d=rj(t,ej,tj),p=d/u;n.current.scale=d,n.current.x=c-(c-n.current.x)*p,n.current.y=l-(l-n.current.y)*p,f(a)},[f]),m=(0,q.useCallback)(()=>{n.current={...$A},d(!0)},[d]),h=(0,q.useCallback)(()=>{let{dw:e,dh:t,cw:r,ch:i}=c(),a=Math.abs(n.current.rotation%180)===90;n.current.scale=a&&e>0&&t>0?Math.min(r/t,i/e):1,n.current.x=0,n.current.y=0,f(!0)},[c,f]),g=(0,q.useCallback)(()=>{let{dw:e,natural:t}=c();e>0&&t>0&&p(t/e,void 0,void 0,!0)},[c,p]),_=(0,q.useCallback)(e=>{n.current.rotation=((n.current.rotation+e)%360+360)%360,h()},[h]),v=(0,q.useCallback)(e=>{e===`x`?n.current.flipX=!n.current.flipX:n.current.flipY=!n.current.flipY,d(!0)},[d]),y=(0,q.useCallback)(e=>p(n.current.scale*e,void 0,void 0,!0),[p]);return sx({onDrag:({delta:[e,t],pinching:r,cancel:i,last:a})=>{if(r)return i();n.current.x+=e,n.current.y+=t,f(a)},onPinch:({offset:[e],origin:[t,r],first:i,last:a,memo:o})=>{let s=i?n.current.scale/(e||1):o??1;return p(s*e,t,r,a),s},onWheel:({event:e,last:t})=>{if(t){d(!0);return}let{deltaX:r,deltaY:i}=e;if(!(r===0&&i===0)){if(e.preventDefault(),e.ctrlKey||e.metaKey||ij(e)){p(n.current.scale*Math.exp(-i/300),e.clientX,e.clientY);return}n.current.x-=r,n.current.y-=i,f()}},onDoubleClick:({event:e})=>{n.current.scale>1.05?h():p(nj,e.clientX,e.clientY,!0)}},{target:e,drag:{from:()=>[n.current.x,n.current.y],filterTaps:!0,pointer:{touch:!0}},pinch:{scaleBounds:{min:ej,max:tj},rubberband:!0},eventOptions:{passive:!1}}),(0,q.useEffect)(()=>{let e=()=>f();return window.addEventListener(`resize`,e),()=>{window.removeEventListener(`resize`,e),r.current!=null&&cancelAnimationFrame(r.current)}},[f]),{containerRef:e,imageRef:t,zoomPercent:i,rotation:o,zoomBy:y,reset:m,fit:h,actualSize:g,rotate:_,flip:v}}function oj(){let e=QA(e=>e.src);return e?(0,J.jsx)(sj,{},e):null}function sj(){let{src:e,alt:t,images:n,index:r,close:i,go:a}=QA(),{containerRef:o,imageRef:s,zoomPercent:c,rotation:l,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h}=aj(),[g,_]=(0,q.useState)(!1),v=xc();(0,q.useEffect)(()=>{d()},[d]);let y=(0,q.useRef)({close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h});if(y.current={close:i,go:a,zoomBy:u,reset:d,fit:f,actualSize:p,rotate:m,flip:h},(0,q.useEffect)(()=>{if(!e)return;let t=e=>{let t=y.current,n=e.key;if(n===`Escape`)return t.close();if(n===`ArrowLeft`)return t.go(-1);if(n===`ArrowRight`)return t.go(1);if(n===`+`||n===`=`)return t.zoomBy(1.25);if(n===`-`||n===`_`)return t.zoomBy(.8);if(n===`0`)return t.fit();if(n===`1`)return t.actualSize();if(n===`r`)return t.rotate(90);if(n===`R`)return t.rotate(-90);if(n===`h`)return t.flip(`x`);if(n===`v`)return t.flip(`y`)};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e]),!e)return null;let b=t?.trim()||`image`,x=n.length>1,S=async()=>{await Sc(e)&&(_(!0),setTimeout(()=>_(!1),1500))};return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/90 backdrop-blur-sm animate-in fade-in duration-150`,children:[(0,J.jsx)(`button`,{onClick:i,className:`absolute top-3 right-3 z-20 flex size-11 items-center justify-center rounded-full bg-white/10 text-white transition-colors hover:bg-white/20 active:bg-white/30`,"aria-label":`Close`,children:(0,J.jsx)(tt,{className:`size-5`})}),x&&(0,J.jsxs)(`div`,{className:`absolute top-3 left-3 z-20 rounded-full bg-white/10 px-3 py-1.5 font-mono text-xs text-white/80`,children:[r+1,` / `,n.length]}),(0,J.jsx)(`div`,{ref:o,className:`relative flex flex-1 touch-none select-none items-center justify-center overflow-hidden`,onPointerDown:e=>{e.target===e.currentTarget&&(e.currentTarget.dataset.bg=`1`)},onPointerUp:e=>{e.target===e.currentTarget&&e.currentTarget.dataset.bg===`1`&&i(),delete e.currentTarget.dataset.bg},children:(0,J.jsx)(`img`,{ref:s,src:e,alt:t,draggable:!1,style:{willChange:`transform`},className:`max-h-full max-w-full object-contain rounded-lg shadow-2xl`})}),(0,J.jsxs)(cj,{children:[x&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(uj,{onClick:()=>a(-1),disabled:r===0,label:`Previous image (←)`,children:(0,J.jsx)(sn,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>a(1),disabled:r===n.length-1,label:`Next image (→)`,children:(0,J.jsx)(We,{className:`size-5`})}),(0,J.jsx)(lj,{})]}),(0,J.jsx)(uj,{onClick:()=>u(.8),label:`Zoom out (-)`,children:(0,J.jsx)(yr,{className:`size-5`})}),(0,J.jsxs)(`button`,{onClick:d,className:`h-11 min-w-[4.5rem] rounded-lg px-2 font-mono text-xs text-white/80 transition-colors hover:bg-white/10 active:bg-white/20`,title:`Reset view`,children:[c,`%`]}),(0,J.jsx)(uj,{onClick:()=>u(1.25),label:`Zoom in (+)`,children:(0,J.jsx)(et,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:f,label:`Fit to screen (0)`,children:(0,J.jsx)(mr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:p,label:`Actual size (1)`,children:(0,J.jsx)(Ur,{className:`size-5`})}),(0,J.jsx)(lj,{}),(0,J.jsx)(uj,{onClick:()=>m(-90),label:`Rotate left (Shift+R)`,active:l!==0,children:(0,J.jsx)(Vr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>m(90),label:`Rotate right (R)`,active:l!==0,children:(0,J.jsx)(Hr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>h(`x`),label:`Flip horizontally (H)`,children:(0,J.jsx)(Zr,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:()=>h(`y`),label:`Flip vertically (V)`,children:(0,J.jsx)(Qr,{className:`size-5`})}),(0,J.jsx)(lj,{}),(0,J.jsx)(uj,{onClick:()=>yc(e,b),label:`Download`,children:(0,J.jsx)(Qe,{className:`size-5`})}),(0,J.jsx)(uj,{onClick:S,disabled:!v,label:v?`Copy image`:`Copying images needs an HTTPS or localhost address`,children:g?(0,J.jsx)(Fe,{className:`size-5 text-green-400`}):(0,J.jsx)(Xe,{className:`size-5`})})]})]})}function cj({children:e}){return(0,J.jsx)(`div`,{className:`flex shrink-0 justify-center px-2 pb-[max(0.75rem,env(safe-area-inset-bottom))] pt-2`,children:(0,J.jsx)(`div`,{className:`flex flex-wrap items-center justify-center gap-0.5 rounded-2xl bg-white/10 p-1 backdrop-blur`,children:e})})}function lj(){return(0,J.jsx)(`span`,{className:`mx-1 h-6 w-px bg-white/20`,"aria-hidden":!0})}function uj({onClick:e,label:t,children:n,disabled:r,active:i}){return(0,J.jsx)(`button`,{type:`button`,onClick:e,disabled:r,title:t,"aria-label":t,className:H(`flex size-11 items-center justify-center rounded-lg text-white transition-colors`,`hover:bg-white/15 active:bg-white/25`,i&&`text-primary`,r&&`pointer-events-none opacity-30`),children:n})}var dj=at(e=>({svg:null,open:t=>e({svg:t}),close:()=>e({svg:null})})),fj=.25,pj=4,mj=.25;function hj(){let{svg:e,close:t}=dj(),n=(0,q.useRef)(null),[r,i]=(0,q.useState)(1),[a,o]=(0,q.useState)({x:0,y:0}),s=(0,q.useRef)(!1),c=(0,q.useRef)({x:0,y:0});(0,q.useEffect)(()=>{e&&(i(1),o({x:0,y:0}))},[e]);let l=(0,q.useCallback)(e=>{e.key===`Escape`&&t(),(e.key===`=`||e.key===`+`)&&i(e=>Math.min(pj,e+mj)),e.key===`-`&&i(e=>Math.max(fj,e-mj)),e.key===`0`&&(i(1),o({x:0,y:0}))},[t]);(0,q.useEffect)(()=>{if(e)return document.addEventListener(`keydown`,l),()=>document.removeEventListener(`keydown`,l)},[e,l]);let u=(0,q.useCallback)(e=>{e.preventDefault();let t=e.deltaY>0?-mj:mj;i(e=>Math.min(pj,Math.max(fj,e+t)))},[]),d=(0,q.useCallback)(e=>{e.button===0&&(s.current=!0,c.current={x:e.clientX,y:e.clientY},e.target.setPointerCapture(e.pointerId))},[]),f=(0,q.useCallback)(e=>{if(!s.current)return;let t=e.clientX-c.current.x,n=e.clientY-c.current.y;c.current={x:e.clientX,y:e.clientY},o(e=>({x:e.x+t,y:e.y+n}))},[]),p=(0,q.useCallback)(()=>{s.current=!1},[]);return e?(0,J.jsxs)(`div`,{className:`fixed inset-0 z-[100] flex flex-col bg-black/85 backdrop-blur-sm animate-in fade-in duration-150`,onClick:t,children:[(0,J.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-2 bg-black/40`,onClick:e=>e.stopPropagation(),children:[(0,J.jsxs)(`span`,{className:`text-sm text-white/70`,children:[Math.round(r*100),`% — Scroll to zoom, drag to pan, 0 to reset`]}),(0,J.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,J.jsx)(`button`,{onClick:()=>i(e=>Math.max(fj,e-mj)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom out`,children:(0,J.jsx)(_i,{className:`size-4`})}),(0,J.jsx)(`button`,{onClick:()=>i(e=>Math.min(pj,e+mj)),className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Zoom in`,children:(0,J.jsx)(gi,{className:`size-4`})}),(0,J.jsx)(`button`,{onClick:()=>{i(1),o({x:0,y:0})},className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors`,"aria-label":`Reset zoom`,children:(0,J.jsx)(Vr,{className:`size-4`})}),(0,J.jsx)(`button`,{onClick:t,className:`flex items-center justify-center size-8 rounded bg-white/10 hover:bg-white/20 text-white transition-colors ml-2`,"aria-label":`Close`,children:(0,J.jsx)(tt,{className:`size-5`})})]})]}),(0,J.jsx)(`div`,{ref:n,className:`flex-1 overflow-hidden cursor-grab active:cursor-grabbing`,onClick:e=>e.stopPropagation(),onWheel:u,onPointerDown:d,onPointerMove:f,onPointerUp:p,children:(0,J.jsx)(`div`,{className:`w-full h-full flex items-center justify-center`,style:{transform:`translate(${a.x}px, ${a.y}px) scale(${r})`,transformOrigin:`center center`},children:(0,J.jsx)(`div`,{className:`mermaid-overlay-content bg-white rounded-lg p-6 shadow-2xl [&_svg]:max-w-full [&_svg]:h-auto`,dangerouslySetInnerHTML:{__html:e}})})})]}):null}var gj=new Map,_j=at((e,t)=>({shellsBySession:{},panelShellId:null,setSessionShells:(t,n)=>e(e=>({shellsBySession:{...e.shellsBySession,[t]:n}})),retainSession:e=>{gj.set(e,(gj.get(e)??0)+1)},releaseSession:t=>{let n=(gj.get(t)??1)-1;if(n>0){gj.set(t,n);return}gj.delete(t),e(e=>{let n={...e.shellsBySession};return delete n[t],{shellsBySession:n}})},findByOutput:e=>{if(!e)return;let n=st(e).replace(/\.output$/,``);for(let r of Object.values(t().shellsBySession)){let t=r.find(t=>t.shellId===n||t.outputPath.endsWith(`${n}.output`)||t.outputPath.endsWith(e));if(t)return t}},getShell:e=>{for(let n of Object.values(t().shellsBySession)){let t=n.find(t=>t.shellId===e);if(t)return t}},openPanel:t=>e({panelShellId:t}),closePanel:()=>e({panelShellId:null})})),vj=1500,yj=5e5;function bj(){let e=_j(e=>e.panelShellId),t=_j(e=>e.getShell),n=_j(e=>e.closePanel),r=e?t(e):void 0,[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(null),[c,l]=(0,q.useState)(!1),u=(0,q.useRef)(null),d=r?.outputPath,f=r?.status,p=(0,q.useCallback)(async()=>{if(d)try{let e=(await R.get(`/api/fs/read?path=${encodeURIComponent(d)}`)).content??``;a(e.length>yj?e.slice(-yj):e),s(null)}catch(e){s(e.message)}finally{l(!1)}},[d]);return(0,q.useEffect)(()=>{if(!d||(l(!0),a(``),p(),f!==`running`))return;let e=setInterval(p,vj);return()=>clearInterval(e)},[d,f,p]),(0,q.useEffect)(()=>{u.current&&(u.current.scrollTop=u.current.scrollHeight)},[i]),(0,q.useEffect)(()=>{if(!e)return;let t=e=>{e.key===`Escape`&&n()};return document.addEventListener(`keydown`,t),()=>document.removeEventListener(`keydown`,t)},[e,n]),e?(0,J.jsx)(`div`,{className:`fixed inset-0 z-[100] flex items-end md:items-center justify-center bg-black/60 backdrop-blur-sm animate-in fade-in duration-150`,onClick:n,children:(0,J.jsxs)(`div`,{className:`flex flex-col w-full md:max-w-3xl md:w-[90vw] max-h-[80vh] md:max-h-[75vh] overflow-hidden rounded-t-xl md:rounded-xl border border-border bg-surface shadow-2xl`,onClick:e=>e.stopPropagation(),children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 px-4 py-3 border-b border-border`,children:[(0,J.jsx)($r,{className:`size-4 shrink-0 text-text-secondary`}),(0,J.jsx)(`span`,{className:`flex-1 truncate text-sm font-mono text-text-primary`,title:r?.command,children:r?.command||`Background command`}),f===`running`&&(0,J.jsxs)(`span`,{className:`flex items-center gap-1 text-[11px] text-emerald-500`,children:[(0,J.jsx)(K,{className:`size-3 animate-spin`}),` live`]}),f===`stopping`&&(0,J.jsx)(`span`,{className:`text-[11px] text-warning`,children:`stopping…`}),f===`stopped`&&(0,J.jsx)(`span`,{className:`text-[11px] text-text-subtle`,children:`stopped`}),(0,J.jsx)(`button`,{type:`button`,onClick:n,className:`flex items-center justify-center size-9 -mr-1 rounded hover:bg-surface-elevated text-text-secondary`,"aria-label":`Close`,children:(0,J.jsx)(tt,{className:`size-5`})})]}),(0,J.jsx)(`pre`,{ref:u,className:`flex-1 overflow-auto p-4 text-xs font-mono whitespace-pre-wrap break-words text-text-primary bg-background`,children:o?`Failed to read output: ${o}`:i||(c?`Loading…`:`(no output yet)`)})]})}):null}var xj=`https://cloud.ppm.sh`;function Sj(){return window.location.hostname.endsWith(`.trycloudflare.com`)}function Cj(){let e=AA(e=>e.showOverlay),[t,n]=(0,q.useState)(!1);if(!e)return null;let r=Sj();async function i(){n(!0);try{if((await fetch(`/api/health`,{cache:`no-store`})).ok){if(AA.getState().markUp(),`caches`in window){let e=await caches.keys();await Promise.all(e.map(e=>caches.delete(e)))}window.location.reload();return}}catch{}n(!1)}return(0,J.jsx)(`div`,{className:`fixed inset-0 z-[200] bg-background/95 backdrop-blur-sm flex items-center justify-center p-4`,children:(0,J.jsxs)(`div`,{className:`max-w-sm w-full text-center space-y-6`,children:[(0,J.jsx)(`div`,{className:`flex justify-center`,children:(0,J.jsx)(`div`,{className:`rounded-full bg-destructive/10 p-4`,children:(0,J.jsx)(r?mi:Kr,{className:`h-10 w-10 text-destructive`})})}),(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`h2`,{className:`text-xl font-semibold text-foreground`,children:r?`Connection Lost`:`Server Unreachable`}),(0,J.jsx)(`p`,{className:`text-sm text-muted-foreground leading-relaxed`,children:r?`The tunnel appears to have closed. The server may have restarted with a new URL.`:`Cannot connect to the PPM server. It may have stopped or is restarting.`})]}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[r&&(0,J.jsx)(`a`,{href:xj,target:`_blank`,rel:`noopener noreferrer`,className:`inline-flex items-center justify-center rounded-md bg-primary px-4 py-2.5 text-sm font-medium text-primary-foreground hover:bg-primary/90 transition-colors`,children:`Open PPM Cloud`}),(0,J.jsxs)(`button`,{onClick:i,disabled:t,className:`inline-flex items-center justify-center gap-2 rounded-md border border-border px-4 py-2.5 text-sm font-medium text-foreground hover:bg-accent transition-colors disabled:opacity-50`,children:[(0,J.jsx)(Rr,{className:`h-4 w-4 ${t?`animate-spin`:``}`}),t?`Retrying…`:`Retry Connection`]})]}),!r&&(0,J.jsxs)(`p`,{className:`text-xs text-muted-foreground`,children:[`If the server was stopped, run `,(0,J.jsx)(`code`,{className:`bg-muted px-1 py-0.5 rounded text-[11px]`,children:`ppm start`}),` to restart it.`]})]})})}function wj(){let e=$s(e=>e.quickPick),t=$s(e=>e.resolveQuickPick);return e?(0,J.jsx)(Tj,{items:e.items,options:e.options,onSelect:e=>t(e),onCancel:()=>t(void 0)}):null}function Tj({items:e,options:t,onSelect:n,onCancel:r}){let[i,a]=(0,q.useState)(``),[o,s]=(0,q.useState)(0),[c,l]=(0,q.useState)(()=>{let t=new Set;return e.forEach((e,n)=>{e.picked&&t.add(n)}),t}),u=(0,q.useRef)(null),d=(0,q.useRef)(null),f=t.canPickMany??!1;(0,q.useEffect)(()=>{requestAnimationFrame(()=>u.current?.focus())},[]);let p=(0,q.useMemo)(()=>{if(!i.trim())return e.map((e,t)=>({item:e,originalIdx:t}));let t=i.toLowerCase();return e.map((e,t)=>({item:e,originalIdx:t})).filter(({item:e})=>e.label.toLowerCase().includes(t)||e.description?.toLowerCase().includes(t)||e.detail?.toLowerCase().includes(t))},[e,i]);(0,q.useEffect)(()=>{s(e=>Math.min(e,Math.max(p.length-1,0)))},[p.length]),(0,q.useEffect)(()=>{(d.current?.children[o])?.scrollIntoView({block:`nearest`})},[o]);let m=(0,q.useCallback)(()=>{f?n(e.filter((e,t)=>c.has(t))):p[o]&&n([p[o].item])},[f,c,e,p,o,n]);function h(e){switch(e.key){case`ArrowDown`:e.preventDefault(),p.length>0&&s(e=>(e+1)%p.length);break;case`ArrowUp`:e.preventDefault(),p.length>0&&s(e=>(e-1+p.length)%p.length);break;case` `:if(f&&p[o]){e.preventDefault();let t=p[o].originalIdx;l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n})}break;case`Enter`:e.preventDefault(),m();break;case`Escape`:e.preventDefault(),r();break}}return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:r,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,J.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden max-h-[80vh] md:max-h-none`,onClick:e=>e.stopPropagation(),onKeyDown:h,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2.5`,children:[(0,J.jsx)(Wr,{className:`size-4 text-text-subtle shrink-0`}),(0,J.jsx)(`input`,{ref:u,type:`text`,value:i,onChange:e=>a(e.target.value),placeholder:t.placeholder??`Select an item...`,className:`flex-1 bg-transparent text-sm text-text-primary outline-none placeholder:text-text-subtle`}),(0,J.jsx)(`kbd`,{className:`hidden sm:inline-flex items-center rounded border border-border bg-surface px-1.5 py-0.5 text-[10px] text-text-subtle font-mono`,children:`ESC`})]}),(0,J.jsx)(`div`,{ref:d,className:`max-h-72 overflow-y-auto py-1`,children:p.length===0?(0,J.jsx)(`p`,{className:`px-3 py-4 text-sm text-text-subtle text-center`,children:`No matching items`}):p.map(({item:e,originalIdx:t},r)=>(0,J.jsxs)(`button`,{onClick:()=>{f?l(e=>{let n=new Set(e);return n.has(t)?n.delete(t):n.add(t),n}):n([e])},className:H(`flex items-center gap-3 w-full px-3 py-2 text-sm text-left transition-colors`,r===o?`bg-accent/15 text-text-primary`:`text-text-secondary hover:bg-surface-elevated`),children:[f&&(0,J.jsx)(`span`,{className:H(`size-4 shrink-0 rounded border flex items-center justify-center`,c.has(t)?`bg-primary border-primary text-primary-foreground`:`border-border`),children:c.has(t)&&(0,J.jsx)(Fe,{className:`size-3`})}),(0,J.jsxs)(`div`,{className:`flex-1 min-w-0`,children:[(0,J.jsx)(`div`,{className:`truncate`,children:e.label}),e.description&&(0,J.jsx)(`span`,{className:`text-xs text-text-subtle ml-2`,children:e.description}),e.detail&&(0,J.jsx)(`div`,{className:`text-xs text-text-subtle truncate mt-0.5`,children:e.detail})]})]},t))}),f&&(0,J.jsxs)(`div`,{className:`flex items-center justify-between border-t border-border px-3 py-1.5`,children:[(0,J.jsxs)(`span`,{className:`text-[10px] text-text-subtle`,children:[c.size,` selected`]}),(0,J.jsx)(`button`,{onClick:m,className:`text-xs text-primary hover:text-primary/80 font-medium`,children:`Confirm`})]})]})]})}function Ej(){let e=$s(e=>e.inputBox),t=$s(e=>e.resolveInputBox);return e?(0,J.jsx)(Dj,{options:e.options,onConfirm:e=>t(e),onCancel:()=>t(void 0)}):null}function Dj({options:e,onConfirm:t,onCancel:n}){let[r,i]=(0,q.useState)(e.value??``),a=(0,q.useRef)(null);(0,q.useEffect)(()=>{requestAnimationFrame(()=>{a.current?.focus(),a.current?.select()})},[]);function o(e){e.key===`Enter`?(e.preventDefault(),t(r)):e.key===`Escape`&&(e.preventDefault(),n())}return(0,J.jsxs)(`div`,{className:`fixed inset-0 z-50 flex items-end md:items-start justify-center md:pt-[20vh]`,onClick:n,children:[(0,J.jsx)(`div`,{className:`fixed inset-0 bg-black/50`}),(0,J.jsxs)(`div`,{className:`relative z-10 w-full max-w-md rounded-t-xl md:rounded-xl border border-border bg-background shadow-2xl overflow-hidden`,onClick:e=>e.stopPropagation(),children:[e.prompt&&(0,J.jsx)(`div`,{className:`px-3 pt-3 pb-1 text-sm text-text-primary`,children:e.prompt}),(0,J.jsx)(`div`,{className:`flex items-center gap-2 px-3 py-2.5`,children:(0,J.jsx)(`input`,{ref:a,type:e.password?`password`:`text`,value:r,onChange:e=>i(e.target.value),onKeyDown:o,placeholder:e.placeholder??``,className:`flex-1 bg-surface border border-border rounded px-2 py-1.5 text-sm text-text-primary outline-none focus:border-primary placeholder:text-text-subtle`})}),(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-2 border-t border-border px-3 py-2`,children:[(0,J.jsx)(`button`,{onClick:n,className:`px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors rounded`,children:`Cancel`}),(0,J.jsx)(`button`,{onClick:()=>t(r),className:`px-3 py-1.5 text-xs bg-primary text-primary-foreground rounded hover:bg-primary/90 transition-colors font-medium`,children:`OK`})]})]})]})}var Oj=new Set;function kj(e,t){return`${e}:${t??``}`}var Aj=new Map,jj=15e3;function Mj(e,t){let n=Date.now();for(let[e,t]of Aj)n-t>jj&&Aj.delete(e);if(Aj.delete(`${e}:${t??``}`)||t&&Aj.delete(`${e}:`))return!0;if(!t){for(let t of Aj.keys())if(t.startsWith(`${e}:`))return Aj.delete(t),!0}return!1}var Nj=new Set;function Pj(e=!0){let t=(0,q.useRef)(null),n=(0,q.useCallback)(e=>{t.current?.send(JSON.stringify(e))},[]);return(0,q.useEffect)(()=>{if(!e)return;let r=it(),i=new EA(r?`/ws/extensions?token=${encodeURIComponent(r)}`:`/ws/extensions`);t.current=i,i.onMessage(e=>{let t;try{t=JSON.parse(e.data)}catch{return}let r=$s.getState();switch(t.type){case`contributions:update`:if(r.setContributions(t.contributions),t.activationErrors){let e=r.activationErrors;r.setActivationErrors(t.activationErrors);for(let[n,r]of Object.entries(t.activationErrors))e[n]||z.error(`Extension "${n}" failed to activate: ${r}`)}break;case`statusbar:update`:r.addStatusBarItem(t.item);break;case`statusbar:remove`:r.removeStatusBarItem(t.itemId);break;case`tree:update`:t.parentId?r.updateTreeChildren(t.viewId,t.parentId,t.items):r.updateTree(t.viewId,t.items);break;case`tree:refresh`:r.removeTree(t.viewId);break;case`notification`:{let e=t.level===`error`?z.error:t.level===`warn`?z.warning:z.info;if(t.actions&&t.actions.length>0){let r={action:{label:t.actions[0],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[0]??null})},onDismiss:()=>n({type:`notification:action`,id:t.id,action:null})};t.actions.length>1&&(r.cancel={label:t.actions[1],onClick:()=>n({type:`notification:action`,id:t.id,action:t.actions[1]??null})}),e(t.message,r)}else e(t.message);break}case`quickpick:show`:r.showQuickPick(t.items,t.options).then(e=>{n({type:`quickpick:resolve`,requestId:t.requestId,selected:e??null})});break;case`inputbox:show`:r.showInputBox(t.options).then(e=>{n({type:`inputbox:resolve`,requestId:t.requestId,value:e??null})});break;case`webview:create`:{let e=t.viewType.replace(/\.view$/,``),n=Mj(e,t.projectPath);r.addWebviewPanel({id:t.panelId,extensionId:t.extensionId,viewType:t.viewType,title:t.title,html:``,projectName:t.projectName});let i=`extension:${e}`,a=U.getState(),o=Object.values(a.panels).flatMap(e=>e.tabs).filter(e=>e.id===i||e.id.startsWith(`${i}@`)),s=e=>e.metadata?.projectName,c=t.projectName?o.find(e=>s(e)===t.projectName)??o.find(e=>!s(e)):o[0];if(c)G.getState().updateTab(c.id,{title:t.title,metadata:{...c.metadata,viewType:e,panelId:t.panelId,extensionId:t.extensionId,...t.projectName&&{projectName:t.projectName}}}),n&&!Nj.has(e)&&G.getState().setActiveTab(c.id),Nj.delete(e);else if(n&&!Oj.has(kj(e,t.projectName))){let n=G.getState().currentProject,r=t.projectName??n??void 0;G.getState().openTab({type:`extension`,title:t.title,projectId:null,closable:!0,metadata:{viewType:e,panelId:t.panelId,extensionId:t.extensionId,...r&&{projectName:r}}})}break}case`webview:html`:r.updateWebviewPanel(t.panelId,{html:t.html});break;case`webview:dispose`:r.removeWebviewPanel(t.panelId);break;case`webview:postMessage`:window.dispatchEvent(new CustomEvent(`ext:webview:message`,{detail:{panelId:t.panelId,message:t.message}}));break;case`tab:open`:G.getState().openTab({type:t.tabType,title:t.title,projectId:t.projectId??null,closable:t.closable??!0,metadata:t.metadata});break;case`project:switch`:G.getState().switchProject(t.projectName);break}});let a=e=>{let{panelId:t,message:n}=e.detail;i.send(JSON.stringify({type:`webview:message`,panelId:t,message:n}))};window.addEventListener(`ext:webview:send`,a);let o=e=>{let{viewId:t,itemId:n}=e.detail;i.send(JSON.stringify({type:`tree:expand`,viewId:t,itemId:n}))};window.addEventListener(`ext:tree:expand`,o);let s=e=>{let{command:t,args:n,recovery:r}=e.detail,a=t.replace(/\.view$/,``);for(let e of Oj)e.startsWith(`${a}:`)&&Oj.delete(e);let o=Array.isArray(n)&&typeof n[0]==`string`?n[0]:``;Aj.set(`${a}:${o}`,Date.now()),r?Nj.add(a):Nj.delete(a),i.send(JSON.stringify({type:`command:execute`,command:t,args:n}))};window.addEventListener(`ext:command:execute`,s);let c=e=>{let{panelId:t,viewType:n,projectName:r}=e.detail;if(i.send(JSON.stringify({type:`webview:close`,panelId:t})),n){let e=kj(n.replace(/\.view$/,``),r);Oj.add(e),setTimeout(()=>Oj.delete(e),5e3)}};return window.addEventListener(`ext:webview:close`,c),i.connect(),()=>{window.removeEventListener(`ext:webview:send`,a),window.removeEventListener(`ext:tree:expand`,o),window.removeEventListener(`ext:command:execute`,s),window.removeEventListener(`ext:webview:close`,c),i.disconnect(),t.current=null}},[n,e]),{send:n}}function Fj(e){let t=0,n=0,r=0,i=0;for(let a of e)n+=a.size,t+=a.state===`done`||a.state===`skipped`?a.size:Math.min(a.bytesLoaded,a.size),(a.state===`done`||a.state===`skipped`)&&r++,(a.state===`failed`||a.state===`cancelled`)&&i++;return{bytesLoaded:t,bytesTotal:n,doneCount:r,failedCount:i,totalCount:e.length}}function Ij(e){if(e<1024)return`${e} B`;let t=[`KB`,`MB`,`GB`],n=e/1024,r=0;for(;n>=1024&&r<t.length-1;)n/=1024,r++;return`${n.toFixed(n>=10?0:1)} ${t[r]}`}function Lj({item:e,onCancel:t}){let n=e.size>0?Math.min(100,Math.round(e.bytesLoaded/e.size*100)):0,r=e.state===`queued`||e.state===`uploading`,i=e.relativePath!==e.name;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-1 px-3 py-2`,"data-testid":`upload-row`,"data-state":e.state,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`p`,{className:`truncate text-sm text-text`,children:e.name}),i&&(0,J.jsx)(`p`,{className:`truncate text-xs text-text-2`,children:e.relativePath})]}),(0,J.jsx)(`span`,{className:`shrink-0 text-xs text-text-2`,children:Ij(e.size)}),r?(0,J.jsx)(`button`,{type:`button`,"aria-label":`Cancel ${e.name}`,onClick:t,className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,J.jsx)(tt,{className:`size-4 text-text-2`})}):(0,J.jsxs)(`span`,{className:`flex size-11 shrink-0 items-center justify-center`,"aria-label":e.state,children:[e.state===`done`&&(0,J.jsx)(Fe,{className:`size-4 text-success`}),e.state===`skipped`&&(0,J.jsx)(`span`,{className:`text-xs text-text-2`,children:`Skipped`}),(e.state===`failed`||e.state===`cancelled`)&&(0,J.jsx)(ci,{className:`size-4 text-destructive`})]})]}),r&&(0,J.jsx)(`div`,{className:`h-1 w-full overflow-hidden rounded-full bg-surface-elevated`,children:(0,J.jsx)(`div`,{className:H(`h-full rounded-full bg-primary transition-[width]`,e.state===`queued`&&`w-0 opacity-40`),style:e.state===`uploading`?{width:`${n}%`}:void 0})}),(e.state===`failed`||e.state===`cancelled`)&&(0,J.jsx)(`p`,{className:`text-xs text-destructive`,children:e.state===`cancelled`?`Cancelled`:e.errorMessage??`Upload failed`})]})}function Rj(e){return`${(e/(1024*1024)).toFixed(1)} MB`}function zj({batch:e}){let t=Af(e=>e.cancelItem),n=Af(e=>e.cancelBatch),r=Af(e=>e.dismissBatch),i=Fj(e.items),a=e.settled,o=i.bytesTotal>0?Math.round(i.bytesLoaded/i.bytesTotal*100):0;return(0,J.jsxs)(`div`,{className:`w-full overflow-hidden rounded-lg border border-border bg-panel shadow-lg`,"data-testid":`upload-batch-card`,children:[(0,J.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-3 py-2`,children:[(0,J.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,J.jsx)(`p`,{className:`truncate text-sm font-medium text-text`,children:a?`${i.doneCount}/${i.totalCount} uploaded${i.failedCount>0?`, ${i.failedCount} failed`:``}`:`Uploading ${i.totalCount} item${i.totalCount===1?``:`s`}… ${o}%`}),(0,J.jsxs)(`p`,{className:`truncate text-xs text-text-2`,children:[Rj(i.bytesLoaded),` / `,Rj(i.bytesTotal)]})]}),a?(0,J.jsx)(I,{variant:`ghost`,size:`sm`,className:`h-11 shrink-0`,onClick:()=>r(e.id),children:`Close`}):(0,J.jsx)(`button`,{type:`button`,"aria-label":`Cancel all`,onClick:()=>n(e.id),className:`flex size-11 shrink-0 items-center justify-center rounded-md can-hover:hover:bg-surface-elevated`,children:(0,J.jsx)(tt,{className:`size-4 text-text-2`})})]}),(0,J.jsx)(`div`,{className:`max-h-64 divide-y divide-border overflow-y-auto`,children:e.items.map(n=>(0,J.jsx)(Lj,{item:n,onCancel:()=>t(e.id,n.id)},n.id))})]})}function Bj(){return Af(Ol(e=>e.order.map(t=>e.batches[t]).filter(e=>e!=null)))}function Vj(){let e=_t(),t=Bj(),[n,r]=(0,q.useState)(!1);if(t.length===0)return null;if(!e)return(0,J.jsx)(`div`,{className:`fixed bottom-4 right-4 z-30 flex w-80 max-w-[calc(100vw-2rem)] flex-col gap-2`,"data-testid":`upload-progress-panel`,children:t.map(e=>(0,J.jsx)(zj,{batch:e},e.id))});let i=t.filter(e=>!e.settled).length>0?`Uploading ${t.reduce((e,t)=>e+t.items.length,0)}…`:`Uploads finished`;return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(`button`,{type:`button`,onClick:()=>r(!0),"data-testid":`upload-progress-pill`,className:`fixed bottom-20 right-3 z-30 flex h-11 items-center gap-2 rounded-full border border-border bg-panel px-4 text-sm text-text shadow-lg`,children:i}),(0,J.jsx)(Tt,{open:n,onClose:()=>r(!1),className:`max-h-[70vh] overflow-y-auto p-2`,children:(0,J.jsx)(`div`,{className:`flex flex-col gap-2 px-2 pb-2`,children:t.map(e=>(0,J.jsx)(zj,{batch:e},e.id))})})]})}var Hj=(0,q.lazy)(()=>B(()=>import(`./mobile-explorer-sheet-CEVcU964.js`).then(e=>({default:e.MobileExplorerSheet})),__vite__mapDeps([176,1,2,3,4,72,7,8,73,26,23,20,24,27,9,34,35,37,10,14,55,11,39,33,13,16]))),Uj=(0,q.lazy)(()=>B(()=>import(`./team-member-sheet-M83B4znI.js`).then(e=>({default:e.TeamMemberSheet})),__vite__mapDeps([177,1,2,3,4,37,8,38,14,39,11,7])));function Wj(){let[e,t]=(0,q.useState)(`checking`),n=_t(),[r,i]=(0,q.useState)(!1),[a,o]=(0,q.useState)(),[s,c]=(0,q.useState)(!1);(0,q.useEffect)(()=>{let e=()=>{o(`settings`),i(!0)};return window.addEventListener(`open-mobile-settings`,e),()=>window.removeEventListener(`open-mobile-settings`,e)},[]);let[l,u]=(0,q.useState)(()=>new Set([`__global__`]));hS(),(0,q.useEffect)(()=>{bO(),pO(),rA()},[]);let d=V(e=>e.deviceName),f=W(e=>e.fetchProjects),p=V(e=>e.fetchServerInfo),m=W(e=>e.activeProject),h=(0,q.useRef)(m_());(0,q.useEffect)(()=>{p()},[p,e===`authenticated`]),(0,q.useEffect)(()=>{async function e(){let e=it();try{let n={};e&&(n.Authorization=`Bearer ${e}`),(await(await fetch(`/api/auth/check`,{headers:n})).json()).ok?t(`authenticated`):t(`unauthenticated`)}catch{t(`unauthenticated`)}}e()},[]),b_();let{paletteOpen:g,paletteInitialQuery:_,closePalette:v}=tc();hA(),NA(),Pj(e===`authenticated`),OA(e===`authenticated`,m?.name),SA(),(0,q.useEffect)(()=>{if(e!==`authenticated`)return;let t=e=>{e.preventDefault()};return window.addEventListener(`beforeunload`,t),()=>window.removeEventListener(`beforeunload`,t)},[e]),(0,q.useEffect)(()=>{e===`authenticated`&&(B(async()=>{let{useKeybindingsStore:e}=await import(`./keybindings-store-oMJmtpH4.js`);return{useKeybindingsStore:e}},__vite__mapDeps([178,3,1,4,10])).then(({useKeybindingsStore:e})=>{e.getState().loadFromServer()}),W.getState().hydrateUiPrefs())},[e]),(0,q.useEffect)(()=>{e===`authenticated`&&f().then(async()=>{let e=h.current,{projects:t,customOrder:n}=W.getState();if(t.length===0)return;let r=e.projectName?t.find(t=>t.name===e.projectName):void 0;if(r||=mt(t,n)[0],r&&(await dt(r.name),W.getState().setActiveProject(r),G.getState().switchProject(r.name),e.tabType&&y_(e.tabType,e.tabIdentifier,r.name),e.openChat)){y_(`chat`,e.openChat,r.name);let t=new URL(window.location.href);t.searchParams.delete(`openChat`),window.history.replaceState(null,``,t.pathname)}})},[e,f]),(0,q.useEffect)(()=>{let e=m?.name??`__global__`,t=!1;return(async()=>{e!==`__global__`&&!localStorage.getItem(`ppm-panels-${e}`)&&(await dt(e),t)||G.getState().switchProject(e)})(),()=>{t=!0}},[m?.name]),(0,q.useEffect)(()=>{e!==`authenticated`||!m?.name||B(async()=>{let{useNotificationStore:e}=await import(`./notification-store-B8AqxwRT.js`);return{useNotificationStore:e}},__vite__mapDeps([179,3,1,4,10])).then(({useNotificationStore:e})=>{e.getState().loadFromServer(m.name)})},[e,m?.name]),(0,q.useEffect)(()=>{let e=m?.name??`__global__`;u(t=>t.has(e)?t:new Set([...t,e]))},[m?.name]),(0,q.useEffect)(()=>{e===`authenticated`&&!m&&G.getState().switchProject(`__global__`)},[e,m]);let y=(0,q.useCallback)(()=>{t(`authenticated`)},[]);if(e===`checking`)return(0,J.jsx)(`div`,{className:`app-backdrop min-h-dvh flex items-center justify-center`,children:(0,J.jsx)(`div`,{className:`animate-pulse text-text-secondary text-sm`,children:`Loading...`})});if(e===`unauthenticated`)return(0,J.jsx)(mS,{onSuccess:y});let b=m?.name??`__global__`;return(0,J.jsx)(bi,{children:(0,J.jsxs)(`div`,{className:`app-backdrop h-dvh flex flex-col text-foreground overflow-hidden relative`,children:[(0,J.jsx)(`div`,{className:`fixed z-50 overflow-hidden pointer-events-none max-md:right-0 max-md:top-0 md:left-0 md:top-0 w-10 h-10`,children:(0,J.jsx)(`div`,{className:`absolute flex items-center justify-center max-md:rotate-45 max-md:right-[-18px] max-md:top-[4px] md:-rotate-45 md:left-[-18px] md:top-[4px] w-[60px] bg-warning text-white text-[6px] font-bold leading-none py-[2.5px] shadow-sm`,children:`BETA`})}),d&&(0,J.jsx)(`div`,{className:`md:hidden fixed left-0 top-0 z-50 px-2 py-0.5 bg-primary/80 text-primary-foreground text-[10px] font-medium rounded-br`,children:d}),(0,J.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,J.jsx)(Cv,{}),(0,J.jsxs)(`div`,{className:`relative flex-1 flex flex-col overflow-hidden`,children:[[...l].map(e=>(0,J.jsx)(`div`,{className:H(`flex-1 overflow-hidden pb-12 md:pb-0`,b!==e&&`hidden`),children:(0,J.jsx)(yl,{projectName:e})},e)),(0,J.jsx)(Gc,{}),(0,J.jsx)(iy,{}),(0,J.jsx)(Bx,{})]})]}),(0,J.jsx)(Kx,{onMenuPress:()=>i(!0),onProjectsPress:()=>c(!0)}),(0,J.jsx)(eS,{isOpen:r,onClose:()=>{i(!1),o(void 0)},initialTab:a}),(0,J.jsx)(tS,{isOpen:s,onClose:()=>c(!1)}),(0,J.jsx)(YA,{open:g,onClose:v,initialQuery:_}),(0,J.jsx)(ZA,{}),(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(Hj,{})}),(0,J.jsx)(q.Suspense,{fallback:null,children:(0,J.jsx)(Uj,{})}),(0,J.jsx)(lS,{}),(0,J.jsx)(oj,{}),(0,J.jsx)(hj,{}),(0,J.jsx)(bj,{}),(0,J.jsx)(wj,{}),(0,J.jsx)(Ej,{}),(0,J.jsx)(Cj,{}),(0,J.jsx)(Vj,{}),(0,J.jsx)(yi,{position:n?`top-center`:`bottom-left`,closeButton:!0,toastOptions:{className:`bg-surface border-border text-foreground`}})]})})}if(typeof Node<`u`){let e=Node.prototype.removeChild;Node.prototype.removeChild=function(t){try{return e.call(this,t)}catch(e){if(e instanceof DOMException&&e.name===`NotFoundError`)return t;throw e}};let t=Node.prototype.insertBefore;Node.prototype.insertBefore=function(e,n){try{return t.call(this,e,n)}catch(t){if(t instanceof DOMException&&t.name===`NotFoundError`)return e;throw t}}}(0,vi.createRoot)(document.getElementById(`root`)).render((0,J.jsx)(q.StrictMode,{children:(0,J.jsx)(Wj,{})}));export{If as $,fr as $n,X as $t,mg as A,si as An,tn as Ar,su as At,wp as B,Wr as Bn,il as Bt,$g as C,vo as Cn,hn as Cr,Ou as Ct,Yg as D,di as Dn,sn as Dr,ou as Dt,n_ as E,fi as En,cn as Er,au as Et,mh as F,ti as Fn,Ql as Ft,Sp as G,jr as Gn,cl as Gt,Op as H,Vr as Hn,rl as Ht,$m as I,$r as In,Ol as It,ep as J,xr as Jn,Tc as Jt,op as K,Ar as Kn,sl as Kt,Bp as L,Jr as Ln,$c as Lt,Zh as M,ai as Mn,Xt as Mr,fu as Mt,Qh as N,ii as Nn,Yt as Nr,du as Nt,Ng as O,li as On,on as Or,cu as Ot,bh as P,ri as Pn,qt as Pr,iu as Pt,zf as Q,mr as Qn,Ac as Qt,Np as R,qr as Rn,tl as Rt,r_ as S,yo as Sn,gn as Sr,ju as St,Qg as T,mi as Tn,dn as Tr,ru as Tt,Ep as U,Rr as Un,al as Ut,Dp as V,Hr as Vn,nl as Vt,Tp as W,Mr as Wn,ol as Wt,Gf as X,_r as Xn,Mc as Xt,Kf as Y,vr as Yn,kc as Yt,Bf as Z,gr as Zn,jc as Zt,o_ as _,Eo as _n,On as _r,td as _t,CA as a,ec as an,tr as ar,hf as at,qg as b,Oo as bn,wn as br,$u as bt,Wk as c,Ys as cn,Jn as cr,wd as ct,hO as d,Ks as dn,Hn as dr,md as dt,bc as en,K as er,Ef as et,jT as f,Qs as fn,Bn as fr,fd as ft,gv as g,wo as gn,Nn as gr,nd as gt,Pv as h,jo as hn,Fn as hr,rd as ht,EA as i,nc as in,nr as ir,_f as it,ng as j,oi as jn,en as jr,uu as jt,vg as k,ci as kn,rn as kr,lu as kt,gO as l,qs as ln,Kn as lr,Cd as lt,Px as m,Po as mn,In as mr,ed as mt,dj as n,yc as nn,lr as nr,vf as nt,Xk as o,$s as on,er as or,cf as ot,kT as p,rs as pn,Ln as pr,ad as pt,$ as q,kr as qn,el as qt,QA as r,pc as rn,rr,yf as rt,Yk as s,Ws as sn,Xn as sr,Ed as st,_j as t,_c as tn,dr as tr,Sf as tt,fO as u,Js as un,Wn as ur,hd as ut,t_ as v,ko as vn,Dn as vr,od as vt,Zg as w,hi as wn,fn as wr,vu as wt,i_ as x,Do as xn,vn as xr,Au as xt,Xg as y,Ao as yn,Tn as yr,Yu as yt,Mp as z,Gr as zn,Z as zt};
|