@sma1lboy/rove 0.9.277-next.5 → 0.9.277-next.6
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.
|
@@ -118,7 +118,7 @@ void main() {
|
|
|
118
118
|
`)}`}var UP=/LAND_CONFLICT/,WP=/MAIN_CHECKOUT_DIRTY/,GP=/SYNC_CONFLICT(?:: )?(.*)/,KP=/SYNC_WORKTREE_DIRTY(?:: )?(.*)/;function qP(e){let t=ir(e);return UP.test(t)?K(`worktrees`,`land.conflict`,{files:t}):WP.test(t)?K(`worktrees`,`land.dirtyBase`):K(`worktrees`,`land.failed`,{error:t})}async function JP(e,t,n){if(t.machine){YP(e,t,t.machine.label,n);return}let r;try{r=await e.client.request(`task.landPreflight`,{taskId:t.id})}catch(e){G(K(`worktrees`,`land.failed`,{error:ir(e)}),`error`);return}if(r.refusal){G(r.refusal===`MAIN_CHECKOUT_DIRTY`?K(`worktrees`,`land.dirtyBase`):K(`worktrees`,`land.failed`,{error:r.message??r.refusal}),`error`);return}let i=t.branch||t.title,a=VP(e.tasks.get()?.tasks.find(e=>e.id===t.id)??{}).length;W.set((0,V.jsx)(cr,{title:K(`worktrees`,`land.confirmTitle`),body:[K(`worktrees`,r.ahead===1?`land.confirmBodyOne`:`land.confirmBody`,{branch:i,landedOn:r.landedOn,commits:r.ahead??`?`}),...a>0?[z(`files.landTodos`,{count:a})]:[]].join(`
|
|
119
119
|
|
|
120
120
|
`),confirmLabel:K(`worktrees`,`land.button`),onConfirm:async()=>{try{let r=await e.client.request(`task.land`,{taskId:t.id});G(K(`worktrees`,`land.done`,{branch:i,landedOn:r.landedOn,commit:r.commit.slice(0,8)})),n?.()}catch(e){throw Error(qP(e))}}}))}function YP(e,t,n,r){let i=t.branch||t.title;W.set((0,V.jsx)(cr,{title:z(`taskops.publishTitle`),body:z(`taskops.publishBody`,{branch:i,host:n}),confirmLabel:z(`taskops.publishButton`),onConfirm:async()=>{let n=await e.client.request(`task.land`,{taskId:t.id}),a=n.published?.prUrl;a?G(z(`taskops.publishedPr`,{branch:i,url:a})):G(z(`taskops.publishedNoPr`,{branch:i,reason:ZP(n.published?.prError??``)}),`error`),r?.()}}))}async function XP(e,t){try{let n=await e.client.request(`task.syncBase`,{taskId:t});G(K(`tasks`,n.alreadyCurrent?`sync.alreadyCurrent`:`sync.done`,{base:n.baseRef}))}catch(e){let t=ir(e),n=GP.exec(t),r=KP.exec(t);G(n?K(`tasks`,`sync.conflict`,{files:n[1]?.trim()||`?`}):r?K(`tasks`,`sync.dirty`,{files:r[1]?.trim()||`?`}):K(`tasks`,`sync.failed`,{error:t}),`error`)}}function ZP(e){return e.split(`
|
|
121
|
-
`).find(e=>e.trim().length>0)?.trim()??e.trim()}async function QP(e,t,n){try{let r=await e.client.request(`task.fixChecks`,e.engineTarget(t));r.outcome===`unavailable`?G(K(`files`,`toast.ciChecksUnavailable`,{detail:ZP(r.detail??``)}),`error`):r.outcome===`none`?G(K(`files`,`toast.ciNoFailingChecks`),`error`):G(n)}catch(e){G(ir(e),`error`)}}async function $P(e,t){try{let n=await e.client.request(`task.openEditor`,{taskId:t});n.outcome===`noEditor`?G(K(`tasks`,`toast.noEditor`),`error`):n.outcome===`failed`&&G(K(`tasks`,`toast.openWorktreeFailed`,{label:n.label??``}),`error`)}catch(e){G(K(`tasks`,`toast.worktreeErrorGeneric`,{message:ir(e)}),`error`)}}function eF(e,t){let n=e.tasks.get();return[...n?.tasks??[],...n?.archived??[]].filter(e=>e.parentTaskId===t)}function tF(e,t){let n=eF(e,t.id),r=n.length>0,i=n=>e.client.request(`task.delete`,{taskId:t.id,...n}).then(()=>{});return(0,V.jsx)(cr,{title:r?K(`tasks`,`confirm.childrenTitle`,{title:t.label,count:String(n.length)}):K(`tasks`,t.kind===`dir`?`confirm.deleteTitleDir`:`confirm.deleteTitle`,{title:t.label}),body:r?K(`tasks`,`confirm.childrenBody`):K(`tasks`,t.kind===`dir`?`confirm.deleteBodyDir`:`confirm.deleteBodyTask`),confirmLabel:K(`tasks`,r?`confirm.childrenPromote`:`confirm.deleteConfirm`),onConfirm:()=>i({}),...r?{secondary:{label:K(`tasks`,`confirm.childrenCascade`),onConfirm:()=>i({cascade:!0})}}:{},escalate:{when:e=>e instanceof s_&&e.code===`DIRTY_WORKTREE`,label:K(`tasks`,`confirm.forceDeleteConfirm`),title:K(`tasks`,`confirm.forceDeleteTitle`,{title:t.label}),body:e=>`${K(`worktrees`,`delete.forceBody`,{branch:t.branch||t.title})}\n\n${K(`worktrees`,`delete.forceReason`,{reason:ir(e).replace(`task ${t.id} `,``)})}`,run:e=>i({force:!0,...e?{cascade:!0}:{}})}})}function nF(e,t){let n=eF(e,t.id),r=n.length>0,i=t.label,a=async()=>{let{tabs:n}=await e.client.request(`task.tabs`,{taskId:t.id});for(let r of n)await e.client.request(`tab.close`,{taskId:t.id,tabId:r.id});await e.refreshTabsNow()},o,s=async t=>{for(let r of n)try{await e.client.request(`task.delete`,{taskId:r.id,cascade:!0,...t?{force:!0}:{}})}catch(e){throw o=r.title,e}await a()};return(0,V.jsx)(cr,{title:r?K(`tasks`,`confirm.childrenTitle`,{title:i,count:String(n.length)}):K(`tasks`,`confirm.deleteTitleDir`,{title:i}),body:K(`tasks`,r?`confirm.childrenBodyMain`:`confirm.deleteBodyMain`),confirmLabel:K(`tasks`,r?`confirm.childrenKeepMain`:`confirm.deleteConfirm`),onConfirm:a,...r?{secondary:{label:K(`tasks`,`confirm.childrenCascadeMain`),onConfirm:()=>s(!1)}}:{},escalate:{when:e=>e instanceof s_&&e.code===`DIRTY_WORKTREE`,label:K(`tasks`,`confirm.forceDeleteConfirm`),title:K(`tasks`,`confirm.forceDeleteTitle`,{title:i}),body:e=>`${K(`worktrees`,`delete.forceBody`,{branch:o??i})}\n\n${ir(e)}`,run:()=>s(!0)}})}async function rF(e,t){let n=t.archived!==!0,r=t.label,i=async i=>{await e.client.request(`task.archive`,{taskId:t.id,archived:n,...i?{force:!0}:{}}),G(K(`tasks`,n?`archive.done`:`archive.restored`,{title:r}))};try{await i(!1)}catch(e){if(n&&e instanceof s_&&e.code===`TASK_BUSY`){W.set((0,V.jsx)(cr,{title:K(`tasks`,`archive.busyTitle`),body:K(`tasks`,`archive.busyBody`,{title:r}),confirmLabel:K(`tasks`,`archive.busyConfirm`),onConfirm:()=>i(!0)}));return}G(K(`tasks`,n?`archive.failed`:`archive.restoreFailed`,{error:ir(e)}),`error`)}}function iF(e,t,n){return(0,V.jsx)(cr,{title:K(`tasks`,`confirm.forgetProjectTitle`,{title:n}),body:K(`tasks`,`confirm.forgetProjectBody`),confirmLabel:K(`tasks`,`confirm.forgetProjectConfirm`),onConfirm:async()=>{try{await e.client.request(`project.forget`,{repo:t})}catch(e){throw Error(K(`tasks`,`toast.forgetProjectFailed`,{error:ir(e)}))}}})}var aF=e=>{let{taskId:t}=e.selection.get();return e.tasks.get()?.tasks.find(e=>e.id===t)??null},oF=e=>{let{taskId:t,tabId:n}=e.selection.get(),r=t?e.tabs.get()[t]?.find(e=>e.id===n):void 0;return!!r&&!ww(r.split)},sF=[{id:`app.refresh`,live:()=>si.get().stale,run:e=>di(e.client)},{id:`palette.open`,live:()=>!0,run:eA},{id:`task.new.global`,live:()=>!0,run:e=>XD(aF(e)?.repo)},{id:`chat.tab.fork`,live:e=>!!aF(e),run:e=>{let t=aF(e);t&&W.set((0,V.jsx)(HC,{model:e,taskId:t.id,context:`continue`}))}},{id:`chat.fork.new`,live:e=>!!aF(e),run:e=>{let t=aF(e);t&&W.set((0,V.jsx)(HC,{model:e,taskId:t.id,destination:`fork`}))}},{id:`settings.open`,live:()=>!0,run:e=>W.set((0,V.jsx)(zP,{model:e}))},{id:`inbox.show`,live:()=>!0,run:e=>W.set((0,V.jsx)(jT,{model:e}))},{id:`focus.previous`,live:()=>!0,run:()=>Ki(-1)},{id:`focus.next`,live:()=>!0,run:()=>Ki(1)},{id:`workspace.zenToggle`,live:e=>!!aF(e),run:()=>un.set(!un.get())},{id:`files.createPR`,live:e=>!!aF(e),run:e=>{let t=aF(e);t&&e.client.request(`tab.requestPR`,e.engineTarget(t.id)).then(()=>G(z(`files.prRequested`))).catch(e=>G(e instanceof Error?e.message:String(e),`error`))}},{id:`chat.tab.close`,live:e=>!!e.selection.get().tabId&&oF(e),run:e=>{let{taskId:t,tabId:n}=e.selection.get();!t||!n||e.client.request(`tab.close`,{taskId:t,tabId:n}).then(()=>e.refreshTabsNow()).catch(e=>G(e instanceof Error?e.message:String(e),`error`))}},{id:`kanban.open`,live:e=>e.installedMods.get().has(`kanban`),run:()=>ga(`kanban`)},{id:`automations.open`,live:()=>!0,run:()=>ga(`routines`)},{id:`workItems.open`,live:e=>e.installedMods.get().has(`issues`),run:()=>ga(`issues`)},{id:`task.moveMode`,live:e=>!!iA(e),run:()=>{UT(!VT.get()),document.querySelector(`.rail`)?.focus()}},{id:`files.syncBase`,live:e=>iA(e)?.kind===`task`,run:e=>{let t=iA(e);t&&XP(e,t.id)}},{id:`files.fixChecks`,live:e=>!!iA(e),run:e=>{let t=iA(e);t&&QP(e,t.id,z(`taskops.fixSent`))}},{id:`task.openEditor`,live:e=>!!iA(e),run:e=>{let t=iA(e);t&&$P(e,t.id)}}];Ji(()=>sF.map(e=>({id:e.id,chords:ri(e.id),prefix:!0,live:e.live,run:e.run})));function cF(e){return Xa(e[0]??``)}function lF(e,t){let n=$i(),r=Xi().filter(t=>t.prefix&&Zi(t,n)&&t.live?.(e)!==!1);for(let e of t){let t=r.filter(t=>t.chords.includes(e)).sort((e,t)=>Qi(e,n)-Qi(t,n))[0];if(t)return t}}var uF=null,dF=null;function fF(){uF=null,dF!==null&&window.clearTimeout(dF),dF=null;let e=Qw.get();e.guide?.kind===`prefix`&&Qw.set({...e,guide:null})}function pF(){if(uF!==null){fF();return}W.get()||Qr()===null||(uF=Date.now(),Qw.set({...Qw.get(),guide:{kind:`prefix`,armedAt:uF}}),dF!==null&&window.clearTimeout(dF),dF=window.setTimeout(fF,qr.get().prefix.timeoutMs))}function mF(e,t){fF();let n=typeof t==`string`?[t]:t,r=lF(e,n);eT(cF(n),r?.id??null),r?.run(e)}var hF=null;function gF(){hF!==null&&window.clearTimeout(hF),hF=null;let e=Qw.get();e.guide?.kind===`direct`&&Qw.set({...e,guide:null})}function _F(){hF!==null||W.get()||(hF=window.setTimeout(()=>{fF(),Qw.set({...Qw.get(),guide:{kind:`direct`}})},400))}function vF(e){(0,g.useEffect)(()=>{let t=t=>{if(t.key===`Control`){t.repeat||_F();return}if(gF(),[`Shift`,`Alt`,`Meta`].includes(t.key))return;let n=Ya(t),{firstStrokes:r,timeoutMs:i}=qr.get().prefix;if(uF!==null&&Date.now()-uF<=i){if(t.preventDefault(),t.stopImmediatePropagation(),t.key===`Escape`)return fF();mF(e,n);return}fF(),!W.get()&&n.some(e=>r.includes(e))&&(t.preventDefault(),t.stopImmediatePropagation(),pF())},n=e=>e.key===`Control`&&gF(),r=e=>{uF!==null&&(e.target instanceof Element&&e.target.closest(`.prefix-guide, .shortcut-badge, [data-prefix-arm]`)||fF())};return window.addEventListener(`keydown`,t,{capture:!0}),window.addEventListener(`keyup`,n,{capture:!0}),window.addEventListener(`pointerdown`,r,{capture:!0}),window.addEventListener(`blur`,gF),()=>{window.removeEventListener(`keydown`,t,{capture:!0}),window.removeEventListener(`keyup`,n,{capture:!0}),window.removeEventListener(`pointerdown`,r,{capture:!0}),window.removeEventListener(`blur`,gF),gF(),fF()}},[e])}function yF(e){let t=$i(),n=new Map;for(let r of Xi()){if(!r.prefix||!Zi(r,t)||r.live?.(e)===!1)continue;let i=Qi(r,t);for(let e of r.chords){let t=n.get(e);(!t||i<t.rank)&&n.set(e,{action:r.id,rank:i})}}return[...n].map(([e,{action:t}])=>({stroke:e,action:t}))}function bF(e){let t=new Map(Hr.map((e,t)=>[e.id,t])),n=new Map;for(let{stroke:t,action:r}of e)n.set(r,[...n.get(r)??[],t]);let r=new Map,i=[...n].sort(([e],[n])=>(t.get(e)??2**53-1)-(t.get(n)??2**53-1));for(let[e,t]of i){let n=oo(e);r.set(n,[...r.get(n)??[],{action:e,strokes:t}])}return[...r].map(([e,t])=>({category:e,actions:t}))}var xF=e=>e===`prefix.moreCommands`?vo(`moreCommandsPrefix`):So(e);function SF(e){let[,t]=(0,g.useState)(0);(0,g.useEffect)(()=>{if(e===null)return;let n=window.setTimeout(()=>t(e=>e+1),Math.max(30,e-Date.now()));return()=>window.clearTimeout(n)},[e])}function CF({model:e}){B();let t=v(Qw);v(qr),v(e.selection);let n=Date.now(),r=t.entries.filter(e=>n-e.at<Zw),i=t.guide?.kind===`prefix`?t.guide.armedAt:null,a=i!==null&&n-i<Xw?i+Xw:null;SF(a??(r[0]?r[0].at+Zw:null));let o=t.guide?.kind===`direct`||i!==null&&a===null;if(!o&&!t.guide&&r.length===0)return null;if(o&&t.guide){let n=t.guide.kind===`direct`,r=n?Jw(ea(e,$i()),Qr()):yF(e);return(0,V.jsxs)(`output`,{className:`mono ${tt}`,onMouseDown:e=>e.preventDefault(),children:[(0,V.jsxs)(`div`,{className:rt,children:[(0,V.jsx)(`span`,{className:`text-accent`,children:n?vo(`directLayer`):vo(`commandLayer`,{prefix:Qr()??``})}),(0,V.jsx)(`span`,{className:`keys-only text-muted`,children:vo(n?`releaseCtrl`:`escCancel`)})]}),(0,V.jsx)(`div`,{className:it,children:bF(r).map(t=>(0,V.jsxs)(`div`,{className:at,children:[(0,V.jsx)(`div`,{className:`text-accent`,children:Co(t.category)}),t.actions.map(({action:t,strokes:r})=>(0,V.jsxs)(`button`,{type:`button`,className:ot,disabled:n,onClick:()=>r[0]&&mF(e,r[0]),children:[(0,V.jsx)(`span`,{className:nt,children:r.map(Xa).join(`/`)}),(0,V.jsx)(`span`,{children:xF(t)})]},t))]},t.category))})]})}return(0,V.jsxs)(`output`,{className:yt,children:[r.map(e=>(0,V.jsxs)(wF,{at:e.at,children:[(0,V.jsx)(`span`,{className:`text-accent`,children:Qr()}),` + `,e.stroke,` →`,` `,e.action?xF(e.action):(0,V.jsx)(`span`,{className:`text-muted`,children:`∅`})]},e.id)),i!==null&&(0,V.jsxs)(`div`,{className:bt(!1),children:[(0,V.jsx)(`span`,{className:`text-accent`,children:Qr()}),` ⋯`]})]})}function wF({at:e,children:t}){let[n]=(0,g.useState)(Date.now),r=n-e>140,i={"--hud-out":`${e+Zw-140-n}ms`};return(0,V.jsx)(`div`,{className:bt(r),style:i,children:t})}function TF({model:e,bindingId:t,head:n=!1}){let r=v(Qw);v(qr);let i=P_().prefs.prefixTap;if(r.guide?.kind!==`prefix`||i!==`local`)return null;let a=qw({bindingId:t,reachability:ea(e,$i()),prefixKey:Qr()});if(!a)return null;let o=Xi().find(e=>e.id===t&&e.prefix)?.chords[0];return(0,V.jsx)(`button`,{type:`button`,className:`mono ${qe(n)}`,onMouseDown:e=>e.preventDefault(),onClick:t=>{t.stopPropagation(),o&&mF(e,o)},children:a})}var EF=[`workingBorder`,`runningTitle`,`taskColors`,`glyphSet`,`colorblind`];function DF(e){let{client:t}=e,n=P_(),r=eN(),i=v(T_);tN(e),dP(e),(0,g.useEffect)(()=>{let e=()=>{M_(t).catch(()=>void 0),BD(t).catch(()=>void 0)},n=()=>document.visibilityState===`visible`&&e(),r=t.onOpen(e);return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,n),()=>{r(),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,n)}},[t]),(0,g.useEffect)(()=>{let e=document.documentElement,t=i?i[r]:m_(n.themes,n.prefs.theme,r),a=t?S_(t,n.prefs):{};for(let[t,n]of Object.entries(a))e.style.setProperty(t,n);e.style.colorScheme=r;for(let t of EF)e.dataset[t]=String(n.prefs[t]);w_.set(t?C_(t):null);let o=document.querySelector(`meta[name="theme-color"]`);o||(o=document.createElement(`meta`),o.name=`theme-color`,document.head.append(o)),o.content=getComputedStyle(document.body).backgroundColor},[n,r,i]),(0,g.useEffect)(()=>{n.loaded&&un.get()!==n.prefs.zen&&un.set(n.prefs.zen)},[n.loaded,n.prefs.zen]),(0,g.useEffect)(()=>un.subscribe(()=>{un.get()!==k_.get().prefs.zen&&N_(t,`zen`,un.get())}),[t])}var OF={sidebar:[{id:`sidebar.nav`,msg:`move`},{id:`sidebar.select`,msg:`open`}],files:[{id:`files.nav`,msg:`move`},{id:`files.hierarchy`,msg:`collapse`},{id:`files.open`,msg:`open`,always:!0},{id:`files.diff`,msg:`diff`,always:!0}]};function kF(e,t){return OF[e].flatMap(e=>{if(t===`always`&&e.always!==!0)return[];let n=to(e.id);return n?[{cap:n,msg:e.msg}]:[]})}var AF=e=>`rove.web.hintUsed.${e}`,jF=_({sidebar:localStorage.getItem(AF(`sidebar`))===`1`});function MF(e){jF.get()[e]||(localStorage.setItem(AF(e),`1`),jF.set({...jF.get(),[e]:!0}))}function NF(e,t){return e.kind===`task`&&t.kind===`task`?e.taskId===t.taskId:e.kind===`page`&&t.kind===`page`?e.id===t.id:e.kind===`new`&&t.kind===`new`}var PF={entries:[],at:-1};function FF(e,t){let n=e.entries[e.at];if(n&&NF(n,t)){let n=[...e.entries];return n[e.at]=t,{entries:n,at:e.at}}let r=[...e.entries.slice(0,e.at+1),t].slice(-50);return{entries:r,at:r.length-1}}function IF(e,t,n){for(let r=e.at+t;r>=0&&r<e.entries.length;r+=t){let t=e.entries[r];if(t&&n(t))return r}return-1}var LF=_(PF);function RF(e){let t=on.get();if(t)return{kind:`page`,id:t};let n=dn.get();if(n)return{kind:`new`,start:n};let{taskId:r,tabId:i}=e.selection.get();return r?{kind:`task`,taskId:r,tabId:i}:null}function zF(e,t){if(t.kind!==`task`)return!0;let n=e.tasks.get()?.tasks.find(e=>e.id===t.taskId);return n!==void 0&&!n.deleting}var BF=!1;function VF(e){let t=!1,n=()=>{t||(t=!0,queueMicrotask(()=>{if(t=!1,BF)return;let n=RF(e);n&&LF.set(FF(LF.get(),n))}))};n();let r=[e.selection.subscribe(n),on.subscribe(n),dn.subscribe(n)];return()=>{for(let e of r)e()}}function HF(e,t){let n=LF.get(),r=IF(n,t,t=>zF(e,t)),i=n.entries[r];i&&(BF=!0,i.kind===`task`?(on.set(null),dn.set(null),e.select(i.taskId,i.tabId)):i.kind===`page`?(dn.set(null),ga(i.id)):(on.set(null),dn.set(i.start)),LF.set({entries:n.entries,at:r}),queueMicrotask(()=>{BF=!1}))}var UF={working:`info`,waiting:`warning`,error:`attention`,done:`success`,idle:`muted`},WF={prOpen:``,prMerged:``,prClosed:``};function GF(e){let t=KF(e);return{look:t,tone:UF[t]}}function KF(e){switch(e?.kind){case`busy`:case`running`:return`working`;case`needs-input`:return`waiting`;case`attention`:return e.reason===`rate_limited`?`waiting`:`error`;case`unseen`:return`done`;default:return`idle`}}function qF(e){return e.rowStatus?.kind===`needs-input`||e.rowStatus?.kind===`attention`}var JF={busy:0,attention:1,"needs-input":2,running:3,unseen:4,idle:5};function YF(e){let t;for(let{rowStatus:n}of e)n&&(!t||JF[n.kind]<JF[t.kind]||n.kind===t.kind&&n.since>t.since)&&(t=n);return t}function XF(e,t,n){if(!e)return null;if(e.lifecycle===`merged`)return{glyph:WF.prMerged,tone:n?`text-muted`:`text-merged`,state:`merged`};if(e.lifecycle===`closed`)return{glyph:WF.prClosed,tone:`text-muted`,state:`closed`};if(e.lifecycle!==`open`&&e.lifecycle!==`ready_to_merge`&&e.lifecycle!==`unknown`)return null;let r=t===`conflict`?`conflict`:t===`failing`?`failing`:t===`passing`?`passing`:e.checkState===`pending`?`pending`:void 0,i=n?`text-muted`:r===`conflict`||r===`failing`?`text-error`:r===`passing`?`text-success`:`text-muted`;return{glyph:WF.prOpen,tone:i,state:`open`,...r?{checks:r}:{}}}function ZF(e){return XF(e.pr,e.prChip,e.prChipStale===!0)}function QF(e){return XF(e,(e.mergeable??``).toUpperCase()===`CONFLICTING`?`conflict`:e.checkState===`failing`?`failing`:e.checkState===`passing`?`passing`:null,!1)}function $F(e){let t=e=>e.state===`open`?e.tone===`text-error`?0:1:e.state===`merged`?2:3;return[...e].sort((e,n)=>t(e)-t(n))[0]}var eI=192,tI=`rove.web.railWidth`,nI=`rove.web.railFolded`;function rI(){let e=Number(localStorage.getItem(tI));return Number.isFinite(e)&&e>0?e:null}var iI=_(rI());iI.subscribe(()=>{let e=iI.get();e===null?localStorage.removeItem(tI):localStorage.setItem(tI,String(Math.round(e)))}),iI.subscribe(Sn);var aI=_(localStorage.getItem(nI)===`1`);aI.subscribe(()=>localStorage.setItem(nI,aI.get()?`1`:`0`));var oI=_(!1),sI=null;function cI(e){sI!==null&&window.clearTimeout(sI),sI=null,e?oI.set(!0):sI=window.setTimeout(()=>oI.set(!1),250)}aI.subscribe(()=>oI.set(!1)),aI.subscribe(Sn);function lI(e,t=window.innerWidth){let n=Math.max(eI,t-320);return Math.max(eI,Math.min(n,Math.round(e)))}var uI=`flex-none fill-none stroke-current [stroke-linecap:round] [stroke-linejoin:round] [stroke-width:1.25]`,dI=(e={})=>`relative grid cursor-pointer place-items-center rounded-sm border-none p-0 disabled:cursor-default disabled:opacity-35 [&_svg]:fill-none [&_svg]:stroke-current [&_svg]:[stroke-linecap:round] [&_svg]:[stroke-linejoin:round] [&_svg]:[stroke-width:1.25] touch:after:absolute touch:after:-inset-x-px touch:after:-top-2 touch:after:-bottom-1.25 touch:after:content-[''] touch:first:after:-left-2 ${e.tool?`size-5.5 flex-none`:`size-6.5`} ${e.tool||e.small?`[&_svg]:size-3.5`:`[&_svg]:size-4`} ${e.on?`bg-accent-soft text-accent`:`bg-transparent text-subtle enabled:hover:bg-hover enabled:hover:text-ink`}`,fI=`absolute top-2 left-2 z-7 flex items-center gap-0.5`,pI=`[&.is-resizing_iframe]:pointer-events-none`,mI=e=>`side-panel ${Ve} relative row-1 flex min-h-0 min-w-0 flex-col ${pI} ${e?`flex-1 p-0`:`pt-2 pr-1 pb-1 pl-0`}`,hI=`grid min-h-0 flex-1 grid-cols-[minmax(0,1fr)] [--divider:5px] *:col-1 ${pI}`,gI=e=>`side-head flex min-h-6.5 min-w-0 items-center gap-0.5 pb-1.5 font-mono text-meta normal-nums ${e?`px-2 pt-0`:`narrow:px-2 narrow:pt-0`}`,_I=`scrollbar-none flex min-w-0 flex-1 gap-0.5 overflow-x-auto`,vI=e=>`group/ptab relative flex max-w-40 items-center hover:text-ink data-[drop=after]:shadow-[inset_-2px_0_0_var(--accent)] data-[drop=before]:shadow-[inset_2px_0_0_var(--accent)] ${e.active?`is-active text-ink`:`text-muted`} ${e.compact&&!e.active?`min-w-0 flex-none`:`min-w-18 flex-initial`}`,yI=e=>`flex min-w-0 cursor-pointer items-center gap-1.5 border-none bg-transparent text-inherit [font:inherit] ${e?`px-1.75 py-1`:`py-1 pr-0.5 pl-2`}`,bI=`truncate`,xI=`touch:relative size-4 flex-none cursor-pointer rounded-xs border-none bg-transparent p-0 mr-1 font-mono text-title leading-none text-subtle opacity-0 group-hover/ptab:opacity-100 hover:bg-hover hover:text-ink focus-visible:opacity-100 [@media(hover:none)]:opacity-100 touch:after:absolute touch:after:-inset-1.5 touch:after:-left-1 touch:after:content-['']`,SI=`ml-auto flex gap-0.5`,CI=`relative row-3 cursor-row-resize touch-none before:absolute before:inset-x-0 before:top-[calc(var(--divider)/2)] before:h-px before:bg-line before:content-[''] hover:before:bg-line-active after:absolute after:inset-x-0 after:-inset-y-0.75 after:content-['']`,wI=`side-view flex min-h-0 min-w-0 flex-col [&[hidden]]:hidden`,TI=`row-2 m-auto flex max-w-[44ch] flex-col items-center gap-2.5 p-4 text-center font-mono text-meta leading-[1.5] text-subtle normal-nums`,EI=`flex min-h-0 flex-1 flex-col gap-1.5`,DI=`flex items-center gap-0.5 [&_svg]:flex-none`,OI=`mx-0.5 min-w-0 flex-1 rounded-sm border-none bg-inset px-2 py-1 text-ink [font-size:var(--fs-meta)] focus:bg-hover focus:outline-none aria-invalid:text-muted`,kI=`min-w-0 flex-1 rounded-sm border-none bg-paper`;function AI({edge:e,className:t,...n}){return(0,V.jsx)(`div`,{"data-grip":``,className:ke(`absolute inset-y-0 z-5 w-1.5 cursor-col-resize touch-none`,`after:absolute after:inset-y-0 after:w-0.5 after:bg-line-active after:opacity-0 after:transition-opacity after:duration-120`,`hover:after:opacity-100 hover:after:delay-250 active:after:bg-accent active:after:opacity-100 active:after:delay-0`,e===`right`?`right-0 after:right-0`:`left-0 after:left-0`,t),...n})}var jI=400;function MI({rail:e}){B();let t=(0,g.useRef)(null),n=(0,g.useRef)(0);return(0,V.jsx)(AI,{edge:`right`,title:z(`layout.railResize`),onPointerDown:n=>{t.current={x:n.clientX,width:e.current?.getBoundingClientRect().width??0,moved:!1},n.currentTarget.setPointerCapture(n.pointerId),Cn(!0)},onPointerMove:e=>{let n=t.current;!n||e.clientX===n.x||(n.moved=!0,iI.set(lI(n.width+e.clientX-n.x)))},onPointerUp:()=>{let e=t.current;if(t.current=null,!e)return;if(e.moved){n.current=0;return}let r=Date.now();r-n.current<jI?(n.current=0,iI.set(null)):n.current=r},onLostPointerCapture:()=>Cn(!1)})}function NI({side:e}){return(0,V.jsxs)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:[(0,V.jsx)(`rect`,{x:`1.5`,y:`2.5`,width:`13`,height:`11`,rx:`2.5`}),(0,V.jsx)(`path`,{d:e===`left`?`M6 2.5v11`:`M10 2.5v11`})]})}function PI({model:e}){B();let t=v(LF),n=v(aI),r=v(e.tasks),i=t=>zF(e,t),a=z(n?`layout.railUnfold`:`layout.railFold`),o=n&&(r?.tasks??[]).some(qF);return(0,V.jsxs)(`div`,{className:fI,onMouseEnter:()=>n&&oI.get()&&cI(!0),onMouseLeave:()=>n&&oI.get()&&cI(!1),children:[(0,V.jsxs)(`button`,{type:`button`,className:dI(),title:a,"aria-label":a,onClick:()=>aI.set(!n),children:[(0,V.jsx)(NI,{side:`left`}),o&&(0,V.jsx)(`span`,{className:`absolute top-0.75 right-0.75 size-1.5 rounded-full bg-accent`})]}),(0,V.jsx)(`button`,{type:`button`,className:dI(),title:z(`layout.navBack`),"aria-label":z(`layout.navBack`),disabled:IF(t,-1,i)<0,onClick:()=>HF(e,-1),children:(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:`M10 3.5 5.5 8l4.5 4.5`})})}),(0,V.jsx)(`button`,{type:`button`,className:dI(),title:z(`layout.navForward`),"aria-label":z(`layout.navForward`),disabled:IF(t,1,i)<0,onClick:()=>HF(e,1),children:(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:`M6 3.5 10.5 8 6 12.5`})})})]})}var FI={terminal:`layout.narrowTerminal`,chat:`layout.narrowChat`,files:`layout.narrowFiles`,diff:`layout.narrowDiff`,browser:`layout.narrowBrowser`};function II({taskId:e}){B();let t=v(Ba);return(0,V.jsxs)(`div`,{className:Ue,children:[(0,V.jsx)(`button`,{type:`button`,className:`mono ${We}`,onClick:ha,children:(0,V.jsx)(`span`,{className:`text-accent`,children:`‹ ${wo(`narrowBack`)}`})}),e&&(0,V.jsx)(`span`,{className:`mono ml-auto flex gap-0.5`,role:`tablist`,children:[`terminal`,...za].map(n=>(0,V.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t===n,className:Ge,onClick:()=>n===`terminal`?Ba.set(n):Uk(e,n),children:z(FI[n])},n))})]})}function LI({title:e}){return B(),(0,V.jsxs)(`button`,{type:`button`,className:Qn({}),onClick:ma,children:[(0,V.jsx)(`span`,{className:`${nr} font-bold text-accent`,children:`↩`}),(0,V.jsx)(`span`,{className:$n,children:To(`recentJump`,{title:e})})]})}function RI({pane:e}){B();let{prefs:t}=P_(),n=v(jF)[e];if(!t.keyHints)return null;let r=kF(e,n?`always`:`firstUse`);return r.length===0?null:(0,V.jsx)(`p`,{className:`mono text-muted ${Ke}`,children:(0,V.jsx)(ET,{text:r.map(e=>`${Kr(e.cap)} ${yo(`pane.${e.msg}`)}`).join(` · `)})})}var zI=`rove.awaySeen`,BI=6e4,VI=e=>e.filter(e=>!e.deleting),HI=e=>e.pr?.lifecycle===`merged`,UI={error:!0,dead:!0};function WI(e,t,n){if(!t||n-t.at<=6e5)return null;let r=VI(e),i=e=>(e.activity?.since??0)>t.at,a=r.filter(e=>UI[e.activity?.state??``]===!0&&i(e)),o=r.filter(e=>e.group===`waiting-on-you`&&!a.includes(e)),s=r.filter(e=>e.activity?.state===`turn_complete`&&i(e)),c=r.filter(e=>HI(e)&&!t.merged.includes(e.id));return s.length+o.length+a.length+c.length===0?null:{since:t.at,finished:s,needs:o,failed:a,merged:c}}var GI=_(null);function KI(){try{let e=JSON.parse(localStorage.getItem(zI)??`null`);return e&&typeof e.at==`number`&&Array.isArray(e.merged)?e:null}catch{return null}}function qI(e,t){let n={at:t,merged:VI(e).filter(HI).map(e=>e.id)};try{localStorage.setItem(zI,JSON.stringify(n))}catch{}}var JI=8e3;function YI(e,t){let n=null,r=0,i,a=()=>{let t=e();t&&!document.hidden&&qI(t.tasks,Date.now())},o=()=>{n=null,a()},s=()=>{let t=e();if(!t||document.hidden)return;let s=Date.now();if(!n){let e=KI();e&&s-e.at>6e5&&(n=e,r=s+JI,i=setTimeout(o,JI))}if(!n){a();return}let c=WI(t.tasks,n,r-JI);c&&GI.set(c)};s();let c=t(s);document.addEventListener(`visibilitychange`,s);let l=setInterval(()=>{n||a()},BI);return()=>{c(),document.removeEventListener(`visibilitychange`,s),clearInterval(l),clearTimeout(i)}}var XI=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});function ZI(e,t,n){let r=t.currentTarget.getBoundingClientRect();nn.set({x:r.left,y:r.bottom,target:t.currentTarget,items:n.map(t=>({label:t.label,run:()=>e.select(t.id)}))})}function QI({model:e}){B(),(0,g.useEffect)(()=>YI(()=>e.tasks.get(),t=>e.tasks.subscribe(t)),[e]);let t=v(GI);if(!t)return null;let n=[{key:`finished`,rows:t.finished,open:n=>ZI(e,n,t.finished)},{key:`needs`,rows:t.needs,open:()=>W.set((0,V.jsx)(jT,{model:e}))},{key:`failed`,rows:t.failed,open:n=>ZI(e,n,t.failed)},{key:`merged`,rows:t.merged,open:n=>ZI(e,n,t.merged)}];return(0,V.jsxs)(`div`,{className:aE,children:[(0,V.jsxs)(`span`,{className:`text-muted`,children:[z(`rail.recap.since`,{time:XI(t.since)}),` ·`]}),n.filter(e=>e.rows.length>0).map((e,t,n)=>(0,V.jsxs)(`span`,{className:`inline-flex gap-2.5`,children:[(0,V.jsx)(H,{hit:`tight`,onClick:e.open,children:z(`rail.recap.${e.key}`,{count:e.rows.length})}),t<n.length-1&&(0,V.jsx)(`span`,{className:`text-muted`,children:`·`})]},e.key)),(0,V.jsx)(H,{hit:`tight`,className:`ml-auto`,"aria-label":z(`rail.recap.dismiss`),title:z(`rail.recap.dismiss`),onClick:()=>GI.set(null),children:`×`})]})}function $I(e,t){return e.filter(e=>e.groupId===t).sort((e,t)=>(e.createdAt??``).localeCompare(t.createdAt??``)||e.title.localeCompare(t.title))}var eL=400;function tL(e){let t=null;for(let n of e.history?.messages??[]){if(n.role!==`assistant`)continue;let e=(n.blocks??[]).flatMap(e=>e.type===`text`&&e.text?[e.text]:[]).join(`
|
|
121
|
+
`).find(e=>e.trim().length>0)?.trim()??e.trim()}async function QP(e,t,n){try{let r=await e.client.request(`task.fixChecks`,e.engineTarget(t));r.outcome===`unavailable`?G(K(`files`,`toast.ciChecksUnavailable`,{detail:ZP(r.detail??``)}),`error`):r.outcome===`none`?G(K(`files`,`toast.ciNoFailingChecks`),`error`):G(n)}catch(e){G(ir(e),`error`)}}async function $P(e,t){try{let n=await e.client.request(`task.openEditor`,{taskId:t});n.outcome===`noEditor`?G(K(`tasks`,`toast.noEditor`),`error`):n.outcome===`failed`&&G(K(`tasks`,`toast.openWorktreeFailed`,{label:n.label??``}),`error`)}catch(e){G(K(`tasks`,`toast.worktreeErrorGeneric`,{message:ir(e)}),`error`)}}function eF(e,t){let n=e.tasks.get();return[...n?.tasks??[],...n?.archived??[]].filter(e=>e.parentTaskId===t)}function tF(e,t){let n=eF(e,t.id),r=n.length>0,i=n=>e.client.request(`task.delete`,{taskId:t.id,...n}).then(()=>{});return(0,V.jsx)(cr,{title:r?K(`tasks`,`confirm.childrenTitle`,{title:t.label,count:String(n.length)}):K(`tasks`,t.kind===`dir`?`confirm.deleteTitleDir`:`confirm.deleteTitle`,{title:t.label}),body:r?K(`tasks`,`confirm.childrenBody`):K(`tasks`,t.kind===`dir`?`confirm.deleteBodyDir`:`confirm.deleteBodyTask`),confirmLabel:K(`tasks`,r?`confirm.childrenPromote`:`confirm.deleteConfirm`),onConfirm:()=>i({}),...r?{secondary:{label:K(`tasks`,`confirm.childrenCascade`),onConfirm:()=>i({cascade:!0})}}:{},escalate:{when:e=>e instanceof s_&&e.code===`DIRTY_WORKTREE`,label:K(`tasks`,`confirm.forceDeleteConfirm`),title:K(`tasks`,`confirm.forceDeleteTitle`,{title:t.label}),body:e=>`${K(`worktrees`,`delete.forceBody`,{branch:t.branch||t.title})}\n\n${K(`worktrees`,`delete.forceReason`,{reason:ir(e).replace(`task ${t.id} `,``)})}`,run:e=>i({force:!0,...e?{cascade:!0}:{}})}})}function nF(e,t){let n=eF(e,t.id),r=n.length>0,i=t.label,a=async()=>{let{tabs:n}=await e.client.request(`task.tabs`,{taskId:t.id});for(let r of n)await e.client.request(`tab.close`,{taskId:t.id,tabId:r.id});await e.refreshTabsNow()},o,s=async t=>{for(let r of n)try{await e.client.request(`task.delete`,{taskId:r.id,cascade:!0,...t?{force:!0}:{}})}catch(e){throw o=r.title,e}await a()};return(0,V.jsx)(cr,{title:r?K(`tasks`,`confirm.childrenTitle`,{title:i,count:String(n.length)}):K(`tasks`,`confirm.deleteTitleDir`,{title:i}),body:K(`tasks`,r?`confirm.childrenBodyMain`:`confirm.deleteBodyMain`),confirmLabel:K(`tasks`,r?`confirm.childrenKeepMain`:`confirm.deleteConfirm`),onConfirm:a,...r?{secondary:{label:K(`tasks`,`confirm.childrenCascadeMain`),onConfirm:()=>s(!1)}}:{},escalate:{when:e=>e instanceof s_&&e.code===`DIRTY_WORKTREE`,label:K(`tasks`,`confirm.forceDeleteConfirm`),title:K(`tasks`,`confirm.forceDeleteTitle`,{title:i}),body:e=>`${K(`worktrees`,`delete.forceBody`,{branch:o??i})}\n\n${ir(e)}`,run:()=>s(!0)}})}async function rF(e,t){let n=t.archived!==!0,r=t.label,i=async i=>{await e.client.request(`task.archive`,{taskId:t.id,archived:n,...i?{force:!0}:{}}),G(K(`tasks`,n?`archive.done`:`archive.restored`,{title:r}))};try{await i(!1)}catch(e){if(n&&e instanceof s_&&e.code===`TASK_BUSY`){W.set((0,V.jsx)(cr,{title:K(`tasks`,`archive.busyTitle`),body:K(`tasks`,`archive.busyBody`,{title:r}),confirmLabel:K(`tasks`,`archive.busyConfirm`),onConfirm:()=>i(!0)}));return}G(K(`tasks`,n?`archive.failed`:`archive.restoreFailed`,{error:ir(e)}),`error`)}}function iF(e,t,n){return(0,V.jsx)(cr,{title:K(`tasks`,`confirm.forgetProjectTitle`,{title:n}),body:K(`tasks`,`confirm.forgetProjectBody`),confirmLabel:K(`tasks`,`confirm.forgetProjectConfirm`),onConfirm:async()=>{try{await e.client.request(`project.forget`,{repo:t})}catch(e){throw Error(K(`tasks`,`toast.forgetProjectFailed`,{error:ir(e)}))}}})}var aF=e=>{let{taskId:t}=e.selection.get();return e.tasks.get()?.tasks.find(e=>e.id===t)??null},oF=e=>{let{taskId:t,tabId:n}=e.selection.get(),r=t?e.tabs.get()[t]?.find(e=>e.id===n):void 0;return!!r&&!ww(r.split)},sF=[{id:`app.refresh`,live:()=>si.get().stale,run:e=>di(e.client)},{id:`palette.open`,live:()=>!0,run:eA},{id:`task.new.global`,live:()=>!0,run:e=>XD(aF(e)?.repo)},{id:`chat.tab.fork`,live:e=>!!aF(e),run:e=>{let t=aF(e);t&&W.set((0,V.jsx)(HC,{model:e,taskId:t.id,context:`continue`}))}},{id:`chat.fork.new`,live:e=>!!aF(e),run:e=>{let t=aF(e);t&&W.set((0,V.jsx)(HC,{model:e,taskId:t.id,destination:`fork`}))}},{id:`settings.open`,live:()=>!0,run:e=>W.set((0,V.jsx)(zP,{model:e}))},{id:`inbox.show`,live:()=>!0,run:e=>W.set((0,V.jsx)(jT,{model:e}))},{id:`focus.previous`,live:()=>!0,run:()=>Ki(-1)},{id:`focus.next`,live:()=>!0,run:()=>Ki(1)},{id:`workspace.zenToggle`,live:e=>!!aF(e),run:()=>un.set(!un.get())},{id:`files.createPR`,live:e=>!!aF(e),run:e=>{let t=aF(e);t&&e.client.request(`tab.requestPR`,e.engineTarget(t.id)).then(()=>G(z(`files.prRequested`))).catch(e=>G(e instanceof Error?e.message:String(e),`error`))}},{id:`chat.tab.close`,live:e=>!!e.selection.get().tabId&&oF(e),run:e=>{let{taskId:t,tabId:n}=e.selection.get();!t||!n||e.client.request(`tab.close`,{taskId:t,tabId:n}).then(()=>e.refreshTabsNow()).catch(e=>G(e instanceof Error?e.message:String(e),`error`))}},{id:`kanban.open`,live:e=>e.installedMods.get().has(`kanban`),run:()=>ga(`kanban`)},{id:`automations.open`,live:()=>!0,run:()=>ga(`routines`)},{id:`workItems.open`,live:e=>e.installedMods.get().has(`issues`),run:()=>ga(`issues`)},{id:`task.moveMode`,live:e=>!!iA(e),run:()=>{UT(!VT.get()),document.querySelector(`.rail`)?.focus()}},{id:`files.syncBase`,live:e=>iA(e)?.kind===`task`,run:e=>{let t=iA(e);t&&XP(e,t.id)}},{id:`files.fixChecks`,live:e=>!!iA(e),run:e=>{let t=iA(e);t&&QP(e,t.id,z(`taskops.fixSent`))}},{id:`task.openEditor`,live:e=>!!iA(e),run:e=>{let t=iA(e);t&&$P(e,t.id)}}];Ji(()=>sF.map(e=>({id:e.id,chords:ri(e.id),prefix:!0,live:e.live,run:e.run})));function cF(e){return Xa(e[0]??``)}function lF(e,t){let n=$i(),r=Xi().filter(t=>t.prefix&&Zi(t,n)&&t.live?.(e)!==!1);for(let e of t){let t=r.filter(t=>t.chords.includes(e)).sort((e,t)=>Qi(e,n)-Qi(t,n))[0];if(t)return t}}var uF=null,dF=null;function fF(){uF=null,dF!==null&&window.clearTimeout(dF),dF=null;let e=Qw.get();e.guide?.kind===`prefix`&&Qw.set({...e,guide:null})}function pF(){if(uF!==null){fF();return}W.get()||Qr()===null||(uF=Date.now(),Qw.set({...Qw.get(),guide:{kind:`prefix`,armedAt:uF}}),dF!==null&&window.clearTimeout(dF),dF=window.setTimeout(fF,qr.get().prefix.timeoutMs))}function mF(e,t){fF();let n=typeof t==`string`?[t]:t,r=lF(e,n);eT(cF(n),r?.id??null),r?.run(e)}var hF=null;function gF(){hF!==null&&window.clearTimeout(hF),hF=null;let e=Qw.get();e.guide?.kind===`direct`&&Qw.set({...e,guide:null})}function _F(){hF!==null||W.get()||(hF=window.setTimeout(()=>{fF(),Qw.set({...Qw.get(),guide:{kind:`direct`}})},400))}function vF(e){(0,g.useEffect)(()=>{let t=t=>{if(t.key===`Control`){t.repeat||_F();return}if(gF(),[`Shift`,`Alt`,`Meta`].includes(t.key))return;let n=Ya(t),{firstStrokes:r,timeoutMs:i}=qr.get().prefix;if(uF!==null&&Date.now()-uF<=i){if(t.preventDefault(),t.stopImmediatePropagation(),t.key===`Escape`)return fF();mF(e,n);return}fF(),!W.get()&&n.some(e=>r.includes(e))&&(t.preventDefault(),t.stopImmediatePropagation(),pF())},n=e=>e.key===`Control`&&gF(),r=e=>{uF!==null&&(e.target instanceof Element&&e.target.closest(`.prefix-guide, .shortcut-badge, [data-prefix-arm]`)||fF())};return window.addEventListener(`keydown`,t,{capture:!0}),window.addEventListener(`keyup`,n,{capture:!0}),window.addEventListener(`pointerdown`,r,{capture:!0}),window.addEventListener(`blur`,gF),()=>{window.removeEventListener(`keydown`,t,{capture:!0}),window.removeEventListener(`keyup`,n,{capture:!0}),window.removeEventListener(`pointerdown`,r,{capture:!0}),window.removeEventListener(`blur`,gF),gF(),fF()}},[e])}function yF(e){let t=$i(),n=new Map;for(let r of Xi()){if(!r.prefix||!Zi(r,t)||r.live?.(e)===!1)continue;let i=Qi(r,t);for(let e of r.chords){let t=n.get(e);(!t||i<t.rank)&&n.set(e,{action:r.id,rank:i})}}return[...n].map(([e,{action:t}])=>({stroke:e,action:t}))}function bF(e){let t=new Map(Hr.map((e,t)=>[e.id,t])),n=new Map;for(let{stroke:t,action:r}of e)n.set(r,[...n.get(r)??[],t]);let r=new Map,i=[...n].sort(([e],[n])=>(t.get(e)??2**53-1)-(t.get(n)??2**53-1));for(let[e,t]of i){let n=oo(e);r.set(n,[...r.get(n)??[],{action:e,strokes:t}])}return[...r].map(([e,t])=>({category:e,actions:t}))}var xF=e=>e===`prefix.moreCommands`?vo(`moreCommandsPrefix`):So(e);function SF(e){let[,t]=(0,g.useState)(0);(0,g.useEffect)(()=>{if(e===null)return;let n=window.setTimeout(()=>t(e=>e+1),Math.max(30,e-Date.now()));return()=>window.clearTimeout(n)},[e])}function CF({model:e}){B();let t=v(Qw);v(qr),v(e.selection);let n=Date.now(),r=t.entries.filter(e=>n-e.at<Zw),i=t.guide?.kind===`prefix`?t.guide.armedAt:null,a=i!==null&&n-i<Xw?i+Xw:null;SF(a??(r[0]?r[0].at+Zw:null));let o=t.guide?.kind===`direct`||i!==null&&a===null;if(!o&&!t.guide&&r.length===0)return null;if(o&&t.guide){let n=t.guide.kind===`direct`,r=n?Jw(ea(e,$i()),Qr()):yF(e);return(0,V.jsxs)(`output`,{className:`mono ${tt}`,onMouseDown:e=>e.preventDefault(),children:[(0,V.jsxs)(`div`,{className:rt,children:[(0,V.jsx)(`span`,{className:`text-accent`,children:n?vo(`directLayer`):vo(`commandLayer`,{prefix:Qr()??``})}),(0,V.jsx)(`span`,{className:`keys-only text-muted`,children:vo(n?`releaseCtrl`:`escCancel`)})]}),(0,V.jsx)(`div`,{className:it,children:bF(r).map(t=>(0,V.jsxs)(`div`,{className:at,children:[(0,V.jsx)(`div`,{className:`text-accent`,children:Co(t.category)}),t.actions.map(({action:t,strokes:r})=>(0,V.jsxs)(`button`,{type:`button`,className:ot,disabled:n,onClick:()=>r[0]&&mF(e,r[0]),children:[(0,V.jsx)(`span`,{className:nt,children:r.map(Xa).join(`/`)}),(0,V.jsx)(`span`,{children:xF(t)})]},t))]},t.category))})]})}return(0,V.jsxs)(`output`,{className:yt,children:[r.map(e=>(0,V.jsxs)(wF,{at:e.at,children:[(0,V.jsx)(`span`,{className:`text-accent`,children:Qr()}),` + `,e.stroke,` →`,` `,e.action?xF(e.action):(0,V.jsx)(`span`,{className:`text-muted`,children:`∅`})]},e.id)),i!==null&&(0,V.jsxs)(`div`,{className:bt(!1),children:[(0,V.jsx)(`span`,{className:`text-accent`,children:Qr()}),` ⋯`]})]})}function wF({at:e,children:t}){let[n]=(0,g.useState)(Date.now),r=n-e>140,i={"--hud-out":`${e+Zw-140-n}ms`};return(0,V.jsx)(`div`,{className:bt(r),style:i,children:t})}function TF({model:e,bindingId:t,head:n=!1}){let r=v(Qw);v(qr);let i=P_().prefs.prefixTap;if(r.guide?.kind!==`prefix`||i!==`local`)return null;let a=qw({bindingId:t,reachability:ea(e,$i()),prefixKey:Qr()});if(!a)return null;let o=Xi().find(e=>e.id===t&&e.prefix)?.chords[0];return(0,V.jsx)(`button`,{type:`button`,className:`mono ${qe(n)}`,onMouseDown:e=>e.preventDefault(),onClick:t=>{t.stopPropagation(),o&&mF(e,o)},children:a})}var EF=[`workingBorder`,`runningTitle`,`taskColors`,`glyphSet`,`colorblind`];function DF(e){let{client:t}=e,n=P_(),r=eN(),i=v(T_);tN(e),dP(e),(0,g.useEffect)(()=>{let e=()=>{M_(t).catch(()=>void 0),BD(t).catch(()=>void 0)},n=()=>document.visibilityState===`visible`&&e(),r=t.onOpen(e);return window.addEventListener(`focus`,e),document.addEventListener(`visibilitychange`,n),()=>{r(),window.removeEventListener(`focus`,e),document.removeEventListener(`visibilitychange`,n)}},[t]),(0,g.useEffect)(()=>{let e=document.documentElement,t=i?i[r]:m_(n.themes,n.prefs.theme,r),a=t?S_(t,n.prefs):{};for(let[t,n]of Object.entries(a))e.style.setProperty(t,n);e.style.colorScheme=r;for(let t of EF)e.dataset[t]=String(n.prefs[t]);w_.set(t?C_(t):null);let o=document.querySelector(`meta[name="theme-color"]`);o||(o=document.createElement(`meta`),o.name=`theme-color`,document.head.append(o)),o.content=getComputedStyle(document.body).backgroundColor},[n,r,i]),(0,g.useEffect)(()=>{n.loaded&&un.get()!==n.prefs.zen&&un.set(n.prefs.zen)},[n.loaded,n.prefs.zen]),(0,g.useEffect)(()=>un.subscribe(()=>{un.get()!==k_.get().prefs.zen&&N_(t,`zen`,un.get())}),[t])}var OF={sidebar:[{id:`sidebar.nav`,msg:`move`},{id:`sidebar.select`,msg:`open`}],files:[{id:`files.nav`,msg:`move`},{id:`files.hierarchy`,msg:`collapse`},{id:`files.open`,msg:`open`,always:!0},{id:`files.diff`,msg:`diff`,always:!0}]};function kF(e,t){return OF[e].flatMap(e=>{if(t===`always`&&e.always!==!0)return[];let n=to(e.id);return n?[{cap:n,msg:e.msg}]:[]})}var AF=e=>`rove.web.hintUsed.${e}`,jF=_({sidebar:localStorage.getItem(AF(`sidebar`))===`1`});function MF(e){jF.get()[e]||(localStorage.setItem(AF(e),`1`),jF.set({...jF.get(),[e]:!0}))}function NF(e,t){return e.kind===`task`&&t.kind===`task`?e.taskId===t.taskId:e.kind===`page`&&t.kind===`page`?e.id===t.id:e.kind===`new`&&t.kind===`new`}var PF={entries:[],at:-1};function FF(e,t){let n=e.entries[e.at];if(n&&NF(n,t)){let n=[...e.entries];return n[e.at]=t,{entries:n,at:e.at}}let r=[...e.entries.slice(0,e.at+1),t].slice(-50);return{entries:r,at:r.length-1}}function IF(e,t,n){for(let r=e.at+t;r>=0&&r<e.entries.length;r+=t){let t=e.entries[r];if(t&&n(t))return r}return-1}var LF=_(PF);function RF(e){let t=on.get();if(t)return{kind:`page`,id:t};let n=dn.get();if(n)return{kind:`new`,start:n};let{taskId:r,tabId:i}=e.selection.get();return r?{kind:`task`,taskId:r,tabId:i}:null}function zF(e,t){if(t.kind!==`task`)return!0;let n=e.tasks.get()?.tasks.find(e=>e.id===t.taskId);return n!==void 0&&!n.deleting}var BF=!1;function VF(e){let t=!1,n=()=>{t||(t=!0,queueMicrotask(()=>{if(t=!1,BF)return;let n=RF(e);n&&LF.set(FF(LF.get(),n))}))};n();let r=[e.selection.subscribe(n),on.subscribe(n),dn.subscribe(n)];return()=>{for(let e of r)e()}}function HF(e,t){let n=LF.get(),r=IF(n,t,t=>zF(e,t)),i=n.entries[r];i&&(BF=!0,i.kind===`task`?(on.set(null),dn.set(null),e.select(i.taskId,i.tabId)):i.kind===`page`?(dn.set(null),ga(i.id)):(on.set(null),dn.set(i.start)),LF.set({entries:n.entries,at:r}),queueMicrotask(()=>{BF=!1}))}var UF={working:`info`,waiting:`warning`,error:`attention`,done:`success`,idle:`muted`},WF={prOpen:``,prMerged:``,prClosed:``};function GF(e){let t=KF(e);return{look:t,tone:UF[t]}}function KF(e){switch(e?.kind){case`busy`:case`running`:return`working`;case`needs-input`:return`waiting`;case`attention`:return e.reason===`rate_limited`?`waiting`:`error`;case`unseen`:return`done`;default:return`idle`}}function qF(e){return e.rowStatus?.kind===`needs-input`||e.rowStatus?.kind===`attention`}var JF={busy:0,attention:1,"needs-input":2,running:3,unseen:4,idle:5};function YF(e){let t;for(let{rowStatus:n}of e)n&&(!t||JF[n.kind]<JF[t.kind]||n.kind===t.kind&&n.since>t.since)&&(t=n);return t}function XF(e,t,n){if(!e)return null;if(e.lifecycle===`merged`)return{glyph:WF.prMerged,tone:n?`text-muted`:`text-merged`,state:`merged`};if(e.lifecycle===`closed`)return{glyph:WF.prClosed,tone:`text-muted`,state:`closed`};if(e.lifecycle!==`open`&&e.lifecycle!==`ready_to_merge`&&e.lifecycle!==`unknown`)return null;let r=t===`conflict`?`conflict`:t===`failing`?`failing`:t===`passing`?`passing`:e.checkState===`pending`?`pending`:void 0,i=n?`text-muted`:r===`conflict`||r===`failing`?`text-error`:r===`passing`?`text-success`:`text-muted`;return{glyph:WF.prOpen,tone:i,state:`open`,...r?{checks:r}:{}}}function ZF(e){return XF(e.pr,e.prChip,e.prChipStale===!0)}function QF(e){return XF(e,(e.mergeable??``).toUpperCase()===`CONFLICTING`?`conflict`:e.checkState===`failing`?`failing`:e.checkState===`passing`?`passing`:null,!1)}function $F(e){let t=e=>e.state===`open`?e.tone===`text-error`?0:1:e.state===`merged`?2:3;return[...e].sort((e,n)=>t(e)-t(n))[0]}var eI=192,tI=`rove.web.railWidth`,nI=`rove.web.railFolded`;function rI(){let e=Number(localStorage.getItem(tI));return Number.isFinite(e)&&e>0?e:null}var iI=_(rI());iI.subscribe(()=>{let e=iI.get();e===null?localStorage.removeItem(tI):localStorage.setItem(tI,String(Math.round(e)))}),iI.subscribe(Sn);var aI=_(localStorage.getItem(nI)===`1`);aI.subscribe(()=>localStorage.setItem(nI,aI.get()?`1`:`0`));var oI=_(!1),sI=null;function cI(e){sI!==null&&window.clearTimeout(sI),sI=null,e?oI.set(!0):sI=window.setTimeout(()=>oI.set(!1),250)}aI.subscribe(()=>oI.set(!1)),aI.subscribe(Sn);function lI(e,t=window.innerWidth){let n=Math.max(eI,t-320);return Math.max(eI,Math.min(n,Math.round(e)))}var uI=`flex-none fill-none stroke-current [stroke-linecap:round] [stroke-linejoin:round] [stroke-width:1.25]`,dI=(e={})=>`relative grid cursor-pointer place-items-center rounded-sm border-none p-0 disabled:cursor-default disabled:opacity-35 [&_svg]:fill-none [&_svg]:stroke-current [&_svg]:[stroke-linecap:round] [&_svg]:[stroke-linejoin:round] [&_svg]:[stroke-width:1.25] touch:after:absolute touch:after:-inset-x-px touch:after:-top-2 touch:after:-bottom-1.25 touch:after:content-[''] touch:first:after:-left-2 ${e.tool?`size-5.5 flex-none`:`size-6.5`} ${e.tool||e.small?`[&_svg]:size-3.5`:`[&_svg]:size-4`} ${e.on?`bg-accent-soft text-accent`:`bg-transparent text-subtle enabled:hover:bg-hover enabled:hover:text-ink`}`,fI=`absolute top-2 left-2 z-7 flex items-center gap-0.5`,pI=`[&.is-resizing_iframe]:pointer-events-none`,mI=e=>`side-panel ${Ve} relative row-1 flex min-h-0 min-w-0 flex-col ${pI} ${e?`flex-1 p-0`:`pt-2 pr-1 pb-1 pl-0`}`,hI=`grid min-h-0 flex-1 grid-cols-[minmax(0,1fr)] [--divider:5px] *:col-1 ${pI}`,gI=e=>`side-head flex min-h-6.5 min-w-0 items-center gap-0.5 pb-1.5 font-mono text-meta normal-nums ${e?`px-2 pt-0`:`narrow:px-2 narrow:pt-0`}`,_I=`scrollbar-none flex min-w-0 flex-1 gap-0.5 overflow-x-auto`,vI=e=>`group/ptab relative flex max-w-40 items-center hover:text-ink data-[drop=after]:shadow-[inset_-2px_0_0_var(--accent)] data-[drop=before]:shadow-[inset_2px_0_0_var(--accent)] ${e.active?`is-active text-ink`:`text-muted`} ${e.compact&&!e.active?`min-w-0 max-w-24 flex-none`:`min-w-18 flex-initial`}`,yI=e=>`flex min-w-0 cursor-pointer items-center gap-1.5 border-none bg-transparent text-inherit [font:inherit] ${e?`py-1 pr-1.75 pl-2`:`py-1 pr-0.5 pl-2`}`,bI=`truncate`,xI=`touch:relative size-4 flex-none cursor-pointer rounded-xs border-none bg-transparent p-0 mr-1 font-mono text-title leading-none text-subtle opacity-0 group-hover/ptab:opacity-100 hover:bg-hover hover:text-ink focus-visible:opacity-100 [@media(hover:none)]:opacity-100 touch:after:absolute touch:after:-inset-1.5 touch:after:-left-1 touch:after:content-['']`,SI=`ml-auto flex gap-0.5`,CI=`relative row-3 cursor-row-resize touch-none before:absolute before:inset-x-0 before:top-[calc(var(--divider)/2)] before:h-px before:bg-line before:content-[''] hover:before:bg-line-active after:absolute after:inset-x-0 after:-inset-y-0.75 after:content-['']`,wI=`side-view flex min-h-0 min-w-0 flex-col [&[hidden]]:hidden`,TI=`row-2 m-auto flex max-w-[44ch] flex-col items-center gap-2.5 p-4 text-center font-mono text-meta leading-[1.5] text-subtle normal-nums`,EI=`flex min-h-0 flex-1 flex-col gap-1.5`,DI=`flex items-center gap-0.5 [&_svg]:flex-none`,OI=`mx-0.5 min-w-0 flex-1 rounded-sm border-none bg-inset px-2 py-1 text-ink [font-size:var(--fs-meta)] focus:bg-hover focus:outline-none aria-invalid:text-muted`,kI=`min-w-0 flex-1 rounded-sm border-none bg-paper`;function AI({edge:e,className:t,...n}){return(0,V.jsx)(`div`,{"data-grip":``,className:ke(`absolute inset-y-0 z-5 w-1.5 cursor-col-resize touch-none`,`after:absolute after:inset-y-0 after:w-0.5 after:bg-line-active after:opacity-0 after:transition-opacity after:duration-120`,`hover:after:opacity-100 hover:after:delay-250 active:after:bg-accent active:after:opacity-100 active:after:delay-0`,e===`right`?`right-0 after:right-0`:`left-0 after:left-0`,t),...n})}var jI=400;function MI({rail:e}){B();let t=(0,g.useRef)(null),n=(0,g.useRef)(0);return(0,V.jsx)(AI,{edge:`right`,title:z(`layout.railResize`),onPointerDown:n=>{t.current={x:n.clientX,width:e.current?.getBoundingClientRect().width??0,moved:!1},n.currentTarget.setPointerCapture(n.pointerId),Cn(!0)},onPointerMove:e=>{let n=t.current;!n||e.clientX===n.x||(n.moved=!0,iI.set(lI(n.width+e.clientX-n.x)))},onPointerUp:()=>{let e=t.current;if(t.current=null,!e)return;if(e.moved){n.current=0;return}let r=Date.now();r-n.current<jI?(n.current=0,iI.set(null)):n.current=r},onLostPointerCapture:()=>Cn(!1)})}function NI({side:e}){return(0,V.jsxs)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:[(0,V.jsx)(`rect`,{x:`1.5`,y:`2.5`,width:`13`,height:`11`,rx:`2.5`}),(0,V.jsx)(`path`,{d:e===`left`?`M6 2.5v11`:`M10 2.5v11`})]})}function PI({model:e}){B();let t=v(LF),n=v(aI),r=v(e.tasks),i=t=>zF(e,t),a=z(n?`layout.railUnfold`:`layout.railFold`),o=n&&(r?.tasks??[]).some(qF);return(0,V.jsxs)(`div`,{className:fI,onMouseEnter:()=>n&&oI.get()&&cI(!0),onMouseLeave:()=>n&&oI.get()&&cI(!1),children:[(0,V.jsxs)(`button`,{type:`button`,className:dI(),title:a,"aria-label":a,onClick:()=>aI.set(!n),children:[(0,V.jsx)(NI,{side:`left`}),o&&(0,V.jsx)(`span`,{className:`absolute top-0.75 right-0.75 size-1.5 rounded-full bg-accent`})]}),(0,V.jsx)(`button`,{type:`button`,className:dI(),title:z(`layout.navBack`),"aria-label":z(`layout.navBack`),disabled:IF(t,-1,i)<0,onClick:()=>HF(e,-1),children:(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:`M10 3.5 5.5 8l4.5 4.5`})})}),(0,V.jsx)(`button`,{type:`button`,className:dI(),title:z(`layout.navForward`),"aria-label":z(`layout.navForward`),disabled:IF(t,1,i)<0,onClick:()=>HF(e,1),children:(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:`M6 3.5 10.5 8 6 12.5`})})})]})}var FI={terminal:`layout.narrowTerminal`,chat:`layout.narrowChat`,files:`layout.narrowFiles`,diff:`layout.narrowDiff`,browser:`layout.narrowBrowser`};function II({taskId:e}){B();let t=v(Ba);return(0,V.jsxs)(`div`,{className:Ue,children:[(0,V.jsx)(`button`,{type:`button`,className:`mono ${We}`,onClick:ha,children:(0,V.jsx)(`span`,{className:`text-accent`,children:`‹ ${wo(`narrowBack`)}`})}),e&&(0,V.jsx)(`span`,{className:`mono ml-auto flex gap-0.5`,role:`tablist`,children:[`terminal`,...za].map(n=>(0,V.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":t===n,className:Ge,onClick:()=>n===`terminal`?Ba.set(n):Uk(e,n),children:z(FI[n])},n))})]})}function LI({title:e}){return B(),(0,V.jsxs)(`button`,{type:`button`,className:Qn({}),onClick:ma,children:[(0,V.jsx)(`span`,{className:`${nr} font-bold text-accent`,children:`↩`}),(0,V.jsx)(`span`,{className:$n,children:To(`recentJump`,{title:e})})]})}function RI({pane:e}){B();let{prefs:t}=P_(),n=v(jF)[e];if(!t.keyHints)return null;let r=kF(e,n?`always`:`firstUse`);return r.length===0?null:(0,V.jsx)(`p`,{className:`mono text-muted ${Ke}`,children:(0,V.jsx)(ET,{text:r.map(e=>`${Kr(e.cap)} ${yo(`pane.${e.msg}`)}`).join(` · `)})})}var zI=`rove.awaySeen`,BI=6e4,VI=e=>e.filter(e=>!e.deleting),HI=e=>e.pr?.lifecycle===`merged`,UI={error:!0,dead:!0};function WI(e,t,n){if(!t||n-t.at<=6e5)return null;let r=VI(e),i=e=>(e.activity?.since??0)>t.at,a=r.filter(e=>UI[e.activity?.state??``]===!0&&i(e)),o=r.filter(e=>e.group===`waiting-on-you`&&!a.includes(e)),s=r.filter(e=>e.activity?.state===`turn_complete`&&i(e)),c=r.filter(e=>HI(e)&&!t.merged.includes(e.id));return s.length+o.length+a.length+c.length===0?null:{since:t.at,finished:s,needs:o,failed:a,merged:c}}var GI=_(null);function KI(){try{let e=JSON.parse(localStorage.getItem(zI)??`null`);return e&&typeof e.at==`number`&&Array.isArray(e.merged)?e:null}catch{return null}}function qI(e,t){let n={at:t,merged:VI(e).filter(HI).map(e=>e.id)};try{localStorage.setItem(zI,JSON.stringify(n))}catch{}}var JI=8e3;function YI(e,t){let n=null,r=0,i,a=()=>{let t=e();t&&!document.hidden&&qI(t.tasks,Date.now())},o=()=>{n=null,a()},s=()=>{let t=e();if(!t||document.hidden)return;let s=Date.now();if(!n){let e=KI();e&&s-e.at>6e5&&(n=e,r=s+JI,i=setTimeout(o,JI))}if(!n){a();return}let c=WI(t.tasks,n,r-JI);c&&GI.set(c)};s();let c=t(s);document.addEventListener(`visibilitychange`,s);let l=setInterval(()=>{n||a()},BI);return()=>{c(),document.removeEventListener(`visibilitychange`,s),clearInterval(l),clearTimeout(i)}}var XI=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`});function ZI(e,t,n){let r=t.currentTarget.getBoundingClientRect();nn.set({x:r.left,y:r.bottom,target:t.currentTarget,items:n.map(t=>({label:t.label,run:()=>e.select(t.id)}))})}function QI({model:e}){B(),(0,g.useEffect)(()=>YI(()=>e.tasks.get(),t=>e.tasks.subscribe(t)),[e]);let t=v(GI);if(!t)return null;let n=[{key:`finished`,rows:t.finished,open:n=>ZI(e,n,t.finished)},{key:`needs`,rows:t.needs,open:()=>W.set((0,V.jsx)(jT,{model:e}))},{key:`failed`,rows:t.failed,open:n=>ZI(e,n,t.failed)},{key:`merged`,rows:t.merged,open:n=>ZI(e,n,t.merged)}];return(0,V.jsxs)(`div`,{className:aE,children:[(0,V.jsxs)(`span`,{className:`text-muted`,children:[z(`rail.recap.since`,{time:XI(t.since)}),` ·`]}),n.filter(e=>e.rows.length>0).map((e,t,n)=>(0,V.jsxs)(`span`,{className:`inline-flex gap-2.5`,children:[(0,V.jsx)(H,{hit:`tight`,onClick:e.open,children:z(`rail.recap.${e.key}`,{count:e.rows.length})}),t<n.length-1&&(0,V.jsx)(`span`,{className:`text-muted`,children:`·`})]},e.key)),(0,V.jsx)(H,{hit:`tight`,className:`ml-auto`,"aria-label":z(`rail.recap.dismiss`),title:z(`rail.recap.dismiss`),onClick:()=>GI.set(null),children:`×`})]})}function $I(e,t){return e.filter(e=>e.groupId===t).sort((e,t)=>(e.createdAt??``).localeCompare(t.createdAt??``)||e.title.localeCompare(t.title))}var eL=400;function tL(e){let t=null;for(let n of e.history?.messages??[]){if(n.role!==`assistant`)continue;let e=(n.blocks??[]).flatMap(e=>e.type===`text`&&e.text?[e.text]:[]).join(`
|
|
122
122
|
`).trim(),r=n.timestamp??``;e&&(!t||r>t.at)&&(t={at:r,text:e})}let n=(e.terminal?.tail??[]).map(e=>e.trimEnd()).filter(e=>e.trim()!==``),r=t?.text??n.slice(-6).join(`
|
|
123
123
|
`);return r?r.length>eL?`${r.slice(0,eL).trimEnd()}…`:r:null}function nL(e){let t=e.files.filter(e=>e.scope===`working`),n=t.length>0?`working`:`branch`,r=n===`working`?t:e.files.filter(e=>e.scope===`branch`);return{scope:n,files:r,added:r.reduce((e,t)=>e+(t.added??0),0),deleted:r.reduce((e,t)=>e+(t.deleted??0),0)}}async function rL(e,t,n){let r=new Set(e.tasks.get()?.tasks.map(e=>e.id)),i=0;try{for(let a of t.filter(e=>r.has(e)))await e.client.request(`task.archive`,{taskId:a,archived:!0,...n?{force:!0}:{}}),i++}catch(e){if(i>0&&G(z(`compare.archived`,{count:i})),e instanceof s_&&e.code===`TASK_BUSY`)throw e;G(z(`compare.archiveFailed`,{error:ir(e)}),`error`);return}G(z(`compare.archived`,{count:i}))}async function iL(e,t,n){try{for(let r of n)r.id!==t.id&&r.kept&&await e.client.request(`task.keep`,{taskId:r.id,kept:!1});await e.client.request(`task.keep`,{taskId:t.id,kept:!0})}catch(e){G(z(`compare.keepFailed`,{error:ir(e)}),`error`);return}G(z(`compare.keptToast`,{title:t.label}));let r=n.filter(e=>e.id!==t.id).map(e=>e.id);r.length!==0&&W.set((0,V.jsx)(cr,{title:z(`compare.archiveTitle`),body:z(`compare.archiveBody`,{count:r.length}),confirmLabel:z(`compare.archiveConfirm`),onConfirm:()=>rL(e,r,!1),escalate:{when:e=>e instanceof s_&&e.code===`TASK_BUSY`,label:z(`compare.archiveBusyConfirm`),title:z(`compare.archiveBusyTitle`),body:()=>z(`compare.archiveBusyBody`),run:()=>rL(e,r,!0)}}))}async function aL(e,t){try{await e.client.request(`task.keep`,{taskId:t.id,kept:!1}),G(z(`compare.unkeptToast`,{title:t.label}))}catch(e){G(z(`compare.keepFailed`,{error:ir(e)}),`error`)}}var oL={title:`ROUTINES`,holdingDaemon:`keeping the daemon awake`,notHolding:`none active`,needAttention:`{count} of {total} need you ·`,paused:`paused`,newTitle:`New routine`,composerLegend:`enter create · tab fields · ←→ ↑↓ edit the focused field · esc cancel`,fieldName:`NAME`,fieldRepo:`REPO`,fieldTarget:`DELIVER TO`,fieldTargetTab:`EXISTING ENGINE TAB`,targetFresh:`New task on each run`,targetStanding:`Routine-owned standing task`,targetExisting:`Existing conversation: {task} / {tab}. Never creates or revives a session.`,fieldPrompt:`PROMPT`,fieldSchedule:`SCHEDULE (FIVE-FIELD CRON)`,namePlaceholder:`weekday dependency audit`,promptPlaceholder:`Audit dependencies and summarize risky changes.`,noProject:`Ungrouped`,cronInvalid:`not a five-field cron`,cronField:{minute:`min`,hour:`hour`,dayOfMonth:`day`,month:`month`,dayOfWeek:`weekday`},schedule:{everyDay:`every day {at}`,weekdays:`weekdays {at}`,weekends:`weekends {at}`,onWeekday:`{weekday} {at}`,everyMinute:`every minute`,everyMinutes:`every {n}m`,everyHours:`every {n}h`,hourlyAt:`hourly at :{minute}`,atClock:`at {time}`,dow:{MON:`Mondays`,TUE:`Tuesdays`,WED:`Wednesdays`,THU:`Thursdays`,FRI:`Fridays`,SAT:`Saturdays`,SUN:`Sundays`}},when:{inMinutes:`in {n}m`,inHours:`in {n}h`,inDays:`in {n}d`,minutesAgo:`{n}m ago`,hoursAgo:`{n}h ago`,now:`now`,justNow:`just now`,dateTime:`{date}, {time}`},runStatus:{dispatched:`dispatched`,revived:`revived`,skipped_cancelled:`cancelled before delivery`,skipped_precheck:`skipped (precheck)`,skipped_blocked:`skipped (task can't use it)`,skipped_missed:`skipped (missed)`,skipped_unavailable:`skipped (unavailable)`,dispatch_failed:`dispatch failed`,ran:`ran`,script_failed:`script failed`},cronNever:`valid, but never fires`,missing:{target:`Choose an existing task.`,targetTab:`Enter an existing tab id, e.g. tab-2.`,name:`Give it a name.`,repo:`Pick a project.`,prompt:`Say what it should do.`,schedule:`That schedule will not run.`},empty:`No routines scheduled.`,emptyHint:`Press n to create one.`,precheck:`precheck: {command}`,lastFailed:`last failed {when}: {reason}`,recentRuns:`RECENT RUNS`,precheckDetail:`WHY IT SKIPPED — precheck {exit} in {duration}ms`,precheckExited:`exited {code}`,precheckTimedOut:`timed out`,precheckStdout:`stdout`,precheckStderr:`stderr`,precheckNoOutput:`(no output)`,noRuns:`Not run yet.`,responses:`RESPONSES`,noResponses:"No run has reported back yet. Agents answer with `routine-respond`.",responseAwaiting:`awaiting response`,responseMissing:`no response`,noSelection:`A routine runs its prompt in a project on a schedule.`,running:`Running {name}…`,ranWith:`{name}: {status}`,latestRunNoTask:`The latest run created no task.`,runNow:`[ run now ]`,deleteTitle:`Delete routine?`,deleteBody:`{name} and its run history will be removed. Tasks it already created are untouched.`,deleteButton:`Delete`,createFailed:`Couldn't create the routine: {error}`,deleteFailed:`Couldn't delete "{name}": {error}`,enableFailed:`"{name}" stays paused: {error}`,disableFailed:`"{name}" stays enabled: {error}`,runFailed:`Couldn't run "{name}" now — schedule unchanged: {error}`},sL={title:`例行任务`,holdingDaemon:`正在保持守护进程常驻`,notHolding:`无启用项`,needAttention:`{total} 个中有 {count} 个需要处理 ·`,paused:`已暂停`,newTitle:`新建例行任务`,composerLegend:`enter 创建 · tab 切字段 · ←→ ↑↓ 编辑当前字段 · esc 取消`,fieldName:`名称`,fieldTarget:`投递目标`,fieldTargetTab:`既有引擎标签页`,targetFresh:`每次新建任务`,targetStanding:`例行任务自有的常驻任务`,targetExisting:`既有会话:{task} / {tab}。不会创建或重启会话。`,fieldRepo:`仓库`,fieldPrompt:`提示词`,fieldSchedule:`调度(五段 cron)`,namePlaceholder:`工作日依赖审计`,promptPlaceholder:`审计依赖并总结有风险的变更。`,noProject:`未分组`,cronInvalid:`不是合法的五段 cron`,cronField:{minute:`分`,hour:`时`,dayOfMonth:`日`,month:`月`,dayOfWeek:`星期`},schedule:{everyDay:`每天{at}`,weekdays:`工作日{at}`,weekends:`周末{at}`,onWeekday:`{weekday}{at}`,everyMinute:`每分钟`,everyMinutes:`每 {n} 分钟`,everyHours:`每 {n} 小时`,hourlyAt:`每小时的 :{minute}`,atClock:`{time}`,dow:{MON:`每周一`,TUE:`每周二`,WED:`每周三`,THU:`每周四`,FRI:`每周五`,SAT:`每周六`,SUN:`每周日`}},when:{inMinutes:`{n} 分钟后`,inHours:`{n} 小时后`,inDays:`{n} 天后`,minutesAgo:`{n} 分钟前`,hoursAgo:`{n} 小时前`,now:`即将`,justNow:`刚刚`,dateTime:`{date} {time}`},runStatus:{dispatched:`已派发`,revived:`已重启会话`,skipped_cancelled:`交付前已取消`,skipped_precheck:`已跳过(预检)`,skipped_blocked:`已跳过(任务暂不能接收)`,skipped_missed:`已跳过(错过时间)`,skipped_unavailable:`已跳过(不可用)`,dispatch_failed:`派发失败`,ran:`已运行`,script_failed:`脚本失败`},cronNever:`语法合法,但永远不会触发`,missing:{target:`请选择既有任务。`,targetTab:`请输入既有标签页 ID,例如 tab-2。`,name:`起个名字。`,repo:`选一个项目。`,prompt:`说明它要做什么。`,schedule:`这个调度不会触发。`},empty:`还没有例行任务。`,emptyHint:`按 n 新建一条。`,precheck:`预检:{command}`,lastFailed:`上次失败({when}):{reason}`,recentRuns:`最近执行`,precheckDetail:`为什么跳过 —— 预检{exit},耗时 {duration}ms`,precheckExited:`退出码 {code}`,precheckTimedOut:`超时`,precheckStdout:`标准输出`,precheckStderr:`标准错误`,precheckNoOutput:`(无输出)`,noRuns:`尚未执行。`,responses:`回报`,noResponses:"还没有执行回报。agent 用 `routine-respond` 回报。",responseAwaiting:`等待回报`,responseMissing:`未回报`,noSelection:`例行任务会按调度在某个项目里跑它的提示词。`,running:`正在运行 {name}…`,ranWith:`{name}:{status}`,latestRunNoTask:`最近一次执行没有创建任务。`,runNow:`[ 立即运行 ]`,deleteTitle:`删除这条例行任务?`,deleteBody:`将删除 {name} 及其执行记录。它已经创建的任务不受影响。`,deleteButton:`删除`,createFailed:`创建例行任务失败:{error}`,deleteFailed:`删除“{name}”失败:{error}`,enableFailed:`“{name}”仍处于暂停状态:{error}`,disableFailed:`“{name}”仍处于启用状态:{error}`,runFailed:`无法立即运行“{name}”——排程未受影响:{error}`},cL={title:`Kanban`,hint:`tab project · ←↓↑→ card · enter detail · n new · d delete · r refresh · esc close`,loading:`Loading issues…`,noRepos:"No projects yet — add one with `rove add <path>`, or file a story with `rove api issue-create`.",empty:"No issues — agents file them via `rove api issue-create`.",readFailed:"Couldn't read this project's stories: {error}. Run `rove doctor`, then reopen Kanban.",readFailedToast:`Couldn't read stories for {repo}: {error}`,columnEmpty:`No cards`,column:{backlog:`Backlog`,inProgress:`In progress`,parked:`Parked`,done:`Done`},more:`+{count} more`,attention:`{count} need you`,turnComplete:`turn done`,menu:{setStatus:`status → {status}`},detail:{status:{open:`open`,doing:`doing`,hold:`hold`,done:`done`},statusLabel:`STATUS`,created:`created {date}`,linked:`linked to a session`,titleLabel:`TITLE`,description:`DESCRIPTION`,noDescription:`No description.`,attachHint:`paste a path / ctrl+v screenshot → inserts an image placeholder`,engine:`ENGINE`,workspace:`WORKSPACE`,placement:{worktree:`New worktree task — its own workspace`,projectWorktree:`New worktree — as a chattab in the project workspace`,project:`Project checkout — a new chattab, no worktree`},jumpLabel:`AFTER START`,jump:{stay:`Stay on the board`,follow:`Jump to the session`},startLegend:`enter/ctrl+enter start · tab fields · ←→ status/engine · ↑↓ workspace · esc save & close`,sessionLabel:`SESSION`,openAction:`Open the linked session ↵`,unlinkAction:`Unlink`,openLegend:`enter open the focused action · tab fields · ←→ status · unlink returns the card to Backlog · esc save & close`,eventsLabel:`EVENTS`,eventsLoading:`Loading events…`,eventsNone:`No engine events recorded yet.`,doneNote:`Done stories have nothing left to start — set the status back to reopen one · esc save & close`,startedBackground:`Started in background: {title}`,newStory:`NEW STORY`,createLegend:`ctrl+s save · enter/ctrl+enter save & start · tab fields · esc cancel`},confirmDelete:{title:`Delete story #{id}?`,body:`“{title}” will be removed from the tracker. A linked task, branch, or worktree is left untouched.`},deleteFailed:`Couldn't delete story #{id}: {error}`,createFailed:`Couldn't create the story: {error}`,updateFailed:`Couldn't save story #{id}: {error}`,statusFailed:`Story #{id} stays in its old column: {error}`,linkFailed:`Story #{id} isn't linked to its task: {error}`,unlinkFailed:`Story #{id} is still linked: {error}`},lL={title:`看板`,hint:`tab 切项目 · ←↓↑→ 选卡片 · enter 详情 · n 新建 · d 删除 · r 刷新 · esc 关闭`,loading:`正在加载 issues…`,noRepos:"还没有项目——用 `rove add <路径>` 添加一个,或用 `rove api issue-create` 创建一个 story。",empty:"暂无 issue——agent 可通过 `rove api issue-create` 创建。",readFailed:"读取该项目的 story 失败:{error}。请运行 `rove doctor`,再重新打开看板。",readFailedToast:`读取 {repo} 的 story 失败:{error}`,columnEmpty:`暂无卡片`,column:{backlog:`待办`,inProgress:`进行中`,parked:`搁置`,done:`已完成`},more:`还有 {count} 条`,attention:`{count} 张等你处理`,turnComplete:`回合完成`,menu:{setStatus:`状态 → {status}`},detail:{status:{open:`待办`,doing:`进行中`,hold:`搁置`,done:`已完成`},statusLabel:`状态`,created:`创建于 {date}`,linked:`已关联会话`,titleLabel:`标题`,description:`描述`,noDescription:`暂无描述。`,attachHint:`粘贴路径 / ctrl+v 贴截图 → 插入图片占位行`,engine:`引擎`,workspace:`工作区`,placement:{worktree:`新建 worktree 任务——独立工作区`,projectWorktree:`新建 worktree——作为项目工作区里的 chattab`,project:`项目主目录——新开 chattab,不建 worktree`},jumpLabel:`启动后`,jump:{stay:`留在看板`,follow:`跳转到会话`},startLegend:`enter/ctrl+enter 启动 · tab 切字段 · ←→ 状态/引擎 · ↑↓ 工作区 · esc 保存关闭`,sessionLabel:`会话`,openAction:`打开关联会话 ↵`,unlinkAction:`解除关联`,openLegend:`enter 执行选中操作 · tab 切字段 · ←→ 状态 · 解除关联把卡片退回 Backlog · esc 保存关闭`,eventsLabel:`事件`,eventsLoading:`正在加载事件…`,eventsNone:`暂无引擎事件记录。`,doneNote:`已完成的 story 无需启动——改回状态即可重新打开 · esc 保存关闭`,startedBackground:`已在后台启动:{title}`,newStory:`新建 STORY`,createLegend:`ctrl+s 仅保存 · enter/ctrl+enter 保存并启动 · tab 切字段 · esc 取消`},confirmDelete:{title:`删除 story #{id}?`,body:`「{title}」将从 tracker 中移除。已关联的任务、分支、worktree 不受影响。`},deleteFailed:`删除 story #{id} 失败:{error}`,createFailed:`创建 story 失败:{error}`,updateFailed:`保存 story #{id} 失败:{error}`,statusFailed:`Story #{id} 仍留在原来的列:{error}`,linkFailed:`Story #{id} 未能关联到它的任务:{error}`,unlinkFailed:`Story #{id} 仍处于关联状态:{error}`},uL={title:`ISSUES`,noRepo:`no project`,empty:`No open issues.`,assignedFilter:`assigned to me`,starting:`Starting work on #{number}…`,startedNoEngine:`Created {title}, but its engine did not start.`,linkedChip:`→ {title}`,openingLinked:`Opening {title}…`,startFailed:`Couldn't start work on #{number}: {error}`,errorHint:{noRemote:"Add a GitHub remote (`git remote add origin <url>`) and try again, or press q / esc to close.",ghMissing:"Install the `gh` CLI and authenticate, or press q / esc to close.",auth:"Run `gh auth login`, or press q / esc to close.",fallback:`{message} · press q / esc to close`}},dL={title:`议题`,noRepo:`无项目`,empty:`没有开放的议题。`,assignedFilter:`分配给我的`,starting:`正在开始处理 #{number}…`,startedNoEngine:`已创建 {title},但引擎没有启动。`,linkedChip:`→ {title}`,openingLinked:`正在打开 {title}…`,startFailed:`开始处理 #{number} 失败:{error}`,errorHint:{noRemote:"添加 GitHub remote(`git remote add origin <url>`)后重试,或按 q / esc 关闭。",ghMissing:"安装 `gh` CLI 并登录,或按 q / esc 关闭。",auth:"执行 `gh auth login`,或按 q / esc 关闭。",fallback:`{message} · 按 q / esc 关闭`}};function fL(){let e=B()===`zh`;return{kanban:e?lL:cL,auto:e?sL:oL,items:e?dL:uL,nav:(e?Or:Dr).nav,group:(e?Or:Dr).group,common:e?fr:dr}}function pL(e,t){return e.replace(/\{(\w+)\}/g,(e,n)=>String(t[n]??e))}function mL(){let{auto:e}=fL();return(t,n)=>{let r=e;for(let e of t.replace(/^automations\./,``).split(`.`))r=r&&typeof r==`object`?Reflect.get(r,e):void 0;return typeof r==`string`?n?pL(r,n):r:t}}function hL(e){return e instanceof Error?e.message:String(e)}function gL(e){return e.replace(/^\/private\//,`/`).replace(/\/+$/,``)}function _L(e,t){let n=e.split(`/`).filter(Boolean),r=n[n.length-1]??e;return t.some(t=>t!==e&&t.split(`/`).filter(Boolean).pop()===r)&&n.length>1?`${n[n.length-2]}/${r}`:r}function vL(...e){let t=new Set,n=[];for(let r of e.flat()){if(!r||r.startsWith(`ssh://`))continue;let e=gL(r);t.has(e)||(t.add(e),n.push(r))}return n}function yL(e){return vL((v(e.tasks)?.tasks??[]).filter(e=>!lw(e)).map(e=>e.repo))}function bL(e){let t=v(e.tasks),{taskId:n}=v(e.selection);return t?.tasks.find(e=>e.id===n)?.repo}function xL(e){let[t,n]=(0,g.useState)(0);return(0,g.useEffect)(()=>{let t=window.setInterval(()=>n(e=>e+1),e);return()=>window.clearInterval(t)},[e]),[t,(0,g.useCallback)(()=>n(e=>e+1),[])]}function SL(e){return e instanceof HTMLElement?e.isContentEditable||[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.tagName):!1}function CL(e){let t=(0,g.useRef)(e);t.current=e,(0,g.useEffect)(()=>{let e=e=>{if(e.defaultPrevented||W.get()||nn.get())return;let n=e.target instanceof HTMLElement?e.target:null;SL(n)||n?.closest(`.rail, .side-panel, .xterm`)||e.metaKey||e.altKey||e.ctrlKey&&e.key.toLowerCase()===`c`&&window.getSelection()?.toString()||t.current(e)&&(e.preventDefault(),e.stopPropagation())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[])}function wL(){let e=(0,g.useRef)(null);return(0,g.useEffect)(()=>e.current?.focus(),[]),e}function TL({tone:e,children:t}){return(0,V.jsx)(`span`,{className:ke(`flex-none font-mono text-meta`,e&&DT[e]),children:t})}var EL=`mt-3 grid grid-cols-[repeat(auto-fit,minmax(min(100%,17rem),1fr))] items-start gap-x-5 gap-y-6`,DL=e=>e?`flex min-w-0 flex-col gap-2 pt-2 [border-top:var(--hairline)_solid_var(--accent)]`:`flex min-w-0 flex-col gap-2 pt-2 [border-top:var(--hairline)_solid_var(--line)]`,OL=`flex min-w-0 items-center gap-2`,kL=`min-w-0 truncate font-bold`,AL=`truncate font-mono text-meta text-muted`,jL=`m-0 line-clamp-6 whitespace-pre-wrap wrap-anywhere`,ML=`flex min-w-0 flex-col`,NL=`flex min-w-0 items-baseline gap-2 py-px font-mono text-meta`,PL=`flex flex-wrap gap-x-3.5 gap-y-1 font-mono text-meta`,FL=`flex min-w-0 flex-wrap items-center gap-x-3.5 gap-y-0.5 px-2.5 py-1 font-mono text-meta`,IL=1.2,LL=.3,RL=20,zL=.35,BL=.25,VL=.12,HL=2,UL=1,WL={error:{dots:[0,4,8,2,6],bright:1},done:{dots:[3,7,5,2],bright:1},idle:{dots:[1,2,5,8,7,6,3,0],bright:.6}},GL=Array.from({length:9},(e,t)=>Math.hypot(t%3-1,Math.floor(t/3)-1));function KL(e){return zL+.65*(.5+.5*Math.cos(2*Math.PI*e/IL))}function qL(e,t,n,r=1){switch(e){case`working`:{let e=t*80/1e3/r;return GL.map(t=>KL(e-t*LL))}case`waiting`:{let e=[0,1,4,5].includes(Math.floor(t/r)%RL);return Array(9).fill(e?BL:1)}default:{let t=WL[e],r=Array(9).fill(VL);return t?.dots.forEach((e,i)=>{let a=Math.min(Math.max(n-i*UL,0),HL)/HL;r[e]=t.bright*a+VL*(1-a)}),r}}}function JL(e,t){let n=WL[e];return!n||t<(n.dots.length-1)*UL+HL}var YL=3,XL=new Set,ZL;function QL(e,t){let n=typeof matchMedia==`function`&&matchMedia(`(prefers-reduced-motion: reduce)`).matches,r=1/0,i=e.held+t-e.step,a=JL(e.look,n?r:i);return qL(e.look,t,n?r:i,n?YL:1).forEach((t,n)=>{let r=e.el.children[n].style;r.opacity=t.toFixed(3)}),a}function $L(){let e=Math.floor(performance.now()/80);for(let t of XL)QL(t,e)||XL.delete(t);eR()}function eR(){ZL=XL.size?window.setTimeout($L,80-performance.now()%80+2):void 0}function tR(e,t,n){let r=Math.floor(performance.now()/80),i=n>0?Math.max(Date.now()-n,0):1/0,a={el:e,look:t,step:r,held:Math.floor(i/80)};return QL(a,r)&&(XL.add(a),ZL===void 0&&eR()),()=>{XL.delete(a)}}function nR({status:e}){let{look:t,tone:n}=GF(e);return(0,V.jsx)(iR,{look:t,tone:n,since:e?.since??0},t)}var rR=e=>e===`muted`?`text-muted`:e===`ink`?`text-ink`:DT[e];function iR({look:e,tone:t,since:n}){let r=(0,g.useRef)(null),[i]=(0,g.useState)(n);return(0,g.useLayoutEffect)(()=>{let t=r.current;return t?tR(t,e,i):void 0},[e,i]),(0,V.jsx)(`span`,{ref:r,className:`inline-grid flex-none grid-cols-[repeat(3,3px)] auto-rows-[3px] gap-px self-center ${rR(t)}`,"aria-hidden":`true`,children:Array.from({length:9},(e,t)=>(0,V.jsx)(`i`,{className:`rounded-full bg-current opacity-12`},t))})}var aR=6;function oR(e,t){let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(()=>Rs(e,`diff.files`,{taskId:t.id})??null),o=`${t.rowStatus?.kind??``}:${t.rowStatus?.since??0}`,s=JSON.stringify(t.changes??null);return(0,g.useEffect)(()=>{let n=!0;return Bs(e,`output.read`,{taskId:t.id,limit:8}).then(e=>n&&r(tL(e)),()=>n&&r(null)),()=>{n=!1}},[e,t.id,o]),(0,g.useEffect)(()=>{let n=!0;return Bs(e,`diff.files`,{taskId:t.id}).then(e=>n&&a(e),()=>{}),()=>{n=!1}},[e,t.id,s,o]),{reply:n,changes:i?nL(i):null}}function sR({changes:e,onOpen:t}){if(!e)return(0,V.jsx)(`p`,{className:Wt,children:`…`});if(e.files.length===0)return(0,V.jsx)(`p`,{className:`m-0 font-mono text-meta text-subtle`,children:z(`compare.noChanges`)});let n=e.files.length-aR;return(0,V.jsxs)(`div`,{className:ML,children:[(0,V.jsxs)(`p`,{className:`m-0 flex gap-2 font-mono text-meta text-muted`,children:[(0,V.jsx)(`span`,{children:z(`compare.files`,{count:e.files.length})}),e.added>0&&(0,V.jsxs)(TL,{tone:`added`,children:[`+`,e.added]}),e.deleted>0&&(0,V.jsxs)(TL,{tone:`removed`,children:[`−`,e.deleted]})]}),e.files.slice(0,aR).map(n=>(0,V.jsxs)(H,{variant:`row`,className:`${NL} text-left [&:hover]:underline`,title:n.path,onClick:()=>t(n.path,e.scope),children:[(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n.path}),n.added?(0,V.jsxs)(TL,{tone:`added`,children:[`+`,n.added]}):null,n.deleted?(0,V.jsxs)(TL,{tone:`removed`,children:[`−`,n.deleted]}):null]},n.path)),n>0&&(0,V.jsx)(`span`,{className:`font-mono text-meta text-subtle`,children:z(`compare.more`,{count:n})})]})}function cR({model:e,row:t,round:n}){let{reply:r,changes:i}=oR(e,t),{look:a}=GF(t.rowStatus),o=t.kept===!0,s=(n,r)=>{e.select(t.id),Gk({taskId:t.id,path:n,scope:r})};return(0,V.jsxs)(`section`,{className:DL(o),"data-attempt":t.id,children:[(0,V.jsxs)(`div`,{className:OL,children:[(0,V.jsx)(nR,{status:t.rowStatus}),(0,V.jsx)(`span`,{className:kL,children:t.engine?.name??t.label}),(0,V.jsx)(`span`,{className:`flex-none text-meta text-muted`,children:z(`compare.status.${a}`)}),o&&(0,V.jsx)(`span`,{className:`ml-auto flex-none font-mono text-meta text-accent`,children:z(`compare.kept`)})]}),(0,V.jsx)(`span`,{className:AL,title:t.branch,children:t.branch}),r?(0,V.jsx)(`p`,{className:jL,children:r}):(0,V.jsx)(`p`,{className:`m-0 text-muted`,children:z(`compare.noReply`)}),(0,V.jsx)(sR,{changes:i,onOpen:s}),(0,V.jsxs)(`div`,{className:PL,children:[(0,V.jsx)(H,{hit:`tight`,onClick:()=>e.select(t.id),children:z(`compare.terminal`)}),(0,V.jsx)(H,{hit:`tight`,onClick:()=>s(`.`,i?.scope??`working`),children:z(`compare.diff`)}),o?(0,V.jsx)(H,{hit:`tight`,onClick:()=>void aL(e,t),children:z(`compare.unkeep`)}):(0,V.jsx)(H,{hit:`tight`,onClick:()=>void iL(e,t,n),children:z(`compare.keep`)})]})]})}function lR({model:e}){B();let t=v(cn),n=v(e.tasks),r=wL(),i=t&&n?$I(n.tasks,t):[];return(0,V.jsxs)(`div`,{className:dM,tabIndex:0,ref:r,onKeyDown:e=>{e.metaKey||e.ctrlKey||e.altKey||e.key!==`q`&&e.key!==`Escape`||(e.preventDefault(),on.set(null))},children:[(0,V.jsx)(`h1`,{className:fM,children:z(`compare.title`)}),i.length===0?(0,V.jsx)(`p`,{className:`text-muted`,children:z(`compare.empty`)}):(0,V.jsx)(`div`,{className:EL,children:i.map(t=>(0,V.jsx)(cR,{model:e,row:t,round:i},t.id))})]})}function uR(e){let t=Math.floor(e/6e4),n=Math.floor(t/60);return{minutes:t,hours:n,days:Math.floor(n/24)}}function dR(e,t=Date.now()){let n=Math.max(0,t-e),r=Math.floor(n/1e3);if(r<60)return`${r}s`;let{minutes:i,hours:a,days:o}=uR(n);return i<60?`${i}m`:a<24?`${a}h`:`${o}d`}var fR=[{id:`issues`,label:`reviewQueue.sourceIssues`},{id:`reviews`,label:`reviewQueue.sourceReviews`}];function pR(){B();let e=v(HO);return(0,V.jsx)(`span`,{className:`flex items-baseline gap-3 font-mono text-meta`,children:fR.map(t=>t.id===e?(0,V.jsx)(`span`,{className:`text-ink`,children:z(t.label)},t.id):(0,V.jsx)(H,{onClick:()=>HO.set(t.id),children:z(t.label)},t.id))})}var mR={passing:`reviewQueue.checksPassing`,failing:`reviewQueue.checksFailing`,pending:`reviewQueue.checksPending`},hR={missing:`reviewQueue.gh.missing`,unauthenticated:`reviewQueue.gh.unauthenticated`,failed:`reviewQueue.gh.failed`};function gR(e){let{pr:t}=e,n=Date.parse(t.createdAt),r=[t.isDraft?z(`reviewQueue.draft`):``,t.fork?z(`reviewQueue.fork`):``,t.checks?z(mR[t.checks]):``];return(0,V.jsxs)(`div`,{"data-row":e.index,className:vM(e.at),onClick:e.onPick,children:[(0,V.jsxs)(`div`,{className:yM,children:[(0,V.jsxs)(`span`,{className:`mono ${bM}`,children:[t.nameWithOwner.split(`/`)[1],`#`,t.number]}),(0,V.jsx)(`span`,{className:SM,children:t.title}),(0,V.jsx)(H,{disabled:e.busy,onClick:e.onReview,children:z(`reviewQueue.start`)})]}),(0,V.jsxs)(`div`,{className:xM,children:[(0,V.jsx)(`span`,{className:SM,children:[t.author,...r].filter(Boolean).join(`, `)}),(0,V.jsxs)(`span`,{className:`mono`,children:[`+`,t.additions,` −`,t.deletions]}),(0,V.jsx)(`span`,{className:`mono`,children:Number.isFinite(n)?dR(n,e.now):``})]})]})}function _R({model:e}){B();let t=e.client,[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(0),[c,l]=(0,g.useState)(null),[u,d]=(0,g.useState)(null),[f,p]=(0,g.useState)(0),m=(0,g.useRef)(!1),h=wL(),_=(0,g.useRef)(null);(0,g.useEffect)(()=>{let e=!0,n=m.current;return m.current=!1,a(null),t.request(`review.queue`,n?{refresh:!0}:{}).then(t=>e&&r(t)).catch(t=>{e&&(a(hL(t)),r({prs:[],other:0}))}),()=>{e=!1}},[t,f]);let v=n?.prs??[],y=Math.min(o,Math.max(0,v.length-1));(0,g.useEffect)(()=>{_.current?.querySelector(`[data-row="${y}"]`)?.scrollIntoView({block:`nearest`})},[y]);let b=async e=>{if(c===null){l(e.number),d(z(`reviewQueue.preparing`,{number:e.number}));try{let{ref:n}=await t.request(`review.prepare`,{repo:e.repo,number:e.number});pn(UO(e,n,z(`reviewQueue.prompt`,{number:e.number,repo:e.nameWithOwner,title:e.title,url:e.url,head:e.headRef,base:e.baseRef})))}catch(t){G(z(`reviewQueue.failed`,{number:e.number,error:hL(t)}),`error`)}finally{l(null),d(null)}}};CL(e=>{if(e.ctrlKey)return e.key===`c`&&(on.set(null),!0);switch(e.key){case`Escape`:case`q`:return on.set(null),!0;case`j`:case`ArrowDown`:return s(Math.min(v.length-1,y+1)),!0;case`k`:case`ArrowUp`:return s(Math.max(0,y-1)),!0;case`r`:return m.current=!0,p(e=>e+1),!0;case`Enter`:{let e=v[y];return e&&b(e),!0}default:return!1}});let x=Date.now();return(0,V.jsxs)(`div`,{className:dM,tabIndex:0,ref:h,children:[(0,V.jsxs)(`div`,{className:pM,children:[(0,V.jsx)(`h1`,{className:fM,children:z(`reviewQueue.title`)}),(0,V.jsx)(pR,{})]}),i?(0,V.jsx)(`p`,{className:`text-error`,children:i}):n===null?(0,V.jsx)(`p`,{className:`text-muted`,children:`…`}):n.reason?(0,V.jsx)(`p`,{className:`text-muted`,children:z(hR[n.reason])}):v.length===0?(0,V.jsx)(`p`,{className:`text-muted`,children:z(`reviewQueue.empty`)}):(0,V.jsx)(`div`,{className:_M,ref:_,children:v.map((e,t)=>(0,V.jsx)(gR,{pr:e,index:t,at:t===y,now:x,busy:c!==null,onPick:()=>s(t),onReview:()=>void b(e)},`${e.nameWithOwner}#${e.number}`))}),n&&n.other>0&&(0,V.jsx)(`p`,{className:`text-muted mx-0 mt-2 mb-0 text-meta leading-[inherit]`,children:z(`reviewQueue.other`,{count:n.other})}),u&&(0,V.jsx)(`p`,{className:`text-muted mx-0 mt-2 mb-0 text-meta leading-[inherit]`,children:u})]})}var vR=30;function yR(){let{items:e}=fL();return t=>{let n=t.indexOf(`: `);switch(n>=0?t.slice(0,n):`failed`){case`no-remote`:return e.errorHint.noRemote;case`gh-missing`:return e.errorHint.ghMissing;case`auth`:return e.errorHint.auth;default:return pL(e.errorHint.fallback,{message:t})}}}function bR({model:e}){let{items:t,common:n}=fL(),r=yR(),i=e.client,a=v(e.tasks),o=yL(e),s=bL(e),[c,l]=(0,g.useState)(()=>{let e=s?o.findIndex(e=>gL(e)===gL(s)):-1;return Math.max(0,e)}),u=o[c],d=(e,t)=>({repo:e,limit:vR,...t?{assignee:`@me`}:{}}),f=e=>Object.fromEntries(e.links.map(e=>[e.number,e.taskId])),[p,m]=(0,g.useState)(()=>u?Rs(i,`workitem.list`,d(u,!1))?.items??null:null),[h,_]=(0,g.useState)(()=>{let e=u?Rs(i,`workitem.links`,{repo:u}):void 0;return e?f(e):{}}),[y,b]=(0,g.useState)(null),[x,S]=(0,g.useState)(!1),[C,w]=(0,g.useState)(0),[T,E]=(0,g.useState)(0),[D,O]=(0,g.useState)(!1),[k,A]=(0,g.useState)(null),j=wL(),ee=(0,g.useRef)(!1);(0,g.useEffect)(()=>{let e=!0;if(!u){m([]);return}b(null);let t=ee.current;ee.current=!1;let n=d(u,x),r=Rs(i,`workitem.list`,n);return r&&m(r.items),i.request(`workitem.list`,{...n,...t?{refresh:!0}:{}}).then(t=>e&&m(zs(i,`workitem.list`,n,t).items)).catch(t=>{e&&(b(hL(t)),m([]))}),Bs(i,`workitem.links`,{repo:u}).then(t=>e&&_(f(t))).catch(()=>e&&_({})),()=>{e=!1}},[i,u,x,C,a?.tasks.length]);let M=p??[],N=Math.min(T,Math.max(0,M.length-1));(0,g.useEffect)(()=>A(null),[u,x]);let P=(0,g.useRef)(null);(0,g.useEffect)(()=>{P.current?.querySelector(`[data-row="${N}"]`)?.scrollIntoView({block:`nearest`})},[N]);let F=e=>a?.tasks.find(t=>t.id===e)?.label??e,I=t=>{on.set(null),e.select(t)},te=async()=>{let e=M[N];if(!e||!u||D)return;let n=h[e.number];if(n){A(pL(t.openingLinked,{title:F(n)})),I(n);return}O(!0),A(pL(t.starting,{number:e.number}));try{let n=await i.request(`workitem.start`,{repo:u,number:e.number});n.started?I(n.taskId):A(pL(t.startedNoEngine,{title:n.title}))}catch(n){G(pL(t.startFailed,{number:e.number,error:hL(n)}),`error`)}finally{O(!1)}};CL(e=>{if(e.ctrlKey)return e.key===`c`&&(on.set(null),!0);switch(e.key){case`Escape`:case`q`:return on.set(null),!0;case`j`:case`ArrowDown`:return E(Math.min(M.length-1,N+1)),!0;case`k`:case`ArrowUp`:return E(Math.max(0,N-1)),!0;case`Tab`:return l(t=>o.length?(t+(e.shiftKey?o.length-1:1))%o.length:0),!0;case`a`:return S(e=>!e),!0;case`r`:return ee.current=!0,w(e=>e+1),!0;case`Enter`:return te(),!0;default:return!1}});let L=Date.now();return(0,V.jsxs)(`div`,{className:dM,tabIndex:0,ref:j,children:[(0,V.jsxs)(`div`,{className:pM,children:[(0,V.jsx)(`h1`,{className:fM,children:t.title}),(0,V.jsx)(pR,{}),(0,V.jsxs)(`span`,{className:`mono touch:empty:hidden! text-muted ${mM(!0)}`,children:[u?_L(u,o):t.noRepo,x?` ${t.assignedFilter}`:``]})]}),y?(0,V.jsxs)(`div`,{className:_M,children:[(0,V.jsx)(`p`,{className:`text-error`,children:y}),(0,V.jsx)(`p`,{className:`text-muted`,children:r(y)})]}):p===null?(0,V.jsx)(`p`,{className:`text-muted`,children:n.loading}):M.length===0?(0,V.jsx)(`p`,{className:`text-muted`,children:t.empty}):(0,V.jsx)(`div`,{className:_M,ref:P,children:M.map((e,n)=>{let r=h[e.number],i=Date.parse(e.updatedAt);return(0,V.jsxs)(`div`,{"data-row":n,className:vM(n===N),onClick:()=>n===N?void te():E(n),children:[(0,V.jsxs)(`div`,{className:yM,children:[(0,V.jsxs)(`span`,{className:`mono ${bM}`,children:[`#`,e.number]}),(0,V.jsx)(`span`,{children:e.title})]}),(0,V.jsxs)(`div`,{className:xM,children:[(0,V.jsx)(`span`,{className:SM,children:[e.author,...e.labels.slice(0,2)].filter(Boolean).join(`, `)}),r&&(0,V.jsx)(`span`,{children:pL(t.linkedChip,{title:F(r)})}),(0,V.jsx)(`span`,{className:`mono`,children:Number.isFinite(i)?dR(i,L):``})]})]},e.number)})}),k&&(0,V.jsx)(`p`,{className:`text-muted mx-0 mt-2 mb-0 text-meta leading-[inherit]`,children:k})]})}function xR({model:e}){return v(HO)===`reviews`?(0,V.jsx)(_R,{model:e}):(0,V.jsx)(bR,{model:e})}var SR={backlog:`active`,in_progress:`active`,in_review:`parked`,error:`parked`,done:`terminal`,canceled:`terminal`,open:`active`,doing:`active`,hold:`parked`};function CR(e){return SR[e]??`parked`}var wR=[`backlog`,`in_progress`,`parked`,`done`];function TR(e,t,n){let r=e.find(e=>e.issues.length>0)?.issues[0]?.id??null;if(t==null)return r;let i=-1,a=-1;for(let[n,r]of e.entries()){let e=r.issues.findIndex(e=>e.id===t);if(e!==-1){i=n,a=e;break}}if(i===-1)return r;if(n===`up`||n===`down`){let r=e[i]?.issues??[],o=n===`up`?a-1:a+1;return r[Math.max(0,Math.min(o,r.length-1))]?.id??t}let o=n===`left`?-1:1;for(let n=i+o;n>=0&&n<e.length;n+=o){let r=e[n]?.issues??[];if(r.length!==0)return r[Math.min(a,r.length-1)]?.id??t}return t}function ER(e,t){let n=CR(e.status);return n===`terminal`?`done`:n===`parked`?`parked`:e.taskId!==void 0&&e.taskId!==``&&(t?.(e.taskId)??!0)||e.status===`doing`?`in_progress`:`backlog`}function DR(e,t){let n=0;return{columns:e.map(e=>{if(e.key!==`in_progress`)return e;let r=[],i=[];for(let n of e.issues)n.taskId!==void 0&&n.taskId!==``&&t(n.taskId)?r.push(n):i.push(n);return n=r.length,r.length===0?e:{...e,issues:[...r,...i]}}),attentionCount:n}}function OR(e,t){return e.created===t.created?t.id-e.id:e.created<t.created?1:-1}function kR(e,t){let n={backlog:[],in_progress:[],parked:[],done:[]};for(let r of e)n[ER(r,t)].push(r);return wR.map(e=>{let t=e===`done`||e===`parked`,r=n[e].sort(OR);return!t||r.length<=20?{key:e,issues:r,hiddenCount:0}:{key:e,issues:r.slice(0,20),hiddenCount:r.length-20}})}var AR=[`image/png`,`image/jpeg`,`image/gif`,`image/webp`,`application/pdf`],jR=5242880;function MR(e,t){return/\.pdf$/i.test(e)?`pdf[${t}]`:`images[${t}]`}function NR(e){let t=-1;for(let n of e.matchAll(/^(?:images|pdf)\[(\d+)\]:/gm)){let e=Number.parseInt(n[1],10);e>t&&(t=e)}return t+1}function PR(e,t){let n=e.replace(/\s+$/,``),r=NR(e);for(let e of t){let t=`${MR(e,r)}: ${e}`;n=n.length>0?`${n}\n${t}`:t,r+=1}return n}function FR(e){return Array.from(e??[]).filter(e=>AR.includes(e.type))}function IR(e){let t=``;for(let n=0;n<e.length;n+=32768)t+=String.fromCharCode(...e.subarray(n,n+32768));return btoa(t)}async function LR(e,t){let n=IR(new Uint8Array(await t.arrayBuffer()));return(await e.request(`attachment.put`,{mime:t.type,data:n})).path}var RR=[`worktree`,`projectWorktree`,`project`];async function zR(e,t){let n=t.placement===`project`?`project`:`worktree`,{title:r,prompt:i}=await e.request(`issue.prompt`,{repo:t.repo,id:t.issue.id,where:n}),a=[];if(t.placement!==`project`){let{taskId:n}=await e.request(`task.create`,{repo:t.repo,engine:t.engine,title:r,prompt:i});if(await e.request(`issue.update`,{repo:t.repo,id:t.issue.id,task:n}).catch(e=>a.push({kind:`link`,error:hL(e)})),t.placement===`worktree`)return{taskId:n,warnings:a};let o=await e.request(`task.openMain`,{repo:t.repo}),s=await e.request(`tab.openViewport`,{taskId:o.taskId,viewTaskId:n});return{taskId:o.taskId,tabId:s.tabId,warnings:a}}let{taskId:o}=await e.request(`task.openMain`,{repo:t.repo}),{tabId:s,taskId:c=o}=await e.request(`tab.new`,{taskId:o,kind:`engine`,engine:t.engine,prompt:i});return await e.request(`issue.setStatus`,{repo:t.repo,id:t.issue.id,status:`doing`}).catch(e=>a.push({kind:`status`,error:hL(e)})),{taskId:c,tabId:s,warnings:a}}var BR=`text-meta leading-[inherit]`,VR=`text-meta`,HR=`flex flex-col gap-2 overflow-hidden`,UR=`flex min-w-0 items-baseline gap-3`,WR=`font-bold whitespace-nowrap text-accent touch:relative touch:after:absolute touch:after:-inset-x-2 touch:after:-inset-y-1 touch:after:content-['']`,GR=`min-w-0 truncate ${VR}`,KR=`ml-auto ${BR}`,qR=`grid min-h-0 flex-1 grid-cols-4 gap-2`,JR=`flex min-h-0 flex-1 flex-col gap-2`,YR=`flex gap-4 ${VR}`,XR=e=>`touch:relative touch:after:absolute touch:after:-inset-x-1.5 touch:after:-top-1 touch:after:-bottom-3 touch:after:content-[''] ${e?`font-bold text-accent`:`text-muted`}`,ZR={in_progress:`text-accent`,parked:`text-warning`,done:`text-success`},QR=e=>`flex min-h-0 flex-col rounded-md border-hairline border-line p-2 ${e?`flex-1`:``}`,$R=e=>`m-0 mb-2 flex justify-between gap-2 font-mono text-meta font-bold normal-nums ${ZR[e]??`text-muted`}`,ez=`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto`,tz=`m-0 ${VR}`,nz=e=>`flex flex-none cursor-pointer flex-col gap-1 rounded-sm border-hairline bg-surface px-2.5 py-2 ${e.selected?`border-accent`:e.attention?`border-warning`:`border-line hover:border-line-active`}`,rz=`flex justify-between gap-2`,iz=e=>`min-w-0 font-bold wrap-anywhere ${e?`text-muted`:``}`,az=`h-[2.8em] overflow-hidden whitespace-pre-wrap wrap-anywhere ${BR}`,oz=`flex justify-between gap-2 ${VR}`,sz=`w-[min(680px,calc(100vw-32px))]!`,cz=`flex items-baseline gap-3.5`,lz=`flex items-baseline gap-2.5`,uz=`tracking-[0] normal-case`,dz=`min-h-40 font-mono`,fz=`flex flex-col items-start gap-0.5`,pz=e=>`text-left font-mono text-meta whitespace-pre-wrap normal-nums ${e?`font-bold text-accent`:`font-normal text-muted`}`,mz=BR,hz=`flex flex-col gap-1 [&_p]:m-0`,gz=`flex gap-2 ${VR}`,_z=`min-w-[4ch] text-right`,vz=`rounded-sm border-hairline border-transparent p-1 focus:border-accent focus:outline-none`,yz={choice:`radiogroup`,list:`listbox`,cells:`group`};function bz(e){return(0,V.jsx)(`div`,{ref:e.fieldRef,role:yz[e.kind??`choice`],tabIndex:0,"aria-label":e.label,className:`${vz} ${e.className??``}`,onKeyDown:e.onKeyDown,onClick:e.onClick,children:e.children})}var xz=[`open`,`doing`,`hold`,`done`];function Sz({model:e,taskId:t}){let{kanban:n}=fL(),[r,i]=(0,g.useState)(null);return(0,g.useEffect)(()=>{let n=!0;return e.client.request(`task.events`,{taskId:t}).then(e=>n&&i(e.events)).catch(()=>n&&i([])),()=>{n=!1}},[e,t]),(0,V.jsxs)(`div`,{className:hz,children:[(0,V.jsx)(`h2`,{className:`${U} text-muted`,children:n.detail.eventsLabel}),r===null?(0,V.jsx)(`p`,{className:`text-muted`,children:n.detail.eventsLoading}):r.length===0?(0,V.jsx)(`p`,{className:`text-muted`,children:n.detail.eventsNone}):r.map(e=>(0,V.jsxs)(`div`,{className:`mono ${gz}`,children:[(0,V.jsx)(`span`,{className:`text-muted ${_z}`,children:dR(e.at)}),(0,V.jsx)(`span`,{children:e.kind}),e.tail&&(0,V.jsx)(`span`,{className:`text-muted`,children:e.tail})]},`${e.at}:${e.kind}:${e.tail}`))]})}function Cz(e){let{kanban:t}=fL(),{issue:n,mode:r}=e,i=r===`create`,a=!i&&n.taskId?n.taskId:null,o=i||!a&&n.status!==`done`,[s,c]=(0,g.useState)(n.title),[l,u]=(0,g.useState)(n.body),[d,f]=(0,g.useState)(n.status),[p,m]=(0,g.useState)(e.defaultEngine),[h,_]=(0,g.useState)(RR[0]),[v,y]=(0,g.useState)(!1),[b,x]=(0,g.useState)(!1),S=(0,g.useRef)({}),C=e=>t=>{S.current[e]=t},w=i?`title`:o?`workspace`:a?`open`:`title`;(0,g.useEffect)(()=>S.current[w]?.focus(),[w]);let T=()=>({title:s.trim()||n.title,body:l,status:d}),E=()=>({engine:p,placement:h,jump:v}),D=t=>{yn(),t&&e.onOutcome(t)},O=()=>s.trim()?!0:(S.current.title?.focus(),!1),k=()=>{i?O()&&D({kind:`create`,title:s.trim(),body:l,start:E()}):o?D({kind:`start`,...E(),...T()}):a&&D({kind:`open`,taskId:a,...T()})},A=()=>{i&&O()&&D({kind:`create`,title:s.trim(),body:l,start:null})},j=()=>D(i?null:{kind:`close`,...T()}),ee=(0,g.useRef)({commit:k,saveOnly:A,close:j});ee.current={commit:k,saveOnly:A,close:j},(0,g.useEffect)(()=>{let e=e=>{let t=e.key===`Escape`?ee.current.close:e.key===`Enter`&&(e.ctrlKey||e.metaKey)?ee.current.commit:e.key.toLowerCase()===`s`&&e.ctrlKey&&!e.metaKey?ee.current.saveOnly:null;t&&(e.preventDefault(),e.stopImmediatePropagation(),t())};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},[]);let M=async t=>{let n=t.find(e=>e.size>jR);if(n){G(z(`pages.attachTooLarge`,{name:n.name||n.type}),`error`);return}x(!0);try{let n=await Promise.all(t.map(t=>LR(e.model.client,t)));u(e=>PR(e,n))}catch(e){G(ir(e),`error`)}finally{x(!1)}},N=e=>{let t=FR(e.clipboardData.files);t.length!==0&&(e.preventDefault(),M(t))},P=e=>{let t=FR(e.dataTransfer.files);e.preventDefault(),t.length>0&&M(t)},F=(e,t,n)=>e[(Math.max(0,e.indexOf(t))+n+e.length)%e.length],I=(e,t,n)=>r=>{if(r.ctrlKey||r.metaKey||r.altKey)return;let i=(e===`x`?{ArrowRight:1,l:1,ArrowLeft:-1,h:-1}:{ArrowDown:1,ArrowUp:-1})[r.key];if(i)t(i);else if(r.key===`Enter`&&n)n();else return;r.preventDefault()},te=d===`done`?`text-success`:d===`hold`?`text-warning`:d===`doing`?`text-accent`:`text-muted`,L=e=>t.detail.status[e];return(0,V.jsx)(`div`,{className:kn,onMouseDown:e=>e.target===e.currentTarget&&ee.current.close(),children:(0,V.jsxs)(`dialog`,{open:!0,className:`${An(!0)} ${sz}`,"aria-label":i?t.detail.newStory:`#${n.id}`,onPaste:N,onDrop:P,onDragOver:e=>e.preventDefault(),children:[(0,V.jsxs)(`div`,{className:jn,children:[i?(0,V.jsx)(`h1`,{className:`${U} text-muted`,children:t.detail.newStory}):(0,V.jsxs)(`h1`,{className:`${U} text-muted ${cz}`,children:[(0,V.jsxs)(`span`,{children:[`#`,n.id]}),(0,V.jsx)(`span`,{className:te,children:L(d)}),(0,V.jsx)(`span`,{className:`text-muted`,children:pL(t.detail.created,{date:n.created})}),a&&(0,V.jsx)(`span`,{className:`text-accent`,children:t.detail.linked})]}),(0,V.jsx)(`button`,{type:`button`,className:Nn,"aria-label":z(`dialog.close`),title:z(`dialog.close`),onClick:()=>ee.current.close(),children:`×`})]}),(0,V.jsxs)(`div`,{className:Pn,children:[(0,V.jsxs)(`label`,{className:wn,children:[(0,V.jsx)(`span`,{className:`${U} text-muted`,children:t.detail.titleLabel}),(0,V.jsx)(`input`,{ref:C(`title`),className:Qt,spellCheck:!1,value:s,onChange:e=>c(e.target.value.replace(/[\r\n]+/g,` `)),onKeyDown:e=>{e.key===`Enter`&&!e.ctrlKey&&!e.metaKey&&(e.preventDefault(),S.current.description?.focus())}})]}),(0,V.jsxs)(`label`,{className:wn,children:[(0,V.jsxs)(`span`,{className:`${U} text-muted ${lz}`,children:[t.detail.description,(0,V.jsx)(`span`,{className:`text-muted ${uz}`,children:Zo()?z(`pages.attachHintTouch`):t.detail.attachHint}),b&&(0,V.jsx)(`span`,{className:`text-accent`,children:`…`})]}),(0,V.jsx)(`textarea`,{ref:C(`description`),className:`${Qt} ${Tn} ${dz}`,rows:8,spellCheck:!1,placeholder:t.detail.noDescription,value:l,onChange:e=>u(e.target.value)})]}),!i&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,V.jsxs)(`span`,{className:`m-0 font-sans text-meta font-medium normal-nums text-muted flex items-baseline gap-2.5`,children:[t.detail.statusLabel,(0,V.jsx)(`span`,{className:`keys-only text-muted tracking-[0] normal-case`,children:`←/→`})]}),(0,V.jsx)(bz,{fieldRef:C(`status`),label:t.detail.statusLabel,className:`flex flex-wrap gap-1.5`,onKeyDown:I(`x`,e=>f(F(xz,d,e))),children:xz.map(e=>(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-pressed":e===d,className:Dn(e===d),onClick:()=>{f(e),S.current.status?.focus()},children:L(e)},e))})]}),o?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:wn,children:[(0,V.jsxs)(`span`,{className:`${U} text-muted ${lz}`,children:[t.detail.engine,(0,V.jsx)(`span`,{className:`keys-only text-muted ${uz}`,children:`←/→`})]}),(0,V.jsx)(bz,{fieldRef:C(`engine`),label:t.detail.engine,className:En,onKeyDown:I(`x`,t=>m(F(e.engines.map(e=>e.id),p,t)),k),children:e.engines.map(e=>(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-pressed":e.id===p,className:Dn(e.id===p),onClick:()=>{m(e.id),S.current.engine?.focus()},children:e.name},e.id))})]}),(0,V.jsxs)(`div`,{className:wn,children:[(0,V.jsxs)(`span`,{className:`${U} text-muted ${lz}`,children:[t.detail.workspace,(0,V.jsx)(`span`,{className:`keys-only text-muted ${uz}`,children:`↑/↓`})]}),(0,V.jsx)(bz,{fieldRef:C(`workspace`),label:t.detail.workspace,className:fz,onKeyDown:I(`y`,e=>_(F(RR,h,e)),k),children:RR.map(e=>(0,V.jsxs)(`button`,{type:`button`,tabIndex:-1,"aria-pressed":e===h,className:`touch:py-1.5 ${pz(e===h)}`,onClick:()=>{_(e),S.current.workspace?.focus()},children:[e===h?`▸ `:` `,t.detail.placement[e]]},e))})]}),(0,V.jsxs)(`div`,{className:wn,children:[(0,V.jsxs)(`span`,{className:`${U} text-muted ${lz}`,children:[t.detail.jumpLabel,(0,V.jsx)(`span`,{className:`keys-only text-muted ${uz}`,children:`←/→`})]}),(0,V.jsx)(bz,{fieldRef:C(`jump`),label:t.detail.jumpLabel,className:En,onKeyDown:I(`x`,()=>y(!v),k),children:[!1,!0].map(e=>(0,V.jsx)(`button`,{type:`button`,tabIndex:-1,"aria-pressed":e===v,className:Dn(e===v),onClick:()=>{y(e),S.current.jump?.focus()},children:e?t.detail.jump.follow:t.detail.jump.stay},String(e)))})]}),(0,V.jsx)(`p`,{className:`touch:empty:hidden! text-muted ${mz}`,children:(0,V.jsx)(ET,{text:es(i?t.detail.createLegend:t.detail.startLegend)})}),(0,V.jsxs)(`div`,{className:$t,children:[i&&(0,V.jsx)(`button`,{type:`button`,className:`link text-accent [&:hover]:underline touch-hit`,onClick:A,children:z(`pages.storySave`)}),(0,V.jsx)(`button`,{type:`button`,className:je(),onClick:k,children:z(i?`pages.storySaveStart`:`pages.storyStart`)})]})]}):a?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`div`,{className:wn,children:[(0,V.jsx)(`span`,{className:`${U} text-muted`,children:t.detail.sessionLabel}),(0,V.jsxs)(`div`,{className:`${En} ${vz}`,children:[(0,V.jsx)(`button`,{ref:C(`open`),type:`button`,className:Dn(!0),onClick:()=>D({kind:`open`,taskId:a,...T()}),children:t.detail.openAction}),(0,V.jsx)(`button`,{ref:C(`unlink`),type:`button`,className:Dn(),onClick:()=>D({kind:`unlink`,...T()}),children:t.detail.unlinkAction})]})]}),(0,V.jsx)(Sz,{model:e.model,taskId:a}),(0,V.jsx)(`p`,{className:`touch:empty:hidden! text-muted ${mz}`,children:(0,V.jsx)(ET,{text:es(t.detail.openLegend)})})]}):(0,V.jsx)(`p`,{className:`touch:empty:hidden! text-muted ${mz}`,children:(0,V.jsx)(ET,{text:es(t.detail.doneNote)})})]})]})})}var wz={"waiting-on-you":`text-error`,landing:`text-success`,"ready-for-review":`text-ink`,working:`text-accent`};function Tz(e){let[t,n]=(0,g.useState)(()=>{let t=Rs(e,`engines.list`);return t?ys(t.engines):[]});return(0,g.useEffect)(()=>{Bs(e,`engines.list`).then(e=>n(ys(e.engines))).catch(()=>n([]))},[e]),{engines:t,defaultEngine:bs(t)}}function Ez(e,t){let n=yL(e),r=n.join(`
|
|
124
124
|
`),[i,a]=(0,g.useState)(()=>Rs(e,`kanban.boards`)??null);return(0,g.useEffect)(()=>{let t=!0,r=e.client,i=e=>r.request(e).then(e=>e.repos).catch(()=>[]);return Promise.all([i(`repos.list`),i(`issue.repos`)]).then(([e,t])=>vL(e,n,t)).then(e=>Promise.all(e.map(e=>r.request(`issue.list`,{repo:e}).catch(t=>({repoRoot:e,nextId:1,issues:[],readError:hL(t)}))))).then(n=>{let r=zs(e,`kanban.boards`,void 0,[...n].sort((e,t)=>e.repoRoot.localeCompare(t.repoRoot)));t&&a(r)}),()=>{t=!1}},[e,t,r]),i}function Dz(e){let{issue:t}=e,n=t.body.trim();return(0,V.jsxs)(`div`,{"data-issue":t.id,className:nz({selected:e.selected,attention:e.badge?.tone===`text-error`}),onClick:()=>e.selected?e.onOpen():e.onSelect(),onContextMenu:t=>{t.preventDefault(),e.onMenu(t.clientX,t.clientY)},children:[(0,V.jsxs)(`div`,{className:rz,children:[(0,V.jsx)(`span`,{className:iz(e.column===`done`),children:t.title}),(0,V.jsxs)(`span`,{className:`mono text-muted`,children:[`#`,t.id]})]}),(0,V.jsx)(`div`,{className:`text-muted ${az}`,children:n}),(0,V.jsxs)(`div`,{className:`mono text-muted ${oz}`,children:[(0,V.jsx)(`span`,{children:t.created}),e.badge&&(0,V.jsx)(`span`,{className:e.badge.tone,children:e.badge.label})]})]})}var Oz=5e3,kz=760;function Az({model:e}){let{kanban:t,group:n,common:r}=fL(),[i,a]=xL(Oz),o=Ez(e,i),{engines:s,defaultEngine:c}=Tz(e),l=v(e.tasks),u=bL(e),[d,f]=(0,g.useState)(null),[p,m]=(0,g.useState)(null),h=wL(),[_,y]=(0,g.useState)(!1);(0,g.useEffect)(()=>{let e=h.current;if(!e)return;let t=new ResizeObserver(()=>y(e.clientWidth<kz));return t.observe(e),()=>t.disconnect()},[h]);let b=o??[],x=u?b.find(e=>e.repoRoot.replace(/^\/private\//,`/`)===u.replace(/^\/private\//,`/`)):void 0,S=Math.max(0,b.findIndex(e=>e.repoRoot===(d??x?.repoRoot))),C=b[S],w=b.map(e=>e.repoRoot),T=b.filter(e=>e.readError).map(e=>`${e.repoRoot}\0${e.readError}`).join(`
|
|
@@ -128,7 +128,7 @@ void main() {
|
|
|
128
128
|
`),accent:a.map(e=>e.join(``)).join(`
|
|
129
129
|
`)}}var UU=`min-h-0 w-full overflow-y-auto`,WU=`mx-auto mt-[min(16vh,8rem)] flex w-full max-w-130 flex-col gap-4 px-5 pb-7`,GU=`relative grid w-full select-none overflow-hidden font-mono text-(length:--fs-body) text-subtle [contain:layout_paint]`,KU=`col-start-1 row-start-1 m-0 whitespace-pre font-[inherit] leading-[inherit]`,qU=`invisible absolute top-0 left-0 whitespace-pre`,JU=1.3,YU=`0000000000`,XU=1e3/12;function ZU(){let e=(0,g.useRef)(null),t=(0,g.useRef)(null),n=(0,g.useRef)(null),r=(0,g.useRef)(null);return(0,g.useEffect)(()=>{let i=e.current,a=t.current,o=n.current,s=r.current;if(!i||!a||!o||!s)return;let c=window.matchMedia(`(prefers-reduced-motion: reduce)`),l=24,u=90,d=0,f=0,p=0,m=-1,h=!0,g=()=>{let e=HU(u,l);o.textContent=e.base,s.textContent=e.accent},_=()=>{let e=a.getBoundingClientRect().width/10;e>0&&(l=Math.min(64,Math.max(24,Math.floor(i.clientWidth/e)))),g()},v=e=>{d=requestAnimationFrame(v);let t=p+Math.floor((e-f)/XU);t!==m&&(m=t,u=t,g())},y=()=>{cancelAnimationFrame(d),d=0},b=()=>{y(),c.matches?(u=90,g()):h&&document.visibilityState===`visible`&&(f=performance.now(),p=u,m=-1,d=requestAnimationFrame(v))},x=new ResizeObserver(_);x.observe(i),_(),b();let S=new IntersectionObserver(e=>{h=e[e.length-1]?.isIntersecting??!0,b()});return S.observe(i),c.addEventListener(`change`,b),document.addEventListener(`visibilitychange`,b),()=>{y(),x.disconnect(),S.disconnect(),c.removeEventListener(`change`,b),document.removeEventListener(`visibilitychange`,b)}},[]),(0,V.jsxs)(`div`,{ref:e,"aria-hidden":`true`,"data-field":`first-run-art`,className:GU,style:{height:`${11*JU}em`,lineHeight:JU},children:[(0,V.jsx)(`span`,{ref:t,className:qU,children:YU}),(0,V.jsx)(`pre`,{ref:n,className:KU}),(0,V.jsx)(`pre`,{ref:r,className:`${KU} text-accent`})]})}function QU(e){let t=K(`doctor`,`fix.humanOnlyWhy`),n=[];if(e.git||n.push({id:`git`,label:K(`doctor`,`fix.git`),action:K(`doctor`,`fix.gitAction`),why:t}),e.engines.length===0){let r=e.signedOut.length>0;n.push({id:`engine`,label:K(`doctor`,r?`fix.noEngineLogin`:`fix.noEngine`),action:K(`doctor`,r?`fix.noEngineLoginAction`:`fix.noEngineAction`,{list:e.signedOut.map(e=>e.id).join(`, `)}),why:t})}return n}function $U({model:e}){B(),v(qr);let[t,n]=(0,g.useState)(()=>Rs(e,`welcome.env`)??null);(0,g.useEffect)(()=>{let t=!0;return Bs(e,`welcome.env`).then(e=>t&&n(e)).catch(()=>{}),()=>{t=!1}},[e]);let r=t===null?null:t.engines.length>0?{key:`enginesFound`,warn:!1,list:t.engines.map(e=>e.name).join(`, `)}:t.signedOut.length>0?{key:`enginesSignedOut`,warn:!0,list:t.signedOut.map(e=>e.name).join(`, `)}:{key:`enginesMissing`,warn:!0,list:``},i=t!==null&&(t.engines.length===0||!t.git)?QU(t):[];return(0,V.jsx)(`div`,{className:UU,"data-field":`welcome`,children:(0,V.jsxs)(`div`,{className:WU,children:[(0,V.jsx)(ZU,{}),(0,V.jsxs)(`div`,{className:`flex flex-col gap-1`,children:[(0,V.jsx)(`h1`,{className:`m-0 font-sans text-title font-semibold text-ink`,children:z(`firstRun.title`)}),(0,V.jsx)(`p`,{className:`m-0 font-sans text-body text-muted`,children:z(`firstRun.body`)})]}),(0,V.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,V.jsx)(`button`,{type:`button`,className:je(),"data-field":`start-first-task`,onClick:()=>XD(t?.start?.repo),children:z(`firstRun.start`)}),(0,V.jsx)(`span`,{className:`keys-only mono text-meta text-subtle`,children:ni(`task.new.global`)})]}),t!==null&&r!==null&&(0,V.jsxs)(`div`,{className:`flex flex-col gap-1.5 font-sans text-meta`,children:[(0,V.jsx)(`p`,{className:`m-0 ${r.warn?`text-warning`:`text-subtle`}`,children:K(`workspace`,`welcome.${r.key}`,{list:r.list})}),!t.git&&(0,V.jsx)(`p`,{className:`m-0 text-warning`,children:K(`workspace`,`welcome.gitMissing`)}),i.map(e=>(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsx)(`p`,{className:`m-0 text-warning`,children:e.label}),(0,V.jsx)(`p`,{className:`mono m-0 text-accent`,children:e.action}),(0,V.jsx)(`p`,{className:`m-0 text-muted`,children:e.why})]},e.id)),i.length>0&&(0,V.jsx)(`p`,{className:`m-0 text-muted`,children:K(`common`,`failureHint`,{command:`rove doctor`})})]})]})})}function eW(e,t){e.preventDefault(),nn.set({x:e.clientX,y:e.clientY,items:t,target:e.currentTarget,fromKeyboard:e.button!==2})}function tW({model:e,narrow:t}){let n=B(),r=v(e.tasks),i=v(e.remote),a=bE(e),o=v(e.tabs),s=v(e.tabsSettled),c=v(e.selection),l=r?.tasks??[],u=r?.attention.filter(e=>e.unread).length??0,d=c.taskId,f=new Map([...l,...i].map(e=>[e.id,e])),p=bU(),m=v(VT),h=v(PT)===`state`,_=v(HT),y=e=>(h?oO:bw)({tasks:l,remote:i,machines:a,sort:p.sort,query:e,fold:{...p.hand,selectedId:d??void 0}}),b=y(p.search.active?p.search.query:``),{groups:x}=b,S=p.search.active?b.rows:TH(Sw(EU(sO(LH(b.rows,o,c.taskId,s,_)),o),p.collapsed),r?.archived??[],p.archivedOpen,{...p.hand,selectedId:d??void 0}),C=e=>e.filter(e=>e.kind!==`project`&&e.kind!==`state`&&e.kind!==`round`),w=(n===`zh`?Or:Dr).machine,T=new Set(a.filter(e=>e.state!==`online`).map(e=>e.alias)),E=x.find(e=>e.tasks.some(e=>e.kind===`main`))?.repo,D=e=>({mainTaskId:x.find(t=>t.repo===e)?.tasks.find(e=>e.kind===`main`)?.id??null,label:UC(e),first:e===E}),O=FH(e,l,!p.search.active&&!h,p.sort==="default",D),k=O.places(S),A=()=>W.set((0,V.jsx)(zP,{model:e})),j=wU(e,S,p,{selectedId:d,onNewTask:XD,onSettings:A}),ee=_!==null&&S.some(e=>e.id===_),M=j.setCursor;(0,g.useEffect)(()=>{ee&&_!==null&&M(_)},[ee,_,M]);let N=C(y(``).rows).length,P=(0,g.useRef)(null),F=v(aI)&&!t,I=v(oI)&&F,te=t?l.find(e=>e.id===c.taskId&&!e.deleting)??null:null;return(0,V.jsxs)(`nav`,{className:`${nE} ${F?`is-folded`:``}`,ref:P,inert:F&&!I,"aria-hidden":F&&!I,onMouseEnter:F?()=>cI(!0):void 0,onMouseLeave:F?()=>cI(!1):void 0,tabIndex:0,onKeyDown:e=>{MF(`sidebar`),j.onKeyDown(e)},children:[(0,V.jsxs)(`header`,{className:rE,children:[(0,V.jsxs)(`span`,{className:`${zt} mr-auto`,children:[(0,V.jsx)(`span`,{className:Bt,children:`[`}),` rove `,(0,V.jsx)(`span`,{className:Bt,children:`]`})]}),(0,V.jsxs)(`span`,{className:`relative`,children:[(0,V.jsx)(`button`,{type:`button`,className:`m-0 text-meta font-medium normal-nums inbox-chip relative ${Xn} ${He} ${u>0?`text-accent`:`text-muted`}`,onClick:()=>W.set((0,V.jsx)(jT,{model:e})),children:z(`rail.inbox`,{count:u})}),(0,V.jsx)(TF,{model:e,bindingId:`inbox.show`,head:!0})]}),(0,V.jsx)(NM,{})]}),m&&(0,V.jsxs)(`div`,{className:`flex gap-1 px-3.5 pb-2 text-meta mono`,children:[(0,V.jsx)(`span`,{className:`text-accent`,children:K(`tasks`,`moveChip`).trim()}),(0,V.jsx)(`span`,{className:`keys-only ml-1.5 text-muted`,children:(0,V.jsx)(ET,{text:z(`taskops.moveHint`)})})]}),p.search.active&&(0,V.jsx)(OU,{query:p.search.query,count:`${C(S).length}/${N}`,onChange:e=>p.setSearch(t=>({...t,query:e}))}),(0,V.jsx)(QI,{model:e}),(0,V.jsx)(gH,{model:e}),(0,V.jsxs)(`div`,{"data-rail-body":!0,className:sE(O.dragging!==null),...O.body,children:[r&&l.length===0&&i.length===0&&t&&(0,V.jsx)($U,{model:e}),r&&l.length===0&&i.length===0&&!t&&(0,V.jsx)(`p`,{className:`m-0 px-2 py-3 font-mono text-meta text-subtle`,children:z(`rail.empty`)}),te&&(0,V.jsx)(LI,{title:te.title}),S.map((t,n)=>t.kind===`round`?(0,V.jsx)(DU,{row:t,guides:t.depth>1?NH(S,n):void 0,repo:h&&t.depth===1?iO(t.tasks[0]):void 0,cursor:t.id===j.cursor,place:k(t),onClick:()=>j.setCursor(t.id)},t.id):t.kind===`pane`?(0,V.jsx)(QH,{model:e,row:t,guides:NH(S,n),cursor:t.id===j.cursor,place:k(t),onClick:()=>{j.setCursor(t.id),ZH(e,t),ma()},onMenu:n=>{j.setCursor(t.id),eW(n,qH(e,t.task.id,t.tab,t.leaf))}},t.id):(0,V.jsx)(nW,{row:t,guides:t.kind===`task`&&t.depth>1?NH(S,n):void 0,cloud:_E(t,a,w),repo:h&&t.kind===`task`&&t.depth===1?iO(t.task):void 0,tabs:t.kind===`task`?o[t.task.id]:void 0,selected:t.id===d,cursor:t.id===j.cursor,stale:t.machine!==void 0&&T.has(t.machine),collapsed:(t.kind===`project`||t.kind===`state`)&&p.collapsed.has(t.id),drag:O.props(t),dragging:O.dragging===t.id,place:k(t),onNewTask:t.kind===`project`?t.noProject?ZD:()=>XD(t.repo,t.machine):void 0,moving:m&&t.machine===void 0&&(t.kind===`project`?!t.noProject&&D(t.repo).mainTaskId===j.cursor:t.id===j.cursor&&(t.kind!==`task`||t.task.kind!==`main`)),prTasks:t.kind===`task`?[t.task,...(t.fold?.descendantIds??[]).flatMap(e=>f.get(e)??[])]:void 0,rollup:t.kind===`task`&&t.fold?.collapsed?YF([t.task,...t.fold.descendantIds.flatMap(e=>f.get(e)??[])]):void 0,onToggleFold:()=>{t.kind===`task`&&p.toggleTaskFold(t.id,t.fold?.collapsed===!0),t.kind===`archived`&&p.toggleArchived()},onClick:()=>{j.setCursor(t.id),t.kind===`archived`&&p.toggleArchived(),(t.kind===`project`||t.kind===`state`)&&p.toggleProject(t.id),t.kind===`task`&&CU(e,t.task.id)},onMenu:n=>{if(t.kind!==`project`||t.machine===void 0){if(t.kind===`project`&&t.noProject){eW(n,lU(e));return}if(t.kind===`project`){let r=D(t.repo);r.mainTaskId&&S.some(e=>e.id===r.mainTaskId)&&j.setCursor(r.mainTaskId),eW(n,cU(e,t.repo,r));return}t.kind===`task`&&(j.setCursor(t.id),eW(n,aW(iW(fU(e,t.task,null),t.fold,()=>p.toggleTaskFold(t.id,t.fold?.collapsed===!0)),XH(e,t.task.id))))}}},t.id))]}),(0,V.jsx)(IH,{model:e,narrow:t,onSettings:A}),(0,V.jsx)(RI,{pane:`sidebar`}),!t&&!F&&(0,V.jsx)(MI,{rail:P})]})}function nW(e){let{row:t}=e,n=MU(t.kind===`task`?t.task.label:``,e.cursor&&t.kind===`task`),r=e.cursor?cE:``;if(t.kind===`project`||t.kind===`state`)return(0,V.jsxs)(`h2`,{className:lE({moving:e.moving,dragging:e.dragging}),onContextMenu:e.onMenu,...e.place,...e.drag,children:[(0,V.jsxs)(`button`,{type:`button`,className:dE,title:t.kind===`project`&&!t.noProject?t.repo:void 0,"aria-expanded":!e.collapsed,onClick:e.onClick,children:[(0,V.jsx)(`span`,{className:`truncate`,children:t.label}),t.kind===`state`&&(0,V.jsx)(`span`,{className:`font-normal text-subtle`,children:t.count}),(0,V.jsx)(Na,{right:e.collapsed,className:fE(!!e.collapsed)})]}),e.onNewTask&&t.kind===`project`&&(0,V.jsx)(`button`,{type:`button`,className:pE,title:z(`rail.newTask`),onClick:e.onNewTask,children:`+`})]});if(t.kind===`archived`)return(0,V.jsx)(`button`,{type:`button`,className:`${Qn({moving:e.moving||e.dragging})} ${r}`,"aria-expanded":t.expanded,onClick:e.onClick,...e.place,children:(0,V.jsx)(`span`,{className:`${er} ${e.stale?`text-subtle`:`text-muted`}`,children:K(`tasks`,`archivedRow`,{count:t.count})})});let i=t.task,a=i.rowStatus?.kind===`running`,o=BP(i);return(0,V.jsxs)(`button`,{type:`button`,ref:n.ref,className:`${Qn({selected:e.selected,moving:e.moving||e.dragging})} ${r}`,onClick:e.onClick,onContextMenu:e.onMenu,onPointerEnter:n.onPointerEnter,onPointerLeave:n.onPointerLeave,...e.place,...e.drag,children:[n.tip,e.guides&&(0,V.jsx)(`span`,{className:`-my-0.75 -mr-0.5 ml-0 flex flex-none self-stretch`,"aria-hidden":`true`,children:e.guides.map((e,t)=>(0,V.jsx)(`span`,{className:XT(e)},t))}),(0,V.jsx)(`span`,{className:`${er} ${e.stale?`text-subtle`:``} ${a?tr:``}`,children:t.attempt??i.label}),(0,V.jsxs)(`span`,{className:`${rr} ml-auto items-center`,children:[e.repo&&(0,V.jsx)(`span`,{className:`max-w-24 truncate text-subtle`,children:e.repo}),t.level!==void 0&&(0,V.jsx)(`span`,{className:`text-subtle`,children:t.level}),(i.extraRepoCount??0)>0&&(0,V.jsxs)(`span`,{className:`text-subtle`,title:z(`rail.extraRepos`,{count:i.extraRepoCount??0}),children:[`+`,i.extraRepoCount]}),o&&(0,V.jsxs)(`span`,{className:`text-subtle tabular-nums`,title:z(`rail.todos`,o),children:[o.done,`/`,o.total]}),t.fold?.collapsed&&(0,V.jsx)(rW,{count:t.fold.count,onUnfold:e.onToggleFold}),i.kept&&(0,V.jsx)(`span`,{className:`text-accent`,title:z(`compare.kept`),children:`✓`}),i.pinned&&(0,V.jsx)(`span`,{className:`text-subtle`,children:`▴`}),i.startsAt&&(0,V.jsx)(NU,{at:i.startsAt}),(0,V.jsx)(CH,{tasks:e.prTasks??[i],onOpen:n.hide}),(0,V.jsx)(nR,{status:t.fold?.collapsed?e.rollup:i.rowStatus}),e.cloud&&(0,V.jsx)(vE,{label:e.cloud})]})]})}function rW(e){let t=K(`tasks`,`menu.expandChildren`);return(0,V.jsxs)(`span`,{role:`button`,tabIndex:-1,"aria-label":t,"aria-expanded":!1,className:`chip text-muted ${ZT}`,title:t,onClick:t=>{t.stopPropagation(),e.onUnfold()},children:[e.count,(0,V.jsx)(Na,{right:!0})]})}function iW(e,t,n){if(!t)return e;let r={label:K(`tasks`,t.collapsed?`menu.expandChildren`:`menu.collapseChildren`),section:`open`,run:n},i=e.map(e=>e.section).lastIndexOf(`open`);return[...e.slice(0,i+1),r,...e.slice(i+1)]}function aW(e,t){let n=e.map(e=>e.section).lastIndexOf(`open`);return[...e.slice(0,n+1),...t,...e.slice(n+1)]}function oW(e){return e===`localhost`||e.endsWith(`.localhost`)||e===`[::1]`||/^127(\.\d{1,3}){3}$/.test(e)}var sW=/^(localhost|127(\.\d{1,3}){3}|\[::1\])(:\d+)?([/?#]|$)/i,cW=/^[a-z][a-z0-9+.-]*:(?!\d+([/?#]|$))/i;function lW(e){let t=e.trim();if(!t||/\s/.test(t)||cW.test(t)&&!/^https?:\/\//i.test(t))return null;let n=/^https?:\/\//i.test(t)?t:sW.test(t)?`http://${t}`:`https://${t.replace(/^\/\//,``)}`;try{let e=new URL(n);return e.hostname?e.href:null}catch{return null}}function uW(e,t,n=oW(t.hostname)){let r=new URL(e);return r.origin===t.origin?`self`:oW(r.hostname)?n?`yes`:`remote`:r.protocol===`https:`?`yes`:`unreachable`}function dW(e,t,n){let r=new URL(e).host;return t===`self`?{key:`self`,host:r}:t===`remote`?{key:`remote`,host:r}:t===`unreachable`?{key:`noFrame`,host:r}:n&&!n.reachable?{key:`unreachable`,host:r}:n&&!n.frameable?{key:`refuses`,host:r}:null}var fW=6e4,pW=new Map;function mW(e){let t=pW.get(e);return t&&Date.now()-t.at<fW?t:null}function hW(e,t,n){let[,r]=(0,g.useState)(0);(0,g.useEffect)(()=>{if(!n||mW(t))return;let i=!0;return e.request(`browser.probe`,{url:t,origin:window.location.origin}).then(e=>pW.set(t,{probe:e,at:Date.now()}),()=>pW.set(t,{probe:null,at:Date.now()})).then(()=>i&&r(e=>e+1)),()=>{i=!1}},[e,t,n]);let i=n?mW(t):null;return{pending:n&&!i,probe:i?.probe??null}}function gW({d:e}){return(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:e})})}var _W=`M6.5 3.5h-3v9h9v-3M9.5 3.5h3v3M12.5 3.5l-5 5`;function vW({model:e,tab:t,onNavigate:n,onStep:r}){B();let i=ZO(t),[a,o]=(0,g.useState)(i),[s,c]=(0,g.useState)(!1),[l,u]=(0,g.useState)(0),d=v(e.client.conn).hello?.peer?.local,f=i?uW(i,window.location,d):null;(0,g.useEffect)(()=>{o(i),c(!1)},[i]);let p=e=>{let t=lW(e);c(t===null&&e.trim()!==``),t!==null&&(o(t),t===i?u(l+1):n(t))},m=i?new URL(i).hostname:``,h=f===`yes`&&i.startsWith(`https:`)&&!oW(m),{pending:_,probe:y}=hW(e.client,i,h),b=i&&f?dW(i,f,y):null,x=f===`yes`&&!b&&!_,S=b?z(`browser.${b.key}`,{host:b.host}):f===null?z(s?`browser.invalid`:`browser.empty`):null;return(0,V.jsxs)(`div`,{className:EI,children:[(0,V.jsxs)(`form`,{className:DI,onSubmit:e=>{e.preventDefault(),p(a)},children:[(0,V.jsx)(`button`,{type:`button`,className:dI({small:!0}),disabled:t.at<=0,title:z(`browser.back`),"aria-label":z(`browser.back`),onClick:()=>r(t.at-1),children:(0,V.jsx)(gW,{d:`M10 3.5 5.5 8l4.5 4.5`})}),(0,V.jsx)(`button`,{type:`button`,className:dI({small:!0}),disabled:t.at>=t.urls.length-1,title:z(`browser.forward`),"aria-label":z(`browser.forward`),onClick:()=>r(t.at+1),children:(0,V.jsx)(gW,{d:`M6 3.5 10.5 8 6 12.5`})}),(0,V.jsx)(`button`,{type:`button`,className:dI({small:!0}),disabled:!x,title:z(`browser.reload`),"aria-label":z(`browser.reload`),onClick:()=>u(l+1),children:(0,V.jsx)(gW,{d:`M12.5 8a4.5 4.5 0 1 1-1.4-3.3M12.5 2.5v2.7H9.8`})}),(0,V.jsx)(`input`,{className:`browser-url mono ${OI}`,value:a,placeholder:z(`browser.placeholder`),"aria-label":z(`browser.address`),"aria-invalid":s,spellCheck:!1,autoCapitalize:`off`,autoCorrect:`off`,inputMode:`url`,onChange:e=>o(e.target.value)}),i?(0,V.jsx)(`a`,{className:dI({small:!0}),href:i,target:`_blank`,rel:`noopener noreferrer`,title:z(`browser.openTab`),"aria-label":z(`browser.openTab`),children:(0,V.jsx)(gW,{d:_W})}):(0,V.jsx)(`button`,{type:`button`,className:dI({small:!0}),disabled:!0,"aria-label":z(`browser.openTab`),children:(0,V.jsx)(gW,{d:_W})})]}),x?(0,V.jsx)(`iframe`,{className:kI,src:i,title:i,sandbox:`allow-scripts allow-same-origin allow-forms allow-popups`,referrerPolicy:`no-referrer`},`${i}#${l}`):S?(0,V.jsx)(`p`,{className:TI,children:S}):null]})}var yW=3;function bW({model:e,task:t}){B();let n=t.autoFixCi,r=n=>void e.client.request(`task.autoFixCi`,{taskId:t.id,enabled:n}).catch(e=>G(e instanceof Error?e.message:String(e),`error`));return(0,V.jsx)(`div`,{className:`flex items-center gap-3 px-2 pt-1 font-mono text-meta`,children:n?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:n.stopped?DT.attention:`text-muted`,title:z(`files.autoFix.hint`),children:z(n.stopped?`files.autoFix.stopped`:`files.autoFix.count`,{n:n.attempts,max:yW})}),(0,V.jsx)(H,{hit:`tight`,onClick:()=>r(!1),children:z(`files.autoFix.off`)})]}):(0,V.jsx)(H,{hit:`tight`,title:z(`files.autoFix.hint`),onClick:()=>r(!0),children:z(`files.autoFix.on`)})})}function xW(e){let t=e.pr;return!!t&&t.number!==void 0&&!e.machine&&(t.lifecycle===`open`||t.lifecycle===`ready_to_merge`)}function SW(e){let t={fail:0,pending:0,pass:0,skipped:0};for(let n of e)t[n.state]++;return t}function CW(e){let t=Math.max(0,Math.round(e/1e3));if(t<60)return`${t}s`;let n=Math.floor(t/60);return n<60?`${n}m${String(t%60).padStart(2,`0`)}s`:`${Math.floor(n/60)}h${String(n%60).padStart(2,`0`)}m`}function wW(e){let t=[],n=e.mergeState.toUpperCase();e.draft&&t.push({key:`files.merge.draft`,tone:`warning`}),e.mergeable.toUpperCase()===`CONFLICTING`||n===`DIRTY`?t.push({key:`files.merge.conflicts`,tone:`attention`}):n===`BEHIND`?t.push({key:`files.merge.behind`,tone:`warning`}):n===`UNSTABLE`?t.push({key:`files.merge.unstable`,tone:`warning`}):n===`BLOCKED`?t.push({key:`files.merge.blocked`,tone:`warning`}):n===`CLEAN`&&!e.draft&&t.push({key:`files.merge.clean`,tone:`success`});let r=e.review.toUpperCase();return r===`APPROVED`?t.push({key:`files.merge.approved`,tone:`success`}):r===`CHANGES_REQUESTED`?t.push({key:`files.merge.changes`,tone:`attention`}):r===`REVIEW_REQUIRED`&&t.push({key:`files.merge.reviewRequired`,tone:`warning`}),t}var TW=`flex flex-col gap-0.5 px-2 pb-2 font-mono text-meta`,EW=`flex items-start gap-2`,DW=`flex min-w-0 flex-1 flex-wrap items-center gap-x-2 text-left text-ink`,OW={pass:{glyph:`✓`,tone:`success`},fail:{glyph:`✗`,tone:`attention`},pending:{glyph:`●`,tone:`warning`},skipped:{glyph:`–`,tone:`muted`}};function kW({model:e,task:t}){B();let n=t.pr,r=t.id,[i,a]=(0,g.useState)(()=>Rs(e,`pr.checks`,{taskId:r})??null),[o,s]=(0,g.useState)(null),[c,l]=(0,g.useState)({}),[u,d]=(0,g.useState)(0),f=`${n?.number}:${n?.checkState}:${n?.mergeable}:${n?.reviewDecision}`;(0,g.useEffect)(()=>{let t=!0,n={taskId:r};return e.client.request(`pr.checks`,u>0?{...n,fresh:!0}:n).then(r=>{t&&(zs(e,`pr.checks`,n,r),a(r))},e=>t&&a({outcome:`unavailable`,detail:e instanceof Error?e.message:String(e)})),()=>{t=!1}},[e,r,f,u]);let p=t=>{let n=`${t.runId}:${t.name}`;if(c[n]){l(({[n]:e,...t})=>t);return}l(e=>({...e,[n]:{state:`loading`}})),e.client.request(`pr.checkLog`,{taskId:r,runId:t.runId,job:t.name}).then(e=>e.outcome===`ok`?{state:`text`,text:e.tail}:e.outcome===`none`?{state:`note`,text:z(`files.checks.noLog`)}:{state:`note`,text:z(`files.checks.logUnavailable`,{detail:e.detail})}).catch(e=>({state:`note`,text:z(`files.checks.logUnavailable`,{detail:e instanceof Error?e.message:String(e)})})).then(e=>l(t=>n in t?{...t,[n]:e}:t))},m=(0,V.jsx)(H,{hit:`tight`,className:`flex-none whitespace-nowrap`,onClick:()=>d(e=>e+1),children:z(`files.checks.refresh`)});if(!i)return(0,V.jsx)(`div`,{className:TW,children:(0,V.jsx)(`div`,{className:EW,children:(0,V.jsxs)(`span`,{className:`flex-1 text-muted`,children:[z(`files.checks.title`),` `,z(`files.checks.loading`)]})})});if(i.outcome!==`ok`)return(0,V.jsx)(`div`,{className:TW,children:(0,V.jsxs)(`div`,{className:EW,children:[(0,V.jsx)(`span`,{className:`min-w-0 flex-1 text-muted wrap-anywhere`,children:i.outcome===`none`?z(`files.checks.none`):z(`files.checks.unavailable`,{detail:i.detail})}),m]})});let h=SW(i.checks),_=o??(h.fail>0||h.pending>0),v=wW(i);return(0,V.jsxs)(`div`,{className:TW,children:[(0,V.jsxs)(`div`,{className:EW,children:[(0,V.jsxs)(H,{variant:`row`,className:DW,"aria-expanded":_,disabled:i.total===0,onClick:()=>s(!_),children:[i.total>0&&(0,V.jsx)(Na,{right:!_}),(0,V.jsx)(`span`,{children:i.total===0?z(`files.checks.none`):z(`files.checks.summary`,{pass:h.pass+h.skipped,total:i.total})}),h.fail>0&&(0,V.jsx)(`span`,{className:DT.attention,children:z(`files.checks.failed`,{count:h.fail})}),h.pending>0&&(0,V.jsx)(`span`,{className:DT.warning,children:z(`files.checks.running`,{count:h.pending})}),v.map(e=>(0,V.jsx)(`span`,{className:DT[e.tone],children:z(e.key)},e.key))]}),m]}),_&&i.checks.map(e=>{let{glyph:t,tone:n}=OW[e.state],r=`${e.runId}:${e.name}`,i=c[r];return(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,V.jsxs)(`div`,{className:`flex items-baseline gap-2 pl-4`,children:[(0,V.jsx)(`span`,{className:`w-[1ch] flex-none text-center ${DT[n]}`,children:t}),(0,V.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,title:e.name,children:e.name}),e.durationMs!==null&&(0,V.jsx)(`span`,{className:`flex-none text-subtle`,children:CW(e.durationMs)}),e.state===`fail`&&e.runId&&(0,V.jsx)(H,{hit:`tight`,className:`flex-none whitespace-nowrap`,onClick:()=>p(e),children:z(i?`files.checks.hideLog`:`files.checks.log`)})]}),i&&(0,V.jsx)(`pre`,{className:`m-0 ml-4 mb-1 max-h-40 overflow-y-auto rounded-sm border-hairline border-line bg-inset px-2 py-1.5 whitespace-pre-wrap wrap-anywhere text-muted`,children:i.state===`loading`?z(`files.checks.loading`):i.text})]},`${e.name}:${e.url}`)}),_&&i.total>i.checks.length&&(0,V.jsx)(`span`,{className:`pl-4 text-subtle`,children:z(`files.checks.more`,{count:i.total-i.checks.length})})]})}function AW({model:e,task:t}){return xW(t)?(0,V.jsxs)(`div`,{onKeyDown:e=>e.stopPropagation(),children:[(0,V.jsx)(kW,{model:e,task:t}),(0,V.jsx)(bW,{model:e,task:t})]}):null}function jW(e,t){let n={children:new Map,file:!1};for(let t of e){let e=n;for(let n of t.split(`/`)){let t=e.children.get(n);t||(t={children:new Map,file:!1},e.children.set(n,t)),e=t}e.file=!0}let r=[],i=(e,n,a)=>{let o=[...e.children].sort(([e,t],[n,r])=>{let i=t.children.size>0&&!t.file;return i===(r.children.size>0&&!r.file)?e.localeCompare(n):i?-1:1});for(let[e,s]of o){let o=s.children.size>0&&!s.file,c=o?`${n}${e}/`:`${n}${e}`,l=o&&t.has(c);r.push({path:c,name:e,depth:a,dir:o,open:l}),l&&i(s,c,a+1)}};return i(n,``,0),r}var MW={start:`\x1B[200~`,end:`\x1B[201~`};function NW(e,t){return e.engineTarget(t).tabId??e.tabs.get()[t]?.find(e=>e.kind===`engine`)?.id}async function PW(e,t,n){let r=NW(e,t);if(!r)return G(z(`files.stripNoEngine`),`error`),!1;try{return e.selection.get().tabId!==r&&e.select(t,r),await e.client.request(`term.input`,{stream:CC(t,r),data:`${MW.start}${n}${MW.end}`}),G(z(`files.stripFilled`)),!0}catch(e){return G(e instanceof Error?e.message:String(e),`error`),!1}}var FW=`w-full min-w-0 rounded-sm border-hairline border-line bg-paper px-2 py-1 font-mono text-meta text-ink outline-none placeholder:text-subtle focus-visible:border-accent`,IW=`${FW} min-h-24 resize-none leading-[1.45]`,LW=e=>`min-w-0 flex-1 cursor-text break-words text-left font-mono text-meta ${e?`text-subtle line-through`:`text-ink`}`,RW=700;function zW({model:e,task:t}){B();let n=t.todos??[],[r,i]=(0,g.useState)(``),[a,o]=(0,g.useState)(null),[s,c]=(0,g.useState)(t.notes??``),l=(0,g.useRef)(!1),u=(0,g.useRef)(t.notes??``),d=(0,g.useRef)(null);(0,g.useEffect)(()=>{l.current||(u.current=t.notes??``,c(t.notes??``))},[t.notes]),(0,g.useEffect)(()=>()=>{d.current!==null&&window.clearTimeout(d.current)},[]);let f=n=>e.client.request(`task.notes`,{taskId:t.id,...n}).catch(e=>G(String(e),`error`)),p=e=>{d.current!==null&&window.clearTimeout(d.current),d.current=null,e!==u.current&&(u.current=e,f({notes:e}))},m=()=>{let e=r.trim();e!==``&&(i(``),f({ops:[{op:`add`,text:e}]}))},h=()=>{if(!a)return;let e=a.text.trim(),t=n.find(e=>e.id===a.id)?.text;o(null),e===``?f({ops:[{op:`remove`,id:a.id}]}):e!==t&&f({ops:[{op:`edit`,id:a.id,text:e}]})},_=HP(t);return(0,V.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto px-2 pb-2 font-mono text-meta`,onKeyDown:e=>e.stopPropagation(),children:[(0,V.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[n.map(e=>(0,V.jsxs)(`div`,{className:`flex items-start gap-2 py-0.5`,children:[(0,V.jsx)(H,{hit:`tight`,className:e.done?`text-subtle`:void 0,"aria-label":z(e.done?`files.todoUncheck`:`files.todoCheck`,{text:e.text}),onClick:()=>void f({ops:[{op:`check`,id:e.id,done:!e.done}]}),children:e.done?`[x]`:`[ ]`}),a?.id===e.id?(0,V.jsx)(`input`,{className:FW,value:a.text,maxLength:500,autoFocus:!0,"aria-label":z(`files.todoEdit`),onChange:t=>o({id:e.id,text:t.target.value}),onBlur:h,onKeyDown:e=>{e.key===`Enter`?h():e.key===`Escape`&&o(null)}}):(0,V.jsx)(H,{variant:`row`,className:LW(e.done),title:z(`files.todoEdit`),onClick:()=>o({id:e.id,text:e.text}),children:e.text}),(0,V.jsx)(H,{hit:`tight`,className:`text-subtle`,"aria-label":z(`files.todoRemove`,{text:e.text}),onClick:()=>void f({ops:[{op:`remove`,id:e.id}]}),children:`×`})]},e.id)),(0,V.jsx)(`input`,{className:FW,value:r,maxLength:500,placeholder:z(`files.todoAdd`),"aria-label":z(`files.todoAdd`),autoComplete:`off`,enterKeyHint:`done`,onChange:e=>i(e.target.value),onKeyDown:e=>{e.key===`Enter`&&m()}})]}),(0,V.jsx)(`div`,{className:`flex justify-end`,children:(0,V.jsx)(H,{disabled:!_,title:_?z(`files.todoSendHint`,{count:VP(t).length}):z(`files.todoNoneOpen`),onClick:()=>_&&void PW(e,t.id,_),children:z(`files.todoSend`)})}),(0,V.jsx)(`textarea`,{className:IW,value:s,maxLength:2e4,spellCheck:!1,placeholder:z(`files.notesPlaceholder`),"aria-label":z(`files.notesLabel`),onFocus:()=>{l.current=!0},onChange:e=>{c(e.target.value),d.current!==null&&window.clearTimeout(d.current);let t=e.target.value;d.current=window.setTimeout(()=>p(t),RW)},onBlur:e=>{l.current=!1,p(e.target.value)}})]})}function BW(e){let t=e.kind===`task`&&!e.noWorktree&&!e.machine&&!e.archived,n=e.changes;return t&&!!n&&`added`in n&&n.added+n.deleted>0}function VW(e){return[...BW(e)?[`commit`]:[],...HW(e)]}function HW(e){let t=e.pr;if(!t)return e.kind===`task`&&!e.noWorktree&&!e.machine&&!e.archived&&!e.sessionPrs?.length?[`createPR`]:[];if(t.lifecycle===`merged`)return e.archived||e.kind===`main`?[]:[`archive`];if(t.lifecycle!==`open`&&t.lifecycle!==`ready_to_merge`)return[];let n=[];return((t.mergeable??``).toUpperCase()===`CONFLICTING`||e.prChip===`conflict`)&&n.push(`conflicts`),t.checkState===`failing`&&n.push(`fixCI`),(t.reviewDecision??``).toUpperCase()===`CHANGES_REQUESTED`&&n.push(`comments`),n}async function UW(e,t,n){try{let r=await e.client.request(`task.prompt`,{taskId:t.id,kind:n});r.outcome===`unavailable`?G(z(`files.stripUnavailable`,{detail:r.detail??``}),`error`):r.outcome===`none`||!r.prompt?G(z(`files.stripNothing`),`error`):await PW(e,t.id,r.prompt)}catch(e){G(e instanceof Error?e.message:String(e),`error`)}}var WW={commit:`files.stripCommit`,createPR:`files.stripCreate`,conflicts:`files.stripConflicts`,fixCI:`files.stripFixCi`,comments:`files.stripComments`,archive:`files.stripArchive`};function GW({model:e,task:t}){let n=VW(t);return n.length===0?null:(0,V.jsx)(`div`,{className:`flex flex-wrap justify-end gap-x-3.5 gap-y-1 px-2 pb-2 font-mono text-meta whitespace-nowrap`,children:n.map(n=>(0,V.jsx)(H,{onClick:()=>n===`archive`?void rF(e,t):void UW(e,t,n),children:z(WW[n])},n))})}var KW=e=>`${e.files} file${e.files===1?``:`s`}, +${e.added} −${e.removed}${e.base?` vs ${e.base}`:``}`;function qW(e){let t=[`**${e.title}**`,`Branch \`${e.branch}\` · ${KW(e)}`];return e.pr?.url&&t.push(`PR: ${e.pr.url}`),e.checks&&t.push(`Checks: ${e.checks}`),e.text&&t.push(``,e.reported?e.text:`Last reply:\n${e.text}`),e.openTodos.length>0&&t.push(``,`Still open:`,...e.openTodos.map(e=>`- ${e}`)),t.join(`
|
|
130
130
|
`)}function JW(e){let t=[`## Summary`,``,e.text??e.title,``,`## Changes`,``,`- ${KW(e)} on \`${e.branch}\``];return e.checks&&t.push(`- Checks: ${e.checks}`),e.openTodos.length>0&&t.push(``,`## Not done`,``,...e.openTodos.map(e=>`- [ ] ${e}`)),t.join(`
|
|
131
|
-
`)}function YW(e){let t=[e.pass?`${e.pass} passed`:``,e.fail?`${e.fail} failed`:``,e.pending?`${e.pending} pending`:``].filter(Boolean);return t.length>0?t.join(` · `):null}async function XW(e){try{await navigator.clipboard.writeText(e),G(z(`files.report.copied`))}catch{G(z(`menu.copyFailed`),`error`)}}function ZW(e){B();let{model:t,task:n}=e,[r,i]=(0,g.useState)(!e.narrow),[a,o]=(0,g.useState)(null),s=!!n.report?.summary;(0,g.useEffect)(()=>{if(s)return;let e=!0;return Bs(t,`output.read`,{taskId:n.id,limit:8}).then(t=>e&&o(tL(t)),()=>{}),()=>{e=!1}},[t,n.id,s,n.rowStatus?.since]);let c=(0,g.useMemo)(()=>{let r=Rs(t,`pr.checks`,{taskId:n.id}),i=r?.outcome===`ok`?SW(r.checks):null;return{title:n.label||n.title,branch:n.branch,base:e.base,files:new Set(e.files.map(e=>e.path)).size,added:e.files.reduce((e,t)=>e+(t.added??0),0),removed:e.files.reduce((e,t)=>e+(t.deleted??0),0),text:n.report?.summary??a,reported:s,checks:i?YW(i):n.pr?.checkState&&n.pr.checkState!==`unknown`?n.pr.checkState:null,openTodos:VP(n).map(e=>e.text),pr:n.pr?{number:n.pr.number,url:n.pr.url}:null}},[t,n,e.base,e.files,a,s]);return(0,V.jsxs)(`section`,{className:`flex flex-col gap-1 px-2 pb-2 font-mono text-meta`,children:[(0,V.jsxs)(H,{variant:`row`,"aria-expanded":r,className:`flex items-center gap-1.5 text-left text-muted hover:text-ink`,onClick:()=>i(!r),children:[(0,V.jsx)(Na,{right:!r}),(0,V.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[z(`files.report.title`),` · `,c.files,` · +`,c.added,` −`,c.removed]})]}),r&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`p`,{className:`m-0 text-muted`,children:[c.branch,c.base?` → ${c.base}`:``,c.checks?` · ${c.checks}`:``,c.openTodos.length>0?` · ${z(`files.report.todos`,{count:c.openTodos.length})}`:``]}),c.text?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-subtle`,children:z(s?`files.report.claimed`:`files.report.lastReply`)}),(0,V.jsx)(`p`,{className:`m-0 max-h-24 overflow-y-auto whitespace-pre-wrap wrap-anywhere text-ink`,children:c.text})]}):(0,V.jsx)(`span`,{className:`text-subtle`,children:z(`files.report.none`)}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-x-3 gap-y-1`,children:[(0,V.jsx)(H,{hit:`tight`,onClick:()=>void XW(qW(c)),children:z(`files.report.copyNote`)}),(0,V.jsx)(H,{hit:`tight`,onClick:()=>void XW(JW(c)),children:z(`files.report.copyPr`)})]})]})]})}var QW=2e3;function $W({model:e,task:t}){B();let n=t.id,r=!t.machine,[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),c=i?.running===!0;if((0,g.useEffect)(()=>{if(!r)return;let t=!0,i=()=>e.client.request(`run.status`,{taskId:n}).then(e=>t&&a(e),()=>{});i();let o=c?window.setInterval(()=>void i(),QW):0;return()=>{t=!1,window.clearInterval(o)}},[e,n,r,c]),!r||!i?.script)return null;let l=async t=>{s(!0);try{a(await e.client.request(t,{taskId:n}))}catch(e){G(e instanceof Error?e.message:String(e),`error`)}finally{s(!1)}};return(0,V.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-x-3.5 gap-y-1 px-2 pb-2 font-mono text-meta whitespace-nowrap`,children:[i.url&&(0,V.jsx)(H,{onClick:()=>i.url&&Kk(n,i.url),children:z(`files.run.open`,{port:i.port??``})}),(0,V.jsx)(H,{disabled:o,onClick:()=>void l(c?`run.stop`:`run.start`),children:z(c?`files.run.stop`:`files.run.run`)})]})}var eG={"session-start":{glyph:`○`,tone:`text-muted`},"turn-start":{glyph:`▶`,tone:`text-info`},"turn-complete":{glyph:`✓`,tone:`text-success`},"turn-failed":{glyph:`✗`,tone:`text-error`},"turn-interrupted":{glyph:`■`,tone:`text-warning`},"awaiting-input":{glyph:`?`,tone:`text-warning`},"session-end":{glyph:`○`,tone:`text-muted`},"tool-failed":{glyph:`!`,tone:`text-error`},"pre-compact":{glyph:`≈`,tone:`text-muted`},"post-compact":{glyph:`≈`,tone:`text-muted`},"subagent-start":{glyph:`↳`,tone:`text-muted`},"subagent-stop":{glyph:`↲`,tone:`text-muted`},commit:{glyph:`◆`,tone:`text-accent`},"pr-opened":{glyph:`⇡`,tone:`text-success`},"pr-merged":{glyph:`⇡`,tone:`text-merged`},"pr-closed":{glyph:`⇡`,tone:`text-muted`},"pr-failing":{glyph:`⇡`,tone:`text-error`},"pr-passing":{glyph:`⇡`,tone:`text-success`},"pr-conflict":{glyph:`⇡`,tone:`text-error`},"pr-changes":{glyph:`⇡`,tone:`text-warning`}},tG={glyph:`·`,tone:`text-muted`};function nG(e){return e.kind===`commit`?{to:`diff`}:e.kind.startsWith(`pr-`)?e.url?{to:`pr`,url:e.url}:null:e.tabId?{to:`tab`,tabId:e.tabId}:null}function rG(e,t){if(!t)return[];if(!e)return[`pr-opened`];let n=[];if(e.lifecycle!==t.lifecycle&&(t.lifecycle===`merged`?n.push(`pr-merged`):t.lifecycle===`closed`&&n.push(`pr-closed`)),e.lifecycle===`unknown`)return n;e.checkState!==t.checkState&&(t.checkState===`failing`?n.push(`pr-failing`):t.checkState===`passing`&&n.push(`pr-passing`));let r=e=>(e.mergeable??``).toUpperCase()===`CONFLICTING`;r(t)&&!r(e)&&n.push(`pr-conflict`);let i=e=>(e.reviewDecision??``).toUpperCase()===`CHANGES_REQUESTED`;return i(t)&&!i(e)&&n.push(`pr-changes`),n}function iG(e,t){return[...e,...t].sort((e,t)=>t.at-e.at)}var aG=_({}),oG=400,sG=15e3,cG=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});function lG(e,t){if(!e||e.id!==t.id)return;let n=rG(e.pr,t.pr);if(n.length===0)return;let r=Date.now(),i=n.map(e=>({kind:e,at:r,tail:t.pr?.number===void 0?``:`#${t.pr.number}`,...t.pr?.url?{url:t.pr.url}:{}})),a=aG.get();aG.set({...a,[t.id]:[...a[t.id]??[],...i].slice(-50)})}function uG(e){let t=(0,g.useRef)(void 0);(0,g.useEffect)(()=>{lG(t.current,e),t.current=e},[e])}function dG({model:e,task:t}){B();let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(null),o=v(aG)[t.id],s=JSON.stringify([t.rowStatus,t.tabStatus,t.changes,t.pr,t.updatedAt]),c=(0,g.useRef)(0),l=(0,g.useRef)(()=>{});l.current=()=>{c.current=Date.now(),e.client.request(`task.timeline`,{taskId:t.id}).then(e=>{r(e.entries),a(null)},e=>a(e instanceof Error?e.message:String(e)))},(0,g.useEffect)(()=>{let e=window.setTimeout(()=>l.current(),Math.max(0,c.current+oG-Date.now()));return()=>window.clearTimeout(e)},[s]),(0,g.useEffect)(()=>{let e=window.setInterval(()=>l.current(),sG);return()=>window.clearInterval(e)},[]);let u=iG(n??[],o??[]),d=n=>{let r=nG(n);r?.to===`tab`?e.select(t.id,r.tabId):r?.to===`diff`?Gk({taskId:t.id,path:`.`,scope:`branch`}):r?.to===`pr`&&window.open(r.url,`_blank`,`noopener`)};return(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i&&(0,V.jsx)(`p`,{className:`mono text-error`,children:i}),!i&&n!==null&&u.length===0&&(0,V.jsx)(`p`,{className:`mx-2.5 my-3 font-mono text-meta text-subtle`,children:z(`files.activityEmpty`)}),u.map(e=>{let t=eG[e.kind]??tG,n=e.kind in eG?z(`files.activityKind.${e.kind}`):e.kind,r=nG(e);return(0,V.jsxs)(H,{variant:`row`,className:Qn({size:`file`}),disabled:!r,title:e.tail?`${n} · ${e.tail}`:n,onClick:()=>d(e),children:[(0,V.jsx)(`span`,{className:`flex-none text-muted tabular-nums`,children:cG(e.at)}),(0,V.jsx)(`span`,{className:`${nr} ${t.tone}`,children:t.glyph}),(0,V.jsxs)(`span`,{className:$n,children:[n,e.tail&&(0,V.jsxs)(`span`,{className:`text-muted`,children:[` `,e.tail]})]})]},`${e.at}:${e.kind}:${e.tabId??``}:${e.sha??``}:${e.tail}`)})]})}function fG({tabs:e,value:t,onChange:n,className:r}){return(0,V.jsx)(`div`,{className:ke(`flex gap-1`,r),role:`tablist`,children:e.map(e=>{let r=e.id===t;return(0,V.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":r,className:ke(`relative rounded-sm px-2.5 py-0.75 font-mono text-meta font-semibold`,`touch:after:absolute touch:after:content-[''] touch:after:-inset-x-0.5 touch:after:-top-2 touch:after:-bottom-1.5`,r?`bg-inset text-ink group-focus-within/pane:text-accent`:`text-muted`),onClick:()=>n(e.id),children:e.label},e.id)})})}var pG=[`all`,`changes`,`activity`,`notes`],mG={M:`text-warning`,A:`text-success`,"?":`text-success`,D:`text-error`,R:`text-accent`};function hG({model:e,task:t,narrow:n=!1}){let r=Zo();B();let[i,a]=(0,g.useState)(`all`),[o,s]=(0,g.useState)(`working`),[c,l]=(0,g.useState)(()=>Rs(e,`files.list`,{taskId:t.id})?.files??null),[u,d]=(0,g.useState)(()=>Rs(e,`diff.files`,{taskId:t.id})??null),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(new Set),[_,y]=(0,g.useState)(0),[b,x]=(0,g.useState)(0),S=(0,g.useRef)(null);uG(t);let C=v(ln),w=JSON.stringify(t.changes??null);(0,g.useEffect)(()=>{let n=!0,r=e=>n&&p(e instanceof Error?e.message:String(e));return Bs(e,`files.list`,{taskId:t.id}).then(e=>{n&&(l(e.files),p(null))},r),Bs(e,`diff.files`,{taskId:t.id}).then(e=>n&&d(e),r),()=>{n=!1}},[e,t.id,w,b]);let T=u?.base??null,E=i===`all`?c!==null:u!==null,D=o===`branch`&&T!=null,O=i===`activity`||i===`notes`?[]:i===`all`?jW(c??[],m).map(e=>({path:e.path,label:e.name,depth:e.depth,dir:e.dir,open:e.open})):(u?.files??[]).filter(e=>e.scope===(D?`branch`:`working`)).map(e=>({path:e.path,label:e.path,depth:0,dir:!1,open:!1,status:e.status,added:e.added,deleted:e.deleted})),k=Math.min(_,Math.max(0,O.length-1)),A=O[k],j=(e,t)=>h(n=>{let r=new Set(n);return t??!r.has(e)?r.add(e):r.delete(e),r}),ee=e=>Gk({taskId:t.id,path:e,scope:i===`changes`&&D?`branch`:`working`}),M=n=>{if(!C?.startsWith(`${t.id}::`)){G(z(`files.mentionNoEngine`),`error`);return}e.client.request(`term.input`,{stream:C,data:`@${n} `}).catch(e=>G(String(e),`error`))},N=n=>t.machine?G(z(`files.remoteNoExternal`,{host:t.machine.label}),`error`):void e.client.request(`file.openExternal`,{taskId:t.id,path:n}).then(()=>G(z(`taskops.openedExternal`))).catch(e=>G(e instanceof Error?e.message:String(e),`error`));return(0,V.jsxs)(`div`,{className:`group/pane flex min-h-0 min-w-0 flex-1 flex-col outline-none ${n?`px-1.5 pt-2.5 pb-2`:`pt-0.5 pr-1.5 pb-1.5 pl-0`}`,tabIndex:0,ref:S,onKeyDown:e=>{let t=e.key;if(t===`j`||t===`ArrowDown`)y(Math.min(O.length-1,k+1));else if(t===`k`||t===`ArrowUp`)y(Math.max(0,k-1));else if((t===`l`||t===`ArrowRight`)&&A?.dir)j(A.path,!0);else if((t===`h`||t===`ArrowLeft`)&&A?.dir)j(A.path,!1);else if(t===`[`||t===`]`)a(pG[(pG.indexOf(i)+(t===`]`?1:pG.length-1))%pG.length]??`all`);else if(t===`b`&&i===`changes`&&T!=null)s(o===`working`?`branch`:`working`);else if(t===`r`)x(e=>e+1);else if(t===`D`&&e.shiftKey)ee(`.`);else if(t===`d`&&A)ee(A.path);else if(t===`Enter`&&A)A.dir?j(A.path):ee(A.path);else if(t===`a`&&A)M(A.path);else if(t===`o`&&A&&!A.dir)N(A.path);else return;e.preventDefault()},children:[(0,V.jsx)(GW,{model:e,task:t}),(0,V.jsx)(AW,{model:e,task:t}),(0,V.jsx)($W,{model:e,task:t}),(0,V.jsx)(ZW,{model:e,task:t,base:T,files:u?.files??[],narrow:n}),(0,V.jsx)(fG,{className:`px-1 pb-1.5`,tabs:[{id:`all`,label:z(`files.all`)},{id:`changes`,label:z(`files.changes`)},{id:`activity`,label:z(`files.activity`)},{id:`notes`,label:z(`files.notes`)}],value:i,onChange:e=>{a(e),y(0)}}),i===`changes`&&(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-x-2.5 gap-y-1 px-2 pb-2 font-mono text-meta text-muted`,children:[(0,V.jsx)(`span`,{children:D?z(`files.scopeBranch`,{base:T??``}):z(`files.scopeWorking`)}),T==null?u&&(0,V.jsx)(`span`,{children:z(`files.noBase`)}):(0,V.jsx)(H,{hit:`tight`,onClick:()=>s(o===`working`?`branch`:`working`),children:z(r?`files.toggleScopeTouch`:`files.toggleScope`)}),(0,V.jsx)(ET,{text:z(`files.legend`)}),(0,V.jsx)(H,{hit:`tight`,onClick:()=>ee(`.`),children:z(r?`files.diffAllTouch`:`files.diffAll`)})]}),i===`activity`?(0,V.jsx)(dG,{model:e,task:t}):i===`notes`?(0,V.jsx)(zW,{model:e,task:t}):(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[f&&(0,V.jsx)(`p`,{className:`mono text-error`,children:f}),!f&&E&&O.length===0&&(0,V.jsx)(`p`,{className:`mx-2.5 my-3 font-mono text-meta text-subtle`,children:z(i===`all`?`files.emptyAll`:`files.emptyChanges`)}),O.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:Qn({selected:t===k,size:n?`file-narrow`:`file`}),style:{paddingLeft:8+e.depth*14},title:e.path,onClick:()=>{y(t),S.current?.focus(),e.dir?j(e.path):ee(e.path)},children:[e.status?(0,V.jsx)(`span`,{className:`${nr} ${mG[e.status]??``}`,children:e.status}):(0,V.jsx)(`span`,{className:`${nr} grid place-items-center text-subtle`,children:e.dir?(0,V.jsx)(Na,{right:!e.open}):null}),(0,V.jsx)(`span`,{className:$n,children:e.label}),e.added?(0,V.jsxs)(TL,{tone:`added`,children:[`+`,e.added]}):null,e.deleted?(0,V.jsxs)(TL,{tone:`removed`,children:[`−`,e.deleted]}):null]},e.path))]})]})}function gG({children:e}){return(0,V.jsx)(`svg`,{className:`size-3.5 ${uI}`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:e})}var _G={chat:(0,V.jsx)(`path`,{d:`M3 3.5h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8l-3 2.5v-2.5H3a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1zM5 6.5h6M5 8.5h4`}),files:(0,V.jsx)(`path`,{d:`M2 4.5a1 1 0 0 1 1-1h3l1.5 1.5H13a1 1 0 0 1 1 1V12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1z`}),diff:(0,V.jsx)(`path`,{d:`M3.5 2.5h9a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1zM8 5v4M6 7h4M6 11h4`}),browser:(0,V.jsx)(`path`,{d:`M8 2a6 6 0 1 0 0 12A6 6 0 0 0 8 2zM2 8h12M8 2c2.2 2 2.2 10 0 12M8 2c-2.2 2-2.2 10 0 12`})};function vG(e){if(e.kind===`files`)return z(`panel.files`);if(e.kind===`chat`)return z(`panel.chat`);if(e.kind===`diff`)return e.path===`.`?z(`panel.diff`):QO(e.path);let t=ZO(e);return t?$O(t):z(`panel.browser`)}function yG(e){return e.kind===`diff`?e.path===`.`?z(`preview.whole`):e.path:e.kind===`browser`&&ZO(e)||vG(e)}var bG=7.3,xG=51,SG=160;function CG(e,t){let n=0;for(let t of e){let e=0;for(let n of t)e+=(n.codePointAt(0)??0)>11903?2:1;n+=Math.min(SG,xG+e*bG)+2}return n<=t}var wG=null;function TG(e,t,n,r){let i=(t,r)=>({label:r,section:`move`,run:()=>Hk(e,e=>bk(e,n.id,t))}),a=[];return!t.bottom&&t.top.tabs.length>1?a.push(i(`bottom`,z(`panel.splitDown`))):t.bottom&&a.push(r===`top`?i(`bottom`,z(`panel.moveBottom`)):i(`top`,z(`panel.moveTop`))),a.push({label:z(`panel.close`),section:`close`,run:()=>qk(e,n.id)}),t.top.tabs.length+(t.bottom?.tabs.length??0)>1&&a.push({label:z(`panel.closeOthers`),section:`close`,run:()=>Hk(e,e=>yk(e,n.id))}),a}function EG(e,t){return[{label:z(`panel.newChat`),run:()=>Hk(e,e=>fk(e,`chat`))},{label:z(`panel.newFiles`),run:()=>Hk(e,e=>ck(e,t))},{label:z(`panel.newDiff`),run:()=>Hk(e,e=>uk(e,`.`,`working`))},{label:z(`panel.newBrowser`),run:()=>Hk(e,e=>lk(e,t))}]}function DG({taskId:e,panel:t,group:n,tabs:r,active:i,narrow:a,children:o}){B();let[s,c]=(0,g.useState)(null),l=()=>wG?.taskId===e,u=t=>{let r=wG;wG=null,c(null),r?.taskId===e&&Hk(e,e=>bk(e,r.id,n,t))},d=t=>{let r=t.currentTarget.getBoundingClientRect();nn.set({x:r.left,y:r.bottom+2,items:EG(e,n),target:t.currentTarget})},f=(e,t)=>{if(!l())return;e.preventDefault(),e.stopPropagation();let n=e.currentTarget.getBoundingClientRect();c({id:t,after:e.clientX>n.left+n.width/2})},p=(0,g.useRef)(null),[m,h]=(0,g.useState)(0);(0,g.useEffect)(()=>{let e=p.current;if(!e)return;let t=new ResizeObserver(([e])=>h(e?.contentRect.width??0));return t.observe(e),()=>t.disconnect()},[]);let _=m>0&&!CG(r.map(vG),m);return(0,g.useEffect)(()=>{p.current?.querySelector(`.is-active`)?.scrollIntoView({block:`nearest`,inline:`nearest`})},[i,r.length,_]),(0,V.jsxs)(`div`,{className:gI(a),style:{gridRow:n===`top`?1:4},onDragOver:e=>{l()&&(e.preventDefault(),c(null))},onDrop:e=>{e.preventDefault(),u()},children:[(0,V.jsx)(`div`,{className:_I,role:`tablist`,"aria-label":z(`panel.tabs`),ref:p,children:r.map((r,o)=>(0,V.jsxs)(`div`,{role:`presentation`,className:vI({active:r.id===i,compact:_}),"data-drop":s?.id===r.id?s.after?`after`:`before`:void 0,draggable:!a,onDragStart:()=>{wG={taskId:e,id:r.id}},onDragEnd:()=>{wG=null,c(null)},onDragOver:e=>f(e,r.id),onDrop:e=>{e.preventDefault(),e.stopPropagation(),u(o+(s?.id===r.id&&s.after?1:0))},onMouseDown:e=>{e.button===1&&e.preventDefault()},onAuxClick:t=>{t.button===1&&(t.preventDefault(),qk(e,r.id))},onContextMenu:i=>{a||eW(i,TG(e,t,r,n))},children:[(0,V.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r.id===i,className:yI(_&&r.id!==i),title:yG(r),onClick:()=>Hk(e,e=>ik(e,r.id)),children:[(0,V.jsx)(gG,{children:_G[r.kind]}),(0,V.jsx)(`span`,{className:`${bI} ${_&&r.id!==i?`hidden`:``}`,children:vG(r)})]}),(0,V.jsx)(`button`,{type:`button`,className:`${xI} ${_&&r.id!==i?`hidden`:``}`,"aria-label":z(`panel.close`),tabIndex:-1,onClick:()=>qk(e,r.id),children:`×`})]},r.id))}),!a&&(0,V.jsx)(`button`,{type:`button`,className:dI({tool:!0}),title:z(`panel.new`),"aria-label":z(`panel.new`),onClick:d,children:(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:`M8 3.5v9M3.5 8h9`})})}),o]})}var OG={md:`md`,markdown:`md`,html:`html`,htm:`html`,svg:`svg`,png:`image`,jpg:`image`,jpeg:`image`,gif:`image`,webp:`image`,pdf:`pdf`};function kG(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=t.lastIndexOf(`.`);return n<0?null:OG[t.slice(n+1).toLowerCase()]??null}function AG(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var jG=e=>new TextDecoder().decode(AG(e));function MG(e,t){if(e===`svg`)return`image/svg+xml`;if(e===`pdf`)return`application/pdf`;let n=t.slice(t.lastIndexOf(`.`)+1).toLowerCase();return n===`jpg`||n===`jpeg`?`image/jpeg`:n===`gif`?`image/gif`:n===`webp`?`image/webp`:`image/png`}var NG=`default-src 'none'; img-src data:; style-src 'unsafe-inline'`;function PG(e){let t=`<meta http-equiv="Content-Security-Policy" content="${NG}">`,n=/^\s*<!doctype[^>]*>/i.exec(e);return n?`${n[0]}${t}${e.slice(n[0].length)}`:`${t}${e}`}var FG=/^\[([^\]\n]+)\]\((https?:\/\/[^\s)]+)\)/,IG=/^https?:\/\/[^\s<>)\]]+/,LG=/[\p{L}\p{N}]/u;function RG(e){let t=[],n=``,r=()=>{n&&t.push({t:`text`,v:n}),n=``},i=0;for(;i<e.length;){let a=e.slice(i),o=e[i]??``;if(o==="`"){let n=e.indexOf("`",i+1);if(n>i+1){r(),t.push({t:`code`,v:e.slice(i+1,n)}),i=n+1;continue}}else if(a.startsWith(`**`)){let n=e.indexOf(`**`,i+2);if(n>i+2){r(),t.push({t:`bold`,c:RG(e.slice(i+2,n))}),i=n+2;continue}}else if(o===`*`||o===`_`&&!LG.test(e[i-1]??``)){let n=e.indexOf(o,i+1);if(n>i+1&&!/\s/.test(e[i+1]??` `)&&(o===`*`||!LG.test(e[n+1]??``))){r(),t.push({t:`em`,c:RG(e.slice(i+1,n))}),i=n+1;continue}}else if(o===`[`){let e=FG.exec(a);if(e){r(),t.push({t:`link`,href:e[2],c:RG(e[1])}),i+=e[0].length;continue}}else if(o===`h`&&!LG.test(e[i-1]??``)){let e=IG.exec(a);if(e){let n=e[0].replace(/[.,;:!?]+$/,``);r(),t.push({t:`link`,href:n,c:[{t:`text`,v:n}]}),i+=n.length;continue}}n+=o,i++}return r(),t}var zG=/^\s*(```+|~~~+)\s*([\w+#.-]*)\s*$/,BG=/^(#{1,6})\s+(.*?)\s*#*\s*$/,VG=/^(\s*)([-*+])\s+(.*)$/,HG=/^(\s*)\d+[.)]\s+(.*)$/,UG=/^\s*([-*_])(\s*\1){2,}\s*$/,WG=/^\s*\|.*\|\s*$/,GG=/^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$/,KG=e=>e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim());function qG(e){let t=e.replace(/\r\n?/g,`
|
|
131
|
+
`)}function YW(e){let t=[e.pass?`${e.pass} passed`:``,e.fail?`${e.fail} failed`:``,e.pending?`${e.pending} pending`:``].filter(Boolean);return t.length>0?t.join(` · `):null}async function XW(e){try{await navigator.clipboard.writeText(e),G(z(`files.report.copied`))}catch{G(z(`menu.copyFailed`),`error`)}}function ZW(e){B();let{model:t,task:n}=e,[r,i]=(0,g.useState)(!e.narrow),[a,o]=(0,g.useState)(null),s=!!n.report?.summary;(0,g.useEffect)(()=>{if(s)return;let e=!0;return Bs(t,`output.read`,{taskId:n.id,limit:8}).then(t=>e&&o(tL(t)),()=>{}),()=>{e=!1}},[t,n.id,s,n.rowStatus?.since]);let c=(0,g.useMemo)(()=>{let r=Rs(t,`pr.checks`,{taskId:n.id}),i=r?.outcome===`ok`?SW(r.checks):null;return{title:n.label||n.title,branch:n.branch,base:e.base,files:new Set(e.files.map(e=>e.path)).size,added:e.files.reduce((e,t)=>e+(t.added??0),0),removed:e.files.reduce((e,t)=>e+(t.deleted??0),0),text:n.report?.summary??a,reported:s,checks:i?YW(i):n.pr?.checkState&&n.pr.checkState!==`unknown`?n.pr.checkState:null,openTodos:VP(n).map(e=>e.text),pr:n.pr?{number:n.pr.number,url:n.pr.url}:null}},[t,n,e.base,e.files,a,s]);return(0,V.jsxs)(`section`,{className:`flex flex-col gap-1 px-2 pb-2 font-mono text-meta`,children:[(0,V.jsxs)(H,{variant:`row`,"aria-expanded":r,className:`flex items-center gap-1.5 text-left text-muted hover:text-ink`,onClick:()=>i(!r),children:[(0,V.jsx)(Na,{right:!r}),(0,V.jsxs)(`span`,{className:`min-w-0 flex-1 truncate`,children:[z(`files.report.title`),` · `,c.files,` · +`,c.added,` −`,c.removed]})]}),r&&(0,V.jsxs)(V.Fragment,{children:[(0,V.jsxs)(`p`,{className:`m-0 text-muted`,children:[c.branch,c.base?` → ${c.base}`:``,c.checks?` · ${c.checks}`:``,c.openTodos.length>0?` · ${z(`files.report.todos`,{count:c.openTodos.length})}`:``]}),c.text?(0,V.jsxs)(V.Fragment,{children:[(0,V.jsx)(`span`,{className:`text-subtle`,children:z(s?`files.report.claimed`:`files.report.lastReply`)}),(0,V.jsx)(`p`,{className:`m-0 max-h-24 overflow-y-auto whitespace-pre-wrap wrap-anywhere text-ink`,children:c.text})]}):(0,V.jsx)(`span`,{className:`text-subtle`,children:z(`files.report.none`)}),(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-x-3 gap-y-1`,children:[(0,V.jsx)(H,{hit:`tight`,onClick:()=>void XW(qW(c)),children:z(`files.report.copyNote`)}),(0,V.jsx)(H,{hit:`tight`,onClick:()=>void XW(JW(c)),children:z(`files.report.copyPr`)})]})]})]})}var QW=2e3;function $W({model:e,task:t}){B();let n=t.id,r=!t.machine,[i,a]=(0,g.useState)(null),[o,s]=(0,g.useState)(!1),c=i?.running===!0;if((0,g.useEffect)(()=>{if(!r)return;let t=!0,i=()=>e.client.request(`run.status`,{taskId:n}).then(e=>t&&a(e),()=>{});i();let o=c?window.setInterval(()=>void i(),QW):0;return()=>{t=!1,window.clearInterval(o)}},[e,n,r,c]),!r||!i?.script)return null;let l=async t=>{s(!0);try{a(await e.client.request(t,{taskId:n}))}catch(e){G(e instanceof Error?e.message:String(e),`error`)}finally{s(!1)}};return(0,V.jsxs)(`div`,{className:`flex flex-wrap justify-end gap-x-3.5 gap-y-1 px-2 pb-2 font-mono text-meta whitespace-nowrap`,children:[i.url&&(0,V.jsx)(H,{onClick:()=>i.url&&Kk(n,i.url),children:z(`files.run.open`,{port:i.port??``})}),(0,V.jsx)(H,{disabled:o,onClick:()=>void l(c?`run.stop`:`run.start`),children:z(c?`files.run.stop`:`files.run.run`)})]})}var eG={"session-start":{glyph:`○`,tone:`text-muted`},"turn-start":{glyph:`▶`,tone:`text-info`},"turn-complete":{glyph:`✓`,tone:`text-success`},"turn-failed":{glyph:`✗`,tone:`text-error`},"turn-interrupted":{glyph:`■`,tone:`text-warning`},"awaiting-input":{glyph:`?`,tone:`text-warning`},"session-end":{glyph:`○`,tone:`text-muted`},"tool-failed":{glyph:`!`,tone:`text-error`},"pre-compact":{glyph:`≈`,tone:`text-muted`},"post-compact":{glyph:`≈`,tone:`text-muted`},"subagent-start":{glyph:`↳`,tone:`text-muted`},"subagent-stop":{glyph:`↲`,tone:`text-muted`},commit:{glyph:`◆`,tone:`text-accent`},"pr-opened":{glyph:`⇡`,tone:`text-success`},"pr-merged":{glyph:`⇡`,tone:`text-merged`},"pr-closed":{glyph:`⇡`,tone:`text-muted`},"pr-failing":{glyph:`⇡`,tone:`text-error`},"pr-passing":{glyph:`⇡`,tone:`text-success`},"pr-conflict":{glyph:`⇡`,tone:`text-error`},"pr-changes":{glyph:`⇡`,tone:`text-warning`}},tG={glyph:`·`,tone:`text-muted`};function nG(e){return e.kind===`commit`?{to:`diff`}:e.kind.startsWith(`pr-`)?e.url?{to:`pr`,url:e.url}:null:e.tabId?{to:`tab`,tabId:e.tabId}:null}function rG(e,t){if(!t)return[];if(!e)return[`pr-opened`];let n=[];if(e.lifecycle!==t.lifecycle&&(t.lifecycle===`merged`?n.push(`pr-merged`):t.lifecycle===`closed`&&n.push(`pr-closed`)),e.lifecycle===`unknown`)return n;e.checkState!==t.checkState&&(t.checkState===`failing`?n.push(`pr-failing`):t.checkState===`passing`&&n.push(`pr-passing`));let r=e=>(e.mergeable??``).toUpperCase()===`CONFLICTING`;r(t)&&!r(e)&&n.push(`pr-conflict`);let i=e=>(e.reviewDecision??``).toUpperCase()===`CHANGES_REQUESTED`;return i(t)&&!i(e)&&n.push(`pr-changes`),n}function iG(e,t){return[...e,...t].sort((e,t)=>t.at-e.at)}var aG=_({}),oG=400,sG=15e3,cG=e=>new Date(e).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1});function lG(e,t){if(!e||e.id!==t.id)return;let n=rG(e.pr,t.pr);if(n.length===0)return;let r=Date.now(),i=n.map(e=>({kind:e,at:r,tail:t.pr?.number===void 0?``:`#${t.pr.number}`,...t.pr?.url?{url:t.pr.url}:{}})),a=aG.get();aG.set({...a,[t.id]:[...a[t.id]??[],...i].slice(-50)})}function uG(e){let t=(0,g.useRef)(void 0);(0,g.useEffect)(()=>{lG(t.current,e),t.current=e},[e])}function dG({model:e,task:t}){B();let[n,r]=(0,g.useState)(null),[i,a]=(0,g.useState)(null),o=v(aG)[t.id],s=JSON.stringify([t.rowStatus,t.tabStatus,t.changes,t.pr,t.updatedAt]),c=(0,g.useRef)(0),l=(0,g.useRef)(()=>{});l.current=()=>{c.current=Date.now(),e.client.request(`task.timeline`,{taskId:t.id}).then(e=>{r(e.entries),a(null)},e=>a(e instanceof Error?e.message:String(e)))},(0,g.useEffect)(()=>{let e=window.setTimeout(()=>l.current(),Math.max(0,c.current+oG-Date.now()));return()=>window.clearTimeout(e)},[s]),(0,g.useEffect)(()=>{let e=window.setInterval(()=>l.current(),sG);return()=>window.clearInterval(e)},[]);let u=iG(n??[],o??[]),d=n=>{let r=nG(n);r?.to===`tab`?e.select(t.id,r.tabId):r?.to===`diff`?Gk({taskId:t.id,path:`.`,scope:`branch`}):r?.to===`pr`&&window.open(r.url,`_blank`,`noopener`)};return(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[i&&(0,V.jsx)(`p`,{className:`mono text-error`,children:i}),!i&&n!==null&&u.length===0&&(0,V.jsx)(`p`,{className:`mx-2.5 my-3 font-mono text-meta text-subtle`,children:z(`files.activityEmpty`)}),u.map(e=>{let t=eG[e.kind]??tG,n=e.kind in eG?z(`files.activityKind.${e.kind}`):e.kind,r=nG(e);return(0,V.jsxs)(H,{variant:`row`,className:Qn({size:`file`}),disabled:!r,title:e.tail?`${n} · ${e.tail}`:n,onClick:()=>d(e),children:[(0,V.jsx)(`span`,{className:`flex-none text-muted tabular-nums`,children:cG(e.at)}),(0,V.jsx)(`span`,{className:`${nr} ${t.tone}`,children:t.glyph}),(0,V.jsxs)(`span`,{className:$n,children:[n,e.tail&&(0,V.jsxs)(`span`,{className:`text-muted`,children:[` `,e.tail]})]})]},`${e.at}:${e.kind}:${e.tabId??``}:${e.sha??``}:${e.tail}`)})]})}function fG({tabs:e,value:t,onChange:n,className:r}){return(0,V.jsx)(`div`,{className:ke(`flex gap-1`,r),role:`tablist`,children:e.map(e=>{let r=e.id===t;return(0,V.jsx)(`button`,{type:`button`,role:`tab`,"aria-selected":r,className:ke(`relative rounded-sm px-2.5 py-0.75 font-mono text-meta font-semibold`,`touch:after:absolute touch:after:content-[''] touch:after:-inset-x-0.5 touch:after:-top-2 touch:after:-bottom-1.5`,r?`bg-inset text-ink group-focus-within/pane:text-accent`:`text-muted`),onClick:()=>n(e.id),children:e.label},e.id)})})}var pG=[`all`,`changes`,`activity`,`notes`],mG={M:`text-warning`,A:`text-success`,"?":`text-success`,D:`text-error`,R:`text-accent`};function hG({model:e,task:t,narrow:n=!1}){let r=Zo();B();let[i,a]=(0,g.useState)(`all`),[o,s]=(0,g.useState)(`working`),[c,l]=(0,g.useState)(()=>Rs(e,`files.list`,{taskId:t.id})?.files??null),[u,d]=(0,g.useState)(()=>Rs(e,`diff.files`,{taskId:t.id})??null),[f,p]=(0,g.useState)(null),[m,h]=(0,g.useState)(new Set),[_,y]=(0,g.useState)(0),[b,x]=(0,g.useState)(0),S=(0,g.useRef)(null);uG(t);let C=v(ln),w=JSON.stringify(t.changes??null);(0,g.useEffect)(()=>{let n=!0,r=e=>n&&p(e instanceof Error?e.message:String(e));return Bs(e,`files.list`,{taskId:t.id}).then(e=>{n&&(l(e.files),p(null))},r),Bs(e,`diff.files`,{taskId:t.id}).then(e=>n&&d(e),r),()=>{n=!1}},[e,t.id,w,b]);let T=u?.base??null,E=i===`all`?c!==null:u!==null,D=o===`branch`&&T!=null,O=i===`activity`||i===`notes`?[]:i===`all`?jW(c??[],m).map(e=>({path:e.path,label:e.name,depth:e.depth,dir:e.dir,open:e.open})):(u?.files??[]).filter(e=>e.scope===(D?`branch`:`working`)).map(e=>({path:e.path,label:e.path,depth:0,dir:!1,open:!1,status:e.status,added:e.added,deleted:e.deleted})),k=Math.min(_,Math.max(0,O.length-1)),A=O[k],j=(e,t)=>h(n=>{let r=new Set(n);return t??!r.has(e)?r.add(e):r.delete(e),r}),ee=e=>Gk({taskId:t.id,path:e,scope:i===`changes`&&D?`branch`:`working`}),M=n=>{if(!C?.startsWith(`${t.id}::`)){G(z(`files.mentionNoEngine`),`error`);return}e.client.request(`term.input`,{stream:C,data:`@${n} `}).catch(e=>G(String(e),`error`))},N=n=>t.machine?G(z(`files.remoteNoExternal`,{host:t.machine.label}),`error`):void e.client.request(`file.openExternal`,{taskId:t.id,path:n}).then(()=>G(z(`taskops.openedExternal`))).catch(e=>G(e instanceof Error?e.message:String(e),`error`));return(0,V.jsxs)(`div`,{className:`group/pane flex min-h-0 min-w-0 flex-1 flex-col outline-none ${n?`px-1.5 pt-2.5 pb-2`:`pt-0.5 pr-1.5 pb-1.5 pl-0`}`,tabIndex:0,ref:S,onKeyDown:e=>{let t=e.key;if(t===`j`||t===`ArrowDown`)y(Math.min(O.length-1,k+1));else if(t===`k`||t===`ArrowUp`)y(Math.max(0,k-1));else if((t===`l`||t===`ArrowRight`)&&A?.dir)j(A.path,!0);else if((t===`h`||t===`ArrowLeft`)&&A?.dir)j(A.path,!1);else if(t===`[`||t===`]`)a(pG[(pG.indexOf(i)+(t===`]`?1:pG.length-1))%pG.length]??`all`);else if(t===`b`&&i===`changes`&&T!=null)s(o===`working`?`branch`:`working`);else if(t===`r`)x(e=>e+1);else if(t===`D`&&e.shiftKey)ee(`.`);else if(t===`d`&&A)ee(A.path);else if(t===`Enter`&&A)A.dir?j(A.path):ee(A.path);else if(t===`a`&&A)M(A.path);else if(t===`o`&&A&&!A.dir)N(A.path);else return;e.preventDefault()},children:[(0,V.jsx)(GW,{model:e,task:t}),(0,V.jsx)(AW,{model:e,task:t}),(0,V.jsx)($W,{model:e,task:t}),(0,V.jsx)(ZW,{model:e,task:t,base:T,files:u?.files??[],narrow:n}),(0,V.jsx)(fG,{className:`px-1 pb-1.5`,tabs:[{id:`all`,label:z(`files.all`)},{id:`changes`,label:z(`files.changes`)},{id:`activity`,label:z(`files.activity`)},{id:`notes`,label:z(`files.notes`)}],value:i,onChange:e=>{a(e),y(0)}}),i===`changes`&&(0,V.jsxs)(`div`,{className:`flex flex-wrap gap-x-2.5 gap-y-1 px-2 pb-2 font-mono text-meta text-muted`,children:[(0,V.jsx)(`span`,{children:D?z(`files.scopeBranch`,{base:T??``}):z(`files.scopeWorking`)}),T==null?u&&(0,V.jsx)(`span`,{children:z(`files.noBase`)}):(0,V.jsx)(H,{hit:`tight`,onClick:()=>s(o===`working`?`branch`:`working`),children:z(r?`files.toggleScopeTouch`:`files.toggleScope`)}),(0,V.jsx)(ET,{text:z(`files.legend`)}),(0,V.jsx)(H,{hit:`tight`,onClick:()=>ee(`.`),children:z(r?`files.diffAllTouch`:`files.diffAll`)})]}),i===`activity`?(0,V.jsx)(dG,{model:e,task:t}):i===`notes`?(0,V.jsx)(zW,{model:e,task:t}):(0,V.jsxs)(`div`,{className:`min-h-0 flex-1 overflow-y-auto`,children:[f&&(0,V.jsx)(`p`,{className:`mono text-error`,children:f}),!f&&E&&O.length===0&&(0,V.jsx)(`p`,{className:`mx-2.5 my-3 font-mono text-meta text-subtle`,children:z(i===`all`?`files.emptyAll`:`files.emptyChanges`)}),O.map((e,t)=>(0,V.jsxs)(`button`,{type:`button`,className:Qn({selected:t===k,size:n?`file-narrow`:`file`}),style:{paddingLeft:8+e.depth*14},title:e.path,onClick:()=>{y(t),S.current?.focus(),e.dir?j(e.path):ee(e.path)},children:[e.status?(0,V.jsx)(`span`,{className:`${nr} ${mG[e.status]??``}`,children:e.status}):(0,V.jsx)(`span`,{className:`${nr} grid place-items-center text-subtle`,children:e.dir?(0,V.jsx)(Na,{right:!e.open}):null}),(0,V.jsx)(`span`,{className:$n,children:e.label}),e.added?(0,V.jsxs)(TL,{tone:`added`,children:[`+`,e.added]}):null,e.deleted?(0,V.jsxs)(TL,{tone:`removed`,children:[`−`,e.deleted]}):null]},e.path))]})]})}function gG({children:e}){return(0,V.jsx)(`svg`,{className:`size-3.5 ${uI}`,viewBox:`0 0 16 16`,"aria-hidden":`true`,children:e})}var _G={chat:(0,V.jsx)(`path`,{d:`M3 3.5h10a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H8l-3 2.5v-2.5H3a1 1 0 0 1-1-1v-6a1 1 0 0 1 1-1zM5 6.5h6M5 8.5h4`}),files:(0,V.jsx)(`path`,{d:`M2 4.5a1 1 0 0 1 1-1h3l1.5 1.5H13a1 1 0 0 1 1 1V12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1z`}),diff:(0,V.jsx)(`path`,{d:`M3.5 2.5h9a1 1 0 0 1 1 1v9a1 1 0 0 1-1 1h-9a1 1 0 0 1-1-1v-9a1 1 0 0 1 1-1zM8 5v4M6 7h4M6 11h4`}),browser:(0,V.jsx)(`path`,{d:`M8 2a6 6 0 1 0 0 12A6 6 0 0 0 8 2zM2 8h12M8 2c2.2 2 2.2 10 0 12M8 2c-2.2 2-2.2 10 0 12`})};function vG(e){if(e.kind===`files`)return z(`panel.files`);if(e.kind===`chat`)return z(`panel.chat`);if(e.kind===`diff`)return e.path===`.`?z(`panel.diff`):QO(e.path);let t=ZO(e);return t?$O(t):z(`panel.browser`)}function yG(e){return e.kind===`diff`?e.path===`.`?z(`preview.whole`):e.path:e.kind===`browser`&&ZO(e)||vG(e)}var bG=7.3,xG=51,SG=160;function CG(e,t){let n=0;for(let t of e){let e=0;for(let n of t)e+=(n.codePointAt(0)??0)>11903?2:1;n+=Math.min(SG,xG+e*bG)+2}return n<=t}var wG=null;function TG(e,t,n,r){let i=(t,r)=>({label:r,section:`move`,run:()=>Hk(e,e=>bk(e,n.id,t))}),a=[];return!t.bottom&&t.top.tabs.length>1?a.push(i(`bottom`,z(`panel.splitDown`))):t.bottom&&a.push(r===`top`?i(`bottom`,z(`panel.moveBottom`)):i(`top`,z(`panel.moveTop`))),a.push({label:z(`panel.close`),section:`close`,run:()=>qk(e,n.id)}),t.top.tabs.length+(t.bottom?.tabs.length??0)>1&&a.push({label:z(`panel.closeOthers`),section:`close`,run:()=>Hk(e,e=>yk(e,n.id))}),a}function EG(e,t){return[{label:z(`panel.newChat`),run:()=>Hk(e,e=>fk(e,`chat`))},{label:z(`panel.newFiles`),run:()=>Hk(e,e=>ck(e,t))},{label:z(`panel.newDiff`),run:()=>Hk(e,e=>uk(e,`.`,`working`))},{label:z(`panel.newBrowser`),run:()=>Hk(e,e=>lk(e,t))}]}function DG({taskId:e,panel:t,group:n,tabs:r,active:i,narrow:a,children:o}){B();let[s,c]=(0,g.useState)(null),l=()=>wG?.taskId===e,u=t=>{let r=wG;wG=null,c(null),r?.taskId===e&&Hk(e,e=>bk(e,r.id,n,t))},d=t=>{let r=t.currentTarget.getBoundingClientRect();nn.set({x:r.left,y:r.bottom+2,items:EG(e,n),target:t.currentTarget})},f=(e,t)=>{if(!l())return;e.preventDefault(),e.stopPropagation();let n=e.currentTarget.getBoundingClientRect();c({id:t,after:e.clientX>n.left+n.width/2})},p=(0,g.useRef)(null),[m,h]=(0,g.useState)(0);(0,g.useEffect)(()=>{let e=p.current;if(!e)return;let t=new ResizeObserver(([e])=>h(e?.contentRect.width??0));return t.observe(e),()=>t.disconnect()},[]);let _=m>0&&!CG(r.map(vG),m);return(0,g.useEffect)(()=>{p.current?.querySelector(`.is-active`)?.scrollIntoView({block:`nearest`,inline:`nearest`})},[i,r.length,_]),(0,V.jsxs)(`div`,{className:gI(a),style:{gridRow:n===`top`?1:4},onDragOver:e=>{l()&&(e.preventDefault(),c(null))},onDrop:e=>{e.preventDefault(),u()},children:[(0,V.jsx)(`div`,{className:_I,role:`tablist`,"aria-label":z(`panel.tabs`),ref:p,children:r.map((r,o)=>(0,V.jsxs)(`div`,{role:`presentation`,className:vI({active:r.id===i,compact:_}),"data-drop":s?.id===r.id?s.after?`after`:`before`:void 0,draggable:!a,onDragStart:()=>{wG={taskId:e,id:r.id}},onDragEnd:()=>{wG=null,c(null)},onDragOver:e=>f(e,r.id),onDrop:e=>{e.preventDefault(),e.stopPropagation(),u(o+(s?.id===r.id&&s.after?1:0))},onMouseDown:e=>{e.button===1&&e.preventDefault()},onAuxClick:t=>{t.button===1&&(t.preventDefault(),qk(e,r.id))},onContextMenu:i=>{a||eW(i,TG(e,t,r,n))},children:[(0,V.jsxs)(`button`,{type:`button`,role:`tab`,"aria-selected":r.id===i,className:yI(_&&r.id!==i),title:yG(r),onClick:()=>Hk(e,e=>ik(e,r.id)),children:[(0,V.jsx)(gG,{children:_G[r.kind]}),(0,V.jsx)(`span`,{className:bI,children:vG(r)})]}),(0,V.jsx)(`button`,{type:`button`,className:`${xI} ${_&&r.id!==i?`hidden`:``}`,"aria-label":z(`panel.close`),tabIndex:-1,onClick:()=>qk(e,r.id),children:`×`})]},r.id))}),!a&&(0,V.jsx)(`button`,{type:`button`,className:dI({tool:!0}),title:z(`panel.new`),"aria-label":z(`panel.new`),onClick:d,children:(0,V.jsx)(`svg`,{viewBox:`0 0 16 16`,"aria-hidden":`true`,children:(0,V.jsx)(`path`,{d:`M8 3.5v9M3.5 8h9`})})}),o]})}var OG={md:`md`,markdown:`md`,html:`html`,htm:`html`,svg:`svg`,png:`image`,jpg:`image`,jpeg:`image`,gif:`image`,webp:`image`,pdf:`pdf`};function kG(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=t.lastIndexOf(`.`);return n<0?null:OG[t.slice(n+1).toLowerCase()]??null}function AG(e){let t=atob(e),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);return n}var jG=e=>new TextDecoder().decode(AG(e));function MG(e,t){if(e===`svg`)return`image/svg+xml`;if(e===`pdf`)return`application/pdf`;let n=t.slice(t.lastIndexOf(`.`)+1).toLowerCase();return n===`jpg`||n===`jpeg`?`image/jpeg`:n===`gif`?`image/gif`:n===`webp`?`image/webp`:`image/png`}var NG=`default-src 'none'; img-src data:; style-src 'unsafe-inline'`;function PG(e){let t=`<meta http-equiv="Content-Security-Policy" content="${NG}">`,n=/^\s*<!doctype[^>]*>/i.exec(e);return n?`${n[0]}${t}${e.slice(n[0].length)}`:`${t}${e}`}var FG=/^\[([^\]\n]+)\]\((https?:\/\/[^\s)]+)\)/,IG=/^https?:\/\/[^\s<>)\]]+/,LG=/[\p{L}\p{N}]/u;function RG(e){let t=[],n=``,r=()=>{n&&t.push({t:`text`,v:n}),n=``},i=0;for(;i<e.length;){let a=e.slice(i),o=e[i]??``;if(o==="`"){let n=e.indexOf("`",i+1);if(n>i+1){r(),t.push({t:`code`,v:e.slice(i+1,n)}),i=n+1;continue}}else if(a.startsWith(`**`)){let n=e.indexOf(`**`,i+2);if(n>i+2){r(),t.push({t:`bold`,c:RG(e.slice(i+2,n))}),i=n+2;continue}}else if(o===`*`||o===`_`&&!LG.test(e[i-1]??``)){let n=e.indexOf(o,i+1);if(n>i+1&&!/\s/.test(e[i+1]??` `)&&(o===`*`||!LG.test(e[n+1]??``))){r(),t.push({t:`em`,c:RG(e.slice(i+1,n))}),i=n+1;continue}}else if(o===`[`){let e=FG.exec(a);if(e){r(),t.push({t:`link`,href:e[2],c:RG(e[1])}),i+=e[0].length;continue}}else if(o===`h`&&!LG.test(e[i-1]??``)){let e=IG.exec(a);if(e){let n=e[0].replace(/[.,;:!?]+$/,``);r(),t.push({t:`link`,href:n,c:[{t:`text`,v:n}]}),i+=n.length;continue}}n+=o,i++}return r(),t}var zG=/^\s*(```+|~~~+)\s*([\w+#.-]*)\s*$/,BG=/^(#{1,6})\s+(.*?)\s*#*\s*$/,VG=/^(\s*)([-*+])\s+(.*)$/,HG=/^(\s*)\d+[.)]\s+(.*)$/,UG=/^\s*([-*_])(\s*\1){2,}\s*$/,WG=/^\s*\|.*\|\s*$/,GG=/^\s*\|?\s*:?-{2,}:?\s*(\|\s*:?-{2,}:?\s*)*\|?\s*$/,KG=e=>e.trim().replace(/^\|/,``).replace(/\|$/,``).split(`|`).map(e=>e.trim());function qG(e){let t=e.replace(/\r\n?/g,`
|
|
132
132
|
`).split(`
|
|
133
133
|
`),n=[],r=[],i=()=>{r.length>0&&n.push({t:`para`,c:RG(r.join(`
|
|
134
134
|
`))}),r=[]};for(let e=0;e<t.length;e++){let a=t[e],o=zG.exec(a);if(o){i();let r=o[1][0],a=[];for(e++;e<t.length&&!RegExp(`^\\s*${r}{3,}\\s*$`).test(t[e]);e++)a.push(t[e]);n.push({t:`code`,lang:o[2]??``,v:a.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer base{button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}textarea{resize:none;field-sizing:content}select{appearance:none;cursor:pointer}}@layer theme{:root,:host{--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--radius-xs:var(--radius-xs);--radius-sm:var(--radius-sm);--shadow-popover:var(--shadow-popover);--shadow-dialog:var(--shadow-dialog)}}@layer components{.mono{font:var(--fs-meta) var(--mono)}}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}@media (hover:none) and (pointer:coarse){.touch-hit{position:relative}.touch-hit:after{content:"";position:absolute;inset:-12px -6px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-1\.5{inset-inline:calc(var(--spacing) * 1.5)}.inset-y-0{inset-block:0}.-top-2{top:calc(var(--spacing) * -2)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-0\.75{top:calc(var(--spacing) * .75)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-0\.75{right:calc(var(--spacing) * .75)}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.right-full{right:100%}.bottom-2\.5{bottom:calc(var(--spacing) * 2.5)}.bottom-8\.5{bottom:calc(var(--spacing) * 8.5)}.bottom-19{bottom:calc(var(--spacing) * 19)}.bottom-\[34px\]{bottom:34px}.bottom-\[calc\(100\%\+6px\)\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-7{z-index:7}.z-8{z-index:8}.z-20{z-index:20}.z-30{z-index:30}.z-35{z-index:35}.z-40{z-index:40}.col-1{grid-column:1}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.row-1{grid-row:1}.row-2{grid-row:2}.row-3{grid-row:3}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-0\.5{margin:calc(var(--spacing) * -.5)}.m-0{margin:0}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0{margin-inline:0}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-1\.25{margin-inline:calc(var(--spacing) * 1.25)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5)}.mx-auto{margin-inline:auto}.-my-0\.75{margin-block:calc(var(--spacing) * -.75)}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-2\.5{margin-block:calc(var(--spacing) * 2.5)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[min\(16vh\,8rem\)\]{margin-top:min(16vh,8rem)}.mt-auto{margin-top:auto}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.-mr-\[4\.5px\]{margin-right:-4.5px}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[-6px\]{margin-right:-6px}.mr-\[7px\]{margin-right:7px}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-px{margin-bottom:1px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0{margin-left:0}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-7{margin-left:calc(var(--spacing) * 7)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.scrollbar-none::-webkit-scrollbar{display:none}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}@media (hover:none) and (pointer:coarse){.keys-only{display:none!important}}.table{display:table}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-1\.75{width:calc(var(--spacing) * 1.75);height:calc(var(--spacing) * 1.75)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-3\.25{width:calc(var(--spacing) * 3.25);height:calc(var(--spacing) * 3.25)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-5\.5{width:calc(var(--spacing) * 5.5);height:calc(var(--spacing) * 5.5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-6\.5{width:calc(var(--spacing) * 6.5);height:calc(var(--spacing) * 6.5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.h-0\.75{height:calc(var(--spacing) * .75)}.h-1{height:var(--spacing)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[2\.8em\]{height:2.8em}.h-\[min\(640px\,80vh\)\]{height:min(640px,80vh)}.h-full{height:100%}.h-px{height:1px}.max-h-2\/5{max-height:40%}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-47{max-height:calc(var(--spacing) * 47)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[12lh\]{max-height:12lh}.max-h-\[38vh\]{max-height:38vh}.max-h-\[40vh\]{max-height:40vh}.max-h-\[44vh\]{max-height:44vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[52vh\]{max-height:52vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[calc\(100vh-16px\)\]{max-height:calc(100vh - 16px)}.max-h-\[min\(50vh\,420px\)\]{max-height:min(50vh,420px)}.max-h-\[min\(380px\,60vh\)\]{max-height:min(380px,60vh)}.min-h-0{min-height:0}.min-h-5\.5{min-height:calc(var(--spacing) * 5.5)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-6\.5{min-height:calc(var(--spacing) * 6.5)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-18{min-height:calc(var(--spacing) * 18)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-30{min-height:calc(var(--spacing) * 30)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[4\.5em\]{min-height:4.5em}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-7\.5{width:calc(var(--spacing) * 7.5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-24{width:calc(var(--spacing) * 24)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-85{width:calc(var(--spacing) * 85)}.w-\[1ch\]{width:1ch}.w-\[5ch\]{width:5ch}.w-\[8ch\]{width:8ch}.w-\[16ch\]{width:16ch}.w-\[min\(440px\,calc\(100vw-32px\)\)\]{width:min(440px,100vw - 32px)}.w-\[min\(460px\,100\%\)\]{width:min(460px,100%)}.w-\[min\(560px\,calc\(100vw-24px\)\)\]{width:min(560px,100vw - 24px)}.w-\[min\(620px\,calc\(100vw-32px\)\)\]{width:min(620px,100vw - 32px)}.w-\[min\(680px\,calc\(100vw-32px\)\)\]\!{width:min(680px,100vw - 32px)!important}.w-\[min\(880px\,calc\(100vw-32px\)\)\]{width:min(880px,100vw - 32px)}.w-full{width:100%}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-90{max-width:calc(var(--spacing) * 90)}.max-w-105{max-width:calc(var(--spacing) * 105)}.max-w-130{max-width:calc(var(--spacing) * 130)}.max-w-\[20ch\]{max-width:20ch}.max-w-\[28ch\]{max-width:28ch}.max-w-\[40em\]{max-width:40em}.max-w-\[44ch\]{max-width:44ch}.max-w-\[55\%\]{max-width:55%}.max-w-\[104ch\]{max-width:104ch}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-\[min\(52ch\,calc\(100vw-16px\)\)\]{max-width:min(52ch,100vw - 16px)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-18{min-width:calc(var(--spacing) * 18)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-50{min-width:calc(var(--spacing) * 50)}.min-w-55{min-width:calc(var(--spacing) * 55)}.min-w-\[3ch\]{min-width:3ch}.min-w-\[4ch\]{min-width:4ch}.min-w-\[5ch\]{min-width:5ch}.min-w-\[14ch\]{min-width:14ch}.min-w-\[36ch\]{min-width:36ch}.min-w-\[min\(34ch\,calc\(100vw-16px\)\)\]{min-width:min(34ch,100vw - 16px)}.min-w-max{min-width:max-content}.\[flex\:1_1_0\]{flex:1 1 0}.flex-1{flex:1}.flex-\[0_0_1\.5ch\]{flex:0 0 1.5ch}.flex-auto{flex:auto}.flex-initial{flex:0 auto}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-32{flex-basis:calc(var(--spacing) * 32)}.basis-40{flex-basis:calc(var(--spacing) * 40)}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.origin-top-left{transform-origin:0 0}.-translate-x-1{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pr-list-in{animation:.14s ease-out pr-list-in}.animate-row-tip-in{animation:.14s ease-out row-tip-in}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scrollbar-none{scrollbar-width:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-\[2_220px\]{columns:2 220px}.break-inside-avoid{break-inside:avoid}.auto-rows-\[3px\]{grid-auto-rows:3px}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[4ch_4ch_2ch_1fr\]{grid-template-columns:4ch 4ch 2ch 1fr}.grid-cols-\[max-content_minmax\(0\,1fr\)\]{grid-template-columns:max-content minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_104px_72px\]{grid-template-columns:minmax(0,1fr) 104px 72px}.grid-cols-\[minmax\(260px\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(260px,2fr) minmax(0,3fr)}.grid-cols-\[repeat\(3\,3px\)\]{grid-template-columns:repeat(3,3px)}.grid-cols-\[repeat\(auto-fill\,minmax\(96px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.grid-cols-\[repeat\(auto-fit\,minmax\(min\(100\%\,17rem\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.grid-cols-\[var\(--rail-w\,minmax\(220px\,280px\)\)_1fr\]{grid-template-columns:var(--rail-w,minmax(220px,280px)) 1fr}.grid-cols-\[var\(--rail-w\,minmax\(220px\,280px\)\)_1fr_var\(--panel-w\,clamp\(300px\,28vw\,440px\)\)\]{grid-template-columns:var(--rail-w,minmax(220px,280px)) 1fr var(--panel-w,clamp(300px, 28vw, 440px))}.grid-rows-\[1fr_auto\]{grid-template-rows:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.\[align-items\:start\]{align-items:start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-0\.75{gap:calc(var(--spacing) * .75)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-1\.25{gap:calc(var(--spacing) * 1.25)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-4\.5{gap:calc(var(--spacing) * 4.5)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-px{gap:1px}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-3\.5{column-gap:calc(var(--spacing) * 3.5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0{row-gap:0}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-center{align-self:center}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-center{justify-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-1px\)\]{border-radius:calc(var(--radius) - 1px)}.rounded-\[calc\(var\(--radius\)-4px\)\]{border-radius:calc(var(--radius) - 4px)}.rounded-\[calc\(var\(--radius\)-6px\)\]{border-radius:calc(var(--radius) - 6px)}.rounded-\[calc\(var\(--radius-sm\)-2px\)\]{border-radius:calc(var(--radius-sm) - 2px)}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-hairline{border-width:var(--hairline);border-style:solid}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-hairline{border-top-width:var(--hairline);border-top-style:solid}.border-b-hairline{border-bottom-width:var(--hairline);border-bottom-style:solid}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color-mix\(in_srgb\,var\(--accent\)_45\%\,transparent\)\]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-\[color-mix\(in_srgb\,var\(--accent\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}}.border-accent{border-color:var(--accent)}.border-current{border-color:currentColor}.border-line{border-color:var(--line)}.border-line-active{border-color:var(--line-active)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--warning)}.border-t-line{border-top-color:var(--line)}.border-b-line{border-bottom-color:var(--line)}.bg-\(--scrim\){background-color:var(--scrim)}.bg-\[color-mix\(in_srgb\,currentColor_20\%\,transparent\)\]{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_srgb\,currentColor_20\%\,transparent\)\]{background-color:color-mix(in srgb,currentColor 20%,transparent)}}.bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]{background-color:color-mix(in srgb,currentcolor 18%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-accent\/25{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/25{background-color:color-mix(in oklab, var(--accent) 25%, transparent)}}.bg-current{background-color:currentColor}.bg-diff-added-bg{background-color:var(--diff-added-bg)}.bg-diff-removed-bg{background-color:var(--diff-removed-bg)}.bg-error{background-color:var(--error)}.bg-hover{background-color:var(--hover)}.bg-inset{background-color:var(--inset)}.bg-line{background-color:var(--line)}.bg-menu{background-color:var(--menu)}.bg-muted{background-color:var(--muted)}.bg-paper{background-color:var(--paper)}.bg-subtle{background-color:var(--subtle)}.bg-success{background-color:var(--success)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--warning)}.fill-none{fill:none}.stroke-current{stroke:currentColor}.\[stroke-width\:1\.3\]{stroke-width:1.3px}.\[stroke-width\:1\.25\]{stroke-width:1.25px}.stroke-\[1\.4\]{stroke-width:1.4px}.stroke-\[1\.75\]{stroke-width:1.75px}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-1\.25{padding-inline:calc(var(--spacing) * 1.25)}.px-1\.75{padding-inline:calc(var(--spacing) * 1.75)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-0\.75{padding-block:calc(var(--spacing) * .75)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-1\.25{padding-block:calc(var(--spacing) * 1.25)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-\[12vh\]{padding-top:12vh}.pr-0{padding-right:0}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-0{padding-left:0}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-7\.5{padding-left:calc(var(--spacing) * 7.5)}.pl-\[4ch\]{padding-left:4ch}.pl-\[calc\(2ch\+16px\)\]{padding-left:calc(2ch + 16px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-\[inherit\]{font-family:inherit}.font-mono{font-family:var(--mono)}.font-sans{font-family:var(--sans)}.text-body{font-size:var(--fs-body);line-height:var(--tw-leading,normal)}.text-display{font-size:var(--fs-display);line-height:var(--tw-leading,normal)}.text-meta{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.text-meta\/body{font-size:var(--fs-meta);line-height:1.4}.text-meta\/normal{font-size:var(--fs-meta);line-height:var(--leading-normal)}.text-title{font-size:var(--fs-title);line-height:var(--tw-leading,normal)}.\[font-size\:var\(--fs-meta\)\]{font-size:var(--fs-meta)}.text-\(length\:--fs-body\){font-size:var(--fs-body)}.text-\(length\:--fs-meta\){font-size:var(--fs-meta)}.text-\(length\:--fs-title\){font-size:var(--fs-title)}.text-\[length\:var\(--fs-body\)\]{font-size:var(--fs-body)}.text-\[length\:var\(--fs-meta\)\],.text-size-meta{font-size:var(--fs-meta)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[inherit\]{--tw-leading:inherit;line-height:inherit}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-bold\!{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\]{--tw-tracking:0;letter-spacing:0}.tracking-code{--tw-tracking:.08em;letter-spacing:.08em}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.tab-1{tab-size:1}.tab-2{tab-size:2}.text-accent{color:var(--accent)}.text-diff-added{color:var(--diff-added)}.text-diff-removed{color:var(--diff-removed)}.text-error{color:var(--error)}.text-info{color:var(--info)}.text-inherit{color:inherit}.text-ink{color:var(--ink)}.text-merged{color:var(--merged)}.text-muted{color:var(--muted)}.text-paper{color:var(--paper)}.text-subtle{color:var(--subtle)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-12{opacity:.12}.opacity-60{opacity:.6}.shadow-dialog{--tw-shadow:var(--shadow-dialog);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-popover{--tw-shadow:var(--shadow-popover);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[outline\:0\]{outline:0}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,border-color\]{transition-property:background,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-columns\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,translate\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[rotate\,opacity\]{transition-property:rotate,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background\]{transition-property:transform,background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.transition-padding-left{transition-property:padding-left}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.ease-\[ease\]{--tw-ease:ease;transition-timing-function:ease}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-snap{--tw-ease:cubic-bezier(.2, 0, 0, 1);transition-timing-function:cubic-bezier(.2,0,0,1)}.\[contain\:layout_paint\]{contain:layout paint}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--divider\:5px\]{--divider:5px}.\[--ml\:8px\]{--ml:8px}.\[--mt\:6px\]{--mt:6px}.\[border-bottom\:var\(--hairline\)_solid_var\(--line\)\]{border-bottom:var(--hairline) solid var(--line)}.\[border-bottom\:var\(--hairline\)_solid_var\(--warning\)\]{border-bottom:var(--hairline) solid var(--warning)}.\[border-left\:var\(--hairline\)_solid_var\(--accent\)\]{border-left:var(--hairline) solid var(--accent)}.\[border-left\:var\(--hairline\)_solid_var\(--line\)\]{border-left:var(--hairline) solid var(--line)}.\[border-right\:var\(--hairline\)_solid_var\(--line\)\]{border-right:var(--hairline) solid var(--line)}.\[border-top\:var\(--hairline\)_solid_var\(--accent\)\]{border-top:var(--hairline) solid var(--accent)}.\[border-top\:var\(--hairline\)_solid_var\(--line\)\]{border-top:var(--hairline) solid var(--line)}.\[border\:0\]{border:0}.\[font\:400_var\(--fs-display\)\/1_var\(--sans\)\]{font:400 var(--fs-display)/1 var(--sans)}.\[font\:inherit\]{font:inherit}.\[stroke-linecap\:round\]{stroke-linecap:round}.\[stroke-linejoin\:round\]{stroke-linejoin:round}:is(.\*\:relative>*){position:relative}:is(.\*\:col-1>*){grid-column:1}.not-first\:mt-4\.5:not(:first-child){margin-top:calc(var(--spacing) * 4.5)}.group-last-of-type\/chip\:right-0:is(:where(.group\/chip):last-of-type *){right:0}.group-last-of-type\/chip\:left-auto:is(:where(.group\/chip):last-of-type *){left:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *),.group-focus-within\/eng\:opacity-100:is(:where(.group\/eng):focus-within *){opacity:1}.group-focus-within\/pane\:text-accent:is(:where(.group\/pane):focus-within *){color:var(--accent)}.group-focus-within\/rail\:\[box-shadow\:inset_0_0_0_1px_var\(--focus\)\]:is(:where(.group\/rail):focus-within *){box-shadow:inset 0 0 0 1px var(--focus)}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/eng\:opacity-100:is(:where(.group\/eng):hover *),.group-hover\/entry\:opacity-100:is(:where(.group\/entry):hover *),.group-hover\/head\:opacity-100:is(:where(.group\/head):hover *),.group-hover\/ptab\:opacity-100:is(:where(.group\/ptab):hover *){opacity:1}}.group-focus\/preview\:bg-accent-soft:is(:where(.group\/preview):focus *){background-color:var(--accent-soft)}.group-focus-visible\/toggle\:opacity-100:is(:where(.group\/toggle):focus-visible *){opacity:1}.group-aria-checked\:\[transform\:translateX\(12px\)\]:is(:where(.group)[aria-checked=true] *){transform:translate(12px)}.group-aria-checked\:bg-paper:is(:where(.group)[aria-checked=true] *){background-color:var(--paper)}.group-aria-selected\/tab\:text-accent:is(:where(.group\/tab)[aria-selected=true] *){color:var(--accent)}.placeholder\:text-subtle::placeholder{color:var(--subtle)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:0}.before\:top-0:before{content:var(--tw-content);top:0}.before\:top-\[calc\(var\(--divider\)\/2\)\]:before{content:var(--tw-content);top:calc(var(--divider) / 2)}.before\:right-0:before{content:var(--tw-content);right:0}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-1:before{content:var(--tw-content);left:var(--spacing)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:rounded-bl-\[6px\]:before{content:var(--tw-content);border-bottom-left-radius:6px}.before\:bg-line:before{content:var(--tw-content);background-color:var(--line)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.before\:\[border-bottom\:var\(--hairline\)_solid_var\(--line-active\)\]:before{content:var(--tw-content);border-bottom:var(--hairline) solid var(--line-active)}.before\:\[border-left\:var\(--hairline\)_solid_var\(--line-active\)\]:before{content:var(--tw-content);border-left:var(--hairline) solid var(--line-active)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:-inset-y-0\.75:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -.75)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:right-0:after{content:var(--tw-content);right:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:w-\(--fill\):after{content:var(--tw-content);width:var(--fill)}.after\:w-0\.5:after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-line-active:after{content:var(--tw-content);background-color:var(--line-active)}.after\:font-mono:after{content:var(--tw-content);font-family:var(--mono)}.after\:text-meta:after{content:var(--tw-content);font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.after\:font-medium:after{content:var(--tw-content);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.after\:text-accent:after{content:var(--tw-content);color:var(--accent)}.after\:normal-nums:after{content:var(--tw-content);font-variant-numeric:normal}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-120:after{content:var(--tw-content);--tw-duration:.12s;transition-duration:.12s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'move\'\]:after{--tw-content:"move";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:border-t-hairline:first-child{border-top-width:var(--hairline);border-top-style:solid}.first\:border-t-line:first-child{border-top-color:var(--line)}.first\:pt-0:first-child{padding-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:border-focus:focus-within{border-color:var(--focus)}.focus-within\:border-line-active:focus-within{border-color:var(--line-active)}@media (hover:hover){.hover\:border-line-active:hover{border-color:var(--line-active)}.hover\:bg-hover:hover{background-color:var(--hover)}.hover\:bg-inset:hover{background-color:var(--inset)}.hover\:text-ink:hover{color:var(--ink)}.hover\:underline:hover{text-decoration-line:underline}.hover\:before\:bg-line-active:hover:before{content:var(--tw-content);background-color:var(--line-active)}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.hover\:after\:delay-250:hover:after{content:var(--tw-content);transition-delay:.25s}}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:border-focus:focus{border-color:var(--focus)}.focus\:bg-hover:focus{background-color:var(--hover)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-accent:focus-visible{border-color:var(--accent)}.focus-visible\:border-line-active:focus-visible{border-color:var(--line-active)}.focus-visible\:bg-accent-soft:focus-visible{background-color:var(--accent-soft)}.focus-visible\:bg-inset:focus-visible{background-color:var(--inset)}.focus-visible\:text-ink:focus-visible{color:var(--ink)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-focus:focus-visible{outline-color:var(--focus)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-97:active{--tw-scale-x:97%;--tw-scale-y:97%;--tw-scale-z:97%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:after\:bg-accent:active:after{content:var(--tw-content);background-color:var(--accent)}.active\:after\:opacity-100:active:after{content:var(--tw-content);opacity:1}.active\:after\:delay-0:active:after{content:var(--tw-content);transition-delay:0s}@media (hover:hover){.enabled\:hover\:bg-hover:enabled:hover{background-color:var(--hover)}.enabled\:hover\:text-ink:enabled:hover{color:var(--ink)}}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.has-\[\:disabled\]\:opacity-60:has(:disabled){opacity:.6}.aria-checked\:border-accent[aria-checked=true]{border-color:var(--accent)}.aria-checked\:bg-accent[aria-checked=true]{background-color:var(--accent)}.aria-expanded\:bg-hover[aria-expanded=true]{background-color:var(--hover)}.aria-expanded\:text-ink[aria-expanded=true]{color:var(--ink)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.aria-invalid\:text-muted[aria-invalid=true]{color:var(--muted)}.aria-pressed\:underline[aria-pressed=true]{text-decoration-line:underline}.aria-pressed\:opacity-100[aria-pressed=true]{opacity:1}.aria-selected\:bg-inset[aria-selected=true]{background-color:var(--inset)}.aria-selected\:text-ink[aria-selected=true]{color:var(--ink)}.aria-\[current\=true\]\:text-accent[aria-current=true]{color:var(--accent)}.data-menu-open\:bg-hover[data-menu-open]{background-color:var(--hover)}.data-\[drop\=after\]\:shadow-\[inset_-2px_0_0_var\(--accent\)\][data-drop=after]{--tw-shadow:inset -2px 0 0 var(--tw-shadow-color,var(--accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[drop\=before\]\:shadow-\[inset_2px_0_0_var\(--accent\)\][data-drop=before]{--tw-shadow:inset 2px 0 0 var(--tw-shadow-color,var(--accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (prefers-reduced-motion:no-preference){.motion-safe\:\[animation\:rise-in_140ms_ease-out\,sink-out_140ms_ease-in_var\(--hud-out\,3860ms\)_forwards\]{animation:rise-in .14s ease-out,sink-out .14s ease-in var(--hud-out,3.86s) forwards}.motion-safe\:\[animation\:sink-out_140ms_ease-in_var\(--hud-out\,3860ms\)_forwards\]{animation:sink-out .14s ease-in var(--hud-out,3.86s) forwards}.motion-safe\:animate-fade-in{animation:.14s ease-out fade-in}.motion-safe\:animate-menu-in{animation:.12s cubic-bezier(.16,1,.3,1) menu-in}.motion-safe\:animate-rise-in{animation:.18s cubic-bezier(.16,1,.3,1) rise-in}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:active\:scale-none:active{scale:none}}@media (forced-colors:active){.forced-colors\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.forced-colors\:-outline-offset-2{outline-offset:calc(2px * -1)}.forced-colors\:outline-\[Highlight\]{outline-color:highlight}.forced-colors\:outline-solid{--tw-outline-style:solid;outline-style:solid}}@media (prefers-reduced-motion:no-preference){html[data-running-title=shimmer] .running-shimmer\:animate-shimmer{animation:2.4s linear infinite shimmer}html[data-running-title=shimmer] .running-shimmer\:bg-\[linear-gradient\(90deg\,var\(--ink\)_0\%\,var\(--ink\)_35\%\,var\(--accent\)_50\%\,var\(--ink\)_65\%\,var\(--ink\)_100\%\)\]{background-image:linear-gradient(90deg,var(--ink) 0%,var(--ink) 35%,var(--accent) 50%,var(--ink) 65%,var(--ink) 100%)}html[data-running-title=shimmer] .running-shimmer\:bg-size-\[300\%_100\%\]{background-size:300% 100%}html[data-running-title=shimmer] .running-shimmer\:bg-clip-text{-webkit-background-clip:text;background-clip:text}html[data-running-title=shimmer] .running-shimmer\:text-transparent{color:#0000}}html[data-working-border=flow] .working-flow\:border-transparent{border-color:#0000}html[data-working-border=flow] .working-flow\:\[background\:linear-gradient\(var\(--paper\)\,var\(--paper\)\)_0_0\/100\%_100\%_padding-box\,linear-gradient\(90deg\,var\(--line\)\,var\(--task-ink\,var\(--focus\)\)\,var\(--line\)\,var\(--task-ink\,var\(--focus\)\)\,var\(--line\)\)_0_0\/300\%_100\%_border-box\]{background:linear-gradient(var(--paper),var(--paper)) 0 0/100% 100% padding-box,linear-gradient(90deg,var(--line),var(--task-ink,var(--focus)),var(--line),var(--task-ink,var(--focus)),var(--line)) 0 0/300% 100% border-box}@media (prefers-reduced-motion:no-preference){html[data-working-border=flow] .working-flow\:motion-safe\:animate-flow-border{animation:3s linear infinite flow-border}}@media (hover:none) and (pointer:coarse){.touch\:relative{position:relative}.touch\:mt-0\.5{margin-top:calc(var(--spacing) * .5)}.touch\:flex{display:flex}.touch\:hidden\!{display:none!important}.touch\:size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.touch\:size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.touch\:min-h-9{min-height:calc(var(--spacing) * 9)}.touch\:min-h-10{min-height:calc(var(--spacing) * 10)}.touch\:min-h-11{min-height:calc(var(--spacing) * 11)}.touch\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.touch\:py-1\.75{padding-block:calc(var(--spacing) * 1.75)}.touch\:py-2{padding-block:calc(var(--spacing) * 2)}.touch\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.touch\:text-display{font-size:var(--fs-display);line-height:var(--tw-leading,normal)}.touch\:opacity-100{opacity:1}.touch\:select-none{-webkit-user-select:none;user-select:none}.touch\:touch-callout-none{-webkit-touch-callout:none}.touch\:after\:absolute:after{content:var(--tw-content);position:absolute}.touch\:after\:-inset-1\.5:after{content:var(--tw-content);inset:calc(var(--spacing) * -1.5)}.touch\:after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.touch\:after\:-inset-2\.5:after{content:var(--tw-content);inset:calc(var(--spacing) * -2.5)}.touch\:after\:-inset-x-0\.5:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -.5)}.touch\:after\:-inset-x-0\.75:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -.75)}.touch\:after\:-inset-x-1\.5:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -1.5)}.touch\:after\:-inset-x-2:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -2)}.touch\:after\:-inset-x-px:after{content:var(--tw-content);inset-inline:-1px}.touch\:after\:-inset-y-0\.5:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -.5)}.touch\:after\:-inset-y-1:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -1)}.touch\:after\:-inset-y-3:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -3)}.touch\:after\:-top-1:after{content:var(--tw-content);top:calc(var(--spacing) * -1)}.touch\:after\:-top-1\.5:after{content:var(--tw-content);top:calc(var(--spacing) * -1.5)}.touch\:after\:-top-2:after{content:var(--tw-content);top:calc(var(--spacing) * -2)}.touch\:after\:-top-2\.5:after{content:var(--tw-content);top:calc(var(--spacing) * -2.5)}.touch\:after\:-bottom-1:after{content:var(--tw-content);bottom:calc(var(--spacing) * -1)}.touch\:after\:-bottom-1\.5:after{content:var(--tw-content);bottom:calc(var(--spacing) * -1.5)}.touch\:after\:-bottom-1\.25:after{content:var(--tw-content);bottom:calc(var(--spacing) * -1.25)}.touch\:after\:-bottom-3:after{content:var(--tw-content);bottom:calc(var(--spacing) * -3)}.touch\:after\:-left-1:after{content:var(--tw-content);left:calc(var(--spacing) * -1)}.touch\:after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.touch\:first\:after\:-left-2:first-child:after{content:var(--tw-content);left:calc(var(--spacing) * -2)}.touch\:empty\:hidden\!:empty{display:none!important}}:where(.app:not(.is-narrow)) .wide\:overflow-x-clip{overflow-x:clip}:where(.app:not(.is-narrow)) .wide\:pt-8\.5{padding-top:calc(var(--spacing) * 8.5)}:where(.app.narrow-content) .narrow-content\:hidden,:where(.app.narrow-sidebar) .narrow-sidebar\:hidden{display:none}:where(.app.is-rail-folded) .rail-folded\:absolute{position:absolute}:where(.app.is-rail-folded) .rail-folded\:inset-y-1\.5{inset-block:calc(var(--spacing) * 1.5)}:where(.app.is-rail-folded) .rail-folded\:left-1\.5{left:calc(var(--spacing) * 1.5)}:where(.app.is-rail-folded) .rail-folded\:z-6{z-index:6}:where(.app.is-rail-folded) .rail-folded\:col-1{grid-column:1}:where(.app.is-rail-folded) .rail-folded\:col-2{grid-column:2}:where(.app.is-rail-folded) .rail-folded\:col-3{grid-column:3}:where(.app.is-rail-folded) .rail-folded\:row-1{grid-row:1}:where(.app.is-rail-folded) .rail-folded\:box-border{box-sizing:border-box}:where(.app.is-rail-folded) .rail-folded\:min-h-6\.5{min-height:calc(var(--spacing) * 6.5)}:where(.app.is-rail-folded) .rail-folded\:w-\(--rail-open-w\){width:var(--rail-open-w)}:where(.app.is-rail-folded) .rail-folded\:-translate-x-\[calc\(100\%\+12px\)\]{--tw-translate-x:calc(calc(100% + 12px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}:where(.app.is-rail-folded) .rail-folded\:rounded-md{border-radius:var(--radius)}:where(.app.is-rail-folded) .rail-folded\:border-hairline{border-width:var(--hairline);border-style:solid}:where(.app.is-rail-folded) .rail-folded\:border-line{border-color:var(--line)}:where(.app.is-rail-folded) .rail-folded\:bg-surface{background-color:var(--surface)}:where(.app.is-rail-folded) .rail-folded\:pl-23{padding-left:calc(var(--spacing) * 23)}:where(.app.is-rail-folded) .rail-folded\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(.app.is-rail-folded) .rail-folded\:transition-\[translate\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:where(.app.is-rail-folded) .rail-folded\:duration-200{--tw-duration:.2s;transition-duration:.2s}:where(.app.is-rail-folded) .rail-folded\:ease-snap{--tw-ease:cubic-bezier(.2, 0, 0, 1);transition-timing-function:cubic-bezier(.2,0,0,1)}@media (prefers-reduced-motion:reduce){:where(.app.is-rail-folded) .rail-folded\:motion-reduce\:transition-none{transition-property:none}}:where(.app.is-rail-peek) .rail-peek\:translate-none{translate:none}:where(.app.is-rail-peek) .rail-peek\:shadow-dialog{--tw-shadow:var(--shadow-dialog);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(.app.is-panel-expanded) .panel-expanded\:invisible{visibility:hidden}:where(.app.is-panel-expanded) .panel-expanded\:z-2{z-index:2}:where(.app.is-panel-expanded) .panel-expanded\:col-2{grid-column:2}:where(.app.is-panel-expanded) .panel-expanded\:col-\[2\/-1\]{grid-column:2/-1}:where(.app.is-panel-expanded) .panel-expanded\:bg-paper{background-color:var(--paper)}:where(.app.is-panel-expanded) .panel-expanded\:pl-2{padding-left:calc(var(--spacing) * 2)}:where(.app.is-narrow) .narrow\:grid-cols-\[3ch_3ch_1ch_1fr\]{grid-template-columns:3ch 3ch 1ch 1fr}:where(.app.is-narrow) .narrow\:gap-x-1{column-gap:var(--spacing)}:where(.app.is-narrow) .narrow\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}:where(.app.is-narrow) .narrow\:px-2{padding-inline:calc(var(--spacing) * 2)}:where(.app.is-narrow) .narrow\:pt-0{padding-top:0}:where(.app.is-narrow) .narrow\:wrap-anywhere{overflow-wrap:anywhere}:where(.app.is-narrow) .narrow\:whitespace-pre-wrap{white-space:pre-wrap}@container (width<=720px){.rt-narrow\:flex{display:flex}.rt-narrow\:shrink-0{flex-shrink:0}.rt-narrow\:flex-col{flex-direction:column}.rt-narrow\:overflow-visible{overflow:visible}.rt-narrow\:overflow-y-auto{overflow-y:auto}.rt-narrow\:pt-3{padding-top:calc(var(--spacing) * 3)}.rt-narrow\:pl-0{padding-left:0}.rt-narrow\:\[border-left\:none\]{border-left:none}.rt-narrow\:\[border-top\:var\(--hairline\)_solid_var\(--line\)\]{border-top:var(--hairline) solid var(--line)}}@media (height<=500px){.short\:h-\[calc\(100dvh-24px\)\]{height:calc(100dvh - 24px)}.short\:max-h-\[calc\(100dvh-24px\)\]{max-height:calc(100dvh - 24px)}.short\:px-4{padding-inline:calc(var(--spacing) * 4)}.short\:py-3{padding-block:calc(var(--spacing) * 3)}.short\:pt-3{padding-top:calc(var(--spacing) * 3)}}@media (width<=559px){.w-narrow\:block{display:block}.w-narrow\:flex{display:flex}.w-narrow\:h-dvh{height:100dvh}.w-narrow\:min-h-11{min-height:calc(var(--spacing) * 11)}.w-narrow\:w-full{width:100%}.w-narrow\:w-screen{width:100vw}.w-narrow\:flex-1{flex:1}.w-narrow\:flex-col{flex-direction:column}.w-narrow\:items-stretch{align-items:stretch}.w-narrow\:justify-start{justify-content:flex-start}.w-narrow\:gap-6{gap:calc(var(--spacing) * 6)}.w-narrow\:rounded-none{border-radius:0}.w-narrow\:border-0{border-style:var(--tw-border-style);border-width:0}.w-narrow\:px-3{padding-inline:calc(var(--spacing) * 3)}.w-narrow\:px-4{padding-inline:calc(var(--spacing) * 4)}.w-narrow\:py-3{padding-block:calc(var(--spacing) * 3)}.w-narrow\:pt-0{padding-top:0}.w-narrow\:pt-1{padding-top:var(--spacing)}.w-narrow\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.w-narrow\:\[border-right\:none\]{border-right:none}}@container (width<=250px){.rail-tight\:hidden{display:none}}@media (hover:none) and (pointer:coarse){.touch\:\[\&_\.link\]\:after\:inset-\[-2px_-6px_-4px\] .link:after{content:var(--tw-content);inset:-2px -6px -4px}}.\[\&_\.link\:disabled\]\:pointer-events-none .link:disabled{pointer-events:none}.\[\&_\.link\:disabled\]\:cursor-default .link:disabled{cursor:default}.\[\&_\.link\:disabled\]\:opacity-50 .link:disabled{opacity:.5}.\[\&_\.link\:disabled\]\:opacity-60 .link:disabled{opacity:.6}.\[\&_\.page-title\]\:m-0 .page-title{margin:0}.\[\&_a\]\:text-accent a{color:var(--accent)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-2 a{text-underline-offset:2px}.\[\&_b\]\:mr-2\.5 b{margin-right:calc(var(--spacing) * 2.5)}.\[\&_code\]\:rounded-sm code{border-radius:var(--radius-sm)}.\[\&_code\]\:bg-inset code{background-color:var(--inset)}.\[\&_code\]\:px-1 code{padding-inline:var(--spacing)}.\[\&_code\]\:py-0 code{padding-block:0}.\[\&_code\]\:font-mono code{font-family:var(--mono)}.\[\&_code\]\:text-meta code{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&_code\]\:font-normal code{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.\[\&_code\]\:normal-nums code{font-variant-numeric:normal}.\[\&_dd\]\:m-0 dd{margin:0}.\[\&_dd\]\:wrap-anywhere dd{overflow-wrap:anywhere}.\[\&_dd_\.mono\]\:whitespace-pre dd .mono{white-space:pre}.\[\&_h2\]\:m-0 h2{margin:0}.\[\&_h2\]\:mx-0 h2{margin-inline:0}.\[\&_h2\]\:mt-3\.5 h2{margin-top:calc(var(--spacing) * 3.5)}.\[\&_h2\]\:mb-1 h2{margin-bottom:var(--spacing)}.\[\&_h2\]\:text-\[length\:var\(--fs-body\)\] h2{font-size:var(--fs-body)}.\[\&_h3\]\:mx-0 h3{margin-inline:0}.\[\&_h3\]\:mt-3 h3{margin-top:calc(var(--spacing) * 3)}.\[\&_h3\]\:mb-1\.5 h3{margin-bottom:calc(var(--spacing) * 1.5)}.\[\&_h3\]\:font-sans h3{font-family:var(--sans)}.\[\&_h3\]\:text-meta h3{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&_h3\]\:font-medium h3{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_h3\]\:text-muted h3{color:var(--muted)}.\[\&_h3\]\:normal-nums h3{font-variant-numeric:normal}.\[\&_h3\:first-child\]\:mt-0 h3:first-child{margin-top:0}.\[\&_li\+li\]\:mt-2 li+li{margin-top:calc(var(--spacing) * 2)}.\[\&_p\]\:m-0 p{margin:0}.\[\&_p\]\:mx-0 p{margin-inline:0}.\[\&_p\]\:my-1 p{margin-block:var(--spacing)}.\[\&_p\]\:mt-0 p{margin-top:0}.\[\&_p\]\:mb-1 p{margin-bottom:var(--spacing)}.\[\&_p\]\:mb-2 p{margin-bottom:calc(var(--spacing) * 2)}.\[\&_p\]\:text-meta p{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&_p\]\:text-muted p{color:var(--muted)}.\[\&_pre\]\:m-0 pre{margin:0}.\[\&_pre\]\:mx-0 pre{margin-inline:0}.\[\&_pre\]\:mt-1 pre{margin-top:var(--spacing)}.\[\&_pre\]\:mb-1\.5 pre{margin-bottom:calc(var(--spacing) * 1.5)}.\[\&_pre\]\:max-h-\[16lh\] pre{max-height:16lh}.\[\&_pre\]\:overflow-auto pre{overflow:auto}.\[\&_pre\]\:rounded-sm pre{border-radius:var(--radius-sm)}.\[\&_pre\]\:bg-inset pre{background-color:var(--inset)}.\[\&_pre\]\:px-2 pre{padding-inline:calc(var(--spacing) * 2)}.\[\&_pre\]\:py-1\.5 pre{padding-block:calc(var(--spacing) * 1.5)}.\[\&_pre\]\:wrap-anywhere pre{overflow-wrap:anywhere}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_pre\]\:text-muted pre{color:var(--muted)}.\[\&_pre\>div\>div\]\:\[height\:var\(--row-h\,1\.15em\)\] pre>div>div{height:var(--row-h,1.15em)}.\[\&_pre\>div\>div\]\:overflow-hidden pre>div>div{overflow:hidden}.\[\&_pre\>div\>div\]\:\[line-height\:var\(--row-h\,1\.15em\)\] pre>div>div{line-height:var(--row-h,1.15em)}.\[\&_span\]\:text-muted span{color:var(--muted)}.\[\&_summary\]\:cursor-pointer summary{cursor:pointer}.\[\&_summary\]\:list-none summary{list-style-type:none}.\[\&_summary\]\:truncate summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&_summary\:\:-webkit-details-marker\]\:hidden summary::-webkit-details-marker{display:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:flex-none svg{flex:none}.\[\&_svg\]\:fill-none svg{fill:none}.\[\&_svg\]\:stroke-current svg{stroke:currentColor}.\[\&_svg\]\:\[stroke-width\:1\.25\] svg{stroke-width:1.25px}.\[\&_svg\]\:\[stroke-linecap\:round\] svg{stroke-linecap:round}.\[\&_svg\]\:\[stroke-linejoin\:round\] svg{stroke-linejoin:round}.\[\&_ul\]\:m-0 ul{margin:0}.\[\&_ul\]\:pl-4\.5 ul{padding-left:calc(var(--spacing) * 4.5)}.\[\&\+\&\]\:mt-1\.5+.\[\&\+\&\]\:mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.\[\&\.is-leaving\]\:pointer-events-none.is-leaving{pointer-events:none}.\[\&\.is-leaving\]\:absolute.is-leaving{position:absolute}.\[\&\.is-leaving\]\:inset-0.is-leaving{inset:0}.\[\&\.is-leaving\]\:z-6.is-leaving{z-index:6}.\[\&\.is-leaving\]\:animate-fade-out.is-leaving{animation:.14s ease-in forwards fade-out}.\[\&\.is-leaving\]\:animate-sink-out.is-leaving{animation:.14s ease-in forwards sink-out}.\[\&\.is-resizing_iframe\]\:pointer-events-none.is-resizing iframe{pointer-events:none}.\[\&\:hover\]\:bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]:hover{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.\[\&\:hover\]\:bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]:hover{background-color:color-mix(in srgb,currentcolor 18%,transparent)}}.\[\&\:hover\]\:bg-hover:hover{background-color:var(--hover)}.\[\&\:hover\]\:text-accent:hover{color:var(--accent)}.\[\&\:hover\]\:text-ink:hover{color:var(--ink)}.\[\&\:hover\]\:underline:hover{text-decoration-line:underline}.\[\&\>\*\]\:shrink-0>*{flex-shrink:0}.\[\&\>\*\]\:border-b-hairline>*{border-bottom-width:var(--hairline);border-bottom-style:solid}.\[\&\>\*\]\:border-b-line>*{border-bottom-color:var(--line)}.\[\&\>\.actions\]\:sticky>.actions{position:sticky}.\[\&\>\.actions\]\:-bottom-0\.5>.actions{bottom:calc(var(--spacing) * -.5)}.\[\&\>\.actions\]\:bg-surface>.actions{background-color:var(--surface)}:where(.app:not(.is-narrow)) .wide\:\[\&\>\:not\(\[data-grip\]\)\]\:min-w-\(--rail-open-w\)>:not([data-grip]){min-width:var(--rail-open-w)}:where(.app.is-rail-folded) .rail-folded\:\[\&\>\:not\(\[data-grip\]\)\]\:min-w-0>:not([data-grip]){min-width:0}.\[\&\>\[data-row\]\]\:\[transition\:transform_150ms_ease-out\]>[data-row]{transition:transform .15s ease-out}@media (prefers-reduced-motion:reduce){.motion-reduce\:\[\&\>\[data-row\]\]\:transition-none>[data-row]{transition-property:none}}.\[\&\>form\]\:flex-\[1_1_12em\]>form{flex:12em}.\[\&\>form\]\:self-center>form{align-self:center}.\[\&\>h2\]\:mt-2\.5>h2{margin-top:calc(var(--spacing) * 2.5)}.\[\&\>span\]\:text-meta>span{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&\>span\]\:text-subtle>span{color:var(--subtle)}.\[\&\>span\:not\(\:first-child\)\]\:text-center>span:not(:first-child){text-align:center}.\[\&\[hidden\]\]\:hidden[hidden]{display:none}.\[\&\[open\]_summary\]\:whitespace-normal[open] summary{white-space:normal}.dialog-body+div>.\[\.dialog-body\+div\>\&\]\:mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.is-leaving .\[\.is-leaving_\&\]\:animate-sink-out{animation:.14s ease-in forwards sink-out}@media (hover:none){.\[\@media\(hover\:none\)\]\:opacity-100{opacity:1}}@font-face{font-family:Rove Nerd Symbols;src:url(/assets/symbols-nerd-font-mono-D0feNYKn.woff2)format("woff2");font-display:block;unicode-range:U+23FB-23FE,U+2665,U+26A1,U+2B58,U+E000-F8FF,U+F0000-FFFFD}:root{--paper:#141413;--surface:#1a1917;--inset:#2b2a27;--menu:#33312e;--line:#3a3835;--line-active:#75706a;--ink:#eae7df;--muted:#a9a39a;--subtle:#9d9a95;--accent:#cc785c;--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent)}}:root{--hover:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--hover:color-mix(in srgb, var(--ink) 7%, transparent)}}:root{--shadow-popover:0 2px 8px #00000040;--shadow-dialog:0 4px 12px #0000004d;--scrim:#0a0a099e;--merged:#9b87f5;--focus:var(--accent);--info:#61aaf2;--diff-added:var(--success);--diff-removed:var(--error);--diff-added-bg:#9aca861a;--diff-removed-bg:#ec6f741a;--error:#ec6f74;--success:#9aca86;--warning:#e8c96b;--mono:"JetBrains Mono", "Rove Nerd Symbols", "IBM Plex Mono", "SF Mono", Menlo, Consolas, ui-monospace, monospace;--fs-meta:12px;--fs-body:13px;--fs-title:14px;--fs-display:16px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius:8px;--radius-sm:6px;--radius-xs:4px;--hairline:1px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (resolution>=2x){:root{--hairline:.5px}}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}#root{height:var(--vvh,100%)}body{background:var(--paper);color:var(--ink);font:var(--fs-body) / 1.4 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button:focus-visible{outline:1px solid var(--focus);outline-offset:1px}:root{--scroll-thumb:var(--subtle)}@supports (color:color-mix(in lab, red, red)){:root{--scroll-thumb:color-mix(in srgb, var(--subtle) 45%, transparent)}}:root{--scroll-thumb-hover:var(--subtle);--scroll-thumb-active:var(--muted)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-scrolling]{scrollbar-color:var(--scroll-thumb) transparent}}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background:padding-box padding-box;border:3px solid #0000;border-radius:999px;min-width:32px;min-height:32px}[data-scrolling]::-webkit-scrollbar-thumb{background-color:var(--scroll-thumb)}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--scroll-thumb-active)}}.xterm .xterm-scrollable-element>.scrollbar>.slider{background-clip:padding-box;border:1px solid #0000;border-radius:999px}.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider{background-color:var(--scroll-thumb);opacity:0;transition:opacity .3s linear}.term-host[data-scrolling] .xterm .xterm-scrollable-element>.scrollbar>.slider,.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider.active{opacity:1;transition:none}.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider:hover{background-color:var(--scroll-thumb-hover);opacity:1}.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider.active{background-color:var(--scroll-thumb-active)}.term-host .xterm-decoration-overview-ruler{display:none!important}.term-host .xterm .xterm-viewport{background-color:#0000;overflow:hidden}.xterm .xterm-scrollable-element>.shadow{display:none}.term-host .xterm{height:100%;padding:6px 4px 4px 8px}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:var(--fs-display)!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pr-list-in{0%{opacity:0;translate:-4px}}@keyframes row-tip-in{0%{opacity:0;translate:-4px -50%}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes flow-border{0%{background-position:0 0,0 0}to{background-position:0 0,-200% 0}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise-in{0%{opacity:0;translate:0 4px}}@keyframes sink-out{to{opacity:0;translate:0 4px}}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}}
|
|
1
|
+
@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQQAAAQuAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AdBEICoRkhAALIAABNgIkAzoEIAWFAAeBFAwHG2oHKJ6DceNW4lJEFHn9tEOE37LNsvkjHr7f739rn3u+OSrSxLQytE91Dw2PYtNVq3Qaw/vJ7fUBMdOj/u2ImB98cT5WUx9F13ZKt06mU7tG1sAYcM26yCRX4f/0904bmwq8hwkUUMTRX61pa9C3xlpAGYw1vOu8C2SBZZFlld7DAW82RJWmwYMI1AJCKBNCIASqdZGFmtPSNQRhMpR0EKjWTwm6z6sJ+4jqhxjovTinVdRpZaQjaQzAYjI8NgAKDJCokgunCn9oUQE8VZd/F//+v6P4F1U9gLr58yNI/dJX9BAshEoJbTDogz7ocKoUsPvES8UK/aQIUQgpGgECBVLkOEV6iASTYgNAPKdNXayhDPL7IJuAZnEYSZ0eOLc9i5Rv5/+lEi3sW/kfnCf/+fTe0sxS7CKLx5erRJkKOixEqQaoqrvx5HN4iz4VhX0gS6DjFIWUzn/fIXJRVFY1NFRVNVeFt+SYmrK6vCU6eJsnKnJj5HTESMTQZOTI3Y/tzr3rUcOsiRy/ciP50s3Mycgxmhz9GMXhjzVH30ut796NHP0UUa31/Zoa6vCH6iPvdIM0IRANaT60FablmZlZd+UKNFy9NrvnFGxb5NC2CRxR0/rIyF/WNn+35sv9r+tHVhkseuWGKkCPPh96+GXt8Lc/Sh24ujfjf+tNw1lZWreiPuHb/PSpyjdv2rf/++ZE5TSKjFdZxYsBvr1sEHl5STuHZqYR7jGYGvGBBdjcaB5bODY1GAxMjsd0wDMIzXAXODRd74DxNMtO4YuYHclgLQRzp9KlUmxptCwv9bYgvWGD2xBW7r9413fdJu+mxzvzAUYeeONQvZP4kgfqZle4jhH/MWh+UbxgtJdrLdXLymNL53PRU0D3Q6FcXTfGqGcul6vrqhgLGAVSv+IVIfZOHpu+mlLqSlnj903j8mazXDsba/wbxhS/4Oubh1c5/uXDgt4j5KtnGEy5BIJHo0ur+jD+r2qCkuP1aRVM8EpUoRYSJyqNRA38uwDvHBNo0AejO2Z+ZYLLal1QiFyFh1EDQOgSCSCpjwwKU8yDbIjroEwne0G5Qca49cYp4AlqtQNZfWTQoFb1tRpFYAmRD+HXTkV4uQhG2bg4OKmyoypAsUGtWgQXyFxYrkpODeUxvGqIZA61erXo0sFG1UBGuPgpuon8RNUG2DhovAjZCBuZwtXrU3mQGki9+pm0eVZAXoWxLWTQoYHBPrJR4WunNxIFbCHfkTyPK+sqxjxDmGArZvf79JGJ3GwEqjwc7a7NIrl/7bJ7Nzu4+n1Ow6shEPnUrtVo7cnd5Wi5qCUbBIQbNKCP95FMCSZylEV5VCiiMqqiOmrKZ/I/C0gI1fyuulVcM2E1r4MhtcV/fbCD+HwEvVzH1dGNAzFE0FTbKzyQz3gootrNbN2a4PuG0j0JOgE=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,d09GMgABAAAAAASUABAAAAAACRAAAAQ3AAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3oLIAABNgIkAzoEIAWFHgeBFAwHG3AHKB4HzukrRjyF5Gb4kQ/B873d17mv8TWkoqUUGaHodJCtoqntw7m8tiPWyGkfWDU/IMpzVk4zAs9Czv3c7Os5NvKFG1Ht9vBVXySRZpJc4tTrbM3sTRFcLa3zVboKWRIoAksKSKgqUQWEwlSoqjp44V5J9/kjd0+Fi5xaFjwJArgBAIJgIAgCCAI4CdNMqGuYXYUKdADLAkAAJwl6iX0+bZqEm1AH0Hu9rvrJHwxQG1Q/gFYwWYbgTRWgwEESVzbmtjQAt3DXO7Tu/+9Q/KNKWhTCgZ8fQSWoL0CUUgTBjgL8iEAcce7YHBeA8ZvogieCnxI0BCVeACCAAhBD/oDcAdUPABSgAX4kBPBTwjCAjwYSCneiqF65LUo/qXdYFrRwTujtMrKm07plTbSqLQFAiHBN7E4DG5wkiGXhCYBNETh3K/AciHN69iFfQjFOr9EXQQAAQXRNszs8PR0OH4fDV/dwGe76CHdj1MQa11DXYGcfZ6+B1X0OfwjY+i7KpQ1w9d+1z3/HydCB1f3U8A0fRFv+0bXxPWrZu3d9Nn4UcbLs/QCXLH/j3PCKblKOiZxLOR78W9brPo7eGTLz/F27ZPmePQdCB1YP4nJU91o4gU9cy64L3c3SPu8GfDn6ZXD2cGmllVqSxtD5vCXHm5xaeHlnpffx7DcPvXog5NnjA//cPz2btsz3yf+0MI8ri33tuv7upNbYmW5STbosW8bYItV/SPzxvXC0KnpWnFdC91oojit5Lyo6WcJQ1YzwBYbi52ohJVpcxfcHBqsv0nFz8U74rzS6M7r0RVlXZ3jJC4G92O//7Lm78VOtnUx+aQxAzsqPnrRr1t9zDrezKePvZ027x+fGte4s4NXu7/jEp3G9cM1bICYgACbuETUUD5wmenGXA/IBpAKVrl0AEJ5cqr6Q89tGq+SpqkDfX2DtG+pZ9teuae0AX98c301CX179InyErnSG8WCiABB4HFbVrw/lpTdBIOk82nXbpHKoQGyBpUovAAD4XQA8ZTUCeBJHIpI0v0FRrgcnckV3ANckrwYJKXEihQfdSKPER6XeExmEeEMmSe6QBwWmkZdmSOSthhibgIkBlUYreBKd/0NeVAE9WAyEaQpH6KikDWlUVg43Jy2FOmaYlsZhDEGZXO3mWEyWHI6zuaJkMlcSQ9k4F+KidIiFyZItGDc7r1pUj6wP6zrWB0/fbeeFeHl4YOvETMNiM8Ny+7OO6Qh2wur20YVxFts5dlORdl5Kwd5utR7SRcxqX8RA5Ehacha76hg7c6yzNm/Xf6vOLNrv544lIEkWg7xWo/ItBAeIJEmt0XgBwgM8gTifoiiLJroYYooNTeziEKe4zOoR/wvIKp89hSr+6jFAqw/LaonjmZHSscMNg4iPlWpFrO1RN3zkMU+/xUP+JQ99TbvTl1Vg0gtirT6lbwYAAAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-cyrillic-500-normal-DmUKJPL_.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-500-normal-DJqRU3vO.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-greek-500-normal-JpySY46c.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-500-normal-D7SFKleX.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-500-normal-DNRqzVM1.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-ext-500-normal-Cut-4mMH.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-500-normal-ckzbgY84.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/jetbrains-mono-latin-500-normal-BWZEU5yA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-500-normal-CJOVTJB7.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,d09GMgABAAAAAASIABAAAAAACQAAAAQtAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVDYAdBEICoRkg3gLIAABNgIkAzoEIAWFIgeBFAwHG1wHKI7DuPEacDIiFJ/g+f47+1/7dIcdXTlD8DKqmcw4eIC+AOCPf6+qiWq3h6+aSCLNJDnkqX9Xl+rv/6dSBcwSBCzEoVqxNbp5SqPMYdKBQhBq1dK9ggSsgYUoGnHOqttMECvWjIJfPA8cjQAuAEAQLAiClASc7M6OkfbO/nHs6ACmCYBxZXKP4s9uXIHECh4AdEhX0yIHC6jzgAb65sshStMMChwEfWVjZe8Anset/6H93x8jOyL5fuS67z4Dlam+BPyH/pV2FLCZAOnU0XPzCQGiJ7AkXgSFhqDEB4AAoAAN2ExDgM10joCNfDQUbvxaXM8LovT79D9MEyYU9+q/myT9p/m8uWi2mLJBPbzcih2wYIPzBDFNvABt315OXwy8BaRnbo5hXsOS5taknX4FguiaZnd4vQ7HxnBnm3SPYXHrQbclvOgyDhsHnZPO8f3G5I2fbr34Y7+hzRozVzyw5bKHdu03plXgvE9FO/Uz4/xPUKd8/PHk+R+JODnlg1lDTv3Qed77zDNqRszaqHUQT248kUPGzBXXXHGFnHrVVdft2m8c4PhpjB+/QEqMU54xruc6m3w8++XNXx4sya9rMvNq88m6X1zeOMlRuQ+/nvNw4+ZrCt58yDdSVOQdfoi/jc/ePfZY+1taYaH21FH2Y4fGG+RVNJkIN4SSiWj3ZKGG1oojoYr2SNWFVbHvY1XX1PR+H6y+oKrqgmryqj1UXnmk5cKWysPM3R4Uh5svYo6saAtU3V297+d91U/X/frzLvUdqiqfruKvhx5+OeOYxbHI7SenQum+PTw/fvRLGQ/jiufOn3/S+vlsfGn9h4Zb96fekZ7xRups68FhVCYCWHHvZVIPxjanr3NABSALqkR7FMBOulF9ScHvV3np+6pK/eEzRx877K3/z65pvwN89eGtV3Ly5ft/25ngaiSYDVYUAAKvIKimMdLO6YBQEY+aZpbXZ5WinTBQXwAA4LMAXuNUBPCSTmMfjd6jpNLNjbToDuBpaR9AoTBbUeERO2o0erNeR6KFne5HK/nOQA+VBtFnt1LtBj6pJQIutnLwipz/Ix9OYNSqZQEreiQELIkKmRIRNWdewpiIZVGtVi0J6xWR0ComIGpFnN+AVStWzUtIWBNXq0iRuJCYqDUJcYXiopYUWhUzp8iQTv20dtO84Agw6YrhuOijfqUKlSpRAruvTq9WdeQw2vs5SUsCYhdt7icIt1nNkseKPZzgV6q4FfYbH4ZIBcThYTEgLIgIkYRbJLl7/rks+ObZDxydE8W9LymoUMiqZUVbtVv0GNkcispQM0IpEG7sBdK9IYr6aKKLRaxiQxO7OMQphrUlGIscFbElV6LF5S0dQN5RbRoUdRbWWOYCy8sB83RxS7FqG/UEQslE5Nsd5v93uF3T0bLiypD/uJhn3q9fCAA=)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-cyrillic-600-normal-EVf6-Yzo.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-600-normal-8K4wrrwR.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-greek-600-normal-H7WoG9Et.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-600-normal-mc2nkWzM.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-600-normal-OWROknRo.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-ext-600-normal-BfB_LPfz.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-600-normal-DObL3zCW.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-600-normal-BfsvjouI.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,d09GMgABAAAAAASAABAAAAAACNgAAAQlAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVEwAdBEICoRkg3gLIAABNgIkAzoEIAWEaAeBFAwHGzgHSJ4DbjN9OmtkIy0becnT/RjJ4uGfw99974/GXrhoTCqLok66NY3jTloEUdrmwCevn/Ls30xSpFlZ6UJMrW+fTNwAEdSuvSzCRANvEgnjUmw8swT+87+w7I/7qb8XlIB7NpGBjXiUjRX0b7ZpJ8+orRLzvGhWYCMdAU3BbRdPuqOeKAXuRKAWEEJJCIEQqNbLD9osq2kBviL8A4Fq4yLgAa+6DNaiAwcYOrqYHfgQcMgL3AFgG4fHHqREEUBSxUtmBfzNWxXADfviy8Kff7dA4QfFBQG6fnoX5Dh+gEEcIVRKtMIYhc/kCgsCDiarQY4QWpEKQoYTAAIJUcaHAHIXIN9BooBWhEAr0j7QzAkh1RnEWOY4wuRW8uX/f5o5W8gXcjriOUb9z/wjACRuWaWrpKIyLMQ/DUDN/TT+ErgHRpPBIRQrKCcZCvxBBCBEkSD4lKMjRblQlCvpQHPsSZE9R6K2o/vpXkGboKWbbltxx2feLT+a6KJb5293n7vTt53uwOzUO4gYc5eedhvS+a1bbdNuIiSA89cuGo25IZh6DXrJJIIUUibFUG0zt+ijO+cvnj8fjVm4cKlvN90DwzrdMmy8H9GjDyv90Xz2W10PVj3oTY7LLfwfmxMHoef+8n33R0duOxF3LPCYFXtymWNdcLBD3VF4S91+GWf8c9k7sZC6fPpnbENnCmayerBNki0ZbFUXiHV/wkxWklGmydCkaR5o0oZnlj3oSVdnZKjTITaXStOyWGYakzUgTSt1gvSs/otJL1FkzE/3e+aXvj7n+TOv9HkZ6evS4e3OXafCx8iqJfNGpQLM7rkt0ppRJ8N3gd1IjHLaROM0cLkhdf2NQjZ4bmjo2mBWKJ4CPA4IZXX9hFlPBnhxWhXzgBGQ88QeRD3j1/AD5a/JxMnL5gK5deaC2H7HvK98gngBbzfWLKD0g2ufeA7nMsQepBwDgpdhy90BzC+8DSCers8O6KKloYn0RCtKo9EM9LsAd7AgNBhFGEAsvl4K1LpCiCIF3IZHFUKvX5AqfUPBgkO+ovHpUNJtOJSN6hDWWxAigkCt9hbEXdaOHLvI6lM5gQA79LRYOpUsWBpKYu2klOQULGlGCwOzHIkSmYmZKBlQrlmCQ0mDv5SeiVyiemVqVJGyEDJhKemY1dLT0YsnpKch0UbKxExJTydIigQpkiUvYA3SVFDqFH2uNggh343VmPs2ycX0DIYwPYTigMak5AjS0ohI8zmoo4EJwypS4iVcDOuDuvRMgytHPa5LTjnoc1YiCcT0tBI3qjXxqqFomJf2PylAOHMDRp1HGBaDQCTiIC7iQSH4iEICRHMZkUlqk/KsOmVSGlOK7NIseRNZFp3NkbNaLateTmKScHGTAyu2WqQf6lD8rMNg1+lKTcpwkfvQ/7eRMwAA)format("woff2"),url(data:font/woff;base64,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)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-cyrillic-700-normal-BWTpRfYl.woff2)format("woff2"),url(/assets/jetbrains-mono-cyrillic-700-normal-CEoEElIJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-greek-700-normal-C6CZE3T8.woff2)format("woff2"),url(/assets/jetbrains-mono-greek-700-normal-DEigVDxa.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(data:font/woff2;base64,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)format("woff2"),url(/assets/jetbrains-mono-vietnamese-700-normal-BDLVIk2r.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-ext-700-normal-CZipNAKV.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-ext-700-normal-CxPITLHs.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/jetbrains-mono-latin-700-normal-BYuf6tUa.woff2)format("woff2"),url(/assets/jetbrains-mono-latin-700-normal-D3wTyLJW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.xterm{cursor:text;-webkit-user-select:none;user-select:none;position:relative}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{z-index:5;position:absolute;top:0}.xterm .xterm-helper-textarea{opacity:0;z-index:-5;white-space:nowrap;resize:none;border:0;width:0;height:0;margin:0;padding:0;position:absolute;top:0;left:-9999em;overflow:hidden}.xterm .composition-view{color:#fff;white-space:nowrap;z-index:1;background:#000;display:none;position:absolute}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{cursor:default;background-color:#000;position:absolute;inset:0;overflow-y:scroll}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;top:0;left:0}.xterm-char-measure-element{visibility:hidden;line-height:normal;display:inline-block;position:absolute;top:0;left:-9999em}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{z-index:10;color:#0000;pointer-events:none;position:absolute;inset:0}.xterm .xterm-accessibility-tree:not(.debug) ::selection{color:#0000}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre;font-family:monospace}.xterm .xterm-accessibility-tree>div{transform-origin:0;width:fit-content}.xterm .live-region{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{-webkit-text-decoration:underline double;text-decoration:underline double}.xterm-underline-3{-webkit-text-decoration:underline wavy;text-decoration:underline wavy}.xterm-underline-4{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.xterm-underline-5{-webkit-text-decoration:underline dashed;text-decoration:underline dashed}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:underline overline}.xterm-overline.xterm-underline-2{-webkit-text-decoration:overline double underline;text-decoration:overline double underline}.xterm-overline.xterm-underline-3{-webkit-text-decoration:overline wavy underline;text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{-webkit-text-decoration:overline dotted underline;text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{-webkit-text-decoration:overline dashed underline;text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;pointer-events:none;position:absolute;top:0;right:0}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;z-index:11;background:0 0;transition:opacity .1s linear}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{display:none;position:absolute}.xterm .xterm-scrollable-element>.shadow.top{width:100%;height:3px;box-shadow:var(--vscode-scrollbar-shadow,#000) 0 6px 6px -6px inset;display:block;top:0;left:3px}.xterm .xterm-scrollable-element>.shadow.left{width:3px;height:100%;box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset;display:block;top:3px;left:0}.xterm .xterm-scrollable-element>.shadow.top-left-corner{width:3px;height:3px;display:block;top:0;left:0}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow,#000) 6px 0 6px -6px inset}@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-ease:initial;--tw-content:"";--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer base{button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}textarea{resize:none;field-sizing:content}select{appearance:none;cursor:pointer}}@layer theme{:root,:host{--spacing:.25rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--leading-normal:1.5;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--radius-xs:var(--radius-xs);--radius-sm:var(--radius-sm);--shadow-popover:var(--shadow-popover);--shadow-dialog:var(--shadow-dialog)}}@layer components{.mono{font:var(--fs-meta) var(--mono)}}.\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.invisible{visibility:hidden}.visible{visibility:visible}@media (hover:none) and (pointer:coarse){.touch-hit{position:relative}.touch-hit:after{content:"";position:absolute;inset:-12px -6px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:0}.inset-x-1\.5{inset-inline:calc(var(--spacing) * 1.5)}.inset-y-0{inset-block:0}.-top-2{top:calc(var(--spacing) * -2)}.top-0{top:0}.top-0\.5{top:calc(var(--spacing) * .5)}.top-0\.75{top:calc(var(--spacing) * .75)}.top-1\/2{top:50%}.top-2{top:calc(var(--spacing) * 2)}.top-2\.5{top:calc(var(--spacing) * 2.5)}.top-3{top:calc(var(--spacing) * 3)}.top-full{top:100%}.right-0{right:0}.right-0\.5{right:calc(var(--spacing) * .5)}.right-0\.75{right:calc(var(--spacing) * .75)}.right-1{right:var(--spacing)}.right-2{right:calc(var(--spacing) * 2)}.right-2\.5{right:calc(var(--spacing) * 2.5)}.right-3{right:calc(var(--spacing) * 3)}.right-3\.5{right:calc(var(--spacing) * 3.5)}.right-full{right:100%}.bottom-2\.5{bottom:calc(var(--spacing) * 2.5)}.bottom-8\.5{bottom:calc(var(--spacing) * 8.5)}.bottom-19{bottom:calc(var(--spacing) * 19)}.bottom-\[34px\]{bottom:34px}.bottom-\[calc\(100\%\+6px\)\]{bottom:calc(100% + 6px)}.bottom-full{bottom:100%}.left-0{left:0}.left-0\.5{left:calc(var(--spacing) * .5)}.left-2{left:calc(var(--spacing) * 2)}.left-3{left:calc(var(--spacing) * 3)}.z-1{z-index:1}.z-3{z-index:3}.z-4{z-index:4}.z-5{z-index:5}.z-6{z-index:6}.z-7{z-index:7}.z-8{z-index:8}.z-20{z-index:20}.z-30{z-index:30}.z-35{z-index:35}.z-40{z-index:40}.col-1{grid-column:1}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.row-1{grid-row:1}.row-2{grid-row:2}.row-3{grid-row:3}.row-start-1{grid-row-start:1}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.-m-0\.5{margin:calc(var(--spacing) * -.5)}.m-0{margin:0}.m-auto{margin:auto}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.mx-0{margin-inline:0}.mx-0\.5{margin-inline:calc(var(--spacing) * .5)}.mx-1\.5{margin-inline:calc(var(--spacing) * 1.5)}.mx-1\.25{margin-inline:calc(var(--spacing) * 1.25)}.mx-2{margin-inline:calc(var(--spacing) * 2)}.mx-2\.5{margin-inline:calc(var(--spacing) * 2.5)}.mx-auto{margin-inline:auto}.-my-0\.75{margin-block:calc(var(--spacing) * -.75)}.-my-1{margin-block:calc(var(--spacing) * -1)}.my-1{margin-block:var(--spacing)}.my-2{margin-block:calc(var(--spacing) * 2)}.my-2\.5{margin-block:calc(var(--spacing) * 2.5)}.my-3{margin-block:calc(var(--spacing) * 3)}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-\[min\(16vh\,8rem\)\]{margin-top:min(16vh,8rem)}.mt-auto{margin-top:auto}.-mr-0\.5{margin-right:calc(var(--spacing) * -.5)}.-mr-\[4\.5px\]{margin-right:-4.5px}.mr-1{margin-right:var(--spacing)}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mr-\[-6px\]{margin-right:-6px}.mr-\[7px\]{margin-right:7px}.mr-auto{margin-right:auto}.mb-0{margin-bottom:0}.mb-0\.5{margin-bottom:calc(var(--spacing) * .5)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-px{margin-bottom:1px}.-ml-1{margin-left:calc(var(--spacing) * -1)}.ml-0{margin-left:0}.ml-1\.5{margin-left:calc(var(--spacing) * 1.5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.ml-7{margin-left:calc(var(--spacing) * 7)}.ml-auto{margin-left:auto}.box-border{box-sizing:border-box}.scrollbar-none::-webkit-scrollbar{display:none}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-6{-webkit-line-clamp:6;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}@media (hover:none) and (pointer:coarse){.keys-only{display:none!important}}.table{display:table}.size-1{width:var(--spacing);height:var(--spacing)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-1\.75{width:calc(var(--spacing) * 1.75);height:calc(var(--spacing) * 1.75)}.size-2\.5{width:calc(var(--spacing) * 2.5);height:calc(var(--spacing) * 2.5)}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-3\.25{width:calc(var(--spacing) * 3.25);height:calc(var(--spacing) * 3.25)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-5{width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5)}.size-5\.5{width:calc(var(--spacing) * 5.5);height:calc(var(--spacing) * 5.5)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-6\.5{width:calc(var(--spacing) * 6.5);height:calc(var(--spacing) * 6.5)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.h-0\.75{height:calc(var(--spacing) * .75)}.h-1{height:var(--spacing)}.h-4\.5{height:calc(var(--spacing) * 4.5)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-\[2\.8em\]{height:2.8em}.h-\[min\(640px\,80vh\)\]{height:min(640px,80vh)}.h-full{height:100%}.h-px{height:1px}.max-h-2\/5{max-height:40%}.max-h-24{max-height:calc(var(--spacing) * 24)}.max-h-40{max-height:calc(var(--spacing) * 40)}.max-h-47{max-height:calc(var(--spacing) * 47)}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[12lh\]{max-height:12lh}.max-h-\[38vh\]{max-height:38vh}.max-h-\[40vh\]{max-height:40vh}.max-h-\[44vh\]{max-height:44vh}.max-h-\[50vh\]{max-height:50vh}.max-h-\[52vh\]{max-height:52vh}.max-h-\[55vh\]{max-height:55vh}.max-h-\[60vh\]{max-height:60vh}.max-h-\[76vh\]{max-height:76vh}.max-h-\[calc\(100vh-16px\)\]{max-height:calc(100vh - 16px)}.max-h-\[min\(50vh\,420px\)\]{max-height:min(50vh,420px)}.max-h-\[min\(380px\,60vh\)\]{max-height:min(380px,60vh)}.min-h-0{min-height:0}.min-h-5\.5{min-height:calc(var(--spacing) * 5.5)}.min-h-6{min-height:calc(var(--spacing) * 6)}.min-h-6\.5{min-height:calc(var(--spacing) * 6.5)}.min-h-9{min-height:calc(var(--spacing) * 9)}.min-h-18{min-height:calc(var(--spacing) * 18)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-30{min-height:calc(var(--spacing) * 30)}.min-h-40{min-height:calc(var(--spacing) * 40)}.min-h-\[4\.5em\]{min-height:4.5em}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-2\/5{width:40%}.w-3{width:calc(var(--spacing) * 3)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-7\.5{width:calc(var(--spacing) * 7.5)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-24{width:calc(var(--spacing) * 24)}.w-56{width:calc(var(--spacing) * 56)}.w-64{width:calc(var(--spacing) * 64)}.w-85{width:calc(var(--spacing) * 85)}.w-\[1ch\]{width:1ch}.w-\[5ch\]{width:5ch}.w-\[8ch\]{width:8ch}.w-\[16ch\]{width:16ch}.w-\[min\(440px\,calc\(100vw-32px\)\)\]{width:min(440px,100vw - 32px)}.w-\[min\(460px\,100\%\)\]{width:min(460px,100%)}.w-\[min\(560px\,calc\(100vw-24px\)\)\]{width:min(560px,100vw - 24px)}.w-\[min\(620px\,calc\(100vw-32px\)\)\]{width:min(620px,100vw - 32px)}.w-\[min\(680px\,calc\(100vw-32px\)\)\]\!{width:min(680px,100vw - 32px)!important}.w-\[min\(880px\,calc\(100vw-32px\)\)\]{width:min(880px,100vw - 32px)}.w-full{width:100%}.max-w-24{max-width:calc(var(--spacing) * 24)}.max-w-40{max-width:calc(var(--spacing) * 40)}.max-w-80{max-width:calc(var(--spacing) * 80)}.max-w-90{max-width:calc(var(--spacing) * 90)}.max-w-105{max-width:calc(var(--spacing) * 105)}.max-w-130{max-width:calc(var(--spacing) * 130)}.max-w-\[20ch\]{max-width:20ch}.max-w-\[28ch\]{max-width:28ch}.max-w-\[40em\]{max-width:40em}.max-w-\[44ch\]{max-width:44ch}.max-w-\[55\%\]{max-width:55%}.max-w-\[104ch\]{max-width:104ch}.max-w-\[calc\(100vw-24px\)\]{max-width:calc(100vw - 24px)}.max-w-\[min\(52ch\,calc\(100vw-16px\)\)\]{max-width:min(52ch,100vw - 16px)}.max-w-full{max-width:100%}.min-w-0{min-width:0}.min-w-6{min-width:calc(var(--spacing) * 6)}.min-w-18{min-width:calc(var(--spacing) * 18)}.min-w-40{min-width:calc(var(--spacing) * 40)}.min-w-50{min-width:calc(var(--spacing) * 50)}.min-w-55{min-width:calc(var(--spacing) * 55)}.min-w-\[3ch\]{min-width:3ch}.min-w-\[4ch\]{min-width:4ch}.min-w-\[5ch\]{min-width:5ch}.min-w-\[14ch\]{min-width:14ch}.min-w-\[36ch\]{min-width:36ch}.min-w-\[min\(34ch\,calc\(100vw-16px\)\)\]{min-width:min(34ch,100vw - 16px)}.min-w-max{min-width:max-content}.\[flex\:1_1_0\]{flex:1 1 0}.flex-1{flex:1}.flex-\[0_0_1\.5ch\]{flex:0 0 1.5ch}.flex-auto{flex:auto}.flex-initial{flex:0 auto}.flex-none{flex:none}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.basis-32{flex-basis:calc(var(--spacing) * 32)}.basis-40{flex-basis:calc(var(--spacing) * 40)}.basis-full{flex-basis:100%}.border-collapse{border-collapse:collapse}.origin-top-left{transform-origin:0 0}.-translate-x-1{--tw-translate-x:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pr-list-in{animation:.14s ease-out pr-list-in}.animate-row-tip-in{animation:.14s ease-out row-tip-in}.cursor-col-resize{cursor:col-resize}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.cursor-row-resize{cursor:row-resize}.cursor-text{cursor:text}.touch-manipulation{touch-action:manipulation}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.scrollbar-none{scrollbar-width:none}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.columns-\[2_220px\]{columns:2 220px}.break-inside-avoid{break-inside:avoid}.auto-rows-\[3px\]{grid-auto-rows:3px}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-\[4ch_4ch_2ch_1fr\]{grid-template-columns:4ch 4ch 2ch 1fr}.grid-cols-\[max-content_minmax\(0\,1fr\)\]{grid-template-columns:max-content minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_104px_72px\]{grid-template-columns:minmax(0,1fr) 104px 72px}.grid-cols-\[minmax\(260px\,2fr\)_minmax\(0\,3fr\)\]{grid-template-columns:minmax(260px,2fr) minmax(0,3fr)}.grid-cols-\[repeat\(3\,3px\)\]{grid-template-columns:repeat(3,3px)}.grid-cols-\[repeat\(auto-fill\,minmax\(96px\,1fr\)\)\]{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}.grid-cols-\[repeat\(auto-fit\,minmax\(min\(100\%\,17rem\)\,1fr\)\)\]{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}.grid-cols-\[var\(--rail-w\,minmax\(220px\,280px\)\)_1fr\]{grid-template-columns:var(--rail-w,minmax(220px,280px)) 1fr}.grid-cols-\[var\(--rail-w\,minmax\(220px\,280px\)\)_1fr_var\(--panel-w\,clamp\(300px\,28vw\,440px\)\)\]{grid-template-columns:var(--rail-w,minmax(220px,280px)) 1fr var(--panel-w,clamp(300px, 28vw, 440px))}.grid-rows-\[1fr_auto\]{grid-template-rows:1fr auto}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.\[align-items\:start\]{align-items:start}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-items-center{justify-items:center}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-0\.75{gap:calc(var(--spacing) * .75)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-1\.25{gap:calc(var(--spacing) * 1.25)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-4\.5{gap:calc(var(--spacing) * 4.5)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-7{gap:calc(var(--spacing) * 7)}.gap-px{gap:1px}.gap-x-1\.5{column-gap:calc(var(--spacing) * 1.5)}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-x-2\.5{column-gap:calc(var(--spacing) * 2.5)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-3\.5{column-gap:calc(var(--spacing) * 3.5)}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-y-0{row-gap:0}.gap-y-0\.5{row-gap:calc(var(--spacing) * .5)}.gap-y-1{row-gap:var(--spacing)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.self-center{align-self:center}.self-start{align-self:flex-start}.self-stretch{align-self:stretch}.justify-self-center{justify-self:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.overscroll-contain{overscroll-behavior:contain}.rounded-\[2px\]{border-radius:2px}.rounded-\[calc\(var\(--radius\)-1px\)\]{border-radius:calc(var(--radius) - 1px)}.rounded-\[calc\(var\(--radius\)-4px\)\]{border-radius:calc(var(--radius) - 4px)}.rounded-\[calc\(var\(--radius\)-6px\)\]{border-radius:calc(var(--radius) - 6px)}.rounded-\[calc\(var\(--radius-sm\)-2px\)\]{border-radius:calc(var(--radius-sm) - 2px)}.rounded-full{border-radius:2147483647px}.rounded-md{border-radius:var(--radius)}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xs{border-radius:var(--radius-xs)}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-hairline{border-width:var(--hairline);border-style:solid}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-hairline{border-top-width:var(--hairline);border-top-style:solid}.border-b-hairline{border-bottom-width:var(--hairline);border-bottom-style:solid}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[color-mix\(in_srgb\,var\(--accent\)_45\%\,transparent\)\]{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-\[color-mix\(in_srgb\,var\(--accent\)_45\%\,transparent\)\]{border-color:color-mix(in srgb,var(--accent) 45%,transparent)}}.border-accent{border-color:var(--accent)}.border-current{border-color:currentColor}.border-line{border-color:var(--line)}.border-line-active{border-color:var(--line-active)}.border-transparent{border-color:#0000}.border-warning{border-color:var(--warning)}.border-t-line{border-top-color:var(--line)}.border-b-line{border-bottom-color:var(--line)}.bg-\(--scrim\){background-color:var(--scrim)}.bg-\[color-mix\(in_srgb\,currentColor_20\%\,transparent\)\]{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_srgb\,currentColor_20\%\,transparent\)\]{background-color:color-mix(in srgb,currentColor 20%,transparent)}}.bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]{background-color:color-mix(in srgb,currentcolor 18%,transparent)}}.bg-accent{background-color:var(--accent)}.bg-accent-soft{background-color:var(--accent-soft)}.bg-accent\/25{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/25{background-color:color-mix(in oklab, var(--accent) 25%, transparent)}}.bg-current{background-color:currentColor}.bg-diff-added-bg{background-color:var(--diff-added-bg)}.bg-diff-removed-bg{background-color:var(--diff-removed-bg)}.bg-error{background-color:var(--error)}.bg-hover{background-color:var(--hover)}.bg-inset{background-color:var(--inset)}.bg-line{background-color:var(--line)}.bg-menu{background-color:var(--menu)}.bg-muted{background-color:var(--muted)}.bg-paper{background-color:var(--paper)}.bg-subtle{background-color:var(--subtle)}.bg-success{background-color:var(--success)}.bg-surface{background-color:var(--surface)}.bg-transparent{background-color:#0000}.bg-warning{background-color:var(--warning)}.fill-none{fill:none}.stroke-current{stroke:currentColor}.\[stroke-width\:1\.3\]{stroke-width:1.3px}.\[stroke-width\:1\.25\]{stroke-width:1.25px}.stroke-\[1\.4\]{stroke-width:1.4px}.stroke-\[1\.75\]{stroke-width:1.75px}.object-cover{object-fit:cover}.p-0{padding:0}.p-0\.5{padding:calc(var(--spacing) * .5)}.p-1{padding:var(--spacing)}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-0{padding-inline:0}.px-0\.5{padding-inline:calc(var(--spacing) * .5)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-1\.25{padding-inline:calc(var(--spacing) * 1.25)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-4\.5{padding-inline:calc(var(--spacing) * 4.5)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0{padding-block:0}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-0\.75{padding-block:calc(var(--spacing) * .75)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-1\.25{padding-block:calc(var(--spacing) * 1.25)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-4\.5{padding-block:calc(var(--spacing) * 4.5)}.py-px{padding-block:1px}.pt-0{padding-top:0}.pt-0\.5{padding-top:calc(var(--spacing) * .5)}.pt-1{padding-top:var(--spacing)}.pt-1\.5{padding-top:calc(var(--spacing) * 1.5)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-3\.5{padding-top:calc(var(--spacing) * 3.5)}.pt-7{padding-top:calc(var(--spacing) * 7)}.pt-\[12vh\]{padding-top:12vh}.pr-0{padding-right:0}.pr-0\.5{padding-right:calc(var(--spacing) * .5)}.pr-1{padding-right:var(--spacing)}.pr-1\.5{padding-right:calc(var(--spacing) * 1.5)}.pr-1\.75{padding-right:calc(var(--spacing) * 1.75)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pr-8{padding-right:calc(var(--spacing) * 8)}.pr-12{padding-right:calc(var(--spacing) * 12)}.pb-0\.5{padding-bottom:calc(var(--spacing) * .5)}.pb-1{padding-bottom:var(--spacing)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-2\.5{padding-bottom:calc(var(--spacing) * 2.5)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pb-7{padding-bottom:calc(var(--spacing) * 7)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pl-0{padding-left:0}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-2\.5{padding-left:calc(var(--spacing) * 2.5)}.pl-3{padding-left:calc(var(--spacing) * 3)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.pl-7\.5{padding-left:calc(var(--spacing) * 7.5)}.pl-\[4ch\]{padding-left:4ch}.pl-\[calc\(2ch\+16px\)\]{padding-left:calc(2ch + 16px)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.align-top{vertical-align:top}.font-\[inherit\]{font-family:inherit}.font-mono{font-family:var(--mono)}.font-sans{font-family:var(--sans)}.text-body{font-size:var(--fs-body);line-height:var(--tw-leading,normal)}.text-display{font-size:var(--fs-display);line-height:var(--tw-leading,normal)}.text-meta{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.text-meta\/body{font-size:var(--fs-meta);line-height:1.4}.text-meta\/normal{font-size:var(--fs-meta);line-height:var(--leading-normal)}.text-title{font-size:var(--fs-title);line-height:var(--tw-leading,normal)}.\[font-size\:var\(--fs-meta\)\]{font-size:var(--fs-meta)}.text-\(length\:--fs-body\){font-size:var(--fs-body)}.text-\(length\:--fs-meta\){font-size:var(--fs-meta)}.text-\(length\:--fs-title\){font-size:var(--fs-title)}.text-\[length\:var\(--fs-body\)\]{font-size:var(--fs-body)}.text-\[length\:var\(--fs-meta\)\],.text-size-meta{font-size:var(--fs-meta)}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.5\]{--tw-leading:1.5;line-height:1.5}.leading-\[1\.35\]{--tw-leading:1.35;line-height:1.35}.leading-\[1\.45\]{--tw-leading:1.45;line-height:1.45}.leading-\[1\.55\]{--tw-leading:1.55;line-height:1.55}.leading-\[inherit\]{--tw-leading:inherit;line-height:inherit}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-bold\!{--tw-font-weight:var(--font-weight-bold)!important;font-weight:var(--font-weight-bold)!important}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.02em\]{--tw-tracking:.02em;letter-spacing:.02em}.tracking-\[0\]{--tw-tracking:0;letter-spacing:0}.tracking-code{--tw-tracking:.08em;letter-spacing:.08em}.\[overflow-wrap\:anywhere\]{overflow-wrap:anywhere}.break-words{overflow-wrap:break-word}.wrap-anywhere{overflow-wrap:anywhere}.break-all{word-break:break-all}.text-ellipsis{text-overflow:ellipsis}.whitespace-normal{white-space:normal}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.tab-1{tab-size:1}.tab-2{tab-size:2}.text-accent{color:var(--accent)}.text-diff-added{color:var(--diff-added)}.text-diff-removed{color:var(--diff-removed)}.text-error{color:var(--error)}.text-info{color:var(--info)}.text-inherit{color:inherit}.text-ink{color:var(--ink)}.text-merged{color:var(--merged)}.text-muted{color:var(--muted)}.text-paper{color:var(--paper)}.text-subtle{color:var(--subtle)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.opacity-0{opacity:0}.opacity-12{opacity:.12}.opacity-60{opacity:.6}.shadow-dialog{--tw-shadow:var(--shadow-dialog);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-popover{--tw-shadow:var(--shadow-popover);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.\[outline\:0\]{outline:0}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[background\,border-color\]{transition-property:background,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[grid-template-columns\]{transition-property:grid-template-columns;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[opacity\,translate\]{transition-property:opacity,translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[rotate\,opacity\]{transition-property:rotate,opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\[transform\,background\]{transition-property:transform,background;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.transition-padding-left{transition-property:padding-left}.duration-120{--tw-duration:.12s;transition-duration:.12s}.duration-220{--tw-duration:.22s;transition-duration:.22s}.ease-\[ease\]{--tw-ease:ease;transition-timing-function:ease}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.ease-snap{--tw-ease:cubic-bezier(.2, 0, 0, 1);transition-timing-function:cubic-bezier(.2,0,0,1)}.\[contain\:layout_paint\]{contain:layout paint}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[--divider\:5px\]{--divider:5px}.\[--ml\:8px\]{--ml:8px}.\[--mt\:6px\]{--mt:6px}.\[border-bottom\:var\(--hairline\)_solid_var\(--line\)\]{border-bottom:var(--hairline) solid var(--line)}.\[border-bottom\:var\(--hairline\)_solid_var\(--warning\)\]{border-bottom:var(--hairline) solid var(--warning)}.\[border-left\:var\(--hairline\)_solid_var\(--accent\)\]{border-left:var(--hairline) solid var(--accent)}.\[border-left\:var\(--hairline\)_solid_var\(--line\)\]{border-left:var(--hairline) solid var(--line)}.\[border-right\:var\(--hairline\)_solid_var\(--line\)\]{border-right:var(--hairline) solid var(--line)}.\[border-top\:var\(--hairline\)_solid_var\(--accent\)\]{border-top:var(--hairline) solid var(--accent)}.\[border-top\:var\(--hairline\)_solid_var\(--line\)\]{border-top:var(--hairline) solid var(--line)}.\[border\:0\]{border:0}.\[font\:400_var\(--fs-display\)\/1_var\(--sans\)\]{font:400 var(--fs-display)/1 var(--sans)}.\[font\:inherit\]{font:inherit}.\[stroke-linecap\:round\]{stroke-linecap:round}.\[stroke-linejoin\:round\]{stroke-linejoin:round}:is(.\*\:relative>*){position:relative}:is(.\*\:col-1>*){grid-column:1}.not-first\:mt-4\.5:not(:first-child){margin-top:calc(var(--spacing) * 4.5)}.group-last-of-type\/chip\:right-0:is(:where(.group\/chip):last-of-type *){right:0}.group-last-of-type\/chip\:left-auto:is(:where(.group\/chip):last-of-type *){left:auto}.group-focus-within\:opacity-100:is(:where(.group):focus-within *),.group-focus-within\/eng\:opacity-100:is(:where(.group\/eng):focus-within *){opacity:1}.group-focus-within\/pane\:text-accent:is(:where(.group\/pane):focus-within *){color:var(--accent)}.group-focus-within\/rail\:\[box-shadow\:inset_0_0_0_1px_var\(--focus\)\]:is(:where(.group\/rail):focus-within *){box-shadow:inset 0 0 0 1px var(--focus)}@media (hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *),.group-hover\/eng\:opacity-100:is(:where(.group\/eng):hover *),.group-hover\/entry\:opacity-100:is(:where(.group\/entry):hover *),.group-hover\/head\:opacity-100:is(:where(.group\/head):hover *),.group-hover\/ptab\:opacity-100:is(:where(.group\/ptab):hover *){opacity:1}}.group-focus\/preview\:bg-accent-soft:is(:where(.group\/preview):focus *){background-color:var(--accent-soft)}.group-focus-visible\/toggle\:opacity-100:is(:where(.group\/toggle):focus-visible *){opacity:1}.group-aria-checked\:\[transform\:translateX\(12px\)\]:is(:where(.group)[aria-checked=true] *){transform:translate(12px)}.group-aria-checked\:bg-paper:is(:where(.group)[aria-checked=true] *){background-color:var(--paper)}.group-aria-selected\/tab\:text-accent:is(:where(.group\/tab)[aria-selected=true] *){color:var(--accent)}.placeholder\:text-subtle::placeholder{color:var(--subtle)}.before\:absolute:before{content:var(--tw-content);position:absolute}.before\:inset-x-0:before{content:var(--tw-content);inset-inline:0}.before\:top-0:before{content:var(--tw-content);top:0}.before\:top-\[calc\(var\(--divider\)\/2\)\]:before{content:var(--tw-content);top:calc(var(--divider) / 2)}.before\:right-0:before{content:var(--tw-content);right:0}.before\:bottom-0:before{content:var(--tw-content);bottom:0}.before\:bottom-1\/2:before{content:var(--tw-content);bottom:50%}.before\:left-1:before{content:var(--tw-content);left:var(--spacing)}.before\:h-px:before{content:var(--tw-content);height:1px}.before\:rounded-bl-\[6px\]:before{content:var(--tw-content);border-bottom-left-radius:6px}.before\:bg-line:before{content:var(--tw-content);background-color:var(--line)}.before\:content-\[\'\'\]:before{--tw-content:"";content:var(--tw-content)}.before\:\[border-bottom\:var\(--hairline\)_solid_var\(--line-active\)\]:before{content:var(--tw-content);border-bottom:var(--hairline) solid var(--line-active)}.before\:\[border-left\:var\(--hairline\)_solid_var\(--line-active\)\]:before{content:var(--tw-content);border-left:var(--hairline) solid var(--line-active)}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-x-0:after{content:var(--tw-content);inset-inline:0}.after\:-inset-y-0\.75:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -.75)}.after\:inset-y-0:after{content:var(--tw-content);inset-block:0}.after\:right-0:after{content:var(--tw-content);right:0}.after\:left-0:after{content:var(--tw-content);left:0}.after\:w-\(--fill\):after{content:var(--tw-content);width:var(--fill)}.after\:w-0\.5:after{content:var(--tw-content);width:calc(var(--spacing) * .5)}.after\:bg-current:after{content:var(--tw-content);background-color:currentColor}.after\:bg-line-active:after{content:var(--tw-content);background-color:var(--line-active)}.after\:font-mono:after{content:var(--tw-content);font-family:var(--mono)}.after\:text-meta:after{content:var(--tw-content);font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.after\:font-medium:after{content:var(--tw-content);--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.after\:text-accent:after{content:var(--tw-content);color:var(--accent)}.after\:normal-nums:after{content:var(--tw-content);font-variant-numeric:normal}.after\:opacity-0:after{content:var(--tw-content);opacity:0}.after\:transition-opacity:after{content:var(--tw-content);transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.after\:duration-120:after{content:var(--tw-content);--tw-duration:.12s;transition-duration:.12s}.after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.after\:content-\[\'move\'\]:after{--tw-content:"move";content:var(--tw-content)}.first\:mt-0:first-child{margin-top:0}.first\:border-t-0:first-child{border-top-style:var(--tw-border-style);border-top-width:0}.first\:border-t-hairline:first-child{border-top-width:var(--hairline);border-top-style:solid}.first\:border-t-line:first-child{border-top-color:var(--line)}.first\:pt-0:first-child{padding-top:0}.last\:mb-0:last-child{margin-bottom:0}.focus-within\:border-focus:focus-within{border-color:var(--focus)}.focus-within\:border-line-active:focus-within{border-color:var(--line-active)}@media (hover:hover){.hover\:border-line-active:hover{border-color:var(--line-active)}.hover\:bg-hover:hover{background-color:var(--hover)}.hover\:bg-inset:hover{background-color:var(--inset)}.hover\:text-ink:hover{color:var(--ink)}.hover\:underline:hover{text-decoration-line:underline}.hover\:before\:bg-line-active:hover:before{content:var(--tw-content);background-color:var(--line-active)}.hover\:after\:opacity-100:hover:after{content:var(--tw-content);opacity:1}.hover\:after\:delay-250:hover:after{content:var(--tw-content);transition-delay:.25s}}.focus\:border-accent:focus{border-color:var(--accent)}.focus\:border-focus:focus{border-color:var(--focus)}.focus\:bg-hover:focus{background-color:var(--hover)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:border-accent:focus-visible{border-color:var(--accent)}.focus-visible\:border-line-active:focus-visible{border-color:var(--line-active)}.focus-visible\:bg-accent-soft:focus-visible{background-color:var(--accent-soft)}.focus-visible\:bg-inset:focus-visible{background-color:var(--inset)}.focus-visible\:text-ink:focus-visible{color:var(--ink)}.focus-visible\:opacity-100:focus-visible{opacity:1}.focus-visible\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-focus:focus-visible{outline-color:var(--focus)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\:scale-97:active{--tw-scale-x:97%;--tw-scale-y:97%;--tw-scale-z:97%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:after\:bg-accent:active:after{content:var(--tw-content);background-color:var(--accent)}.active\:after\:opacity-100:active:after{content:var(--tw-content);opacity:1}.active\:after\:delay-0:active:after{content:var(--tw-content);transition-delay:0s}@media (hover:hover){.enabled\:hover\:bg-hover:enabled:hover{background-color:var(--hover)}.enabled\:hover\:text-ink:enabled:hover{color:var(--ink)}}.disabled\:cursor-default:disabled{cursor:default}.disabled\:opacity-35:disabled{opacity:.35}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}.has-\[\:disabled\]\:opacity-60:has(:disabled){opacity:.6}.aria-checked\:border-accent[aria-checked=true]{border-color:var(--accent)}.aria-checked\:bg-accent[aria-checked=true]{background-color:var(--accent)}.aria-expanded\:bg-hover[aria-expanded=true]{background-color:var(--hover)}.aria-expanded\:text-ink[aria-expanded=true]{color:var(--ink)}.aria-expanded\:opacity-100[aria-expanded=true]{opacity:1}.aria-invalid\:text-muted[aria-invalid=true]{color:var(--muted)}.aria-pressed\:underline[aria-pressed=true]{text-decoration-line:underline}.aria-pressed\:opacity-100[aria-pressed=true]{opacity:1}.aria-selected\:bg-inset[aria-selected=true]{background-color:var(--inset)}.aria-selected\:text-ink[aria-selected=true]{color:var(--ink)}.aria-\[current\=true\]\:text-accent[aria-current=true]{color:var(--accent)}.data-menu-open\:bg-hover[data-menu-open]{background-color:var(--hover)}.data-\[drop\=after\]\:shadow-\[inset_-2px_0_0_var\(--accent\)\][data-drop=after]{--tw-shadow:inset -2px 0 0 var(--tw-shadow-color,var(--accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.data-\[drop\=before\]\:shadow-\[inset_2px_0_0_var\(--accent\)\][data-drop=before]{--tw-shadow:inset 2px 0 0 var(--tw-shadow-color,var(--accent));box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}@media (prefers-reduced-motion:no-preference){.motion-safe\:\[animation\:rise-in_140ms_ease-out\,sink-out_140ms_ease-in_var\(--hud-out\,3860ms\)_forwards\]{animation:rise-in .14s ease-out,sink-out .14s ease-in var(--hud-out,3.86s) forwards}.motion-safe\:\[animation\:sink-out_140ms_ease-in_var\(--hud-out\,3860ms\)_forwards\]{animation:sink-out .14s ease-in var(--hud-out,3.86s) forwards}.motion-safe\:animate-fade-in{animation:.14s ease-out fade-in}.motion-safe\:animate-menu-in{animation:.12s cubic-bezier(.16,1,.3,1) menu-in}.motion-safe\:animate-rise-in{animation:.18s cubic-bezier(.16,1,.3,1) rise-in}}@media (prefers-reduced-motion:reduce){.motion-reduce\:animate-none{animation:none}.motion-reduce\:transition-none{transition-property:none}.motion-reduce\:active\:scale-none:active{scale:none}}@media (forced-colors:active){.forced-colors\:outline-2{outline-style:var(--tw-outline-style);outline-width:2px}.forced-colors\:-outline-offset-2{outline-offset:calc(2px * -1)}.forced-colors\:outline-\[Highlight\]{outline-color:highlight}.forced-colors\:outline-solid{--tw-outline-style:solid;outline-style:solid}}@media (prefers-reduced-motion:no-preference){html[data-running-title=shimmer] .running-shimmer\:animate-shimmer{animation:2.4s linear infinite shimmer}html[data-running-title=shimmer] .running-shimmer\:bg-\[linear-gradient\(90deg\,var\(--ink\)_0\%\,var\(--ink\)_35\%\,var\(--accent\)_50\%\,var\(--ink\)_65\%\,var\(--ink\)_100\%\)\]{background-image:linear-gradient(90deg,var(--ink) 0%,var(--ink) 35%,var(--accent) 50%,var(--ink) 65%,var(--ink) 100%)}html[data-running-title=shimmer] .running-shimmer\:bg-size-\[300\%_100\%\]{background-size:300% 100%}html[data-running-title=shimmer] .running-shimmer\:bg-clip-text{-webkit-background-clip:text;background-clip:text}html[data-running-title=shimmer] .running-shimmer\:text-transparent{color:#0000}}html[data-working-border=flow] .working-flow\:border-transparent{border-color:#0000}html[data-working-border=flow] .working-flow\:\[background\:linear-gradient\(var\(--paper\)\,var\(--paper\)\)_0_0\/100\%_100\%_padding-box\,linear-gradient\(90deg\,var\(--line\)\,var\(--task-ink\,var\(--focus\)\)\,var\(--line\)\,var\(--task-ink\,var\(--focus\)\)\,var\(--line\)\)_0_0\/300\%_100\%_border-box\]{background:linear-gradient(var(--paper),var(--paper)) 0 0/100% 100% padding-box,linear-gradient(90deg,var(--line),var(--task-ink,var(--focus)),var(--line),var(--task-ink,var(--focus)),var(--line)) 0 0/300% 100% border-box}@media (prefers-reduced-motion:no-preference){html[data-working-border=flow] .working-flow\:motion-safe\:animate-flow-border{animation:3s linear infinite flow-border}}@media (hover:none) and (pointer:coarse){.touch\:relative{position:relative}.touch\:mt-0\.5{margin-top:calc(var(--spacing) * .5)}.touch\:flex{display:flex}.touch\:hidden\!{display:none!important}.touch\:size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.touch\:size-10{width:calc(var(--spacing) * 10);height:calc(var(--spacing) * 10)}.touch\:min-h-9{min-height:calc(var(--spacing) * 9)}.touch\:min-h-10{min-height:calc(var(--spacing) * 10)}.touch\:min-h-11{min-height:calc(var(--spacing) * 11)}.touch\:py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.touch\:py-1\.75{padding-block:calc(var(--spacing) * 1.75)}.touch\:py-2{padding-block:calc(var(--spacing) * 2)}.touch\:py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.touch\:text-display{font-size:var(--fs-display);line-height:var(--tw-leading,normal)}.touch\:opacity-100{opacity:1}.touch\:select-none{-webkit-user-select:none;user-select:none}.touch\:touch-callout-none{-webkit-touch-callout:none}.touch\:after\:absolute:after{content:var(--tw-content);position:absolute}.touch\:after\:-inset-1\.5:after{content:var(--tw-content);inset:calc(var(--spacing) * -1.5)}.touch\:after\:-inset-2:after{content:var(--tw-content);inset:calc(var(--spacing) * -2)}.touch\:after\:-inset-2\.5:after{content:var(--tw-content);inset:calc(var(--spacing) * -2.5)}.touch\:after\:-inset-x-0\.5:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -.5)}.touch\:after\:-inset-x-0\.75:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -.75)}.touch\:after\:-inset-x-1\.5:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -1.5)}.touch\:after\:-inset-x-2:after{content:var(--tw-content);inset-inline:calc(var(--spacing) * -2)}.touch\:after\:-inset-x-px:after{content:var(--tw-content);inset-inline:-1px}.touch\:after\:-inset-y-0\.5:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -.5)}.touch\:after\:-inset-y-1:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -1)}.touch\:after\:-inset-y-3:after{content:var(--tw-content);inset-block:calc(var(--spacing) * -3)}.touch\:after\:-top-1:after{content:var(--tw-content);top:calc(var(--spacing) * -1)}.touch\:after\:-top-1\.5:after{content:var(--tw-content);top:calc(var(--spacing) * -1.5)}.touch\:after\:-top-2:after{content:var(--tw-content);top:calc(var(--spacing) * -2)}.touch\:after\:-top-2\.5:after{content:var(--tw-content);top:calc(var(--spacing) * -2.5)}.touch\:after\:-bottom-1:after{content:var(--tw-content);bottom:calc(var(--spacing) * -1)}.touch\:after\:-bottom-1\.5:after{content:var(--tw-content);bottom:calc(var(--spacing) * -1.5)}.touch\:after\:-bottom-1\.25:after{content:var(--tw-content);bottom:calc(var(--spacing) * -1.25)}.touch\:after\:-bottom-3:after{content:var(--tw-content);bottom:calc(var(--spacing) * -3)}.touch\:after\:-left-1:after{content:var(--tw-content);left:calc(var(--spacing) * -1)}.touch\:after\:content-\[\'\'\]:after{--tw-content:"";content:var(--tw-content)}.touch\:first\:after\:-left-2:first-child:after{content:var(--tw-content);left:calc(var(--spacing) * -2)}.touch\:empty\:hidden\!:empty{display:none!important}}:where(.app:not(.is-narrow)) .wide\:overflow-x-clip{overflow-x:clip}:where(.app:not(.is-narrow)) .wide\:pt-8\.5{padding-top:calc(var(--spacing) * 8.5)}:where(.app.narrow-content) .narrow-content\:hidden,:where(.app.narrow-sidebar) .narrow-sidebar\:hidden{display:none}:where(.app.is-rail-folded) .rail-folded\:absolute{position:absolute}:where(.app.is-rail-folded) .rail-folded\:inset-y-1\.5{inset-block:calc(var(--spacing) * 1.5)}:where(.app.is-rail-folded) .rail-folded\:left-1\.5{left:calc(var(--spacing) * 1.5)}:where(.app.is-rail-folded) .rail-folded\:z-6{z-index:6}:where(.app.is-rail-folded) .rail-folded\:col-1{grid-column:1}:where(.app.is-rail-folded) .rail-folded\:col-2{grid-column:2}:where(.app.is-rail-folded) .rail-folded\:col-3{grid-column:3}:where(.app.is-rail-folded) .rail-folded\:row-1{grid-row:1}:where(.app.is-rail-folded) .rail-folded\:box-border{box-sizing:border-box}:where(.app.is-rail-folded) .rail-folded\:min-h-6\.5{min-height:calc(var(--spacing) * 6.5)}:where(.app.is-rail-folded) .rail-folded\:w-\(--rail-open-w\){width:var(--rail-open-w)}:where(.app.is-rail-folded) .rail-folded\:-translate-x-\[calc\(100\%\+12px\)\]{--tw-translate-x:calc(calc(100% + 12px) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}:where(.app.is-rail-folded) .rail-folded\:rounded-md{border-radius:var(--radius)}:where(.app.is-rail-folded) .rail-folded\:border-hairline{border-width:var(--hairline);border-style:solid}:where(.app.is-rail-folded) .rail-folded\:border-line{border-color:var(--line)}:where(.app.is-rail-folded) .rail-folded\:bg-surface{background-color:var(--surface)}:where(.app.is-rail-folded) .rail-folded\:pl-23{padding-left:calc(var(--spacing) * 23)}:where(.app.is-rail-folded) .rail-folded\:shadow-none{--tw-shadow:0 0 #0000;box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(.app.is-rail-folded) .rail-folded\:transition-\[translate\]{transition-property:translate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:where(.app.is-rail-folded) .rail-folded\:duration-200{--tw-duration:.2s;transition-duration:.2s}:where(.app.is-rail-folded) .rail-folded\:ease-snap{--tw-ease:cubic-bezier(.2, 0, 0, 1);transition-timing-function:cubic-bezier(.2,0,0,1)}@media (prefers-reduced-motion:reduce){:where(.app.is-rail-folded) .rail-folded\:motion-reduce\:transition-none{transition-property:none}}:where(.app.is-rail-peek) .rail-peek\:translate-none{translate:none}:where(.app.is-rail-peek) .rail-peek\:shadow-dialog{--tw-shadow:var(--shadow-dialog);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}:where(.app.is-panel-expanded) .panel-expanded\:invisible{visibility:hidden}:where(.app.is-panel-expanded) .panel-expanded\:z-2{z-index:2}:where(.app.is-panel-expanded) .panel-expanded\:col-2{grid-column:2}:where(.app.is-panel-expanded) .panel-expanded\:col-\[2\/-1\]{grid-column:2/-1}:where(.app.is-panel-expanded) .panel-expanded\:bg-paper{background-color:var(--paper)}:where(.app.is-panel-expanded) .panel-expanded\:pl-2{padding-left:calc(var(--spacing) * 2)}:where(.app.is-narrow) .narrow\:grid-cols-\[3ch_3ch_1ch_1fr\]{grid-template-columns:3ch 3ch 1ch 1fr}:where(.app.is-narrow) .narrow\:gap-x-1{column-gap:var(--spacing)}:where(.app.is-narrow) .narrow\:px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}:where(.app.is-narrow) .narrow\:px-2{padding-inline:calc(var(--spacing) * 2)}:where(.app.is-narrow) .narrow\:pt-0{padding-top:0}:where(.app.is-narrow) .narrow\:wrap-anywhere{overflow-wrap:anywhere}:where(.app.is-narrow) .narrow\:whitespace-pre-wrap{white-space:pre-wrap}@container (width<=720px){.rt-narrow\:flex{display:flex}.rt-narrow\:shrink-0{flex-shrink:0}.rt-narrow\:flex-col{flex-direction:column}.rt-narrow\:overflow-visible{overflow:visible}.rt-narrow\:overflow-y-auto{overflow-y:auto}.rt-narrow\:pt-3{padding-top:calc(var(--spacing) * 3)}.rt-narrow\:pl-0{padding-left:0}.rt-narrow\:\[border-left\:none\]{border-left:none}.rt-narrow\:\[border-top\:var\(--hairline\)_solid_var\(--line\)\]{border-top:var(--hairline) solid var(--line)}}@media (height<=500px){.short\:h-\[calc\(100dvh-24px\)\]{height:calc(100dvh - 24px)}.short\:max-h-\[calc\(100dvh-24px\)\]{max-height:calc(100dvh - 24px)}.short\:px-4{padding-inline:calc(var(--spacing) * 4)}.short\:py-3{padding-block:calc(var(--spacing) * 3)}.short\:pt-3{padding-top:calc(var(--spacing) * 3)}}@media (width<=559px){.w-narrow\:block{display:block}.w-narrow\:flex{display:flex}.w-narrow\:h-dvh{height:100dvh}.w-narrow\:min-h-11{min-height:calc(var(--spacing) * 11)}.w-narrow\:w-full{width:100%}.w-narrow\:w-screen{width:100vw}.w-narrow\:flex-1{flex:1}.w-narrow\:flex-col{flex-direction:column}.w-narrow\:items-stretch{align-items:stretch}.w-narrow\:justify-start{justify-content:flex-start}.w-narrow\:gap-6{gap:calc(var(--spacing) * 6)}.w-narrow\:rounded-none{border-radius:0}.w-narrow\:border-0{border-style:var(--tw-border-style);border-width:0}.w-narrow\:px-3{padding-inline:calc(var(--spacing) * 3)}.w-narrow\:px-4{padding-inline:calc(var(--spacing) * 4)}.w-narrow\:py-3{padding-block:calc(var(--spacing) * 3)}.w-narrow\:pt-0{padding-top:0}.w-narrow\:pt-1{padding-top:var(--spacing)}.w-narrow\:pb-10{padding-bottom:calc(var(--spacing) * 10)}.w-narrow\:\[border-right\:none\]{border-right:none}}@container (width<=250px){.rail-tight\:hidden{display:none}}@media (hover:none) and (pointer:coarse){.touch\:\[\&_\.link\]\:after\:inset-\[-2px_-6px_-4px\] .link:after{content:var(--tw-content);inset:-2px -6px -4px}}.\[\&_\.link\:disabled\]\:pointer-events-none .link:disabled{pointer-events:none}.\[\&_\.link\:disabled\]\:cursor-default .link:disabled{cursor:default}.\[\&_\.link\:disabled\]\:opacity-50 .link:disabled{opacity:.5}.\[\&_\.link\:disabled\]\:opacity-60 .link:disabled{opacity:.6}.\[\&_\.page-title\]\:m-0 .page-title{margin:0}.\[\&_a\]\:text-accent a{color:var(--accent)}.\[\&_a\]\:underline a{text-decoration-line:underline}.\[\&_a\]\:underline-offset-2 a{text-underline-offset:2px}.\[\&_b\]\:mr-2\.5 b{margin-right:calc(var(--spacing) * 2.5)}.\[\&_code\]\:rounded-sm code{border-radius:var(--radius-sm)}.\[\&_code\]\:bg-inset code{background-color:var(--inset)}.\[\&_code\]\:px-1 code{padding-inline:var(--spacing)}.\[\&_code\]\:py-0 code{padding-block:0}.\[\&_code\]\:font-mono code{font-family:var(--mono)}.\[\&_code\]\:text-meta code{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&_code\]\:font-normal code{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.\[\&_code\]\:normal-nums code{font-variant-numeric:normal}.\[\&_dd\]\:m-0 dd{margin:0}.\[\&_dd\]\:wrap-anywhere dd{overflow-wrap:anywhere}.\[\&_dd_\.mono\]\:whitespace-pre dd .mono{white-space:pre}.\[\&_h2\]\:m-0 h2{margin:0}.\[\&_h2\]\:mx-0 h2{margin-inline:0}.\[\&_h2\]\:mt-3\.5 h2{margin-top:calc(var(--spacing) * 3.5)}.\[\&_h2\]\:mb-1 h2{margin-bottom:var(--spacing)}.\[\&_h2\]\:text-\[length\:var\(--fs-body\)\] h2{font-size:var(--fs-body)}.\[\&_h3\]\:mx-0 h3{margin-inline:0}.\[\&_h3\]\:mt-3 h3{margin-top:calc(var(--spacing) * 3)}.\[\&_h3\]\:mb-1\.5 h3{margin-bottom:calc(var(--spacing) * 1.5)}.\[\&_h3\]\:font-sans h3{font-family:var(--sans)}.\[\&_h3\]\:text-meta h3{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&_h3\]\:font-medium h3{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.\[\&_h3\]\:text-muted h3{color:var(--muted)}.\[\&_h3\]\:normal-nums h3{font-variant-numeric:normal}.\[\&_h3\:first-child\]\:mt-0 h3:first-child{margin-top:0}.\[\&_li\+li\]\:mt-2 li+li{margin-top:calc(var(--spacing) * 2)}.\[\&_p\]\:m-0 p{margin:0}.\[\&_p\]\:mx-0 p{margin-inline:0}.\[\&_p\]\:my-1 p{margin-block:var(--spacing)}.\[\&_p\]\:mt-0 p{margin-top:0}.\[\&_p\]\:mb-1 p{margin-bottom:var(--spacing)}.\[\&_p\]\:mb-2 p{margin-bottom:calc(var(--spacing) * 2)}.\[\&_p\]\:text-meta p{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&_p\]\:text-muted p{color:var(--muted)}.\[\&_pre\]\:m-0 pre{margin:0}.\[\&_pre\]\:mx-0 pre{margin-inline:0}.\[\&_pre\]\:mt-1 pre{margin-top:var(--spacing)}.\[\&_pre\]\:mb-1\.5 pre{margin-bottom:calc(var(--spacing) * 1.5)}.\[\&_pre\]\:max-h-\[16lh\] pre{max-height:16lh}.\[\&_pre\]\:overflow-auto pre{overflow:auto}.\[\&_pre\]\:rounded-sm pre{border-radius:var(--radius-sm)}.\[\&_pre\]\:bg-inset pre{background-color:var(--inset)}.\[\&_pre\]\:px-2 pre{padding-inline:calc(var(--spacing) * 2)}.\[\&_pre\]\:py-1\.5 pre{padding-block:calc(var(--spacing) * 1.5)}.\[\&_pre\]\:wrap-anywhere pre{overflow-wrap:anywhere}.\[\&_pre\]\:whitespace-pre-wrap pre{white-space:pre-wrap}.\[\&_pre\]\:text-muted pre{color:var(--muted)}.\[\&_pre\>div\>div\]\:\[height\:var\(--row-h\,1\.15em\)\] pre>div>div{height:var(--row-h,1.15em)}.\[\&_pre\>div\>div\]\:overflow-hidden pre>div>div{overflow:hidden}.\[\&_pre\>div\>div\]\:\[line-height\:var\(--row-h\,1\.15em\)\] pre>div>div{line-height:var(--row-h,1.15em)}.\[\&_span\]\:text-muted span{color:var(--muted)}.\[\&_summary\]\:cursor-pointer summary{cursor:pointer}.\[\&_summary\]\:list-none summary{list-style-type:none}.\[\&_summary\]\:truncate summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.\[\&_summary\:\:-webkit-details-marker\]\:hidden summary::-webkit-details-marker{display:none}.\[\&_svg\]\:size-3\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:flex-none svg{flex:none}.\[\&_svg\]\:fill-none svg{fill:none}.\[\&_svg\]\:stroke-current svg{stroke:currentColor}.\[\&_svg\]\:\[stroke-width\:1\.25\] svg{stroke-width:1.25px}.\[\&_svg\]\:\[stroke-linecap\:round\] svg{stroke-linecap:round}.\[\&_svg\]\:\[stroke-linejoin\:round\] svg{stroke-linejoin:round}.\[\&_ul\]\:m-0 ul{margin:0}.\[\&_ul\]\:pl-4\.5 ul{padding-left:calc(var(--spacing) * 4.5)}.\[\&\+\&\]\:mt-1\.5+.\[\&\+\&\]\:mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.\[\&\.is-leaving\]\:pointer-events-none.is-leaving{pointer-events:none}.\[\&\.is-leaving\]\:absolute.is-leaving{position:absolute}.\[\&\.is-leaving\]\:inset-0.is-leaving{inset:0}.\[\&\.is-leaving\]\:z-6.is-leaving{z-index:6}.\[\&\.is-leaving\]\:animate-fade-out.is-leaving{animation:.14s ease-in forwards fade-out}.\[\&\.is-leaving\]\:animate-sink-out.is-leaving{animation:.14s ease-in forwards sink-out}.\[\&\.is-resizing_iframe\]\:pointer-events-none.is-resizing iframe{pointer-events:none}.\[\&\:hover\]\:bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]:hover{background-color:currentColor}@supports (color:color-mix(in lab, red, red)){.\[\&\:hover\]\:bg-\[color-mix\(in_srgb\,currentcolor_18\%\,transparent\)\]:hover{background-color:color-mix(in srgb,currentcolor 18%,transparent)}}.\[\&\:hover\]\:bg-hover:hover{background-color:var(--hover)}.\[\&\:hover\]\:text-accent:hover{color:var(--accent)}.\[\&\:hover\]\:text-ink:hover{color:var(--ink)}.\[\&\:hover\]\:underline:hover{text-decoration-line:underline}.\[\&\>\*\]\:shrink-0>*{flex-shrink:0}.\[\&\>\*\]\:border-b-hairline>*{border-bottom-width:var(--hairline);border-bottom-style:solid}.\[\&\>\*\]\:border-b-line>*{border-bottom-color:var(--line)}.\[\&\>\.actions\]\:sticky>.actions{position:sticky}.\[\&\>\.actions\]\:-bottom-0\.5>.actions{bottom:calc(var(--spacing) * -.5)}.\[\&\>\.actions\]\:bg-surface>.actions{background-color:var(--surface)}:where(.app:not(.is-narrow)) .wide\:\[\&\>\:not\(\[data-grip\]\)\]\:min-w-\(--rail-open-w\)>:not([data-grip]){min-width:var(--rail-open-w)}:where(.app.is-rail-folded) .rail-folded\:\[\&\>\:not\(\[data-grip\]\)\]\:min-w-0>:not([data-grip]){min-width:0}.\[\&\>\[data-row\]\]\:\[transition\:transform_150ms_ease-out\]>[data-row]{transition:transform .15s ease-out}@media (prefers-reduced-motion:reduce){.motion-reduce\:\[\&\>\[data-row\]\]\:transition-none>[data-row]{transition-property:none}}.\[\&\>form\]\:flex-\[1_1_12em\]>form{flex:12em}.\[\&\>form\]\:self-center>form{align-self:center}.\[\&\>h2\]\:mt-2\.5>h2{margin-top:calc(var(--spacing) * 2.5)}.\[\&\>span\]\:text-meta>span{font-size:var(--fs-meta);line-height:var(--tw-leading,normal)}.\[\&\>span\]\:text-subtle>span{color:var(--subtle)}.\[\&\>span\:not\(\:first-child\)\]\:text-center>span:not(:first-child){text-align:center}.\[\&\[hidden\]\]\:hidden[hidden]{display:none}.\[\&\[open\]_summary\]\:whitespace-normal[open] summary{white-space:normal}.dialog-body+div>.\[\.dialog-body\+div\>\&\]\:mt-3\.5{margin-top:calc(var(--spacing) * 3.5)}.is-leaving .\[\.is-leaving_\&\]\:animate-sink-out{animation:.14s ease-in forwards sink-out}@media (hover:none){.\[\@media\(hover\:none\)\]\:opacity-100{opacity:1}}@font-face{font-family:Rove Nerd Symbols;src:url(/assets/symbols-nerd-font-mono-D0feNYKn.woff2)format("woff2");font-display:block;unicode-range:U+23FB-23FE,U+2665,U+26A1,U+2B58,U+E000-F8FF,U+F0000-FFFFD}:root{--paper:#141413;--surface:#1a1917;--inset:#2b2a27;--menu:#33312e;--line:#3a3835;--line-active:#75706a;--ink:#eae7df;--muted:#a9a39a;--subtle:#9d9a95;--accent:#cc785c;--accent-soft:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--accent-soft:color-mix(in srgb, var(--accent) 14%, transparent)}}:root{--hover:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--hover:color-mix(in srgb, var(--ink) 7%, transparent)}}:root{--shadow-popover:0 2px 8px #00000040;--shadow-dialog:0 4px 12px #0000004d;--scrim:#0a0a099e;--merged:#9b87f5;--focus:var(--accent);--info:#61aaf2;--diff-added:var(--success);--diff-removed:var(--error);--diff-added-bg:#9aca861a;--diff-removed-bg:#ec6f741a;--error:#ec6f74;--success:#9aca86;--warning:#e8c96b;--mono:"JetBrains Mono", "Rove Nerd Symbols", "IBM Plex Mono", "SF Mono", Menlo, Consolas, ui-monospace, monospace;--fs-meta:12px;--fs-body:13px;--fs-title:14px;--fs-display:16px;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--radius:8px;--radius-sm:6px;--radius-xs:4px;--hairline:1px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (resolution>=2x){:root{--hairline:.5px}}*{box-sizing:border-box}html,body{overscroll-behavior:none;height:100%;margin:0}#root{height:var(--vvh,100%)}body{background:var(--paper);color:var(--ink);font:var(--fs-body) / 1.4 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}button:focus-visible{outline:1px solid var(--focus);outline-offset:1px}:root{--scroll-thumb:var(--subtle)}@supports (color:color-mix(in lab, red, red)){:root{--scroll-thumb:color-mix(in srgb, var(--subtle) 45%, transparent)}}:root{--scroll-thumb-hover:var(--subtle);--scroll-thumb-active:var(--muted)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:transparent transparent}[data-scrolling]{scrollbar-color:var(--scroll-thumb) transparent}}@supports selector(::-webkit-scrollbar){::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-button{display:none}::-webkit-scrollbar-thumb{background:padding-box padding-box;border:3px solid #0000;border-radius:999px;min-width:32px;min-height:32px}[data-scrolling]::-webkit-scrollbar-thumb{background-color:var(--scroll-thumb)}::-webkit-scrollbar-thumb:hover{background-color:var(--scroll-thumb-hover)}::-webkit-scrollbar-thumb:active{background-color:var(--scroll-thumb-active)}}.xterm .xterm-scrollable-element>.scrollbar>.slider{background-clip:padding-box;border:1px solid #0000;border-radius:999px}.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider{background-color:var(--scroll-thumb);opacity:0;transition:opacity .3s linear}.term-host[data-scrolling] .xterm .xterm-scrollable-element>.scrollbar>.slider,.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider.active{opacity:1;transition:none}.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider:hover{background-color:var(--scroll-thumb-hover);opacity:1}.term-host .xterm .xterm-scrollable-element>.scrollbar>.slider.active{background-color:var(--scroll-thumb-active)}.term-host .xterm-decoration-overview-ruler{display:none!important}.term-host .xterm .xterm-viewport{background-color:#0000;overflow:hidden}.xterm .xterm-scrollable-element>.shadow{display:none}.term-host .xterm{height:100%;padding:6px 4px 4px 8px}@media (hover:none) and (pointer:coarse){input:not([type=checkbox]):not([type=radio]),textarea,select{font-size:var(--fs-display)!important}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-content{syntax:"*";inherits:false;initial-value:""}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes pr-list-in{0%{opacity:0;translate:-4px}}@keyframes row-tip-in{0%{opacity:0;translate:-4px -50%}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes flow-border{0%{background-position:0 0,0 0}to{background-position:0 0,-200% 0}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes rise-in{0%{opacity:0;translate:0 4px}}@keyframes sink-out{to{opacity:0;translate:0 4px}}@keyframes menu-in{0%{opacity:0;transform:scale(.96)}}
|
package/dist/web/index.html
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
<meta name="apple-mobile-web-app-capable" content="yes" />
|
|
12
12
|
<meta name="apple-mobile-web-app-title" content="rove" />
|
|
13
13
|
<title>rove</title>
|
|
14
|
-
<script type="module" crossorigin src="/assets/index-
|
|
15
|
-
<link rel="stylesheet" crossorigin href="/assets/index-
|
|
14
|
+
<script type="module" crossorigin src="/assets/index-ChUQUPru.js"></script>
|
|
15
|
+
<link rel="stylesheet" crossorigin href="/assets/index-DLrnjl8k.css">
|
|
16
16
|
</head>
|
|
17
17
|
<body>
|
|
18
18
|
<div id="root"></div>
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "@sma1lboy/rove",
|
|
4
|
-
"version": "0.9.277-next.
|
|
4
|
+
"version": "0.9.277-next.6",
|
|
5
5
|
"description": "Rove — the agent multiplexer for your terminal. Run coding agents on parallel tasks with isolated worktrees and persistent sessions.",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"terminal",
|