From a020f59cb4ecafcc40fa5d911d0e69e71ac9e272 Mon Sep 17 00:00:00 2001 From: Hibryda Date: Fri, 20 Mar 2026 06:24:24 +0100 Subject: [PATCH] =?UTF-8?q?feat(electrobun):=20groups,=20cloning,=20shortc?= =?UTF-8?q?uts,=20custom=20window=20=E2=80=94=20all=205=20features?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Groups Sidebar: - SQLite groups table (4 seeded: Development, Testing, DevOps, Research) - Left icon rail with emoji group icons, Ctrl+1-4 switching - Active group highlighted, projects filtered by group Project Cloning: - Clone button on project cards (fork icon) - git worktree add via Bun.spawn (array form, no shell strings) - 3-clone limit, branch name validation, pending-status pattern - Clone cards: WT badge + branch name + accent top border - Chain link SVG icons between linked clones in grid Keyboard Shortcuts: - keybinding-store.svelte.ts: 16 defaults across 4 categories - Two-scope: document capture + terminal focus guard - KeyboardSettings.svelte: search, click-to-capture, conflict detection - Per-binding reset + Reset All Custom Window: - titleBarStyle: "hidden" — no native title bar - Vertical "AGOR" text in left sidebar (writing-mode: vertical-rl) - Floating window controls badge (minimize/maximize/close) - Draggable region via -webkit-app-region: drag - Window frame persisted to SQLite (debounced 500ms) Window is resizable by default (Electrobun BrowserWindow). --- .../Resources/app/bun/index.js | 181 +++++- .../views/mainview/assets/index-CEtguZVp.js | 59 -- .../views/mainview/assets/index-CgAt0V08.js | 54 ++ .../views/mainview/assets/index-Dvoh622C.css | 32 -- .../views/mainview/assets/index-rAZ5LabM.css | 32 ++ .../Resources/app/views/mainview/index.html | 4 +- ui-electrobun/src/bun/index.ts | 211 ++++++- ui-electrobun/src/bun/settings-db.ts | 67 +++ ui-electrobun/src/mainview/App.svelte | 519 ++++++++++++++++-- ui-electrobun/src/mainview/ProjectCard.svelte | 225 +++++++- .../src/mainview/SettingsDrawer.svelte | 6 +- .../src/mainview/keybinding-store.svelte.ts | 168 ++++++ .../mainview/settings/KeyboardSettings.svelte | 315 +++++++++++ ui-electrobun/src/shared/pty-rpc-schema.ts | 57 ++ 14 files changed, 1741 insertions(+), 189 deletions(-) delete mode 100644 ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CEtguZVp.js create mode 100644 ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CgAt0V08.js delete mode 100644 ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-Dvoh622C.css create mode 100644 ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-rAZ5LabM.css create mode 100644 ui-electrobun/src/mainview/keybinding-store.svelte.ts create mode 100644 ui-electrobun/src/mainview/settings/KeyboardSettings.svelte diff --git a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/bun/index.js b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/bun/index.js index e21094b..b1bcf81 100644 --- a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/bun/index.js +++ b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/bun/index.js @@ -231891,6 +231891,24 @@ CREATE TABLE IF NOT EXISTS custom_themes ( name TEXT NOT NULL, palette TEXT NOT NULL -- JSON blob ); + +CREATE TABLE IF NOT EXISTS groups ( + id TEXT PRIMARY KEY, + name TEXT NOT NULL, + icon TEXT NOT NULL, + position INTEGER NOT NULL +); + +CREATE TABLE IF NOT EXISTS keybindings ( + id TEXT PRIMARY KEY, + chord TEXT NOT NULL +); +`; +var SEED_GROUPS = ` +INSERT OR IGNORE INTO groups VALUES ('dev', 'Development', '\uD83D\uDD27', 0); +INSERT OR IGNORE INTO groups VALUES ('test', 'Testing', '\uD83E\uDDEA', 1); +INSERT OR IGNORE INTO groups VALUES ('ops', 'DevOps', '\uD83D\uDE80', 2); +INSERT OR IGNORE INTO groups VALUES ('research', 'Research', '\uD83D\uDD2C', 3); `; class SettingsDb { @@ -231899,6 +231917,7 @@ class SettingsDb { mkdirSync2(CONFIG_DIR, { recursive: true }); this.db = new Database2(DB_PATH); this.db.exec(SCHEMA); + this.db.exec(SEED_GROUPS); const version = this.db.query("SELECT version FROM schema_version LIMIT 1").get(); if (!version) { this.db.exec("INSERT INTO schema_version (version) VALUES (1)"); @@ -231940,6 +231959,9 @@ class SettingsDb { } }); } + listGroups() { + return this.db.query("SELECT id, name, icon, position FROM groups ORDER BY position ASC").all(); + } getCustomThemes() { const rows = this.db.query("SELECT id, name, palette FROM custom_themes").all(); return rows.flatMap((r) => { @@ -231957,6 +231979,16 @@ class SettingsDb { deleteCustomTheme(id) { this.db.query("DELETE FROM custom_themes WHERE id = ?").run(id); } + getKeybindings() { + const rows = this.db.query("SELECT id, chord FROM keybindings").all(); + return Object.fromEntries(rows.map((r) => [r.id, r.chord])); + } + setKeybinding(id, chord) { + this.db.query("INSERT INTO keybindings (id, chord) VALUES (?, ?) ON CONFLICT(id) DO UPDATE SET chord = excluded.chord").run(id, chord); + } + deleteKeybinding(id) { + this.db.query("DELETE FROM keybindings WHERE id = ?").run(id); + } close() { this.db.close(); } @@ -231964,6 +231996,7 @@ class SettingsDb { var settingsDb = new SettingsDb; // src/bun/index.ts +import { randomUUID } from "crypto"; var DEV_SERVER_PORT = 9760; var DEV_SERVER_URL = `http://localhost:${DEV_SERVER_PORT}`; var ptyClient = new PtyClient; @@ -231987,8 +232020,18 @@ async function connectToDaemon(retries = 5, delayMs = 500) { } return false; } +var BRANCH_RE = /^[a-zA-Z0-9/_.-]+$/; +async function gitWorktreeAdd(mainRepoPath, worktreePath, branchName) { + const proc = Bun.spawn(["git", "worktree", "add", worktreePath, "-b", branchName], { cwd: mainRepoPath, stderr: "pipe", stdout: "pipe" }); + const exitCode = await proc.exited; + if (exitCode !== 0) { + const errText = await new Response(proc.stderr).text(); + return { ok: false, error: errText.trim() || `git exited with code ${exitCode}` }; + } + return { ok: true }; +} var rpc = BrowserView.defineRPC({ - maxRequestTime: 1e4, + maxRequestTime: 15000, handlers: { requests: { "pty.create": async ({ sessionId, cols, rows, cwd }) => { @@ -232107,6 +232150,127 @@ var rpc = BrowserView.defineRPC({ console.error("[themes.deleteCustom]", err); return { ok: false }; } + }, + "groups.list": () => { + try { + return { groups: settingsDb.listGroups() }; + } catch (err) { + console.error("[groups.list]", err); + return { groups: [] }; + } + }, + "project.clone": async ({ projectId, branchName }) => { + try { + if (!BRANCH_RE.test(branchName)) { + return { ok: false, error: "Invalid branch name. Use only letters, numbers, /, _, -, ." }; + } + const source = settingsDb.getProject(projectId); + if (!source) { + return { ok: false, error: `Project not found: ${projectId}` }; + } + const mainRepoPath = source.mainRepoPath ?? source.cwd; + const allProjects = settingsDb.listProjects(); + const existingClones = allProjects.filter((p) => p.cloneOf === projectId || source.cloneOf && p.cloneOf === source.cloneOf); + if (existingClones.length >= 3) { + return { ok: false, error: "Maximum 3 clones per project reached" }; + } + const cloneIndex = existingClones.length + 1; + const worktreePath = `${mainRepoPath}-wt-${cloneIndex}`; + const gitResult = await gitWorktreeAdd(mainRepoPath, worktreePath, branchName); + if (!gitResult.ok) { + return { ok: false, error: gitResult.error }; + } + const cloneId = `${projectId}-clone-${cloneIndex}-${randomUUID().slice(0, 8)}`; + const cloneConfig = { + id: cloneId, + name: `${source.name} [${branchName}]`, + cwd: worktreePath, + accent: source.accent, + provider: source.provider, + profile: source.profile, + model: source.model, + groupId: source.groupId ?? "dev", + mainRepoPath, + cloneOf: projectId, + worktreePath, + worktreeBranch: branchName, + cloneIndex + }; + settingsDb.setProject(cloneId, cloneConfig); + return { + ok: true, + project: { id: cloneId, config: JSON.stringify(cloneConfig) } + }; + } catch (err) { + const error2 = err instanceof Error ? err.message : String(err); + console.error("[project.clone]", err); + return { ok: false, error: error2 }; + } + }, + "window.minimize": () => { + try { + mainWindow.minimize(); + return { ok: true }; + } catch (err) { + console.error("[window.minimize]", err); + return { ok: false }; + } + }, + "window.maximize": () => { + try { + const frame2 = mainWindow.getFrame(); + if (frame2.x <= 0 && frame2.y <= 0) { + mainWindow.unmaximize(); + } else { + mainWindow.maximize(); + } + return { ok: true }; + } catch (err) { + console.error("[window.maximize]", err); + return { ok: false }; + } + }, + "window.close": () => { + try { + mainWindow.close(); + return { ok: true }; + } catch (err) { + console.error("[window.close]", err); + return { ok: false }; + } + }, + "window.getFrame": () => { + try { + return mainWindow.getFrame(); + } catch { + return { x: 0, y: 0, width: 1400, height: 900 }; + } + }, + "keybindings.getAll": () => { + try { + return { keybindings: settingsDb.getKeybindings() }; + } catch (err) { + console.error("[keybindings.getAll]", err); + return { keybindings: {} }; + } + }, + "keybindings.set": ({ id, chord }) => { + try { + settingsDb.setKeybinding(id, chord); + return { ok: true }; + } catch (err) { + console.error("[keybindings.set]", err); + return { ok: false }; + } + }, + "keybindings.reset": ({ id }) => { + try { + settingsDb.deleteKeybinding(id); + return { ok: true }; + } catch (err) { + console.error("[keybindings.reset]", err); + return { ok: false }; + } } }, messages: {} @@ -232145,15 +232309,20 @@ async function getMainViewUrl() { } connectToDaemon(); var url = await getMainViewUrl(); +var savedX = Number(settingsDb.getSetting("win_x") ?? 100); +var savedY = Number(settingsDb.getSetting("win_y") ?? 100); +var savedWidth = Number(settingsDb.getSetting("win_width") ?? 1400); +var savedHeight = Number(settingsDb.getSetting("win_height") ?? 900); var mainWindow = new BrowserWindow({ - title: "Agent Orchestrator \u2014 Electrobun", + title: "Agent Orchestrator", + titleBarStyle: "hidden", url, rpc, frame: { - width: 1400, - height: 900, - x: 100, - y: 100 + width: isNaN(savedWidth) ? 1400 : savedWidth, + height: isNaN(savedHeight) ? 900 : savedHeight, + x: isNaN(savedX) ? 100 : savedX, + y: isNaN(savedY) ? 100 : savedY } }); console.log("Agent Orchestrator (Electrobun) started!"); diff --git a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CEtguZVp.js b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CEtguZVp.js deleted file mode 100644 index 74aace3..0000000 --- a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CEtguZVp.js +++ /dev/null @@ -1,59 +0,0 @@ -var Vc=Object.defineProperty;var Fa=e=>{throw TypeError(e)};var Xc=(e,t,i)=>t in e?Vc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var mi=(e,t,i)=>Xc(e,typeof t!="symbol"?t+"":t,i),zn=(e,t,i)=>t.has(e)||Fa("Cannot "+i);var J=(e,t,i)=>(zn(e,t,"read from private field"),i?i.call(e):t.get(e)),Me=(e,t,i)=>t.has(e)?Fa("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),Se=(e,t,i,s)=>(zn(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),je=(e,t,i)=>(zn(e,t,"access private method"),i);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const n of r)if(n.type==="childList")for(const a of n.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function i(r){const n={};return r.integrity&&(n.integrity=r.integrity),r.referrerPolicy&&(n.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?n.credentials="include":r.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function s(r){if(r.ep)return;r.ep=!0;const n=i(r);fetch(r.href,n)}})();const Zc="5";var ih;typeof window<"u"&&((ih=window.__svelte??(window.__svelte={})).v??(ih.v=new Set)).add(Zc);const ed=1,td=2,oh=4,id=8,sd=16,rd=1,nd=2,xt=Symbol(),od="http://www.w3.org/1999/xhtml",fo=!1;var ah=Array.isArray,ad=Array.prototype.indexOf,Dn=Array.from,ld=Object.defineProperty,pr=Object.getOwnPropertyDescriptor,hd=Object.getOwnPropertyDescriptors,cd=Object.prototype,dd=Array.prototype,lh=Object.getPrototypeOf,Ha=Object.isExtensible;const Un=()=>{};function ud(e){for(var t=0;t{e=s,t=r});return{promise:i,resolve:e,reject:t}}const Ct=2,da=4,ua=8,_d=1<<24,Fi=16,Hi=32,Is=64,Mn=128,ui=512,Et=1024,Wt=2048,Ii=4096,Yt=8192,is=16384,_a=32768,Us=65536,Wa=1<<17,ch=1<<18,Js=1<<19,fd=1<<20,Pi=1<<25,ys=32768,vo=1<<21,fa=1<<22,ss=1<<23,rn=Symbol("$state"),vd=Symbol(""),Qs=new class extends Error{constructor(){super(...arguments);mi(this,"name","StaleReactionError");mi(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function dh(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function gd(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function pd(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function md(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Ad(e){throw new Error("https://svelte.dev/e/effect_orphan")}function wd(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Cd(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function bd(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Sd(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function yd(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function xd(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function uh(e){return e===this.v}function kd(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function _h(e){return!kd(e,this.v)}let Tr=!1,Ed=!1;function Bd(){Tr=!0}let Xe=null;function qs(e){Xe=e}function ot(e,t=!1,i){Xe={p:Xe,i:!1,c:null,e:null,s:e,x:null,l:Tr&&!t?{s:null,u:null,$:[]}:null}}function at(e){var t=Xe,i=t.e;if(i!==null){t.e=null;for(var s of i)Mh(s)}return e!==void 0&&(t.x=e),t.i=!0,Xe=t.p,e??{}}function Pr(){return!Tr||Xe!==null&&Xe.l===null}let us=[];function fh(){var e=us;us=[],ud(e)}function js(e){if(us.length===0&&!mr){var t=us;queueMicrotask(()=>{t===us&&fh()})}us.push(e)}function Id(){for(;us.length>0;)fh()}function vh(e){var t=Oe;if(t===null)return Ie.f|=ss,e;if((t.f&_a)===0){if((t.f&Mn)===0)throw e;t.b.error(e)}else $s(e,t)}function $s(e,t){for(;t!==null;){if((t.f&Mn)!==0)try{t.b.error(e);return}catch(i){e=i}t=t.parent}throw e}const Jr=new Set;let Be=null,nn=null,et=null,ri=[],Ln=null,go=!1,mr=!1;var Fs,Hs,fs,vs,Mr,Ws,zs,wt,po,hr,mo,gh,ph;const En=class En{constructor(){Me(this,wt);mi(this,"committed",!1);mi(this,"current",new Map);mi(this,"previous",new Map);Me(this,Fs,new Set);Me(this,Hs,new Set);Me(this,fs,0);Me(this,vs,0);Me(this,Mr,null);Me(this,Ws,new Set);Me(this,zs,new Set);mi(this,"skipped_effects",new Set);mi(this,"is_fork",!1)}is_deferred(){return this.is_fork||J(this,vs)>0}process(t){var s;ri=[],nn=null,this.apply();var i={parent:null,effect:null,effects:[],render_effects:[]};for(const r of t)je(this,wt,po).call(this,r,i);this.is_fork||je(this,wt,gh).call(this),this.is_deferred()?(je(this,wt,hr).call(this,i.effects),je(this,wt,hr).call(this,i.render_effects)):(nn=this,Be=null,za(i.render_effects),za(i.effects),nn=null,(s=J(this,Mr))==null||s.resolve()),et=null}capture(t,i){this.previous.has(t)||this.previous.set(t,i),(t.f&ss)===0&&(this.current.set(t,t.v),et==null||et.set(t,t.v))}activate(){Be=this,this.apply()}deactivate(){Be===this&&(Be=null,et=null)}flush(){if(this.activate(),ri.length>0){if(mh(),Be!==null&&Be!==this)return}else J(this,fs)===0&&this.process([]);this.deactivate()}discard(){for(const t of J(this,Hs))t(this);J(this,Hs).clear()}increment(t){Se(this,fs,J(this,fs)+1),t&&Se(this,vs,J(this,vs)+1)}decrement(t){Se(this,fs,J(this,fs)-1),t&&Se(this,vs,J(this,vs)-1),this.revive()}revive(){for(const t of J(this,Ws))J(this,zs).delete(t),Bt(t,Wt),xs(t);for(const t of J(this,zs))Bt(t,Ii),xs(t);this.flush()}oncommit(t){J(this,Fs).add(t)}ondiscard(t){J(this,Hs).add(t)}settled(){return(J(this,Mr)??Se(this,Mr,hh())).promise}static ensure(){if(Be===null){const t=Be=new En;Jr.add(Be),mr||En.enqueue(()=>{Be===t&&t.flush()})}return Be}static enqueue(t){js(t)}apply(){}};Fs=new WeakMap,Hs=new WeakMap,fs=new WeakMap,vs=new WeakMap,Mr=new WeakMap,Ws=new WeakMap,zs=new WeakMap,wt=new WeakSet,po=function(t,i){var c;t.f^=Et;for(var s=t.first;s!==null;){var r=s.f,n=(r&(Hi|Is))!==0,a=n&&(r&Et)!==0,o=a||(r&Yt)!==0||this.skipped_effects.has(s);if((s.f&Mn)!==0&&((c=s.b)!=null&&c.is_pending())&&(i={parent:i,effect:s,effects:[],render_effects:[]}),!o&&s.fn!==null){n?s.f^=Et:(r&da)!==0?i.effects.push(s):Or(s)&&((s.f&Fi)!==0&&J(this,Ws).add(s),Sr(s));var h=s.first;if(h!==null){s=h;continue}}var l=s.parent;for(s=s.next;s===null&&l!==null;)l===i.effect&&(je(this,wt,hr).call(this,i.effects),je(this,wt,hr).call(this,i.render_effects),i=i.parent),s=l.next,l=l.parent}},hr=function(t){for(const i of t)(i.f&Wt)!==0?J(this,Ws).add(i):(i.f&Ii)!==0&&J(this,zs).add(i),je(this,wt,mo).call(this,i.deps),Bt(i,Et)},mo=function(t){if(t!==null)for(const i of t)(i.f&Ct)===0||(i.f&ys)===0||(i.f^=ys,je(this,wt,mo).call(this,i.deps))},gh=function(){if(J(this,vs)===0){for(const t of J(this,Fs))t();J(this,Fs).clear()}J(this,fs)===0&&je(this,wt,ph).call(this)},ph=function(){var n;if(Jr.size>1){this.previous.clear();var t=et,i=!0,s={parent:null,effect:null,effects:[],render_effects:[]};for(const a of Jr){if(a===this){i=!1;continue}const o=[];for(const[l,c]of this.current){if(a.current.has(l))if(i&&c!==a.current.get(l))a.current.set(l,c);else continue;o.push(l)}if(o.length===0)continue;const h=[...a.current.keys()].filter(l=>!this.current.has(l));if(h.length>0){var r=ri;ri=[];const l=new Set,c=new Map;for(const d of o)Ah(d,h,l,c);if(ri.length>0){Be=a,a.apply();for(const d of ri)je(n=a,wt,po).call(n,d,s);a.deactivate()}ri=r}}Be=null,et=t}this.committed=!0,Jr.delete(this)};let Qi=En;function Dd(e){var t=mr;mr=!0;try{for(var i;;){if(Id(),ri.length===0&&(Be==null||Be.flush(),ri.length===0))return Ln=null,i;mh()}}finally{mr=t}}function mh(){var e=Cs;go=!0;var t=null;try{var i=0;for(pn(!0);ri.length>0;){var s=Qi.ensure();if(i++>1e3){var r,n;Md()}s.process(ri),rs.clear()}}finally{go=!1,pn(e),Ln=null}}function Md(){try{wd()}catch(e){$s(e,Ln)}}let ci=null;function za(e){var t=e.length;if(t!==0){for(var i=0;i0)){rs.clear();for(const r of ci){if((r.f&(is|Yt))!==0)continue;const n=[r];let a=r.parent;for(;a!==null;)ci.has(a)&&(ci.delete(a),n.push(a)),a=a.parent;for(let o=n.length-1;o>=0;o--){const h=n[o];(h.f&(is|Yt))===0&&Sr(h)}}ci.clear()}}ci=null}}function Ah(e,t,i,s){if(!i.has(e)&&(i.add(e),e.reactions!==null))for(const r of e.reactions){const n=r.f;(n&Ct)!==0?Ah(r,t,i,s):(n&(fa|Fi))!==0&&(n&Wt)===0&&wh(r,t,s)&&(Bt(r,Wt),xs(r))}}function wh(e,t,i){const s=i.get(e);if(s!==void 0)return s;if(e.deps!==null)for(const r of e.deps){if(t.includes(r))return!0;if((r.f&Ct)!==0&&wh(r,t,i))return i.set(r,!0),!0}return i.set(e,!1),!1}function xs(e){for(var t=Ln=e;t.parent!==null;){t=t.parent;var i=t.f;if(go&&t===Oe&&(i&Fi)!==0&&(i&ch)===0)return;if((i&(Is|Hi))!==0){if((i&Et)===0)return;t.f^=Et}}ri.push(t)}function Ld(e){let t=0,i=ks(0),s;return()=>{Cr()&&(f(i),pa(()=>(t===0&&(s=Nr(()=>e(()=>Ar(i)))),t+=1,()=>{js(()=>{t-=1,t===0&&(s==null||s(),s=void 0,Ar(i))})})))}}var Rd=Us|Js|Mn;function Td(e,t,i){new Pd(e,t,i)}var ti,ii,ca,bi,gs,Si,si,Ot,yi,Ti,Xi,ps,Zi,ms,es,Bn,ft,Qd,Od,Ao,on,an,wo;class Pd{constructor(t,i,s){Me(this,ft);mi(this,"parent");Me(this,ti,!1);Me(this,ii);Me(this,ca,null);Me(this,bi);Me(this,gs);Me(this,Si);Me(this,si,null);Me(this,Ot,null);Me(this,yi,null);Me(this,Ti,null);Me(this,Xi,null);Me(this,ps,0);Me(this,Zi,0);Me(this,ms,!1);Me(this,es,null);Me(this,Bn,Ld(()=>(Se(this,es,ks(J(this,ps))),()=>{Se(this,es,null)})));Se(this,ii,t),Se(this,bi,i),Se(this,gs,s),this.parent=Oe.b,Se(this,ti,!!J(this,bi).pending),Se(this,Si,ma(()=>{Oe.b=this;{var r=je(this,ft,Ao).call(this);try{Se(this,si,ni(()=>s(r)))}catch(n){this.error(n)}J(this,Zi)>0?je(this,ft,an).call(this):Se(this,ti,!1)}return()=>{var n;(n=J(this,Xi))==null||n.remove()}},Rd))}is_pending(){return J(this,ti)||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!J(this,bi).pending}update_pending_count(t){je(this,ft,wo).call(this,t),Se(this,ps,J(this,ps)+t),J(this,es)&&Gs(J(this,es),J(this,ps))}get_effect_pending(){return J(this,Bn).call(this),f(J(this,es))}error(t){var i=J(this,bi).onerror;let s=J(this,bi).failed;if(J(this,ms)||!i&&!s)throw t;J(this,si)&&(Ht(J(this,si)),Se(this,si,null)),J(this,Ot)&&(Ht(J(this,Ot)),Se(this,Ot,null)),J(this,yi)&&(Ht(J(this,yi)),Se(this,yi,null));var r=!1,n=!1;const a=()=>{if(r){xd();return}r=!0,n&&yd(),Qi.ensure(),Se(this,ps,0),J(this,yi)!==null&&ws(J(this,yi),()=>{Se(this,yi,null)}),Se(this,ti,this.has_pending_snippet()),Se(this,si,je(this,ft,on).call(this,()=>(Se(this,ms,!1),ni(()=>J(this,gs).call(this,J(this,ii)))))),J(this,Zi)>0?je(this,ft,an).call(this):Se(this,ti,!1)};var o=Ie;try{Ft(null),n=!0,i==null||i(t,a),n=!1}catch(h){$s(h,J(this,Si)&&J(this,Si).parent)}finally{Ft(o)}s&&js(()=>{Se(this,yi,je(this,ft,on).call(this,()=>{Qi.ensure(),Se(this,ms,!0);try{return ni(()=>{s(J(this,ii),()=>t,()=>a)})}catch(h){return $s(h,J(this,Si).parent),null}finally{Se(this,ms,!1)}}))})}}ti=new WeakMap,ii=new WeakMap,ca=new WeakMap,bi=new WeakMap,gs=new WeakMap,Si=new WeakMap,si=new WeakMap,Ot=new WeakMap,yi=new WeakMap,Ti=new WeakMap,Xi=new WeakMap,ps=new WeakMap,Zi=new WeakMap,ms=new WeakMap,es=new WeakMap,Bn=new WeakMap,ft=new WeakSet,Qd=function(){try{Se(this,si,ni(()=>J(this,gs).call(this,J(this,ii))))}catch(t){this.error(t)}Se(this,ti,!1)},Od=function(){const t=J(this,bi).pending;t&&(Se(this,Ot,ni(()=>t(J(this,ii)))),Qi.enqueue(()=>{var i=je(this,ft,Ao).call(this);Se(this,si,je(this,ft,on).call(this,()=>(Qi.ensure(),ni(()=>J(this,gs).call(this,i))))),J(this,Zi)>0?je(this,ft,an).call(this):(ws(J(this,Ot),()=>{Se(this,Ot,null)}),Se(this,ti,!1))}))},Ao=function(){var t=J(this,ii);return J(this,ti)&&(Se(this,Xi,ns()),J(this,ii).before(J(this,Xi)),t=J(this,Xi)),t},on=function(t){var i=Oe,s=Ie,r=Xe;Di(J(this,Si)),Ft(J(this,Si)),qs(J(this,Si).ctx);try{return t()}catch(n){return vh(n),null}finally{Di(i),Ft(s),qs(r)}},an=function(){const t=J(this,bi).pending;J(this,si)!==null&&(Se(this,Ti,document.createDocumentFragment()),J(this,Ti).append(J(this,Xi)),Oh(J(this,si),J(this,Ti))),J(this,Ot)===null&&Se(this,Ot,ni(()=>t(J(this,ii))))},wo=function(t){var i;if(!this.has_pending_snippet()){this.parent&&je(i=this.parent,ft,wo).call(i,t);return}Se(this,Zi,J(this,Zi)+t),J(this,Zi)===0&&(Se(this,ti,!1),J(this,Ot)&&ws(J(this,Ot),()=>{Se(this,Ot,null)}),J(this,Ti)&&(J(this,ii).before(J(this,Ti)),Se(this,Ti,null)))};function Nd(e,t,i,s){const r=Pr()?va:Ch;if(i.length===0&&e.length===0){s(t.map(r));return}var n=Be,a=Oe,o=Fd();function h(){Promise.all(i.map(l=>Hd(l))).then(l=>{o();try{s([...t.map(r),...l])}catch(c){(a.f&is)===0&&$s(c,a)}n==null||n.deactivate(),vn()}).catch(l=>{$s(l,a)})}e.length>0?Promise.all(e).then(()=>{o();try{return h()}finally{n==null||n.deactivate(),vn()}}):h()}function Fd(){var e=Oe,t=Ie,i=Xe,s=Be;return function(n=!0){Di(e),Ft(t),qs(i),n&&(s==null||s.activate())}}function vn(){Di(null),Ft(null),qs(null)}function va(e){var t=Ct|Wt,i=Ie!==null&&(Ie.f&Ct)!==0?Ie:null;return Oe!==null&&(Oe.f|=Js),{ctx:Xe,deps:null,effects:null,equals:uh,f:t,fn:e,reactions:null,rv:0,v:xt,wv:0,parent:i??Oe,ac:null}}function Hd(e,t){let i=Oe;i===null&&gd();var s=i.b,r=void 0,n=ks(xt),a=!Ie,o=new Map;return eu(()=>{var g;var h=hh();r=h.promise;try{Promise.resolve(e()).then(h.resolve,h.reject).then(()=>{l===Be&&l.committed&&l.deactivate(),vn()})}catch(u){h.reject(u),vn()}var l=Be;if(a){var c=!s.is_pending();s.update_pending_count(1),l.increment(c),(g=o.get(l))==null||g.reject(Qs),o.delete(l),o.set(l,h)}const d=(u,p=void 0)=>{if(l.activate(),p)p!==Qs&&(n.f|=ss,Gs(n,p));else{(n.f&ss)!==0&&(n.f^=ss),Gs(n,u);for(const[_,v]of o){if(o.delete(_),_===l)break;v.reject(Qs)}}a&&(s.update_pending_count(-1),l.decrement(c))};h.promise.then(d,u=>d(null,u||"unknown"))}),Dh(()=>{for(const h of o.values())h.reject(Qs)}),new Promise(h=>{function l(c){function d(){c===r?h(n):l(r)}c.then(d,d)}l(r)})}function Ge(e){const t=va(e);return Nh(t),t}function Ch(e){const t=va(e);return t.equals=_h,t}function bh(e){var t=e.effects;if(t!==null){e.effects=null;for(var i=0;i0&&!yh&&Ud()}return t}function Ud(){yh=!1;var e=Cs;pn(!0);const t=Array.from(Co);try{for(const i of t)(i.f&Et)!==0&&Bt(i,Ii),Or(i)&&Sr(i)}finally{pn(e)}Co.clear()}function qd(e,t=1){var i=f(e),s=t===1?i++:i--;return N(e,i),s}function $d(e,t=1){var i=f(e);return N(e,t===1?++i:--i)}function Ar(e){N(e,e.v+1)}function xh(e,t){var i=e.reactions;if(i!==null)for(var s=Pr(),r=i.length,n=0;n{if(bs===n)return o();var h=Ie,l=bs;Ft(null),Ga(n);var c=o();return Ft(h),Ga(l),c};return s&&i.set("length",ie(e.length)),new Proxy(e,{defineProperty(o,h,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Cd();var c=i.get(h);return c===void 0?c=a(()=>{var d=ie(l.value);return i.set(h,d),d}):N(c,l.value,!0),!0},deleteProperty(o,h){var l=i.get(h);if(l===void 0){if(h in o){const c=a(()=>ie(xt));i.set(h,c),Ar(r)}}else N(l,xt),Ar(r);return!0},get(o,h,l){var u;if(h===rn)return e;var c=i.get(h),d=h in o;if(c===void 0&&(!d||(u=pr(o,h))!=null&&u.writable)&&(c=a(()=>{var p=Le(d?o[h]:xt),_=ie(p);return _}),i.set(h,c)),c!==void 0){var g=f(c);return g===xt?void 0:g}return Reflect.get(o,h,l)},getOwnPropertyDescriptor(o,h){var l=Reflect.getOwnPropertyDescriptor(o,h);if(l&&"value"in l){var c=i.get(h);c&&(l.value=f(c))}else if(l===void 0){var d=i.get(h),g=d==null?void 0:d.v;if(d!==void 0&&g!==xt)return{enumerable:!0,configurable:!0,value:g,writable:!0}}return l},has(o,h){var g;if(h===rn)return!0;var l=i.get(h),c=l!==void 0&&l.v!==xt||Reflect.has(o,h);if(l!==void 0||Oe!==null&&(!c||(g=pr(o,h))!=null&&g.writable)){l===void 0&&(l=a(()=>{var u=c?Le(o[h]):xt,p=ie(u);return p}),i.set(h,l));var d=f(l);if(d===xt)return!1}return c},set(o,h,l,c){var S;var d=i.get(h),g=h in o;if(s&&h==="length")for(var u=l;uie(xt)),i.set(u+"",p))}if(d===void 0)(!g||(S=pr(o,h))!=null&&S.writable)&&(d=a(()=>ie(void 0)),N(d,Le(l)),i.set(h,d));else{g=d.v!==xt;var _=a(()=>Le(l));N(d,_)}var v=Reflect.getOwnPropertyDescriptor(o,h);if(v!=null&&v.set&&v.set.call(c,l),!g){if(s&&typeof h=="string"){var A=i.get("length"),x=Number(h);Number.isInteger(x)&&x>=A.v&&N(A,x+1)}Ar(r)}return!0},ownKeys(o){f(r);var h=Reflect.ownKeys(o).filter(d=>{var g=i.get(d);return g===void 0||g.v!==xt});for(var[l,c]of i)c.v!==xt&&!(l in o)&&h.push(l);return h},setPrototypeOf(){bd()}})}var Ua,kh,Eh,Bh;function Gd(){if(Ua===void 0){Ua=window,kh=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,i=Text.prototype;Eh=pr(t,"firstChild").get,Bh=pr(t,"nextSibling").get,Ha(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Ha(i)&&(i.__t=void 0)}}function ns(e=""){return document.createTextNode(e)}function gn(e){return Eh.call(e)}function Qr(e){return Bh.call(e)}function M(e,t){return gn(e)}function Ve(e,t=!1){{var i=gn(e);return i instanceof Comment&&i.data===""?Qr(i):i}}function P(e,t=1,i=!1){let s=e;for(;t--;)s=Qr(s);return s}function Kd(e){e.textContent=""}function Ih(){return!1}let qa=!1;function Jd(){qa||(qa=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const i of e.target.elements)(t=i.__on_r)==null||t.call(i)})},{capture:!0}))}function Rn(e){var t=Ie,i=Oe;Ft(null),Di(null);try{return e()}finally{Ft(t),Di(i)}}function jd(e,t,i,s=i){e.addEventListener(t,()=>Rn(i));const r=e.__on_r;r?e.__on_r=()=>{r(),s(!0)}:e.__on_r=()=>s(!0),Jd()}function Yd(e){Oe===null&&(Ie===null&&Ad(),md()),Ys&&pd()}function Vd(e,t){var i=t.last;i===null?t.last=t.first=e:(i.next=e,e.prev=i,t.last=e)}function Wi(e,t,i){var s=Oe;s!==null&&(s.f&Yt)!==0&&(e|=Yt);var r={ctx:Xe,deps:null,nodes:null,f:e|Wt|ui,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,wv:0,ac:null};if(i)try{Sr(r),r.f|=_a}catch(o){throw Ht(r),o}else t!==null&&xs(r);var n=r;if(i&&n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&Js)===0&&(n=n.first,(e&Fi)!==0&&(e&Us)!==0&&n!==null&&(n.f|=Us)),n!==null&&(n.parent=s,s!==null&&Vd(n,s),Ie!==null&&(Ie.f&Ct)!==0&&(e&Is)===0)){var a=Ie;(a.effects??(a.effects=[])).push(n)}return r}function Cr(){return Ie!==null&&!ki}function Dh(e){const t=Wi(ua,null,!1);return Bt(t,Et),t.teardown=e,t}function ai(e){Yd();var t=Oe.f,i=!Ie&&(t&Hi)!==0&&(t&_a)===0;if(i){var s=Xe;(s.e??(s.e=[])).push(e)}else return Mh(e)}function Mh(e){return Wi(da|fd,e,!1)}function Xd(e){Qi.ensure();const t=Wi(Is|Js,e,!0);return(i={})=>new Promise(s=>{i.outro?ws(t,()=>{Ht(t),s(void 0)}):(Ht(t),s(void 0))})}function Zd(e){return Wi(da,e,!1)}function eu(e){return Wi(fa|Js,e,!0)}function pa(e,t=0){return Wi(ua|t,e,!0)}function se(e,t=[],i=[],s=[]){Nd(s,t,i,r=>{Wi(ua,()=>e(...r.map(f)),!0)})}function ma(e,t=0){var i=Wi(Fi|t,e,!0);return i}function ni(e){return Wi(Hi|Js,e,!0)}function Lh(e){var t=e.teardown;if(t!==null){const i=Ys,s=Ie;$a(!0),Ft(null);try{t.call(null)}finally{$a(i),Ft(s)}}}function Rh(e,t=!1){var i=e.first;for(e.first=e.last=null;i!==null;){const r=i.ac;r!==null&&Rn(()=>{r.abort(Qs)});var s=i.next;(i.f&Is)!==0?i.parent=null:Ht(i,t),i=s}}function tu(e){for(var t=e.first;t!==null;){var i=t.next;(t.f&Hi)===0&&Ht(t),t=i}}function Ht(e,t=!0){var i=!1;(t||(e.f&ch)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(iu(e.nodes.start,e.nodes.end),i=!0),Rh(e,t&&!i),mn(e,0),Bt(e,is);var s=e.nodes&&e.nodes.t;if(s!==null)for(const n of s)n.stop();Lh(e);var r=e.parent;r!==null&&r.first!==null&&Th(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function iu(e,t){for(;e!==null;){var i=e===t?null:Qr(e);e.remove(),e=i}}function Th(e){var t=e.parent,i=e.prev,s=e.next;i!==null&&(i.next=s),s!==null&&(s.prev=i),t!==null&&(t.first===e&&(t.first=s),t.last===e&&(t.last=i))}function ws(e,t,i=!0){var s=[];Ph(e,s,!0);var r=()=>{i&&Ht(e),t&&t()},n=s.length;if(n>0){var a=()=>--n||r();for(var o of s)o.out(a)}else r()}function Ph(e,t,i){if((e.f&Yt)===0){e.f^=Yt;var s=e.nodes&&e.nodes.t;if(s!==null)for(const o of s)(o.is_global||i)&&t.push(o);for(var r=e.first;r!==null;){var n=r.next,a=(r.f&Us)!==0||(r.f&Hi)!==0&&(e.f&Fi)!==0;Ph(r,t,a?i:!1),r=n}}}function Aa(e){Qh(e,!0)}function Qh(e,t){if((e.f&Yt)!==0){e.f^=Yt,(e.f&Et)===0&&(Bt(e,Wt),xs(e));for(var i=e.first;i!==null;){var s=i.next,r=(i.f&Us)!==0||(i.f&Hi)!==0;Qh(i,r?t:!1),i=s}var n=e.nodes&&e.nodes.t;if(n!==null)for(const a of n)(a.is_global||t)&&a.in()}}function Oh(e,t){if(e.nodes)for(var i=e.nodes.start,s=e.nodes.end;i!==null;){var r=i===s?null:Qr(i);t.append(i),i=r}}let Cs=!1;function pn(e){Cs=e}let Ys=!1;function $a(e){Ys=e}let Ie=null,ki=!1;function Ft(e){Ie=e}let Oe=null;function Di(e){Oe=e}let Lt=null;function Nh(e){Ie!==null&&(Lt===null?Lt=[e]:Lt.push(e))}let Mt=null,Gt=0,ei=null;function su(e){ei=e}let Fh=1,br=0,bs=br;function Ga(e){bs=e}function Hh(){return++Fh}function Or(e){var t=e.f;if((t&Wt)!==0)return!0;if(t&Ct&&(e.f&=~ys),(t&Ii)!==0){var i=e.deps;if(i!==null)for(var s=i.length,r=0;re.wv)return!0}(t&ui)!==0&&et===null&&Bt(e,Et)}return!1}function Wh(e,t,i=!0){var s=e.reactions;if(s!==null&&!(Lt!=null&&Lt.includes(e)))for(var r=0;r{e.ac.abort(Qs)}),e.ac=null);try{e.f|=vo;var c=e.fn,d=c(),g=e.deps;if(Mt!==null){var u;if(mn(e,Gt),g!==null&&Gt>0)for(g.length=Gt+Mt.length,u=0;ui==null?void 0:i.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?js(()=>{t.addEventListener(e,r,s)}):t.addEventListener(e,r,s),r}function au(e,t,i,s,r){var n={capture:s,passive:r},a=ou(e,t,i,n);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Dh(()=>{t.removeEventListener(e,a,n)})}function bt(e){for(var t=0;t{throw A});throw g}}finally{e.__root=t,delete e.currentTarget,Ft(c),Di(d)}}}function lu(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function So(e,t){var i=Oe;i.nodes===null&&(i.nodes={start:e,end:t,a:null,t:null})}function G(e,t){var i=(t&rd)!==0,s=(t&nd)!==0,r,n=!e.startsWith("");return()=>{r===void 0&&(r=lu(n?e:""+e),i||(r=gn(r)));var a=s||kh?document.importNode(r,!0):r.cloneNode(!0);if(i){var o=gn(a),h=a.lastChild;So(o,h)}else So(a,a);return a}}function Nt(){var e=document.createDocumentFragment(),t=document.createComment(""),i=ns();return e.append(t,i),So(t,i),e}function U(e,t){e!==null&&e.before(t)}const hu=["touchstart","touchmove"];function cu(e){return hu.includes(e)}function X(e,t){var i=t==null?"":typeof t=="object"?t+"":t;i!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=i,e.nodeValue=i+"")}function du(e,t){return uu(e,t)}const Rs=new Map;function uu(e,{target:t,anchor:i,props:s={},events:r,context:n,intro:a=!0}){Gd();var o=new Set,h=d=>{for(var g=0;g{var d=i??t.appendChild(ns());return Td(d,{pending:()=>{}},g=>{if(n){ot({});var u=Xe;u.c=n}r&&(s.$$events=r),l=e(g,s)||{},n&&at()}),()=>{var p;for(var g of o){t.removeEventListener(g,cr);var u=Rs.get(g);--u===0?(document.removeEventListener(g,cr),Rs.delete(g)):Rs.set(g,u)}bo.delete(h),d!==i&&((p=d.parentNode)==null||p.removeChild(d))}});return _u.set(l,c),l}let _u=new WeakMap;var di,xi,Kt,As,Lr,Rr,In;class fu{constructor(t,i=!0){mi(this,"anchor");Me(this,di,new Map);Me(this,xi,new Map);Me(this,Kt,new Map);Me(this,As,new Set);Me(this,Lr,!0);Me(this,Rr,()=>{var t=Be;if(J(this,di).has(t)){var i=J(this,di).get(t),s=J(this,xi).get(i);if(s)Aa(s),J(this,As).delete(i);else{var r=J(this,Kt).get(i);r&&(J(this,xi).set(i,r.effect),J(this,Kt).delete(i),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),s=r.effect)}for(const[n,a]of J(this,di)){if(J(this,di).delete(n),n===t)break;const o=J(this,Kt).get(a);o&&(Ht(o.effect),J(this,Kt).delete(a))}for(const[n,a]of J(this,xi)){if(n===i||J(this,As).has(n))continue;const o=()=>{if(Array.from(J(this,di).values()).includes(n)){var l=document.createDocumentFragment();Oh(a,l),l.append(ns()),J(this,Kt).set(n,{effect:a,fragment:l})}else Ht(a);J(this,As).delete(n),J(this,xi).delete(n)};J(this,Lr)||!s?(J(this,As).add(n),ws(a,o,!1)):o()}}});Me(this,In,t=>{J(this,di).delete(t);const i=Array.from(J(this,di).values());for(const[s,r]of J(this,Kt))i.includes(s)||(Ht(r.effect),J(this,Kt).delete(s))});this.anchor=t,Se(this,Lr,i)}ensure(t,i){var s=Be,r=Ih();if(i&&!J(this,xi).has(t)&&!J(this,Kt).has(t))if(r){var n=document.createDocumentFragment(),a=ns();n.append(a),J(this,Kt).set(t,{effect:ni(()=>i(a)),fragment:n})}else J(this,xi).set(t,ni(()=>i(this.anchor)));if(J(this,di).set(s,t),r){for(const[o,h]of J(this,xi))o===t?s.skipped_effects.delete(h):s.skipped_effects.add(h);for(const[o,h]of J(this,Kt))o===t?s.skipped_effects.delete(h.effect):s.skipped_effects.add(h.effect);s.oncommit(J(this,Rr)),s.ondiscard(J(this,In))}else J(this,Rr).call(this)}}di=new WeakMap,xi=new WeakMap,Kt=new WeakMap,As=new WeakMap,Lr=new WeakMap,Rr=new WeakMap,In=new WeakMap;function _i(e){Xe===null&&dh(),Tr&&Xe.l!==null?gu(Xe).m.push(e):ai(()=>{const t=Nr(e);if(typeof t=="function")return t})}function vu(e){Xe===null&&dh(),_i(()=>()=>Nr(e))}function gu(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}function ne(e,t,i=!1){var s=new fu(e),r=i?Us:0;function n(a,o){s.ensure(a,o)}ma(()=>{var a=!1;t((o,h=!0)=>{a=!0,n(h,o)}),a||n(!1,null)},r)}function Re(e,t){return t}function pu(e,t,i){for(var s=[],r=t.length,n,a=t.length,o=0;o{if(n){if(n.pending.delete(d),n.done.add(d),n.pending.size===0){var g=e.outrogroups;yo(Dn(n.done)),g.delete(n),g.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var h=s.length===0&&i!==null;if(h){var l=i,c=l.parentNode;Kd(c),c.append(l),e.items.clear()}yo(t,!h)}else n={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(n)}function yo(e,t=!0){for(var i=0;i{var A=i();return ah(A)?A:A==null?[]:Dn(A)}),g,u=!0;function p(){v.fallback=c,mu(v,g,a,t,s),c!==null&&(g.length===0?(c.f&Pi)===0?Aa(c):(c.f^=Pi,dr(c,null,a)):ws(c,()=>{c=null}))}var _=ma(()=>{g=f(d);for(var A=g.length,x=new Set,S=Be,w=Ih(),y=0;yn(a)):(c=ni(()=>n(Ja??(Ja=ns()))),c.f|=Pi)),!u)if(w){for(const[b,D]of o)x.has(b)||S.skipped_effects.add(D.e);S.oncommit(p),S.ondiscard(()=>{})}else p();f(d)}),v={effect:_,items:o,outrogroups:null,fallback:c};u=!1}function mu(e,t,i,s,r){var D,I,E,B,L,R,O,Q,T;var n=(s&id)!==0,a=t.length,o=e.items,h=e.effect.first,l,c=null,d,g=[],u=[],p,_,v,A;if(n)for(A=0;A0){var b=(s&oh)!==0&&a===0?i:null;if(n){for(A=0;A{var z,K;if(d!==void 0)for(v of d)(K=(z=v.nodes)==null?void 0:z.a)==null||K.apply()})}function Au(e,t,i,s,r,n,a,o){var h=(a&ed)!==0?(a&sd)===0?zd(i,!1,!1):ks(i):null,l=(a&td)!==0?ks(r):null;return{v:h,i:l,e:ni(()=>(n(t,h??i,l??r,o),()=>{e.delete(s)}))}}function dr(e,t,i){if(e.nodes)for(var s=e.nodes.start,r=e.nodes.end,n=t&&(t.f&Pi)===0?t.nodes.start:i;s!==null;){var a=Qr(s);if(n.before(s),s===r)return;s=a}}function Gi(e,t,i){t===null?e.effect.first=i:t.next=i,i===null?e.effect.last=t:i.prev=t}const ja=[...` -\r\f \v\uFEFF`];function wu(e,t,i){var s=e==null?"":""+e;if(t&&(s=s?s+" "+t:t),i){for(var r in i)if(i[r])s=s?s+" "+r:r;else if(s.length)for(var n=r.length,a=0;(a=s.indexOf(r,a))>=0;){var o=a+n;(a===0||ja.includes(s[a-1]))&&(o===s.length||ja.includes(s[o]))?s=(a===0?"":s.substring(0,a))+s.substring(o+1):a=o}}return s===""?null:s}function Ya(e,t=!1){var i=t?" !important;":";",s="";for(var r in e){var n=e[r];n!=null&&n!==""&&(s+=" "+r+": "+n+i)}return s}function qn(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function Cu(e,t){if(t){var i="",s,r;if(Array.isArray(t)?(s=t[0],r=t[1]):s=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var n=!1,a=0,o=!1,h=[];s&&h.push(...Object.keys(s).map(qn)),r&&h.push(...Object.keys(r).map(qn));var l=0,c=-1;const _=e.length;for(var d=0;d<_;d++){var g=e[d];if(o?g==="/"&&e[d-1]==="*"&&(o=!1):n?n===g&&(n=!1):g==="/"&&e[d+1]==="*"?o=!0:g==='"'||g==="'"?n=g:g==="("?a++:g===")"&&a--,!o&&n===!1&&a===0){if(g===":"&&c===-1)c=d;else if(g===";"||d===_-1){if(c!==-1){var u=qn(e.substring(l,c).trim());if(!h.includes(u)){g!==";"&&d++;var p=e.substring(l,d).trim();i+=" "+p+";"}}l=d+1,c=-1}}}}return s&&(i+=Ya(s)),r&&(i+=Ya(r,!0)),i=i.trim(),i===""?null:i}return e==null?null:String(e)}function pe(e,t,i,s,r,n){var a=e.__className;if(a!==i||a===void 0){var o=wu(i,s,n);o==null?e.removeAttribute("class"):t?e.className=o:e.setAttribute("class",o),e.__className=i}else if(n&&r!==n)for(var h in n){var l=!!n[h];(r==null||l!==!!r[h])&&e.classList.toggle(h,l)}return n}function $n(e,t={},i,s){for(var r in i){var n=i[r];t[r]!==n&&(i[r]==null?e.style.removeProperty(r):e.style.setProperty(r,n,s))}}function Jt(e,t,i,s){var r=e.__style;if(r!==t){var n=Cu(t,s);n==null?e.removeAttribute("style"):e.style.cssText=n,e.__style=t}else s&&(Array.isArray(s)?($n(e,i==null?void 0:i[0],s[0]),$n(e,i==null?void 0:i[1],s[1],"important")):$n(e,i,s));return s}const bu=Symbol("is custom element"),Su=Symbol("is html");function _t(e,t){var i=Ca(e);i.value===(i.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!=="PROGRESS")||(e.value=t??"")}function yu(e,t){var i=Ca(e);i.checked!==(i.checked=t??void 0)&&(e.checked=t)}function ve(e,t,i,s){var r=Ca(e);r[t]!==(r[t]=i)&&(t==="loading"&&(e[vd]=i),i==null?e.removeAttribute(t):typeof i!="string"&&xu(e).includes(t)?e[t]=i:e.setAttribute(t,i))}function Ca(e){return e.__attributes??(e.__attributes={[bu]:e.nodeName.includes("-"),[Su]:e.namespaceURI===od})}var Va=new Map;function xu(e){var t=e.getAttribute("is")||e.nodeName,i=Va.get(t);if(i)return i;Va.set(t,i=[]);for(var s,r=e,n=Element.prototype;n!==r;){s=hd(r);for(var a in s)s[a].set&&i.push(a);r=lh(r)}return i}function yr(e,t,i=t){var s=new WeakSet;jd(e,"input",async r=>{var n=r?e.defaultValue:e.value;if(n=Gn(e)?Kn(n):n,i(n),Be!==null&&s.add(Be),await wa(),n!==(n=t())){var a=e.selectionStart,o=e.selectionEnd,h=e.value.length;if(e.value=n??"",o!==null){var l=e.value.length;a===o&&o===h&&l>h?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=a,e.selectionEnd=Math.min(o,l))}}}),Nr(t)==null&&e.value&&(i(Gn(e)?Kn(e.value):e.value),Be!==null&&s.add(Be)),pa(()=>{var r=t();if(e===document.activeElement){var n=nn??Be;if(s.has(n))return}Gn(e)&&r===Kn(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function Gn(e){var t=e.type;return t==="number"||t==="range"}function Kn(e){return e===""?null:+e}function Xa(e,t){return e===t||(e==null?void 0:e[rn])===t}function xr(e={},t,i,s){return Zd(()=>{var r,n;return pa(()=>{r=n,n=[],Nr(()=>{e!==i(...n)&&(t(e,...n),r&&Xa(i(...r),e)&&t(null,...r))})}),()=>{js(()=>{n&&Xa(i(...n),e)&&t(null,...n)})}}),e}function jt(e,t,i,s){var r=s,n=!0,a=()=>(n&&(n=!1,r=s),r),o;o=e[t],o===void 0&&s!==void 0&&(o=a());var h;return h=()=>{var l=e[t];return l===void 0?a():(n=!0,l)},h}const Oi={claude:{upload:!0,context:!0,web:!0,slash:!0,images:!0,defaultModel:"claude-opus-4-5",label:"Claude"},codex:{upload:!0,context:!0,web:!1,slash:!0,images:!1,defaultModel:"gpt-5.4",label:"Codex"},ollama:{upload:!1,context:!0,web:!1,slash:!0,images:!1,defaultModel:"qwen3:8b",label:"Ollama"}};function ku(e){return Oi[e]??Oi.claude}var Eu=G(''),Bu=G(''),Iu=G(''),Du=G(''),Mu=G(''),Lu=G(''),Ru=G(''),Tu=G(''),Pu=G(''),Qu=G(''),Ou=G(''),Nu=G(''),Fu=G(''),Hu=G('
',1);function Wu(e,t){ot(t,!0);let i=jt(t,"model",3,"claude-opus-4-5"),s=jt(t,"provider",3,"claude"),r=jt(t,"contextPct",3,78),n=jt(t,"disabled",3,!1),a,o=ie(null),h=Ge(()=>ku(s())),l=Ge(()=>{const ee=Math.min(100,Math.max(0,r())),q=8,Y=10,te=10,$=ee/100*2*Math.PI,H=Y,W=te-q,Z=Y+q*Math.sin($),_e=te-q*Math.cos($),fe=ee>50?1:0;return ee>=100?`M ${Y} ${te-q} A ${q} ${q} 0 1 1 ${Y-.001} ${te-q} Z`:`M ${H} ${W} A ${q} ${q} 0 ${fe} 1 ${Z} ${_e}`}),c=Ge(()=>r()>=75?"var(--ctp-red)":r()>=50?"var(--ctp-yellow)":"var(--ctp-green)");function d(){a&&(a.style.height="auto",a.style.height=Math.min(a.scrollHeight,200)+"px")}function g(ee){var q;ee.key==="Enter"&&!ee.shiftKey&&(ee.preventDefault(),t.value.trim()&&((q=t.onSend)==null||q.call(t))),ee.key==="Escape"&&N(o,null)}function u(ee){var q;(q=t.onInput)==null||q.call(t,ee.target.value),d()}function p(ee){N(o,f(o)===ee?null:ee,!0)}function _(){N(o,null)}function v(ee){ee.key==="Escape"&&N(o,null)}const A=["Upload from computer","Paste from clipboard"],x=["Add file","Add folder","Add URL","Add image"],S=["Search the web","Fetch URL"],w=["/help","/clear","/compact","/review","/test","/commit"];var y=Hu(),m=Ve(y);m.__keydown=v;var C=M(m);C.__input=u,C.__keydown=g,xr(C,ee=>a=ee,()=>a);var k=P(C,2),b=M(k);{var D=ee=>{var q=Iu(),Y=M(q);let te;Y.__click=()=>p("upload");var $=P(Y,2);{var H=W=>{var Z=Bu();Z.__keydown=_e=>_e.key==="Escape"&&_(),Ee(Z,21,()=>A,Re,(_e,fe)=>{var me=Eu();me.__click=_;var ye=M(me);se(()=>X(ye,f(fe))),U(_e,me)}),U(W,Z)};ne($,W=>{f(o)==="upload"&&W(H)})}se(()=>te=pe(Y,1,"footer-btn svelte-icb1la",null,te,{active:f(o)==="upload"})),U(ee,q)};ne(b,ee=>{f(h).upload&&ee(D)})}var I=P(b,2);{var E=ee=>{var q=Lu(),Y=M(q);let te;Y.__click=()=>p("context");var $=P(Y,2);{var H=W=>{var Z=Mu();Z.__keydown=_e=>_e.key==="Escape"&&_(),Ee(Z,21,()=>x,Re,(_e,fe)=>{var me=Du();let ye;me.__click=_;var Te=M(me);se(()=>{ye=pe(me,1,"popup-item svelte-icb1la",null,ye,{"disabled-item":f(fe)==="Add image"&&!f(h).images}),X(Te,f(fe))}),U(_e,me)}),U(W,Z)};ne($,W=>{f(o)==="context"&&W(H)})}se(()=>te=pe(Y,1,"footer-btn svelte-icb1la",null,te,{active:f(o)==="context"})),U(ee,q)};ne(I,ee=>{f(h).context&&ee(E)})}var B=P(I,2);{var L=ee=>{var q=Pu(),Y=M(q);let te;Y.__click=()=>p("web");var $=P(Y,2);{var H=W=>{var Z=Tu();Z.__keydown=_e=>_e.key==="Escape"&&_(),Ee(Z,21,()=>S,Re,(_e,fe)=>{var me=Ru();me.__click=_;var ye=M(me);se(()=>X(ye,f(fe))),U(_e,me)}),U(W,Z)};ne($,W=>{f(o)==="web"&&W(H)})}se(()=>te=pe(Y,1,"footer-btn svelte-icb1la",null,te,{active:f(o)==="web"})),U(ee,q)};ne(B,ee=>{f(h).web&&ee(L)})}var R=P(B,2);{var O=ee=>{var q=Nu(),Y=M(q);let te;Y.__click=()=>p("slash");var $=P(Y,2);{var H=W=>{var Z=Ou();Z.__keydown=_e=>_e.key==="Escape"&&_(),Ee(Z,21,()=>w,Re,(_e,fe)=>{var me=Qu();me.__click=_;var ye=M(me);se(()=>X(ye,f(fe))),U(_e,me)}),U(W,Z)};ne($,W=>{f(o)==="slash"&&W(H)})}se(()=>te=pe(Y,1,"footer-btn svelte-icb1la",null,te,{active:f(o)==="slash"})),U(ee,q)};ne(R,ee=>{f(h).slash&&ee(O)})}var Q=P(R,2),T=M(Q),z=P(M(T)),K=P(T,2),ae=M(K),he=P(Q,4),F=M(he),V=P(he,4);V.__click=function(...ee){var q;(q=t.onSend)==null||q.apply(this,ee)};var le=P(m,2);{var ce=ee=>{var q=Fu();q.__click=_,q.__keydown=Y=>Y.key==="Escape"&&_(),U(ee,q)};ne(le,ee=>{f(o)!==null&&ee(ce)})}se(ee=>{_t(C,t.value),ve(Q,"title",`Context window: ${r()??""}% used`),ve(z,"d",f(l)),ve(z,"stroke",f(c)),Jt(K,`color: ${f(c)??""}`),X(ae,`${r()??""}%`),X(F,i()),V.disabled=ee},[()=>n()||!t.value.trim()]),U(e,y),at()}bt(["keydown","input","click"]);var zu=G('
'),Uu=G('
'),qu=G('
'),$u=G('
'),Gu=G('
'),Ku=G('
'),Ju=G(' '),ju=G('
'),Yu=G(''),Vu=G('
input
'),Xu=G('
'),Zu=G('
'),e_=G('
result
'),t_=G('
'),i_=G('
',1);function s_(e,t){ot(t,!0);let i=jt(t,"model",3,"claude-opus-4-5"),s=jt(t,"provider",3,"claude"),r=jt(t,"contextPct",3,0),n,a=ie(""),o=ie(Le(new Set)),h,l=ie(!1);ai(()=>{t.messages.length,wa().then(()=>{n&&(n.scrollTop=n.scrollHeight)})});function c(){var T;const Q=f(a).trim();Q&&(N(a,""),(T=t.onSend)==null||T.call(t,Q))}function d(Q){const T=new Set(f(o));T.has(Q)?T.delete(Q):T.add(Q),N(o,T,!0)}function g(Q){return Q>=1e3?`${(Q/1e3).toFixed(1)}k`:String(Q)}function u(Q){return`$${Q.toFixed(3)}`}function p(Q){return Q==="running"?"dot-progress":Q==="stalled"?"dot-error":"dot-success"}function _(Q){Q.preventDefault(),N(l,!0);const T=Q.clientY,z=(h==null?void 0:h.getBoundingClientRect().height)??300;function K(he){if(!h)return;const F=Math.max(120,z+(he.clientY-T));h.style.flexBasis=`${F}px`,h.style.flexGrow="0",h.style.flexShrink="0"}function ae(){N(l,!1),window.removeEventListener("mousemove",K),window.removeEventListener("mouseup",ae)}window.addEventListener("mousemove",K),window.addEventListener("mouseup",ae)}var v=i_(),A=Ve(v),x=M(A),S=P(x,2),w=M(S),y=P(S,2),m=M(y),C=P(y,4),k=M(C),b=P(C,4),D=M(b),I=P(A,2),E=M(I);Ee(E,23,()=>t.messages,Q=>Q.id,(Q,T,z)=>{const K=Ge(()=>f(z)===0),ae=Ge(()=>f(z)===t.messages.length-1);var he=t_(),F=M(he);{var V=ce=>{var ee=zu(),q=M(ee);se(()=>X(q,f(T).content)),U(ce,ee)},le=ce=>{var ee=Nt(),q=Ve(ee);{var Y=$=>{var H=$u(),W=M(H);{var Z=Te=>{var ge=Uu();U(Te,ge)};ne(W,Te=>{f(K)||Te(Z)})}var _e=P(W,4);{var fe=Te=>{var ge=qu();U(Te,ge)};ne(_e,Te=>{f(ae)||Te(fe)})}var me=P(_e,2),ye=M(me);se(()=>X(ye,f(T).content)),U($,H)},te=$=>{var H=Nt(),W=Ve(H);{var Z=fe=>{var me=Vu(),ye=M(me);{var Te=Pe=>{var it=Gu();U(Pe,it)};ne(ye,Pe=>{f(K)||Pe(Te)})}var ge=P(ye,4);{var Ce=Pe=>{var it=Ku();U(Pe,it)};ne(ge,Pe=>{f(ae)||Pe(Ce)})}var be=P(ge,2),de=M(be),Ae=M(de),Ne=M(Ae),Qe=P(Ae,2);{var Pt=Pe=>{var it=Ju(),$i=M(it);se(()=>X($i,f(T).toolPath)),U(Pe,it)};ne(Qe,Pe=>{f(T).toolPath&&Pe(Pt)})}var St=P(de,2);let gt;var He=M(St),De=P(M(He),2),Ue=M(De),fi=P(He,2);{var zt=Pe=>{var it=ju(),$i=M(it);$i.__click=()=>d(f(T).id),U(Pe,it)};ne(fi,Pe=>{f(o).has(f(T).id)||Pe(zt)})}var vi=P(St,2);{var qi=Pe=>{var it=Yu();it.__click=()=>d(f(T).id),U(Pe,it)};ne(vi,Pe=>{f(o).has(f(T).id)&&Pe(qi)})}se(Pe=>{X(Ne,f(T).toolName??"Tool"),gt=pe(St,1,"tool-body svelte-9vsw7f",null,gt,Pe),X(Ue,f(T).content)},[()=>({expanded:f(o).has(f(T).id)})]),U(fe,me)},_e=fe=>{var me=Nt(),ye=Ve(me);{var Te=ge=>{var Ce=e_(),be=M(Ce);{var de=He=>{var De=Xu();U(He,De)};ne(be,He=>{f(K)||He(de)})}var Ae=P(be,4);{var Ne=He=>{var De=Zu();U(He,De)};ne(Ae,He=>{f(ae)||He(Ne)})}var Qe=P(Ae,2),Pt=M(Qe),St=P(M(Pt),2),gt=M(St);se(()=>X(gt,f(T).content)),U(ge,Ce)};ne(ye,ge=>{f(T).role==="tool-result"&&ge(Te)},!0)}U(fe,me)};ne(W,fe=>{f(T).role==="tool-call"?fe(Z):fe(_e,!1)},!0)}U($,H)};ne(q,$=>{f(T).role==="assistant"?$(Y):$(te,!1)},!0)}U(ce,ee)};ne(F,ce=>{f(T).role==="user"?ce(V):ce(le,!1)})}U(Q,he)}),xr(E,Q=>n=Q,()=>n);var B=P(E,4),L=M(B);Wu(L,{get value(){return f(a)},get model(){return i()},get provider(){return s()},get contextPct(){return r()},onSend:c,onInput:Q=>N(a,Q,!0)}),xr(I,Q=>h=Q,()=>h);var R=P(I,2);let O;R.__mousedown=_,se((Q,T,z)=>{pe(x,1,`strip-dot ${Q??""}`,"svelte-9vsw7f"),X(w,t.status==="running"?"Running":t.status==="stalled"?"Stalled":"Done"),X(m,i()),X(k,`${T??""} tok`),X(D,z),O=pe(R,1,"resize-handle svelte-9vsw7f",null,O,{dragging:f(l)})},[()=>p(t.status),()=>g(t.tokens),()=>u(t.costUsd)]),U(e,v),at()}bt(["click","mousedown"]);/** - * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. - * @license MIT - * - * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) - * @license MIT - * - * Originally forked from (with the author's permission): - * Fabrice Bellard's javascript vt100 for jslinux: - * http://bellard.org/jslinux/ - * Copyright (c) 2011 Fabrice Bellard - */var Gh=Object.defineProperty,r_=Object.getOwnPropertyDescriptor,n_=(e,t)=>{for(var i in t)Gh(e,i,{get:t[i],enumerable:!0})},Je=(e,t,i,s)=>{for(var r=s>1?void 0:s?r_(t,i):t,n=e.length-1,a;n>=0;n--)(a=e[n])&&(r=(s?a(t,i,r):a(r))||r);return s&&r&&Gh(t,i,r),r},oe=(e,t)=>(i,s)=>t(i,s,e),Za="Terminal input",xo={get:()=>Za,set:e=>Za=e},el="Too much output to announce, navigate to rows manually to read",ko={get:()=>el,set:e=>el=e};function o_(e){return e.replace(/\r?\n/g,"\r")}function a_(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function l_(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function h_(e,t,i,s){if(e.stopPropagation(),e.clipboardData){let r=e.clipboardData.getData("text/plain");Kh(r,t,i,s)}}function Kh(e,t,i,s){e=o_(e),e=a_(e,i.decPrivateModes.bracketedPasteMode&&s.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(e,!0),t.value=""}function Jh(e,t,i){let s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function tl(e,t,i,s,r){Jh(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}function Vi(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Tn(e,t=0,i=e.length){let s="";for(let r=t;r65535?(n-=65536,s+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):s+=String.fromCharCode(n)}return s}var c_=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){let n=e.charCodeAt(r++);56320<=n&&n<=57343?t[s++]=(this._interim-55296)*1024+n-56320+65536:(t[s++]=this._interim,t[s++]=n),this._interim=0}for(let n=r;n=i)return this._interim=a,s;let o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=(a-55296)*1024+o-56320+65536:(t[s++]=a,t[s++]=o);continue}a!==65279&&(t[s++]=a)}return s}},d_=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r,n,a,o,h=0,l=0;if(this.interim[0]){let g=!1,u=this.interim[0];u&=(u&224)===192?31:(u&240)===224?15:7;let p=0,_;for(;(_=this.interim[++p]&63)&&p<4;)u<<=6,u|=_;let v=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,A=v-p;for(;l=i)return 0;if(_=e[l++],(_&192)!==128){l--,g=!0;break}else this.interim[p++]=_,u<<=6,u|=_&63}g||(v===2?u<128?l--:t[s++]=u:v===3?u<2048||u>=55296&&u<=57343||u===65279||(t[s++]=u):u<65536||u>1114111||(t[s++]=u)),this.interim.fill(0)}let c=i-4,d=l;for(;d=i)return this.interim[0]=r,s;if(n=e[d++],(n&192)!==128){d--;continue}if(h=(r&31)<<6|n&63,h<128){d--;continue}t[s++]=h}else if((r&240)===224){if(d>=i)return this.interim[0]=r,s;if(n=e[d++],(n&192)!==128){d--;continue}if(d>=i)return this.interim[0]=r,this.interim[1]=n,s;if(a=e[d++],(a&192)!==128){d--;continue}if(h=(r&15)<<12|(n&63)<<6|a&63,h<2048||h>=55296&&h<=57343||h===65279)continue;t[s++]=h}else if((r&248)===240){if(d>=i)return this.interim[0]=r,s;if(n=e[d++],(n&192)!==128){d--;continue}if(d>=i)return this.interim[0]=r,this.interim[1]=n,s;if(a=e[d++],(a&192)!==128){d--;continue}if(d>=i)return this.interim[0]=r,this.interim[1]=n,this.interim[2]=a,s;if(o=e[d++],(o&192)!==128){d--;continue}if(h=(r&7)<<18|(n&63)<<12|(a&63)<<6|o&63,h<65536||h>1114111)continue;t[s++]=h}}return s}},jh="",ts=" ",Fr=class Yh{constructor(){this.fg=0,this.bg=0,this.extended=new An}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new Yh;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},An=class Vh{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new Vh(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},li=class Xh extends Fr{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new An,this.combinedData=""}static fromCharData(t){let i=new Xh;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Vi(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=t[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},il="di$target",Eo="di$dependencies",Jn=new Map;function u_(e){return e[Eo]||[]}function vt(e){if(Jn.has(e))return Jn.get(e);let t=function(i,s,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");__(t,i,r)};return t._id=e,Jn.set(e,t),t}function __(e,t,i){t[il]===t?t[Eo].push({id:e,index:i}):(t[Eo]=[{id:e,index:i}],t[il]=t)}var Rt=vt("BufferService"),Zh=vt("CoreMouseService"),Ds=vt("CoreService"),f_=vt("CharsetService"),ba=vt("InstantiationService"),ec=vt("LogService"),Tt=vt("OptionsService"),tc=vt("OscLinkService"),v_=vt("UnicodeService"),Hr=vt("DecorationService"),Bo=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){var c;let i=this._bufferService.buffer.lines.get(e-1);if(!i){t(void 0);return}let s=[],r=this._optionsService.rawOptions.linkHandler,n=new li,a=i.getTrimmedLength(),o=-1,h=-1,l=!1;for(let d=0;dr?r.activate(_,v,u):g_(_,v),hover:(_,v)=>{var A;return(A=r==null?void 0:r.hover)==null?void 0:A.call(r,_,v,u)},leave:(_,v)=>{var A;return(A=r==null?void 0:r.leave)==null?void 0:A.call(r,_,v,u)}})}l=!1,n.hasExtendedAttrs()&&n.extended.urlId?(h=d,o=n.extended.urlId):(h=-1,o=-1)}}t(s)}};Bo=Je([oe(0,Rt),oe(1,Tt),oe(2,tc)],Bo);function g_(e,t){if(confirm(`Do you want to navigate to ${t}? - -WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var Pn=vt("CharSizeService"),zi=vt("CoreBrowserService"),Sa=vt("MouseService"),Ui=vt("RenderService"),p_=vt("SelectionService"),ic=vt("CharacterJoinerService"),Vs=vt("ThemeService"),sc=vt("LinkProviderService"),m_=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?sl.isErrorNoTelemetry(e)?new sl(e.message+` - -`+e.stack):new Error(e.message+` - -`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},A_=new m_;function ln(e){w_(e)||A_.onUnexpectedError(e)}var Io="Canceled";function w_(e){return e instanceof C_?!0:e instanceof Error&&e.name===Io&&e.message===Io}var C_=class extends Error{constructor(){super(Io),this.name=this.message}};function b_(e){return new Error(`Illegal argument: ${e}`)}var sl=class Do extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Do)return t;let i=new Do;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},Mo=class rc extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,rc.prototype)}};function qt(e,t=0){return e[e.length-(1+t)]}var S_;(e=>{function t(n){return n<0}e.isLessThan=t;function i(n){return n<=0}e.isLessThanOrEqual=i;function s(n){return n>0}e.isGreaterThan=s;function r(n){return n===0}e.isNeitherLessOrGreaterThan=r,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(S_||(S_={}));function y_(e,t){let i=this,s=!1,r;return function(){return s||(s=!0,t||(r=e.apply(i,arguments))),r}}var nc;(e=>{function t(w){return w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}e.is=t;let i=Object.freeze([]);function s(){return i}e.empty=s;function*r(w){yield w}e.single=r;function n(w){return t(w)?w:r(w)}e.wrap=n;function a(w){return w||i}e.from=a;function*o(w){for(let y=w.length-1;y>=0;y--)yield w[y]}e.reverse=o;function h(w){return!w||w[Symbol.iterator]().next().done===!0}e.isEmpty=h;function l(w){return w[Symbol.iterator]().next().value}e.first=l;function c(w,y){let m=0;for(let C of w)if(y(C,m++))return!0;return!1}e.some=c;function d(w,y){for(let m of w)if(y(m))return m}e.find=d;function*g(w,y){for(let m of w)y(m)&&(yield m)}e.filter=g;function*u(w,y){let m=0;for(let C of w)yield y(C,m++)}e.map=u;function*p(w,y){let m=0;for(let C of w)yield*y(C,m++)}e.flatMap=p;function*_(...w){for(let y of w)yield*y}e.concat=_;function v(w,y,m){let C=m;for(let k of w)C=y(C,k);return C}e.reduce=v;function*A(w,y,m=w.length){for(y<0&&(y+=w.length),m<0?m+=w.length:m>w.length&&(m=w.length);y1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function x_(...e){return ze(()=>Es(e))}function ze(e){return{dispose:y_(()=>{e()})}}var oc=class ac{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Es(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?ac.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),void 0)}};oc.DISABLE_DISPOSED_WARNING=!1;var os=oc,ke=class{constructor(){this._store=new os,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};ke.None=Object.freeze({dispose(){}});var Ks=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e}},Ni=typeof window=="object"?window:globalThis,Lo=class Ro{constructor(t){this.element=t,this.next=Ro.Undefined,this.prev=Ro.Undefined}};Lo.Undefined=new Lo(void 0);var qe=Lo,rl=class{constructor(){this._first=qe.Undefined,this._last=qe.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===qe.Undefined}clear(){let t=this._first;for(;t!==qe.Undefined;){let i=t.next;t.prev=qe.Undefined,t.next=qe.Undefined,t=i}this._first=qe.Undefined,this._last=qe.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){let s=new qe(t);if(this._first===qe.Undefined)this._first=s,this._last=s;else if(i){let n=this._last;this._last=s,s.prev=n,n.next=s}else{let n=this._first;this._first=s,s.next=n,n.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==qe.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==qe.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==qe.Undefined&&t.next!==qe.Undefined){let i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===qe.Undefined&&t.next===qe.Undefined?(this._first=qe.Undefined,this._last=qe.Undefined):t.next===qe.Undefined?(this._last=this._last.prev,this._last.next=qe.Undefined):t.prev===qe.Undefined&&(this._first=this._first.next,this._first.prev=qe.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==qe.Undefined;)yield t.element,t=t.next}},k_=globalThis.performance&&typeof globalThis.performance.now=="function",E_=class lc{static create(t){return new lc(t)}constructor(t){this._now=k_&&t===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},At;(e=>{e.None=()=>ke.None;function t(E,B){return d(E,()=>{},0,void 0,!0,void 0,B)}e.defer=t;function i(E){return(B,L=null,R)=>{let O=!1,Q;return Q=E(T=>{if(!O)return Q?Q.dispose():O=!0,B.call(L,T)},null,R),O&&Q.dispose(),Q}}e.once=i;function s(E,B,L){return l((R,O=null,Q)=>E(T=>R.call(O,B(T)),null,Q),L)}e.map=s;function r(E,B,L){return l((R,O=null,Q)=>E(T=>{B(T),R.call(O,T)},null,Q),L)}e.forEach=r;function n(E,B,L){return l((R,O=null,Q)=>E(T=>B(T)&&R.call(O,T),null,Q),L)}e.filter=n;function a(E){return E}e.signal=a;function o(...E){return(B,L=null,R)=>{let O=x_(...E.map(Q=>Q(T=>B.call(L,T))));return c(O,R)}}e.any=o;function h(E,B,L,R){let O=L;return s(E,Q=>(O=B(O,Q),O),R)}e.reduce=h;function l(E,B){let L,R={onWillAddFirstListener(){L=E(O.fire,O)},onDidRemoveLastListener(){L==null||L.dispose()}},O=new re(R);return B==null||B.add(O),O.event}function c(E,B){return B instanceof Array?B.push(E):B&&B.add(E),E}function d(E,B,L=100,R=!1,O=!1,Q,T){let z,K,ae,he=0,F,V={leakWarningThreshold:Q,onWillAddFirstListener(){z=E(ce=>{he++,K=B(K,ce),R&&!ae&&(le.fire(K),K=void 0),F=()=>{let ee=K;K=void 0,ae=void 0,(!R||he>1)&&le.fire(ee),he=0},typeof L=="number"?(clearTimeout(ae),ae=setTimeout(F,L)):ae===void 0&&(ae=0,queueMicrotask(F))})},onWillRemoveListener(){O&&he>0&&(F==null||F())},onDidRemoveLastListener(){F=void 0,z.dispose()}},le=new re(V);return T==null||T.add(le),le.event}e.debounce=d;function g(E,B=0,L){return e.debounce(E,(R,O)=>R?(R.push(O),R):[O],B,void 0,!0,void 0,L)}e.accumulate=g;function u(E,B=(R,O)=>R===O,L){let R=!0,O;return n(E,Q=>{let T=R||!B(Q,O);return R=!1,O=Q,T},L)}e.latch=u;function p(E,B,L){return[e.filter(E,B,L),e.filter(E,R=>!B(R),L)]}e.split=p;function _(E,B=!1,L=[],R){let O=L.slice(),Q=E(K=>{O?O.push(K):z.fire(K)});R&&R.add(Q);let T=()=>{O==null||O.forEach(K=>z.fire(K)),O=null},z=new re({onWillAddFirstListener(){Q||(Q=E(K=>z.fire(K)),R&&R.add(Q))},onDidAddFirstListener(){O&&(B?setTimeout(T):T())},onDidRemoveLastListener(){Q&&Q.dispose(),Q=null}});return R&&R.add(z),z.event}e.buffer=_;function v(E,B){return(L,R,O)=>{let Q=B(new x);return E(function(T){let z=Q.evaluate(T);z!==A&&L.call(R,z)},void 0,O)}}e.chain=v;let A=Symbol("HaltChainable");class x{constructor(){this.steps=[]}map(B){return this.steps.push(B),this}forEach(B){return this.steps.push(L=>(B(L),L)),this}filter(B){return this.steps.push(L=>B(L)?L:A),this}reduce(B,L){let R=L;return this.steps.push(O=>(R=B(R,O),R)),this}latch(B=(L,R)=>L===R){let L=!0,R;return this.steps.push(O=>{let Q=L||!B(O,R);return L=!1,R=O,Q?O:A}),this}evaluate(B){for(let L of this.steps)if(B=L(B),B===A)break;return B}}function S(E,B,L=R=>R){let R=(...z)=>T.fire(L(...z)),O=()=>E.on(B,R),Q=()=>E.removeListener(B,R),T=new re({onWillAddFirstListener:O,onDidRemoveLastListener:Q});return T.event}e.fromNodeEventEmitter=S;function w(E,B,L=R=>R){let R=(...z)=>T.fire(L(...z)),O=()=>E.addEventListener(B,R),Q=()=>E.removeEventListener(B,R),T=new re({onWillAddFirstListener:O,onDidRemoveLastListener:Q});return T.event}e.fromDOMEventEmitter=w;function y(E){return new Promise(B=>i(E)(B))}e.toPromise=y;function m(E){let B=new re;return E.then(L=>{B.fire(L)},()=>{B.fire(void 0)}).finally(()=>{B.dispose()}),B.event}e.fromPromise=m;function C(E,B){return E(L=>B.fire(L))}e.forward=C;function k(E,B,L){return B(L),E(R=>B(R))}e.runAndSubscribe=k;class b{constructor(B,L){this._observable=B,this._counter=0,this._hasChanged=!1;let R={onWillAddFirstListener:()=>{B.addObserver(this)},onDidRemoveLastListener:()=>{B.removeObserver(this)}};this.emitter=new re(R),L&&L.add(this.emitter)}beginUpdate(B){this._counter++}handlePossibleChange(B){}handleChange(B,L){this._hasChanged=!0}endUpdate(B){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function D(E,B){return new b(E,B).emitter.event}e.fromObservable=D;function I(E){return(B,L,R)=>{let O=0,Q=!1,T={beginUpdate(){O++},endUpdate(){O--,O===0&&(E.reportChanges(),Q&&(Q=!1,B.call(L)))},handlePossibleChange(){},handleChange(){Q=!0}};E.addObserver(T),E.reportChanges();let z={dispose(){E.removeObserver(T)}};return R instanceof os?R.add(z):Array.isArray(R)&&R.push(z),z}}e.fromObservableLight=I})(At||(At={}));var To=class Po{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${Po._idPool++}`,Po.all.add(this)}start(t){this._stopWatch=new E_,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};To.all=new Set,To._idPool=0;var B_=To,I_=-1,hc=class cc{constructor(t,i,s=(cc._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=i,this.name=s,this._warnCountdown=0}dispose(){var t;(t=this._stacks)==null||t.clear()}check(t,i){let s=this.threshold;if(s<=0||i{let n=this._stacks.get(t.value)||0;this._stacks.set(t.value,n-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,i=0;for(let[s,r]of this._stacks)(!t||i{var o,h,l,c,d;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let g=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(g);let u=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],p=new R_(`${g}. HINT: Stack shows most frequent listener (${u[1]}-times)`,u[0]);return(((o=this._options)==null?void 0:o.onListenerError)||ln)(p),ke.None}if(this._disposed)return ke.None;i&&(t=t.bind(i));let r=new jn(t),n;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=M_.create(),n=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof jn?(this._deliveryQueue??(this._deliveryQueue=new O_),this._listeners=[this._listeners,r]):this._listeners.push(r):((l=(h=this._options)==null?void 0:h.onWillAddFirstListener)==null||l.call(h,this),this._listeners=r,(d=(c=this._options)==null?void 0:c.onDidAddFirstListener)==null||d.call(c,this)),this._size++;let a=ze(()=>{n==null||n(),this._removeListener(r)});return s instanceof os?s.add(a):Array.isArray(s)&&s.push(a),a}),this._event}_removeListener(t){var n,a,o,h;if((a=(n=this._options)==null?void 0:n.onWillRemoveListener)==null||a.call(n,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(h=(o=this._options)==null?void 0:o.onDidRemoveLastListener)==null||h.call(o,this),this._size=0;return}let i=this._listeners,s=i.indexOf(t);if(s===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,i[s]=void 0;let r=this._deliveryQueue.current===this;if(this._size*P_<=i.length){let l=0;for(let c=0;c0}},O_=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Qo=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new re,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new re,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,i){if(this.getZoomLevel(i)===t)return;let s=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(s,t),this._onDidChangeZoomLevel.fire(s)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),t)}setFullscreen(t,i){if(this.isFullscreen(i)===t)return;let s=this.getWindowId(i);this.mapWindowIdToFullScreen.set(s,t),this._onDidChangeFullscreen.fire(s)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};Qo.INSTANCE=new Qo;var ya=Qo;function N_(e,t,i){typeof t=="string"&&(t=e.matchMedia(t)),t.addEventListener("change",i)}ya.INSTANCE.onDidChangeZoomLevel;function F_(e){return ya.INSTANCE.getZoomFactor(e)}ya.INSTANCE.onDidChangeFullscreen;var Xs=typeof navigator=="object"?navigator.userAgent:"",Oo=Xs.indexOf("Firefox")>=0,H_=Xs.indexOf("AppleWebKit")>=0,xa=Xs.indexOf("Chrome")>=0,W_=!xa&&Xs.indexOf("Safari")>=0;Xs.indexOf("Electron/")>=0;Xs.indexOf("Android")>=0;var Yn=!1;if(typeof Ni.matchMedia=="function"){let e=Ni.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=Ni.matchMedia("(display-mode: fullscreen)");Yn=e.matches,N_(Ni,e,({matches:i})=>{Yn&&t.matches||(Yn=i)})}var Os="en",No=!1,Fo=!1,hn=!1,uc=!1,jr,cn=Os,nl=Os,z_,hi,Ss=globalThis,mt,sh;typeof Ss.vscode<"u"&&typeof Ss.vscode.process<"u"?mt=Ss.vscode.process:typeof process<"u"&&typeof((sh=process==null?void 0:process.versions)==null?void 0:sh.node)=="string"&&(mt=process);var rh,U_=typeof((rh=mt==null?void 0:mt.versions)==null?void 0:rh.electron)=="string",q_=U_&&(mt==null?void 0:mt.type)==="renderer",nh;if(typeof mt=="object"){No=mt.platform==="win32",Fo=mt.platform==="darwin",hn=mt.platform==="linux",hn&&mt.env.SNAP&&mt.env.SNAP_REVISION,mt.env.CI||mt.env.BUILD_ARTIFACTSTAGINGDIRECTORY,jr=Os,cn=Os;let e=mt.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);jr=t.userLocale,nl=t.osLocale,cn=t.resolvedLanguage||Os,z_=(nh=t.languagePack)==null?void 0:nh.translationsConfigFile}catch{}uc=!0}else typeof navigator=="object"&&!q_?(hi=navigator.userAgent,No=hi.indexOf("Windows")>=0,Fo=hi.indexOf("Macintosh")>=0,(hi.indexOf("Macintosh")>=0||hi.indexOf("iPad")>=0||hi.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,hn=hi.indexOf("Linux")>=0,(hi==null?void 0:hi.indexOf("Mobi"))>=0,cn=globalThis._VSCODE_NLS_LANGUAGE||Os,jr=navigator.language.toLowerCase(),nl=jr):console.error("Unable to resolve platform.");var _c=No,Bi=Fo,$_=hn,ol=uc,Mi=hi,Ki=cn,G_;(e=>{function t(){return Ki}e.value=t;function i(){return Ki.length===2?Ki==="en":Ki.length>=3?Ki[0]==="e"&&Ki[1]==="n"&&Ki[2]==="-":!1}e.isDefaultVariant=i;function s(){return Ki==="en"}e.isDefault=s})(G_||(G_={}));var K_=typeof Ss.postMessage=="function"&&!Ss.importScripts;(()=>{if(K_){let e=[];Ss.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,r=e.length;s{let s=++t;e.push({id:s,callback:i}),Ss.postMessage({vscodeScheduleAsyncWork:s},"*")}}return e=>setTimeout(e)})();var J_=!!(Mi&&Mi.indexOf("Chrome")>=0);Mi&&Mi.indexOf("Firefox")>=0;!J_&&Mi&&Mi.indexOf("Safari")>=0;Mi&&Mi.indexOf("Edg/")>=0;Mi&&Mi.indexOf("Android")>=0;var Ts=typeof navigator=="object"?navigator:{};ol||document.queryCommandSupported&&document.queryCommandSupported("copy")||Ts&&Ts.clipboard&&Ts.clipboard.writeText,ol||Ts&&Ts.clipboard&&Ts.clipboard.readText;var ka=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Vn=new ka,al=new ka,ll=new ka,j_=new Array(230),fc;(e=>{function t(o){return Vn.keyCodeToStr(o)}e.toString=t;function i(o){return Vn.strToKeyCode(o)}e.fromString=i;function s(o){return al.keyCodeToStr(o)}e.toUserSettingsUS=s;function r(o){return ll.keyCodeToStr(o)}e.toUserSettingsGeneral=r;function n(o){return al.strToKeyCode(o)||ll.strToKeyCode(o)}e.fromUserSettings=n;function a(o){if(o>=98&&o<=113)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Vn.keyCodeToStr(o)}e.toElectronAccelerator=a})(fc||(fc={}));var Y_=class vc{constructor(t,i,s,r,n){this.ctrlKey=t,this.shiftKey=i,this.altKey=s,this.metaKey=r,this.keyCode=n}equals(t){return t instanceof vc&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?"1":"0",i=this.shiftKey?"1":"0",s=this.altKey?"1":"0",r=this.metaKey?"1":"0";return`K${t}${i}${s}${r}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new V_([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},V_=class{constructor(e){if(e.length===0)throw b_("chords");this.chords=e}getHashCode(){let e="";for(let t=0,i=this.chords.length;t{function t(i){return i===e.None||i===e.Cancelled||i instanceof af?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:At.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:gc})})(of||(of={}));var af=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?gc:(this._emitter||(this._emitter=new re),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Ea=class{constructor(t,i){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof i=="number"&&this.setIfNotSet(t,i)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){if(this._isDisposed)throw new Mo("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},i)}setIfNotSet(t,i){if(this._isDisposed)throw new Mo("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},i))}},lf=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var e;(e=this.disposable)==null||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new Mo("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let s=i.setInterval(()=>{e()},t);this.disposable=ze(()=>{i.clearInterval(s),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},hf;(e=>{async function t(s){let r,n=await Promise.all(s.map(a=>a.then(o=>o,o=>{r||(r=o)})));if(typeof r<"u")throw r;return n}e.settled=t;function i(s){return new Promise(async(r,n)=>{try{await s(r,n)}catch(a){n(a)}})}e.withAsyncBody=i})(hf||(hf={}));var ul=class Zt{static fromArray(t){return new Zt(i=>{i.emitMany(t)})}static fromPromise(t){return new Zt(async i=>{i.emitMany(await t)})}static fromPromises(t){return new Zt(async i=>{await Promise.all(t.map(async s=>i.emitOne(await s)))})}static merge(t){return new Zt(async i=>{await Promise.all(t.map(async s=>{for await(let r of s)i.emitOne(r)}))})}constructor(t,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new re,queueMicrotask(async()=>{let s={emitOne:r=>this.emitOne(r),emitMany:r=>this.emitMany(r),reject:r=>this.reject(r)};try{await Promise.resolve(t(s)),this.resolve()}catch(r){this.reject(r)}finally{s.emitOne=void 0,s.emitMany=void 0,s.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t{var i;return(i=this._onReturn)==null||i.call(this),{done:!0,value:void 0}}}}static map(t,i){return new Zt(async s=>{for await(let r of t)s.emitOne(i(r))})}map(t){return Zt.map(this,t)}static filter(t,i){return new Zt(async s=>{for await(let r of t)i(r)&&s.emitOne(r)})}filter(t){return Zt.filter(this,t)}static coalesce(t){return Zt.filter(t,i=>!!i)}coalesce(){return Zt.coalesce(this)}static async toPromise(t){let i=[];for await(let s of t)i.push(s);return i}toPromise(){return Zt.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};ul.EMPTY=ul.fromArray([]);var{getWindow:Ei,getWindowId:cf,onDidRegisterWindow:df}=(function(){let e=new Map,t={window:Ni,disposables:new os};e.set(Ni.vscodeWindowId,t);let i=new re,s=new re,r=new re;function n(a,o){return(typeof a=="number"?e.get(a):void 0)??(o?t:void 0)}return{onDidRegisterWindow:i.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:s.event,registerWindow(a){if(e.has(a.vscodeWindowId))return ke.None;let o=new os,h={window:a,disposables:o.add(new os)};return e.set(a.vscodeWindowId,h),o.add(ze(()=>{e.delete(a.vscodeWindowId),s.fire(a)})),o.add(we(a,ht.BEFORE_UNLOAD,()=>{r.fire(a)})),i.fire(h),o},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(a){return a.vscodeWindowId},hasWindow(a){return e.has(a)},getWindowById:n,getWindow(a){var l;let o=a;if((l=o==null?void 0:o.ownerDocument)!=null&&l.defaultView)return o.ownerDocument.defaultView.window;let h=a;return h!=null&&h.view?h.view.window:Ni},getDocument(a){return Ei(a).document}}})(),uf=class{constructor(e,t,i,s){this._node=e,this._type=t,this._handler=i,this._options=s||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function we(e,t,i,s){return new uf(e,t,i,s)}var _l=function(e,t,i,s){return we(e,t,i,s)},Ba,_f=class extends lf{constructor(e){super(),this.defaultTarget=e&&Ei(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}},fl=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){ln(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,i=new Map,s=new Map,r=n=>{i.set(n,!1);let a=e.get(n)??[];for(t.set(n,a),e.set(n,[]),s.set(n,!0);a.length>0;)a.sort(fl.sort),a.shift().execute();s.set(n,!1)};Ba=(n,a,o=0)=>{let h=cf(n),l=new fl(a,o),c=e.get(h);return c||(c=[],e.set(h,c)),c.push(l),i.get(h)||(i.set(h,!0),n.requestAnimationFrame(()=>r(h))),l}})();function ff(e){let t=e.getBoundingClientRect(),i=Ei(e);return{left:t.left+i.scrollX,top:t.top+i.scrollY,width:t.width,height:t.height}}var ht={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},vf=class{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){let t=Qt(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Qt(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Qt(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Qt(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Qt(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Qt(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Qt(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=Qt(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=Qt(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=Qt(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=Qt(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Qt(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Qt(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Qt(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Qt(e){return typeof e=="number"?`${e}px`:e}function wr(e){return new vf(e)}var pc=class{constructor(){this._hooks=new os,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,s,r){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=r;let n=e;try{e.setPointerCapture(t),this._hooks.add(ze(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{n=Ei(e)}this._hooks.add(we(n,ht.POINTER_MOVE,a=>{if(a.buttons!==i){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(we(n,ht.POINTER_UP,a=>this.stopMonitoring(!0)))}};function gf(e,t,i){let s=null,r=null;if(typeof i.value=="function"?(s="value",r=i.value,r.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof i.get=="function"&&(s="get",r=i.get),!r)throw new Error("not supported");let n=`$memoize$${t}`;i[s]=function(...a){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,a)}),this[n]}}var Ci;(e=>(e.Tap="-xterm-gesturetap",e.Change="-xterm-gesturechange",e.Start="-xterm-gesturestart",e.End="-xterm-gesturesend",e.Contextmenu="-xterm-gesturecontextmenu"))(Ci||(Ci={}));var ur=class yt extends ke{constructor(){super(),this.dispatched=!1,this.targets=new rl,this.ignoreTargets=new rl,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(At.runAndSubscribe(df,({window:t,disposables:i})=>{i.add(we(t.document,"touchstart",s=>this.onTouchStart(s),{passive:!1})),i.add(we(t.document,"touchend",s=>this.onTouchEnd(t,s))),i.add(we(t.document,"touchmove",s=>this.onTouchMove(s),{passive:!1}))},{window:Ni,disposables:this._store}))}static addTarget(t){if(!yt.isTouchDevice())return ke.None;yt.INSTANCE||(yt.INSTANCE=new yt);let i=yt.INSTANCE.targets.push(t);return ze(i)}static ignoreTarget(t){if(!yt.isTouchDevice())return ke.None;yt.INSTANCE||(yt.INSTANCE=new yt);let i=yt.INSTANCE.ignoreTargets.push(t);return ze(i)}static isTouchDevice(){return"ontouchstart"in Ni||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){let i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let s=0,r=t.targetTouches.length;s=yt.HOLD_DELAY&&Math.abs(h.initialPageX-qt(h.rollingPageX))<30&&Math.abs(h.initialPageY-qt(h.rollingPageY))<30){let c=this.newGestureEvent(Ci.Contextmenu,h.initialTarget);c.pageX=qt(h.rollingPageX),c.pageY=qt(h.rollingPageY),this.dispatchEvent(c)}else if(r===1){let c=qt(h.rollingPageX),d=qt(h.rollingPageY),g=qt(h.rollingTimestamps)-h.rollingTimestamps[0],u=c-h.rollingPageX[0],p=d-h.rollingPageY[0],_=[...this.targets].filter(v=>h.initialTarget instanceof Node&&v.contains(h.initialTarget));this.inertia(t,_,s,Math.abs(u)/g,u>0?1:-1,c,Math.abs(p)/g,p>0?1:-1,d)}this.dispatchEvent(this.newGestureEvent(Ci.End,h.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,i){let s=document.createEvent("CustomEvent");return s.initEvent(t,!1,!0),s.initialTarget=i,s.tapCount=0,s}dispatchEvent(t){if(t.type===Ci.Tap){let i=new Date().getTime(),s=0;i-this._lastSetTapCountTime>yt.CLEAR_TAP_COUNT_TIME?s=1:s=2,this._lastSetTapCountTime=i,t.tapCount=s}else(t.type===Ci.Change||t.type===Ci.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let s of this.ignoreTargets)if(s.contains(t.initialTarget))return;let i=[];for(let s of this.targets)if(s.contains(t.initialTarget)){let r=0,n=t.initialTarget;for(;n&&n!==s;)r++,n=n.parentElement;i.push([r,s])}i.sort((s,r)=>s[0]-r[0]);for(let[s,r]of i)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,i,s,r,n,a,o,h,l){this.handle=Ba(t,()=>{let c=Date.now(),d=c-s,g=0,u=0,p=!0;r+=yt.SCROLL_FRICTION*d,o+=yt.SCROLL_FRICTION*d,r>0&&(p=!1,g=n*r*d),o>0&&(p=!1,u=h*o*d);let _=this.newGestureEvent(Ci.Change);_.translationX=g,_.translationY=u,i.forEach(v=>v.dispatchEvent(_)),p||this.inertia(t,i,c,r,n,a+g,o,h,l+u)})}onTouchMove(t){let i=Date.now();for(let s=0,r=t.changedTouches.length;s3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(n.pageX),a.rollingPageY.push(n.pageY),a.rollingTimestamps.push(i)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}};ur.SCROLL_FRICTION=-.005,ur.HOLD_DELAY=700,ur.CLEAR_TAP_COUNT_TIME=400,Je([gf],ur,"isTouchDevice",1);var pf=ur,Ia=class extends ke{onclick(t,i){this._register(we(t,ht.CLICK,s=>i(new Yr(Ei(t),s))))}onmousedown(t,i){this._register(we(t,ht.MOUSE_DOWN,s=>i(new Yr(Ei(t),s))))}onmouseover(t,i){this._register(we(t,ht.MOUSE_OVER,s=>i(new Yr(Ei(t),s))))}onmouseleave(t,i){this._register(we(t,ht.MOUSE_LEAVE,s=>i(new Yr(Ei(t),s))))}onkeydown(t,i){this._register(we(t,ht.KEY_DOWN,s=>i(new hl(s))))}onkeyup(t,i){this._register(we(t,ht.KEY_UP,s=>i(new hl(s))))}oninput(t,i){this._register(we(t,ht.INPUT,i))}onblur(t,i){this._register(we(t,ht.BLUR,i))}onfocus(t,i){this._register(we(t,ht.FOCUS,i))}onchange(t,i){this._register(we(t,ht.CHANGE,i))}ignoreGesture(t){return pf.ignoreTarget(t)}},vl=11,mf=class extends Ia{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.style.position="absolute",this.domNode.style.width=vl+"px",this.domNode.style.height=vl+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new pc),this._register(_l(this.bgDomNode,ht.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(_l(this.domNode,ht.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new _f),this._pointerdownScheduleRepeatTimer=this._register(new Ea)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ei(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},Af=class Ho{constructor(t,i,s,r,n,a,o){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i=i|0,s=s|0,r=r|0,n=n|0,a=a|0,o=o|0),this.rawScrollLeft=r,this.rawScrollTop=o,i<0&&(i=0),r+i>s&&(r=s-i),r<0&&(r=0),n<0&&(n=0),o+n>a&&(o=a-n),o<0&&(o=0),this.width=i,this.scrollWidth=s,this.scrollLeft=r,this.height=n,this.scrollHeight=a,this.scrollTop=o}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new Ho(this._forceIntegerValues,typeof t.width<"u"?t.width:this.width,typeof t.scrollWidth<"u"?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,typeof t.height<"u"?t.height:this.height,typeof t.scrollHeight<"u"?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new Ho(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<"u"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<"u"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){let s=this.width!==t.width,r=this.scrollWidth!==t.scrollWidth,n=this.scrollLeft!==t.scrollLeft,a=this.height!==t.height,o=this.scrollHeight!==t.scrollHeight,h=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:s,scrollWidthChanged:r,scrollLeftChanged:n,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:h}}},wf=class extends ke{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new Af(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var s;let i=this._state.withScrollDimensions(e,t);this._setState(i,!!this._smoothScrolling),(s=this._smoothScrolling)==null||s.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};let i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let s;t?s=new pl(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):s=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{let i=this._state.withScrollPosition(e);this._smoothScrolling=pl.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}},gl=class{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}};function Xn(e,t){let i=t-e;return function(s){return e+i*Sf(s)}}function Cf(e,t,i){return function(s){return s2.5*s){let r,n;return t{var e;(e=this._domNode)==null||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)==null||t.setClassName(this._invisibleClassName+(e?" fade":"")))}},xf=140,mc=class extends Ia{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new yf(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new pc),this._shouldRender=!0,this.domNode=wr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(we(this.domNode.domNode,ht.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){let t=this._register(new mf(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,s){this.slider=wr(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof s=="number"&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(we(this.slider.domNode,ht.POINTER_DOWN,r=>{r.button===0&&(r.preventDefault(),this._sliderPointerDown(r))})),this.onclick(this.slider.domNode,r=>{r.leftButton&&r.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),s=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderPointerPosition(e);i<=r&&r<=s?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{let r=ff(this.domNode.domNode);t=e.pageX-r.left,i=e.pageY-r.top}let s=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>{let n=this._sliderOrthogonalPointerPosition(r),a=Math.abs(n-i);if(_c&&a>xf){this._setDesiredScrollPositionNow(s.getScrollPosition());return}let o=this._sliderPointerPosition(r)-t;this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Ac=class zo{constructor(t,i,s,r,n,a){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(s),this._arrowSize=Math.round(t),this._visibleSize=r,this._scrollSize=n,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new zo(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){let i=Math.round(t);return this._visibleSize!==i?(this._visibleSize=i,this._refreshComputedValues(),!0):!1}setScrollSize(t){let i=Math.round(t);return this._scrollSize!==i?(this._scrollSize=i,this._refreshComputedValues(),!0):!1}setScrollPosition(t){let i=Math.round(t);return this._scrollPosition!==i?(this._scrollPosition=i,this._refreshComputedValues(),!0):!1}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,i,s,r,n){let a=Math.max(0,s-t),o=Math.max(0,a-2*i),h=r>0&&r>s;if(!h)return{computedAvailableSize:Math.round(a),computedIsNeeded:h,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let l=Math.round(Math.max(20,Math.floor(s*o/r))),c=(o-l)/(r-s),d=n*c;return{computedAvailableSize:Math.round(a),computedIsNeeded:h,computedSliderSize:Math.round(l),computedSliderRatio:c,computedSliderPosition:Math.round(d)}}_refreshComputedValues(){let t=zo._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){if(!this._computedIsNeeded)return 0;let i=t-this._arrowSize-this._computedSliderSize/2;return Math.round(i/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let i=t-this._arrowSize,s=this._scrollPosition;return i0&&Math.abs(t.deltaY)>0)return 1;let s=.5;if((!this._isAlmostInt(t.deltaX)||!this._isAlmostInt(t.deltaY))&&(s+=.25),i){let r=Math.abs(t.deltaX),n=Math.abs(t.deltaY),a=Math.abs(i.deltaX),o=Math.abs(i.deltaY),h=Math.max(Math.min(r,a),1),l=Math.max(Math.min(n,o),1),c=Math.max(r,a),d=Math.max(n,o);c%h===0&&d%l===0&&(s-=.5)}return Math.min(Math.max(s,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}};Uo.INSTANCE=new Uo;var Df=Uo,Mf=class extends Ia{constructor(e,t,i){super(),this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new re),this.onWillScroll=this._onWillScroll.event,this._options=Rf(t),this._scrollable=i,this._register(this._scrollable.onScroll(r=>{this._onWillScroll.fire(r),this._onDidScroll(r),this._onScroll.fire(r)}));let s={onMouseWheel:r=>this._onMouseWheel(r),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Ef(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new kf(this._scrollable,this._options,s)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=wr(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=wr(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=wr(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,r=>this._onMouseOver(r)),this.onmouseleave(this._listenOnDomNode,r=>this._onMouseLeave(r)),this._hideTimeout=this._register(new Ea),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Es(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Bi&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new dl(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Es(this._mouseWheelToDispose),e)){let t=i=>{this._onMouseWheel(new dl(i))};this._mouseWheelToDispose.push(we(this._listenOnDomNode,ht.MOUSE_WHEEL,t,{passive:!1}))}}_onMouseWheel(e){var r;if((r=e.browserEvent)!=null&&r.defaultPrevented)return;let t=Df.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let n=e.deltaY*this._options.mouseWheelScrollSensitivity,a=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&a+n===0?a=n=0:Math.abs(n)>=Math.abs(a)?a=0:n=0),this._options.flipAxes&&([n,a]=[a,n]);let o=!Bi&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||o)&&!a&&(a=n,n=0),e.browserEvent&&e.browserEvent.altKey&&(a=a*this._options.fastScrollSensitivity,n=n*this._options.fastScrollSensitivity);let h=this._scrollable.getFutureScrollPosition(),l={};if(n){let c=ml*n,d=h.scrollTop-(c<0?Math.floor(c):Math.ceil(c));this._verticalScrollbar.writeScrollPosition(l,d)}if(a){let c=ml*a,d=h.scrollLeft-(c<0?Math.floor(c):Math.ceil(c));this._horizontalScrollbar.writeScrollPosition(l,d)}l=this._scrollable.validateScrollPosition(l),(h.scrollLeft!==l.scrollLeft||h.scrollTop!==l.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),i=!0)}let s=i;!s&&this._options.alwaysConsumeMouseWheel&&(s=!0),!s&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(s=!0),s&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,s=i?" left":"",r=t?" top":"",n=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${r}`),this._topLeftShadowDomNode.setClassName(`shadow${n}${r}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Bf)}},Lf=class extends Mf{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Rf(e){let t={lazyRender:typeof e.lazyRender<"u"?e.lazyRender:!1,className:typeof e.className<"u"?e.className:"",useShadows:typeof e.useShadows<"u"?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<"u"?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<"u"?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<"u"?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<"u"?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<"u"?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<"u"?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<"u"?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<"u"?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<"u"?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<"u"?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<"u"?e.listenOnDomNode:null,horizontal:typeof e.horizontal<"u"?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<"u"?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<"u"?e.horizontalHasArrows:!1,vertical:typeof e.vertical<"u"?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<"u"?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<"u"?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<"u"?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<"u"?e.scrollByPage:!1};return t.horizontalSliderSize=typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<"u"?e.verticalSliderSize:t.verticalScrollbarSize,Bi&&(t.className+=" mac"),t}var qo=class extends ke{constructor(e,t,i,s,r,n,a,o){super(),this._bufferService=i,this._optionsService=a,this._renderService=o,this._onRequestScrollLines=this._register(new re),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let h=this._register(new wf({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:l=>Ba(s.window,l)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{h.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Lf(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},h)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(r.onProtocolChange(l=>{this._scrollableElement.updateOptions({handleMouseWheel:!(l&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(At.runAndSubscribe(n.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=n.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(ze(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=s.mainDocument.createElement("style"),t.appendChild(this._styleElement),this._register(ze(()=>this._styleElement.remove())),this._register(At.runAndSubscribe(n.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${n.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${n.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${n.colors.scrollbarSliderActiveBackground.css};`,"}"].join(` -`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(l=>this._handleScroll(l)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){var e;return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:((e=this._optionsService.rawOptions.overviewRuler)==null?void 0:e.width)||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),i=t-this._bufferService.buffer.ydisp;i!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(i)),this._isHandlingScroll=!1}};qo=Je([oe(2,Rt),oe(3,zi),oe(4,Zh),oe(5,Vs),oe(6,Tt),oe(7,Ui)],qo);var $o=class extends ke{constructor(e,t,i,s,r){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=i,this._decorationService=s,this._renderService=r,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(n=>this._removeDecoration(n))),this._register(ze(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var s;let t=this._coreBrowserService.mainDocument.createElement("div");t.classList.add("xterm-decoration"),t.classList.toggle("xterm-decoration-top-layer",((s=e==null?void 0:e.options)==null?void 0:s.layer)==="top"),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let i=e.options.x??0;return i&&i>this._bufferService.cols&&(t.style.display="none"),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i),e.onDispose(()=>{this._decorationElements.delete(e),i.remove()})),i.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,i.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){if(!t)return;let i=e.options.x??0;(e.options.anchor||"left")==="right"?t.style.right=i?`${i*this._renderService.dimensions.css.cell.width}px`:"":t.style.left=i?`${i*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(e){var t;(t=this._decorationElements.get(e))==null||t.remove(),this._decorationElements.delete(e),e.dispose()}};$o=Je([oe(1,Rt),oe(2,zi),oe(3,Hr),oe(4,Ui)],$o);var Tf=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||"full"]&&t<=e.endBufferLine+this._linePadding[i||"full"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Ai={full:0,left:0,center:0,right:0},Ji={full:0,left:0,center:0,right:0},ir={full:0,left:0,center:0,right:0},wn=class extends ke{constructor(e,t,i,s,r,n,a,o){var l;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=n,this._themeService=a,this._coreBrowserService=o,this._colorZoneStore=new Tf,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(l=this._viewportElement.parentElement)==null||l.insertBefore(this._canvas,this._viewportElement),this._register(ze(()=>{var c;return(c=this._canvas)==null?void 0:c.remove()}));let h=this._canvas.getContext("2d");if(h)this._ctx=h;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){var e;return((e=this._optionsService.options.overviewRuler)==null?void 0:e.width)||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);Ji.full=this._canvas.width,Ji.left=e,Ji.center=t,Ji.right=e,this._refreshDrawHeightConstants(),ir.full=1,ir.left=1,ir.center=1+Ji.left,ir.right=1+Ji.left+Ji.center}_refreshDrawHeightConstants(){Ai.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Ai.left=t,Ai.center=t,Ai.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ai.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ai.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ai.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Ai.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let t of this._decorationService.decorations)this._colorZoneStore.addDecoration(t);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!=="full"&&this._renderColorZone(t);for(let t of e)t.position==="full"&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(ir[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Ai[e.position||"full"]/2),Ji[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Ai[e.position||"full"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};wn=Je([oe(2,Rt),oe(3,Hr),oe(4,Ui),oe(5,Tt),oe(6,Vs),oe(7,zi)],wn);var j;(e=>(e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="\x07",e.BS="\b",e.HT=" ",e.LF=` -`,e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="\x1B",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""))(j||(j={}));var dn;(e=>(e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"))(dn||(dn={}));var wc;(e=>e.ST=`${j.ESC}\\`)(wc||(wc={}));var Go=class{constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){let t={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let i;t.start+=this._dataAlreadySent.length,this._isComposing?i=this._textarea.value.substring(t.start,this._compositionPosition.start):i=this._textarea.value.substring(t.start),i.length>0&&this._coreService.triggerDataEvent(i,!0)}},0)}else{this._isSendingComposition=!1;let t=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(t,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,i=t.replace(e,"");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.lengththis.updateCompositionElements(!0),0)}}};Go=Je([oe(2,Rt),oe(3,Tt),oe(4,Ds),oe(5,Ui)],Go);var ct=0,dt=0,ut=0,Ke=0,Al={css:"#00000000",rgba:0},tt;(e=>{function t(r,n,a,o){return o!==void 0?`#${ls(r)}${ls(n)}${ls(a)}${ls(o)}`:`#${ls(r)}${ls(n)}${ls(a)}`}e.toCss=t;function i(r,n,a,o=255){return(r<<24|n<<16|a<<8|o)>>>0}e.toRgba=i;function s(r,n,a,o){return{css:e.toCss(r,n,a,o),rgba:e.toRgba(r,n,a,o)}}e.toColor=s})(tt||(tt={}));var We;(e=>{function t(h,l){if(Ke=(l.rgba&255)/255,Ke===1)return{css:l.css,rgba:l.rgba};let c=l.rgba>>24&255,d=l.rgba>>16&255,g=l.rgba>>8&255,u=h.rgba>>24&255,p=h.rgba>>16&255,_=h.rgba>>8&255;ct=u+Math.round((c-u)*Ke),dt=p+Math.round((d-p)*Ke),ut=_+Math.round((g-_)*Ke);let v=tt.toCss(ct,dt,ut),A=tt.toRgba(ct,dt,ut);return{css:v,rgba:A}}e.blend=t;function i(h){return(h.rgba&255)===255}e.isOpaque=i;function s(h,l,c){let d=un.ensureContrastRatio(h.rgba,l.rgba,c);if(d)return tt.toColor(d>>24&255,d>>16&255,d>>8&255)}e.ensureContrastRatio=s;function r(h){let l=(h.rgba|255)>>>0;return[ct,dt,ut]=un.toChannels(l),{css:tt.toCss(ct,dt,ut),rgba:l}}e.opaque=r;function n(h,l){return Ke=Math.round(l*255),[ct,dt,ut]=un.toChannels(h.rgba),{css:tt.toCss(ct,dt,ut,Ke),rgba:tt.toRgba(ct,dt,ut,Ke)}}e.opacity=n;function a(h,l){return Ke=h.rgba&255,n(h,Ke*l/255)}e.multiplyOpacity=a;function o(h){return[h.rgba>>24&255,h.rgba>>16&255,h.rgba>>8&255]}e.toColorRGB=o})(We||(We={}));var $e;(e=>{let t,i;try{let r=document.createElement("canvas");r.width=1,r.height=1;let n=r.getContext("2d",{willReadFrequently:!0});n&&(t=n,t.globalCompositeOperation="copy",i=t.createLinearGradient(0,0,1,1))}catch{}function s(r){if(r.match(/#[\da-f]{3,8}/i))switch(r.length){case 4:return ct=parseInt(r.slice(1,2).repeat(2),16),dt=parseInt(r.slice(2,3).repeat(2),16),ut=parseInt(r.slice(3,4).repeat(2),16),tt.toColor(ct,dt,ut);case 5:return ct=parseInt(r.slice(1,2).repeat(2),16),dt=parseInt(r.slice(2,3).repeat(2),16),ut=parseInt(r.slice(3,4).repeat(2),16),Ke=parseInt(r.slice(4,5).repeat(2),16),tt.toColor(ct,dt,ut,Ke);case 7:return{css:r,rgba:(parseInt(r.slice(1),16)<<8|255)>>>0};case 9:return{css:r,rgba:parseInt(r.slice(1),16)>>>0}}let n=r.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(n)return ct=parseInt(n[1]),dt=parseInt(n[2]),ut=parseInt(n[3]),Ke=Math.round((n[5]===void 0?1:parseFloat(n[5]))*255),tt.toColor(ct,dt,ut,Ke);if(!t||!i)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=i,t.fillStyle=r,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[ct,dt,ut,Ke]=t.getImageData(0,0,1,1).data,Ke!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:tt.toRgba(ct,dt,ut,Ke),css:r}}e.toColor=s})($e||($e={}));var Dt;(e=>{function t(s){return i(s>>16&255,s>>8&255,s&255)}e.relativeLuminance=t;function i(s,r,n){let a=s/255,o=r/255,h=n/255,l=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),c=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),d=h<=.03928?h/12.92:Math.pow((h+.055)/1.055,2.4);return l*.2126+c*.7152+d*.0722}e.relativeLuminance2=i})(Dt||(Dt={}));var un;(e=>{function t(a,o){if(Ke=(o&255)/255,Ke===1)return o;let h=o>>24&255,l=o>>16&255,c=o>>8&255,d=a>>24&255,g=a>>16&255,u=a>>8&255;return ct=d+Math.round((h-d)*Ke),dt=g+Math.round((l-g)*Ke),ut=u+Math.round((c-u)*Ke),tt.toRgba(ct,dt,ut)}e.blend=t;function i(a,o,h){let l=Dt.relativeLuminance(a>>8),c=Dt.relativeLuminance(o>>8);if(Ri(l,c)>8));if(p>8));return p>v?u:_}return u}let d=r(a,o,h),g=Ri(l,Dt.relativeLuminance(d>>8));if(g>8));return g>p?d:u}return d}}e.ensureContrastRatio=i;function s(a,o,h){let l=a>>24&255,c=a>>16&255,d=a>>8&255,g=o>>24&255,u=o>>16&255,p=o>>8&255,_=Ri(Dt.relativeLuminance2(g,u,p),Dt.relativeLuminance2(l,c,d));for(;_0||u>0||p>0);)g-=Math.max(0,Math.ceil(g*.1)),u-=Math.max(0,Math.ceil(u*.1)),p-=Math.max(0,Math.ceil(p*.1)),_=Ri(Dt.relativeLuminance2(g,u,p),Dt.relativeLuminance2(l,c,d));return(g<<24|u<<16|p<<8|255)>>>0}e.reduceLuminance=s;function r(a,o,h){let l=a>>24&255,c=a>>16&255,d=a>>8&255,g=o>>24&255,u=o>>16&255,p=o>>8&255,_=Ri(Dt.relativeLuminance2(g,u,p),Dt.relativeLuminance2(l,c,d));for(;_>>0}e.increaseLuminance=r;function n(a){return[a>>24&255,a>>16&255,a>>8&255,a&255]}e.toChannels=n})(un||(un={}));function ls(e){let t=e.toString(16);return t.length<2?"0"+t:t}function Ri(e,t){return e1){let c=this._getJoinedRanges(s,a,n,t,r);for(let d=0;d1){let l=this._getJoinedRanges(s,a,n,t,r);for(let c=0;c=D,Q=B,T=this._workCell;if(g.length>0&&B===g[0][0]&&O){let W=g.shift(),Z=this._isCellInSelection(W[0],t);for(x=W[0]+1;x=W[1]),O?(R=!0,T=new Pf(this._workCell,e.translateToString(!0,W[0],W[1]),W[1]-W[0]),Q=W[1]-1,L=T.getWidth()):D=W[1]}let z=this._isCellInSelection(B,t),K=i&&B===n,ae=E&&B>=l&&B<=c,he=!1;this._decorationService.forEachDecorationAtCell(B,t,void 0,W=>{he=!0});let F=T.getChars()||ts;if(F===" "&&(T.isUnderline()||T.isOverline())&&(F=" "),b=L*o-h.get(F,T.isBold(),T.isItalic()),!_)_=this._document.createElement("span");else if(v&&(z&&k||!z&&!k&&T.bg===S)&&(z&&k&&u.selectionForeground||T.fg===w)&&T.extended.ext===y&&ae===m&&b===C&&!K&&!R&&!he&&O){T.isInvisible()?A+=ts:A+=F,v++;continue}else v&&(_.textContent=A),_=this._document.createElement("span"),v=0,A="";if(S=T.bg,w=T.fg,y=T.extended.ext,m=ae,C=b,k=z,R&&n>=B&&n<=Q&&(n=B),!this._coreService.isCursorHidden&&K&&this._coreService.isCursorInitialized){if(I.push("xterm-cursor"),this._coreBrowserService.isFocused)a&&I.push("xterm-cursor-blink"),I.push(s==="bar"?"xterm-cursor-bar":s==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(r)switch(r){case"outline":I.push("xterm-cursor-outline");break;case"block":I.push("xterm-cursor-block");break;case"bar":I.push("xterm-cursor-bar");break;case"underline":I.push("xterm-cursor-underline");break}}if(T.isBold()&&I.push("xterm-bold"),T.isItalic()&&I.push("xterm-italic"),T.isDim()&&I.push("xterm-dim"),T.isInvisible()?A=ts:A=T.getChars()||ts,T.isUnderline()&&(I.push(`xterm-underline-${T.extended.underlineStyle}`),A===" "&&(A=" "),!T.isUnderlineColorDefault()))if(T.isUnderlineColorRGB())_.style.textDecorationColor=`rgb(${Fr.toColorRGB(T.getUnderlineColor()).join(",")})`;else{let W=T.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&T.isBold()&&W<8&&(W+=8),_.style.textDecorationColor=u.ansi[W].css}T.isOverline()&&(I.push("xterm-overline"),A===" "&&(A=" ")),T.isStrikethrough()&&I.push("xterm-strikethrough"),ae&&(_.style.textDecoration="underline");let V=T.getFgColor(),le=T.getFgColorMode(),ce=T.getBgColor(),ee=T.getBgColorMode(),q=!!T.isInverse();if(q){let W=V;V=ce,ce=W;let Z=le;le=ee,ee=Z}let Y,te,$=!1;this._decorationService.forEachDecorationAtCell(B,t,void 0,W=>{W.options.layer!=="top"&&$||(W.backgroundColorRGB&&(ee=50331648,ce=W.backgroundColorRGB.rgba>>8&16777215,Y=W.backgroundColorRGB),W.foregroundColorRGB&&(le=50331648,V=W.foregroundColorRGB.rgba>>8&16777215,te=W.foregroundColorRGB),$=W.options.layer==="top")}),!$&&z&&(Y=this._coreBrowserService.isFocused?u.selectionBackgroundOpaque:u.selectionInactiveBackgroundOpaque,ce=Y.rgba>>8&16777215,ee=50331648,$=!0,u.selectionForeground&&(le=50331648,V=u.selectionForeground.rgba>>8&16777215,te=u.selectionForeground)),$&&I.push("xterm-decoration-top");let H;switch(ee){case 16777216:case 33554432:H=u.ansi[ce],I.push(`xterm-bg-${ce}`);break;case 50331648:H=tt.toColor(ce>>16,ce>>8&255,ce&255),this._addStyle(_,`background-color:#${wl((ce>>>0).toString(16),"0",6)}`);break;case 0:default:q?(H=u.foreground,I.push("xterm-bg-257")):H=u.background}switch(Y||T.isDim()&&(Y=We.multiplyOpacity(H,.5)),le){case 16777216:case 33554432:T.isBold()&&V<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(V+=8),this._applyMinimumContrast(_,H,u.ansi[V],T,Y,void 0)||I.push(`xterm-fg-${V}`);break;case 50331648:let W=tt.toColor(V>>16&255,V>>8&255,V&255);this._applyMinimumContrast(_,H,W,T,Y,te)||this._addStyle(_,`color:#${wl(V.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(_,H,u.foreground,T,Y,te)||q&&I.push("xterm-fg-257")}I.length&&(_.className=I.join(" "),I.length=0),!K&&!R&&!he&&O?v++:_.textContent=A,b!==this.defaultSpacing&&(_.style.letterSpacing=`${b}px`),d.push(_),B=Q}return _&&v&&(_.textContent=A),d}_applyMinimumContrast(e,t,i,s,r,n){if(this._optionsService.rawOptions.minimumContrastRatio===1||Nf(s.getCode()))return!1;let a=this._getContrastCache(s),o;if(!r&&!n&&(o=a.getColor(t.rgba,i.rgba)),o===void 0){let h=this._optionsService.rawOptions.minimumContrastRatio/(s.isDim()?2:1);o=We.ensureContrastRatio(r||t,n||i,h),a.setColor((r||t).rgba,(n||i).rgba,o??null)}return o?(this._addStyle(e,`color:${o.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e,t){let i=this._selectionStart,s=this._selectionEnd;return!i||!s?!1:this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t=i[0]&&e=i[0]}};Ko=Je([oe(1,ic),oe(2,Tt),oe(3,zi),oe(4,Ds),oe(5,Hr),oe(6,Vs)],Ko);function wl(e,t,i){for(;e.length0&&(this._flat[s]=a),a}let r=e;t&&(r+="B"),i&&(r+="I");let n=this._holey.get(r);if(n===void 0){let a=0;t&&(a|=1),i&&(a|=2),n=this._measure(e,a),n>0&&this._holey.set(r,n)}return n}_measure(e,t){let i=this._measureElements[t];return i.textContent=e.repeat(32),i.offsetWidth/32}},Wf=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1]){this.clear();return}let r=e.buffers.active.ydisp,n=t[1]-r,a=i[1]-r,o=Math.max(n,0),h=Math.min(a,e.rows-1);if(o>=e.rows||h<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=n,this.viewportEndRow=a,this.viewportCappedStartRow=o,this.viewportCappedEndRow=h,this.startCol=t[0],this.endCol=i[0]}isCellSelected(e,t,i){return this.hasSelection?(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i=this.startCol&&t=this.startCol):!1}};function zf(){return new Wf}var Zn="xterm-dom-renderer-owner-",Vt="xterm-rows",Xr="xterm-fg-",Cl="xterm-bg-",sr="xterm-focus",Zr="xterm-selection",Uf=1,Jo=class extends ke{constructor(e,t,i,s,r,n,a,o,h,l,c,d,g,u){super(),this._terminal=e,this._document=t,this._element=i,this._screenElement=s,this._viewportElement=r,this._helperContainer=n,this._linkifier2=a,this._charSizeService=h,this._optionsService=l,this._bufferService=c,this._coreService=d,this._coreBrowserService=g,this._themeService=u,this._terminalClass=Uf++,this._rowElements=[],this._selectionRenderModel=zf(),this.onRequestRedraw=this._register(new re).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(Vt),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(Zr),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=Ff(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(p=>this._injectCss(p))),this._injectCss(this._themeService.colors),this._rowFactory=o.createInstance(Ko,document),this._element.classList.add(Zn+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(p=>this._handleLinkHover(p))),this._register(this._linkifier2.onHideLinkUnderline(p=>this._handleLinkLeave(p))),this._register(ze(()=>{this._element.classList.remove(Zn+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new Hf(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let i of this._rowElements)i.style.width=`${this.dimensions.css.canvas.width}px`,i.style.height=`${this.dimensions.css.cell.height}px`,i.style.lineHeight=`${this.dimensions.css.cell.height}px`,i.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${Vt} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${Vt} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${Vt} .xterm-dim { color: ${We.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let i=`blink_underline_${this._terminalClass}`,s=`blink_bar_${this._terminalClass}`,r=`blink_block_${this._terminalClass}`;t+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${s} { 50% { box-shadow: none; }}`,t+=`@keyframes ${r} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${Vt}.${sr} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${Vt}.${sr} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${Vt}.${sr} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${Vt} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${Zr} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${Zr} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${Zr} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,a]of e.ansi.entries())t+=`${this._terminalSelector} .${Xr}${n} { color: ${a.css}; }${this._terminalSelector} .${Xr}${n}.xterm-dim { color: ${We.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${Cl}${n} { background-color: ${a.css}; }`;t+=`${this._terminalSelector} .${Xr}257 { color: ${We.opaque(e.background).css}; }${this._terminalSelector} .${Xr}257.xterm-dim { color: ${We.multiplyOpacity(We.opaque(e.background),.5).css}; }${this._terminalSelector} .${Cl}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let i=this._rowElements.length;i<=t;i++){let s=this._document.createElement("div");this._rowContainer.appendChild(s),this._rowElements.push(s)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(sr),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(sr),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,i),!this._selectionRenderModel.hasSelection))return;let s=this._selectionRenderModel.viewportStartRow,r=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,o=this._document.createDocumentFragment();if(i){let h=e[0]>t[0];o.appendChild(this._createSelectionElement(n,h?t[0]:e[0],h?e[0]:t[0],a-n+1))}else{let h=s===n?e[0]:0,l=n===r?t[0]:this._bufferService.cols;o.appendChild(this._createSelectionElement(n,h,l));let c=a-n-1;if(o.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==a){let d=r===a?t[0]:this._bufferService.cols;o.appendChild(this._createSelectionElement(a,0,d))}}this._selectionContainer.appendChild(o)}_createSelectionElement(e,t,i,s=1){let r=this._document.createElement("div"),n=t*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(i-t);return n+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-n),r.style.height=`${s*this.dimensions.css.cell.height}px`,r.style.top=`${e*this.dimensions.css.cell.height}px`,r.style.left=`${n}px`,r.style.width=`${a}px`,r}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,o=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=t;h++){let l=h+i.ydisp,c=this._rowElements[h],d=i.lines.get(l);if(!c||!d)break;c.replaceChildren(...this._rowFactory.createRow(d,l,l===s,a,o,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${Zn}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);let a=this._bufferService.rows-1;i=Math.max(Math.min(i,a),0),s=Math.max(Math.min(s,a),0),r=Math.min(r,this._bufferService.cols);let o=this._bufferService.buffer,h=o.ybase+o.y,l=Math.min(o.x,r-1),c=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,g=this._optionsService.rawOptions.cursorInactiveStyle;for(let u=i;u<=s;++u){let p=u+o.ydisp,_=this._rowElements[u],v=o.lines.get(p);if(!_||!v)break;_.replaceChildren(...this._rowFactory.createRow(v,p,p===h,d,g,l,c,this.dimensions.css.cell.width,this._widthCache,n?u===i?e:0:-1,n?(u===s?t:r)-1:-1))}}};Jo=Je([oe(7,ba),oe(8,Pn),oe(9,Tt),oe(10,Rt),oe(11,Ds),oe(12,zi),oe(13,Vs)],Jo);var jo=class extends ke{constructor(e,t,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this._register(new re),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new $f(this._optionsService))}catch{this._measureStrategy=this._register(new qf(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};jo=Je([oe(2,Tt)],jo);var Cc=class extends ke{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},qf=class extends Cc{constructor(e,t,i){super(),this._document=e,this._parentElement=t,this._optionsService=i,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},$f=class extends Cc{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let t=this._ctx.measureText("W");if(!("width"in t&&"fontBoundingBoxAscent"in t&&"fontBoundingBoxDescent"in t))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText("W");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},Gf=class extends ke{constructor(e,t,i){super(),this._textarea=e,this._window=t,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Kf(this._window)),this._onDprChange=this._register(new re),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new re),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(s=>this._screenDprMonitor.setWindow(s))),this._register(At.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(we(this._textarea,"focus",()=>this._isFocused=!0)),this._register(we(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Kf=class extends ke{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Ks),this._onDprChange=this._register(new re),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(ze(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=we(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var e;this._outerListener&&((e=this._resolutionMediaMatchList)==null||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Jf=class extends ke{constructor(){super(),this.linkProviders=[],this._register(ze(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function Da(e,t,i){let s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue("padding-left")),a=parseInt(r.getPropertyValue("padding-top"));return[t.clientX-s.left-n,t.clientY-s.top-a]}function jf(e,t,i,s,r,n,a,o,h){if(!n)return;let l=Da(e,t,i);if(l)return l[0]=Math.ceil((l[0]+(h?a/2:0))/a),l[1]=Math.ceil(l[1]/o),l[0]=Math.min(Math.max(l[0],1),s+(h?1:0)),l[1]=Math.min(Math.max(l[1],1),r),l}var Yo=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return jf(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){let i=Da(window,e,t);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};Yo=Je([oe(0,Ui),oe(1,Pn)],Yo);var Yf=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=e!==void 0?e:0,t=t!==void 0?t:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,t):t,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},bc={};n_(bc,{getSafariVersion:()=>Xf,isChromeOS:()=>kc,isFirefox:()=>Sc,isIpad:()=>Zf,isIphone:()=>ev,isLegacyEdge:()=>Vf,isLinux:()=>Ma,isMac:()=>bn,isNode:()=>Qn,isSafari:()=>yc,isWindows:()=>xc});var Qn=typeof process<"u"&&"title"in process,Wr=Qn?"node":navigator.userAgent,zr=Qn?"node":navigator.platform,Sc=Wr.includes("Firefox"),Vf=Wr.includes("Edge"),yc=/^((?!chrome|android).)*safari/i.test(Wr);function Xf(){if(!yc)return 0;let e=Wr.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var bn=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(zr),Zf=zr==="iPad",ev=zr==="iPhone",xc=["Windows","Win16","Win32","WinCE"].includes(zr),Ma=zr.indexOf("Linux")>=0,kc=/\bCrOS\b/.test(Wr),Ec=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ir){s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),this._start();return}s=r}this.clear()}},tv=class extends Ec{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},iv=class extends Ec{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Sn=!Qn&&"requestIdleCallback"in window?iv:tv,sv=class{constructor(){this._queue=new Sn}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},Vo=class extends ke{constructor(e,t,i,s,r,n,a,o,h){super(),this._rowCount=e,this._optionsService=i,this._charSizeService=s,this._coreService=r,this._coreBrowserService=o,this._renderer=this._register(new Ks),this._pausedResizeTask=new sv,this._observerDisposable=this._register(new Ks),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new re),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new re),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new re),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new re),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new Yf((l,c)=>this._renderRows(l,c),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new rv(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(ze(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>{var l;return(l=this._renderer.value)==null?void 0:l.clear()})),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(n.onDecorationRegistered(()=>this._fullRefresh())),this._register(n.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(h.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(l=>this._registerIntersectionObserver(l,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){let i=new e.IntersectionObserver(s=>this._handleIntersectionChange(s[s.length-1]),{threshold:0});i.observe(t),this._observerDisposable.value=ze(()=>i.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let s=this._syncOutputHandler.flush();s&&(e=Math.min(e,s.start),t=Math.max(t,s.end)),i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(t=>this.refreshRows(t.start,t.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&((t=(e=this._renderer.value).clearTextureAtlas)==null||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var i;return(i=this._renderer.value)==null?void 0:i.handleResize(e,t)}):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;(e=this._renderer.value)==null||e.handleCharSizeChanged()}handleBlur(){var e;(e=this._renderer.value)==null||e.handleBlur()}handleFocus(){var e;(e=this._renderer.value)==null||e.handleFocus()}handleSelectionChanged(e,t,i){var s;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,(s=this._renderer.value)==null||s.handleSelectionChanged(e,t,i)}handleCursorMove(){var e;(e=this._renderer.value)==null||e.handleCursorMove()}clear(){var e;(e=this._renderer.value)==null||e.clear()}};Vo=Je([oe(2,Tt),oe(3,Pn),oe(4,Ds),oe(5,Hr),oe(6,Rt),oe(7,zi),oe(8,Vs)],Vo);var rv=class{constructor(e,t,i){this._coreBrowserService=e,this._coreService=t,this._onTimeout=i,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function nv(e,t,i,s){let r=i.buffer.x,n=i.buffer.y;if(!i.buffer.hasScrollback)return lv(r,n,e,t,i,s)+On(n,t,i,s)+hv(r,n,e,t,i,s);let a;if(n===t)return a=r>e?"D":"C",Er(Math.abs(r-e),kr(a,s));a=n>t?"D":"C";let o=Math.abs(n-t),h=av(n>t?e:r,i)+(o-1)*i.cols+1+ov(n>t?r:e);return Er(h,kr(a,s))}function ov(e,t){return e-1}function av(e,t){return t.cols-e}function lv(e,t,i,s,r,n){return On(t,s,r,n).length===0?"":Er(Ic(e,t,e,t-Bs(t,r),!1,r).length,kr("D",n))}function On(e,t,i,s){let r=e-Bs(e,i),n=t-Bs(t,i),a=Math.abs(r-n)-cv(e,t,i);return Er(a,kr(Bc(e,t),s))}function hv(e,t,i,s,r,n){let a;On(t,s,r,n).length>0?a=s-Bs(s,r):a=t;let o=s,h=dv(e,t,i,s,r,n);return Er(Ic(e,a,i,o,h==="C",r).length,kr(h,n))}function cv(e,t,i){var a;let s=0,r=e-Bs(e,i),n=t-Bs(t,i);for(let o=0;o=0&&e0?a=s-Bs(s,r):a=t,e=i&&at?"A":"B"}function Ic(e,t,i,s,r,n){let a=e,o=t,h="";for(;(a!==i||o!==s)&&o>=0&&on.cols-1?(h+=n.buffer.translateBufferLineToString(o,!1,e,a),a=0,e=0,o++):!r&&a<0&&(h+=n.buffer.translateBufferLineToString(o,!1,0,e+1),a=n.cols-1,e=a,o--);return h+n.buffer.translateBufferLineToString(o,!1,e,a)}function kr(e,t){let i=t?"O":"[";return j.ESC+i+e}function Er(e,t){e=Math.floor(e);let i="";for(let s=0;sthis._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function bl(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var eo=50,_v=15,fv=50,vv=500,gv=" ",pv=new RegExp(gv,"g"),Xo=class extends ke{constructor(e,t,i,s,r,n,a,o,h){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=a,this._renderService=o,this._coreBrowserService=h,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new li,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new re),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new re),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new re),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new re),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=l=>this._handleMouseMove(l),this._mouseUpListener=l=>this._handleMouseUp(l),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(l=>this._handleTrim(l)),this._register(this._bufferService.buffers.onBufferActivate(l=>this._handleBufferActivate(l))),this.enable(),this._model=new uv(this._bufferService),this._activeSelectionMode=0,this._register(ze(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(l=>{l.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";let i=this._bufferService.buffer,s=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return"";let r=e[0]r.replace(pv," ")).join(xc?`\r -`:` -`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),Ma&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!i||!s||!t?!1:this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){let i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!i||!s?!1:this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){var r,n;let i=(n=(r=this._linkifier.currentLink)==null?void 0:r.link)==null?void 0:n.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=bl(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let s=this._getMouseBufferCoords(e);return s?(this._selectWordAt(s,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=Da(this._coreBrowserService.window,e,this._screenElement)[1],i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-eo),eo),t/=eo,t/Math.abs(t)+Math.round(t*(_v-1)))}shouldForceSelection(e){return bn?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),fv)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(bn&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&tthis._handleTrim(t))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){let r=e.loadCell(s,this._workCell).getChars().length;this._workCell.getWidth()===0?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;let r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;let a=r.translateBufferLineToString(e[1],!1),o=this._convertViewportColToCharacterIndex(n,e[0]),h=o,l=e[0]-o,c=0,d=0,g=0,u=0;if(a.charAt(o)===" "){for(;o>0&&a.charAt(o-1)===" ";)o--;for(;h1&&(u+=x-1,h+=x-1);v>0&&o>0&&!this._isCharWordSeparator(n.loadCell(v-1,this._workCell));){n.loadCell(v-1,this._workCell);let S=this._workCell.getChars().length;this._workCell.getWidth()===0?(c++,v--):S>1&&(g+=S-1,o-=S-1),o--,v--}for(;A1&&(u+=S-1,h+=S-1),h++,A++}}h++;let p=o+l-c+g,_=Math.min(this._bufferService.cols,h-o+c+d-g-u);if(!(!t&&a.slice(o,h).trim()==="")){if(i&&p===0&&n.getCodePoint(0)!==32){let v=r.lines.get(e[1]-1);if(v&&n.isWrapped&&v.getCodePoint(this._bufferService.cols-1)!==32){let A=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(A){let x=this._bufferService.cols-A.start;p-=x,_+=x}}}if(s&&p+_===this._bufferService.cols&&n.getCodePoint(this._bufferService.cols-1)!==32){let v=r.lines.get(e[1]+1);if(v!=null&&v.isWrapped&&v.getCodePoint(0)!==32){let A=this._getWordAt([0,e[1]+1],!1,!1,!0);A&&(_+=A.length)}}return{start:p,length:_}}}_selectWordAt(e,t){let i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=bl(i,this._bufferService.cols)}};Xo=Je([oe(3,Rt),oe(4,Ds),oe(5,Sa),oe(6,Tt),oe(7,Ui),oe(8,zi)],Xo);var Sl=class{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},yl=class{constructor(){this._color=new Sl,this._css=new Sl}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},st=Object.freeze((()=>{let e=[$e.toColor("#2e3436"),$e.toColor("#cc0000"),$e.toColor("#4e9a06"),$e.toColor("#c4a000"),$e.toColor("#3465a4"),$e.toColor("#75507b"),$e.toColor("#06989a"),$e.toColor("#d3d7cf"),$e.toColor("#555753"),$e.toColor("#ef2929"),$e.toColor("#8ae234"),$e.toColor("#fce94f"),$e.toColor("#729fcf"),$e.toColor("#ad7fa8"),$e.toColor("#34e2e2"),$e.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){let s=t[i/36%6|0],r=t[i/6%6|0],n=t[i%6];e.push({css:tt.toCss(s,r,n),rgba:tt.toRgba(s,r,n)})}for(let i=0;i<24;i++){let s=8+i*10;e.push({css:tt.toCss(s,s,s),rgba:tt.toRgba(s,s,s)})}return e})()),cs=$e.toColor("#ffffff"),_r=$e.toColor("#000000"),xl=$e.toColor("#ffffff"),kl=_r,rr={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},mv=cs,Zo=class extends ke{constructor(e){super(),this._optionsService=e,this._contrastCache=new yl,this._halfContrastCache=new yl,this._onChangeColors=this._register(new re),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:cs,background:_r,cursor:xl,cursorAccent:kl,selectionForeground:void 0,selectionBackgroundTransparent:rr,selectionBackgroundOpaque:We.blend(_r,rr),selectionInactiveBackgroundTransparent:rr,selectionInactiveBackgroundOpaque:We.blend(_r,rr),scrollbarSliderBackground:We.opacity(cs,.2),scrollbarSliderHoverBackground:We.opacity(cs,.4),scrollbarSliderActiveBackground:We.opacity(cs,.5),overviewRulerBorder:cs,ansi:st.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=Fe(e.foreground,cs),t.background=Fe(e.background,_r),t.cursor=We.blend(t.background,Fe(e.cursor,xl)),t.cursorAccent=We.blend(t.background,Fe(e.cursorAccent,kl)),t.selectionBackgroundTransparent=Fe(e.selectionBackground,rr),t.selectionBackgroundOpaque=We.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=Fe(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=We.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?Fe(e.selectionForeground,Al):void 0,t.selectionForeground===Al&&(t.selectionForeground=void 0),We.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=We.opacity(t.selectionBackgroundTransparent,.3)),We.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=We.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=Fe(e.scrollbarSliderBackground,We.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=Fe(e.scrollbarSliderHoverBackground,We.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=Fe(e.scrollbarSliderActiveBackground,We.opacity(t.foreground,.5)),t.overviewRulerBorder=Fe(e.overviewRulerBorder,mv),t.ansi=st.slice(),t.ansi[0]=Fe(e.black,st[0]),t.ansi[1]=Fe(e.red,st[1]),t.ansi[2]=Fe(e.green,st[2]),t.ansi[3]=Fe(e.yellow,st[3]),t.ansi[4]=Fe(e.blue,st[4]),t.ansi[5]=Fe(e.magenta,st[5]),t.ansi[6]=Fe(e.cyan,st[6]),t.ansi[7]=Fe(e.white,st[7]),t.ansi[8]=Fe(e.brightBlack,st[8]),t.ansi[9]=Fe(e.brightRed,st[9]),t.ansi[10]=Fe(e.brightGreen,st[10]),t.ansi[11]=Fe(e.brightYellow,st[11]),t.ansi[12]=Fe(e.brightBlue,st[12]),t.ansi[13]=Fe(e.brightMagenta,st[13]),t.ansi[14]=Fe(e.brightCyan,st[14]),t.ansi[15]=Fe(e.brightWhite,st[15]),e.extendedAnsi){let i=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let s=0;sn.index-a.index),s=[];for(let n of i){let a=this._services.get(n.id);if(!a)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${n.id._id}.`);s.push(a)}let r=i.length>0?i[0].index:t.length;if(t.length!==r)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);return new e(...t,...s)}},Cv={trace:0,debug:1,info:2,warn:3,error:4,off:5},bv="xterm.js: ",ea=class extends ke{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Cv[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;tthis._length)for(let t=this._length;t=e;s--)this._array[this._getCyclicIndex(s+i.length)]=this._array[this._getCyclicIndex(s)];for(let s=0;sthis._maxLength){let s=this._length+i.length-this._maxLength;this._startIndex+=s,this._length=this._maxLength,this.onTrimEmitter.fire(s)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let r=t-1;r>=0;r--)this.set(e+r+i,this.get(e+r));let s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s>22,i&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):s]}set(t,i){this._data[t*xe+1]=i[0],i[1].length>1?(this._combined[t]=i[1],this._data[t*xe+0]=t|2097152|i[2]<<22):this._data[t*xe+0]=i[1].charCodeAt(0)|i[2]<<22}getWidth(t){return this._data[t*xe+0]>>22}hasWidth(t){return this._data[t*xe+0]&12582912}getFg(t){return this._data[t*xe+1]}getBg(t){return this._data[t*xe+2]}hasContent(t){return this._data[t*xe+0]&4194303}getCodePoint(t){let i=this._data[t*xe+0];return i&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):i&2097151}isCombined(t){return this._data[t*xe+0]&2097152}getString(t){let i=this._data[t*xe+0];return i&2097152?this._combined[t]:i&2097151?Vi(i&2097151):""}isProtected(t){return this._data[t*xe+2]&536870912}loadCell(t,i){return en=t*xe,i.content=this._data[en+0],i.fg=this._data[en+1],i.bg=this._data[en+2],i.content&2097152&&(i.combinedData=this._combined[t]),i.bg&268435456&&(i.extended=this._extendedAttrs[t]),i}setCell(t,i){i.content&2097152&&(this._combined[t]=i.combinedData),i.bg&268435456&&(this._extendedAttrs[t]=i.extended),this._data[t*xe+0]=i.content,this._data[t*xe+1]=i.fg,this._data[t*xe+2]=i.bg}setCellFromCodepoint(t,i,s,r){r.bg&268435456&&(this._extendedAttrs[t]=r.extended),this._data[t*xe+0]=i|s<<22,this._data[t*xe+1]=r.fg,this._data[t*xe+2]=r.bg}addCodepointToCell(t,i,s){let r=this._data[t*xe+0];r&2097152?this._combined[t]+=Vi(i):r&2097151?(this._combined[t]=Vi(r&2097151)+Vi(i),r&=-2097152,r|=2097152):r=i|1<<22,s&&(r&=-12582913,r|=s<<22),this._data[t*xe+0]=r}insertCells(t,i,s){if(t%=this.length,t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,s),i=0;--n)this.setCell(t+i+n,this.loadCell(t+n,r));for(let n=0;nthis.length){if(this._data.buffer.byteLength>=s*4)this._data=new Uint32Array(this._data.buffer,0,s);else{let r=new Uint32Array(s);r.set(this._data),this._data=r}for(let r=this.length;r=t&&delete this._combined[o]}let n=Object.keys(this._extendedAttrs);for(let a=0;a=t&&delete this._extendedAttrs[o]}}return this.length=t,s*4*to=0;--t)if(this._data[t*xe+0]&4194303)return t+(this._data[t*xe+0]>>22);return 0}getNoBgTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*xe+0]&4194303||this._data[t*xe+2]&50331648)return t+(this._data[t*xe+0]>>22);return 0}copyCellsFrom(t,i,s,r,n){let a=t._data;if(n)for(let h=r-1;h>=0;h--){for(let l=0;l=i&&(this._combined[l-i+s]=t._combined[l])}}translateToString(t,i,s,r){i=i??0,s=s??this.length,t&&(s=Math.min(s,this.getTrimmedLength())),r&&(r.length=0);let n="";for(;i>22||1}return r&&r.push(i),n}};function Sv(e,t,i,s,r,n){let a=[];for(let o=0;o=o&&s0&&(v>d||c[v].getTrimmedLength()===0);v--)_++;_>0&&(a.push(o+c.length-_),a.push(_)),o+=c.length-1}return a}function yv(e,t){let i=[],s=0,r=t[s],n=0;for(let a=0;aBr(e,l,t)).reduce((h,l)=>h+l),n=0,a=0,o=0;for(;oh&&(n-=h,a++);let l=e[a].getWidth(n-1)===2;l&&n--;let c=l?i-1:i;s.push(c),o+=c}return s}function Br(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();let s=!e[t].hasContent(i-1)&&e[t].getWidth(i-1)===1,r=e[t+1].getWidth(0)===2;return s&&r?i-1:i}var Mc=class Lc{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=Lc._nextId++,this._onDispose=this.register(new re),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Es(this._disposables),this._disposables.length=0)}register(t){return this._disposables.push(t),t}};Mc._nextId=1;var Ev=Mc,nt={},ds=nt.B;nt[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};nt.A={"#":"£"};nt.B=void 0;nt[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};nt.C=nt[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};nt.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};nt.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};nt.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};nt.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};nt.E=nt[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};nt.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};nt.H=nt[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};nt["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var Bl=4294967295,Il=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=Ze.clone(),this.savedCharset=ds,this.markers=[],this._nullCell=li.fromCharData([0,jh,1,0]),this._whitespaceCell=li.fromCharData([0,ts,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Sn,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new El(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new An),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new An),this._whitespaceCell}getBlankLine(e,t){return new fr(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&eBl?Bl:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=Ze);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new El(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let i=this.getNullCell(Ze),s=0,r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new fr(e,i)));else for(let a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r0&&(this.lines.trimStart(a),this.ybase=Math.max(this.ybase-a,0),this.ydisp=Math.max(this.ydisp-a,0),this.savedY=Math.max(this.savedY-a,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let n=0;n.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let i=this._optionsService.rawOptions.reflowCursorLine,s=Sv(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(Ze),i);if(s.length>0){let r=yv(this.lines,s);xv(this.lines,r.layout),this._reflowLargerAdjustViewport(e,t,r.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){let s=this.getNullCell(Ze),r=i;for(;r-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;a--){let o=this.lines.get(a);if(!o||!o.isWrapped&&o.getTrimmedLength()<=e)continue;let h=[o];for(;o.isWrapped&&a>0;)o=this.lines.get(--a),h.unshift(o);if(!i){let S=this.ybase+this.y;if(S>=a&&S0&&(r.push({start:a+h.length+n,newLines:u}),n+=u.length),h.push(...u);let p=c.length-1,_=c[p];_===0&&(p--,_=c[p]);let v=h.length-d-1,A=l;for(;v>=0;){let S=Math.min(A,_);if(h[p]===void 0)break;if(h[p].copyCellsFrom(h[v],A-S,_-S,S,!0),_-=S,_===0&&(p--,_=c[p]),A-=S,A===0){v--;let w=Math.max(v,0);A=Br(h,w,this._cols)}}for(let S=0;S0;)this.ybase===0?this.y0){let a=[],o=[];for(let _=0;_=0;_--)if(d&&d.start>l+g){for(let v=d.newLines.length-1;v>=0;v--)this.lines.set(_--,d.newLines[v]);_++,a.push({index:l+1,amount:d.newLines.length}),g+=d.newLines.length,d=r[++c]}else this.lines.set(_,o[l--]);let u=0;for(let _=a.length-1;_>=0;_--)a[_].index+=u,this.lines.onInsertEmitter.fire(a[_]),u+=a[_].amount;let p=Math.max(0,h+n-this.lines.maxLength);p>0&&this.lines.onTrimEmitter.fire(p)}}translateBufferLineToString(e,t,i=0,s){let r=this.lines.get(e);return r?r.translateToString(t,i,s):""}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=i,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(i=>{t.line>=i.index&&(t.line+=i.amount)})),t.register(this.lines.onDelete(i=>{t.line>=i.index&&t.linei.index&&(t.line-=i.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Bv=class extends ke{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new re),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new Il(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new Il(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},Rc=2,Tc=1,ta=class extends ke{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new re),this.onResize=this._onResize.event,this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Rc),this.rows=Math.max(e.rawOptions.rows||0,Tc),this.buffers=this._register(new Bv(e,this)),this._register(this.buffers.onBufferActivate(t=>{this._onScroll.fire(t.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let i=this.cols!==e,s=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:i,rowsChanged:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let i=this.buffer,s;s=this._cachedBlankLine,(!s||s.length!==this.cols||s.getFg(0)!==e.fg||s.getBg(0)!==e.bg)&&(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;let r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(i.scrollTop===0){let a=i.lines.isFull;n===i.lines.length-1?a?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),a?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{let a=n-r+1;i.lines.shiftElements(r+1,a-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t){let i=this.buffer;if(e<0){if(i.ydisp===0)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);let s=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),s!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))}};ta=Je([oe(0,Tt)],ta);var Ps={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:bn,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},Iv=["normal","bold","100","200","300","400","500","600","700","800","900"],Dv=class extends ke{constructor(e){super(),this._onOptionChange=this._register(new re),this.onOptionChange=this._onOptionChange.event;let t={...Ps};for(let i in e)if(i in t)try{let s=e[i];t[i]=this._sanitizeAndValidateOption(i,s)}catch(s){console.error(s)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(ze(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(i=>{i===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(i=>{e.indexOf(i)!==-1&&t()})}_setupOptions(){let e=i=>{if(!(i in Ps))throw new Error(`No option with key "${i}"`);return this.rawOptions[i]},t=(i,s)=>{if(!(i in Ps))throw new Error(`No option with key "${i}"`);s=this._sanitizeAndValidateOption(i,s),this.rawOptions[i]!==s&&(this.rawOptions[i]=s,this._onOptionChange.fire(i))};for(let i in this.rawOptions){let s={get:e.bind(this,i),set:t.bind(this,i)};Object.defineProperty(this.options,i,s)}}_sanitizeAndValidateOption(e,t){switch(e){case"cursorStyle":if(t||(t=Ps[e]),!Mv(t))throw new Error(`"${t}" is not a valid value for ${e}`);break;case"wordSeparator":t||(t=Ps[e]);break;case"fontWeight":case"fontWeightBold":if(typeof t=="number"&&1<=t&&t<=1e3)break;t=Iv.includes(t)?t:Ps[e];break;case"cursorWidth":t=Math.floor(t);case"lineHeight":case"tabStopWidth":if(t<1)throw new Error(`${e} cannot be less than 1, value: ${t}`);break;case"minimumContrastRatio":t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case"scrollback":if(t=Math.min(t,4294967295),t<0)throw new Error(`${e} cannot be less than 0, value: ${t}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(t<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case"rows":case"cols":if(!t&&t!==0)throw new Error(`${e} must be numeric, value: ${t}`);break;case"windowsPty":t=t??{};break}return t}};function Mv(e){return e==="block"||e==="underline"||e==="bar"}function vr(e,t=5){if(typeof e!="object")return e;let i=Array.isArray(e)?[]:{};for(let s in e)i[s]=t<=1?e[s]:e[s]&&vr(e[s],t-1);return i}var Dl=Object.freeze({insertMode:!1}),Ml=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),ia=class extends ke{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new re),this.onData=this._onData.event,this._onUserInput=this._register(new re),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new re),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new re),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=vr(Dl),this.decPrivateModes=vr(Ml)}reset(){this.modes=vr(Dl),this.decPrivateModes=vr(Ml)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace("sending data (codes)",()=>e.split("").map(s=>s.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace("sending binary (codes)",()=>e.split("").map(t=>t.charCodeAt(0))),this._onBinary.fire(e))}};ia=Je([oe(0,Rt),oe(1,ec),oe(2,Tt)],ia);var Ll={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function io(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(i|=64,i|=e.action):(i|=e.button&3,e.button&4&&(i|=64),e.button&8&&(i|=128),e.action===32?i|=32:e.action===0&&!t&&(i|=3)),i}var so=String.fromCharCode,Rl={DEFAULT:e=>{let t=[io(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":`\x1B[M${so(t[0])}${so(t[1])}${so(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${io(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${io(e,!0)};${e.x};${e.y}${t}`}},sa=class extends ke{constructor(e,t,i){super(),this._bufferService=e,this._coreService=t,this._optionsService=i,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new re),this.onProtocolChange=this._onProtocolChange.event;for(let s of Object.keys(Ll))this.addProtocol(s,Ll[s]);for(let s of Object.keys(Rl))this.addEncoding(s,Rl[s]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,i){if(e.deltaY===0||e.shiftKey||t===void 0||i===void 0)return 0;let s=t/i,r=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(r/=s+0,Math.abs(e.deltaY)<50&&(r*=.3),this._wheelPartialScroll+=r,r=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(r*=this._bufferService.rows),r}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};sa=Je([oe(0,Rt),oe(1,Ds),oe(2,Tt)],sa);var ro=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],Lv=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],rt;function Rv(e,t){let i=0,s=t.length-1,r;if(et[s][1])return!1;for(;s>=i;)if(r=i+s>>1,e>t[r][1])i=r+1;else if(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let i=this.wcwidth(e),s=i===0&&t!==0;if(s){let r=_s.extractWidth(t);r===0?s=!1:r>i&&(i=r)}return _s.createPropertyValue(0,i,s)}},_s=class _n{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new re,this.onChange=this._onChange.event;let t=new Tv;this.register(t),this._active=t.version,this._activeProvider=t}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,i,s=!1){return(t&16777215)<<3|(i&3)<<1|(s?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version "${t}"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let i=0,s=0,r=t.length;for(let n=0;n=r)return i+this.wcwidth(a);let l=t.charCodeAt(n);56320<=l&&l<=57343?a=(a-55296)*1024+l-56320+65536:i+=this.wcwidth(l)}let o=this.charProperties(a,s),h=_n.extractWidth(o);_n.extractShouldJoin(o)&&(h-=_n.extractWidth(s)),i+=h,s=o}return i}charProperties(t,i){return this._activeProvider.charProperties(t,i)}},Pv=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function Tl(e){var s;let t=(s=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1))==null?void 0:s.get(e.cols-1),i=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);i&&t&&(i.isWrapped=t[3]!==0&&t[3]!==32)}var nr=2147483647,Qv=256,Pc=class ra{constructor(t=32,i=32){if(this.maxLength=t,this.maxSubParamsLength=i,i>Qv)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(i),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let i=new ra;if(!t.length)return i;for(let s=Array.isArray(t[0])?1:0;s>8,r=this._subParamsIdx[i]&255;r-s>0&&t.push(Array.prototype.slice.call(this._subParams,s,r))}return t}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(t){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>nr?nr:t}addSubParam(t){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=t>nr?nr:t,this._subParamsIdx[this.length-1]++}}hasSubParams(t){return(this._subParamsIdx[t]&255)-(this._subParamsIdx[t]>>8)>0}getSubParams(t){let i=this._subParamsIdx[t]>>8,s=this._subParamsIdx[t]&255;return s-i>0?this._subParams.subarray(i,s):null}getSubParamsAll(){let t={};for(let i=0;i>8,r=this._subParamsIdx[i]&255;r-s>0&&(t[i]=this._subParams.slice(s,r))}return t}addDigit(t){let i;if(this._rejectDigits||!(i=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let s=this._digitIsSub?this._subParams:this.params,r=s[i-1];s[i-1]=~r?Math.min(r*10+t,nr):t}},or=[],Ov=class{constructor(){this._state=0,this._active=or,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let i=this._handlers[e];return i.push(t),{dispose:()=>{let s=i.indexOf(t);s!==-1&&i.splice(s,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=or}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=or,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||or,!this._active.length)this._handlerFb(this._id,"START");else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,i){if(!this._active.length)this._handlerFb(this._id,"PUT",Tn(e,t,i));else for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i)}start(){this.reset(),this._state=1}put(e,t,i){if(this._state!==3){if(this._state===1)for(;t0&&this._put(e,t,i)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",e);else{let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&i===!1){for(;s>=0&&(i=this._active[s].end(e),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}this._active=or,this._id=-1,this._state=0}}},$t=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,i,s){this._hitLimit||(this._data+=Tn(t,i,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let i=!1;if(this._hitLimit)i=!1;else if(t&&(i=this._handler(this._data),i instanceof Promise))return i.then(s=>(this._data="",this._hitLimit=!1,s));return this._data="",this._hitLimit=!1,i}},ar=[],Nv=class{constructor(){this._handlers=Object.create(null),this._active=ar,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=ar}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let i=this._handlers[e];return i.push(t),{dispose:()=>{let s=i.indexOf(t);s!==-1&&i.splice(s,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=ar,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||ar,!this._active.length)this._handlerFb(this._ident,"HOOK",t);else for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(t)}put(e,t,i){if(!this._active.length)this._handlerFb(this._ident,"PUT",Tn(e,t,i));else for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",e);else{let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&i===!1){for(;s>=0&&(i=this._active[s].unhook(e),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}this._active=ar,this._ident=0}},gr=new Pc;gr.addParam(0);var Pl=class{constructor(e){this._handler=e,this._data="",this._params=gr,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():gr,this._data="",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=Tn(e,t,i),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(i=>(this._params=gr,this._data="",this._hitLimit=!1,i));return this._params=gr,this._data="",this._hitLimit=!1,t}},Fv=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;rh),i=(o,h)=>t.slice(o,h),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));let n=i(0,14),a;e.setDefault(1,0),e.addMany(s,0,2,0);for(a in n)e.addMany([24,26,153,154],a,3,0),e.addMany(i(128,144),a,3,0),e.addMany(i(144,152),a,3,0),e.add(156,a,0,0),e.add(27,a,11,1),e.add(157,a,4,8),e.addMany([152,158,159],a,0,7),e.add(155,a,11,3),e.add(144,a,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(oi,0,2,0),e.add(oi,8,5,8),e.add(oi,6,0,6),e.add(oi,11,0,11),e.add(oi,13,13,13),e})(),Wv=class extends ke{constructor(e=Hv){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new Pc,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(t,i,s)=>{},this._executeHandlerFb=t=>{},this._csiHandlerFb=(t,i)=>{},this._escHandlerFb=t=>{},this._errorHandlerFb=t=>t,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(ze(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new Ov),this._dcsParser=this._register(new Nv),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let r=0;rn||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=n}}if(e.final.length!==1)throw new Error("final must be a single byte");let s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join("")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let i=this._identifier(e,[48,126]);this._escHandlers[i]===void 0&&(this._escHandlers[i]=[]);let s=this._escHandlers[i];return s.push(t),{dispose:()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let i=this._identifier(e);this._csiHandlers[i]===void 0&&(this._csiHandlers[i]=[]);let s=this._csiHandlers[i];return s.push(t),{dispose:()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s=0,r=0,n=0,a;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,n=this._parseStack.chunkPos+1;else{if(i===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let o=this._parseStack.handlers,h=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(i===!1&&h>-1){for(;h>=0&&(a=o[h](this._params),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 4:if(i===!1&&h>-1){for(;h>=0&&(a=o[h](),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 6:if(s=e[this._parseStack.chunkPos],a=this._dcsParser.unhook(s!==24&&s!==26,i),a)return a;s===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(s=e[this._parseStack.chunkPos],a=this._oscParser.end(s!==24&&s!==26,i),a)return a;s===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,n=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let o=n;o>4){case 2:for(let g=o+1;;++g){if(g>=t||(s=e[g])<32||s>126&&s=t||(s=e[g])<32||s>126&&s=t||(s=e[g])<32||s>126&&s=t||(s=e[g])<32||s>126&&s=0&&(a=h[l](this._params),a!==!0);l--)if(a instanceof Promise)return this._preserveStack(3,h,l,r,o),a;l<0&&this._csiHandlerFb(this._collect<<8|s,this._params),this.precedingJoinState=0;break;case 8:do switch(s){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(s-48)}while(++o47&&s<60);o--;break;case 9:this._collect<<=8,this._collect|=s;break;case 10:let c=this._escHandlers[this._collect<<8|s],d=c?c.length-1:-1;for(;d>=0&&(a=c[d](),a!==!0);d--)if(a instanceof Promise)return this._preserveStack(4,c,d,r,o),a;d<0&&this._escHandlerFb(this._collect<<8|s),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|s,this._params);break;case 13:for(let g=o+1;;++g)if(g>=t||(s=e[g])===24||s===26||s===27||s>127&&s=t||(s=e[g])<32||s>127&&s>4:n>>8}return s}}function no(e,t){let i=e.toString(16),s=i.length<2?"0"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}function qv(e,t=16){let[i,s,r]=e;return`rgb:${no(i,t)}/${no(s,t)}/${no(r,t)}`}var $v={"(":0,")":1,"*":2,"+":3,"-":1,".":2},ji=131072,Ol=10;function Nl(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Fl=5e3,Hl=0,Gv=class extends ke{constructor(e,t,i,s,r,n,a,o,h=new Wv){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=n,this._coreMouseService=a,this._unicodeService=o,this._parser=h,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new c_,this._utf8Decoder=new d_,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Ze.clone(),this._eraseAttrDataInternal=Ze.clone(),this._onRequestBell=this._register(new re),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new re),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new re),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new re),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new re),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new re),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new re),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new re),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new re),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new re),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new re),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new re),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new re),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new na(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(l=>this._activeBuffer=l.activeBuffer)),this._parser.setCsiHandlerFallback((l,c)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(l),params:c.toArray()})}),this._parser.setEscHandlerFallback(l=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(l)})}),this._parser.setExecuteHandlerFallback(l=>{this._logService.debug("Unknown EXECUTE code: ",{code:l})}),this._parser.setOscHandlerFallback((l,c,d)=>{this._logService.debug("Unknown OSC code: ",{identifier:l,action:c,data:d})}),this._parser.setDcsHandlerFallback((l,c,d)=>{c==="HOOK"&&(d=d.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(l),action:c,payload:d})}),this._parser.setPrintHandler((l,c,d)=>this.print(l,c,d)),this._parser.registerCsiHandler({final:"@"},l=>this.insertChars(l)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},l=>this.scrollLeft(l)),this._parser.registerCsiHandler({final:"A"},l=>this.cursorUp(l)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},l=>this.scrollRight(l)),this._parser.registerCsiHandler({final:"B"},l=>this.cursorDown(l)),this._parser.registerCsiHandler({final:"C"},l=>this.cursorForward(l)),this._parser.registerCsiHandler({final:"D"},l=>this.cursorBackward(l)),this._parser.registerCsiHandler({final:"E"},l=>this.cursorNextLine(l)),this._parser.registerCsiHandler({final:"F"},l=>this.cursorPrecedingLine(l)),this._parser.registerCsiHandler({final:"G"},l=>this.cursorCharAbsolute(l)),this._parser.registerCsiHandler({final:"H"},l=>this.cursorPosition(l)),this._parser.registerCsiHandler({final:"I"},l=>this.cursorForwardTab(l)),this._parser.registerCsiHandler({final:"J"},l=>this.eraseInDisplay(l,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},l=>this.eraseInDisplay(l,!0)),this._parser.registerCsiHandler({final:"K"},l=>this.eraseInLine(l,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},l=>this.eraseInLine(l,!0)),this._parser.registerCsiHandler({final:"L"},l=>this.insertLines(l)),this._parser.registerCsiHandler({final:"M"},l=>this.deleteLines(l)),this._parser.registerCsiHandler({final:"P"},l=>this.deleteChars(l)),this._parser.registerCsiHandler({final:"S"},l=>this.scrollUp(l)),this._parser.registerCsiHandler({final:"T"},l=>this.scrollDown(l)),this._parser.registerCsiHandler({final:"X"},l=>this.eraseChars(l)),this._parser.registerCsiHandler({final:"Z"},l=>this.cursorBackwardTab(l)),this._parser.registerCsiHandler({final:"`"},l=>this.charPosAbsolute(l)),this._parser.registerCsiHandler({final:"a"},l=>this.hPositionRelative(l)),this._parser.registerCsiHandler({final:"b"},l=>this.repeatPrecedingCharacter(l)),this._parser.registerCsiHandler({final:"c"},l=>this.sendDeviceAttributesPrimary(l)),this._parser.registerCsiHandler({prefix:">",final:"c"},l=>this.sendDeviceAttributesSecondary(l)),this._parser.registerCsiHandler({final:"d"},l=>this.linePosAbsolute(l)),this._parser.registerCsiHandler({final:"e"},l=>this.vPositionRelative(l)),this._parser.registerCsiHandler({final:"f"},l=>this.hVPosition(l)),this._parser.registerCsiHandler({final:"g"},l=>this.tabClear(l)),this._parser.registerCsiHandler({final:"h"},l=>this.setMode(l)),this._parser.registerCsiHandler({prefix:"?",final:"h"},l=>this.setModePrivate(l)),this._parser.registerCsiHandler({final:"l"},l=>this.resetMode(l)),this._parser.registerCsiHandler({prefix:"?",final:"l"},l=>this.resetModePrivate(l)),this._parser.registerCsiHandler({final:"m"},l=>this.charAttributes(l)),this._parser.registerCsiHandler({final:"n"},l=>this.deviceStatus(l)),this._parser.registerCsiHandler({prefix:"?",final:"n"},l=>this.deviceStatusPrivate(l)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},l=>this.softReset(l)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},l=>this.setCursorStyle(l)),this._parser.registerCsiHandler({final:"r"},l=>this.setScrollRegion(l)),this._parser.registerCsiHandler({final:"s"},l=>this.saveCursor(l)),this._parser.registerCsiHandler({final:"t"},l=>this.windowOptions(l)),this._parser.registerCsiHandler({final:"u"},l=>this.restoreCursor(l)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},l=>this.insertColumns(l)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},l=>this.deleteColumns(l)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},l=>this.selectProtected(l)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},l=>this.requestMode(l,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},l=>this.requestMode(l,!1)),this._parser.setExecuteHandler(j.BEL,()=>this.bell()),this._parser.setExecuteHandler(j.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(j.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(j.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(j.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(j.BS,()=>this.backspace()),this._parser.setExecuteHandler(j.HT,()=>this.tab()),this._parser.setExecuteHandler(j.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(j.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(dn.IND,()=>this.index()),this._parser.setExecuteHandler(dn.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(dn.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new $t(l=>(this.setTitle(l),this.setIconName(l),!0))),this._parser.registerOscHandler(1,new $t(l=>this.setIconName(l))),this._parser.registerOscHandler(2,new $t(l=>this.setTitle(l))),this._parser.registerOscHandler(4,new $t(l=>this.setOrReportIndexedColor(l))),this._parser.registerOscHandler(8,new $t(l=>this.setHyperlink(l))),this._parser.registerOscHandler(10,new $t(l=>this.setOrReportFgColor(l))),this._parser.registerOscHandler(11,new $t(l=>this.setOrReportBgColor(l))),this._parser.registerOscHandler(12,new $t(l=>this.setOrReportCursorColor(l))),this._parser.registerOscHandler(104,new $t(l=>this.restoreIndexedColor(l))),this._parser.registerOscHandler(110,new $t(l=>this.restoreFgColor(l))),this._parser.registerOscHandler(111,new $t(l=>this.restoreBgColor(l))),this._parser.registerOscHandler(112,new $t(l=>this.restoreCursorColor(l))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let l in nt)this._parser.registerEscHandler({intermediates:"(",final:l},()=>this.selectCharset("("+l)),this._parser.registerEscHandler({intermediates:")",final:l},()=>this.selectCharset(")"+l)),this._parser.registerEscHandler({intermediates:"*",final:l},()=>this.selectCharset("*"+l)),this._parser.registerEscHandler({intermediates:"+",final:l},()=>this.selectCharset("+"+l)),this._parser.registerEscHandler({intermediates:"-",final:l},()=>this.selectCharset("-"+l)),this._parser.registerEscHandler({intermediates:".",final:l},()=>this.selectCharset("."+l)),this._parser.registerEscHandler({intermediates:"/",final:l},()=>this.selectCharset("/"+l));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(l=>(this._logService.error("Parsing error: ",l),l)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new Pl((l,c)=>this.requestStatusString(l,c)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((t,i)=>setTimeout(()=>i("#SLOW_TIMEOUT"),Fl))]).catch(t=>{if(t!=="#SLOW_TIMEOUT")throw t;console.warn(`async parser handler taking longer than ${Fl} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0,a=this._parseStack.paused;if(a){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>ji&&(n=this._parseStack.position+ji)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e=="string"?` "${e}"`:` "${Array.prototype.map.call(e,l=>String.fromCharCode(l)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof e=="string"?e.split("").map(l=>l.charCodeAt(0)):e),this._parseBuffer.lengthji)for(let l=n;l0&&d.getWidth(this._activeBuffer.x-1)===2&&d.setCellFromCodepoint(this._activeBuffer.x-1,0,1,c);let g=this._parser.precedingJoinState;for(let u=t;uo){if(h){let A=d,x=this._activeBuffer.x-v;for(this._activeBuffer.x=v,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),d=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),v>0&&d instanceof fr&&d.copyCellsFrom(A,x,0,v,!1);x=0;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,c);continue}if(l&&(d.insertCells(this._activeBuffer.x,r-v,this._activeBuffer.getNullCell(c)),d.getWidth(o-1)===2&&d.setCellFromCodepoint(o-1,0,1,c)),d.setCellFromCodepoint(this._activeBuffer.x++,s,r,c),r>0)for(;--r;)d.setCellFromCodepoint(this._activeBuffer.x++,0,0,c)}this._parser.precedingJoinState=g,this._activeBuffer.x0&&d.getWidth(this._activeBuffer.x)===0&&!d.hasContent(this._activeBuffer.x)&&d.setCellFromCodepoint(this._activeBuffer.x,0,1,c),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final==="t"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,i=>Nl(i.params[0],this._optionsService.rawOptions.windowOptions)?t(i):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new Pl(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new $t(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){var s;this._restrictCursor(this._bufferService.cols);let i;switch(e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(i=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,i-1);i--&&!((s=this._activeBuffer.lines.get(this._activeBuffer.ybase+i))!=null&&s.getTrimmedLength()););for(;i>=0;i--)this._bufferService.scroll(this._eraseAttrData())}else{for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let r=this._activeBuffer.lines.length-this._bufferService.rows;r>0&&(this._activeBuffer.lines.trimStart(r),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-r,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-r,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let h=o;for(let l=1;l0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(j.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(j.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(j.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(j.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(j.ESC+"[>83;40003;0c")),!0}_is(e){return(this._optionsService.rawOptions.termName+"").indexOf(e)===0}setMode(e){for(let t=0;t(_[_.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",_[_.SET=1]="SET",_[_.RESET=2]="RESET",_[_.PERMANENTLY_SET=3]="PERMANENTLY_SET",_[_.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(void 0||(i={}));let s=this._coreService.decPrivateModes,{activeProtocol:r,activeEncoding:n}=this._coreMouseService,a=this._coreService,{buffers:o,cols:h}=this._bufferService,{active:l,alt:c}=o,d=this._optionsService.rawOptions,g=(_,v)=>(a.triggerDataEvent(`${j.ESC}[${t?"":"?"}${_};${v}$y`),!0),u=_=>_?1:2,p=e.params[0];return t?p===2?g(p,4):p===4?g(p,u(a.modes.insertMode)):p===12?g(p,3):p===20?g(p,u(d.convertEol)):g(p,0):p===1?g(p,u(s.applicationCursorKeys)):p===3?g(p,d.windowOptions.setWinLines?h===80?2:h===132?1:0:0):p===6?g(p,u(s.origin)):p===7?g(p,u(s.wraparound)):p===8?g(p,3):p===9?g(p,u(r==="X10")):p===12?g(p,u(d.cursorBlink)):p===25?g(p,u(!a.isCursorHidden)):p===45?g(p,u(s.reverseWraparound)):p===66?g(p,u(s.applicationKeypad)):p===67?g(p,4):p===1e3?g(p,u(r==="VT200")):p===1002?g(p,u(r==="DRAG")):p===1003?g(p,u(r==="ANY")):p===1004?g(p,u(s.sendFocus)):p===1005?g(p,4):p===1006?g(p,u(n==="SGR")):p===1015?g(p,4):p===1016?g(p,u(n==="SGR_PIXELS")):p===1048?g(p,1):p===47||p===1047||p===1049?g(p,u(l===c)):p===2004?g(p,u(s.bracketedPasteMode)):p===2026?g(p,u(s.synchronizedOutput)):g(p,0)}_updateAttrColor(e,t,i,s,r){return t===2?(e|=50331648,e&=-16777216,e|=Fr.fromColorRGB([i,s,r])):t===5&&(e&=-50331904,e|=33554432|i&255),e}_extractColor(e,t,i){let s=[0,0,-1,0,0,0],r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){let a=e.getSubParams(t+n),o=0;do s[1]===5&&(r=1),s[n+o+1+r]=a[o];while(++o=2||s[1]===2&&n+r>=5)break;s[1]&&(r=1)}while(++n+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=Ze.fg,e.bg=Ze.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,i,s=this._curAttrData;for(let r=0;r=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777216|i-90|8):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777216|i-100|8):i===0?this._processSGR0(s):i===1?s.fg|=134217728:i===3?s.bg|=67108864:i===4?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):i===5?s.fg|=536870912:i===7?s.fg|=67108864:i===8?s.fg|=1073741824:i===9?s.fg|=2147483648:i===2?s.bg|=134217728:i===21?this._processUnderline(2,s):i===22?(s.fg&=-134217729,s.bg&=-134217729):i===23?s.bg&=-67108865:i===24?(s.fg&=-268435457,this._processUnderline(0,s)):i===25?s.fg&=-536870913:i===27?s.fg&=-67108865:i===28?s.fg&=-1073741825:i===29?s.fg&=2147483647:i===39?(s.fg&=-67108864,s.fg|=Ze.fg&16777215):i===49?(s.bg&=-67108864,s.bg|=Ze.bg&16777215):i===38||i===48||i===58?r+=this._extractColor(e,r,s):i===53?s.bg|=1073741824:i===55?s.bg&=-1073741825:i===59?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):i===100?(s.fg&=-67108864,s.fg|=Ze.fg&16777215,s.bg&=-67108864,s.bg|=Ze.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${j.ESC}[0n`);break;case 6:let t=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${j.ESC}[${t};${i}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let t=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${j.ESC}[?${t};${i}R`);break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=Ze.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let i=t%2===1;this._coreService.decPrivateModes.cursorBlink=i}return!0}setScrollRegion(e){let t=e.params[0]||1,i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||i===0)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!Nl(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${j.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Ol&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Ol&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],i=e.split(";");for(;i.length>1;){let s=i.shift(),r=i.shift();if(/^\d+$/.exec(s)){let n=parseInt(s);if(Wl(n))if(r==="?")t.push({type:0,index:n});else{let a=Ql(r);a&&t.push({type:1,index:n,color:a})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(";");if(t===-1)return!0;let i=e.slice(0,t).trim(),s=e.slice(t+1);return s?this._createHyperlink(i,s):i.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let i=e.split(":"),s,r=i.findIndex(n=>n.startsWith("id="));return r!==-1&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let i=e.split(";");for(let s=0;s=this._specialColors.length);++s,++t)if(i[s]==="?")this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=Ql(i[s]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],i=e.split(";");for(let s=0;s=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=Ze.clone(),this._eraseAttrDataInternal=Ze.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new li;e.content=1<<22|69,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${j.ESC}${a}${j.ESC}\\`),!0),s=this._bufferService.buffer,r=this._optionsService.rawOptions;return i(e==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e==='"p'?'P1$r61;1"p':e==="r"?`P1$r${s.scrollTop+1};${s.scrollBottom+1}r`:e==="m"?"P1$r0m":e===" q"?`P1$r${{block:2,underline:4,bar:6}[r.cursorStyle]-(r.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},na=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){ethis.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(Hl=e,e=t,t=Hl),ethis.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};na=Je([oe(0,Rt)],na);function Wl(e){return 0<=e&&e<256}var Kv=5e7,zl=12,Jv=50,jv=class extends ke{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new re),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let i;for(;i=this._writeBuffer.shift();){this._action(i);let s=this._callbacks.shift();s&&s()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>Kv)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let i=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let s=this._writeBuffer[this._bufferOffset],r=this._action(s,t);if(r){let a=o=>performance.now()-i>=zl?setTimeout(()=>this._innerWrite(0,o)):this._innerWrite(i,o);r.catch(o=>(queueMicrotask(()=>{throw o}),Promise.resolve(!1))).then(a);return}let n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=s.length,performance.now()-i>=zl)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Jv&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},oa=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let o=t.addMarker(t.ybase+t.y),h={data:e,id:this._nextId++,lines:[o]};return o.onDispose(()=>this._removeMarkerFromLink(h,o)),this._dataByLinkId.set(h.id,h),h.id}let i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;let n=t.addMarker(t.ybase+t.y),a={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(a,n)),this._entriesWithId.set(a.key,a),this._dataByLinkId.set(a.id,a),a.id}addLineToLink(e,t){let i=this._dataByLinkId.get(e);if(i&&i.lines.every(s=>s.line!==t)){let s=this._bufferService.buffer.addMarker(t);i.lines.push(s),s.onDispose(()=>this._removeMarkerFromLink(i,s))}}getLinkData(e){var t;return(t=this._dataByLinkId.get(e))==null?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let i=e.lines.indexOf(t);i!==-1&&(e.lines.splice(i,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};oa=Je([oe(0,Rt)],oa);var Ul=!1,Yv=class extends ke{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Ks),this._onBinary=this._register(new re),this.onBinary=this._onBinary.event,this._onData=this._register(new re),this.onData=this._onData.event,this._onLineFeed=this._register(new re),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new re),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new re),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new re),this._instantiationService=new wv,this.optionsService=this._register(new Dv(e)),this._instantiationService.setService(Tt,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ta)),this._instantiationService.setService(Rt,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(ea)),this._instantiationService.setService(ec,this._logService),this.coreService=this._register(this._instantiationService.createInstance(ia)),this._instantiationService.setService(Ds,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(sa)),this._instantiationService.setService(Zh,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(_s)),this._instantiationService.setService(v_,this.unicodeService),this._charsetService=this._instantiationService.createInstance(Pv),this._instantiationService.setService(f_,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(oa),this._instantiationService.setService(tc,this._oscLinkService),this._inputHandler=this._register(new Gv(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(At.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(At.forward(this._bufferService.onResize,this._onResize)),this._register(At.forward(this.coreService.onData,this._onData)),this._register(At.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new jv((t,i)=>this._inputHandler.parse(t,i))),this._register(At.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new re),this._onScroll.event(e=>{var t;(t=this._onScrollApi)==null||t.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!Ul&&(this._logService.warn("writeSync is unreliable and will be removed soon."),Ul=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,Rc),t=Math.max(t,Tc),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend==="conpty"&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(Tl.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>(Tl(this._bufferService),!1))),this._windowsWrappingHeuristics.value=ze(()=>{for(let t of e)t.dispose()})}}},Vv={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function Xv(e,t,i,s){var a;let r={type:0,cancel:!1,key:void 0},n=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key==="UIKeyInputUpArrow"?t?r.key=j.ESC+"OA":r.key=j.ESC+"[A":e.key==="UIKeyInputLeftArrow"?t?r.key=j.ESC+"OD":r.key=j.ESC+"[D":e.key==="UIKeyInputRightArrow"?t?r.key=j.ESC+"OC":r.key=j.ESC+"[C":e.key==="UIKeyInputDownArrow"&&(t?r.key=j.ESC+"OB":r.key=j.ESC+"[B");break;case 8:r.key=e.ctrlKey?"\b":j.DEL,e.altKey&&(r.key=j.ESC+r.key);break;case 9:if(e.shiftKey){r.key=j.ESC+"[Z";break}r.key=j.HT,r.cancel=!0;break;case 13:r.key=e.altKey?j.ESC+j.CR:j.CR,r.cancel=!0;break;case 27:r.key=j.ESC,e.altKey&&(r.key=j.ESC+j.ESC),r.cancel=!0;break;case 37:if(e.metaKey)break;n?r.key=j.ESC+"[1;"+(n+1)+"D":t?r.key=j.ESC+"OD":r.key=j.ESC+"[D";break;case 39:if(e.metaKey)break;n?r.key=j.ESC+"[1;"+(n+1)+"C":t?r.key=j.ESC+"OC":r.key=j.ESC+"[C";break;case 38:if(e.metaKey)break;n?r.key=j.ESC+"[1;"+(n+1)+"A":t?r.key=j.ESC+"OA":r.key=j.ESC+"[A";break;case 40:if(e.metaKey)break;n?r.key=j.ESC+"[1;"+(n+1)+"B":t?r.key=j.ESC+"OB":r.key=j.ESC+"[B";break;case 45:!e.shiftKey&&!e.ctrlKey&&(r.key=j.ESC+"[2~");break;case 46:n?r.key=j.ESC+"[3;"+(n+1)+"~":r.key=j.ESC+"[3~";break;case 36:n?r.key=j.ESC+"[1;"+(n+1)+"H":t?r.key=j.ESC+"OH":r.key=j.ESC+"[H";break;case 35:n?r.key=j.ESC+"[1;"+(n+1)+"F":t?r.key=j.ESC+"OF":r.key=j.ESC+"[F";break;case 33:e.shiftKey?r.type=2:e.ctrlKey?r.key=j.ESC+"[5;"+(n+1)+"~":r.key=j.ESC+"[5~";break;case 34:e.shiftKey?r.type=3:e.ctrlKey?r.key=j.ESC+"[6;"+(n+1)+"~":r.key=j.ESC+"[6~";break;case 112:n?r.key=j.ESC+"[1;"+(n+1)+"P":r.key=j.ESC+"OP";break;case 113:n?r.key=j.ESC+"[1;"+(n+1)+"Q":r.key=j.ESC+"OQ";break;case 114:n?r.key=j.ESC+"[1;"+(n+1)+"R":r.key=j.ESC+"OR";break;case 115:n?r.key=j.ESC+"[1;"+(n+1)+"S":r.key=j.ESC+"OS";break;case 116:n?r.key=j.ESC+"[15;"+(n+1)+"~":r.key=j.ESC+"[15~";break;case 117:n?r.key=j.ESC+"[17;"+(n+1)+"~":r.key=j.ESC+"[17~";break;case 118:n?r.key=j.ESC+"[18;"+(n+1)+"~":r.key=j.ESC+"[18~";break;case 119:n?r.key=j.ESC+"[19;"+(n+1)+"~":r.key=j.ESC+"[19~";break;case 120:n?r.key=j.ESC+"[20;"+(n+1)+"~":r.key=j.ESC+"[20~";break;case 121:n?r.key=j.ESC+"[21;"+(n+1)+"~":r.key=j.ESC+"[21~";break;case 122:n?r.key=j.ESC+"[23;"+(n+1)+"~":r.key=j.ESC+"[23~";break;case 123:n?r.key=j.ESC+"[24;"+(n+1)+"~":r.key=j.ESC+"[24~";break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?r.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?r.key=j.NUL:e.keyCode>=51&&e.keyCode<=55?r.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?r.key=j.DEL:e.keyCode===219?r.key=j.ESC:e.keyCode===220?r.key=j.FS:e.keyCode===221&&(r.key=j.GS);else if((!i||s)&&e.altKey&&!e.metaKey){let o=(a=Vv[e.keyCode])==null?void 0:a[e.shiftKey?1:0];if(o)r.key=j.ESC+o;else if(e.keyCode>=65&&e.keyCode<=90){let h=e.ctrlKey?e.keyCode-64:e.keyCode+32,l=String.fromCharCode(h);e.shiftKey&&(l=l.toUpperCase()),r.key=j.ESC+l}else if(e.keyCode===32)r.key=j.ESC+(e.ctrlKey?j.NUL:" ");else if(e.key==="Dead"&&e.code.startsWith("Key")){let h=e.code.slice(3,4);e.shiftKey||(h=h.toLowerCase()),r.key=j.ESC+h,r.cancel=!0}}else i&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(r.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?r.key=e.key:e.key&&e.ctrlKey&&(e.key==="_"&&(r.key=j.US),e.key==="@"&&(r.key=j.NUL));break}return r}var Ye=0,Zv=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Sn,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Sn,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((r,n)=>this._getKey(r)-this._getKey(n)),t=0,i=0,s=new Array(this._array.length+this._insertedValues.length);for(let r=0;r=this._array.length||this._getKey(e[t])<=this._getKey(this._array[i])?(s[r]=e[t],t++):s[r]=this._array[i++];this._array=s,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(Ye=this._search(t),Ye===-1)||this._getKey(this._array[Ye])!==t)return!1;do if(this._array[Ye]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(Ye),!0;while(++Yer-n),t=0,i=new Array(this._array.length-e.length),s=0;for(let r=0;r0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(Ye=this._search(e),!(Ye<0||Ye>=this._array.length)&&this._getKey(this._array[Ye])===e))do yield this._array[Ye];while(++Ye=this._array.length)&&this._getKey(this._array[Ye])===e))do t(this._array[Ye]);while(++Ye=t;){let s=t+i>>1,r=this._getKey(this._array[s]);if(r>e)i=s-1;else if(r0&&this._getKey(this._array[s-1])===e;)s--;return s}}return t}},oo=0,ql=0,eg=class extends ke{constructor(){super(),this._decorations=new Zv(e=>e==null?void 0:e.marker.line),this._onDecorationRegistered=this._register(new re),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new re),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(ze(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new tg(e);if(t){let i=t.marker.onDispose(()=>t.dispose()),s=t.onDispose(()=>{s.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),i.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){let s=0,r=0;for(let n of this._decorations.getKeyIterator(t))s=n.options.x??0,r=s+(n.options.width??1),e>=s&&e{oo=r.options.x??0,ql=oo+(r.options.width??1),e>=oo&&e=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){let r=s-this._lastRefreshMs,n=this._debounceThresholdMS-r;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},n)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},$l=20,yn=class extends ke{constructor(e,t,i,s){super(),this._terminal=e,this._coreBrowserService=i,this._renderService=s,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let r=this._coreBrowserService.mainDocument;this._accessibilityContainer=r.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=r.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let n=0;nthis._handleBoundaryFocus(n,0),this._bottomBoundaryFocusListener=n=>this._handleBoundaryFocus(n,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=r.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new sg(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(n=>this._handleResize(n.rows))),this._register(this._terminal.onRender(n=>this._refreshRows(n.start,n.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(n=>this._handleChar(n))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` -`))),this._register(this._terminal.onA11yTab(n=>this._handleTab(n))),this._register(this._terminal.onKey(n=>this._handleKey(n.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(we(r,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(ze(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===` -`&&(this._liveRegionLineCount++,this._liveRegionLineCount===$l+1&&(this._liveRegion.textContent+=ko.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){let n=i.lines.get(i.ydisp+r),a=[],o=(n==null?void 0:n.translateToString(!0,void 0,void 0,a))||"",h=(i.ydisp+r+1).toString(),l=this._rowElements[r];l&&(o.length===0?(l.textContent=" ",this._rowColumns.set(l,[0,1])):(l.textContent=o,this._rowColumns.set(l,a)),l.setAttribute("aria-posinset",h),l.setAttribute("aria-setsize",s),this._alignRowWidth(l))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,t){let i=e.target,s=this._rowElements[t===0?1:this._rowElements.length-2],r=i.getAttribute("aria-posinset"),n=t===0?"1":`${this._terminal.buffer.lines.length}`;if(r===n||e.relatedTarget!==s)return;let a,o;if(t===0?(a=i,o=this._rowElements.pop(),this._rowContainer.removeChild(o)):(a=this._rowElements.shift(),o=i,this._rowContainer.removeChild(a)),a.removeEventListener("focus",this._topBoundaryFocusListener),o.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){let h=this._createAccessibilityTreeNode();this._rowElements.unshift(h),this._rowContainer.insertAdjacentElement("afterbegin",h)}else{let h=this._createAccessibilityTreeNode();this._rowElements.push(h),this._rowContainer.appendChild(h)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){var o;if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error("anchorNode and/or focusNode are null");return}let t={node:e.anchorNode,offset:e.anchorOffset},i={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===i.node&&t.offset>i.offset)&&([t,i]=[i,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let s=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(s)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:s,offset:((o=s.textContent)==null?void 0:o.length)??0}),!this._rowContainer.contains(i.node))return;let r=({node:h,offset:l})=>{let c=h instanceof Text?h.parentNode:h,d=parseInt(c==null?void 0:c.getAttribute("aria-posinset"),10)-1;if(isNaN(d))return console.warn("row is invalid. Race condition?"),null;let g=this._rowColumns.get(c);if(!g)return console.warn("columns is null. Race condition?"),null;let u=l=this._terminal.cols&&(++d,u=0),{row:d,column:u}},n=r(t),a=r(i);if(!(!n||!a)){if(n.row>a.row||n.row===a.row&&n.column>=a.column)throw new Error("invalid range");this._terminal.select(n.column,n.row,(a.row-n.row)*this._terminal.cols-n.column+a.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;te;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e{var n;Es(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,(n=this._activeProviderReplies)==null||n.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(we(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(we(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(we(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(we(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let i=e.composedPath();for(let s=0;s{n==null||n.forEach(a=>{a.link.dispose&&a.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let i=!1;for(let[n,a]of this._linkProviderService.linkProviders.entries())t?(r=this._activeProviderReplies)!=null&&r.get(n)&&(i=this._checkLinkProviderResult(n,e,i)):a.provideLinks(e.y,o=>{var l,c;if(this._isMouseOut)return;let h=o==null?void 0:o.map(d=>({link:d}));(l=this._activeProviderReplies)==null||l.set(n,h),i=this._checkLinkProviderResult(n,e,i),((c=this._activeProviderReplies)==null?void 0:c.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let i=new Set;for(let s=0;se?this._bufferService.cols:a.link.range.end.x;for(let l=o;l<=h;l++){if(i.has(l)){r.splice(n--,1);break}i.add(l)}}}}_checkLinkProviderResult(e,t,i){var n;if(!this._activeProviderReplies)return i;let s=this._activeProviderReplies.get(e),r=!1;for(let a=0;athis._linkAtPosition(o.link,t));a&&(i=!0,this._handleNewLink(a))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let a=0;athis._linkAtPosition(h.link,t));if(o){i=!0,this._handleNewLink(o);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&rg(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Es(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var i,s;return(s=(i=this._currentLink)==null?void 0:i.state)==null?void 0:s.decorations.pointerCursor},set:i=>{var s;(s=this._currentLink)!=null&&s.state&&this._currentLink.state.decorations.pointerCursor!==i&&(this._currentLink.state.decorations.pointerCursor=i,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",i))}},underline:{get:()=>{var i,s;return(s=(i=this._currentLink)==null?void 0:i.state)==null?void 0:s.decorations.underline},set:i=>{var s,r,n;(s=this._currentLink)!=null&&s.state&&((n=(r=this._currentLink)==null?void 0:r.state)==null?void 0:n.decorations.underline)!==i&&(this._currentLink.state.decorations.underline=i,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,i))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(i=>{if(!this._currentLink)return;let s=i.start===0?0:i.start+1+this._bufferService.buffer.ydisp,r=this._bufferService.buffer.ydisp+1+i.end;if(this._currentLink.link.range.start.y>=s&&this._currentLink.link.range.end.y<=r&&(this._clearCurrentLink(s,r),this._lastMouseEvent)){let n=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);n&&this._askForLink(n,!1)}})))}_linkHover(e,t,i){var s;(s=this._currentLink)!=null&&s.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){let i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){var s;(s=this._currentLink)!=null&&s.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){let i=e.range.start.y*this._bufferService.cols+e.range.start.x,s=e.range.end.y*this._bufferService.cols+e.range.end.x,r=t.y*this._bufferService.cols+t.x;return i<=r&&r<=s}_positionFromMouseEvent(e,t,i){let s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};aa=Je([oe(1,Sa),oe(2,Ui),oe(3,Rt),oe(4,sc)],aa);function rg(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var ng=class extends Yv{constructor(e={}){super(e),this._linkifier=this._register(new Ks),this.browser=bc,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Ks),this._onCursorMove=this._register(new re),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new re),this.onKey=this._onKey.event,this._onRender=this._register(new re),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new re),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new re),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new re),this.onBell=this._onBell.event,this._onFocus=this._register(new re),this._onBlur=this._register(new re),this._onA11yCharEmitter=this._register(new re),this._onA11yTabEmitter=this._register(new re),this._onWillOpen=this._register(new re),this._setup(),this._decorationService=this._instantiationService.createInstance(eg),this._instantiationService.setService(Hr,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Jf),this._instantiationService.setService(sc,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Bo)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(t=>this.refresh((t==null?void 0:t.start)??0,(t==null?void 0:t.end)??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(t=>this._reportWindowsOptions(t))),this._register(this._inputHandler.onColor(t=>this._handleColorEvent(t))),this._register(At.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(At.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(At.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(At.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(t=>this._afterResize(t.cols,t.rows))),this._register(ze(()=>{var t,i;this._customKeyEventHandler=void 0,(i=(t=this.element)==null?void 0:t.parentNode)==null||i.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let i,s="";switch(t.index){case 256:i="foreground",s="10";break;case 257:i="background",s="11";break;case 258:i="cursor",s="12";break;default:i="ansi",s="4;"+t.index}switch(t.type){case 0:let r=We.toColorRGB(i==="ansi"?this._themeService.colors.ansi[t.index]:this._themeService.colors[i]);this.coreService.triggerDataEvent(`${j.ESC}]${s};${qv(r)}${wc.ST}`);break;case 1:if(i==="ansi")this._themeService.modifyColors(n=>n.ansi[t.index]=tt.toColor(...t.color));else{let n=i;this._themeService.modifyColors(a=>a[n]=tt.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(yn,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(j.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var e;return(e=this.textarea)==null?void 0:e.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(j.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.css.cell.height,r=t.getWidth(i),n=this._renderService.dimensions.css.cell.width*r,a=this.buffer.y*this._renderService.dimensions.css.cell.height,o=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=o+"px",this.textarea.style.top=a+"px",this.textarea.style.width=n+"px",this.textarea.style.height=s+"px",this.textarea.style.lineHeight=s+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(we(this.element,"copy",t=>{this.hasSelection()&&l_(t,this._selectionService)}));let e=t=>h_(t,this.textarea,this.coreService,this.optionsService);this._register(we(this.textarea,"paste",e)),this._register(we(this.element,"paste",e)),Sc?this._register(we(this.element,"mousedown",t=>{t.button===2&&tl(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(we(this.element,"contextmenu",t=>{tl(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Ma&&this._register(we(this.element,"auxclick",t=>{t.button===1&&Jh(t,this.textarea,this.screenElement)}))}_bindKeys(){this._register(we(this.textarea,"keyup",e=>this._keyUp(e),!0)),this._register(we(this.textarea,"keydown",e=>this._keyDown(e),!0)),this._register(we(this.textarea,"keypress",e=>this._keyPress(e),!0)),this._register(we(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(we(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this._register(we(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(we(this.textarea,"input",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){var r;if(!e)throw new Error("Terminal requires a parent element.");if(e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((r=this.element)==null?void 0:r.ownerDocument.defaultView)&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(we(this.screenElement,"mousemove",n=>this.updateCursorStyle(n))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let i=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",xo.get()),kc||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>i.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Gf,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(zi,this._coreBrowserService),this._register(we(this.textarea,"focus",n=>this._handleTextAreaFocus(n))),this._register(we(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(jo,this._document,this._helperContainer),this._instantiationService.setService(Pn,this._charSizeService),this._themeService=this._instantiationService.createInstance(Zo),this._instantiationService.setService(Vs,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(Cn),this._instantiationService.setService(ic,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Vo,this.rows,this.screenElement)),this._instantiationService.setService(Ui,this._renderService),this._register(this._renderService.onRenderedViewportChange(n=>this._onRender.fire(n))),this.onResize(n=>this._renderService.resize(n.cols,n.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Go,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Yo),this._instantiationService.setService(Sa,this._mouseService);let s=this._linkifier.value=this._register(this._instantiationService.createInstance(aa,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(qo,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(n=>{super.scrollLines(n,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Xo,this.element,this.screenElement,s)),this._instantiationService.setService(p_,this._selectionService),this._register(this._selectionService.onRequestScrollLines(n=>this.scrollLines(n.amount,n.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(n=>this._renderService.handleSelectionChanged(n.start,n.end,n.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(n=>{this.textarea.value=n,this.textarea.focus(),this.textarea.select()})),this._register(At.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{var n;this._selectionService.refresh(),(n=this._viewport)==null||n.queueSync()})),this._register(this._instantiationService.createInstance($o,this.screenElement)),this._register(we(this.element,"mousedown",n=>this._selectionService.handleMouseDown(n))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(yn,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",n=>this._handleScreenReaderModeOptionChange(n))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(wn,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",n=>{!this._overviewRulerRenderer&&n&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(wn,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Jo,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function i(n){var l,c,d,g,u;let a=e._mouseService.getMouseReportCoords(n,e.screenElement);if(!a)return!1;let o,h;switch(n.overrideType||n.type){case"mousemove":h=32,n.buttons===void 0?(o=3,n.button!==void 0&&(o=n.button<3?n.button:3)):o=n.buttons&1?0:n.buttons&4?1:n.buttons&2?2:3;break;case"mouseup":h=0,o=n.button<3?n.button:3;break;case"mousedown":h=1,o=n.button<3?n.button:3;break;case"wheel":if(e._customWheelEventHandler&&e._customWheelEventHandler(n)===!1)return!1;let p=n.deltaY;if(p===0||e.coreMouseService.consumeWheelEvent(n,(g=(d=(c=(l=e._renderService)==null?void 0:l.dimensions)==null?void 0:c.device)==null?void 0:d.cell)==null?void 0:g.height,(u=e._coreBrowserService)==null?void 0:u.dpr)===0)return!1;h=p<0?0:1,o=4;break;default:return!1}return h===void 0||o===void 0||o>4?!1:e.coreMouseService.triggerMouseEvent({col:a.col,row:a.row,x:a.x,y:a.y,button:o,action:h,ctrl:n.ctrlKey,alt:n.altKey,shift:n.shiftKey})}let s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:n=>(i(n),n.buttons||(this._document.removeEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.removeEventListener("mousemove",s.mousedrag)),this.cancel(n)),wheel:n=>(i(n),this.cancel(n,!0)),mousedrag:n=>{n.buttons&&i(n)},mousemove:n=>{n.buttons||i(n)}};this._register(this.coreMouseService.onProtocolChange(n=>{n?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(n)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),n&8?s.mousemove||(t.addEventListener("mousemove",r.mousemove),s.mousemove=r.mousemove):(t.removeEventListener("mousemove",s.mousemove),s.mousemove=null),n&16?s.wheel||(t.addEventListener("wheel",r.wheel,{passive:!1}),s.wheel=r.wheel):(t.removeEventListener("wheel",s.wheel),s.wheel=null),n&2?s.mouseup||(s.mouseup=r.mouseup):(this._document.removeEventListener("mouseup",s.mouseup),s.mouseup=null),n&4?s.mousedrag||(s.mousedrag=r.mousedrag):(this._document.removeEventListener("mousemove",s.mousedrag),s.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(we(t,"mousedown",n=>{if(n.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(n)))return i(n),s.mouseup&&this._document.addEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.addEventListener("mousemove",s.mousedrag),this.cancel(n)})),this._register(we(t,"wheel",n=>{var a,o,h,l,c;if(!s.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(n)===!1)return!1;if(!this.buffer.hasScrollback){if(n.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(n,(l=(h=(o=(a=e._renderService)==null?void 0:a.dimensions)==null?void 0:o.device)==null?void 0:h.cell)==null?void 0:l.height,(c=e._coreBrowserService)==null?void 0:c.dpr)===0)return this.cancel(n,!0);let d=j.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(n.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(d,!0),this.cancel(n,!0)}}},{passive:!1}))}refresh(e,t){var i;(i=this._renderService)==null||i.refreshRows(e,t)}updateCursorStyle(e){var t;(t=this._selectionService)!=null&&t.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){Kh(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;(e=this._selectionService)==null||e.clearSelection()}selectAll(){var e;(e=this._selectionService)==null||e.selectAll()}selectLines(e,t){var i;(i=this._selectionService)==null||i.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key==="Dead"||e.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let i=Xv(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),i.type===3||i.type===2){let s=this.rows-1;return this.scrollLines(i.type===2?-s:s),this.cancel(e,!0)}if(i.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((i.key===j.ETX||i.key===j.CR)&&(this.textarea.value=""),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState("AltGraph");return t.type==="keypress"?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(og(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType==="insertText"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){var i;(i=this._charSizeService)==null||i.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new li)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}},Gl=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new lg(t)}getNullCell(){return new li}},hg=class extends ke{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new re),this.onBufferChange=this._onBufferChange.event,this._normal=new Gl(this._core.buffers.normal,"normal"),this._alternate=new Gl(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},cg=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,i=>t(i.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(i,s)=>t(i,s.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},dg=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},ug=["cols","rows"],wi=0,_g=class extends ke{constructor(e){super(),this._core=this._register(new ng(e)),this._addonManager=this._register(new ag),this._publicOptions={...this._core.options};let t=s=>this._core.options[s],i=(s,r)=>{this._checkReadonlyOptions(s),this._core.options[s]=r};for(let s in this._core.options){let r={get:t.bind(this,s),set:i.bind(this,s)};Object.defineProperty(this._publicOptions,s,r)}}_checkReadonlyOptions(e){if(ug.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new cg(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new dg(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new hg(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any";break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r -`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return xo.get()},set promptLabel(e){xo.set(e)},get tooMuchOutput(){return ko.get()},set tooMuchOutput(e){ko.set(e)}}}_verifyIntegers(...e){for(wi of e)if(wi===1/0||isNaN(wi)||wi%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(wi of e)if(wi&&(wi===1/0||isNaN(wi)||wi%1!==0||wi<0))throw new Error("This API only accepts positive integers")}},ao={exports:{}},Kl;function fg(){return Kl||(Kl=1,(function(e,t){(function(i,s){e.exports=s()})(self,(()=>(()=>{var i={903:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BaseRenderLayer=void 0;const l=h(274),c=h(627),d=h(237),g=h(860),u=h(374),p=h(296),_=h(345),v=h(859),A=h(399),x=h(855);class S extends v.Disposable{get canvas(){return this._canvas}get cacheCanvas(){var m;return(m=this._charAtlas)==null?void 0:m.pages[0].canvas}constructor(m,C,k,b,D,I,E,B,L,R){super(),this._terminal=m,this._container=C,this._alpha=D,this._themeService=I,this._bufferService=E,this._optionsService=B,this._decorationService=L,this._coreBrowserService=R,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._selectionModel=(0,p.createSelectionRenderModel)(),this._bitmapGenerator=[],this._charAtlasDisposable=this.register(new v.MutableDisposable),this._onAddTextureAtlasCanvas=this.register(new _.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._cellColorResolver=new l.CellColorResolver(this._terminal,this._optionsService,this._selectionModel,this._decorationService,this._coreBrowserService,this._themeService),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${k}-layer`),this._canvas.style.zIndex=b.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._refreshCharAtlas(this._themeService.colors),this.register(this._themeService.onChangeColors((O=>{this._refreshCharAtlas(O),this.reset(),this.handleSelectionChanged(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}))),this.register((0,v.toDisposable)((()=>{this._canvas.remove()})))}_initCanvas(){this._ctx=(0,u.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(){}handleFocus(){}handleCursorMove(){}handleGridChanged(m,C){}handleSelectionChanged(m,C,k=!1){this._selectionModel.update(this._terminal._core,m,C,k)}_setTransparency(m){if(m===this._alpha)return;const C=this._canvas;this._alpha=m,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,C),this._refreshCharAtlas(this._themeService.colors),this.handleGridChanged(0,this._bufferService.rows-1)}_refreshCharAtlas(m){if(!(this._deviceCharWidth<=0&&this._deviceCharHeight<=0)){this._charAtlas=(0,c.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,m,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlasDisposable.value=(0,_.forwardEvent)(this._charAtlas.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),this._charAtlas.warmUp();for(let C=0;C1?this._charAtlas.getRasterizedGlyphCombinedChar(b,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0):this._charAtlas.getRasterizedGlyph(m.getCode()||x.WHITESPACE_CELL_CODE,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0),!E.size.x||!E.size.y)return;this._ctx.save(),this._clipRow(k),this._bitmapGenerator[E.texturePage]&&this._charAtlas.pages[E.texturePage].canvas!==this._bitmapGenerator[E.texturePage].canvas&&((R=(L=this._bitmapGenerator[E.texturePage])==null?void 0:L.bitmap)==null||R.close(),delete this._bitmapGenerator[E.texturePage]),this._charAtlas.pages[E.texturePage].version!==((O=this._bitmapGenerator[E.texturePage])==null?void 0:O.version)&&(this._bitmapGenerator[E.texturePage]||(this._bitmapGenerator[E.texturePage]=new w(this._charAtlas.pages[E.texturePage].canvas)),this._bitmapGenerator[E.texturePage].refresh(),this._bitmapGenerator[E.texturePage].version=this._charAtlas.pages[E.texturePage].version);let B=E.size.x;this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,u.allowRescaling)(D,I,E.size.x,this._deviceCellWidth)&&(B=this._deviceCellWidth-1),this._ctx.drawImage(((Q=this._bitmapGenerator[E.texturePage])==null?void 0:Q.bitmap)||this._charAtlas.pages[E.texturePage].canvas,E.texturePosition.x,E.texturePosition.y,E.size.x,E.size.y,C*this._deviceCellWidth+this._deviceCharLeft-E.offset.x,k*this._deviceCellHeight+this._deviceCharTop-E.offset.y,B,E.size.y),this._ctx.restore()}_clipRow(m){this._ctx.beginPath(),this._ctx.rect(0,m*this._deviceCellHeight,this._bufferService.cols*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(m,C){return`${C?"italic":""} ${m?this._optionsService.rawOptions.fontWeightBold:this._optionsService.rawOptions.fontWeight} ${this._optionsService.rawOptions.fontSize*this._coreBrowserService.dpr}px ${this._optionsService.rawOptions.fontFamily}`}}o.BaseRenderLayer=S;class w{get bitmap(){return this._bitmap}constructor(m){this.canvas=m,this._state=0,this._commitTimeout=void 0,this._bitmap=void 0,this.version=-1}refresh(){var m;(m=this._bitmap)==null||m.close(),this._bitmap=void 0,A.isSafari||(this._commitTimeout===void 0&&(this._commitTimeout=window.setTimeout((()=>this._generate()),100)),this._state===1&&(this._state=2))}_generate(){var m;this._state===0&&((m=this._bitmap)==null||m.close(),this._bitmap=void 0,this._state=1,window.createImageBitmap(this.canvas).then((C=>{this._state===2?this.refresh():this._bitmap=C,this._state=0})),this._commitTimeout&&(this._commitTimeout=void 0))}}},949:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CanvasRenderer=void 0;const l=h(627),c=h(56),d=h(374),g=h(345),u=h(859),p=h(873),_=h(43),v=h(630),A=h(744);class x extends u.Disposable{constructor(w,y,m,C,k,b,D,I,E,B,L){super(),this._terminal=w,this._screenElement=y,this._bufferService=C,this._charSizeService=k,this._optionsService=b,this._coreBrowserService=E,this._themeService=L,this._observerDisposable=this.register(new u.MutableDisposable),this._onRequestRedraw=this.register(new g.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onChangeTextureAtlas=this.register(new g.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new g.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event;const R=this._optionsService.rawOptions.allowTransparency;this._renderLayers=[new A.TextRenderLayer(this._terminal,this._screenElement,0,R,this._bufferService,this._optionsService,D,B,this._coreBrowserService,L),new v.SelectionRenderLayer(this._terminal,this._screenElement,1,this._bufferService,this._coreBrowserService,B,this._optionsService,L),new _.LinkRenderLayer(this._terminal,this._screenElement,2,m,this._bufferService,this._optionsService,B,this._coreBrowserService,L),new p.CursorRenderLayer(this._terminal,this._screenElement,3,this._onRequestRedraw,this._bufferService,this._optionsService,I,this._coreBrowserService,B,L)];for(const O of this._renderLayers)(0,g.forwardEvent)(O.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas);this.dimensions=(0,d.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._observerDisposable.value=(0,c.observeDevicePixelDimensions)(this._renderLayers[0].canvas,this._coreBrowserService.window,((O,Q)=>this._setCanvasDevicePixelDimensions(O,Q))),this.register(this._coreBrowserService.onWindowChange((O=>{this._observerDisposable.value=(0,c.observeDevicePixelDimensions)(this._renderLayers[0].canvas,O,((Q,T)=>this._setCanvasDevicePixelDimensions(Q,T)))}))),this.register((0,u.toDisposable)((()=>{for(const O of this._renderLayers)O.dispose();(0,l.removeTerminalFromCache)(this._terminal)})))}get textureAtlas(){return this._renderLayers[0].cacheCanvas}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._bufferService.cols,this._bufferService.rows))}handleResize(w,y){this._updateDimensions();for(const m of this._renderLayers)m.resize(this.dimensions);this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}handleCharSizeChanged(){this.handleResize(this._bufferService.cols,this._bufferService.rows)}handleBlur(){this._runOperation((w=>w.handleBlur()))}handleFocus(){this._runOperation((w=>w.handleFocus()))}handleSelectionChanged(w,y,m=!1){this._runOperation((C=>C.handleSelectionChanged(w,y,m))),this._themeService.colors.selectionForeground&&this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}handleCursorMove(){this._runOperation((w=>w.handleCursorMove()))}clear(){this._runOperation((w=>w.reset()))}_runOperation(w){for(const y of this._renderLayers)w(y)}renderRows(w,y){for(const m of this._renderLayers)m.handleGridChanged(w,y)}clearTextureAtlas(){for(const w of this._renderLayers)w.clearTextureAtlas()}_updateDimensions(){if(!this._charSizeService.hasValidSize)return;const w=this._coreBrowserService.dpr;this.dimensions.device.char.width=Math.floor(this._charSizeService.width*w),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*w),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._bufferService.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._bufferService.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/w),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/w),this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols}_setCanvasDevicePixelDimensions(w,y){this.dimensions.device.canvas.height=y,this.dimensions.device.canvas.width=w;for(const m of this._renderLayers)m.resize(this.dimensions);this._requestRedrawViewport()}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}}o.CanvasRenderer=x},873:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CursorRenderLayer=void 0;const l=h(457),c=h(859),d=h(399),g=h(782),u=h(903);class p extends u.BaseRenderLayer{constructor(v,A,x,S,w,y,m,C,k,b){super(v,A,"cursor",x,!0,b,w,y,k,C),this._onRequestRedraw=S,this._coreService=m,this._cursorBlinkStateManager=this.register(new c.MutableDisposable),this._cell=new g.CellData,this._state={x:0,y:0,isFocused:!1,style:"",width:0},this._cursorRenderers={bar:this._renderBarCursor.bind(this),block:this._renderBlockCursor.bind(this),underline:this._renderUnderlineCursor.bind(this),outline:this._renderOutlineCursor.bind(this)},this.register(y.onOptionChange((()=>this._handleOptionsChanged()))),this._handleOptionsChanged()}resize(v){super.resize(v),this._state={x:0,y:0,isFocused:!1,style:"",width:0}}reset(){var v;this._clearCursor(),(v=this._cursorBlinkStateManager.value)==null||v.restartBlinkAnimation(),this._handleOptionsChanged()}handleBlur(){var v;(v=this._cursorBlinkStateManager.value)==null||v.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleFocus(){var v;(v=this._cursorBlinkStateManager.value)==null||v.resume(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}_handleOptionsChanged(){this._optionsService.rawOptions.cursorBlink?this._cursorBlinkStateManager.value||(this._cursorBlinkStateManager.value=new l.CursorBlinkStateManager((()=>this._render(!0)),this._coreBrowserService)):this._cursorBlinkStateManager.clear(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleCursorMove(){var v;(v=this._cursorBlinkStateManager.value)==null||v.restartBlinkAnimation()}handleGridChanged(v,A){!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isPaused?this._render(!1):this._cursorBlinkStateManager.value.restartBlinkAnimation()}_render(v){if(!this._coreService.isCursorInitialized||this._coreService.isCursorHidden)return void this._clearCursor();const A=this._bufferService.buffer.ybase+this._bufferService.buffer.y,x=A-this._bufferService.buffer.ydisp;if(x<0||x>=this._bufferService.rows)return void this._clearCursor();const S=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(A).loadCell(S,this._cell),this._cell.content!==void 0){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css;const w=this._optionsService.rawOptions.cursorStyle,y=this._optionsService.rawOptions.cursorInactiveStyle;return y&&y!=="none"&&this._cursorRenderers[y](S,x,this._cell),this._ctx.restore(),this._state.x=S,this._state.y=x,this._state.isFocused=!1,this._state.style=w,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible){if(this._state){if(this._state.x===S&&this._state.y===x&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.rawOptions.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.rawOptions.cursorStyle||"block"](S,x,this._cell),this._ctx.restore(),this._state.x=S,this._state.y=x,this._state.isFocused=!1,this._state.style=this._optionsService.rawOptions.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}_clearCursor(){this._state&&(d.isFirefox||this._coreBrowserService.dpr<1?this._clearAll():this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})}_renderBarCursor(v,A,x){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillLeftLineAtCell(v,A,this._optionsService.rawOptions.cursorWidth),this._ctx.restore()}_renderBlockCursor(v,A,x){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillCells(v,A,x.getWidth(),1),this._ctx.fillStyle=this._themeService.colors.cursorAccent.css,this._fillCharTrueColor(x,v,A),this._ctx.restore()}_renderUnderlineCursor(v,A,x){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillBottomLineAtCells(v,A),this._ctx.restore()}_renderOutlineCursor(v,A,x){this._ctx.save(),this._ctx.strokeStyle=this._themeService.colors.cursor.css,this._strokeRectAtCell(v,A,x.getWidth(),1),this._ctx.restore()}}o.CursorRenderLayer=p},574:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.GridCache=void 0,o.GridCache=class{constructor(){this.cache=[]}resize(h,l){for(let c=0;c{Object.defineProperty(o,"__esModule",{value:!0}),o.LinkRenderLayer=void 0;const l=h(197),c=h(237),d=h(903);class g extends d.BaseRenderLayer{constructor(p,_,v,A,x,S,w,y,m){super(p,_,"link",v,!0,m,x,S,w,y),this.register(A.onShowLinkUnderline((C=>this._handleShowLinkUnderline(C)))),this.register(A.onHideLinkUnderline((C=>this._handleHideLinkUnderline(C))))}resize(p){super.resize(p),this._state=void 0}reset(){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const p=this._state.y2-this._state.y1-1;p>0&&this._clearCells(0,this._state.y1+1,this._state.cols,p),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(p){if(p.fg===c.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:p.fg&&(0,l.is256Color)(p.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[p.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,p.y1===p.y2)this._fillBottomLineAtCells(p.x1,p.y1,p.x2-p.x1);else{this._fillBottomLineAtCells(p.x1,p.y1,p.cols-p.x1);for(let _=p.y1+1;_{Object.defineProperty(o,"__esModule",{value:!0}),o.SelectionRenderLayer=void 0;const l=h(903);class c extends l.BaseRenderLayer{constructor(g,u,p,_,v,A,x,S){super(g,u,"selection",p,!0,S,_,x,A,v),this._clearState()}_clearState(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}}resize(g){super.resize(g),this._selectionModel.selectionStart&&this._selectionModel.selectionEnd&&(this._clearState(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode))}reset(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())}handleBlur(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleFocus(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleSelectionChanged(g,u,p){super.handleSelectionChanged(g,u,p),this._redrawSelection(g,u,p)}_redrawSelection(g,u,p){if(!this._didStateChange(g,u,p,this._bufferService.buffer.ydisp))return;if(this._clearAll(),!g||!u)return void this._clearState();const _=g[1]-this._bufferService.buffer.ydisp,v=u[1]-this._bufferService.buffer.ydisp,A=Math.max(_,0),x=Math.min(v,this._bufferService.rows-1);if(A>=this._bufferService.rows||x<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=(this._coreBrowserService.isFocused?this._themeService.colors.selectionBackgroundTransparent:this._themeService.colors.selectionInactiveBackgroundTransparent).css,p){const S=g[0],w=u[0]-S,y=x-A+1;this._fillCells(S,A,w,y)}else{const S=_===A?g[0]:0,w=A===v?u[0]:this._bufferService.cols;this._fillCells(S,A,w-S,1);const y=Math.max(x-A-1,0);if(this._fillCells(0,A+1,this._bufferService.cols,y),A!==x){const m=v===x?u[0]:this._bufferService.cols;this._fillCells(0,x,m,1)}}this._state.start=[g[0],g[1]],this._state.end=[u[0],u[1]],this._state.columnSelectMode=p,this._state.ydisp=this._bufferService.buffer.ydisp}}_didStateChange(g,u,p,_){return!this._areCoordinatesEqual(g,this._state.start)||!this._areCoordinatesEqual(u,this._state.end)||p!==this._state.columnSelectMode||_!==this._state.ydisp}_areCoordinatesEqual(g,u){return!(!g||!u)&&g[0]===u[0]&&g[1]===u[1]}}o.SelectionRenderLayer=c},744:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TextRenderLayer=void 0;const l=h(577),c=h(147),d=h(782),g=h(855),u=h(903),p=h(574);class _ extends u.BaseRenderLayer{constructor(A,x,S,w,y,m,C,k,b,D){super(A,x,"text",S,w,D,y,m,k,b),this._characterJoinerService=C,this._characterWidth=0,this._characterFont="",this._characterOverlapCache={},this._workCell=new d.CellData,this._state=new p.GridCache,this.register(m.onSpecificOptionChange("allowTransparency",(I=>this._setTransparency(I))))}resize(A){super.resize(A);const x=this._getFont(!1,!1);this._characterWidth===A.device.char.width&&this._characterFont===x||(this._characterWidth=A.device.char.width,this._characterFont=x,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)}reset(){this._state.clear(),this._clearAll()}_forEachCell(A,x,S){for(let w=A;w<=x;w++){const y=w+this._bufferService.buffer.ydisp,m=this._bufferService.buffer.lines.get(y),C=this._characterJoinerService.getJoinedCharacters(y);for(let k=0;k0&&k===C[0][0]){D=!0;const E=C.shift();b=new l.JoinedCellData(this._workCell,m.translateToString(!0,E[0],E[1]),E[1]-E[0]),I=E[1]-1}!D&&this._isOverlapping(b)&&I{let I=null;k.isInverse()?I=k.isFgDefault()?this._themeService.colors.foreground.css:k.isFgRGB()?`rgb(${c.AttributeData.toColorRGB(k.getFgColor()).join(",")})`:this._themeService.colors.ansi[k.getFgColor()].css:k.isBgRGB()?I=`rgb(${c.AttributeData.toColorRGB(k.getBgColor()).join(",")})`:k.isBgPalette()&&(I=this._themeService.colors.ansi[k.getBgColor()].css);let E=!1;this._decorationService.forEachDecorationAtCell(b,this._bufferService.buffer.ydisp+D,void 0,(B=>{B.options.layer!=="top"&&E||(B.backgroundColorRGB&&(I=B.backgroundColorRGB.css),E=B.options.layer==="top")})),C===null&&(y=b,m=D),D!==m?(S.fillStyle=C||"",this._fillCells(y,m,w-y,1),y=b,m=D):C!==I&&(S.fillStyle=C||"",this._fillCells(y,m,b-y,1),y=b,m=D),C=I})),C!==null&&(S.fillStyle=C,this._fillCells(y,m,w-y,1)),S.restore()}_drawForeground(A,x){this._forEachCell(A,x,((S,w,y)=>this._drawChars(S,w,y)))}handleGridChanged(A,x){this._state.cache.length!==0&&(this._charAtlas&&this._charAtlas.beginFrame(),this._clearCells(0,A,this._bufferService.cols,x-A+1),this._drawBackground(A,x),this._drawForeground(A,x))}_isOverlapping(A){if(A.getWidth()!==1||A.getCode()<256)return!1;const x=A.getChars();if(this._characterOverlapCache.hasOwnProperty(x))return this._characterOverlapCache[x];this._ctx.save(),this._ctx.font=this._characterFont;const S=Math.floor(this._ctx.measureText(x).width)>this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[x]=S,S}}o.TextRenderLayer=_},274:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CellColorResolver=void 0;const l=h(855),c=h(160),d=h(374);let g,u=0,p=0,_=!1,v=!1,A=!1,x=0;o.CellColorResolver=class{constructor(S,w,y,m,C,k){this._terminal=S,this._optionService=w,this._selectionRenderModel=y,this._decorationService=m,this._coreBrowserService=C,this._themeService=k,this.result={fg:0,bg:0,ext:0}}resolve(S,w,y,m){if(this.result.bg=S.bg,this.result.fg=S.fg,this.result.ext=268435456&S.bg?S.extended.ext:0,p=0,u=0,v=!1,_=!1,A=!1,g=this._themeService.colors,x=0,S.getCode()!==l.NULL_CELL_CODE&&S.extended.underlineStyle===4){const C=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));x=w*m%(2*Math.round(C))}if(this._decorationService.forEachDecorationAtCell(w,y,"bottom",(C=>{C.backgroundColorRGB&&(p=C.backgroundColorRGB.rgba>>8&16777215,v=!0),C.foregroundColorRGB&&(u=C.foregroundColorRGB.rgba>>8&16777215,_=!0)})),A=this._selectionRenderModel.isCellSelected(this._terminal,w,y),A){if(67108864&this.result.fg||(50331648&this.result.bg)!=0){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:p=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:p=(16777215&this.result.fg)<<8|255;break;default:p=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:p=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:p=(16777215&this.result.bg)<<8|255}p=c.rgba.blend(p,4294967040&(this._coreBrowserService.isFocused?g.selectionBackgroundOpaque:g.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else p=(this._coreBrowserService.isFocused?g.selectionBackgroundOpaque:g.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(v=!0,g.selectionForeground&&(u=g.selectionForeground.rgba>>8&16777215,_=!0),(0,d.treatGlyphAsBackgroundColor)(S.getCode())){if(67108864&this.result.fg&&(50331648&this.result.bg)==0)u=(this._coreBrowserService.isFocused?g.selectionBackgroundOpaque:g.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:u=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:u=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:u=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:u=(16777215&this.result.fg)<<8|255;break;default:u=this._themeService.colors.foreground.rgba}u=c.rgba.blend(u,4294967040&(this._coreBrowserService.isFocused?g.selectionBackgroundOpaque:g.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}_=!0}}this._decorationService.forEachDecorationAtCell(w,y,"top",(C=>{C.backgroundColorRGB&&(p=C.backgroundColorRGB.rgba>>8&16777215,v=!0),C.foregroundColorRGB&&(u=C.foregroundColorRGB.rgba>>8&16777215,_=!0)})),v&&(p=A?-16777216&S.bg&-134217729|p|50331648:-16777216&S.bg|p|50331648),_&&(u=-16777216&S.fg&-67108865|u|50331648),67108864&this.result.fg&&(v&&!_&&(u=(50331648&this.result.bg)==0?-134217728&this.result.fg|16777215&g.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,_=!0),!v&&_&&(p=(50331648&this.result.fg)==0?-67108864&this.result.bg|16777215&g.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,v=!0)),g=void 0,this.result.bg=v?p:this.result.bg,this.result.fg=_?u:this.result.fg,this.result.ext&=536870911,this.result.ext|=x<<29&3758096384}}},627:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.removeTerminalFromCache=o.acquireTextureAtlas=void 0;const l=h(509),c=h(197),d=[];o.acquireTextureAtlas=function(g,u,p,_,v,A,x,S){const w=(0,c.generateConfig)(_,v,A,x,u,p,S);for(let C=0;C=0){if((0,c.configEquals)(k.config,w))return k.atlas;k.ownedBy.length===1?(k.atlas.dispose(),d.splice(C,1)):k.ownedBy.splice(b,1);break}}for(let C=0;C{Object.defineProperty(o,"__esModule",{value:!0}),o.is256Color=o.configEquals=o.generateConfig=void 0;const l=h(160);o.generateConfig=function(c,d,g,u,p,_,v){const A={foreground:_.foreground,background:_.background,cursor:l.NULL_COLOR,cursorAccent:l.NULL_COLOR,selectionForeground:l.NULL_COLOR,selectionBackgroundTransparent:l.NULL_COLOR,selectionBackgroundOpaque:l.NULL_COLOR,selectionInactiveBackgroundTransparent:l.NULL_COLOR,selectionInactiveBackgroundOpaque:l.NULL_COLOR,ansi:_.ansi.slice(),contrastCache:_.contrastCache,halfContrastCache:_.halfContrastCache};return{customGlyphs:p.customGlyphs,devicePixelRatio:v,letterSpacing:p.letterSpacing,lineHeight:p.lineHeight,deviceCellWidth:c,deviceCellHeight:d,deviceCharWidth:g,deviceCharHeight:u,fontFamily:p.fontFamily,fontSize:p.fontSize,fontWeight:p.fontWeight,fontWeightBold:p.fontWeightBold,allowTransparency:p.allowTransparency,drawBoldTextInBrightColors:p.drawBoldTextInBrightColors,minimumContrastRatio:p.minimumContrastRatio,colors:A}},o.configEquals=function(c,d){for(let g=0;g{Object.defineProperty(o,"__esModule",{value:!0}),o.TEXT_BASELINE=o.DIM_OPACITY=o.INVERTED_DEFAULT_COLOR=void 0;const l=h(399);o.INVERTED_DEFAULT_COLOR=257,o.DIM_OPACITY=.5,o.TEXT_BASELINE=l.isFirefox||l.isLegacyEdge?"bottom":"ideographic"},457:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CursorBlinkStateManager=void 0,o.CursorBlinkStateManager=class{constructor(h,l){this._renderCallback=h,this._coreBrowserService=l,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))))}_restartInterval(h=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout((()=>{if(this._animationTimeRestarted){const l=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,l>0)return void this._restartInterval(l)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0})),this._blinkInterval=this._coreBrowserService.window.setInterval((()=>{if(this._animationTimeRestarted){const l=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(l)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))}),600)}),h)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},860:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.tryDrawCustomChar=o.powerlineDefinitions=o.boxDrawingDefinitions=o.blockElementDefinitions=void 0;const l=h(374);o.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const c={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};o.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(_,v)=>`M0,${.5-v} L1,${.5-v} M0,${.5+v} L1,${.5+v}`},"║":{1:(_,v)=>`M${.5-_},0 L${.5-_},1 M${.5+_},0 L${.5+_},1`},"╒":{1:(_,v)=>`M.5,1 L.5,${.5-v} L1,${.5-v} M.5,${.5+v} L1,${.5+v}`},"╓":{1:(_,v)=>`M${.5-_},1 L${.5-_},.5 L1,.5 M${.5+_},.5 L${.5+_},1`},"╔":{1:(_,v)=>`M1,${.5-v} L${.5-_},${.5-v} L${.5-_},1 M1,${.5+v} L${.5+_},${.5+v} L${.5+_},1`},"╕":{1:(_,v)=>`M0,${.5-v} L.5,${.5-v} L.5,1 M0,${.5+v} L.5,${.5+v}`},"╖":{1:(_,v)=>`M${.5+_},1 L${.5+_},.5 L0,.5 M${.5-_},.5 L${.5-_},1`},"╗":{1:(_,v)=>`M0,${.5+v} L${.5-_},${.5+v} L${.5-_},1 M0,${.5-v} L${.5+_},${.5-v} L${.5+_},1`},"╘":{1:(_,v)=>`M.5,0 L.5,${.5+v} L1,${.5+v} M.5,${.5-v} L1,${.5-v}`},"╙":{1:(_,v)=>`M1,.5 L${.5-_},.5 L${.5-_},0 M${.5+_},.5 L${.5+_},0`},"╚":{1:(_,v)=>`M1,${.5-v} L${.5+_},${.5-v} L${.5+_},0 M1,${.5+v} L${.5-_},${.5+v} L${.5-_},0`},"╛":{1:(_,v)=>`M0,${.5+v} L.5,${.5+v} L.5,0 M0,${.5-v} L.5,${.5-v}`},"╜":{1:(_,v)=>`M0,.5 L${.5+_},.5 L${.5+_},0 M${.5-_},.5 L${.5-_},0`},"╝":{1:(_,v)=>`M0,${.5-v} L${.5-_},${.5-v} L${.5-_},0 M0,${.5+v} L${.5+_},${.5+v} L${.5+_},0`},"╞":{1:(_,v)=>`M.5,0 L.5,1 M.5,${.5-v} L1,${.5-v} M.5,${.5+v} L1,${.5+v}`},"╟":{1:(_,v)=>`M${.5-_},0 L${.5-_},1 M${.5+_},0 L${.5+_},1 M${.5+_},.5 L1,.5`},"╠":{1:(_,v)=>`M${.5-_},0 L${.5-_},1 M1,${.5+v} L${.5+_},${.5+v} L${.5+_},1 M1,${.5-v} L${.5+_},${.5-v} L${.5+_},0`},"╡":{1:(_,v)=>`M.5,0 L.5,1 M0,${.5-v} L.5,${.5-v} M0,${.5+v} L.5,${.5+v}`},"╢":{1:(_,v)=>`M0,.5 L${.5-_},.5 M${.5-_},0 L${.5-_},1 M${.5+_},0 L${.5+_},1`},"╣":{1:(_,v)=>`M${.5+_},0 L${.5+_},1 M0,${.5+v} L${.5-_},${.5+v} L${.5-_},1 M0,${.5-v} L${.5-_},${.5-v} L${.5-_},0`},"╤":{1:(_,v)=>`M0,${.5-v} L1,${.5-v} M0,${.5+v} L1,${.5+v} M.5,${.5+v} L.5,1`},"╥":{1:(_,v)=>`M0,.5 L1,.5 M${.5-_},.5 L${.5-_},1 M${.5+_},.5 L${.5+_},1`},"╦":{1:(_,v)=>`M0,${.5-v} L1,${.5-v} M0,${.5+v} L${.5-_},${.5+v} L${.5-_},1 M1,${.5+v} L${.5+_},${.5+v} L${.5+_},1`},"╧":{1:(_,v)=>`M.5,0 L.5,${.5-v} M0,${.5-v} L1,${.5-v} M0,${.5+v} L1,${.5+v}`},"╨":{1:(_,v)=>`M0,.5 L1,.5 M${.5-_},.5 L${.5-_},0 M${.5+_},.5 L${.5+_},0`},"╩":{1:(_,v)=>`M0,${.5+v} L1,${.5+v} M0,${.5-v} L${.5-_},${.5-v} L${.5-_},0 M1,${.5-v} L${.5+_},${.5-v} L${.5+_},0`},"╪":{1:(_,v)=>`M.5,0 L.5,1 M0,${.5-v} L1,${.5-v} M0,${.5+v} L1,${.5+v}`},"╫":{1:(_,v)=>`M0,.5 L1,.5 M${.5-_},0 L${.5-_},1 M${.5+_},0 L${.5+_},1`},"╬":{1:(_,v)=>`M0,${.5+v} L${.5-_},${.5+v} L${.5-_},1 M1,${.5+v} L${.5+_},${.5+v} L${.5+_},1 M0,${.5-v} L${.5-_},${.5-v} L${.5-_},0 M1,${.5-v} L${.5+_},${.5-v} L${.5+_},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"┉":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(_,v)=>`M.5,1 L.5,${.5+v/.15*.5} C.5,${.5+v/.15*.5},.5,.5,1,.5`},"╮":{1:(_,v)=>`M.5,1 L.5,${.5+v/.15*.5} C.5,${.5+v/.15*.5},.5,.5,0,.5`},"╯":{1:(_,v)=>`M.5,0 L.5,${.5-v/.15*.5} C.5,${.5-v/.15*.5},.5,.5,0,.5`},"╰":{1:(_,v)=>`M.5,0 L.5,${.5-v/.15*.5} C.5,${.5-v/.15*.5},.5,.5,1,.5`}},o.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},o.powerlineDefinitions[""]=o.powerlineDefinitions[""],o.powerlineDefinitions[""]=o.powerlineDefinitions[""],o.tryDrawCustomChar=function(_,v,A,x,S,w,y,m){const C=o.blockElementDefinitions[v];if(C)return(function(I,E,B,L,R,O){for(let Q=0;Q7&&parseInt(T.slice(7,9),16)||1;else{if(!T.startsWith("rgba"))throw new Error(`Unexpected fillStyle color format "${T}" when drawing pattern glyph`);[le,ce,ee,q]=T.substring(5,T.length-1).split(",").map((Y=>parseFloat(Y)))}for(let Y=0;Y_.bezierCurveTo(v[0],v[1],v[2],v[3],v[4],v[5]),L:(_,v)=>_.lineTo(v[0],v[1]),M:(_,v)=>_.moveTo(v[0],v[1])};function p(_,v,A,x,S,w,y,m=0,C=0){const k=_.map((b=>parseFloat(b)||parseInt(b)));if(k.length<2)throw new Error("Too few arguments for instruction");for(let b=0;b{Object.defineProperty(o,"__esModule",{value:!0}),o.observeDevicePixelDimensions=void 0;const l=h(859);o.observeDevicePixelDimensions=function(c,d,g){let u=new d.ResizeObserver((p=>{const _=p.find((x=>x.target===c));if(!_)return;if(!("devicePixelContentBoxSize"in _))return u==null||u.disconnect(),void(u=void 0);const v=_.devicePixelContentBoxSize[0].inlineSize,A=_.devicePixelContentBoxSize[0].blockSize;v>0&&A>0&&g(v,A)}));try{u.observe(c,{box:["device-pixel-content-box"]})}catch{u.disconnect(),u=void 0}return(0,l.toDisposable)((()=>u==null?void 0:u.disconnect()))}},374:(a,o)=>{function h(c){return 57508<=c&&c<=57558}function l(c){return c>=128512&&c<=128591||c>=127744&&c<=128511||c>=128640&&c<=128767||c>=9728&&c<=9983||c>=9984&&c<=10175||c>=65024&&c<=65039||c>=129280&&c<=129535||c>=127462&&c<=127487}Object.defineProperty(o,"__esModule",{value:!0}),o.computeNextVariantOffset=o.createRenderDimensions=o.treatGlyphAsBackgroundColor=o.allowRescaling=o.isEmoji=o.isRestrictedPowerlineGlyph=o.isPowerlineGlyph=o.throwIfFalsy=void 0,o.throwIfFalsy=function(c){if(!c)throw new Error("value must not be falsy");return c},o.isPowerlineGlyph=h,o.isRestrictedPowerlineGlyph=function(c){return 57520<=c&&c<=57527},o.isEmoji=l,o.allowRescaling=function(c,d,g,u){return d===1&&g>Math.ceil(1.5*u)&&c!==void 0&&c>255&&!l(c)&&!h(c)&&!(function(p){return 57344<=p&&p<=63743})(c)},o.treatGlyphAsBackgroundColor=function(c){return h(c)||(function(d){return 9472<=d&&d<=9631})(c)},o.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},o.computeNextVariantOffset=function(c,d,g=0){return(c-(2*Math.round(d)-g))%(2*Math.round(d))}},296:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createSelectionRenderModel=void 0;class h{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(c,d,g,u=!1){if(this.selectionStart=d,this.selectionEnd=g,!d||!g||d[0]===g[0]&&d[1]===g[1])return void this.clear();const p=c.buffers.active.ydisp,_=d[1]-p,v=g[1]-p,A=Math.max(_,0),x=Math.min(v,c.rows-1);A>=c.rows||x<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=u,this.viewportStartRow=_,this.viewportEndRow=v,this.viewportCappedStartRow=A,this.viewportCappedEndRow=x,this.startCol=d[0],this.endCol=g[0])}isCellSelected(c,d,g){return!!this.hasSelection&&(g-=c.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?d>=this.startCol&&g>=this.viewportCappedStartRow&&d=this.viewportCappedStartRow&&d>=this.endCol&&g<=this.viewportCappedEndRow:g>this.viewportStartRow&&g=this.startCol&&d=this.startCol)}}o.createSelectionRenderModel=function(){return new h}},509:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TextureAtlas=void 0;const l=h(237),c=h(860),d=h(374),g=h(160),u=h(345),p=h(485),_=h(385),v=h(147),A=h(855),x={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let S;class w{get pages(){return this._pages}constructor(b,D,I){this._document=b,this._config=D,this._unicodeService=I,this._didWarmUp=!1,this._cacheMap=new p.FourKeyMap,this._cacheMapCombined=new p.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new v.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new u.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new u.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=C(b,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,d.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(const b of this.pages)b.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const b=new _.IdleTaskQueue;for(let D=33;D<126;D++)b.enqueue((()=>{if(!this._cacheMap.get(D,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT)){const I=this._drawToCache(D,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT);this._cacheMap.set(D,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT,I)}}))}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(const b of this._pages)b.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(w.maxAtlasPages&&this._pages.length>=Math.max(4,w.maxAtlasPages)){const D=this._pages.filter((Q=>2*Q.canvas.width<=(w.maxTextureSize||4096))).sort(((Q,T)=>T.canvas.width!==Q.canvas.width?T.canvas.width-Q.canvas.width:T.percentageUsed-Q.percentageUsed));let I=-1,E=0;for(let Q=0;QQ.glyphs[0].texturePage)).sort(((Q,T)=>Q>T?1:-1)),R=this.pages.length-B.length,O=this._mergePages(B,R);O.version++;for(let Q=L.length-1;Q>=0;Q--)this._deletePage(L[Q]);this.pages.push(O),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(O.canvas)}const b=new y(this._document,this._textureSize);return this._pages.push(b),this._activePages.push(b),this._onAddTextureAtlasCanvas.fire(b.canvas),b}_mergePages(b,D){const I=2*b[0].canvas.width,E=new y(this._document,I,b);for(const[B,L]of b.entries()){const R=B*L.canvas.width%I,O=Math.floor(B/2)*L.canvas.height;E.ctx.drawImage(L.canvas,R,O);for(const T of L.glyphs)T.texturePage=D,T.sizeClipSpace.x=T.size.x/I,T.sizeClipSpace.y=T.size.y/I,T.texturePosition.x+=R,T.texturePosition.y+=O,T.texturePositionClipSpace.x=T.texturePosition.x/I,T.texturePositionClipSpace.y=T.texturePosition.y/I;this._onRemoveTextureAtlasCanvas.fire(L.canvas);const Q=this._activePages.indexOf(L);Q!==-1&&this._activePages.splice(Q,1)}return E}_deletePage(b){this._pages.splice(b,1);for(let D=b;D=this._config.colors.ansi.length)throw new Error("No color found for idx "+b);return this._config.colors.ansi[b]}_getBackgroundColor(b,D,I,E){if(this._config.allowTransparency)return g.NULL_COLOR;let B;switch(b){case 16777216:case 33554432:B=this._getColorFromAnsiIndex(D);break;case 50331648:const L=v.AttributeData.toColorRGB(D);B=g.channels.toColor(L[0],L[1],L[2]);break;default:B=I?g.color.opaque(this._config.colors.foreground):this._config.colors.background}return B}_getForegroundColor(b,D,I,E,B,L,R,O,Q,T){const z=this._getMinimumContrastColor(b,D,I,E,B,L,R,Q,O,T);if(z)return z;let K;switch(B){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&Q&&L<8&&(L+=8),K=this._getColorFromAnsiIndex(L);break;case 50331648:const ae=v.AttributeData.toColorRGB(L);K=g.channels.toColor(ae[0],ae[1],ae[2]);break;default:K=R?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(K=g.color.opaque(K)),O&&(K=g.color.multiplyOpacity(K,l.DIM_OPACITY)),K}_resolveBackgroundRgba(b,D,I){switch(b){case 16777216:case 33554432:return this._getColorFromAnsiIndex(D).rgba;case 50331648:return D<<8;default:return I?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(b,D,I,E){switch(b){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&E&&D<8&&(D+=8),this._getColorFromAnsiIndex(D).rgba;case 50331648:return D<<8;default:return I?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(b,D,I,E,B,L,R,O,Q,T){if(this._config.minimumContrastRatio===1||T)return;const z=this._getContrastCache(Q),K=z.getColor(b,E);if(K!==void 0)return K||void 0;const ae=this._resolveBackgroundRgba(D,I,R),he=this._resolveForegroundRgba(B,L,R,O),F=g.rgba.ensureContrastRatio(ae,he,this._config.minimumContrastRatio/(Q?2:1));if(!F)return void z.setColor(b,E,null);const V=g.channels.toColor(F>>24&255,F>>16&255,F>>8&255);return z.setColor(b,E,V),V}_getContrastCache(b){return b?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(b,D,I,E,B=!1){const L=typeof b=="number"?String.fromCharCode(b):b,R=Math.min(this._config.deviceCellWidth*Math.max(L.length,2)+4,this._textureSize);this._tmpCanvas.width=de?2*de-gt:de-gt;gt>=de||Pe===0?(this._tmpCtx.setLineDash([Math.round(de),Math.round(de)]),this._tmpCtx.moveTo(De+Pe,Qe),this._tmpCtx.lineTo(Ue,Qe)):(this._tmpCtx.setLineDash([Math.round(de),Math.round(de)]),this._tmpCtx.moveTo(De,Qe),this._tmpCtx.lineTo(De+Pe,Qe),this._tmpCtx.moveTo(De+Pe+de,Qe),this._tmpCtx.lineTo(Ue,Qe)),gt=(0,d.computeNextVariantOffset)(Ue-De,de,gt);break;case 5:const it=.6,$i=.3,Zs=Ue-De,qr=Math.floor(it*Zs),er=Math.floor($i*Zs),$r=Zs-qr-er;this._tmpCtx.setLineDash([qr,er,$r]),this._tmpCtx.moveTo(De,Qe),this._tmpCtx.lineTo(Ue,Qe);break;default:this._tmpCtx.moveTo(De,Qe),this._tmpCtx.lineTo(Ue,Qe)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!_e&&this._config.fontSize>=12&&!this._config.allowTransparency&&L!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";const He=this._tmpCtx.measureText(L);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in He&&He.actualBoundingBoxDescent>0){this._tmpCtx.save();const De=new Path2D;De.rect(Ne,Qe-Math.ceil(de/2),this._config.deviceCellWidth*fe,St-Qe+Math.ceil(de/2)),this._tmpCtx.clip(De),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=q.css,this._tmpCtx.strokeText(L,Z,Z+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(F){const de=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),Ae=de%2==1?.5:0;this._tmpCtx.lineWidth=de,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(Z,Z+Ae),this._tmpCtx.lineTo(Z+this._config.deviceCharWidth*fe,Z+Ae),this._tmpCtx.stroke()}if(_e||this._tmpCtx.fillText(L,Z,Z+this._config.deviceCharHeight),L==="_"&&!this._config.allowTransparency){let de=m(this._tmpCtx.getImageData(Z,Z,this._config.deviceCellWidth,this._config.deviceCellHeight),q,W,me);if(de)for(let Ae=1;Ae<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=q.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(L,Z,Z+this._config.deviceCharHeight-Ae),de=m(this._tmpCtx.getImageData(Z,Z,this._config.deviceCellWidth,this._config.deviceCellHeight),q,W,me),de);Ae++);}if(he){const de=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),Ae=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=de,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(Z,Z+Math.floor(this._config.deviceCharHeight/2)-Ae),this._tmpCtx.lineTo(Z+this._config.deviceCharWidth*fe,Z+Math.floor(this._config.deviceCharHeight/2)-Ae),this._tmpCtx.stroke()}this._tmpCtx.restore();const ye=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let Te;if(Te=this._config.allowTransparency?(function(de){for(let Ae=0;Ae0)return!1;return!0})(ye):m(ye,q,W,me),Te)return x;const ge=this._findGlyphBoundingBox(ye,this._workBoundingBox,R,H,_e,Z);let Ce,be;for(;;){if(this._activePages.length===0){const de=this._createNewPage();Ce=de,be=de.currentRow,be.height=ge.size.y;break}Ce=this._activePages[this._activePages.length-1],be=Ce.currentRow;for(const de of this._activePages)ge.size.y<=de.currentRow.height&&(Ce=de,be=de.currentRow);for(let de=this._activePages.length-1;de>=0;de--)for(const Ae of this._activePages[de].fixedRows)Ae.height<=be.height&&ge.size.y<=Ae.height&&(Ce=this._activePages[de],be=Ae);if(be.y+ge.size.y>=Ce.canvas.height||be.height>ge.size.y+2){let de=!1;if(Ce.currentRow.y+Ce.currentRow.height+ge.size.y>=Ce.canvas.height){let Ae;for(const Ne of this._activePages)if(Ne.currentRow.y+Ne.currentRow.height+ge.size.y=w.maxAtlasPages&&be.y+ge.size.y<=Ce.canvas.height&&be.height>=ge.size.y&&be.x+ge.size.x<=Ce.canvas.width)de=!0;else{const Ne=this._createNewPage();Ce=Ne,be=Ne.currentRow,be.height=ge.size.y,de=!0}}de||(Ce.currentRow.height>0&&Ce.fixedRows.push(Ce.currentRow),be={x:0,y:Ce.currentRow.y+Ce.currentRow.height,height:ge.size.y},Ce.fixedRows.push(be),Ce.currentRow={x:0,y:be.y+be.height,height:0})}if(be.x+ge.size.x<=Ce.canvas.width)break;be===Ce.currentRow?(be.x=0,be.y+=be.height,be.height=0):Ce.fixedRows.splice(Ce.fixedRows.indexOf(be),1)}return ge.texturePage=this._pages.indexOf(Ce),ge.texturePosition.x=be.x,ge.texturePosition.y=be.y,ge.texturePositionClipSpace.x=be.x/Ce.canvas.width,ge.texturePositionClipSpace.y=be.y/Ce.canvas.height,ge.sizeClipSpace.x/=Ce.canvas.width,ge.sizeClipSpace.y/=Ce.canvas.height,be.height=Math.max(be.height,ge.size.y),be.x+=ge.size.x,Ce.ctx.putImageData(ye,ge.texturePosition.x-this._workBoundingBox.left,ge.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,ge.size.x,ge.size.y),Ce.addGlyph(ge),Ce.version++,ge}_findGlyphBoundingBox(b,D,I,E,B,L){D.top=0;const R=E?this._config.deviceCellHeight:this._tmpCanvas.height,O=E?this._config.deviceCellWidth:I;let Q=!1;for(let T=0;T=L;T--){for(let z=0;z=0;T--){for(let z=0;z>>24,B=b.rgba>>>16&255,L=b.rgba>>>8&255,R=D.rgba>>>24,O=D.rgba>>>16&255,Q=D.rgba>>>8&255,T=Math.floor((Math.abs(E-R)+Math.abs(B-O)+Math.abs(L-Q))/12);let z=!0;for(let K=0;K=0;k--)(y=A[k])&&(C=(m<3?y(C):m>3?y(x,S,C):y(x,S))||C);return m>3&&C&&Object.defineProperty(x,S,C),C},c=this&&this.__param||function(A,x){return function(S,w){x(S,w,A)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CharacterJoinerService=o.JoinedCellData=void 0;const d=h(147),g=h(855),u=h(782),p=h(97);class _ extends d.AttributeData{constructor(x,S,w){super(),this.content=0,this.combinedData="",this.fg=x.fg,this.bg=x.bg,this.combinedData=S,this._width=w}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(x){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}o.JoinedCellData=_;let v=o.CharacterJoinerService=class Qc{constructor(x){this._bufferService=x,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new u.CellData}register(x){const S={id:this._nextCharacterJoinerId++,handler:x};return this._characterJoiners.push(S),S.id}deregister(x){for(let S=0;S1){const E=this._getJoinedRanges(y,k,C,S,m);for(let B=0;B1){const I=this._getJoinedRanges(y,k,C,S,m);for(let E=0;E{Object.defineProperty(o,"__esModule",{value:!0}),o.contrastRatio=o.toPaddedHex=o.rgba=o.rgb=o.css=o.color=o.channels=o.NULL_COLOR=void 0;let h=0,l=0,c=0,d=0;var g,u,p,_,v;function A(S){const w=S.toString(16);return w.length<2?"0"+w:w}function x(S,w){return S>>0},S.toColor=function(w,y,m,C){return{css:S.toCss(w,y,m,C),rgba:S.toRgba(w,y,m,C)}}})(g||(o.channels=g={})),(function(S){function w(y,m){return d=Math.round(255*m),[h,l,c]=v.toChannels(y.rgba),{css:g.toCss(h,l,c,d),rgba:g.toRgba(h,l,c,d)}}S.blend=function(y,m){if(d=(255&m.rgba)/255,d===1)return{css:m.css,rgba:m.rgba};const C=m.rgba>>24&255,k=m.rgba>>16&255,b=m.rgba>>8&255,D=y.rgba>>24&255,I=y.rgba>>16&255,E=y.rgba>>8&255;return h=D+Math.round((C-D)*d),l=I+Math.round((k-I)*d),c=E+Math.round((b-E)*d),{css:g.toCss(h,l,c),rgba:g.toRgba(h,l,c)}},S.isOpaque=function(y){return(255&y.rgba)==255},S.ensureContrastRatio=function(y,m,C){const k=v.ensureContrastRatio(y.rgba,m.rgba,C);if(k)return g.toColor(k>>24&255,k>>16&255,k>>8&255)},S.opaque=function(y){const m=(255|y.rgba)>>>0;return[h,l,c]=v.toChannels(m),{css:g.toCss(h,l,c),rgba:m}},S.opacity=w,S.multiplyOpacity=function(y,m){return d=255&y.rgba,w(y,d*m/255)},S.toColorRGB=function(y){return[y.rgba>>24&255,y.rgba>>16&255,y.rgba>>8&255]}})(u||(o.color=u={})),(function(S){let w,y;try{const m=document.createElement("canvas");m.width=1,m.height=1;const C=m.getContext("2d",{willReadFrequently:!0});C&&(w=C,w.globalCompositeOperation="copy",y=w.createLinearGradient(0,0,1,1))}catch{}S.toColor=function(m){if(m.match(/#[\da-f]{3,8}/i))switch(m.length){case 4:return h=parseInt(m.slice(1,2).repeat(2),16),l=parseInt(m.slice(2,3).repeat(2),16),c=parseInt(m.slice(3,4).repeat(2),16),g.toColor(h,l,c);case 5:return h=parseInt(m.slice(1,2).repeat(2),16),l=parseInt(m.slice(2,3).repeat(2),16),c=parseInt(m.slice(3,4).repeat(2),16),d=parseInt(m.slice(4,5).repeat(2),16),g.toColor(h,l,c,d);case 7:return{css:m,rgba:(parseInt(m.slice(1),16)<<8|255)>>>0};case 9:return{css:m,rgba:parseInt(m.slice(1),16)>>>0}}const C=m.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(C)return h=parseInt(C[1]),l=parseInt(C[2]),c=parseInt(C[3]),d=Math.round(255*(C[5]===void 0?1:parseFloat(C[5]))),g.toColor(h,l,c,d);if(!w||!y)throw new Error("css.toColor: Unsupported css format");if(w.fillStyle=y,w.fillStyle=m,typeof w.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(w.fillRect(0,0,1,1),[h,l,c,d]=w.getImageData(0,0,1,1).data,d!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:g.toRgba(h,l,c,d),css:m}}})(p||(o.css=p={})),(function(S){function w(y,m,C){const k=y/255,b=m/255,D=C/255;return .2126*(k<=.03928?k/12.92:Math.pow((k+.055)/1.055,2.4))+.7152*(b<=.03928?b/12.92:Math.pow((b+.055)/1.055,2.4))+.0722*(D<=.03928?D/12.92:Math.pow((D+.055)/1.055,2.4))}S.relativeLuminance=function(y){return w(y>>16&255,y>>8&255,255&y)},S.relativeLuminance2=w})(_||(o.rgb=_={})),(function(S){function w(m,C,k){const b=m>>24&255,D=m>>16&255,I=m>>8&255;let E=C>>24&255,B=C>>16&255,L=C>>8&255,R=x(_.relativeLuminance2(E,B,L),_.relativeLuminance2(b,D,I));for(;R0||B>0||L>0);)E-=Math.max(0,Math.ceil(.1*E)),B-=Math.max(0,Math.ceil(.1*B)),L-=Math.max(0,Math.ceil(.1*L)),R=x(_.relativeLuminance2(E,B,L),_.relativeLuminance2(b,D,I));return(E<<24|B<<16|L<<8|255)>>>0}function y(m,C,k){const b=m>>24&255,D=m>>16&255,I=m>>8&255;let E=C>>24&255,B=C>>16&255,L=C>>8&255,R=x(_.relativeLuminance2(E,B,L),_.relativeLuminance2(b,D,I));for(;R>>0}S.blend=function(m,C){if(d=(255&C)/255,d===1)return C;const k=C>>24&255,b=C>>16&255,D=C>>8&255,I=m>>24&255,E=m>>16&255,B=m>>8&255;return h=I+Math.round((k-I)*d),l=E+Math.round((b-E)*d),c=B+Math.round((D-B)*d),g.toRgba(h,l,c)},S.ensureContrastRatio=function(m,C,k){const b=_.relativeLuminance(m>>8),D=_.relativeLuminance(C>>8);if(x(b,D)>8));if(Lx(b,_.relativeLuminance(R>>8))?B:R}return B}const I=y(m,C,k),E=x(b,_.relativeLuminance(I>>8));if(Ex(b,_.relativeLuminance(B>>8))?I:B}return I}},S.reduceLuminance=w,S.increaseLuminance=y,S.toChannels=function(m){return[m>>24&255,m>>16&255,m>>8&255,255&m]}})(v||(o.rgba=v={})),o.toPaddedHex=A,o.contrastRatio=x},345:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.runAndSubscribe=o.forwardEvent=o.EventEmitter=void 0,o.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=h=>(this._listeners.push(h),{dispose:()=>{if(!this._disposed){for(let l=0;ll.fire(c)))},o.runAndSubscribe=function(h,l){return l(void 0),h((c=>l(c)))}},859:(a,o)=>{function h(l){for(const c of l)c.dispose();l.length=0}Object.defineProperty(o,"__esModule",{value:!0}),o.getDisposeArrayDisposable=o.disposeArray=o.toDisposable=o.MutableDisposable=o.Disposable=void 0,o.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const l of this._disposables)l.dispose();this._disposables.length=0}register(l){return this._disposables.push(l),l}unregister(l){const c=this._disposables.indexOf(l);c!==-1&&this._disposables.splice(c,1)}},o.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(l){var c;this._isDisposed||l===this._value||((c=this._value)==null||c.dispose(),this._value=l)}clear(){this.value=void 0}dispose(){var l;this._isDisposed=!0,(l=this._value)==null||l.dispose(),this._value=void 0}},o.toDisposable=function(l){return{dispose:l}},o.disposeArray=h,o.getDisposeArrayDisposable=function(l){return{dispose:()=>h(l)}}},485:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.FourKeyMap=o.TwoKeyMap=void 0;class h{constructor(){this._data={}}set(c,d,g){this._data[c]||(this._data[c]={}),this._data[c][d]=g}get(c,d){return this._data[c]?this._data[c][d]:void 0}clear(){this._data={}}}o.TwoKeyMap=h,o.FourKeyMap=class{constructor(){this._data=new h}set(l,c,d,g,u){this._data.get(l,c)||this._data.set(l,c,new h),this._data.get(l,c).set(d,g,u)}get(l,c,d,g){var u;return(u=this._data.get(l,c))==null?void 0:u.get(d,g)}clear(){this._data.clear()}}},399:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isChromeOS=o.isLinux=o.isWindows=o.isIphone=o.isIpad=o.isMac=o.getSafariVersion=o.isSafari=o.isLegacyEdge=o.isFirefox=o.isNode=void 0,o.isNode=typeof process<"u"&&"title"in process;const h=o.isNode?"node":navigator.userAgent,l=o.isNode?"node":navigator.platform;o.isFirefox=h.includes("Firefox"),o.isLegacyEdge=h.includes("Edge"),o.isSafari=/^((?!chrome|android).)*safari/i.test(h),o.getSafariVersion=function(){if(!o.isSafari)return 0;const c=h.match(/Version\/(\d+)/);return c===null||c.length<2?0:parseInt(c[1])},o.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(l),o.isIpad=l==="iPad",o.isIphone=l==="iPhone",o.isWindows=["Windows","Win16","Win32","WinCE"].includes(l),o.isLinux=l.indexOf("Linux")>=0,o.isChromeOS=/\bCrOS\b/.test(h)},385:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.DebouncedIdleTask=o.IdleTaskQueue=o.PriorityTaskQueue=void 0;const l=h(399);class c{constructor(){this._tasks=[],this._i=0}enqueue(u){this._tasks.push(u),this._start()}flush(){for(;this._iA)return v-p<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(v-p))}ms`),void this._start();v=A}this.clear()}}class d extends c{_requestCallback(u){return setTimeout((()=>u(this._createDeadline(16))))}_cancelCallback(u){clearTimeout(u)}_createDeadline(u){const p=Date.now()+u;return{timeRemaining:()=>Math.max(0,p-Date.now())}}}o.PriorityTaskQueue=d,o.IdleTaskQueue=!l.isNode&&"requestIdleCallback"in window?class extends c{_requestCallback(g){return requestIdleCallback(g)}_cancelCallback(g){cancelIdleCallback(g)}}:d,o.DebouncedIdleTask=class{constructor(){this._queue=new o.IdleTaskQueue}set(g){this._queue.clear(),this._queue.enqueue(g)}flush(){this._queue.flush()}}},147:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ExtendedAttrs=o.AttributeData=void 0;class h{constructor(){this.fg=0,this.bg=0,this.extended=new l}static toColorRGB(d){return[d>>>16&255,d>>>8&255,255&d]}static fromColorRGB(d){return(255&d[0])<<16|(255&d[1])<<8|255&d[2]}clone(){const d=new h;return d.fg=this.fg,d.bg=this.bg,d.extended=this.extended.clone(),d}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}o.AttributeData=h;class l{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(d){this._ext=d}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(d){this._ext&=-469762049,this._ext|=d<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(d){this._ext&=-67108864,this._ext|=67108863&d}get urlId(){return this._urlId}set urlId(d){this._urlId=d}get underlineVariantOffset(){const d=(3758096384&this._ext)>>29;return d<0?4294967288^d:d}set underlineVariantOffset(d){this._ext&=536870911,this._ext|=d<<29&3758096384}constructor(d=0,g=0){this._ext=0,this._urlId=0,this._ext=d,this._urlId=g}clone(){return new l(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}o.ExtendedAttrs=l},782:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CellData=void 0;const l=h(133),c=h(855),d=h(147);class g extends d.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new d.ExtendedAttrs,this.combinedData=""}static fromCharData(p){const _=new g;return _.setFromCharData(p),_}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,l.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(p){this.fg=p[c.CHAR_DATA_ATTR_INDEX],this.bg=0;let _=!1;if(p[c.CHAR_DATA_CHAR_INDEX].length>2)_=!0;else if(p[c.CHAR_DATA_CHAR_INDEX].length===2){const v=p[c.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=v&&v<=56319){const A=p[c.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=A&&A<=57343?this.content=1024*(v-55296)+A-56320+65536|p[c.CHAR_DATA_WIDTH_INDEX]<<22:_=!0}else _=!0}else this.content=p[c.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|p[c.CHAR_DATA_WIDTH_INDEX]<<22;_&&(this.combinedData=p[c.CHAR_DATA_CHAR_INDEX],this.content=2097152|p[c.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}o.CellData=g},855:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.WHITESPACE_CELL_CODE=o.WHITESPACE_CELL_WIDTH=o.WHITESPACE_CELL_CHAR=o.NULL_CELL_CODE=o.NULL_CELL_WIDTH=o.NULL_CELL_CHAR=o.CHAR_DATA_CODE_INDEX=o.CHAR_DATA_WIDTH_INDEX=o.CHAR_DATA_CHAR_INDEX=o.CHAR_DATA_ATTR_INDEX=o.DEFAULT_EXT=o.DEFAULT_ATTR=o.DEFAULT_COLOR=void 0,o.DEFAULT_COLOR=0,o.DEFAULT_ATTR=256|o.DEFAULT_COLOR<<9,o.DEFAULT_EXT=0,o.CHAR_DATA_ATTR_INDEX=0,o.CHAR_DATA_CHAR_INDEX=1,o.CHAR_DATA_WIDTH_INDEX=2,o.CHAR_DATA_CODE_INDEX=3,o.NULL_CELL_CHAR="",o.NULL_CELL_WIDTH=1,o.NULL_CELL_CODE=0,o.WHITESPACE_CELL_CHAR=" ",o.WHITESPACE_CELL_WIDTH=1,o.WHITESPACE_CELL_CODE=32},133:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Utf8ToUtf32=o.StringToUtf32=o.utf32ToString=o.stringFromCodePoint=void 0,o.stringFromCodePoint=function(h){return h>65535?(h-=65536,String.fromCharCode(55296+(h>>10))+String.fromCharCode(h%1024+56320)):String.fromCharCode(h)},o.utf32ToString=function(h,l=0,c=h.length){let d="";for(let g=l;g65535?(u-=65536,d+=String.fromCharCode(55296+(u>>10))+String.fromCharCode(u%1024+56320)):d+=String.fromCharCode(u)}return d},o.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(h,l){const c=h.length;if(!c)return 0;let d=0,g=0;if(this._interim){const u=h.charCodeAt(g++);56320<=u&&u<=57343?l[d++]=1024*(this._interim-55296)+u-56320+65536:(l[d++]=this._interim,l[d++]=u),this._interim=0}for(let u=g;u=c)return this._interim=p,d;const _=h.charCodeAt(u);56320<=_&&_<=57343?l[d++]=1024*(p-55296)+_-56320+65536:(l[d++]=p,l[d++]=_)}else p!==65279&&(l[d++]=p)}return d}},o.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(h,l){const c=h.length;if(!c)return 0;let d,g,u,p,_=0,v=0,A=0;if(this.interim[0]){let w=!1,y=this.interim[0];y&=(224&y)==192?31:(240&y)==224?15:7;let m,C=0;for(;(m=63&this.interim[++C])&&C<4;)y<<=6,y|=m;const k=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,b=k-C;for(;A=c)return 0;if(m=h[A++],(192&m)!=128){A--,w=!0;break}this.interim[C++]=m,y<<=6,y|=63&m}w||(k===2?y<128?A--:l[_++]=y:k===3?y<2048||y>=55296&&y<=57343||y===65279||(l[_++]=y):y<65536||y>1114111||(l[_++]=y)),this.interim.fill(0)}const x=c-4;let S=A;for(;S=c)return this.interim[0]=d,_;if(g=h[S++],(192&g)!=128){S--;continue}if(v=(31&d)<<6|63&g,v<128){S--;continue}l[_++]=v}else if((240&d)==224){if(S>=c)return this.interim[0]=d,_;if(g=h[S++],(192&g)!=128){S--;continue}if(S>=c)return this.interim[0]=d,this.interim[1]=g,_;if(u=h[S++],(192&u)!=128){S--;continue}if(v=(15&d)<<12|(63&g)<<6|63&u,v<2048||v>=55296&&v<=57343||v===65279)continue;l[_++]=v}else if((248&d)==240){if(S>=c)return this.interim[0]=d,_;if(g=h[S++],(192&g)!=128){S--;continue}if(S>=c)return this.interim[0]=d,this.interim[1]=g,_;if(u=h[S++],(192&u)!=128){S--;continue}if(S>=c)return this.interim[0]=d,this.interim[1]=g,this.interim[2]=u,_;if(p=h[S++],(192&p)!=128){S--;continue}if(v=(7&d)<<18|(63&g)<<12|(63&u)<<6|63&p,v<65536||v>1114111)continue;l[_++]=v}}return _}}},776:function(a,o,h){var l=this&&this.__decorate||function(v,A,x,S){var w,y=arguments.length,m=y<3?A:S===null?S=Object.getOwnPropertyDescriptor(A,x):S;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(v,A,x,S);else for(var C=v.length-1;C>=0;C--)(w=v[C])&&(m=(y<3?w(m):y>3?w(A,x,m):w(A,x))||m);return y>3&&m&&Object.defineProperty(A,x,m),m},c=this&&this.__param||function(v,A){return function(x,S){A(x,S,v)}};Object.defineProperty(o,"__esModule",{value:!0}),o.traceCall=o.setTraceLogger=o.LogService=void 0;const d=h(859),g=h(97),u={trace:g.LogLevelEnum.TRACE,debug:g.LogLevelEnum.DEBUG,info:g.LogLevelEnum.INFO,warn:g.LogLevelEnum.WARN,error:g.LogLevelEnum.ERROR,off:g.LogLevelEnum.OFF};let p,_=o.LogService=class extends d.Disposable{get logLevel(){return this._logLevel}constructor(v){super(),this._optionsService=v,this._logLevel=g.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),p=this}_updateLogLevel(){this._logLevel=u[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(v){for(let A=0;AJSON.stringify(m))).join(", ")})`);const y=S.apply(this,w);return p.trace(`GlyphRenderer#${S.name} return`,y),y}}},726:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createDecorator=o.getServiceDependencies=o.serviceRegistry=void 0;const h="di$target",l="di$dependencies";o.serviceRegistry=new Map,o.getServiceDependencies=function(c){return c[l]||[]},o.createDecorator=function(c){if(o.serviceRegistry.has(c))return o.serviceRegistry.get(c);const d=function(g,u,p){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(_,v,A){v[h]===v?v[l].push({id:_,index:A}):(v[l]=[{id:_,index:A}],v[h]=v)})(d,g,p)};return d.toString=()=>c,o.serviceRegistry.set(c,d),d}},97:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.IDecorationService=o.IUnicodeService=o.IOscLinkService=o.IOptionsService=o.ILogService=o.LogLevelEnum=o.IInstantiationService=o.ICharsetService=o.ICoreService=o.ICoreMouseService=o.IBufferService=void 0;const l=h(726);var c;o.IBufferService=(0,l.createDecorator)("BufferService"),o.ICoreMouseService=(0,l.createDecorator)("CoreMouseService"),o.ICoreService=(0,l.createDecorator)("CoreService"),o.ICharsetService=(0,l.createDecorator)("CharsetService"),o.IInstantiationService=(0,l.createDecorator)("InstantiationService"),(function(d){d[d.TRACE=0]="TRACE",d[d.DEBUG=1]="DEBUG",d[d.INFO=2]="INFO",d[d.WARN=3]="WARN",d[d.ERROR=4]="ERROR",d[d.OFF=5]="OFF"})(c||(o.LogLevelEnum=c={})),o.ILogService=(0,l.createDecorator)("LogService"),o.IOptionsService=(0,l.createDecorator)("OptionsService"),o.IOscLinkService=(0,l.createDecorator)("OscLinkService"),o.IUnicodeService=(0,l.createDecorator)("UnicodeService"),o.IDecorationService=(0,l.createDecorator)("DecorationService")}},s={};function r(a){var o=s[a];if(o!==void 0)return o.exports;var h=s[a]={exports:{}};return i[a].call(h.exports,h,h.exports,r),h.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.CanvasAddon=void 0;const o=r(345),h=r(859),l=r(776),c=r(949);class d extends h.Disposable{constructor(){super(...arguments),this._onChangeTextureAtlas=this.register(new o.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new o.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event}get textureAtlas(){var u;return(u=this._renderer)==null?void 0:u.textureAtlas}activate(u){const p=u._core;if(!u.element)return void this.register(p.onWillOpen((()=>this.activate(u))));this._terminal=u;const _=p.coreService,v=p.optionsService,A=p.screenElement,x=p.linkifier,S=p,w=S._bufferService,y=S._renderService,m=S._characterJoinerService,C=S._charSizeService,k=S._coreBrowserService,b=S._decorationService,D=S._logService,I=S._themeService;(0,l.setTraceLogger)(D),this._renderer=new c.CanvasRenderer(u,A,x,w,C,v,m,_,k,b,I),this.register((0,o.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,o.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),y.setRenderer(this._renderer),y.handleResize(w.cols,w.rows),this.register((0,h.toDisposable)((()=>{var E;y.setRenderer(this._terminal._core._createRenderer()),y.handleResize(u.cols,u.rows),(E=this._renderer)==null||E.dispose(),this._renderer=void 0})))}clearTextureAtlas(){var u;(u=this._renderer)==null||u.clearTextureAtlas()}}a.CanvasAddon=d})(),n})()))})(ao)),ao.exports}var vg=fg();/** - * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. - * @license MIT - * - * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) - * @license MIT - * - * Originally forked from (with the author's permission): - * Fabrice Bellard's javascript vt100 for jslinux: - * http://bellard.org/jslinux/ - * Copyright (c) 2011 Fabrice Bellard - */var gg=2,pg=1,mg=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var d;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:((d=this._terminal.options.overviewRuler)==null?void 0:d.width)||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),a={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},o=a.top+a.bottom,h=a.right+a.left,l=s-o,c=r-h-t;return{cols:Math.max(gg,Math.floor(c/e.css.cell.width)),rows:Math.max(pg,Math.floor(l/e.css.cell.height))}}};/** - * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. - * @license MIT - * - * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) - * @license MIT - * - * Originally forked from (with the author's permission): - * Fabrice Bellard's javascript vt100 for jslinux: - * http://bellard.org/jslinux/ - * Copyright (c) 2011 Fabrice Bellard - */var Ag=Object.create,Oc=Object.defineProperty,wg=Object.getOwnPropertyDescriptor,Cg=Object.getOwnPropertyNames,bg=Object.getPrototypeOf,Sg=Object.prototype.hasOwnProperty,Ur=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),yg=(e,t,i,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of Cg(t))!Sg.call(e,r)&&r!==i&&Oc(e,r,{get:()=>t[r],enumerable:!(s=wg(t,r))||s.enumerable});return e},Nn=(e,t,i)=>(i=e!=null?Ag(bg(e)):{},yg(!e||!e.__esModule?Oc(i,"default",{value:e,enumerable:!0}):i,e)),La=Ur(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_FOREGROUND=e.DEFAULT_BACKGROUND=e.PALETTE_ANSI_256=e.PALETTE_VT340_GREY=e.PALETTE_VT340_COLOR=e.normalizeHLS=e.normalizeRGB=e.nearestColorIndex=e.fromRGBA8888=e.toRGBA8888=e.alpha=e.blue=e.green=e.red=e.BIG_ENDIAN=void 0,e.BIG_ENDIAN=new Uint8Array(new Uint32Array([4278190080]).buffer)[0]===255,e.BIG_ENDIAN&&console.warn("BE platform detected. This version of node-sixel works only on LE properly.");function t(u){return u&255}e.red=t;function i(u){return u>>>8&255}e.green=i;function s(u){return u>>>16&255}e.blue=s;function r(u){return u>>>24&255}e.alpha=r;function n(u,p,_,v=255){return((v&255)<<24|(_&255)<<16|(p&255)<<8|u&255)>>>0}e.toRGBA8888=n;function a(u){return[u&255,u>>8&255,u>>16&255,u>>>24]}e.fromRGBA8888=a;function o(u,p){let _=t(u),v=i(u),A=s(u),x=Number.MAX_SAFE_INTEGER,S=-1;for(let w=0;w1&&(_-=1),_*6<1?p+(u-p)*6*_:_*2<1?u:_*3<2?p+(u-p)*(4-_*6):p}function c(u,p,_){if(!_){let x=Math.round(p*255);return n(x,x,x)}let v=p<.5?p*(1+_):p+_-p*_,A=2*p-v;return n(h(0,255,Math.round(l(v,A,u+1/3)*255)),h(0,255,Math.round(l(v,A,u)*255)),h(0,255,Math.round(l(v,A,u-1/3)*255)))}function d(u,p,_){return(4278190080|Math.round(_/100*255)<<16|Math.round(p/100*255)<<8|Math.round(u/100*255))>>>0}e.normalizeRGB=d;function g(u,p,_){return c((u+240%360)/360,p/100,_/100)}e.normalizeHLS=g,e.PALETTE_VT340_COLOR=new Uint32Array([d(0,0,0),d(20,20,80),d(80,13,13),d(20,80,20),d(80,20,80),d(20,80,80),d(80,80,20),d(53,53,53),d(26,26,26),d(33,33,60),d(60,26,26),d(33,60,33),d(60,33,60),d(33,60,60),d(60,60,33),d(80,80,80)]),e.PALETTE_VT340_GREY=new Uint32Array([d(0,0,0),d(13,13,13),d(26,26,26),d(40,40,40),d(6,6,6),d(20,20,20),d(33,33,33),d(46,46,46),d(0,0,0),d(13,13,13),d(26,26,26),d(40,40,40),d(6,6,6),d(20,20,20),d(33,33,33),d(46,46,46)]),e.PALETTE_ANSI_256=(()=>{let u=[n(0,0,0),n(205,0,0),n(0,205,0),n(205,205,0),n(0,0,238),n(205,0,205),n(0,250,205),n(229,229,229),n(127,127,127),n(255,0,0),n(0,255,0),n(255,255,0),n(92,92,255),n(255,0,255),n(0,255,255),n(255,255,255)],p=[0,95,135,175,215,255];for(let _=0;_<6;++_)for(let v=0;v<6;++v)for(let A=0;A<6;++A)u.push(n(p[_],p[v],p[A]));for(let _=8;_<=238;_+=10)u.push(n(_,_,_));return new Uint32Array(u)})(),e.DEFAULT_BACKGROUND=n(0,0,0,255),e.DEFAULT_FOREGROUND=n(255,255,255,255)}),xg=Ur(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.InWasm=void 0;function t(s){if(typeof Buffer<"u")return Buffer.from(s,"base64");let r=atob(s),n=new Uint8Array(r.length);for(let a=0;ao||(o=t(a)):()=>Promise.resolve(o||(o=t(a))):r===1?n?()=>h||(h=new l.Module(o||(o=t(a)))):()=>h?Promise.resolve(h):l.compile(o||(o=t(a))).then(c=>h=c):n?c=>new l.Instance(h||(h=new l.Module(o||(o=t(a)))),c):c=>h?l.instantiate(h,c):l.instantiate(o||(o=t(a)),c).then(d=>(h=d.module)&&d.instance)}if(typeof _wasmCtx>"u")throw new Error('must run "inwasm"');_wasmCtx.add(s)}e.InWasm=i}),kg=Ur(e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=xg(),i=(0,t.InWasm)({s:1,t:0,d:"AGFzbQEAAAABBQFgAAF/Ag8BA2VudgZtZW1vcnkCAAEDAwIAAAcNAgNkZWMAAANlbmQAAQqxAwKuAQEFf0GIKCgCAEGgKGohAUGEKCgCACIAQYAoKAIAQQFrQXxxIgJIBEAgAkGgKGohAyAAQaAoaiEAA0AgAC0AA0ECdCgCgCAgAC0AAkECdCgCgBggAC0AAUECdCgCgBAgAC0AAEECdCgCgAhycnIiBEH///8HSwRAQQEPCyABIAQ2AgAgAUEDaiEBIABBBGoiACADSQ0ACwtBhCggAjYCAEGIKCABQaAoazYCAEEAC/4BAQZ/AkBBgCgoAgAiAUGEKCgCACIAa0EFTgRAQQEhAxAADQFBgCgoAgAhAUGEKCgCACEAC0EBIQMgASAAayIEQQJIDQAgAEGhKGotAABBAnQoAoAQIABBoChqLQAAQQJ0KAKACHIhAQJAIARBAkYEQEEBIQIMAQtBASECIAAtAKIoIgVBPUcEQEECIQIgBUECdCgCgBggAXIhAQsgBEEERw0AIAAtAKMoIgBBPUYNACACQQFqIQIgAEECdCgCgCAgAXIhAQsgAUH///8HSw0AQYgoKAIAQaAoaiABNgIAQYgoQYgoKAIAIAJqIgA2AgAgAEGQKCgCAEchAwsgAwsAdglwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQEFY2xhbmdWMTguMC4wIChodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QgZDFlNjg1ZGY0NWRjNTk0NGI0M2QyNTQ3ZDAxMzhjZDRhM2VlNGVmZSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0"}),s=new Uint8Array("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").map(o=>o.charCodeAt(0))),r=new Uint32Array(1024);r.fill(4278190080);for(let o=0;o>4|(o<<4&255)<<8;for(let o=0;o>2<<8|(o<<6&255)<<16;for(let o=0;othis.keepSize?this._inst=this._m32=this._d=this._mem=null:(this._m32[1280]=0,this._m32[1281]=0,this._m32[1282]=0))}init(o){let h=this._m32,l=(Math.ceil(o/3)+1288)*4;this._inst?this._mem.buffer.byteLengthc[1283]?1:(this._d.set(o.subarray(h,l),c[1280]),c[1280]+=l-h,c[1280]-c[1281]>=131072?this._inst.exports.dec():0)}end(){return this._inst?this._inst.exports.end():1}};e.default=a}),Eg=Ur(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LIMITS=void 0,e.LIMITS={CHUNK_SIZE:16384,PALETTE_SIZE:4096,MAX_WIDTH:16384,BYTES:"AGFzbQEAAAABJAdgAAF/YAJ/fwBgA39/fwF/YAF/AX9gAABgBH9/f38AYAF/AAIlAgNlbnYLaGFuZGxlX2JhbmQAAwNlbnYLbW9kZV9wYXJzZWQAAwMTEgQAAAAAAQQBAQUBAAACAgAGAwQFAXABBwcFBAEBBwcGCAF/AUGAihoLB9wBDgZtZW1vcnkCABFnZXRfc3RhdGVfYWRkcmVzcwADEWdldF9jaHVua19hZGRyZXNzAAQOZ2V0X3AwX2FkZHJlc3MABRNnZXRfcGFsZXR0ZV9hZGRyZXNzAAYEaW5pdAALBmRlY29kZQAMDWN1cnJlbnRfd2lkdGgADQ5jdXJyZW50X2hlaWdodAAOGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtfaW5pdGlhbGl6ZQACCXN0YWNrU2F2ZQARDHN0YWNrUmVzdG9yZQASCnN0YWNrQWxsb2MAEwkMAQBBAQsGCgcJDxACDAEBCq5UEgMAAQsFAEGgCAsGAEGQiQELBgBBsIkCCwUAQZAJC+okAQh/QeQIKAIAIQVB4AgoAgAhA0HoCCgCACEIIAFBkIkBaiIJQf8BOgAAIAAgAUgEQCAAQZCJAWohBgNAIAMhBCAGQQFqIQECQCAGLQAAQf8AcSIDQTBrQQlLBEAgASEGDAELQewIKAIAQQJ0QewIaiICKAIAIQADQCACIAMgAEEKbGpBMGsiADYCACABLQAAIQMgAUEBaiIGIQEgA0H/AHEiA0Ewa0EKSQ0ACwsCQAJAAkACQAJAAkACQAJ/AkACQCADQT9rIgBBP00EQCAERQ0BIARBIUYEQAJAQfAIKAIAIgFBASABGyIHIAhqIgFB1AgoAgAiA0gNACADQf//AEoNAANAIANBAnQiAkGgiQJqIgRBoAgpAwA3AwAgAkGoiQJqQaAIKQMANwMAIAJBsIkCakGgCCkDADcDACACQbiJAmpBoAgpAwA3AwAgAkHAiQJqQaAIKQMANwMAIAJByIkCakGgCCkDADcDACACQdCJAmpBoAgpAwA3AwAgAkHYiQJqQaAIKQMANwMAIAJB4IkCakGgCCkDADcDACACQeiJAmpBoAgpAwA3AwAgAkHwiQJqQaAIKQMANwMAIAJB+IkCakGgCCkDADcDACACQYCKAmpBoAgpAwA3AwAgAkGIigJqQaAIKQMANwMAIAJBkIoCakGgCCkDADcDACACQZiKAmpBoAgpAwA3AwAgAkGgigJqQaAIKQMANwMAIAJBqIoCakGgCCkDADcDACACQbCKAmpBoAgpAwA3AwAgAkG4igJqQaAIKQMANwMAIAJBwIoCakGgCCkDADcDACACQciKAmpBoAgpAwA3AwAgAkHQigJqQaAIKQMANwMAIAJB2IoCakGgCCkDADcDACACQeCKAmpBoAgpAwA3AwAgAkHoigJqQaAIKQMANwMAIAJB8IoCakGgCCkDADcDACACQfiKAmpBoAgpAwA3AwAgAkGAiwJqQaAIKQMANwMAIAJBiIsCakGgCCkDADcDACACQZCLAmpBoAgpAwA3AwAgAkGYiwJqQaAIKQMANwMAIAJBoIsCakGgCCkDADcDACACQaiLAmpBoAgpAwA3AwAgAkGwiwJqQaAIKQMANwMAIAJBuIsCakGgCCkDADcDACACQcCLAmpBoAgpAwA3AwAgAkHIiwJqQaAIKQMANwMAIAJB0IsCakGgCCkDADcDACACQdiLAmpBoAgpAwA3AwAgAkHgiwJqQaAIKQMANwMAIAJB6IsCakGgCCkDADcDACACQfCLAmpBoAgpAwA3AwAgAkH4iwJqQaAIKQMANwMAIAJBgIwCakGgCCkDADcDACACQYiMAmpBoAgpAwA3AwAgAkGQjAJqQaAIKQMANwMAIAJBmIwCakGgCCkDADcDACACQaCMAmpBoAgpAwA3AwAgAkGojAJqQaAIKQMANwMAIAJBsIwCakGgCCkDADcDACACQbiMAmpBoAgpAwA3AwAgAkHAjAJqQaAIKQMANwMAIAJByIwCakGgCCkDADcDACACQdCMAmpBoAgpAwA3AwAgAkHYjAJqQaAIKQMANwMAIAJB4IwCakGgCCkDADcDACACQeiMAmpBoAgpAwA3AwAgAkHwjAJqQaAIKQMANwMAIAJB+IwCakGgCCkDADcDACACQYCNAmpBoAgpAwA3AwAgAkGIjQJqQaAIKQMANwMAIAJBkI0CakGgCCkDADcDACACQZiNAmpBoAgpAwA3AwAgAkGwiQZqIARBgAT8CgAAQdQIKAIAQQJ0QcCJCmogBEGABPwKAABB1AgoAgBBAnRB0IkOaiAEQYAE/AoAAEHUCCgCAEECdEHgiRJqIARBgAT8CgAAQdQIKAIAQQJ0QfCJFmogBEGABPwKAABB1AhB1AgoAgAiAkGAAWoiAzYCACABIANIDQEgAkGA/wBIDQALCwJAIABFDQAgCEH//wBLDQBBgIABIAhrIAcgAUH//wBLGyECAkAgAEEBcUUNACACRQ0AIAhBAnRBoIkCaiEDIAIhBCACQQdxIgcEQANAIAMgBTYCACADQQRqIQMgBEEBayEEIAdBAWsiBw0ACwsgAkEBa0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgBEEIayIEDQALCwJAIABBAnFFDQAgAkUNACAIQQJ0QbCJBmohAyACIQQgAkEHcSIHBEADQCADIAU2AgAgA0EEaiEDIARBAWshBCAHQQFrIgcNAAsLIAJBAWtBB0kNAANAIAMgBTYCHCADIAU2AhggAyAFNgIUIAMgBTYCECADIAU2AgwgAyAFNgIIIAMgBTYCBCADIAU2AgAgA0EgaiEDIARBCGsiBA0ACwsCQCAAQQRxRQ0AIAJFDQAgCEECdEHAiQpqIQMgAiEEIAJBB3EiBwRAA0AgAyAFNgIAIANBBGohAyAEQQFrIQQgB0EBayIHDQALCyACQQFrQQdJDQADQCADIAU2AhwgAyAFNgIYIAMgBTYCFCADIAU2AhAgAyAFNgIMIAMgBTYCCCADIAU2AgQgAyAFNgIAIANBIGohAyAEQQhrIgQNAAsLAkAgAEEIcUUNACACRQ0AIAhBAnRB0IkOaiEDIAIhBCACQQdxIgcEQANAIAMgBTYCACADQQRqIQMgBEEBayEEIAdBAWsiBw0ACwsgAkEBa0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgBEEIayIEDQALCwJAIABBEHFFDQAgAkUNACAIQQJ0QeCJEmohAyACIQQgAkEHcSIHBEADQCADIAU2AgAgA0EEaiEDIARBAWshBCAHQQFrIgcNAAsLIAJBAWtBB0kNAANAIAMgBTYCHCADIAU2AhggAyAFNgIUIAMgBTYCECADIAU2AgwgAyAFNgIIIAMgBTYCBCADIAU2AgAgA0EgaiEDIARBCGsiBA0ACwsgAEEgcUUNACACRQ0AIAJBAWshByAIQQJ0QfCJFmohAyACQQdxIgQEQANAIAMgBTYCACADQQRqIQMgAkEBayECIARBAWsiBA0ACwsgB0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgAkEIayICDQALC0HcCEHcCCgCACAAcjYCACAGQQFqIgIgBi0AAEH/AHEiA0E/ayIAQT9LDQQaDAMLAkBB7AgoAgAiBEEBRgRAQfAIKAIAIgNBzAgoAgAiAUkNASADIAFwIQMMAQtB+AgoAgAhAkH0CCgCACEBAkACQCAEQQVHDQAgAUEBRw0AIAJB6QJODQQMAQsgAkHkAEoNA0H8CCgCAEHkAEoNA0GACSgCAEHkAEoNAwsCQCABRQ0AIAFBAkoNACACQfwIKAIAQYAJKAIAIAFBAnRBiAhqKAIAEQIAIQFB8AgoAgAiA0HMCCgCACICTwR/IAMgAnAFIAMLQQJ0QZAJaiABNgIAC0HwCCgCACIDQcwIKAIAIgFJDQAgAyABcCEDCyADQQJ0QZAJaigCACEFDAELIANB/QBxQSFHBEAgCCEBIAYhAgwECyAEQSNHDQQCQEHsCCgCACICQQFGBEBB8AgoAgAiAUHMCCgCACIASQ0BIAEgAHAhAQwBC0H4CCgCACEBQfQIKAIAIQACQAJAIAJBBUcNACAAQQFHDQAgAUHpAkgNAQwHCyABQeQASg0GQfwIKAIAQeQASg0GQYAJKAIAQeQASg0GCwJAIABFDQAgAEECSg0AIAFB/AgoAgBBgAkoAgAgAEECdEGICGooAgARAgAhAEHwCCgCACIBQcwIKAIAIgJPBH8gASACcAUgAQtBAnRBkAlqIAA2AgALQfAIKAIAIgFBzAgoAgAiAEkNACABIABwIQELIAFBAnRBkAlqKAIAIQUMBAsgCCEBIAYhAgtB1AgoAgAhBgNAAkAgASAGSA0AIAZB//8ASg0AIAZBAnQiBEGgiQJqIgZBoAgpAwA3AwAgBEGoiQJqQaAIKQMANwMAIARBsIkCakGgCCkDADcDACAEQbiJAmpBoAgpAwA3AwAgBEHAiQJqQaAIKQMANwMAIARByIkCakGgCCkDADcDACAEQdCJAmpBoAgpAwA3AwAgBEHYiQJqQaAIKQMANwMAIARB4IkCakGgCCkDADcDACAEQeiJAmpBoAgpAwA3AwAgBEHwiQJqQaAIKQMANwMAIARB+IkCakGgCCkDADcDACAEQYCKAmpBoAgpAwA3AwAgBEGIigJqQaAIKQMANwMAIARBkIoCakGgCCkDADcDACAEQZiKAmpBoAgpAwA3AwAgBEGgigJqQaAIKQMANwMAIARBqIoCakGgCCkDADcDACAEQbCKAmpBoAgpAwA3AwAgBEG4igJqQaAIKQMANwMAIARBwIoCakGgCCkDADcDACAEQciKAmpBoAgpAwA3AwAgBEHQigJqQaAIKQMANwMAIARB2IoCakGgCCkDADcDACAEQeCKAmpBoAgpAwA3AwAgBEHoigJqQaAIKQMANwMAIARB8IoCakGgCCkDADcDACAEQfiKAmpBoAgpAwA3AwAgBEGAiwJqQaAIKQMANwMAIARBiIsCakGgCCkDADcDACAEQZCLAmpBoAgpAwA3AwAgBEGYiwJqQaAIKQMANwMAIARBoIsCakGgCCkDADcDACAEQaiLAmpBoAgpAwA3AwAgBEGwiwJqQaAIKQMANwMAIARBuIsCakGgCCkDADcDACAEQcCLAmpBoAgpAwA3AwAgBEHIiwJqQaAIKQMANwMAIARB0IsCakGgCCkDADcDACAEQdiLAmpBoAgpAwA3AwAgBEHgiwJqQaAIKQMANwMAIARB6IsCakGgCCkDADcDACAEQfCLAmpBoAgpAwA3AwAgBEH4iwJqQaAIKQMANwMAIARBgIwCakGgCCkDADcDACAEQYiMAmpBoAgpAwA3AwAgBEGQjAJqQaAIKQMANwMAIARBmIwCakGgCCkDADcDACAEQaCMAmpBoAgpAwA3AwAgBEGojAJqQaAIKQMANwMAIARBsIwCakGgCCkDADcDACAEQbiMAmpBoAgpAwA3AwAgBEHAjAJqQaAIKQMANwMAIARByIwCakGgCCkDADcDACAEQdCMAmpBoAgpAwA3AwAgBEHYjAJqQaAIKQMANwMAIARB4IwCakGgCCkDADcDACAEQeiMAmpBoAgpAwA3AwAgBEHwjAJqQaAIKQMANwMAIARB+IwCakGgCCkDADcDACAEQYCNAmpBoAgpAwA3AwAgBEGIjQJqQaAIKQMANwMAIARBkI0CakGgCCkDADcDACAEQZiNAmpBoAgpAwA3AwAgBEGwiQZqIAZBgAT8CgAAQdQIKAIAQQJ0QcCJCmogBkGABPwKAABB1AgoAgBBAnRB0IkOaiAGQYAE/AoAAEHUCCgCAEECdEHgiRJqIAZBgAT8CgAAQdQIKAIAQQJ0QfCJFmogBkGABPwKAABB1AhB1AgoAgBBgAFqIgY2AgALIAFB//8ATQRAIABBAXEgAWxBAnRBoIkCaiAFNgIAIABBAXZBAXEgAWxBAnRBsIkGaiAFNgIAIABBAnZBAXEgAWxBAnRBwIkKaiAFNgIAIABBA3ZBAXEgAWxBAnRB0IkOaiAFNgIAIABBBHZBAXEgAWxBAnRB4IkSaiAFNgIAIABBBXYgAWxBAnRB8IkWaiAFNgIAQdQIKAIAIQYLIAFBAWohAUHcCEHcCCgCACAAcjYCACACLQAAIQAgAkEBaiIEIQIgAEH/AHEiA0E/ayIAQcAASQ0ACyAECyECQQAhBCACIQYgASEIIANB/QBxQSFGDQELIANBJGsOCgEDAwMDAwMDAwIDC0HsCEIBNwIADAQLQdgIIAFB2AgoAgAiACAAIAFIGyIAQYCAASAAQYCAAUgbNgIADAILQegIIAFB2AgoAgAiACAAIAFIGyIAQYCAASAAQYCAAUgbIgA2AgBB2AggADYCACAAQQRrEAAEQEHoCEEENgIAQdgIQQQ2AgBB0AhBATYCAA8LEAgMAQsCQCADQTtHDQBB7AgoAgAiAEEHSg0AQewIIABBAWo2AgAgAEECdEHwCGpBADYCAAsgAiEGIAQhAyABIQgMAQtBBCEIIAIhBiAEIQMLIAYgCUkNAAsLQeQIIAU2AgBB4AggAzYCAEHoCCAINgIAC9ELAgF+CH9B2AhCBDcDAEGojQJBoAgpAwAiADcDAEGgjQIgADcDAEGYjQIgADcDAEGQjQIgADcDAEGIjQIgADcDAEGAjQIgADcDAEH4jAIgADcDAEHwjAIgADcDAEHojAIgADcDAEHgjAIgADcDAEHYjAIgADcDAEHQjAIgADcDAEHIjAIgADcDAEHAjAIgADcDAEG4jAIgADcDAEGwjAIgADcDAEGojAIgADcDAEGgjAIgADcDAEGYjAIgADcDAEGQjAIgADcDAEGIjAIgADcDAEGAjAIgADcDAEH4iwIgADcDAEHwiwIgADcDAEHoiwIgADcDAEHgiwIgADcDAEHYiwIgADcDAEHQiwIgADcDAEHIiwIgADcDAEHAiwIgADcDAEG4iwIgADcDAEGwiwIgADcDAEGoiwIgADcDAEGgiwIgADcDAEGYiwIgADcDAEGQiwIgADcDAEGIiwIgADcDAEGAiwIgADcDAEH4igIgADcDAEHwigIgADcDAEHoigIgADcDAEHgigIgADcDAEHYigIgADcDAEHQigIgADcDAEHIigIgADcDAEHAigIgADcDAEG4igIgADcDAEGwigIgADcDAEGoigIgADcDAEGgigIgADcDAEGYigIgADcDAEGQigIgADcDAEGIigIgADcDAEGAigIgADcDAEH4iQIgADcDAEHwiQIgADcDAEHoiQIgADcDAEHgiQIgADcDAEHYiQIgADcDAEHQiQIgADcDAEHIiQIgADcDAEHAiQIgADcDAEG4iQIgADcDAEGwiQIgADcDAEGoCCgCACIEQf8AakGAAW0hCAJAIARBgQFIDQBBASEBIAhBAiAIQQJKG0EBayICQQFxIQMgBEGBAk4EQCACQX5xIQIDQCABQQl0IgdBEHJBoIkCakGwiQJBgAT8CgAAIAdBsI0CakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsLIANFDQAgAUEJdEEQckGgiQJqQbCJAkGABPwKAAALAkAgBEEBSA0AIAhBASAIQQFKGyIDQQFxIQUCQCADQQFrIgdFBEBBACEBDAELIANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQbCJBmpBsIkCQYAE/AoAACAGQZAEckGwiQZqQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACwsgBQRAIAFBCXRBEHJBsIkGakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEFIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiBkEQckHAiQpqQbCJAkGABPwKAAAgBkGQBHJBwIkKakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAFBEAgAUECdEHAiQpqQbCJAkGABPwKAAALIARBAUgNACADQQFxIQUgBwR/IANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQdCJDmpBsIkCQYAE/AoAACAGQZAEckHQiQ5qQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACyABQQd0QQRyBUEECyEBIAUEQCABQQJ0QdCJDmpBsIkCQYAE/AoAAAsgBEEBSA0AIANBAXEhBSAHBH8gA0H+////B3EhAkEAIQEDQCABQQl0IgZBEHJB4IkSakGwiQJBgAT8CgAAIAZBkARyQeCJEmpBsIkCQYAE/AoAACABQQJqIQEgAkECayICDQALIAFBB3RBBHIFQQQLIQEgBQRAIAFBAnRB4IkSakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEEIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiA0EQckHwiRZqQbCJAkGABPwKAAAgA0GQBHJB8IkWakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAERQ0AIAFBAnRB8IkWakGwiQJBgAT8CgAAC0HUCCAIQQd0QQRyNgIAC58TAgh/AX5B5AgoAgAhA0HgCCgCACECQegIKAIAIQcgAUGQiQFqIglB/wE6AAAgACABSARAIABBkIkBaiEIA0AgAiEEIAhBAWohAQJAIAgtAABB/wBxIgJBMGtBCUsEQCABIQgMAQtB7AgoAgBBAnRB7AhqIgUoAgAhAANAIAUgAiAAQQpsakEwayIANgIAIAEtAAAhAiABQQFqIgghASACQf8AcSICQTBrQQpJDQALCwJAAkACQAJAAkACQAJ/AkAgAkE/ayIAQT9NBEAgBEUNASAEQSFGBEBB8AgoAgAiAUEBIAEbIgQgB2ohAQJAIABFDQAgB0H//wBLDQBBgIABIAdrIAQgAUH//wBLGyEFAkAgAEEBcUUNACAHQQJ0QaCJAmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEECcUUNACAHQQJ0QbCJBmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEEcUUNACAHQQJ0QcCJCmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEIcUUNACAHQQJ0QdCJDmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEQcUUNACAHQQJ0QeCJEmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLIABBIHFFDQAgBUEBayEEIAdBAnRB8IkWaiEAIAVBB3EiAgRAA0AgACADNgIAIABBBGohACAFQQFrIQUgAkEBayICDQALCyAEQQdJDQADQCAAIAM2AhwgACADNgIYIAAgAzYCFCAAIAM2AhAgACADNgIMIAAgAzYCCCAAIAM2AgQgACADNgIAIABBIGohACAFQQhrIgUNAAsLIAhBAWoiBSAILQAAQf8AcSICQT9rIgBBP00NAxoMBAsCQEHsCCgCACIFQQFGBEBB8AgoAgAiAUHMCCgCACIESQ0BIAEgBHAhAQwBC0H4CCgCACEEQfQIKAIAIQECQAJAIAVBBUcNACABQQFHDQAgBEHpAk4NBAwBCyAEQeQASg0DQfwIKAIAQeQASg0DQYAJKAIAQeQASg0DCwJAIAFFDQAgAUECSg0AIARB/AgoAgBBgAkoAgAgAUECdEGICGooAgARAgAhBEHwCCgCACIBQcwIKAIAIgVPBH8gASAFcAUgAQtBAnRBkAlqIAQ2AgALQfAIKAIAIgFBzAgoAgAiBEkNACABIARwIQELIAFBAnRBkAlqKAIAIQMMAQsgAkH9AHFBIUcEQCAHIQEgAiEADAQLIARBI0cNBAJAQewIKAIAIgRBAUYEQEHwCCgCACIBQcwIKAIAIgBJDQEgASAAcCEBDAELQfgIKAIAIQFB9AgoAgAhAAJAAkAgBEEFRw0AIABBAUcNACABQekCSA0BDAcLIAFB5ABKDQZB/AgoAgBB5ABKDQZBgAkoAgBB5ABKDQYLAkAgAEUNACAAQQJKDQAgAUH8CCgCAEGACSgCACAAQQJ0QYgIaigCABECACEAQfAIKAIAIgFBzAgoAgAiBE8EfyABIARwBSABC0ECdEGQCWogADYCAAtB8AgoAgAiAUHMCCgCACIASQ0AIAEgAHAhAQsgAUECdEGQCWooAgAhAwwECyAHIQEgCAshBQNAIAFB//8ATQRAIABBAXEgAWxBAnRBoIkCaiADNgIAIABBAXZBAXEgAWxBAnRBsIkGaiADNgIAIABBAnZBAXEgAWxBAnRBwIkKaiADNgIAIABBA3ZBAXEgAWxBAnRB0IkOaiADNgIAIABBBHZBAXEgAWxBAnRB4IkSaiADNgIAIABBBXYgAWxBAnRB8IkWaiADNgIACyABQQFqIQEgBS0AACEAIAVBAWoiBCEFIABB/wBxIgJBP2siAEHAAEkNAAsgBCEFC0EAIQQgBSEIIAEhByACIQAgAkH9AHFBIUYNAQtBBCEHIAQhAiAAQSRrDgoDAgICAgICAgIBAgtB7AhCATcCAAwCC0GoCCgCAEEEaxAABEBB0AhBATYCAA8LAkBBqAgoAgAiBkEFSA0AQaAIKQMAIQogBkEDa0EBdiIBQQdxIQJBACEAIAFBAWtBB08EQCABQfj///8HcSEFA0AgAEEDdCIBQbCJAmogCjcDACABQQhyQbCJAmogCjcDACABQRByQbCJAmogCjcDACABQRhyQbCJAmogCjcDACABQSByQbCJAmogCjcDACABQShyQbCJAmogCjcDACABQTByQbCJAmogCjcDACABQThyQbCJAmogCjcDACAAQQhqIQAgBUEIayIFDQALCyACRQ0AA0AgAEEDdEGwiQJqIAo3AwAgAEEBaiEAIAJBAWsiAg0ACwtBwIkGQbCJAiAGQQJ0IgD8CgAAQdCJCkGwiQIgAPwKAABB4IkOQbCJAiAA/AoAAEHwiRJBsIkCIAD8CgAAQYCKFkGwiQIgAPwKAAAgBCECDAELAkAgAEE7Rw0AQewIKAIAIgBBB0oNAEHsCCAAQQFqNgIAIABBAnRB8AhqQQA2AgALIAEhBwsgCCAJSQ0ACwtB5AggAzYCAEHgCCACNgIAQegIIAc2AgAL4gcCBX8BfgJAQdAIAn8CQAJAIAAgAU4NACABQZCJAWohBiAAQZCJAWohBQNAIAUtAAAiA0H/AHEhAgJAAkACQAJAAkACQAJAQeAIKAIAIgRBIkcEQCAEDQcgAkEiRgRAQewIQgE3AgBB4AhBIjYCAAwICyACQT9rQcAASQ0GIANBIWsiAkEMTQ0BDAULAkAgAkEwayIEQQlNBEBB7AgoAgBBAnRB7AhqIgIgBCACKAIAQQpsajYCAAwBC0HsCCgCACEEIAJBO0YEQCAEQQdKDQFB7AggBEEBajYCACAEQQJ0QfAIakEANgIADAELIARBBEYEQEHECEECNgIAQbAIQfAIKQMANwMAQbgIQfgIKAIAIgI2AgBBvAhB/AgoAgAiBDYCAEHICEECQQFBwAgoAgAiAxs2AgBBrAggBEEAIAMbNgIAQagIIAJBgIABIAJBgIABSBtBBGpBACADGzYCAEHgCEEANgIADAoLIAJBP2tBwABJDQQLIANBIWsiAkEMTQ0BDAILQQEgAnRBjSBxRQ0DDAQLQQEgAnRBjSBxDQELIANBoQFrIgJBDEsNA0EBIAJ0QY0gcUUNAwtBxAhCgYCAgBA3AgBBsAhB8AgoAgBBAEHsCCgCACICQQBKGzYCAEG0CEH0CCgCAEEAIAJBAUobNgIAQbgIQfgIKAIAQQAgAkECShs2AgBB4AhBADYCAEG8CEEANgIADAQLIANBoQFrIgJBDEsNAUEBIAJ0QY0gcUUNAQtBxAhCgYCAgBA3AgBBsAhCADcDAEG4CEIANwMADAMLIAVBAWoiBSAGSQ0ACwsCQEHICCgCAA4DAwEAAQsCQEGoCCgCACIFQQVIDQBBoAgpAwAhByAFQQNrQQF2IgNBB3EhBEEAIQIgA0EBa0EHTwRAIANB+P///wdxIQYDQCACQQN0IgNBsIkCaiAHNwMAIANBCHJBsIkCaiAHNwMAIANBEHJBsIkCaiAHNwMAIANBGHJBsIkCaiAHNwMAIANBIHJBsIkCaiAHNwMAIANBKHJBsIkCaiAHNwMAIANBMHJBsIkCaiAHNwMAIANBOHJBsIkCaiAHNwMAIAJBCGohAiAGQQhrIgYNAAsLIARFDQADQCACQQN0QbCJAmogBzcDACACQQFqIQIgBEEBayIEDQALC0HAiQZBsIkCIAVBAnQiA/wKAABB0IkKQbCJAiAD/AoAAEHgiQ5BsIkCIAP8CgAAQfCJEkGwiQIgA/wKAABBgIoWQbCJAiAD/AoAAEECDAELEAhByAgoAgALEAEiAjYCACACDQAgACABQcgIKAIAQQJ0QYAIaigCABEBAAsLdABB6AhBBDYCAEHkCCAANgIAQewIQgE3AgBBxAhCADcCAEHACCADNgIAQdwIQgA3AgBBqAhCADcDAEGwCEIANwMAQbgIQgA3AwBBzAggAkGAICACQYAgSRs2AgBBoAggAa1CgYCAgBB+NwMAQdAIQQA2AgALIwBB0AgoAgBFBEAgACABQcgIKAIAQQJ0QYAIaigCABEBAAsLWgECfwJAAkACQEHICCgCAEEBaw4CAAECC0HYCEHoCCgCACIAQdgIKAIAIgEgACABShsiAEGAgAEgAEGAgAFIGyIANgIAIABBBGsPC0GoCCgCAEEEayEACyAAC0IBAX8Cf0EGQdwIKAIAIgBBIHENABpBBSAAQRBxDQAaQQQgAEEIcQ0AGkEDIABBBHENABpBAiAAQQFxIABBAnEbCwu9BQEFfQJ/IAJFBEAgAUH/AWxBMmpB5ABtIgBBCHQgAHIgAEEQdHIMAQsgArJDAADIQpUhBiAAQfABarJDAAC0Q5UhBQJ9IAGyQwAAyEKVIgNDAAAAP10EQCADIAZDAACAP5KUDAELIAYgA0MAAIA/IAaTlJILIQcgAyADkiEGAkAgBUOrqqo+kiIEQwAAAABdBEAgBEMAAIA/kiEEDAELIARDAACAP15FDQAgBEMAAIC/kiEECyAGIAeTIQMgBUMAAAAAXSEAAn8CfSADIAcgA5NDAADAQJQgBJSSIARDq6oqPl0NABogByAEQwAAAD9dDQAaIAMgBEOrqio/XUUNABogAyAHIAOTIARDAADAwJRDAACAQJKUkgtDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALIQECQCAABEAgBUMAAIA/kiEEDAELIAUiBEMAAIA/XkUNACAFQwAAgL+SIQQLIAVDq6qqvpIiBUMAAAAAXSECAn8CfSADIAcgA5NDAADAQJQgBJSSIARDq6oqPl0NABogByAEQwAAAD9dDQAaIAMgBEOrqio/XUUNABogAyAHIAOTIARDAADAwJRDAACAQJKUkgtDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALIQACQCACBEAgBUMAAIA/kiEFDAELIAVDAACAP15FDQAgBUMAAIC/kiEFCwJAIAVDq6oqPl0EQCADIAcgA5NDAADAQJQgBZSSIQcMAQsgBUMAAAA/XQ0AIAVDq6oqP11FBEAgAyEHDAELIAMgByADkyAFQwAAwMCUQwAAgECSlJIhBwsgAEEIdAJ/IAdDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALQRB0ciABcgtBgICAeHILNwAgAEH/AWxBMmpB5ABtIAFB/wFsQTJqQeQAbUEIdHIgAkH/AWxBMmpB5ABtQRB0ckGAgIB4cgsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwsYAQBBgAgLEQEAAAACAAAAAwAAAAQAAAAF"}}),Bg=Ur(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decodeAsync=e.decode=e.Decoder=e.DecoderAsync=void 0;var t=La(),i=Eg();function s(u){if(typeof Buffer<"u")return Buffer.from(u,"base64");let p=atob(u),_=new Uint8Array(p.length);for(let v=0;v<_.length;++v)_[v]=p.charCodeAt(v);return _}var r=s(i.LIMITS.BYTES),n,a=new Uint32Array,o=class{constructor(){this.bandHandler=u=>1,this.modeHandler=u=>1}handle_band(u){return this.bandHandler(u)}mode_parsed(u){return this.modeHandler(u)}},h={memoryLimit:2048*65536,sixelColor:t.DEFAULT_FOREGROUND,fillColor:t.DEFAULT_BACKGROUND,palette:t.PALETTE_VT340_COLOR,paletteLimit:i.LIMITS.PALETTE_SIZE,truncate:!0};function l(u){let p=new o,_={env:{handle_band:p.handle_band.bind(p),mode_parsed:p.mode_parsed.bind(p)}};return WebAssembly.instantiate(n||r,_).then(v=>(n=n||v.module,new c(u,v.instance||v,p)))}e.DecoderAsync=l;var c=class{constructor(u,p,_){if(this._PIXEL_OFFSET=i.LIMITS.MAX_WIDTH+4,this._canvas=a,this._bandWidths=[],this._maxWidth=0,this._minWidth=i.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0,this._opts=Object.assign({},h,u),this._opts.paletteLimit>i.LIMITS.PALETTE_SIZE)throw new Error(`DecoderOptions.paletteLimit must not exceed ${i.LIMITS.PALETTE_SIZE}`);if(p)_.bandHandler=this._handle_band.bind(this),_.modeHandler=this._initCanvas.bind(this);else{let v=n||(n=new WebAssembly.Module(r));p=new WebAssembly.Instance(v,{env:{handle_band:this._handle_band.bind(this),mode_parsed:this._initCanvas.bind(this)}})}this._instance=p,this._wasm=this._instance.exports,this._chunk=new Uint8Array(this._wasm.memory.buffer,this._wasm.get_chunk_address(),i.LIMITS.CHUNK_SIZE),this._states=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_state_address(),12),this._palette=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_palette_address(),i.LIMITS.PALETTE_SIZE),this._palette.set(this._opts.palette),this._pSrc=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_p0_address()),this._wasm.init(t.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}get _fillColor(){return this._states[0]}get _truncate(){return this._states[8]}get _rasterWidth(){return this._states[6]}get _rasterHeight(){return this._states[7]}get _width(){return this._states[2]?this._states[2]-4:0}get _height(){return this._states[3]}get _level(){return this._states[9]}get _mode(){return this._states[10]}get _paletteLimit(){return this._states[11]}_initCanvas(u){if(u===2){let p=this.width*this.height;if(p>this._canvas.length){if(this._opts.memoryLimit&&p*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(p)}this._maxWidth=this._width}else if(u===1)if(this._level===2){let p=Math.min(this._rasterWidth,i.LIMITS.MAX_WIDTH)*this._rasterHeight;if(p>this._canvas.length){if(this._opts.memoryLimit&&p*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(p)}}else this._canvas.length<65536&&(this._canvas=new Uint32Array(65536));return 0}_realloc(u,p){let _=u+p;if(_>this._canvas.length){if(this._opts.memoryLimit&&_*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");let v=new Uint32Array(Math.ceil(_/65536)*65536);v.set(this._canvas),this._canvas=v}}_handle_band(u){let p=this._PIXEL_OFFSET,_=this._lastOffset;if(this._mode===2){let v=this.height-this._currentHeight,A=0;for(;A<6&&v>0;)this._canvas.set(this._pSrc.subarray(p*A,p*A+u),_+u*A),A++,v--;this._lastOffset+=u*A,this._currentHeight+=A}else if(this._mode===1){this._realloc(_,u*6),this._maxWidth=Math.max(this._maxWidth,u),this._minWidth=Math.min(this._minWidth,u);for(let v=0;v<6;++v)this._canvas.set(this._pSrc.subarray(p*v,p*v+u),_+u*v);this._bandWidths.push(u),this._lastOffset+=u*6,this._currentHeight+=6}return 0}get width(){return this._mode!==1?this._width:Math.max(this._maxWidth,this._wasm.current_width())}get height(){return this._mode!==1?this._height:this._wasm.current_width()?this._bandWidths.length*6+this._wasm.current_height():this._bandWidths.length*6}get palette(){return this._palette.subarray(0,this._paletteLimit)}get memoryUsage(){return this._canvas.byteLength+this._wasm.memory.buffer.byteLength+8*this._bandWidths.length}get properties(){return{width:this.width,height:this.height,mode:this._mode,level:this._level,truncate:!!this._truncate,paletteLimit:this._paletteLimit,fillColor:this._fillColor,memUsage:this.memoryUsage,rasterAttributes:{numerator:this._states[4],denominator:this._states[5],width:this._rasterWidth,height:this._rasterHeight}}}init(u=this._opts.fillColor,p=this._opts.palette,_=this._opts.paletteLimit,v=this._opts.truncate){this._wasm.init(this._opts.sixelColor,u,_,v?1:0),p&&this._palette.set(p.subarray(0,i.LIMITS.PALETTE_SIZE)),this._bandWidths.length=0,this._maxWidth=0,this._minWidth=i.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0}decode(u,p=0,_=u.length){let v=p;for(;v<_;){let A=Math.min(_-v,i.LIMITS.CHUNK_SIZE);this._chunk.set(u.subarray(v,v+=A)),this._wasm.decode(0,A)}}decodeString(u,p=0,_=u.length){let v=p;for(;v<_;){let A=Math.min(_-v,i.LIMITS.CHUNK_SIZE);for(let x=0,S=v;x0){let _=this._PIXEL_OFFSET,v=this._lastOffset,A=0;for(;A<6&&p>0;)this._canvas.set(this._pSrc.subarray(_*A,_*A+u),v+u*A),A++,p--;p&&this._canvas.fill(this._fillColor,v+u*A)}return this._canvas.subarray(0,this.width*this.height)}if(this._mode===1){if(this._minWidth===this._maxWidth){let A=!1;if(u)if(u!==this._minWidth)A=!0;else{let x=this._PIXEL_OFFSET,S=this._lastOffset;this._realloc(S,u*6);for(let w=0;w<6;++w)this._canvas.set(this._pSrc.subarray(x*w,x*w+u),S+u*w)}if(!A)return this._canvas.subarray(0,this.width*this.height)}let p=new Uint32Array(this.width*this.height);p.fill(this._fillColor);let _=0,v=0;for(let A=0;A{function t(n){return n<0}e.isLessThan=t;function i(n){return n<=0}e.isLessThanOrEqual=i;function s(n){return n>0}e.isGreaterThan=s;function r(n){return n===0}e.isNeitherLessOrGreaterThan=r,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Ig||(Ig={}));function Dg(e,t){let i=this,s=!1,r;return function(){return s||(s=!0,t||(r=e.apply(i,arguments))),r}}var Nc;(e=>{function t(w){return w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}e.is=t;let i=Object.freeze([]);function s(){return i}e.empty=s;function*r(w){yield w}e.single=r;function n(w){return t(w)?w:r(w)}e.wrap=n;function a(w){return w||i}e.from=a;function*o(w){for(let y=w.length-1;y>=0;y--)yield w[y]}e.reverse=o;function h(w){return!w||w[Symbol.iterator]().next().done===!0}e.isEmpty=h;function l(w){return w[Symbol.iterator]().next().value}e.first=l;function c(w,y){let m=0;for(let C of w)if(y(C,m++))return!0;return!1}e.some=c;function d(w,y){for(let m of w)if(y(m))return m}e.find=d;function*g(w,y){for(let m of w)y(m)&&(yield m)}e.filter=g;function*u(w,y){let m=0;for(let C of w)yield y(C,m++)}e.map=u;function*p(w,y){let m=0;for(let C of w)yield*y(C,m++)}e.flatMap=p;function*_(...w){for(let y of w)yield*y}e.concat=_;function v(w,y,m){let C=m;for(let k of w)C=y(C,k);return C}e.reduce=v;function*A(w,y,m=w.length){for(y<0&&(y+=w.length),m<0?m+=w.length:m>w.length&&(m=w.length);y1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Lg(e){return{dispose:Dg(()=>{e()})}}var Fc=class Hc{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Mg(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Hc.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),void 0)}};Fc.DISABLE_DISPOSED_WARNING=!1;var Rg=Fc,Wc=class{constructor(){this._store=new Rg,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Wc.None=Object.freeze({dispose(){}});var Tg=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e}},Pg=4096,lo=24,Fn=class Yi extends Wc{constructor(t){super(),this._terminal=t,this._optionsRefresh=this._register(new Tg),this._oldOpen=this._terminal._core.open,this._terminal._core.open=i=>{var s;(s=this._oldOpen)==null||s.call(this._terminal._core,i),this._open()},this._terminal._core.screenElement&&this._open(),this._optionsRefresh.value=this._terminal._core.optionsService.onOptionChange(i=>{var s;i==="fontSize"&&(this.rescaleCanvas(),(s=this._renderService)==null||s.refreshRows(0,this._terminal.rows))}),this._register(Lg(()=>{var i;this.removeLayerFromDom(),this._terminal._core&&this._oldOpen&&(this._terminal._core.open=this._oldOpen,this._oldOpen=void 0),this._renderService&&this._oldSetRenderer&&(this._renderService.setRenderer=this._oldSetRenderer,this._oldSetRenderer=void 0),this._renderService=void 0,this.canvas=void 0,this._ctx=void 0,(i=this._placeholderBitmap)==null||i.close(),this._placeholderBitmap=void 0,this._placeholder=void 0}))}static createCanvas(t,i,s){let r=(t||document).createElement("canvas");return r.width=i|0,r.height=s|0,r}static createImageData(t,i,s,r){if(typeof ImageData!="function"){let n=t.createImageData(i,s);return r&&n.data.set(new Uint8ClampedArray(r,0,i*s*4)),n}return r?new ImageData(new Uint8ClampedArray(r,0,i*s*4),i,s):new ImageData(i,s)}static createImageBitmap(t){return typeof createImageBitmap!="function"?Promise.resolve(void 0):createImageBitmap(t)}showPlaceholder(t){var i,s;t?!this._placeholder&&this.cellSize.height!==-1&&this._createPlaceHolder(Math.max(this.cellSize.height+1,lo)):((i=this._placeholderBitmap)==null||i.close(),this._placeholderBitmap=void 0,this._placeholder=void 0),(s=this._renderService)==null||s.refreshRows(0,this._terminal.rows)}get dimensions(){var t;return(t=this._renderService)==null?void 0:t.dimensions}get cellSize(){var t,i;return{width:((t=this.dimensions)==null?void 0:t.css.cell.width)||-1,height:((i=this.dimensions)==null?void 0:i.css.cell.height)||-1}}clearLines(t,i){var s,r,n,a;(a=this._ctx)==null||a.clearRect(0,t*(((s=this.dimensions)==null?void 0:s.css.cell.height)||0),((r=this.dimensions)==null?void 0:r.css.canvas.width)||0,(++i-t)*(((n=this.dimensions)==null?void 0:n.css.cell.height)||0))}clearAll(){var t,i,s;(s=this._ctx)==null||s.clearRect(0,0,((t=this.canvas)==null?void 0:t.width)||0,((i=this.canvas)==null?void 0:i.height)||0)}draw(t,i,s,r,n=1){if(!this._ctx)return;let{width:a,height:o}=this.cellSize;if(a===-1||o===-1)return;this._rescaleImage(t,a,o);let h=t.actual,l=Math.ceil(h.width/a),c=i%l*a,d=Math.floor(i/l)*o,g=s*a,u=r*o,p=n*a+c>h.width?h.width-c:n*a,_=d+o>h.height?h.height-d:o;this._ctx.drawImage(h,Math.floor(c),Math.floor(d),Math.ceil(p),Math.ceil(_),Math.floor(g),Math.floor(u),Math.ceil(p),Math.ceil(_))}extractTile(t,i){let{width:s,height:r}=this.cellSize;if(s===-1||r===-1)return;this._rescaleImage(t,s,r);let n=t.actual,a=Math.ceil(n.width/s),o=i%a*s,h=Math.floor(i/a)*r,l=s+o>n.width?n.width-o:s,c=h+r>n.height?n.height-h:r,d=Yi.createCanvas(this.document,l,c),g=d.getContext("2d");if(g)return g.drawImage(n,Math.floor(o),Math.floor(h),Math.floor(l),Math.floor(c),0,0,Math.floor(l),Math.floor(c)),d}drawPlaceholder(t,i,s=1){if(this._ctx){let{width:r,height:n}=this.cellSize;if(r===-1||n===-1||(this._placeholder?n>=this._placeholder.height&&this._createPlaceHolder(n+1):this._createPlaceHolder(Math.max(n+1,lo)),!this._placeholder))return;this._ctx.drawImage(this._placeholderBitmap||this._placeholder,t*r,i*n%2?0:1,r*s,n,t*r,i*n,r*s,n)}}rescaleCanvas(){this.canvas&&(this.canvas.width!==this.dimensions.css.canvas.width||this.canvas.height!==this.dimensions.css.canvas.height)&&(this.canvas.width=this.dimensions.css.canvas.width||0,this.canvas.height=this.dimensions.css.canvas.height||0)}_rescaleImage(t,i,s){if(i===t.actualCellSize.width&&s===t.actualCellSize.height)return;let{width:r,height:n}=t.origCellSize;if(i===r&&s===n){t.actual=t.orig,t.actualCellSize.width=r,t.actualCellSize.height=n;return}let a=Yi.createCanvas(this.document,Math.ceil(t.orig.width*i/r),Math.ceil(t.orig.height*s/n)),o=a.getContext("2d");o&&(o.drawImage(t.orig,0,0,a.width,a.height),t.actual=a,t.actualCellSize.width=i,t.actualCellSize.height=s)}_open(){this._renderService=this._terminal._core._renderService,this._oldSetRenderer=this._renderService.setRenderer.bind(this._renderService),this._renderService.setRenderer=t=>{var i;this.removeLayerFromDom(),(i=this._oldSetRenderer)==null||i.call(this._renderService,t)}}insertLayerToDom(){var t,i;this.document&&this._terminal._core.screenElement?this.canvas||(this.canvas=Yi.createCanvas(this.document,((t=this.dimensions)==null?void 0:t.css.canvas.width)||0,((i=this.dimensions)==null?void 0:i.css.canvas.height)||0),this.canvas.classList.add("xterm-image-layer"),this._terminal._core.screenElement.appendChild(this.canvas),this._ctx=this.canvas.getContext("2d",{alpha:!0,desynchronized:!0}),this.clearAll()):console.warn("image addon: cannot insert output canvas to DOM, missing document or screenElement")}removeLayerFromDom(){this.canvas&&(this._ctx=void 0,this.canvas.remove(),this.canvas=void 0)}_createPlaceHolder(t=lo){var d;(d=this._placeholderBitmap)==null||d.close(),this._placeholderBitmap=void 0;let i=32,s=Yi.createCanvas(this.document,i,t),r=s.getContext("2d",{alpha:!1});if(!r)return;let n=Yi.createImageData(r,i,t),a=new Uint32Array(n.data.buffer),o=(0,Jl.toRGBA8888)(0,0,0),h=(0,Jl.toRGBA8888)(255,255,255);a.fill(o);for(let g=0;gthis._placeholderBitmap=g)}get document(){var t;return(t=this._terminal._core._coreBrowserService)==null?void 0:t.window.document}},Ir={width:7,height:14},la=class zc{constructor(t=0,i=0,s=-1,r=-1){this.imageId=s,this.tileId=r,this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}get urlId(){return this._urlId}set urlId(t){this._urlId=t}clone(){return new zc(this._ext,this._urlId,this.imageId,this.tileId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0&&this.imageId===-1}},lr=new la,Qg=class{constructor(e,t,i){this._terminal=e,this._renderer=t,this._opts=i,this._images=new Map,this._lastId=0,this._lowestId=0,this._fullyCleared=!1,this._needsFullClear=!1,this._pixelLimit=25e5;try{this.setLimit(this._opts.storageLimit)}catch(s){console.error(s.message),console.warn(`storageLimit is set to ${this.getLimit()} MB`)}this._viewportMetrics={cols:this._terminal.cols,rows:this._terminal.rows}}dispose(){this.reset()}reset(){var e;for(let t of this._images.values())(e=t.marker)==null||e.dispose();this._images.clear(),this._renderer.clearAll()}getLimit(){return this._pixelLimit*4/1e6}setLimit(e){if(e<.5||e>1e3)throw RangeError("invalid storageLimit, should be at least 0.5 MB and not exceed 1G");this._pixelLimit=e/4*1e6>>>0,this._evictOldest(0)}getUsage(){return this._getStoredPixels()*4/1e6}_getStoredPixels(){let e=0;for(let t of this._images.values())t.orig&&(e+=t.orig.width*t.orig.height,t.actual&&t.actual!==t.orig&&(e+=t.actual.width*t.actual.height));return e}_delImg(e){let t=this._images.get(e);this._images.delete(e),t&&window.ImageBitmap&&t.orig instanceof ImageBitmap&&t.orig.close()}wipeAlternate(){var t;let e=[];for(let[i,s]of this._images.entries())s.bufferType==="alternate"&&((t=s.marker)==null||t.dispose(),e.push(i));for(let i of e)this._delImg(i);this._needsFullClear=!0,this._fullyCleared=!1}advanceCursor(e){if(this._opts.sixelScrolling){let t=this._renderer.cellSize;(t.width===-1||t.height===-1)&&(t=Ir);let i=Math.ceil(e/t.height);for(let s=1;s=a);++x)this._writeToCell(A,c+x,r,v*i+x),d++;if(this._opts.sixelScrolling)v=o)break;n.x=c}this._terminal._core._inputHandler._dirtyRowTracker.markDirty(n.y),this._opts.sixelScrolling?n.x=c:(n.x=h,n.y=l);let g=[];for(let[v,A]of this._images.entries())A.tileCount<1&&((_=A.marker)==null||_.dispose(),g.push(v));for(let v of g)this._delImg(v);let u=this._terminal.registerMarker(0);u==null||u.onDispose(()=>{this._images.get(r)&&this._delImg(r)}),this._terminal.buffer.active.type==="alternate"&&this._evictOnAlternate();let p={orig:e,origCellSize:t,actual:e,actualCellSize:{...t},marker:u||void 0,tileCount:d,bufferType:this._terminal.buffer.active.type};this._images.set(r,p)}render(e){if(!this._renderer.canvas&&this._images.size&&(this._renderer.insertLayerToDom(),!this._renderer.canvas))return;if(this._renderer.rescaleCanvas(),!this._images.size){this._fullyCleared||(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1),this._renderer.canvas&&this._renderer.removeLayerFromDom();return}this._needsFullClear&&(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1);let{start:t,end:i}=e,s=this._terminal._core.buffer,r=this._terminal._core.cols;this._renderer.clearLines(t,i);for(let n=t;n<=i;++n){let a=s.lines.get(n+s.ydisp);if(!a)return;for(let o=0;o=e.cols){this._viewportMetrics=e;return}let t=this._terminal._core.buffer,i=t.lines.length,s=this._viewportMetrics.cols-1;for(let n=0;n=c)continue;let d=!1;for(let p=s+1;p>e.cols;++p)if(a._data[p*3+0]&4194303){d=!0;break}if(d)continue;let g=Math.min(e.cols,c-o.tileId%c+s),u=o.tileId;for(let p=s+1;p57)throw new Error("illegal char");t=t*10+e[i]-48}return t}function jl(e){let t=xn(e);if(!t.match(/^((auto)|(\d+?((px)|(%)){0,1}))$/))throw new Error("illegal size");return t}function Ng(e){if(typeof Buffer<"u")return Buffer.from(xn(e),"base64").toString();let t=atob(xn(e)),i=new Uint8Array(t.length);for(let s=0;s6)return-1;for(let a=t;a=co)return this._a();n[r++]=o}break;case 58:return s===3&&!this._storeValue(r)?this._a():(this.state=4,a+1);default:if(r>=co)return this._a();n[r++]=o}}return this.state=s,this._position=r,-2}_a(){return this.state=1,-1}_storeKey(e){let t=xn(this._buffer.subarray(0,e));return t?(this._key=t,this.fields[t]=null,!0):!1}_storeValue(e){if(this._key){try{let t=this._buffer.slice(0,e);this.fields[this._key]=Yl[this._key]?Yl[this._key](t):t}catch{return!1}return!0}return!1}},kn={mime:"unsupported",width:0,height:0};function Hg(e){if(e.length<24)return kn;let t=new Uint32Array(e.buffer,e.byteOffset,6);if(t[0]===1196314761&&t[1]===169478669&&t[3]===1380206665)return{mime:"image/png",width:e[16]<<24|e[17]<<16|e[18]<<8|e[19],height:e[20]<<24|e[21]<<16|e[22]<<8|e[23]};if(e[0]===255&&e[1]===216&&e[2]===255){let[i,s]=Wg(e);return{mime:"image/jpeg",width:i,height:s}}return t[0]===944130375&&(e[4]===55||e[4]===57)&&e[5]===97?{mime:"image/gif",width:e[7]<<8|e[6],height:e[9]<<8|e[8]}:kn}function Wg(e){let t=e.length,i=4,s=e[i]<<8|e[i+1];for(;;){if(i+=s,i>=t)return[0,0];if(e[i]!==255)return[0,0];if(e[i+1]===192||e[i+1]===194)return i+80){if(this._header=Object.assign({},uo,this._hp.fields),!this._header.inline||!this._header.size||this._header.size>this._opts.iipSizeLimit){this._aborted=!0;return}this._dec.init(this._header.size),this._dec.put(e,s,i)&&(this._dec.release(),this._aborted=!0)}}}end(e){if(this._aborted)return!0;let t=0,i=0,s=!0;if((s=e)&&(s=!this._dec.end())&&(this._metrics=Hg(this._dec.data8),(s=this._metrics.mime!=="unsupported")&&(t=this._metrics.width,i=this._metrics.height,(s=t&&i&&t*i{a.addEventListener("load",()=>{var l;URL.revokeObjectURL(n);let h=Fn.createCanvas(window.document,t,i);(l=h.getContext("2d"))==null||l.drawImage(a,0,0,t,i),this._storage.addImage(h),o(!0)}),a.src=n,setTimeout(()=>o(!0),1e3)})}return createImageBitmap(r,{resizeWidth:t,resizeHeight:i}).then(n=>(this._storage.addImage(n),!0))}_resize(e,t){var h,l,c,d;let i=((h=this._renderer.dimensions)==null?void 0:h.css.cell.width)||Ir.width,s=((l=this._renderer.dimensions)==null?void 0:l.css.cell.height)||Ir.height,r=((c=this._renderer.dimensions)==null?void 0:c.css.canvas.width)||i*this._coreTerminal.cols,n=((d=this._renderer.dimensions)==null?void 0:d.css.canvas.height)||s*this._coreTerminal.rows,a=this._dim(this._header.width,r,i),o=this._dim(this._header.height,n,s);if(!a&&!o){let g=r/e,u=(n-s)/t,p=Math.min(g,u);return p<1?[e*p,t*p]:[e,t]}return a?this._header.preserveAspectRatio||!a||!o?[a,t*a/e]:[a,o]:[e*o/t,o]}_dim(e,t,i){return e==="auto"?0:e.endsWith("%")?parseInt(e.slice(0,-1))*t/100:e.endsWith("px")?parseInt(e.slice(0,-2)):parseInt(e)*i}},Dr=Nn(La()),qg=Nn(Bg()),$g=4194304,ha=Dr.PALETTE_ANSI_256;ha.set(Dr.PALETTE_VT340_COLOR);var Gg=class{constructor(e,t,i){this._opts=e,this._storage=t,this._coreTerminal=i,this._size=0,this._aborted=!1,(0,qg.DecoderAsync)({memoryLimit:this._opts.pixelLimit*4,palette:ha,paletteLimit:this._opts.sixelPaletteLimit}).then(s=>this._dec=s)}reset(){this._dec&&(this._dec.release(),this._dec._palette.fill(0),this._dec.init(0,ha,this._opts.sixelPaletteLimit))}hook(e){var t;if(this._size=0,this._aborted=!1,this._dec){let i=e.params[1]===1?0:Kg(this._coreTerminal._core._inputHandler._curAttrData,(t=this._coreTerminal._core._themeService)==null?void 0:t.colors);this._dec.init(i,null,this._opts.sixelPaletteLimit)}}put(e,t,i){if(!(this._aborted||!this._dec)){if(this._size+=i-t,this._size>this._opts.sixelSizeLimit){console.warn("SIXEL: too much data, aborting"),this._aborted=!0,this._dec.release();return}try{this._dec.decode(e,t,i)}catch(s){console.warn(`SIXEL: error while decoding image - ${s}`),this._aborted=!0,this._dec.release()}}}unhook(e){var r;if(this._aborted||!e||!this._dec)return!0;let t=this._dec.width,i=this._dec.height;if(!t||!i)return i&&this._storage.advanceCursor(i),!0;let s=Fn.createCanvas(void 0,t,i);return(r=s.getContext("2d"))==null||r.putImageData(new ImageData(this._dec.data8,t,i),0,0),this._dec.memoryUsage>$g&&this._dec.release(),this._storage.addImage(s),!0}};function Kg(e,t){let i=0;if(!t)return i;if(e.isInverse())if(e.isFgDefault())i=tn(t.foreground.rgba);else if(e.isFgRGB()){let s=e.constructor.toColorRGB(e.getFgColor());i=(0,Dr.toRGBA8888)(...s)}else i=tn(t.ansi[e.getFgColor()].rgba);else if(e.isBgDefault())i=tn(t.background.rgba);else if(e.isBgRGB()){let s=e.constructor.toColorRGB(e.getBgColor());i=(0,Dr.toRGBA8888)(...s)}else i=tn(t.ansi[e.getBgColor()].rgba);return i}function tn(e){return Dr.BIG_ENDIAN?e:(e&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255}var Xl={enableSizeReports:!0,pixelLimit:16777216,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:256,sixelSizeLimit:25e6,storageLimit:128,showPlaceholder:!0,iipSupport:!0,iipSizeLimit:2e7},Zl=4096,Jg=class{constructor(e){this._disposables=[],this._handlers=new Map,this._opts=Object.assign({},Xl,e),this._defaultOpts=Object.assign({},Xl,e)}dispose(){for(let e of this._disposables)e.dispose();this._disposables.length=0,this._handlers.clear()}_disposeLater(...e){for(let t of e)this._disposables.push(t)}activate(e){if(this._terminal=e,this._renderer=new Fn(e),this._storage=new Qg(e,this._renderer,this._opts),this._opts.enableSizeReports){let t=e.options.windowOptions||{};t.getWinSizePixels=!0,t.getCellSizePixels=!0,t.getWinSizeChars=!0,e.options.windowOptions=t}if(this._disposeLater(this._renderer,this._storage,e.parser.registerCsiHandler({prefix:"?",final:"h"},t=>this._decset(t)),e.parser.registerCsiHandler({prefix:"?",final:"l"},t=>this._decrst(t)),e.parser.registerCsiHandler({final:"c"},t=>this._da1(t)),e.parser.registerCsiHandler({prefix:"?",final:"S"},t=>this._xtermGraphicsAttributes(t)),e.onRender(t=>{var i;return(i=this._storage)==null?void 0:i.render(t)}),e.parser.registerCsiHandler({intermediates:"!",final:"p"},()=>this.reset()),e.parser.registerEscHandler({final:"c"},()=>this.reset()),e._core._inputHandler.onRequestReset(()=>this.reset()),e.buffer.onBufferChange(()=>{var t;return(t=this._storage)==null?void 0:t.wipeAlternate()}),e.onResize(t=>{var i;return(i=this._storage)==null?void 0:i.viewportResize(t)})),this._opts.sixelSupport){let t=new Gg(this._opts,this._storage,e);this._handlers.set("sixel",t),this._disposeLater(e._core._inputHandler._parser.registerDcsHandler({final:"q"},t))}if(this._opts.iipSupport){let t=new Ug(this._opts,this._renderer,this._storage,e);this._handlers.set("iip",t),this._disposeLater(e._core._inputHandler._parser.registerOscHandler(1337,t))}}reset(){var e;this._opts.sixelScrolling=this._defaultOpts.sixelScrolling,this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,(e=this._storage)==null||e.reset();for(let t of this._handlers.values())t.reset();return!1}get storageLimit(){var e;return((e=this._storage)==null?void 0:e.getLimit())||-1}set storageLimit(e){var t;(t=this._storage)==null||t.setLimit(e),this._opts.storageLimit=e}get storageUsage(){return this._storage?this._storage.getUsage():-1}get showPlaceholder(){return this._opts.showPlaceholder}set showPlaceholder(e){var t;this._opts.showPlaceholder=e,(t=this._renderer)==null||t.showPlaceholder(e)}getImageAtBufferCell(e,t){var i;return(i=this._storage)==null?void 0:i.getImageAtBufferCell(e,t)}extractTileAtBufferCell(e,t){var i;return(i=this._storage)==null?void 0:i.extractTileAtBufferCell(e,t)}_report(e){var t;(t=this._terminal)==null||t._core.coreService.triggerDataEvent(e)}_decset(e){for(let t=0;t2&&!(e[2]instanceof Array)&&e[2]<=Zl?(this._opts.sixelPaletteLimit=e[2],this._report(`\x1B[?${e[0]};0;${this._opts.sixelPaletteLimit}S`)):this._report(`\x1B[?${e[0]};2S`),!0;case 4:return this._report(`\x1B[?${e[0]};0;${Zl}S`),!0;default:return this._report(`\x1B[?${e[0]};2S`),!0}if(e[0]===2)switch(e[1]){case 1:let o=(i=(t=this._renderer)==null?void 0:t.dimensions)==null?void 0:i.css.canvas.width,h=(r=(s=this._renderer)==null?void 0:s.dimensions)==null?void 0:r.css.canvas.height;if(!o||!h){let c=Ir;o=(((n=this._terminal)==null?void 0:n.cols)||80)*c.width,h=(((a=this._terminal)==null?void 0:a.rows)||24)*c.height}if(o*hn.delete(g)}async function d(g){r=g;try{const{settings:u}=await r.request["settings.getAll"]({}),p=u.ui_font_family??Xt.uiFontFamily,_=parseInt(u.ui_font_size??"",10),v=isNaN(_)?Xt.uiFontSize:_,A=u.term_font_family??Xt.termFontFamily,x=parseInt(u.term_font_size??"",10),S=isNaN(x)?Xt.termFontSize:x;a(p,v),o(A,S)}catch(u){console.error("[font-store] Failed to load font settings:",u),a(Xt.uiFontFamily,Xt.uiFontSize),o(Xt.termFontFamily,Xt.termFontSize)}}return{get uiFontFamily(){return f(e)},get uiFontSize(){return f(t)},get termFontFamily(){return f(i)},get termFontSize(){return f(s)},setUIFont:h,setTermFont:l,onTermFontChange:c,initFonts:d}}const kt=jg(),Ra=[{id:"mocha",label:"Catppuccin Mocha",group:"Catppuccin",isDark:!0},{id:"macchiato",label:"Catppuccin Macchiato",group:"Catppuccin",isDark:!0},{id:"frappe",label:"Catppuccin Frappé",group:"Catppuccin",isDark:!0},{id:"latte",label:"Catppuccin Latte",group:"Catppuccin",isDark:!1},{id:"vscode-dark",label:"VSCode Dark+",group:"Editor",isDark:!0},{id:"atom-one-dark",label:"Atom One Dark",group:"Editor",isDark:!0},{id:"monokai",label:"Monokai",group:"Editor",isDark:!0},{id:"dracula",label:"Dracula",group:"Editor",isDark:!0},{id:"nord",label:"Nord",group:"Editor",isDark:!0},{id:"solarized-dark",label:"Solarized Dark",group:"Editor",isDark:!0},{id:"github-dark",label:"GitHub Dark",group:"Editor",isDark:!0},{id:"tokyo-night",label:"Tokyo Night",group:"Deep Dark",isDark:!0},{id:"gruvbox-dark",label:"Gruvbox Dark",group:"Deep Dark",isDark:!0},{id:"ayu-dark",label:"Ayu Dark",group:"Deep Dark",isDark:!0},{id:"poimandres",label:"Poimandres",group:"Deep Dark",isDark:!0},{id:"vesper",label:"Vesper",group:"Deep Dark",isDark:!0},{id:"midnight",label:"Midnight",group:"Deep Dark",isDark:!0}],Yg=[...new Set(Ra.map(e=>e.group))],eh={latte:{rosewater:"#dc8a78",flamingo:"#dd7878",pink:"#ea76cb",mauve:"#8839ef",red:"#d20f39",maroon:"#e64553",peach:"#fe640b",yellow:"#df8e1d",green:"#40a02b",teal:"#179299",sky:"#04a5e5",sapphire:"#209fb5",blue:"#1e66f5",lavender:"#7287fd",text:"#4c4f69",subtext1:"#5c5f77",subtext0:"#6c6f85",overlay2:"#7c7f93",overlay1:"#8c8fa1",overlay0:"#9ca0b0",surface2:"#acb0be",surface1:"#bcc0cc",surface0:"#ccd0da",base:"#eff1f5",mantle:"#e6e9ef",crust:"#dce0e8"},frappe:{rosewater:"#f2d5cf",flamingo:"#eebebe",pink:"#f4b8e4",mauve:"#ca9ee6",red:"#e78284",maroon:"#ea999c",peach:"#ef9f76",yellow:"#e5c890",green:"#a6d189",teal:"#81c8be",sky:"#99d1db",sapphire:"#85c1dc",blue:"#8caaee",lavender:"#babbf1",text:"#c6d0f5",subtext1:"#b5bfe2",subtext0:"#a5adce",overlay2:"#949cbb",overlay1:"#838ba7",overlay0:"#737994",surface2:"#626880",surface1:"#51576d",surface0:"#414559",base:"#303446",mantle:"#292c3c",crust:"#232634"},macchiato:{rosewater:"#f4dbd6",flamingo:"#f0c6c6",pink:"#f5bde6",mauve:"#c6a0f6",red:"#ed8796",maroon:"#ee99a0",peach:"#f5a97f",yellow:"#eed49f",green:"#a6da95",teal:"#8bd5ca",sky:"#91d7e3",sapphire:"#7dc4e4",blue:"#8aadf4",lavender:"#b7bdf8",text:"#cad3f5",subtext1:"#b8c0e0",subtext0:"#a5adcb",overlay2:"#939ab7",overlay1:"#8087a2",overlay0:"#6e738d",surface2:"#5b6078",surface1:"#494d64",surface0:"#363a4f",base:"#24273a",mantle:"#1e2030",crust:"#181926"},mocha:{rosewater:"#f5e0dc",flamingo:"#f2cdcd",pink:"#f5c2e7",mauve:"#cba6f7",red:"#f38ba8",maroon:"#eba0ac",peach:"#fab387",yellow:"#f9e2af",green:"#a6e3a1",teal:"#94e2d5",sky:"#89dceb",sapphire:"#74c7ec",blue:"#89b4fa",lavender:"#b4befe",text:"#cdd6f4",subtext1:"#bac2de",subtext0:"#a6adc8",overlay2:"#9399b2",overlay1:"#7f849c",overlay0:"#6c7086",surface2:"#585b70",surface1:"#45475a",surface0:"#313244",base:"#1e1e2e",mantle:"#181825",crust:"#11111b"},"vscode-dark":{rosewater:"#d4a0a0",flamingo:"#cf8686",pink:"#c586c0",mauve:"#c586c0",red:"#f44747",maroon:"#d16969",peach:"#ce9178",yellow:"#dcdcaa",green:"#6a9955",teal:"#4ec9b0",sky:"#9cdcfe",sapphire:"#4fc1ff",blue:"#569cd6",lavender:"#b4b4f7",text:"#d4d4d4",subtext1:"#cccccc",subtext0:"#b0b0b0",overlay2:"#858585",overlay1:"#6e6e6e",overlay0:"#5a5a5a",surface2:"#3e3e42",surface1:"#333338",surface0:"#2d2d30",base:"#1e1e1e",mantle:"#181818",crust:"#111111"},"atom-one-dark":{rosewater:"#e5c07b",flamingo:"#e06c75",pink:"#c678dd",mauve:"#c678dd",red:"#e06c75",maroon:"#be5046",peach:"#d19a66",yellow:"#e5c07b",green:"#98c379",teal:"#56b6c2",sky:"#56b6c2",sapphire:"#61afef",blue:"#61afef",lavender:"#c8ccd4",text:"#abb2bf",subtext1:"#9da5b4",subtext0:"#8b92a0",overlay2:"#7f848e",overlay1:"#636d83",overlay0:"#545862",surface2:"#474b56",surface1:"#3b3f4c",surface0:"#333842",base:"#282c34",mantle:"#21252b",crust:"#181a1f"},monokai:{rosewater:"#f8f8f2",flamingo:"#f92672",pink:"#f92672",mauve:"#ae81ff",red:"#f92672",maroon:"#f92672",peach:"#fd971f",yellow:"#e6db74",green:"#a6e22e",teal:"#66d9ef",sky:"#66d9ef",sapphire:"#66d9ef",blue:"#66d9ef",lavender:"#ae81ff",text:"#f8f8f2",subtext1:"#e8e8e2",subtext0:"#cfcfc2",overlay2:"#a8a8a2",overlay1:"#90908a",overlay0:"#75715e",surface2:"#595950",surface1:"#49483e",surface0:"#3e3d32",base:"#272822",mantle:"#1e1f1c",crust:"#141411"},dracula:{rosewater:"#f1c4e0",flamingo:"#ff79c6",pink:"#ff79c6",mauve:"#bd93f9",red:"#ff5555",maroon:"#ff6e6e",peach:"#ffb86c",yellow:"#f1fa8c",green:"#50fa7b",teal:"#8be9fd",sky:"#8be9fd",sapphire:"#8be9fd",blue:"#6272a4",lavender:"#bd93f9",text:"#f8f8f2",subtext1:"#e8e8e2",subtext0:"#c0c0ba",overlay2:"#a0a0a0",overlay1:"#7f7f7f",overlay0:"#6272a4",surface2:"#555969",surface1:"#44475a",surface0:"#383a4a",base:"#282a36",mantle:"#21222c",crust:"#191a21"},nord:{rosewater:"#d08770",flamingo:"#bf616a",pink:"#b48ead",mauve:"#b48ead",red:"#bf616a",maroon:"#bf616a",peach:"#d08770",yellow:"#ebcb8b",green:"#a3be8c",teal:"#8fbcbb",sky:"#88c0d0",sapphire:"#81a1c1",blue:"#5e81ac",lavender:"#b48ead",text:"#eceff4",subtext1:"#e5e9f0",subtext0:"#d8dee9",overlay2:"#a5adba",overlay1:"#8891a0",overlay0:"#6c7588",surface2:"#4c566a",surface1:"#434c5e",surface0:"#3b4252",base:"#2e3440",mantle:"#272c36",crust:"#20242c"},"solarized-dark":{rosewater:"#d33682",flamingo:"#dc322f",pink:"#d33682",mauve:"#6c71c4",red:"#dc322f",maroon:"#cb4b16",peach:"#cb4b16",yellow:"#b58900",green:"#859900",teal:"#2aa198",sky:"#2aa198",sapphire:"#268bd2",blue:"#268bd2",lavender:"#6c71c4",text:"#839496",subtext1:"#93a1a1",subtext0:"#778a8b",overlay2:"#657b83",overlay1:"#586e75",overlay0:"#4a6068",surface2:"#1c4753",surface1:"#143845",surface0:"#073642",base:"#002b36",mantle:"#00222b",crust:"#001a21"},"github-dark":{rosewater:"#ffa198",flamingo:"#ff7b72",pink:"#f778ba",mauve:"#d2a8ff",red:"#ff7b72",maroon:"#ffa198",peach:"#ffa657",yellow:"#e3b341",green:"#7ee787",teal:"#56d4dd",sky:"#79c0ff",sapphire:"#79c0ff",blue:"#58a6ff",lavender:"#d2a8ff",text:"#c9d1d9",subtext1:"#b1bac4",subtext0:"#8b949e",overlay2:"#6e7681",overlay1:"#565c64",overlay0:"#484f58",surface2:"#373e47",surface1:"#30363d",surface0:"#21262d",base:"#0d1117",mantle:"#090c10",crust:"#050608"},"tokyo-night":{rosewater:"#f7768e",flamingo:"#ff9e64",pink:"#bb9af7",mauve:"#bb9af7",red:"#f7768e",maroon:"#db4b4b",peach:"#ff9e64",yellow:"#e0af68",green:"#9ece6a",teal:"#73daca",sky:"#7dcfff",sapphire:"#7aa2f7",blue:"#7aa2f7",lavender:"#bb9af7",text:"#c0caf5",subtext1:"#a9b1d6",subtext0:"#9aa5ce",overlay2:"#787c99",overlay1:"#565f89",overlay0:"#414868",surface2:"#3b4261",surface1:"#292e42",surface0:"#232433",base:"#1a1b26",mantle:"#16161e",crust:"#101014"},"gruvbox-dark":{rosewater:"#d65d0e",flamingo:"#cc241d",pink:"#d3869b",mauve:"#b16286",red:"#fb4934",maroon:"#cc241d",peach:"#fe8019",yellow:"#fabd2f",green:"#b8bb26",teal:"#8ec07c",sky:"#83a598",sapphire:"#83a598",blue:"#458588",lavender:"#d3869b",text:"#ebdbb2",subtext1:"#d5c4a1",subtext0:"#bdae93",overlay2:"#a89984",overlay1:"#928374",overlay0:"#7c6f64",surface2:"#504945",surface1:"#3c3836",surface0:"#32302f",base:"#1d2021",mantle:"#191b1c",crust:"#141617"},"ayu-dark":{rosewater:"#f07178",flamingo:"#f07178",pink:"#d2a6ff",mauve:"#d2a6ff",red:"#f07178",maroon:"#f07178",peach:"#ff8f40",yellow:"#ffb454",green:"#aad94c",teal:"#95e6cb",sky:"#73b8ff",sapphire:"#59c2ff",blue:"#59c2ff",lavender:"#d2a6ff",text:"#bfbdb6",subtext1:"#acaaa4",subtext0:"#9b9892",overlay2:"#73726e",overlay1:"#5c5b57",overlay0:"#464542",surface2:"#383838",surface1:"#2c2c2c",surface0:"#242424",base:"#0b0e14",mantle:"#080a0f",crust:"#05070a"},poimandres:{rosewater:"#d0679d",flamingo:"#d0679d",pink:"#fcc5e9",mauve:"#a6accd",red:"#d0679d",maroon:"#d0679d",peach:"#e4f0fb",yellow:"#fffac2",green:"#5de4c7",teal:"#5de4c7",sky:"#89ddff",sapphire:"#add7ff",blue:"#91b4d5",lavender:"#a6accd",text:"#e4f0fb",subtext1:"#d0d6e0",subtext0:"#a6accd",overlay2:"#767c9d",overlay1:"#506477",overlay0:"#3e4f5e",surface2:"#303340",surface1:"#252b37",surface0:"#1e2433",base:"#1b1e28",mantle:"#171922",crust:"#12141c"},vesper:{rosewater:"#de6e6e",flamingo:"#de6e6e",pink:"#c79bf0",mauve:"#c79bf0",red:"#de6e6e",maroon:"#de6e6e",peach:"#ffcfa8",yellow:"#ffc799",green:"#7cb37c",teal:"#6bccb0",sky:"#8abeb7",sapphire:"#6eb4bf",blue:"#6eb4bf",lavender:"#c79bf0",text:"#b8b5ad",subtext1:"#a09d95",subtext0:"#878480",overlay2:"#6e6b66",overlay1:"#55524d",overlay0:"#3d3a36",surface2:"#302e2a",surface1:"#252320",surface0:"#1c1a17",base:"#101010",mantle:"#0a0a0a",crust:"#050505"},midnight:{rosewater:"#e8a0bf",flamingo:"#ea6f91",pink:"#e8a0bf",mauve:"#c4a7e7",red:"#eb6f92",maroon:"#ea6f91",peach:"#f6c177",yellow:"#ebbcba",green:"#9ccfd8",teal:"#9ccfd8",sky:"#a4d4e4",sapphire:"#8bbee8",blue:"#7ba4cc",lavender:"#c4a7e7",text:"#c4c4c4",subtext1:"#a8a8a8",subtext0:"#8c8c8c",overlay2:"#6e6e6e",overlay1:"#525252",overlay0:"#383838",surface2:"#262626",surface1:"#1a1a1a",surface0:"#111111",base:"#000000",mantle:"#000000",crust:"#000000"}},Vg=Ra;function Ta(e){return eh[e]??eh.mocha}function Xg(e){const t=Ta(e);return{background:t.base,foreground:t.text,cursor:t.rosewater,cursorAccent:t.base,selectionBackground:t.surface1,selectionForeground:t.text,black:t.surface1,red:t.red,green:t.green,yellow:t.yellow,blue:t.blue,magenta:t.pink,cyan:t.teal,white:t.subtext1,brightBlack:t.surface2,brightRed:t.red,brightGreen:t.green,brightYellow:t.yellow,brightBlue:t.blue,brightMagenta:t.pink,brightCyan:t.teal,brightWhite:t.subtext0}}const fn=[["--ctp-rosewater","rosewater"],["--ctp-flamingo","flamingo"],["--ctp-pink","pink"],["--ctp-mauve","mauve"],["--ctp-red","red"],["--ctp-maroon","maroon"],["--ctp-peach","peach"],["--ctp-yellow","yellow"],["--ctp-green","green"],["--ctp-teal","teal"],["--ctp-sky","sky"],["--ctp-sapphire","sapphire"],["--ctp-blue","blue"],["--ctp-lavender","lavender"],["--ctp-text","text"],["--ctp-subtext1","subtext1"],["--ctp-subtext0","subtext0"],["--ctp-overlay2","overlay2"],["--ctp-overlay1","overlay1"],["--ctp-overlay0","overlay0"],["--ctp-surface2","surface2"],["--ctp-surface1","surface1"],["--ctp-surface0","surface0"],["--ctp-base","base"],["--ctp-mantle","mantle"],["--ctp-crust","crust"]];function Uc(e){const t=Ta(e),i=document.documentElement.style;for(const[s,r]of fn)i.setProperty(s,t[r])}const th="theme",_o="mocha";function Zg(e){return Ra.some(t=>t.id===e)}function ep(){let e=ie(_o),t=null;function i(n){Uc(n),N(e,n,!0)}function s(n){i(n),t&&t.request["settings.set"]({key:th,value:n}).catch(a=>{console.error("[theme-store] Failed to persist theme:",a)})}async function r(n){t=n;try{const o=(await t.request["settings.get"]({key:th})).value;o&&Zg(o)?i(o):i(_o)}catch(a){console.error("[theme-store] Failed to load theme from settings:",a),i(_o)}}return{get currentTheme(){return f(e)},setTheme:s,initTheme:r}}const Ns=ep();var tp=G('
');function ip(e,t){ot(t,!0);let i,s,r,n=null,a=null;function o(l){const c=atob(l),d=new Uint8Array(c.length);for(let g=0;g{var g,u;const l=Ns.currentTheme,c=kt.termFontFamily||"JetBrains Mono, Fira Code, monospace",d=kt.termFontSize||13;s=new _g({theme:Xg(l),fontFamily:c,fontSize:d,cursorBlink:!0,allowProposedApi:!0,scrollback:5e3}),r=new mg,s.loadAddon(r),s.loadAddon(new vg.CanvasAddon),s.loadAddon(new Jg({enableSizeReports:!0,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:4096,showPlaceholder:!0})),s.open(i),r.fit(),n=kt.onTermFontChange((p,_)=>{var v;s.options.fontFamily=p||"JetBrains Mono, Fira Code, monospace",s.options.fontSize=_,r.fit(),(v=hs.rpc)==null||v.request["pty.resize"]({sessionId:t.sessionId,cols:s.cols,rows:s.rows}).catch(()=>{})}),(async()=>{var A;const{cols:p,rows:_}=s,v=await((A=hs.rpc)==null?void 0:A.request["pty.create"]({sessionId:t.sessionId,cols:p,rows:_,cwd:t.cwd}));v!=null&&v.ok||(s.writeln(`\x1B[31m[agor] Failed to connect to PTY daemon: ${(v==null?void 0:v.error)??"unknown error"}\x1B[0m`),s.writeln("\x1B[33m[agor] Is agor-ptyd running? Start it with: agor-ptyd\x1B[0m"))})(),(g=hs.rpc)==null||g.addMessageListener("pty.output",({sessionId:p,data:_})=>{p===t.sessionId&&s.write(o(_))}),(u=hs.rpc)==null||u.addMessageListener("pty.closed",({sessionId:p,exitCode:_})=>{p===t.sessionId&&s.writeln(`\r -\x1B[90m[Process exited${_!==null?` with code ${_}`:""}]\x1B[0m`)}),s.onData(p=>{var _;(_=hs.rpc)==null||_.request["pty.write"]({sessionId:t.sessionId,data:p}).catch(v=>{console.error("[pty.write] error:",v)})}),s.onResize(({cols:p,rows:_})=>{var v;(v=hs.rpc)==null||v.request["pty.resize"]({sessionId:t.sessionId,cols:p,rows:_}).catch(()=>{})}),a=new ResizeObserver(()=>{r.fit()}),a.observe(i)}),vu(()=>{var l;n==null||n(),a==null||a.disconnect(),(l=hs.rpc)==null||l.request["pty.unsubscribe"]({sessionId:t.sessionId}).catch(()=>{}),s==null||s.dispose()});var h=tp();xr(h,l=>i=l,()=>i),U(e,h),at()}var sp=G(''),rp=G('
'),np=G('
'),op=G('
'),ap=G('
');function lp(e,t){ot(t,!0);let i=jt(t,"accent",3,"var(--ctp-mauve)");const r=`${t.projectId}-t1`;let n=ie(Le([{id:r,title:"shell 1"}])),a=ie(r),o=ie(!0),h=ie(2),l=ie(Le(new Set([r])));function c(){document.activeElement instanceof HTMLElement&&document.activeElement.blur()}function d(){c();const b=`${t.projectId}-t${f(h)}`;N(n,[...f(n),{id:b,title:`shell ${f(h)}`}],!0),qd(h),N(a,b),N(l,new Set([...f(l),b]),!0)}function g(b,D){D.stopPropagation(),c();const I=f(n).findIndex(B=>B.id===b);if(N(n,f(n).filter(B=>B.id!==b),!0),f(a)===b){const B=f(n)[Math.min(I,f(n).length-1)];N(a,(B==null?void 0:B.id)??"",!0)}const E=new Set(f(l));E.delete(b),N(l,E,!0)}function u(b){c(),N(a,b,!0),f(l).has(b)||N(l,new Set([...f(l),b]),!0),f(o)||N(o,!0)}function p(){c(),N(o,!f(o))}var _=ap(),v=M(_);v.__mousedown=c;var A=M(v);A.__click=p;var x=M(A);let S;var w=P(A,2),y=M(w);Ee(y,17,()=>f(n),b=>b.id,(b,D)=>{var I=rp();let E;I.__click=()=>u(f(D).id),I.__keydown=Q=>{(Q.key==="Enter"||Q.key===" ")&&u(f(D).id)};var B=M(I),L=M(B),R=P(B,2);{var O=Q=>{var T=sp();T.__click=z=>g(f(D).id,z),se(()=>ve(T,"aria-label",`Close ${f(D).title??""}`)),U(Q,T)};ne(R,Q=>{f(n).length>1&&Q(O)})}se(()=>{E=pe(I,1,"term-tab svelte-n9472g",null,E,{active:f(a)===f(D).id}),ve(I,"tabindex",f(a)===f(D).id?0:-1),ve(I,"aria-selected",f(a)===f(D).id),X(L,f(D).title)}),U(b,I)});var m=P(y,2);m.__click=()=>d();var C=P(v,2);{var k=b=>{var D=op();Ee(D,21,()=>f(n),I=>I.id,(I,E)=>{var B=Nt(),L=Ve(B);{var R=O=>{var Q=np();let T;var z=M(Q);ip(z,{get sessionId(){return f(E).id}}),se(()=>T=Jt(Q,"",T,{display:f(a)===f(E).id?"flex":"none"})),U(O,Q)};ne(L,O=>{f(l).has(f(E).id)&&O(R)})}U(I,B)}),U(b,D)};ne(C,b=>{f(o)&&b(k)})}se(()=>{Jt(_,`--accent: ${i()??""}`),ve(A,"title",f(o)?"Collapse terminal":"Expand terminal"),S=pe(x,0,"chevron svelte-n9472g",null,S,{open:f(o)})}),U(e,_),at()}bt(["mousedown","click","keydown"]);var hp=G(' ',1),cp=G(''),dp=G('
(click to open in editor)
'),up=G('
');function _p(e,t){ot(t,!0);const i=[{name:"src",type:"dir",children:[{name:"lib",type:"dir",children:[{name:"stores",type:"dir",children:[{name:"workspace.svelte.ts",type:"file"},{name:"agents.svelte.ts",type:"file"},{name:"health.svelte.ts",type:"file"}]},{name:"adapters",type:"dir",children:[{name:"claude-messages.ts",type:"file"},{name:"agent-bridge.ts",type:"file"}]},{name:"agent-dispatcher.ts",type:"file"}]},{name:"App.svelte",type:"file"}]},{name:"src-tauri",type:"dir",children:[{name:"src",type:"dir",children:[{name:"lib.rs",type:"file"},{name:"btmsg.rs",type:"file"}]}]},{name:"Cargo.toml",type:"file"},{name:"package.json",type:"file"},{name:"vite.config.ts",type:"file"}];let s=ie(Le(new Set(["src","src/lib","src/lib/stores"]))),r=ie(null);function n(g){const u=new Set(f(s));u.has(g)?u.delete(g):u.add(g),N(s,u,!0)}function a(g){N(r,g,!0)}function o(g){return g.endsWith(".ts")||g.endsWith(".svelte.ts")?"⟨/⟩":g.endsWith(".svelte")?"◈":g.endsWith(".rs")?"⊕":g.endsWith(".toml")?"⚙":g.endsWith(".json")?"{}":"·"}var h=up(),l=M(h);{const g=(u,p=Un,_=Un,v=Un)=>{var A=Nt(),x=Ve(A);{var S=y=>{var m=hp(),C=Ve(m);C.__click=()=>n(_());let k;var b=M(C);let D;var I=P(b,4),E=M(I),B=P(C,2);{var L=R=>{var O=Nt(),Q=Ve(O);Ee(Q,17,()=>p().children,Re,(T,z)=>{g(T,()=>f(z),()=>`${_()}/${f(z).name}`,()=>v()+1)}),U(R,O)};ne(B,R=>{f(s).has(_())&&p().children&&R(L)})}se((R,O)=>{ve(C,"aria-expanded",R),k=Jt(C,"",k,{"padding-left":`${.5+v()*.875}rem`}),D=pe(b,1,"fb-chevron svelte-ly4nw6",null,D,O),X(E,p().name)},[()=>f(s).has(_()),()=>({open:f(s).has(_())})]),U(y,m)},w=y=>{var m=cp();let C;m.__click=()=>a(_());let k;var b=M(m),D=M(b),I=P(b,2),E=M(I);se(B=>{C=pe(m,1,"fb-row fb-file svelte-ly4nw6",null,C,{selected:f(r)===_()}),ve(m,"title",_()),k=Jt(m,"",k,{"padding-left":`${.5+v()*.875}rem`}),X(D,B),X(E,p().name)},[()=>o(p().name)]),U(y,m)};ne(x,y=>{p().type==="dir"?y(S):y(w,!1)})}U(u,A)};Ee(l,21,()=>i,Re,(u,p)=>{g(u,()=>f(p),()=>f(p).name,()=>0)})}var c=P(l,2);{var d=g=>{var u=dp(),p=M(u),_=M(p);se(()=>X(_,f(r))),U(g,u)};ne(c,g=>{f(r)&&g(d)})}U(e,h),at()}bt(["click"]);Bd();var fp=G(' '),vp=G('

'),gp=G('
via Memora
');function pp(e){const t=[{id:1,title:"Agent Orchestrator — Tech Stack",body:"Tauri 2.x + Svelte 5 frontend. Rust backend with rusqlite (WAL mode). Agent sessions via @anthropic-ai/claude-agent-sdk query(). Sidecar uses stdio NDJSON.",tags:["agor","tech-stack","architecture"],trust:"human",updatedAt:"2026-03-20"},{id:2,title:"btmsg SQLite conventions",body:'All queries use named column access (row.get("column_name")) — never positional indices. Rust structs use #[serde(rename_all = "camelCase")].',tags:["agor","database","btmsg"],trust:"agent",updatedAt:"2026-03-19"},{id:3,title:"Wake Scheduler — 3 strategies",body:"persistent=resume prompt, on-demand=fresh session, smart=threshold-gated on-demand. 6 wake signals from S-3 hybrid tribunal. Pure scorer in wake-scorer.ts (24 tests).",tags:["agor","wake-scheduler","agents"],trust:"agent",updatedAt:"2026-03-18"},{id:4,title:"Svelte 5 runes file extension rule",body:'Store files using Svelte 5 runes ($state, $derived) MUST have .svelte.ts extension. Plain .ts compiles but fails at runtime with "rune_outside_svelte".',tags:["agor","svelte","conventions"],trust:"auto",updatedAt:"2026-03-17"}],i={human:"Human",agent:"Agent",auto:"Auto"};var s=gp(),r=M(s),n=M(r),a=M(n),o=P(r,2);Ee(o,5,()=>t,h=>h.id,(h,l)=>{var c=vp(),d=M(c),g=M(d),u=M(g),p=P(g,2),_=M(p),v=P(d,2),A=M(v),x=P(v,2),S=M(x);Ee(S,5,()=>f(l).tags,Re,(m,C)=>{var k=fp(),b=M(k);se(()=>X(b,f(C))),U(m,k)});var w=P(S,2),y=M(w);se(()=>{X(u,f(l).title),pe(p,1,`trust-badge trust-${f(l).trust??""}`,"svelte-1k7ge8m"),ve(p,"title",`Source: ${i[f(l).trust]??""}`),X(_,i[f(l).trust]),X(A,f(l).body),X(y,f(l).updatedAt)}),U(h,c)}),se(()=>X(a,`${t.length??""} fragments`)),U(e,s)}var mp=G(' '),Ap=G(" "),wp=G(' '),Cp=G(''),bp=G('
No markdown files open
'),Sp=G('
'),yp=G('
Tokens used
Context %
Model
'),xp=G('
'),kp=G('
No SSH connections configured
'),Ep=G('
'),Bp=G('
');function Ip(e,t){ot(t,!0);let i=jt(t,"provider",3,"claude"),s=jt(t,"model",3,"claude-opus-4-5"),r=jt(t,"contextPct",3,0),n=jt(t,"burnRate",3,0),a=jt(t,"blinkVisible",3,!0),o=ie("model");const h=t.messages.slice();let l=ie(Le(h)),c=ie(Le(new Set(["model"])));const d=["model","docs","context","files","ssh","memory"];function g($){N(o,$,!0),N(c,new Set([...f(c),$]),!0)}function u($){const H={id:f(l).length+1,role:"user",content:$};N(l,[...f(l),H],!0),setTimeout(()=>{N(l,[...f(l),{id:f(l).length+1,role:"assistant",content:`(demo) Received: "${$}"`}],!0)},400)}var p=Bp(),_=M(p),v=M(_),A=M(v);let x;var S=P(v,2),w=M(S),y=P(S,2),m=M(y),C=P(y,2),k=M(C),b=P(C,2);{var D=$=>{var H=mp(),W=M(H);se(()=>{ve(H,"title",`Profile: ${t.profile??""}`),X(W,t.profile)}),U($,H)};ne(b,$=>{t.profile&&$(D)})}var I=P(b,2);{var E=$=>{var H=Ap();let W;var Z=M(H);se(()=>{W=pe(H,1,"ctx-badge svelte-1aqfagj",null,W,{"ctx-warn":r()>=75,"ctx-danger":r()>=90}),ve(H,"title",`Context window ${r()??""}% used`),X(Z,`${r()??""}%`)}),U($,H)};ne(I,$=>{r()>50&&$(E)})}var B=P(I,2);{var L=$=>{var H=wp(),W=M(H);se(Z=>X(W,`$${Z??""}/hr`),[()=>n().toFixed(2)]),U($,H)};ne(B,$=>{n()>0&&$(L)})}var R=P(_,2);Ee(R,21,()=>d,Re,($,H)=>{var W=Cp();let Z;W.__click=()=>g(f(H));var _e=M(W);se(fe=>{Z=pe(W,1,"tab-btn svelte-1aqfagj",null,Z,{active:f(o)===f(H)}),ve(W,"aria-selected",f(o)===f(H)),ve(W,"aria-controls",`tabpanel-${t.id??""}-${f(H)??""}`),X(_e,fe)},[()=>f(H).charAt(0).toUpperCase()+f(H).slice(1)]),U($,W)});var O=P(R,2),Q=M(O);let T;var z=M(Q);s_(z,{get messages(){return f(l)},get status(){return t.status},get costUsd(){return t.costUsd},get tokens(){return t.tokens},get model(){return s()},get provider(){return i()},get profile(){return t.profile},get contextPct(){return r()},get burnRate(){return n()},onSend:u});var K=P(z,2);lp(K,{get projectId(){return t.id},get accent(){return t.accent}});var ae=P(Q,2);{var he=$=>{var H=bp();let W;se(()=>{ve(H,"id",`tabpanel-${t.id??""}-docs`),W=Jt(H,"",W,{display:f(o)==="docs"?"flex":"none"})}),U($,H)};ne(ae,$=>{f(c).has("docs")&&$(he)})}var F=P(ae,2);{var V=$=>{var H=yp();let W;var Z=M(H),_e=M(Z),fe=M(_e),me=P(M(fe),2),ye=M(me),Te=P(fe,2),ge=P(M(Te),2),Ce=M(ge),be=P(Te,2),de=P(M(be),2),Ae=M(de),Ne=P(_e,2),Qe=M(Ne);let Pt,St;var gt=P(Ne,2),He=P(M(gt),2);Ee(He,17,()=>f(l).slice(0,5),Re,(De,Ue)=>{var fi=Sp(),zt=M(fi),vi=M(zt),qi=P(zt,2),Pe=M(qi);se(it=>{pe(zt,1,`ctx-turn-role ctx-role-${f(Ue).role??""}`,"svelte-1aqfagj"),X(vi,f(Ue).role),X(Pe,`${it??""}${f(Ue).content.length>60?"…":""}`)},[()=>f(Ue).content.slice(0,60)]),U(De,fi)}),se(De=>{ve(H,"id",`tabpanel-${t.id??""}-context`),W=Jt(H,"",W,{display:f(o)==="context"?"flex":"none"}),X(ye,De),X(Ce,`${r()??""}%`),X(Ae,s()),ve(Ne,"title",`${r()??""}% context used`),Pt=pe(Qe,1,"ctx-meter-bar svelte-1aqfagj",null,Pt,{"meter-warn":r()>=75,"meter-danger":r()>=90}),St=Jt(Qe,"",St,{width:`${r()??""}%`})},[()=>t.tokens.toLocaleString()]),U($,H)};ne(F,$=>{f(c).has("context")&&$(V)})}var le=P(F,2);{var ce=$=>{var H=xp();let W;var Z=M(H);_p(Z,{}),se(()=>{ve(H,"id",`tabpanel-${t.id??""}-files`),W=Jt(H,"",W,{display:f(o)==="files"?"flex":"none"})}),U($,H)};ne(le,$=>{f(c).has("files")&&$(ce)})}var ee=P(le,2);{var q=$=>{var H=kp();let W;se(()=>{ve(H,"id",`tabpanel-${t.id??""}-ssh`),W=Jt(H,"",W,{display:f(o)==="ssh"?"flex":"none"})}),U($,H)};ne(ee,$=>{f(c).has("ssh")&&$(q)})}var Y=P(ee,2);{var te=$=>{var H=Ep();let W;var Z=M(H);pp(Z),se(()=>{ve(H,"id",`tabpanel-${t.id??""}-memory`),W=Jt(H,"",W,{display:f(o)==="memory"?"flex":"none"})}),U($,H)};ne(Y,$=>{f(c).has("memory")&&$(te)})}se(()=>{Jt(p,`--accent: ${t.accent??""}`),ve(p,"aria-label",`Project: ${t.name??""}`),ve(v,"aria-label",`Status: ${t.status??""}`),x=pe(A,1,`status-dot ${t.status??""}`,"svelte-1aqfagj",x,{"blink-off":t.status==="running"&&!a()}),ve(A,"aria-label",t.status),ve(S,"title",t.name),X(w,t.name),ve(y,"title",t.cwd),X(m,t.cwd),ve(C,"title",`Provider: ${i()??""}`),X(k,i()),ve(R,"aria-label",`${t.name??""} tabs`),ve(Q,"id",`tabpanel-${t.id??""}-model`),T=Jt(Q,"",T,{display:f(o)==="model"?"flex":"none"})}),U(e,p),at()}bt(["click"]);var Dp=G('

'),Mp=G('
'),Lp=G('
'),Rp=G('
Accents
Neutrals
');function Tp(e,t){ot(t,!0);const i=["rosewater","flamingo","pink","mauve","red","maroon","peach","yellow","green","teal","sky","sapphire","blue","lavender"],s=["text","subtext1","subtext0","overlay2","overlay1","overlay0","surface2","surface1","surface0","base","mantle","crust"];let r=ie(Le({...t.initialPalette})),n=ie("My Custom Theme"),a=ie(!1),o=ie("");function h(){const L=document.documentElement.style;for(const[R,O]of fn)L.setProperty(R,f(r)[O])}function l(L,R){N(r,{...f(r),[L]:R},!0),h()}function c(){N(r,{...t.initialPalette},!0),h()}async function d(){if(!f(n).trim()){N(o,"Theme name is required");return}N(o,""),N(a,!0);const L=`custom-${Date.now()}`,R={};for(const[,O]of fn)R[O]=f(r)[O];try{await(ue==null?void 0:ue.request["themes.saveCustom"]({id:L,name:f(n).trim(),palette:R})),t.onSave(L,f(n).trim())}catch(O){console.error("[ThemeEditor] save failed:",O)}finally{N(a,!1)}}function g(){Uc(Ns.currentTheme),t.onCancel()}function u(){const L={};for(const[,z]of fn)L[z]=f(r)[z];const R=JSON.stringify({name:f(n),palette:L},null,2),O=new Blob([R],{type:"application/json"}),Q=URL.createObjectURL(O),T=document.createElement("a");T.href=Q,T.download=`${f(n).replace(/\s+/g,"-").toLowerCase()}.json`,T.click(),URL.revokeObjectURL(Q)}function p(){const L=document.createElement("input");L.type="file",L.accept=".json,application/json",L.onchange=async()=>{var O;const R=(O=L.files)==null?void 0:O[0];if(R)try{const Q=await R.text(),T=JSON.parse(Q);if(T.name&&N(n,T.name,!0),T.palette&&typeof T.palette=="object"){N(r,{...basePalette},!0);for(const[z,K]of Object.entries(T.palette))z in f(r)&&typeof K=="string"&&(f(r)[z]=K);N(r,{...f(r)},!0),h()}}catch{}},L.click()}function _(L){return L[0].toUpperCase()+L.slice(1)}var v=Rp(),A=M(v),x=M(A),S=P(x,2);S.__click=u;var w=P(S,2);w.__click=p;var y=P(w,2);y.__click=c;var m=P(A,2);{var C=L=>{var R=Dp(),O=M(R);se(()=>X(O,f(o))),U(L,R)};ne(m,L=>{f(o)&&L(C)})}var k=P(m,4);Ee(k,21,()=>i,Re,(L,R)=>{var O=Mp(),Q=M(O),T=M(Q),z=P(Q,2),K=M(z);K.__input=he=>l(f(R),he.target.value);var ae=P(K,2);ae.__change=he=>{const F=he.target.value.trim();/^#[0-9a-fA-F]{6}$/.test(F)&&l(f(R),F)},se(he=>{ve(Q,"for",`cp-${f(R)??""}`),X(T,he),ve(K,"id",`cp-${f(R)??""}`),_t(K,f(r)[f(R)]),_t(ae,f(r)[f(R)])},[()=>_(f(R))]),U(L,O)});var b=P(k,4);Ee(b,21,()=>s,Re,(L,R)=>{var O=Lp(),Q=M(O),T=M(Q),z=P(Q,2),K=M(z);K.__input=he=>l(f(R),he.target.value);var ae=P(K,2);ae.__change=he=>{const F=he.target.value.trim();/^#[0-9a-fA-F]{6}$/.test(F)&&l(f(R),F)},se(he=>{ve(Q,"for",`cp-${f(R)??""}`),X(T,he),ve(K,"id",`cp-${f(R)??""}`),_t(K,f(r)[f(R)]),_t(ae,f(r)[f(R)])},[()=>_(f(R))]),U(L,O)});var D=P(b,2),I=M(D);I.__click=d;var E=M(I),B=P(I,2);B.__click=g,se(()=>{I.disabled=f(a),X(E,f(a)?"Saving…":"Save as Custom Theme")}),yr(x,()=>f(n),L=>N(n,L)),U(e,v),at()}bt(["click","input","change"]);var Pp=G(''),Qp=G('
  • '),Op=G(' ',1),Np=G('
      '),Fp=G('
    • '),Hp=G('
        '),Wp=G('
      • '),zp=G('
          '),Up=G(""),qp=G('

          Theme

          UI Font

          Terminal Font

          Terminal Cursor

          Scrollback

          lines (100–100k)
          ',1),$p=G('
          ');function Gp(e,t){ot(t,!0);const i=[{value:"",label:"System Default"},{value:"Inter",label:"Inter"},{value:"IBM Plex Sans",label:"IBM Plex Sans"},{value:"Noto Sans",label:"Noto Sans"},{value:"Roboto",label:"Roboto"},{value:"Ubuntu",label:"Ubuntu"}],s=[{value:"",label:"Default (JetBrains Mono)"},{value:"JetBrains Mono",label:"JetBrains Mono"},{value:"Fira Code",label:"Fira Code"},{value:"Cascadia Code",label:"Cascadia Code"},{value:"Source Code Pro",label:"Source Code Pro"},{value:"IBM Plex Mono",label:"IBM Plex Mono"},{value:"monospace",label:"monospace"}];let r=ie(Le(Ns.currentTheme)),n=ie(Le(kt.uiFontFamily)),a=ie(Le(kt.uiFontSize)),o=ie(Le(kt.termFontFamily)),h=ie(Le(kt.termFontSize)),l=ie("block"),c=ie(!0),d=ie(1e3),g=ie(Le([])),u=ie(!1);ai(()=>{N(r,Ns.currentTheme,!0)}),ai(()=>{N(n,kt.uiFontFamily,!0)}),ai(()=>{N(a,kt.uiFontSize,!0)}),ai(()=>{N(o,kt.termFontFamily,!0)}),ai(()=>{N(h,kt.termFontSize,!0)});let p=ie(!1),_=ie(!1),v=ie(!1),A=Ge(()=>[...Vg,...f(g).map(F=>({id:F.id,label:F.name,group:"Custom",isDark:!0}))]),x=Ge(()=>[...Yg,...f(g).length>0?["Custom"]:[]]),S=Ge(()=>{var F;return((F=f(A).find(V=>V.id===f(r)))==null?void 0:F.label)??"Catppuccin Mocha"}),w=Ge(()=>{var F;return((F=i.find(V=>V.value===f(n)))==null?void 0:F.label)??"System Default"}),y=Ge(()=>{var F;return((F=s.find(V=>V.value===f(o)))==null?void 0:F.label)??"Default (JetBrains Mono)"});function m(F){N(r,F,!0),N(p,!1),Ns.setTheme(F),ue==null||ue.request["settings.set"]({key:"theme",value:F}).catch(console.error)}function C(F){N(n,F,!0),N(_,!1),kt.setUIFont(F,f(a))}function k(F){N(o,F,!0),N(v,!1),kt.setTermFont(F,f(h))}function b(F){N(a,Math.max(8,Math.min(24,f(a)+F)),!0),kt.setUIFont(f(n),f(a))}function D(F){N(h,Math.max(8,Math.min(24,f(h)+F)),!0),kt.setTermFont(f(o),f(h))}function I(F){N(l,F,!0),ue==null||ue.request["settings.set"]({key:"cursor_style",value:F}).catch(console.error)}function E(F){N(c,F,!0),ue==null||ue.request["settings.set"]({key:"cursor_blink",value:String(F)}).catch(console.error)}function B(F){N(d,F,!0),ue==null||ue.request["settings.set"]({key:"scrollback",value:String(F)}).catch(console.error)}function L(){N(p,!1),N(_,!1),N(v,!1)}function R(F){F.target.closest(".dd-wrap")||L()}async function O(F){await(ue==null?void 0:ue.request["themes.deleteCustom"]({id:F}).catch(console.error)),N(g,f(g).filter(V=>V.id!==F),!0),f(r)===F&&m("mocha")}function Q(F,V){N(g,[...f(g),{id:F,name:V}],!0),N(u,!1),m(F)}function T(){N(u,!1)}_i(async()=>{if(!ue)return;const{settings:F}=await ue.request["settings.getAll"]({}).catch(()=>({settings:{}}));F.cursor_style&&N(l,F.cursor_style,!0),F.cursor_blink&&N(c,F.cursor_blink!=="false"),F.scrollback&&N(d,parseInt(F.scrollback,10)||1e3,!0);const V=await ue.request["themes.getCustom"]({}).catch(()=>({themes:[]}));N(g,V.themes.map(le=>({id:le.id,name:le.name})),!0)});var z=$p();z.__click=R,z.__keydown=F=>F.key==="Escape"&&L();var K=M(z);{var ae=F=>{{let V=Ge(()=>Ta(f(r)));Tp(F,{get baseThemeId(){return f(r)},get initialPalette(){return f(V)},onSave:Q,onCancel:T})}},he=F=>{var V=qp(),le=P(Ve(V),2),ce=M(le),ee=M(ce);ee.__click=()=>{N(p,!f(p)),N(_,!1),N(v,!1)};var q=M(ee),Y=P(q);let te;var $=P(ee,2);{var H=It=>{var Ut=Np();Ee(Ut,21,()=>f(x),Re,(gi,pt)=>{var lt=Op(),pi=Ve(lt),tr=M(pi),as=P(pi,2);Ee(as,17,()=>f(A).filter(Wn=>Wn.group===f(pt)),Re,(Wn,Li)=>{var Ms=Qp();let Oa;Ms.__click=()=>m(f(Li).id),Ms.__keydown=Ls=>(Ls.key==="Enter"||Ls.key===" ")&&m(f(Li).id);var Na=M(Ms),Jc=M(Na),jc=P(Na,2);{var Yc=Ls=>{var Gr=Pp();Gr.__click=Kr=>{Kr.stopPropagation(),O(f(Li).id)},Gr.__keydown=Kr=>Kr.key==="Enter"&&(Kr.stopPropagation(),O(f(Li).id)),se(()=>ve(Gr,"aria-label",`Delete ${f(Li).label??""}`)),U(Ls,Gr)};ne(jc,Ls=>{f(Li).group==="Custom"&&Ls(Yc)})}se(()=>{Oa=pe(Ms,1,"dd-item svelte-1901l6h",null,Oa,{sel:f(r)===f(Li).id}),ve(Ms,"aria-selected",f(r)===f(Li).id),X(Jc,f(Li).label)}),U(Wn,Ms)}),se(()=>X(tr,f(pt))),U(gi,lt)}),U(It,Ut)};ne($,It=>{f(p)&&It(H)})}var W=P(ce,2),Z=M(W);Z.__click=()=>{N(p,!1),N(u,!0)};var _e=P(Z,2);_e.__click=()=>{N(p,!1),N(u,!0)};var fe=P(le,4),me=M(fe),ye=M(me);ye.__click=()=>{N(_,!f(_)),N(p,!1),N(v,!1)};var Te=M(ye),ge=P(Te);let Ce;var be=P(ye,2);{var de=It=>{var Ut=Hp();Ee(Ut,21,()=>i,Re,(gi,pt)=>{var lt=Fp();let pi;lt.__click=()=>C(f(pt).value),lt.__keydown=as=>(as.key==="Enter"||as.key===" ")&&C(f(pt).value);var tr=M(lt);se(()=>{pi=pe(lt,1,"dd-item svelte-1901l6h",null,pi,{sel:f(n)===f(pt).value}),ve(lt,"aria-selected",f(n)===f(pt).value),X(tr,f(pt).label)}),U(gi,lt)}),U(It,Ut)};ne(be,It=>{f(_)&&It(de)})}var Ae=P(me,2),Ne=M(Ae);Ne.__click=()=>b(-1);var Qe=P(Ne,2),Pt=M(Qe),St=P(Qe,2);St.__click=()=>b(1);var gt=P(fe,4),He=M(gt),De=M(He);De.__click=()=>{N(v,!f(v)),N(p,!1),N(_,!1)};var Ue=M(De),fi=P(Ue);let zt;var vi=P(De,2);{var qi=It=>{var Ut=zp();Ee(Ut,21,()=>s,Re,(gi,pt)=>{var lt=Wp();let pi;lt.__click=()=>k(f(pt).value),lt.__keydown=as=>(as.key==="Enter"||as.key===" ")&&k(f(pt).value);var tr=M(lt);se(()=>{pi=pe(lt,1,"dd-item svelte-1901l6h",null,pi,{sel:f(o)===f(pt).value}),ve(lt,"aria-selected",f(o)===f(pt).value),X(tr,f(pt).label)}),U(gi,lt)}),U(It,Ut)};ne(vi,It=>{f(v)&&It(qi)})}var Pe=P(He,2),it=M(Pe);it.__click=()=>D(-1);var $i=P(it,2),Zs=M($i),qr=P($i,2);qr.__click=()=>D(1);var er=P(gt,4),$r=M(er);Ee($r,20,()=>["block","line","underline"],Re,(It,Ut)=>{var gi=Up();gi.__click=()=>I(Ut);let pt;var lt=M(gi);se(pi=>{pt=pe(gi,1,"svelte-1901l6h",null,pt,{active:f(l)===Ut}),X(lt,pi)},[()=>Ut[0].toUpperCase()+Ut.slice(1)]),U(It,gi)});var $c=P($r,2),Hn=P(M($c),2);let Pa;Hn.__click=()=>E(!f(c));var Gc=M(Hn),Kc=P(er,4),Qa=M(Kc);Qa.__change=It=>B(parseInt(It.target.value,10)||1e3),se(()=>{X(q,`${f(S)??""} `),te=pe(Y,0,"chev svelte-1901l6h",null,te,{open:f(p)}),X(Te,`${f(w)??""} `),Ce=pe(ge,0,"chev svelte-1901l6h",null,Ce,{open:f(_)}),X(Pt,`${f(a)??""}px`),X(Ue,`${f(y)??""} `),zt=pe(fi,0,"chev svelte-1901l6h",null,zt,{open:f(v)}),X(Zs,`${f(h)??""}px`),Pa=pe(Hn,1,"toggle svelte-1901l6h",null,Pa,{on:f(c)}),X(Gc,f(c)?"On":"Off"),_t(Qa,f(d))}),U(F,V)};ne(K,F=>{f(u)?F(ae):F(he,!1)})}U(e,z),at()}bt(["click","keydown","change"]);var Kp=G('Images'),Jp=G('Web'),jp=G('Upload'),Yp=G('
          '),Vp=G('
          '),Xp=G('

          Defaults

          Permission mode

          System prompt template

          Providers

          ');function Zp(e,t){ot(t,!0);const i=[{id:"claude",label:"Claude",desc:"Anthropic — claude-opus/sonnet/haiku"},{id:"codex",label:"Codex",desc:"OpenAI — gpt-5.4"},{id:"ollama",label:"Ollama",desc:"Local — qwen3, llama3, etc."}];let s=ie("/bin/bash"),r=ie("~"),n=ie("bypassPermissions"),a=ie(""),o=ie(Le({claude:{enabled:!0,model:"claude-opus-4-5"},codex:{enabled:!1,model:"gpt-5.4"},ollama:{enabled:!1,model:"qwen3:8b"}})),h=ie(null);function l(R,O){ue==null||ue.request["settings.set"]({key:R,value:O}).catch(console.error)}function c(){l("provider_settings",JSON.stringify(f(o)))}function d(R){N(s,R,!0),l("default_shell",R)}function g(R){N(r,R,!0),l("default_cwd",R)}function u(R){N(n,R,!0),l("permission_mode",R)}function p(R){N(a,R,!0),l("system_prompt_template",R)}function _(R){f(o)[R]={...f(o)[R],enabled:!f(o)[R].enabled},N(o,{...f(o)},!0),c()}function v(R,O){f(o)[R]={...f(o)[R],model:O},N(o,{...f(o)},!0),c()}_i(async()=>{if(!ue)return;const{settings:R}=await ue.request["settings.getAll"]({}).catch(()=>({settings:{}}));if(R.default_shell&&N(s,R.default_shell,!0),R.default_cwd&&N(r,R.default_cwd,!0),R.permission_mode&&N(n,R.permission_mode,!0),R.system_prompt_template&&N(a,R.system_prompt_template,!0),R.provider_settings)try{N(o,JSON.parse(R.provider_settings),!0)}catch{}});var A=Xp(),x=P(M(A),2),S=P(M(x),2);S.__change=R=>d(R.target.value);var w=P(x,2),y=P(M(w),2);y.__change=R=>g(R.target.value);var m=P(w,4),C=M(m);C.__click=()=>u("bypassPermissions");let k;var b=P(C,2);b.__click=()=>u("default");let D;var I=P(b,2);I.__click=()=>u("plan");let E;var B=P(m,4);B.__change=R=>p(R.target.value);var L=P(B,4);Ee(L,21,()=>i,Re,(R,O)=>{const Q=Ge(()=>f(o)[f(O).id]);var T=Vp();let z;var K=M(T);K.__click=()=>N(h,f(h)===f(O).id?null:f(O).id,!0);var ae=M(K),he=M(ae),F=P(ae,2),V=M(F),le=P(F,2),ce=M(le),ee=P(K,2);{var q=Y=>{var te=Yp(),$=M(te),H=P(M($),2);let W;H.__click=()=>_(f(O).id);var Z=P($,2),_e=M(Z),fe=P(_e,2);fe.__change=Ae=>v(f(O).id,Ae.target.value);var me=P(Z,2),ye=M(me);{var Te=Ae=>{var Ne=Kp();U(Ae,Ne)};ne(ye,Ae=>{Oi[f(O).id].images&&Ae(Te)})}var ge=P(ye,2);{var Ce=Ae=>{var Ne=Jp();U(Ae,Ne)};ne(ge,Ae=>{Oi[f(O).id].web&&Ae(Ce)})}var be=P(ge,2);{var de=Ae=>{var Ne=jp();U(Ae,Ne)};ne(be,Ae=>{Oi[f(O).id].upload&&Ae(de)})}se(()=>{W=pe(H,1,"toggle svelte-1m5vtsu",null,W,{on:f(Q).enabled}),ve(H,"aria-checked",f(Q).enabled),ve(H,"aria-label",`Toggle ${f(O).label??""} provider`),ve(_e,"for",`model-${f(O).id??""}`),ve(fe,"id",`model-${f(O).id??""}`),_t(fe,f(Q).model),ve(fe,"placeholder",Oi[f(O).id].defaultModel)}),U(Y,te)};ne(ee,Y=>{f(h)===f(O).id&&Y(q)})}se(()=>{z=pe(T,1,"prov-panel svelte-1m5vtsu",null,z,{disabled:!f(Q).enabled}),X(he,f(O).label),X(V,f(O).desc),X(ce,f(h)===f(O).id?"▴":"▾")}),U(R,T)}),se(()=>{_t(S,f(s)),_t(y,f(r)),k=pe(C,1,"svelte-1m5vtsu",null,k,{active:f(n)==="bypassPermissions"}),D=pe(b,1,"svelte-1m5vtsu",null,D,{active:f(n)==="default"}),E=pe(I,1,"svelte-1m5vtsu",null,E,{active:f(n)==="plan"}),_t(B,f(a))}),U(e,A),at()}bt(["change","click"]);var em=G('

          No secrets stored.

          '),tm=G('
          '),im=G('
          '),sm=G('
        • '),rm=G('
        • All known keys stored
        • '),nm=G('
          '),om=G('
          '),am=G('

          Keyring Status

          Stored Secrets

          Branch Policies

          ');function lm(e,t){ot(t,!0);const i={ANTHROPIC_API_KEY:"Anthropic API Key",OPENAI_API_KEY:"OpenAI API Key",GITHUB_TOKEN:"GitHub Token",OLLAMA_API_KEY:"Ollama API Key"};let s=!0,r=ie(Le(["ANTHROPIC_API_KEY"])),n=ie(null),a=ie(""),o=ie(""),h=ie(!1),l=ie(!1),c=ie(Le([{pattern:"main",action:"block"},{pattern:"prod*",action:"warn"}])),d=ie(""),g=ie("warn"),u=Ge(()=>Object.keys(i).filter($=>!f(r).includes($))),p=Ge(()=>f(a)?i[f(a)]??f(a):"Select key...");function _(){ue==null||ue.request["settings.set"]({key:"branch_policies",value:JSON.stringify(f(c))}).catch(console.error)}function v(){!f(a)||!f(o)||(N(l,!0),setTimeout(()=>{N(r,[...f(r),f(a)],!0),N(a,""),N(o,""),N(l,!1)},400))}function A($){N(r,f(r).filter(H=>H!==$),!0),f(n)===$&&N(n,null)}function x(){f(d).trim()&&(N(c,[...f(c),{pattern:f(d).trim(),action:f(g)}],!0),N(d,""),N(g,"warn"),_())}function S($){N(c,f(c).filter((H,W)=>W!==$),!0),_()}function w($){$.target.closest(".dd-wrap")||N(h,!1)}_i(async()=>{if(!ue)return;const $=await ue.request["settings.get"]({key:"branch_policies"}).catch(()=>({value:null}));if($.value)try{N(c,JSON.parse($.value),!0)}catch{}});var y=am();y.__click=w,y.__keydown=$=>$.key==="Escape"&&N(h,!1);var m=P(M(y),2);pe(m,1,"keyring-status svelte-rv3lwt",null,{},{ok:s,unavail:!s});var C=P(M(m),2);C.textContent="System keyring available";var k=P(m,4);{var b=$=>{var H=em();U($,H)},D=$=>{var H=im();Ee(H,21,()=>f(r),Re,(W,Z)=>{var _e=tm(),fe=M(_e),me=M(fe),ye=P(fe,2),Te=M(ye),ge=P(ye,2);ge.__click=()=>N(n,f(n)===f(Z)?null:f(Z),!0);var Ce=M(ge),be=P(ge,2);be.__click=()=>A(f(Z)),se(()=>{X(me,i[f(Z)]??f(Z)),X(Te,f(n)===f(Z)?"••••••• (revealed)":"•••••••"),X(Ce,f(n)===f(Z)?"🙈":"👁")}),U(W,_e)}),U($,H)};ne(k,$=>{f(r).length===0?$(b):$(D,!1)})}var I=P(k,2),E=M(I),B=M(E);B.__click=()=>N(h,!f(h));var L=M(B),R=P(L);let O;var Q=P(B,2);{var T=$=>{var H=nm(),W=M(H);Ee(W,17,()=>f(u),Re,(fe,me)=>{var ye=sm();ye.__click=()=>{N(a,f(me),!0),N(h,!1)},ye.__keydown=ge=>(ge.key==="Enter"||ge.key===" ")&&(N(a,f(me),!0),N(h,!1));var Te=M(ye);se(()=>{ve(ye,"aria-selected",f(a)===f(me)),X(Te,i[f(me)])}),U(fe,ye)});var Z=P(W,2);{var _e=fe=>{var me=rm();U(fe,me)};ne(Z,fe=>{f(u).length===0&&fe(_e)})}U($,H)};ne(Q,$=>{f(h)&&$(T)})}var z=P(E,2),K=P(z,2);K.__click=v;var ae=M(K),he=P(I,4);Ee(he,21,()=>f(c),Re,($,H,W)=>{var Z=om(),_e=M(Z),fe=M(_e),me=P(_e,2);let ye;var Te=M(me),ge=P(me,2);ge.__click=()=>S(W),se(()=>{X(fe,f(H).pattern),ye=pe(me,1,"pol-action svelte-rv3lwt",null,ye,{block:f(H).action==="block",warn:f(H).action==="warn"}),X(Te,f(H).action)}),U($,Z)});var F=P(he,2),V=M(F),le=P(V,2),ce=M(le);ce.__click=()=>N(g,"warn");let ee;var q=P(ce,2);q.__click=()=>N(g,"block");let Y;var te=P(le,2);te.__click=x,se($=>{X(L,`${f(p)??""} `),O=pe(R,0,"chev svelte-rv3lwt",null,O,{open:f(h)}),K.disabled=!f(a)||!f(o)||f(l),X(ae,f(l)?"…":"Save"),ee=pe(ce,1,"svelte-rv3lwt",null,ee,{active:f(g)==="warn"}),Y=pe(q,1,"svelte-rv3lwt",null,Y,{active:f(g)==="block"}),te.disabled=$},[()=>!f(d).trim()]),yr(z,()=>f(o),$=>N(o,$)),yr(V,()=>f(d),$=>N(d,$)),U(e,y),at()}bt(["click","keydown"]);var hm=G(""),cm=G(""),dm=G(""),um=G('

          Provider

          Model

          Options

          Stall threshold

          Anchor budget

          Custom context

          ',1),_m=G('

          Project

          ');function fm(e,t){ot(t,!0);const i=["small","medium","large","full"],s=Object.keys(Oi);let r=ie(Le([{id:"p1",name:"agent-orchestrator",provider:"claude",model:"claude-opus-4-5",useWorktrees:!1,useSandbox:!1,stallThreshold:15,anchorScale:"medium",customContext:""},{id:"p2",name:"quanta-discord-bot",provider:"claude",model:"claude-sonnet-4-5",useWorktrees:!1,useSandbox:!1,stallThreshold:15,anchorScale:"medium",customContext:""}])),n=ie("p1"),a=Ge(()=>f(r).find(g=>g.id===f(n)));function o(g){N(r,f(r).map(p=>p.id===f(n)?{...p,...g}:p),!0);const u=f(r).find(p=>p.id===f(n));ue==null||ue.request["settings.setProject"]({id:f(n),config:JSON.stringify(u)}).catch(console.error)}_i(async()=>{if(!ue)return;const g=await ue.request["settings.getProjects"]({}).catch(()=>({projects:[]}));if(g.projects.length>0){const u=g.projects.flatMap(({config:p})=>{try{return[JSON.parse(p)]}catch{return[]}});u.length>0&&N(r,u,!0)}});var h=_m(),l=P(M(h),2);Ee(l,21,()=>f(r),Re,(g,u)=>{var p=hm();let _;p.__click=()=>N(n,f(u).id,!0);var v=M(p);se(()=>{_=pe(p,1,"proj-tab svelte-15znwuq",null,_,{active:f(n)===f(u).id}),X(v,f(u).name)}),U(g,p)});var c=P(l,2);{var d=g=>{var u=um(),p=P(Ve(u),2);Ee(p,21,()=>s,Re,(B,L)=>{var R=cm();R.__click=()=>o({provider:f(L)});let O;var Q=M(R);se(()=>{O=pe(R,1,"svelte-15znwuq",null,O,{active:f(a).provider===f(L)}),X(Q,Oi[f(L)].label)}),U(B,R)});var _=P(p,4);_.__change=B=>o({model:B.target.value});var v=P(_,4),A=M(v),x=P(M(A),2);let S;x.__click=()=>o({useWorktrees:!f(a).useWorktrees});var w=P(A,2),y=P(M(w),2);let m;y.__click=()=>o({useSandbox:!f(a).useSandbox});var C=P(v,4),k=M(C);k.__input=B=>o({stallThreshold:parseInt(B.target.value,10)});var b=P(k,2),D=M(b),I=P(C,4);Ee(I,21,()=>i,Re,(B,L)=>{var R=dm();R.__click=()=>o({anchorScale:f(L)});let O;var Q=M(R);se(T=>{O=pe(R,1,"svelte-15znwuq",null,O,{active:f(a).anchorScale===f(L)}),X(Q,T)},[()=>f(L)[0].toUpperCase()+f(L).slice(1)]),U(B,R)});var E=P(I,4);E.__change=B=>o({customContext:B.target.value}),se(()=>{_t(_,f(a).model),ve(_,"placeholder",Oi[f(a).provider].defaultModel),S=pe(x,1,"toggle svelte-15znwuq",null,S,{on:f(a).useWorktrees}),ve(x,"aria-checked",f(a).useWorktrees),m=pe(y,1,"toggle svelte-15znwuq",null,m,{on:f(a).useSandbox}),ve(y,"aria-checked",f(a).useSandbox),_t(k,f(a).stallThreshold),X(D,`${f(a).stallThreshold??""} min`),_t(E,f(a).customContext)}),U(g,u)};ne(c,g=>{f(a)&&g(d)})}U(e,h),at()}bt(["click","change","input"]);var vm=G(""),gm=G('
          '),pm=G(""),mm=G(''),Am=G('

          Wake Strategy

          Session Anchors

          Anchor budget scale

          Health Monitoring

          Notifications

          ');function wm(e,t){ot(t,!0);const i={persistent:"Persistent","on-demand":"On-demand",smart:"Smart"},s={persistent:"Resume prompt whenever manager wakes","on-demand":"Fresh session on each wake",smart:"Threshold-gated on-demand"},r=["complete","error","crash","stall"],n=["small","medium","large","full"];let a=ie("persistent"),o=ie(50),h=ie(!0),l=ie("medium"),c=ie(15),d=ie(!0),g=ie(Le(new Set(["complete","error","crash"])));function u(F,V){ue==null||ue.request["settings.set"]({key:F,value:V}).catch(console.error)}function p(F){N(a,F,!0),u("wake_strategy",F)}function _(F){N(o,F,!0),u("wake_threshold",String(F))}function v(F){N(h,F,!0),u("auto_anchor",String(F))}function A(F){N(l,F,!0),u("anchor_budget",F)}function x(F){N(c,F,!0),u("stall_threshold_global",String(F))}function S(F){N(d,F,!0),u("notification_desktop",String(F))}function w(F){const V=new Set(f(g));V.has(F)?V.delete(F):V.add(F),N(g,V,!0),u("notification_types",JSON.stringify([...V]))}_i(async()=>{if(!ue)return;const{settings:F}=await ue.request["settings.getAll"]({}).catch(()=>({settings:{}}));if(F.wake_strategy&&N(a,F.wake_strategy,!0),F.wake_threshold&&N(o,parseInt(F.wake_threshold,10)||50,!0),F.auto_anchor&&N(h,F.auto_anchor!=="false"),F.anchor_budget&&N(l,F.anchor_budget,!0),F.stall_threshold_global&&N(c,parseInt(F.stall_threshold_global,10)||15,!0),F.notification_desktop&&N(d,F.notification_desktop!=="false"),F.notification_types)try{N(g,new Set(JSON.parse(F.notification_types)),!0)}catch{}});var y=Am(),m=P(M(y),2);Ee(m,21,()=>Object.keys(i),Re,(F,V)=>{var le=vm();le.__click=()=>p(f(V));let ce;var ee=M(le);se(()=>{ce=pe(le,1,"svelte-r8m6y",null,ce,{active:f(a)===f(V)}),X(ee,i[f(V)])}),U(F,le)});var C=P(m,2),k=M(C),b=P(C,2);{var D=F=>{var V=gm(),le=P(M(V),2);le.__input=q=>_(parseInt(q.target.value,10));var ce=P(le,2),ee=M(ce);se(()=>{_t(le,f(o)),X(ee,`${f(o)??""}%`)}),U(F,V)};ne(b,F=>{f(a)==="smart"&&F(D)})}var I=P(b,4),E=P(M(I),2);let B;E.__click=()=>v(!f(h));var L=P(I,4);Ee(L,21,()=>n,Re,(F,V)=>{var le=pm();le.__click=()=>A(f(V));let ce;var ee=M(le);se(q=>{ce=pe(le,1,"svelte-r8m6y",null,ce,{active:f(l)===f(V)}),X(ee,q)},[()=>f(V)[0].toUpperCase()+f(V).slice(1)]),U(F,le)});var R=P(L,4),O=P(M(R),2);O.__input=F=>x(parseInt(F.target.value,10));var Q=P(O,2),T=M(Q),z=P(R,4),K=P(M(z),2);let ae;K.__click=()=>S(!f(d));var he=P(z,2);Ee(he,21,()=>r,Re,(F,V)=>{var le=mm();let ce;var ee=M(le);ee.__change=()=>w(f(V));var q=P(ee);se((Y,te)=>{ce=pe(le,1,"notif-chip svelte-r8m6y",null,ce,Y),yu(ee,te),ve(ee,"aria-label",`Notify on ${f(V)??""}`),X(q,` ${f(V)??""}`)},[()=>({active:f(g).has(f(V))}),()=>f(g).has(f(V))]),U(F,le)}),se(()=>{X(k,s[f(a)]),B=pe(E,1,"toggle svelte-r8m6y",null,B,{on:f(h)}),ve(E,"aria-checked",f(h)),_t(O,f(c)),X(T,`${f(c)??""} min`),ae=pe(K,1,"toggle svelte-r8m6y",null,ae,{on:f(d)}),ve(K,"aria-checked",f(d))}),U(e,y),at()}bt(["click","input","change"]);var Cm=G(""),bm=G('
          '),Sm=G('

          No plugins found in config dir.

          '),ym=G('

          '),xm=G('

          '),km=G('

          Logging

          Telemetry

          Relay

          seconds

          Plugins

          Updates

          Settings Data

          ');function Em(e,t){ot(t,!0);const i=["trace","debug","info","warn","error"];let s=ie(Le([{id:"quanta-plugin",name:"Quanta Plugin",version:"1.2.0",enabled:!0},{id:"session-wrap",name:"Session Wrap",version:"0.4.1",enabled:!1}])),r=ie("info"),n=ie(""),a=ie(""),o=ie(30),h=ie(!1),l=ie(null),c=ie(null);function d(q,Y){ue==null||ue.request["settings.set"]({key:q,value:Y}).catch(console.error)}function g(q){N(r,q,!0),d("log_level",q)}function u(q){N(n,q,!0),d("otlp_endpoint",q)}function p(q){N(a,q,!0),d("relay_urls",q)}function _(q){N(o,q,!0),d("connection_timeout",String(q))}function v(q){N(s,f(s).map(te=>te.id===q?{...te,enabled:!te.enabled}:te),!0);const Y={};for(const te of f(s))Y[te.id]=te.enabled;d("plugin_states",JSON.stringify(Y))}function A(){N(h,!0),N(l,null),setTimeout(()=>{N(h,!1),N(l,"Already up to date (v3.0.0-dev)")},1200)}async function x(){if(!ue)return;const{settings:q}=await ue.request["settings.getAll"]({}).catch(()=>({settings:{}})),Y=JSON.stringify({version:1,settings:q},null,2),te=new Blob([Y],{type:"application/json"}),$=URL.createObjectURL(te),H=document.createElement("a");H.href=$,H.download="agor-settings.json",H.click(),URL.revokeObjectURL($)}function S(){N(c,null);const q=document.createElement("input");q.type="file",q.accept=".json,application/json",q.onchange=async()=>{var te;const Y=(te=q.files)==null?void 0:te[0];if(!(!Y||!ue))try{const $=await Y.text(),H=JSON.parse($),W=H.settings??H;if(typeof W!="object")throw new Error("Invalid format");for(const[Z,_e]of Object.entries(W))typeof _e=="string"&&await ue.request["settings.set"]({key:Z,value:_e});await w()}catch($){N(c,$ instanceof Error?$.message:"Import failed",!0)}},q.click()}async function w(){if(!ue)return;const{settings:q}=await ue.request["settings.getAll"]({}).catch(()=>({settings:{}}));if(q.log_level&&N(r,q.log_level,!0),q.otlp_endpoint&&N(n,q.otlp_endpoint,!0),q.relay_urls&&N(a,q.relay_urls,!0),q.connection_timeout&&N(o,parseInt(q.connection_timeout,10)||30,!0),q.plugin_states)try{const Y=JSON.parse(q.plugin_states);N(s,f(s).map(te=>({...te,enabled:Y[te.id]??te.enabled})),!0)}catch{}}_i(w);var y=km(),m=P(M(y),2);Ee(m,21,()=>i,Re,(q,Y)=>{var te=Cm();te.__click=()=>g(f(Y));let $;var H=M(te);se(()=>{$=pe(te,1,"svelte-1ovc5q5",null,$,{active:f(r)===f(Y)}),X(H,f(Y))}),U(q,te)});var C=P(m,4),k=P(M(C),2);k.__change=q=>u(q.target.value);var b=P(C,4),D=P(M(b),2);D.__change=q=>p(q.target.value);var I=P(b,2),E=P(M(I),2);E.__change=q=>_(parseInt(q.target.value,10)||30);var B=P(I,4),L=M(B);Ee(L,17,()=>f(s),Re,(q,Y)=>{var te=bm(),$=M(te),H=M($),W=M(H),Z=P(H,2),_e=M(Z),fe=P($,2);let me;fe.__click=()=>v(f(Y).id),se(()=>{X(W,f(Y).name),X(_e,`v${f(Y).version??""}`),me=pe(fe,1,"toggle svelte-1ovc5q5",null,me,{on:f(Y).enabled}),ve(fe,"aria-checked",f(Y).enabled),ve(fe,"aria-label",`Toggle ${f(Y).name??""}`)}),U(q,te)});var R=P(L,2);{var O=q=>{var Y=Sm();U(q,Y)};ne(R,q=>{f(s).length===0&&q(O)})}var Q=P(B,4),T=M(Q);T.textContent="v3.0.0-dev";var z=P(T,2);z.__click=A;var K=M(z),ae=P(Q,2);{var he=q=>{var Y=ym(),te=M(Y);se(()=>X(te,f(l))),U(q,Y)};ne(ae,q=>{f(l)&&q(he)})}var F=P(ae,4),V=M(F);V.__click=x;var le=P(V,2);le.__click=S;var ce=P(F,2);{var ee=q=>{var Y=xm(),te=M(Y);se(()=>X(te,f(c))),U(q,Y)};ne(ce,q=>{f(c)&&q(ee)})}se(()=>{_t(k,f(n)),_t(D,f(a)),_t(E,f(o)),z.disabled=f(h),X(K,f(h)?"Checking…":"Check for updates")}),U(e,y),at()}bt(["click","change"]);var Bm=G(''),Im=G(''),Dm=G(''),Mm=G(' '),Lm=G('free'),Rm=G('

          '),Tm=G('

          '),Pm=G('
          ');function Qm(e,t){ot(t,!0);const i=[{id:"secret-scanner",name:"Secret Scanner",version:"1.0.0",author:"Quanta",icon:"🔍",tags:["security"],free:!0,description:"Detects exposed secrets and API keys in agent sessions before they leak."},{id:"productivity-insights",name:"Productivity Insights",version:"1.1.0",author:"Quanta",icon:"📊",tags:["analytics"],free:!0,description:"Session analytics, cost breakdowns, and agent efficiency metrics."},{id:"git-guardian",name:"Git Guardian",version:"0.9.2",author:"Community",icon:"🛡️",tags:["security","git"],free:!0,description:"Enforces branch policies and blocks commits to protected branches."},{id:"context-compressor",name:"Context Compressor",version:"1.0.3",author:"Quanta",icon:"🗜️",tags:["performance"],free:!0,description:"Intelligently compresses context windows to reduce token usage."},{id:"slack-notifier",name:"Slack Notifier",version:"0.5.0",author:"Community",icon:"💬",tags:["notifications"],free:!0,description:"Sends agent completion and error notifications to Slack channels."},{id:"multi-model-router",name:"Multi-Model Router",version:"1.2.0",author:"Quanta",icon:"🔀",tags:["routing","ai"],free:!0,description:"Routes tasks to the cheapest capable model based on complexity scoring."},{id:"audit-exporter",name:"Audit Exporter",version:"0.8.1",author:"Community",icon:"📋",tags:["compliance"],free:!0,description:"Exports audit logs to SIEM systems (Splunk, Datadog, CloudWatch)."},{id:"test-runner-bridge",name:"Test Runner Bridge",version:"1.0.0",author:"Quanta",icon:"🧪",tags:["testing"],free:!0,description:"Runs test suites on agent-modified code and surfaces failures inline."}];let s=ie("browse"),r=ie(""),n=ie(Le(new Set)),a=ie(Le(new Set)),o=Ge(()=>i.filter(b=>{if(f(s)==="installed"&&!f(n).has(b.id))return!1;if(!f(r))return!0;const D=f(r).toLowerCase();return b.name.toLowerCase().includes(D)||b.description.toLowerCase().includes(D)||b.tags.some(I=>I.includes(D))}));async function h(b){N(a,new Set([...f(a),b]),!0);const D={};for(const I of f(n))D[I]=!0;D[b]=!0,await(ue==null?void 0:ue.request["settings.set"]({key:"marketplace_installed",value:JSON.stringify(D)}).catch(console.error)),N(n,new Set([...f(n),b]),!0),N(a,new Set([...f(a)].filter(I=>I!==b)),!0)}async function l(b){N(n,new Set([...f(n)].filter(I=>I!==b)),!0);const D={};for(const I of f(n))D[I]=!0;await(ue==null?void 0:ue.request["settings.set"]({key:"marketplace_installed",value:JSON.stringify(D)}).catch(console.error))}_i(async()=>{if(!ue)return;const b=await ue.request["settings.get"]({key:"marketplace_installed"}).catch(()=>({value:null}));if(b.value)try{const D=JSON.parse(b.value);N(n,new Set(Object.entries(D).filter(([,I])=>I).map(([I])=>I)),!0)}catch{}});var c=Pm(),d=M(c),g=M(d);let u;g.__click=()=>N(s,"browse");var p=P(g,2);let _;p.__click=()=>N(s,"installed");var v=M(p),A=P(p,2),x=M(A),S=P(x,2);{var w=b=>{var D=Bm();D.__click=()=>N(r,""),U(b,D)};ne(S,b=>{f(r)&&b(w)})}var y=P(d,2),m=M(y);Ee(m,17,()=>f(o),Re,(b,D)=>{var I=Rm(),E=M(I),B=M(E),L=M(B),R=P(B,2),O=M(R),Q=M(O),T=P(O,2),z=M(T),K=P(R,2);{var ae=Y=>{var te=Im();te.__click=()=>l(f(D).id),se(()=>ve(te,"aria-label",`Uninstall ${f(D).name??""}`)),U(Y,te)},he=Y=>{var te=Dm();te.__click=()=>h(f(D).id);var $=M(te);se((H,W)=>{te.disabled=H,ve(te,"aria-label",`Install ${f(D).name??""}`),X($,W)},[()=>f(a).has(f(D).id),()=>f(a).has(f(D).id)?"…":"Install"]),U(Y,te)};ne(K,Y=>{f(n).has(f(D).id)?Y(ae):Y(he,!1)})}var F=P(E,2),V=M(F),le=P(F,2),ce=M(le);Ee(ce,17,()=>f(D).tags,Re,(Y,te)=>{var $=Mm(),H=M($);se(()=>X(H,f(te))),U(Y,$)});var ee=P(ce,2);{var q=Y=>{var te=Lm();U(Y,te)};ne(ee,Y=>{f(D).free&&Y(q)})}se(()=>{X(L,f(D).icon),X(Q,f(D).name),X(z,`${f(D).author??""} · v${f(D).version??""}`),X(V,f(D).description)}),U(b,I)});var C=P(m,2);{var k=b=>{var D=Tm(),I=M(D);se(()=>X(I,f(s)==="installed"?"No plugins installed yet.":"No plugins match your search.")),U(b,D)};ne(C,b=>{f(o).length===0&&b(k)})}se(()=>{u=pe(g,1,"tab svelte-c4ry4o",null,u,{active:f(s)==="browse"}),_=pe(p,1,"tab svelte-c4ry4o",null,_,{active:f(s)==="installed"}),X(v,`Installed ${f(n).size>0?`(${f(n).size})`:""}`)}),yr(x,()=>f(r),b=>N(r,b)),U(e,c),at()}bt(["click"]);var Om=G(''),Nm=G('');function Fm(e,t){ot(t,!0);const i=[{id:"appearance",label:"Appearance",icon:"🎨"},{id:"agents",label:"Agents",icon:"🤖"},{id:"security",label:"Security",icon:"🔒"},{id:"projects",label:"Projects",icon:"📁"},{id:"orchestration",label:"Orchestration",icon:"⚙"},{id:"advanced",label:"Advanced",icon:"🔧"},{id:"marketplace",label:"Marketplace",icon:"🛒"}];let s=ie("appearance");function r(l){l.target===l.currentTarget&&t.onClose()}function n(l){l.key==="Escape"&&t.onClose()}var a=Nt(),o=Ve(a);{var h=l=>{var c=Nm();c.__click=r,c.__keydown=n;var d=M(c);d.__click=w=>w.stopPropagation(),d.__keydown=w=>w.stopPropagation();var g=M(d),u=P(M(g),2);u.__click=function(...w){var y;(y=t.onClose)==null||y.apply(this,w)};var p=P(g,2),_=M(p);Ee(_,21,()=>i,Re,(w,y)=>{var m=Om();let C;m.__click=()=>N(s,f(y).id,!0);var k=M(m),b=M(k),D=P(k,2),I=M(D);se(()=>{C=pe(m,1,"cat-btn svelte-1gl9lco",null,C,{active:f(s)===f(y).id}),ve(m,"aria-current",f(s)===f(y).id?"page":void 0),X(b,f(y).icon),X(I,f(y).label)}),U(w,m)});var v=P(_,2),A=M(v);{var x=w=>{Gp(w,{})},S=w=>{var y=Nt(),m=Ve(y);{var C=b=>{Zp(b,{})},k=b=>{var D=Nt(),I=Ve(D);{var E=L=>{lm(L,{})},B=L=>{var R=Nt(),O=Ve(R);{var Q=z=>{fm(z,{})},T=z=>{var K=Nt(),ae=Ve(K);{var he=V=>{wm(V,{})},F=V=>{var le=Nt(),ce=Ve(le);{var ee=Y=>{Em(Y,{})},q=Y=>{var te=Nt(),$=Ve(te);{var H=W=>{Qm(W,{})};ne($,W=>{f(s)==="marketplace"&&W(H)},!0)}U(Y,te)};ne(ce,Y=>{f(s)==="advanced"?Y(ee):Y(q,!1)},!0)}U(V,le)};ne(ae,V=>{f(s)==="orchestration"?V(he):V(F,!1)},!0)}U(z,K)};ne(O,z=>{f(s)==="projects"?z(Q):z(T,!1)},!0)}U(L,R)};ne(I,L=>{f(s)==="security"?L(E):L(B,!1)},!0)}U(b,D)};ne(m,b=>{f(s)==="agents"?b(C):b(k,!1)},!0)}U(w,y)};ne(A,w=>{f(s)==="appearance"?w(x):w(S,!1)})}U(l,c)};ne(o,l=>{t.open&&l(h)})}U(e,a),at()}bt(["click","keydown"]);var Hm=G(' '),Wm=G(' '),zm=G('
        • '),Um=G('
        • No commands found
        • '),qm=G('');function $m(e,t){ot(t,!0);const i=[{id:"new-terminal",label:"New Terminal Tab",shortcut:"Ctrl+`",action:()=>{}},{id:"settings",label:"Open Settings",shortcut:"Ctrl+,",action:()=>{}},{id:"search",label:"Search Messages",shortcut:"Ctrl+F",action:()=>{}},{id:"new-project",label:"Add Project",description:"Open a project directory",action:()=>{}},{id:"clear-agent",label:"Clear Agent Context",description:"Reset agent session",action:()=>{}},{id:"copy-cost",label:"Copy Session Cost",action:()=>{}},{id:"docs",label:"Open Documentation",shortcut:"F1",action:()=>{}},{id:"theme",label:"Change Theme",description:"Currently: Catppuccin Mocha",action:()=>{}},{id:"split-h",label:"Split Horizontally",shortcut:"Ctrl+\\",action:()=>{}},{id:"split-v",label:"Split Vertically",shortcut:"Ctrl+Shift+\\",action:()=>{}}];let s=ie(""),r=ie(0),n=ie(void 0),a=Ge(()=>f(s).trim()===""?i:i.filter(u=>{var p;return u.label.toLowerCase().includes(f(s).toLowerCase())||((p=u.description)==null?void 0:p.toLowerCase().includes(f(s).toLowerCase()))}));ai(()=>{t.open&&(N(s,""),N(r,0),wa().then(()=>{var u;return(u=f(n))==null?void 0:u.focus()}))}),ai(()=>{const u=f(a).length;f(r)>=u&&N(r,Math.max(0,u-1),!0)});function o(u){if(u.key==="Escape"){t.onClose();return}if(u.key==="ArrowDown"){u.preventDefault(),N(r,Math.min(f(r)+1,f(a).length-1),!0);return}if(u.key==="ArrowUp"){u.preventDefault(),N(r,Math.max(f(r)-1,0),!0);return}u.key==="Enter"&&f(a)[f(r)]&&(f(a)[f(r)].action(),t.onClose())}function h(u){u.action(),t.onClose()}function l(u){u.target===u.currentTarget&&t.onClose()}var c=Nt(),d=Ve(c);{var g=u=>{var p=qm();p.__click=l,p.__keydown=o;var _=M(p),v=M(_),A=P(M(v),2);A.__keydown=o,xr(A,m=>N(n,m),()=>f(n));var x=P(v,2),S=M(x);Ee(S,19,()=>f(a),m=>m.id,(m,C,k)=>{var b=zm();let D;b.__click=()=>h(f(C));var I=M(b),E=M(I),B=P(I,2);{var L=Q=>{var T=Hm(),z=M(T);se(()=>X(z,f(C).description)),U(Q,T)};ne(B,Q=>{f(C).description&&Q(L)})}var R=P(B,2);{var O=Q=>{var T=Wm(),z=M(T);se(()=>X(z,f(C).shortcut)),U(Q,T)};ne(R,Q=>{f(C).shortcut&&Q(O)})}se(()=>{ve(b,"id",`cmd-${f(C).id??""}`),D=pe(b,1,"palette-item svelte-o5jp2k",null,D,{selected:f(k)===f(r)}),ve(b,"aria-selected",f(k)===f(r)),X(E,f(C).label)}),au("mouseenter",b,()=>N(r,f(k),!0)),U(m,b)});var w=P(S,2);{var y=m=>{var C=Um();U(m,C)};ne(w,m=>{f(a).length===0&&m(y)})}se(()=>ve(A,"aria-activedescendant",f(a)[f(r)]?`cmd-${f(a)[f(r)].id}`:void 0)),yr(A,()=>f(s),m=>N(s,m)),U(u,p)};ne(d,u=>{t.open&&u(g)})}U(e,c),at()}bt(["click","keydown"]);var Gm=G('
          '),Km=G('
          ');function Jm(e,t){ot(t,!0);let i=ie(Le([])),s=ie(0);function r(l,c="info",d=4e3){const g=$d(s);N(i,[...f(i),{id:g,message:l,variant:c,dismissAt:Date.now()+d}],!0),setTimeout(()=>n(g),d)}function n(l){N(i,f(i).filter(c=>c.id!==l),!0)}_i(()=>{setTimeout(()=>{r("Agent Orchestrator connected","success",4e3)},800)});const a={success:"✓",warning:"⚠",error:"✕",info:"ℹ"};var o={addToast:r},h=Km();return Ee(h,21,()=>f(i),l=>l.id,(l,c)=>{var d=Gm(),g=M(d),u=M(g),p=P(g,2),_=M(p),v=P(p,2);v.__click=()=>n(f(c).id),se(()=>{pe(d,1,`toast toast-${f(c).variant??""}`,"svelte-13j0wuy"),X(u,a[f(c).variant]),X(_,f(c).message)}),U(l,d)}),U(e,h),at(o)}bt(["click"]);var jm=G(' running'),Ym=G(' idle'),Vm=G(' stalled'),Xm=G(' attention'),Zm=G(''),e0=G('
          session tokens cost Ctrl+K
          ',1);function t0(e,t){ot(t,!0);const i=[{id:"p1",name:"agent-orchestrator",cwd:"~/code/ai/agent-orchestrator",accent:"var(--ctp-mauve)",status:"running",costUsd:.034,tokens:18420,provider:"claude",profile:"dev",model:"claude-opus-4-5",contextPct:78,burnRate:.12,messages:[{id:1,role:"user",content:"Add a wake scheduler for Manager agents that wakes them when review queue depth > 3."},{id:2,role:"assistant",content:"Reading existing wake-scheduler.svelte.ts to understand the 3-strategy pattern..."},{id:3,role:"tool-call",content:'Read("src/lib/stores/wake-scheduler.svelte.ts")'},{id:4,role:"tool-result",content:`// 312 lines -export type WakeStrategy = "persistent" | "on-demand" | "smart"; -...`},{id:5,role:"assistant",content:"Found the WakeSignal enum. I'll add ReviewBacklog(0.6) and hook into bttask polling. Writing wake-scorer.ts update now."},{id:6,role:"tool-call",content:`Edit("src/lib/utils/wake-scorer.ts", old="// signals", new="// signals - ReviewBacklog = 0.6,")`},{id:7,role:"assistant",content:"Done. ReviewBacklog signal added at priority 0.6 (between TaskQueuePressure 0.7 and PeriodicFloor 0.1). Run `npm test` to verify 24 scorer tests still pass."}]},{id:"p2",name:"quanta-discord-bot",cwd:"~/code/quanta/discord-bot",accent:"var(--ctp-sapphire)",status:"idle",costUsd:.011,tokens:6830,provider:"claude",model:"claude-sonnet-4-5",contextPct:32,messages:[{id:1,role:"user",content:"Why is the QRAG MCP server returning 504s on large semantic search queries?"},{id:2,role:"assistant",content:"Checking the MCP HTTP handler timeout config and Qdrant query path..."},{id:3,role:"tool-call",content:'Read("src/mcp/server.ts", offset=120, limit=40)'},{id:4,role:"tool-result",content:`const QUERY_TIMEOUT_MS = 5000; // default -...`},{id:5,role:"assistant",content:`Found it. The MCP handler has a hardcoded 5s timeout but Qdrant HNSW search on 500k vectors takes 6–9s at ef=256. Two options: -1. Raise timeout to 15s (quick fix) -2. Lower ef to 128 for faster approximate search (~3s, slight recall drop) - -Recommend option 2 for latency-sensitive bot responses.`},{id:6,role:"user",content:"Go with option 2."},{id:7,role:"assistant",content:"Updated `ef_searching: 128` in qdrant-config.ts and raised timeout to 8s as safety margin. Restarted service on port 9320."}]}];_i(()=>{Ns.initTheme(ue).catch(console.error),kt.initFonts(ue).catch(console.error)});let s=ie(!1),r=ie(!1),n=ie(2),a=Le(Date.now()),o=ie(!0);ai(()=>{const H=setInterval(()=>{N(o,!f(o))},500);return()=>clearInterval(H)});let h=ie("0m");ai(()=>{function H(){const Z=Math.floor((Date.now()-a)/6e4);N(h,Z<60?`${Z}m`:`${Math.floor(Z/60)}h ${Z%60}m`,!0)}H();const W=setInterval(H,1e4);return()=>clearInterval(W)}),ai(()=>{function H(W){(W.ctrlKey||W.metaKey)&&W.key==="k"&&(W.preventDefault(),N(r,!f(r))),(W.ctrlKey||W.metaKey)&&W.key===","&&(W.preventDefault(),N(s,!f(s)))}return window.addEventListener("keydown",H),()=>window.removeEventListener("keydown",H)});let l=Ge(()=>i.filter(H=>H.status==="running").length),c=Ge(()=>i.filter(H=>H.status==="idle").length),d=Ge(()=>i.filter(H=>H.status==="stalled").length),g=Ge(()=>i.reduce((H,W)=>H+W.costUsd,0)),u=Ge(()=>i.reduce((H,W)=>H+W.tokens,0)),p=Ge(()=>i.filter(H=>H.status==="stalled"||(H.contextPct??0)>=75));function _(H){return H>=1e3?`${(H/1e3).toFixed(1)}k`:String(H)}function v(H){return`$${H.toFixed(3)}`}var A=e0(),x=Ve(A);Fm(x,{get open(){return f(s)},onClose:()=>N(s,!1)});var S=P(x,2);$m(S,{get open(){return f(r)},onClose:()=>N(r,!1)});var w=P(S,2);Jm(w,{});var y=P(w,2),m=M(y),C=P(M(m),2);let k;C.__click=()=>N(s,!f(s));var b=P(m,2),D=M(b);Ee(D,21,()=>i,H=>H.id,(H,W)=>{Ip(H,{get id(){return f(W).id},get name(){return f(W).name},get cwd(){return f(W).cwd},get accent(){return f(W).accent},get status(){return f(W).status},get costUsd(){return f(W).costUsd},get tokens(){return f(W).tokens},get messages(){return f(W).messages},get provider(){return f(W).provider},get profile(){return f(W).profile},get model(){return f(W).model},get contextPct(){return f(W).contextPct},get burnRate(){return f(W).burnRate},get blinkVisible(){return f(o)}})});var I=P(y,2),E=M(I);{var B=H=>{var W=jm(),Z=P(M(W),2),_e=M(Z);se(()=>X(_e,f(l))),U(H,W)};ne(E,H=>{f(l)>0&&H(B)})}var L=P(E,2);{var R=H=>{var W=Ym(),Z=P(M(W),2),_e=M(Z);se(()=>X(_e,f(c))),U(H,W)};ne(L,H=>{f(c)>0&&H(R)})}var O=P(L,2);{var Q=H=>{var W=Vm(),Z=P(M(W),2),_e=M(Z);se(()=>X(_e,f(d))),U(H,W)};ne(O,H=>{f(d)>0&&H(Q)})}var T=P(O,2);{var z=H=>{var W=Xm(),Z=P(M(W),2),_e=M(Z);se(fe=>{ve(W,"title",`Needs attention: ${fe??""}`),X(_e,f(p).length)},[()=>f(p).map(fe=>fe.name).join(", ")]),U(H,W)};ne(T,H=>{f(p).length>0&&H(z)})}var K=P(T,4),ae=P(M(K),2),he=M(ae),F=P(K,2),V=P(M(F),2),le=M(V),ce=P(F,2),ee=P(M(ce),2),q=M(ee),Y=P(ce,2);Y.__click=()=>N(n,0);var te=P(M(Y),2);{var $=H=>{var W=Zm(),Z=M(W);se(()=>X(Z,f(n))),U(H,W)};ne(te,H=>{f(n)>0&&H($)})}se((H,W)=>{k=pe(C,1,"sidebar-icon svelte-krfyfn",null,k,{active:f(s)}),X(he,f(h)),X(le,H),X(q,W),ve(Y,"aria-label",f(n)>0?`${f(n)} unread notifications`:"Notifications")},[()=>_(f(u)),()=>v(f(g))]),U(e,A),at()}bt(["click"]);const i0=1e10,s0=1e3;function sn(e,t){const i=e.map(s=>`"${s}"`).join(", ");return new Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${i}`)}function r0(e={}){let t={},i={},s;function r(C){var k;i.unregisterHandler&&i.unregisterHandler(),i=C,(k=i.registerHandler)==null||k.call(i,y)}function n(C){if(typeof C=="function"){s=C;return}s=(k,b)=>{const D=C[k];if(D)return D(b);const I=C._;if(!I)throw new Error(`The requested method has no handler: ${String(k)}`);return I(k,b)}}const{maxRequestTime:a=s0}=e;e.transport&&r(e.transport),e.requestHandler&&n(e.requestHandler),e._debugHooks&&(t=e._debugHooks);let o=0;function h(){return o<=i0?++o:o=0}const l=new Map,c=new Map;function d(C,...k){const b=k[0];return new Promise((D,I)=>{var L;if(!i.send)throw sn(["send"],"make requests");const E=h(),B={type:"request",id:E,method:C,params:b};l.set(E,{resolve:D,reject:I}),a!==1/0&&c.set(E,setTimeout(()=>{c.delete(E),l.delete(E),I(new Error("RPC request timed out."))},a)),(L=t.onSend)==null||L.call(t,B),i.send(B)})}const g=new Proxy(d,{get:(C,k,b)=>k in C?Reflect.get(C,k,b):D=>d(k,D)}),u=g;function p(C,...k){var I;const b=k[0];if(!i.send)throw sn(["send"],"send messages");const D={type:"message",id:C,payload:b};(I=t.onSend)==null||I.call(t,D),i.send(D)}const _=new Proxy(p,{get:(C,k,b)=>k in C?Reflect.get(C,k,b):D=>p(k,D)}),v=_,A=new Map,x=new Set;function S(C,k){if(!i.registerHandler)throw sn(["registerHandler"],"register message listeners");if(C==="*"){x.add(k);return}A.has(C)||A.set(C,new Set),A.get(C).add(k)}function w(C,k){var b,D;if(C==="*"){x.delete(k);return}(b=A.get(C))==null||b.delete(k),((D=A.get(C))==null?void 0:D.size)===0&&A.delete(C)}async function y(C){var k,b;if((k=t.onReceive)==null||k.call(t,C),!("type"in C))throw new Error("Message does not contain a type.");if(C.type==="request"){if(!i.send||!s)throw sn(["send","requestHandler"],"handle requests");const{id:D,method:I,params:E}=C;let B;try{B={type:"response",id:D,success:!0,payload:await s(I,E)}}catch(L){if(!(L instanceof Error))throw L;B={type:"response",id:D,success:!1,error:L.message}}(b=t.onSend)==null||b.call(t,B),i.send(B);return}if(C.type==="response"){const D=c.get(C.id);D!=null&&clearTimeout(D),c.delete(C.id);const{resolve:I,reject:E}=l.get(C.id)??{};l.delete(C.id),C.success?I==null||I(C.payload):E==null||E(new Error(C.error));return}if(C.type==="message"){for(const I of x)I(C.id,C.payload);const D=A.get(C.id);if(!D)return;for(const I of D)I(C.payload);return}throw new Error(`Unexpected RPC message type: ${C.type}`)}return{setTransport:r,setRequestHandler:n,request:g,requestProxy:u,send:_,sendProxy:v,addMessageListener:S,removeMessageListener:w,proxy:{send:v,request:u}}}function n0(e,t){const i={maxRequestTime:t.maxRequestTime,requestHandler:{...t.handlers.requests,...t.extraRequestHandlers},transport:{registerHandler:()=>{}}},s=r0(i),r=t.handlers.messages;return r&&s.addMessageListener("*",((n,a)=>{const o=r["*"];o&&o(n,a);const h=r[n];h&&h(a)})),s}const o0=window.__electrobunWebviewId,a0=window.__electrobunRpcSocketPort;class qc{constructor(t){this.rpc=t.rpc,this.init()}init(){this.initSocketToBun(),window.__electrobun.receiveMessageFromBun=this.receiveMessageFromBun.bind(this),this.rpc&&this.rpc.setTransport(this.createTransport())}initSocketToBun(){const t=new WebSocket(`ws://localhost:${a0}/socket?webviewId=${o0}`);this.bunSocket=t,t.addEventListener("open",()=>{}),t.addEventListener("message",async i=>{var r;const s=i.data;if(typeof s=="string")try{const n=JSON.parse(s),a=await window.__electrobun_decrypt(n.encryptedData,n.iv,n.tag);(r=this.rpcHandler)==null||r.call(this,JSON.parse(a))}catch(n){console.error("Error parsing bun message:",n)}else s instanceof Blob||console.error("UNKNOWN DATA TYPE RECEIVED:",i.data)}),t.addEventListener("error",i=>{console.error("Socket error:",i)}),t.addEventListener("close",i=>{})}createTransport(){const t=this;return{send(i){try{const s=JSON.stringify(i);t.bunBridge(s)}catch(s){console.error("bun: failed to serialize message to webview",s)}},registerHandler(i){t.rpcHandler=i}}}async bunBridge(t){var i,s;if(((i=this.bunSocket)==null?void 0:i.readyState)===WebSocket.OPEN)try{const{encryptedData:r,iv:n,tag:a}=await window.__electrobun_encrypt(t),h=JSON.stringify({encryptedData:r,iv:n,tag:a});this.bunSocket.send(h);return}catch(r){console.error("Error sending message to bun via socket:",r)}(s=window.__electrobunBunBridge)==null||s.postMessage(t)}receiveMessageFromBun(t){this.rpcHandler&&this.rpcHandler(t)}static defineRPC(t){return n0("webview",{...t,extraRequestHandlers:{evaluateJavascriptWithResponse:({script:i})=>new Promise(s=>{try{const n=new Function(i)();n instanceof Promise?n.then(a=>{s(a)}).catch(a=>{console.error("bun: async script execution failed",a),s(String(a))}):s(n)}catch(r){console.error("bun: failed to eval script",r),s(String(r))}})}})}}const ue=qc.defineRPC({maxRequestTime:1e4,handlers:{requests:{},messages:{}}}),hs=new qc({rpc:ue});du(t0,{target:document.getElementById("app")}); diff --git a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CgAt0V08.js b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CgAt0V08.js new file mode 100644 index 0000000..5e36474 --- /dev/null +++ b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-CgAt0V08.js @@ -0,0 +1,54 @@ +var sd=Object.defineProperty;var Ga=e=>{throw TypeError(e)};var rd=(e,t,i)=>t in e?sd(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var Di=(e,t,i)=>rd(e,typeof t!="symbol"?t+"":t,i),Jn=(e,t,i)=>t.has(e)||Ga("Cannot "+i);var K=(e,t,i)=>(Jn(e,t,"read from private field"),i?i.call(e):t.get(e)),ze=(e,t,i)=>t.has(e)?Ga("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),De=(e,t,i,s)=>(Jn(e,t,"write to private field"),s?s.call(e,i):t.set(e,i),i),ht=(e,t,i)=>(Jn(e,t,"access private method"),i);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const n of r)if(n.type==="childList")for(const a of n.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&s(a)}).observe(document,{childList:!0,subtree:!0});function i(r){const n={};return r.integrity&&(n.integrity=r.integrity),r.referrerPolicy&&(n.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?n.credentials="include":r.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function s(r){if(r.ep)return;r.ep=!0;const n=i(r);fetch(r.href,n)}})();const nd="5";var hh;typeof window<"u"&&((hh=window.__svelte??(window.__svelte={})).v??(hh.v=new Set)).add(nd);const od=1,ad=2,_h=4,ld=8,hd=16,cd=1,dd=2,Ft=Symbol(),ud="http://www.w3.org/1999/xhtml",Co=!1;var fh=Array.isArray,_d=Array.prototype.indexOf,Qn=Array.from,fd=Object.defineProperty,Er=Object.getOwnPropertyDescriptor,vd=Object.getOwnPropertyDescriptors,gd=Object.prototype,pd=Array.prototype,vh=Object.getPrototypeOf,Ka=Object.isExtensible;const jn=()=>{};function md(e){for(var t=0;t{e=s,t=r});return{promise:i,resolve:e,reject:t}}const Pt=2,Aa=4,ba=8,Ad=1<<24,Xi=16,Zi=32,zs=64,Nn=128,Ei=512,Wt=1024,si=2048,Wi=4096,hi=8192,_s=16384,wa=32768,sr=65536,Ja=1<<17,ph=1<<18,lr=1<<19,bd=1<<20,Ji=1<<25,Os=32768,So=1<<21,Ca=1<<22,fs=1<<23,dn=Symbol("$state"),wd=Symbol(""),Ys=new class extends Error{constructor(){super(...arguments);Di(this,"name","StaleReactionError");Di(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};function mh(e){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function Cd(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function Sd(e){throw new Error("https://svelte.dev/e/effect_in_teardown")}function yd(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function xd(e){throw new Error("https://svelte.dev/e/effect_orphan")}function kd(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Ed(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Bd(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Id(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Dd(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}function Md(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function Ah(e){return e===this.v}function Ld(e,t){return e!=e?t==t:e!==t||e!==null&&typeof e=="object"||typeof e=="function"}function bh(e){return!Ld(e,this.v)}let qr=!1,Rd=!1;function Td(){qr=!0}let dt=null;function rr(e){dt=e}function vt(e,t=!1,i){dt={p:dt,i:!1,c:null,e:null,s:e,x:null,l:qr&&!t?{s:null,u:null,$:[]}:null}}function gt(e){var t=dt,i=t.e;if(i!==null){t.e=null;for(var s of i)Fh(s)}return e!==void 0&&(t.x=e),t.i=!0,dt=t.p,e??{}}function Ur(){return!qr||dt!==null&&dt.l===null}let ys=[];function wh(){var e=ys;ys=[],md(e)}function qs(e){if(ys.length===0&&!Br){var t=ys;queueMicrotask(()=>{t===ys&&wh()})}ys.push(e)}function Pd(){for(;ys.length>0;)wh()}function Ch(e){var t=Ke;if(t===null)return Ne.f|=fs,e;if((t.f&wa)===0){if((t.f&Nn)===0)throw e;t.b.error(e)}else nr(e,t)}function nr(e,t){for(;t!==null;){if((t.f&Nn)!==0)try{t.b.error(e);return}catch(i){e=i}t=t.parent}throw e}const tn=new Set;let Oe=null,un=null,_t=null,mi=[],Fn=null,yo=!1,Br=!1;var Zs,er,ks,Es,Hr,tr,ir,Tt,xo,Ar,ko,Sh,yh;const Tn=class Tn{constructor(){ze(this,Tt);Di(this,"committed",!1);Di(this,"current",new Map);Di(this,"previous",new Map);ze(this,Zs,new Set);ze(this,er,new Set);ze(this,ks,0);ze(this,Es,0);ze(this,Hr,null);ze(this,tr,new Set);ze(this,ir,new Set);Di(this,"skipped_effects",new Set);Di(this,"is_fork",!1)}is_deferred(){return this.is_fork||K(this,Es)>0}process(t){var s;mi=[],un=null,this.apply();var i={parent:null,effect:null,effects:[],render_effects:[]};for(const r of t)ht(this,Tt,xo).call(this,r,i);this.is_fork||ht(this,Tt,Sh).call(this),this.is_deferred()?(ht(this,Tt,Ar).call(this,i.effects),ht(this,Tt,Ar).call(this,i.render_effects)):(un=this,Oe=null,ja(i.render_effects),ja(i.effects),un=null,(s=K(this,Hr))==null||s.resolve()),_t=null}capture(t,i){this.previous.has(t)||this.previous.set(t,i),(t.f&fs)===0&&(this.current.set(t,t.v),_t==null||_t.set(t,t.v))}activate(){Oe=this,this.apply()}deactivate(){Oe===this&&(Oe=null,_t=null)}flush(){if(this.activate(),mi.length>0){if(xh(),Oe!==null&&Oe!==this)return}else K(this,ks)===0&&this.process([]);this.deactivate()}discard(){for(const t of K(this,er))t(this);K(this,er).clear()}increment(t){De(this,ks,K(this,ks)+1),t&&De(this,Es,K(this,Es)+1)}decrement(t){De(this,ks,K(this,ks)-1),t&&De(this,Es,K(this,Es)-1),this.revive()}revive(){for(const t of K(this,tr))K(this,ir).delete(t),zt(t,si),Qs(t);for(const t of K(this,ir))zt(t,Wi),Qs(t);this.flush()}oncommit(t){K(this,Zs).add(t)}ondiscard(t){K(this,er).add(t)}settled(){return(K(this,Hr)??De(this,Hr,gh())).promise}static ensure(){if(Oe===null){const t=Oe=new Tn;tn.add(Oe),Br||Tn.enqueue(()=>{Oe===t&&t.flush()})}return Oe}static enqueue(t){qs(t)}apply(){}};Zs=new WeakMap,er=new WeakMap,ks=new WeakMap,Es=new WeakMap,Hr=new WeakMap,tr=new WeakMap,ir=new WeakMap,Tt=new WeakSet,xo=function(t,i){var d;t.f^=Wt;for(var s=t.first;s!==null;){var r=s.f,n=(r&(Zi|zs))!==0,a=n&&(r&Wt)!==0,o=a||(r&hi)!==0||this.skipped_effects.has(s);if((s.f&Nn)!==0&&((d=s.b)!=null&&d.is_pending())&&(i={parent:i,effect:s,effects:[],render_effects:[]}),!o&&s.fn!==null){n?s.f^=Wt:(r&Aa)!==0?i.effects.push(s):Gr(s)&&((s.f&Xi)!==0&&K(this,tr).add(s),Rr(s));var h=s.first;if(h!==null){s=h;continue}}var l=s.parent;for(s=s.next;s===null&&l!==null;)l===i.effect&&(ht(this,Tt,Ar).call(this,i.effects),ht(this,Tt,Ar).call(this,i.render_effects),i=i.parent),s=l.next,l=l.parent}},Ar=function(t){for(const i of t)(i.f&si)!==0?K(this,tr).add(i):(i.f&Wi)!==0&&K(this,ir).add(i),ht(this,Tt,ko).call(this,i.deps),zt(i,Wt)},ko=function(t){if(t!==null)for(const i of t)(i.f&Pt)===0||(i.f&Os)===0||(i.f^=Os,ht(this,Tt,ko).call(this,i.deps))},Sh=function(){if(K(this,Es)===0){for(const t of K(this,Zs))t();K(this,Zs).clear()}K(this,ks)===0&&ht(this,Tt,yh).call(this)},yh=function(){var n;if(tn.size>1){this.previous.clear();var t=_t,i=!0,s={parent:null,effect:null,effects:[],render_effects:[]};for(const a of tn){if(a===this){i=!1;continue}const o=[];for(const[l,d]of this.current){if(a.current.has(l))if(i&&d!==a.current.get(l))a.current.set(l,d);else continue;o.push(l)}if(o.length===0)continue;const h=[...a.current.keys()].filter(l=>!this.current.has(l));if(h.length>0){var r=mi;mi=[];const l=new Set,d=new Map;for(const u of o)kh(u,h,l,d);if(mi.length>0){Oe=a,a.apply();for(const u of mi)ht(n=a,Tt,xo).call(n,u,s);a.deactivate()}mi=r}}Oe=null,_t=t}this.committed=!0,tn.delete(this)};let ji=Tn;function Od(e){var t=Br;Br=!0;try{for(var i;;){if(Pd(),mi.length===0&&(Oe==null||Oe.flush(),mi.length===0))return Fn=null,i;xh()}}finally{Br=t}}function xh(){var e=Rs;yo=!0;var t=null;try{var i=0;for(yn(!0);mi.length>0;){var s=ji.ensure();if(i++>1e3){var r,n;Qd()}s.process(mi),vs.clear()}}finally{yo=!1,yn(e),Fn=null}}function Qd(){try{kd()}catch(e){nr(e,Fn)}}let yi=null;function ja(e){var t=e.length;if(t!==0){for(var i=0;i0)){vs.clear();for(const r of yi){if((r.f&(_s|hi))!==0)continue;const n=[r];let a=r.parent;for(;a!==null;)yi.has(a)&&(yi.delete(a),n.push(a)),a=a.parent;for(let o=n.length-1;o>=0;o--){const h=n[o];(h.f&(_s|hi))===0&&Rr(h)}}yi.clear()}}yi=null}}function kh(e,t,i,s){if(!i.has(e)&&(i.add(e),e.reactions!==null))for(const r of e.reactions){const n=r.f;(n&Pt)!==0?kh(r,t,i,s):(n&(Ca|Xi))!==0&&(n&si)===0&&Eh(r,t,s)&&(zt(r,si),Qs(r))}}function Eh(e,t,i){const s=i.get(e);if(s!==void 0)return s;if(e.deps!==null)for(const r of e.deps){if(t.includes(r))return!0;if((r.f&Pt)!==0&&Eh(r,t,i))return i.set(r,!0),!0}return i.set(e,!1),!1}function Qs(e){for(var t=Fn=e;t.parent!==null;){t=t.parent;var i=t.f;if(yo&&t===Ke&&(i&Xi)!==0&&(i&ph)===0)return;if((i&(zs|Zi))!==0){if((i&Wt)===0)return;t.f^=Wt}}mi.push(t)}function Nd(e){let t=0,i=Ns(0),s;return()=>{Mr()&&(c(i),xa(()=>(t===0&&(s=Kr(()=>e(()=>Ir(i)))),t+=1,()=>{qs(()=>{t-=1,t===0&&(s==null||s(),s=void 0,Ir(i))})})))}}var Fd=sr|lr|Nn;function Hd(e,t,i){new Wd(e,t,i)}var vi,gi,ma,Ti,Bs,Pi,pi,Zt,Oi,Ki,hs,Is,cs,Ds,ds,Pn,Et,zd,qd,Eo,_n,fn,Bo;class Wd{constructor(t,i,s){ze(this,Et);Di(this,"parent");ze(this,vi,!1);ze(this,gi);ze(this,ma,null);ze(this,Ti);ze(this,Bs);ze(this,Pi);ze(this,pi,null);ze(this,Zt,null);ze(this,Oi,null);ze(this,Ki,null);ze(this,hs,null);ze(this,Is,0);ze(this,cs,0);ze(this,Ds,!1);ze(this,ds,null);ze(this,Pn,Nd(()=>(De(this,ds,Ns(K(this,Is))),()=>{De(this,ds,null)})));De(this,gi,t),De(this,Ti,i),De(this,Bs,s),this.parent=Ke.b,De(this,vi,!!K(this,Ti).pending),De(this,Pi,ka(()=>{Ke.b=this;{var r=ht(this,Et,Eo).call(this);try{De(this,pi,Ai(()=>s(r)))}catch(n){this.error(n)}K(this,cs)>0?ht(this,Et,fn).call(this):De(this,vi,!1)}return()=>{var n;(n=K(this,hs))==null||n.remove()}},Fd))}is_pending(){return K(this,vi)||!!this.parent&&this.parent.is_pending()}has_pending_snippet(){return!!K(this,Ti).pending}update_pending_count(t){ht(this,Et,Bo).call(this,t),De(this,Is,K(this,Is)+t),K(this,ds)&&or(K(this,ds),K(this,Is))}get_effect_pending(){return K(this,Pn).call(this),c(K(this,ds))}error(t){var i=K(this,Ti).onerror;let s=K(this,Ti).failed;if(K(this,Ds)||!i&&!s)throw t;K(this,pi)&&(ii(K(this,pi)),De(this,pi,null)),K(this,Zt)&&(ii(K(this,Zt)),De(this,Zt,null)),K(this,Oi)&&(ii(K(this,Oi)),De(this,Oi,null));var r=!1,n=!1;const a=()=>{if(r){Md();return}r=!0,n&&Dd(),ji.ensure(),De(this,Is,0),K(this,Oi)!==null&&Ls(K(this,Oi),()=>{De(this,Oi,null)}),De(this,vi,this.has_pending_snippet()),De(this,pi,ht(this,Et,_n).call(this,()=>(De(this,Ds,!1),Ai(()=>K(this,Bs).call(this,K(this,gi)))))),K(this,cs)>0?ht(this,Et,fn).call(this):De(this,vi,!1)};var o=Ne;try{ti(null),n=!0,i==null||i(t,a),n=!1}catch(h){nr(h,K(this,Pi)&&K(this,Pi).parent)}finally{ti(o)}s&&qs(()=>{De(this,Oi,ht(this,Et,_n).call(this,()=>{ji.ensure(),De(this,Ds,!0);try{return Ai(()=>{s(K(this,gi),()=>t,()=>a)})}catch(h){return nr(h,K(this,Pi).parent),null}finally{De(this,Ds,!1)}}))})}}vi=new WeakMap,gi=new WeakMap,ma=new WeakMap,Ti=new WeakMap,Bs=new WeakMap,Pi=new WeakMap,pi=new WeakMap,Zt=new WeakMap,Oi=new WeakMap,Ki=new WeakMap,hs=new WeakMap,Is=new WeakMap,cs=new WeakMap,Ds=new WeakMap,ds=new WeakMap,Pn=new WeakMap,Et=new WeakSet,zd=function(){try{De(this,pi,Ai(()=>K(this,Bs).call(this,K(this,gi))))}catch(t){this.error(t)}De(this,vi,!1)},qd=function(){const t=K(this,Ti).pending;t&&(De(this,Zt,Ai(()=>t(K(this,gi)))),ji.enqueue(()=>{var i=ht(this,Et,Eo).call(this);De(this,pi,ht(this,Et,_n).call(this,()=>(ji.ensure(),Ai(()=>K(this,Bs).call(this,i))))),K(this,cs)>0?ht(this,Et,fn).call(this):(Ls(K(this,Zt),()=>{De(this,Zt,null)}),De(this,vi,!1))}))},Eo=function(){var t=K(this,gi);return K(this,vi)&&(De(this,hs,gs()),K(this,gi).before(K(this,hs)),t=K(this,hs)),t},_n=function(t){var i=Ke,s=Ne,r=dt;zi(K(this,Pi)),ti(K(this,Pi)),rr(K(this,Pi).ctx);try{return t()}catch(n){return Ch(n),null}finally{zi(i),ti(s),rr(r)}},fn=function(){const t=K(this,Ti).pending;K(this,pi)!==null&&(De(this,Ki,document.createDocumentFragment()),K(this,Ki).append(K(this,hs)),$h(K(this,pi),K(this,Ki))),K(this,Zt)===null&&De(this,Zt,Ai(()=>t(K(this,gi))))},Bo=function(t){var i;if(!this.has_pending_snippet()){this.parent&&ht(i=this.parent,Et,Bo).call(i,t);return}De(this,cs,K(this,cs)+t),K(this,cs)===0&&(De(this,vi,!1),K(this,Zt)&&Ls(K(this,Zt),()=>{De(this,Zt,null)}),K(this,Ki)&&(K(this,gi).before(K(this,Ki)),De(this,Ki,null)))};function Ud(e,t,i,s){const r=Ur()?Sa:Bh;if(i.length===0&&e.length===0){s(t.map(r));return}var n=Oe,a=Ke,o=$d();function h(){Promise.all(i.map(l=>Gd(l))).then(l=>{o();try{s([...t.map(r),...l])}catch(d){(a.f&_s)===0&&nr(d,a)}n==null||n.deactivate(),Cn()}).catch(l=>{nr(l,a)})}e.length>0?Promise.all(e).then(()=>{o();try{return h()}finally{n==null||n.deactivate(),Cn()}}):h()}function $d(){var e=Ke,t=Ne,i=dt,s=Oe;return function(n=!0){zi(e),ti(t),rr(i),n&&(s==null||s.activate())}}function Cn(){zi(null),ti(null),rr(null)}function Sa(e){var t=Pt|si,i=Ne!==null&&(Ne.f&Pt)!==0?Ne:null;return Ke!==null&&(Ke.f|=lr),{ctx:dt,deps:null,effects:null,equals:Ah,f:t,fn:e,reactions:null,rv:0,v:Ft,wv:0,parent:i??Ke,ac:null}}function Gd(e,t){let i=Ke;i===null&&Cd();var s=i.b,r=void 0,n=Ns(Ft),a=!Ne,o=new Map;return ou(()=>{var v;var h=gh();r=h.promise;try{Promise.resolve(e()).then(h.resolve,h.reject).then(()=>{l===Oe&&l.committed&&l.deactivate(),Cn()})}catch(_){h.reject(_),Cn()}var l=Oe;if(a){var d=!s.is_pending();s.update_pending_count(1),l.increment(d),(v=o.get(l))==null||v.reject(Ys),o.delete(l),o.set(l,h)}const u=(_,p=void 0)=>{if(l.activate(),p)p!==Ys&&(n.f|=fs,or(n,p));else{(n.f&fs)!==0&&(n.f^=fs),or(n,_);for(const[f,g]of o){if(o.delete(f),f===l)break;g.reject(Ys)}}a&&(s.update_pending_count(-1),l.decrement(d))};h.promise.then(u,_=>u(null,_||"unknown"))}),Nh(()=>{for(const h of o.values())h.reject(Ys)}),new Promise(h=>{function l(d){function u(){d===r?h(n):l(r)}d.then(u,u)}l(r)})}function Ge(e){const t=Sa(e);return Gh(t),t}function Bh(e){const t=Sa(e);return t.equals=bh,t}function Ih(e){var t=e.effects;if(t!==null){e.effects=null;for(var i=0;i0&&!Mh&&jd()}return t}function jd(){Mh=!1;var e=Rs;yn(!0);const t=Array.from(Io);try{for(const i of t)(i.f&Wt)!==0&&zt(i,Wi),Gr(i)&&Rr(i)}finally{yn(e)}Io.clear()}function Yd(e,t=1){var i=c(e),s=t===1?i++:i--;return N(e,i),s}function Vd(e,t=1){var i=c(e);return N(e,t===1?++i:--i)}function Ir(e){N(e,e.v+1)}function Lh(e,t){var i=e.reactions;if(i!==null)for(var s=Ur(),r=i.length,n=0;n{if(Ts===n)return o();var h=Ne,l=Ts;ti(null),Za(n);var d=o();return ti(h),Za(l),d};return s&&i.set("length",V(e.length)),new Proxy(e,{defineProperty(o,h,l){(!("value"in l)||l.configurable===!1||l.enumerable===!1||l.writable===!1)&&Ed();var d=i.get(h);return d===void 0?d=a(()=>{var u=V(l.value);return i.set(h,u),u}):N(d,l.value,!0),!0},deleteProperty(o,h){var l=i.get(h);if(l===void 0){if(h in o){const d=a(()=>V(Ft));i.set(h,d),Ir(r)}}else N(l,Ft),Ir(r);return!0},get(o,h,l){var _;if(h===dn)return e;var d=i.get(h),u=h in o;if(d===void 0&&(!u||(_=Er(o,h))!=null&&_.writable)&&(d=a(()=>{var p=Fe(u?o[h]:Ft),f=V(p);return f}),i.set(h,d)),d!==void 0){var v=c(d);return v===Ft?void 0:v}return Reflect.get(o,h,l)},getOwnPropertyDescriptor(o,h){var l=Reflect.getOwnPropertyDescriptor(o,h);if(l&&"value"in l){var d=i.get(h);d&&(l.value=c(d))}else if(l===void 0){var u=i.get(h),v=u==null?void 0:u.v;if(u!==void 0&&v!==Ft)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return l},has(o,h){var v;if(h===dn)return!0;var l=i.get(h),d=l!==void 0&&l.v!==Ft||Reflect.has(o,h);if(l!==void 0||Ke!==null&&(!d||(v=Er(o,h))!=null&&v.writable)){l===void 0&&(l=a(()=>{var _=d?Fe(o[h]):Ft,p=V(_);return p}),i.set(h,l));var u=c(l);if(u===Ft)return!1}return d},set(o,h,l,d){var y;var u=i.get(h),v=h in o;if(s&&h==="length")for(var _=l;_V(Ft)),i.set(_+"",p))}if(u===void 0)(!v||(y=Er(o,h))!=null&&y.writable)&&(u=a(()=>V(void 0)),N(u,Fe(l)),i.set(h,u));else{v=u.v!==Ft;var f=a(()=>Fe(l));N(u,f)}var g=Reflect.getOwnPropertyDescriptor(o,h);if(g!=null&&g.set&&g.set.call(d,l),!v){if(s&&typeof h=="string"){var A=i.get("length"),E=Number(h);Number.isInteger(E)&&E>=A.v&&N(A,E+1)}Ir(r)}return!0},ownKeys(o){c(r);var h=Reflect.ownKeys(o).filter(u=>{var v=i.get(u);return v===void 0||v.v!==Ft});for(var[l,d]of i)d.v!==Ft&&!(l in o)&&h.push(l);return h},setPrototypeOf(){Bd()}})}var Ya,Rh,Th,Ph;function Xd(){if(Ya===void 0){Ya=window,Rh=/Firefox/.test(navigator.userAgent);var e=Element.prototype,t=Node.prototype,i=Text.prototype;Th=Er(t,"firstChild").get,Ph=Er(t,"nextSibling").get,Ka(e)&&(e.__click=void 0,e.__className=void 0,e.__attributes=null,e.__style=void 0,e.__e=void 0),Ka(i)&&(i.__t=void 0)}}function gs(e=""){return document.createTextNode(e)}function Sn(e){return Th.call(e)}function $r(e){return Ph.call(e)}function k(e,t){return Sn(e)}function Ve(e,t=!1){{var i=Sn(e);return i instanceof Comment&&i.data===""?$r(i):i}}function L(e,t=1,i=!1){let s=e;for(;t--;)s=$r(s);return s}function Zd(e){e.textContent=""}function Oh(){return!1}function Qh(e,t){{const i=document.body;e.autofocus=!0,qs(()=>{document.activeElement===i&&e.focus()})}}let Va=!1;function eu(){Va||(Va=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const i of e.target.elements)(t=i.__on_r)==null||t.call(i)})},{capture:!0}))}function Hn(e){var t=Ne,i=Ke;ti(null),zi(null);try{return e()}finally{ti(t),zi(i)}}function tu(e,t,i,s=i){e.addEventListener(t,()=>Hn(i));const r=e.__on_r;r?e.__on_r=()=>{r(),s(!0)}:e.__on_r=()=>s(!0),eu()}function iu(e){Ke===null&&(Ne===null&&xd(),yd()),hr&&Sd()}function su(e,t){var i=t.last;i===null?t.last=t.first=e:(i.next=e,e.prev=i,t.last=e)}function es(e,t,i){var s=Ke;s!==null&&(s.f&hi)!==0&&(e|=hi);var r={ctx:dt,deps:null,nodes:null,f:e|si|Ei,first:null,fn:t,last:null,next:null,parent:s,b:s&&s.b,prev:null,teardown:null,wv:0,ac:null};if(i)try{Rr(r),r.f|=wa}catch(o){throw ii(r),o}else t!==null&&Qs(r);var n=r;if(i&&n.deps===null&&n.teardown===null&&n.nodes===null&&n.first===n.last&&(n.f&lr)===0&&(n=n.first,(e&Xi)!==0&&(e&sr)!==0&&n!==null&&(n.f|=sr)),n!==null&&(n.parent=s,s!==null&&su(n,s),Ne!==null&&(Ne.f&Pt)!==0&&(e&zs)===0)){var a=Ne;(a.effects??(a.effects=[])).push(n)}return r}function Mr(){return Ne!==null&&!Ni}function Nh(e){const t=es(ba,null,!1);return zt(t,Wt),t.teardown=e,t}function ki(e){iu();var t=Ke.f,i=!Ne&&(t&Zi)!==0&&(t&wa)===0;if(i){var s=dt;(s.e??(s.e=[])).push(e)}else return Fh(e)}function Fh(e){return es(Aa|bd,e,!1)}function ru(e){ji.ensure();const t=es(zs|lr,e,!0);return(i={})=>new Promise(s=>{i.outro?Ls(t,()=>{ii(t),s(void 0)}):(ii(t),s(void 0))})}function nu(e){return es(Aa,e,!1)}function ou(e){return es(Ca|lr,e,!0)}function xa(e,t=0){return es(ba|t,e,!0)}function X(e,t=[],i=[],s=[]){Ud(s,t,i,r=>{es(ba,()=>e(...r.map(c)),!0)})}function ka(e,t=0){var i=es(Xi|t,e,!0);return i}function Ai(e){return es(Zi|lr,e,!0)}function Hh(e){var t=e.teardown;if(t!==null){const i=hr,s=Ne;Xa(!0),ti(null);try{t.call(null)}finally{Xa(i),ti(s)}}}function Wh(e,t=!1){var i=e.first;for(e.first=e.last=null;i!==null;){const r=i.ac;r!==null&&Hn(()=>{r.abort(Ys)});var s=i.next;(i.f&zs)!==0?i.parent=null:ii(i,t),i=s}}function au(e){for(var t=e.first;t!==null;){var i=t.next;(t.f&Zi)===0&&ii(t),t=i}}function ii(e,t=!0){var i=!1;(t||(e.f&ph)!==0)&&e.nodes!==null&&e.nodes.end!==null&&(lu(e.nodes.start,e.nodes.end),i=!0),Wh(e,t&&!i),xn(e,0),zt(e,_s);var s=e.nodes&&e.nodes.t;if(s!==null)for(const n of s)n.stop();Hh(e);var r=e.parent;r!==null&&r.first!==null&&zh(e),e.next=e.prev=e.teardown=e.ctx=e.deps=e.fn=e.nodes=e.ac=null}function lu(e,t){for(;e!==null;){var i=e===t?null:$r(e);e.remove(),e=i}}function zh(e){var t=e.parent,i=e.prev,s=e.next;i!==null&&(i.next=s),s!==null&&(s.prev=i),t!==null&&(t.first===e&&(t.first=s),t.last===e&&(t.last=i))}function Ls(e,t,i=!0){var s=[];qh(e,s,!0);var r=()=>{i&&ii(e),t&&t()},n=s.length;if(n>0){var a=()=>--n||r();for(var o of s)o.out(a)}else r()}function qh(e,t,i){if((e.f&hi)===0){e.f^=hi;var s=e.nodes&&e.nodes.t;if(s!==null)for(const o of s)(o.is_global||i)&&t.push(o);for(var r=e.first;r!==null;){var n=r.next,a=(r.f&sr)!==0||(r.f&Zi)!==0&&(e.f&Xi)!==0;qh(r,t,a?i:!1),r=n}}}function Ea(e){Uh(e,!0)}function Uh(e,t){if((e.f&hi)!==0){e.f^=hi,(e.f&Wt)===0&&(zt(e,si),Qs(e));for(var i=e.first;i!==null;){var s=i.next,r=(i.f&sr)!==0||(i.f&Zi)!==0;Uh(i,r?t:!1),i=s}var n=e.nodes&&e.nodes.t;if(n!==null)for(const a of n)(a.is_global||t)&&a.in()}}function $h(e,t){if(e.nodes)for(var i=e.nodes.start,s=e.nodes.end;i!==null;){var r=i===s?null:$r(i);t.append(i),i=r}}let Rs=!1;function yn(e){Rs=e}let hr=!1;function Xa(e){hr=e}let Ne=null,Ni=!1;function ti(e){Ne=e}let Ke=null;function zi(e){Ke=e}let Kt=null;function Gh(e){Ne!==null&&(Kt===null?Kt=[e]:Kt.push(e))}let Gt=null,oi=0,fi=null;function hu(e){fi=e}let Kh=1,Lr=0,Ts=Lr;function Za(e){Ts=e}function Jh(){return++Kh}function Gr(e){var t=e.f;if((t&si)!==0)return!0;if(t&Pt&&(e.f&=~Os),(t&Wi)!==0){var i=e.deps;if(i!==null)for(var s=i.length,r=0;re.wv)return!0}(t&Ei)!==0&&_t===null&&zt(e,Wt)}return!1}function jh(e,t,i=!0){var s=e.reactions;if(s!==null&&!(Kt!=null&&Kt.includes(e)))for(var r=0;r{e.ac.abort(Ys)}),e.ac=null);try{e.f|=So;var d=e.fn,u=d(),v=e.deps;if(Gt!==null){var _;if(xn(e,oi),v!==null&&oi>0)for(v.length=oi+Gt.length,_=0;_i==null?void 0:i.call(this,n))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?qs(()=>{t.addEventListener(e,r,s)}):t.addEventListener(e,r,s),r}function Ia(e,t,i,s,r){var n={capture:s,passive:r},a=uu(e,t,i,n);(t===document.body||t===window||t===document||t instanceof HTMLMediaElement)&&Nh(()=>{t.removeEventListener(e,a,n)})}function Bt(e){for(var t=0;t{throw A});throw v}}finally{e.__root=t,delete e.currentTarget,ti(d),zi(u)}}}function _u(e){var t=document.createElement("template");return t.innerHTML=e.replaceAll("",""),t.content}function Mo(e,t){var i=Ke;i.nodes===null&&(i.nodes={start:e,end:t,a:null,t:null})}function q(e,t){var i=(t&cd)!==0,s=(t&dd)!==0,r,n=!e.startsWith("");return()=>{r===void 0&&(r=_u(n?e:""+e),i||(r=Sn(r)));var a=s||Rh?document.importNode(r,!0):r.cloneNode(!0);if(i){var o=Sn(a),h=a.lastChild;Mo(o,h)}else Mo(a,a);return a}}function Lt(){var e=document.createDocumentFragment(),t=document.createComment(""),i=gs();return e.append(t,i),Mo(t,i),e}function H(e,t){e!==null&&e.before(t)}const fu=["touchstart","touchmove"];function vu(e){return fu.includes(e)}function G(e,t){var i=t==null?"":typeof t=="object"?t+"":t;i!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=i,e.nodeValue=i+"")}function gu(e,t){return pu(e,t)}const Ks=new Map;function pu(e,{target:t,anchor:i,props:s={},events:r,context:n,intro:a=!0}){Xd();var o=new Set,h=u=>{for(var v=0;v{var u=i??t.appendChild(gs());return Hd(u,{pending:()=>{}},v=>{if(n){vt({});var _=dt;_.c=n}r&&(s.$$events=r),l=e(v,s)||{},n&>()}),()=>{var p;for(var v of o){t.removeEventListener(v,br);var _=Ks.get(v);--_===0?(document.removeEventListener(v,br),Ks.delete(v)):Ks.set(v,_)}Do.delete(h),u!==i&&((p=u.parentNode)==null||p.removeChild(u))}});return mu.set(l,d),l}let mu=new WeakMap;var xi,Qi,ai,Ms,Wr,zr,On;class Au{constructor(t,i=!0){Di(this,"anchor");ze(this,xi,new Map);ze(this,Qi,new Map);ze(this,ai,new Map);ze(this,Ms,new Set);ze(this,Wr,!0);ze(this,zr,()=>{var t=Oe;if(K(this,xi).has(t)){var i=K(this,xi).get(t),s=K(this,Qi).get(i);if(s)Ea(s),K(this,Ms).delete(i);else{var r=K(this,ai).get(i);r&&(K(this,Qi).set(i,r.effect),K(this,ai).delete(i),r.fragment.lastChild.remove(),this.anchor.before(r.fragment),s=r.effect)}for(const[n,a]of K(this,xi)){if(K(this,xi).delete(n),n===t)break;const o=K(this,ai).get(a);o&&(ii(o.effect),K(this,ai).delete(a))}for(const[n,a]of K(this,Qi)){if(n===i||K(this,Ms).has(n))continue;const o=()=>{if(Array.from(K(this,xi).values()).includes(n)){var l=document.createDocumentFragment();$h(a,l),l.append(gs()),K(this,ai).set(n,{effect:a,fragment:l})}else ii(a);K(this,Ms).delete(n),K(this,Qi).delete(n)};K(this,Wr)||!s?(K(this,Ms).add(n),Ls(a,o,!1)):o()}}});ze(this,On,t=>{K(this,xi).delete(t);const i=Array.from(K(this,xi).values());for(const[s,r]of K(this,ai))i.includes(s)||(ii(r.effect),K(this,ai).delete(s))});this.anchor=t,De(this,Wr,i)}ensure(t,i){var s=Oe,r=Oh();if(i&&!K(this,Qi).has(t)&&!K(this,ai).has(t))if(r){var n=document.createDocumentFragment(),a=gs();n.append(a),K(this,ai).set(t,{effect:Ai(()=>i(a)),fragment:n})}else K(this,Qi).set(t,Ai(()=>i(this.anchor)));if(K(this,xi).set(s,t),r){for(const[o,h]of K(this,Qi))o===t?s.skipped_effects.delete(h):s.skipped_effects.add(h);for(const[o,h]of K(this,ai))o===t?s.skipped_effects.delete(h.effect):s.skipped_effects.add(h.effect);s.oncommit(K(this,zr)),s.ondiscard(K(this,On))}else K(this,zr).call(this)}}xi=new WeakMap,Qi=new WeakMap,ai=new WeakMap,Ms=new WeakMap,Wr=new WeakMap,zr=new WeakMap,On=new WeakMap;function Bi(e){dt===null&&mh(),qr&&dt.l!==null?wu(dt).m.push(e):ki(()=>{const t=Kr(e);if(typeof t=="function")return t})}function bu(e){dt===null&&mh(),Bi(()=>()=>Kr(e))}function wu(e){var t=e.l;return t.u??(t.u={a:[],b:[],m:[]})}function se(e,t,i=!1){var s=new Au(e),r=i?sr:0;function n(a,o){s.ensure(a,o)}ka(()=>{var a=!1;t((o,h=!0)=>{a=!0,n(h,o)}),a||n(!1,null)},r)}function qe(e,t){return t}function Cu(e,t,i){for(var s=[],r=t.length,n,a=t.length,o=0;o{if(n){if(n.pending.delete(u),n.done.add(u),n.pending.size===0){var v=e.outrogroups;Lo(Qn(n.done)),v.delete(n),v.size===0&&(e.outrogroups=null)}}else a-=1},!1)}if(a===0){var h=s.length===0&&i!==null;if(h){var l=i,d=l.parentNode;Zd(d),d.append(l),e.items.clear()}Lo(t,!h)}else n={pending:new Set(t),done:new Set},(e.outrogroups??(e.outrogroups=new Set)).add(n)}function Lo(e,t=!0){for(var i=0;i{var A=i();return fh(A)?A:A==null?[]:Qn(A)}),v,_=!0;function p(){g.fallback=d,Su(g,v,a,t,s),d!==null&&(v.length===0?(d.f&Ji)===0?Ea(d):(d.f^=Ji,wr(d,null,a)):Ls(d,()=>{d=null}))}var f=ka(()=>{v=c(u);for(var A=v.length,E=new Set,y=Oe,w=Oh(),S=0;Sn(a)):(d=Ai(()=>n(tl??(tl=gs()))),d.f|=Ji)),!_)if(w){for(const[C,M]of o)E.has(C)||y.skipped_effects.add(M.e);y.oncommit(p),y.ondiscard(()=>{})}else p();c(u)}),g={effect:f,items:o,outrogroups:null,fallback:d};_=!1}function Su(e,t,i,s,r){var M,I,B,D,T,R,Q,O,P;var n=(s&ld)!==0,a=t.length,o=e.items,h=e.effect.first,l,d=null,u,v=[],_=[],p,f,g,A;if(n)for(A=0;A0){var C=(s&_h)!==0&&a===0?i:null;if(n){for(A=0;A{var z,U;if(u!==void 0)for(g of u)(U=(z=g.nodes)==null?void 0:z.a)==null||U.apply()})}function yu(e,t,i,s,r,n,a,o){var h=(a&od)!==0?(a&hd)===0?Jd(i,!1,!1):Ns(i):null,l=(a&ad)!==0?Ns(r):null;return{v:h,i:l,e:Ai(()=>(n(t,h??i,l??r,o),()=>{e.delete(s)}))}}function wr(e,t,i){if(e.nodes)for(var s=e.nodes.start,r=e.nodes.end,n=t&&(t.f&Ji)===0?t.nodes.start:i;s!==null;){var a=$r(s);if(n.before(s),s===r)return;s=a}}function ss(e,t,i){t===null?e.effect.first=i:t.next=i,i===null?e.effect.last=t:i.prev=t}const il=[...` +\r\f \v\uFEFF`];function xu(e,t,i){var s=e==null?"":""+e;if(t&&(s=s?s+" "+t:t),i){for(var r in i)if(i[r])s=s?s+" "+r:r;else if(s.length)for(var n=r.length,a=0;(a=s.indexOf(r,a))>=0;){var o=a+n;(a===0||il.includes(s[a-1]))&&(o===s.length||il.includes(s[o]))?s=(a===0?"":s.substring(0,a))+s.substring(o+1):a=o}}return s===""?null:s}function sl(e,t=!1){var i=t?" !important;":";",s="";for(var r in e){var n=e[r];n!=null&&n!==""&&(s+=" "+r+": "+n+i)}return s}function Yn(e){return e[0]!=="-"||e[1]!=="-"?e.toLowerCase():e}function ku(e,t){if(t){var i="",s,r;if(Array.isArray(t)?(s=t[0],r=t[1]):s=t,e){e=String(e).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var n=!1,a=0,o=!1,h=[];s&&h.push(...Object.keys(s).map(Yn)),r&&h.push(...Object.keys(r).map(Yn));var l=0,d=-1;const f=e.length;for(var u=0;u{var n=r?e.defaultValue:e.value;if(n=Xn(e)?Zn(n):n,i(n),Oe!==null&&s.add(Oe),await Ba(),n!==(n=t())){var a=e.selectionStart,o=e.selectionEnd,h=e.value.length;if(e.value=n??"",o!==null){var l=e.value.length;a===o&&o===h&&l>h?(e.selectionStart=l,e.selectionEnd=l):(e.selectionStart=a,e.selectionEnd=Math.min(o,l))}}}),Kr(t)==null&&e.value&&(i(Xn(e)?Zn(e.value):e.value),Oe!==null&&s.add(Oe)),xa(()=>{var r=t();if(e===document.activeElement){var n=un??Oe;if(s.has(n))return}Xn(e)&&r===Zn(e.value)||e.type==="date"&&!r&&!e.value||r!==e.value&&(e.value=r??"")})}function Xn(e){var t=e.type;return t==="number"||t==="range"}function Zn(e){return e===""?null:+e}function nl(e,t){return e===t||(e==null?void 0:e[dn])===t}function Tr(e={},t,i,s){return nu(()=>{var r,n;return xa(()=>{r=n,n=[],Kr(()=>{e!==i(...n)&&(t(e,...n),r&&nl(i(...r),e)&&t(null,...r))})}),()=>{qs(()=>{n&&nl(i(...n),e)&&t(null,...n)})}}),e}function ei(e,t,i,s){var r=s,n=!0,a=()=>(n&&(n=!1,r=s),r),o;o=e[t],o===void 0&&s!==void 0&&(o=a());var h;return h=()=>{var l=e[t];return l===void 0?a():(n=!0,l)},h}const Yi={claude:{upload:!0,context:!0,web:!0,slash:!0,images:!0,defaultModel:"claude-opus-4-5",label:"Claude"},codex:{upload:!0,context:!0,web:!1,slash:!0,images:!1,defaultModel:"gpt-5.4",label:"Codex"},ollama:{upload:!1,context:!0,web:!1,slash:!0,images:!1,defaultModel:"qwen3:8b",label:"Ollama"}};function Mu(e){return Yi[e]??Yi.claude}var Lu=q(''),Ru=q(''),Tu=q(''),Pu=q(''),Ou=q(''),Qu=q(''),Nu=q(''),Fu=q(''),Hu=q(''),Wu=q(''),zu=q(''),qu=q(''),Uu=q(''),$u=q('
          ',1);function Gu(e,t){vt(t,!0);let i=ei(t,"model",3,"claude-opus-4-5"),s=ei(t,"provider",3,"claude"),r=ei(t,"contextPct",3,78),n=ei(t,"disabled",3,!1),a,o=V(null),h=Ge(()=>Mu(s())),l=Ge(()=>{const j=Math.min(100,Math.max(0,r())),W=8,$=10,ee=10,te=j/100*2*Math.PI,ce=$,re=ee-W,oe=$+W*Math.sin(te),Ce=ee-W*Math.cos(te),we=j>50?1:0;return j>=100?`M ${$} ${ee-W} A ${W} ${W} 0 1 1 ${$-.001} ${ee-W} Z`:`M ${ce} ${re} A ${W} ${W} 0 ${we} 1 ${oe} ${Ce}`}),d=Ge(()=>r()>=75?"var(--ctp-red)":r()>=50?"var(--ctp-yellow)":"var(--ctp-green)");function u(){a&&(a.style.height="auto",a.style.height=Math.min(a.scrollHeight,200)+"px")}function v(j){var W;j.key==="Enter"&&!j.shiftKey&&(j.preventDefault(),t.value.trim()&&((W=t.onSend)==null||W.call(t))),j.key==="Escape"&&N(o,null)}function _(j){var W;(W=t.onInput)==null||W.call(t,j.target.value),u()}function p(j){N(o,c(o)===j?null:j,!0)}function f(){N(o,null)}function g(j){j.key==="Escape"&&N(o,null)}const A=["Upload from computer","Paste from clipboard"],E=["Add file","Add folder","Add URL","Add image"],y=["Search the web","Fetch URL"],w=["/help","/clear","/compact","/review","/test","/commit"];var S=$u(),m=Ve(S);m.__keydown=g;var b=k(m);b.__input=_,b.__keydown=v,Tr(b,j=>a=j,()=>a);var x=L(b,2),C=k(x);{var M=j=>{var W=Tu(),$=k(W);let ee;$.__click=()=>p("upload");var te=L($,2);{var ce=re=>{var oe=Ru();oe.__keydown=Ce=>Ce.key==="Escape"&&f(),Me(oe,21,()=>A,qe,(Ce,we)=>{var me=Lu();me.__click=f;var ke=k(me);X(()=>G(ke,c(we))),H(Ce,me)}),H(re,oe)};se(te,re=>{c(o)==="upload"&&re(ce)})}X(()=>ee=be($,1,"footer-btn svelte-icb1la",null,ee,{active:c(o)==="upload"})),H(j,W)};se(C,j=>{c(h).upload&&j(M)})}var I=L(C,2);{var B=j=>{var W=Qu(),$=k(W);let ee;$.__click=()=>p("context");var te=L($,2);{var ce=re=>{var oe=Ou();oe.__keydown=Ce=>Ce.key==="Escape"&&f(),Me(oe,21,()=>E,qe,(Ce,we)=>{var me=Pu();let ke;me.__click=f;var He=k(me);X(()=>{ke=be(me,1,"popup-item svelte-icb1la",null,ke,{"disabled-item":c(we)==="Add image"&&!c(h).images}),G(He,c(we))}),H(Ce,me)}),H(re,oe)};se(te,re=>{c(o)==="context"&&re(ce)})}X(()=>ee=be($,1,"footer-btn svelte-icb1la",null,ee,{active:c(o)==="context"})),H(j,W)};se(I,j=>{c(h).context&&j(B)})}var D=L(I,2);{var T=j=>{var W=Hu(),$=k(W);let ee;$.__click=()=>p("web");var te=L($,2);{var ce=re=>{var oe=Fu();oe.__keydown=Ce=>Ce.key==="Escape"&&f(),Me(oe,21,()=>y,qe,(Ce,we)=>{var me=Nu();me.__click=f;var ke=k(me);X(()=>G(ke,c(we))),H(Ce,me)}),H(re,oe)};se(te,re=>{c(o)==="web"&&re(ce)})}X(()=>ee=be($,1,"footer-btn svelte-icb1la",null,ee,{active:c(o)==="web"})),H(j,W)};se(D,j=>{c(h).web&&j(T)})}var R=L(D,2);{var Q=j=>{var W=qu(),$=k(W);let ee;$.__click=()=>p("slash");var te=L($,2);{var ce=re=>{var oe=zu();oe.__keydown=Ce=>Ce.key==="Escape"&&f(),Me(oe,21,()=>w,qe,(Ce,we)=>{var me=Wu();me.__click=f;var ke=k(me);X(()=>G(ke,c(we))),H(Ce,me)}),H(re,oe)};se(te,re=>{c(o)==="slash"&&re(ce)})}X(()=>ee=be($,1,"footer-btn svelte-icb1la",null,ee,{active:c(o)==="slash"})),H(j,W)};se(R,j=>{c(h).slash&&j(Q)})}var O=L(R,2),P=k(O),z=L(k(P)),U=L(P,2),ue=k(U),fe=L(O,4),F=k(fe),Y=L(fe,4);Y.__click=function(...j){var W;(W=t.onSend)==null||W.apply(this,j)};var ve=L(m,2);{var pe=j=>{var W=Uu();W.__click=f,W.__keydown=$=>$.key==="Escape"&&f(),H(j,W)};se(ve,j=>{c(o)!==null&&j(pe)})}X(j=>{kt(b,t.value),_e(O,"title",`Context window: ${r()??""}% used`),_e(z,"d",c(l)),_e(z,"stroke",c(d)),li(U,`color: ${c(d)??""}`),G(ue,`${r()??""}%`),G(F,i()),Y.disabled=j},[()=>n()||!t.value.trim()]),H(e,S),gt()}Bt(["keydown","input","click"]);var Ku=q('
          '),Ju=q('
          '),ju=q('
          '),Yu=q('
          '),Vu=q('
          '),Xu=q('
          '),Zu=q(' '),e_=q('
          '),t_=q(''),i_=q('
          input
          '),s_=q('
          '),r_=q('
          '),n_=q('
          result
          '),o_=q('
          '),a_=q('
          ',1);function l_(e,t){vt(t,!0);let i=ei(t,"model",3,"claude-opus-4-5"),s=ei(t,"provider",3,"claude"),r=ei(t,"contextPct",3,0),n,a=V(""),o=V(Fe(new Set)),h,l=V(!1);ki(()=>{t.messages.length,Ba().then(()=>{n&&(n.scrollTop=n.scrollHeight)})});function d(){var P;const O=c(a).trim();O&&(N(a,""),(P=t.onSend)==null||P.call(t,O))}function u(O){const P=new Set(c(o));P.has(O)?P.delete(O):P.add(O),N(o,P,!0)}function v(O){return O>=1e3?`${(O/1e3).toFixed(1)}k`:String(O)}function _(O){return`$${O.toFixed(3)}`}function p(O){return O==="running"?"dot-progress":O==="stalled"?"dot-error":"dot-success"}function f(O){O.preventDefault(),N(l,!0);const P=O.clientY,z=(h==null?void 0:h.getBoundingClientRect().height)??300;function U(fe){if(!h)return;const F=Math.max(120,z+(fe.clientY-P));h.style.flexBasis=`${F}px`,h.style.flexGrow="0",h.style.flexShrink="0"}function ue(){N(l,!1),window.removeEventListener("mousemove",U),window.removeEventListener("mouseup",ue)}window.addEventListener("mousemove",U),window.addEventListener("mouseup",ue)}var g=a_(),A=Ve(g),E=k(A),y=L(E,2),w=k(y),S=L(y,2),m=k(S),b=L(S,4),x=k(b),C=L(b,4),M=k(C),I=L(A,2),B=k(I);Me(B,23,()=>t.messages,O=>O.id,(O,P,z)=>{const U=Ge(()=>c(z)===0),ue=Ge(()=>c(z)===t.messages.length-1);var fe=o_(),F=k(fe);{var Y=pe=>{var j=Ku(),W=k(j);X(()=>G(W,c(P).content)),H(pe,j)},ve=pe=>{var j=Lt(),W=Ve(j);{var $=te=>{var ce=Yu(),re=k(ce);{var oe=He=>{var Ae=Ju();H(He,Ae)};se(re,He=>{c(U)||He(oe)})}var Ce=L(re,4);{var we=He=>{var Ae=ju();H(He,Ae)};se(Ce,He=>{c(ue)||He(we)})}var me=L(Ce,2),ke=k(me);X(()=>G(ke,c(P).content)),H(te,ce)},ee=te=>{var ce=Lt(),re=Ve(ce);{var oe=we=>{var me=i_(),ke=k(me);{var He=Ue=>{var at=Vu();H(Ue,at)};se(ke,Ue=>{c(U)||Ue(He)})}var Ae=L(ke,4);{var ye=Ue=>{var at=Xu();H(Ue,at)};se(Ae,Ue=>{c(ue)||Ue(ye)})}var Be=L(Ae,2),ge=k(Be),Se=k(ge),le=k(Se),ne=L(Se,2);{var xe=Ue=>{var at=Zu(),Qt=k(at);X(()=>G(Qt,c(P).toolPath)),H(Ue,at)};se(ne,Ue=>{c(P).toolPath&&Ue(xe)})}var $e=L(ge,2);let Xe;var Qe=k($e),Pe=L(k(Qe),2),Ze=k(Pe),tt=L(Qe,2);{var Ot=Ue=>{var at=e_(),Qt=k(at);Qt.__click=()=>u(c(P).id),H(Ue,at)};se(tt,Ue=>{c(o).has(c(P).id)||Ue(Ot)})}var Yt=L($e,2);{var Ci=Ue=>{var at=t_();at.__click=()=>u(c(P).id),H(Ue,at)};se(Yt,Ue=>{c(o).has(c(P).id)&&Ue(Ci)})}X(Ue=>{G(le,c(P).toolName??"Tool"),Xe=be($e,1,"tool-body svelte-9vsw7f",null,Xe,Ue),G(Ze,c(P).content)},[()=>({expanded:c(o).has(c(P).id)})]),H(we,me)},Ce=we=>{var me=Lt(),ke=Ve(me);{var He=Ae=>{var ye=n_(),Be=k(ye);{var ge=Qe=>{var Pe=s_();H(Qe,Pe)};se(Be,Qe=>{c(U)||Qe(ge)})}var Se=L(Be,4);{var le=Qe=>{var Pe=r_();H(Qe,Pe)};se(Se,Qe=>{c(ue)||Qe(le)})}var ne=L(Se,2),xe=k(ne),$e=L(k(xe),2),Xe=k($e);X(()=>G(Xe,c(P).content)),H(Ae,ye)};se(ke,Ae=>{c(P).role==="tool-result"&&Ae(He)},!0)}H(we,me)};se(re,we=>{c(P).role==="tool-call"?we(oe):we(Ce,!1)},!0)}H(te,ce)};se(W,te=>{c(P).role==="assistant"?te($):te(ee,!1)},!0)}H(pe,j)};se(F,pe=>{c(P).role==="user"?pe(Y):pe(ve,!1)})}H(O,fe)}),Tr(B,O=>n=O,()=>n);var D=L(B,4),T=k(D);Gu(T,{get value(){return c(a)},get model(){return i()},get provider(){return s()},get contextPct(){return r()},onSend:d,onInput:O=>N(a,O,!0)}),Tr(I,O=>h=O,()=>h);var R=L(I,2);let Q;R.__mousedown=f,X((O,P,z)=>{be(E,1,`strip-dot ${O??""}`,"svelte-9vsw7f"),G(w,t.status==="running"?"Running":t.status==="stalled"?"Stalled":"Done"),G(m,i()),G(x,`${P??""} tok`),G(M,z),Q=be(R,1,"resize-handle svelte-9vsw7f",null,Q,{dragging:c(l)})},[()=>p(t.status),()=>v(t.tokens),()=>_(t.costUsd)]),H(e,g),gt()}Bt(["click","mousedown"]);/** + * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. + * @license MIT + * + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * @license MIT + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + */var ec=Object.defineProperty,h_=Object.getOwnPropertyDescriptor,c_=(e,t)=>{for(var i in t)ec(e,i,{get:t[i],enumerable:!0})},ot=(e,t,i,s)=>{for(var r=s>1?void 0:s?h_(t,i):t,n=e.length-1,a;n>=0;n--)(a=e[n])&&(r=(s?a(t,i,r):a(r))||r);return s&&r&&ec(t,i,r),r},de=(e,t)=>(i,s)=>t(i,s,e),ol="Terminal input",Ro={get:()=>ol,set:e=>ol=e},al="Too much output to announce, navigate to rows manually to read",To={get:()=>al,set:e=>al=e};function d_(e){return e.replace(/\r?\n/g,"\r")}function u_(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function __(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function f_(e,t,i,s){if(e.stopPropagation(),e.clipboardData){let r=e.clipboardData.getData("text/plain");tc(r,t,i,s)}}function tc(e,t,i,s){e=d_(e),e=u_(e,i.decPrivateModes.bracketedPasteMode&&s.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(e,!0),t.value=""}function ic(e,t,i){let s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex="1000",t.focus()}function ll(e,t,i,s,r){ic(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}function ls(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Wn(e,t=0,i=e.length){let s="";for(let r=t;r65535?(n-=65536,s+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):s+=String.fromCharCode(n)}return s}var v_=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){let n=e.charCodeAt(r++);56320<=n&&n<=57343?t[s++]=(this._interim-55296)*1024+n-56320+65536:(t[s++]=this._interim,t[s++]=n),this._interim=0}for(let n=r;n=i)return this._interim=a,s;let o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=(a-55296)*1024+o-56320+65536:(t[s++]=a,t[s++]=o);continue}a!==65279&&(t[s++]=a)}return s}},g_=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let i=e.length;if(!i)return 0;let s=0,r,n,a,o,h=0,l=0;if(this.interim[0]){let v=!1,_=this.interim[0];_&=(_&224)===192?31:(_&240)===224?15:7;let p=0,f;for(;(f=this.interim[++p]&63)&&p<4;)_<<=6,_|=f;let g=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,A=g-p;for(;l=i)return 0;if(f=e[l++],(f&192)!==128){l--,v=!0;break}else this.interim[p++]=f,_<<=6,_|=f&63}v||(g===2?_<128?l--:t[s++]=_:g===3?_<2048||_>=55296&&_<=57343||_===65279||(t[s++]=_):_<65536||_>1114111||(t[s++]=_)),this.interim.fill(0)}let d=i-4,u=l;for(;u=i)return this.interim[0]=r,s;if(n=e[u++],(n&192)!==128){u--;continue}if(h=(r&31)<<6|n&63,h<128){u--;continue}t[s++]=h}else if((r&240)===224){if(u>=i)return this.interim[0]=r,s;if(n=e[u++],(n&192)!==128){u--;continue}if(u>=i)return this.interim[0]=r,this.interim[1]=n,s;if(a=e[u++],(a&192)!==128){u--;continue}if(h=(r&15)<<12|(n&63)<<6|a&63,h<2048||h>=55296&&h<=57343||h===65279)continue;t[s++]=h}else if((r&248)===240){if(u>=i)return this.interim[0]=r,s;if(n=e[u++],(n&192)!==128){u--;continue}if(u>=i)return this.interim[0]=r,this.interim[1]=n,s;if(a=e[u++],(a&192)!==128){u--;continue}if(u>=i)return this.interim[0]=r,this.interim[1]=n,this.interim[2]=a,s;if(o=e[u++],(o&192)!==128){u--;continue}if(h=(r&7)<<18|(n&63)<<12|(a&63)<<6|o&63,h<65536||h>1114111)continue;t[s++]=h}}return s}},sc="",us=" ",Jr=class rc{constructor(){this.fg=0,this.bg=0,this.extended=new kn}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new rc;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},kn=class nc{constructor(t=0,i=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new nc(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},wi=class oc extends Jr{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new kn,this.combinedData=""}static fromCharData(t){let i=new oc;return i.setFromCharData(t),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?ls(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let i=!1;if(t[1].length>2)i=!0;else if(t[1].length===2){let s=t[1].charCodeAt(0);if(55296<=s&&s<=56319){let r=t[1].charCodeAt(1);56320<=r&&r<=57343?this.content=(s-55296)*1024+r-56320+65536|t[2]<<22:i=!0}else i=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;i&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},hl="di$target",Po="di$dependencies",eo=new Map;function p_(e){return e[Po]||[]}function It(e){if(eo.has(e))return eo.get(e);let t=function(i,s,r){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");m_(t,i,r)};return t._id=e,eo.set(e,t),t}function m_(e,t,i){t[hl]===t?t[Po].push({id:e,index:i}):(t[Po]=[{id:e,index:i}],t[hl]=t)}var Jt=It("BufferService"),ac=It("CoreMouseService"),Us=It("CoreService"),A_=It("CharsetService"),Ma=It("InstantiationService"),lc=It("LogService"),jt=It("OptionsService"),hc=It("OscLinkService"),b_=It("UnicodeService"),jr=It("DecorationService"),Oo=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){var d;let i=this._bufferService.buffer.lines.get(e-1);if(!i){t(void 0);return}let s=[],r=this._optionsService.rawOptions.linkHandler,n=new wi,a=i.getTrimmedLength(),o=-1,h=-1,l=!1;for(let u=0;ur?r.activate(f,g,_):w_(f,g),hover:(f,g)=>{var A;return(A=r==null?void 0:r.hover)==null?void 0:A.call(r,f,g,_)},leave:(f,g)=>{var A;return(A=r==null?void 0:r.leave)==null?void 0:A.call(r,f,g,_)}})}l=!1,n.hasExtendedAttrs()&&n.extended.urlId?(h=u,o=n.extended.urlId):(h=-1,o=-1)}}t(s)}};Oo=ot([de(0,Jt),de(1,jt),de(2,hc)],Oo);function w_(e,t){if(confirm(`Do you want to navigate to ${t}? + +WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var zn=It("CharSizeService"),ts=It("CoreBrowserService"),La=It("MouseService"),is=It("RenderService"),C_=It("SelectionService"),cc=It("CharacterJoinerService"),cr=It("ThemeService"),dc=It("LinkProviderService"),S_=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?cl.isErrorNoTelemetry(e)?new cl(e.message+` + +`+e.stack):new Error(e.message+` + +`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},y_=new S_;function vn(e){x_(e)||y_.onUnexpectedError(e)}var Qo="Canceled";function x_(e){return e instanceof k_?!0:e instanceof Error&&e.name===Qo&&e.message===Qo}var k_=class extends Error{constructor(){super(Qo),this.name=this.message}};function E_(e){return new Error(`Illegal argument: ${e}`)}var cl=class No extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof No)return t;let i=new No;return i.message=t.message,i.stack=t.stack,i}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},Fo=class uc extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,uc.prototype)}};function ri(e,t=0){return e[e.length-(1+t)]}var B_;(e=>{function t(n){return n<0}e.isLessThan=t;function i(n){return n<=0}e.isLessThanOrEqual=i;function s(n){return n>0}e.isGreaterThan=s;function r(n){return n===0}e.isNeitherLessOrGreaterThan=r,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(B_||(B_={}));function I_(e,t){let i=this,s=!1,r;return function(){return s||(s=!0,t||(r=e.apply(i,arguments))),r}}var _c;(e=>{function t(w){return w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}e.is=t;let i=Object.freeze([]);function s(){return i}e.empty=s;function*r(w){yield w}e.single=r;function n(w){return t(w)?w:r(w)}e.wrap=n;function a(w){return w||i}e.from=a;function*o(w){for(let S=w.length-1;S>=0;S--)yield w[S]}e.reverse=o;function h(w){return!w||w[Symbol.iterator]().next().done===!0}e.isEmpty=h;function l(w){return w[Symbol.iterator]().next().value}e.first=l;function d(w,S){let m=0;for(let b of w)if(S(b,m++))return!0;return!1}e.some=d;function u(w,S){for(let m of w)if(S(m))return m}e.find=u;function*v(w,S){for(let m of w)S(m)&&(yield m)}e.filter=v;function*_(w,S){let m=0;for(let b of w)yield S(b,m++)}e.map=_;function*p(w,S){let m=0;for(let b of w)yield*S(b,m++)}e.flatMap=p;function*f(...w){for(let S of w)yield*S}e.concat=f;function g(w,S,m){let b=m;for(let x of w)b=S(b,x);return b}e.reduce=g;function*A(w,S,m=w.length){for(S<0&&(S+=w.length),m<0?m+=w.length:m>w.length&&(m=w.length);S1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function D_(...e){return et(()=>Hs(e))}function et(e){return{dispose:I_(()=>{e()})}}var fc=class vc{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Hs(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?vc.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),void 0)}};fc.DISABLE_DISPOSED_WARNING=!1;var ps=fc,Re=class{constructor(){this._store=new ps,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};Re.None=Object.freeze({dispose(){}});var ar=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e}},Vi=typeof window=="object"?window:globalThis,Ho=class Wo{constructor(t){this.element=t,this.next=Wo.Undefined,this.prev=Wo.Undefined}};Ho.Undefined=new Ho(void 0);var it=Ho,dl=class{constructor(){this._first=it.Undefined,this._last=it.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===it.Undefined}clear(){let t=this._first;for(;t!==it.Undefined;){let i=t.next;t.prev=it.Undefined,t.next=it.Undefined,t=i}this._first=it.Undefined,this._last=it.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,i){let s=new it(t);if(this._first===it.Undefined)this._first=s,this._last=s;else if(i){let n=this._last;this._last=s,s.prev=n,n.next=s}else{let n=this._first;this._first=s,s.next=n,n.prev=s}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(s))}}shift(){if(this._first!==it.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==it.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==it.Undefined&&t.next!==it.Undefined){let i=t.prev;i.next=t.next,t.next.prev=i}else t.prev===it.Undefined&&t.next===it.Undefined?(this._first=it.Undefined,this._last=it.Undefined):t.next===it.Undefined?(this._last=this._last.prev,this._last.next=it.Undefined):t.prev===it.Undefined&&(this._first=this._first.next,this._first.prev=it.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==it.Undefined;)yield t.element,t=t.next}},M_=globalThis.performance&&typeof globalThis.performance.now=="function",L_=class gc{static create(t){return new gc(t)}constructor(t){this._now=M_&&t===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},Rt;(e=>{e.None=()=>Re.None;function t(B,D){return u(B,()=>{},0,void 0,!0,void 0,D)}e.defer=t;function i(B){return(D,T=null,R)=>{let Q=!1,O;return O=B(P=>{if(!Q)return O?O.dispose():Q=!0,D.call(T,P)},null,R),Q&&O.dispose(),O}}e.once=i;function s(B,D,T){return l((R,Q=null,O)=>B(P=>R.call(Q,D(P)),null,O),T)}e.map=s;function r(B,D,T){return l((R,Q=null,O)=>B(P=>{D(P),R.call(Q,P)},null,O),T)}e.forEach=r;function n(B,D,T){return l((R,Q=null,O)=>B(P=>D(P)&&R.call(Q,P),null,O),T)}e.filter=n;function a(B){return B}e.signal=a;function o(...B){return(D,T=null,R)=>{let Q=D_(...B.map(O=>O(P=>D.call(T,P))));return d(Q,R)}}e.any=o;function h(B,D,T,R){let Q=T;return s(B,O=>(Q=D(Q,O),Q),R)}e.reduce=h;function l(B,D){let T,R={onWillAddFirstListener(){T=B(Q.fire,Q)},onDidRemoveLastListener(){T==null||T.dispose()}},Q=new ae(R);return D==null||D.add(Q),Q.event}function d(B,D){return D instanceof Array?D.push(B):D&&D.add(B),B}function u(B,D,T=100,R=!1,Q=!1,O,P){let z,U,ue,fe=0,F,Y={leakWarningThreshold:O,onWillAddFirstListener(){z=B(pe=>{fe++,U=D(U,pe),R&&!ue&&(ve.fire(U),U=void 0),F=()=>{let j=U;U=void 0,ue=void 0,(!R||fe>1)&&ve.fire(j),fe=0},typeof T=="number"?(clearTimeout(ue),ue=setTimeout(F,T)):ue===void 0&&(ue=0,queueMicrotask(F))})},onWillRemoveListener(){Q&&fe>0&&(F==null||F())},onDidRemoveLastListener(){F=void 0,z.dispose()}},ve=new ae(Y);return P==null||P.add(ve),ve.event}e.debounce=u;function v(B,D=0,T){return e.debounce(B,(R,Q)=>R?(R.push(Q),R):[Q],D,void 0,!0,void 0,T)}e.accumulate=v;function _(B,D=(R,Q)=>R===Q,T){let R=!0,Q;return n(B,O=>{let P=R||!D(O,Q);return R=!1,Q=O,P},T)}e.latch=_;function p(B,D,T){return[e.filter(B,D,T),e.filter(B,R=>!D(R),T)]}e.split=p;function f(B,D=!1,T=[],R){let Q=T.slice(),O=B(U=>{Q?Q.push(U):z.fire(U)});R&&R.add(O);let P=()=>{Q==null||Q.forEach(U=>z.fire(U)),Q=null},z=new ae({onWillAddFirstListener(){O||(O=B(U=>z.fire(U)),R&&R.add(O))},onDidAddFirstListener(){Q&&(D?setTimeout(P):P())},onDidRemoveLastListener(){O&&O.dispose(),O=null}});return R&&R.add(z),z.event}e.buffer=f;function g(B,D){return(T,R,Q)=>{let O=D(new E);return B(function(P){let z=O.evaluate(P);z!==A&&T.call(R,z)},void 0,Q)}}e.chain=g;let A=Symbol("HaltChainable");class E{constructor(){this.steps=[]}map(D){return this.steps.push(D),this}forEach(D){return this.steps.push(T=>(D(T),T)),this}filter(D){return this.steps.push(T=>D(T)?T:A),this}reduce(D,T){let R=T;return this.steps.push(Q=>(R=D(R,Q),R)),this}latch(D=(T,R)=>T===R){let T=!0,R;return this.steps.push(Q=>{let O=T||!D(Q,R);return T=!1,R=Q,O?Q:A}),this}evaluate(D){for(let T of this.steps)if(D=T(D),D===A)break;return D}}function y(B,D,T=R=>R){let R=(...z)=>P.fire(T(...z)),Q=()=>B.on(D,R),O=()=>B.removeListener(D,R),P=new ae({onWillAddFirstListener:Q,onDidRemoveLastListener:O});return P.event}e.fromNodeEventEmitter=y;function w(B,D,T=R=>R){let R=(...z)=>P.fire(T(...z)),Q=()=>B.addEventListener(D,R),O=()=>B.removeEventListener(D,R),P=new ae({onWillAddFirstListener:Q,onDidRemoveLastListener:O});return P.event}e.fromDOMEventEmitter=w;function S(B){return new Promise(D=>i(B)(D))}e.toPromise=S;function m(B){let D=new ae;return B.then(T=>{D.fire(T)},()=>{D.fire(void 0)}).finally(()=>{D.dispose()}),D.event}e.fromPromise=m;function b(B,D){return B(T=>D.fire(T))}e.forward=b;function x(B,D,T){return D(T),B(R=>D(R))}e.runAndSubscribe=x;class C{constructor(D,T){this._observable=D,this._counter=0,this._hasChanged=!1;let R={onWillAddFirstListener:()=>{D.addObserver(this)},onDidRemoveLastListener:()=>{D.removeObserver(this)}};this.emitter=new ae(R),T&&T.add(this.emitter)}beginUpdate(D){this._counter++}handlePossibleChange(D){}handleChange(D,T){this._hasChanged=!0}endUpdate(D){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function M(B,D){return new C(B,D).emitter.event}e.fromObservable=M;function I(B){return(D,T,R)=>{let Q=0,O=!1,P={beginUpdate(){Q++},endUpdate(){Q--,Q===0&&(B.reportChanges(),O&&(O=!1,D.call(T)))},handlePossibleChange(){},handleChange(){O=!0}};B.addObserver(P),B.reportChanges();let z={dispose(){B.removeObserver(P)}};return R instanceof ps?R.add(z):Array.isArray(R)&&R.push(z),z}}e.fromObservableLight=I})(Rt||(Rt={}));var zo=class qo{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${qo._idPool++}`,qo.all.add(this)}start(t){this._stopWatch=new L_,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};zo.all=new Set,zo._idPool=0;var R_=zo,T_=-1,pc=class mc{constructor(t,i,s=(mc._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=i,this.name=s,this._warnCountdown=0}dispose(){var t;(t=this._stacks)==null||t.clear()}check(t,i){let s=this.threshold;if(s<=0||i{let n=this._stacks.get(t.value)||0;this._stacks.set(t.value,n-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,i=0;for(let[s,r]of this._stacks)(!t||i{var o,h,l,d,u;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let v=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(v);let _=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],p=new N_(`${v}. HINT: Stack shows most frequent listener (${_[1]}-times)`,_[0]);return(((o=this._options)==null?void 0:o.onListenerError)||vn)(p),Re.None}if(this._disposed)return Re.None;i&&(t=t.bind(i));let r=new to(t),n;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=O_.create(),n=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof to?(this._deliveryQueue??(this._deliveryQueue=new z_),this._listeners=[this._listeners,r]):this._listeners.push(r):((l=(h=this._options)==null?void 0:h.onWillAddFirstListener)==null||l.call(h,this),this._listeners=r,(u=(d=this._options)==null?void 0:d.onDidAddFirstListener)==null||u.call(d,this)),this._size++;let a=et(()=>{n==null||n(),this._removeListener(r)});return s instanceof ps?s.add(a):Array.isArray(s)&&s.push(a),a}),this._event}_removeListener(t){var n,a,o,h;if((a=(n=this._options)==null?void 0:n.onWillRemoveListener)==null||a.call(n,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(h=(o=this._options)==null?void 0:o.onDidRemoveLastListener)==null||h.call(o,this),this._size=0;return}let i=this._listeners,s=i.indexOf(t);if(s===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,i[s]=void 0;let r=this._deliveryQueue.current===this;if(this._size*H_<=i.length){let l=0;for(let d=0;d0}},z_=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,i){this.i=0,this.end=i,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Uo=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new ae,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new ae,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,i){if(this.getZoomLevel(i)===t)return;let s=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(s,t),this._onDidChangeZoomLevel.fire(s)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),t)}setFullscreen(t,i){if(this.isFullscreen(i)===t)return;let s=this.getWindowId(i);this.mapWindowIdToFullScreen.set(s,t),this._onDidChangeFullscreen.fire(s)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};Uo.INSTANCE=new Uo;var Ra=Uo;function q_(e,t,i){typeof t=="string"&&(t=e.matchMedia(t)),t.addEventListener("change",i)}Ra.INSTANCE.onDidChangeZoomLevel;function U_(e){return Ra.INSTANCE.getZoomFactor(e)}Ra.INSTANCE.onDidChangeFullscreen;var dr=typeof navigator=="object"?navigator.userAgent:"",$o=dr.indexOf("Firefox")>=0,$_=dr.indexOf("AppleWebKit")>=0,Ta=dr.indexOf("Chrome")>=0,G_=!Ta&&dr.indexOf("Safari")>=0;dr.indexOf("Electron/")>=0;dr.indexOf("Android")>=0;var io=!1;if(typeof Vi.matchMedia=="function"){let e=Vi.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=Vi.matchMedia("(display-mode: fullscreen)");io=e.matches,q_(Vi,e,({matches:i})=>{io&&t.matches||(io=i)})}var Vs="en",Go=!1,Ko=!1,gn=!1,bc=!1,sn,pn=Vs,ul=Vs,K_,Si,Ps=globalThis,Mt,ch;typeof Ps.vscode<"u"&&typeof Ps.vscode.process<"u"?Mt=Ps.vscode.process:typeof process<"u"&&typeof((ch=process==null?void 0:process.versions)==null?void 0:ch.node)=="string"&&(Mt=process);var dh,J_=typeof((dh=Mt==null?void 0:Mt.versions)==null?void 0:dh.electron)=="string",j_=J_&&(Mt==null?void 0:Mt.type)==="renderer",uh;if(typeof Mt=="object"){Go=Mt.platform==="win32",Ko=Mt.platform==="darwin",gn=Mt.platform==="linux",gn&&Mt.env.SNAP&&Mt.env.SNAP_REVISION,Mt.env.CI||Mt.env.BUILD_ARTIFACTSTAGINGDIRECTORY,sn=Vs,pn=Vs;let e=Mt.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);sn=t.userLocale,ul=t.osLocale,pn=t.resolvedLanguage||Vs,K_=(uh=t.languagePack)==null?void 0:uh.translationsConfigFile}catch{}bc=!0}else typeof navigator=="object"&&!j_?(Si=navigator.userAgent,Go=Si.indexOf("Windows")>=0,Ko=Si.indexOf("Macintosh")>=0,(Si.indexOf("Macintosh")>=0||Si.indexOf("iPad")>=0||Si.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,gn=Si.indexOf("Linux")>=0,(Si==null?void 0:Si.indexOf("Mobi"))>=0,pn=globalThis._VSCODE_NLS_LANGUAGE||Vs,sn=navigator.language.toLowerCase(),ul=sn):console.error("Unable to resolve platform.");var wc=Go,Hi=Ko,Y_=gn,_l=bc,qi=Si,rs=pn,V_;(e=>{function t(){return rs}e.value=t;function i(){return rs.length===2?rs==="en":rs.length>=3?rs[0]==="e"&&rs[1]==="n"&&rs[2]==="-":!1}e.isDefaultVariant=i;function s(){return rs==="en"}e.isDefault=s})(V_||(V_={}));var X_=typeof Ps.postMessage=="function"&&!Ps.importScripts;(()=>{if(X_){let e=[];Ps.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let s=0,r=e.length;s{let s=++t;e.push({id:s,callback:i}),Ps.postMessage({vscodeScheduleAsyncWork:s},"*")}}return e=>setTimeout(e)})();var Z_=!!(qi&&qi.indexOf("Chrome")>=0);qi&&qi.indexOf("Firefox")>=0;!Z_&&qi&&qi.indexOf("Safari")>=0;qi&&qi.indexOf("Edg/")>=0;qi&&qi.indexOf("Android")>=0;var Js=typeof navigator=="object"?navigator:{};_l||document.queryCommandSupported&&document.queryCommandSupported("copy")||Js&&Js.clipboard&&Js.clipboard.writeText,_l||Js&&Js.clipboard&&Js.clipboard.readText;var Pa=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},so=new Pa,fl=new Pa,vl=new Pa,ef=new Array(230),Cc;(e=>{function t(o){return so.keyCodeToStr(o)}e.toString=t;function i(o){return so.strToKeyCode(o)}e.fromString=i;function s(o){return fl.keyCodeToStr(o)}e.toUserSettingsUS=s;function r(o){return vl.keyCodeToStr(o)}e.toUserSettingsGeneral=r;function n(o){return fl.strToKeyCode(o)||vl.strToKeyCode(o)}e.fromUserSettings=n;function a(o){if(o>=98&&o<=113)return null;switch(o){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return so.keyCodeToStr(o)}e.toElectronAccelerator=a})(Cc||(Cc={}));var tf=class Sc{constructor(t,i,s,r,n){this.ctrlKey=t,this.shiftKey=i,this.altKey=s,this.metaKey=r,this.keyCode=n}equals(t){return t instanceof Sc&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?"1":"0",i=this.shiftKey?"1":"0",s=this.altKey?"1":"0",r=this.metaKey?"1":"0";return`K${t}${i}${s}${r}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new sf([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},sf=class{constructor(e){if(e.length===0)throw E_("chords");this.chords=e}getHashCode(){let e="";for(let t=0,i=this.chords.length;t{function t(i){return i===e.None||i===e.Cancelled||i instanceof uf?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:Rt.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:yc})})(df||(df={}));var uf=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?yc:(this._emitter||(this._emitter=new ae),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Oa=class{constructor(t,i){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof i=="number"&&this.setIfNotSet(t,i)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,i){if(this._isDisposed)throw new Fo("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},i)}setIfNotSet(t,i){if(this._isDisposed)throw new Fo("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},i))}},_f=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var e;(e=this.disposable)==null||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,i=globalThis){if(this.isDisposed)throw new Fo("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let s=i.setInterval(()=>{e()},t);this.disposable=et(()=>{i.clearInterval(s),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},ff;(e=>{async function t(s){let r,n=await Promise.all(s.map(a=>a.then(o=>o,o=>{r||(r=o)})));if(typeof r<"u")throw r;return n}e.settled=t;function i(s){return new Promise(async(r,n)=>{try{await s(r,n)}catch(a){n(a)}})}e.withAsyncBody=i})(ff||(ff={}));var Al=class _i{static fromArray(t){return new _i(i=>{i.emitMany(t)})}static fromPromise(t){return new _i(async i=>{i.emitMany(await t)})}static fromPromises(t){return new _i(async i=>{await Promise.all(t.map(async s=>i.emitOne(await s)))})}static merge(t){return new _i(async i=>{await Promise.all(t.map(async s=>{for await(let r of s)i.emitOne(r)}))})}constructor(t,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new ae,queueMicrotask(async()=>{let s={emitOne:r=>this.emitOne(r),emitMany:r=>this.emitMany(r),reject:r=>this.reject(r)};try{await Promise.resolve(t(s)),this.resolve()}catch(r){this.reject(r)}finally{s.emitOne=void 0,s.emitMany=void 0,s.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t{var i;return(i=this._onReturn)==null||i.call(this),{done:!0,value:void 0}}}}static map(t,i){return new _i(async s=>{for await(let r of t)s.emitOne(i(r))})}map(t){return _i.map(this,t)}static filter(t,i){return new _i(async s=>{for await(let r of t)i(r)&&s.emitOne(r)})}filter(t){return _i.filter(this,t)}static coalesce(t){return _i.filter(t,i=>!!i)}coalesce(){return _i.coalesce(this)}static async toPromise(t){let i=[];for await(let s of t)i.push(s);return i}toPromise(){return _i.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};Al.EMPTY=Al.fromArray([]);var{getWindow:Fi,getWindowId:vf,onDidRegisterWindow:gf}=(function(){let e=new Map,t={window:Vi,disposables:new ps};e.set(Vi.vscodeWindowId,t);let i=new ae,s=new ae,r=new ae;function n(a,o){return(typeof a=="number"?e.get(a):void 0)??(o?t:void 0)}return{onDidRegisterWindow:i.event,onWillUnregisterWindow:r.event,onDidUnregisterWindow:s.event,registerWindow(a){if(e.has(a.vscodeWindowId))return Re.None;let o=new ps,h={window:a,disposables:o.add(new ps)};return e.set(a.vscodeWindowId,h),o.add(et(()=>{e.delete(a.vscodeWindowId),s.fire(a)})),o.add(Ee(a,Ct.BEFORE_UNLOAD,()=>{r.fire(a)})),i.fire(h),o},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(a){return a.vscodeWindowId},hasWindow(a){return e.has(a)},getWindowById:n,getWindow(a){var l;let o=a;if((l=o==null?void 0:o.ownerDocument)!=null&&l.defaultView)return o.ownerDocument.defaultView.window;let h=a;return h!=null&&h.view?h.view.window:Vi},getDocument(a){return Fi(a).document}}})(),pf=class{constructor(e,t,i,s){this._node=e,this._type=t,this._handler=i,this._options=s||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function Ee(e,t,i,s){return new pf(e,t,i,s)}var bl=function(e,t,i,s){return Ee(e,t,i,s)},Qa,mf=class extends _f{constructor(e){super(),this.defaultTarget=e&&Fi(e)}cancelAndSet(e,t,i){return super.cancelAndSet(e,t,i??this.defaultTarget)}},wl=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){vn(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,i=new Map,s=new Map,r=n=>{i.set(n,!1);let a=e.get(n)??[];for(t.set(n,a),e.set(n,[]),s.set(n,!0);a.length>0;)a.sort(wl.sort),a.shift().execute();s.set(n,!1)};Qa=(n,a,o=0)=>{let h=vf(n),l=new wl(a,o),d=e.get(h);return d||(d=[],e.set(h,d)),d.push(l),i.get(h)||(i.set(h,!0),n.requestAnimationFrame(()=>r(h))),l}})();function Af(e){let t=e.getBoundingClientRect(),i=Fi(e);return{left:t.left+i.scrollX,top:t.top+i.scrollY,width:t.width,height:t.height}}var Ct={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},bf=class{constructor(e){this.domNode=e,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(e){let t=Xt(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=Xt(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=Xt(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=Xt(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=Xt(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=Xt(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=Xt(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setPaddingTop(e){let t=Xt(e);this._paddingTop!==t&&(this._paddingTop=t,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(e){let t=Xt(e);this._paddingLeft!==t&&(this._paddingLeft=t,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(e){let t=Xt(e);this._paddingBottom!==t&&(this._paddingBottom=t,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(e){let t=Xt(e);this._paddingRight!==t&&(this._paddingRight=t,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=Xt(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(e){this._fontVariationSettings!==e&&(this._fontVariationSettings=e,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=Xt(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=Xt(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function Xt(e){return typeof e=="number"?`${e}px`:e}function Dr(e){return new bf(e)}var xc=class{constructor(){this._hooks=new ps,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let i=this._onStopCallback;this._onStopCallback=null,e&&i&&i(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,i,s,r){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=s,this._onStopCallback=r;let n=e;try{e.setPointerCapture(t),this._hooks.add(et(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{n=Fi(e)}this._hooks.add(Ee(n,Ct.POINTER_MOVE,a=>{if(a.buttons!==i){this.stopMonitoring(!0);return}a.preventDefault(),this._pointerMoveCallback(a)})),this._hooks.add(Ee(n,Ct.POINTER_UP,a=>this.stopMonitoring(!0)))}};function wf(e,t,i){let s=null,r=null;if(typeof i.value=="function"?(s="value",r=i.value,r.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof i.get=="function"&&(s="get",r=i.get),!r)throw new Error("not supported");let n=`$memoize$${t}`;i[s]=function(...a){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:r.apply(this,a)}),this[n]}}var Ri;(e=>(e.Tap="-xterm-gesturetap",e.Change="-xterm-gesturechange",e.Start="-xterm-gesturestart",e.End="-xterm-gesturesend",e.Contextmenu="-xterm-gesturecontextmenu"))(Ri||(Ri={}));var Cr=class Nt extends Re{constructor(){super(),this.dispatched=!1,this.targets=new dl,this.ignoreTargets=new dl,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(Rt.runAndSubscribe(gf,({window:t,disposables:i})=>{i.add(Ee(t.document,"touchstart",s=>this.onTouchStart(s),{passive:!1})),i.add(Ee(t.document,"touchend",s=>this.onTouchEnd(t,s))),i.add(Ee(t.document,"touchmove",s=>this.onTouchMove(s),{passive:!1}))},{window:Vi,disposables:this._store}))}static addTarget(t){if(!Nt.isTouchDevice())return Re.None;Nt.INSTANCE||(Nt.INSTANCE=new Nt);let i=Nt.INSTANCE.targets.push(t);return et(i)}static ignoreTarget(t){if(!Nt.isTouchDevice())return Re.None;Nt.INSTANCE||(Nt.INSTANCE=new Nt);let i=Nt.INSTANCE.ignoreTargets.push(t);return et(i)}static isTouchDevice(){return"ontouchstart"in Vi||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){let i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let s=0,r=t.targetTouches.length;s=Nt.HOLD_DELAY&&Math.abs(h.initialPageX-ri(h.rollingPageX))<30&&Math.abs(h.initialPageY-ri(h.rollingPageY))<30){let d=this.newGestureEvent(Ri.Contextmenu,h.initialTarget);d.pageX=ri(h.rollingPageX),d.pageY=ri(h.rollingPageY),this.dispatchEvent(d)}else if(r===1){let d=ri(h.rollingPageX),u=ri(h.rollingPageY),v=ri(h.rollingTimestamps)-h.rollingTimestamps[0],_=d-h.rollingPageX[0],p=u-h.rollingPageY[0],f=[...this.targets].filter(g=>h.initialTarget instanceof Node&&g.contains(h.initialTarget));this.inertia(t,f,s,Math.abs(_)/v,_>0?1:-1,d,Math.abs(p)/v,p>0?1:-1,u)}this.dispatchEvent(this.newGestureEvent(Ri.End,h.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,i){let s=document.createEvent("CustomEvent");return s.initEvent(t,!1,!0),s.initialTarget=i,s.tapCount=0,s}dispatchEvent(t){if(t.type===Ri.Tap){let i=new Date().getTime(),s=0;i-this._lastSetTapCountTime>Nt.CLEAR_TAP_COUNT_TIME?s=1:s=2,this._lastSetTapCountTime=i,t.tapCount=s}else(t.type===Ri.Change||t.type===Ri.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let s of this.ignoreTargets)if(s.contains(t.initialTarget))return;let i=[];for(let s of this.targets)if(s.contains(t.initialTarget)){let r=0,n=t.initialTarget;for(;n&&n!==s;)r++,n=n.parentElement;i.push([r,s])}i.sort((s,r)=>s[0]-r[0]);for(let[s,r]of i)r.dispatchEvent(t),this.dispatched=!0}}inertia(t,i,s,r,n,a,o,h,l){this.handle=Qa(t,()=>{let d=Date.now(),u=d-s,v=0,_=0,p=!0;r+=Nt.SCROLL_FRICTION*u,o+=Nt.SCROLL_FRICTION*u,r>0&&(p=!1,v=n*r*u),o>0&&(p=!1,_=h*o*u);let f=this.newGestureEvent(Ri.Change);f.translationX=v,f.translationY=_,i.forEach(g=>g.dispatchEvent(f)),p||this.inertia(t,i,d,r,n,a+v,o,h,l+_)})}onTouchMove(t){let i=Date.now();for(let s=0,r=t.changedTouches.length;s3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(n.pageX),a.rollingPageY.push(n.pageY),a.rollingTimestamps.push(i)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}};Cr.SCROLL_FRICTION=-.005,Cr.HOLD_DELAY=700,Cr.CLEAR_TAP_COUNT_TIME=400,ot([wf],Cr,"isTouchDevice",1);var Cf=Cr,Na=class extends Re{onclick(t,i){this._register(Ee(t,Ct.CLICK,s=>i(new rn(Fi(t),s))))}onmousedown(t,i){this._register(Ee(t,Ct.MOUSE_DOWN,s=>i(new rn(Fi(t),s))))}onmouseover(t,i){this._register(Ee(t,Ct.MOUSE_OVER,s=>i(new rn(Fi(t),s))))}onmouseleave(t,i){this._register(Ee(t,Ct.MOUSE_LEAVE,s=>i(new rn(Fi(t),s))))}onkeydown(t,i){this._register(Ee(t,Ct.KEY_DOWN,s=>i(new gl(s))))}onkeyup(t,i){this._register(Ee(t,Ct.KEY_UP,s=>i(new gl(s))))}oninput(t,i){this._register(Ee(t,Ct.INPUT,i))}onblur(t,i){this._register(Ee(t,Ct.BLUR,i))}onfocus(t,i){this._register(Ee(t,Ct.FOCUS,i))}onchange(t,i){this._register(Ee(t,Ct.CHANGE,i))}ignoreGesture(t){return Cf.ignoreTarget(t)}},Cl=11,Sf=class extends Na{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.style.position="absolute",this.domNode.style.width=Cl+"px",this.domNode.style.height=Cl+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new xc),this._register(bl(this.bgDomNode,Ct.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(bl(this.domNode,Ct.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new mf),this._pointerdownScheduleRepeatTimer=this._register(new Oa)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Fi(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},yf=class Jo{constructor(t,i,s,r,n,a,o){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i=i|0,s=s|0,r=r|0,n=n|0,a=a|0,o=o|0),this.rawScrollLeft=r,this.rawScrollTop=o,i<0&&(i=0),r+i>s&&(r=s-i),r<0&&(r=0),n<0&&(n=0),o+n>a&&(o=a-n),o<0&&(o=0),this.width=i,this.scrollWidth=s,this.scrollLeft=r,this.height=n,this.scrollHeight=a,this.scrollTop=o}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,i){return new Jo(this._forceIntegerValues,typeof t.width<"u"?t.width:this.width,typeof t.scrollWidth<"u"?t.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,typeof t.height<"u"?t.height:this.height,typeof t.scrollHeight<"u"?t.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new Jo(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<"u"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<"u"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,i){let s=this.width!==t.width,r=this.scrollWidth!==t.scrollWidth,n=this.scrollLeft!==t.scrollLeft,a=this.height!==t.height,o=this.scrollHeight!==t.scrollHeight,h=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:i,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:s,scrollWidthChanged:r,scrollLeftChanged:n,heightChanged:a,scrollHeightChanged:o,scrollTopChanged:h}}},xf=class extends Re{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new ae),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new yf(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var s;let i=this._state.withScrollDimensions(e,t);this._setState(i,!!this._smoothScrolling),(s=this._smoothScrolling)==null||s.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};let i=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let s;t?s=new yl(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):s=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=s}else{let i=this._state.withScrollPosition(e);this._smoothScrolling=yl.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let i=this._state;i.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(i,t)))}},Sl=class{constructor(e,t,i){this.scrollLeft=e,this.scrollTop=t,this.isDone=i}};function ro(e,t){let i=t-e;return function(s){return e+i*Bf(s)}}function kf(e,t,i){return function(s){return s2.5*s){let r,n;return t{var e;(e=this._domNode)==null||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)==null||t.setClassName(this._invisibleClassName+(e?" fade":"")))}},Df=140,kc=class extends Na{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new If(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new xc),this._shouldRender=!0,this.domNode=Dr(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Ee(this.domNode.domNode,Ct.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){let t=this._register(new Sf(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,i,s){this.slider=Dr(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof i=="number"&&this.slider.setWidth(i),typeof s=="number"&&this.slider.setHeight(s),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ee(this.slider.domNode,Ct.POINTER_DOWN,r=>{r.button===0&&(r.preventDefault(),this._sliderPointerDown(r))})),this.onclick(this.slider.domNode,r=>{r.leftButton&&r.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,i=t+this._scrollbarState.getSliderPosition(),s=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),r=this._sliderPointerPosition(e);i<=r&&r<=s?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,i;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,i=e.offsetY;else{let r=Af(this.domNode.domNode);t=e.pageX-r.left,i=e.pageY-r.top}let s=this._pointerDownRelativePosition(t,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(s):this._scrollbarState.getDesiredScrollPositionFromOffset(s)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),i=this._sliderOrthogonalPointerPosition(e),s=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>{let n=this._sliderOrthogonalPointerPosition(r),a=Math.abs(n-i);if(wc&&a>Df){this._setDesiredScrollPositionNow(s.getScrollPosition());return}let o=this._sliderPointerPosition(r)-t;this._setDesiredScrollPositionNow(s.getDesiredScrollPositionFromDelta(o))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Ec=class Yo{constructor(t,i,s,r,n,a){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(s),this._arrowSize=Math.round(t),this._visibleSize=r,this._scrollSize=n,this._scrollPosition=a,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new Yo(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){let i=Math.round(t);return this._visibleSize!==i?(this._visibleSize=i,this._refreshComputedValues(),!0):!1}setScrollSize(t){let i=Math.round(t);return this._scrollSize!==i?(this._scrollSize=i,this._refreshComputedValues(),!0):!1}setScrollPosition(t){let i=Math.round(t);return this._scrollPosition!==i?(this._scrollPosition=i,this._refreshComputedValues(),!0):!1}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,i,s,r,n){let a=Math.max(0,s-t),o=Math.max(0,a-2*i),h=r>0&&r>s;if(!h)return{computedAvailableSize:Math.round(a),computedIsNeeded:h,computedSliderSize:Math.round(o),computedSliderRatio:0,computedSliderPosition:0};let l=Math.round(Math.max(20,Math.floor(s*o/r))),d=(o-l)/(r-s),u=n*d;return{computedAvailableSize:Math.round(a),computedIsNeeded:h,computedSliderSize:Math.round(l),computedSliderRatio:d,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let t=Yo._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){if(!this._computedIsNeeded)return 0;let i=t-this._arrowSize-this._computedSliderSize/2;return Math.round(i/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let i=t-this._arrowSize,s=this._scrollPosition;return i0&&Math.abs(t.deltaY)>0)return 1;let s=.5;if((!this._isAlmostInt(t.deltaX)||!this._isAlmostInt(t.deltaY))&&(s+=.25),i){let r=Math.abs(t.deltaX),n=Math.abs(t.deltaY),a=Math.abs(i.deltaX),o=Math.abs(i.deltaY),h=Math.max(Math.min(r,a),1),l=Math.max(Math.min(n,o),1),d=Math.max(r,a),u=Math.max(n,o);d%h===0&&u%l===0&&(s-=.5)}return Math.min(Math.max(s,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}};Vo.INSTANCE=new Vo;var Pf=Vo,Of=class extends Na{constructor(e,t,i){super(),this._onScroll=this._register(new ae),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new ae),this.onWillScroll=this._onWillScroll.event,this._options=Nf(t),this._scrollable=i,this._register(this._scrollable.onScroll(r=>{this._onWillScroll.fire(r),this._onDidScroll(r),this._onScroll.fire(r)}));let s={onMouseWheel:r=>this._onMouseWheel(r),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new Lf(this._scrollable,this._options,s)),this._horizontalScrollbar=this._register(new Mf(this._scrollable,this._options,s)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Dr(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Dr(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Dr(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,r=>this._onMouseOver(r)),this.onmouseleave(this._listenOnDomNode,r=>this._onMouseLeave(r)),this._hideTimeout=this._register(new Oa),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Hs(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Hi&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new ml(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Hs(this._mouseWheelToDispose),e)){let t=i=>{this._onMouseWheel(new ml(i))};this._mouseWheelToDispose.push(Ee(this._listenOnDomNode,Ct.MOUSE_WHEEL,t,{passive:!1}))}}_onMouseWheel(e){var r;if((r=e.browserEvent)!=null&&r.defaultPrevented)return;let t=Pf.INSTANCE;t.acceptStandardWheelEvent(e);let i=!1;if(e.deltaY||e.deltaX){let n=e.deltaY*this._options.mouseWheelScrollSensitivity,a=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&a+n===0?a=n=0:Math.abs(n)>=Math.abs(a)?a=0:n=0),this._options.flipAxes&&([n,a]=[a,n]);let o=!Hi&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||o)&&!a&&(a=n,n=0),e.browserEvent&&e.browserEvent.altKey&&(a=a*this._options.fastScrollSensitivity,n=n*this._options.fastScrollSensitivity);let h=this._scrollable.getFutureScrollPosition(),l={};if(n){let d=xl*n,u=h.scrollTop-(d<0?Math.floor(d):Math.ceil(d));this._verticalScrollbar.writeScrollPosition(l,u)}if(a){let d=xl*a,u=h.scrollLeft-(d<0?Math.floor(d):Math.ceil(d));this._horizontalScrollbar.writeScrollPosition(l,u)}l=this._scrollable.validateScrollPosition(l),(h.scrollLeft!==l.scrollLeft||h.scrollTop!==l.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(l):this._scrollable.setScrollPositionNow(l),i=!0)}let s=i;!s&&this._options.alwaysConsumeMouseWheel&&(s=!0),!s&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(s=!0),s&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,i=e.scrollLeft>0,s=i?" left":"",r=t?" top":"",n=i||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${s}`),this._topShadowDomNode.setClassName(`shadow${r}`),this._topLeftShadowDomNode.setClassName(`shadow${n}${r}${s}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Rf)}},Qf=class extends Of{constructor(e,t,i){super(e,t,i)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function Nf(e){let t={lazyRender:typeof e.lazyRender<"u"?e.lazyRender:!1,className:typeof e.className<"u"?e.className:"",useShadows:typeof e.useShadows<"u"?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<"u"?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<"u"?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<"u"?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<"u"?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<"u"?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<"u"?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<"u"?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<"u"?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<"u"?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<"u"?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<"u"?e.listenOnDomNode:null,horizontal:typeof e.horizontal<"u"?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<"u"?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<"u"?e.horizontalHasArrows:!1,vertical:typeof e.vertical<"u"?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<"u"?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<"u"?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<"u"?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<"u"?e.scrollByPage:!1};return t.horizontalSliderSize=typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<"u"?e.verticalSliderSize:t.verticalScrollbarSize,Hi&&(t.className+=" mac"),t}var Xo=class extends Re{constructor(e,t,i,s,r,n,a,o){super(),this._bufferService=i,this._optionsService=a,this._renderService=o,this._onRequestScrollLines=this._register(new ae),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let h=this._register(new xf({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:l=>Qa(s.window,l)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{h.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new Qf(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},h)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(r.onProtocolChange(l=>{this._scrollableElement.updateOptions({handleMouseWheel:!(l&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(Rt.runAndSubscribe(n.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=n.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(et(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=s.mainDocument.createElement("style"),t.appendChild(this._styleElement),this._register(et(()=>this._styleElement.remove())),this._register(Rt.runAndSubscribe(n.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${n.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${n.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${n.colors.scrollbarSliderActiveBackground.css};`,"}"].join(` +`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(l=>this._handleScroll(l)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){var e;return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:((e=this._optionsService.rawOptions.overviewRuler)==null?void 0:e.width)||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),i=t-this._bufferService.buffer.ydisp;i!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(i)),this._isHandlingScroll=!1}};Xo=ot([de(2,Jt),de(3,ts),de(4,ac),de(5,cr),de(6,jt),de(7,is)],Xo);var Zo=class extends Re{constructor(e,t,i,s,r){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=i,this._decorationService=s,this._renderService=r,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(n=>this._removeDecoration(n))),this._register(et(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var s;let t=this._coreBrowserService.mainDocument.createElement("div");t.classList.add("xterm-decoration"),t.classList.toggle("xterm-decoration-top-layer",((s=e==null?void 0:e.options)==null?void 0:s.layer)==="top"),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let i=e.options.x??0;return i&&i>this._bufferService.cols&&(t.style.display="none"),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i),e.onDispose(()=>{this._decorationElements.delete(e),i.remove()})),i.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(i.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,i.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){if(!t)return;let i=e.options.x??0;(e.options.anchor||"left")==="right"?t.style.right=i?`${i*this._renderService.dimensions.css.cell.width}px`:"":t.style.left=i?`${i*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(e){var t;(t=this._decorationElements.get(e))==null||t.remove(),this._decorationElements.delete(e),e.dispose()}};Zo=ot([de(1,Jt),de(2,ts),de(3,jr),de(4,is)],Zo);var Ff=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||"full"]&&t<=e.endBufferLine+this._linePadding[i||"full"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Mi={full:0,left:0,center:0,right:0},ns={full:0,left:0,center:0,right:0},ur={full:0,left:0,center:0,right:0},En=class extends Re{constructor(e,t,i,s,r,n,a,o){var l;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=n,this._themeService=a,this._coreBrowserService=o,this._colorZoneStore=new Ff,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(l=this._viewportElement.parentElement)==null||l.insertBefore(this._canvas,this._viewportElement),this._register(et(()=>{var d;return(d=this._canvas)==null?void 0:d.remove()}));let h=this._canvas.getContext("2d");if(h)this._ctx=h;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){var e;return((e=this._optionsService.options.overviewRuler)==null?void 0:e.width)||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);ns.full=this._canvas.width,ns.left=e,ns.center=t,ns.right=e,this._refreshDrawHeightConstants(),ur.full=1,ur.left=1,ur.center=1+ns.left,ur.right=1+ns.left+ns.center}_refreshDrawHeightConstants(){Mi.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Mi.left=t,Mi.center=t,Mi.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Mi.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Mi.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Mi.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Mi.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let t of this._decorationService.decorations)this._colorZoneStore.addDecoration(t);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!=="full"&&this._renderColorZone(t);for(let t of e)t.position==="full"&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(ur[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Mi[e.position||"full"]/2),ns[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Mi[e.position||"full"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};En=ot([de(2,Jt),de(3,jr),de(4,is),de(5,jt),de(6,cr),de(7,ts)],En);var J;(e=>(e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="\x07",e.BS="\b",e.HT=" ",e.LF=` +`,e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="\x1B",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""))(J||(J={}));var mn;(e=>(e.PAD="€",e.HOP="",e.BPH="‚",e.NBH="ƒ",e.IND="„",e.NEL="…",e.SSA="†",e.ESA="‡",e.HTS="ˆ",e.HTJ="‰",e.VTS="Š",e.PLD="‹",e.PLU="Œ",e.RI="",e.SS2="Ž",e.SS3="",e.DCS="",e.PU1="‘",e.PU2="’",e.STS="“",e.CCH="”",e.MW="•",e.SPA="–",e.EPA="—",e.SOS="˜",e.SGCI="™",e.SCI="š",e.CSI="›",e.ST="œ",e.OSC="",e.PM="ž",e.APC="Ÿ"))(mn||(mn={}));var Bc;(e=>e.ST=`${J.ESC}\\`)(Bc||(Bc={}));var ea=class{constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){let t={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let i;t.start+=this._dataAlreadySent.length,this._isComposing?i=this._textarea.value.substring(t.start,this._compositionPosition.start):i=this._textarea.value.substring(t.start),i.length>0&&this._coreService.triggerDataEvent(i,!0)}},0)}else{this._isSendingComposition=!1;let t=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(t,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,i=t.replace(e,"");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.lengththis.updateCompositionElements(!0),0)}}};ea=ot([de(2,Jt),de(3,jt),de(4,Us),de(5,is)],ea);var St=0,yt=0,xt=0,nt=0,kl={css:"#00000000",rgba:0},ft;(e=>{function t(r,n,a,o){return o!==void 0?`#${bs(r)}${bs(n)}${bs(a)}${bs(o)}`:`#${bs(r)}${bs(n)}${bs(a)}`}e.toCss=t;function i(r,n,a,o=255){return(r<<24|n<<16|a<<8|o)>>>0}e.toRgba=i;function s(r,n,a,o){return{css:e.toCss(r,n,a,o),rgba:e.toRgba(r,n,a,o)}}e.toColor=s})(ft||(ft={}));var Ye;(e=>{function t(h,l){if(nt=(l.rgba&255)/255,nt===1)return{css:l.css,rgba:l.rgba};let d=l.rgba>>24&255,u=l.rgba>>16&255,v=l.rgba>>8&255,_=h.rgba>>24&255,p=h.rgba>>16&255,f=h.rgba>>8&255;St=_+Math.round((d-_)*nt),yt=p+Math.round((u-p)*nt),xt=f+Math.round((v-f)*nt);let g=ft.toCss(St,yt,xt),A=ft.toRgba(St,yt,xt);return{css:g,rgba:A}}e.blend=t;function i(h){return(h.rgba&255)===255}e.isOpaque=i;function s(h,l,d){let u=An.ensureContrastRatio(h.rgba,l.rgba,d);if(u)return ft.toColor(u>>24&255,u>>16&255,u>>8&255)}e.ensureContrastRatio=s;function r(h){let l=(h.rgba|255)>>>0;return[St,yt,xt]=An.toChannels(l),{css:ft.toCss(St,yt,xt),rgba:l}}e.opaque=r;function n(h,l){return nt=Math.round(l*255),[St,yt,xt]=An.toChannels(h.rgba),{css:ft.toCss(St,yt,xt,nt),rgba:ft.toRgba(St,yt,xt,nt)}}e.opacity=n;function a(h,l){return nt=h.rgba&255,n(h,nt*l/255)}e.multiplyOpacity=a;function o(h){return[h.rgba>>24&255,h.rgba>>16&255,h.rgba>>8&255]}e.toColorRGB=o})(Ye||(Ye={}));var st;(e=>{let t,i;try{let r=document.createElement("canvas");r.width=1,r.height=1;let n=r.getContext("2d",{willReadFrequently:!0});n&&(t=n,t.globalCompositeOperation="copy",i=t.createLinearGradient(0,0,1,1))}catch{}function s(r){if(r.match(/#[\da-f]{3,8}/i))switch(r.length){case 4:return St=parseInt(r.slice(1,2).repeat(2),16),yt=parseInt(r.slice(2,3).repeat(2),16),xt=parseInt(r.slice(3,4).repeat(2),16),ft.toColor(St,yt,xt);case 5:return St=parseInt(r.slice(1,2).repeat(2),16),yt=parseInt(r.slice(2,3).repeat(2),16),xt=parseInt(r.slice(3,4).repeat(2),16),nt=parseInt(r.slice(4,5).repeat(2),16),ft.toColor(St,yt,xt,nt);case 7:return{css:r,rgba:(parseInt(r.slice(1),16)<<8|255)>>>0};case 9:return{css:r,rgba:parseInt(r.slice(1),16)>>>0}}let n=r.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(n)return St=parseInt(n[1]),yt=parseInt(n[2]),xt=parseInt(n[3]),nt=Math.round((n[5]===void 0?1:parseFloat(n[5]))*255),ft.toColor(St,yt,xt,nt);if(!t||!i)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=i,t.fillStyle=r,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[St,yt,xt,nt]=t.getImageData(0,0,1,1).data,nt!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:ft.toRgba(St,yt,xt,nt),css:r}}e.toColor=s})(st||(st={}));var Ut;(e=>{function t(s){return i(s>>16&255,s>>8&255,s&255)}e.relativeLuminance=t;function i(s,r,n){let a=s/255,o=r/255,h=n/255,l=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4),d=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),u=h<=.03928?h/12.92:Math.pow((h+.055)/1.055,2.4);return l*.2126+d*.7152+u*.0722}e.relativeLuminance2=i})(Ut||(Ut={}));var An;(e=>{function t(a,o){if(nt=(o&255)/255,nt===1)return o;let h=o>>24&255,l=o>>16&255,d=o>>8&255,u=a>>24&255,v=a>>16&255,_=a>>8&255;return St=u+Math.round((h-u)*nt),yt=v+Math.round((l-v)*nt),xt=_+Math.round((d-_)*nt),ft.toRgba(St,yt,xt)}e.blend=t;function i(a,o,h){let l=Ut.relativeLuminance(a>>8),d=Ut.relativeLuminance(o>>8);if(Gi(l,d)>8));if(p>8));return p>g?_:f}return _}let u=r(a,o,h),v=Gi(l,Ut.relativeLuminance(u>>8));if(v>8));return v>p?u:_}return u}}e.ensureContrastRatio=i;function s(a,o,h){let l=a>>24&255,d=a>>16&255,u=a>>8&255,v=o>>24&255,_=o>>16&255,p=o>>8&255,f=Gi(Ut.relativeLuminance2(v,_,p),Ut.relativeLuminance2(l,d,u));for(;f0||_>0||p>0);)v-=Math.max(0,Math.ceil(v*.1)),_-=Math.max(0,Math.ceil(_*.1)),p-=Math.max(0,Math.ceil(p*.1)),f=Gi(Ut.relativeLuminance2(v,_,p),Ut.relativeLuminance2(l,d,u));return(v<<24|_<<16|p<<8|255)>>>0}e.reduceLuminance=s;function r(a,o,h){let l=a>>24&255,d=a>>16&255,u=a>>8&255,v=o>>24&255,_=o>>16&255,p=o>>8&255,f=Gi(Ut.relativeLuminance2(v,_,p),Ut.relativeLuminance2(l,d,u));for(;f>>0}e.increaseLuminance=r;function n(a){return[a>>24&255,a>>16&255,a>>8&255,a&255]}e.toChannels=n})(An||(An={}));function bs(e){let t=e.toString(16);return t.length<2?"0"+t:t}function Gi(e,t){return e1){let d=this._getJoinedRanges(s,a,n,t,r);for(let u=0;u1){let l=this._getJoinedRanges(s,a,n,t,r);for(let d=0;d=M,O=D,P=this._workCell;if(v.length>0&&D===v[0][0]&&Q){let re=v.shift(),oe=this._isCellInSelection(re[0],t);for(E=re[0]+1;E=re[1]),Q?(R=!0,P=new Hf(this._workCell,e.translateToString(!0,re[0],re[1]),re[1]-re[0]),O=re[1]-1,T=P.getWidth()):M=re[1]}let z=this._isCellInSelection(D,t),U=i&&D===n,ue=B&&D>=l&&D<=d,fe=!1;this._decorationService.forEachDecorationAtCell(D,t,void 0,re=>{fe=!0});let F=P.getChars()||us;if(F===" "&&(P.isUnderline()||P.isOverline())&&(F=" "),C=T*o-h.get(F,P.isBold(),P.isItalic()),!f)f=this._document.createElement("span");else if(g&&(z&&x||!z&&!x&&P.bg===y)&&(z&&x&&_.selectionForeground||P.fg===w)&&P.extended.ext===S&&ue===m&&C===b&&!U&&!R&&!fe&&Q){P.isInvisible()?A+=us:A+=F,g++;continue}else g&&(f.textContent=A),f=this._document.createElement("span"),g=0,A="";if(y=P.bg,w=P.fg,S=P.extended.ext,m=ue,b=C,x=z,R&&n>=D&&n<=O&&(n=D),!this._coreService.isCursorHidden&&U&&this._coreService.isCursorInitialized){if(I.push("xterm-cursor"),this._coreBrowserService.isFocused)a&&I.push("xterm-cursor-blink"),I.push(s==="bar"?"xterm-cursor-bar":s==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(r)switch(r){case"outline":I.push("xterm-cursor-outline");break;case"block":I.push("xterm-cursor-block");break;case"bar":I.push("xterm-cursor-bar");break;case"underline":I.push("xterm-cursor-underline");break}}if(P.isBold()&&I.push("xterm-bold"),P.isItalic()&&I.push("xterm-italic"),P.isDim()&&I.push("xterm-dim"),P.isInvisible()?A=us:A=P.getChars()||us,P.isUnderline()&&(I.push(`xterm-underline-${P.extended.underlineStyle}`),A===" "&&(A=" "),!P.isUnderlineColorDefault()))if(P.isUnderlineColorRGB())f.style.textDecorationColor=`rgb(${Jr.toColorRGB(P.getUnderlineColor()).join(",")})`;else{let re=P.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&P.isBold()&&re<8&&(re+=8),f.style.textDecorationColor=_.ansi[re].css}P.isOverline()&&(I.push("xterm-overline"),A===" "&&(A=" ")),P.isStrikethrough()&&I.push("xterm-strikethrough"),ue&&(f.style.textDecoration="underline");let Y=P.getFgColor(),ve=P.getFgColorMode(),pe=P.getBgColor(),j=P.getBgColorMode(),W=!!P.isInverse();if(W){let re=Y;Y=pe,pe=re;let oe=ve;ve=j,j=oe}let $,ee,te=!1;this._decorationService.forEachDecorationAtCell(D,t,void 0,re=>{re.options.layer!=="top"&&te||(re.backgroundColorRGB&&(j=50331648,pe=re.backgroundColorRGB.rgba>>8&16777215,$=re.backgroundColorRGB),re.foregroundColorRGB&&(ve=50331648,Y=re.foregroundColorRGB.rgba>>8&16777215,ee=re.foregroundColorRGB),te=re.options.layer==="top")}),!te&&z&&($=this._coreBrowserService.isFocused?_.selectionBackgroundOpaque:_.selectionInactiveBackgroundOpaque,pe=$.rgba>>8&16777215,j=50331648,te=!0,_.selectionForeground&&(ve=50331648,Y=_.selectionForeground.rgba>>8&16777215,ee=_.selectionForeground)),te&&I.push("xterm-decoration-top");let ce;switch(j){case 16777216:case 33554432:ce=_.ansi[pe],I.push(`xterm-bg-${pe}`);break;case 50331648:ce=ft.toColor(pe>>16,pe>>8&255,pe&255),this._addStyle(f,`background-color:#${El((pe>>>0).toString(16),"0",6)}`);break;case 0:default:W?(ce=_.foreground,I.push("xterm-bg-257")):ce=_.background}switch($||P.isDim()&&($=Ye.multiplyOpacity(ce,.5)),ve){case 16777216:case 33554432:P.isBold()&&Y<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(Y+=8),this._applyMinimumContrast(f,ce,_.ansi[Y],P,$,void 0)||I.push(`xterm-fg-${Y}`);break;case 50331648:let re=ft.toColor(Y>>16&255,Y>>8&255,Y&255);this._applyMinimumContrast(f,ce,re,P,$,ee)||this._addStyle(f,`color:#${El(Y.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(f,ce,_.foreground,P,$,ee)||W&&I.push("xterm-fg-257")}I.length&&(f.className=I.join(" "),I.length=0),!U&&!R&&!fe&&Q?g++:f.textContent=A,C!==this.defaultSpacing&&(f.style.letterSpacing=`${C}px`),u.push(f),D=O}return f&&g&&(f.textContent=A),u}_applyMinimumContrast(e,t,i,s,r,n){if(this._optionsService.rawOptions.minimumContrastRatio===1||qf(s.getCode()))return!1;let a=this._getContrastCache(s),o;if(!r&&!n&&(o=a.getColor(t.rgba,i.rgba)),o===void 0){let h=this._optionsService.rawOptions.minimumContrastRatio/(s.isDim()?2:1);o=Ye.ensureContrastRatio(r||t,n||i,h),a.setColor((r||t).rgba,(n||i).rgba,o??null)}return o?(this._addStyle(e,`color:${o.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e,t){let i=this._selectionStart,s=this._selectionEnd;return!i||!s?!1:this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t=i[0]&&e=i[0]}};ta=ot([de(1,cc),de(2,jt),de(3,ts),de(4,Us),de(5,jr),de(6,cr)],ta);function El(e,t,i){for(;e.length0&&(this._flat[s]=a),a}let r=e;t&&(r+="B"),i&&(r+="I");let n=this._holey.get(r);if(n===void 0){let a=0;t&&(a|=1),i&&(a|=2),n=this._measure(e,a),n>0&&this._holey.set(r,n)}return n}_measure(e,t){let i=this._measureElements[t];return i.textContent=e.repeat(32),i.offsetWidth/32}},Gf=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1]){this.clear();return}let r=e.buffers.active.ydisp,n=t[1]-r,a=i[1]-r,o=Math.max(n,0),h=Math.min(a,e.rows-1);if(o>=e.rows||h<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=n,this.viewportEndRow=a,this.viewportCappedStartRow=o,this.viewportCappedEndRow=h,this.startCol=t[0],this.endCol=i[0]}isCellSelected(e,t,i){return this.hasSelection?(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i=this.startCol&&t=this.startCol):!1}};function Kf(){return new Gf}var no="xterm-dom-renderer-owner-",di="xterm-rows",on="xterm-fg-",Bl="xterm-bg-",_r="xterm-focus",an="xterm-selection",Jf=1,ia=class extends Re{constructor(e,t,i,s,r,n,a,o,h,l,d,u,v,_){super(),this._terminal=e,this._document=t,this._element=i,this._screenElement=s,this._viewportElement=r,this._helperContainer=n,this._linkifier2=a,this._charSizeService=h,this._optionsService=l,this._bufferService=d,this._coreService=u,this._coreBrowserService=v,this._themeService=_,this._terminalClass=Jf++,this._rowElements=[],this._selectionRenderModel=Kf(),this.onRequestRedraw=this._register(new ae).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(di),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(an),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=Uf(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(p=>this._injectCss(p))),this._injectCss(this._themeService.colors),this._rowFactory=o.createInstance(ta,document),this._element.classList.add(no+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(p=>this._handleLinkHover(p))),this._register(this._linkifier2.onHideLinkUnderline(p=>this._handleLinkLeave(p))),this._register(et(()=>{this._element.classList.remove(no+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new $f(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let i of this._rowElements)i.style.width=`${this.dimensions.css.canvas.width}px`,i.style.height=`${this.dimensions.css.cell.height}px`,i.style.lineHeight=`${this.dimensions.css.cell.height}px`,i.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${di} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${di} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${di} .xterm-dim { color: ${Ye.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let i=`blink_underline_${this._terminalClass}`,s=`blink_bar_${this._terminalClass}`,r=`blink_block_${this._terminalClass}`;t+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${s} { 50% { box-shadow: none; }}`,t+=`@keyframes ${r} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${di}.${_r} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${di}.${_r} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${di}.${_r} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${an} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${an} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${an} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[n,a]of e.ansi.entries())t+=`${this._terminalSelector} .${on}${n} { color: ${a.css}; }${this._terminalSelector} .${on}${n}.xterm-dim { color: ${Ye.multiplyOpacity(a,.5).css}; }${this._terminalSelector} .${Bl}${n} { background-color: ${a.css}; }`;t+=`${this._terminalSelector} .${on}257 { color: ${Ye.opaque(e.background).css}; }${this._terminalSelector} .${on}257.xterm-dim { color: ${Ye.multiplyOpacity(Ye.opaque(e.background),.5).css}; }${this._terminalSelector} .${Bl}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let i=this._rowElements.length;i<=t;i++){let s=this._document.createElement("div");this._rowContainer.appendChild(s),this._rowElements.push(s)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(_r),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(_r),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,i),!this._selectionRenderModel.hasSelection))return;let s=this._selectionRenderModel.viewportStartRow,r=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,a=this._selectionRenderModel.viewportCappedEndRow,o=this._document.createDocumentFragment();if(i){let h=e[0]>t[0];o.appendChild(this._createSelectionElement(n,h?t[0]:e[0],h?e[0]:t[0],a-n+1))}else{let h=s===n?e[0]:0,l=n===r?t[0]:this._bufferService.cols;o.appendChild(this._createSelectionElement(n,h,l));let d=a-n-1;if(o.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,d)),n!==a){let u=r===a?t[0]:this._bufferService.cols;o.appendChild(this._createSelectionElement(a,0,u))}}this._selectionContainer.appendChild(o)}_createSelectionElement(e,t,i,s=1){let r=this._document.createElement("div"),n=t*this.dimensions.css.cell.width,a=this.dimensions.css.cell.width*(i-t);return n+a>this.dimensions.css.canvas.width&&(a=this.dimensions.css.canvas.width-n),r.style.height=`${s*this.dimensions.css.cell.height}px`,r.style.top=`${e*this.dimensions.css.cell.height}px`,r.style.left=`${n}px`,r.style.width=`${a}px`,r}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,a=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,o=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=t;h++){let l=h+i.ydisp,d=this._rowElements[h],u=i.lines.get(l);if(!d||!u)break;d.replaceChildren(...this._rowFactory.createRow(u,l,l===s,a,o,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${no}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);let a=this._bufferService.rows-1;i=Math.max(Math.min(i,a),0),s=Math.max(Math.min(s,a),0),r=Math.min(r,this._bufferService.cols);let o=this._bufferService.buffer,h=o.ybase+o.y,l=Math.min(o.x,r-1),d=this._optionsService.rawOptions.cursorBlink,u=this._optionsService.rawOptions.cursorStyle,v=this._optionsService.rawOptions.cursorInactiveStyle;for(let _=i;_<=s;++_){let p=_+o.ydisp,f=this._rowElements[_],g=o.lines.get(p);if(!f||!g)break;f.replaceChildren(...this._rowFactory.createRow(g,p,p===h,u,v,l,d,this.dimensions.css.cell.width,this._widthCache,n?_===i?e:0:-1,n?(_===s?t:r)-1:-1))}}};ia=ot([de(7,Ma),de(8,zn),de(9,jt),de(10,Jt),de(11,Us),de(12,ts),de(13,cr)],ia);var sa=class extends Re{constructor(e,t,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this._register(new ae),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new Yf(this._optionsService))}catch{this._measureStrategy=this._register(new jf(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};sa=ot([de(2,jt)],sa);var Ic=class extends Re{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},jf=class extends Ic{constructor(e,t,i){super(),this._document=e,this._parentElement=t,this._optionsService=i,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},Yf=class extends Ic{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let t=this._ctx.measureText("W");if(!("width"in t&&"fontBoundingBoxAscent"in t&&"fontBoundingBoxDescent"in t))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText("W");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},Vf=class extends Re{constructor(e,t,i){super(),this._textarea=e,this._window=t,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new Xf(this._window)),this._onDprChange=this._register(new ae),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new ae),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(s=>this._screenDprMonitor.setWindow(s))),this._register(Rt.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(Ee(this._textarea,"focus",()=>this._isFocused=!0)),this._register(Ee(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},Xf=class extends Re{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new ar),this._onDprChange=this._register(new ae),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(et(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=Ee(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var e;this._outerListener&&((e=this._resolutionMediaMatchList)==null||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},Zf=class extends Re{constructor(){super(),this.linkProviders=[],this._register(et(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function Fa(e,t,i){let s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue("padding-left")),a=parseInt(r.getPropertyValue("padding-top"));return[t.clientX-s.left-n,t.clientY-s.top-a]}function ev(e,t,i,s,r,n,a,o,h){if(!n)return;let l=Fa(e,t,i);if(l)return l[0]=Math.ceil((l[0]+(h?a/2:0))/a),l[1]=Math.ceil(l[1]/o),l[0]=Math.min(Math.max(l[0],1),s+(h?1:0)),l[1]=Math.min(Math.max(l[1],1),r),l}var ra=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return ev(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){let i=Fa(window,e,t);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};ra=ot([de(0,is),de(1,zn)],ra);var tv=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=e!==void 0?e:0,t=t!==void 0?t:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,t):t,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},Dc={};c_(Dc,{getSafariVersion:()=>sv,isChromeOS:()=>Tc,isFirefox:()=>Mc,isIpad:()=>rv,isIphone:()=>nv,isLegacyEdge:()=>iv,isLinux:()=>Ha,isMac:()=>In,isNode:()=>qn,isSafari:()=>Lc,isWindows:()=>Rc});var qn=typeof process<"u"&&"title"in process,Yr=qn?"node":navigator.userAgent,Vr=qn?"node":navigator.platform,Mc=Yr.includes("Firefox"),iv=Yr.includes("Edge"),Lc=/^((?!chrome|android).)*safari/i.test(Yr);function sv(){if(!Lc)return 0;let e=Yr.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var In=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Vr),rv=Vr==="iPad",nv=Vr==="iPhone",Rc=["Windows","Win16","Win32","WinCE"].includes(Vr),Ha=Vr.indexOf("Linux")>=0,Tc=/\bCrOS\b/.test(Yr),Pc=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._ir){s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),this._start();return}s=r}this.clear()}},ov=class extends Pc{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},av=class extends Pc{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Dn=!qn&&"requestIdleCallback"in window?av:ov,lv=class{constructor(){this._queue=new Dn}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},na=class extends Re{constructor(e,t,i,s,r,n,a,o,h){super(),this._rowCount=e,this._optionsService=i,this._charSizeService=s,this._coreService=r,this._coreBrowserService=o,this._renderer=this._register(new ar),this._pausedResizeTask=new lv,this._observerDisposable=this._register(new ar),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new ae),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new ae),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new ae),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new ae),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new tv((l,d)=>this._renderRows(l,d),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new hv(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(et(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(a.onResize(()=>this._fullRefresh())),this._register(a.buffers.onBufferActivate(()=>{var l;return(l=this._renderer.value)==null?void 0:l.clear()})),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(n.onDecorationRegistered(()=>this._fullRefresh())),this._register(n.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(a.cols,a.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(a.buffer.y,a.buffer.y,!0))),this._register(h.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(l=>this._registerIntersectionObserver(l,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){let i=new e.IntersectionObserver(s=>this._handleIntersectionChange(s[s.length-1]),{threshold:0});i.observe(t),this._observerDisposable.value=et(()=>i.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,i=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let s=this._syncOutputHandler.flush();s&&(e=Math.min(e,s.start),t=Math.max(t,s.end)),i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(t=>this.refreshRows(t.start,t.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&((t=(e=this._renderer.value).clearTextureAtlas)==null||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var i;return(i=this._renderer.value)==null?void 0:i.handleResize(e,t)}):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;(e=this._renderer.value)==null||e.handleCharSizeChanged()}handleBlur(){var e;(e=this._renderer.value)==null||e.handleBlur()}handleFocus(){var e;(e=this._renderer.value)==null||e.handleFocus()}handleSelectionChanged(e,t,i){var s;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,(s=this._renderer.value)==null||s.handleSelectionChanged(e,t,i)}handleCursorMove(){var e;(e=this._renderer.value)==null||e.handleCursorMove()}clear(){var e;(e=this._renderer.value)==null||e.clear()}};na=ot([de(2,jt),de(3,zn),de(4,Us),de(5,jr),de(6,Jt),de(7,ts),de(8,cr)],na);var hv=class{constructor(e,t,i){this._coreBrowserService=e,this._coreService=t,this._onTimeout=i,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function cv(e,t,i,s){let r=i.buffer.x,n=i.buffer.y;if(!i.buffer.hasScrollback)return _v(r,n,e,t,i,s)+Un(n,t,i,s)+fv(r,n,e,t,i,s);let a;if(n===t)return a=r>e?"D":"C",Or(Math.abs(r-e),Pr(a,s));a=n>t?"D":"C";let o=Math.abs(n-t),h=uv(n>t?e:r,i)+(o-1)*i.cols+1+dv(n>t?r:e);return Or(h,Pr(a,s))}function dv(e,t){return e-1}function uv(e,t){return t.cols-e}function _v(e,t,i,s,r,n){return Un(t,s,r,n).length===0?"":Or(Qc(e,t,e,t-Ws(t,r),!1,r).length,Pr("D",n))}function Un(e,t,i,s){let r=e-Ws(e,i),n=t-Ws(t,i),a=Math.abs(r-n)-vv(e,t,i);return Or(a,Pr(Oc(e,t),s))}function fv(e,t,i,s,r,n){let a;Un(t,s,r,n).length>0?a=s-Ws(s,r):a=t;let o=s,h=gv(e,t,i,s,r,n);return Or(Qc(e,a,i,o,h==="C",r).length,Pr(h,n))}function vv(e,t,i){var a;let s=0,r=e-Ws(e,i),n=t-Ws(t,i);for(let o=0;o=0&&e0?a=s-Ws(s,r):a=t,e=i&&at?"A":"B"}function Qc(e,t,i,s,r,n){let a=e,o=t,h="";for(;(a!==i||o!==s)&&o>=0&&on.cols-1?(h+=n.buffer.translateBufferLineToString(o,!1,e,a),a=0,e=0,o++):!r&&a<0&&(h+=n.buffer.translateBufferLineToString(o,!1,0,e+1),a=n.cols-1,e=a,o--);return h+n.buffer.translateBufferLineToString(o,!1,e,a)}function Pr(e,t){let i=t?"O":"[";return J.ESC+i+e}function Or(e,t){e=Math.floor(e);let i="";for(let s=0;sthis._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function Il(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var oo=50,mv=15,Av=50,bv=500,wv=" ",Cv=new RegExp(wv,"g"),oa=class extends Re{constructor(e,t,i,s,r,n,a,o,h){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=a,this._renderService=o,this._coreBrowserService=h,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new wi,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new ae),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new ae),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new ae),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new ae),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=l=>this._handleMouseMove(l),this._mouseUpListener=l=>this._handleMouseUp(l),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(l=>this._handleTrim(l)),this._register(this._bufferService.buffers.onBufferActivate(l=>this._handleBufferActivate(l))),this.enable(),this._model=new pv(this._bufferService),this._activeSelectionMode=0,this._register(et(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(l=>{l.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";let i=this._bufferService.buffer,s=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return"";let r=e[0]r.replace(Cv," ")).join(Rc?`\r +`:` +`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),Ha&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!i||!s||!t?!1:this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){let i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!i||!s?!1:this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]=t[0]&&e[0]=t[0]}_selectWordAtCursor(e,t){var r,n;let i=(n=(r=this._linkifier.currentLink)==null?void 0:r.link)==null?void 0:n.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=Il(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let s=this._getMouseBufferCoords(e);return s?(this._selectWordAt(s,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=Fa(this._coreBrowserService.window,e,this._screenElement)[1],i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-oo),oo),t/=oo,t/Math.abs(t)+Math.round(t*(mv-1)))}shouldForceSelection(e){return In?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),Av)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(In&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&tthis._handleTrim(t))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){let r=e.loadCell(s,this._workCell).getChars().length;this._workCell.getWidth()===0?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;let r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;let a=r.translateBufferLineToString(e[1],!1),o=this._convertViewportColToCharacterIndex(n,e[0]),h=o,l=e[0]-o,d=0,u=0,v=0,_=0;if(a.charAt(o)===" "){for(;o>0&&a.charAt(o-1)===" ";)o--;for(;h1&&(_+=E-1,h+=E-1);g>0&&o>0&&!this._isCharWordSeparator(n.loadCell(g-1,this._workCell));){n.loadCell(g-1,this._workCell);let y=this._workCell.getChars().length;this._workCell.getWidth()===0?(d++,g--):y>1&&(v+=y-1,o-=y-1),o--,g--}for(;A1&&(_+=y-1,h+=y-1),h++,A++}}h++;let p=o+l-d+v,f=Math.min(this._bufferService.cols,h-o+d+u-v-_);if(!(!t&&a.slice(o,h).trim()==="")){if(i&&p===0&&n.getCodePoint(0)!==32){let g=r.lines.get(e[1]-1);if(g&&n.isWrapped&&g.getCodePoint(this._bufferService.cols-1)!==32){let A=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(A){let E=this._bufferService.cols-A.start;p-=E,f+=E}}}if(s&&p+f===this._bufferService.cols&&n.getCodePoint(this._bufferService.cols-1)!==32){let g=r.lines.get(e[1]+1);if(g!=null&&g.isWrapped&&g.getCodePoint(0)!==32){let A=this._getWordAt([0,e[1]+1],!1,!1,!0);A&&(f+=A.length)}}return{start:p,length:f}}}_selectWordAt(e,t){let i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=Il(i,this._bufferService.cols)}};oa=ot([de(3,Jt),de(4,Us),de(5,La),de(6,jt),de(7,is),de(8,ts)],oa);var Dl=class{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},Ml=class{constructor(){this._color=new Dl,this._css=new Dl}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},mt=Object.freeze((()=>{let e=[st.toColor("#2e3436"),st.toColor("#cc0000"),st.toColor("#4e9a06"),st.toColor("#c4a000"),st.toColor("#3465a4"),st.toColor("#75507b"),st.toColor("#06989a"),st.toColor("#d3d7cf"),st.toColor("#555753"),st.toColor("#ef2929"),st.toColor("#8ae234"),st.toColor("#fce94f"),st.toColor("#729fcf"),st.toColor("#ad7fa8"),st.toColor("#34e2e2"),st.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){let s=t[i/36%6|0],r=t[i/6%6|0],n=t[i%6];e.push({css:ft.toCss(s,r,n),rgba:ft.toRgba(s,r,n)})}for(let i=0;i<24;i++){let s=8+i*10;e.push({css:ft.toCss(s,s,s),rgba:ft.toRgba(s,s,s)})}return e})()),Cs=st.toColor("#ffffff"),Sr=st.toColor("#000000"),Ll=st.toColor("#ffffff"),Rl=Sr,fr={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},Sv=Cs,aa=class extends Re{constructor(e){super(),this._optionsService=e,this._contrastCache=new Ml,this._halfContrastCache=new Ml,this._onChangeColors=this._register(new ae),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:Cs,background:Sr,cursor:Ll,cursorAccent:Rl,selectionForeground:void 0,selectionBackgroundTransparent:fr,selectionBackgroundOpaque:Ye.blend(Sr,fr),selectionInactiveBackgroundTransparent:fr,selectionInactiveBackgroundOpaque:Ye.blend(Sr,fr),scrollbarSliderBackground:Ye.opacity(Cs,.2),scrollbarSliderHoverBackground:Ye.opacity(Cs,.4),scrollbarSliderActiveBackground:Ye.opacity(Cs,.5),overviewRulerBorder:Cs,ansi:mt.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=Je(e.foreground,Cs),t.background=Je(e.background,Sr),t.cursor=Ye.blend(t.background,Je(e.cursor,Ll)),t.cursorAccent=Ye.blend(t.background,Je(e.cursorAccent,Rl)),t.selectionBackgroundTransparent=Je(e.selectionBackground,fr),t.selectionBackgroundOpaque=Ye.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=Je(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=Ye.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?Je(e.selectionForeground,kl):void 0,t.selectionForeground===kl&&(t.selectionForeground=void 0),Ye.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=Ye.opacity(t.selectionBackgroundTransparent,.3)),Ye.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=Ye.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=Je(e.scrollbarSliderBackground,Ye.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=Je(e.scrollbarSliderHoverBackground,Ye.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=Je(e.scrollbarSliderActiveBackground,Ye.opacity(t.foreground,.5)),t.overviewRulerBorder=Je(e.overviewRulerBorder,Sv),t.ansi=mt.slice(),t.ansi[0]=Je(e.black,mt[0]),t.ansi[1]=Je(e.red,mt[1]),t.ansi[2]=Je(e.green,mt[2]),t.ansi[3]=Je(e.yellow,mt[3]),t.ansi[4]=Je(e.blue,mt[4]),t.ansi[5]=Je(e.magenta,mt[5]),t.ansi[6]=Je(e.cyan,mt[6]),t.ansi[7]=Je(e.white,mt[7]),t.ansi[8]=Je(e.brightBlack,mt[8]),t.ansi[9]=Je(e.brightRed,mt[9]),t.ansi[10]=Je(e.brightGreen,mt[10]),t.ansi[11]=Je(e.brightYellow,mt[11]),t.ansi[12]=Je(e.brightBlue,mt[12]),t.ansi[13]=Je(e.brightMagenta,mt[13]),t.ansi[14]=Je(e.brightCyan,mt[14]),t.ansi[15]=Je(e.brightWhite,mt[15]),e.extendedAnsi){let i=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let s=0;sn.index-a.index),s=[];for(let n of i){let a=this._services.get(n.id);if(!a)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${n.id._id}.`);s.push(a)}let r=i.length>0?i[0].index:t.length;if(t.length!==r)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);return new e(...t,...s)}},kv={trace:0,debug:1,info:2,warn:3,error:4,off:5},Ev="xterm.js: ",la=class extends Re{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=kv[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;tthis._length)for(let t=this._length;t=e;s--)this._array[this._getCyclicIndex(s+i.length)]=this._array[this._getCyclicIndex(s)];for(let s=0;sthis._maxLength){let s=this._length+i.length-this._maxLength;this._startIndex+=s,this._length=this._maxLength,this.onTrimEmitter.fire(s)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let r=t-1;r>=0;r--)this.set(e+r+i,this.get(e+r));let s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s>22,i&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):s]}set(t,i){this._data[t*Le+1]=i[0],i[1].length>1?(this._combined[t]=i[1],this._data[t*Le+0]=t|2097152|i[2]<<22):this._data[t*Le+0]=i[1].charCodeAt(0)|i[2]<<22}getWidth(t){return this._data[t*Le+0]>>22}hasWidth(t){return this._data[t*Le+0]&12582912}getFg(t){return this._data[t*Le+1]}getBg(t){return this._data[t*Le+2]}hasContent(t){return this._data[t*Le+0]&4194303}getCodePoint(t){let i=this._data[t*Le+0];return i&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):i&2097151}isCombined(t){return this._data[t*Le+0]&2097152}getString(t){let i=this._data[t*Le+0];return i&2097152?this._combined[t]:i&2097151?ls(i&2097151):""}isProtected(t){return this._data[t*Le+2]&536870912}loadCell(t,i){return ln=t*Le,i.content=this._data[ln+0],i.fg=this._data[ln+1],i.bg=this._data[ln+2],i.content&2097152&&(i.combinedData=this._combined[t]),i.bg&268435456&&(i.extended=this._extendedAttrs[t]),i}setCell(t,i){i.content&2097152&&(this._combined[t]=i.combinedData),i.bg&268435456&&(this._extendedAttrs[t]=i.extended),this._data[t*Le+0]=i.content,this._data[t*Le+1]=i.fg,this._data[t*Le+2]=i.bg}setCellFromCodepoint(t,i,s,r){r.bg&268435456&&(this._extendedAttrs[t]=r.extended),this._data[t*Le+0]=i|s<<22,this._data[t*Le+1]=r.fg,this._data[t*Le+2]=r.bg}addCodepointToCell(t,i,s){let r=this._data[t*Le+0];r&2097152?this._combined[t]+=ls(i):r&2097151?(this._combined[t]=ls(r&2097151)+ls(i),r&=-2097152,r|=2097152):r=i|1<<22,s&&(r&=-12582913,r|=s<<22),this._data[t*Le+0]=r}insertCells(t,i,s){if(t%=this.length,t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,s),i=0;--n)this.setCell(t+i+n,this.loadCell(t+n,r));for(let n=0;nthis.length){if(this._data.buffer.byteLength>=s*4)this._data=new Uint32Array(this._data.buffer,0,s);else{let r=new Uint32Array(s);r.set(this._data),this._data=r}for(let r=this.length;r=t&&delete this._combined[o]}let n=Object.keys(this._extendedAttrs);for(let a=0;a=t&&delete this._extendedAttrs[o]}}return this.length=t,s*4*ao=0;--t)if(this._data[t*Le+0]&4194303)return t+(this._data[t*Le+0]>>22);return 0}getNoBgTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*Le+0]&4194303||this._data[t*Le+2]&50331648)return t+(this._data[t*Le+0]>>22);return 0}copyCellsFrom(t,i,s,r,n){let a=t._data;if(n)for(let h=r-1;h>=0;h--){for(let l=0;l=i&&(this._combined[l-i+s]=t._combined[l])}}translateToString(t,i,s,r){i=i??0,s=s??this.length,t&&(s=Math.min(s,this.getTrimmedLength())),r&&(r.length=0);let n="";for(;i>22||1}return r&&r.push(i),n}};function Bv(e,t,i,s,r,n){let a=[];for(let o=0;o=o&&s0&&(g>u||d[g].getTrimmedLength()===0);g--)f++;f>0&&(a.push(o+d.length-f),a.push(f)),o+=d.length-1}return a}function Iv(e,t){let i=[],s=0,r=t[s],n=0;for(let a=0;aQr(e,l,t)).reduce((h,l)=>h+l),n=0,a=0,o=0;for(;oh&&(n-=h,a++);let l=e[a].getWidth(n-1)===2;l&&n--;let d=l?i-1:i;s.push(d),o+=d}return s}function Qr(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();let s=!e[t].hasContent(i-1)&&e[t].getWidth(i-1)===1,r=e[t+1].getWidth(0)===2;return s&&r?i-1:i}var Fc=class Hc{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=Hc._nextId++,this._onDispose=this.register(new ae),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Hs(this._disposables),this._disposables.length=0)}register(t){return this._disposables.push(t),t}};Fc._nextId=1;var Lv=Fc,bt={},Ss=bt.B;bt[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};bt.A={"#":"£"};bt.B=void 0;bt[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};bt.C=bt[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};bt.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};bt.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};bt.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};bt.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};bt.E=bt[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};bt.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};bt.H=bt[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};bt["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var Pl=4294967295,Ol=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=ut.clone(),this.savedCharset=Ss,this.markers=[],this._nullCell=wi.fromCharData([0,sc,1,0]),this._whitespaceCell=wi.fromCharData([0,us,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Dn,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new Tl(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new kn),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new kn),this._whitespaceCell}getBlankLine(e,t){return new yr(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&ePl?Pl:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=ut);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new Tl(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let i=this.getNullCell(ut),s=0,r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new yr(e,i)));else for(let a=this._rows;a>t;a--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r0&&(this.lines.trimStart(a),this.ybase=Math.max(this.ybase-a,0),this.ydisp=Math.max(this.ydisp-a,0),this.savedY=Math.max(this.savedY-a,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let n=0;n.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let i=this._optionsService.rawOptions.reflowCursorLine,s=Bv(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(ut),i);if(s.length>0){let r=Iv(this.lines,s);Dv(this.lines,r.layout),this._reflowLargerAdjustViewport(e,t,r.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){let s=this.getNullCell(ut),r=i;for(;r-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;a--){let o=this.lines.get(a);if(!o||!o.isWrapped&&o.getTrimmedLength()<=e)continue;let h=[o];for(;o.isWrapped&&a>0;)o=this.lines.get(--a),h.unshift(o);if(!i){let y=this.ybase+this.y;if(y>=a&&y0&&(r.push({start:a+h.length+n,newLines:_}),n+=_.length),h.push(..._);let p=d.length-1,f=d[p];f===0&&(p--,f=d[p]);let g=h.length-u-1,A=l;for(;g>=0;){let y=Math.min(A,f);if(h[p]===void 0)break;if(h[p].copyCellsFrom(h[g],A-y,f-y,y,!0),f-=y,f===0&&(p--,f=d[p]),A-=y,A===0){g--;let w=Math.max(g,0);A=Qr(h,w,this._cols)}}for(let y=0;y0;)this.ybase===0?this.y0){let a=[],o=[];for(let f=0;f=0;f--)if(u&&u.start>l+v){for(let g=u.newLines.length-1;g>=0;g--)this.lines.set(f--,u.newLines[g]);f++,a.push({index:l+1,amount:u.newLines.length}),v+=u.newLines.length,u=r[++d]}else this.lines.set(f,o[l--]);let _=0;for(let f=a.length-1;f>=0;f--)a[f].index+=_,this.lines.onInsertEmitter.fire(a[f]),_+=a[f].amount;let p=Math.max(0,h+n-this.lines.maxLength);p>0&&this.lines.onTrimEmitter.fire(p)}}translateBufferLineToString(e,t,i=0,s){let r=this.lines.get(e);return r?r.translateToString(t,i,s):""}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+10;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t{t.line-=i,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(i=>{t.line>=i.index&&(t.line+=i.amount)})),t.register(this.lines.onDelete(i=>{t.line>=i.index&&t.linei.index&&(t.line-=i.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Rv=class extends Re{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new ae),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new Ol(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new Ol(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},Wc=2,zc=1,ha=class extends Re{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new ae),this.onResize=this._onResize.event,this._onScroll=this._register(new ae),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,Wc),this.rows=Math.max(e.rawOptions.rows||0,zc),this.buffers=this._register(new Rv(e,this)),this._register(this.buffers.onBufferActivate(t=>{this._onScroll.fire(t.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let i=this.cols!==e,s=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:i,rowsChanged:s})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let i=this.buffer,s;s=this._cachedBlankLine,(!s||s.length!==this.cols||s.getFg(0)!==e.fg||s.getBg(0)!==e.bg)&&(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;let r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(i.scrollTop===0){let a=i.lines.isFull;n===i.lines.length-1?a?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),a?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{let a=n-r+1;i.lines.shiftElements(r+1,a-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t){let i=this.buffer;if(e<0){if(i.ydisp===0)return;this.isUserScrolling=!0}else e+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);let s=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+e,i.ybase),0),s!==i.ydisp&&(t||this._onScroll.fire(i.ydisp))}};ha=ot([de(0,jt)],ha);var js={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:In,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},Tv=["normal","bold","100","200","300","400","500","600","700","800","900"],Pv=class extends Re{constructor(e){super(),this._onOptionChange=this._register(new ae),this.onOptionChange=this._onOptionChange.event;let t={...js};for(let i in e)if(i in t)try{let s=e[i];t[i]=this._sanitizeAndValidateOption(i,s)}catch(s){console.error(s)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(et(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(i=>{i===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(i=>{e.indexOf(i)!==-1&&t()})}_setupOptions(){let e=i=>{if(!(i in js))throw new Error(`No option with key "${i}"`);return this.rawOptions[i]},t=(i,s)=>{if(!(i in js))throw new Error(`No option with key "${i}"`);s=this._sanitizeAndValidateOption(i,s),this.rawOptions[i]!==s&&(this.rawOptions[i]=s,this._onOptionChange.fire(i))};for(let i in this.rawOptions){let s={get:e.bind(this,i),set:t.bind(this,i)};Object.defineProperty(this.options,i,s)}}_sanitizeAndValidateOption(e,t){switch(e){case"cursorStyle":if(t||(t=js[e]),!Ov(t))throw new Error(`"${t}" is not a valid value for ${e}`);break;case"wordSeparator":t||(t=js[e]);break;case"fontWeight":case"fontWeightBold":if(typeof t=="number"&&1<=t&&t<=1e3)break;t=Tv.includes(t)?t:js[e];break;case"cursorWidth":t=Math.floor(t);case"lineHeight":case"tabStopWidth":if(t<1)throw new Error(`${e} cannot be less than 1, value: ${t}`);break;case"minimumContrastRatio":t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case"scrollback":if(t=Math.min(t,4294967295),t<0)throw new Error(`${e} cannot be less than 0, value: ${t}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(t<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case"rows":case"cols":if(!t&&t!==0)throw new Error(`${e} must be numeric, value: ${t}`);break;case"windowsPty":t=t??{};break}return t}};function Ov(e){return e==="block"||e==="underline"||e==="bar"}function xr(e,t=5){if(typeof e!="object")return e;let i=Array.isArray(e)?[]:{};for(let s in e)i[s]=t<=1?e[s]:e[s]&&xr(e[s],t-1);return i}var Ql=Object.freeze({insertMode:!1}),Nl=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),ca=class extends Re{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new ae),this.onData=this._onData.event,this._onUserInput=this._register(new ae),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new ae),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new ae),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=xr(Ql),this.decPrivateModes=xr(Nl)}reset(){this.modes=xr(Ql),this.decPrivateModes=xr(Nl)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace("sending data (codes)",()=>e.split("").map(s=>s.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace("sending binary (codes)",()=>e.split("").map(t=>t.charCodeAt(0))),this._onBinary.fire(e))}};ca=ot([de(0,Jt),de(1,lc),de(2,jt)],ca);var Fl={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function lo(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(i|=64,i|=e.action):(i|=e.button&3,e.button&4&&(i|=64),e.button&8&&(i|=128),e.action===32?i|=32:e.action===0&&!t&&(i|=3)),i}var ho=String.fromCharCode,Hl={DEFAULT:e=>{let t=[lo(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":`\x1B[M${ho(t[0])}${ho(t[1])}${ho(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${lo(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${lo(e,!0)};${e.x};${e.y}${t}`}},da=class extends Re{constructor(e,t,i){super(),this._bufferService=e,this._coreService=t,this._optionsService=i,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new ae),this.onProtocolChange=this._onProtocolChange.event;for(let s of Object.keys(Fl))this.addProtocol(s,Fl[s]);for(let s of Object.keys(Hl))this.addEncoding(s,Hl[s]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,i){if(e.deltaY===0||e.shiftKey||t===void 0||i===void 0)return 0;let s=t/i,r=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(r/=s+0,Math.abs(e.deltaY)<50&&(r*=.3),this._wheelPartialScroll+=r,r=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(r*=this._bufferService.rows),r}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};da=ot([de(0,Jt),de(1,Us),de(2,jt)],da);var co=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],Qv=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],At;function Nv(e,t){let i=0,s=t.length-1,r;if(et[s][1])return!1;for(;s>=i;)if(r=i+s>>1,e>t[r][1])i=r+1;else if(e=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let i=this.wcwidth(e),s=i===0&&t!==0;if(s){let r=xs.extractWidth(t);r===0?s=!1:r>i&&(i=r)}return xs.createPropertyValue(0,i,s)}},xs=class bn{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new ae,this.onChange=this._onChange.event;let t=new Fv;this.register(t),this._active=t.version,this._activeProvider=t}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,i,s=!1){return(t&16777215)<<3|(i&3)<<1|(s?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version "${t}"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let i=0,s=0,r=t.length;for(let n=0;n=r)return i+this.wcwidth(a);let l=t.charCodeAt(n);56320<=l&&l<=57343?a=(a-55296)*1024+l-56320+65536:i+=this.wcwidth(l)}let o=this.charProperties(a,s),h=bn.extractWidth(o);bn.extractShouldJoin(o)&&(h-=bn.extractWidth(s)),i+=h,s=o}return i}charProperties(t,i){return this._activeProvider.charProperties(t,i)}},Hv=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function Wl(e){var s;let t=(s=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1))==null?void 0:s.get(e.cols-1),i=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);i&&t&&(i.isWrapped=t[3]!==0&&t[3]!==32)}var vr=2147483647,Wv=256,qc=class ua{constructor(t=32,i=32){if(this.maxLength=t,this.maxSubParamsLength=i,i>Wv)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(i),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let i=new ua;if(!t.length)return i;for(let s=Array.isArray(t[0])?1:0;s>8,r=this._subParamsIdx[i]&255;r-s>0&&t.push(Array.prototype.slice.call(this._subParams,s,r))}return t}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(t){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>vr?vr:t}addSubParam(t){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=t>vr?vr:t,this._subParamsIdx[this.length-1]++}}hasSubParams(t){return(this._subParamsIdx[t]&255)-(this._subParamsIdx[t]>>8)>0}getSubParams(t){let i=this._subParamsIdx[t]>>8,s=this._subParamsIdx[t]&255;return s-i>0?this._subParams.subarray(i,s):null}getSubParamsAll(){let t={};for(let i=0;i>8,r=this._subParamsIdx[i]&255;r-s>0&&(t[i]=this._subParams.slice(s,r))}return t}addDigit(t){let i;if(this._rejectDigits||!(i=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let s=this._digitIsSub?this._subParams:this.params,r=s[i-1];s[i-1]=~r?Math.min(r*10+t,vr):t}},gr=[],zv=class{constructor(){this._state=0,this._active=gr,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let i=this._handlers[e];return i.push(t),{dispose:()=>{let s=i.indexOf(t);s!==-1&&i.splice(s,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=gr}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=gr,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||gr,!this._active.length)this._handlerFb(this._id,"START");else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,i){if(!this._active.length)this._handlerFb(this._id,"PUT",Wn(e,t,i));else for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i)}start(){this.reset(),this._state=1}put(e,t,i){if(this._state!==3){if(this._state===1)for(;t0&&this._put(e,t,i)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",e);else{let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&i===!1){for(;s>=0&&(i=this._active[s].end(e),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}this._active=gr,this._id=-1,this._state=0}}},ni=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,i,s){this._hitLimit||(this._data+=Wn(t,i,s),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let i=!1;if(this._hitLimit)i=!1;else if(t&&(i=this._handler(this._data),i instanceof Promise))return i.then(s=>(this._data="",this._hitLimit=!1,s));return this._data="",this._hitLimit=!1,i}},pr=[],qv=class{constructor(){this._handlers=Object.create(null),this._active=pr,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=pr}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let i=this._handlers[e];return i.push(t),{dispose:()=>{let s=i.indexOf(t);s!==-1&&i.splice(s,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=pr,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||pr,!this._active.length)this._handlerFb(this._ident,"HOOK",t);else for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(t)}put(e,t,i){if(!this._active.length)this._handlerFb(this._ident,"PUT",Wn(e,t,i));else for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",e);else{let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&i===!1){for(;s>=0&&(i=this._active[s].unhook(e),i!==!0);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}this._active=pr,this._ident=0}},kr=new qc;kr.addParam(0);var zl=class{constructor(e){this._handler=e,this._data="",this._params=kr,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():kr,this._data="",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=Wn(e,t,i),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(i=>(this._params=kr,this._data="",this._hitLimit=!1,i));return this._params=kr,this._data="",this._hitLimit=!1,t}},Uv=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;rh),i=(o,h)=>t.slice(o,h),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));let n=i(0,14),a;e.setDefault(1,0),e.addMany(s,0,2,0);for(a in n)e.addMany([24,26,153,154],a,3,0),e.addMany(i(128,144),a,3,0),e.addMany(i(144,152),a,3,0),e.add(156,a,0,0),e.add(27,a,11,1),e.add(157,a,4,8),e.addMany([152,158,159],a,0,7),e.add(155,a,11,3),e.add(144,a,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(bi,0,2,0),e.add(bi,8,5,8),e.add(bi,6,0,6),e.add(bi,11,0,11),e.add(bi,13,13,13),e})(),Gv=class extends Re{constructor(e=$v){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new qc,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(t,i,s)=>{},this._executeHandlerFb=t=>{},this._csiHandlerFb=(t,i)=>{},this._escHandlerFb=t=>{},this._errorHandlerFb=t=>t,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(et(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new zv),this._dcsParser=this._register(new qv),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let r=0;rn||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=n}}if(e.final.length!==1)throw new Error("final must be a single byte");let s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join("")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let i=this._identifier(e,[48,126]);this._escHandlers[i]===void 0&&(this._escHandlers[i]=[]);let s=this._escHandlers[i];return s.push(t),{dispose:()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let i=this._identifier(e);this._csiHandlers[i]===void 0&&(this._csiHandlers[i]=[]);let s=this._csiHandlers[i];return s.push(t),{dispose:()=>{let r=s.indexOf(t);r!==-1&&s.splice(r,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s=0,r=0,n=0,a;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,n=this._parseStack.chunkPos+1;else{if(i===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let o=this._parseStack.handlers,h=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(i===!1&&h>-1){for(;h>=0&&(a=o[h](this._params),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 4:if(i===!1&&h>-1){for(;h>=0&&(a=o[h](),a!==!0);h--)if(a instanceof Promise)return this._parseStack.handlerPos=h,a}this._parseStack.handlers=[];break;case 6:if(s=e[this._parseStack.chunkPos],a=this._dcsParser.unhook(s!==24&&s!==26,i),a)return a;s===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(s=e[this._parseStack.chunkPos],a=this._oscParser.end(s!==24&&s!==26,i),a)return a;s===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,n=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let o=n;o>4){case 2:for(let v=o+1;;++v){if(v>=t||(s=e[v])<32||s>126&&s=t||(s=e[v])<32||s>126&&s=t||(s=e[v])<32||s>126&&s=t||(s=e[v])<32||s>126&&s=0&&(a=h[l](this._params),a!==!0);l--)if(a instanceof Promise)return this._preserveStack(3,h,l,r,o),a;l<0&&this._csiHandlerFb(this._collect<<8|s,this._params),this.precedingJoinState=0;break;case 8:do switch(s){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(s-48)}while(++o47&&s<60);o--;break;case 9:this._collect<<=8,this._collect|=s;break;case 10:let d=this._escHandlers[this._collect<<8|s],u=d?d.length-1:-1;for(;u>=0&&(a=d[u](),a!==!0);u--)if(a instanceof Promise)return this._preserveStack(4,d,u,r,o),a;u<0&&this._escHandlerFb(this._collect<<8|s),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|s,this._params);break;case 13:for(let v=o+1;;++v)if(v>=t||(s=e[v])===24||s===26||s===27||s>127&&s=t||(s=e[v])<32||s>127&&s>4:n>>8}return s}}function uo(e,t){let i=e.toString(16),s=i.length<2?"0"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}function jv(e,t=16){let[i,s,r]=e;return`rgb:${uo(i,t)}/${uo(s,t)}/${uo(r,t)}`}var Yv={"(":0,")":1,"*":2,"+":3,"-":1,".":2},os=131072,Ul=10;function $l(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var Gl=5e3,Kl=0,Vv=class extends Re{constructor(e,t,i,s,r,n,a,o,h=new Gv){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=n,this._coreMouseService=a,this._unicodeService=o,this._parser=h,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new v_,this._utf8Decoder=new g_,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=ut.clone(),this._eraseAttrDataInternal=ut.clone(),this._onRequestBell=this._register(new ae),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new ae),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new ae),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new ae),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new ae),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new ae),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new ae),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new ae),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new ae),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new ae),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new ae),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new ae),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new ae),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new _a(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(l=>this._activeBuffer=l.activeBuffer)),this._parser.setCsiHandlerFallback((l,d)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(l),params:d.toArray()})}),this._parser.setEscHandlerFallback(l=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(l)})}),this._parser.setExecuteHandlerFallback(l=>{this._logService.debug("Unknown EXECUTE code: ",{code:l})}),this._parser.setOscHandlerFallback((l,d,u)=>{this._logService.debug("Unknown OSC code: ",{identifier:l,action:d,data:u})}),this._parser.setDcsHandlerFallback((l,d,u)=>{d==="HOOK"&&(u=u.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(l),action:d,payload:u})}),this._parser.setPrintHandler((l,d,u)=>this.print(l,d,u)),this._parser.registerCsiHandler({final:"@"},l=>this.insertChars(l)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},l=>this.scrollLeft(l)),this._parser.registerCsiHandler({final:"A"},l=>this.cursorUp(l)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},l=>this.scrollRight(l)),this._parser.registerCsiHandler({final:"B"},l=>this.cursorDown(l)),this._parser.registerCsiHandler({final:"C"},l=>this.cursorForward(l)),this._parser.registerCsiHandler({final:"D"},l=>this.cursorBackward(l)),this._parser.registerCsiHandler({final:"E"},l=>this.cursorNextLine(l)),this._parser.registerCsiHandler({final:"F"},l=>this.cursorPrecedingLine(l)),this._parser.registerCsiHandler({final:"G"},l=>this.cursorCharAbsolute(l)),this._parser.registerCsiHandler({final:"H"},l=>this.cursorPosition(l)),this._parser.registerCsiHandler({final:"I"},l=>this.cursorForwardTab(l)),this._parser.registerCsiHandler({final:"J"},l=>this.eraseInDisplay(l,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},l=>this.eraseInDisplay(l,!0)),this._parser.registerCsiHandler({final:"K"},l=>this.eraseInLine(l,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},l=>this.eraseInLine(l,!0)),this._parser.registerCsiHandler({final:"L"},l=>this.insertLines(l)),this._parser.registerCsiHandler({final:"M"},l=>this.deleteLines(l)),this._parser.registerCsiHandler({final:"P"},l=>this.deleteChars(l)),this._parser.registerCsiHandler({final:"S"},l=>this.scrollUp(l)),this._parser.registerCsiHandler({final:"T"},l=>this.scrollDown(l)),this._parser.registerCsiHandler({final:"X"},l=>this.eraseChars(l)),this._parser.registerCsiHandler({final:"Z"},l=>this.cursorBackwardTab(l)),this._parser.registerCsiHandler({final:"`"},l=>this.charPosAbsolute(l)),this._parser.registerCsiHandler({final:"a"},l=>this.hPositionRelative(l)),this._parser.registerCsiHandler({final:"b"},l=>this.repeatPrecedingCharacter(l)),this._parser.registerCsiHandler({final:"c"},l=>this.sendDeviceAttributesPrimary(l)),this._parser.registerCsiHandler({prefix:">",final:"c"},l=>this.sendDeviceAttributesSecondary(l)),this._parser.registerCsiHandler({final:"d"},l=>this.linePosAbsolute(l)),this._parser.registerCsiHandler({final:"e"},l=>this.vPositionRelative(l)),this._parser.registerCsiHandler({final:"f"},l=>this.hVPosition(l)),this._parser.registerCsiHandler({final:"g"},l=>this.tabClear(l)),this._parser.registerCsiHandler({final:"h"},l=>this.setMode(l)),this._parser.registerCsiHandler({prefix:"?",final:"h"},l=>this.setModePrivate(l)),this._parser.registerCsiHandler({final:"l"},l=>this.resetMode(l)),this._parser.registerCsiHandler({prefix:"?",final:"l"},l=>this.resetModePrivate(l)),this._parser.registerCsiHandler({final:"m"},l=>this.charAttributes(l)),this._parser.registerCsiHandler({final:"n"},l=>this.deviceStatus(l)),this._parser.registerCsiHandler({prefix:"?",final:"n"},l=>this.deviceStatusPrivate(l)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},l=>this.softReset(l)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},l=>this.setCursorStyle(l)),this._parser.registerCsiHandler({final:"r"},l=>this.setScrollRegion(l)),this._parser.registerCsiHandler({final:"s"},l=>this.saveCursor(l)),this._parser.registerCsiHandler({final:"t"},l=>this.windowOptions(l)),this._parser.registerCsiHandler({final:"u"},l=>this.restoreCursor(l)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},l=>this.insertColumns(l)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},l=>this.deleteColumns(l)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},l=>this.selectProtected(l)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},l=>this.requestMode(l,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},l=>this.requestMode(l,!1)),this._parser.setExecuteHandler(J.BEL,()=>this.bell()),this._parser.setExecuteHandler(J.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(J.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(J.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(J.BS,()=>this.backspace()),this._parser.setExecuteHandler(J.HT,()=>this.tab()),this._parser.setExecuteHandler(J.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(J.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(mn.IND,()=>this.index()),this._parser.setExecuteHandler(mn.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(mn.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new ni(l=>(this.setTitle(l),this.setIconName(l),!0))),this._parser.registerOscHandler(1,new ni(l=>this.setIconName(l))),this._parser.registerOscHandler(2,new ni(l=>this.setTitle(l))),this._parser.registerOscHandler(4,new ni(l=>this.setOrReportIndexedColor(l))),this._parser.registerOscHandler(8,new ni(l=>this.setHyperlink(l))),this._parser.registerOscHandler(10,new ni(l=>this.setOrReportFgColor(l))),this._parser.registerOscHandler(11,new ni(l=>this.setOrReportBgColor(l))),this._parser.registerOscHandler(12,new ni(l=>this.setOrReportCursorColor(l))),this._parser.registerOscHandler(104,new ni(l=>this.restoreIndexedColor(l))),this._parser.registerOscHandler(110,new ni(l=>this.restoreFgColor(l))),this._parser.registerOscHandler(111,new ni(l=>this.restoreBgColor(l))),this._parser.registerOscHandler(112,new ni(l=>this.restoreCursorColor(l))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let l in bt)this._parser.registerEscHandler({intermediates:"(",final:l},()=>this.selectCharset("("+l)),this._parser.registerEscHandler({intermediates:")",final:l},()=>this.selectCharset(")"+l)),this._parser.registerEscHandler({intermediates:"*",final:l},()=>this.selectCharset("*"+l)),this._parser.registerEscHandler({intermediates:"+",final:l},()=>this.selectCharset("+"+l)),this._parser.registerEscHandler({intermediates:"-",final:l},()=>this.selectCharset("-"+l)),this._parser.registerEscHandler({intermediates:".",final:l},()=>this.selectCharset("."+l)),this._parser.registerEscHandler({intermediates:"/",final:l},()=>this.selectCharset("/"+l));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(l=>(this._logService.error("Parsing error: ",l),l)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new zl((l,d)=>this.requestStatusString(l,d)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((t,i)=>setTimeout(()=>i("#SLOW_TIMEOUT"),Gl))]).catch(t=>{if(t!=="#SLOW_TIMEOUT")throw t;console.warn(`async parser handler taking longer than ${Gl} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0,a=this._parseStack.paused;if(a){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>os&&(n=this._parseStack.position+os)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e=="string"?` "${e}"`:` "${Array.prototype.map.call(e,l=>String.fromCharCode(l)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof e=="string"?e.split("").map(l=>l.charCodeAt(0)):e),this._parseBuffer.lengthos)for(let l=n;l0&&u.getWidth(this._activeBuffer.x-1)===2&&u.setCellFromCodepoint(this._activeBuffer.x-1,0,1,d);let v=this._parser.precedingJoinState;for(let _=t;_o){if(h){let A=u,E=this._activeBuffer.x-g;for(this._activeBuffer.x=g,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),g>0&&u instanceof yr&&u.copyCellsFrom(A,E,0,g,!1);E=0;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,d);continue}if(l&&(u.insertCells(this._activeBuffer.x,r-g,this._activeBuffer.getNullCell(d)),u.getWidth(o-1)===2&&u.setCellFromCodepoint(o-1,0,1,d)),u.setCellFromCodepoint(this._activeBuffer.x++,s,r,d),r>0)for(;--r;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,d)}this._parser.precedingJoinState=v,this._activeBuffer.x0&&u.getWidth(this._activeBuffer.x)===0&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodepoint(this._activeBuffer.x,0,1,d),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final==="t"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,i=>$l(i.params[0],this._optionsService.rawOptions.windowOptions)?t(i):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new zl(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new ni(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){var s;this._restrictCursor(this._bufferService.cols);let i;switch(e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(i=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,i-1);i--&&!((s=this._activeBuffer.lines.get(this._activeBuffer.ybase+i))!=null&&s.getTrimmedLength()););for(;i>=0;i--)this._bufferService.scroll(this._eraseAttrData())}else{for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let r=this._activeBuffer.lines.length-this._bufferService.rows;r>0&&(this._activeBuffer.lines.trimStart(r),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-r,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-r,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let h=o;for(let l=1;l0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(J.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(J.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(J.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(J.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(J.ESC+"[>83;40003;0c")),!0}_is(e){return(this._optionsService.rawOptions.termName+"").indexOf(e)===0}setMode(e){for(let t=0;t(f[f.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",f[f.SET=1]="SET",f[f.RESET=2]="RESET",f[f.PERMANENTLY_SET=3]="PERMANENTLY_SET",f[f.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(void 0||(i={}));let s=this._coreService.decPrivateModes,{activeProtocol:r,activeEncoding:n}=this._coreMouseService,a=this._coreService,{buffers:o,cols:h}=this._bufferService,{active:l,alt:d}=o,u=this._optionsService.rawOptions,v=(f,g)=>(a.triggerDataEvent(`${J.ESC}[${t?"":"?"}${f};${g}$y`),!0),_=f=>f?1:2,p=e.params[0];return t?p===2?v(p,4):p===4?v(p,_(a.modes.insertMode)):p===12?v(p,3):p===20?v(p,_(u.convertEol)):v(p,0):p===1?v(p,_(s.applicationCursorKeys)):p===3?v(p,u.windowOptions.setWinLines?h===80?2:h===132?1:0:0):p===6?v(p,_(s.origin)):p===7?v(p,_(s.wraparound)):p===8?v(p,3):p===9?v(p,_(r==="X10")):p===12?v(p,_(u.cursorBlink)):p===25?v(p,_(!a.isCursorHidden)):p===45?v(p,_(s.reverseWraparound)):p===66?v(p,_(s.applicationKeypad)):p===67?v(p,4):p===1e3?v(p,_(r==="VT200")):p===1002?v(p,_(r==="DRAG")):p===1003?v(p,_(r==="ANY")):p===1004?v(p,_(s.sendFocus)):p===1005?v(p,4):p===1006?v(p,_(n==="SGR")):p===1015?v(p,4):p===1016?v(p,_(n==="SGR_PIXELS")):p===1048?v(p,1):p===47||p===1047||p===1049?v(p,_(l===d)):p===2004?v(p,_(s.bracketedPasteMode)):p===2026?v(p,_(s.synchronizedOutput)):v(p,0)}_updateAttrColor(e,t,i,s,r){return t===2?(e|=50331648,e&=-16777216,e|=Jr.fromColorRGB([i,s,r])):t===5&&(e&=-50331904,e|=33554432|i&255),e}_extractColor(e,t,i){let s=[0,0,-1,0,0,0],r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){let a=e.getSubParams(t+n),o=0;do s[1]===5&&(r=1),s[n+o+1+r]=a[o];while(++o=2||s[1]===2&&n+r>=5)break;s[1]&&(r=1)}while(++n+t5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=ut.fg,e.bg=ut.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,i,s=this._curAttrData;for(let r=0;r=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777216|i-90|8):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777216|i-100|8):i===0?this._processSGR0(s):i===1?s.fg|=134217728:i===3?s.bg|=67108864:i===4?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):i===5?s.fg|=536870912:i===7?s.fg|=67108864:i===8?s.fg|=1073741824:i===9?s.fg|=2147483648:i===2?s.bg|=134217728:i===21?this._processUnderline(2,s):i===22?(s.fg&=-134217729,s.bg&=-134217729):i===23?s.bg&=-67108865:i===24?(s.fg&=-268435457,this._processUnderline(0,s)):i===25?s.fg&=-536870913:i===27?s.fg&=-67108865:i===28?s.fg&=-1073741825:i===29?s.fg&=2147483647:i===39?(s.fg&=-67108864,s.fg|=ut.fg&16777215):i===49?(s.bg&=-67108864,s.bg|=ut.bg&16777215):i===38||i===48||i===58?r+=this._extractColor(e,r,s):i===53?s.bg|=1073741824:i===55?s.bg&=-1073741825:i===59?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):i===100?(s.fg&=-67108864,s.fg|=ut.fg&16777215,s.bg&=-67108864,s.bg|=ut.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${J.ESC}[0n`);break;case 6:let t=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[${t};${i}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let t=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${J.ESC}[?${t};${i}R`);break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=ut.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let i=t%2===1;this._coreService.decPrivateModes.cursorBlink=i}return!0}setScrollRegion(e){let t=e.params[0]||1,i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||i===0)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!$l(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${J.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Ul&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Ul&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],i=e.split(";");for(;i.length>1;){let s=i.shift(),r=i.shift();if(/^\d+$/.exec(s)){let n=parseInt(s);if(Jl(n))if(r==="?")t.push({type:0,index:n});else{let a=ql(r);a&&t.push({type:1,index:n,color:a})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(";");if(t===-1)return!0;let i=e.slice(0,t).trim(),s=e.slice(t+1);return s?this._createHyperlink(i,s):i.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let i=e.split(":"),s,r=i.findIndex(n=>n.startsWith("id="));return r!==-1&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let i=e.split(";");for(let s=0;s=this._specialColors.length);++s,++t)if(i[s]==="?")this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let r=ql(i[s]);r&&this._onColor.fire([{type:1,index:this._specialColors[t],color:r}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],i=e.split(";");for(let s=0;s=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=ut.clone(),this._eraseAttrDataInternal=ut.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new wi;e.content=1<<22|69,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t(this._coreService.triggerDataEvent(`${J.ESC}${a}${J.ESC}\\`),!0),s=this._bufferService.buffer,r=this._optionsService.rawOptions;return i(e==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e==='"p'?'P1$r61;1"p':e==="r"?`P1$r${s.scrollTop+1};${s.scrollBottom+1}r`:e==="m"?"P1$r0m":e===" q"?`P1$r${{block:2,underline:4,bar:6}[r.cursorStyle]-(r.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},_a=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){ethis.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(Kl=e,e=t,t=Kl),ethis.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};_a=ot([de(0,Jt)],_a);function Jl(e){return 0<=e&&e<256}var Xv=5e7,jl=12,Zv=50,eg=class extends Re{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new ae),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let i;for(;i=this._writeBuffer.shift();){this._action(i);let s=this._callbacks.shift();s&&s()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>Xv)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let i=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let s=this._writeBuffer[this._bufferOffset],r=this._action(s,t);if(r){let a=o=>performance.now()-i>=jl?setTimeout(()=>this._innerWrite(0,o)):this._innerWrite(i,o);r.catch(o=>(queueMicrotask(()=>{throw o}),Promise.resolve(!1))).then(a);return}let n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=s.length,performance.now()-i>=jl)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>Zv&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},fa=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let o=t.addMarker(t.ybase+t.y),h={data:e,id:this._nextId++,lines:[o]};return o.onDispose(()=>this._removeMarkerFromLink(h,o)),this._dataByLinkId.set(h.id,h),h.id}let i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;let n=t.addMarker(t.ybase+t.y),a={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(a,n)),this._entriesWithId.set(a.key,a),this._dataByLinkId.set(a.id,a),a.id}addLineToLink(e,t){let i=this._dataByLinkId.get(e);if(i&&i.lines.every(s=>s.line!==t)){let s=this._bufferService.buffer.addMarker(t);i.lines.push(s),s.onDispose(()=>this._removeMarkerFromLink(i,s))}}getLinkData(e){var t;return(t=this._dataByLinkId.get(e))==null?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let i=e.lines.indexOf(t);i!==-1&&(e.lines.splice(i,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};fa=ot([de(0,Jt)],fa);var Yl=!1,tg=class extends Re{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new ar),this._onBinary=this._register(new ae),this.onBinary=this._onBinary.event,this._onData=this._register(new ae),this.onData=this._onData.event,this._onLineFeed=this._register(new ae),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new ae),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new ae),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new ae),this._instantiationService=new xv,this.optionsService=this._register(new Pv(e)),this._instantiationService.setService(jt,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(ha)),this._instantiationService.setService(Jt,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(la)),this._instantiationService.setService(lc,this._logService),this.coreService=this._register(this._instantiationService.createInstance(ca)),this._instantiationService.setService(Us,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(da)),this._instantiationService.setService(ac,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(xs)),this._instantiationService.setService(b_,this.unicodeService),this._charsetService=this._instantiationService.createInstance(Hv),this._instantiationService.setService(A_,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(fa),this._instantiationService.setService(hc,this._oscLinkService),this._inputHandler=this._register(new Vv(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(Rt.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(Rt.forward(this._bufferService.onResize,this._onResize)),this._register(Rt.forward(this.coreService.onData,this._onData)),this._register(Rt.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new eg((t,i)=>this._inputHandler.parse(t,i))),this._register(Rt.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new ae),this._onScroll.event(e=>{var t;(t=this._onScrollApi)==null||t.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!Yl&&(this._logService.warn("writeSync is unreliable and will be removed soon."),Yl=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,Wc),t=Math.max(t,zc),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend==="conpty"&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(Wl.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>(Wl(this._bufferService),!1))),this._windowsWrappingHeuristics.value=et(()=>{for(let t of e)t.dispose()})}}},ig={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function sg(e,t,i,s){var a;let r={type:0,cancel:!1,key:void 0},n=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key==="UIKeyInputUpArrow"?t?r.key=J.ESC+"OA":r.key=J.ESC+"[A":e.key==="UIKeyInputLeftArrow"?t?r.key=J.ESC+"OD":r.key=J.ESC+"[D":e.key==="UIKeyInputRightArrow"?t?r.key=J.ESC+"OC":r.key=J.ESC+"[C":e.key==="UIKeyInputDownArrow"&&(t?r.key=J.ESC+"OB":r.key=J.ESC+"[B");break;case 8:r.key=e.ctrlKey?"\b":J.DEL,e.altKey&&(r.key=J.ESC+r.key);break;case 9:if(e.shiftKey){r.key=J.ESC+"[Z";break}r.key=J.HT,r.cancel=!0;break;case 13:r.key=e.altKey?J.ESC+J.CR:J.CR,r.cancel=!0;break;case 27:r.key=J.ESC,e.altKey&&(r.key=J.ESC+J.ESC),r.cancel=!0;break;case 37:if(e.metaKey)break;n?r.key=J.ESC+"[1;"+(n+1)+"D":t?r.key=J.ESC+"OD":r.key=J.ESC+"[D";break;case 39:if(e.metaKey)break;n?r.key=J.ESC+"[1;"+(n+1)+"C":t?r.key=J.ESC+"OC":r.key=J.ESC+"[C";break;case 38:if(e.metaKey)break;n?r.key=J.ESC+"[1;"+(n+1)+"A":t?r.key=J.ESC+"OA":r.key=J.ESC+"[A";break;case 40:if(e.metaKey)break;n?r.key=J.ESC+"[1;"+(n+1)+"B":t?r.key=J.ESC+"OB":r.key=J.ESC+"[B";break;case 45:!e.shiftKey&&!e.ctrlKey&&(r.key=J.ESC+"[2~");break;case 46:n?r.key=J.ESC+"[3;"+(n+1)+"~":r.key=J.ESC+"[3~";break;case 36:n?r.key=J.ESC+"[1;"+(n+1)+"H":t?r.key=J.ESC+"OH":r.key=J.ESC+"[H";break;case 35:n?r.key=J.ESC+"[1;"+(n+1)+"F":t?r.key=J.ESC+"OF":r.key=J.ESC+"[F";break;case 33:e.shiftKey?r.type=2:e.ctrlKey?r.key=J.ESC+"[5;"+(n+1)+"~":r.key=J.ESC+"[5~";break;case 34:e.shiftKey?r.type=3:e.ctrlKey?r.key=J.ESC+"[6;"+(n+1)+"~":r.key=J.ESC+"[6~";break;case 112:n?r.key=J.ESC+"[1;"+(n+1)+"P":r.key=J.ESC+"OP";break;case 113:n?r.key=J.ESC+"[1;"+(n+1)+"Q":r.key=J.ESC+"OQ";break;case 114:n?r.key=J.ESC+"[1;"+(n+1)+"R":r.key=J.ESC+"OR";break;case 115:n?r.key=J.ESC+"[1;"+(n+1)+"S":r.key=J.ESC+"OS";break;case 116:n?r.key=J.ESC+"[15;"+(n+1)+"~":r.key=J.ESC+"[15~";break;case 117:n?r.key=J.ESC+"[17;"+(n+1)+"~":r.key=J.ESC+"[17~";break;case 118:n?r.key=J.ESC+"[18;"+(n+1)+"~":r.key=J.ESC+"[18~";break;case 119:n?r.key=J.ESC+"[19;"+(n+1)+"~":r.key=J.ESC+"[19~";break;case 120:n?r.key=J.ESC+"[20;"+(n+1)+"~":r.key=J.ESC+"[20~";break;case 121:n?r.key=J.ESC+"[21;"+(n+1)+"~":r.key=J.ESC+"[21~";break;case 122:n?r.key=J.ESC+"[23;"+(n+1)+"~":r.key=J.ESC+"[23~";break;case 123:n?r.key=J.ESC+"[24;"+(n+1)+"~":r.key=J.ESC+"[24~";break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?r.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?r.key=J.NUL:e.keyCode>=51&&e.keyCode<=55?r.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?r.key=J.DEL:e.keyCode===219?r.key=J.ESC:e.keyCode===220?r.key=J.FS:e.keyCode===221&&(r.key=J.GS);else if((!i||s)&&e.altKey&&!e.metaKey){let o=(a=ig[e.keyCode])==null?void 0:a[e.shiftKey?1:0];if(o)r.key=J.ESC+o;else if(e.keyCode>=65&&e.keyCode<=90){let h=e.ctrlKey?e.keyCode-64:e.keyCode+32,l=String.fromCharCode(h);e.shiftKey&&(l=l.toUpperCase()),r.key=J.ESC+l}else if(e.keyCode===32)r.key=J.ESC+(e.ctrlKey?J.NUL:" ");else if(e.key==="Dead"&&e.code.startsWith("Key")){let h=e.code.slice(3,4);e.shiftKey||(h=h.toLowerCase()),r.key=J.ESC+h,r.cancel=!0}}else i&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(r.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?r.key=e.key:e.key&&e.ctrlKey&&(e.key==="_"&&(r.key=J.US),e.key==="@"&&(r.key=J.NUL));break}return r}var ct=0,rg=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Dn,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Dn,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((r,n)=>this._getKey(r)-this._getKey(n)),t=0,i=0,s=new Array(this._array.length+this._insertedValues.length);for(let r=0;r=this._array.length||this._getKey(e[t])<=this._getKey(this._array[i])?(s[r]=e[t],t++):s[r]=this._array[i++];this._array=s,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(ct=this._search(t),ct===-1)||this._getKey(this._array[ct])!==t)return!1;do if(this._array[ct]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ct),!0;while(++ctr-n),t=0,i=new Array(this._array.length-e.length),s=0;for(let r=0;r0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ct=this._search(e),!(ct<0||ct>=this._array.length)&&this._getKey(this._array[ct])===e))do yield this._array[ct];while(++ct=this._array.length)&&this._getKey(this._array[ct])===e))do t(this._array[ct]);while(++ct=t;){let s=t+i>>1,r=this._getKey(this._array[s]);if(r>e)i=s-1;else if(r0&&this._getKey(this._array[s-1])===e;)s--;return s}}return t}},_o=0,Vl=0,ng=class extends Re{constructor(){super(),this._decorations=new rg(e=>e==null?void 0:e.marker.line),this._onDecorationRegistered=this._register(new ae),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new ae),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(et(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new og(e);if(t){let i=t.marker.onDispose(()=>t.dispose()),s=t.onDispose(()=>{s.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),i.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){let s=0,r=0;for(let n of this._decorations.getKeyIterator(t))s=n.options.x??0,r=s+(n.options.width??1),e>=s&&e{_o=r.options.x??0,Vl=_o+(r.options.width??1),e>=_o&&e=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){let r=s-this._lastRefreshMs,n=this._debounceThresholdMS-r;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},n)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},Xl=20,Mn=class extends Re{constructor(e,t,i,s){super(),this._terminal=e,this._coreBrowserService=i,this._renderService=s,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let r=this._coreBrowserService.mainDocument;this._accessibilityContainer=r.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=r.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let n=0;nthis._handleBoundaryFocus(n,0),this._bottomBoundaryFocusListener=n=>this._handleBoundaryFocus(n,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=r.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new lg(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(n=>this._handleResize(n.rows))),this._register(this._terminal.onRender(n=>this._refreshRows(n.start,n.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(n=>this._handleChar(n))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` +`))),this._register(this._terminal.onA11yTab(n=>this._handleTab(n))),this._register(this._terminal.onKey(n=>this._handleKey(n.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(Ee(r,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(et(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===` +`&&(this._liveRegionLineCount++,this._liveRegionLineCount===Xl+1&&(this._liveRegion.textContent+=To.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){let n=i.lines.get(i.ydisp+r),a=[],o=(n==null?void 0:n.translateToString(!0,void 0,void 0,a))||"",h=(i.ydisp+r+1).toString(),l=this._rowElements[r];l&&(o.length===0?(l.textContent=" ",this._rowColumns.set(l,[0,1])):(l.textContent=o,this._rowColumns.set(l,a)),l.setAttribute("aria-posinset",h),l.setAttribute("aria-setsize",s),this._alignRowWidth(l))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,t){let i=e.target,s=this._rowElements[t===0?1:this._rowElements.length-2],r=i.getAttribute("aria-posinset"),n=t===0?"1":`${this._terminal.buffer.lines.length}`;if(r===n||e.relatedTarget!==s)return;let a,o;if(t===0?(a=i,o=this._rowElements.pop(),this._rowContainer.removeChild(o)):(a=this._rowElements.shift(),o=i,this._rowContainer.removeChild(a)),a.removeEventListener("focus",this._topBoundaryFocusListener),o.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){let h=this._createAccessibilityTreeNode();this._rowElements.unshift(h),this._rowContainer.insertAdjacentElement("afterbegin",h)}else{let h=this._createAccessibilityTreeNode();this._rowElements.push(h),this._rowContainer.appendChild(h)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){var o;if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error("anchorNode and/or focusNode are null");return}let t={node:e.anchorNode,offset:e.anchorOffset},i={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===i.node&&t.offset>i.offset)&&([t,i]=[i,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let s=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(s)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:s,offset:((o=s.textContent)==null?void 0:o.length)??0}),!this._rowContainer.contains(i.node))return;let r=({node:h,offset:l})=>{let d=h instanceof Text?h.parentNode:h,u=parseInt(d==null?void 0:d.getAttribute("aria-posinset"),10)-1;if(isNaN(u))return console.warn("row is invalid. Race condition?"),null;let v=this._rowColumns.get(d);if(!v)return console.warn("columns is null. Race condition?"),null;let _=l=this._terminal.cols&&(++u,_=0),{row:u,column:_}},n=r(t),a=r(i);if(!(!n||!a)){if(n.row>a.row||n.row===a.row&&n.column>=a.column)throw new Error("invalid range");this._terminal.select(n.column,n.row,(a.row-n.row)*this._terminal.cols-n.column+a.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;te;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e{var n;Hs(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,(n=this._activeProviderReplies)==null||n.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(Ee(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(Ee(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(Ee(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(Ee(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let i=e.composedPath();for(let s=0;s{n==null||n.forEach(a=>{a.link.dispose&&a.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let i=!1;for(let[n,a]of this._linkProviderService.linkProviders.entries())t?(r=this._activeProviderReplies)!=null&&r.get(n)&&(i=this._checkLinkProviderResult(n,e,i)):a.provideLinks(e.y,o=>{var l,d;if(this._isMouseOut)return;let h=o==null?void 0:o.map(u=>({link:u}));(l=this._activeProviderReplies)==null||l.set(n,h),i=this._checkLinkProviderResult(n,e,i),((d=this._activeProviderReplies)==null?void 0:d.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let i=new Set;for(let s=0;se?this._bufferService.cols:a.link.range.end.x;for(let l=o;l<=h;l++){if(i.has(l)){r.splice(n--,1);break}i.add(l)}}}}_checkLinkProviderResult(e,t,i){var n;if(!this._activeProviderReplies)return i;let s=this._activeProviderReplies.get(e),r=!1;for(let a=0;athis._linkAtPosition(o.link,t));a&&(i=!0,this._handleNewLink(a))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let a=0;athis._linkAtPosition(h.link,t));if(o){i=!0,this._handleNewLink(o);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&hg(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Hs(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var i,s;return(s=(i=this._currentLink)==null?void 0:i.state)==null?void 0:s.decorations.pointerCursor},set:i=>{var s;(s=this._currentLink)!=null&&s.state&&this._currentLink.state.decorations.pointerCursor!==i&&(this._currentLink.state.decorations.pointerCursor=i,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",i))}},underline:{get:()=>{var i,s;return(s=(i=this._currentLink)==null?void 0:i.state)==null?void 0:s.decorations.underline},set:i=>{var s,r,n;(s=this._currentLink)!=null&&s.state&&((n=(r=this._currentLink)==null?void 0:r.state)==null?void 0:n.decorations.underline)!==i&&(this._currentLink.state.decorations.underline=i,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,i))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(i=>{if(!this._currentLink)return;let s=i.start===0?0:i.start+1+this._bufferService.buffer.ydisp,r=this._bufferService.buffer.ydisp+1+i.end;if(this._currentLink.link.range.start.y>=s&&this._currentLink.link.range.end.y<=r&&(this._clearCurrentLink(s,r),this._lastMouseEvent)){let n=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);n&&this._askForLink(n,!1)}})))}_linkHover(e,t,i){var s;(s=this._currentLink)!=null&&s.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){let i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){var s;(s=this._currentLink)!=null&&s.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){let i=e.range.start.y*this._bufferService.cols+e.range.start.x,s=e.range.end.y*this._bufferService.cols+e.range.end.x,r=t.y*this._bufferService.cols+t.x;return i<=r&&r<=s}_positionFromMouseEvent(e,t,i){let s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};va=ot([de(1,La),de(2,is),de(3,Jt),de(4,dc)],va);function hg(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var cg=class extends tg{constructor(e={}){super(e),this._linkifier=this._register(new ar),this.browser=Dc,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new ar),this._onCursorMove=this._register(new ae),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new ae),this.onKey=this._onKey.event,this._onRender=this._register(new ae),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new ae),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new ae),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new ae),this.onBell=this._onBell.event,this._onFocus=this._register(new ae),this._onBlur=this._register(new ae),this._onA11yCharEmitter=this._register(new ae),this._onA11yTabEmitter=this._register(new ae),this._onWillOpen=this._register(new ae),this._setup(),this._decorationService=this._instantiationService.createInstance(ng),this._instantiationService.setService(jr,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Zf),this._instantiationService.setService(dc,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Oo)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(t=>this.refresh((t==null?void 0:t.start)??0,(t==null?void 0:t.end)??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(t=>this._reportWindowsOptions(t))),this._register(this._inputHandler.onColor(t=>this._handleColorEvent(t))),this._register(Rt.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(Rt.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(Rt.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(Rt.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(t=>this._afterResize(t.cols,t.rows))),this._register(et(()=>{var t,i;this._customKeyEventHandler=void 0,(i=(t=this.element)==null?void 0:t.parentNode)==null||i.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let i,s="";switch(t.index){case 256:i="foreground",s="10";break;case 257:i="background",s="11";break;case 258:i="cursor",s="12";break;default:i="ansi",s="4;"+t.index}switch(t.type){case 0:let r=Ye.toColorRGB(i==="ansi"?this._themeService.colors.ansi[t.index]:this._themeService.colors[i]);this.coreService.triggerDataEvent(`${J.ESC}]${s};${jv(r)}${Bc.ST}`);break;case 1:if(i==="ansi")this._themeService.modifyColors(n=>n.ansi[t.index]=ft.toColor(...t.color));else{let n=i;this._themeService.modifyColors(a=>a[n]=ft.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(Mn,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var e;return(e=this.textarea)==null?void 0:e.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(J.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.css.cell.height,r=t.getWidth(i),n=this._renderService.dimensions.css.cell.width*r,a=this.buffer.y*this._renderService.dimensions.css.cell.height,o=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=o+"px",this.textarea.style.top=a+"px",this.textarea.style.width=n+"px",this.textarea.style.height=s+"px",this.textarea.style.lineHeight=s+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(Ee(this.element,"copy",t=>{this.hasSelection()&&__(t,this._selectionService)}));let e=t=>f_(t,this.textarea,this.coreService,this.optionsService);this._register(Ee(this.textarea,"paste",e)),this._register(Ee(this.element,"paste",e)),Mc?this._register(Ee(this.element,"mousedown",t=>{t.button===2&&ll(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(Ee(this.element,"contextmenu",t=>{ll(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Ha&&this._register(Ee(this.element,"auxclick",t=>{t.button===1&&ic(t,this.textarea,this.screenElement)}))}_bindKeys(){this._register(Ee(this.textarea,"keyup",e=>this._keyUp(e),!0)),this._register(Ee(this.textarea,"keydown",e=>this._keyDown(e),!0)),this._register(Ee(this.textarea,"keypress",e=>this._keyPress(e),!0)),this._register(Ee(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(Ee(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this._register(Ee(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(Ee(this.textarea,"input",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){var r;if(!e)throw new Error("Terminal requires a parent element.");if(e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((r=this.element)==null?void 0:r.ownerDocument.defaultView)&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(Ee(this.screenElement,"mousemove",n=>this.updateCursorStyle(n))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let i=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",Ro.get()),Tc||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>i.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(Vf,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(ts,this._coreBrowserService),this._register(Ee(this.textarea,"focus",n=>this._handleTextAreaFocus(n))),this._register(Ee(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(sa,this._document,this._helperContainer),this._instantiationService.setService(zn,this._charSizeService),this._themeService=this._instantiationService.createInstance(aa),this._instantiationService.setService(cr,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(Bn),this._instantiationService.setService(cc,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(na,this.rows,this.screenElement)),this._instantiationService.setService(is,this._renderService),this._register(this._renderService.onRenderedViewportChange(n=>this._onRender.fire(n))),this.onResize(n=>this._renderService.resize(n.cols,n.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(ea,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(ra),this._instantiationService.setService(La,this._mouseService);let s=this._linkifier.value=this._register(this._instantiationService.createInstance(va,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Xo,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(n=>{super.scrollLines(n,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(oa,this.element,this.screenElement,s)),this._instantiationService.setService(C_,this._selectionService),this._register(this._selectionService.onRequestScrollLines(n=>this.scrollLines(n.amount,n.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(n=>this._renderService.handleSelectionChanged(n.start,n.end,n.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(n=>{this.textarea.value=n,this.textarea.focus(),this.textarea.select()})),this._register(Rt.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{var n;this._selectionService.refresh(),(n=this._viewport)==null||n.queueSync()})),this._register(this._instantiationService.createInstance(Zo,this.screenElement)),this._register(Ee(this.element,"mousedown",n=>this._selectionService.handleMouseDown(n))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(Mn,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",n=>this._handleScreenReaderModeOptionChange(n))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(En,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",n=>{!this._overviewRulerRenderer&&n&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(En,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(ia,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function i(n){var l,d,u,v,_;let a=e._mouseService.getMouseReportCoords(n,e.screenElement);if(!a)return!1;let o,h;switch(n.overrideType||n.type){case"mousemove":h=32,n.buttons===void 0?(o=3,n.button!==void 0&&(o=n.button<3?n.button:3)):o=n.buttons&1?0:n.buttons&4?1:n.buttons&2?2:3;break;case"mouseup":h=0,o=n.button<3?n.button:3;break;case"mousedown":h=1,o=n.button<3?n.button:3;break;case"wheel":if(e._customWheelEventHandler&&e._customWheelEventHandler(n)===!1)return!1;let p=n.deltaY;if(p===0||e.coreMouseService.consumeWheelEvent(n,(v=(u=(d=(l=e._renderService)==null?void 0:l.dimensions)==null?void 0:d.device)==null?void 0:u.cell)==null?void 0:v.height,(_=e._coreBrowserService)==null?void 0:_.dpr)===0)return!1;h=p<0?0:1,o=4;break;default:return!1}return h===void 0||o===void 0||o>4?!1:e.coreMouseService.triggerMouseEvent({col:a.col,row:a.row,x:a.x,y:a.y,button:o,action:h,ctrl:n.ctrlKey,alt:n.altKey,shift:n.shiftKey})}let s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},r={mouseup:n=>(i(n),n.buttons||(this._document.removeEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.removeEventListener("mousemove",s.mousedrag)),this.cancel(n)),wheel:n=>(i(n),this.cancel(n,!0)),mousedrag:n=>{n.buttons&&i(n)},mousemove:n=>{n.buttons||i(n)}};this._register(this.coreMouseService.onProtocolChange(n=>{n?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(n)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),n&8?s.mousemove||(t.addEventListener("mousemove",r.mousemove),s.mousemove=r.mousemove):(t.removeEventListener("mousemove",s.mousemove),s.mousemove=null),n&16?s.wheel||(t.addEventListener("wheel",r.wheel,{passive:!1}),s.wheel=r.wheel):(t.removeEventListener("wheel",s.wheel),s.wheel=null),n&2?s.mouseup||(s.mouseup=r.mouseup):(this._document.removeEventListener("mouseup",s.mouseup),s.mouseup=null),n&4?s.mousedrag||(s.mousedrag=r.mousedrag):(this._document.removeEventListener("mousemove",s.mousedrag),s.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(Ee(t,"mousedown",n=>{if(n.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(n)))return i(n),s.mouseup&&this._document.addEventListener("mouseup",s.mouseup),s.mousedrag&&this._document.addEventListener("mousemove",s.mousedrag),this.cancel(n)})),this._register(Ee(t,"wheel",n=>{var a,o,h,l,d;if(!s.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(n)===!1)return!1;if(!this.buffer.hasScrollback){if(n.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(n,(l=(h=(o=(a=e._renderService)==null?void 0:a.dimensions)==null?void 0:o.device)==null?void 0:h.cell)==null?void 0:l.height,(d=e._coreBrowserService)==null?void 0:d.dpr)===0)return this.cancel(n,!0);let u=J.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(n.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(u,!0),this.cancel(n,!0)}}},{passive:!1}))}refresh(e,t){var i;(i=this._renderService)==null||i.refreshRows(e,t)}updateCursorStyle(e){var t;(t=this._selectionService)!=null&&t.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){tc(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,i){this._selectionService.setSelection(e,t,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;(e=this._selectionService)==null||e.clearSelection()}selectAll(){var e;(e=this._selectionService)==null||e.selectAll()}selectLines(e,t){var i;(i=this._selectionService)==null||i.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key==="Dead"||e.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let i=sg(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),i.type===3||i.type===2){let s=this.rows-1;return this.scrollLines(i.type===2?-s:s),this.cancel(e,!0)}if(i.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((i.key===J.ETX||i.key===J.CR)&&(this.textarea.value=""),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState("AltGraph");return t.type==="keypress"?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(dg(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType==="insertText"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){var i;(i=this._charSizeService)==null||i.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new wi)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}},Zl=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new _g(t)}getNullCell(){return new wi}},fg=class extends Re{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new ae),this.onBufferChange=this._onBufferChange.event,this._normal=new Zl(this._core.buffers.normal,"normal"),this._alternate=new Zl(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},vg=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,i=>t(i.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(i,s)=>t(i,s.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},gg=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},pg=["cols","rows"],Li=0,mg=class extends Re{constructor(e){super(),this._core=this._register(new cg(e)),this._addonManager=this._register(new ug),this._publicOptions={...this._core.options};let t=s=>this._core.options[s],i=(s,r)=>{this._checkReadonlyOptions(s),this._core.options[s]=r};for(let s in this._core.options){let r={get:t.bind(this,s),set:i.bind(this,s)};Object.defineProperty(this._publicOptions,s,r)}}_checkReadonlyOptions(e){if(pg.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new vg(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new gg(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new fg(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any";break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r +`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return Ro.get()},set promptLabel(e){Ro.set(e)},get tooMuchOutput(){return To.get()},set tooMuchOutput(e){To.set(e)}}}_verifyIntegers(...e){for(Li of e)if(Li===1/0||isNaN(Li)||Li%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(Li of e)if(Li&&(Li===1/0||isNaN(Li)||Li%1!==0||Li<0))throw new Error("This API only accepts positive integers")}},fo={exports:{}},eh;function Ag(){return eh||(eh=1,(function(e,t){(function(i,s){e.exports=s()})(self,(()=>(()=>{var i={903:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BaseRenderLayer=void 0;const l=h(274),d=h(627),u=h(237),v=h(860),_=h(374),p=h(296),f=h(345),g=h(859),A=h(399),E=h(855);class y extends g.Disposable{get canvas(){return this._canvas}get cacheCanvas(){var m;return(m=this._charAtlas)==null?void 0:m.pages[0].canvas}constructor(m,b,x,C,M,I,B,D,T,R){super(),this._terminal=m,this._container=b,this._alpha=M,this._themeService=I,this._bufferService=B,this._optionsService=D,this._decorationService=T,this._coreBrowserService=R,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._selectionModel=(0,p.createSelectionRenderModel)(),this._bitmapGenerator=[],this._charAtlasDisposable=this.register(new g.MutableDisposable),this._onAddTextureAtlasCanvas=this.register(new f.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._cellColorResolver=new l.CellColorResolver(this._terminal,this._optionsService,this._selectionModel,this._decorationService,this._coreBrowserService,this._themeService),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${x}-layer`),this._canvas.style.zIndex=C.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this._refreshCharAtlas(this._themeService.colors),this.register(this._themeService.onChangeColors((Q=>{this._refreshCharAtlas(Q),this.reset(),this.handleSelectionChanged(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}))),this.register((0,g.toDisposable)((()=>{this._canvas.remove()})))}_initCanvas(){this._ctx=(0,_.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(){}handleFocus(){}handleCursorMove(){}handleGridChanged(m,b){}handleSelectionChanged(m,b,x=!1){this._selectionModel.update(this._terminal._core,m,b,x)}_setTransparency(m){if(m===this._alpha)return;const b=this._canvas;this._alpha=m,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,b),this._refreshCharAtlas(this._themeService.colors),this.handleGridChanged(0,this._bufferService.rows-1)}_refreshCharAtlas(m){if(!(this._deviceCharWidth<=0&&this._deviceCharHeight<=0)){this._charAtlas=(0,d.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,m,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlasDisposable.value=(0,f.forwardEvent)(this._charAtlas.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),this._charAtlas.warmUp();for(let b=0;b1?this._charAtlas.getRasterizedGlyphCombinedChar(C,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0):this._charAtlas.getRasterizedGlyph(m.getCode()||E.WHITESPACE_CELL_CODE,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,!0),!B.size.x||!B.size.y)return;this._ctx.save(),this._clipRow(x),this._bitmapGenerator[B.texturePage]&&this._charAtlas.pages[B.texturePage].canvas!==this._bitmapGenerator[B.texturePage].canvas&&((R=(T=this._bitmapGenerator[B.texturePage])==null?void 0:T.bitmap)==null||R.close(),delete this._bitmapGenerator[B.texturePage]),this._charAtlas.pages[B.texturePage].version!==((Q=this._bitmapGenerator[B.texturePage])==null?void 0:Q.version)&&(this._bitmapGenerator[B.texturePage]||(this._bitmapGenerator[B.texturePage]=new w(this._charAtlas.pages[B.texturePage].canvas)),this._bitmapGenerator[B.texturePage].refresh(),this._bitmapGenerator[B.texturePage].version=this._charAtlas.pages[B.texturePage].version);let D=B.size.x;this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,_.allowRescaling)(M,I,B.size.x,this._deviceCellWidth)&&(D=this._deviceCellWidth-1),this._ctx.drawImage(((O=this._bitmapGenerator[B.texturePage])==null?void 0:O.bitmap)||this._charAtlas.pages[B.texturePage].canvas,B.texturePosition.x,B.texturePosition.y,B.size.x,B.size.y,b*this._deviceCellWidth+this._deviceCharLeft-B.offset.x,x*this._deviceCellHeight+this._deviceCharTop-B.offset.y,D,B.size.y),this._ctx.restore()}_clipRow(m){this._ctx.beginPath(),this._ctx.rect(0,m*this._deviceCellHeight,this._bufferService.cols*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(m,b){return`${b?"italic":""} ${m?this._optionsService.rawOptions.fontWeightBold:this._optionsService.rawOptions.fontWeight} ${this._optionsService.rawOptions.fontSize*this._coreBrowserService.dpr}px ${this._optionsService.rawOptions.fontFamily}`}}o.BaseRenderLayer=y;class w{get bitmap(){return this._bitmap}constructor(m){this.canvas=m,this._state=0,this._commitTimeout=void 0,this._bitmap=void 0,this.version=-1}refresh(){var m;(m=this._bitmap)==null||m.close(),this._bitmap=void 0,A.isSafari||(this._commitTimeout===void 0&&(this._commitTimeout=window.setTimeout((()=>this._generate()),100)),this._state===1&&(this._state=2))}_generate(){var m;this._state===0&&((m=this._bitmap)==null||m.close(),this._bitmap=void 0,this._state=1,window.createImageBitmap(this.canvas).then((b=>{this._state===2?this.refresh():this._bitmap=b,this._state=0})),this._commitTimeout&&(this._commitTimeout=void 0))}}},949:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CanvasRenderer=void 0;const l=h(627),d=h(56),u=h(374),v=h(345),_=h(859),p=h(873),f=h(43),g=h(630),A=h(744);class E extends _.Disposable{constructor(w,S,m,b,x,C,M,I,B,D,T){super(),this._terminal=w,this._screenElement=S,this._bufferService=b,this._charSizeService=x,this._optionsService=C,this._coreBrowserService=B,this._themeService=T,this._observerDisposable=this.register(new _.MutableDisposable),this._onRequestRedraw=this.register(new v.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onChangeTextureAtlas=this.register(new v.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new v.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event;const R=this._optionsService.rawOptions.allowTransparency;this._renderLayers=[new A.TextRenderLayer(this._terminal,this._screenElement,0,R,this._bufferService,this._optionsService,M,D,this._coreBrowserService,T),new g.SelectionRenderLayer(this._terminal,this._screenElement,1,this._bufferService,this._coreBrowserService,D,this._optionsService,T),new f.LinkRenderLayer(this._terminal,this._screenElement,2,m,this._bufferService,this._optionsService,D,this._coreBrowserService,T),new p.CursorRenderLayer(this._terminal,this._screenElement,3,this._onRequestRedraw,this._bufferService,this._optionsService,I,this._coreBrowserService,D,T)];for(const Q of this._renderLayers)(0,v.forwardEvent)(Q.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas);this.dimensions=(0,u.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._observerDisposable.value=(0,d.observeDevicePixelDimensions)(this._renderLayers[0].canvas,this._coreBrowserService.window,((Q,O)=>this._setCanvasDevicePixelDimensions(Q,O))),this.register(this._coreBrowserService.onWindowChange((Q=>{this._observerDisposable.value=(0,d.observeDevicePixelDimensions)(this._renderLayers[0].canvas,Q,((O,P)=>this._setCanvasDevicePixelDimensions(O,P)))}))),this.register((0,_.toDisposable)((()=>{for(const Q of this._renderLayers)Q.dispose();(0,l.removeTerminalFromCache)(this._terminal)})))}get textureAtlas(){return this._renderLayers[0].cacheCanvas}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._bufferService.cols,this._bufferService.rows))}handleResize(w,S){this._updateDimensions();for(const m of this._renderLayers)m.resize(this.dimensions);this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}handleCharSizeChanged(){this.handleResize(this._bufferService.cols,this._bufferService.rows)}handleBlur(){this._runOperation((w=>w.handleBlur()))}handleFocus(){this._runOperation((w=>w.handleFocus()))}handleSelectionChanged(w,S,m=!1){this._runOperation((b=>b.handleSelectionChanged(w,S,m))),this._themeService.colors.selectionForeground&&this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}handleCursorMove(){this._runOperation((w=>w.handleCursorMove()))}clear(){this._runOperation((w=>w.reset()))}_runOperation(w){for(const S of this._renderLayers)w(S)}renderRows(w,S){for(const m of this._renderLayers)m.handleGridChanged(w,S)}clearTextureAtlas(){for(const w of this._renderLayers)w.clearTextureAtlas()}_updateDimensions(){if(!this._charSizeService.hasValidSize)return;const w=this._coreBrowserService.dpr;this.dimensions.device.char.width=Math.floor(this._charSizeService.width*w),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*w),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._bufferService.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._bufferService.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/w),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/w),this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows,this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols}_setCanvasDevicePixelDimensions(w,S){this.dimensions.device.canvas.height=S,this.dimensions.device.canvas.width=w;for(const m of this._renderLayers)m.resize(this.dimensions);this._requestRedrawViewport()}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._bufferService.rows-1})}}o.CanvasRenderer=E},873:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CursorRenderLayer=void 0;const l=h(457),d=h(859),u=h(399),v=h(782),_=h(903);class p extends _.BaseRenderLayer{constructor(g,A,E,y,w,S,m,b,x,C){super(g,A,"cursor",E,!0,C,w,S,x,b),this._onRequestRedraw=y,this._coreService=m,this._cursorBlinkStateManager=this.register(new d.MutableDisposable),this._cell=new v.CellData,this._state={x:0,y:0,isFocused:!1,style:"",width:0},this._cursorRenderers={bar:this._renderBarCursor.bind(this),block:this._renderBlockCursor.bind(this),underline:this._renderUnderlineCursor.bind(this),outline:this._renderOutlineCursor.bind(this)},this.register(S.onOptionChange((()=>this._handleOptionsChanged()))),this._handleOptionsChanged()}resize(g){super.resize(g),this._state={x:0,y:0,isFocused:!1,style:"",width:0}}reset(){var g;this._clearCursor(),(g=this._cursorBlinkStateManager.value)==null||g.restartBlinkAnimation(),this._handleOptionsChanged()}handleBlur(){var g;(g=this._cursorBlinkStateManager.value)==null||g.pause(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleFocus(){var g;(g=this._cursorBlinkStateManager.value)==null||g.resume(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}_handleOptionsChanged(){this._optionsService.rawOptions.cursorBlink?this._cursorBlinkStateManager.value||(this._cursorBlinkStateManager.value=new l.CursorBlinkStateManager((()=>this._render(!0)),this._coreBrowserService)):this._cursorBlinkStateManager.clear(),this._onRequestRedraw.fire({start:this._bufferService.buffer.y,end:this._bufferService.buffer.y})}handleCursorMove(){var g;(g=this._cursorBlinkStateManager.value)==null||g.restartBlinkAnimation()}handleGridChanged(g,A){!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isPaused?this._render(!1):this._cursorBlinkStateManager.value.restartBlinkAnimation()}_render(g){if(!this._coreService.isCursorInitialized||this._coreService.isCursorHidden)return void this._clearCursor();const A=this._bufferService.buffer.ybase+this._bufferService.buffer.y,E=A-this._bufferService.buffer.ydisp;if(E<0||E>=this._bufferService.rows)return void this._clearCursor();const y=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1);if(this._bufferService.buffer.lines.get(A).loadCell(y,this._cell),this._cell.content!==void 0){if(!this._coreBrowserService.isFocused){this._clearCursor(),this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css;const w=this._optionsService.rawOptions.cursorStyle,S=this._optionsService.rawOptions.cursorInactiveStyle;return S&&S!=="none"&&this._cursorRenderers[S](y,E,this._cell),this._ctx.restore(),this._state.x=y,this._state.y=E,this._state.isFocused=!1,this._state.style=w,void(this._state.width=this._cell.getWidth())}if(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible){if(this._state){if(this._state.x===y&&this._state.y===E&&this._state.isFocused===this._coreBrowserService.isFocused&&this._state.style===this._optionsService.rawOptions.cursorStyle&&this._state.width===this._cell.getWidth())return;this._clearCursor()}this._ctx.save(),this._cursorRenderers[this._optionsService.rawOptions.cursorStyle||"block"](y,E,this._cell),this._ctx.restore(),this._state.x=y,this._state.y=E,this._state.isFocused=!1,this._state.style=this._optionsService.rawOptions.cursorStyle,this._state.width=this._cell.getWidth()}else this._clearCursor()}}_clearCursor(){this._state&&(u.isFirefox||this._coreBrowserService.dpr<1?this._clearAll():this._clearCells(this._state.x,this._state.y,this._state.width,1),this._state={x:0,y:0,isFocused:!1,style:"",width:0})}_renderBarCursor(g,A,E){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillLeftLineAtCell(g,A,this._optionsService.rawOptions.cursorWidth),this._ctx.restore()}_renderBlockCursor(g,A,E){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillCells(g,A,E.getWidth(),1),this._ctx.fillStyle=this._themeService.colors.cursorAccent.css,this._fillCharTrueColor(E,g,A),this._ctx.restore()}_renderUnderlineCursor(g,A,E){this._ctx.save(),this._ctx.fillStyle=this._themeService.colors.cursor.css,this._fillBottomLineAtCells(g,A),this._ctx.restore()}_renderOutlineCursor(g,A,E){this._ctx.save(),this._ctx.strokeStyle=this._themeService.colors.cursor.css,this._strokeRectAtCell(g,A,E.getWidth(),1),this._ctx.restore()}}o.CursorRenderLayer=p},574:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.GridCache=void 0,o.GridCache=class{constructor(){this.cache=[]}resize(h,l){for(let d=0;d{Object.defineProperty(o,"__esModule",{value:!0}),o.LinkRenderLayer=void 0;const l=h(197),d=h(237),u=h(903);class v extends u.BaseRenderLayer{constructor(p,f,g,A,E,y,w,S,m){super(p,f,"link",g,!0,m,E,y,w,S),this.register(A.onShowLinkUnderline((b=>this._handleShowLinkUnderline(b)))),this.register(A.onHideLinkUnderline((b=>this._handleHideLinkUnderline(b))))}resize(p){super.resize(p),this._state=void 0}reset(){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const p=this._state.y2-this._state.y1-1;p>0&&this._clearCells(0,this._state.y1+1,this._state.cols,p),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(p){if(p.fg===d.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:p.fg&&(0,l.is256Color)(p.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[p.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,p.y1===p.y2)this._fillBottomLineAtCells(p.x1,p.y1,p.x2-p.x1);else{this._fillBottomLineAtCells(p.x1,p.y1,p.cols-p.x1);for(let f=p.y1+1;f{Object.defineProperty(o,"__esModule",{value:!0}),o.SelectionRenderLayer=void 0;const l=h(903);class d extends l.BaseRenderLayer{constructor(v,_,p,f,g,A,E,y){super(v,_,"selection",p,!0,y,f,E,A,g),this._clearState()}_clearState(){this._state={start:void 0,end:void 0,columnSelectMode:void 0,ydisp:void 0}}resize(v){super.resize(v),this._selectionModel.selectionStart&&this._selectionModel.selectionEnd&&(this._clearState(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode))}reset(){this._state.start&&this._state.end&&(this._clearState(),this._clearAll())}handleBlur(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleFocus(){this.reset(),this._redrawSelection(this._selectionModel.selectionStart,this._selectionModel.selectionEnd,this._selectionModel.columnSelectMode)}handleSelectionChanged(v,_,p){super.handleSelectionChanged(v,_,p),this._redrawSelection(v,_,p)}_redrawSelection(v,_,p){if(!this._didStateChange(v,_,p,this._bufferService.buffer.ydisp))return;if(this._clearAll(),!v||!_)return void this._clearState();const f=v[1]-this._bufferService.buffer.ydisp,g=_[1]-this._bufferService.buffer.ydisp,A=Math.max(f,0),E=Math.min(g,this._bufferService.rows-1);if(A>=this._bufferService.rows||E<0)this._state.ydisp=this._bufferService.buffer.ydisp;else{if(this._ctx.fillStyle=(this._coreBrowserService.isFocused?this._themeService.colors.selectionBackgroundTransparent:this._themeService.colors.selectionInactiveBackgroundTransparent).css,p){const y=v[0],w=_[0]-y,S=E-A+1;this._fillCells(y,A,w,S)}else{const y=f===A?v[0]:0,w=A===g?_[0]:this._bufferService.cols;this._fillCells(y,A,w-y,1);const S=Math.max(E-A-1,0);if(this._fillCells(0,A+1,this._bufferService.cols,S),A!==E){const m=g===E?_[0]:this._bufferService.cols;this._fillCells(0,E,m,1)}}this._state.start=[v[0],v[1]],this._state.end=[_[0],_[1]],this._state.columnSelectMode=p,this._state.ydisp=this._bufferService.buffer.ydisp}}_didStateChange(v,_,p,f){return!this._areCoordinatesEqual(v,this._state.start)||!this._areCoordinatesEqual(_,this._state.end)||p!==this._state.columnSelectMode||f!==this._state.ydisp}_areCoordinatesEqual(v,_){return!(!v||!_)&&v[0]===_[0]&&v[1]===_[1]}}o.SelectionRenderLayer=d},744:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TextRenderLayer=void 0;const l=h(577),d=h(147),u=h(782),v=h(855),_=h(903),p=h(574);class f extends _.BaseRenderLayer{constructor(A,E,y,w,S,m,b,x,C,M){super(A,E,"text",y,w,M,S,m,x,C),this._characterJoinerService=b,this._characterWidth=0,this._characterFont="",this._characterOverlapCache={},this._workCell=new u.CellData,this._state=new p.GridCache,this.register(m.onSpecificOptionChange("allowTransparency",(I=>this._setTransparency(I))))}resize(A){super.resize(A);const E=this._getFont(!1,!1);this._characterWidth===A.device.char.width&&this._characterFont===E||(this._characterWidth=A.device.char.width,this._characterFont=E,this._characterOverlapCache={}),this._state.clear(),this._state.resize(this._bufferService.cols,this._bufferService.rows)}reset(){this._state.clear(),this._clearAll()}_forEachCell(A,E,y){for(let w=A;w<=E;w++){const S=w+this._bufferService.buffer.ydisp,m=this._bufferService.buffer.lines.get(S),b=this._characterJoinerService.getJoinedCharacters(S);for(let x=0;x0&&x===b[0][0]){M=!0;const B=b.shift();C=new l.JoinedCellData(this._workCell,m.translateToString(!0,B[0],B[1]),B[1]-B[0]),I=B[1]-1}!M&&this._isOverlapping(C)&&I{let I=null;x.isInverse()?I=x.isFgDefault()?this._themeService.colors.foreground.css:x.isFgRGB()?`rgb(${d.AttributeData.toColorRGB(x.getFgColor()).join(",")})`:this._themeService.colors.ansi[x.getFgColor()].css:x.isBgRGB()?I=`rgb(${d.AttributeData.toColorRGB(x.getBgColor()).join(",")})`:x.isBgPalette()&&(I=this._themeService.colors.ansi[x.getBgColor()].css);let B=!1;this._decorationService.forEachDecorationAtCell(C,this._bufferService.buffer.ydisp+M,void 0,(D=>{D.options.layer!=="top"&&B||(D.backgroundColorRGB&&(I=D.backgroundColorRGB.css),B=D.options.layer==="top")})),b===null&&(S=C,m=M),M!==m?(y.fillStyle=b||"",this._fillCells(S,m,w-S,1),S=C,m=M):b!==I&&(y.fillStyle=b||"",this._fillCells(S,m,C-S,1),S=C,m=M),b=I})),b!==null&&(y.fillStyle=b,this._fillCells(S,m,w-S,1)),y.restore()}_drawForeground(A,E){this._forEachCell(A,E,((y,w,S)=>this._drawChars(y,w,S)))}handleGridChanged(A,E){this._state.cache.length!==0&&(this._charAtlas&&this._charAtlas.beginFrame(),this._clearCells(0,A,this._bufferService.cols,E-A+1),this._drawBackground(A,E),this._drawForeground(A,E))}_isOverlapping(A){if(A.getWidth()!==1||A.getCode()<256)return!1;const E=A.getChars();if(this._characterOverlapCache.hasOwnProperty(E))return this._characterOverlapCache[E];this._ctx.save(),this._ctx.font=this._characterFont;const y=Math.floor(this._ctx.measureText(E).width)>this._characterWidth;return this._ctx.restore(),this._characterOverlapCache[E]=y,y}}o.TextRenderLayer=f},274:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CellColorResolver=void 0;const l=h(855),d=h(160),u=h(374);let v,_=0,p=0,f=!1,g=!1,A=!1,E=0;o.CellColorResolver=class{constructor(y,w,S,m,b,x){this._terminal=y,this._optionService=w,this._selectionRenderModel=S,this._decorationService=m,this._coreBrowserService=b,this._themeService=x,this.result={fg:0,bg:0,ext:0}}resolve(y,w,S,m){if(this.result.bg=y.bg,this.result.fg=y.fg,this.result.ext=268435456&y.bg?y.extended.ext:0,p=0,_=0,g=!1,f=!1,A=!1,v=this._themeService.colors,E=0,y.getCode()!==l.NULL_CELL_CODE&&y.extended.underlineStyle===4){const b=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));E=w*m%(2*Math.round(b))}if(this._decorationService.forEachDecorationAtCell(w,S,"bottom",(b=>{b.backgroundColorRGB&&(p=b.backgroundColorRGB.rgba>>8&16777215,g=!0),b.foregroundColorRGB&&(_=b.foregroundColorRGB.rgba>>8&16777215,f=!0)})),A=this._selectionRenderModel.isCellSelected(this._terminal,w,S),A){if(67108864&this.result.fg||(50331648&this.result.bg)!=0){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:p=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:p=(16777215&this.result.fg)<<8|255;break;default:p=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:p=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:p=(16777215&this.result.bg)<<8|255}p=d.rgba.blend(p,4294967040&(this._coreBrowserService.isFocused?v.selectionBackgroundOpaque:v.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else p=(this._coreBrowserService.isFocused?v.selectionBackgroundOpaque:v.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(g=!0,v.selectionForeground&&(_=v.selectionForeground.rgba>>8&16777215,f=!0),(0,u.treatGlyphAsBackgroundColor)(y.getCode())){if(67108864&this.result.fg&&(50331648&this.result.bg)==0)_=(this._coreBrowserService.isFocused?v.selectionBackgroundOpaque:v.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:_=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:_=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:_=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:_=(16777215&this.result.fg)<<8|255;break;default:_=this._themeService.colors.foreground.rgba}_=d.rgba.blend(_,4294967040&(this._coreBrowserService.isFocused?v.selectionBackgroundOpaque:v.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}f=!0}}this._decorationService.forEachDecorationAtCell(w,S,"top",(b=>{b.backgroundColorRGB&&(p=b.backgroundColorRGB.rgba>>8&16777215,g=!0),b.foregroundColorRGB&&(_=b.foregroundColorRGB.rgba>>8&16777215,f=!0)})),g&&(p=A?-16777216&y.bg&-134217729|p|50331648:-16777216&y.bg|p|50331648),f&&(_=-16777216&y.fg&-67108865|_|50331648),67108864&this.result.fg&&(g&&!f&&(_=(50331648&this.result.bg)==0?-134217728&this.result.fg|16777215&v.background.rgba>>8|50331648:-134217728&this.result.fg|67108863&this.result.bg,f=!0),!g&&f&&(p=(50331648&this.result.fg)==0?-67108864&this.result.bg|16777215&v.foreground.rgba>>8|50331648:-67108864&this.result.bg|67108863&this.result.fg,g=!0)),v=void 0,this.result.bg=g?p:this.result.bg,this.result.fg=f?_:this.result.fg,this.result.ext&=536870911,this.result.ext|=E<<29&3758096384}}},627:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.removeTerminalFromCache=o.acquireTextureAtlas=void 0;const l=h(509),d=h(197),u=[];o.acquireTextureAtlas=function(v,_,p,f,g,A,E,y){const w=(0,d.generateConfig)(f,g,A,E,_,p,y);for(let b=0;b=0){if((0,d.configEquals)(x.config,w))return x.atlas;x.ownedBy.length===1?(x.atlas.dispose(),u.splice(b,1)):x.ownedBy.splice(C,1);break}}for(let b=0;b{Object.defineProperty(o,"__esModule",{value:!0}),o.is256Color=o.configEquals=o.generateConfig=void 0;const l=h(160);o.generateConfig=function(d,u,v,_,p,f,g){const A={foreground:f.foreground,background:f.background,cursor:l.NULL_COLOR,cursorAccent:l.NULL_COLOR,selectionForeground:l.NULL_COLOR,selectionBackgroundTransparent:l.NULL_COLOR,selectionBackgroundOpaque:l.NULL_COLOR,selectionInactiveBackgroundTransparent:l.NULL_COLOR,selectionInactiveBackgroundOpaque:l.NULL_COLOR,ansi:f.ansi.slice(),contrastCache:f.contrastCache,halfContrastCache:f.halfContrastCache};return{customGlyphs:p.customGlyphs,devicePixelRatio:g,letterSpacing:p.letterSpacing,lineHeight:p.lineHeight,deviceCellWidth:d,deviceCellHeight:u,deviceCharWidth:v,deviceCharHeight:_,fontFamily:p.fontFamily,fontSize:p.fontSize,fontWeight:p.fontWeight,fontWeightBold:p.fontWeightBold,allowTransparency:p.allowTransparency,drawBoldTextInBrightColors:p.drawBoldTextInBrightColors,minimumContrastRatio:p.minimumContrastRatio,colors:A}},o.configEquals=function(d,u){for(let v=0;v{Object.defineProperty(o,"__esModule",{value:!0}),o.TEXT_BASELINE=o.DIM_OPACITY=o.INVERTED_DEFAULT_COLOR=void 0;const l=h(399);o.INVERTED_DEFAULT_COLOR=257,o.DIM_OPACITY=.5,o.TEXT_BASELINE=l.isFirefox||l.isLegacyEdge?"bottom":"ideographic"},457:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CursorBlinkStateManager=void 0,o.CursorBlinkStateManager=class{constructor(h,l){this._renderCallback=h,this._coreBrowserService=l,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))))}_restartInterval(h=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout((()=>{if(this._animationTimeRestarted){const l=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,l>0)return void this._restartInterval(l)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0})),this._blinkInterval=this._coreBrowserService.window.setInterval((()=>{if(this._animationTimeRestarted){const l=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(l)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._renderCallback(),this._animationFrame=void 0}))}),600)}),h)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},860:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.tryDrawCustomChar=o.powerlineDefinitions=o.boxDrawingDefinitions=o.blockElementDefinitions=void 0;const l=h(374);o.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const d={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};o.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(f,g)=>`M0,${.5-g} L1,${.5-g} M0,${.5+g} L1,${.5+g}`},"║":{1:(f,g)=>`M${.5-f},0 L${.5-f},1 M${.5+f},0 L${.5+f},1`},"╒":{1:(f,g)=>`M.5,1 L.5,${.5-g} L1,${.5-g} M.5,${.5+g} L1,${.5+g}`},"╓":{1:(f,g)=>`M${.5-f},1 L${.5-f},.5 L1,.5 M${.5+f},.5 L${.5+f},1`},"╔":{1:(f,g)=>`M1,${.5-g} L${.5-f},${.5-g} L${.5-f},1 M1,${.5+g} L${.5+f},${.5+g} L${.5+f},1`},"╕":{1:(f,g)=>`M0,${.5-g} L.5,${.5-g} L.5,1 M0,${.5+g} L.5,${.5+g}`},"╖":{1:(f,g)=>`M${.5+f},1 L${.5+f},.5 L0,.5 M${.5-f},.5 L${.5-f},1`},"╗":{1:(f,g)=>`M0,${.5+g} L${.5-f},${.5+g} L${.5-f},1 M0,${.5-g} L${.5+f},${.5-g} L${.5+f},1`},"╘":{1:(f,g)=>`M.5,0 L.5,${.5+g} L1,${.5+g} M.5,${.5-g} L1,${.5-g}`},"╙":{1:(f,g)=>`M1,.5 L${.5-f},.5 L${.5-f},0 M${.5+f},.5 L${.5+f},0`},"╚":{1:(f,g)=>`M1,${.5-g} L${.5+f},${.5-g} L${.5+f},0 M1,${.5+g} L${.5-f},${.5+g} L${.5-f},0`},"╛":{1:(f,g)=>`M0,${.5+g} L.5,${.5+g} L.5,0 M0,${.5-g} L.5,${.5-g}`},"╜":{1:(f,g)=>`M0,.5 L${.5+f},.5 L${.5+f},0 M${.5-f},.5 L${.5-f},0`},"╝":{1:(f,g)=>`M0,${.5-g} L${.5-f},${.5-g} L${.5-f},0 M0,${.5+g} L${.5+f},${.5+g} L${.5+f},0`},"╞":{1:(f,g)=>`M.5,0 L.5,1 M.5,${.5-g} L1,${.5-g} M.5,${.5+g} L1,${.5+g}`},"╟":{1:(f,g)=>`M${.5-f},0 L${.5-f},1 M${.5+f},0 L${.5+f},1 M${.5+f},.5 L1,.5`},"╠":{1:(f,g)=>`M${.5-f},0 L${.5-f},1 M1,${.5+g} L${.5+f},${.5+g} L${.5+f},1 M1,${.5-g} L${.5+f},${.5-g} L${.5+f},0`},"╡":{1:(f,g)=>`M.5,0 L.5,1 M0,${.5-g} L.5,${.5-g} M0,${.5+g} L.5,${.5+g}`},"╢":{1:(f,g)=>`M0,.5 L${.5-f},.5 M${.5-f},0 L${.5-f},1 M${.5+f},0 L${.5+f},1`},"╣":{1:(f,g)=>`M${.5+f},0 L${.5+f},1 M0,${.5+g} L${.5-f},${.5+g} L${.5-f},1 M0,${.5-g} L${.5-f},${.5-g} L${.5-f},0`},"╤":{1:(f,g)=>`M0,${.5-g} L1,${.5-g} M0,${.5+g} L1,${.5+g} M.5,${.5+g} L.5,1`},"╥":{1:(f,g)=>`M0,.5 L1,.5 M${.5-f},.5 L${.5-f},1 M${.5+f},.5 L${.5+f},1`},"╦":{1:(f,g)=>`M0,${.5-g} L1,${.5-g} M0,${.5+g} L${.5-f},${.5+g} L${.5-f},1 M1,${.5+g} L${.5+f},${.5+g} L${.5+f},1`},"╧":{1:(f,g)=>`M.5,0 L.5,${.5-g} M0,${.5-g} L1,${.5-g} M0,${.5+g} L1,${.5+g}`},"╨":{1:(f,g)=>`M0,.5 L1,.5 M${.5-f},.5 L${.5-f},0 M${.5+f},.5 L${.5+f},0`},"╩":{1:(f,g)=>`M0,${.5+g} L1,${.5+g} M0,${.5-g} L${.5-f},${.5-g} L${.5-f},0 M1,${.5-g} L${.5+f},${.5-g} L${.5+f},0`},"╪":{1:(f,g)=>`M.5,0 L.5,1 M0,${.5-g} L1,${.5-g} M0,${.5+g} L1,${.5+g}`},"╫":{1:(f,g)=>`M0,.5 L1,.5 M${.5-f},0 L${.5-f},1 M${.5+f},0 L${.5+f},1`},"╬":{1:(f,g)=>`M0,${.5+g} L${.5-f},${.5+g} L${.5-f},1 M1,${.5+g} L${.5+f},${.5+g} L${.5+f},1 M0,${.5-g} L${.5-f},${.5-g} L${.5-f},0 M1,${.5-g} L${.5+f},${.5-g} L${.5+f},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"┉":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(f,g)=>`M.5,1 L.5,${.5+g/.15*.5} C.5,${.5+g/.15*.5},.5,.5,1,.5`},"╮":{1:(f,g)=>`M.5,1 L.5,${.5+g/.15*.5} C.5,${.5+g/.15*.5},.5,.5,0,.5`},"╯":{1:(f,g)=>`M.5,0 L.5,${.5-g/.15*.5} C.5,${.5-g/.15*.5},.5,.5,0,.5`},"╰":{1:(f,g)=>`M.5,0 L.5,${.5-g/.15*.5} C.5,${.5-g/.15*.5},.5,.5,1,.5`}},o.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},o.powerlineDefinitions[""]=o.powerlineDefinitions[""],o.powerlineDefinitions[""]=o.powerlineDefinitions[""],o.tryDrawCustomChar=function(f,g,A,E,y,w,S,m){const b=o.blockElementDefinitions[g];if(b)return(function(I,B,D,T,R,Q){for(let O=0;O7&&parseInt(P.slice(7,9),16)||1;else{if(!P.startsWith("rgba"))throw new Error(`Unexpected fillStyle color format "${P}" when drawing pattern glyph`);[ve,pe,j,W]=P.substring(5,P.length-1).split(",").map(($=>parseFloat($)))}for(let $=0;$f.bezierCurveTo(g[0],g[1],g[2],g[3],g[4],g[5]),L:(f,g)=>f.lineTo(g[0],g[1]),M:(f,g)=>f.moveTo(g[0],g[1])};function p(f,g,A,E,y,w,S,m=0,b=0){const x=f.map((C=>parseFloat(C)||parseInt(C)));if(x.length<2)throw new Error("Too few arguments for instruction");for(let C=0;C{Object.defineProperty(o,"__esModule",{value:!0}),o.observeDevicePixelDimensions=void 0;const l=h(859);o.observeDevicePixelDimensions=function(d,u,v){let _=new u.ResizeObserver((p=>{const f=p.find((E=>E.target===d));if(!f)return;if(!("devicePixelContentBoxSize"in f))return _==null||_.disconnect(),void(_=void 0);const g=f.devicePixelContentBoxSize[0].inlineSize,A=f.devicePixelContentBoxSize[0].blockSize;g>0&&A>0&&v(g,A)}));try{_.observe(d,{box:["device-pixel-content-box"]})}catch{_.disconnect(),_=void 0}return(0,l.toDisposable)((()=>_==null?void 0:_.disconnect()))}},374:(a,o)=>{function h(d){return 57508<=d&&d<=57558}function l(d){return d>=128512&&d<=128591||d>=127744&&d<=128511||d>=128640&&d<=128767||d>=9728&&d<=9983||d>=9984&&d<=10175||d>=65024&&d<=65039||d>=129280&&d<=129535||d>=127462&&d<=127487}Object.defineProperty(o,"__esModule",{value:!0}),o.computeNextVariantOffset=o.createRenderDimensions=o.treatGlyphAsBackgroundColor=o.allowRescaling=o.isEmoji=o.isRestrictedPowerlineGlyph=o.isPowerlineGlyph=o.throwIfFalsy=void 0,o.throwIfFalsy=function(d){if(!d)throw new Error("value must not be falsy");return d},o.isPowerlineGlyph=h,o.isRestrictedPowerlineGlyph=function(d){return 57520<=d&&d<=57527},o.isEmoji=l,o.allowRescaling=function(d,u,v,_){return u===1&&v>Math.ceil(1.5*_)&&d!==void 0&&d>255&&!l(d)&&!h(d)&&!(function(p){return 57344<=p&&p<=63743})(d)},o.treatGlyphAsBackgroundColor=function(d){return h(d)||(function(u){return 9472<=u&&u<=9631})(d)},o.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},o.computeNextVariantOffset=function(d,u,v=0){return(d-(2*Math.round(u)-v))%(2*Math.round(u))}},296:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createSelectionRenderModel=void 0;class h{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(d,u,v,_=!1){if(this.selectionStart=u,this.selectionEnd=v,!u||!v||u[0]===v[0]&&u[1]===v[1])return void this.clear();const p=d.buffers.active.ydisp,f=u[1]-p,g=v[1]-p,A=Math.max(f,0),E=Math.min(g,d.rows-1);A>=d.rows||E<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=_,this.viewportStartRow=f,this.viewportEndRow=g,this.viewportCappedStartRow=A,this.viewportCappedEndRow=E,this.startCol=u[0],this.endCol=v[0])}isCellSelected(d,u,v){return!!this.hasSelection&&(v-=d.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?u>=this.startCol&&v>=this.viewportCappedStartRow&&u=this.viewportCappedStartRow&&u>=this.endCol&&v<=this.viewportCappedEndRow:v>this.viewportStartRow&&v=this.startCol&&u=this.startCol)}}o.createSelectionRenderModel=function(){return new h}},509:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TextureAtlas=void 0;const l=h(237),d=h(860),u=h(374),v=h(160),_=h(345),p=h(485),f=h(385),g=h(147),A=h(855),E={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let y;class w{get pages(){return this._pages}constructor(C,M,I){this._document=C,this._config=M,this._unicodeService=I,this._didWarmUp=!1,this._cacheMap=new p.FourKeyMap,this._cacheMapCombined=new p.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new g.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new _.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new _.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=b(C,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,u.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(const C of this.pages)C.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const C=new f.IdleTaskQueue;for(let M=33;M<126;M++)C.enqueue((()=>{if(!this._cacheMap.get(M,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT)){const I=this._drawToCache(M,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT);this._cacheMap.set(M,A.DEFAULT_COLOR,A.DEFAULT_COLOR,A.DEFAULT_EXT,I)}}))}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(const C of this._pages)C.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(w.maxAtlasPages&&this._pages.length>=Math.max(4,w.maxAtlasPages)){const M=this._pages.filter((O=>2*O.canvas.width<=(w.maxTextureSize||4096))).sort(((O,P)=>P.canvas.width!==O.canvas.width?P.canvas.width-O.canvas.width:P.percentageUsed-O.percentageUsed));let I=-1,B=0;for(let O=0;OO.glyphs[0].texturePage)).sort(((O,P)=>O>P?1:-1)),R=this.pages.length-D.length,Q=this._mergePages(D,R);Q.version++;for(let O=T.length-1;O>=0;O--)this._deletePage(T[O]);this.pages.push(Q),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(Q.canvas)}const C=new S(this._document,this._textureSize);return this._pages.push(C),this._activePages.push(C),this._onAddTextureAtlasCanvas.fire(C.canvas),C}_mergePages(C,M){const I=2*C[0].canvas.width,B=new S(this._document,I,C);for(const[D,T]of C.entries()){const R=D*T.canvas.width%I,Q=Math.floor(D/2)*T.canvas.height;B.ctx.drawImage(T.canvas,R,Q);for(const P of T.glyphs)P.texturePage=M,P.sizeClipSpace.x=P.size.x/I,P.sizeClipSpace.y=P.size.y/I,P.texturePosition.x+=R,P.texturePosition.y+=Q,P.texturePositionClipSpace.x=P.texturePosition.x/I,P.texturePositionClipSpace.y=P.texturePosition.y/I;this._onRemoveTextureAtlasCanvas.fire(T.canvas);const O=this._activePages.indexOf(T);O!==-1&&this._activePages.splice(O,1)}return B}_deletePage(C){this._pages.splice(C,1);for(let M=C;M=this._config.colors.ansi.length)throw new Error("No color found for idx "+C);return this._config.colors.ansi[C]}_getBackgroundColor(C,M,I,B){if(this._config.allowTransparency)return v.NULL_COLOR;let D;switch(C){case 16777216:case 33554432:D=this._getColorFromAnsiIndex(M);break;case 50331648:const T=g.AttributeData.toColorRGB(M);D=v.channels.toColor(T[0],T[1],T[2]);break;default:D=I?v.color.opaque(this._config.colors.foreground):this._config.colors.background}return D}_getForegroundColor(C,M,I,B,D,T,R,Q,O,P){const z=this._getMinimumContrastColor(C,M,I,B,D,T,R,O,Q,P);if(z)return z;let U;switch(D){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&O&&T<8&&(T+=8),U=this._getColorFromAnsiIndex(T);break;case 50331648:const ue=g.AttributeData.toColorRGB(T);U=v.channels.toColor(ue[0],ue[1],ue[2]);break;default:U=R?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(U=v.color.opaque(U)),Q&&(U=v.color.multiplyOpacity(U,l.DIM_OPACITY)),U}_resolveBackgroundRgba(C,M,I){switch(C){case 16777216:case 33554432:return this._getColorFromAnsiIndex(M).rgba;case 50331648:return M<<8;default:return I?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(C,M,I,B){switch(C){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&B&&M<8&&(M+=8),this._getColorFromAnsiIndex(M).rgba;case 50331648:return M<<8;default:return I?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(C,M,I,B,D,T,R,Q,O,P){if(this._config.minimumContrastRatio===1||P)return;const z=this._getContrastCache(O),U=z.getColor(C,B);if(U!==void 0)return U||void 0;const ue=this._resolveBackgroundRgba(M,I,R),fe=this._resolveForegroundRgba(D,T,R,Q),F=v.rgba.ensureContrastRatio(ue,fe,this._config.minimumContrastRatio/(O?2:1));if(!F)return void z.setColor(C,B,null);const Y=v.channels.toColor(F>>24&255,F>>16&255,F>>8&255);return z.setColor(C,B,Y),Y}_getContrastCache(C){return C?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(C,M,I,B,D=!1){const T=typeof C=="number"?String.fromCharCode(C):C,R=Math.min(this._config.deviceCellWidth*Math.max(T.length,2)+4,this._textureSize);this._tmpCanvas.width=ge?2*ge-Xe:ge-Xe;Xe>=ge||Ue===0?(this._tmpCtx.setLineDash([Math.round(ge),Math.round(ge)]),this._tmpCtx.moveTo(Pe+Ue,ne),this._tmpCtx.lineTo(Ze,ne)):(this._tmpCtx.setLineDash([Math.round(ge),Math.round(ge)]),this._tmpCtx.moveTo(Pe,ne),this._tmpCtx.lineTo(Pe+Ue,ne),this._tmpCtx.moveTo(Pe+Ue+ge,ne),this._tmpCtx.lineTo(Ze,ne)),Xe=(0,u.computeNextVariantOffset)(Ze-Pe,ge,Xe);break;case 5:const at=.6,Qt=.3,Ii=Ze-Pe,Ui=Math.floor(at*Ii),ie=Math.floor(Qt*Ii),Z=Ii-Ui-ie;this._tmpCtx.setLineDash([Ui,ie,Z]),this._tmpCtx.moveTo(Pe,ne),this._tmpCtx.lineTo(Ze,ne);break;default:this._tmpCtx.moveTo(Pe,ne),this._tmpCtx.lineTo(Ze,ne)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!Ce&&this._config.fontSize>=12&&!this._config.allowTransparency&&T!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";const Qe=this._tmpCtx.measureText(T);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in Qe&&Qe.actualBoundingBoxDescent>0){this._tmpCtx.save();const Pe=new Path2D;Pe.rect(le,ne-Math.ceil(ge/2),this._config.deviceCellWidth*we,$e-ne+Math.ceil(ge/2)),this._tmpCtx.clip(Pe),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=W.css,this._tmpCtx.strokeText(T,oe,oe+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(F){const ge=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),Se=ge%2==1?.5:0;this._tmpCtx.lineWidth=ge,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(oe,oe+Se),this._tmpCtx.lineTo(oe+this._config.deviceCharWidth*we,oe+Se),this._tmpCtx.stroke()}if(Ce||this._tmpCtx.fillText(T,oe,oe+this._config.deviceCharHeight),T==="_"&&!this._config.allowTransparency){let ge=m(this._tmpCtx.getImageData(oe,oe,this._config.deviceCellWidth,this._config.deviceCellHeight),W,re,me);if(ge)for(let Se=1;Se<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=W.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(T,oe,oe+this._config.deviceCharHeight-Se),ge=m(this._tmpCtx.getImageData(oe,oe,this._config.deviceCellWidth,this._config.deviceCellHeight),W,re,me),ge);Se++);}if(fe){const ge=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),Se=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=ge,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(oe,oe+Math.floor(this._config.deviceCharHeight/2)-Se),this._tmpCtx.lineTo(oe+this._config.deviceCharWidth*we,oe+Math.floor(this._config.deviceCharHeight/2)-Se),this._tmpCtx.stroke()}this._tmpCtx.restore();const ke=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let He;if(He=this._config.allowTransparency?(function(ge){for(let Se=0;Se0)return!1;return!0})(ke):m(ke,W,re,me),He)return E;const Ae=this._findGlyphBoundingBox(ke,this._workBoundingBox,R,ce,Ce,oe);let ye,Be;for(;;){if(this._activePages.length===0){const ge=this._createNewPage();ye=ge,Be=ge.currentRow,Be.height=Ae.size.y;break}ye=this._activePages[this._activePages.length-1],Be=ye.currentRow;for(const ge of this._activePages)Ae.size.y<=ge.currentRow.height&&(ye=ge,Be=ge.currentRow);for(let ge=this._activePages.length-1;ge>=0;ge--)for(const Se of this._activePages[ge].fixedRows)Se.height<=Be.height&&Ae.size.y<=Se.height&&(ye=this._activePages[ge],Be=Se);if(Be.y+Ae.size.y>=ye.canvas.height||Be.height>Ae.size.y+2){let ge=!1;if(ye.currentRow.y+ye.currentRow.height+Ae.size.y>=ye.canvas.height){let Se;for(const le of this._activePages)if(le.currentRow.y+le.currentRow.height+Ae.size.y=w.maxAtlasPages&&Be.y+Ae.size.y<=ye.canvas.height&&Be.height>=Ae.size.y&&Be.x+Ae.size.x<=ye.canvas.width)ge=!0;else{const le=this._createNewPage();ye=le,Be=le.currentRow,Be.height=Ae.size.y,ge=!0}}ge||(ye.currentRow.height>0&&ye.fixedRows.push(ye.currentRow),Be={x:0,y:ye.currentRow.y+ye.currentRow.height,height:Ae.size.y},ye.fixedRows.push(Be),ye.currentRow={x:0,y:Be.y+Be.height,height:0})}if(Be.x+Ae.size.x<=ye.canvas.width)break;Be===ye.currentRow?(Be.x=0,Be.y+=Be.height,Be.height=0):ye.fixedRows.splice(ye.fixedRows.indexOf(Be),1)}return Ae.texturePage=this._pages.indexOf(ye),Ae.texturePosition.x=Be.x,Ae.texturePosition.y=Be.y,Ae.texturePositionClipSpace.x=Be.x/ye.canvas.width,Ae.texturePositionClipSpace.y=Be.y/ye.canvas.height,Ae.sizeClipSpace.x/=ye.canvas.width,Ae.sizeClipSpace.y/=ye.canvas.height,Be.height=Math.max(Be.height,Ae.size.y),Be.x+=Ae.size.x,ye.ctx.putImageData(ke,Ae.texturePosition.x-this._workBoundingBox.left,Ae.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,Ae.size.x,Ae.size.y),ye.addGlyph(Ae),ye.version++,Ae}_findGlyphBoundingBox(C,M,I,B,D,T){M.top=0;const R=B?this._config.deviceCellHeight:this._tmpCanvas.height,Q=B?this._config.deviceCellWidth:I;let O=!1;for(let P=0;P=T;P--){for(let z=0;z=0;P--){for(let z=0;z>>24,D=C.rgba>>>16&255,T=C.rgba>>>8&255,R=M.rgba>>>24,Q=M.rgba>>>16&255,O=M.rgba>>>8&255,P=Math.floor((Math.abs(B-R)+Math.abs(D-Q)+Math.abs(T-O))/12);let z=!0;for(let U=0;U=0;x--)(S=A[x])&&(b=(m<3?S(b):m>3?S(E,y,b):S(E,y))||b);return m>3&&b&&Object.defineProperty(E,y,b),b},d=this&&this.__param||function(A,E){return function(y,w){E(y,w,A)}};Object.defineProperty(o,"__esModule",{value:!0}),o.CharacterJoinerService=o.JoinedCellData=void 0;const u=h(147),v=h(855),_=h(782),p=h(97);class f extends u.AttributeData{constructor(E,y,w){super(),this.content=0,this.combinedData="",this.fg=E.fg,this.bg=E.bg,this.combinedData=y,this._width=w}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(E){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}o.JoinedCellData=f;let g=o.CharacterJoinerService=class Uc{constructor(E){this._bufferService=E,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new _.CellData}register(E){const y={id:this._nextCharacterJoinerId++,handler:E};return this._characterJoiners.push(y),y.id}deregister(E){for(let y=0;y1){const B=this._getJoinedRanges(S,x,b,y,m);for(let D=0;D1){const I=this._getJoinedRanges(S,x,b,y,m);for(let B=0;B{Object.defineProperty(o,"__esModule",{value:!0}),o.contrastRatio=o.toPaddedHex=o.rgba=o.rgb=o.css=o.color=o.channels=o.NULL_COLOR=void 0;let h=0,l=0,d=0,u=0;var v,_,p,f,g;function A(y){const w=y.toString(16);return w.length<2?"0"+w:w}function E(y,w){return y>>0},y.toColor=function(w,S,m,b){return{css:y.toCss(w,S,m,b),rgba:y.toRgba(w,S,m,b)}}})(v||(o.channels=v={})),(function(y){function w(S,m){return u=Math.round(255*m),[h,l,d]=g.toChannels(S.rgba),{css:v.toCss(h,l,d,u),rgba:v.toRgba(h,l,d,u)}}y.blend=function(S,m){if(u=(255&m.rgba)/255,u===1)return{css:m.css,rgba:m.rgba};const b=m.rgba>>24&255,x=m.rgba>>16&255,C=m.rgba>>8&255,M=S.rgba>>24&255,I=S.rgba>>16&255,B=S.rgba>>8&255;return h=M+Math.round((b-M)*u),l=I+Math.round((x-I)*u),d=B+Math.round((C-B)*u),{css:v.toCss(h,l,d),rgba:v.toRgba(h,l,d)}},y.isOpaque=function(S){return(255&S.rgba)==255},y.ensureContrastRatio=function(S,m,b){const x=g.ensureContrastRatio(S.rgba,m.rgba,b);if(x)return v.toColor(x>>24&255,x>>16&255,x>>8&255)},y.opaque=function(S){const m=(255|S.rgba)>>>0;return[h,l,d]=g.toChannels(m),{css:v.toCss(h,l,d),rgba:m}},y.opacity=w,y.multiplyOpacity=function(S,m){return u=255&S.rgba,w(S,u*m/255)},y.toColorRGB=function(S){return[S.rgba>>24&255,S.rgba>>16&255,S.rgba>>8&255]}})(_||(o.color=_={})),(function(y){let w,S;try{const m=document.createElement("canvas");m.width=1,m.height=1;const b=m.getContext("2d",{willReadFrequently:!0});b&&(w=b,w.globalCompositeOperation="copy",S=w.createLinearGradient(0,0,1,1))}catch{}y.toColor=function(m){if(m.match(/#[\da-f]{3,8}/i))switch(m.length){case 4:return h=parseInt(m.slice(1,2).repeat(2),16),l=parseInt(m.slice(2,3).repeat(2),16),d=parseInt(m.slice(3,4).repeat(2),16),v.toColor(h,l,d);case 5:return h=parseInt(m.slice(1,2).repeat(2),16),l=parseInt(m.slice(2,3).repeat(2),16),d=parseInt(m.slice(3,4).repeat(2),16),u=parseInt(m.slice(4,5).repeat(2),16),v.toColor(h,l,d,u);case 7:return{css:m,rgba:(parseInt(m.slice(1),16)<<8|255)>>>0};case 9:return{css:m,rgba:parseInt(m.slice(1),16)>>>0}}const b=m.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(b)return h=parseInt(b[1]),l=parseInt(b[2]),d=parseInt(b[3]),u=Math.round(255*(b[5]===void 0?1:parseFloat(b[5]))),v.toColor(h,l,d,u);if(!w||!S)throw new Error("css.toColor: Unsupported css format");if(w.fillStyle=S,w.fillStyle=m,typeof w.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(w.fillRect(0,0,1,1),[h,l,d,u]=w.getImageData(0,0,1,1).data,u!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:v.toRgba(h,l,d,u),css:m}}})(p||(o.css=p={})),(function(y){function w(S,m,b){const x=S/255,C=m/255,M=b/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(C<=.03928?C/12.92:Math.pow((C+.055)/1.055,2.4))+.0722*(M<=.03928?M/12.92:Math.pow((M+.055)/1.055,2.4))}y.relativeLuminance=function(S){return w(S>>16&255,S>>8&255,255&S)},y.relativeLuminance2=w})(f||(o.rgb=f={})),(function(y){function w(m,b,x){const C=m>>24&255,M=m>>16&255,I=m>>8&255;let B=b>>24&255,D=b>>16&255,T=b>>8&255,R=E(f.relativeLuminance2(B,D,T),f.relativeLuminance2(C,M,I));for(;R0||D>0||T>0);)B-=Math.max(0,Math.ceil(.1*B)),D-=Math.max(0,Math.ceil(.1*D)),T-=Math.max(0,Math.ceil(.1*T)),R=E(f.relativeLuminance2(B,D,T),f.relativeLuminance2(C,M,I));return(B<<24|D<<16|T<<8|255)>>>0}function S(m,b,x){const C=m>>24&255,M=m>>16&255,I=m>>8&255;let B=b>>24&255,D=b>>16&255,T=b>>8&255,R=E(f.relativeLuminance2(B,D,T),f.relativeLuminance2(C,M,I));for(;R>>0}y.blend=function(m,b){if(u=(255&b)/255,u===1)return b;const x=b>>24&255,C=b>>16&255,M=b>>8&255,I=m>>24&255,B=m>>16&255,D=m>>8&255;return h=I+Math.round((x-I)*u),l=B+Math.round((C-B)*u),d=D+Math.round((M-D)*u),v.toRgba(h,l,d)},y.ensureContrastRatio=function(m,b,x){const C=f.relativeLuminance(m>>8),M=f.relativeLuminance(b>>8);if(E(C,M)>8));if(TE(C,f.relativeLuminance(R>>8))?D:R}return D}const I=S(m,b,x),B=E(C,f.relativeLuminance(I>>8));if(BE(C,f.relativeLuminance(D>>8))?I:D}return I}},y.reduceLuminance=w,y.increaseLuminance=S,y.toChannels=function(m){return[m>>24&255,m>>16&255,m>>8&255,255&m]}})(g||(o.rgba=g={})),o.toPaddedHex=A,o.contrastRatio=E},345:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.runAndSubscribe=o.forwardEvent=o.EventEmitter=void 0,o.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=h=>(this._listeners.push(h),{dispose:()=>{if(!this._disposed){for(let l=0;ll.fire(d)))},o.runAndSubscribe=function(h,l){return l(void 0),h((d=>l(d)))}},859:(a,o)=>{function h(l){for(const d of l)d.dispose();l.length=0}Object.defineProperty(o,"__esModule",{value:!0}),o.getDisposeArrayDisposable=o.disposeArray=o.toDisposable=o.MutableDisposable=o.Disposable=void 0,o.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const l of this._disposables)l.dispose();this._disposables.length=0}register(l){return this._disposables.push(l),l}unregister(l){const d=this._disposables.indexOf(l);d!==-1&&this._disposables.splice(d,1)}},o.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(l){var d;this._isDisposed||l===this._value||((d=this._value)==null||d.dispose(),this._value=l)}clear(){this.value=void 0}dispose(){var l;this._isDisposed=!0,(l=this._value)==null||l.dispose(),this._value=void 0}},o.toDisposable=function(l){return{dispose:l}},o.disposeArray=h,o.getDisposeArrayDisposable=function(l){return{dispose:()=>h(l)}}},485:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.FourKeyMap=o.TwoKeyMap=void 0;class h{constructor(){this._data={}}set(d,u,v){this._data[d]||(this._data[d]={}),this._data[d][u]=v}get(d,u){return this._data[d]?this._data[d][u]:void 0}clear(){this._data={}}}o.TwoKeyMap=h,o.FourKeyMap=class{constructor(){this._data=new h}set(l,d,u,v,_){this._data.get(l,d)||this._data.set(l,d,new h),this._data.get(l,d).set(u,v,_)}get(l,d,u,v){var _;return(_=this._data.get(l,d))==null?void 0:_.get(u,v)}clear(){this._data.clear()}}},399:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isChromeOS=o.isLinux=o.isWindows=o.isIphone=o.isIpad=o.isMac=o.getSafariVersion=o.isSafari=o.isLegacyEdge=o.isFirefox=o.isNode=void 0,o.isNode=typeof process<"u"&&"title"in process;const h=o.isNode?"node":navigator.userAgent,l=o.isNode?"node":navigator.platform;o.isFirefox=h.includes("Firefox"),o.isLegacyEdge=h.includes("Edge"),o.isSafari=/^((?!chrome|android).)*safari/i.test(h),o.getSafariVersion=function(){if(!o.isSafari)return 0;const d=h.match(/Version\/(\d+)/);return d===null||d.length<2?0:parseInt(d[1])},o.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(l),o.isIpad=l==="iPad",o.isIphone=l==="iPhone",o.isWindows=["Windows","Win16","Win32","WinCE"].includes(l),o.isLinux=l.indexOf("Linux")>=0,o.isChromeOS=/\bCrOS\b/.test(h)},385:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.DebouncedIdleTask=o.IdleTaskQueue=o.PriorityTaskQueue=void 0;const l=h(399);class d{constructor(){this._tasks=[],this._i=0}enqueue(_){this._tasks.push(_),this._start()}flush(){for(;this._iA)return g-p<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(g-p))}ms`),void this._start();g=A}this.clear()}}class u extends d{_requestCallback(_){return setTimeout((()=>_(this._createDeadline(16))))}_cancelCallback(_){clearTimeout(_)}_createDeadline(_){const p=Date.now()+_;return{timeRemaining:()=>Math.max(0,p-Date.now())}}}o.PriorityTaskQueue=u,o.IdleTaskQueue=!l.isNode&&"requestIdleCallback"in window?class extends d{_requestCallback(v){return requestIdleCallback(v)}_cancelCallback(v){cancelIdleCallback(v)}}:u,o.DebouncedIdleTask=class{constructor(){this._queue=new o.IdleTaskQueue}set(v){this._queue.clear(),this._queue.enqueue(v)}flush(){this._queue.flush()}}},147:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.ExtendedAttrs=o.AttributeData=void 0;class h{constructor(){this.fg=0,this.bg=0,this.extended=new l}static toColorRGB(u){return[u>>>16&255,u>>>8&255,255&u]}static fromColorRGB(u){return(255&u[0])<<16|(255&u[1])<<8|255&u[2]}clone(){const u=new h;return u.fg=this.fg,u.bg=this.bg,u.extended=this.extended.clone(),u}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}o.AttributeData=h;class l{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(u){this._ext=u}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(u){this._ext&=-469762049,this._ext|=u<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(u){this._ext&=-67108864,this._ext|=67108863&u}get urlId(){return this._urlId}set urlId(u){this._urlId=u}get underlineVariantOffset(){const u=(3758096384&this._ext)>>29;return u<0?4294967288^u:u}set underlineVariantOffset(u){this._ext&=536870911,this._ext|=u<<29&3758096384}constructor(u=0,v=0){this._ext=0,this._urlId=0,this._ext=u,this._urlId=v}clone(){return new l(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}o.ExtendedAttrs=l},782:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.CellData=void 0;const l=h(133),d=h(855),u=h(147);class v extends u.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new u.ExtendedAttrs,this.combinedData=""}static fromCharData(p){const f=new v;return f.setFromCharData(p),f}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,l.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(p){this.fg=p[d.CHAR_DATA_ATTR_INDEX],this.bg=0;let f=!1;if(p[d.CHAR_DATA_CHAR_INDEX].length>2)f=!0;else if(p[d.CHAR_DATA_CHAR_INDEX].length===2){const g=p[d.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=g&&g<=56319){const A=p[d.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=A&&A<=57343?this.content=1024*(g-55296)+A-56320+65536|p[d.CHAR_DATA_WIDTH_INDEX]<<22:f=!0}else f=!0}else this.content=p[d.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|p[d.CHAR_DATA_WIDTH_INDEX]<<22;f&&(this.combinedData=p[d.CHAR_DATA_CHAR_INDEX],this.content=2097152|p[d.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}o.CellData=v},855:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.WHITESPACE_CELL_CODE=o.WHITESPACE_CELL_WIDTH=o.WHITESPACE_CELL_CHAR=o.NULL_CELL_CODE=o.NULL_CELL_WIDTH=o.NULL_CELL_CHAR=o.CHAR_DATA_CODE_INDEX=o.CHAR_DATA_WIDTH_INDEX=o.CHAR_DATA_CHAR_INDEX=o.CHAR_DATA_ATTR_INDEX=o.DEFAULT_EXT=o.DEFAULT_ATTR=o.DEFAULT_COLOR=void 0,o.DEFAULT_COLOR=0,o.DEFAULT_ATTR=256|o.DEFAULT_COLOR<<9,o.DEFAULT_EXT=0,o.CHAR_DATA_ATTR_INDEX=0,o.CHAR_DATA_CHAR_INDEX=1,o.CHAR_DATA_WIDTH_INDEX=2,o.CHAR_DATA_CODE_INDEX=3,o.NULL_CELL_CHAR="",o.NULL_CELL_WIDTH=1,o.NULL_CELL_CODE=0,o.WHITESPACE_CELL_CHAR=" ",o.WHITESPACE_CELL_WIDTH=1,o.WHITESPACE_CELL_CODE=32},133:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.Utf8ToUtf32=o.StringToUtf32=o.utf32ToString=o.stringFromCodePoint=void 0,o.stringFromCodePoint=function(h){return h>65535?(h-=65536,String.fromCharCode(55296+(h>>10))+String.fromCharCode(h%1024+56320)):String.fromCharCode(h)},o.utf32ToString=function(h,l=0,d=h.length){let u="";for(let v=l;v65535?(_-=65536,u+=String.fromCharCode(55296+(_>>10))+String.fromCharCode(_%1024+56320)):u+=String.fromCharCode(_)}return u},o.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(h,l){const d=h.length;if(!d)return 0;let u=0,v=0;if(this._interim){const _=h.charCodeAt(v++);56320<=_&&_<=57343?l[u++]=1024*(this._interim-55296)+_-56320+65536:(l[u++]=this._interim,l[u++]=_),this._interim=0}for(let _=v;_=d)return this._interim=p,u;const f=h.charCodeAt(_);56320<=f&&f<=57343?l[u++]=1024*(p-55296)+f-56320+65536:(l[u++]=p,l[u++]=f)}else p!==65279&&(l[u++]=p)}return u}},o.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(h,l){const d=h.length;if(!d)return 0;let u,v,_,p,f=0,g=0,A=0;if(this.interim[0]){let w=!1,S=this.interim[0];S&=(224&S)==192?31:(240&S)==224?15:7;let m,b=0;for(;(m=63&this.interim[++b])&&b<4;)S<<=6,S|=m;const x=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,C=x-b;for(;A=d)return 0;if(m=h[A++],(192&m)!=128){A--,w=!0;break}this.interim[b++]=m,S<<=6,S|=63&m}w||(x===2?S<128?A--:l[f++]=S:x===3?S<2048||S>=55296&&S<=57343||S===65279||(l[f++]=S):S<65536||S>1114111||(l[f++]=S)),this.interim.fill(0)}const E=d-4;let y=A;for(;y=d)return this.interim[0]=u,f;if(v=h[y++],(192&v)!=128){y--;continue}if(g=(31&u)<<6|63&v,g<128){y--;continue}l[f++]=g}else if((240&u)==224){if(y>=d)return this.interim[0]=u,f;if(v=h[y++],(192&v)!=128){y--;continue}if(y>=d)return this.interim[0]=u,this.interim[1]=v,f;if(_=h[y++],(192&_)!=128){y--;continue}if(g=(15&u)<<12|(63&v)<<6|63&_,g<2048||g>=55296&&g<=57343||g===65279)continue;l[f++]=g}else if((248&u)==240){if(y>=d)return this.interim[0]=u,f;if(v=h[y++],(192&v)!=128){y--;continue}if(y>=d)return this.interim[0]=u,this.interim[1]=v,f;if(_=h[y++],(192&_)!=128){y--;continue}if(y>=d)return this.interim[0]=u,this.interim[1]=v,this.interim[2]=_,f;if(p=h[y++],(192&p)!=128){y--;continue}if(g=(7&u)<<18|(63&v)<<12|(63&_)<<6|63&p,g<65536||g>1114111)continue;l[f++]=g}}return f}}},776:function(a,o,h){var l=this&&this.__decorate||function(g,A,E,y){var w,S=arguments.length,m=S<3?A:y===null?y=Object.getOwnPropertyDescriptor(A,E):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")m=Reflect.decorate(g,A,E,y);else for(var b=g.length-1;b>=0;b--)(w=g[b])&&(m=(S<3?w(m):S>3?w(A,E,m):w(A,E))||m);return S>3&&m&&Object.defineProperty(A,E,m),m},d=this&&this.__param||function(g,A){return function(E,y){A(E,y,g)}};Object.defineProperty(o,"__esModule",{value:!0}),o.traceCall=o.setTraceLogger=o.LogService=void 0;const u=h(859),v=h(97),_={trace:v.LogLevelEnum.TRACE,debug:v.LogLevelEnum.DEBUG,info:v.LogLevelEnum.INFO,warn:v.LogLevelEnum.WARN,error:v.LogLevelEnum.ERROR,off:v.LogLevelEnum.OFF};let p,f=o.LogService=class extends u.Disposable{get logLevel(){return this._logLevel}constructor(g){super(),this._optionsService=g,this._logLevel=v.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",(()=>this._updateLogLevel()))),p=this}_updateLogLevel(){this._logLevel=_[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(g){for(let A=0;AJSON.stringify(m))).join(", ")})`);const S=y.apply(this,w);return p.trace(`GlyphRenderer#${y.name} return`,S),S}}},726:(a,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createDecorator=o.getServiceDependencies=o.serviceRegistry=void 0;const h="di$target",l="di$dependencies";o.serviceRegistry=new Map,o.getServiceDependencies=function(d){return d[l]||[]},o.createDecorator=function(d){if(o.serviceRegistry.has(d))return o.serviceRegistry.get(d);const u=function(v,_,p){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(f,g,A){g[h]===g?g[l].push({id:f,index:A}):(g[l]=[{id:f,index:A}],g[h]=g)})(u,v,p)};return u.toString=()=>d,o.serviceRegistry.set(d,u),u}},97:(a,o,h)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.IDecorationService=o.IUnicodeService=o.IOscLinkService=o.IOptionsService=o.ILogService=o.LogLevelEnum=o.IInstantiationService=o.ICharsetService=o.ICoreService=o.ICoreMouseService=o.IBufferService=void 0;const l=h(726);var d;o.IBufferService=(0,l.createDecorator)("BufferService"),o.ICoreMouseService=(0,l.createDecorator)("CoreMouseService"),o.ICoreService=(0,l.createDecorator)("CoreService"),o.ICharsetService=(0,l.createDecorator)("CharsetService"),o.IInstantiationService=(0,l.createDecorator)("InstantiationService"),(function(u){u[u.TRACE=0]="TRACE",u[u.DEBUG=1]="DEBUG",u[u.INFO=2]="INFO",u[u.WARN=3]="WARN",u[u.ERROR=4]="ERROR",u[u.OFF=5]="OFF"})(d||(o.LogLevelEnum=d={})),o.ILogService=(0,l.createDecorator)("LogService"),o.IOptionsService=(0,l.createDecorator)("OptionsService"),o.IOscLinkService=(0,l.createDecorator)("OscLinkService"),o.IUnicodeService=(0,l.createDecorator)("UnicodeService"),o.IDecorationService=(0,l.createDecorator)("DecorationService")}},s={};function r(a){var o=s[a];if(o!==void 0)return o.exports;var h=s[a]={exports:{}};return i[a].call(h.exports,h,h.exports,r),h.exports}var n={};return(()=>{var a=n;Object.defineProperty(a,"__esModule",{value:!0}),a.CanvasAddon=void 0;const o=r(345),h=r(859),l=r(776),d=r(949);class u extends h.Disposable{constructor(){super(...arguments),this._onChangeTextureAtlas=this.register(new o.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new o.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event}get textureAtlas(){var _;return(_=this._renderer)==null?void 0:_.textureAtlas}activate(_){const p=_._core;if(!_.element)return void this.register(p.onWillOpen((()=>this.activate(_))));this._terminal=_;const f=p.coreService,g=p.optionsService,A=p.screenElement,E=p.linkifier,y=p,w=y._bufferService,S=y._renderService,m=y._characterJoinerService,b=y._charSizeService,x=y._coreBrowserService,C=y._decorationService,M=y._logService,I=y._themeService;(0,l.setTraceLogger)(M),this._renderer=new d.CanvasRenderer(_,A,E,w,b,g,m,f,x,C,I),this.register((0,o.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,o.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),S.setRenderer(this._renderer),S.handleResize(w.cols,w.rows),this.register((0,h.toDisposable)((()=>{var B;S.setRenderer(this._terminal._core._createRenderer()),S.handleResize(_.cols,_.rows),(B=this._renderer)==null||B.dispose(),this._renderer=void 0})))}clearTextureAtlas(){var _;(_=this._renderer)==null||_.clearTextureAtlas()}}a.CanvasAddon=u})(),n})()))})(fo)),fo.exports}var bg=Ag();/** + * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. + * @license MIT + * + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * @license MIT + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + */var wg=2,Cg=1,Sg=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var u;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:((u=this._terminal.options.overviewRuler)==null?void 0:u.width)||14,i=window.getComputedStyle(this._terminal.element.parentElement),s=parseInt(i.getPropertyValue("height")),r=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),a={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},o=a.top+a.bottom,h=a.right+a.left,l=s-o,d=r-h-t;return{cols:Math.max(wg,Math.floor(d/e.css.cell.width)),rows:Math.max(Cg,Math.floor(l/e.css.cell.height))}}};/** + * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. + * @license MIT + * + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * @license MIT + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + */var yg=Object.create,$c=Object.defineProperty,xg=Object.getOwnPropertyDescriptor,kg=Object.getOwnPropertyNames,Eg=Object.getPrototypeOf,Bg=Object.prototype.hasOwnProperty,Xr=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Ig=(e,t,i,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of kg(t))!Bg.call(e,r)&&r!==i&&$c(e,r,{get:()=>t[r],enumerable:!(s=xg(t,r))||s.enumerable});return e},$n=(e,t,i)=>(i=e!=null?yg(Eg(e)):{},Ig(!e||!e.__esModule?$c(i,"default",{value:e,enumerable:!0}):i,e)),Wa=Xr(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_FOREGROUND=e.DEFAULT_BACKGROUND=e.PALETTE_ANSI_256=e.PALETTE_VT340_GREY=e.PALETTE_VT340_COLOR=e.normalizeHLS=e.normalizeRGB=e.nearestColorIndex=e.fromRGBA8888=e.toRGBA8888=e.alpha=e.blue=e.green=e.red=e.BIG_ENDIAN=void 0,e.BIG_ENDIAN=new Uint8Array(new Uint32Array([4278190080]).buffer)[0]===255,e.BIG_ENDIAN&&console.warn("BE platform detected. This version of node-sixel works only on LE properly.");function t(_){return _&255}e.red=t;function i(_){return _>>>8&255}e.green=i;function s(_){return _>>>16&255}e.blue=s;function r(_){return _>>>24&255}e.alpha=r;function n(_,p,f,g=255){return((g&255)<<24|(f&255)<<16|(p&255)<<8|_&255)>>>0}e.toRGBA8888=n;function a(_){return[_&255,_>>8&255,_>>16&255,_>>>24]}e.fromRGBA8888=a;function o(_,p){let f=t(_),g=i(_),A=s(_),E=Number.MAX_SAFE_INTEGER,y=-1;for(let w=0;w1&&(f-=1),f*6<1?p+(_-p)*6*f:f*2<1?_:f*3<2?p+(_-p)*(4-f*6):p}function d(_,p,f){if(!f){let E=Math.round(p*255);return n(E,E,E)}let g=p<.5?p*(1+f):p+f-p*f,A=2*p-g;return n(h(0,255,Math.round(l(g,A,_+1/3)*255)),h(0,255,Math.round(l(g,A,_)*255)),h(0,255,Math.round(l(g,A,_-1/3)*255)))}function u(_,p,f){return(4278190080|Math.round(f/100*255)<<16|Math.round(p/100*255)<<8|Math.round(_/100*255))>>>0}e.normalizeRGB=u;function v(_,p,f){return d((_+240%360)/360,p/100,f/100)}e.normalizeHLS=v,e.PALETTE_VT340_COLOR=new Uint32Array([u(0,0,0),u(20,20,80),u(80,13,13),u(20,80,20),u(80,20,80),u(20,80,80),u(80,80,20),u(53,53,53),u(26,26,26),u(33,33,60),u(60,26,26),u(33,60,33),u(60,33,60),u(33,60,60),u(60,60,33),u(80,80,80)]),e.PALETTE_VT340_GREY=new Uint32Array([u(0,0,0),u(13,13,13),u(26,26,26),u(40,40,40),u(6,6,6),u(20,20,20),u(33,33,33),u(46,46,46),u(0,0,0),u(13,13,13),u(26,26,26),u(40,40,40),u(6,6,6),u(20,20,20),u(33,33,33),u(46,46,46)]),e.PALETTE_ANSI_256=(()=>{let _=[n(0,0,0),n(205,0,0),n(0,205,0),n(205,205,0),n(0,0,238),n(205,0,205),n(0,250,205),n(229,229,229),n(127,127,127),n(255,0,0),n(0,255,0),n(255,255,0),n(92,92,255),n(255,0,255),n(0,255,255),n(255,255,255)],p=[0,95,135,175,215,255];for(let f=0;f<6;++f)for(let g=0;g<6;++g)for(let A=0;A<6;++A)_.push(n(p[f],p[g],p[A]));for(let f=8;f<=238;f+=10)_.push(n(f,f,f));return new Uint32Array(_)})(),e.DEFAULT_BACKGROUND=n(0,0,0,255),e.DEFAULT_FOREGROUND=n(255,255,255,255)}),Dg=Xr(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.InWasm=void 0;function t(s){if(typeof Buffer<"u")return Buffer.from(s,"base64");let r=atob(s),n=new Uint8Array(r.length);for(let a=0;ao||(o=t(a)):()=>Promise.resolve(o||(o=t(a))):r===1?n?()=>h||(h=new l.Module(o||(o=t(a)))):()=>h?Promise.resolve(h):l.compile(o||(o=t(a))).then(d=>h=d):n?d=>new l.Instance(h||(h=new l.Module(o||(o=t(a)))),d):d=>h?l.instantiate(h,d):l.instantiate(o||(o=t(a)),d).then(u=>(h=u.module)&&u.instance)}if(typeof _wasmCtx>"u")throw new Error('must run "inwasm"');_wasmCtx.add(s)}e.InWasm=i}),Mg=Xr(e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=Dg(),i=(0,t.InWasm)({s:1,t:0,d:"AGFzbQEAAAABBQFgAAF/Ag8BA2VudgZtZW1vcnkCAAEDAwIAAAcNAgNkZWMAAANlbmQAAQqxAwKuAQEFf0GIKCgCAEGgKGohAUGEKCgCACIAQYAoKAIAQQFrQXxxIgJIBEAgAkGgKGohAyAAQaAoaiEAA0AgAC0AA0ECdCgCgCAgAC0AAkECdCgCgBggAC0AAUECdCgCgBAgAC0AAEECdCgCgAhycnIiBEH///8HSwRAQQEPCyABIAQ2AgAgAUEDaiEBIABBBGoiACADSQ0ACwtBhCggAjYCAEGIKCABQaAoazYCAEEAC/4BAQZ/AkBBgCgoAgAiAUGEKCgCACIAa0EFTgRAQQEhAxAADQFBgCgoAgAhAUGEKCgCACEAC0EBIQMgASAAayIEQQJIDQAgAEGhKGotAABBAnQoAoAQIABBoChqLQAAQQJ0KAKACHIhAQJAIARBAkYEQEEBIQIMAQtBASECIAAtAKIoIgVBPUcEQEECIQIgBUECdCgCgBggAXIhAQsgBEEERw0AIAAtAKMoIgBBPUYNACACQQFqIQIgAEECdCgCgCAgAXIhAQsgAUH///8HSw0AQYgoKAIAQaAoaiABNgIAQYgoQYgoKAIAIAJqIgA2AgAgAEGQKCgCAEchAwsgAwsAdglwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQEFY2xhbmdWMTguMC4wIChodHRwczovL2dpdGh1Yi5jb20vbGx2bS9sbHZtLXByb2plY3QgZDFlNjg1ZGY0NWRjNTk0NGI0M2QyNTQ3ZDAxMzhjZDRhM2VlNGVmZSkALA90YXJnZXRfZmVhdHVyZXMCKw9tdXRhYmxlLWdsb2JhbHMrCHNpZ24tZXh0"}),s=new Uint8Array("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").map(o=>o.charCodeAt(0))),r=new Uint32Array(1024);r.fill(4278190080);for(let o=0;o>4|(o<<4&255)<<8;for(let o=0;o>2<<8|(o<<6&255)<<16;for(let o=0;othis.keepSize?this._inst=this._m32=this._d=this._mem=null:(this._m32[1280]=0,this._m32[1281]=0,this._m32[1282]=0))}init(o){let h=this._m32,l=(Math.ceil(o/3)+1288)*4;this._inst?this._mem.buffer.byteLengthd[1283]?1:(this._d.set(o.subarray(h,l),d[1280]),d[1280]+=l-h,d[1280]-d[1281]>=131072?this._inst.exports.dec():0)}end(){return this._inst?this._inst.exports.end():1}};e.default=a}),Lg=Xr(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.LIMITS=void 0,e.LIMITS={CHUNK_SIZE:16384,PALETTE_SIZE:4096,MAX_WIDTH:16384,BYTES:"AGFzbQEAAAABJAdgAAF/YAJ/fwBgA39/fwF/YAF/AX9gAABgBH9/f38AYAF/AAIlAgNlbnYLaGFuZGxlX2JhbmQAAwNlbnYLbW9kZV9wYXJzZWQAAwMTEgQAAAAAAQQBAQUBAAACAgAGAwQFAXABBwcFBAEBBwcGCAF/AUGAihoLB9wBDgZtZW1vcnkCABFnZXRfc3RhdGVfYWRkcmVzcwADEWdldF9jaHVua19hZGRyZXNzAAQOZ2V0X3AwX2FkZHJlc3MABRNnZXRfcGFsZXR0ZV9hZGRyZXNzAAYEaW5pdAALBmRlY29kZQAMDWN1cnJlbnRfd2lkdGgADQ5jdXJyZW50X2hlaWdodAAOGV9faW5kaXJlY3RfZnVuY3Rpb25fdGFibGUBAAtfaW5pdGlhbGl6ZQACCXN0YWNrU2F2ZQARDHN0YWNrUmVzdG9yZQASCnN0YWNrQWxsb2MAEwkMAQBBAQsGCgcJDxACDAEBCq5UEgMAAQsFAEGgCAsGAEGQiQELBgBBsIkCCwUAQZAJC+okAQh/QeQIKAIAIQVB4AgoAgAhA0HoCCgCACEIIAFBkIkBaiIJQf8BOgAAIAAgAUgEQCAAQZCJAWohBgNAIAMhBCAGQQFqIQECQCAGLQAAQf8AcSIDQTBrQQlLBEAgASEGDAELQewIKAIAQQJ0QewIaiICKAIAIQADQCACIAMgAEEKbGpBMGsiADYCACABLQAAIQMgAUEBaiIGIQEgA0H/AHEiA0Ewa0EKSQ0ACwsCQAJAAkACQAJAAkACQAJ/AkACQCADQT9rIgBBP00EQCAERQ0BIARBIUYEQAJAQfAIKAIAIgFBASABGyIHIAhqIgFB1AgoAgAiA0gNACADQf//AEoNAANAIANBAnQiAkGgiQJqIgRBoAgpAwA3AwAgAkGoiQJqQaAIKQMANwMAIAJBsIkCakGgCCkDADcDACACQbiJAmpBoAgpAwA3AwAgAkHAiQJqQaAIKQMANwMAIAJByIkCakGgCCkDADcDACACQdCJAmpBoAgpAwA3AwAgAkHYiQJqQaAIKQMANwMAIAJB4IkCakGgCCkDADcDACACQeiJAmpBoAgpAwA3AwAgAkHwiQJqQaAIKQMANwMAIAJB+IkCakGgCCkDADcDACACQYCKAmpBoAgpAwA3AwAgAkGIigJqQaAIKQMANwMAIAJBkIoCakGgCCkDADcDACACQZiKAmpBoAgpAwA3AwAgAkGgigJqQaAIKQMANwMAIAJBqIoCakGgCCkDADcDACACQbCKAmpBoAgpAwA3AwAgAkG4igJqQaAIKQMANwMAIAJBwIoCakGgCCkDADcDACACQciKAmpBoAgpAwA3AwAgAkHQigJqQaAIKQMANwMAIAJB2IoCakGgCCkDADcDACACQeCKAmpBoAgpAwA3AwAgAkHoigJqQaAIKQMANwMAIAJB8IoCakGgCCkDADcDACACQfiKAmpBoAgpAwA3AwAgAkGAiwJqQaAIKQMANwMAIAJBiIsCakGgCCkDADcDACACQZCLAmpBoAgpAwA3AwAgAkGYiwJqQaAIKQMANwMAIAJBoIsCakGgCCkDADcDACACQaiLAmpBoAgpAwA3AwAgAkGwiwJqQaAIKQMANwMAIAJBuIsCakGgCCkDADcDACACQcCLAmpBoAgpAwA3AwAgAkHIiwJqQaAIKQMANwMAIAJB0IsCakGgCCkDADcDACACQdiLAmpBoAgpAwA3AwAgAkHgiwJqQaAIKQMANwMAIAJB6IsCakGgCCkDADcDACACQfCLAmpBoAgpAwA3AwAgAkH4iwJqQaAIKQMANwMAIAJBgIwCakGgCCkDADcDACACQYiMAmpBoAgpAwA3AwAgAkGQjAJqQaAIKQMANwMAIAJBmIwCakGgCCkDADcDACACQaCMAmpBoAgpAwA3AwAgAkGojAJqQaAIKQMANwMAIAJBsIwCakGgCCkDADcDACACQbiMAmpBoAgpAwA3AwAgAkHAjAJqQaAIKQMANwMAIAJByIwCakGgCCkDADcDACACQdCMAmpBoAgpAwA3AwAgAkHYjAJqQaAIKQMANwMAIAJB4IwCakGgCCkDADcDACACQeiMAmpBoAgpAwA3AwAgAkHwjAJqQaAIKQMANwMAIAJB+IwCakGgCCkDADcDACACQYCNAmpBoAgpAwA3AwAgAkGIjQJqQaAIKQMANwMAIAJBkI0CakGgCCkDADcDACACQZiNAmpBoAgpAwA3AwAgAkGwiQZqIARBgAT8CgAAQdQIKAIAQQJ0QcCJCmogBEGABPwKAABB1AgoAgBBAnRB0IkOaiAEQYAE/AoAAEHUCCgCAEECdEHgiRJqIARBgAT8CgAAQdQIKAIAQQJ0QfCJFmogBEGABPwKAABB1AhB1AgoAgAiAkGAAWoiAzYCACABIANIDQEgAkGA/wBIDQALCwJAIABFDQAgCEH//wBLDQBBgIABIAhrIAcgAUH//wBLGyECAkAgAEEBcUUNACACRQ0AIAhBAnRBoIkCaiEDIAIhBCACQQdxIgcEQANAIAMgBTYCACADQQRqIQMgBEEBayEEIAdBAWsiBw0ACwsgAkEBa0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgBEEIayIEDQALCwJAIABBAnFFDQAgAkUNACAIQQJ0QbCJBmohAyACIQQgAkEHcSIHBEADQCADIAU2AgAgA0EEaiEDIARBAWshBCAHQQFrIgcNAAsLIAJBAWtBB0kNAANAIAMgBTYCHCADIAU2AhggAyAFNgIUIAMgBTYCECADIAU2AgwgAyAFNgIIIAMgBTYCBCADIAU2AgAgA0EgaiEDIARBCGsiBA0ACwsCQCAAQQRxRQ0AIAJFDQAgCEECdEHAiQpqIQMgAiEEIAJBB3EiBwRAA0AgAyAFNgIAIANBBGohAyAEQQFrIQQgB0EBayIHDQALCyACQQFrQQdJDQADQCADIAU2AhwgAyAFNgIYIAMgBTYCFCADIAU2AhAgAyAFNgIMIAMgBTYCCCADIAU2AgQgAyAFNgIAIANBIGohAyAEQQhrIgQNAAsLAkAgAEEIcUUNACACRQ0AIAhBAnRB0IkOaiEDIAIhBCACQQdxIgcEQANAIAMgBTYCACADQQRqIQMgBEEBayEEIAdBAWsiBw0ACwsgAkEBa0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgBEEIayIEDQALCwJAIABBEHFFDQAgAkUNACAIQQJ0QeCJEmohAyACIQQgAkEHcSIHBEADQCADIAU2AgAgA0EEaiEDIARBAWshBCAHQQFrIgcNAAsLIAJBAWtBB0kNAANAIAMgBTYCHCADIAU2AhggAyAFNgIUIAMgBTYCECADIAU2AgwgAyAFNgIIIAMgBTYCBCADIAU2AgAgA0EgaiEDIARBCGsiBA0ACwsgAEEgcUUNACACRQ0AIAJBAWshByAIQQJ0QfCJFmohAyACQQdxIgQEQANAIAMgBTYCACADQQRqIQMgAkEBayECIARBAWsiBA0ACwsgB0EHSQ0AA0AgAyAFNgIcIAMgBTYCGCADIAU2AhQgAyAFNgIQIAMgBTYCDCADIAU2AgggAyAFNgIEIAMgBTYCACADQSBqIQMgAkEIayICDQALC0HcCEHcCCgCACAAcjYCACAGQQFqIgIgBi0AAEH/AHEiA0E/ayIAQT9LDQQaDAMLAkBB7AgoAgAiBEEBRgRAQfAIKAIAIgNBzAgoAgAiAUkNASADIAFwIQMMAQtB+AgoAgAhAkH0CCgCACEBAkACQCAEQQVHDQAgAUEBRw0AIAJB6QJODQQMAQsgAkHkAEoNA0H8CCgCAEHkAEoNA0GACSgCAEHkAEoNAwsCQCABRQ0AIAFBAkoNACACQfwIKAIAQYAJKAIAIAFBAnRBiAhqKAIAEQIAIQFB8AgoAgAiA0HMCCgCACICTwR/IAMgAnAFIAMLQQJ0QZAJaiABNgIAC0HwCCgCACIDQcwIKAIAIgFJDQAgAyABcCEDCyADQQJ0QZAJaigCACEFDAELIANB/QBxQSFHBEAgCCEBIAYhAgwECyAEQSNHDQQCQEHsCCgCACICQQFGBEBB8AgoAgAiAUHMCCgCACIASQ0BIAEgAHAhAQwBC0H4CCgCACEBQfQIKAIAIQACQAJAIAJBBUcNACAAQQFHDQAgAUHpAkgNAQwHCyABQeQASg0GQfwIKAIAQeQASg0GQYAJKAIAQeQASg0GCwJAIABFDQAgAEECSg0AIAFB/AgoAgBBgAkoAgAgAEECdEGICGooAgARAgAhAEHwCCgCACIBQcwIKAIAIgJPBH8gASACcAUgAQtBAnRBkAlqIAA2AgALQfAIKAIAIgFBzAgoAgAiAEkNACABIABwIQELIAFBAnRBkAlqKAIAIQUMBAsgCCEBIAYhAgtB1AgoAgAhBgNAAkAgASAGSA0AIAZB//8ASg0AIAZBAnQiBEGgiQJqIgZBoAgpAwA3AwAgBEGoiQJqQaAIKQMANwMAIARBsIkCakGgCCkDADcDACAEQbiJAmpBoAgpAwA3AwAgBEHAiQJqQaAIKQMANwMAIARByIkCakGgCCkDADcDACAEQdCJAmpBoAgpAwA3AwAgBEHYiQJqQaAIKQMANwMAIARB4IkCakGgCCkDADcDACAEQeiJAmpBoAgpAwA3AwAgBEHwiQJqQaAIKQMANwMAIARB+IkCakGgCCkDADcDACAEQYCKAmpBoAgpAwA3AwAgBEGIigJqQaAIKQMANwMAIARBkIoCakGgCCkDADcDACAEQZiKAmpBoAgpAwA3AwAgBEGgigJqQaAIKQMANwMAIARBqIoCakGgCCkDADcDACAEQbCKAmpBoAgpAwA3AwAgBEG4igJqQaAIKQMANwMAIARBwIoCakGgCCkDADcDACAEQciKAmpBoAgpAwA3AwAgBEHQigJqQaAIKQMANwMAIARB2IoCakGgCCkDADcDACAEQeCKAmpBoAgpAwA3AwAgBEHoigJqQaAIKQMANwMAIARB8IoCakGgCCkDADcDACAEQfiKAmpBoAgpAwA3AwAgBEGAiwJqQaAIKQMANwMAIARBiIsCakGgCCkDADcDACAEQZCLAmpBoAgpAwA3AwAgBEGYiwJqQaAIKQMANwMAIARBoIsCakGgCCkDADcDACAEQaiLAmpBoAgpAwA3AwAgBEGwiwJqQaAIKQMANwMAIARBuIsCakGgCCkDADcDACAEQcCLAmpBoAgpAwA3AwAgBEHIiwJqQaAIKQMANwMAIARB0IsCakGgCCkDADcDACAEQdiLAmpBoAgpAwA3AwAgBEHgiwJqQaAIKQMANwMAIARB6IsCakGgCCkDADcDACAEQfCLAmpBoAgpAwA3AwAgBEH4iwJqQaAIKQMANwMAIARBgIwCakGgCCkDADcDACAEQYiMAmpBoAgpAwA3AwAgBEGQjAJqQaAIKQMANwMAIARBmIwCakGgCCkDADcDACAEQaCMAmpBoAgpAwA3AwAgBEGojAJqQaAIKQMANwMAIARBsIwCakGgCCkDADcDACAEQbiMAmpBoAgpAwA3AwAgBEHAjAJqQaAIKQMANwMAIARByIwCakGgCCkDADcDACAEQdCMAmpBoAgpAwA3AwAgBEHYjAJqQaAIKQMANwMAIARB4IwCakGgCCkDADcDACAEQeiMAmpBoAgpAwA3AwAgBEHwjAJqQaAIKQMANwMAIARB+IwCakGgCCkDADcDACAEQYCNAmpBoAgpAwA3AwAgBEGIjQJqQaAIKQMANwMAIARBkI0CakGgCCkDADcDACAEQZiNAmpBoAgpAwA3AwAgBEGwiQZqIAZBgAT8CgAAQdQIKAIAQQJ0QcCJCmogBkGABPwKAABB1AgoAgBBAnRB0IkOaiAGQYAE/AoAAEHUCCgCAEECdEHgiRJqIAZBgAT8CgAAQdQIKAIAQQJ0QfCJFmogBkGABPwKAABB1AhB1AgoAgBBgAFqIgY2AgALIAFB//8ATQRAIABBAXEgAWxBAnRBoIkCaiAFNgIAIABBAXZBAXEgAWxBAnRBsIkGaiAFNgIAIABBAnZBAXEgAWxBAnRBwIkKaiAFNgIAIABBA3ZBAXEgAWxBAnRB0IkOaiAFNgIAIABBBHZBAXEgAWxBAnRB4IkSaiAFNgIAIABBBXYgAWxBAnRB8IkWaiAFNgIAQdQIKAIAIQYLIAFBAWohAUHcCEHcCCgCACAAcjYCACACLQAAIQAgAkEBaiIEIQIgAEH/AHEiA0E/ayIAQcAASQ0ACyAECyECQQAhBCACIQYgASEIIANB/QBxQSFGDQELIANBJGsOCgEDAwMDAwMDAwIDC0HsCEIBNwIADAQLQdgIIAFB2AgoAgAiACAAIAFIGyIAQYCAASAAQYCAAUgbNgIADAILQegIIAFB2AgoAgAiACAAIAFIGyIAQYCAASAAQYCAAUgbIgA2AgBB2AggADYCACAAQQRrEAAEQEHoCEEENgIAQdgIQQQ2AgBB0AhBATYCAA8LEAgMAQsCQCADQTtHDQBB7AgoAgAiAEEHSg0AQewIIABBAWo2AgAgAEECdEHwCGpBADYCAAsgAiEGIAQhAyABIQgMAQtBBCEIIAIhBiAEIQMLIAYgCUkNAAsLQeQIIAU2AgBB4AggAzYCAEHoCCAINgIAC9ELAgF+CH9B2AhCBDcDAEGojQJBoAgpAwAiADcDAEGgjQIgADcDAEGYjQIgADcDAEGQjQIgADcDAEGIjQIgADcDAEGAjQIgADcDAEH4jAIgADcDAEHwjAIgADcDAEHojAIgADcDAEHgjAIgADcDAEHYjAIgADcDAEHQjAIgADcDAEHIjAIgADcDAEHAjAIgADcDAEG4jAIgADcDAEGwjAIgADcDAEGojAIgADcDAEGgjAIgADcDAEGYjAIgADcDAEGQjAIgADcDAEGIjAIgADcDAEGAjAIgADcDAEH4iwIgADcDAEHwiwIgADcDAEHoiwIgADcDAEHgiwIgADcDAEHYiwIgADcDAEHQiwIgADcDAEHIiwIgADcDAEHAiwIgADcDAEG4iwIgADcDAEGwiwIgADcDAEGoiwIgADcDAEGgiwIgADcDAEGYiwIgADcDAEGQiwIgADcDAEGIiwIgADcDAEGAiwIgADcDAEH4igIgADcDAEHwigIgADcDAEHoigIgADcDAEHgigIgADcDAEHYigIgADcDAEHQigIgADcDAEHIigIgADcDAEHAigIgADcDAEG4igIgADcDAEGwigIgADcDAEGoigIgADcDAEGgigIgADcDAEGYigIgADcDAEGQigIgADcDAEGIigIgADcDAEGAigIgADcDAEH4iQIgADcDAEHwiQIgADcDAEHoiQIgADcDAEHgiQIgADcDAEHYiQIgADcDAEHQiQIgADcDAEHIiQIgADcDAEHAiQIgADcDAEG4iQIgADcDAEGwiQIgADcDAEGoCCgCACIEQf8AakGAAW0hCAJAIARBgQFIDQBBASEBIAhBAiAIQQJKG0EBayICQQFxIQMgBEGBAk4EQCACQX5xIQIDQCABQQl0IgdBEHJBoIkCakGwiQJBgAT8CgAAIAdBsI0CakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsLIANFDQAgAUEJdEEQckGgiQJqQbCJAkGABPwKAAALAkAgBEEBSA0AIAhBASAIQQFKGyIDQQFxIQUCQCADQQFrIgdFBEBBACEBDAELIANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQbCJBmpBsIkCQYAE/AoAACAGQZAEckGwiQZqQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACwsgBQRAIAFBCXRBEHJBsIkGakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEFIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiBkEQckHAiQpqQbCJAkGABPwKAAAgBkGQBHJBwIkKakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAFBEAgAUECdEHAiQpqQbCJAkGABPwKAAALIARBAUgNACADQQFxIQUgBwR/IANB/v///wdxIQJBACEBA0AgAUEJdCIGQRByQdCJDmpBsIkCQYAE/AoAACAGQZAEckHQiQ5qQbCJAkGABPwKAAAgAUECaiEBIAJBAmsiAg0ACyABQQd0QQRyBUEECyEBIAUEQCABQQJ0QdCJDmpBsIkCQYAE/AoAAAsgBEEBSA0AIANBAXEhBSAHBH8gA0H+////B3EhAkEAIQEDQCABQQl0IgZBEHJB4IkSakGwiQJBgAT8CgAAIAZBkARyQeCJEmpBsIkCQYAE/AoAACABQQJqIQEgAkECayICDQALIAFBB3RBBHIFQQQLIQEgBQRAIAFBAnRB4IkSakGwiQJBgAT8CgAACyAEQQFIDQAgA0EBcSEEIAcEfyADQf7///8HcSECQQAhAQNAIAFBCXQiA0EQckHwiRZqQbCJAkGABPwKAAAgA0GQBHJB8IkWakGwiQJBgAT8CgAAIAFBAmohASACQQJrIgINAAsgAUEHdEEEcgVBBAshASAERQ0AIAFBAnRB8IkWakGwiQJBgAT8CgAAC0HUCCAIQQd0QQRyNgIAC58TAgh/AX5B5AgoAgAhA0HgCCgCACECQegIKAIAIQcgAUGQiQFqIglB/wE6AAAgACABSARAIABBkIkBaiEIA0AgAiEEIAhBAWohAQJAIAgtAABB/wBxIgJBMGtBCUsEQCABIQgMAQtB7AgoAgBBAnRB7AhqIgUoAgAhAANAIAUgAiAAQQpsakEwayIANgIAIAEtAAAhAiABQQFqIgghASACQf8AcSICQTBrQQpJDQALCwJAAkACQAJAAkACQAJ/AkAgAkE/ayIAQT9NBEAgBEUNASAEQSFGBEBB8AgoAgAiAUEBIAEbIgQgB2ohAQJAIABFDQAgB0H//wBLDQBBgIABIAdrIAQgAUH//wBLGyEFAkAgAEEBcUUNACAHQQJ0QaCJAmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEECcUUNACAHQQJ0QbCJBmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEEcUUNACAHQQJ0QcCJCmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEIcUUNACAHQQJ0QdCJDmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLAkAgAEEQcUUNACAHQQJ0QeCJEmohAiAFIgRBB3EiBgRAA0AgAiADNgIAIAJBBGohAiAEQQFrIQQgBkEBayIGDQALCyAFQQFrQQdJDQADQCACIAM2AhwgAiADNgIYIAIgAzYCFCACIAM2AhAgAiADNgIMIAIgAzYCCCACIAM2AgQgAiADNgIAIAJBIGohAiAEQQhrIgQNAAsLIABBIHFFDQAgBUEBayEEIAdBAnRB8IkWaiEAIAVBB3EiAgRAA0AgACADNgIAIABBBGohACAFQQFrIQUgAkEBayICDQALCyAEQQdJDQADQCAAIAM2AhwgACADNgIYIAAgAzYCFCAAIAM2AhAgACADNgIMIAAgAzYCCCAAIAM2AgQgACADNgIAIABBIGohACAFQQhrIgUNAAsLIAhBAWoiBSAILQAAQf8AcSICQT9rIgBBP00NAxoMBAsCQEHsCCgCACIFQQFGBEBB8AgoAgAiAUHMCCgCACIESQ0BIAEgBHAhAQwBC0H4CCgCACEEQfQIKAIAIQECQAJAIAVBBUcNACABQQFHDQAgBEHpAk4NBAwBCyAEQeQASg0DQfwIKAIAQeQASg0DQYAJKAIAQeQASg0DCwJAIAFFDQAgAUECSg0AIARB/AgoAgBBgAkoAgAgAUECdEGICGooAgARAgAhBEHwCCgCACIBQcwIKAIAIgVPBH8gASAFcAUgAQtBAnRBkAlqIAQ2AgALQfAIKAIAIgFBzAgoAgAiBEkNACABIARwIQELIAFBAnRBkAlqKAIAIQMMAQsgAkH9AHFBIUcEQCAHIQEgAiEADAQLIARBI0cNBAJAQewIKAIAIgRBAUYEQEHwCCgCACIBQcwIKAIAIgBJDQEgASAAcCEBDAELQfgIKAIAIQFB9AgoAgAhAAJAAkAgBEEFRw0AIABBAUcNACABQekCSA0BDAcLIAFB5ABKDQZB/AgoAgBB5ABKDQZBgAkoAgBB5ABKDQYLAkAgAEUNACAAQQJKDQAgAUH8CCgCAEGACSgCACAAQQJ0QYgIaigCABECACEAQfAIKAIAIgFBzAgoAgAiBE8EfyABIARwBSABC0ECdEGQCWogADYCAAtB8AgoAgAiAUHMCCgCACIASQ0AIAEgAHAhAQsgAUECdEGQCWooAgAhAwwECyAHIQEgCAshBQNAIAFB//8ATQRAIABBAXEgAWxBAnRBoIkCaiADNgIAIABBAXZBAXEgAWxBAnRBsIkGaiADNgIAIABBAnZBAXEgAWxBAnRBwIkKaiADNgIAIABBA3ZBAXEgAWxBAnRB0IkOaiADNgIAIABBBHZBAXEgAWxBAnRB4IkSaiADNgIAIABBBXYgAWxBAnRB8IkWaiADNgIACyABQQFqIQEgBS0AACEAIAVBAWoiBCEFIABB/wBxIgJBP2siAEHAAEkNAAsgBCEFC0EAIQQgBSEIIAEhByACIQAgAkH9AHFBIUYNAQtBBCEHIAQhAiAAQSRrDgoDAgICAgICAgIBAgtB7AhCATcCAAwCC0GoCCgCAEEEaxAABEBB0AhBATYCAA8LAkBBqAgoAgAiBkEFSA0AQaAIKQMAIQogBkEDa0EBdiIBQQdxIQJBACEAIAFBAWtBB08EQCABQfj///8HcSEFA0AgAEEDdCIBQbCJAmogCjcDACABQQhyQbCJAmogCjcDACABQRByQbCJAmogCjcDACABQRhyQbCJAmogCjcDACABQSByQbCJAmogCjcDACABQShyQbCJAmogCjcDACABQTByQbCJAmogCjcDACABQThyQbCJAmogCjcDACAAQQhqIQAgBUEIayIFDQALCyACRQ0AA0AgAEEDdEGwiQJqIAo3AwAgAEEBaiEAIAJBAWsiAg0ACwtBwIkGQbCJAiAGQQJ0IgD8CgAAQdCJCkGwiQIgAPwKAABB4IkOQbCJAiAA/AoAAEHwiRJBsIkCIAD8CgAAQYCKFkGwiQIgAPwKAAAgBCECDAELAkAgAEE7Rw0AQewIKAIAIgBBB0oNAEHsCCAAQQFqNgIAIABBAnRB8AhqQQA2AgALIAEhBwsgCCAJSQ0ACwtB5AggAzYCAEHgCCACNgIAQegIIAc2AgAL4gcCBX8BfgJAQdAIAn8CQAJAIAAgAU4NACABQZCJAWohBiAAQZCJAWohBQNAIAUtAAAiA0H/AHEhAgJAAkACQAJAAkACQAJAQeAIKAIAIgRBIkcEQCAEDQcgAkEiRgRAQewIQgE3AgBB4AhBIjYCAAwICyACQT9rQcAASQ0GIANBIWsiAkEMTQ0BDAULAkAgAkEwayIEQQlNBEBB7AgoAgBBAnRB7AhqIgIgBCACKAIAQQpsajYCAAwBC0HsCCgCACEEIAJBO0YEQCAEQQdKDQFB7AggBEEBajYCACAEQQJ0QfAIakEANgIADAELIARBBEYEQEHECEECNgIAQbAIQfAIKQMANwMAQbgIQfgIKAIAIgI2AgBBvAhB/AgoAgAiBDYCAEHICEECQQFBwAgoAgAiAxs2AgBBrAggBEEAIAMbNgIAQagIIAJBgIABIAJBgIABSBtBBGpBACADGzYCAEHgCEEANgIADAoLIAJBP2tBwABJDQQLIANBIWsiAkEMTQ0BDAILQQEgAnRBjSBxRQ0DDAQLQQEgAnRBjSBxDQELIANBoQFrIgJBDEsNA0EBIAJ0QY0gcUUNAwtBxAhCgYCAgBA3AgBBsAhB8AgoAgBBAEHsCCgCACICQQBKGzYCAEG0CEH0CCgCAEEAIAJBAUobNgIAQbgIQfgIKAIAQQAgAkECShs2AgBB4AhBADYCAEG8CEEANgIADAQLIANBoQFrIgJBDEsNAUEBIAJ0QY0gcUUNAQtBxAhCgYCAgBA3AgBBsAhCADcDAEG4CEIANwMADAMLIAVBAWoiBSAGSQ0ACwsCQEHICCgCAA4DAwEAAQsCQEGoCCgCACIFQQVIDQBBoAgpAwAhByAFQQNrQQF2IgNBB3EhBEEAIQIgA0EBa0EHTwRAIANB+P///wdxIQYDQCACQQN0IgNBsIkCaiAHNwMAIANBCHJBsIkCaiAHNwMAIANBEHJBsIkCaiAHNwMAIANBGHJBsIkCaiAHNwMAIANBIHJBsIkCaiAHNwMAIANBKHJBsIkCaiAHNwMAIANBMHJBsIkCaiAHNwMAIANBOHJBsIkCaiAHNwMAIAJBCGohAiAGQQhrIgYNAAsLIARFDQADQCACQQN0QbCJAmogBzcDACACQQFqIQIgBEEBayIEDQALC0HAiQZBsIkCIAVBAnQiA/wKAABB0IkKQbCJAiAD/AoAAEHgiQ5BsIkCIAP8CgAAQfCJEkGwiQIgA/wKAABBgIoWQbCJAiAD/AoAAEECDAELEAhByAgoAgALEAEiAjYCACACDQAgACABQcgIKAIAQQJ0QYAIaigCABEBAAsLdABB6AhBBDYCAEHkCCAANgIAQewIQgE3AgBBxAhCADcCAEHACCADNgIAQdwIQgA3AgBBqAhCADcDAEGwCEIANwMAQbgIQgA3AwBBzAggAkGAICACQYAgSRs2AgBBoAggAa1CgYCAgBB+NwMAQdAIQQA2AgALIwBB0AgoAgBFBEAgACABQcgIKAIAQQJ0QYAIaigCABEBAAsLWgECfwJAAkACQEHICCgCAEEBaw4CAAECC0HYCEHoCCgCACIAQdgIKAIAIgEgACABShsiAEGAgAEgAEGAgAFIGyIANgIAIABBBGsPC0GoCCgCAEEEayEACyAAC0IBAX8Cf0EGQdwIKAIAIgBBIHENABpBBSAAQRBxDQAaQQQgAEEIcQ0AGkEDIABBBHENABpBAiAAQQFxIABBAnEbCwu9BQEFfQJ/IAJFBEAgAUH/AWxBMmpB5ABtIgBBCHQgAHIgAEEQdHIMAQsgArJDAADIQpUhBiAAQfABarJDAAC0Q5UhBQJ9IAGyQwAAyEKVIgNDAAAAP10EQCADIAZDAACAP5KUDAELIAYgA0MAAIA/IAaTlJILIQcgAyADkiEGAkAgBUOrqqo+kiIEQwAAAABdBEAgBEMAAIA/kiEEDAELIARDAACAP15FDQAgBEMAAIC/kiEECyAGIAeTIQMgBUMAAAAAXSEAAn8CfSADIAcgA5NDAADAQJQgBJSSIARDq6oqPl0NABogByAEQwAAAD9dDQAaIAMgBEOrqio/XUUNABogAyAHIAOTIARDAADAwJRDAACAQJKUkgtDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALIQECQCAABEAgBUMAAIA/kiEEDAELIAUiBEMAAIA/XkUNACAFQwAAgL+SIQQLIAVDq6qqvpIiBUMAAAAAXSECAn8CfSADIAcgA5NDAADAQJQgBJSSIARDq6oqPl0NABogByAEQwAAAD9dDQAaIAMgBEOrqio/XUUNABogAyAHIAOTIARDAADAwJRDAACAQJKUkgtDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALIQACQCACBEAgBUMAAIA/kiEFDAELIAVDAACAP15FDQAgBUMAAIC/kiEFCwJAIAVDq6oqPl0EQCADIAcgA5NDAADAQJQgBZSSIQcMAQsgBUMAAAA/XQ0AIAVDq6oqP11FBEAgAyEHDAELIAMgByADkyAFQwAAwMCUQwAAgECSlJIhBwsgAEEIdAJ/IAdDAAB/Q5RDAAAAP5IiBkMAAIBPXSAGQwAAAABgcQRAIAapDAELQQALQRB0ciABcgtBgICAeHILNwAgAEH/AWxBMmpB5ABtIAFB/wFsQTJqQeQAbUEIdHIgAkH/AWxBMmpB5ABtQRB0ckGAgIB4cgsEACMACwYAIAAkAAsQACMAIABrQXBxIgAkACAACwsYAQBBgAgLEQEAAAACAAAAAwAAAAQAAAAF"}}),Rg=Xr(e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.decodeAsync=e.decode=e.Decoder=e.DecoderAsync=void 0;var t=Wa(),i=Lg();function s(_){if(typeof Buffer<"u")return Buffer.from(_,"base64");let p=atob(_),f=new Uint8Array(p.length);for(let g=0;g1,this.modeHandler=_=>1}handle_band(_){return this.bandHandler(_)}mode_parsed(_){return this.modeHandler(_)}},h={memoryLimit:2048*65536,sixelColor:t.DEFAULT_FOREGROUND,fillColor:t.DEFAULT_BACKGROUND,palette:t.PALETTE_VT340_COLOR,paletteLimit:i.LIMITS.PALETTE_SIZE,truncate:!0};function l(_){let p=new o,f={env:{handle_band:p.handle_band.bind(p),mode_parsed:p.mode_parsed.bind(p)}};return WebAssembly.instantiate(n||r,f).then(g=>(n=n||g.module,new d(_,g.instance||g,p)))}e.DecoderAsync=l;var d=class{constructor(_,p,f){if(this._PIXEL_OFFSET=i.LIMITS.MAX_WIDTH+4,this._canvas=a,this._bandWidths=[],this._maxWidth=0,this._minWidth=i.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0,this._opts=Object.assign({},h,_),this._opts.paletteLimit>i.LIMITS.PALETTE_SIZE)throw new Error(`DecoderOptions.paletteLimit must not exceed ${i.LIMITS.PALETTE_SIZE}`);if(p)f.bandHandler=this._handle_band.bind(this),f.modeHandler=this._initCanvas.bind(this);else{let g=n||(n=new WebAssembly.Module(r));p=new WebAssembly.Instance(g,{env:{handle_band:this._handle_band.bind(this),mode_parsed:this._initCanvas.bind(this)}})}this._instance=p,this._wasm=this._instance.exports,this._chunk=new Uint8Array(this._wasm.memory.buffer,this._wasm.get_chunk_address(),i.LIMITS.CHUNK_SIZE),this._states=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_state_address(),12),this._palette=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_palette_address(),i.LIMITS.PALETTE_SIZE),this._palette.set(this._opts.palette),this._pSrc=new Uint32Array(this._wasm.memory.buffer,this._wasm.get_p0_address()),this._wasm.init(t.DEFAULT_FOREGROUND,0,this._opts.paletteLimit,0)}get _fillColor(){return this._states[0]}get _truncate(){return this._states[8]}get _rasterWidth(){return this._states[6]}get _rasterHeight(){return this._states[7]}get _width(){return this._states[2]?this._states[2]-4:0}get _height(){return this._states[3]}get _level(){return this._states[9]}get _mode(){return this._states[10]}get _paletteLimit(){return this._states[11]}_initCanvas(_){if(_===2){let p=this.width*this.height;if(p>this._canvas.length){if(this._opts.memoryLimit&&p*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(p)}this._maxWidth=this._width}else if(_===1)if(this._level===2){let p=Math.min(this._rasterWidth,i.LIMITS.MAX_WIDTH)*this._rasterHeight;if(p>this._canvas.length){if(this._opts.memoryLimit&&p*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");this._canvas=new Uint32Array(p)}}else this._canvas.length<65536&&(this._canvas=new Uint32Array(65536));return 0}_realloc(_,p){let f=_+p;if(f>this._canvas.length){if(this._opts.memoryLimit&&f*4>this._opts.memoryLimit)throw this.release(),new Error("image exceeds memory limit");let g=new Uint32Array(Math.ceil(f/65536)*65536);g.set(this._canvas),this._canvas=g}}_handle_band(_){let p=this._PIXEL_OFFSET,f=this._lastOffset;if(this._mode===2){let g=this.height-this._currentHeight,A=0;for(;A<6&&g>0;)this._canvas.set(this._pSrc.subarray(p*A,p*A+_),f+_*A),A++,g--;this._lastOffset+=_*A,this._currentHeight+=A}else if(this._mode===1){this._realloc(f,_*6),this._maxWidth=Math.max(this._maxWidth,_),this._minWidth=Math.min(this._minWidth,_);for(let g=0;g<6;++g)this._canvas.set(this._pSrc.subarray(p*g,p*g+_),f+_*g);this._bandWidths.push(_),this._lastOffset+=_*6,this._currentHeight+=6}return 0}get width(){return this._mode!==1?this._width:Math.max(this._maxWidth,this._wasm.current_width())}get height(){return this._mode!==1?this._height:this._wasm.current_width()?this._bandWidths.length*6+this._wasm.current_height():this._bandWidths.length*6}get palette(){return this._palette.subarray(0,this._paletteLimit)}get memoryUsage(){return this._canvas.byteLength+this._wasm.memory.buffer.byteLength+8*this._bandWidths.length}get properties(){return{width:this.width,height:this.height,mode:this._mode,level:this._level,truncate:!!this._truncate,paletteLimit:this._paletteLimit,fillColor:this._fillColor,memUsage:this.memoryUsage,rasterAttributes:{numerator:this._states[4],denominator:this._states[5],width:this._rasterWidth,height:this._rasterHeight}}}init(_=this._opts.fillColor,p=this._opts.palette,f=this._opts.paletteLimit,g=this._opts.truncate){this._wasm.init(this._opts.sixelColor,_,f,g?1:0),p&&this._palette.set(p.subarray(0,i.LIMITS.PALETTE_SIZE)),this._bandWidths.length=0,this._maxWidth=0,this._minWidth=i.LIMITS.MAX_WIDTH,this._lastOffset=0,this._currentHeight=0}decode(_,p=0,f=_.length){let g=p;for(;g0){let f=this._PIXEL_OFFSET,g=this._lastOffset,A=0;for(;A<6&&p>0;)this._canvas.set(this._pSrc.subarray(f*A,f*A+_),g+_*A),A++,p--;p&&this._canvas.fill(this._fillColor,g+_*A)}return this._canvas.subarray(0,this.width*this.height)}if(this._mode===1){if(this._minWidth===this._maxWidth){let A=!1;if(_)if(_!==this._minWidth)A=!0;else{let E=this._PIXEL_OFFSET,y=this._lastOffset;this._realloc(y,_*6);for(let w=0;w<6;++w)this._canvas.set(this._pSrc.subarray(E*w,E*w+_),y+_*w)}if(!A)return this._canvas.subarray(0,this.width*this.height)}let p=new Uint32Array(this.width*this.height);p.fill(this._fillColor);let f=0,g=0;for(let A=0;A{function t(n){return n<0}e.isLessThan=t;function i(n){return n<=0}e.isLessThanOrEqual=i;function s(n){return n>0}e.isGreaterThan=s;function r(n){return n===0}e.isNeitherLessOrGreaterThan=r,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(Tg||(Tg={}));function Pg(e,t){let i=this,s=!1,r;return function(){return s||(s=!0,t||(r=e.apply(i,arguments))),r}}var Gc;(e=>{function t(w){return w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}e.is=t;let i=Object.freeze([]);function s(){return i}e.empty=s;function*r(w){yield w}e.single=r;function n(w){return t(w)?w:r(w)}e.wrap=n;function a(w){return w||i}e.from=a;function*o(w){for(let S=w.length-1;S>=0;S--)yield w[S]}e.reverse=o;function h(w){return!w||w[Symbol.iterator]().next().done===!0}e.isEmpty=h;function l(w){return w[Symbol.iterator]().next().value}e.first=l;function d(w,S){let m=0;for(let b of w)if(S(b,m++))return!0;return!1}e.some=d;function u(w,S){for(let m of w)if(S(m))return m}e.find=u;function*v(w,S){for(let m of w)S(m)&&(yield m)}e.filter=v;function*_(w,S){let m=0;for(let b of w)yield S(b,m++)}e.map=_;function*p(w,S){let m=0;for(let b of w)yield*S(b,m++)}e.flatMap=p;function*f(...w){for(let S of w)yield*S}e.concat=f;function g(w,S,m){let b=m;for(let x of w)b=S(b,x);return b}e.reduce=g;function*A(w,S,m=w.length){for(S<0&&(S+=w.length),m<0?m+=w.length:m>w.length&&(m=w.length);S1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function Qg(e){return{dispose:Pg(()=>{e()})}}var Kc=class Jc{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Og(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Jc.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),void 0)}};Kc.DISABLE_DISPOSED_WARNING=!1;var Ng=Kc,jc=class{constructor(){this._store=new Ng,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};jc.None=Object.freeze({dispose(){}});var Fg=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e}},Hg=4096,vo=24,Gn=class as extends jc{constructor(t){super(),this._terminal=t,this._optionsRefresh=this._register(new Fg),this._oldOpen=this._terminal._core.open,this._terminal._core.open=i=>{var s;(s=this._oldOpen)==null||s.call(this._terminal._core,i),this._open()},this._terminal._core.screenElement&&this._open(),this._optionsRefresh.value=this._terminal._core.optionsService.onOptionChange(i=>{var s;i==="fontSize"&&(this.rescaleCanvas(),(s=this._renderService)==null||s.refreshRows(0,this._terminal.rows))}),this._register(Qg(()=>{var i;this.removeLayerFromDom(),this._terminal._core&&this._oldOpen&&(this._terminal._core.open=this._oldOpen,this._oldOpen=void 0),this._renderService&&this._oldSetRenderer&&(this._renderService.setRenderer=this._oldSetRenderer,this._oldSetRenderer=void 0),this._renderService=void 0,this.canvas=void 0,this._ctx=void 0,(i=this._placeholderBitmap)==null||i.close(),this._placeholderBitmap=void 0,this._placeholder=void 0}))}static createCanvas(t,i,s){let r=(t||document).createElement("canvas");return r.width=i|0,r.height=s|0,r}static createImageData(t,i,s,r){if(typeof ImageData!="function"){let n=t.createImageData(i,s);return r&&n.data.set(new Uint8ClampedArray(r,0,i*s*4)),n}return r?new ImageData(new Uint8ClampedArray(r,0,i*s*4),i,s):new ImageData(i,s)}static createImageBitmap(t){return typeof createImageBitmap!="function"?Promise.resolve(void 0):createImageBitmap(t)}showPlaceholder(t){var i,s;t?!this._placeholder&&this.cellSize.height!==-1&&this._createPlaceHolder(Math.max(this.cellSize.height+1,vo)):((i=this._placeholderBitmap)==null||i.close(),this._placeholderBitmap=void 0,this._placeholder=void 0),(s=this._renderService)==null||s.refreshRows(0,this._terminal.rows)}get dimensions(){var t;return(t=this._renderService)==null?void 0:t.dimensions}get cellSize(){var t,i;return{width:((t=this.dimensions)==null?void 0:t.css.cell.width)||-1,height:((i=this.dimensions)==null?void 0:i.css.cell.height)||-1}}clearLines(t,i){var s,r,n,a;(a=this._ctx)==null||a.clearRect(0,t*(((s=this.dimensions)==null?void 0:s.css.cell.height)||0),((r=this.dimensions)==null?void 0:r.css.canvas.width)||0,(++i-t)*(((n=this.dimensions)==null?void 0:n.css.cell.height)||0))}clearAll(){var t,i,s;(s=this._ctx)==null||s.clearRect(0,0,((t=this.canvas)==null?void 0:t.width)||0,((i=this.canvas)==null?void 0:i.height)||0)}draw(t,i,s,r,n=1){if(!this._ctx)return;let{width:a,height:o}=this.cellSize;if(a===-1||o===-1)return;this._rescaleImage(t,a,o);let h=t.actual,l=Math.ceil(h.width/a),d=i%l*a,u=Math.floor(i/l)*o,v=s*a,_=r*o,p=n*a+d>h.width?h.width-d:n*a,f=u+o>h.height?h.height-u:o;this._ctx.drawImage(h,Math.floor(d),Math.floor(u),Math.ceil(p),Math.ceil(f),Math.floor(v),Math.floor(_),Math.ceil(p),Math.ceil(f))}extractTile(t,i){let{width:s,height:r}=this.cellSize;if(s===-1||r===-1)return;this._rescaleImage(t,s,r);let n=t.actual,a=Math.ceil(n.width/s),o=i%a*s,h=Math.floor(i/a)*r,l=s+o>n.width?n.width-o:s,d=h+r>n.height?n.height-h:r,u=as.createCanvas(this.document,l,d),v=u.getContext("2d");if(v)return v.drawImage(n,Math.floor(o),Math.floor(h),Math.floor(l),Math.floor(d),0,0,Math.floor(l),Math.floor(d)),u}drawPlaceholder(t,i,s=1){if(this._ctx){let{width:r,height:n}=this.cellSize;if(r===-1||n===-1||(this._placeholder?n>=this._placeholder.height&&this._createPlaceHolder(n+1):this._createPlaceHolder(Math.max(n+1,vo)),!this._placeholder))return;this._ctx.drawImage(this._placeholderBitmap||this._placeholder,t*r,i*n%2?0:1,r*s,n,t*r,i*n,r*s,n)}}rescaleCanvas(){this.canvas&&(this.canvas.width!==this.dimensions.css.canvas.width||this.canvas.height!==this.dimensions.css.canvas.height)&&(this.canvas.width=this.dimensions.css.canvas.width||0,this.canvas.height=this.dimensions.css.canvas.height||0)}_rescaleImage(t,i,s){if(i===t.actualCellSize.width&&s===t.actualCellSize.height)return;let{width:r,height:n}=t.origCellSize;if(i===r&&s===n){t.actual=t.orig,t.actualCellSize.width=r,t.actualCellSize.height=n;return}let a=as.createCanvas(this.document,Math.ceil(t.orig.width*i/r),Math.ceil(t.orig.height*s/n)),o=a.getContext("2d");o&&(o.drawImage(t.orig,0,0,a.width,a.height),t.actual=a,t.actualCellSize.width=i,t.actualCellSize.height=s)}_open(){this._renderService=this._terminal._core._renderService,this._oldSetRenderer=this._renderService.setRenderer.bind(this._renderService),this._renderService.setRenderer=t=>{var i;this.removeLayerFromDom(),(i=this._oldSetRenderer)==null||i.call(this._renderService,t)}}insertLayerToDom(){var t,i;this.document&&this._terminal._core.screenElement?this.canvas||(this.canvas=as.createCanvas(this.document,((t=this.dimensions)==null?void 0:t.css.canvas.width)||0,((i=this.dimensions)==null?void 0:i.css.canvas.height)||0),this.canvas.classList.add("xterm-image-layer"),this._terminal._core.screenElement.appendChild(this.canvas),this._ctx=this.canvas.getContext("2d",{alpha:!0,desynchronized:!0}),this.clearAll()):console.warn("image addon: cannot insert output canvas to DOM, missing document or screenElement")}removeLayerFromDom(){this.canvas&&(this._ctx=void 0,this.canvas.remove(),this.canvas=void 0)}_createPlaceHolder(t=vo){var u;(u=this._placeholderBitmap)==null||u.close(),this._placeholderBitmap=void 0;let i=32,s=as.createCanvas(this.document,i,t),r=s.getContext("2d",{alpha:!1});if(!r)return;let n=as.createImageData(r,i,t),a=new Uint32Array(n.data.buffer),o=(0,th.toRGBA8888)(0,0,0),h=(0,th.toRGBA8888)(255,255,255);a.fill(o);for(let v=0;vthis._placeholderBitmap=v)}get document(){var t;return(t=this._terminal._core._coreBrowserService)==null?void 0:t.window.document}},Nr={width:7,height:14},ga=class Yc{constructor(t=0,i=0,s=-1,r=-1){this.imageId=s,this.tileId=r,this._ext=0,this._urlId=0,this._ext=t,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}get urlId(){return this._urlId}set urlId(t){this._urlId=t}clone(){return new Yc(this._ext,this._urlId,this.imageId,this.tileId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0&&this.imageId===-1}},mr=new ga,Wg=class{constructor(e,t,i){this._terminal=e,this._renderer=t,this._opts=i,this._images=new Map,this._lastId=0,this._lowestId=0,this._fullyCleared=!1,this._needsFullClear=!1,this._pixelLimit=25e5;try{this.setLimit(this._opts.storageLimit)}catch(s){console.error(s.message),console.warn(`storageLimit is set to ${this.getLimit()} MB`)}this._viewportMetrics={cols:this._terminal.cols,rows:this._terminal.rows}}dispose(){this.reset()}reset(){var e;for(let t of this._images.values())(e=t.marker)==null||e.dispose();this._images.clear(),this._renderer.clearAll()}getLimit(){return this._pixelLimit*4/1e6}setLimit(e){if(e<.5||e>1e3)throw RangeError("invalid storageLimit, should be at least 0.5 MB and not exceed 1G");this._pixelLimit=e/4*1e6>>>0,this._evictOldest(0)}getUsage(){return this._getStoredPixels()*4/1e6}_getStoredPixels(){let e=0;for(let t of this._images.values())t.orig&&(e+=t.orig.width*t.orig.height,t.actual&&t.actual!==t.orig&&(e+=t.actual.width*t.actual.height));return e}_delImg(e){let t=this._images.get(e);this._images.delete(e),t&&window.ImageBitmap&&t.orig instanceof ImageBitmap&&t.orig.close()}wipeAlternate(){var t;let e=[];for(let[i,s]of this._images.entries())s.bufferType==="alternate"&&((t=s.marker)==null||t.dispose(),e.push(i));for(let i of e)this._delImg(i);this._needsFullClear=!0,this._fullyCleared=!1}advanceCursor(e){if(this._opts.sixelScrolling){let t=this._renderer.cellSize;(t.width===-1||t.height===-1)&&(t=Nr);let i=Math.ceil(e/t.height);for(let s=1;s=a);++E)this._writeToCell(A,d+E,r,g*i+E),u++;if(this._opts.sixelScrolling)g=o)break;n.x=d}this._terminal._core._inputHandler._dirtyRowTracker.markDirty(n.y),this._opts.sixelScrolling?n.x=d:(n.x=h,n.y=l);let v=[];for(let[g,A]of this._images.entries())A.tileCount<1&&((f=A.marker)==null||f.dispose(),v.push(g));for(let g of v)this._delImg(g);let _=this._terminal.registerMarker(0);_==null||_.onDispose(()=>{this._images.get(r)&&this._delImg(r)}),this._terminal.buffer.active.type==="alternate"&&this._evictOnAlternate();let p={orig:e,origCellSize:t,actual:e,actualCellSize:{...t},marker:_||void 0,tileCount:u,bufferType:this._terminal.buffer.active.type};this._images.set(r,p)}render(e){if(!this._renderer.canvas&&this._images.size&&(this._renderer.insertLayerToDom(),!this._renderer.canvas))return;if(this._renderer.rescaleCanvas(),!this._images.size){this._fullyCleared||(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1),this._renderer.canvas&&this._renderer.removeLayerFromDom();return}this._needsFullClear&&(this._renderer.clearAll(),this._fullyCleared=!0,this._needsFullClear=!1);let{start:t,end:i}=e,s=this._terminal._core.buffer,r=this._terminal._core.cols;this._renderer.clearLines(t,i);for(let n=t;n<=i;++n){let a=s.lines.get(n+s.ydisp);if(!a)return;for(let o=0;o=e.cols){this._viewportMetrics=e;return}let t=this._terminal._core.buffer,i=t.lines.length,s=this._viewportMetrics.cols-1;for(let n=0;n=d)continue;let u=!1;for(let p=s+1;p>e.cols;++p)if(a._data[p*3+0]&4194303){u=!0;break}if(u)continue;let v=Math.min(e.cols,d-o.tileId%d+s),_=o.tileId;for(let p=s+1;p57)throw new Error("illegal char");t=t*10+e[i]-48}return t}function ih(e){let t=Ln(e);if(!t.match(/^((auto)|(\d+?((px)|(%)){0,1}))$/))throw new Error("illegal size");return t}function qg(e){if(typeof Buffer<"u")return Buffer.from(Ln(e),"base64").toString();let t=atob(Ln(e)),i=new Uint8Array(t.length);for(let s=0;s6)return-1;for(let a=t;a=po)return this._a();n[r++]=o}break;case 58:return s===3&&!this._storeValue(r)?this._a():(this.state=4,a+1);default:if(r>=po)return this._a();n[r++]=o}}return this.state=s,this._position=r,-2}_a(){return this.state=1,-1}_storeKey(e){let t=Ln(this._buffer.subarray(0,e));return t?(this._key=t,this.fields[t]=null,!0):!1}_storeValue(e){if(this._key){try{let t=this._buffer.slice(0,e);this.fields[this._key]=sh[this._key]?sh[this._key](t):t}catch{return!1}return!0}return!1}},Rn={mime:"unsupported",width:0,height:0};function $g(e){if(e.length<24)return Rn;let t=new Uint32Array(e.buffer,e.byteOffset,6);if(t[0]===1196314761&&t[1]===169478669&&t[3]===1380206665)return{mime:"image/png",width:e[16]<<24|e[17]<<16|e[18]<<8|e[19],height:e[20]<<24|e[21]<<16|e[22]<<8|e[23]};if(e[0]===255&&e[1]===216&&e[2]===255){let[i,s]=Gg(e);return{mime:"image/jpeg",width:i,height:s}}return t[0]===944130375&&(e[4]===55||e[4]===57)&&e[5]===97?{mime:"image/gif",width:e[7]<<8|e[6],height:e[9]<<8|e[8]}:Rn}function Gg(e){let t=e.length,i=4,s=e[i]<<8|e[i+1];for(;;){if(i+=s,i>=t)return[0,0];if(e[i]!==255)return[0,0];if(e[i+1]===192||e[i+1]===194)return i+80){if(this._header=Object.assign({},mo,this._hp.fields),!this._header.inline||!this._header.size||this._header.size>this._opts.iipSizeLimit){this._aborted=!0;return}this._dec.init(this._header.size),this._dec.put(e,s,i)&&(this._dec.release(),this._aborted=!0)}}}end(e){if(this._aborted)return!0;let t=0,i=0,s=!0;if((s=e)&&(s=!this._dec.end())&&(this._metrics=$g(this._dec.data8),(s=this._metrics.mime!=="unsupported")&&(t=this._metrics.width,i=this._metrics.height,(s=t&&i&&t*i{a.addEventListener("load",()=>{var l;URL.revokeObjectURL(n);let h=Gn.createCanvas(window.document,t,i);(l=h.getContext("2d"))==null||l.drawImage(a,0,0,t,i),this._storage.addImage(h),o(!0)}),a.src=n,setTimeout(()=>o(!0),1e3)})}return createImageBitmap(r,{resizeWidth:t,resizeHeight:i}).then(n=>(this._storage.addImage(n),!0))}_resize(e,t){var h,l,d,u;let i=((h=this._renderer.dimensions)==null?void 0:h.css.cell.width)||Nr.width,s=((l=this._renderer.dimensions)==null?void 0:l.css.cell.height)||Nr.height,r=((d=this._renderer.dimensions)==null?void 0:d.css.canvas.width)||i*this._coreTerminal.cols,n=((u=this._renderer.dimensions)==null?void 0:u.css.canvas.height)||s*this._coreTerminal.rows,a=this._dim(this._header.width,r,i),o=this._dim(this._header.height,n,s);if(!a&&!o){let v=r/e,_=(n-s)/t,p=Math.min(v,_);return p<1?[e*p,t*p]:[e,t]}return a?this._header.preserveAspectRatio||!a||!o?[a,t*a/e]:[a,o]:[e*o/t,o]}_dim(e,t,i){return e==="auto"?0:e.endsWith("%")?parseInt(e.slice(0,-1))*t/100:e.endsWith("px")?parseInt(e.slice(0,-2)):parseInt(e)*i}},Fr=$n(Wa()),jg=$n(Rg()),Yg=4194304,pa=Fr.PALETTE_ANSI_256;pa.set(Fr.PALETTE_VT340_COLOR);var Vg=class{constructor(e,t,i){this._opts=e,this._storage=t,this._coreTerminal=i,this._size=0,this._aborted=!1,(0,jg.DecoderAsync)({memoryLimit:this._opts.pixelLimit*4,palette:pa,paletteLimit:this._opts.sixelPaletteLimit}).then(s=>this._dec=s)}reset(){this._dec&&(this._dec.release(),this._dec._palette.fill(0),this._dec.init(0,pa,this._opts.sixelPaletteLimit))}hook(e){var t;if(this._size=0,this._aborted=!1,this._dec){let i=e.params[1]===1?0:Xg(this._coreTerminal._core._inputHandler._curAttrData,(t=this._coreTerminal._core._themeService)==null?void 0:t.colors);this._dec.init(i,null,this._opts.sixelPaletteLimit)}}put(e,t,i){if(!(this._aborted||!this._dec)){if(this._size+=i-t,this._size>this._opts.sixelSizeLimit){console.warn("SIXEL: too much data, aborting"),this._aborted=!0,this._dec.release();return}try{this._dec.decode(e,t,i)}catch(s){console.warn(`SIXEL: error while decoding image - ${s}`),this._aborted=!0,this._dec.release()}}}unhook(e){var r;if(this._aborted||!e||!this._dec)return!0;let t=this._dec.width,i=this._dec.height;if(!t||!i)return i&&this._storage.advanceCursor(i),!0;let s=Gn.createCanvas(void 0,t,i);return(r=s.getContext("2d"))==null||r.putImageData(new ImageData(this._dec.data8,t,i),0,0),this._dec.memoryUsage>Yg&&this._dec.release(),this._storage.addImage(s),!0}};function Xg(e,t){let i=0;if(!t)return i;if(e.isInverse())if(e.isFgDefault())i=hn(t.foreground.rgba);else if(e.isFgRGB()){let s=e.constructor.toColorRGB(e.getFgColor());i=(0,Fr.toRGBA8888)(...s)}else i=hn(t.ansi[e.getFgColor()].rgba);else if(e.isBgDefault())i=hn(t.background.rgba);else if(e.isBgRGB()){let s=e.constructor.toColorRGB(e.getBgColor());i=(0,Fr.toRGBA8888)(...s)}else i=hn(t.ansi[e.getBgColor()].rgba);return i}function hn(e){return Fr.BIG_ENDIAN?e:(e&255)<<24|(e>>>8&255)<<16|(e>>>16&255)<<8|e>>>24&255}var nh={enableSizeReports:!0,pixelLimit:16777216,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:256,sixelSizeLimit:25e6,storageLimit:128,showPlaceholder:!0,iipSupport:!0,iipSizeLimit:2e7},oh=4096,Zg=class{constructor(e){this._disposables=[],this._handlers=new Map,this._opts=Object.assign({},nh,e),this._defaultOpts=Object.assign({},nh,e)}dispose(){for(let e of this._disposables)e.dispose();this._disposables.length=0,this._handlers.clear()}_disposeLater(...e){for(let t of e)this._disposables.push(t)}activate(e){if(this._terminal=e,this._renderer=new Gn(e),this._storage=new Wg(e,this._renderer,this._opts),this._opts.enableSizeReports){let t=e.options.windowOptions||{};t.getWinSizePixels=!0,t.getCellSizePixels=!0,t.getWinSizeChars=!0,e.options.windowOptions=t}if(this._disposeLater(this._renderer,this._storage,e.parser.registerCsiHandler({prefix:"?",final:"h"},t=>this._decset(t)),e.parser.registerCsiHandler({prefix:"?",final:"l"},t=>this._decrst(t)),e.parser.registerCsiHandler({final:"c"},t=>this._da1(t)),e.parser.registerCsiHandler({prefix:"?",final:"S"},t=>this._xtermGraphicsAttributes(t)),e.onRender(t=>{var i;return(i=this._storage)==null?void 0:i.render(t)}),e.parser.registerCsiHandler({intermediates:"!",final:"p"},()=>this.reset()),e.parser.registerEscHandler({final:"c"},()=>this.reset()),e._core._inputHandler.onRequestReset(()=>this.reset()),e.buffer.onBufferChange(()=>{var t;return(t=this._storage)==null?void 0:t.wipeAlternate()}),e.onResize(t=>{var i;return(i=this._storage)==null?void 0:i.viewportResize(t)})),this._opts.sixelSupport){let t=new Vg(this._opts,this._storage,e);this._handlers.set("sixel",t),this._disposeLater(e._core._inputHandler._parser.registerDcsHandler({final:"q"},t))}if(this._opts.iipSupport){let t=new Jg(this._opts,this._renderer,this._storage,e);this._handlers.set("iip",t),this._disposeLater(e._core._inputHandler._parser.registerOscHandler(1337,t))}}reset(){var e;this._opts.sixelScrolling=this._defaultOpts.sixelScrolling,this._opts.sixelPaletteLimit=this._defaultOpts.sixelPaletteLimit,(e=this._storage)==null||e.reset();for(let t of this._handlers.values())t.reset();return!1}get storageLimit(){var e;return((e=this._storage)==null?void 0:e.getLimit())||-1}set storageLimit(e){var t;(t=this._storage)==null||t.setLimit(e),this._opts.storageLimit=e}get storageUsage(){return this._storage?this._storage.getUsage():-1}get showPlaceholder(){return this._opts.showPlaceholder}set showPlaceholder(e){var t;this._opts.showPlaceholder=e,(t=this._renderer)==null||t.showPlaceholder(e)}getImageAtBufferCell(e,t){var i;return(i=this._storage)==null?void 0:i.getImageAtBufferCell(e,t)}extractTileAtBufferCell(e,t){var i;return(i=this._storage)==null?void 0:i.extractTileAtBufferCell(e,t)}_report(e){var t;(t=this._terminal)==null||t._core.coreService.triggerDataEvent(e)}_decset(e){for(let t=0;t2&&!(e[2]instanceof Array)&&e[2]<=oh?(this._opts.sixelPaletteLimit=e[2],this._report(`\x1B[?${e[0]};0;${this._opts.sixelPaletteLimit}S`)):this._report(`\x1B[?${e[0]};2S`),!0;case 4:return this._report(`\x1B[?${e[0]};0;${oh}S`),!0;default:return this._report(`\x1B[?${e[0]};2S`),!0}if(e[0]===2)switch(e[1]){case 1:let o=(i=(t=this._renderer)==null?void 0:t.dimensions)==null?void 0:i.css.canvas.width,h=(r=(s=this._renderer)==null?void 0:s.dimensions)==null?void 0:r.css.canvas.height;if(!o||!h){let d=Nr;o=(((n=this._terminal)==null?void 0:n.cols)||80)*d.width,h=(((a=this._terminal)==null?void 0:a.rows)||24)*d.height}if(o*hn.delete(v)}async function u(v){r=v;try{const{settings:_}=await r.request["settings.getAll"]({}),p=_.ui_font_family??ui.uiFontFamily,f=parseInt(_.ui_font_size??"",10),g=isNaN(f)?ui.uiFontSize:f,A=_.term_font_family??ui.termFontFamily,E=parseInt(_.term_font_size??"",10),y=isNaN(E)?ui.termFontSize:E;a(p,g),o(A,y)}catch(_){console.error("[font-store] Failed to load font settings:",_),a(ui.uiFontFamily,ui.uiFontSize),o(ui.termFontFamily,ui.termFontSize)}}return{get uiFontFamily(){return c(e)},get uiFontSize(){return c(t)},get termFontFamily(){return c(i)},get termFontSize(){return c(s)},setUIFont:h,setTermFont:l,onTermFontChange:d,initFonts:u}}const Ht=ep(),za=[{id:"mocha",label:"Catppuccin Mocha",group:"Catppuccin",isDark:!0},{id:"macchiato",label:"Catppuccin Macchiato",group:"Catppuccin",isDark:!0},{id:"frappe",label:"Catppuccin Frappé",group:"Catppuccin",isDark:!0},{id:"latte",label:"Catppuccin Latte",group:"Catppuccin",isDark:!1},{id:"vscode-dark",label:"VSCode Dark+",group:"Editor",isDark:!0},{id:"atom-one-dark",label:"Atom One Dark",group:"Editor",isDark:!0},{id:"monokai",label:"Monokai",group:"Editor",isDark:!0},{id:"dracula",label:"Dracula",group:"Editor",isDark:!0},{id:"nord",label:"Nord",group:"Editor",isDark:!0},{id:"solarized-dark",label:"Solarized Dark",group:"Editor",isDark:!0},{id:"github-dark",label:"GitHub Dark",group:"Editor",isDark:!0},{id:"tokyo-night",label:"Tokyo Night",group:"Deep Dark",isDark:!0},{id:"gruvbox-dark",label:"Gruvbox Dark",group:"Deep Dark",isDark:!0},{id:"ayu-dark",label:"Ayu Dark",group:"Deep Dark",isDark:!0},{id:"poimandres",label:"Poimandres",group:"Deep Dark",isDark:!0},{id:"vesper",label:"Vesper",group:"Deep Dark",isDark:!0},{id:"midnight",label:"Midnight",group:"Deep Dark",isDark:!0}],tp=[...new Set(za.map(e=>e.group))],ah={latte:{rosewater:"#dc8a78",flamingo:"#dd7878",pink:"#ea76cb",mauve:"#8839ef",red:"#d20f39",maroon:"#e64553",peach:"#fe640b",yellow:"#df8e1d",green:"#40a02b",teal:"#179299",sky:"#04a5e5",sapphire:"#209fb5",blue:"#1e66f5",lavender:"#7287fd",text:"#4c4f69",subtext1:"#5c5f77",subtext0:"#6c6f85",overlay2:"#7c7f93",overlay1:"#8c8fa1",overlay0:"#9ca0b0",surface2:"#acb0be",surface1:"#bcc0cc",surface0:"#ccd0da",base:"#eff1f5",mantle:"#e6e9ef",crust:"#dce0e8"},frappe:{rosewater:"#f2d5cf",flamingo:"#eebebe",pink:"#f4b8e4",mauve:"#ca9ee6",red:"#e78284",maroon:"#ea999c",peach:"#ef9f76",yellow:"#e5c890",green:"#a6d189",teal:"#81c8be",sky:"#99d1db",sapphire:"#85c1dc",blue:"#8caaee",lavender:"#babbf1",text:"#c6d0f5",subtext1:"#b5bfe2",subtext0:"#a5adce",overlay2:"#949cbb",overlay1:"#838ba7",overlay0:"#737994",surface2:"#626880",surface1:"#51576d",surface0:"#414559",base:"#303446",mantle:"#292c3c",crust:"#232634"},macchiato:{rosewater:"#f4dbd6",flamingo:"#f0c6c6",pink:"#f5bde6",mauve:"#c6a0f6",red:"#ed8796",maroon:"#ee99a0",peach:"#f5a97f",yellow:"#eed49f",green:"#a6da95",teal:"#8bd5ca",sky:"#91d7e3",sapphire:"#7dc4e4",blue:"#8aadf4",lavender:"#b7bdf8",text:"#cad3f5",subtext1:"#b8c0e0",subtext0:"#a5adcb",overlay2:"#939ab7",overlay1:"#8087a2",overlay0:"#6e738d",surface2:"#5b6078",surface1:"#494d64",surface0:"#363a4f",base:"#24273a",mantle:"#1e2030",crust:"#181926"},mocha:{rosewater:"#f5e0dc",flamingo:"#f2cdcd",pink:"#f5c2e7",mauve:"#cba6f7",red:"#f38ba8",maroon:"#eba0ac",peach:"#fab387",yellow:"#f9e2af",green:"#a6e3a1",teal:"#94e2d5",sky:"#89dceb",sapphire:"#74c7ec",blue:"#89b4fa",lavender:"#b4befe",text:"#cdd6f4",subtext1:"#bac2de",subtext0:"#a6adc8",overlay2:"#9399b2",overlay1:"#7f849c",overlay0:"#6c7086",surface2:"#585b70",surface1:"#45475a",surface0:"#313244",base:"#1e1e2e",mantle:"#181825",crust:"#11111b"},"vscode-dark":{rosewater:"#d4a0a0",flamingo:"#cf8686",pink:"#c586c0",mauve:"#c586c0",red:"#f44747",maroon:"#d16969",peach:"#ce9178",yellow:"#dcdcaa",green:"#6a9955",teal:"#4ec9b0",sky:"#9cdcfe",sapphire:"#4fc1ff",blue:"#569cd6",lavender:"#b4b4f7",text:"#d4d4d4",subtext1:"#cccccc",subtext0:"#b0b0b0",overlay2:"#858585",overlay1:"#6e6e6e",overlay0:"#5a5a5a",surface2:"#3e3e42",surface1:"#333338",surface0:"#2d2d30",base:"#1e1e1e",mantle:"#181818",crust:"#111111"},"atom-one-dark":{rosewater:"#e5c07b",flamingo:"#e06c75",pink:"#c678dd",mauve:"#c678dd",red:"#e06c75",maroon:"#be5046",peach:"#d19a66",yellow:"#e5c07b",green:"#98c379",teal:"#56b6c2",sky:"#56b6c2",sapphire:"#61afef",blue:"#61afef",lavender:"#c8ccd4",text:"#abb2bf",subtext1:"#9da5b4",subtext0:"#8b92a0",overlay2:"#7f848e",overlay1:"#636d83",overlay0:"#545862",surface2:"#474b56",surface1:"#3b3f4c",surface0:"#333842",base:"#282c34",mantle:"#21252b",crust:"#181a1f"},monokai:{rosewater:"#f8f8f2",flamingo:"#f92672",pink:"#f92672",mauve:"#ae81ff",red:"#f92672",maroon:"#f92672",peach:"#fd971f",yellow:"#e6db74",green:"#a6e22e",teal:"#66d9ef",sky:"#66d9ef",sapphire:"#66d9ef",blue:"#66d9ef",lavender:"#ae81ff",text:"#f8f8f2",subtext1:"#e8e8e2",subtext0:"#cfcfc2",overlay2:"#a8a8a2",overlay1:"#90908a",overlay0:"#75715e",surface2:"#595950",surface1:"#49483e",surface0:"#3e3d32",base:"#272822",mantle:"#1e1f1c",crust:"#141411"},dracula:{rosewater:"#f1c4e0",flamingo:"#ff79c6",pink:"#ff79c6",mauve:"#bd93f9",red:"#ff5555",maroon:"#ff6e6e",peach:"#ffb86c",yellow:"#f1fa8c",green:"#50fa7b",teal:"#8be9fd",sky:"#8be9fd",sapphire:"#8be9fd",blue:"#6272a4",lavender:"#bd93f9",text:"#f8f8f2",subtext1:"#e8e8e2",subtext0:"#c0c0ba",overlay2:"#a0a0a0",overlay1:"#7f7f7f",overlay0:"#6272a4",surface2:"#555969",surface1:"#44475a",surface0:"#383a4a",base:"#282a36",mantle:"#21222c",crust:"#191a21"},nord:{rosewater:"#d08770",flamingo:"#bf616a",pink:"#b48ead",mauve:"#b48ead",red:"#bf616a",maroon:"#bf616a",peach:"#d08770",yellow:"#ebcb8b",green:"#a3be8c",teal:"#8fbcbb",sky:"#88c0d0",sapphire:"#81a1c1",blue:"#5e81ac",lavender:"#b48ead",text:"#eceff4",subtext1:"#e5e9f0",subtext0:"#d8dee9",overlay2:"#a5adba",overlay1:"#8891a0",overlay0:"#6c7588",surface2:"#4c566a",surface1:"#434c5e",surface0:"#3b4252",base:"#2e3440",mantle:"#272c36",crust:"#20242c"},"solarized-dark":{rosewater:"#d33682",flamingo:"#dc322f",pink:"#d33682",mauve:"#6c71c4",red:"#dc322f",maroon:"#cb4b16",peach:"#cb4b16",yellow:"#b58900",green:"#859900",teal:"#2aa198",sky:"#2aa198",sapphire:"#268bd2",blue:"#268bd2",lavender:"#6c71c4",text:"#839496",subtext1:"#93a1a1",subtext0:"#778a8b",overlay2:"#657b83",overlay1:"#586e75",overlay0:"#4a6068",surface2:"#1c4753",surface1:"#143845",surface0:"#073642",base:"#002b36",mantle:"#00222b",crust:"#001a21"},"github-dark":{rosewater:"#ffa198",flamingo:"#ff7b72",pink:"#f778ba",mauve:"#d2a8ff",red:"#ff7b72",maroon:"#ffa198",peach:"#ffa657",yellow:"#e3b341",green:"#7ee787",teal:"#56d4dd",sky:"#79c0ff",sapphire:"#79c0ff",blue:"#58a6ff",lavender:"#d2a8ff",text:"#c9d1d9",subtext1:"#b1bac4",subtext0:"#8b949e",overlay2:"#6e7681",overlay1:"#565c64",overlay0:"#484f58",surface2:"#373e47",surface1:"#30363d",surface0:"#21262d",base:"#0d1117",mantle:"#090c10",crust:"#050608"},"tokyo-night":{rosewater:"#f7768e",flamingo:"#ff9e64",pink:"#bb9af7",mauve:"#bb9af7",red:"#f7768e",maroon:"#db4b4b",peach:"#ff9e64",yellow:"#e0af68",green:"#9ece6a",teal:"#73daca",sky:"#7dcfff",sapphire:"#7aa2f7",blue:"#7aa2f7",lavender:"#bb9af7",text:"#c0caf5",subtext1:"#a9b1d6",subtext0:"#9aa5ce",overlay2:"#787c99",overlay1:"#565f89",overlay0:"#414868",surface2:"#3b4261",surface1:"#292e42",surface0:"#232433",base:"#1a1b26",mantle:"#16161e",crust:"#101014"},"gruvbox-dark":{rosewater:"#d65d0e",flamingo:"#cc241d",pink:"#d3869b",mauve:"#b16286",red:"#fb4934",maroon:"#cc241d",peach:"#fe8019",yellow:"#fabd2f",green:"#b8bb26",teal:"#8ec07c",sky:"#83a598",sapphire:"#83a598",blue:"#458588",lavender:"#d3869b",text:"#ebdbb2",subtext1:"#d5c4a1",subtext0:"#bdae93",overlay2:"#a89984",overlay1:"#928374",overlay0:"#7c6f64",surface2:"#504945",surface1:"#3c3836",surface0:"#32302f",base:"#1d2021",mantle:"#191b1c",crust:"#141617"},"ayu-dark":{rosewater:"#f07178",flamingo:"#f07178",pink:"#d2a6ff",mauve:"#d2a6ff",red:"#f07178",maroon:"#f07178",peach:"#ff8f40",yellow:"#ffb454",green:"#aad94c",teal:"#95e6cb",sky:"#73b8ff",sapphire:"#59c2ff",blue:"#59c2ff",lavender:"#d2a6ff",text:"#bfbdb6",subtext1:"#acaaa4",subtext0:"#9b9892",overlay2:"#73726e",overlay1:"#5c5b57",overlay0:"#464542",surface2:"#383838",surface1:"#2c2c2c",surface0:"#242424",base:"#0b0e14",mantle:"#080a0f",crust:"#05070a"},poimandres:{rosewater:"#d0679d",flamingo:"#d0679d",pink:"#fcc5e9",mauve:"#a6accd",red:"#d0679d",maroon:"#d0679d",peach:"#e4f0fb",yellow:"#fffac2",green:"#5de4c7",teal:"#5de4c7",sky:"#89ddff",sapphire:"#add7ff",blue:"#91b4d5",lavender:"#a6accd",text:"#e4f0fb",subtext1:"#d0d6e0",subtext0:"#a6accd",overlay2:"#767c9d",overlay1:"#506477",overlay0:"#3e4f5e",surface2:"#303340",surface1:"#252b37",surface0:"#1e2433",base:"#1b1e28",mantle:"#171922",crust:"#12141c"},vesper:{rosewater:"#de6e6e",flamingo:"#de6e6e",pink:"#c79bf0",mauve:"#c79bf0",red:"#de6e6e",maroon:"#de6e6e",peach:"#ffcfa8",yellow:"#ffc799",green:"#7cb37c",teal:"#6bccb0",sky:"#8abeb7",sapphire:"#6eb4bf",blue:"#6eb4bf",lavender:"#c79bf0",text:"#b8b5ad",subtext1:"#a09d95",subtext0:"#878480",overlay2:"#6e6b66",overlay1:"#55524d",overlay0:"#3d3a36",surface2:"#302e2a",surface1:"#252320",surface0:"#1c1a17",base:"#101010",mantle:"#0a0a0a",crust:"#050505"},midnight:{rosewater:"#e8a0bf",flamingo:"#ea6f91",pink:"#e8a0bf",mauve:"#c4a7e7",red:"#eb6f92",maroon:"#ea6f91",peach:"#f6c177",yellow:"#ebbcba",green:"#9ccfd8",teal:"#9ccfd8",sky:"#a4d4e4",sapphire:"#8bbee8",blue:"#7ba4cc",lavender:"#c4a7e7",text:"#c4c4c4",subtext1:"#a8a8a8",subtext0:"#8c8c8c",overlay2:"#6e6e6e",overlay1:"#525252",overlay0:"#383838",surface2:"#262626",surface1:"#1a1a1a",surface0:"#111111",base:"#000000",mantle:"#000000",crust:"#000000"}},ip=za;function qa(e){return ah[e]??ah.mocha}function sp(e){const t=qa(e);return{background:t.base,foreground:t.text,cursor:t.rosewater,cursorAccent:t.base,selectionBackground:t.surface1,selectionForeground:t.text,black:t.surface1,red:t.red,green:t.green,yellow:t.yellow,blue:t.blue,magenta:t.pink,cyan:t.teal,white:t.subtext1,brightBlack:t.surface2,brightRed:t.red,brightGreen:t.green,brightYellow:t.yellow,brightBlue:t.blue,brightMagenta:t.pink,brightCyan:t.teal,brightWhite:t.subtext0}}const wn=[["--ctp-rosewater","rosewater"],["--ctp-flamingo","flamingo"],["--ctp-pink","pink"],["--ctp-mauve","mauve"],["--ctp-red","red"],["--ctp-maroon","maroon"],["--ctp-peach","peach"],["--ctp-yellow","yellow"],["--ctp-green","green"],["--ctp-teal","teal"],["--ctp-sky","sky"],["--ctp-sapphire","sapphire"],["--ctp-blue","blue"],["--ctp-lavender","lavender"],["--ctp-text","text"],["--ctp-subtext1","subtext1"],["--ctp-subtext0","subtext0"],["--ctp-overlay2","overlay2"],["--ctp-overlay1","overlay1"],["--ctp-overlay0","overlay0"],["--ctp-surface2","surface2"],["--ctp-surface1","surface1"],["--ctp-surface0","surface0"],["--ctp-base","base"],["--ctp-mantle","mantle"],["--ctp-crust","crust"]];function Vc(e){const t=qa(e),i=document.documentElement.style;for(const[s,r]of wn)i.setProperty(s,t[r])}const lh="theme",Ao="mocha";function rp(e){return za.some(t=>t.id===e)}function np(){let e=V(Ao),t=null;function i(n){Vc(n),N(e,n,!0)}function s(n){i(n),t&&t.request["settings.set"]({key:lh,value:n}).catch(a=>{console.error("[theme-store] Failed to persist theme:",a)})}async function r(n){t=n;try{const o=(await t.request["settings.get"]({key:lh})).value;o&&rp(o)?i(o):i(Ao)}catch(a){console.error("[theme-store] Failed to load theme from settings:",a),i(Ao)}}return{get currentTheme(){return c(e)},setTheme:s,initTheme:r}}const Xs=np();var op=q('
          ');function ap(e,t){vt(t,!0);let i,s,r,n=null,a=null;function o(l){const d=atob(l),u=new Uint8Array(d.length);for(let v=0;v{var v,_;const l=Xs.currentTheme,d=Ht.termFontFamily||"JetBrains Mono, Fira Code, monospace",u=Ht.termFontSize||13;s=new mg({theme:sp(l),fontFamily:d,fontSize:u,cursorBlink:!0,allowProposedApi:!0,scrollback:5e3}),r=new Sg,s.loadAddon(r),s.loadAddon(new bg.CanvasAddon),s.loadAddon(new Zg({enableSizeReports:!0,sixelSupport:!0,sixelScrolling:!0,sixelPaletteLimit:4096,showPlaceholder:!0})),s.open(i),r.fit(),n=Ht.onTermFontChange((p,f)=>{var g;s.options.fontFamily=p||"JetBrains Mono, Fira Code, monospace",s.options.fontSize=f,r.fit(),(g=ws.rpc)==null||g.request["pty.resize"]({sessionId:t.sessionId,cols:s.cols,rows:s.rows}).catch(()=>{})}),(async()=>{var A;const{cols:p,rows:f}=s,g=await((A=ws.rpc)==null?void 0:A.request["pty.create"]({sessionId:t.sessionId,cols:p,rows:f,cwd:t.cwd}));g!=null&&g.ok||(s.writeln(`\x1B[31m[agor] Failed to connect to PTY daemon: ${(g==null?void 0:g.error)??"unknown error"}\x1B[0m`),s.writeln("\x1B[33m[agor] Is agor-ptyd running? Start it with: agor-ptyd\x1B[0m"))})(),(v=ws.rpc)==null||v.addMessageListener("pty.output",({sessionId:p,data:f})=>{p===t.sessionId&&s.write(o(f))}),(_=ws.rpc)==null||_.addMessageListener("pty.closed",({sessionId:p,exitCode:f})=>{p===t.sessionId&&s.writeln(`\r +\x1B[90m[Process exited${f!==null?` with code ${f}`:""}]\x1B[0m`)}),s.onData(p=>{var f;(f=ws.rpc)==null||f.request["pty.write"]({sessionId:t.sessionId,data:p}).catch(g=>{console.error("[pty.write] error:",g)})}),s.onResize(({cols:p,rows:f})=>{var g;(g=ws.rpc)==null||g.request["pty.resize"]({sessionId:t.sessionId,cols:p,rows:f}).catch(()=>{})}),a=new ResizeObserver(()=>{r.fit()}),a.observe(i)}),bu(()=>{var l;n==null||n(),a==null||a.disconnect(),(l=ws.rpc)==null||l.request["pty.unsubscribe"]({sessionId:t.sessionId}).catch(()=>{}),s==null||s.dispose()});var h=op();Tr(h,l=>i=l,()=>i),H(e,h),gt()}var lp=q(''),hp=q('
          '),cp=q('
          '),dp=q('
          '),up=q('
          ');function _p(e,t){vt(t,!0);let i=ei(t,"accent",3,"var(--ctp-mauve)");const r=`${t.projectId}-t1`;let n=V(Fe([{id:r,title:"shell 1"}])),a=V(r),o=V(!0),h=V(2),l=V(Fe(new Set([r])));function d(){document.activeElement instanceof HTMLElement&&document.activeElement.blur()}function u(){d();const C=`${t.projectId}-t${c(h)}`;N(n,[...c(n),{id:C,title:`shell ${c(h)}`}],!0),Yd(h),N(a,C),N(l,new Set([...c(l),C]),!0)}function v(C,M){M.stopPropagation(),d();const I=c(n).findIndex(D=>D.id===C);if(N(n,c(n).filter(D=>D.id!==C),!0),c(a)===C){const D=c(n)[Math.min(I,c(n).length-1)];N(a,(D==null?void 0:D.id)??"",!0)}const B=new Set(c(l));B.delete(C),N(l,B,!0)}function _(C){d(),N(a,C,!0),c(l).has(C)||N(l,new Set([...c(l),C]),!0),c(o)||N(o,!0)}function p(){d(),N(o,!c(o))}var f=up(),g=k(f);g.__mousedown=d;var A=k(g);A.__click=p;var E=k(A);let y;var w=L(A,2),S=k(w);Me(S,17,()=>c(n),C=>C.id,(C,M)=>{var I=hp();let B;I.__click=()=>_(c(M).id),I.__keydown=O=>{(O.key==="Enter"||O.key===" ")&&_(c(M).id)};var D=k(I),T=k(D),R=L(D,2);{var Q=O=>{var P=lp();P.__click=z=>v(c(M).id,z),X(()=>_e(P,"aria-label",`Close ${c(M).title??""}`)),H(O,P)};se(R,O=>{c(n).length>1&&O(Q)})}X(()=>{B=be(I,1,"term-tab svelte-n9472g",null,B,{active:c(a)===c(M).id}),_e(I,"tabindex",c(a)===c(M).id?0:-1),_e(I,"aria-selected",c(a)===c(M).id),G(T,c(M).title)}),H(C,I)});var m=L(S,2);m.__click=()=>u();var b=L(g,2);{var x=C=>{var M=dp();Me(M,21,()=>c(n),I=>I.id,(I,B)=>{var D=Lt(),T=Ve(D);{var R=Q=>{var O=cp();let P;var z=k(O);ap(z,{get sessionId(){return c(B).id}}),X(()=>P=li(O,"",P,{display:c(a)===c(B).id?"flex":"none"})),H(Q,O)};se(T,Q=>{c(l).has(c(B).id)&&Q(R)})}H(I,D)}),H(C,M)};se(b,C=>{c(o)&&C(x)})}X(()=>{li(f,`--accent: ${i()??""}`),_e(A,"title",c(o)?"Collapse terminal":"Expand terminal"),y=be(E,0,"chevron svelte-n9472g",null,y,{open:c(o)})}),H(e,f),gt()}Bt(["mousedown","click","keydown"]);var fp=q(' ',1),vp=q(''),gp=q('
          (click to open in editor)
          '),pp=q('
          ');function mp(e,t){vt(t,!0);const i=[{name:"src",type:"dir",children:[{name:"lib",type:"dir",children:[{name:"stores",type:"dir",children:[{name:"workspace.svelte.ts",type:"file"},{name:"agents.svelte.ts",type:"file"},{name:"health.svelte.ts",type:"file"}]},{name:"adapters",type:"dir",children:[{name:"claude-messages.ts",type:"file"},{name:"agent-bridge.ts",type:"file"}]},{name:"agent-dispatcher.ts",type:"file"}]},{name:"App.svelte",type:"file"}]},{name:"src-tauri",type:"dir",children:[{name:"src",type:"dir",children:[{name:"lib.rs",type:"file"},{name:"btmsg.rs",type:"file"}]}]},{name:"Cargo.toml",type:"file"},{name:"package.json",type:"file"},{name:"vite.config.ts",type:"file"}];let s=V(Fe(new Set(["src","src/lib","src/lib/stores"]))),r=V(null);function n(v){const _=new Set(c(s));_.has(v)?_.delete(v):_.add(v),N(s,_,!0)}function a(v){N(r,v,!0)}function o(v){return v.endsWith(".ts")||v.endsWith(".svelte.ts")?"⟨/⟩":v.endsWith(".svelte")?"◈":v.endsWith(".rs")?"⊕":v.endsWith(".toml")?"⚙":v.endsWith(".json")?"{}":"·"}var h=pp(),l=k(h);{const v=(_,p=jn,f=jn,g=jn)=>{var A=Lt(),E=Ve(A);{var y=S=>{var m=fp(),b=Ve(m);b.__click=()=>n(f());let x;var C=k(b);let M;var I=L(C,4),B=k(I),D=L(b,2);{var T=R=>{var Q=Lt(),O=Ve(Q);Me(O,17,()=>p().children,qe,(P,z)=>{v(P,()=>c(z),()=>`${f()}/${c(z).name}`,()=>g()+1)}),H(R,Q)};se(D,R=>{c(s).has(f())&&p().children&&R(T)})}X((R,Q)=>{_e(b,"aria-expanded",R),x=li(b,"",x,{"padding-left":`${.5+g()*.875}rem`}),M=be(C,1,"fb-chevron svelte-ly4nw6",null,M,Q),G(B,p().name)},[()=>c(s).has(f()),()=>({open:c(s).has(f())})]),H(S,m)},w=S=>{var m=vp();let b;m.__click=()=>a(f());let x;var C=k(m),M=k(C),I=L(C,2),B=k(I);X(D=>{b=be(m,1,"fb-row fb-file svelte-ly4nw6",null,b,{selected:c(r)===f()}),_e(m,"title",f()),x=li(m,"",x,{"padding-left":`${.5+g()*.875}rem`}),G(M,D),G(B,p().name)},[()=>o(p().name)]),H(S,m)};se(E,S=>{p().type==="dir"?S(y):S(w,!1)})}H(_,A)};Me(l,21,()=>i,qe,(_,p)=>{v(_,()=>c(p),()=>c(p).name,()=>0)})}var d=L(l,2);{var u=v=>{var _=gp(),p=k(_),f=k(p);X(()=>G(f,c(r))),H(v,_)};se(d,v=>{c(r)&&v(u)})}H(e,h),gt()}Bt(["click"]);Td();var Ap=q(' '),bp=q('

          '),wp=q('
          via Memora
          ');function Cp(e){const t=[{id:1,title:"Agent Orchestrator — Tech Stack",body:"Tauri 2.x + Svelte 5 frontend. Rust backend with rusqlite (WAL mode). Agent sessions via @anthropic-ai/claude-agent-sdk query(). Sidecar uses stdio NDJSON.",tags:["agor","tech-stack","architecture"],trust:"human",updatedAt:"2026-03-20"},{id:2,title:"btmsg SQLite conventions",body:'All queries use named column access (row.get("column_name")) — never positional indices. Rust structs use #[serde(rename_all = "camelCase")].',tags:["agor","database","btmsg"],trust:"agent",updatedAt:"2026-03-19"},{id:3,title:"Wake Scheduler — 3 strategies",body:"persistent=resume prompt, on-demand=fresh session, smart=threshold-gated on-demand. 6 wake signals from S-3 hybrid tribunal. Pure scorer in wake-scorer.ts (24 tests).",tags:["agor","wake-scheduler","agents"],trust:"agent",updatedAt:"2026-03-18"},{id:4,title:"Svelte 5 runes file extension rule",body:'Store files using Svelte 5 runes ($state, $derived) MUST have .svelte.ts extension. Plain .ts compiles but fails at runtime with "rune_outside_svelte".',tags:["agor","svelte","conventions"],trust:"auto",updatedAt:"2026-03-17"}],i={human:"Human",agent:"Agent",auto:"Auto"};var s=wp(),r=k(s),n=k(r),a=k(n),o=L(r,2);Me(o,5,()=>t,h=>h.id,(h,l)=>{var d=bp(),u=k(d),v=k(u),_=k(v),p=L(v,2),f=k(p),g=L(u,2),A=k(g),E=L(g,2),y=k(E);Me(y,5,()=>c(l).tags,qe,(m,b)=>{var x=Ap(),C=k(x);X(()=>G(C,c(b))),H(m,x)});var w=L(y,2),S=k(w);X(()=>{G(_,c(l).title),be(p,1,`trust-badge trust-${c(l).trust??""}`,"svelte-1k7ge8m"),_e(p,"title",`Source: ${i[c(l).trust]??""}`),G(f,i[c(l).trust]),G(A,c(l).body),G(S,c(l).updatedAt)}),H(h,d)}),X(()=>G(a,`${t.length??""} fragments`)),H(e,s)}var Sp=q(' '),yp=q(' '),xp=q(" "),kp=q(' '),Ep=q(''),Bp=q(' '),Ip=q(''),Dp=q(''),Mp=q('
          No markdown files open
          '),Lp=q('
          '),Rp=q('
          Tokens used
          Context %
          Model
          '),Tp=q('
          '),Pp=q('
          No SSH connections configured
          '),Op=q('
          '),Qp=q('
          ');function bo(e,t){vt(t,!0);let i=ei(t,"provider",3,"claude"),s=ei(t,"model",3,"claude-opus-4-5"),r=ei(t,"contextPct",3,0),n=ei(t,"burnRate",3,0),a=ei(t,"blinkVisible",3,!0),o=ei(t,"clonesAtMax",3,!1),h=V(!1),l=V(""),d=V("");const u=/^[a-zA-Z0-9/_.-]+$/;function v(){N(l,""),N(d,""),N(h,!0)}function _(){var le;if(!u.test(c(l))){N(d,"Use only letters, numbers, /, _, -, .");return}(le=t.onClone)==null||le.call(t,t.id),N(h,!1)}let p=V("model");const f=t.messages.slice();let g=V(Fe(f)),A=V(Fe(new Set(["model"])));const E=["model","docs","context","files","ssh","memory"];function y(le){N(p,le,!0),N(A,new Set([...c(A),le]),!0)}function w(le){const ne={id:c(g).length+1,role:"user",content:le};N(g,[...c(g),ne],!0),setTimeout(()=>{N(g,[...c(g),{id:c(g).length+1,role:"assistant",content:`(demo) Received: "${le}"`}],!0)},400)}var S=Qp();let m;var b=k(S),x=k(b),C=k(x);let M;var I=L(x,2),B=k(I),D=L(I,2),T=k(D),R=L(D,2);{var Q=le=>{var ne=Sp(),xe=k(ne);X(()=>{_e(ne,"title",`Worktree branch: ${t.worktreeBranch??""}`),G(xe,`WT · ${t.worktreeBranch??""}`)}),H(le,ne)};se(R,le=>{t.worktreeBranch&&le(Q)})}var O=L(R,2),P=k(O),z=L(O,2);{var U=le=>{var ne=yp(),xe=k(ne);X(()=>{_e(ne,"title",`Profile: ${t.profile??""}`),G(xe,t.profile)}),H(le,ne)};se(z,le=>{t.profile&&le(U)})}var ue=L(z,2);{var fe=le=>{var ne=xp();let xe;var $e=k(ne);X(()=>{xe=be(ne,1,"ctx-badge svelte-1aqfagj",null,xe,{"ctx-warn":r()>=75,"ctx-danger":r()>=90}),_e(ne,"title",`Context window ${r()??""}% used`),G($e,`${r()??""}%`)}),H(le,ne)};se(ue,le=>{r()>50&&le(fe)})}var F=L(ue,2);{var Y=le=>{var ne=kp(),xe=k(ne);X($e=>G(xe,`$${$e??""}/hr`),[()=>n().toFixed(2)]),H(le,ne)};se(F,le=>{n()>0&&le(Y)})}var ve=L(F,2);{var pe=le=>{var ne=Ep();ne.__click=v,X(()=>{ne.disabled=o(),_e(ne,"title",o()?"Maximum 3 clones reached":"Clone into git worktree")}),H(le,ne)};se(ve,le=>{!t.cloneOf&&t.onClone&&le(pe)})}var j=L(b,2);{var W=le=>{var ne=Ip();ne.__keydown=tt=>{tt.key==="Escape"&&N(h,!1)};var xe=L(k(ne),2);xe.__keydown=tt=>{tt.key==="Enter"&&_()},Qh(xe);var $e=L(xe,2);{var Xe=tt=>{var Ot=Bp(),Yt=k(Ot);X(()=>G(Yt,c(d))),H(tt,Ot)};se($e,tt=>{c(d)&&tt(Xe)})}var Qe=L($e,2),Pe=k(Qe);Pe.__click=()=>N(h,!1);var Ze=L(Pe,2);Ze.__click=_,Fs(xe,()=>c(l),tt=>N(l,tt)),H(le,ne)};se(j,le=>{c(h)&&le(W)})}var $=L(j,2);Me($,21,()=>E,qe,(le,ne)=>{var xe=Dp();let $e;xe.__click=()=>y(c(ne));var Xe=k(xe);X(Qe=>{$e=be(xe,1,"tab-btn svelte-1aqfagj",null,$e,{active:c(p)===c(ne)}),_e(xe,"aria-selected",c(p)===c(ne)),_e(xe,"aria-controls",`tabpanel-${t.id??""}-${c(ne)??""}`),G(Xe,Qe)},[()=>c(ne).charAt(0).toUpperCase()+c(ne).slice(1)]),H(le,xe)});var ee=L($,2),te=k(ee);let ce;var re=k(te);l_(re,{get messages(){return c(g)},get status(){return t.status},get costUsd(){return t.costUsd},get tokens(){return t.tokens},get model(){return s()},get provider(){return i()},get profile(){return t.profile},get contextPct(){return r()},get burnRate(){return n()},onSend:w});var oe=L(re,2);_p(oe,{get projectId(){return t.id},get accent(){return t.accent}});var Ce=L(te,2);{var we=le=>{var ne=Mp();let xe;X(()=>{_e(ne,"id",`tabpanel-${t.id??""}-docs`),xe=li(ne,"",xe,{display:c(p)==="docs"?"flex":"none"})}),H(le,ne)};se(Ce,le=>{c(A).has("docs")&&le(we)})}var me=L(Ce,2);{var ke=le=>{var ne=Rp();let xe;var $e=k(ne),Xe=k($e),Qe=k(Xe),Pe=L(k(Qe),2),Ze=k(Pe),tt=L(Qe,2),Ot=L(k(tt),2),Yt=k(Ot),Ci=L(tt,2),Ue=L(k(Ci),2),at=k(Ue),Qt=L(Xe,2),Ii=k(Qt);let Ui,ie;var Z=L(Qt,2),Ie=L(k(Z),2);Me(Ie,17,()=>c(g).slice(0,5),qe,(Te,je)=>{var qt=Lp(),Dt=k(qt),Vt=k(Dt),rt=L(Dt,2),pt=k(rt);X(wt=>{be(Dt,1,`ctx-turn-role ctx-role-${c(je).role??""}`,"svelte-1aqfagj"),G(Vt,c(je).role),G(pt,`${wt??""}${c(je).content.length>60?"…":""}`)},[()=>c(je).content.slice(0,60)]),H(Te,qt)}),X(Te=>{_e(ne,"id",`tabpanel-${t.id??""}-context`),xe=li(ne,"",xe,{display:c(p)==="context"?"flex":"none"}),G(Ze,Te),G(Yt,`${r()??""}%`),G(at,s()),_e(Qt,"title",`${r()??""}% context used`),Ui=be(Ii,1,"ctx-meter-bar svelte-1aqfagj",null,Ui,{"meter-warn":r()>=75,"meter-danger":r()>=90}),ie=li(Ii,"",ie,{width:`${r()??""}%`})},[()=>t.tokens.toLocaleString()]),H(le,ne)};se(me,le=>{c(A).has("context")&&le(ke)})}var He=L(me,2);{var Ae=le=>{var ne=Tp();let xe;var $e=k(ne);mp($e,{}),X(()=>{_e(ne,"id",`tabpanel-${t.id??""}-files`),xe=li(ne,"",xe,{display:c(p)==="files"?"flex":"none"})}),H(le,ne)};se(He,le=>{c(A).has("files")&&le(Ae)})}var ye=L(He,2);{var Be=le=>{var ne=Pp();let xe;X(()=>{_e(ne,"id",`tabpanel-${t.id??""}-ssh`),xe=li(ne,"",xe,{display:c(p)==="ssh"?"flex":"none"})}),H(le,ne)};se(ye,le=>{c(A).has("ssh")&&le(Be)})}var ge=L(ye,2);{var Se=le=>{var ne=Op();let xe;var $e=k(ne);Cp($e),X(()=>{_e(ne,"id",`tabpanel-${t.id??""}-memory`),xe=li(ne,"",xe,{display:c(p)==="memory"?"flex":"none"})}),H(le,ne)};se(ge,le=>{c(A).has("memory")&&le(Se)})}X(()=>{m=be(S,1,"project-card svelte-1aqfagj",null,m,{"is-clone":!!t.cloneOf}),li(S,`--accent: ${t.accent??""}`),_e(S,"aria-label",`Project: ${t.name??""}${t.cloneOf?" (worktree clone)":""}`),_e(x,"aria-label",`Status: ${t.status??""}`),M=be(C,1,`status-dot ${t.status??""}`,"svelte-1aqfagj",M,{"blink-off":t.status==="running"&&!a()}),_e(C,"aria-label",t.status),_e(I,"title",t.name),G(B,t.name),_e(D,"title",t.cwd),G(T,t.cwd),_e(O,"title",`Provider: ${i()??""}`),G(P,i()),_e($,"aria-label",`${t.name??""} tabs`),_e(te,"id",`tabpanel-${t.id??""}-model`),ce=li(te,"",ce,{display:c(p)==="model"?"flex":"none"})}),H(e,S),gt()}Bt(["click","keydown"]);var Np=q('

          '),Fp=q('
          '),Hp=q('
          '),Wp=q('
          Accents
          Neutrals
          ');function zp(e,t){vt(t,!0);const i=["rosewater","flamingo","pink","mauve","red","maroon","peach","yellow","green","teal","sky","sapphire","blue","lavender"],s=["text","subtext1","subtext0","overlay2","overlay1","overlay0","surface2","surface1","surface0","base","mantle","crust"];let r=V(Fe({...t.initialPalette})),n=V("My Custom Theme"),a=V(!1),o=V("");function h(){const T=document.documentElement.style;for(const[R,Q]of wn)T.setProperty(R,c(r)[Q])}function l(T,R){N(r,{...c(r),[T]:R},!0),h()}function d(){N(r,{...t.initialPalette},!0),h()}async function u(){if(!c(n).trim()){N(o,"Theme name is required");return}N(o,""),N(a,!0);const T=`custom-${Date.now()}`,R={};for(const[,Q]of wn)R[Q]=c(r)[Q];try{await(he==null?void 0:he.request["themes.saveCustom"]({id:T,name:c(n).trim(),palette:R})),t.onSave(T,c(n).trim())}catch(Q){console.error("[ThemeEditor] save failed:",Q)}finally{N(a,!1)}}function v(){Vc(Xs.currentTheme),t.onCancel()}function _(){const T={};for(const[,z]of wn)T[z]=c(r)[z];const R=JSON.stringify({name:c(n),palette:T},null,2),Q=new Blob([R],{type:"application/json"}),O=URL.createObjectURL(Q),P=document.createElement("a");P.href=O,P.download=`${c(n).replace(/\s+/g,"-").toLowerCase()}.json`,P.click(),URL.revokeObjectURL(O)}function p(){const T=document.createElement("input");T.type="file",T.accept=".json,application/json",T.onchange=async()=>{var Q;const R=(Q=T.files)==null?void 0:Q[0];if(R)try{const O=await R.text(),P=JSON.parse(O);if(P.name&&N(n,P.name,!0),P.palette&&typeof P.palette=="object"){N(r,{...basePalette},!0);for(const[z,U]of Object.entries(P.palette))z in c(r)&&typeof U=="string"&&(c(r)[z]=U);N(r,{...c(r)},!0),h()}}catch{}},T.click()}function f(T){return T[0].toUpperCase()+T.slice(1)}var g=Wp(),A=k(g),E=k(A),y=L(E,2);y.__click=_;var w=L(y,2);w.__click=p;var S=L(w,2);S.__click=d;var m=L(A,2);{var b=T=>{var R=Np(),Q=k(R);X(()=>G(Q,c(o))),H(T,R)};se(m,T=>{c(o)&&T(b)})}var x=L(m,4);Me(x,21,()=>i,qe,(T,R)=>{var Q=Fp(),O=k(Q),P=k(O),z=L(O,2),U=k(z);U.__input=fe=>l(c(R),fe.target.value);var ue=L(U,2);ue.__change=fe=>{const F=fe.target.value.trim();/^#[0-9a-fA-F]{6}$/.test(F)&&l(c(R),F)},X(fe=>{_e(O,"for",`cp-${c(R)??""}`),G(P,fe),_e(U,"id",`cp-${c(R)??""}`),kt(U,c(r)[c(R)]),kt(ue,c(r)[c(R)])},[()=>f(c(R))]),H(T,Q)});var C=L(x,4);Me(C,21,()=>s,qe,(T,R)=>{var Q=Hp(),O=k(Q),P=k(O),z=L(O,2),U=k(z);U.__input=fe=>l(c(R),fe.target.value);var ue=L(U,2);ue.__change=fe=>{const F=fe.target.value.trim();/^#[0-9a-fA-F]{6}$/.test(F)&&l(c(R),F)},X(fe=>{_e(O,"for",`cp-${c(R)??""}`),G(P,fe),_e(U,"id",`cp-${c(R)??""}`),kt(U,c(r)[c(R)]),kt(ue,c(r)[c(R)])},[()=>f(c(R))]),H(T,Q)});var M=L(C,2),I=k(M);I.__click=u;var B=k(I),D=L(I,2);D.__click=v,X(()=>{I.disabled=c(a),G(B,c(a)?"Saving…":"Save as Custom Theme")}),Fs(E,()=>c(n),T=>N(n,T)),H(e,g),gt()}Bt(["click","input","change"]);var qp=q(''),Up=q('
        • '),$p=q(' ',1),Gp=q('
            '),Kp=q('
          • '),Jp=q('
              '),jp=q('
            • '),Yp=q('
                '),Vp=q(""),Xp=q('

                Theme

                UI Font

                Terminal Font

                Terminal Cursor

                Scrollback

                lines (100–100k)
                ',1),Zp=q('
                ');function em(e,t){vt(t,!0);const i=[{value:"",label:"System Default"},{value:"Inter",label:"Inter"},{value:"IBM Plex Sans",label:"IBM Plex Sans"},{value:"Noto Sans",label:"Noto Sans"},{value:"Roboto",label:"Roboto"},{value:"Ubuntu",label:"Ubuntu"}],s=[{value:"",label:"Default (JetBrains Mono)"},{value:"JetBrains Mono",label:"JetBrains Mono"},{value:"Fira Code",label:"Fira Code"},{value:"Cascadia Code",label:"Cascadia Code"},{value:"Source Code Pro",label:"Source Code Pro"},{value:"IBM Plex Mono",label:"IBM Plex Mono"},{value:"monospace",label:"monospace"}];let r=V(Fe(Xs.currentTheme)),n=V(Fe(Ht.uiFontFamily)),a=V(Fe(Ht.uiFontSize)),o=V(Fe(Ht.termFontFamily)),h=V(Fe(Ht.termFontSize)),l=V("block"),d=V(!0),u=V(1e3),v=V(Fe([])),_=V(!1);ki(()=>{N(r,Xs.currentTheme,!0)}),ki(()=>{N(n,Ht.uiFontFamily,!0)}),ki(()=>{N(a,Ht.uiFontSize,!0)}),ki(()=>{N(o,Ht.termFontFamily,!0)}),ki(()=>{N(h,Ht.termFontSize,!0)});let p=V(!1),f=V(!1),g=V(!1),A=Ge(()=>[...ip,...c(v).map(F=>({id:F.id,label:F.name,group:"Custom",isDark:!0}))]),E=Ge(()=>[...tp,...c(v).length>0?["Custom"]:[]]),y=Ge(()=>{var F;return((F=c(A).find(Y=>Y.id===c(r)))==null?void 0:F.label)??"Catppuccin Mocha"}),w=Ge(()=>{var F;return((F=i.find(Y=>Y.value===c(n)))==null?void 0:F.label)??"System Default"}),S=Ge(()=>{var F;return((F=s.find(Y=>Y.value===c(o)))==null?void 0:F.label)??"Default (JetBrains Mono)"});function m(F){N(r,F,!0),N(p,!1),Xs.setTheme(F),he==null||he.request["settings.set"]({key:"theme",value:F}).catch(console.error)}function b(F){N(n,F,!0),N(f,!1),Ht.setUIFont(F,c(a))}function x(F){N(o,F,!0),N(g,!1),Ht.setTermFont(F,c(h))}function C(F){N(a,Math.max(8,Math.min(24,c(a)+F)),!0),Ht.setUIFont(c(n),c(a))}function M(F){N(h,Math.max(8,Math.min(24,c(h)+F)),!0),Ht.setTermFont(c(o),c(h))}function I(F){N(l,F,!0),he==null||he.request["settings.set"]({key:"cursor_style",value:F}).catch(console.error)}function B(F){N(d,F,!0),he==null||he.request["settings.set"]({key:"cursor_blink",value:String(F)}).catch(console.error)}function D(F){N(u,F,!0),he==null||he.request["settings.set"]({key:"scrollback",value:String(F)}).catch(console.error)}function T(){N(p,!1),N(f,!1),N(g,!1)}function R(F){F.target.closest(".dd-wrap")||T()}async function Q(F){await(he==null?void 0:he.request["themes.deleteCustom"]({id:F}).catch(console.error)),N(v,c(v).filter(Y=>Y.id!==F),!0),c(r)===F&&m("mocha")}function O(F,Y){N(v,[...c(v),{id:F,name:Y}],!0),N(_,!1),m(F)}function P(){N(_,!1)}Bi(async()=>{if(!he)return;const{settings:F}=await he.request["settings.getAll"]({}).catch(()=>({settings:{}}));F.cursor_style&&N(l,F.cursor_style,!0),F.cursor_blink&&N(d,F.cursor_blink!=="false"),F.scrollback&&N(u,parseInt(F.scrollback,10)||1e3,!0);const Y=await he.request["themes.getCustom"]({}).catch(()=>({themes:[]}));N(v,Y.themes.map(ve=>({id:ve.id,name:ve.name})),!0)});var z=Zp();z.__click=R,z.__keydown=F=>F.key==="Escape"&&T();var U=k(z);{var ue=F=>{{let Y=Ge(()=>qa(c(r)));zp(F,{get baseThemeId(){return c(r)},get initialPalette(){return c(Y)},onSave:O,onCancel:P})}},fe=F=>{var Y=Xp(),ve=L(Ve(Y),2),pe=k(ve),j=k(pe);j.__click=()=>{N(p,!c(p)),N(f,!1),N(g,!1)};var W=k(j),$=L(W);let ee;var te=L(j,2);{var ce=rt=>{var pt=Gp();Me(pt,21,()=>c(E),qe,(wt,We)=>{var lt=$p(),ci=Ve(lt),ms=k(ci),As=L(ci,2);Me(As,17,()=>c(A).filter(Kn=>Kn.group===c(We)),qe,(Kn,$i)=>{var $s=Up();let Ua;$s.__click=()=>m(c($i).id),$s.__keydown=Gs=>(Gs.key==="Enter"||Gs.key===" ")&&m(c($i).id);var $a=k($s),ed=k($a),td=L($a,2);{var id=Gs=>{var Zr=qp();Zr.__click=en=>{en.stopPropagation(),Q(c($i).id)},Zr.__keydown=en=>en.key==="Enter"&&(en.stopPropagation(),Q(c($i).id)),X(()=>_e(Zr,"aria-label",`Delete ${c($i).label??""}`)),H(Gs,Zr)};se(td,Gs=>{c($i).group==="Custom"&&Gs(id)})}X(()=>{Ua=be($s,1,"dd-item svelte-1901l6h",null,Ua,{sel:c(r)===c($i).id}),_e($s,"aria-selected",c(r)===c($i).id),G(ed,c($i).label)}),H(Kn,$s)}),X(()=>G(ms,c(We))),H(wt,lt)}),H(rt,pt)};se(te,rt=>{c(p)&&rt(ce)})}var re=L(pe,2),oe=k(re);oe.__click=()=>{N(p,!1),N(_,!0)};var Ce=L(oe,2);Ce.__click=()=>{N(p,!1),N(_,!0)};var we=L(ve,4),me=k(we),ke=k(me);ke.__click=()=>{N(f,!c(f)),N(p,!1),N(g,!1)};var He=k(ke),Ae=L(He);let ye;var Be=L(ke,2);{var ge=rt=>{var pt=Jp();Me(pt,21,()=>i,qe,(wt,We)=>{var lt=Kp();let ci;lt.__click=()=>b(c(We).value),lt.__keydown=As=>(As.key==="Enter"||As.key===" ")&&b(c(We).value);var ms=k(lt);X(()=>{ci=be(lt,1,"dd-item svelte-1901l6h",null,ci,{sel:c(n)===c(We).value}),_e(lt,"aria-selected",c(n)===c(We).value),G(ms,c(We).label)}),H(wt,lt)}),H(rt,pt)};se(Be,rt=>{c(f)&&rt(ge)})}var Se=L(me,2),le=k(Se);le.__click=()=>C(-1);var ne=L(le,2),xe=k(ne),$e=L(ne,2);$e.__click=()=>C(1);var Xe=L(we,4),Qe=k(Xe),Pe=k(Qe);Pe.__click=()=>{N(g,!c(g)),N(p,!1),N(f,!1)};var Ze=k(Pe),tt=L(Ze);let Ot;var Yt=L(Pe,2);{var Ci=rt=>{var pt=Yp();Me(pt,21,()=>s,qe,(wt,We)=>{var lt=jp();let ci;lt.__click=()=>x(c(We).value),lt.__keydown=As=>(As.key==="Enter"||As.key===" ")&&x(c(We).value);var ms=k(lt);X(()=>{ci=be(lt,1,"dd-item svelte-1901l6h",null,ci,{sel:c(o)===c(We).value}),_e(lt,"aria-selected",c(o)===c(We).value),G(ms,c(We).label)}),H(wt,lt)}),H(rt,pt)};se(Yt,rt=>{c(g)&&rt(Ci)})}var Ue=L(Qe,2),at=k(Ue);at.__click=()=>M(-1);var Qt=L(at,2),Ii=k(Qt),Ui=L(Qt,2);Ui.__click=()=>M(1);var ie=L(Xe,4),Z=k(ie);Me(Z,20,()=>["block","line","underline"],qe,(rt,pt)=>{var wt=Vp();wt.__click=()=>I(pt);let We;var lt=k(wt);X(ci=>{We=be(wt,1,"svelte-1901l6h",null,We,{active:c(l)===pt}),G(lt,ci)},[()=>pt[0].toUpperCase()+pt.slice(1)]),H(rt,wt)});var Ie=L(Z,2),Te=L(k(Ie),2);let je;Te.__click=()=>B(!c(d));var qt=k(Te),Dt=L(ie,4),Vt=k(Dt);Vt.__change=rt=>D(parseInt(rt.target.value,10)||1e3),X(()=>{G(W,`${c(y)??""} `),ee=be($,0,"chev svelte-1901l6h",null,ee,{open:c(p)}),G(He,`${c(w)??""} `),ye=be(Ae,0,"chev svelte-1901l6h",null,ye,{open:c(f)}),G(xe,`${c(a)??""}px`),G(Ze,`${c(S)??""} `),Ot=be(tt,0,"chev svelte-1901l6h",null,Ot,{open:c(g)}),G(Ii,`${c(h)??""}px`),je=be(Te,1,"toggle svelte-1901l6h",null,je,{on:c(d)}),G(qt,c(d)?"On":"Off"),kt(Vt,c(u))}),H(F,Y)};se(U,F=>{c(_)?F(ue):F(fe,!1)})}H(e,z),gt()}Bt(["click","keydown","change"]);var tm=q('Images'),im=q('Web'),sm=q('Upload'),rm=q('
                '),nm=q('
                '),om=q('

                Defaults

                Permission mode

                System prompt template

                Providers

                ');function am(e,t){vt(t,!0);const i=[{id:"claude",label:"Claude",desc:"Anthropic — claude-opus/sonnet/haiku"},{id:"codex",label:"Codex",desc:"OpenAI — gpt-5.4"},{id:"ollama",label:"Ollama",desc:"Local — qwen3, llama3, etc."}];let s=V("/bin/bash"),r=V("~"),n=V("bypassPermissions"),a=V(""),o=V(Fe({claude:{enabled:!0,model:"claude-opus-4-5"},codex:{enabled:!1,model:"gpt-5.4"},ollama:{enabled:!1,model:"qwen3:8b"}})),h=V(null);function l(R,Q){he==null||he.request["settings.set"]({key:R,value:Q}).catch(console.error)}function d(){l("provider_settings",JSON.stringify(c(o)))}function u(R){N(s,R,!0),l("default_shell",R)}function v(R){N(r,R,!0),l("default_cwd",R)}function _(R){N(n,R,!0),l("permission_mode",R)}function p(R){N(a,R,!0),l("system_prompt_template",R)}function f(R){c(o)[R]={...c(o)[R],enabled:!c(o)[R].enabled},N(o,{...c(o)},!0),d()}function g(R,Q){c(o)[R]={...c(o)[R],model:Q},N(o,{...c(o)},!0),d()}Bi(async()=>{if(!he)return;const{settings:R}=await he.request["settings.getAll"]({}).catch(()=>({settings:{}}));if(R.default_shell&&N(s,R.default_shell,!0),R.default_cwd&&N(r,R.default_cwd,!0),R.permission_mode&&N(n,R.permission_mode,!0),R.system_prompt_template&&N(a,R.system_prompt_template,!0),R.provider_settings)try{N(o,JSON.parse(R.provider_settings),!0)}catch{}});var A=om(),E=L(k(A),2),y=L(k(E),2);y.__change=R=>u(R.target.value);var w=L(E,2),S=L(k(w),2);S.__change=R=>v(R.target.value);var m=L(w,4),b=k(m);b.__click=()=>_("bypassPermissions");let x;var C=L(b,2);C.__click=()=>_("default");let M;var I=L(C,2);I.__click=()=>_("plan");let B;var D=L(m,4);D.__change=R=>p(R.target.value);var T=L(D,4);Me(T,21,()=>i,qe,(R,Q)=>{const O=Ge(()=>c(o)[c(Q).id]);var P=nm();let z;var U=k(P);U.__click=()=>N(h,c(h)===c(Q).id?null:c(Q).id,!0);var ue=k(U),fe=k(ue),F=L(ue,2),Y=k(F),ve=L(F,2),pe=k(ve),j=L(U,2);{var W=$=>{var ee=rm(),te=k(ee),ce=L(k(te),2);let re;ce.__click=()=>f(c(Q).id);var oe=L(te,2),Ce=k(oe),we=L(Ce,2);we.__change=Se=>g(c(Q).id,Se.target.value);var me=L(oe,2),ke=k(me);{var He=Se=>{var le=tm();H(Se,le)};se(ke,Se=>{Yi[c(Q).id].images&&Se(He)})}var Ae=L(ke,2);{var ye=Se=>{var le=im();H(Se,le)};se(Ae,Se=>{Yi[c(Q).id].web&&Se(ye)})}var Be=L(Ae,2);{var ge=Se=>{var le=sm();H(Se,le)};se(Be,Se=>{Yi[c(Q).id].upload&&Se(ge)})}X(()=>{re=be(ce,1,"toggle svelte-1m5vtsu",null,re,{on:c(O).enabled}),_e(ce,"aria-checked",c(O).enabled),_e(ce,"aria-label",`Toggle ${c(Q).label??""} provider`),_e(Ce,"for",`model-${c(Q).id??""}`),_e(we,"id",`model-${c(Q).id??""}`),kt(we,c(O).model),_e(we,"placeholder",Yi[c(Q).id].defaultModel)}),H($,ee)};se(j,$=>{c(h)===c(Q).id&&$(W)})}X(()=>{z=be(P,1,"prov-panel svelte-1m5vtsu",null,z,{disabled:!c(O).enabled}),G(fe,c(Q).label),G(Y,c(Q).desc),G(pe,c(h)===c(Q).id?"▴":"▾")}),H(R,P)}),X(()=>{kt(y,c(s)),kt(S,c(r)),x=be(b,1,"svelte-1m5vtsu",null,x,{active:c(n)==="bypassPermissions"}),M=be(C,1,"svelte-1m5vtsu",null,M,{active:c(n)==="default"}),B=be(I,1,"svelte-1m5vtsu",null,B,{active:c(n)==="plan"}),kt(D,c(a))}),H(e,A),gt()}Bt(["change","click"]);var lm=q('

                No secrets stored.

                '),hm=q('
                '),cm=q('
                '),dm=q('
              • '),um=q('
              • All known keys stored
              • '),_m=q('
                '),fm=q('
                '),vm=q('

                Keyring Status

                Stored Secrets

                Branch Policies

                ');function gm(e,t){vt(t,!0);const i={ANTHROPIC_API_KEY:"Anthropic API Key",OPENAI_API_KEY:"OpenAI API Key",GITHUB_TOKEN:"GitHub Token",OLLAMA_API_KEY:"Ollama API Key"};let s=!0,r=V(Fe(["ANTHROPIC_API_KEY"])),n=V(null),a=V(""),o=V(""),h=V(!1),l=V(!1),d=V(Fe([{pattern:"main",action:"block"},{pattern:"prod*",action:"warn"}])),u=V(""),v=V("warn"),_=Ge(()=>Object.keys(i).filter(te=>!c(r).includes(te))),p=Ge(()=>c(a)?i[c(a)]??c(a):"Select key...");function f(){he==null||he.request["settings.set"]({key:"branch_policies",value:JSON.stringify(c(d))}).catch(console.error)}function g(){!c(a)||!c(o)||(N(l,!0),setTimeout(()=>{N(r,[...c(r),c(a)],!0),N(a,""),N(o,""),N(l,!1)},400))}function A(te){N(r,c(r).filter(ce=>ce!==te),!0),c(n)===te&&N(n,null)}function E(){c(u).trim()&&(N(d,[...c(d),{pattern:c(u).trim(),action:c(v)}],!0),N(u,""),N(v,"warn"),f())}function y(te){N(d,c(d).filter((ce,re)=>re!==te),!0),f()}function w(te){te.target.closest(".dd-wrap")||N(h,!1)}Bi(async()=>{if(!he)return;const te=await he.request["settings.get"]({key:"branch_policies"}).catch(()=>({value:null}));if(te.value)try{N(d,JSON.parse(te.value),!0)}catch{}});var S=vm();S.__click=w,S.__keydown=te=>te.key==="Escape"&&N(h,!1);var m=L(k(S),2);be(m,1,"keyring-status svelte-rv3lwt",null,{},{ok:s,unavail:!s});var b=L(k(m),2);b.textContent="System keyring available";var x=L(m,4);{var C=te=>{var ce=lm();H(te,ce)},M=te=>{var ce=cm();Me(ce,21,()=>c(r),qe,(re,oe)=>{var Ce=hm(),we=k(Ce),me=k(we),ke=L(we,2),He=k(ke),Ae=L(ke,2);Ae.__click=()=>N(n,c(n)===c(oe)?null:c(oe),!0);var ye=k(Ae),Be=L(Ae,2);Be.__click=()=>A(c(oe)),X(()=>{G(me,i[c(oe)]??c(oe)),G(He,c(n)===c(oe)?"••••••• (revealed)":"•••••••"),G(ye,c(n)===c(oe)?"🙈":"👁")}),H(re,Ce)}),H(te,ce)};se(x,te=>{c(r).length===0?te(C):te(M,!1)})}var I=L(x,2),B=k(I),D=k(B);D.__click=()=>N(h,!c(h));var T=k(D),R=L(T);let Q;var O=L(D,2);{var P=te=>{var ce=_m(),re=k(ce);Me(re,17,()=>c(_),qe,(we,me)=>{var ke=dm();ke.__click=()=>{N(a,c(me),!0),N(h,!1)},ke.__keydown=Ae=>(Ae.key==="Enter"||Ae.key===" ")&&(N(a,c(me),!0),N(h,!1));var He=k(ke);X(()=>{_e(ke,"aria-selected",c(a)===c(me)),G(He,i[c(me)])}),H(we,ke)});var oe=L(re,2);{var Ce=we=>{var me=um();H(we,me)};se(oe,we=>{c(_).length===0&&we(Ce)})}H(te,ce)};se(O,te=>{c(h)&&te(P)})}var z=L(B,2),U=L(z,2);U.__click=g;var ue=k(U),fe=L(I,4);Me(fe,21,()=>c(d),qe,(te,ce,re)=>{var oe=fm(),Ce=k(oe),we=k(Ce),me=L(Ce,2);let ke;var He=k(me),Ae=L(me,2);Ae.__click=()=>y(re),X(()=>{G(we,c(ce).pattern),ke=be(me,1,"pol-action svelte-rv3lwt",null,ke,{block:c(ce).action==="block",warn:c(ce).action==="warn"}),G(He,c(ce).action)}),H(te,oe)});var F=L(fe,2),Y=k(F),ve=L(Y,2),pe=k(ve);pe.__click=()=>N(v,"warn");let j;var W=L(pe,2);W.__click=()=>N(v,"block");let $;var ee=L(ve,2);ee.__click=E,X(te=>{G(T,`${c(p)??""} `),Q=be(R,0,"chev svelte-rv3lwt",null,Q,{open:c(h)}),U.disabled=!c(a)||!c(o)||c(l),G(ue,c(l)?"…":"Save"),j=be(pe,1,"svelte-rv3lwt",null,j,{active:c(v)==="warn"}),$=be(W,1,"svelte-rv3lwt",null,$,{active:c(v)==="block"}),ee.disabled=te},[()=>!c(u).trim()]),Fs(z,()=>c(o),te=>N(o,te)),Fs(Y,()=>c(u),te=>N(u,te)),H(e,S),gt()}Bt(["click","keydown"]);var pm=q(""),mm=q(""),Am=q(""),bm=q('

                Provider

                Model

                Options

                Stall threshold

                Anchor budget

                Custom context

                ',1),wm=q('

                Project

                ');function Cm(e,t){vt(t,!0);const i=["small","medium","large","full"],s=Object.keys(Yi);let r=V(Fe([{id:"p1",name:"agent-orchestrator",provider:"claude",model:"claude-opus-4-5",useWorktrees:!1,useSandbox:!1,stallThreshold:15,anchorScale:"medium",customContext:""},{id:"p2",name:"quanta-discord-bot",provider:"claude",model:"claude-sonnet-4-5",useWorktrees:!1,useSandbox:!1,stallThreshold:15,anchorScale:"medium",customContext:""}])),n=V("p1"),a=Ge(()=>c(r).find(v=>v.id===c(n)));function o(v){N(r,c(r).map(p=>p.id===c(n)?{...p,...v}:p),!0);const _=c(r).find(p=>p.id===c(n));he==null||he.request["settings.setProject"]({id:c(n),config:JSON.stringify(_)}).catch(console.error)}Bi(async()=>{if(!he)return;const v=await he.request["settings.getProjects"]({}).catch(()=>({projects:[]}));if(v.projects.length>0){const _=v.projects.flatMap(({config:p})=>{try{return[JSON.parse(p)]}catch{return[]}});_.length>0&&N(r,_,!0)}});var h=wm(),l=L(k(h),2);Me(l,21,()=>c(r),qe,(v,_)=>{var p=pm();let f;p.__click=()=>N(n,c(_).id,!0);var g=k(p);X(()=>{f=be(p,1,"proj-tab svelte-15znwuq",null,f,{active:c(n)===c(_).id}),G(g,c(_).name)}),H(v,p)});var d=L(l,2);{var u=v=>{var _=bm(),p=L(Ve(_),2);Me(p,21,()=>s,qe,(D,T)=>{var R=mm();R.__click=()=>o({provider:c(T)});let Q;var O=k(R);X(()=>{Q=be(R,1,"svelte-15znwuq",null,Q,{active:c(a).provider===c(T)}),G(O,Yi[c(T)].label)}),H(D,R)});var f=L(p,4);f.__change=D=>o({model:D.target.value});var g=L(f,4),A=k(g),E=L(k(A),2);let y;E.__click=()=>o({useWorktrees:!c(a).useWorktrees});var w=L(A,2),S=L(k(w),2);let m;S.__click=()=>o({useSandbox:!c(a).useSandbox});var b=L(g,4),x=k(b);x.__input=D=>o({stallThreshold:parseInt(D.target.value,10)});var C=L(x,2),M=k(C),I=L(b,4);Me(I,21,()=>i,qe,(D,T)=>{var R=Am();R.__click=()=>o({anchorScale:c(T)});let Q;var O=k(R);X(P=>{Q=be(R,1,"svelte-15znwuq",null,Q,{active:c(a).anchorScale===c(T)}),G(O,P)},[()=>c(T)[0].toUpperCase()+c(T).slice(1)]),H(D,R)});var B=L(I,4);B.__change=D=>o({customContext:D.target.value}),X(()=>{kt(f,c(a).model),_e(f,"placeholder",Yi[c(a).provider].defaultModel),y=be(E,1,"toggle svelte-15znwuq",null,y,{on:c(a).useWorktrees}),_e(E,"aria-checked",c(a).useWorktrees),m=be(S,1,"toggle svelte-15znwuq",null,m,{on:c(a).useSandbox}),_e(S,"aria-checked",c(a).useSandbox),kt(x,c(a).stallThreshold),G(M,`${c(a).stallThreshold??""} min`),kt(B,c(a).customContext)}),H(v,_)};se(d,v=>{c(a)&&v(u)})}H(e,h),gt()}Bt(["click","change","input"]);var Sm=q(""),ym=q('
                '),xm=q(""),km=q(''),Em=q('

                Wake Strategy

                Session Anchors

                Anchor budget scale

                Health Monitoring

                Notifications

                ');function Bm(e,t){vt(t,!0);const i={persistent:"Persistent","on-demand":"On-demand",smart:"Smart"},s={persistent:"Resume prompt whenever manager wakes","on-demand":"Fresh session on each wake",smart:"Threshold-gated on-demand"},r=["complete","error","crash","stall"],n=["small","medium","large","full"];let a=V("persistent"),o=V(50),h=V(!0),l=V("medium"),d=V(15),u=V(!0),v=V(Fe(new Set(["complete","error","crash"])));function _(F,Y){he==null||he.request["settings.set"]({key:F,value:Y}).catch(console.error)}function p(F){N(a,F,!0),_("wake_strategy",F)}function f(F){N(o,F,!0),_("wake_threshold",String(F))}function g(F){N(h,F,!0),_("auto_anchor",String(F))}function A(F){N(l,F,!0),_("anchor_budget",F)}function E(F){N(d,F,!0),_("stall_threshold_global",String(F))}function y(F){N(u,F,!0),_("notification_desktop",String(F))}function w(F){const Y=new Set(c(v));Y.has(F)?Y.delete(F):Y.add(F),N(v,Y,!0),_("notification_types",JSON.stringify([...Y]))}Bi(async()=>{if(!he)return;const{settings:F}=await he.request["settings.getAll"]({}).catch(()=>({settings:{}}));if(F.wake_strategy&&N(a,F.wake_strategy,!0),F.wake_threshold&&N(o,parseInt(F.wake_threshold,10)||50,!0),F.auto_anchor&&N(h,F.auto_anchor!=="false"),F.anchor_budget&&N(l,F.anchor_budget,!0),F.stall_threshold_global&&N(d,parseInt(F.stall_threshold_global,10)||15,!0),F.notification_desktop&&N(u,F.notification_desktop!=="false"),F.notification_types)try{N(v,new Set(JSON.parse(F.notification_types)),!0)}catch{}});var S=Em(),m=L(k(S),2);Me(m,21,()=>Object.keys(i),qe,(F,Y)=>{var ve=Sm();ve.__click=()=>p(c(Y));let pe;var j=k(ve);X(()=>{pe=be(ve,1,"svelte-r8m6y",null,pe,{active:c(a)===c(Y)}),G(j,i[c(Y)])}),H(F,ve)});var b=L(m,2),x=k(b),C=L(b,2);{var M=F=>{var Y=ym(),ve=L(k(Y),2);ve.__input=W=>f(parseInt(W.target.value,10));var pe=L(ve,2),j=k(pe);X(()=>{kt(ve,c(o)),G(j,`${c(o)??""}%`)}),H(F,Y)};se(C,F=>{c(a)==="smart"&&F(M)})}var I=L(C,4),B=L(k(I),2);let D;B.__click=()=>g(!c(h));var T=L(I,4);Me(T,21,()=>n,qe,(F,Y)=>{var ve=xm();ve.__click=()=>A(c(Y));let pe;var j=k(ve);X(W=>{pe=be(ve,1,"svelte-r8m6y",null,pe,{active:c(l)===c(Y)}),G(j,W)},[()=>c(Y)[0].toUpperCase()+c(Y).slice(1)]),H(F,ve)});var R=L(T,4),Q=L(k(R),2);Q.__input=F=>E(parseInt(F.target.value,10));var O=L(Q,2),P=k(O),z=L(R,4),U=L(k(z),2);let ue;U.__click=()=>y(!c(u));var fe=L(z,2);Me(fe,21,()=>r,qe,(F,Y)=>{var ve=km();let pe;var j=k(ve);j.__change=()=>w(c(Y));var W=L(j);X(($,ee)=>{pe=be(ve,1,"notif-chip svelte-r8m6y",null,pe,$),Iu(j,ee),_e(j,"aria-label",`Notify on ${c(Y)??""}`),G(W,` ${c(Y)??""}`)},[()=>({active:c(v).has(c(Y))}),()=>c(v).has(c(Y))]),H(F,ve)}),X(()=>{G(x,s[c(a)]),D=be(B,1,"toggle svelte-r8m6y",null,D,{on:c(h)}),_e(B,"aria-checked",c(h)),kt(Q,c(d)),G(P,`${c(d)??""} min`),ue=be(U,1,"toggle svelte-r8m6y",null,ue,{on:c(u)}),_e(U,"aria-checked",c(u))}),H(e,S),gt()}Bt(["click","input","change"]);var Im=q(""),Dm=q('
                '),Mm=q('

                No plugins found in config dir.

                '),Lm=q('

                '),Rm=q('

                '),Tm=q('

                Logging

                Telemetry

                Relay

                seconds

                Plugins

                Updates

                Settings Data

                ');function Pm(e,t){vt(t,!0);const i=["trace","debug","info","warn","error"];let s=V(Fe([{id:"quanta-plugin",name:"Quanta Plugin",version:"1.2.0",enabled:!0},{id:"session-wrap",name:"Session Wrap",version:"0.4.1",enabled:!1}])),r=V("info"),n=V(""),a=V(""),o=V(30),h=V(!1),l=V(null),d=V(null);function u(W,$){he==null||he.request["settings.set"]({key:W,value:$}).catch(console.error)}function v(W){N(r,W,!0),u("log_level",W)}function _(W){N(n,W,!0),u("otlp_endpoint",W)}function p(W){N(a,W,!0),u("relay_urls",W)}function f(W){N(o,W,!0),u("connection_timeout",String(W))}function g(W){N(s,c(s).map(ee=>ee.id===W?{...ee,enabled:!ee.enabled}:ee),!0);const $={};for(const ee of c(s))$[ee.id]=ee.enabled;u("plugin_states",JSON.stringify($))}function A(){N(h,!0),N(l,null),setTimeout(()=>{N(h,!1),N(l,"Already up to date (v3.0.0-dev)")},1200)}async function E(){if(!he)return;const{settings:W}=await he.request["settings.getAll"]({}).catch(()=>({settings:{}})),$=JSON.stringify({version:1,settings:W},null,2),ee=new Blob([$],{type:"application/json"}),te=URL.createObjectURL(ee),ce=document.createElement("a");ce.href=te,ce.download="agor-settings.json",ce.click(),URL.revokeObjectURL(te)}function y(){N(d,null);const W=document.createElement("input");W.type="file",W.accept=".json,application/json",W.onchange=async()=>{var ee;const $=(ee=W.files)==null?void 0:ee[0];if(!(!$||!he))try{const te=await $.text(),ce=JSON.parse(te),re=ce.settings??ce;if(typeof re!="object")throw new Error("Invalid format");for(const[oe,Ce]of Object.entries(re))typeof Ce=="string"&&await he.request["settings.set"]({key:oe,value:Ce});await w()}catch(te){N(d,te instanceof Error?te.message:"Import failed",!0)}},W.click()}async function w(){if(!he)return;const{settings:W}=await he.request["settings.getAll"]({}).catch(()=>({settings:{}}));if(W.log_level&&N(r,W.log_level,!0),W.otlp_endpoint&&N(n,W.otlp_endpoint,!0),W.relay_urls&&N(a,W.relay_urls,!0),W.connection_timeout&&N(o,parseInt(W.connection_timeout,10)||30,!0),W.plugin_states)try{const $=JSON.parse(W.plugin_states);N(s,c(s).map(ee=>({...ee,enabled:$[ee.id]??ee.enabled})),!0)}catch{}}Bi(w);var S=Tm(),m=L(k(S),2);Me(m,21,()=>i,qe,(W,$)=>{var ee=Im();ee.__click=()=>v(c($));let te;var ce=k(ee);X(()=>{te=be(ee,1,"svelte-1ovc5q5",null,te,{active:c(r)===c($)}),G(ce,c($))}),H(W,ee)});var b=L(m,4),x=L(k(b),2);x.__change=W=>_(W.target.value);var C=L(b,4),M=L(k(C),2);M.__change=W=>p(W.target.value);var I=L(C,2),B=L(k(I),2);B.__change=W=>f(parseInt(W.target.value,10)||30);var D=L(I,4),T=k(D);Me(T,17,()=>c(s),qe,(W,$)=>{var ee=Dm(),te=k(ee),ce=k(te),re=k(ce),oe=L(ce,2),Ce=k(oe),we=L(te,2);let me;we.__click=()=>g(c($).id),X(()=>{G(re,c($).name),G(Ce,`v${c($).version??""}`),me=be(we,1,"toggle svelte-1ovc5q5",null,me,{on:c($).enabled}),_e(we,"aria-checked",c($).enabled),_e(we,"aria-label",`Toggle ${c($).name??""}`)}),H(W,ee)});var R=L(T,2);{var Q=W=>{var $=Mm();H(W,$)};se(R,W=>{c(s).length===0&&W(Q)})}var O=L(D,4),P=k(O);P.textContent="v3.0.0-dev";var z=L(P,2);z.__click=A;var U=k(z),ue=L(O,2);{var fe=W=>{var $=Lm(),ee=k($);X(()=>G(ee,c(l))),H(W,$)};se(ue,W=>{c(l)&&W(fe)})}var F=L(ue,4),Y=k(F);Y.__click=E;var ve=L(Y,2);ve.__click=y;var pe=L(F,2);{var j=W=>{var $=Rm(),ee=k($);X(()=>G(ee,c(d))),H(W,$)};se(pe,W=>{c(d)&&W(j)})}X(()=>{kt(x,c(n)),kt(M,c(a)),kt(B,c(o)),z.disabled=c(h),G(U,c(h)?"Checking…":"Check for updates")}),H(e,S),gt()}Bt(["click","change"]);var Om=q(''),Qm=q(''),Nm=q(''),Fm=q(' '),Hm=q('free'),Wm=q('

                '),zm=q('

                '),qm=q('
                ');function Um(e,t){vt(t,!0);const i=[{id:"secret-scanner",name:"Secret Scanner",version:"1.0.0",author:"Quanta",icon:"🔍",tags:["security"],free:!0,description:"Detects exposed secrets and API keys in agent sessions before they leak."},{id:"productivity-insights",name:"Productivity Insights",version:"1.1.0",author:"Quanta",icon:"📊",tags:["analytics"],free:!0,description:"Session analytics, cost breakdowns, and agent efficiency metrics."},{id:"git-guardian",name:"Git Guardian",version:"0.9.2",author:"Community",icon:"🛡️",tags:["security","git"],free:!0,description:"Enforces branch policies and blocks commits to protected branches."},{id:"context-compressor",name:"Context Compressor",version:"1.0.3",author:"Quanta",icon:"🗜️",tags:["performance"],free:!0,description:"Intelligently compresses context windows to reduce token usage."},{id:"slack-notifier",name:"Slack Notifier",version:"0.5.0",author:"Community",icon:"💬",tags:["notifications"],free:!0,description:"Sends agent completion and error notifications to Slack channels."},{id:"multi-model-router",name:"Multi-Model Router",version:"1.2.0",author:"Quanta",icon:"🔀",tags:["routing","ai"],free:!0,description:"Routes tasks to the cheapest capable model based on complexity scoring."},{id:"audit-exporter",name:"Audit Exporter",version:"0.8.1",author:"Community",icon:"📋",tags:["compliance"],free:!0,description:"Exports audit logs to SIEM systems (Splunk, Datadog, CloudWatch)."},{id:"test-runner-bridge",name:"Test Runner Bridge",version:"1.0.0",author:"Quanta",icon:"🧪",tags:["testing"],free:!0,description:"Runs test suites on agent-modified code and surfaces failures inline."}];let s=V("browse"),r=V(""),n=V(Fe(new Set)),a=V(Fe(new Set)),o=Ge(()=>i.filter(C=>{if(c(s)==="installed"&&!c(n).has(C.id))return!1;if(!c(r))return!0;const M=c(r).toLowerCase();return C.name.toLowerCase().includes(M)||C.description.toLowerCase().includes(M)||C.tags.some(I=>I.includes(M))}));async function h(C){N(a,new Set([...c(a),C]),!0);const M={};for(const I of c(n))M[I]=!0;M[C]=!0,await(he==null?void 0:he.request["settings.set"]({key:"marketplace_installed",value:JSON.stringify(M)}).catch(console.error)),N(n,new Set([...c(n),C]),!0),N(a,new Set([...c(a)].filter(I=>I!==C)),!0)}async function l(C){N(n,new Set([...c(n)].filter(I=>I!==C)),!0);const M={};for(const I of c(n))M[I]=!0;await(he==null?void 0:he.request["settings.set"]({key:"marketplace_installed",value:JSON.stringify(M)}).catch(console.error))}Bi(async()=>{if(!he)return;const C=await he.request["settings.get"]({key:"marketplace_installed"}).catch(()=>({value:null}));if(C.value)try{const M=JSON.parse(C.value);N(n,new Set(Object.entries(M).filter(([,I])=>I).map(([I])=>I)),!0)}catch{}});var d=qm(),u=k(d),v=k(u);let _;v.__click=()=>N(s,"browse");var p=L(v,2);let f;p.__click=()=>N(s,"installed");var g=k(p),A=L(p,2),E=k(A),y=L(E,2);{var w=C=>{var M=Om();M.__click=()=>N(r,""),H(C,M)};se(y,C=>{c(r)&&C(w)})}var S=L(u,2),m=k(S);Me(m,17,()=>c(o),qe,(C,M)=>{var I=Wm(),B=k(I),D=k(B),T=k(D),R=L(D,2),Q=k(R),O=k(Q),P=L(Q,2),z=k(P),U=L(R,2);{var ue=$=>{var ee=Qm();ee.__click=()=>l(c(M).id),X(()=>_e(ee,"aria-label",`Uninstall ${c(M).name??""}`)),H($,ee)},fe=$=>{var ee=Nm();ee.__click=()=>h(c(M).id);var te=k(ee);X((ce,re)=>{ee.disabled=ce,_e(ee,"aria-label",`Install ${c(M).name??""}`),G(te,re)},[()=>c(a).has(c(M).id),()=>c(a).has(c(M).id)?"…":"Install"]),H($,ee)};se(U,$=>{c(n).has(c(M).id)?$(ue):$(fe,!1)})}var F=L(B,2),Y=k(F),ve=L(F,2),pe=k(ve);Me(pe,17,()=>c(M).tags,qe,($,ee)=>{var te=Fm(),ce=k(te);X(()=>G(ce,c(ee))),H($,te)});var j=L(pe,2);{var W=$=>{var ee=Hm();H($,ee)};se(j,$=>{c(M).free&&$(W)})}X(()=>{G(T,c(M).icon),G(O,c(M).name),G(z,`${c(M).author??""} · v${c(M).version??""}`),G(Y,c(M).description)}),H(C,I)});var b=L(m,2);{var x=C=>{var M=zm(),I=k(M);X(()=>G(I,c(s)==="installed"?"No plugins installed yet.":"No plugins match your search.")),H(C,M)};se(b,C=>{c(o).length===0&&C(x)})}X(()=>{_=be(v,1,"tab svelte-c4ry4o",null,_,{active:c(s)==="browse"}),f=be(p,1,"tab svelte-c4ry4o",null,f,{active:c(s)==="installed"}),G(g,`Installed ${c(n).size>0?`(${c(n).size})`:""}`)}),Fs(E,()=>c(r),C=>N(r,C)),H(e,d),gt()}Bt(["click"]);const wo=[{id:"palette",label:"Command Palette",category:"Global",chord:"Ctrl+K",defaultChord:"Ctrl+K"},{id:"settings",label:"Open Settings",category:"Global",chord:"Ctrl+,",defaultChord:"Ctrl+,"},{id:"group1",label:"Switch to Group 1",category:"Navigation",chord:"Ctrl+1",defaultChord:"Ctrl+1"},{id:"group2",label:"Switch to Group 2",category:"Navigation",chord:"Ctrl+2",defaultChord:"Ctrl+2"},{id:"group3",label:"Switch to Group 3",category:"Navigation",chord:"Ctrl+3",defaultChord:"Ctrl+3"},{id:"group4",label:"Switch to Group 4",category:"Navigation",chord:"Ctrl+4",defaultChord:"Ctrl+4"},{id:"newTerminal",label:"New Terminal Tab",category:"Terminal",chord:"Ctrl+Shift+T",defaultChord:"Ctrl+Shift+T"},{id:"closeTab",label:"Close Terminal Tab",category:"Terminal",chord:"Ctrl+Shift+W",defaultChord:"Ctrl+Shift+W"},{id:"nextTab",label:"Next Terminal Tab",category:"Terminal",chord:"Ctrl+]",defaultChord:"Ctrl+]"},{id:"prevTab",label:"Previous Terminal Tab",category:"Terminal",chord:"Ctrl+[",defaultChord:"Ctrl+["},{id:"search",label:"Global Search",category:"Global",chord:"Ctrl+Shift+F",defaultChord:"Ctrl+Shift+F"},{id:"notifications",label:"Notification Center",category:"Global",chord:"Ctrl+Shift+N",defaultChord:"Ctrl+Shift+N"},{id:"minimize",label:"Minimize Window",category:"Global",chord:"Ctrl+M",defaultChord:"Ctrl+M"},{id:"toggleFiles",label:"Toggle Files Tab",category:"Navigation",chord:"Ctrl+Shift+E",defaultChord:"Ctrl+Shift+E"},{id:"toggleMemory",label:"Toggle Memory Tab",category:"Navigation",chord:"Ctrl+Shift+M",defaultChord:"Ctrl+Shift+M"},{id:"reload",label:"Reload App",category:"Settings",chord:"Ctrl+R",defaultChord:"Ctrl+R"}];function Xc(e){const t=[];(e.ctrlKey||e.metaKey)&&t.push("Ctrl"),e.shiftKey&&t.push("Shift"),e.altKey&&t.push("Alt");const i=e.key===" "?"Space":e.key;return["Control","Shift","Alt","Meta"].includes(i)||t.push(i.length===1?i.toUpperCase():i),t.join("+")}function $m(){let e=V(Fe(wo.map(d=>({...d})))),t=null;const i=new Map;let s=!1;async function r(d){t=d;try{const{keybindings:u}=await t.request["keybindings.getAll"]({});N(e,wo.map(v=>({...v,chord:u[v.id]??v.defaultChord})),!0)}catch(u){console.error("[keybinding-store] Failed to load keybindings:",u)}}function n(d,u){N(e,c(e).map(v=>v.id===d?{...v,chord:u}:v),!0),t==null||t.request["keybindings.set"]({id:d,chord:u}).catch(console.error)}function a(d){const u=wo.find(v=>v.id===d);u&&(N(e,c(e).map(v=>v.id===d?{...v,chord:u.defaultChord}:v),!0),t==null||t.request["keybindings.reset"]({id:d}).catch(console.error))}function o(){for(const d of c(e))d.chord!==d.defaultChord&&a(d.id)}function h(d,u){i.set(d,u)}function l(){if(s)return()=>{};s=!0;function d(u){const v=u.target;if(v!=null&&v.closest(".terminal-container, .xterm"))return;const _=Xc(u);if(_){for(const p of c(e))if(p.chord===_){const f=i.get(p.id);if(f){u.preventDefault(),f();return}}}}return document.addEventListener("keydown",d,{capture:!0}),()=>{document.removeEventListener("keydown",d,{capture:!0}),s=!1}}return{get bindings(){return c(e)},init:r,setChord:n,resetChord:a,resetAll:o,on:h,installListener:l}}const $t=$m();var Gm=q(''),Km=q('
                Press keys…
                '),Jm=q(''),jm=q(''),Ym=q(''),Vm=q('
                '),Xm=q('
                '),Zm=q('

                '),e0=q('
                ');function t0(e,t){vt(t,!0);let i=V(""),s=V(null),r=V(null),n=Ge(()=>c(i).trim()?$t.bindings.filter(S=>S.label.toLowerCase().includes(c(i).toLowerCase())||S.category.toLowerCase().includes(c(i).toLowerCase())||S.chord.toLowerCase().includes(c(i).toLowerCase())):$t.bindings),a=Ge(()=>c(n).reduce((S,m)=>{var b;return(S[b=m.category]??(S[b]=[])).push(m),S},{}));const o=["Global","Navigation","Terminal","Settings"];function h(S){N(s,S,!0),N(r,null)}function l(S,m){S.preventDefault(),S.stopPropagation();const b=Xc(S);if(!b||b==="Escape"){N(s,null),N(r,null);return}if(!b.match(/[A-Z0-9,.\[\]\\/'`\-=; ]|F\d+|Enter|Tab|Space|Backspace|Delete|Arrow/))return;const x=$t.bindings.find(C=>C.id!==m&&C.chord===b);x?N(r,`Conflicts with "${x.label}"`):N(r,null),$t.setChord(m,b),N(s,null)}function d(){$t.resetAll(),N(r,null)}function u(S){return S.chord!==S.defaultChord}var v=e0(),_=k(v),p=k(_),f=L(p,2);f.__click=d;var g=L(_,2);{var A=S=>{var m=Gm(),b=k(m);X(()=>G(b,`Warning: ${c(r)??""}`)),H(S,m)};se(g,S=>{c(r)&&S(A)})}var E=L(g,2);Me(E,17,()=>o,qe,(S,m)=>{var b=Lt(),x=Ve(b);{var C=M=>{var I=Xm(),B=k(I),D=k(B),T=L(B,2);Me(T,21,()=>c(a)[c(m)],R=>R.id,(R,Q)=>{var O=Vm();let P;var z=k(O),U=k(z),ue=L(z,2);{var fe=j=>{var W=Km();Qh(W),W.__keydown=$=>l($,c(Q).id),X(()=>_e(W,"aria-label",`Press new key combination for ${c(Q).label??""}`)),Ia("blur",W,()=>N(s,null)),H(j,W)},F=j=>{var W=Jm();W.__click=()=>h(c(Q).id);var $=k(W);X(()=>{_e(W,"aria-label",`Current shortcut for ${c(Q).label??""}: ${c(Q).chord??""}. Click to change.`),G($,c(Q).chord)}),H(j,W)};se(ue,j=>{c(s)===c(Q).id?j(fe):j(F,!1)})}var Y=L(ue,2);{var ve=j=>{var W=jm();W.__click=()=>$t.resetChord(c(Q).id);var $=k(W);X(()=>{_e(W,"title",`Reset to ${c(Q).defaultChord??""}`),_e(W,"aria-label",`Reset ${c(Q).label??""} to default`),G($,`↩ ${c(Q).defaultChord??""}`)}),H(j,W)},pe=j=>{var W=Ym();H(j,W)};se(Y,j=>{u(c(Q))?j(ve):j(pe,!1)})}X(j=>{P=be(O,1,"kb-row svelte-1sln2q",null,P,j),G(U,c(Q).label)},[()=>({modified:u(c(Q))})]),H(R,O)}),X(()=>G(D,c(m))),H(M,I)};se(x,M=>{var I;(I=c(a)[c(m)])!=null&&I.length&&M(C)})}H(S,b)});var y=L(E,2);{var w=S=>{var m=Zm(),b=k(m);X(()=>G(b,`No shortcuts match "${c(i)??""}"`)),H(S,m)};se(y,S=>{c(n).length===0&&S(w)})}Fs(p,()=>c(i),S=>N(i,S)),H(e,v),gt()}Bt(["click","keydown"]);var i0=q(''),s0=q('');function r0(e,t){vt(t,!0);const i=[{id:"appearance",label:"Appearance",icon:"🎨"},{id:"agents",label:"Agents",icon:"🤖"},{id:"security",label:"Security",icon:"🔒"},{id:"projects",label:"Projects",icon:"📁"},{id:"orchestration",label:"Orchestration",icon:"⚙"},{id:"keyboard",label:"Keyboard",icon:"⌨"},{id:"advanced",label:"Advanced",icon:"🔧"},{id:"marketplace",label:"Marketplace",icon:"🛒"}];let s=V("appearance");function r(l){l.target===l.currentTarget&&t.onClose()}function n(l){l.key==="Escape"&&t.onClose()}var a=Lt(),o=Ve(a);{var h=l=>{var d=s0();d.__click=r,d.__keydown=n;var u=k(d);u.__click=w=>w.stopPropagation(),u.__keydown=w=>w.stopPropagation();var v=k(u),_=L(k(v),2);_.__click=function(...w){var S;(S=t.onClose)==null||S.apply(this,w)};var p=L(v,2),f=k(p);Me(f,21,()=>i,qe,(w,S)=>{var m=i0();let b;m.__click=()=>N(s,c(S).id,!0);var x=k(m),C=k(x),M=L(x,2),I=k(M);X(()=>{b=be(m,1,"cat-btn svelte-1gl9lco",null,b,{active:c(s)===c(S).id}),_e(m,"aria-current",c(s)===c(S).id?"page":void 0),G(C,c(S).icon),G(I,c(S).label)}),H(w,m)});var g=L(f,2),A=k(g);{var E=w=>{em(w,{})},y=w=>{var S=Lt(),m=Ve(S);{var b=C=>{am(C,{})},x=C=>{var M=Lt(),I=Ve(M);{var B=T=>{gm(T,{})},D=T=>{var R=Lt(),Q=Ve(R);{var O=z=>{Cm(z,{})},P=z=>{var U=Lt(),ue=Ve(U);{var fe=Y=>{Bm(Y,{})},F=Y=>{var ve=Lt(),pe=Ve(ve);{var j=$=>{Pm($,{})},W=$=>{var ee=Lt(),te=Ve(ee);{var ce=oe=>{t0(oe,{})},re=oe=>{var Ce=Lt(),we=Ve(Ce);{var me=ke=>{Um(ke,{})};se(we,ke=>{c(s)==="marketplace"&&ke(me)},!0)}H(oe,Ce)};se(te,oe=>{c(s)==="keyboard"?oe(ce):oe(re,!1)},!0)}H($,ee)};se(pe,$=>{c(s)==="advanced"?$(j):$(W,!1)},!0)}H(Y,ve)};se(ue,Y=>{c(s)==="orchestration"?Y(fe):Y(F,!1)},!0)}H(z,U)};se(Q,z=>{c(s)==="projects"?z(O):z(P,!1)},!0)}H(T,R)};se(I,T=>{c(s)==="security"?T(B):T(D,!1)},!0)}H(C,M)};se(m,C=>{c(s)==="agents"?C(b):C(x,!1)},!0)}H(w,S)};se(A,w=>{c(s)==="appearance"?w(E):w(y,!1)})}H(l,d)};se(o,l=>{t.open&&l(h)})}H(e,a),gt()}Bt(["click","keydown"]);var n0=q(' '),o0=q(' '),a0=q('
              • '),l0=q('
              • No commands found
              • '),h0=q('');function c0(e,t){vt(t,!0);const i=[{id:"new-terminal",label:"New Terminal Tab",shortcut:"Ctrl+`",action:()=>{}},{id:"settings",label:"Open Settings",shortcut:"Ctrl+,",action:()=>{}},{id:"search",label:"Search Messages",shortcut:"Ctrl+F",action:()=>{}},{id:"new-project",label:"Add Project",description:"Open a project directory",action:()=>{}},{id:"clear-agent",label:"Clear Agent Context",description:"Reset agent session",action:()=>{}},{id:"copy-cost",label:"Copy Session Cost",action:()=>{}},{id:"docs",label:"Open Documentation",shortcut:"F1",action:()=>{}},{id:"theme",label:"Change Theme",description:"Currently: Catppuccin Mocha",action:()=>{}},{id:"split-h",label:"Split Horizontally",shortcut:"Ctrl+\\",action:()=>{}},{id:"split-v",label:"Split Vertically",shortcut:"Ctrl+Shift+\\",action:()=>{}}];let s=V(""),r=V(0),n=V(void 0),a=Ge(()=>c(s).trim()===""?i:i.filter(_=>{var p;return _.label.toLowerCase().includes(c(s).toLowerCase())||((p=_.description)==null?void 0:p.toLowerCase().includes(c(s).toLowerCase()))}));ki(()=>{t.open&&(N(s,""),N(r,0),Ba().then(()=>{var _;return(_=c(n))==null?void 0:_.focus()}))}),ki(()=>{const _=c(a).length;c(r)>=_&&N(r,Math.max(0,_-1),!0)});function o(_){if(_.key==="Escape"){t.onClose();return}if(_.key==="ArrowDown"){_.preventDefault(),N(r,Math.min(c(r)+1,c(a).length-1),!0);return}if(_.key==="ArrowUp"){_.preventDefault(),N(r,Math.max(c(r)-1,0),!0);return}_.key==="Enter"&&c(a)[c(r)]&&(c(a)[c(r)].action(),t.onClose())}function h(_){_.action(),t.onClose()}function l(_){_.target===_.currentTarget&&t.onClose()}var d=Lt(),u=Ve(d);{var v=_=>{var p=h0();p.__click=l,p.__keydown=o;var f=k(p),g=k(f),A=L(k(g),2);A.__keydown=o,Tr(A,m=>N(n,m),()=>c(n));var E=L(g,2),y=k(E);Me(y,19,()=>c(a),m=>m.id,(m,b,x)=>{var C=a0();let M;C.__click=()=>h(c(b));var I=k(C),B=k(I),D=L(I,2);{var T=O=>{var P=n0(),z=k(P);X(()=>G(z,c(b).description)),H(O,P)};se(D,O=>{c(b).description&&O(T)})}var R=L(D,2);{var Q=O=>{var P=o0(),z=k(P);X(()=>G(z,c(b).shortcut)),H(O,P)};se(R,O=>{c(b).shortcut&&O(Q)})}X(()=>{_e(C,"id",`cmd-${c(b).id??""}`),M=be(C,1,"palette-item svelte-o5jp2k",null,M,{selected:c(x)===c(r)}),_e(C,"aria-selected",c(x)===c(r)),G(B,c(b).label)}),Ia("mouseenter",C,()=>N(r,c(x),!0)),H(m,C)});var w=L(y,2);{var S=m=>{var b=l0();H(m,b)};se(w,m=>{c(a).length===0&&m(S)})}X(()=>_e(A,"aria-activedescendant",c(a)[c(r)]?`cmd-${c(a)[c(r)].id}`:void 0)),Fs(A,()=>c(s),m=>N(s,m)),H(_,p)};se(u,_=>{t.open&&_(v)})}H(e,d),gt()}Bt(["click","keydown"]);var d0=q('
                '),u0=q('
                ');function _0(e,t){vt(t,!0);let i=V(Fe([])),s=V(0);function r(l,d="info",u=4e3){const v=Vd(s);N(i,[...c(i),{id:v,message:l,variant:d,dismissAt:Date.now()+u}],!0),setTimeout(()=>n(v),u)}function n(l){N(i,c(i).filter(d=>d.id!==l),!0)}Bi(()=>{setTimeout(()=>{r("Agent Orchestrator connected","success",4e3)},800)});const a={success:"✓",warning:"⚠",error:"✕",info:"ℹ"};var o={addToast:r},h=u0();return Me(h,21,()=>c(i),l=>l.id,(l,d)=>{var u=d0(),v=k(u),_=k(v),p=L(v,2),f=k(p),g=L(p,2);g.__click=()=>n(c(d).id),X(()=>{be(u,1,`toast toast-${c(d).variant??""}`,"svelte-13j0wuy"),G(_,a[c(d).variant]),G(f,c(d).message)}),H(l,u)}),H(e,h),gt(o)}Bt(["click"]);var f0=q(''),v0=q('
                '),g0=q(' ',1),p0=q('
                '),m0=q('

                '),A0=q(' running'),b0=q(' idle'),w0=q(' stalled'),C0=q(' attention'),S0=q(''),y0=q('
                session tokens cost Ctrl+K
                ',1);function x0(e,t){vt(t,!0);let i=V(Fe([{id:"p1",name:"agent-orchestrator",cwd:"~/code/ai/agent-orchestrator",accent:"var(--ctp-mauve)",status:"running",costUsd:.034,tokens:18420,provider:"claude",profile:"dev",model:"claude-opus-4-5",contextPct:78,burnRate:.12,groupId:"dev",mainRepoPath:"~/code/ai/agent-orchestrator",messages:[{id:1,role:"user",content:"Add a wake scheduler for Manager agents that wakes them when review queue depth > 3."},{id:2,role:"assistant",content:"Reading existing wake-scheduler.svelte.ts to understand the 3-strategy pattern..."},{id:3,role:"tool-call",content:'Read("src/lib/stores/wake-scheduler.svelte.ts")'},{id:4,role:"tool-result",content:`// 312 lines +export type WakeStrategy = "persistent" | "on-demand" | "smart"; +...`},{id:5,role:"assistant",content:"Found the WakeSignal enum. I'll add ReviewBacklog(0.6) and hook into bttask polling. Writing wake-scorer.ts update now."}]},{id:"p2",name:"quanta-discord-bot",cwd:"~/code/quanta/discord-bot",accent:"var(--ctp-sapphire)",status:"idle",costUsd:.011,tokens:6830,provider:"claude",model:"claude-sonnet-4-5",contextPct:32,groupId:"dev",messages:[{id:1,role:"user",content:"Why is the QRAG MCP server returning 504s on large semantic search queries?"},{id:2,role:"assistant",content:"Checking the MCP HTTP handler timeout config and Qdrant query path..."},{id:3,role:"tool-call",content:'Read("src/mcp/server.ts", offset=120, limit=40)'},{id:4,role:"tool-result",content:`const QUERY_TIMEOUT_MS = 5000; // default +...`},{id:5,role:"assistant",content:"Found it. Raised ef_searching to 128 and timeout to 8s as safety margin."}]}])),s=V(Fe([{id:"dev",name:"Development",icon:"🔧",position:0},{id:"test",name:"Testing",icon:"🧪",position:1},{id:"ops",name:"DevOps",icon:"🚀",position:2},{id:"research",name:"Research",icon:"🔬",position:3}])),r=V("dev"),n=Ge(()=>c(s).find(ie=>ie.id===c(r))??c(s)[0]),a=Ge(()=>c(i).filter(ie=>(ie.groupId??"dev")===c(r))),o=Ge(()=>()=>{const ie=[],Z=new Set(c(a).filter(Ie=>Ie.cloneOf).map(Ie=>Ie.cloneOf));for(const Ie of c(a))if(!Ie.cloneOf)if(Z.has(Ie.id)){const Te=c(a).filter(je=>je.cloneOf===Ie.id).sort((je,qt)=>(je.cloneIndex??0)-(qt.cloneIndex??0));ie.push({type:"clone-group",parent:Ie,clones:Te})}else ie.push({type:"standalone",project:Ie});return ie});function h(ie){return c(i).filter(Z=>Z.cloneOf===ie).length}function l(ie){if(!c(i).find(Te=>Te.id===ie))return;const Ie=`feature/clone-${Date.now()}`;he.request["project.clone"]({projectId:ie,branchName:Ie}).then(Te=>{if(Te.ok&&Te.project){const je=JSON.parse(Te.project.config);N(i,[...c(i),{...je,status:"idle",costUsd:0,tokens:0,messages:[]}],!0)}else console.error("[clone]",Te.error)}).catch(console.error)}Bi(()=>(Xs.initTheme(he).catch(console.error),Ht.initFonts(he).catch(console.error),$t.init(he).catch(console.error),he.request["groups.list"]({}).then(({groups:Z})=>{Z.length>0&&N(s,Z,!0)}).catch(console.error),he.request["settings.get"]({key:"active_group"}).then(({value:Z})=>{Z&&c(s).some(Ie=>Ie.id===Z)&&N(r,Z,!0)}).catch(console.error),$t.on("palette",()=>{N(u,!c(u))}),$t.on("settings",()=>{N(d,!c(d))}),$t.on("group1",()=>{var Z;return p((Z=c(s)[0])==null?void 0:Z.id)}),$t.on("group2",()=>{var Z;return p((Z=c(s)[1])==null?void 0:Z.id)}),$t.on("group3",()=>{var Z;return p((Z=c(s)[2])==null?void 0:Z.id)}),$t.on("group4",()=>{var Z;return p((Z=c(s)[3])==null?void 0:Z.id)}),$t.on("minimize",()=>he.request["window.minimize"]({}).catch(console.error)),$t.installListener()));let d=V(!1),u=V(!1),v=V(2),_=Fe(Date.now());function p(ie){ie&&(N(r,ie,!0),he.request["settings.set"]({key:"active_group",value:ie}).catch(console.error))}let f=V(!0);ki(()=>{const ie=setInterval(()=>{N(f,!c(f))},500);return()=>clearInterval(ie)});let g=V("0m");ki(()=>{function ie(){const Ie=Math.floor((Date.now()-_)/6e4);N(g,Ie<60?`${Ie}m`:`${Math.floor(Ie/60)}h ${Ie%60}m`,!0)}ie();const Z=setInterval(ie,1e4);return()=>clearInterval(Z)});let A=null;function E(){A&&clearTimeout(A),A=setTimeout(()=>{he.request["window.getFrame"]({}).then(ie=>{he.request["settings.set"]({key:"win_x",value:String(ie.x)}).catch(console.error),he.request["settings.set"]({key:"win_y",value:String(ie.y)}).catch(console.error),he.request["settings.set"]({key:"win_width",value:String(ie.width)}).catch(console.error),he.request["settings.set"]({key:"win_height",value:String(ie.height)}).catch(console.error)}).catch(console.error)},500)}let y=Ge(()=>c(i).filter(ie=>ie.status==="running").length),w=Ge(()=>c(i).filter(ie=>ie.status==="idle").length),S=Ge(()=>c(i).filter(ie=>ie.status==="stalled").length),m=Ge(()=>c(i).reduce((ie,Z)=>ie+Z.costUsd,0)),b=Ge(()=>c(i).reduce((ie,Z)=>ie+Z.tokens,0)),x=Ge(()=>c(i).filter(ie=>ie.status==="stalled"||(ie.contextPct??0)>=75));function C(ie){return ie>=1e3?`${(ie/1e3).toFixed(1)}k`:String(ie)}function M(ie){return`$${ie.toFixed(3)}`}function I(){he.request["window.minimize"]({}).catch(console.error)}function B(){he.request["window.maximize"]({}).catch(console.error)}function D(){he.request["window.close"]({}).catch(console.error)}var T=y0(),R=Ve(T);r0(R,{get open(){return c(d)},onClose:()=>N(d,!1)});var Q=L(R,2);c0(Q,{get open(){return c(u)},onClose:()=>N(u,!1)});var O=L(Q,2);_0(O,{});var P=L(O,2),z=k(P),U=L(k(z),2);Me(U,21,()=>c(s),qe,(ie,Z,Ie)=>{var Te=f0();let je;Te.__click=()=>p(c(Z).id);var qt=k(Te),Dt=k(qt);X(()=>{je=be(Te,1,"sidebar-icon group-icon svelte-krfyfn",null,je,{active:c(r)===c(Z).id}),_e(Te,"aria-label",`${c(Z).name??""} (Ctrl+${Ie+1})`),_e(Te,"title",`${c(Z).name??""} (Ctrl+${Ie+1})`),G(Dt,c(Z).icon)}),H(ie,Te)});var ue=L(U,4);let fe;ue.__click=()=>N(d,!c(d));var F=L(z,2),Y=k(F),ve=k(Y),pe=k(ve),j=k(pe),W=L(ve,2),$=k(W);$.__click=I;var ee=L($,2);ee.__click=B;var te=L(ee,2);te.__click=D;var ce=L(Y,2),re=k(ce);Me(re,17,()=>c(o)(),ie=>ie.type==="standalone"?ie.project.id:`cg-${ie.parent.id}`,(ie,Z)=>{var Ie=Lt(),Te=Ve(Ie);{var je=Dt=>{var Vt=v0(),rt=k(Vt);{let pt=Ge(()=>h(c(Z).project.id)>=3);bo(rt,{get id(){return c(Z).project.id},get name(){return c(Z).project.name},get cwd(){return c(Z).project.cwd},get accent(){return c(Z).project.accent},get status(){return c(Z).project.status},get costUsd(){return c(Z).project.costUsd},get tokens(){return c(Z).project.tokens},get messages(){return c(Z).project.messages},get provider(){return c(Z).project.provider},get profile(){return c(Z).project.profile},get model(){return c(Z).project.model},get contextPct(){return c(Z).project.contextPct},get burnRate(){return c(Z).project.burnRate},get blinkVisible(){return c(f)},get clonesAtMax(){return c(pt)},onClone:l})}H(Dt,Vt)},qt=Dt=>{var Vt=p0(),rt=k(Vt);{let wt=Ge(()=>c(Z).clones.length>=3);bo(rt,{get id(){return c(Z).parent.id},get name(){return c(Z).parent.name},get cwd(){return c(Z).parent.cwd},get accent(){return c(Z).parent.accent},get status(){return c(Z).parent.status},get costUsd(){return c(Z).parent.costUsd},get tokens(){return c(Z).parent.tokens},get messages(){return c(Z).parent.messages},get provider(){return c(Z).parent.provider},get profile(){return c(Z).parent.profile},get model(){return c(Z).parent.model},get contextPct(){return c(Z).parent.contextPct},get burnRate(){return c(Z).parent.burnRate},get blinkVisible(){return c(f)},get clonesAtMax(){return c(wt)},onClone:l})}var pt=L(rt,2);Me(pt,17,()=>c(Z).clones,wt=>wt.id,(wt,We)=>{var lt=g0(),ci=L(Ve(lt),2);{let ms=Ge(()=>c(We).accent??c(Z).parent.accent);bo(ci,{get id(){return c(We).id},get name(){return c(We).name},get cwd(){return c(We).cwd},get accent(){return c(ms)},get status(){return c(We).status},get costUsd(){return c(We).costUsd},get tokens(){return c(We).tokens},get messages(){return c(We).messages},get provider(){return c(We).provider},get profile(){return c(We).profile},get model(){return c(We).model},get contextPct(){return c(We).contextPct},get burnRate(){return c(We).burnRate},get blinkVisible(){return c(f)},get worktreeBranch(){return c(We).worktreeBranch},get cloneOf(){return c(We).cloneOf}})}H(wt,lt)}),X(()=>_e(Vt,"aria-label",`Project group: ${c(Z).parent.name??""}`)),H(Dt,Vt)};se(Te,Dt=>{c(Z).type==="standalone"?Dt(je):Dt(qt,!1)})}H(ie,Ie)});var oe=L(re,2);{var Ce=ie=>{var Z=m0(),Ie=k(Z),Te=k(Ie),je=L(Ie,2),qt=k(je);X(()=>{var Dt,Vt;G(Te,((Dt=c(n))==null?void 0:Dt.icon)??"📁"),G(qt,`No projects in ${((Vt=c(n))==null?void 0:Vt.name)??"this group"??""}`)}),H(ie,Z)};se(oe,ie=>{c(a).length===0&&ie(Ce)})}var we=L(P,2),me=k(we);{var ke=ie=>{var Z=A0(),Ie=L(k(Z),2),Te=k(Ie);X(()=>G(Te,c(y))),H(ie,Z)};se(me,ie=>{c(y)>0&&ie(ke)})}var He=L(me,2);{var Ae=ie=>{var Z=b0(),Ie=L(k(Z),2),Te=k(Ie);X(()=>G(Te,c(w))),H(ie,Z)};se(He,ie=>{c(w)>0&&ie(Ae)})}var ye=L(He,2);{var Be=ie=>{var Z=w0(),Ie=L(k(Z),2),Te=k(Ie);X(()=>G(Te,c(S))),H(ie,Z)};se(ye,ie=>{c(S)>0&&ie(Be)})}var ge=L(ye,2);{var Se=ie=>{var Z=C0(),Ie=L(k(Z),2),Te=k(Ie);X(je=>{_e(Z,"title",`Needs attention: ${je??""}`),G(Te,c(x).length)},[()=>c(x).map(je=>je.name).join(", ")]),H(ie,Z)};se(ge,ie=>{c(x).length>0&&ie(Se)})}var le=L(ge,4),ne=k(le),xe=k(ne),$e=L(ne,2),Xe=k($e),Qe=L(le,2),Pe=L(k(Qe),2),Ze=k(Pe),tt=L(Qe,2),Ot=L(k(tt),2),Yt=k(Ot),Ci=L(tt,2),Ue=L(k(Ci),2),at=k(Ue),Qt=L(Ci,2);Qt.__click=()=>N(v,0);var Ii=L(k(Qt),2);{var Ui=ie=>{var Z=S0(),Ie=k(Z);X(()=>G(Ie,c(v))),H(ie,Z)};se(Ii,ie=>{c(v)>0&&ie(Ui)})}X((ie,Z)=>{var Ie,Te,je,qt;fe=be(ue,1,"sidebar-icon svelte-krfyfn",null,fe,{active:c(d)}),G(j,((Ie=c(n))==null?void 0:Ie.name)??"Agent Orchestrator"),_e(ce,"aria-label",`${((Te=c(n))==null?void 0:Te.name)??"Projects"??""} projects`),G(xe,(je=c(n))==null?void 0:je.icon),G(Xe,(qt=c(n))==null?void 0:qt.name),G(Ze,c(g)),G(Yt,ie),G(at,Z),_e(Qt,"aria-label",c(v)>0?`${c(v)} unread notifications`:"Notifications")},[()=>C(c(b)),()=>M(c(m))]),Ia("resize",P,E),H(e,T),gt()}Bt(["click"]);const k0=1e10,E0=1e3;function cn(e,t){const i=e.map(s=>`"${s}"`).join(", ");return new Error(`This RPC instance cannot ${t} because the transport did not provide one or more of these methods: ${i}`)}function B0(e={}){let t={},i={},s;function r(b){var x;i.unregisterHandler&&i.unregisterHandler(),i=b,(x=i.registerHandler)==null||x.call(i,S)}function n(b){if(typeof b=="function"){s=b;return}s=(x,C)=>{const M=b[x];if(M)return M(C);const I=b._;if(!I)throw new Error(`The requested method has no handler: ${String(x)}`);return I(x,C)}}const{maxRequestTime:a=E0}=e;e.transport&&r(e.transport),e.requestHandler&&n(e.requestHandler),e._debugHooks&&(t=e._debugHooks);let o=0;function h(){return o<=k0?++o:o=0}const l=new Map,d=new Map;function u(b,...x){const C=x[0];return new Promise((M,I)=>{var T;if(!i.send)throw cn(["send"],"make requests");const B=h(),D={type:"request",id:B,method:b,params:C};l.set(B,{resolve:M,reject:I}),a!==1/0&&d.set(B,setTimeout(()=>{d.delete(B),l.delete(B),I(new Error("RPC request timed out."))},a)),(T=t.onSend)==null||T.call(t,D),i.send(D)})}const v=new Proxy(u,{get:(b,x,C)=>x in b?Reflect.get(b,x,C):M=>u(x,M)}),_=v;function p(b,...x){var I;const C=x[0];if(!i.send)throw cn(["send"],"send messages");const M={type:"message",id:b,payload:C};(I=t.onSend)==null||I.call(t,M),i.send(M)}const f=new Proxy(p,{get:(b,x,C)=>x in b?Reflect.get(b,x,C):M=>p(x,M)}),g=f,A=new Map,E=new Set;function y(b,x){if(!i.registerHandler)throw cn(["registerHandler"],"register message listeners");if(b==="*"){E.add(x);return}A.has(b)||A.set(b,new Set),A.get(b).add(x)}function w(b,x){var C,M;if(b==="*"){E.delete(x);return}(C=A.get(b))==null||C.delete(x),((M=A.get(b))==null?void 0:M.size)===0&&A.delete(b)}async function S(b){var x,C;if((x=t.onReceive)==null||x.call(t,b),!("type"in b))throw new Error("Message does not contain a type.");if(b.type==="request"){if(!i.send||!s)throw cn(["send","requestHandler"],"handle requests");const{id:M,method:I,params:B}=b;let D;try{D={type:"response",id:M,success:!0,payload:await s(I,B)}}catch(T){if(!(T instanceof Error))throw T;D={type:"response",id:M,success:!1,error:T.message}}(C=t.onSend)==null||C.call(t,D),i.send(D);return}if(b.type==="response"){const M=d.get(b.id);M!=null&&clearTimeout(M),d.delete(b.id);const{resolve:I,reject:B}=l.get(b.id)??{};l.delete(b.id),b.success?I==null||I(b.payload):B==null||B(new Error(b.error));return}if(b.type==="message"){for(const I of E)I(b.id,b.payload);const M=A.get(b.id);if(!M)return;for(const I of M)I(b.payload);return}throw new Error(`Unexpected RPC message type: ${b.type}`)}return{setTransport:r,setRequestHandler:n,request:v,requestProxy:_,send:f,sendProxy:g,addMessageListener:y,removeMessageListener:w,proxy:{send:g,request:_}}}function I0(e,t){const i={maxRequestTime:t.maxRequestTime,requestHandler:{...t.handlers.requests,...t.extraRequestHandlers},transport:{registerHandler:()=>{}}},s=B0(i),r=t.handlers.messages;return r&&s.addMessageListener("*",((n,a)=>{const o=r["*"];o&&o(n,a);const h=r[n];h&&h(a)})),s}const D0=window.__electrobunWebviewId,M0=window.__electrobunRpcSocketPort;class Zc{constructor(t){this.rpc=t.rpc,this.init()}init(){this.initSocketToBun(),window.__electrobun.receiveMessageFromBun=this.receiveMessageFromBun.bind(this),this.rpc&&this.rpc.setTransport(this.createTransport())}initSocketToBun(){const t=new WebSocket(`ws://localhost:${M0}/socket?webviewId=${D0}`);this.bunSocket=t,t.addEventListener("open",()=>{}),t.addEventListener("message",async i=>{var r;const s=i.data;if(typeof s=="string")try{const n=JSON.parse(s),a=await window.__electrobun_decrypt(n.encryptedData,n.iv,n.tag);(r=this.rpcHandler)==null||r.call(this,JSON.parse(a))}catch(n){console.error("Error parsing bun message:",n)}else s instanceof Blob||console.error("UNKNOWN DATA TYPE RECEIVED:",i.data)}),t.addEventListener("error",i=>{console.error("Socket error:",i)}),t.addEventListener("close",i=>{})}createTransport(){const t=this;return{send(i){try{const s=JSON.stringify(i);t.bunBridge(s)}catch(s){console.error("bun: failed to serialize message to webview",s)}},registerHandler(i){t.rpcHandler=i}}}async bunBridge(t){var i,s;if(((i=this.bunSocket)==null?void 0:i.readyState)===WebSocket.OPEN)try{const{encryptedData:r,iv:n,tag:a}=await window.__electrobun_encrypt(t),h=JSON.stringify({encryptedData:r,iv:n,tag:a});this.bunSocket.send(h);return}catch(r){console.error("Error sending message to bun via socket:",r)}(s=window.__electrobunBunBridge)==null||s.postMessage(t)}receiveMessageFromBun(t){this.rpcHandler&&this.rpcHandler(t)}static defineRPC(t){return I0("webview",{...t,extraRequestHandlers:{evaluateJavascriptWithResponse:({script:i})=>new Promise(s=>{try{const n=new Function(i)();n instanceof Promise?n.then(a=>{s(a)}).catch(a=>{console.error("bun: async script execution failed",a),s(String(a))}):s(n)}catch(r){console.error("bun: failed to eval script",r),s(String(r))}})}})}}const he=Zc.defineRPC({maxRequestTime:1e4,handlers:{requests:{},messages:{}}}),ws=new Zc({rpc:he});gu(x0,{target:document.getElementById("app")}); diff --git a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-Dvoh622C.css b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-Dvoh622C.css deleted file mode 100644 index e4a7607..0000000 --- a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-Dvoh622C.css +++ /dev/null @@ -1,32 +0,0 @@ -:root{--ctp-rosewater: #f5e0dc;--ctp-flamingo: #f2cdcd;--ctp-pink: #f5c2e7;--ctp-mauve: #cba6f7;--ctp-red: #f38ba8;--ctp-maroon: #eba0ac;--ctp-peach: #fab387;--ctp-yellow: #f9e2af;--ctp-green: #a6e3a1;--ctp-teal: #94e2d5;--ctp-sky: #89dceb;--ctp-sapphire: #74c7ec;--ctp-blue: #89b4fa;--ctp-lavender: #b4befe;--ctp-text: #cdd6f4;--ctp-subtext1: #bac2de;--ctp-subtext0: #a6adc8;--ctp-overlay2: #9399b2;--ctp-overlay1: #7f849c;--ctp-overlay0: #6c7086;--ctp-surface2: #585b70;--ctp-surface1: #45475a;--ctp-surface0: #313244;--ctp-base: #1e1e2e;--ctp-mantle: #181825;--ctp-crust: #11111b;--ui-font-family: system-ui, -apple-system, "Segoe UI", sans-serif;--ui-font-size: .875rem;--term-font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--term-font-size: .8125rem;--sidebar-width: 2.75rem;--status-bar-height: 1.75rem;--tab-bar-height: 2rem;--header-height: 2.5rem}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--ctp-base);color:var(--ctp-text);font-family:var(--ui-font-family);font-size:var(--ui-font-size);-webkit-font-smoothing:antialiased}#app{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-shell{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--ctp-mantle);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;align-items:center;padding:.5rem 0;gap:.25rem}.sidebar-icon{width:2rem;height:2rem;border-radius:.375rem;border:none;background:transparent;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;padding:0}.sidebar-icon:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.sidebar-icon.active{background:var(--ctp-surface1);color:var(--ctp-mauve)}.sidebar-icon svg{width:1rem;height:1rem}.sidebar-spacer{flex:1}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.project-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;background:var(--ctp-crust)}.project-card{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:.5rem;display:flex;flex-direction:column;overflow:hidden;min-height:0}.project-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--ctp-mauve));border-radius:.5rem 0 0 .5rem}.project-card{position:relative}.project-header{height:var(--header-height);background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:.5rem;padding:0 .625rem 0 .875rem;flex-shrink:0}.status-dot-wrap{flex-shrink:0;width:.625rem;height:.625rem;position:relative}#wgpu-surface,.wgpu-surface,.status-dot{width:100%;height:100%;border-radius:50%;background:var(--dot-color, var(--ctp-overlay0))}.status-dot.running{--dot-color: var(--ctp-green)}.status-dot.blink-off{opacity:.3}.status-dot.idle{--dot-color: var(--ctp-overlay1)}.status-dot.stalled{--dot-color: var(--ctp-peach)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.project-name{font-weight:600;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.project-cwd{font-size:.75rem;color:var(--ctp-subtext0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;max-width:10rem;flex-shrink:0}.tab-bar{height:var(--tab-bar-height);background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:stretch;flex-shrink:0;padding:0 .25rem;gap:.125rem}.tab-btn{padding:0 .75rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s;margin-bottom:-1px}.tab-btn:hover{color:var(--ctp-text)}.tab-btn.active{color:var(--ctp-text);border-bottom-color:var(--accent, var(--ctp-mauve))}.tab-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tab-pane{flex:1;min-height:0;overflow-y:auto;padding:.5rem .625rem;display:none}.tab-pane.active{display:flex;flex-direction:column;gap:.375rem}.tab-pane::-webkit-scrollbar{width:.375rem}.tab-pane::-webkit-scrollbar-track{background:transparent}.tab-pane::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.msg{display:flex;flex-direction:column;gap:.125rem}.msg-role{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ctp-overlay1)}.msg-role.user{color:var(--ctp-blue)}.msg-role.assistant{color:var(--ctp-mauve)}.msg-role.tool{color:var(--ctp-peach)}.msg-body{background:var(--ctp-surface0);border-radius:.3125rem;padding:.375rem .5rem;font-size:.8125rem;line-height:1.5;color:var(--ctp-text);white-space:pre-wrap;word-break:break-word}.msg-body.tool-call{background:color-mix(in srgb,var(--ctp-peach) 8%,var(--ctp-surface0));border-left:2px solid var(--ctp-peach);font-family:var(--term-font-family);font-size:.75rem}.msg-body.tool-result{background:color-mix(in srgb,var(--ctp-teal) 6%,var(--ctp-surface0));border-left:2px solid var(--ctp-teal);font-family:var(--term-font-family);font-size:.75rem;color:var(--ctp-subtext1)}.placeholder-pane{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ctp-overlay0);font-size:.8125rem;font-style:italic}.status-bar{height:var(--status-bar-height);background:var(--ctp-crust);border-top:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:1rem;padding:0 .75rem;flex-shrink:0;font-size:.75rem;color:var(--ctp-subtext0)}.status-segment{display:flex;align-items:center;gap:.3rem}.status-dot-sm{width:.4375rem;height:.4375rem;border-radius:50%;flex-shrink:0}.status-dot-sm.green{background:var(--ctp-green)}.status-dot-sm.gray{background:var(--ctp-overlay0)}.status-dot-sm.orange{background:var(--ctp-peach)}.status-bar-spacer{flex:1}.status-value{color:var(--ctp-text);font-weight:500}.agent-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.375rem}.terminal-section{height:12rem;min-height:8rem;border-top:1px solid var(--ctp-surface0);flex-shrink:0}/** - * Copyright (c) 2014 The xterm.js authors. All rights reserved. - * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) - * https://github.com/chjj/term.js - * @license MIT - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in - * all copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - * THE SOFTWARE. - * - * Originally forked from (with the author's permission): - * Fabrice Bellard's javascript vt100 for jslinux: - * http://bellard.org/jslinux/ - * Copyright (c) 2011 Fabrice Bellard - * The original design remains. The terminal itself - * has been extended to include xterm CSI codes, among - * other features. - */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.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{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{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;position:absolute;top:0;right:0;pointer-events:none}.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;background:#0000;transition:opacity .1s linear;z-index:11}.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{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.chat-input-outer.svelte-icb1la{background:var(--ctp-crust);border:1px solid var(--ctp-surface1);border-radius:.5rem;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;overflow:visible;position:relative;z-index:30}.chat-textarea.svelte-icb1la{background:transparent;border:none;outline:none;resize:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;line-height:1.5;padding:.625rem .875rem;min-height:2.5rem;max-height:12.5rem;overflow-y:auto;width:100%;box-sizing:border-box}.chat-textarea.svelte-icb1la:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--ctp-peach) 12%,transparent)}.chat-textarea.svelte-icb1la::placeholder{color:var(--ctp-subtext0)}.chat-textarea.svelte-icb1la::-webkit-scrollbar{width:.25rem}.chat-textarea.svelte-icb1la::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.footer-strip.svelte-icb1la{display:flex;align-items:center;gap:.125rem;padding:.3125rem;border-top:.5px solid var(--ctp-surface1);position:relative}.popup-wrap.svelte-icb1la{position:relative}.footer-btn.svelte-icb1la{background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.footer-btn.svelte-icb1la:hover{color:var(--ctp-text);background:var(--ctp-surface0)}.footer-btn.active.svelte-icb1la{color:var(--ctp-blue);background:color-mix(in srgb,var(--ctp-blue) 12%,transparent)}.popup-menu.svelte-icb1la{position:absolute;bottom:calc(100% + .375rem);left:0;z-index:100;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.375rem;box-shadow:0 .5rem 1.25rem color-mix(in srgb,var(--ctp-crust) 70%,transparent);min-width:10rem;padding:.25rem;display:flex;flex-direction:column;gap:.0625rem}.popup-item.svelte-icb1la{width:100%;background:transparent;border:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;padding:.35rem .625rem;border-radius:.25rem;text-align:left;cursor:pointer;transition:background .08s,color .08s}.popup-item.svelte-icb1la:hover{background:var(--ctp-surface1)}.popup-slash.svelte-icb1la{font-family:var(--term-font-family);color:var(--ctp-blue)}.popup-slash.svelte-icb1la:hover{color:var(--ctp-text)}.disabled-item.svelte-icb1la{opacity:.4;cursor:not-allowed}.popup-backdrop.svelte-icb1la{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29}.context-indicator.svelte-icb1la{display:flex;align-items:center;gap:.25rem;padding:.125rem .25rem;cursor:default}.ctx-pct.svelte-icb1la{font-size:.6875rem;font-weight:600;min-width:2rem;letter-spacing:-.01em}.model-label.svelte-icb1la{font-size:.85em;color:var(--ctp-overlay1);padding:0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:8rem}.footer-spacer.svelte-icb1la{flex:1}.footer-divider.svelte-icb1la{width:1px;height:1rem;background:var(--ctp-surface1);margin:0 .25rem;flex-shrink:0}.send-btn.svelte-icb1la{width:26px;height:26px;background:var(--ctp-peach);border:none;border-radius:5px;color:#f5efe6;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter .12s}.send-btn.svelte-icb1la:hover:not(:disabled){filter:brightness(1.1)}.send-btn.svelte-icb1la:disabled{opacity:.4;cursor:not-allowed}.status-strip.svelte-9vsw7f{display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:var(--ctp-mantle);border-bottom:.5px solid var(--ctp-surface1);font-size:.6875rem;color:var(--ctp-subtext0);flex-shrink:0}.strip-dot.svelte-9vsw7f{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-success.svelte-9vsw7f{background:var(--ctp-green)}.dot-progress.svelte-9vsw7f{background:var(--ctp-peach)}.dot-error.svelte-9vsw7f{background:var(--ctp-red)}.strip-label.svelte-9vsw7f{color:var(--ctp-subtext1);font-weight:500}.strip-model.svelte-9vsw7f{color:var(--ctp-overlay1);margin-left:.25rem}.strip-spacer.svelte-9vsw7f{flex:1}.strip-tokens.svelte-9vsw7f{color:var(--ctp-overlay1)}.strip-sep.svelte-9vsw7f{width:1px;height:.75rem;background:var(--ctp-surface1);margin:0 .125rem}.strip-cost.svelte-9vsw7f{color:var(--ctp-text);font-weight:500}.agent-pane.svelte-9vsw7f{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative;background:var(--ctp-base)}.messages-scroll.svelte-9vsw7f{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.25rem 2.5rem;display:flex;flex-direction:column;gap:0}.messages-scroll.svelte-9vsw7f::-webkit-scrollbar{width:.25rem}.messages-scroll.svelte-9vsw7f::-webkit-scrollbar-track{background:transparent}.messages-scroll.svelte-9vsw7f::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.scroll-fade.svelte-9vsw7f{position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(to bottom,transparent,var(--ctp-base));pointer-events:none;z-index:10}.floating-input.svelte-9vsw7f{position:absolute;bottom:16px;left:16px;right:16px;z-index:20}.msg-row.svelte-9vsw7f{display:flex;flex-direction:column}@keyframes svelte-9vsw7f-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-animated.svelte-9vsw7f{animation:svelte-9vsw7f-fadeIn .3s ease-in-out}.user-bubble.svelte-9vsw7f{display:inline-block;align-self:flex-start;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:6px;padding:.25rem .375rem;margin:.5rem 0;font-size:.8125rem;line-height:1.5;color:var(--ctp-text);white-space:pre-wrap;word-break:break-word;max-width:85%}.timeline-row.svelte-9vsw7f{position:relative;padding-left:1.875rem}.timeline-line-up.svelte-9vsw7f{position:absolute;left:12px;top:0;height:14px;width:1px;background:var(--ctp-surface0)}.timeline-line-down.svelte-9vsw7f{position:absolute;left:12px;top:22px;bottom:0;width:1px;background:var(--ctp-surface0)}.timeline-diamond.svelte-9vsw7f{position:absolute;left:9px;top:14px;width:7px;height:7px;transform:rotate(45deg);flex-shrink:0}.timeline-content.svelte-9vsw7f{font-size:.8125rem;line-height:1.6;color:var(--ctp-text);padding:.5rem 0;white-space:pre-wrap;word-break:break-word}.tool-box.svelte-9vsw7f{border:.5px solid var(--ctp-surface1);background:var(--ctp-mantle);border-radius:5px;overflow:hidden;margin:.25rem 0;font-size:.8125rem}.tool-result-box.svelte-9vsw7f{border-color:color-mix(in srgb,var(--ctp-teal) 30%,var(--ctp-surface1))}.tool-header.svelte-9vsw7f{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-bottom:.5px solid var(--ctp-surface1)}.tool-name.svelte-9vsw7f{font-weight:700;font-size:.8125rem;color:var(--ctp-text)}.tool-path.svelte-9vsw7f{font-family:var(--term-font-family);font-size:.8125rem;color:var(--ctp-blue)}.tool-body.svelte-9vsw7f{position:relative;max-height:60px;overflow:hidden}.tool-body.expanded.svelte-9vsw7f{max-height:none}.tool-grid.svelte-9vsw7f{display:grid;grid-template-columns:4rem 1fr;gap:.25rem;padding:.375rem .5rem}.tool-col-label.svelte-9vsw7f{font-family:var(--term-font-family);font-size:.85em;color:var(--ctp-subtext0);opacity:.5;padding-top:.05em;white-space:nowrap}.tool-col-content.svelte-9vsw7f{font-family:var(--term-font-family);font-size:.8125rem;color:var(--ctp-subtext1);white-space:pre-wrap;word-break:break-all;line-height:1.4}.tool-result-content.svelte-9vsw7f{color:var(--ctp-teal)}.tool-fade-overlay.svelte-9vsw7f{position:absolute;bottom:0;left:0;right:0;height:2.5rem;background:linear-gradient(to bottom,transparent,var(--ctp-mantle));display:flex;align-items:flex-end;justify-content:center;padding-bottom:.25rem}.show-more-btn.svelte-9vsw7f,.collapse-btn.svelte-9vsw7f{background:transparent;border:none;color:var(--ctp-blue);font-size:.75rem;cursor:pointer;padding:.125rem .375rem;border-radius:.2rem;font-family:var(--ui-font-family);transition:color .12s}.show-more-btn.svelte-9vsw7f:hover,.collapse-btn.svelte-9vsw7f:hover{color:var(--ctp-lavender)}.collapse-btn.svelte-9vsw7f{display:block;margin:0 auto .25rem}.resize-handle.svelte-9vsw7f{height:4px;background:transparent;cursor:row-resize;flex-shrink:0;transition:background .12s}.resize-handle.svelte-9vsw7f:hover,.resize-handle.dragging.svelte-9vsw7f{background:var(--ctp-surface1)}.terminal-container.svelte-aiqx64{width:100%;height:100%;min-height:10rem}.xterm{padding:.5rem}.term-wrapper.svelte-n9472g{display:flex;flex-direction:column;flex:1;min-height:0}.term-bar.svelte-n9472g{display:flex;align-items:stretch;height:1.75rem;background:var(--ctp-mantle);border-top:1px solid var(--ctp-surface0);flex-shrink:0;z-index:5}.expand-btn.svelte-n9472g{width:1.75rem;flex-shrink:0;background:transparent;border:none;border-right:1px solid var(--ctp-surface0);color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.expand-btn.svelte-n9472g:hover{color:var(--ctp-text)}.expand-btn.svelte-n9472g svg:where(.svelte-n9472g){width:.75rem;height:.75rem;transition:transform .15s}.chevron.open.svelte-n9472g{transform:rotate(90deg)}.term-tabs.svelte-n9472g{display:flex;align-items:stretch;flex:1;overflow-x:auto;scrollbar-width:none;gap:.125rem;padding:0 .25rem}.term-tabs.svelte-n9472g::-webkit-scrollbar{display:none}.term-tab.svelte-n9472g{display:flex;align-items:center;gap:.25rem;padding:0 .5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ctp-subtext0);font-size:.6875rem;cursor:pointer;white-space:nowrap;margin-bottom:-1px;font-family:inherit}.term-tab.svelte-n9472g:hover{color:var(--ctp-text)}.term-tab.active.svelte-n9472g{color:var(--ctp-text);border-bottom-color:var(--accent)}.tab-label.svelte-n9472g{pointer-events:none}.tab-close.svelte-n9472g{width:.875rem;height:.875rem;border-radius:.2rem;font-size:.6875rem;color:var(--ctp-overlay0);cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;font-family:inherit;line-height:1}.tab-close.svelte-n9472g:hover{background:var(--ctp-surface1);color:var(--ctp-red)}.tab-add.svelte-n9472g{align-self:center;width:1.25rem;height:1.25rem;flex-shrink:0;background:transparent;border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:.125rem}.tab-add.svelte-n9472g:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.term-panes.svelte-n9472g{flex:1;min-height:8rem;position:relative}.term-pane.svelte-n9472g{position:absolute;top:0;right:0;bottom:0;left:0;flex-direction:column}.file-browser.svelte-ly4nw6{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:.8125rem}.fb-tree.svelte-ly4nw6{flex:1;overflow-y:auto;padding:.25rem 0}.fb-tree.svelte-ly4nw6::-webkit-scrollbar{width:.25rem}.fb-tree.svelte-ly4nw6::-webkit-scrollbar-track{background:transparent}.fb-tree.svelte-ly4nw6::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.fb-row.svelte-ly4nw6{display:flex;align-items:center;gap:.3rem;width:100%;background:transparent;border:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;padding-top:.2rem;padding-bottom:.2rem;padding-right:.5rem;cursor:pointer;text-align:left;white-space:nowrap;transition:background .08s}.fb-row.svelte-ly4nw6:hover{background:var(--ctp-surface0)}.fb-file.selected.svelte-ly4nw6{background:color-mix(in srgb,var(--accent, var(--ctp-mauve)) 15%,transparent);color:var(--accent, var(--ctp-mauve))}.fb-chevron.svelte-ly4nw6{display:inline-block;width:.875rem;font-size:.875rem;color:var(--ctp-overlay1);transition:transform .12s;transform:rotate(0);flex-shrink:0;line-height:1}.fb-chevron.open.svelte-ly4nw6{transform:rotate(90deg)}.fb-icon.svelte-ly4nw6{flex-shrink:0;font-style:normal}.file-type.svelte-ly4nw6{font-size:.6875rem;color:var(--ctp-overlay1);font-family:var(--term-font-family)}.fb-name.svelte-ly4nw6{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-dir.svelte-ly4nw6 .fb-name:where(.svelte-ly4nw6){color:var(--ctp-subtext1);font-weight:500}.fb-preview.svelte-ly4nw6{border-top:1px solid var(--ctp-surface0);padding:.5rem .75rem;background:var(--ctp-mantle);flex-shrink:0}.fb-preview-label.svelte-ly4nw6{font-size:.75rem;color:var(--ctp-subtext0);font-family:var(--term-font-family);margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-preview-content.svelte-ly4nw6{font-size:.75rem;color:var(--ctp-overlay0);font-style:italic}.memory-tab.svelte-1k7ge8m{display:flex;flex-direction:column;height:100%;overflow:hidden}.memory-header.svelte-1k7ge8m{display:flex;align-items:center;justify-content:space-between;padding:.375rem .625rem;border-bottom:1px solid var(--ctp-surface0);background:var(--ctp-mantle);flex-shrink:0;font-size:.75rem}.memory-count.svelte-1k7ge8m{color:var(--ctp-text);font-weight:500}.memory-hint.svelte-1k7ge8m{color:var(--ctp-overlay0);font-style:italic}.memory-list.svelte-1k7ge8m{flex:1;overflow-y:auto;padding:.375rem;display:flex;flex-direction:column;gap:.375rem}.memory-list.svelte-1k7ge8m::-webkit-scrollbar{width:.25rem}.memory-list.svelte-1k7ge8m::-webkit-scrollbar-track{background:transparent}.memory-list.svelte-1k7ge8m::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.memory-card.svelte-1k7ge8m{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.375rem;padding:.5rem .625rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color .12s}.memory-card.svelte-1k7ge8m:hover{border-color:var(--ctp-surface2)}.memory-card-top.svelte-1k7ge8m{display:flex;align-items:flex-start;gap:.5rem}.memory-title.svelte-1k7ge8m{flex:1;font-size:.8125rem;font-weight:600;color:var(--ctp-text);line-height:1.3}.trust-badge.svelte-1k7ge8m{flex-shrink:0;padding:.1rem .35rem;border-radius:.25rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.trust-human.svelte-1k7ge8m{background:color-mix(in srgb,var(--ctp-green) 15%,transparent);color:var(--ctp-green)}.trust-agent.svelte-1k7ge8m{background:color-mix(in srgb,var(--ctp-blue) 15%,transparent);color:var(--ctp-blue)}.trust-auto.svelte-1k7ge8m{background:color-mix(in srgb,var(--ctp-overlay1) 15%,transparent);color:var(--ctp-overlay1)}.memory-body.svelte-1k7ge8m{margin:0;font-size:.75rem;color:var(--ctp-subtext1);line-height:1.45;font-family:var(--ui-font-family)}.memory-footer.svelte-1k7ge8m{display:flex;align-items:center;gap:.5rem;margin-top:.1rem}.memory-tags.svelte-1k7ge8m{display:flex;flex-wrap:wrap;gap:.25rem;flex:1}.tag.svelte-1k7ge8m{padding:.05rem .3rem;background:var(--ctp-surface1);border-radius:.2rem;font-size:.625rem;color:var(--ctp-overlay1);font-family:var(--term-font-family)}.memory-date.svelte-1k7ge8m{font-size:.625rem;color:var(--ctp-overlay0);white-space:nowrap;flex-shrink:0}.project-card.svelte-1aqfagj{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:.5rem;display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative}.project-card.svelte-1aqfagj:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--ctp-mauve));border-radius:.5rem 0 0 .5rem}.project-header.svelte-1aqfagj{height:2.5rem;background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:.375rem;padding:0 .625rem 0 .875rem;flex-shrink:0;overflow:hidden}.status-dot-wrap.svelte-1aqfagj{flex-shrink:0;width:.625rem;height:.625rem;position:relative}.status-dot.svelte-1aqfagj{width:100%;height:100%;border-radius:50%;background:var(--ctp-overlay0)}.status-dot.running.svelte-1aqfagj{background:var(--ctp-green)}.status-dot.idle.svelte-1aqfagj{background:var(--ctp-overlay1)}.status-dot.stalled.svelte-1aqfagj{background:var(--ctp-peach)}.status-dot.blink-off.svelte-1aqfagj{opacity:.3}.project-name.svelte-1aqfagj{font-weight:600;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.project-cwd.svelte-1aqfagj{font-size:.6875rem;color:var(--ctp-subtext0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;max-width:8rem;flex-shrink:2}.provider-badge.svelte-1aqfagj,.profile-badge.svelte-1aqfagj,.ctx-badge.svelte-1aqfagj,.burn-badge.svelte-1aqfagj{flex-shrink:0;padding:.1rem .375rem;border-radius:.25rem;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.provider-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--accent, var(--ctp-mauve)) 15%,transparent);color:var(--accent, var(--ctp-mauve))}.profile-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-blue) 12%,transparent);color:var(--ctp-blue)}.ctx-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-yellow) 15%,transparent);color:var(--ctp-yellow)}.ctx-badge.ctx-warn.svelte-1aqfagj{color:var(--ctp-peach);background:color-mix(in srgb,var(--ctp-peach) 15%,transparent)}.ctx-badge.ctx-danger.svelte-1aqfagj{color:var(--ctp-red);background:color-mix(in srgb,var(--ctp-red) 15%,transparent)}.burn-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-peach) 10%,transparent);color:var(--ctp-peach)}.tab-bar.svelte-1aqfagj{height:2rem;background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:stretch;flex-shrink:0;padding:0 .25rem;gap:.125rem;overflow-x:auto;scrollbar-width:none}.tab-bar.svelte-1aqfagj::-webkit-scrollbar{display:none}.tab-btn.svelte-1aqfagj{padding:0 .625rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s;margin-bottom:-1px;flex-shrink:0}.tab-btn.svelte-1aqfagj:hover{color:var(--ctp-text)}.tab-btn.active.svelte-1aqfagj{color:var(--ctp-text);border-bottom-color:var(--accent, var(--ctp-mauve))}.tab-content.svelte-1aqfagj{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tab-pane.svelte-1aqfagj{flex:1;min-height:0;flex-direction:column;overflow:hidden}.placeholder-pane.svelte-1aqfagj{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ctp-overlay0);font-size:.8125rem;font-style:italic}.context-pane.svelte-1aqfagj{display:flex;flex-direction:column;gap:.75rem;padding:.625rem;overflow-y:auto;flex:1}.ctx-stats-row.svelte-1aqfagj{display:flex;gap:1rem}.ctx-stat.svelte-1aqfagj{display:flex;flex-direction:column;gap:.125rem}.ctx-stat-label.svelte-1aqfagj{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ctp-overlay0);font-weight:600}.ctx-stat-value.svelte-1aqfagj{font-size:.875rem;font-weight:600;color:var(--ctp-text);font-family:var(--term-font-family)}.ctx-meter-wrap.svelte-1aqfagj{height:.375rem;background:var(--ctp-surface0);border-radius:.25rem;overflow:hidden}.ctx-meter-bar.svelte-1aqfagj{height:100%;background:var(--ctp-teal);border-radius:.25rem;transition:width .3s}.ctx-meter-bar.meter-warn.svelte-1aqfagj{background:var(--ctp-peach)}.ctx-meter-bar.meter-danger.svelte-1aqfagj{background:var(--ctp-red)}.ctx-section-label.svelte-1aqfagj{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ctp-overlay0);font-weight:600;margin-bottom:.25rem}.ctx-turn-list.svelte-1aqfagj{display:flex;flex-direction:column;gap:.25rem}.ctx-turn-row.svelte-1aqfagj{display:flex;align-items:baseline;gap:.5rem;font-size:.75rem}.ctx-turn-role.svelte-1aqfagj{flex-shrink:0;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;min-width:4.5rem}.ctx-role-user.svelte-1aqfagj{color:var(--ctp-blue)}.ctx-role-assistant.svelte-1aqfagj{color:var(--ctp-mauve)}.ctx-role-tool-call.svelte-1aqfagj{color:var(--ctp-peach)}.ctx-role-tool-result.svelte-1aqfagj{color:var(--ctp-teal)}.ctx-turn-preview.svelte-1aqfagj{color:var(--ctp-subtext0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.editor.svelte-3opbgq{display:flex;flex-direction:column;gap:.5rem}.editor-toolbar.svelte-3opbgq{display:flex;align-items:center;gap:.375rem}.name-in.svelte-3opbgq{flex:1;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.name-in.svelte-3opbgq:focus{outline:none;border-color:var(--ctp-blue)}.name-err.svelte-3opbgq{font-size:.75rem;color:var(--ctp-red);margin:0}.tool-btn.svelte-3opbgq{padding:.25rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family);white-space:nowrap}.tool-btn.svelte-3opbgq:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.group-label.svelte-3opbgq{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0);margin-bottom:.125rem}.color-grid.svelte-3opbgq{display:flex;flex-direction:column;gap:.25rem}.color-row.svelte-3opbgq{display:flex;align-items:center;gap:.5rem}.color-lbl.svelte-3opbgq{font-size:.75rem;color:var(--ctp-subtext0);width:5rem;flex-shrink:0}.color-ctrl.svelte-3opbgq{display:flex;align-items:center;gap:.375rem;flex:1}.color-swatch.svelte-3opbgq{width:1.75rem;height:1.75rem;padding:.125rem;border:1px solid var(--ctp-surface1);border-radius:.2rem;background:var(--ctp-surface0);cursor:pointer;flex-shrink:0}.color-swatch.svelte-3opbgq::-webkit-color-swatch-wrapper{padding:0}.color-swatch.svelte-3opbgq::-webkit-color-swatch{border:none;border-radius:.125rem}.hex-in.svelte-3opbgq{flex:1;padding:.2rem .375rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-text);font-size:.75rem;font-family:var(--term-font-family, monospace)}.hex-in.svelte-3opbgq:focus{outline:none;border-color:var(--ctp-blue)}.editor-actions.svelte-3opbgq{display:flex;gap:.5rem;margin-top:.375rem;padding-top:.5rem;border-top:1px solid var(--ctp-surface1)}.save-btn.svelte-3opbgq{flex:1;padding:.35rem .75rem;background:var(--ctp-blue);border:none;border-radius:.25rem;color:var(--ctp-base);font-size:.8rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family)}.save-btn.svelte-3opbgq:hover:not(:disabled){filter:brightness(1.1)}.save-btn.svelte-3opbgq:disabled{opacity:.4;cursor:not-allowed}.cancel-btn.svelte-3opbgq{padding:.35rem .75rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-size:.8rem;cursor:pointer;font-family:var(--ui-font-family)}.cancel-btn.svelte-3opbgq:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.section.svelte-1901l6h{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-1901l6h{margin:.375rem 0 .125rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.field.svelte-1901l6h{position:relative}.row.svelte-1901l6h{display:flex;align-items:center;gap:.5rem}.flex1.svelte-1901l6h{flex:1;min-width:0}.dd-wrap.svelte-1901l6h{position:relative}.dd-btn.svelte-1901l6h{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.375rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;padding:.3rem .5rem;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;text-align:left}.dd-btn.svelte-1901l6h:hover{border-color:var(--ctp-surface2)}.chev.svelte-1901l6h{width:.75rem;height:.75rem;color:var(--ctp-overlay1);transition:transform .15s;flex-shrink:0}.chev.open.svelte-1901l6h{transform:rotate(180deg)}.dd-list.svelte-1901l6h{position:absolute;top:calc(100% + .125rem);left:0;right:0;z-index:50;list-style:none;margin:0;padding:.25rem;background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:.3rem;max-height:14rem;overflow-y:auto;box-shadow:0 .5rem 1rem color-mix(in srgb,var(--ctp-crust) 60%,transparent)}.dd-group-label.svelte-1901l6h{padding:.25rem .5rem .125rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0);border-top:1px solid var(--ctp-surface0)}.dd-group-label.svelte-1901l6h:first-child{border-top:none}.dd-item.svelte-1901l6h{display:flex;align-items:center;justify-content:space-between;padding:.3rem .5rem;border-radius:.2rem;font-size:.8125rem;color:var(--ctp-subtext1);cursor:pointer;outline:none;list-style:none}.dd-item.svelte-1901l6h:hover,.dd-item.svelte-1901l6h:focus{background:var(--ctp-surface0);color:var(--ctp-text)}.dd-item.sel.svelte-1901l6h{background:color-mix(in srgb,var(--ctp-mauve) 15%,transparent);color:var(--ctp-mauve);font-weight:500}.dd-item-label.svelte-1901l6h{flex:1}.del-btn.svelte-1901l6h{font-size:.7rem;color:var(--ctp-overlay0);padding:.1rem .2rem;border-radius:.15rem}.del-btn.svelte-1901l6h:hover{color:var(--ctp-red);background:color-mix(in srgb,var(--ctp-red) 10%,transparent)}.theme-actions.svelte-1901l6h{display:flex;gap:.375rem;margin-top:.25rem}.theme-action-btn.svelte-1901l6h{padding:.2rem .625rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-subtext1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.theme-action-btn.svelte-1901l6h:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.stepper.svelte-1901l6h{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.stepper.svelte-1901l6h button:where(.svelte-1901l6h){width:1.375rem;height:1.375rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-text);font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.stepper.svelte-1901l6h button:where(.svelte-1901l6h):hover{background:var(--ctp-surface1)}.stepper.svelte-1901l6h span:where(.svelte-1901l6h){font-size:.8125rem;color:var(--ctp-text);min-width:2.5rem;text-align:center}.seg.svelte-1901l6h{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-1901l6h button:where(.svelte-1901l6h){flex:1;padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer}.seg.svelte-1901l6h button:where(.svelte-1901l6h):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-1901l6h button.active:where(.svelte-1901l6h){background:var(--ctp-blue);color:var(--ctp-base)}.toggle-row.svelte-1901l6h{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--ctp-subtext0);cursor:pointer}.toggle.svelte-1901l6h{padding:.1875rem .5rem;background:var(--ctp-surface0);border:none;border-radius:.2rem;color:var(--ctp-subtext0);cursor:pointer;font-size:.75rem}.toggle.on.svelte-1901l6h{background:var(--ctp-green);color:var(--ctp-base)}.num-in.svelte-1901l6h{width:5rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem}.num-in.svelte-1901l6h:focus{outline:none;border-color:var(--ctp-blue)}.hint.svelte-1901l6h{font-size:.6875rem;color:var(--ctp-overlay0)}.section.svelte-1m5vtsu{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-1m5vtsu{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.field.svelte-1m5vtsu{display:flex;flex-direction:column;gap:.2rem}.lbl.svelte-1m5vtsu{font-size:.75rem;color:var(--ctp-subtext0)}.text-in.svelte-1m5vtsu{padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.text-in.svelte-1m5vtsu:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1m5vtsu{padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--term-font-family, monospace);resize:vertical;min-height:3rem;line-height:1.4}.prompt.svelte-1m5vtsu:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1m5vtsu::placeholder{color:var(--ctp-overlay0)}.seg.svelte-1m5vtsu{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-1m5vtsu button:where(.svelte-1m5vtsu){flex:1;padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-1m5vtsu button:where(.svelte-1m5vtsu):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-1m5vtsu button:where(.svelte-1m5vtsu):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-1m5vtsu button.active:where(.svelte-1m5vtsu){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.prov-list.svelte-1m5vtsu{display:flex;flex-direction:column;gap:.3rem}.prov-panel.svelte-1m5vtsu{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.3rem;overflow:hidden;transition:opacity .15s}.prov-panel.disabled.svelte-1m5vtsu{opacity:.5}.prov-hdr.svelte-1m5vtsu{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .625rem;background:transparent;border:none;color:var(--ctp-text);cursor:pointer;text-align:left;font-size:.8rem;font-family:var(--ui-font-family)}.prov-hdr.svelte-1m5vtsu:hover{background:var(--ctp-base)}.prov-name.svelte-1m5vtsu{font-weight:600;white-space:nowrap}.prov-desc.svelte-1m5vtsu{flex:1;color:var(--ctp-overlay0);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-chev.svelte-1m5vtsu{color:var(--ctp-overlay0);font-size:.7rem;flex-shrink:0}.prov-body.svelte-1m5vtsu{padding:.5rem .625rem;border-top:1px solid var(--ctp-surface1);display:flex;flex-direction:column;gap:.5rem}.toggle-row.svelte-1m5vtsu{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle.svelte-1m5vtsu{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-1m5vtsu{background:var(--ctp-blue)}.thumb.svelte-1m5vtsu{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s}.toggle.on.svelte-1m5vtsu .thumb:where(.svelte-1m5vtsu){transform:translate(.875rem)}.caps.svelte-1m5vtsu{display:flex;flex-wrap:wrap;gap:.25rem}.cap.svelte-1m5vtsu{padding:.125rem .5rem;background:color-mix(in srgb,var(--ctp-blue) 10%,transparent);color:var(--ctp-blue);border-radius:.75rem;font-size:.65rem;font-weight:500}.section.svelte-rv3lwt{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-rv3lwt{margin:.375rem 0 .125rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.keyring-status.svelte-rv3lwt{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.375rem .5rem;border-radius:.25rem;background:var(--ctp-surface0)}.ks-dot.svelte-rv3lwt{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;background:var(--ctp-overlay0)}.keyring-status.ok.svelte-rv3lwt .ks-dot:where(.svelte-rv3lwt){background:var(--ctp-green)}.keyring-status.unavail.svelte-rv3lwt .ks-dot:where(.svelte-rv3lwt){background:var(--ctp-peach)}.keyring-status.ok.svelte-rv3lwt{color:var(--ctp-subtext1)}.keyring-status.unavail.svelte-rv3lwt{color:var(--ctp-peach)}.empty-hint.svelte-rv3lwt{font-size:.8rem;color:var(--ctp-overlay0);margin:0;font-style:italic}.secret-list.svelte-rv3lwt{display:flex;flex-direction:column;gap:.25rem}.secret-row.svelte-rv3lwt{display:flex;align-items:center;gap:.375rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem}.secret-key.svelte-rv3lwt{font-size:.8rem;color:var(--ctp-text);font-weight:500;flex:1}.secret-val.svelte-rv3lwt{font-family:var(--term-font-family, monospace);font-size:.75rem;color:var(--ctp-overlay1);min-width:7rem}.add-secret.svelte-rv3lwt,.add-policy.svelte-rv3lwt{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.flex1.svelte-rv3lwt{flex:1;min-width:0}.dd-wrap.svelte-rv3lwt{position:relative;flex-shrink:0}.dd-btn.svelte-rv3lwt{display:flex;align-items:center;justify-content:space-between;gap:.25rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-family:var(--ui-font-family);cursor:pointer;white-space:nowrap}.dd-btn.small.svelte-rv3lwt{padding:.275rem .5rem;font-size:.75rem;min-width:8rem}.chev.svelte-rv3lwt{width:.625rem;height:.625rem;color:var(--ctp-overlay1);transition:transform .15s}.chev.open.svelte-rv3lwt{transform:rotate(180deg)}.dd-list.svelte-rv3lwt{position:absolute;top:calc(100% + .125rem);left:0;z-index:50;list-style:none;margin:0;padding:.2rem;background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:.25rem;min-width:10rem;box-shadow:0 .5rem 1rem color-mix(in srgb,var(--ctp-crust) 60%,transparent)}.dd-item.svelte-rv3lwt{padding:.3rem .5rem;border-radius:.2rem;font-size:.8rem;color:var(--ctp-subtext1);cursor:pointer;outline:none}.dd-item.svelte-rv3lwt:hover,.dd-item.svelte-rv3lwt:focus{background:var(--ctp-surface0);color:var(--ctp-text)}.disabled-item.svelte-rv3lwt{opacity:.4;cursor:not-allowed}.text-in.svelte-rv3lwt{padding:.275rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--ui-font-family)}.text-in.svelte-rv3lwt:focus{outline:none;border-color:var(--ctp-blue)}.save-btn.svelte-rv3lwt{padding:.275rem .625rem;background:var(--ctp-blue);border:none;border-radius:.25rem;color:var(--ctp-base);font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family);flex-shrink:0}.save-btn.svelte-rv3lwt:hover:not(:disabled){filter:brightness(1.1)}.save-btn.svelte-rv3lwt:disabled{opacity:.4;cursor:not-allowed}.policy-list.svelte-rv3lwt{display:flex;flex-direction:column;gap:.25rem}.policy-row.svelte-rv3lwt{display:flex;align-items:center;gap:.375rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem}.pol-pattern.svelte-rv3lwt{font-family:var(--term-font-family, monospace);font-size:.8rem;color:var(--ctp-text);flex:1}.pol-action.svelte-rv3lwt{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .375rem;border-radius:.2rem}.pol-action.block.svelte-rv3lwt{background:color-mix(in srgb,var(--ctp-red) 15%,transparent);color:var(--ctp-red)}.pol-action.warn.svelte-rv3lwt{background:color-mix(in srgb,var(--ctp-yellow) 15%,transparent);color:var(--ctp-yellow)}.icon-btn.svelte-rv3lwt{background:none;border:none;color:var(--ctp-overlay0);cursor:pointer;font-size:.85rem;padding:.2rem;border-radius:.15rem}.icon-btn.svelte-rv3lwt:hover{color:var(--ctp-text);background:var(--ctp-surface1)}.icon-btn.danger.svelte-rv3lwt:hover{color:var(--ctp-red)}.seg.svelte-rv3lwt{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1);flex-shrink:0}.seg.svelte-rv3lwt button:where(.svelte-rv3lwt){padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-rv3lwt button:where(.svelte-rv3lwt):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-rv3lwt button.active:where(.svelte-rv3lwt){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.section.svelte-15znwuq{display:flex;flex-direction:column;gap:.4rem}.sh.svelte-15znwuq{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.lbl.svelte-15znwuq{font-size:.8rem;color:var(--ctp-subtext0)}.proj-tabs.svelte-15znwuq{display:flex;gap:.25rem;flex-wrap:wrap}.proj-tab.svelte-15znwuq{padding:.25rem .625rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext0);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.proj-tab.svelte-15znwuq:hover{color:var(--ctp-text);border-color:var(--ctp-surface2)}.proj-tab.active.svelte-15znwuq{border-color:var(--ctp-mauve);color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 10%,var(--ctp-surface0))}.text-in.svelte-15znwuq{padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.text-in.svelte-15znwuq:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-15znwuq{padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--term-font-family, monospace);resize:vertical;line-height:1.4}.prompt.svelte-15znwuq:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-15znwuq::placeholder{color:var(--ctp-overlay0)}.seg.svelte-15znwuq{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-15znwuq button:where(.svelte-15znwuq){flex:1;padding:.25rem .375rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-15znwuq button:where(.svelte-15znwuq):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-15znwuq button:where(.svelte-15znwuq):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-15znwuq button.active:where(.svelte-15znwuq){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.toggle-fields.svelte-15znwuq{display:flex;flex-direction:column;gap:.375rem}.toggle-row.svelte-15znwuq{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.25rem 0}.toggle.svelte-15znwuq{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-15znwuq{background:var(--ctp-blue)}.thumb.svelte-15znwuq{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s;display:block}.toggle.on.svelte-15znwuq .thumb:where(.svelte-15znwuq){transform:translate(.875rem)}.slider-row.svelte-15znwuq{display:flex;align-items:center;gap:.625rem}.slider-row.svelte-15znwuq input[type=range]:where(.svelte-15znwuq){flex:1;accent-color:var(--ctp-blue)}.slider-val.svelte-15znwuq{font-size:.8rem;color:var(--ctp-text);min-width:3.5rem;text-align:right}.section.svelte-r8m6y{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-r8m6y{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.lbl.svelte-r8m6y{font-size:.8rem;color:var(--ctp-subtext0)}.desc.svelte-r8m6y{font-size:.75rem;color:var(--ctp-overlay1);margin:0;font-style:italic}.seg.svelte-r8m6y{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-r8m6y button:where(.svelte-r8m6y){flex:1;padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-r8m6y button:where(.svelte-r8m6y):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-r8m6y button:where(.svelte-r8m6y):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-r8m6y button.active:where(.svelte-r8m6y){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.slider-row.svelte-r8m6y{display:flex;align-items:center;gap:.5rem}.slider-row.svelte-r8m6y input[type=range]:where(.svelte-r8m6y){flex:1;accent-color:var(--ctp-blue)}.slider-val.svelte-r8m6y{font-size:.8rem;color:var(--ctp-text);min-width:3rem;text-align:right}.toggle-row.svelte-r8m6y{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.125rem 0}.toggle.svelte-r8m6y{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-r8m6y{background:var(--ctp-blue)}.thumb.svelte-r8m6y{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s;display:block}.toggle.on.svelte-r8m6y .thumb:where(.svelte-r8m6y){transform:translate(.875rem)}.notif-types.svelte-r8m6y{display:flex;flex-wrap:wrap;gap:.375rem}.notif-chip.svelte-r8m6y{display:flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);color:var(--ctp-subtext0);transition:all .12s}.notif-chip.svelte-r8m6y input:where(.svelte-r8m6y){display:none}.notif-chip.active.svelte-r8m6y{background:color-mix(in srgb,var(--ctp-blue) 15%,var(--ctp-surface0));border-color:var(--ctp-blue);color:var(--ctp-blue)}.notif-chip.svelte-r8m6y:hover{border-color:var(--ctp-surface2);color:var(--ctp-subtext1)}.section.svelte-1ovc5q5{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-1ovc5q5{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.lbl.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-subtext0)}.field.svelte-1ovc5q5{display:flex;flex-direction:column;gap:.2rem}.row.svelte-1ovc5q5{flex-direction:row;align-items:center;gap:.5rem}.text-in.svelte-1ovc5q5{padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.text-in.svelte-1ovc5q5:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1ovc5q5{padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--term-font-family, monospace);resize:vertical;line-height:1.4}.prompt.svelte-1ovc5q5:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1ovc5q5::placeholder{color:var(--ctp-overlay0)}.num-in.svelte-1ovc5q5{width:4rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.num-in.svelte-1ovc5q5::-webkit-inner-spin-button,.num-in.svelte-1ovc5q5::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.num-in.svelte-1ovc5q5:focus{outline:none;border-color:var(--ctp-blue)}.unit.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-overlay0)}.seg.svelte-1ovc5q5{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-1ovc5q5 button:where(.svelte-1ovc5q5){flex:1;padding:.25rem .375rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.7rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-1ovc5q5 button:where(.svelte-1ovc5q5):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-1ovc5q5 button:where(.svelte-1ovc5q5):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-1ovc5q5 button.active:where(.svelte-1ovc5q5){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.plugin-list.svelte-1ovc5q5{display:flex;flex-direction:column;gap:.25rem}.plugin-row.svelte-1ovc5q5{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem}.plug-info.svelte-1ovc5q5{display:flex;align-items:baseline;gap:.5rem}.plug-name.svelte-1ovc5q5{font-size:.8rem;color:var(--ctp-text);font-weight:500}.plug-ver.svelte-1ovc5q5{font-size:.7rem;color:var(--ctp-overlay0)}.empty.svelte-1ovc5q5{font-size:.8rem;color:var(--ctp-overlay0);margin:0;font-style:italic}.toggle.svelte-1ovc5q5{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-1ovc5q5{background:var(--ctp-blue)}.thumb.svelte-1ovc5q5{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s;display:block}.toggle.on.svelte-1ovc5q5 .thumb:where(.svelte-1ovc5q5){transform:translate(.875rem)}.update-row.svelte-1ovc5q5{display:flex;align-items:center;gap:.625rem}.version-label.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-overlay1);font-family:var(--term-font-family, monospace)}.update-result.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-green);margin:.125rem 0 0}.import-error.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-red);margin:.125rem 0 0}.data-row.svelte-1ovc5q5{display:flex;gap:.5rem}.action-btn.svelte-1ovc5q5{padding:.275rem .75rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-size:.8rem;cursor:pointer;font-family:var(--ui-font-family);transition:background .12s,color .12s}.action-btn.svelte-1ovc5q5:hover:not(:disabled){background:var(--ctp-surface1);color:var(--ctp-text)}.action-btn.svelte-1ovc5q5:disabled{opacity:.4;cursor:not-allowed}.action-btn.secondary.svelte-1ovc5q5{color:var(--ctp-overlay0)}.marketplace.svelte-c4ry4o{display:flex;flex-direction:column;gap:.625rem}.tab-bar.svelte-c4ry4o{display:flex;align-items:center;gap:.25rem;border-bottom:1px solid var(--ctp-surface1);padding-bottom:.375rem}.tab.svelte-c4ry4o{padding:.25rem .625rem;background:transparent;border:none;border-radius:.25rem;color:var(--ctp-subtext0);font-size:.8125rem;cursor:pointer;font-family:var(--ui-font-family);white-space:nowrap}.tab.svelte-c4ry4o:hover{color:var(--ctp-text);background:var(--ctp-surface0)}.tab.active.svelte-c4ry4o{color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 10%,var(--ctp-surface0));font-weight:600}.search-wrap.svelte-c4ry4o{position:relative;flex:1;display:flex;align-items:center}.search-in.svelte-c4ry4o{width:100%;padding:.25rem 1.75rem .25rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--ui-font-family)}.search-in.svelte-c4ry4o:focus{outline:none;border-color:var(--ctp-blue)}.search-in.svelte-c4ry4o::placeholder{color:var(--ctp-overlay0)}.search-clear.svelte-c4ry4o{position:absolute;right:.375rem;background:none;border:none;color:var(--ctp-overlay0);cursor:pointer;font-size:.75rem;padding:.125rem}.search-clear.svelte-c4ry4o:hover{color:var(--ctp-text)}.plugin-grid.svelte-c4ry4o{display:flex;flex-direction:column;gap:.5rem}.plugin-card.svelte-c4ry4o{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.375rem;padding:.625rem;transition:border-color .12s}.plugin-card.svelte-c4ry4o:hover{border-color:var(--ctp-surface2)}.card-top.svelte-c4ry4o{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.375rem}.plugin-icon.svelte-c4ry4o{font-size:1.5rem;flex-shrink:0;line-height:1;margin-top:.1rem}.plugin-meta.svelte-c4ry4o{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.plugin-name.svelte-c4ry4o{font-size:.875rem;font-weight:600;color:var(--ctp-text)}.plugin-author.svelte-c4ry4o{font-size:.7rem;color:var(--ctp-overlay1)}.install-btn.svelte-c4ry4o{padding:.25rem .75rem;background:var(--ctp-blue);border:none;border-radius:.25rem;color:var(--ctp-base);font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family);flex-shrink:0;white-space:nowrap}.install-btn.svelte-c4ry4o:hover:not(:disabled){filter:brightness(1.1)}.install-btn.svelte-c4ry4o:disabled{opacity:.5;cursor:not-allowed}.uninstall-btn.svelte-c4ry4o{padding:.25rem .75rem;background:color-mix(in srgb,var(--ctp-green) 12%,var(--ctp-surface0));border:1px solid var(--ctp-green);border-radius:.25rem;color:var(--ctp-green);font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family);flex-shrink:0;white-space:nowrap}.uninstall-btn.svelte-c4ry4o:hover{background:color-mix(in srgb,var(--ctp-red) 12%,var(--ctp-surface0));border-color:var(--ctp-red);color:var(--ctp-red)}.plugin-desc.svelte-c4ry4o{font-size:.775rem;color:var(--ctp-subtext0);margin:0 0 .375rem;line-height:1.4}.tag-row.svelte-c4ry4o{display:flex;flex-wrap:wrap;gap:.25rem}.tag.svelte-c4ry4o{padding:.1rem .4rem;background:color-mix(in srgb,var(--ctp-mauve) 10%,transparent);color:var(--ctp-mauve);border-radius:.75rem;font-size:.65rem;font-weight:500}.tag.free.svelte-c4ry4o{background:color-mix(in srgb,var(--ctp-green) 10%,transparent);color:var(--ctp-green)}.empty-hint.svelte-c4ry4o{font-size:.8rem;color:var(--ctp-overlay0);text-align:center;padding:1.5rem 0;margin:0;font-style:italic}.drawer-backdrop.svelte-1gl9lco{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:color-mix(in srgb,var(--ctp-crust) 60%,transparent);display:flex;align-items:stretch}.drawer-panel.svelte-1gl9lco{width:30rem;max-width:95vw;background:var(--ctp-mantle);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;overflow:hidden;animation:svelte-1gl9lco-slide-in .18s ease-out}@keyframes svelte-1gl9lco-slide-in{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header.svelte-1gl9lco{height:3rem;display:flex;align-items:center;padding:0 .875rem;border-bottom:1px solid var(--ctp-surface0);flex-shrink:0}.drawer-title.svelte-1gl9lco{flex:1;margin:0;font-size:.9375rem;font-weight:600;color:var(--ctp-text)}.drawer-close.svelte-1gl9lco{width:1.75rem;height:1.75rem;background:transparent;border:none;border-radius:.3rem;color:var(--ctp-overlay1);font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.drawer-close.svelte-1gl9lco:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.drawer-body.svelte-1gl9lco{flex:1;min-height:0;display:flex;overflow:hidden}.cat-nav.svelte-1gl9lco{width:8.5rem;flex-shrink:0;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;padding:.375rem 0;gap:.0625rem;overflow-y:auto}.cat-nav.svelte-1gl9lco::-webkit-scrollbar{display:none}.cat-btn.svelte-1gl9lco{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;text-align:left;border-radius:0;transition:background .1s,color .1s}.cat-btn.svelte-1gl9lco:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.cat-btn.active.svelte-1gl9lco{background:var(--ctp-surface0);color:var(--ctp-text);border-left:2px solid var(--ctp-mauve);padding-left:calc(.75rem - 2px)}.cat-icon.svelte-1gl9lco{font-size:.875rem;flex-shrink:0}.cat-label.svelte-1gl9lco{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-content.svelte-1gl9lco{flex:1;min-width:0;overflow-y:auto;padding:.875rem}.cat-content.svelte-1gl9lco::-webkit-scrollbar{width:.375rem}.cat-content.svelte-1gl9lco::-webkit-scrollbar-track{background:transparent}.cat-content.svelte-1gl9lco::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.palette-backdrop.svelte-o5jp2k{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:color-mix(in srgb,var(--ctp-crust) 70%,transparent);display:flex;align-items:flex-start;justify-content:center;padding-top:6rem}.palette-panel.svelte-o5jp2k{width:36rem;max-width:92vw;background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:.625rem;overflow:hidden;box-shadow:0 1.25rem 3rem color-mix(in srgb,var(--ctp-crust) 60%,transparent);animation:svelte-o5jp2k-palette-appear .12s ease-out}@keyframes svelte-o5jp2k-palette-appear{0%{transform:translateY(-.5rem) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.palette-input-row.svelte-o5jp2k{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border-bottom:1px solid var(--ctp-surface0);height:3rem}.palette-icon.svelte-o5jp2k{width:1rem;height:1rem;color:var(--ctp-overlay1);flex-shrink:0}.palette-input.svelte-o5jp2k{flex:1;background:transparent;border:none;outline:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.9375rem;caret-color:var(--ctp-mauve)}.palette-input.svelte-o5jp2k::placeholder{color:var(--ctp-overlay0)}.palette-esc-hint.svelte-o5jp2k{padding:.15rem .35rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;font-size:.6875rem;color:var(--ctp-overlay1);font-family:var(--ui-font-family);white-space:nowrap}.palette-list.svelte-o5jp2k{list-style:none;margin:0;padding:.375rem;max-height:22rem;overflow-y:auto;display:flex;flex-direction:column;gap:.0625rem}.palette-list.svelte-o5jp2k::-webkit-scrollbar{width:.375rem}.palette-list.svelte-o5jp2k::-webkit-scrollbar-track{background:transparent}.palette-list.svelte-o5jp2k::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.palette-item.svelte-o5jp2k{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.375rem;cursor:pointer;transition:background .08s}.palette-item.selected.svelte-o5jp2k,.palette-item.svelte-o5jp2k:hover{background:var(--ctp-surface0)}.cmd-label.svelte-o5jp2k{flex:1;font-size:.875rem;color:var(--ctp-text)}.cmd-desc.svelte-o5jp2k{font-size:.75rem;color:var(--ctp-subtext0);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-shortcut.svelte-o5jp2k{padding:.1rem .3rem;background:var(--ctp-surface1);border:1px solid var(--ctp-surface2);border-radius:.2rem;font-size:.6875rem;color:var(--ctp-subtext0);font-family:var(--ui-font-family);white-space:nowrap;flex-shrink:0}.palette-empty.svelte-o5jp2k{padding:1.5rem;text-align:center;font-size:.875rem;color:var(--ctp-overlay0);font-style:italic}.toast-container.svelte-13j0wuy{position:fixed;bottom:2.5rem;right:.875rem;z-index:400;display:flex;flex-direction:column;gap:.375rem;pointer-events:none}.toast.svelte-13j0wuy{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.4375rem;border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);font-size:.8125rem;color:var(--ctp-text);pointer-events:auto;animation:svelte-13j0wuy-toast-in .18s ease-out;min-width:14rem;max-width:22rem;box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--ctp-crust) 70%,transparent)}@keyframes svelte-13j0wuy-toast-in{0%{transform:translate(1.5rem);opacity:0}to{transform:translate(0);opacity:1}}.toast-success.svelte-13j0wuy{border-left:3px solid var(--ctp-green)}.toast-warning.svelte-13j0wuy{border-left:3px solid var(--ctp-yellow)}.toast-error.svelte-13j0wuy{border-left:3px solid var(--ctp-red)}.toast-info.svelte-13j0wuy{border-left:3px solid var(--ctp-blue)}.toast-icon.svelte-13j0wuy{flex-shrink:0;font-size:.75rem;font-weight:700}.toast-success.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-green)}.toast-warning.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-yellow)}.toast-error.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-red)}.toast-info.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-blue)}.toast-msg.svelte-13j0wuy{flex:1;line-height:1.4}.toast-close.svelte-13j0wuy{flex-shrink:0;width:1.25rem;height:1.25rem;background:transparent;border:none;color:var(--ctp-overlay1);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:.2rem;padding:0;transition:color .1s,background .1s;line-height:1}.toast-close.svelte-13j0wuy:hover{color:var(--ctp-text);background:var(--ctp-surface0)}body{overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}.app-shell.svelte-krfyfn{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar.svelte-krfyfn{width:var(--sidebar-width);flex-shrink:0;background:var(--ctp-mantle);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;align-items:center;padding:.5rem 0;gap:.25rem}.sidebar-spacer.svelte-krfyfn{flex:1}.sidebar-icon.svelte-krfyfn{width:2rem;height:2rem;border-radius:.375rem;border:none;background:transparent;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;padding:0}.sidebar-icon.svelte-krfyfn:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.sidebar-icon.active.svelte-krfyfn{background:var(--ctp-surface1);color:var(--ctp-mauve)}.sidebar-icon.svelte-krfyfn svg:where(.svelte-krfyfn){width:1rem;height:1rem}.workspace.svelte-krfyfn{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.project-grid.svelte-krfyfn{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;background:var(--ctp-crust)}.status-bar.svelte-krfyfn{height:var(--status-bar-height);background:var(--ctp-crust);border-top:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:.875rem;padding:0 .625rem;flex-shrink:0;font-size:.6875rem;color:var(--ctp-subtext0)}.status-segment.svelte-krfyfn{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.status-dot-sm.svelte-krfyfn{width:.4375rem;height:.4375rem;border-radius:50%;flex-shrink:0}.status-dot-sm.green.svelte-krfyfn{background:var(--ctp-green)}.status-dot-sm.gray.svelte-krfyfn{background:var(--ctp-overlay0)}.status-dot-sm.orange.svelte-krfyfn{background:var(--ctp-peach)}.status-value.svelte-krfyfn{color:var(--ctp-text);font-weight:500}.status-bar-spacer.svelte-krfyfn{flex:1}.attn-badge.svelte-krfyfn{color:var(--ctp-yellow)}.attn-icon.svelte-krfyfn{width:.75rem;height:.75rem;stroke:var(--ctp-yellow)}.notif-btn.svelte-krfyfn{position:relative;width:1.5rem;height:1.5rem;background:transparent;border:none;color:var(--ctp-subtext0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:color .12s;padding:0;flex-shrink:0}.notif-btn.svelte-krfyfn:hover{color:var(--ctp-text)}.notif-btn.svelte-krfyfn svg:where(.svelte-krfyfn){width:.875rem;height:.875rem}.notif-badge.svelte-krfyfn{position:absolute;top:.125rem;right:.125rem;min-width:.875rem;height:.875rem;background:var(--ctp-red);color:var(--ctp-base);border-radius:.4375rem;font-size:.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 .2rem;line-height:1}.palette-hint.svelte-krfyfn{padding:.1rem .3rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;font-size:.6rem;color:var(--ctp-overlay0);font-family:var(--ui-font-family);cursor:pointer;transition:color .1s}.palette-hint.svelte-krfyfn:hover{color:var(--ctp-subtext0)} diff --git a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-rAZ5LabM.css b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-rAZ5LabM.css new file mode 100644 index 0000000..c4e3d0d --- /dev/null +++ b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/assets/index-rAZ5LabM.css @@ -0,0 +1,32 @@ +:root{--ctp-rosewater: #f5e0dc;--ctp-flamingo: #f2cdcd;--ctp-pink: #f5c2e7;--ctp-mauve: #cba6f7;--ctp-red: #f38ba8;--ctp-maroon: #eba0ac;--ctp-peach: #fab387;--ctp-yellow: #f9e2af;--ctp-green: #a6e3a1;--ctp-teal: #94e2d5;--ctp-sky: #89dceb;--ctp-sapphire: #74c7ec;--ctp-blue: #89b4fa;--ctp-lavender: #b4befe;--ctp-text: #cdd6f4;--ctp-subtext1: #bac2de;--ctp-subtext0: #a6adc8;--ctp-overlay2: #9399b2;--ctp-overlay1: #7f849c;--ctp-overlay0: #6c7086;--ctp-surface2: #585b70;--ctp-surface1: #45475a;--ctp-surface0: #313244;--ctp-base: #1e1e2e;--ctp-mantle: #181825;--ctp-crust: #11111b;--ui-font-family: system-ui, -apple-system, "Segoe UI", sans-serif;--ui-font-size: .875rem;--term-font-family: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--term-font-size: .8125rem;--sidebar-width: 2.75rem;--status-bar-height: 1.75rem;--tab-bar-height: 2rem;--header-height: 2.5rem}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;background:var(--ctp-base);color:var(--ctp-text);font-family:var(--ui-font-family);font-size:var(--ui-font-size);-webkit-font-smoothing:antialiased}#app{width:100%;height:100vh;display:flex;flex-direction:column;overflow:hidden}.app-shell{display:flex;flex:1;min-height:0;overflow:hidden}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--ctp-mantle);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;align-items:center;padding:.5rem 0;gap:.25rem}.sidebar-icon{width:2rem;height:2rem;border-radius:.375rem;border:none;background:transparent;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;padding:0}.sidebar-icon:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.sidebar-icon.active{background:var(--ctp-surface1);color:var(--ctp-mauve)}.sidebar-icon svg{width:1rem;height:1rem}.sidebar-spacer{flex:1}.workspace{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.project-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;background:var(--ctp-crust)}.project-card{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:.5rem;display:flex;flex-direction:column;overflow:hidden;min-height:0}.project-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--ctp-mauve));border-radius:.5rem 0 0 .5rem}.project-card{position:relative}.project-header{height:var(--header-height);background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:.5rem;padding:0 .625rem 0 .875rem;flex-shrink:0}.status-dot-wrap{flex-shrink:0;width:.625rem;height:.625rem;position:relative}#wgpu-surface,.wgpu-surface,.status-dot{width:100%;height:100%;border-radius:50%;background:var(--dot-color, var(--ctp-overlay0))}.status-dot.running{--dot-color: var(--ctp-green)}.status-dot.blink-off{opacity:.3}.status-dot.idle{--dot-color: var(--ctp-overlay1)}.status-dot.stalled{--dot-color: var(--ctp-peach)}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.project-name{font-weight:600;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.project-cwd{font-size:.75rem;color:var(--ctp-subtext0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;max-width:10rem;flex-shrink:0}.tab-bar{height:var(--tab-bar-height);background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:stretch;flex-shrink:0;padding:0 .25rem;gap:.125rem}.tab-btn{padding:0 .75rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s;margin-bottom:-1px}.tab-btn:hover{color:var(--ctp-text)}.tab-btn.active{color:var(--ctp-text);border-bottom-color:var(--accent, var(--ctp-mauve))}.tab-content{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tab-pane{flex:1;min-height:0;overflow-y:auto;padding:.5rem .625rem;display:none}.tab-pane.active{display:flex;flex-direction:column;gap:.375rem}.tab-pane::-webkit-scrollbar{width:.375rem}.tab-pane::-webkit-scrollbar-track{background:transparent}.tab-pane::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.msg{display:flex;flex-direction:column;gap:.125rem}.msg-role{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ctp-overlay1)}.msg-role.user{color:var(--ctp-blue)}.msg-role.assistant{color:var(--ctp-mauve)}.msg-role.tool{color:var(--ctp-peach)}.msg-body{background:var(--ctp-surface0);border-radius:.3125rem;padding:.375rem .5rem;font-size:.8125rem;line-height:1.5;color:var(--ctp-text);white-space:pre-wrap;word-break:break-word}.msg-body.tool-call{background:color-mix(in srgb,var(--ctp-peach) 8%,var(--ctp-surface0));border-left:2px solid var(--ctp-peach);font-family:var(--term-font-family);font-size:.75rem}.msg-body.tool-result{background:color-mix(in srgb,var(--ctp-teal) 6%,var(--ctp-surface0));border-left:2px solid var(--ctp-teal);font-family:var(--term-font-family);font-size:.75rem;color:var(--ctp-subtext1)}.placeholder-pane{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ctp-overlay0);font-size:.8125rem;font-style:italic}.status-bar{height:var(--status-bar-height);background:var(--ctp-crust);border-top:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:1rem;padding:0 .75rem;flex-shrink:0;font-size:.75rem;color:var(--ctp-subtext0)}.status-segment{display:flex;align-items:center;gap:.3rem}.status-dot-sm{width:.4375rem;height:.4375rem;border-radius:50%;flex-shrink:0}.status-dot-sm.green{background:var(--ctp-green)}.status-dot-sm.gray{background:var(--ctp-overlay0)}.status-dot-sm.orange{background:var(--ctp-peach)}.status-bar-spacer{flex:1}.status-value{color:var(--ctp-text);font-weight:500}.agent-messages{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.375rem}.terminal-section{height:12rem;min-height:8rem;border-top:1px solid var(--ctp-surface0);flex-shrink:0}/** + * Copyright (c) 2014 The xterm.js authors. All rights reserved. + * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License) + * https://github.com/chjj/term.js + * @license MIT + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * Originally forked from (with the author's permission): + * Fabrice Bellard's javascript vt100 for jslinux: + * http://bellard.org/jslinux/ + * Copyright (c) 2011 Fabrice Bellard + * The original design remains. The terminal itself + * has been extended to include xterm CSI codes, among + * other features. + */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.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{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{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;position:absolute;top:0;right:0;pointer-events:none}.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;background:#0000;transition:opacity .1s linear;z-index:11}.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{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.chat-input-outer.svelte-icb1la{background:var(--ctp-crust);border:1px solid var(--ctp-surface1);border-radius:.5rem;box-shadow:0 1px 2px #0000001a;display:flex;flex-direction:column;overflow:visible;position:relative;z-index:30}.chat-textarea.svelte-icb1la{background:transparent;border:none;outline:none;resize:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;line-height:1.5;padding:.625rem .875rem;min-height:2.5rem;max-height:12.5rem;overflow-y:auto;width:100%;box-sizing:border-box}.chat-textarea.svelte-icb1la:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--ctp-peach) 12%,transparent)}.chat-textarea.svelte-icb1la::placeholder{color:var(--ctp-subtext0)}.chat-textarea.svelte-icb1la::-webkit-scrollbar{width:.25rem}.chat-textarea.svelte-icb1la::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.footer-strip.svelte-icb1la{display:flex;align-items:center;gap:.125rem;padding:.3125rem;border-top:.5px solid var(--ctp-surface1);position:relative}.popup-wrap.svelte-icb1la{position:relative}.footer-btn.svelte-icb1la{background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;padding:.25rem;border-radius:.25rem;display:flex;align-items:center;justify-content:center;transition:color .12s,background .12s}.footer-btn.svelte-icb1la:hover{color:var(--ctp-text);background:var(--ctp-surface0)}.footer-btn.active.svelte-icb1la{color:var(--ctp-blue);background:color-mix(in srgb,var(--ctp-blue) 12%,transparent)}.popup-menu.svelte-icb1la{position:absolute;bottom:calc(100% + .375rem);left:0;z-index:100;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.375rem;box-shadow:0 .5rem 1.25rem color-mix(in srgb,var(--ctp-crust) 70%,transparent);min-width:10rem;padding:.25rem;display:flex;flex-direction:column;gap:.0625rem}.popup-item.svelte-icb1la{width:100%;background:transparent;border:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;padding:.35rem .625rem;border-radius:.25rem;text-align:left;cursor:pointer;transition:background .08s,color .08s}.popup-item.svelte-icb1la:hover{background:var(--ctp-surface1)}.popup-slash.svelte-icb1la{font-family:var(--term-font-family);color:var(--ctp-blue)}.popup-slash.svelte-icb1la:hover{color:var(--ctp-text)}.disabled-item.svelte-icb1la{opacity:.4;cursor:not-allowed}.popup-backdrop.svelte-icb1la{position:fixed;top:0;right:0;bottom:0;left:0;z-index:29}.context-indicator.svelte-icb1la{display:flex;align-items:center;gap:.25rem;padding:.125rem .25rem;cursor:default}.ctx-pct.svelte-icb1la{font-size:.6875rem;font-weight:600;min-width:2rem;letter-spacing:-.01em}.model-label.svelte-icb1la{font-size:.85em;color:var(--ctp-overlay1);padding:0 .25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:8rem}.footer-spacer.svelte-icb1la{flex:1}.footer-divider.svelte-icb1la{width:1px;height:1rem;background:var(--ctp-surface1);margin:0 .25rem;flex-shrink:0}.send-btn.svelte-icb1la{width:26px;height:26px;background:var(--ctp-peach);border:none;border-radius:5px;color:#f5efe6;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:filter .12s}.send-btn.svelte-icb1la:hover:not(:disabled){filter:brightness(1.1)}.send-btn.svelte-icb1la:disabled{opacity:.4;cursor:not-allowed}.status-strip.svelte-9vsw7f{display:flex;align-items:center;gap:.375rem;padding:.25rem .75rem;background:var(--ctp-mantle);border-bottom:.5px solid var(--ctp-surface1);font-size:.6875rem;color:var(--ctp-subtext0);flex-shrink:0}.strip-dot.svelte-9vsw7f{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-success.svelte-9vsw7f{background:var(--ctp-green)}.dot-progress.svelte-9vsw7f{background:var(--ctp-peach)}.dot-error.svelte-9vsw7f{background:var(--ctp-red)}.strip-label.svelte-9vsw7f{color:var(--ctp-subtext1);font-weight:500}.strip-model.svelte-9vsw7f{color:var(--ctp-overlay1);margin-left:.25rem}.strip-spacer.svelte-9vsw7f{flex:1}.strip-tokens.svelte-9vsw7f{color:var(--ctp-overlay1)}.strip-sep.svelte-9vsw7f{width:1px;height:.75rem;background:var(--ctp-surface1);margin:0 .125rem}.strip-cost.svelte-9vsw7f{color:var(--ctp-text);font-weight:500}.agent-pane.svelte-9vsw7f{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;position:relative;background:var(--ctp-base)}.messages-scroll.svelte-9vsw7f{flex:1;min-height:0;overflow-y:auto;padding:1.25rem 1.25rem 2.5rem;display:flex;flex-direction:column;gap:0}.messages-scroll.svelte-9vsw7f::-webkit-scrollbar{width:.25rem}.messages-scroll.svelte-9vsw7f::-webkit-scrollbar-track{background:transparent}.messages-scroll.svelte-9vsw7f::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.scroll-fade.svelte-9vsw7f{position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(to bottom,transparent,var(--ctp-base));pointer-events:none;z-index:10}.floating-input.svelte-9vsw7f{position:absolute;bottom:16px;left:16px;right:16px;z-index:20}.msg-row.svelte-9vsw7f{display:flex;flex-direction:column}@keyframes svelte-9vsw7f-fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.msg-animated.svelte-9vsw7f{animation:svelte-9vsw7f-fadeIn .3s ease-in-out}.user-bubble.svelte-9vsw7f{display:inline-block;align-self:flex-start;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:6px;padding:.25rem .375rem;margin:.5rem 0;font-size:.8125rem;line-height:1.5;color:var(--ctp-text);white-space:pre-wrap;word-break:break-word;max-width:85%}.timeline-row.svelte-9vsw7f{position:relative;padding-left:1.875rem}.timeline-line-up.svelte-9vsw7f{position:absolute;left:12px;top:0;height:14px;width:1px;background:var(--ctp-surface0)}.timeline-line-down.svelte-9vsw7f{position:absolute;left:12px;top:22px;bottom:0;width:1px;background:var(--ctp-surface0)}.timeline-diamond.svelte-9vsw7f{position:absolute;left:9px;top:14px;width:7px;height:7px;transform:rotate(45deg);flex-shrink:0}.timeline-content.svelte-9vsw7f{font-size:.8125rem;line-height:1.6;color:var(--ctp-text);padding:.5rem 0;white-space:pre-wrap;word-break:break-word}.tool-box.svelte-9vsw7f{border:.5px solid var(--ctp-surface1);background:var(--ctp-mantle);border-radius:5px;overflow:hidden;margin:.25rem 0;font-size:.8125rem}.tool-result-box.svelte-9vsw7f{border-color:color-mix(in srgb,var(--ctp-teal) 30%,var(--ctp-surface1))}.tool-header.svelte-9vsw7f{display:flex;align-items:center;gap:.5rem;padding:.3rem .5rem;border-bottom:.5px solid var(--ctp-surface1)}.tool-name.svelte-9vsw7f{font-weight:700;font-size:.8125rem;color:var(--ctp-text)}.tool-path.svelte-9vsw7f{font-family:var(--term-font-family);font-size:.8125rem;color:var(--ctp-blue)}.tool-body.svelte-9vsw7f{position:relative;max-height:60px;overflow:hidden}.tool-body.expanded.svelte-9vsw7f{max-height:none}.tool-grid.svelte-9vsw7f{display:grid;grid-template-columns:4rem 1fr;gap:.25rem;padding:.375rem .5rem}.tool-col-label.svelte-9vsw7f{font-family:var(--term-font-family);font-size:.85em;color:var(--ctp-subtext0);opacity:.5;padding-top:.05em;white-space:nowrap}.tool-col-content.svelte-9vsw7f{font-family:var(--term-font-family);font-size:.8125rem;color:var(--ctp-subtext1);white-space:pre-wrap;word-break:break-all;line-height:1.4}.tool-result-content.svelte-9vsw7f{color:var(--ctp-teal)}.tool-fade-overlay.svelte-9vsw7f{position:absolute;bottom:0;left:0;right:0;height:2.5rem;background:linear-gradient(to bottom,transparent,var(--ctp-mantle));display:flex;align-items:flex-end;justify-content:center;padding-bottom:.25rem}.show-more-btn.svelte-9vsw7f,.collapse-btn.svelte-9vsw7f{background:transparent;border:none;color:var(--ctp-blue);font-size:.75rem;cursor:pointer;padding:.125rem .375rem;border-radius:.2rem;font-family:var(--ui-font-family);transition:color .12s}.show-more-btn.svelte-9vsw7f:hover,.collapse-btn.svelte-9vsw7f:hover{color:var(--ctp-lavender)}.collapse-btn.svelte-9vsw7f{display:block;margin:0 auto .25rem}.resize-handle.svelte-9vsw7f{height:4px;background:transparent;cursor:row-resize;flex-shrink:0;transition:background .12s}.resize-handle.svelte-9vsw7f:hover,.resize-handle.dragging.svelte-9vsw7f{background:var(--ctp-surface1)}.terminal-container.svelte-aiqx64{width:100%;height:100%;min-height:10rem}.xterm{padding:.5rem}.term-wrapper.svelte-n9472g{display:flex;flex-direction:column;flex:1;min-height:0}.term-bar.svelte-n9472g{display:flex;align-items:stretch;height:1.75rem;background:var(--ctp-mantle);border-top:1px solid var(--ctp-surface0);flex-shrink:0;z-index:5}.expand-btn.svelte-n9472g{width:1.75rem;flex-shrink:0;background:transparent;border:none;border-right:1px solid var(--ctp-surface0);color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.expand-btn.svelte-n9472g:hover{color:var(--ctp-text)}.expand-btn.svelte-n9472g svg:where(.svelte-n9472g){width:.75rem;height:.75rem;transition:transform .15s}.chevron.open.svelte-n9472g{transform:rotate(90deg)}.term-tabs.svelte-n9472g{display:flex;align-items:stretch;flex:1;overflow-x:auto;scrollbar-width:none;gap:.125rem;padding:0 .25rem}.term-tabs.svelte-n9472g::-webkit-scrollbar{display:none}.term-tab.svelte-n9472g{display:flex;align-items:center;gap:.25rem;padding:0 .5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ctp-subtext0);font-size:.6875rem;cursor:pointer;white-space:nowrap;margin-bottom:-1px;font-family:inherit}.term-tab.svelte-n9472g:hover{color:var(--ctp-text)}.term-tab.active.svelte-n9472g{color:var(--ctp-text);border-bottom-color:var(--accent)}.tab-label.svelte-n9472g{pointer-events:none}.tab-close.svelte-n9472g{width:.875rem;height:.875rem;border-radius:.2rem;font-size:.6875rem;color:var(--ctp-overlay0);cursor:pointer;display:flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;font-family:inherit;line-height:1}.tab-close.svelte-n9472g:hover{background:var(--ctp-surface1);color:var(--ctp-red)}.tab-add.svelte-n9472g{align-self:center;width:1.25rem;height:1.25rem;flex-shrink:0;background:transparent;border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;margin-left:.125rem}.tab-add.svelte-n9472g:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.term-panes.svelte-n9472g{flex:1;min-height:8rem;position:relative}.term-pane.svelte-n9472g{position:absolute;top:0;right:0;bottom:0;left:0;flex-direction:column}.file-browser.svelte-ly4nw6{display:flex;flex-direction:column;height:100%;overflow:hidden;font-size:.8125rem}.fb-tree.svelte-ly4nw6{flex:1;overflow-y:auto;padding:.25rem 0}.fb-tree.svelte-ly4nw6::-webkit-scrollbar{width:.25rem}.fb-tree.svelte-ly4nw6::-webkit-scrollbar-track{background:transparent}.fb-tree.svelte-ly4nw6::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.fb-row.svelte-ly4nw6{display:flex;align-items:center;gap:.3rem;width:100%;background:transparent;border:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;padding-top:.2rem;padding-bottom:.2rem;padding-right:.5rem;cursor:pointer;text-align:left;white-space:nowrap;transition:background .08s}.fb-row.svelte-ly4nw6:hover{background:var(--ctp-surface0)}.fb-file.selected.svelte-ly4nw6{background:color-mix(in srgb,var(--accent, var(--ctp-mauve)) 15%,transparent);color:var(--accent, var(--ctp-mauve))}.fb-chevron.svelte-ly4nw6{display:inline-block;width:.875rem;font-size:.875rem;color:var(--ctp-overlay1);transition:transform .12s;transform:rotate(0);flex-shrink:0;line-height:1}.fb-chevron.open.svelte-ly4nw6{transform:rotate(90deg)}.fb-icon.svelte-ly4nw6{flex-shrink:0;font-style:normal}.file-type.svelte-ly4nw6{font-size:.6875rem;color:var(--ctp-overlay1);font-family:var(--term-font-family)}.fb-name.svelte-ly4nw6{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-dir.svelte-ly4nw6 .fb-name:where(.svelte-ly4nw6){color:var(--ctp-subtext1);font-weight:500}.fb-preview.svelte-ly4nw6{border-top:1px solid var(--ctp-surface0);padding:.5rem .75rem;background:var(--ctp-mantle);flex-shrink:0}.fb-preview-label.svelte-ly4nw6{font-size:.75rem;color:var(--ctp-subtext0);font-family:var(--term-font-family);margin-bottom:.2rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-preview-content.svelte-ly4nw6{font-size:.75rem;color:var(--ctp-overlay0);font-style:italic}.memory-tab.svelte-1k7ge8m{display:flex;flex-direction:column;height:100%;overflow:hidden}.memory-header.svelte-1k7ge8m{display:flex;align-items:center;justify-content:space-between;padding:.375rem .625rem;border-bottom:1px solid var(--ctp-surface0);background:var(--ctp-mantle);flex-shrink:0;font-size:.75rem}.memory-count.svelte-1k7ge8m{color:var(--ctp-text);font-weight:500}.memory-hint.svelte-1k7ge8m{color:var(--ctp-overlay0);font-style:italic}.memory-list.svelte-1k7ge8m{flex:1;overflow-y:auto;padding:.375rem;display:flex;flex-direction:column;gap:.375rem}.memory-list.svelte-1k7ge8m::-webkit-scrollbar{width:.25rem}.memory-list.svelte-1k7ge8m::-webkit-scrollbar-track{background:transparent}.memory-list.svelte-1k7ge8m::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.memory-card.svelte-1k7ge8m{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.375rem;padding:.5rem .625rem;display:flex;flex-direction:column;gap:.3rem;transition:border-color .12s}.memory-card.svelte-1k7ge8m:hover{border-color:var(--ctp-surface2)}.memory-card-top.svelte-1k7ge8m{display:flex;align-items:flex-start;gap:.5rem}.memory-title.svelte-1k7ge8m{flex:1;font-size:.8125rem;font-weight:600;color:var(--ctp-text);line-height:1.3}.trust-badge.svelte-1k7ge8m{flex-shrink:0;padding:.1rem .35rem;border-radius:.25rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.trust-human.svelte-1k7ge8m{background:color-mix(in srgb,var(--ctp-green) 15%,transparent);color:var(--ctp-green)}.trust-agent.svelte-1k7ge8m{background:color-mix(in srgb,var(--ctp-blue) 15%,transparent);color:var(--ctp-blue)}.trust-auto.svelte-1k7ge8m{background:color-mix(in srgb,var(--ctp-overlay1) 15%,transparent);color:var(--ctp-overlay1)}.memory-body.svelte-1k7ge8m{margin:0;font-size:.75rem;color:var(--ctp-subtext1);line-height:1.45;font-family:var(--ui-font-family)}.memory-footer.svelte-1k7ge8m{display:flex;align-items:center;gap:.5rem;margin-top:.1rem}.memory-tags.svelte-1k7ge8m{display:flex;flex-wrap:wrap;gap:.25rem;flex:1}.tag.svelte-1k7ge8m{padding:.05rem .3rem;background:var(--ctp-surface1);border-radius:.2rem;font-size:.625rem;color:var(--ctp-overlay1);font-family:var(--term-font-family)}.memory-date.svelte-1k7ge8m{font-size:.625rem;color:var(--ctp-overlay0);white-space:nowrap;flex-shrink:0}.project-card.svelte-1aqfagj{background:var(--ctp-base);border:1px solid var(--ctp-surface0);border-radius:.5rem;display:flex;flex-direction:column;overflow:hidden;min-height:0;position:relative}.project-card.svelte-1aqfagj:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent, var(--ctp-mauve));border-radius:.5rem 0 0 .5rem}.project-card.is-clone.svelte-1aqfagj{border-top:2px solid var(--accent, var(--ctp-mauve))}.project-card.is-clone.svelte-1aqfagj:before{display:none}.project-header.svelte-1aqfagj{height:2.5rem;background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:.375rem;padding:0 .625rem 0 .875rem;flex-shrink:0;overflow:hidden}.status-dot-wrap.svelte-1aqfagj{flex-shrink:0;width:.625rem;height:.625rem;position:relative}.status-dot.svelte-1aqfagj{width:100%;height:100%;border-radius:50%;background:var(--ctp-overlay0)}.status-dot.running.svelte-1aqfagj{background:var(--ctp-green)}.status-dot.idle.svelte-1aqfagj{background:var(--ctp-overlay1)}.status-dot.stalled.svelte-1aqfagj{background:var(--ctp-peach)}.status-dot.blink-off.svelte-1aqfagj{opacity:.3}.project-name.svelte-1aqfagj{font-weight:600;color:var(--ctp-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:1;min-width:0}.project-cwd.svelte-1aqfagj{font-size:.6875rem;color:var(--ctp-subtext0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;max-width:8rem;flex-shrink:2}.provider-badge.svelte-1aqfagj,.profile-badge.svelte-1aqfagj,.ctx-badge.svelte-1aqfagj,.burn-badge.svelte-1aqfagj{flex-shrink:0;padding:.1rem .375rem;border-radius:.25rem;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.provider-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--accent, var(--ctp-mauve)) 15%,transparent);color:var(--accent, var(--ctp-mauve))}.profile-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-blue) 12%,transparent);color:var(--ctp-blue)}.ctx-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-yellow) 15%,transparent);color:var(--ctp-yellow)}.ctx-badge.ctx-warn.svelte-1aqfagj{color:var(--ctp-peach);background:color-mix(in srgb,var(--ctp-peach) 15%,transparent)}.ctx-badge.ctx-danger.svelte-1aqfagj{color:var(--ctp-red);background:color-mix(in srgb,var(--ctp-red) 15%,transparent)}.burn-badge.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-peach) 10%,transparent);color:var(--ctp-peach)}.wt-badge.svelte-1aqfagj{flex-shrink:0;padding:.1rem .375rem;border-radius:.25rem;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:color-mix(in srgb,var(--accent, var(--ctp-mauve)) 20%,transparent);color:var(--accent, var(--ctp-mauve));border:1px solid color-mix(in srgb,var(--accent, var(--ctp-mauve)) 40%,transparent)}.clone-btn.svelte-1aqfagj{flex-shrink:0;width:1.5rem;height:1.5rem;background:transparent;border:none;color:var(--ctp-overlay1);cursor:pointer;border-radius:.25rem;display:flex;align-items:center;justify-content:center;padding:0;transition:background .12s,color .12s;margin-left:auto}.clone-btn.svelte-1aqfagj:hover:not(:disabled){background:var(--ctp-surface0);color:var(--ctp-text)}.clone-btn.svelte-1aqfagj:disabled{opacity:.35;cursor:not-allowed}.clone-btn.svelte-1aqfagj svg:where(.svelte-1aqfagj){width:.875rem;height:.875rem}.clone-dialog.svelte-1aqfagj{display:flex;align-items:center;gap:.5rem;padding:.375rem .625rem;background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);flex-shrink:0;flex-wrap:wrap}.clone-dialog-label.svelte-1aqfagj{font-size:.75rem;color:var(--ctp-subtext0);flex-shrink:0}.clone-dialog-input.svelte-1aqfagj{flex:1;min-width:8rem;height:1.625rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-family:var(--term-font-family);font-size:.75rem;padding:0 .375rem;outline:none}.clone-dialog-input.svelte-1aqfagj:focus{border-color:var(--ctp-mauve)}.clone-dialog-error.svelte-1aqfagj{width:100%;font-size:.6875rem;color:var(--ctp-red)}.clone-dialog-actions.svelte-1aqfagj{display:flex;gap:.25rem;flex-shrink:0}.clone-dialog-cancel.svelte-1aqfagj,.clone-dialog-submit.svelte-1aqfagj{padding:.125rem .5rem;border-radius:.25rem;font-size:.75rem;font-family:var(--ui-font-family);cursor:pointer;transition:background .1s,border-color .1s}.clone-dialog-cancel.svelte-1aqfagj{background:transparent;border:1px solid var(--ctp-surface1);color:var(--ctp-subtext0)}.clone-dialog-cancel.svelte-1aqfagj:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.clone-dialog-submit.svelte-1aqfagj{background:color-mix(in srgb,var(--ctp-mauve) 20%,transparent);border:1px solid var(--ctp-mauve);color:var(--ctp-mauve)}.clone-dialog-submit.svelte-1aqfagj:hover{background:color-mix(in srgb,var(--ctp-mauve) 35%,transparent)}.tab-bar.svelte-1aqfagj{height:2rem;background:var(--ctp-mantle);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:stretch;flex-shrink:0;padding:0 .25rem;gap:.125rem;overflow-x:auto;scrollbar-width:none}.tab-bar.svelte-1aqfagj::-webkit-scrollbar{display:none}.tab-btn.svelte-1aqfagj{padding:0 .625rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;white-space:nowrap;transition:color .12s,border-color .12s;margin-bottom:-1px;flex-shrink:0}.tab-btn.svelte-1aqfagj:hover{color:var(--ctp-text)}.tab-btn.active.svelte-1aqfagj{color:var(--ctp-text);border-bottom-color:var(--accent, var(--ctp-mauve))}.tab-content.svelte-1aqfagj{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}.tab-pane.svelte-1aqfagj{flex:1;min-height:0;flex-direction:column;overflow:hidden}.placeholder-pane.svelte-1aqfagj{flex:1;display:flex;align-items:center;justify-content:center;color:var(--ctp-overlay0);font-size:.8125rem;font-style:italic}.context-pane.svelte-1aqfagj{display:flex;flex-direction:column;gap:.75rem;padding:.625rem;overflow-y:auto;flex:1}.ctx-stats-row.svelte-1aqfagj{display:flex;gap:1rem}.ctx-stat.svelte-1aqfagj{display:flex;flex-direction:column;gap:.125rem}.ctx-stat-label.svelte-1aqfagj{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ctp-overlay0);font-weight:600}.ctx-stat-value.svelte-1aqfagj{font-size:.875rem;font-weight:600;color:var(--ctp-text);font-family:var(--term-font-family)}.ctx-meter-wrap.svelte-1aqfagj{height:.375rem;background:var(--ctp-surface0);border-radius:.25rem;overflow:hidden}.ctx-meter-bar.svelte-1aqfagj{height:100%;background:var(--ctp-teal);border-radius:.25rem;transition:width .3s}.ctx-meter-bar.meter-warn.svelte-1aqfagj{background:var(--ctp-peach)}.ctx-meter-bar.meter-danger.svelte-1aqfagj{background:var(--ctp-red)}.ctx-section-label.svelte-1aqfagj{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ctp-overlay0);font-weight:600;margin-bottom:.25rem}.ctx-turn-list.svelte-1aqfagj{display:flex;flex-direction:column;gap:.25rem}.ctx-turn-row.svelte-1aqfagj{display:flex;align-items:baseline;gap:.5rem;font-size:.75rem}.ctx-turn-role.svelte-1aqfagj{flex-shrink:0;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;min-width:4.5rem}.ctx-role-user.svelte-1aqfagj{color:var(--ctp-blue)}.ctx-role-assistant.svelte-1aqfagj{color:var(--ctp-mauve)}.ctx-role-tool-call.svelte-1aqfagj{color:var(--ctp-peach)}.ctx-role-tool-result.svelte-1aqfagj{color:var(--ctp-teal)}.ctx-turn-preview.svelte-1aqfagj{color:var(--ctp-subtext0);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.editor.svelte-3opbgq{display:flex;flex-direction:column;gap:.5rem}.editor-toolbar.svelte-3opbgq{display:flex;align-items:center;gap:.375rem}.name-in.svelte-3opbgq{flex:1;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.name-in.svelte-3opbgq:focus{outline:none;border-color:var(--ctp-blue)}.name-err.svelte-3opbgq{font-size:.75rem;color:var(--ctp-red);margin:0}.tool-btn.svelte-3opbgq{padding:.25rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family);white-space:nowrap}.tool-btn.svelte-3opbgq:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.group-label.svelte-3opbgq{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0);margin-bottom:.125rem}.color-grid.svelte-3opbgq{display:flex;flex-direction:column;gap:.25rem}.color-row.svelte-3opbgq{display:flex;align-items:center;gap:.5rem}.color-lbl.svelte-3opbgq{font-size:.75rem;color:var(--ctp-subtext0);width:5rem;flex-shrink:0}.color-ctrl.svelte-3opbgq{display:flex;align-items:center;gap:.375rem;flex:1}.color-swatch.svelte-3opbgq{width:1.75rem;height:1.75rem;padding:.125rem;border:1px solid var(--ctp-surface1);border-radius:.2rem;background:var(--ctp-surface0);cursor:pointer;flex-shrink:0}.color-swatch.svelte-3opbgq::-webkit-color-swatch-wrapper{padding:0}.color-swatch.svelte-3opbgq::-webkit-color-swatch{border:none;border-radius:.125rem}.hex-in.svelte-3opbgq{flex:1;padding:.2rem .375rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-text);font-size:.75rem;font-family:var(--term-font-family, monospace)}.hex-in.svelte-3opbgq:focus{outline:none;border-color:var(--ctp-blue)}.editor-actions.svelte-3opbgq{display:flex;gap:.5rem;margin-top:.375rem;padding-top:.5rem;border-top:1px solid var(--ctp-surface1)}.save-btn.svelte-3opbgq{flex:1;padding:.35rem .75rem;background:var(--ctp-blue);border:none;border-radius:.25rem;color:var(--ctp-base);font-size:.8rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family)}.save-btn.svelte-3opbgq:hover:not(:disabled){filter:brightness(1.1)}.save-btn.svelte-3opbgq:disabled{opacity:.4;cursor:not-allowed}.cancel-btn.svelte-3opbgq{padding:.35rem .75rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-size:.8rem;cursor:pointer;font-family:var(--ui-font-family)}.cancel-btn.svelte-3opbgq:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.section.svelte-1901l6h{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-1901l6h{margin:.375rem 0 .125rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.field.svelte-1901l6h{position:relative}.row.svelte-1901l6h{display:flex;align-items:center;gap:.5rem}.flex1.svelte-1901l6h{flex:1;min-width:0}.dd-wrap.svelte-1901l6h{position:relative}.dd-btn.svelte-1901l6h{width:100%;display:flex;align-items:center;justify-content:space-between;gap:.375rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;padding:.3rem .5rem;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;text-align:left}.dd-btn.svelte-1901l6h:hover{border-color:var(--ctp-surface2)}.chev.svelte-1901l6h{width:.75rem;height:.75rem;color:var(--ctp-overlay1);transition:transform .15s;flex-shrink:0}.chev.open.svelte-1901l6h{transform:rotate(180deg)}.dd-list.svelte-1901l6h{position:absolute;top:calc(100% + .125rem);left:0;right:0;z-index:50;list-style:none;margin:0;padding:.25rem;background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:.3rem;max-height:14rem;overflow-y:auto;box-shadow:0 .5rem 1rem color-mix(in srgb,var(--ctp-crust) 60%,transparent)}.dd-group-label.svelte-1901l6h{padding:.25rem .5rem .125rem;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0);border-top:1px solid var(--ctp-surface0)}.dd-group-label.svelte-1901l6h:first-child{border-top:none}.dd-item.svelte-1901l6h{display:flex;align-items:center;justify-content:space-between;padding:.3rem .5rem;border-radius:.2rem;font-size:.8125rem;color:var(--ctp-subtext1);cursor:pointer;outline:none;list-style:none}.dd-item.svelte-1901l6h:hover,.dd-item.svelte-1901l6h:focus{background:var(--ctp-surface0);color:var(--ctp-text)}.dd-item.sel.svelte-1901l6h{background:color-mix(in srgb,var(--ctp-mauve) 15%,transparent);color:var(--ctp-mauve);font-weight:500}.dd-item-label.svelte-1901l6h{flex:1}.del-btn.svelte-1901l6h{font-size:.7rem;color:var(--ctp-overlay0);padding:.1rem .2rem;border-radius:.15rem}.del-btn.svelte-1901l6h:hover{color:var(--ctp-red);background:color-mix(in srgb,var(--ctp-red) 10%,transparent)}.theme-actions.svelte-1901l6h{display:flex;gap:.375rem;margin-top:.25rem}.theme-action-btn.svelte-1901l6h{padding:.2rem .625rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-subtext1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.theme-action-btn.svelte-1901l6h:hover{background:var(--ctp-surface1);color:var(--ctp-text)}.stepper.svelte-1901l6h{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.stepper.svelte-1901l6h button:where(.svelte-1901l6h){width:1.375rem;height:1.375rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;color:var(--ctp-text);font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.stepper.svelte-1901l6h button:where(.svelte-1901l6h):hover{background:var(--ctp-surface1)}.stepper.svelte-1901l6h span:where(.svelte-1901l6h){font-size:.8125rem;color:var(--ctp-text);min-width:2.5rem;text-align:center}.seg.svelte-1901l6h{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-1901l6h button:where(.svelte-1901l6h){flex:1;padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer}.seg.svelte-1901l6h button:where(.svelte-1901l6h):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-1901l6h button.active:where(.svelte-1901l6h){background:var(--ctp-blue);color:var(--ctp-base)}.toggle-row.svelte-1901l6h{display:flex;align-items:center;gap:.375rem;font-size:.8125rem;color:var(--ctp-subtext0);cursor:pointer}.toggle.svelte-1901l6h{padding:.1875rem .5rem;background:var(--ctp-surface0);border:none;border-radius:.2rem;color:var(--ctp-subtext0);cursor:pointer;font-size:.75rem}.toggle.on.svelte-1901l6h{background:var(--ctp-green);color:var(--ctp-base)}.num-in.svelte-1901l6h{width:5rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem}.num-in.svelte-1901l6h:focus{outline:none;border-color:var(--ctp-blue)}.hint.svelte-1901l6h{font-size:.6875rem;color:var(--ctp-overlay0)}.section.svelte-1m5vtsu{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-1m5vtsu{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.field.svelte-1m5vtsu{display:flex;flex-direction:column;gap:.2rem}.lbl.svelte-1m5vtsu{font-size:.75rem;color:var(--ctp-subtext0)}.text-in.svelte-1m5vtsu{padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.text-in.svelte-1m5vtsu:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1m5vtsu{padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--term-font-family, monospace);resize:vertical;min-height:3rem;line-height:1.4}.prompt.svelte-1m5vtsu:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1m5vtsu::placeholder{color:var(--ctp-overlay0)}.seg.svelte-1m5vtsu{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-1m5vtsu button:where(.svelte-1m5vtsu){flex:1;padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-1m5vtsu button:where(.svelte-1m5vtsu):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-1m5vtsu button:where(.svelte-1m5vtsu):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-1m5vtsu button.active:where(.svelte-1m5vtsu){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.prov-list.svelte-1m5vtsu{display:flex;flex-direction:column;gap:.3rem}.prov-panel.svelte-1m5vtsu{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.3rem;overflow:hidden;transition:opacity .15s}.prov-panel.disabled.svelte-1m5vtsu{opacity:.5}.prov-hdr.svelte-1m5vtsu{display:flex;align-items:center;gap:.5rem;width:100%;padding:.45rem .625rem;background:transparent;border:none;color:var(--ctp-text);cursor:pointer;text-align:left;font-size:.8rem;font-family:var(--ui-font-family)}.prov-hdr.svelte-1m5vtsu:hover{background:var(--ctp-base)}.prov-name.svelte-1m5vtsu{font-weight:600;white-space:nowrap}.prov-desc.svelte-1m5vtsu{flex:1;color:var(--ctp-overlay0);font-size:.7rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prov-chev.svelte-1m5vtsu{color:var(--ctp-overlay0);font-size:.7rem;flex-shrink:0}.prov-body.svelte-1m5vtsu{padding:.5rem .625rem;border-top:1px solid var(--ctp-surface1);display:flex;flex-direction:column;gap:.5rem}.toggle-row.svelte-1m5vtsu{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle.svelte-1m5vtsu{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-1m5vtsu{background:var(--ctp-blue)}.thumb.svelte-1m5vtsu{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s}.toggle.on.svelte-1m5vtsu .thumb:where(.svelte-1m5vtsu){transform:translate(.875rem)}.caps.svelte-1m5vtsu{display:flex;flex-wrap:wrap;gap:.25rem}.cap.svelte-1m5vtsu{padding:.125rem .5rem;background:color-mix(in srgb,var(--ctp-blue) 10%,transparent);color:var(--ctp-blue);border-radius:.75rem;font-size:.65rem;font-weight:500}.section.svelte-rv3lwt{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-rv3lwt{margin:.375rem 0 .125rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.keyring-status.svelte-rv3lwt{display:flex;align-items:center;gap:.5rem;font-size:.8rem;padding:.375rem .5rem;border-radius:.25rem;background:var(--ctp-surface0)}.ks-dot.svelte-rv3lwt{width:.5rem;height:.5rem;border-radius:50%;flex-shrink:0;background:var(--ctp-overlay0)}.keyring-status.ok.svelte-rv3lwt .ks-dot:where(.svelte-rv3lwt){background:var(--ctp-green)}.keyring-status.unavail.svelte-rv3lwt .ks-dot:where(.svelte-rv3lwt){background:var(--ctp-peach)}.keyring-status.ok.svelte-rv3lwt{color:var(--ctp-subtext1)}.keyring-status.unavail.svelte-rv3lwt{color:var(--ctp-peach)}.empty-hint.svelte-rv3lwt{font-size:.8rem;color:var(--ctp-overlay0);margin:0;font-style:italic}.secret-list.svelte-rv3lwt{display:flex;flex-direction:column;gap:.25rem}.secret-row.svelte-rv3lwt{display:flex;align-items:center;gap:.375rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem}.secret-key.svelte-rv3lwt{font-size:.8rem;color:var(--ctp-text);font-weight:500;flex:1}.secret-val.svelte-rv3lwt{font-family:var(--term-font-family, monospace);font-size:.75rem;color:var(--ctp-overlay1);min-width:7rem}.add-secret.svelte-rv3lwt,.add-policy.svelte-rv3lwt{display:flex;align-items:center;gap:.375rem;margin-top:.25rem}.flex1.svelte-rv3lwt{flex:1;min-width:0}.dd-wrap.svelte-rv3lwt{position:relative;flex-shrink:0}.dd-btn.svelte-rv3lwt{display:flex;align-items:center;justify-content:space-between;gap:.25rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-family:var(--ui-font-family);cursor:pointer;white-space:nowrap}.dd-btn.small.svelte-rv3lwt{padding:.275rem .5rem;font-size:.75rem;min-width:8rem}.chev.svelte-rv3lwt{width:.625rem;height:.625rem;color:var(--ctp-overlay1);transition:transform .15s}.chev.open.svelte-rv3lwt{transform:rotate(180deg)}.dd-list.svelte-rv3lwt{position:absolute;top:calc(100% + .125rem);left:0;z-index:50;list-style:none;margin:0;padding:.2rem;background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:.25rem;min-width:10rem;box-shadow:0 .5rem 1rem color-mix(in srgb,var(--ctp-crust) 60%,transparent)}.dd-item.svelte-rv3lwt{padding:.3rem .5rem;border-radius:.2rem;font-size:.8rem;color:var(--ctp-subtext1);cursor:pointer;outline:none}.dd-item.svelte-rv3lwt:hover,.dd-item.svelte-rv3lwt:focus{background:var(--ctp-surface0);color:var(--ctp-text)}.disabled-item.svelte-rv3lwt{opacity:.4;cursor:not-allowed}.text-in.svelte-rv3lwt{padding:.275rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--ui-font-family)}.text-in.svelte-rv3lwt:focus{outline:none;border-color:var(--ctp-blue)}.save-btn.svelte-rv3lwt{padding:.275rem .625rem;background:var(--ctp-blue);border:none;border-radius:.25rem;color:var(--ctp-base);font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family);flex-shrink:0}.save-btn.svelte-rv3lwt:hover:not(:disabled){filter:brightness(1.1)}.save-btn.svelte-rv3lwt:disabled{opacity:.4;cursor:not-allowed}.policy-list.svelte-rv3lwt{display:flex;flex-direction:column;gap:.25rem}.policy-row.svelte-rv3lwt{display:flex;align-items:center;gap:.375rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem}.pol-pattern.svelte-rv3lwt{font-family:var(--term-font-family, monospace);font-size:.8rem;color:var(--ctp-text);flex:1}.pol-action.svelte-rv3lwt{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .375rem;border-radius:.2rem}.pol-action.block.svelte-rv3lwt{background:color-mix(in srgb,var(--ctp-red) 15%,transparent);color:var(--ctp-red)}.pol-action.warn.svelte-rv3lwt{background:color-mix(in srgb,var(--ctp-yellow) 15%,transparent);color:var(--ctp-yellow)}.icon-btn.svelte-rv3lwt{background:none;border:none;color:var(--ctp-overlay0);cursor:pointer;font-size:.85rem;padding:.2rem;border-radius:.15rem}.icon-btn.svelte-rv3lwt:hover{color:var(--ctp-text);background:var(--ctp-surface1)}.icon-btn.danger.svelte-rv3lwt:hover{color:var(--ctp-red)}.seg.svelte-rv3lwt{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1);flex-shrink:0}.seg.svelte-rv3lwt button:where(.svelte-rv3lwt){padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-rv3lwt button:where(.svelte-rv3lwt):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-rv3lwt button.active:where(.svelte-rv3lwt){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.section.svelte-15znwuq{display:flex;flex-direction:column;gap:.4rem}.sh.svelte-15znwuq{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.lbl.svelte-15znwuq{font-size:.8rem;color:var(--ctp-subtext0)}.proj-tabs.svelte-15znwuq{display:flex;gap:.25rem;flex-wrap:wrap}.proj-tab.svelte-15znwuq{padding:.25rem .625rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext0);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.proj-tab.svelte-15znwuq:hover{color:var(--ctp-text);border-color:var(--ctp-surface2)}.proj-tab.active.svelte-15znwuq{border-color:var(--ctp-mauve);color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 10%,var(--ctp-surface0))}.text-in.svelte-15znwuq{padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.text-in.svelte-15znwuq:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-15znwuq{padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--term-font-family, monospace);resize:vertical;line-height:1.4}.prompt.svelte-15znwuq:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-15znwuq::placeholder{color:var(--ctp-overlay0)}.seg.svelte-15znwuq{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-15znwuq button:where(.svelte-15znwuq){flex:1;padding:.25rem .375rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-15znwuq button:where(.svelte-15znwuq):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-15znwuq button:where(.svelte-15znwuq):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-15znwuq button.active:where(.svelte-15znwuq){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.toggle-fields.svelte-15znwuq{display:flex;flex-direction:column;gap:.375rem}.toggle-row.svelte-15znwuq{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.25rem 0}.toggle.svelte-15znwuq{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-15znwuq{background:var(--ctp-blue)}.thumb.svelte-15znwuq{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s;display:block}.toggle.on.svelte-15znwuq .thumb:where(.svelte-15znwuq){transform:translate(.875rem)}.slider-row.svelte-15znwuq{display:flex;align-items:center;gap:.625rem}.slider-row.svelte-15znwuq input[type=range]:where(.svelte-15znwuq){flex:1;accent-color:var(--ctp-blue)}.slider-val.svelte-15znwuq{font-size:.8rem;color:var(--ctp-text);min-width:3.5rem;text-align:right}.section.svelte-r8m6y{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-r8m6y{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.lbl.svelte-r8m6y{font-size:.8rem;color:var(--ctp-subtext0)}.desc.svelte-r8m6y{font-size:.75rem;color:var(--ctp-overlay1);margin:0;font-style:italic}.seg.svelte-r8m6y{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-r8m6y button:where(.svelte-r8m6y){flex:1;padding:.25rem .5rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.75rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-r8m6y button:where(.svelte-r8m6y):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-r8m6y button:where(.svelte-r8m6y):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-r8m6y button.active:where(.svelte-r8m6y){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.slider-row.svelte-r8m6y{display:flex;align-items:center;gap:.5rem}.slider-row.svelte-r8m6y input[type=range]:where(.svelte-r8m6y){flex:1;accent-color:var(--ctp-blue)}.slider-val.svelte-r8m6y{font-size:.8rem;color:var(--ctp-text);min-width:3rem;text-align:right}.toggle-row.svelte-r8m6y{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:.125rem 0}.toggle.svelte-r8m6y{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-r8m6y{background:var(--ctp-blue)}.thumb.svelte-r8m6y{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s;display:block}.toggle.on.svelte-r8m6y .thumb:where(.svelte-r8m6y){transform:translate(.875rem)}.notif-types.svelte-r8m6y{display:flex;flex-wrap:wrap;gap:.375rem}.notif-chip.svelte-r8m6y{display:flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:.25rem;font-size:.75rem;cursor:pointer;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);color:var(--ctp-subtext0);transition:all .12s}.notif-chip.svelte-r8m6y input:where(.svelte-r8m6y){display:none}.notif-chip.active.svelte-r8m6y{background:color-mix(in srgb,var(--ctp-blue) 15%,var(--ctp-surface0));border-color:var(--ctp-blue);color:var(--ctp-blue)}.notif-chip.svelte-r8m6y:hover{border-color:var(--ctp-surface2);color:var(--ctp-subtext1)}.section.svelte-1ovc5q5{display:flex;flex-direction:column;gap:.5rem}.sh.svelte-1ovc5q5{margin:.125rem 0;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ctp-overlay0)}.lbl.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-subtext0)}.field.svelte-1ovc5q5{display:flex;flex-direction:column;gap:.2rem}.row.svelte-1ovc5q5{flex-direction:row;align-items:center;gap:.5rem}.text-in.svelte-1ovc5q5{padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;font-family:var(--ui-font-family)}.text-in.svelte-1ovc5q5:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1ovc5q5{padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--term-font-family, monospace);resize:vertical;line-height:1.4}.prompt.svelte-1ovc5q5:focus{outline:none;border-color:var(--ctp-blue)}.prompt.svelte-1ovc5q5::placeholder{color:var(--ctp-overlay0)}.num-in.svelte-1ovc5q5{width:4rem;padding:.3rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8125rem;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.num-in.svelte-1ovc5q5::-webkit-inner-spin-button,.num-in.svelte-1ovc5q5::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.num-in.svelte-1ovc5q5:focus{outline:none;border-color:var(--ctp-blue)}.unit.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-overlay0)}.seg.svelte-1ovc5q5{display:flex;border-radius:.25rem;overflow:hidden;border:1px solid var(--ctp-surface1)}.seg.svelte-1ovc5q5 button:where(.svelte-1ovc5q5){flex:1;padding:.25rem .375rem;background:var(--ctp-surface0);border:none;color:var(--ctp-overlay1);font-size:.7rem;cursor:pointer;font-family:var(--ui-font-family)}.seg.svelte-1ovc5q5 button:where(.svelte-1ovc5q5):not(:last-child){border-right:1px solid var(--ctp-surface1)}.seg.svelte-1ovc5q5 button:where(.svelte-1ovc5q5):hover{background:var(--ctp-surface1);color:var(--ctp-subtext1)}.seg.svelte-1ovc5q5 button.active:where(.svelte-1ovc5q5){background:color-mix(in srgb,var(--ctp-blue) 20%,var(--ctp-surface0));color:var(--ctp-blue);font-weight:600}.plugin-list.svelte-1ovc5q5{display:flex;flex-direction:column;gap:.25rem}.plugin-row.svelte-1ovc5q5{display:flex;align-items:center;justify-content:space-between;padding:.375rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem}.plug-info.svelte-1ovc5q5{display:flex;align-items:baseline;gap:.5rem}.plug-name.svelte-1ovc5q5{font-size:.8rem;color:var(--ctp-text);font-weight:500}.plug-ver.svelte-1ovc5q5{font-size:.7rem;color:var(--ctp-overlay0)}.empty.svelte-1ovc5q5{font-size:.8rem;color:var(--ctp-overlay0);margin:0;font-style:italic}.toggle.svelte-1ovc5q5{position:relative;width:2rem;height:1.125rem;border:none;border-radius:.5625rem;background:var(--ctp-surface1);cursor:pointer;transition:background .2s;padding:0;flex-shrink:0}.toggle.on.svelte-1ovc5q5{background:var(--ctp-blue)}.thumb.svelte-1ovc5q5{position:absolute;top:.125rem;left:.125rem;width:.875rem;height:.875rem;border-radius:50%;background:var(--ctp-text);transition:transform .2s;display:block}.toggle.on.svelte-1ovc5q5 .thumb:where(.svelte-1ovc5q5){transform:translate(.875rem)}.update-row.svelte-1ovc5q5{display:flex;align-items:center;gap:.625rem}.version-label.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-overlay1);font-family:var(--term-font-family, monospace)}.update-result.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-green);margin:.125rem 0 0}.import-error.svelte-1ovc5q5{font-size:.75rem;color:var(--ctp-red);margin:.125rem 0 0}.data-row.svelte-1ovc5q5{display:flex;gap:.5rem}.action-btn.svelte-1ovc5q5{padding:.275rem .75rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-subtext1);font-size:.8rem;cursor:pointer;font-family:var(--ui-font-family);transition:background .12s,color .12s}.action-btn.svelte-1ovc5q5:hover:not(:disabled){background:var(--ctp-surface1);color:var(--ctp-text)}.action-btn.svelte-1ovc5q5:disabled{opacity:.4;cursor:not-allowed}.action-btn.secondary.svelte-1ovc5q5{color:var(--ctp-overlay0)}.marketplace.svelte-c4ry4o{display:flex;flex-direction:column;gap:.625rem}.tab-bar.svelte-c4ry4o{display:flex;align-items:center;gap:.25rem;border-bottom:1px solid var(--ctp-surface1);padding-bottom:.375rem}.tab.svelte-c4ry4o{padding:.25rem .625rem;background:transparent;border:none;border-radius:.25rem;color:var(--ctp-subtext0);font-size:.8125rem;cursor:pointer;font-family:var(--ui-font-family);white-space:nowrap}.tab.svelte-c4ry4o:hover{color:var(--ctp-text);background:var(--ctp-surface0)}.tab.active.svelte-c4ry4o{color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 10%,var(--ctp-surface0));font-weight:600}.search-wrap.svelte-c4ry4o{position:relative;flex:1;display:flex;align-items:center}.search-in.svelte-c4ry4o{width:100%;padding:.25rem 1.75rem .25rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-size:.8rem;font-family:var(--ui-font-family)}.search-in.svelte-c4ry4o:focus{outline:none;border-color:var(--ctp-blue)}.search-in.svelte-c4ry4o::placeholder{color:var(--ctp-overlay0)}.search-clear.svelte-c4ry4o{position:absolute;right:.375rem;background:none;border:none;color:var(--ctp-overlay0);cursor:pointer;font-size:.75rem;padding:.125rem}.search-clear.svelte-c4ry4o:hover{color:var(--ctp-text)}.plugin-grid.svelte-c4ry4o{display:flex;flex-direction:column;gap:.5rem}.plugin-card.svelte-c4ry4o{background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.375rem;padding:.625rem;transition:border-color .12s}.plugin-card.svelte-c4ry4o:hover{border-color:var(--ctp-surface2)}.card-top.svelte-c4ry4o{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.375rem}.plugin-icon.svelte-c4ry4o{font-size:1.5rem;flex-shrink:0;line-height:1;margin-top:.1rem}.plugin-meta.svelte-c4ry4o{flex:1;min-width:0;display:flex;flex-direction:column;gap:.125rem}.plugin-name.svelte-c4ry4o{font-size:.875rem;font-weight:600;color:var(--ctp-text)}.plugin-author.svelte-c4ry4o{font-size:.7rem;color:var(--ctp-overlay1)}.install-btn.svelte-c4ry4o{padding:.25rem .75rem;background:var(--ctp-blue);border:none;border-radius:.25rem;color:var(--ctp-base);font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family);flex-shrink:0;white-space:nowrap}.install-btn.svelte-c4ry4o:hover:not(:disabled){filter:brightness(1.1)}.install-btn.svelte-c4ry4o:disabled{opacity:.5;cursor:not-allowed}.uninstall-btn.svelte-c4ry4o{padding:.25rem .75rem;background:color-mix(in srgb,var(--ctp-green) 12%,var(--ctp-surface0));border:1px solid var(--ctp-green);border-radius:.25rem;color:var(--ctp-green);font-size:.75rem;font-weight:600;cursor:pointer;font-family:var(--ui-font-family);flex-shrink:0;white-space:nowrap}.uninstall-btn.svelte-c4ry4o:hover{background:color-mix(in srgb,var(--ctp-red) 12%,var(--ctp-surface0));border-color:var(--ctp-red);color:var(--ctp-red)}.plugin-desc.svelte-c4ry4o{font-size:.775rem;color:var(--ctp-subtext0);margin:0 0 .375rem;line-height:1.4}.tag-row.svelte-c4ry4o{display:flex;flex-wrap:wrap;gap:.25rem}.tag.svelte-c4ry4o{padding:.1rem .4rem;background:color-mix(in srgb,var(--ctp-mauve) 10%,transparent);color:var(--ctp-mauve);border-radius:.75rem;font-size:.65rem;font-weight:500}.tag.free.svelte-c4ry4o{background:color-mix(in srgb,var(--ctp-green) 10%,transparent);color:var(--ctp-green)}.empty-hint.svelte-c4ry4o{font-size:.8rem;color:var(--ctp-overlay0);text-align:center;padding:1.5rem 0;margin:0;font-style:italic}.kb-settings.svelte-1sln2q{display:flex;flex-direction:column;gap:1rem}.kb-toolbar.svelte-1sln2q{display:flex;gap:.5rem;align-items:center}.kb-search.svelte-1sln2q{flex:1;height:1.75rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.3rem;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.8125rem;padding:0 .5rem;outline:none}.kb-search.svelte-1sln2q:focus{border-color:var(--ctp-mauve)}.kb-reset-all.svelte-1sln2q{padding:.25rem .625rem;background:transparent;border:1px solid var(--ctp-surface1);border-radius:.3rem;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.75rem;cursor:pointer;white-space:nowrap;transition:border-color .12s,color .12s}.kb-reset-all.svelte-1sln2q:hover{border-color:var(--ctp-red);color:var(--ctp-red)}.kb-conflict-banner.svelte-1sln2q{padding:.375rem .5rem;background:color-mix(in srgb,var(--ctp-yellow) 12%,transparent);border:1px solid var(--ctp-yellow);border-radius:.3rem;color:var(--ctp-yellow);font-size:.75rem}.kb-category.svelte-1sln2q{display:flex;flex-direction:column;gap:.25rem}.kb-category-header.svelte-1sln2q{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ctp-overlay0);padding:0 .25rem}.kb-table.svelte-1sln2q{display:flex;flex-direction:column;gap:.125rem}.kb-row.svelte-1sln2q{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.25rem .375rem;border-radius:.25rem;transition:background .1s}.kb-row.svelte-1sln2q:hover{background:var(--ctp-surface0)}.kb-row.modified.svelte-1sln2q{background:color-mix(in srgb,var(--ctp-mauve) 6%,transparent)}.kb-label.svelte-1sln2q{font-size:.8125rem;color:var(--ctp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kb-chord.svelte-1sln2q{padding:.125rem .5rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;color:var(--ctp-text);font-family:var(--term-font-family);font-size:.75rem;cursor:pointer;transition:border-color .12s,background .12s;white-space:nowrap}.kb-chord.svelte-1sln2q:hover:not(.capturing){border-color:var(--ctp-mauve);background:var(--ctp-surface1)}.kb-chord.capturing.svelte-1sln2q{border-color:var(--ctp-mauve);background:color-mix(in srgb,var(--ctp-mauve) 15%,var(--ctp-surface0));color:var(--ctp-mauve);animation:svelte-1sln2q-pulse-capture .8s ease-in-out infinite;outline:none}@keyframes svelte-1sln2q-pulse-capture{0%,to{opacity:1}50%{opacity:.65}}.kb-reset.svelte-1sln2q{padding:.125rem .375rem;background:transparent;border:1px solid transparent;border-radius:.25rem;color:var(--ctp-overlay0);font-family:var(--ui-font-family);font-size:.6875rem;cursor:pointer;white-space:nowrap;transition:border-color .12s,color .12s}.kb-reset.svelte-1sln2q:hover{border-color:var(--ctp-surface1);color:var(--ctp-subtext0)}.kb-reset-placeholder.svelte-1sln2q{width:5rem}.kb-empty.svelte-1sln2q{text-align:center;color:var(--ctp-overlay0);font-size:.8125rem;font-style:italic;padding:2rem 0}.drawer-backdrop.svelte-1gl9lco{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:color-mix(in srgb,var(--ctp-crust) 60%,transparent);display:flex;align-items:stretch}.drawer-panel.svelte-1gl9lco{width:30rem;max-width:95vw;background:var(--ctp-mantle);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;overflow:hidden;animation:svelte-1gl9lco-slide-in .18s ease-out}@keyframes svelte-1gl9lco-slide-in{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}.drawer-header.svelte-1gl9lco{height:3rem;display:flex;align-items:center;padding:0 .875rem;border-bottom:1px solid var(--ctp-surface0);flex-shrink:0}.drawer-title.svelte-1gl9lco{flex:1;margin:0;font-size:.9375rem;font-weight:600;color:var(--ctp-text)}.drawer-close.svelte-1gl9lco{width:1.75rem;height:1.75rem;background:transparent;border:none;border-radius:.3rem;color:var(--ctp-overlay1);font-size:1.125rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.drawer-close.svelte-1gl9lco:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.drawer-body.svelte-1gl9lco{flex:1;min-height:0;display:flex;overflow:hidden}.cat-nav.svelte-1gl9lco{width:8.5rem;flex-shrink:0;background:var(--ctp-crust);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;padding:.375rem 0;gap:.0625rem;overflow-y:auto}.cat-nav.svelte-1gl9lco::-webkit-scrollbar{display:none}.cat-btn.svelte-1gl9lco{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;color:var(--ctp-subtext0);font-family:var(--ui-font-family);font-size:.8125rem;cursor:pointer;text-align:left;border-radius:0;transition:background .1s,color .1s}.cat-btn.svelte-1gl9lco:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.cat-btn.active.svelte-1gl9lco{background:var(--ctp-surface0);color:var(--ctp-text);border-left:2px solid var(--ctp-mauve);padding-left:calc(.75rem - 2px)}.cat-icon.svelte-1gl9lco{font-size:.875rem;flex-shrink:0}.cat-label.svelte-1gl9lco{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat-content.svelte-1gl9lco{flex:1;min-width:0;overflow-y:auto;padding:.875rem}.cat-content.svelte-1gl9lco::-webkit-scrollbar{width:.375rem}.cat-content.svelte-1gl9lco::-webkit-scrollbar-track{background:transparent}.cat-content.svelte-1gl9lco::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.palette-backdrop.svelte-o5jp2k{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:color-mix(in srgb,var(--ctp-crust) 70%,transparent);display:flex;align-items:flex-start;justify-content:center;padding-top:6rem}.palette-panel.svelte-o5jp2k{width:36rem;max-width:92vw;background:var(--ctp-mantle);border:1px solid var(--ctp-surface1);border-radius:.625rem;overflow:hidden;box-shadow:0 1.25rem 3rem color-mix(in srgb,var(--ctp-crust) 60%,transparent);animation:svelte-o5jp2k-palette-appear .12s ease-out}@keyframes svelte-o5jp2k-palette-appear{0%{transform:translateY(-.5rem) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.palette-input-row.svelte-o5jp2k{display:flex;align-items:center;gap:.5rem;padding:0 .75rem;border-bottom:1px solid var(--ctp-surface0);height:3rem}.palette-icon.svelte-o5jp2k{width:1rem;height:1rem;color:var(--ctp-overlay1);flex-shrink:0}.palette-input.svelte-o5jp2k{flex:1;background:transparent;border:none;outline:none;color:var(--ctp-text);font-family:var(--ui-font-family);font-size:.9375rem;caret-color:var(--ctp-mauve)}.palette-input.svelte-o5jp2k::placeholder{color:var(--ctp-overlay0)}.palette-esc-hint.svelte-o5jp2k{padding:.15rem .35rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.25rem;font-size:.6875rem;color:var(--ctp-overlay1);font-family:var(--ui-font-family);white-space:nowrap}.palette-list.svelte-o5jp2k{list-style:none;margin:0;padding:.375rem;max-height:22rem;overflow-y:auto;display:flex;flex-direction:column;gap:.0625rem}.palette-list.svelte-o5jp2k::-webkit-scrollbar{width:.375rem}.palette-list.svelte-o5jp2k::-webkit-scrollbar-track{background:transparent}.palette-list.svelte-o5jp2k::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.palette-item.svelte-o5jp2k{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.375rem;cursor:pointer;transition:background .08s}.palette-item.selected.svelte-o5jp2k,.palette-item.svelte-o5jp2k:hover{background:var(--ctp-surface0)}.cmd-label.svelte-o5jp2k{flex:1;font-size:.875rem;color:var(--ctp-text)}.cmd-desc.svelte-o5jp2k{font-size:.75rem;color:var(--ctp-subtext0);max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-shortcut.svelte-o5jp2k{padding:.1rem .3rem;background:var(--ctp-surface1);border:1px solid var(--ctp-surface2);border-radius:.2rem;font-size:.6875rem;color:var(--ctp-subtext0);font-family:var(--ui-font-family);white-space:nowrap;flex-shrink:0}.palette-empty.svelte-o5jp2k{padding:1.5rem;text-align:center;font-size:.875rem;color:var(--ctp-overlay0);font-style:italic}.toast-container.svelte-13j0wuy{position:fixed;bottom:2.5rem;right:.875rem;z-index:400;display:flex;flex-direction:column;gap:.375rem;pointer-events:none}.toast.svelte-13j0wuy{display:flex;align-items:center;gap:.5rem;padding:.5rem .625rem;border-radius:.4375rem;border:1px solid var(--ctp-surface1);background:var(--ctp-mantle);font-size:.8125rem;color:var(--ctp-text);pointer-events:auto;animation:svelte-13j0wuy-toast-in .18s ease-out;min-width:14rem;max-width:22rem;box-shadow:0 .5rem 1.5rem color-mix(in srgb,var(--ctp-crust) 70%,transparent)}@keyframes svelte-13j0wuy-toast-in{0%{transform:translate(1.5rem);opacity:0}to{transform:translate(0);opacity:1}}.toast-success.svelte-13j0wuy{border-left:3px solid var(--ctp-green)}.toast-warning.svelte-13j0wuy{border-left:3px solid var(--ctp-yellow)}.toast-error.svelte-13j0wuy{border-left:3px solid var(--ctp-red)}.toast-info.svelte-13j0wuy{border-left:3px solid var(--ctp-blue)}.toast-icon.svelte-13j0wuy{flex-shrink:0;font-size:.75rem;font-weight:700}.toast-success.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-green)}.toast-warning.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-yellow)}.toast-error.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-red)}.toast-info.svelte-13j0wuy .toast-icon:where(.svelte-13j0wuy){color:var(--ctp-blue)}.toast-msg.svelte-13j0wuy{flex:1;line-height:1.4}.toast-close.svelte-13j0wuy{flex-shrink:0;width:1.25rem;height:1.25rem;background:transparent;border:none;color:var(--ctp-overlay1);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:.2rem;padding:0;transition:color .1s,background .1s;line-height:1}.toast-close.svelte-13j0wuy:hover{color:var(--ctp-text);background:var(--ctp-surface0)}body{overflow:hidden}#app{display:flex;flex-direction:column;height:100vh}.app-shell.svelte-krfyfn{flex:1;min-height:0;display:flex;overflow:hidden}.sidebar.svelte-krfyfn{width:var(--sidebar-width);flex-shrink:0;background:var(--ctp-mantle);border-right:1px solid var(--ctp-surface0);display:flex;flex-direction:column;align-items:center;padding:.375rem 0 .5rem;gap:.125rem}.agor-title.svelte-krfyfn{writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--ui-font-family);font-weight:800;font-size:.6875rem;letter-spacing:.18em;color:var(--ctp-overlay1);padding:.625rem 0;-webkit-user-select:none;user-select:none;flex-shrink:0}.sidebar-groups.svelte-krfyfn{display:flex;flex-direction:column;align-items:center;gap:.125rem;width:100%;padding:.25rem 0;border-bottom:1px solid var(--ctp-surface0);margin-bottom:.125rem}.sidebar-spacer.svelte-krfyfn{flex:1}.sidebar-icon.svelte-krfyfn{width:2rem;height:2rem;border-radius:.375rem;border:none;background:transparent;color:var(--ctp-overlay1);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s;padding:0;position:relative}.sidebar-icon.svelte-krfyfn:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.sidebar-icon.active.svelte-krfyfn{background:var(--ctp-surface1);color:var(--ctp-text)}.sidebar-icon.svelte-krfyfn svg:where(.svelte-krfyfn){width:1rem;height:1rem}.group-icon.active.svelte-krfyfn:before{content:"";position:absolute;left:-.375rem;top:25%;bottom:25%;width:2px;background:var(--ctp-mauve);border-radius:0 1px 1px 0}.group-emoji.svelte-krfyfn{font-size:1rem;line-height:1}.workspace.svelte-krfyfn{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden}.title-bar.svelte-krfyfn{height:2rem;background:var(--ctp-crust);border-bottom:1px solid var(--ctp-surface0);display:flex;align-items:stretch;flex-shrink:0;-webkit-app-region:drag;-webkit-user-select:none;user-select:none}.title-bar-drag.svelte-krfyfn{flex:1;display:flex;align-items:center;padding:0 .75rem}.title-bar-text.svelte-krfyfn{font-size:.6875rem;font-weight:600;color:var(--ctp-overlay1);letter-spacing:.02em;pointer-events:none}.window-controls.svelte-krfyfn{display:flex;align-items:stretch;-webkit-app-region:no-drag;flex-shrink:0}.wc-btn.svelte-krfyfn{width:2.75rem;background:transparent;border:none;color:var(--ctp-overlay1);font-size:.6875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s;padding:0;font-family:var(--ui-font-family)}.wc-btn.svelte-krfyfn:hover{background:var(--ctp-surface0);color:var(--ctp-text)}.close-btn.svelte-krfyfn:hover{background:var(--ctp-red);color:var(--ctp-base)}.project-grid.svelte-krfyfn{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.5rem;background:var(--ctp-crust);overflow-y:auto;align-content:start}.project-grid.svelte-krfyfn::-webkit-scrollbar{width:.375rem}.project-grid.svelte-krfyfn::-webkit-scrollbar-track{background:transparent}.project-grid.svelte-krfyfn::-webkit-scrollbar-thumb{background:var(--ctp-surface1);border-radius:.25rem}.clone-group-row.svelte-krfyfn{grid-column:1 / -1;display:flex;flex-direction:row;gap:0;align-items:stretch;min-height:0}.clone-group-row.svelte-krfyfn .project-card{flex:1;min-width:0}.chain-icon.svelte-krfyfn{flex-shrink:0;width:1.5rem;display:flex;align-items:center;justify-content:center;color:var(--ctp-surface1)}.chain-icon.svelte-krfyfn svg:where(.svelte-krfyfn){width:1rem;height:1rem}.empty-group.svelte-krfyfn{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:3rem 0;color:var(--ctp-overlay0)}.empty-group-icon.svelte-krfyfn{font-size:2rem}.empty-group-text.svelte-krfyfn{font-size:.875rem;font-style:italic}.status-bar.svelte-krfyfn{height:var(--status-bar-height);background:var(--ctp-crust);border-top:1px solid var(--ctp-surface0);display:flex;align-items:center;gap:.875rem;padding:0 .625rem;flex-shrink:0;font-size:.6875rem;color:var(--ctp-subtext0)}.status-segment.svelte-krfyfn{display:flex;align-items:center;gap:.25rem;white-space:nowrap}.status-dot-sm.svelte-krfyfn{width:.4375rem;height:.4375rem;border-radius:50%;flex-shrink:0}.status-dot-sm.green.svelte-krfyfn{background:var(--ctp-green)}.status-dot-sm.gray.svelte-krfyfn{background:var(--ctp-overlay0)}.status-dot-sm.orange.svelte-krfyfn{background:var(--ctp-peach)}.status-value.svelte-krfyfn{color:var(--ctp-text);font-weight:500}.status-bar-spacer.svelte-krfyfn{flex:1}.attn-badge.svelte-krfyfn{color:var(--ctp-yellow)}.attn-icon.svelte-krfyfn{width:.75rem;height:.75rem;stroke:var(--ctp-yellow)}.notif-btn.svelte-krfyfn{position:relative;width:1.5rem;height:1.5rem;background:transparent;border:none;color:var(--ctp-subtext0);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:.25rem;transition:color .12s;padding:0;flex-shrink:0}.notif-btn.svelte-krfyfn:hover{color:var(--ctp-text)}.notif-btn.svelte-krfyfn svg:where(.svelte-krfyfn){width:.875rem;height:.875rem}.notif-badge.svelte-krfyfn{position:absolute;top:.125rem;right:.125rem;min-width:.875rem;height:.875rem;background:var(--ctp-red);color:var(--ctp-base);border-radius:.4375rem;font-size:.5rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 .2rem;line-height:1}.palette-hint.svelte-krfyfn{padding:.1rem .3rem;background:var(--ctp-surface0);border:1px solid var(--ctp-surface1);border-radius:.2rem;font-size:.6rem;color:var(--ctp-overlay0);font-family:var(--ui-font-family);cursor:pointer;transition:color .1s}.palette-hint.svelte-krfyfn:hover{color:var(--ctp-subtext0)} diff --git a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/index.html b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/index.html index ea69297..9442902 100644 --- a/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/index.html +++ b/ui-electrobun/build/dev-linux-x64/AgentOrchestrator-dev/Resources/app/views/mainview/index.html @@ -4,8 +4,8 @@ Svelte App - - + +
                diff --git a/ui-electrobun/src/bun/index.ts b/ui-electrobun/src/bun/index.ts index 3363b49..bd8eb78 100644 --- a/ui-electrobun/src/bun/index.ts +++ b/ui-electrobun/src/bun/index.ts @@ -3,14 +3,13 @@ import { BrowserWindow, BrowserView, Updater } from "electrobun/bun"; import { PtyClient } from "./pty-client.ts"; import { settingsDb } from "./settings-db.ts"; import type { PtyRPCSchema } from "../shared/pty-rpc-schema.ts"; +import { randomUUID } from "crypto"; const DEV_SERVER_PORT = 9760; // Project convention: 9700+ range const DEV_SERVER_URL = `http://localhost:${DEV_SERVER_PORT}`; // ── PTY daemon client ──────────────────────────────────────────────────────── -// Resolve daemon socket directory. agor-ptyd writes ptyd.sock and ptyd.token -// into $XDG_RUNTIME_DIR/agor or ~/.local/share/agor/run. const ptyClient = new PtyClient(); async function connectToDaemon(retries = 5, delayMs = 500): Promise { @@ -34,19 +33,27 @@ async function connectToDaemon(retries = 5, delayMs = 500): Promise { return false; } +// ── Clone helpers ──────────────────────────────────────────────────────────── + +const BRANCH_RE = /^[a-zA-Z0-9/_.-]+$/; + +async function gitWorktreeAdd(mainRepoPath: string, worktreePath: string, branchName: string): Promise<{ ok: boolean; error?: string }> { + const proc = Bun.spawn( + ["git", "worktree", "add", worktreePath, "-b", branchName], + { cwd: mainRepoPath, stderr: "pipe", stdout: "pipe" } + ); + const exitCode = await proc.exited; + if (exitCode !== 0) { + const errText = await new Response(proc.stderr).text(); + return { ok: false, error: errText.trim() || `git exited with code ${exitCode}` }; + } + return { ok: true }; +} + // ── RPC definition ──────────────────────────────────────────────────────────── -/** - * BrowserView.defineRPC defines handlers that the WebView can call. - * The schema type parameter describes what the Bun side handles (requests from - * WebView) and what messages Bun sends to the WebView. - * - * Pattern: handlers.requests = WebView→Bun calls - * handlers.messages = Bun→WebView fire-and-forget - * To push a message to the WebView: rpc.send["pty.output"](payload) - */ const rpc = BrowserView.defineRPC({ - maxRequestTime: 10_000, + maxRequestTime: 15_000, handlers: { requests: { "pty.create": async ({ sessionId, cols, rows, cwd }) => { @@ -55,8 +62,6 @@ const rpc = BrowserView.defineRPC({ } try { ptyClient.createSession({ id: sessionId, cols, rows, cwd }); - // Don't call subscribe() — CreateSession already auto-subscribes - // the creating client and starts a fanout task. return { ok: true }; } catch (err) { const error = err instanceof Error ? err.message : String(err); @@ -77,7 +82,7 @@ const rpc = BrowserView.defineRPC({ }, "pty.resize": ({ sessionId, cols, rows }) => { - if (!ptyClient.isConnected) return { ok: true }; // Best-effort + if (!ptyClient.isConnected) return { ok: true }; try { ptyClient.resize(sessionId, cols, rows); } catch { /* ignore */ } @@ -182,29 +187,174 @@ const rpc = BrowserView.defineRPC({ return { ok: false }; } }, + + // ── Groups handlers ────────────────────────────────────────────────── + + "groups.list": () => { + try { + return { groups: settingsDb.listGroups() }; + } catch (err) { + console.error("[groups.list]", err); + return { groups: [] }; + } + }, + + // ── Project clone handler ──────────────────────────────────────────── + + "project.clone": async ({ projectId, branchName }) => { + try { + if (!BRANCH_RE.test(branchName)) { + return { ok: false, error: "Invalid branch name. Use only letters, numbers, /, _, -, ." }; + } + + const source = settingsDb.getProject(projectId); + if (!source) { + return { ok: false, error: `Project not found: ${projectId}` }; + } + + // Determine the authoritative main repo path + const mainRepoPath = source.mainRepoPath ?? source.cwd; + + // Count existing clones + const allProjects = settingsDb.listProjects(); + const existingClones = allProjects.filter( + (p) => p.cloneOf === projectId || (source.cloneOf && p.cloneOf === source.cloneOf) + ); + if (existingClones.length >= 3) { + return { ok: false, error: "Maximum 3 clones per project reached" }; + } + + const cloneIndex = existingClones.length + 1; + const worktreePath = `${mainRepoPath}-wt-${cloneIndex}`; + + const gitResult = await gitWorktreeAdd(mainRepoPath, worktreePath, branchName); + if (!gitResult.ok) { + return { ok: false, error: gitResult.error }; + } + + const cloneId = `${projectId}-clone-${cloneIndex}-${randomUUID().slice(0, 8)}`; + const cloneConfig = { + id: cloneId, + name: `${source.name} [${branchName}]`, + cwd: worktreePath, + accent: source.accent, + provider: source.provider, + profile: source.profile, + model: source.model, + groupId: source.groupId ?? "dev", + mainRepoPath, + cloneOf: projectId, + worktreePath, + worktreeBranch: branchName, + cloneIndex, + }; + + settingsDb.setProject(cloneId, cloneConfig); + + return { + ok: true, + project: { id: cloneId, config: JSON.stringify(cloneConfig) }, + }; + } catch (err) { + const error = err instanceof Error ? err.message : String(err); + console.error("[project.clone]", err); + return { ok: false, error }; + } + }, + + // ── Window control handlers ────────────────────────────────────────── + + "window.minimize": () => { + try { + mainWindow.minimize(); + return { ok: true }; + } catch (err) { + console.error("[window.minimize]", err); + return { ok: false }; + } + }, + + "window.maximize": () => { + try { + const frame = mainWindow.getFrame(); + // Heuristic: if window is already near the screen edge, unmaximize + if (frame.x <= 0 && frame.y <= 0) { + mainWindow.unmaximize(); + } else { + mainWindow.maximize(); + } + return { ok: true }; + } catch (err) { + console.error("[window.maximize]", err); + return { ok: false }; + } + }, + + "window.close": () => { + try { + mainWindow.close(); + return { ok: true }; + } catch (err) { + console.error("[window.close]", err); + return { ok: false }; + } + }, + + "window.getFrame": () => { + try { + return mainWindow.getFrame(); + } catch { + return { x: 0, y: 0, width: 1400, height: 900 }; + } + }, + + // ── Keybinding handlers ────────────────────────────────────────────── + + "keybindings.getAll": () => { + try { + return { keybindings: settingsDb.getKeybindings() }; + } catch (err) { + console.error("[keybindings.getAll]", err); + return { keybindings: {} }; + } + }, + + "keybindings.set": ({ id, chord }) => { + try { + settingsDb.setKeybinding(id, chord); + return { ok: true }; + } catch (err) { + console.error("[keybindings.set]", err); + return { ok: false }; + } + }, + + "keybindings.reset": ({ id }) => { + try { + settingsDb.deleteKeybinding(id); + return { ok: true }; + } catch (err) { + console.error("[keybindings.reset]", err); + return { ok: false }; + } + }, }, - messages: { - // Messages section defines what the WebView can *send* to Bun (fire-and-forget). - // We don't expect any inbound messages from the WebView in this direction. - }, + messages: {}, }, }); // ── Forward daemon events to WebView ──────────────────────────────────────── -// session_output: forward each chunk to the WebView as a "pty.output" message. ptyClient.on("session_output", (msg) => { if (msg.type !== "session_output") return; try { - // data is already base64 from the daemon — pass it straight through. rpc.send["pty.output"]({ sessionId: msg.session_id, data: msg.data }); } catch (err) { console.error("[pty.output] forward error:", err); } }); -// session_closed: notify the WebView so it can display "[Process exited]". ptyClient.on("session_closed", (msg) => { if (msg.type !== "session_closed") return; try { @@ -237,15 +387,22 @@ connectToDaemon(); const url = await getMainViewUrl(); +// Restore persisted window frame if available +const savedX = Number(settingsDb.getSetting("win_x") ?? 100); +const savedY = Number(settingsDb.getSetting("win_y") ?? 100); +const savedWidth = Number(settingsDb.getSetting("win_width") ?? 1400); +const savedHeight = Number(settingsDb.getSetting("win_height") ?? 900); + const mainWindow = new BrowserWindow({ - title: "Agent Orchestrator — Electrobun", + title: "Agent Orchestrator", + titleBarStyle: "hidden", url, rpc, frame: { - width: 1400, - height: 900, - x: 100, - y: 100, + width: isNaN(savedWidth) ? 1400 : savedWidth, + height: isNaN(savedHeight) ? 900 : savedHeight, + x: isNaN(savedX) ? 100 : savedX, + y: isNaN(savedY) ? 100 : savedY, }, }); diff --git a/ui-electrobun/src/bun/settings-db.ts b/ui-electrobun/src/bun/settings-db.ts index fee203f..2d99044 100644 --- a/ui-electrobun/src/bun/settings-db.ts +++ b/ui-electrobun/src/bun/settings-db.ts @@ -39,6 +39,26 @@ CREATE TABLE IF NOT EXISTS custom_themes ( name TEXT NOT NULL, palette TEXT NOT NULL -- JSON blob ); + +CREATE TABLE IF NOT EXISTS groups ( + id TEXT PRIMARY KEY, + name TEXT NOT NULL, + icon TEXT NOT NULL, + position INTEGER NOT NULL +); + +CREATE TABLE IF NOT EXISTS keybindings ( + id TEXT PRIMARY KEY, + chord TEXT NOT NULL +); +`; + +// Seed default groups (idempotent via INSERT OR IGNORE) +const SEED_GROUPS = ` +INSERT OR IGNORE INTO groups VALUES ('dev', 'Development', '🔧', 0); +INSERT OR IGNORE INTO groups VALUES ('test', 'Testing', '🧪', 1); +INSERT OR IGNORE INTO groups VALUES ('ops', 'DevOps', '🚀', 2); +INSERT OR IGNORE INTO groups VALUES ('research', 'Research', '🔬', 3); `; // ── SettingsDb class ───────────────────────────────────────────────────────── @@ -51,6 +71,18 @@ export interface ProjectConfig { provider?: string; profile?: string; model?: string; + /** Group this project belongs to. Defaults to 'dev'. */ + groupId?: string; + /** For clones: path of the source repo (worktree parent). */ + mainRepoPath?: string; + /** For clones: ID of the original project this was cloned from. */ + cloneOf?: string; + /** For clones: absolute path to the git worktree. */ + worktreePath?: string; + /** For clones: branch name checked out in the worktree. */ + worktreeBranch?: string; + /** 1-indexed clone number within the parent (1–3). */ + cloneIndex?: number; [key: string]: unknown; } @@ -60,6 +92,13 @@ export interface CustomTheme { palette: Record; } +export interface Group { + id: string; + name: string; + icon: string; + position: number; +} + export class SettingsDb { private db: Database; @@ -69,6 +108,7 @@ export class SettingsDb { this.db = new Database(DB_PATH); this.db.exec(SCHEMA); + this.db.exec(SEED_GROUPS); // Seed schema_version row if missing const version = this.db @@ -136,6 +176,14 @@ export class SettingsDb { }); } + // ── Groups ───────────────────────────────────────────────────────────────── + + listGroups(): Group[] { + return this.db + .query("SELECT id, name, icon, position FROM groups ORDER BY position ASC") + .all(); + } + // ── Custom Themes ───────────────────────────────────────────────────────── getCustomThemes(): CustomTheme[] { @@ -166,6 +214,25 @@ export class SettingsDb { this.db.query("DELETE FROM custom_themes WHERE id = ?").run(id); } + // ── Keybindings ─────────────────────────────────────────────────────────── + + getKeybindings(): Record { + const rows = this.db + .query<{ id: string; chord: string }, []>("SELECT id, chord FROM keybindings") + .all(); + return Object.fromEntries(rows.map((r) => [r.id, r.chord])); + } + + setKeybinding(id: string, chord: string): void { + this.db + .query("INSERT INTO keybindings (id, chord) VALUES (?, ?) ON CONFLICT(id) DO UPDATE SET chord = excluded.chord") + .run(id, chord); + } + + deleteKeybinding(id: string): void { + this.db.query("DELETE FROM keybindings WHERE id = ?").run(id); + } + // ── Lifecycle ───────────────────────────────────────────────────────────── close(): void { diff --git a/ui-electrobun/src/mainview/App.svelte b/ui-electrobun/src/mainview/App.svelte index 9e253d1..087a00b 100644 --- a/ui-electrobun/src/mainview/App.svelte +++ b/ui-electrobun/src/mainview/App.svelte @@ -6,6 +6,7 @@ import ToastContainer from './ToastContainer.svelte'; import { themeStore } from './theme-store.svelte.ts'; import { fontStore } from './font-store.svelte.ts'; + import { keybindingStore } from './keybinding-store.svelte.ts'; import { appRpc } from './main.ts'; // ── Types ───────────────────────────────────────────────────── @@ -32,10 +33,22 @@ model?: string; contextPct?: number; burnRate?: number; + groupId?: string; + cloneOf?: string; + worktreeBranch?: string; + mainRepoPath?: string; + cloneIndex?: number; + } + + interface Group { + id: string; + name: string; + icon: string; + position: number; } // ── Demo data ────────────────────────────────────────────────── - const PROJECTS: Project[] = [ + let PROJECTS = $state([ { id: 'p1', name: 'agent-orchestrator', @@ -49,14 +62,14 @@ model: 'claude-opus-4-5', contextPct: 78, burnRate: 0.12, + groupId: 'dev', + mainRepoPath: '~/code/ai/agent-orchestrator', messages: [ { id: 1, role: 'user', content: 'Add a wake scheduler for Manager agents that wakes them when review queue depth > 3.' }, { id: 2, role: 'assistant', content: 'Reading existing wake-scheduler.svelte.ts to understand the 3-strategy pattern...' }, { id: 3, role: 'tool-call', content: 'Read("src/lib/stores/wake-scheduler.svelte.ts")' }, { id: 4, role: 'tool-result', content: '// 312 lines\nexport type WakeStrategy = "persistent" | "on-demand" | "smart";\n...' }, { id: 5, role: 'assistant', content: 'Found the WakeSignal enum. I\'ll add ReviewBacklog(0.6) and hook into bttask polling. Writing wake-scorer.ts update now.' }, - { id: 6, role: 'tool-call', content: 'Edit("src/lib/utils/wake-scorer.ts", old="// signals", new="// signals\n ReviewBacklog = 0.6,")' }, - { id: 7, role: 'assistant', content: 'Done. ReviewBacklog signal added at priority 0.6 (between TaskQueuePressure 0.7 and PeriodicFloor 0.1). Run `npm test` to verify 24 scorer tests still pass.' }, ], }, { @@ -70,38 +83,143 @@ provider: 'claude', model: 'claude-sonnet-4-5', contextPct: 32, + groupId: 'dev', messages: [ { id: 1, role: 'user', content: 'Why is the QRAG MCP server returning 504s on large semantic search queries?' }, { id: 2, role: 'assistant', content: 'Checking the MCP HTTP handler timeout config and Qdrant query path...' }, { id: 3, role: 'tool-call', content: 'Read("src/mcp/server.ts", offset=120, limit=40)' }, { id: 4, role: 'tool-result', content: 'const QUERY_TIMEOUT_MS = 5000; // default\n...' }, - { id: 5, role: 'assistant', content: 'Found it. The MCP handler has a hardcoded 5s timeout but Qdrant HNSW search on 500k vectors takes 6–9s at ef=256. Two options:\n1. Raise timeout to 15s (quick fix)\n2. Lower ef to 128 for faster approximate search (~3s, slight recall drop)\n\nRecommend option 2 for latency-sensitive bot responses.' }, - { id: 6, role: 'user', content: 'Go with option 2.' }, - { id: 7, role: 'assistant', content: 'Updated `ef_searching: 128` in qdrant-config.ts and raised timeout to 8s as safety margin. Restarted service on port 9320.' }, + { id: 5, role: 'assistant', content: 'Found it. Raised ef_searching to 128 and timeout to 8s as safety margin.' }, ], }, - ]; + ]); - // ── Init theme + fonts on mount ──────────────────────────────── + // ── Groups state ─────────────────────────────────────────────── + let groups = $state([ + { id: 'dev', name: 'Development', icon: '🔧', position: 0 }, + { id: 'test', name: 'Testing', icon: '🧪', position: 1 }, + { id: 'ops', name: 'DevOps', icon: '🚀', position: 2 }, + { id: 'research', name: 'Research', icon: '🔬', position: 3 }, + ]); + let activeGroupId = $state('dev'); + + // ── Filtered projects for active group ──────────────────────── + let activeGroup = $derived(groups.find(g => g.id === activeGroupId) ?? groups[0]); + let filteredProjects = $derived( + PROJECTS.filter(p => (p.groupId ?? 'dev') === activeGroupId) + ); + + // Group projects into: top-level cards + clone groups + // A "clone group" is a parent + its clones rendered side by side + interface ProjectRow { + type: 'standalone'; + project: Project; + } + interface CloneGroupRow { + type: 'clone-group'; + parent: Project; + clones: Project[]; + } + type GridRow = ProjectRow | CloneGroupRow; + + let gridRows = $derived((): GridRow[] => { + const standalone: GridRow[] = []; + const cloneParentIds = new Set( + filteredProjects.filter(p => p.cloneOf).map(p => p.cloneOf!) + ); + + for (const p of filteredProjects) { + if (p.cloneOf) continue; // Skip clones — they go into clone groups + if (cloneParentIds.has(p.id)) { + // This parent has clones + const clones = filteredProjects + .filter(c => c.cloneOf === p.id) + .sort((a, b) => (a.cloneIndex ?? 0) - (b.cloneIndex ?? 0)); + standalone.push({ type: 'clone-group', parent: p, clones }); + } else { + standalone.push({ type: 'standalone', project: p }); + } + } + return standalone; + }); + + // ── Clone count helpers ──────────────────────────────────────── + function cloneCountForProject(projectId: string): number { + return PROJECTS.filter(p => p.cloneOf === projectId).length; + } + + function handleClone(projectId: string) { + // In a real app: open the clone dialog and call RPC. + // Here we demonstrate the flow by calling the RPC directly with a demo branch. + const source = PROJECTS.find(p => p.id === projectId); + if (!source) return; + const branchName = `feature/clone-${Date.now()}`; + appRpc.request["project.clone"]({ projectId, branchName }).then((result) => { + if (result.ok && result.project) { + const cloneConfig = JSON.parse(result.project.config) as Project; + PROJECTS = [...PROJECTS, { + ...cloneConfig, + status: 'idle', + costUsd: 0, + tokens: 0, + messages: [], + }]; + } else { + console.error('[clone]', result.error); + } + }).catch(console.error); + } + + // ── Init on mount ────────────────────────────────────────────── onMount(() => { themeStore.initTheme(appRpc).catch(console.error); fontStore.initFonts(appRpc).catch(console.error); + keybindingStore.init(appRpc).catch(console.error); + + // Load groups from DB + appRpc.request["groups.list"]({}).then(({ groups: dbGroups }) => { + if (dbGroups.length > 0) groups = dbGroups; + }).catch(console.error); + + // Restore active group from settings + appRpc.request["settings.get"]({ key: 'active_group' }).then(({ value }) => { + if (value && groups.some(g => g.id === value)) activeGroupId = value; + }).catch(console.error); + + // Register keybinding command handlers + keybindingStore.on('palette', () => { paletteOpen = !paletteOpen; }); + keybindingStore.on('settings', () => { settingsOpen = !settingsOpen; }); + keybindingStore.on('group1', () => setActiveGroup(groups[0]?.id)); + keybindingStore.on('group2', () => setActiveGroup(groups[1]?.id)); + keybindingStore.on('group3', () => setActiveGroup(groups[2]?.id)); + keybindingStore.on('group4', () => setActiveGroup(groups[3]?.id)); + keybindingStore.on('minimize', () => appRpc.request["window.minimize"]({}).catch(console.error)); + + // Install listener (returns cleanup fn, but onMount handles lifecycle) + const cleanup = keybindingStore.installListener(); + return cleanup; }); // ── Reactive state ───────────────────────────────────────────── let settingsOpen = $state(false); let paletteOpen = $state(false); - let notifCount = $state(2); // demo unread + let notifCount = $state(2); let sessionStart = $state(Date.now()); - // Blink state — JS timer, no CSS animation (0% CPU overhead) + function setActiveGroup(id: string | undefined) { + if (!id) return; + activeGroupId = id; + appRpc.request["settings.set"]({ key: 'active_group', value: id }).catch(console.error); + } + + // Blink state let blinkVisible = $state(true); $effect(() => { const id = setInterval(() => { blinkVisible = !blinkVisible; }, 500); return () => clearInterval(id); }); - // Session duration string (updates every 10s) + // Session duration let sessionDuration = $state('0m'); $effect(() => { function update() { @@ -113,21 +231,19 @@ return () => clearInterval(id); }); - // ── Global keyboard shortcuts ────────────────────────────────── - $effect(() => { - function onKeydown(e: KeyboardEvent) { - if ((e.ctrlKey || e.metaKey) && e.key === 'k') { - e.preventDefault(); - paletteOpen = !paletteOpen; - } - if ((e.ctrlKey || e.metaKey) && e.key === ',') { - e.preventDefault(); - settingsOpen = !settingsOpen; - } - } - window.addEventListener('keydown', onKeydown); - return () => window.removeEventListener('keydown', onKeydown); - }); + // Window frame persistence (debounced 500ms) + let frameSaveTimer: ReturnType | null = null; + function saveWindowFrame() { + if (frameSaveTimer) clearTimeout(frameSaveTimer); + frameSaveTimer = setTimeout(() => { + appRpc.request["window.getFrame"]({}).then((frame) => { + appRpc.request["settings.set"]({ key: 'win_x', value: String(frame.x) }).catch(console.error); + appRpc.request["settings.set"]({ key: 'win_y', value: String(frame.y) }).catch(console.error); + appRpc.request["settings.set"]({ key: 'win_width', value: String(frame.width) }).catch(console.error); + appRpc.request["settings.set"]({ key: 'win_height', value: String(frame.height) }).catch(console.error); + }).catch(console.error); + }, 500); + } // ── Status bar aggregates ────────────────────────────────────── let runningCount = $derived(PROJECTS.filter(p => p.status === 'running').length); @@ -135,7 +251,6 @@ let stalledCount = $derived(PROJECTS.filter(p => p.status === 'stalled').length); let totalCost = $derived(PROJECTS.reduce((s, p) => s + p.costUsd, 0)); let totalTokens = $derived(PROJECTS.reduce((s, p) => s + p.tokens, 0)); - // Attention queue: projects with high context or stalled let attentionItems = $derived( PROJECTS.filter(p => p.status === 'stalled' || (p.contextPct ?? 0) >= 75) ); @@ -147,16 +262,54 @@ function fmtCost(n: number): string { return `$${n.toFixed(3)}`; } + + // ── Window control helpers ───────────────────────────────────── + function windowMinimize() { + appRpc.request["window.minimize"]({}).catch(console.error); + } + + function windowMaximize() { + appRpc.request["window.maximize"]({}).catch(console.error); + } + + function windowClose() { + appRpc.request["window.close"]({}).catch(console.error); + } settingsOpen = false} /> paletteOpen = false} /> -
                + +
                + + +
                + {#each gridRows() as row (row.type === 'standalone' ? row.project.id : `cg-${row.parent.id}`)} + {#if row.type === 'standalone'} +
                + = 3} + onClone={handleClone} + /> +
                + {:else} + +
                + = 3} + onClone={handleClone} + /> + {#each row.clones as clone (clone.id)} + + + + {/each} +
                + {/if} {/each} + + {#if filteredProjects.length === 0} +
                + +

                No projects in {activeGroup?.name ?? 'this group'}

                +
                + {/if}
                - {#if runningCount > 0} @@ -221,7 +463,6 @@ {/if} - {#if attentionItems.length > 0} - + + + + {activeGroup?.name} + + session {sessionDuration} - tokens {fmtTokens(totalTokens)} @@ -250,7 +495,6 @@ {fmtCost(totalCost)} - - Ctrl+K
                @@ -280,7 +523,7 @@ overflow: hidden; } - /* Sidebar icon rail */ + /* ── Sidebar ──────────────────────────────────────────────── */ .sidebar { width: var(--sidebar-width); flex-shrink: 0; @@ -289,8 +532,34 @@ display: flex; flex-direction: column; align-items: center; - padding: 0.5rem 0; - gap: 0.25rem; + padding: 0.375rem 0 0.5rem; + gap: 0.125rem; + } + + /* Vertical AGOR title */ + .agor-title { + writing-mode: vertical-rl; + transform: rotate(180deg); + font-family: var(--ui-font-family); + font-weight: 800; + font-size: 0.6875rem; + letter-spacing: 0.18em; + color: var(--ctp-overlay1); + padding: 0.625rem 0; + user-select: none; + flex-shrink: 0; + } + + /* Group icons section */ + .sidebar-groups { + display: flex; + flex-direction: column; + align-items: center; + gap: 0.125rem; + width: 100%; + padding: 0.25rem 0; + border-bottom: 1px solid var(--ctp-surface0); + margin-bottom: 0.125rem; } .sidebar-spacer { flex: 1; } @@ -308,13 +577,31 @@ justify-content: center; transition: background 0.15s, color 0.15s; padding: 0; + position: relative; } .sidebar-icon:hover { background: var(--ctp-surface0); color: var(--ctp-text); } - .sidebar-icon.active { background: var(--ctp-surface1); color: var(--ctp-mauve); } + .sidebar-icon.active { background: var(--ctp-surface1); color: var(--ctp-text); } .sidebar-icon svg { width: 1rem; height: 1rem; } - /* Workspace */ + /* Active group: accent border-left indicator */ + .group-icon.active::before { + content: ''; + position: absolute; + left: -0.375rem; + top: 25%; + bottom: 25%; + width: 2px; + background: var(--ctp-mauve); + border-radius: 0 1px 1px 0; + } + + .group-emoji { + font-size: 1rem; + line-height: 1; + } + + /* ── Workspace ────────────────────────────────────────────── */ .workspace { flex: 1; min-width: 0; @@ -323,6 +610,67 @@ overflow: hidden; } + /* ── Title bar (custom chrome) ────────────────────────────── */ + .title-bar { + height: 2rem; + background: var(--ctp-crust); + border-bottom: 1px solid var(--ctp-surface0); + display: flex; + align-items: stretch; + flex-shrink: 0; + /* Make entire title bar draggable; window controls override this */ + -webkit-app-region: drag; + user-select: none; + } + + .title-bar-drag { + flex: 1; + display: flex; + align-items: center; + padding: 0 0.75rem; + } + + .title-bar-text { + font-size: 0.6875rem; + font-weight: 600; + color: var(--ctp-overlay1); + letter-spacing: 0.02em; + pointer-events: none; + } + + .window-controls { + display: flex; + align-items: stretch; + -webkit-app-region: no-drag; + flex-shrink: 0; + } + + .wc-btn { + width: 2.75rem; + background: transparent; + border: none; + color: var(--ctp-overlay1); + font-size: 0.6875rem; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.12s, color 0.12s; + padding: 0; + font-family: var(--ui-font-family); + } + + .wc-btn:hover { + background: var(--ctp-surface0); + color: var(--ctp-text); + } + + .close-btn:hover { + background: var(--ctp-red); + color: var(--ctp-base); + } + + /* ── Project grid ─────────────────────────────────────────── */ .project-grid { flex: 1; min-height: 0; @@ -331,9 +679,61 @@ gap: 0.5rem; padding: 0.5rem; background: var(--ctp-crust); + overflow-y: auto; + align-content: start; } - /* Status bar */ + .project-grid::-webkit-scrollbar { width: 0.375rem; } + .project-grid::-webkit-scrollbar-track { background: transparent; } + .project-grid::-webkit-scrollbar-thumb { background: var(--ctp-surface1); border-radius: 0.25rem; } + + /* Clone group: spans both grid columns, flex row */ + .clone-group-row { + grid-column: 1 / -1; + display: flex; + flex-direction: row; + gap: 0; + align-items: stretch; + min-height: 0; + } + + /* Each ProjectCard inside a clone group gets flex: 1 */ + .clone-group-row :global(.project-card) { + flex: 1; + min-width: 0; + } + + /* Chain icon between linked cards */ + .chain-icon { + flex-shrink: 0; + width: 1.5rem; + display: flex; + align-items: center; + justify-content: center; + color: var(--ctp-surface1); + } + + .chain-icon svg { + width: 1rem; + height: 1rem; + } + + /* Empty group placeholder */ + .empty-group { + grid-column: 1 / -1; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 0.5rem; + padding: 3rem 0; + color: var(--ctp-overlay0); + } + + .empty-group-icon { font-size: 2rem; } + .empty-group-text { font-size: 0.875rem; font-style: italic; } + + /* ── Status bar ───────────────────────────────────────────── */ .status-bar { height: var(--status-bar-height); background: var(--ctp-crust); @@ -368,11 +768,9 @@ .status-value { color: var(--ctp-text); font-weight: 500; } .status-bar-spacer { flex: 1; } - /* Attention badge */ .attn-badge { color: var(--ctp-yellow); } .attn-icon { width: 0.75rem; height: 0.75rem; stroke: var(--ctp-yellow); } - /* Notification bell */ .notif-btn { position: relative; width: 1.5rem; @@ -411,7 +809,6 @@ line-height: 1; } - /* Palette shortcut hint */ .palette-hint { padding: 0.1rem 0.3rem; background: var(--ctp-surface0); diff --git a/ui-electrobun/src/mainview/ProjectCard.svelte b/ui-electrobun/src/mainview/ProjectCard.svelte index 41a8cb8..815559b 100644 --- a/ui-electrobun/src/mainview/ProjectCard.svelte +++ b/ui-electrobun/src/mainview/ProjectCard.svelte @@ -29,6 +29,14 @@ contextPct?: number; burnRate?: number; blinkVisible?: boolean; + /** Worktree branch name — set when this is a clone card. */ + worktreeBranch?: string; + /** ID of parent project — set when this is a clone card. */ + cloneOf?: string; + /** Max clones reached for this project. */ + clonesAtMax?: boolean; + /** Callback when user requests cloning. */ + onClone?: (projectId: string) => void; } let { @@ -46,8 +54,34 @@ contextPct = 0, burnRate = 0, blinkVisible = true, + worktreeBranch, + cloneOf, + clonesAtMax = false, + onClone, }: Props = $props(); + // ── Clone dialog state ────────────────────────────────────────── + let showCloneDialog = $state(false); + let cloneBranchName = $state(''); + let cloneError = $state(''); + + const BRANCH_RE = /^[a-zA-Z0-9/_.-]+$/; + + function openCloneDialog() { + cloneBranchName = ''; + cloneError = ''; + showCloneDialog = true; + } + + function submitClone() { + if (!BRANCH_RE.test(cloneBranchName)) { + cloneError = 'Use only letters, numbers, /, _, -, .'; + return; + } + onClone?.(id); + showCloneDialog = false; + } + let activeTab = $state('model'); // svelte-ignore state_referenced_locally const seedMessages = initialMessages.slice(); @@ -77,8 +111,9 @@
                @@ -94,6 +129,12 @@ {name} {cwd} + {#if worktreeBranch} + + WT · {worktreeBranch} + + {/if} + {provider} {#if profile} @@ -112,8 +153,56 @@ {#if burnRate > 0} ${burnRate.toFixed(2)}/hr {/if} + + + {#if !cloneOf && onClone} + + {/if}
                + + {#if showCloneDialog} + + + {/if} +
                {#each ALL_TABS as tab} @@ -276,6 +365,15 @@ border-radius: 0.5rem 0 0 0.5rem; } + /* Worktree clone: accent top border instead of left stripe */ + .project-card.is-clone { + border-top: 2px solid var(--accent, var(--ctp-mauve)); + } + + .project-card.is-clone::before { + display: none; + } + /* Header */ .project-header { height: 2.5rem; @@ -367,6 +465,131 @@ color: var(--ctp-peach); } + /* Worktree badge */ + .wt-badge { + flex-shrink: 0; + padding: 0.1rem 0.375rem; + border-radius: 0.25rem; + font-size: 0.6rem; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.03em; + white-space: nowrap; + background: color-mix(in srgb, var(--accent, var(--ctp-mauve)) 20%, transparent); + color: var(--accent, var(--ctp-mauve)); + border: 1px solid color-mix(in srgb, var(--accent, var(--ctp-mauve)) 40%, transparent); + } + + /* Clone button */ + .clone-btn { + flex-shrink: 0; + width: 1.5rem; + height: 1.5rem; + background: transparent; + border: none; + color: var(--ctp-overlay1); + cursor: pointer; + border-radius: 0.25rem; + display: flex; + align-items: center; + justify-content: center; + padding: 0; + transition: background 0.12s, color 0.12s; + margin-left: auto; + } + + .clone-btn:hover:not(:disabled) { + background: var(--ctp-surface0); + color: var(--ctp-text); + } + + .clone-btn:disabled { + opacity: 0.35; + cursor: not-allowed; + } + + .clone-btn svg { + width: 0.875rem; + height: 0.875rem; + } + + /* Inline clone dialog */ + .clone-dialog { + display: flex; + align-items: center; + gap: 0.5rem; + padding: 0.375rem 0.625rem; + background: var(--ctp-mantle); + border-bottom: 1px solid var(--ctp-surface0); + flex-shrink: 0; + flex-wrap: wrap; + } + + .clone-dialog-label { + font-size: 0.75rem; + color: var(--ctp-subtext0); + flex-shrink: 0; + } + + .clone-dialog-input { + flex: 1; + min-width: 8rem; + height: 1.625rem; + background: var(--ctp-surface0); + border: 1px solid var(--ctp-surface1); + border-radius: 0.25rem; + color: var(--ctp-text); + font-family: var(--term-font-family); + font-size: 0.75rem; + padding: 0 0.375rem; + outline: none; + } + + .clone-dialog-input:focus { border-color: var(--ctp-mauve); } + + .clone-dialog-error { + width: 100%; + font-size: 0.6875rem; + color: var(--ctp-red); + } + + .clone-dialog-actions { + display: flex; + gap: 0.25rem; + flex-shrink: 0; + } + + .clone-dialog-cancel, + .clone-dialog-submit { + padding: 0.125rem 0.5rem; + border-radius: 0.25rem; + font-size: 0.75rem; + font-family: var(--ui-font-family); + cursor: pointer; + transition: background 0.1s, border-color 0.1s; + } + + .clone-dialog-cancel { + background: transparent; + border: 1px solid var(--ctp-surface1); + color: var(--ctp-subtext0); + } + + .clone-dialog-cancel:hover { + background: var(--ctp-surface0); + color: var(--ctp-text); + } + + .clone-dialog-submit { + background: color-mix(in srgb, var(--ctp-mauve) 20%, transparent); + border: 1px solid var(--ctp-mauve); + color: var(--ctp-mauve); + } + + .clone-dialog-submit:hover { + background: color-mix(in srgb, var(--ctp-mauve) 35%, transparent); + } + /* Tab bar */ .tab-bar { height: 2rem; diff --git a/ui-electrobun/src/mainview/SettingsDrawer.svelte b/ui-electrobun/src/mainview/SettingsDrawer.svelte index f0064a3..ae0ad14 100644 --- a/ui-electrobun/src/mainview/SettingsDrawer.svelte +++ b/ui-electrobun/src/mainview/SettingsDrawer.svelte @@ -6,6 +6,7 @@ import OrchestrationSettings from './settings/OrchestrationSettings.svelte'; import AdvancedSettings from './settings/AdvancedSettings.svelte'; import MarketplaceTab from './settings/MarketplaceTab.svelte'; + import KeyboardSettings from './settings/KeyboardSettings.svelte'; interface Props { open: boolean; @@ -14,7 +15,7 @@ let { open, onClose }: Props = $props(); - type CategoryId = 'appearance' | 'agents' | 'security' | 'projects' | 'orchestration' | 'advanced' | 'marketplace'; + type CategoryId = 'appearance' | 'agents' | 'security' | 'projects' | 'orchestration' | 'advanced' | 'marketplace' | 'keyboard'; interface Category { id: CategoryId; @@ -28,6 +29,7 @@ { id: 'security', label: 'Security', icon: '🔒' }, { id: 'projects', label: 'Projects', icon: '📁' }, { id: 'orchestration', label: 'Orchestration', icon: '⚙' }, + { id: 'keyboard', label: 'Keyboard', icon: '⌨' }, { id: 'advanced', label: 'Advanced', icon: '🔧' }, { id: 'marketplace', label: 'Marketplace', icon: '🛒' }, ]; @@ -94,6 +96,8 @@ {:else if activeCategory === 'advanced'} + {:else if activeCategory === 'keyboard'} + {:else if activeCategory === 'marketplace'} {/if} diff --git a/ui-electrobun/src/mainview/keybinding-store.svelte.ts b/ui-electrobun/src/mainview/keybinding-store.svelte.ts new file mode 100644 index 0000000..2137c6b --- /dev/null +++ b/ui-electrobun/src/mainview/keybinding-store.svelte.ts @@ -0,0 +1,168 @@ +/** + * Svelte 5 rune-based keybinding store. + * Manages global keyboard shortcuts with user-customizable chords. + * Persists overrides via settings RPC (only non-default bindings saved). + * + * Usage: + * import { keybindingStore } from './keybinding-store.svelte.ts'; + * await keybindingStore.init(rpc); + * + * // Register a command handler + * keybindingStore.on('palette', () => paletteOpen = true); + * + * // Install the global keydown listener (call once) + * keybindingStore.installListener(); + */ + +// ── Minimal RPC interface ──────────────────────────────────────────────────── + +interface SettingsRpc { + request: { + "keybindings.getAll"(p: Record): Promise<{ keybindings: Record }>; + "keybindings.set"(p: { id: string; chord: string }): Promise<{ ok: boolean }>; + "keybindings.reset"(p: { id: string }): Promise<{ ok: boolean }>; + }; +} + +// ── Types ──────────────────────────────────────────────────────────────────── + +export interface Keybinding { + id: string; + label: string; + category: "Global" | "Navigation" | "Terminal" | "Settings"; + chord: string; + defaultChord: string; +} + +// ── Default bindings ───────────────────────────────────────────────────────── + +const DEFAULTS: Keybinding[] = [ + { id: "palette", label: "Command Palette", category: "Global", chord: "Ctrl+K", defaultChord: "Ctrl+K" }, + { id: "settings", label: "Open Settings", category: "Global", chord: "Ctrl+,", defaultChord: "Ctrl+," }, + { id: "group1", label: "Switch to Group 1", category: "Navigation", chord: "Ctrl+1", defaultChord: "Ctrl+1" }, + { id: "group2", label: "Switch to Group 2", category: "Navigation", chord: "Ctrl+2", defaultChord: "Ctrl+2" }, + { id: "group3", label: "Switch to Group 3", category: "Navigation", chord: "Ctrl+3", defaultChord: "Ctrl+3" }, + { id: "group4", label: "Switch to Group 4", category: "Navigation", chord: "Ctrl+4", defaultChord: "Ctrl+4" }, + { id: "newTerminal", label: "New Terminal Tab", category: "Terminal", chord: "Ctrl+Shift+T", defaultChord: "Ctrl+Shift+T" }, + { id: "closeTab", label: "Close Terminal Tab", category: "Terminal", chord: "Ctrl+Shift+W", defaultChord: "Ctrl+Shift+W" }, + { id: "nextTab", label: "Next Terminal Tab", category: "Terminal", chord: "Ctrl+]", defaultChord: "Ctrl+]" }, + { id: "prevTab", label: "Previous Terminal Tab", category: "Terminal", chord: "Ctrl+[", defaultChord: "Ctrl+[" }, + { id: "search", label: "Global Search", category: "Global", chord: "Ctrl+Shift+F", defaultChord: "Ctrl+Shift+F" }, + { id: "notifications",label: "Notification Center", category: "Global", chord: "Ctrl+Shift+N", defaultChord: "Ctrl+Shift+N" }, + { id: "minimize", label: "Minimize Window", category: "Global", chord: "Ctrl+M", defaultChord: "Ctrl+M" }, + { id: "toggleFiles", label: "Toggle Files Tab", category: "Navigation", chord: "Ctrl+Shift+E", defaultChord: "Ctrl+Shift+E" }, + { id: "toggleMemory", label: "Toggle Memory Tab", category: "Navigation", chord: "Ctrl+Shift+M", defaultChord: "Ctrl+Shift+M" }, + { id: "reload", label: "Reload App", category: "Settings", chord: "Ctrl+R", defaultChord: "Ctrl+R" }, +]; + +// ── Chord serialisation helpers ─────────────────────────────────────────────── + +export function chordFromEvent(e: KeyboardEvent): string { + const parts: string[] = []; + if (e.ctrlKey || e.metaKey) parts.push("Ctrl"); + if (e.shiftKey) parts.push("Shift"); + if (e.altKey) parts.push("Alt"); + const key = e.key === " " ? "Space" : e.key; + // Exclude pure modifier keys + if (!["Control", "Shift", "Alt", "Meta"].includes(key)) { + parts.push(key.length === 1 ? key.toUpperCase() : key); + } + return parts.join("+"); +} + +function matchesChord(e: KeyboardEvent, chord: string): boolean { + return chordFromEvent(e) === chord; +} + +// ── Store ──────────────────────────────────────────────────────────────────── + +function createKeybindingStore() { + let bindings = $state(DEFAULTS.map((b) => ({ ...b }))); + let rpc: SettingsRpc | null = null; + const handlers = new Map void>(); + let listenerInstalled = false; + + /** Load persisted overrides and merge with defaults. */ + async function init(rpcInstance: SettingsRpc): Promise { + rpc = rpcInstance; + try { + const { keybindings: overrides } = await rpc.request["keybindings.getAll"]({}); + bindings = DEFAULTS.map((b) => ({ + ...b, + chord: overrides[b.id] ?? b.defaultChord, + })); + } catch (err) { + console.error("[keybinding-store] Failed to load keybindings:", err); + } + } + + /** Set a custom chord for a binding id. Persists to SQLite. */ + function setChord(id: string, chord: string): void { + bindings = bindings.map((b) => b.id === id ? { ...b, chord } : b); + rpc?.request["keybindings.set"]({ id, chord }).catch(console.error); + } + + /** Reset a binding to its default chord. Removes SQLite override. */ + function resetChord(id: string): void { + const def = DEFAULTS.find((b) => b.id === id); + if (!def) return; + bindings = bindings.map((b) => b.id === id ? { ...b, chord: def.defaultChord } : b); + rpc?.request["keybindings.reset"]({ id }).catch(console.error); + } + + /** Reset all bindings to defaults. */ + function resetAll(): void { + for (const b of bindings) { + if (b.chord !== b.defaultChord) resetChord(b.id); + } + } + + /** Register a handler for a binding id. */ + function on(id: string, handler: () => void): void { + handlers.set(id, handler); + } + + /** Install a global capture-phase keydown listener. Idempotent. */ + function installListener(): () => void { + if (listenerInstalled) return () => {}; + listenerInstalled = true; + + function handleKeydown(e: KeyboardEvent): void { + // Never intercept keys when focus is inside a terminal canvas + const target = e.target as Element | null; + if (target?.closest(".terminal-container, .xterm")) return; + + const chord = chordFromEvent(e); + if (!chord) return; + + for (const b of bindings) { + if (b.chord === chord) { + const handler = handlers.get(b.id); + if (handler) { + e.preventDefault(); + handler(); + return; + } + } + } + } + + document.addEventListener("keydown", handleKeydown, { capture: true }); + return () => { + document.removeEventListener("keydown", handleKeydown, { capture: true }); + listenerInstalled = false; + }; + } + + return { + get bindings() { return bindings; }, + init, + setChord, + resetChord, + resetAll, + on, + installListener, + }; +} + +export const keybindingStore = createKeybindingStore(); diff --git a/ui-electrobun/src/mainview/settings/KeyboardSettings.svelte b/ui-electrobun/src/mainview/settings/KeyboardSettings.svelte new file mode 100644 index 0000000..9afdb54 --- /dev/null +++ b/ui-electrobun/src/mainview/settings/KeyboardSettings.svelte @@ -0,0 +1,315 @@ + + +
                + +
                + + +
                + + {#if conflictWarning} + + {/if} + + + {#each CATEGORY_ORDER as category} + {#if grouped[category]?.length} +
                +
                {category}
                +
                + {#each grouped[category] as binding (binding.id)} +
                + {binding.label} + + + {#if capturingId === binding.id} + +
                handleCaptureKeydown(e, binding.id)} + onblur={() => capturingId = null} + > + Press keys… +
                + {:else} + + {/if} + + + {#if isModified(binding)} + + {:else} + + {/if} +
                + {/each} +
                +
                + {/if} + {/each} + + {#if filtered.length === 0} +

                No shortcuts match "{searchQuery}"

                + {/if} +
                + + diff --git a/ui-electrobun/src/shared/pty-rpc-schema.ts b/ui-electrobun/src/shared/pty-rpc-schema.ts index d8634ab..88959a8 100644 --- a/ui-electrobun/src/shared/pty-rpc-schema.ts +++ b/ui-electrobun/src/shared/pty-rpc-schema.ts @@ -89,6 +89,63 @@ export type PtyRPCRequests = { params: { id: string }; response: { ok: boolean }; }; + + // ── Groups RPC ───────────────────────────────────────────────────────────── + + /** Return all project groups. */ + "groups.list": { + params: Record; + response: { groups: Array<{ id: string; name: string; icon: string; position: number }> }; + }; + + // ── Project clone RPC ────────────────────────────────────────────────────── + + /** Clone a project into a git worktree. branchName must match /^[a-zA-Z0-9\/_.-]+$/. */ + "project.clone": { + params: { projectId: string; branchName: string }; + response: { ok: boolean; project?: { id: string; config: string }; error?: string }; + }; + + // ── Window control RPC ───────────────────────────────────────────────────── + + /** Minimize the main window. */ + "window.minimize": { + params: Record; + response: { ok: boolean }; + }; + /** Toggle maximize/restore on the main window. */ + "window.maximize": { + params: Record; + response: { ok: boolean }; + }; + /** Close the main window. */ + "window.close": { + params: Record; + response: { ok: boolean }; + }; + /** Get current window frame (x, y, width, height). */ + "window.getFrame": { + params: Record; + response: { x: number; y: number; width: number; height: number }; + }; + + // ── Keybindings RPC ──────────────────────────────────────────────────────── + + /** Return all persisted custom keybindings (overrides only). */ + "keybindings.getAll": { + params: Record; + response: { keybindings: Record }; + }; + /** Persist a single keybinding override. */ + "keybindings.set": { + params: { id: string; chord: string }; + response: { ok: boolean }; + }; + /** Reset a keybinding to default (removes override). */ + "keybindings.reset": { + params: { id: string }; + response: { ok: boolean }; + }; }; // ── Messages (Bun → WebView, fire-and-forget) ────────────────────────────────