@promptctl/cc-candybar 1.130.0 → 1.130.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +1 -1
  2. package/dist/index.mjs +109 -109
  3. package/package.json +5 -5
package/dist/index.mjs CHANGED
@@ -1,71 +1,71 @@
1
1
  #!/usr/bin/env node
2
- import{createRequire as e}from"node:module";import t from"node:process";import{json as n}from"node:stream/consumers";import r,{createReadStream as i,existsSync as a,realpathSync as o,statSync as s,watch as c}from"node:fs";import l,{basename as u,dirname as d,isAbsolute as f,join as p,sep as m}from"node:path";import h,{homedir as g}from"node:os";import{spawn as _,spawnSync as v}from"node:child_process";import{parseArgs as y,types as b}from"node:util";import x from"node:net";import{open as S,readFile as C,readdir as ee,stat as w}from"node:fs/promises";import{clearInterval as te,setInterval as ne}from"node:timers";import re from"node:v8";import{URL as ie,URLSearchParams as T,fileURLToPath as E,pathToFileURL as ae}from"node:url";import oe,{createHash as se,randomUUID as ce}from"node:crypto";import{get as le}from"node:https";import{setTimeout as ue}from"node:timers/promises";import{createInterface as de}from"node:readline";var fe=Object.create,pe=Object.defineProperty,me=Object.getOwnPropertyDescriptor,he=Object.getOwnPropertyNames,ge=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty,ve=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),ye=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=he(t),a=0,o=i.length,s;a<o;a++)s=i[a],!_e.call(e,s)&&s!==n&&pe(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=me(t,s))||r.enumerable});return e},be=(e,t,n)=>(n=e==null?{}:fe(ge(e)),ye(t||!e||!e.__esModule?pe(n,`default`,{value:e,enumerable:!0}):n,e));function D(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function xe(e,t){return b.isNativeError(e)?e.code===`ENOENT`&&t!==void 0&&!a(t)?`working directory does not exist: ${t}`:e.message:String(e)}const Se={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},Ce=new Map;function we(e){let t=Se[e];if(t===void 0)return{allowed:!0};let n=Ce.get(e);if(n===void 0)return{allowed:!0};let r=Date.now()-n;return r>=t?{allowed:!0}:{allowed:!1,minIntervalMs:t,sinceLastMs:r}}function Te(e){Ce.set(e,Date.now())}function Ee(e){return e.env??process.env}function De(e,t,n){return{ok:!1,reason:`rate-limited`,stdout:``,stderr:``,exitCode:null,signal:null,error:`rate-limited: ${e} min interval ${t}ms, last start ${n}ms ago`}}let Oe=null;function ke(e){Oe=e}function Ae(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function je(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=we(e.category);if(!t.allowed)return De(e.category,t.minIntervalMs,t.sinceLastMs);Te(e.category);let n=Date.now();return Oe?.onStart(e.category),new Promise(t=>{let r;try{r=_(e.bin,e.args??[],{cwd:e.cwd,env:Ee(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){Oe?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:xe(r,e.cwd)});return}let i=``,a=``,o=!1,s=null,c=null,l=null,u=()=>m(`aborted`),d=t=>{o||(o=!0,s&&clearTimeout(s),c&&clearTimeout(c),e.signal?.removeEventListener(`abort`,u),Oe?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{Ae(e,t)}catch(e){f({ok:!1,reason:`signal-refused`,stdout:i,stderr:a,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)})}},m=t=>{l=t,s&&clearTimeout(s),e.signal?.removeEventListener(`abort`,u);let n=r.pid;n!==void 0&&(c=setTimeout(()=>p(n,`SIGKILL`),250),p(n,`SIGTERM`))};r.stdout?.on(`data`,e=>{i+=e.toString(`utf8`)}),r.stderr?.on(`data`,e=>{a+=e.toString(`utf8`)}),r.on(`error`,t=>{f({ok:!1,reason:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:null,error:xe(t,e.cwd)})}),r.on(`close`,(e,t)=>{if(l!==null){f({ok:!1,reason:l,stdout:i,stderr:a,exitCode:e,signal:t});return}if(e===0){f({ok:!0,stdout:i,stderr:a,exitCode:e});return}f({ok:!1,reason:t?`signal`:`non-zero`,stdout:i,stderr:a,exitCode:e,signal:t})}),e.timeoutMs&&e.timeoutMs>0&&(s=setTimeout(()=>m(`timeout`),e.timeoutMs)),e.signal?.addEventListener(`abort`,u,{once:!0}),e.stdinInput!==void 0&&r.stdin?r.stdin.end(e.stdinInput):r.stdin&&r.stdin.end()})}function O(e){let t=we(e.category);if(!t.allowed)return De(e.category,t.minIntervalMs,t.sinceLastMs);Te(e.category);let n=Date.now();Oe?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=v(e.bin,e.args??[],{cwd:e.cwd,env:Ee(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});Oe?.onEnd(e.category,Date.now()-n);let i=typeof t.stdout==`string`?t.stdout:``,a=typeof t.stderr==`string`?t.stderr:``;if(t.error)return{ok:!1,reason:t.error.code===`ETIMEDOUT`?`timeout`:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:t.signal??null,error:xe(t.error,e.cwd)};if(t.status===0)return{ok:!0,stdout:i,stderr:a,exitCode:t.status};let o=e.timeoutMs!==void 0&&e.timeoutMs>0;return{ok:!1,reason:t.signal?o&&t.signal===`SIGTERM`?`timeout`:`signal`:`non-zero`,stdout:i,stderr:a,exitCode:t.status,signal:t.signal??null}}catch(t){return Oe?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:xe(t,e.cwd)}}}function Me(e){let t=we(e.category);if(!t.allowed)return De(e.category,t.minIntervalMs,t.sinceLastMs);Te(e.category);let n=Date.now();Oe?.onStart(e.category);let r=Ne(e);return Oe?.onEnd(e.category,Date.now()-n),r}function Ne(e){let t;try{t=_(e.bin,e.args??[],{cwd:e.cwd,env:Ee(e),detached:!0,stdio:`ignore`})}catch(t){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:xe(t,e.cwd)}}return t.once(`error`,()=>{}),t.pid===void 0?{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:`spawn(${e.bin}): no pid (binary not found or unexecutable)`}:(t.unref(),{ok:!0,stdout:``,stderr:``,exitCode:null})}function Pe(e,t,n){let i=`${e}.tmp`,a=n??r.statSync(e,{throwIfNoEntry:!1})?.mode;try{r.writeFileSync(i,t,a===void 0?{}:{mode:a}),r.renameSync(i,e)}catch(e){throw r.rmSync(i,{force:!0}),e}}function Fe(e,t){let n=e[t];return n&&n.length>0?n:void 0}function Ie(e=process.env){let t=Fe(e,`XDG_STATE_HOME`)??l.join(h.homedir(),`.local`,`state`);return l.join(t,`cc-candybar`)}function Le(){let e=Fe(process.env,`XDG_CACHE_HOME`)??l.join(h.homedir(),`.cache`);return l.join(e,`cc-candybar`)}function Re(){return Ie()}function ze(){return process.env.CC_CANDYBAR_SOCKET||Be()}function Be(){let e=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${e}`,`socket`)}function Ve(e){r.mkdirSync(e,{recursive:!0,mode:448});let t=r.lstatSync(e);if(t.isSymbolicLink())throw Error(`directory is a symlink: ${e}`);if(!t.isDirectory())throw Error(`not a directory: ${e}`);let n=h.userInfo().uid;if(typeof n==`number`&&t.uid!==n)throw Error(`directory is not owned by uid ${n}: ${e} (owner uid=${t.uid})`);if(t.mode&63)throw Error(`directory has unsafe permissions: ${e} (mode=${(t.mode&511).toString(8)}, expected 0700)`)}function He(e){Ve(l.dirname(e));for(let t of[e,Ue(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function Ue(e){return`${e}.lease`}function We(){return Ue(ze())}function Ge(){return l.join(Ie(),`session-state.json`)}function Ke(){return l.join(Ie(),`settings-history.json`)}function qe(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Je(){return l.join(Ie(),`spawn.lock`)}function Ye(){return l.join(Ie(),`spawn.cooldown`)}function Xe(){return l.join(Ie(),`spawn.backoff`)}function Ze(){return l.join(Ie(),`diagnostics`)}function Qe(e=process.env){return l.join(Ie(e),`daemon.log`)}const $e=[`MEMENTO_CONFIG_HOME`,`XDG_CONFIG_HOME`];function et(e,t){return Object.fromEntries($e.flatMap(n=>{let r=e[n]??``;return r===``?[]:[[n,l.resolve(t,r)]]}))}var tt=ve(((e,t)=>{t.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,t.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,t.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/})),nt=ve(((e,t)=>{let n=tt();t.exports={isSpaceSeparator(e){return typeof e==`string`&&n.Space_Separator.test(e)},isIdStartChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||n.ID_Start.test(e))},isIdContinueChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===`‌`||e===`‍`||n.ID_Continue.test(e))},isDigit(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}}})),rt=ve(((e,t)=>{let n=nt(),r,i,a,o,s,c,l,u,d;t.exports=function(e,t){r=String(e),i=`start`,a=[],o=0,s=1,c=0,l=void 0,u=void 0,d=void 0;do l=v(),ne[i]();while(l.type!==`eof`);return typeof t==`function`?f({"":d},``,t):d};function f(e,t,n){let r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(let e=0;e<r.length;e++){let t=String(e),i=f(r,t,n);i===void 0?delete r[t]:Object.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let e in r){let t=f(r,e,n);t===void 0?delete r[e]:Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}let p,m,h,g,_;function v(){for(p=`default`,m=``,h=!1,g=1;;){_=y();let e=x[p]();if(e)return e}}function y(){if(r[o])return String.fromCodePoint(r.codePointAt(o))}function b(){let e=y();return e===`
2
+ import{createRequire as e}from"node:module";import t from"node:process";import{json as n}from"node:stream/consumers";import r,{createReadStream as i,existsSync as a,realpathSync as o,statSync as s,watch as c}from"node:fs";import l,{basename as u,dirname as d,isAbsolute as f,join as p,sep as m}from"node:path";import h,{homedir as g}from"node:os";import{spawn as _,spawnSync as v}from"node:child_process";import{parseArgs as y,types as b}from"node:util";import x from"node:net";import S from"node:v8";import{URL as C,URLSearchParams as ee,fileURLToPath as w,pathToFileURL as te}from"node:url";import ne,{createHash as re,randomUUID as ie}from"node:crypto";import{open as T,readFile as E,readdir as ae,stat as oe}from"node:fs/promises";import{clearInterval as D,setInterval as se}from"node:timers";import{get as ce}from"node:https";import{setTimeout as O}from"node:timers/promises";import{createInterface as le}from"node:readline";var ue=Object.create,de=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,pe=Object.getOwnPropertyNames,me=Object.getPrototypeOf,he=Object.prototype.hasOwnProperty,ge=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),_e=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=pe(t),a=0,o=i.length,s;a<o;a++)s=i[a],!he.call(e,s)&&s!==n&&de(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=fe(t,s))||r.enumerable});return e},ve=(e,t,n)=>(n=e==null?{}:ue(me(e)),_e(t||!e||!e.__esModule?de(n,`default`,{value:e,enumerable:!0}):n,e));function k(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function ye(e,t){return b.isNativeError(e)?e.code===`ENOENT`&&t!==void 0&&!a(t)?`working directory does not exist: ${t}`:e.message:String(e)}const be={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},xe=new Map;function Se(e){let t=be[e];if(t===void 0)return{allowed:!0};let n=xe.get(e);if(n===void 0)return{allowed:!0};let r=Date.now()-n;return r>=t?{allowed:!0}:{allowed:!1,minIntervalMs:t,sinceLastMs:r}}function Ce(e){xe.set(e,Date.now())}function we(e){return e.env??process.env}function Te(e,t,n){return{ok:!1,reason:`rate-limited`,stdout:``,stderr:``,exitCode:null,signal:null,error:`rate-limited: ${e} min interval ${t}ms, last start ${n}ms ago`}}let Ee=null;function De(e){Ee=e}function Oe(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function ke(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=Se(e.category);if(!t.allowed)return Te(e.category,t.minIntervalMs,t.sinceLastMs);Ce(e.category);let n=Date.now();return Ee?.onStart(e.category),new Promise(t=>{let r;try{r=_(e.bin,e.args??[],{cwd:e.cwd,env:we(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){Ee?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:ye(r,e.cwd)});return}let i=``,a=``,o=!1,s=null,c=null,l=null,u=()=>m(`aborted`),d=t=>{o||(o=!0,s&&clearTimeout(s),c&&clearTimeout(c),e.signal?.removeEventListener(`abort`,u),Ee?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{Oe(e,t)}catch(e){f({ok:!1,reason:`signal-refused`,stdout:i,stderr:a,exitCode:null,signal:null,error:e instanceof Error?e.message:String(e)})}},m=t=>{l=t,s&&clearTimeout(s),e.signal?.removeEventListener(`abort`,u);let n=r.pid;n!==void 0&&(c=setTimeout(()=>p(n,`SIGKILL`),250),p(n,`SIGTERM`))};r.stdout?.on(`data`,e=>{i+=e.toString(`utf8`)}),r.stderr?.on(`data`,e=>{a+=e.toString(`utf8`)}),r.on(`error`,t=>{f({ok:!1,reason:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:null,error:ye(t,e.cwd)})}),r.on(`close`,(e,t)=>{if(l!==null){f({ok:!1,reason:l,stdout:i,stderr:a,exitCode:e,signal:t});return}if(e===0){f({ok:!0,stdout:i,stderr:a,exitCode:e});return}f({ok:!1,reason:t?`signal`:`non-zero`,stdout:i,stderr:a,exitCode:e,signal:t})}),e.timeoutMs&&e.timeoutMs>0&&(s=setTimeout(()=>m(`timeout`),e.timeoutMs)),e.signal?.addEventListener(`abort`,u,{once:!0}),e.stdinInput!==void 0&&r.stdin?r.stdin.end(e.stdinInput):r.stdin&&r.stdin.end()})}function A(e){let t=Se(e.category);if(!t.allowed)return Te(e.category,t.minIntervalMs,t.sinceLastMs);Ce(e.category);let n=Date.now();Ee?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=v(e.bin,e.args??[],{cwd:e.cwd,env:we(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});Ee?.onEnd(e.category,Date.now()-n);let i=typeof t.stdout==`string`?t.stdout:``,a=typeof t.stderr==`string`?t.stderr:``;if(t.error)return{ok:!1,reason:t.error.code===`ETIMEDOUT`?`timeout`:`spawn-error`,stdout:i,stderr:a,exitCode:null,signal:t.signal??null,error:ye(t.error,e.cwd)};if(t.status===0)return{ok:!0,stdout:i,stderr:a,exitCode:t.status};let o=e.timeoutMs!==void 0&&e.timeoutMs>0;return{ok:!1,reason:t.signal?o&&t.signal===`SIGTERM`?`timeout`:`signal`:`non-zero`,stdout:i,stderr:a,exitCode:t.status,signal:t.signal??null}}catch(t){return Ee?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:ye(t,e.cwd)}}}function Ae(e){let t=Se(e.category);if(!t.allowed)return Te(e.category,t.minIntervalMs,t.sinceLastMs);Ce(e.category);let n=Date.now();Ee?.onStart(e.category);let r=je(e);return Ee?.onEnd(e.category,Date.now()-n),r}function je(e){let t;try{t=_(e.bin,e.args??[],{cwd:e.cwd,env:we(e),detached:!0,stdio:`ignore`})}catch(t){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:ye(t,e.cwd)}}return t.once(`error`,()=>{}),t.pid===void 0?{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:`spawn(${e.bin}): no pid (binary not found or unexecutable)`}:(t.unref(),{ok:!0,stdout:``,stderr:``,exitCode:null})}function Me(e,t,n){let i=`${e}.tmp`,a=n??r.statSync(e,{throwIfNoEntry:!1})?.mode;try{r.writeFileSync(i,t,a===void 0?{}:{mode:a}),r.renameSync(i,e)}catch(e){throw r.rmSync(i,{force:!0}),e}}function Ne(e,t){let n=e[t];return n&&n.length>0?n:void 0}function Pe(e=process.env){let t=Ne(e,`XDG_STATE_HOME`)??l.join(h.homedir(),`.local`,`state`);return l.join(t,`cc-candybar`)}function Fe(){let e=Ne(process.env,`XDG_CACHE_HOME`)??l.join(h.homedir(),`.cache`);return l.join(e,`cc-candybar`)}function Ie(){return Pe()}function Le(){return process.env.CC_CANDYBAR_SOCKET||Re()}function Re(){let e=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${e}`,`socket`)}function ze(e){r.mkdirSync(e,{recursive:!0,mode:448});let t=r.lstatSync(e);if(t.isSymbolicLink())throw Error(`directory is a symlink: ${e}`);if(!t.isDirectory())throw Error(`not a directory: ${e}`);let n=h.userInfo().uid;if(typeof n==`number`&&t.uid!==n)throw Error(`directory is not owned by uid ${n}: ${e} (owner uid=${t.uid})`);if(t.mode&63)throw Error(`directory has unsafe permissions: ${e} (mode=${(t.mode&511).toString(8)}, expected 0700)`)}function Be(e){ze(l.dirname(e));for(let t of[e,Ve(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function Ve(e){return`${e}.lease`}function He(){return Ve(Le())}function Ue(){return l.join(Pe(),`session-state.json`)}function We(){return l.join(Pe(),`settings-history.json`)}function Ge(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=h.userInfo().uid;return l.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ke(){return l.join(Pe(),`spawn.lock`)}function qe(){return l.join(Pe(),`spawn.cooldown`)}function Je(){return l.join(Pe(),`spawn.backoff`)}function Ye(){return l.join(Pe(),`diagnostics`)}function Xe(e=process.env){return l.join(Pe(e),`daemon.log`)}const Ze=[`MEMENTO_CONFIG_HOME`,`XDG_CONFIG_HOME`];function Qe(e,t){return Object.fromEntries(Ze.flatMap(n=>{let r=e[n]??``;return r===``?[]:[[n,l.resolve(t,r)]]}))}const $e=Object.keys({termCols:!0,termRows:!0,ssh:!0,tmux:!0,configEnv:!0,claudeConfigDir:!0,mementoEnv:!0});function et(e){let t=st(e.termCols),n=st(e.termRows),r=ct(e.ssh),i=at(e.tmux),a=it(e.configEnv),o=it(e.claudeConfigDir),s=rt(e.mementoEnv);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r},...i!==void 0&&{tmux:i},...a!==void 0&&{configEnv:a},...o!==void 0&&{claudeConfigDir:o},...s!==void 0&&{mementoEnv:s}}}function tt(e,t){return $e.filter(n=>e[n]!==void 0&&t[n]===void 0).map(t=>({hint:t,sent:e[t]}))}function nt(e){return e.length===0?null:`Client hints refused: ${e.map(({hint:e,sent:t})=>`${e}=${JSON.stringify(t)}`).join(`, `)} — is the statusline client older than the daemon? Reinstall it (\`cc-candybar install\`, or \`just install-rust\` in a checkout).`}function rt(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=Ze.filter(e=>t[e]!==void 0);return n.every(e=>it(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function it(e){return typeof e==`string`&&l.isAbsolute(e)?e:void 0}function at(e){if(e===null)return null;if(typeof e!=`object`)return;let{socket:t,pane:n,truecolor:r}=e;if(!(typeof t!=`string`||t===``)&&!(typeof n!=`string`||n===``)&&!(r!==null&&(typeof r!=`string`||r===``)))return{socket:t,pane:n,truecolor:r}}const ot=1e4;function st(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>ot?ot:t}function ct(e){return typeof e==`boolean`?e:void 0}function lt(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var ut=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function dt(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function ft(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new ut(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new ut(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function pt(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=ft(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(dt(t))})}async function mt(e,t,n){let r=null;try{r=await yt(Le(),t.connectMs);let i=await pt(r,{v:3,...e},t.budgetMs);return _t(e.kind,i,n)}catch(e){return vt(e)}finally{r&&r.destroy()}}function ht(e,t){return typeof e==`string`?e:t}function gt(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function _t(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=ht(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:gt(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function vt(e){if(e instanceof ut||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function yt(e,t){return new Promise((n,r)=>{let i=x.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function bt(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const xt=`1.130.2`,St={connectMs:50,budgetMs:150},Ct={connectMs:50,budgetMs:200};function wt(e){let t=e.output;return typeof t==`string`?t:void 0}function Tt(e,t,n,r){return mt({kind:`render`,hookData:e,args:t,cwd:n,...r},St,wt)}function Et(e,t){return mt({kind:`click`,verb:e,value:t,clientVersion:xt},Ct,wt)}let Dt=null;function Ot(e){if(Dt!==null)return Dt;r.mkdirSync(l.dirname(e),{recursive:!0});try{Dt=r.statSync(e).size}catch{Dt=0}return Dt}function kt(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}Dt=0}const At=(e,t)=>k(t);function j(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=Xe(),t=Ot(e);r.appendFileSync(e,n),Dt=t+Buffer.byteLength(n,`utf8`),Dt>=5242880&&kt(e)}catch(e){Dt=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}function jt(e){let t=[];for(let n of e){let e=n.read();if(e.kind===`text`)return`# memory report from: ${n.name}\n${e.text}`;t.push(`# ${n.name}: unavailable — ${e.reason}`)}return[`# memory report: no probe answered`,...t.length>0?t:[`# no probe is known for this platform`]].join(`
3
+ `)}function Mt(e,t){return e===`darwin`?[Nt(`footprint`,[`-p`,String(t)]),Nt(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[Pt(`/proc/self/smaps_rollup`),Pt(`/proc/self/status`)]:[]}function Nt(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=A({bin:e,args:[...t],timeoutMs:5e3,category:`limits.memory-report`});return n.ok?n.stdout.trim().length>0?{kind:`text`,text:n.stdout}:{kind:`unavailable`,reason:`exited 0 but printed nothing`}:{kind:`unavailable`,reason:`${n.reason}${n.error===void 0?``:`: ${n.error}`}${Ft(n.stderr)}`}}}}function Pt(e){return{name:e,read:()=>{try{let t=r.readFileSync(e,`utf8`);return t.trim().length>0?{kind:`text`,text:t}:{kind:`unavailable`,reason:`empty file`}}catch(e){return{kind:`unavailable`,reason:e.message}}}}}function Ft(e){let t=e.split(`
4
+ `).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const M=`CC_CANDYBAR_RSS_LIMIT_MB`;function It(e){let t=e[M];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${M} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function Lt(e){return It(e)*2}const Rt=1024*1024;function zt(e){return It(e)*Rt}const Bt={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function Vt(e,t,n){let{prefix:r,suffix:i}=Bt[t];return l.join(e,`${r}${n}${i}`)}function Ht(e){for(let t of Object.keys(Bt)){let{prefix:n,suffix:r}=Bt[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function Ut(e){let t=e.rssLimitBytes??512*Rt,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let{rss:i,heapTotal:a}=e.memoryBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t} (v8 heap ${a}); recording memory then shutting down`);let o=`${new Date(e.now()).toISOString().replace(/[:.]/g,`-`)}-${e.pid}`;return Wt(e.log,`memory report`,()=>{let t=Vt(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),Wt(e.log,`heap snapshot`,()=>{let t=Vt(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),Wt(e.log,`artifact rotation`,()=>{Kt(e.listArtifacts(),n,e.removeFile)}),e.shutdown(0),!0}function a(){let{rss:n,heapTotal:r}=e.memoryBytes();return n>t*.75?`rss ${n} approaching limit ${t} (v8 heap ${r})`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function Wt(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function Gt(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=Ht(t);if(n===null)return t;let{prefix:r,suffix:i}=Bt[n];return t.slice(r.length,t.length-i.length)}function Kt(e,t,n){let r=new Map;for(let t of e){let e=Gt(t),n=r.get(e);n===void 0?r.set(e,[t]):n.push(t)}let i=[...r.keys()].sort((e,t)=>t.localeCompare(e));for(let e of i.slice(t))for(let t of r.get(e)??[])try{n(t)}catch{}}function qt(e,t,n={}){let i=Ie();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:j,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>jt(Mt(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>S.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>Ht(e)!==null).map(e=>l.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function Jt(e={}){if(un()!==null)return;let n=e.spawn??dn,r=sn();if(r.kind===`contended`){let e=Xt();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),Yt(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),Yt(n);return}try{Yt(n)}finally{ln()}}function Yt(e){N()&&Zt(e)}function Xt(){try{let e=r.statSync(Ke());return Date.now()-e.mtimeMs}catch{return null}}function Zt(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
5
+ `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function Qt(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function $t(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function en(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function tn(e,n){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function nn(){try{r.unlinkSync(Je())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function N(){let e=qe(),n=Je(),r=en(n),i=Qt(rn(e),$t(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),an(e),tn(n,Math.min(r+1,5)),!0)}function rn(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function an(e){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let on=null;function sn(){let e=Ke();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return on={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!cn(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function cn(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function ln(){if(!on)return;let{fd:e,path:t}=on;on=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function un(){try{return r.mkdirSync(Ie(),{recursive:!0}),null}catch(e){return`mkdir ${Ie()}: ${e.message}`}}function dn(){let e=t.execPath,n=t.argv[1];return n?Ae({bin:e,args:[`--max-old-space-size=${Lt(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const fn=`cc-candybar`,pn=`dispatch`,mn=`set-state`,hn=`step-state`,P=`copy`,gn=`open-vscode`,_n=`toolbar-toggle`,vn=`show-config-error`,yn=`show-config-warning`,bn=`set-config`,xn=`step-config`,Sn=`save`,Cn=`save-preset`,F=`save-theme-default`,wn=`delete-preset`,Tn=`reset-config`,En=`apply-layout-op`,Dn=`undo`,On=`redo`,kn=`back`,An=`rewind`,jn=`apply-update`,Mn=`doctor-run`,Nn=`doctor-fix`,Pn=`doctor-probe`,Fn=`ceiling`,In=`slash`;function Ln(e){return e.map(encodeURIComponent).join(`/`)}function I(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function Rn(e){return`${fn}://${pn}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${Ln(e.args)}`)}`).join(`&`)}`}function zn(e){return new ee(e).getAll(`e`).map(Un)}const Bn=new Set([mn,Tn]);function Vn(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&Hn(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function Hn(e,t){if(e.verb!==t.verb||!Bn.has(e.verb))return;let[n,r]=[Un(e.value),Un(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function Un(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const Wn=`closed`,L=`🍫`;function Gn(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function Kn(e,t,n,r){let i=Gn(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function qn(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Jn(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Yn(e,...t){return`{{ and ${[e,...t].map(Xn).join(` `)} }}`}function Xn(e){return`(eq .${e.variable} "${qn(e.member)}")`}function Zn(e,t,n){return`{{ ${Qn(e,$n(t),$n(n))} }}`}function Qn(e,t,n){return`action "${e}" ${t} ${n}`}function $n(e){return`"${qn(e)}"`}function er(e,t){return{kind:`state`,key:e,default:t}}function tr(e,t){return{set:e,cycle:[Wn,t]}}const nr=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function rr(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function ir(e){return nr.test(e)?e:rr(e)}var ar=ge(((e,t)=>{t.exports.Space_Separator=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,t.exports.ID_Start=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,t.exports.ID_Continue=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/})),or=ge(((e,t)=>{let n=ar();t.exports={isSpaceSeparator(e){return typeof e==`string`&&n.Space_Separator.test(e)},isIdStartChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e===`$`||e===`_`||n.ID_Start.test(e))},isIdContinueChar(e){return typeof e==`string`&&(e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`||e>=`0`&&e<=`9`||e===`$`||e===`_`||e===`‌`||e===`‍`||n.ID_Continue.test(e))},isDigit(e){return typeof e==`string`&&/[0-9]/.test(e)},isHexDigit(e){return typeof e==`string`&&/[0-9A-Fa-f]/.test(e)}}})),sr=ge(((e,t)=>{let n=or(),r,i,a,o,s,c,l,u,d;t.exports=function(e,t){r=String(e),i=`start`,a=[],o=0,s=1,c=0,l=void 0,u=void 0,d=void 0;do l=v(),ne[i]();while(l.type!==`eof`);return typeof t==`function`?f({"":d},``,t):d};function f(e,t,n){let r=e[t];if(typeof r==`object`&&r)if(Array.isArray(r))for(let e=0;e<r.length;e++){let t=String(e),i=f(r,t,n);i===void 0?delete r[t]:Object.defineProperty(r,t,{value:i,writable:!0,enumerable:!0,configurable:!0})}else for(let e in r){let t=f(r,e,n);t===void 0?delete r[e]:Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0})}return n.call(e,t,r)}let p,m,h,g,_;function v(){for(p=`default`,m=``,h=!1,g=1;;){_=y();let e=x[p]();if(e)return e}}function y(){if(r[o])return String.fromCodePoint(r.codePointAt(o))}function b(){let e=y();return e===`
3
6
  `?(s++,c=0):e?c+=e.length:c++,e&&(o+=e.length),e}let x={default(){switch(_){case` `:case`\v`:case`\f`:case` `:case`\xA0`:case``:case`
4
7
  `:case`\r`:case`\u2028`:case`\u2029`:b();return;case`/`:b(),p=`comment`;return;case void 0:return b(),S(`eof`)}if(n.isSpaceSeparator(_)){b();return}return x[i]()},comment(){switch(_){case`*`:b(),p=`multiLineComment`;return;case`/`:b(),p=`singleLineComment`;return}throw T(b())},multiLineComment(){switch(_){case`*`:b(),p=`multiLineCommentAsterisk`;return;case void 0:throw T(b())}b()},multiLineCommentAsterisk(){switch(_){case`*`:b();return;case`/`:b(),p=`default`;return;case void 0:throw T(b())}b(),p=`multiLineComment`},singleLineComment(){switch(_){case`
5
8
  `:case`\r`:case`\u2028`:case`\u2029`:b(),p=`default`;return;case void 0:return b(),S(`eof`)}b()},value(){switch(_){case`{`:case`[`:return S(`punctuator`,b());case`n`:return b(),C(`ull`),S(`null`,null);case`t`:return b(),C(`rue`),S(`boolean`,!0);case`f`:return b(),C(`alse`),S(`boolean`,!1);case`-`:case`+`:b()===`-`&&(g=-1),p=`sign`;return;case`.`:m=b(),p=`decimalPointLeading`;return;case`0`:m=b(),p=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:m=b(),p=`decimalInteger`;return;case`I`:return b(),C(`nfinity`),S(`numeric`,1/0);case`N`:return b(),C(`aN`),S(`numeric`,NaN);case`"`:case`'`:h=b()===`"`,m=``,p=`string`;return}throw T(b())},identifierNameStartEscape(){if(_!==`u`)throw T(b());b();let e=te();switch(e){case`$`:case`_`:break;default:if(!n.isIdStartChar(e))throw ae();break}m+=e,p=`identifierName`},identifierName(){switch(_){case`$`:case`_`:case`‌`:case`‍`:m+=b();return;case`\\`:b(),p=`identifierNameEscape`;return}if(n.isIdContinueChar(_)){m+=b();return}return S(`identifier`,m)},identifierNameEscape(){if(_!==`u`)throw T(b());b();let e=te();switch(e){case`$`:case`_`:case`‌`:case`‍`:break;default:if(!n.isIdContinueChar(e))throw ae();break}m+=e,p=`identifierName`},sign(){switch(_){case`.`:m=b(),p=`decimalPointLeading`;return;case`0`:m=b(),p=`zero`;return;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:m=b(),p=`decimalInteger`;return;case`I`:return b(),C(`nfinity`),S(`numeric`,g*(1/0));case`N`:return b(),C(`aN`),S(`numeric`,NaN)}throw T(b())},zero(){switch(_){case`.`:m+=b(),p=`decimalPoint`;return;case`e`:case`E`:m+=b(),p=`decimalExponent`;return;case`x`:case`X`:m+=b(),p=`hexadecimal`;return}return S(`numeric`,g*0)},decimalInteger(){switch(_){case`.`:m+=b(),p=`decimalPoint`;return;case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},decimalPointLeading(){if(n.isDigit(_)){m+=b(),p=`decimalFraction`;return}throw T(b())},decimalPoint(){switch(_){case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b(),p=`decimalFraction`;return}return S(`numeric`,g*Number(m))},decimalFraction(){switch(_){case`e`:case`E`:m+=b(),p=`decimalExponent`;return}if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},decimalExponent(){switch(_){case`+`:case`-`:m+=b(),p=`decimalExponentSign`;return}if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw T(b())},decimalExponentSign(){if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw T(b())},decimalExponentInteger(){if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},hexadecimal(){if(n.isHexDigit(_)){m+=b(),p=`hexadecimalInteger`;return}throw T(b())},hexadecimalInteger(){if(n.isHexDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},string(){switch(_){case`\\`:b(),m+=ee();return;case`"`:if(h)return b(),S(`string`,m);m+=b();return;case`'`:if(!h)return b(),S(`string`,m);m+=b();return;case`
6
9
  `:case`\r`:throw T(b());case`\u2028`:case`\u2029`:oe(_);break;case void 0:throw T(b())}m+=b()},start(){switch(_){case`{`:case`[`:return S(`punctuator`,b())}p=`value`},beforePropertyName(){switch(_){case`$`:case`_`:m=b(),p=`identifierName`;return;case`\\`:b(),p=`identifierNameStartEscape`;return;case`}`:return S(`punctuator`,b());case`"`:case`'`:h=b()===`"`,p=`string`;return}if(n.isIdStartChar(_)){m+=b(),p=`identifierName`;return}throw T(b())},afterPropertyName(){if(_===`:`)return S(`punctuator`,b());throw T(b())},beforePropertyValue(){p=`value`},afterPropertyValue(){switch(_){case`,`:case`}`:return S(`punctuator`,b())}throw T(b())},beforeArrayValue(){if(_===`]`)return S(`punctuator`,b());p=`value`},afterArrayValue(){switch(_){case`,`:case`]`:return S(`punctuator`,b())}throw T(b())},end(){throw T(b())}};function S(e,t){return{type:e,value:t,line:s,column:c}}function C(e){for(let t of e){if(y()!==t)throw T(b());b()}}function ee(){switch(y()){case`b`:return b(),`\b`;case`f`:return b(),`\f`;case`n`:return b(),`
7
10
  `;case`r`:return b(),`\r`;case`t`:return b(),` `;case`v`:return b(),`\v`;case`0`:if(b(),n.isDigit(y()))throw T(b());return`\0`;case`x`:return b(),w();case`u`:return b(),te();case`
8
11
  `:case`\u2028`:case`\u2029`:return b(),``;case`\r`:return b(),y()===`
9
- `&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw T(b());case void 0:throw T(b())}return b()}function w(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw T(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function te(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw T(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let ne={start(){if(l.type===`eof`)throw E();re()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ie();return;case`eof`:throw E()}},afterPropertyName(){if(l.type===`eof`)throw E();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw E();re()},beforeArrayValue(){if(l.type===`eof`)throw E();if(l.type===`punctuator`&&l.value===`]`){ie();return}re()},afterPropertyValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ie()}},afterArrayValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ie()}},end(){}};function re(){let e;switch(l.type){case`punctuator`:switch(l.value){case`{`:e={};break;case`[`:e=[];break}break;case`null`:case`boolean`:case`numeric`:case`string`:e=l.value;break}if(d===void 0)d=e;else{let t=a[a.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,u,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(typeof e==`object`&&e)a.push(e),i=Array.isArray(e)?`beforeArrayValue`:`beforePropertyName`;else{let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}}function ie(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function T(e){return ce(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${se(e)}' at ${s}:${c}`)}function E(){return ce(`JSON5: invalid end of input at ${s}:${c}`)}function ae(){return c-=5,ce(`JSON5: invalid identifier character at ${s}:${c}`)}function oe(e){console.warn(`JSON5: '${se(e)}' in strings is not valid ECMAScript; consider escaping`)}function se(e){let t={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`};if(t[e])return t[e];if(e<` `){let t=e.charCodeAt(0).toString(16);return`\\x`+(`00`+t).substring(t.length)}return e}function ce(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),it=ve(((e,t)=>{let n=nt();t.exports=function(e,t,r){let i=[],a=``,o,s,c=``,l;if(typeof t==`object`&&t&&!Array.isArray(t)&&(r=t.space,l=t.quote,t=t.replacer),typeof t==`function`)s=t;else if(Array.isArray(t)){o=[];for(let e of t){let t;typeof e==`string`?t=e:(typeof e==`number`||e instanceof String||e instanceof Number)&&(t=String(e)),t!==void 0&&o.indexOf(t)<0&&o.push(t)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r==`number`?r>0&&(r=Math.min(10,Math.floor(r)),c=` `.substr(0,r)):typeof r==`string`&&(c=r.substr(0,10)),u(``,{"":e});function u(e,t){let n=t[e];switch(n!=null&&(typeof n.toJSON5==`function`?n=n.toJSON5(e):typeof n.toJSON==`function`&&(n=n.toJSON(e))),s&&(n=s.call(t,e,n)),n instanceof Number?n=Number(n):n instanceof String?n=String(n):n instanceof Boolean&&(n=n.valueOf()),n){case null:return`null`;case!0:return`true`;case!1:return`false`}if(typeof n==`string`)return d(n,!1);if(typeof n==`number`)return String(n);if(typeof n==`object`)return Array.isArray(n)?m(n):f(n)}function d(e){let t={"'":.1,'"':.2},r={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},i=``;for(let a=0;a<e.length;a++){let o=e[a];switch(o){case`'`:case`"`:t[o]++,i+=o;continue;case`\0`:if(n.isDigit(e[a+1])){i+=`\\x00`;continue}}if(r[o]){i+=r[o];continue}if(o<` `){let e=o.charCodeAt(0).toString(16);i+=`\\x`+(`00`+e).substring(e.length);continue}i+=o}let a=l||Object.keys(t).reduce((e,n)=>t[e]<t[n]?e:n);return i=i.replace(new RegExp(a,`g`),r[a]),a+i+a}function f(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=o||Object.keys(e),r=[];for(let t of n){let n=u(t,e);if(n!==void 0){let e=p(t)+`:`;c!==``&&(e+=` `),e+=n,r.push(e)}}let s;if(r.length===0)s=`{}`;else{let e;if(c===``)e=r.join(`,`),s=`{`+e+`}`;else{let n=`,
12
+ `&&b(),``;case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:throw T(b());case void 0:throw T(b())}return b()}function w(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw T(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function te(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw T(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let ne={start(){if(l.type===`eof`)throw E();re()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ie();return;case`eof`:throw E()}},afterPropertyName(){if(l.type===`eof`)throw E();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw E();re()},beforeArrayValue(){if(l.type===`eof`)throw E();if(l.type===`punctuator`&&l.value===`]`){ie();return}re()},afterPropertyValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ie()}},afterArrayValue(){if(l.type===`eof`)throw E();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ie()}},end(){}};function re(){let e;switch(l.type){case`punctuator`:switch(l.value){case`{`:e={};break;case`[`:e=[];break}break;case`null`:case`boolean`:case`numeric`:case`string`:e=l.value;break}if(d===void 0)d=e;else{let t=a[a.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,u,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(typeof e==`object`&&e)a.push(e),i=Array.isArray(e)?`beforeArrayValue`:`beforePropertyName`;else{let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}}function ie(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function T(e){return se(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${D(e)}' at ${s}:${c}`)}function E(){return se(`JSON5: invalid end of input at ${s}:${c}`)}function ae(){return c-=5,se(`JSON5: invalid identifier character at ${s}:${c}`)}function oe(e){console.warn(`JSON5: '${D(e)}' in strings is not valid ECMAScript; consider escaping`)}function D(e){let t={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`};if(t[e])return t[e];if(e<` `){let t=e.charCodeAt(0).toString(16);return`\\x`+(`00`+t).substring(t.length)}return e}function se(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),cr=ge(((e,t)=>{let n=or();t.exports=function(e,t,r){let i=[],a=``,o,s,c=``,l;if(typeof t==`object`&&t&&!Array.isArray(t)&&(r=t.space,l=t.quote,t=t.replacer),typeof t==`function`)s=t;else if(Array.isArray(t)){o=[];for(let e of t){let t;typeof e==`string`?t=e:(typeof e==`number`||e instanceof String||e instanceof Number)&&(t=String(e)),t!==void 0&&o.indexOf(t)<0&&o.push(t)}}return r instanceof Number?r=Number(r):r instanceof String&&(r=String(r)),typeof r==`number`?r>0&&(r=Math.min(10,Math.floor(r)),c=` `.substr(0,r)):typeof r==`string`&&(c=r.substr(0,10)),u(``,{"":e});function u(e,t){let n=t[e];switch(n!=null&&(typeof n.toJSON5==`function`?n=n.toJSON5(e):typeof n.toJSON==`function`&&(n=n.toJSON(e))),s&&(n=s.call(t,e,n)),n instanceof Number?n=Number(n):n instanceof String?n=String(n):n instanceof Boolean&&(n=n.valueOf()),n){case null:return`null`;case!0:return`true`;case!1:return`false`}if(typeof n==`string`)return d(n,!1);if(typeof n==`number`)return String(n);if(typeof n==`object`)return Array.isArray(n)?m(n):f(n)}function d(e){let t={"'":.1,'"':.2},r={"'":`\\'`,'"':`\\"`,"\\":`\\\\`,"\b":`\\b`,"\f":`\\f`,"\n":`\\n`,"\r":`\\r`," ":`\\t`,"\v":`\\v`,"\0":`\\0`,"\u2028":`\\u2028`,"\u2029":`\\u2029`},i=``;for(let a=0;a<e.length;a++){let o=e[a];switch(o){case`'`:case`"`:t[o]++,i+=o;continue;case`\0`:if(n.isDigit(e[a+1])){i+=`\\x00`;continue}}if(r[o]){i+=r[o];continue}if(o<` `){let e=o.charCodeAt(0).toString(16);i+=`\\x`+(`00`+e).substring(e.length);continue}i+=o}let a=l||Object.keys(t).reduce((e,n)=>t[e]<t[n]?e:n);return i=i.replace(new RegExp(a,`g`),r[a]),a+i+a}function f(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=o||Object.keys(e),r=[];for(let t of n){let n=u(t,e);if(n!==void 0){let e=p(t)+`:`;c!==``&&(e+=` `),e+=n,r.push(e)}}let s;if(r.length===0)s=`{}`;else{let e;if(c===``)e=r.join(`,`),s=`{`+e+`}`;else{let n=`,
10
13
  `+a;e=r.join(n),s=`{
11
14
  `+a+e+`,
12
15
  `+t+`}`}}return i.pop(),a=t,s}function p(e){if(e.length===0)return d(e,!0);let t=String.fromCodePoint(e.codePointAt(0));if(!n.isIdStartChar(t))return d(e,!0);for(let r=t.length;r<e.length;r++)if(!n.isIdContinueChar(String.fromCodePoint(e.codePointAt(r))))return d(e,!0);return e}function m(e){if(i.indexOf(e)>=0)throw TypeError(`Converting circular structure to JSON5`);i.push(e);let t=a;a+=c;let n=[];for(let t=0;t<e.length;t++){let r=u(String(t),e);n.push(r===void 0?`null`:r)}let r;if(n.length===0)r=`[]`;else if(c===``)r=`[`+n.join(`,`)+`]`;else{let e=`,
13
16
  `+a,i=n.join(e);r=`[
14
17
  `+a+i+`,
15
- `+t+`]`}return i.pop(),a=t,r}}})),at=be(ve(((e,t)=>{t.exports={parse:rt(),stringify:it()}}))(),1);function ot({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const st=ot();function ct(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(st,``)}const lt=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],ut=[12288,12288,65281,65376,65504,65510],dt=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],ft=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],pt=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],mt=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},ht=lt[0],gt=lt.at(-1),_t=ut[0],vt=ut.at(-1);dt[0],dt.at(-1),ft[0],ft.at(-1);const yt=pt[0],bt=pt.at(-1),xt=19968,[St,Ct]=wt(pt);function wt(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(xt>=i&&xt<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Tt=e=>e<ht||e>gt?!1:mt(lt,e),Et=e=>e<_t||e>vt?!1:mt(ut,e),Dt=e=>e>=St&&e<=Ct?!0:e<yt||e>bt?!1:mt(pt,e);function Ot(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function kt(e,{ambiguousAsWide:t=!1}={}){return Ot(e),Et(e)||Dt(e)||t&&Tt(e)?2:1}const At=new Intl.Segmenter,jt=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Mt=RegExp(`\\p{Spacing_Mark}`,`v`),Nt=RegExp(`^\\p{RGI_Emoji}$`,`v`),Pt=/^[\d#*]\u20E3$/,Ft=/\p{Extended_Pictographic}/gu;function It(e){if(e.length>50)return!1;if(Pt.test(e))return!0;if(e.includes(`‍`)){let t=e.match(Ft);return t!==null&&t.length>=2}return!1}function Lt(e){let t=e.search(jt);return t===-1?void 0:e.slice(t)}function Rt(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function k(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function zt(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Bt(e){return Rt(e)||k(e)||zt(e)}function Vt(e,t){let n=[];for(let t of e)jt.test(t)&&n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!Bt(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=kt(n[i],t);return r}if(Rt(i)&&k(n[e+1])){r+=2,e+=zt(n[e+2])?2:1;continue}r+=kt(i,t)}return r}function Ht(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Mt.test(i)||i>=`＀`&&i<=`￯`)&&(n+=kt(i.codePointAt(0),t))}return n}function Ut(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=ct(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of At.segment(i)){let t=Lt(e);if(t===void 0)continue;if(Nt.test(e)||It(e)){a+=2;continue}let n=Vt(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=kt(r,o),a+=Ht(t,o)}return a}var Wt=class{entries=new Map;get size(){return this.entries.size}get(e,t){let n=this.entries.get(e);if(n!==void 0)return n;let r=t(e);return this.entries.size>=4096&&this.entries.clear(),this.entries.set(e,r),r}};const Gt=new Wt;function A(e){return e.length===0?0:e.length<=64?Gt.get(e,Ut):Ut(e)}function Kt(e){return e}function qt(e){return e}function Jt(e){return e>0?Math.floor(e):0}function Yt(e,t){if(t<=0)return[``,e];if(t>=A(e))return[e,``];let n=rn(e,t);return[n+` `.repeat(t-A(n)),e.slice(n.length)]}function Xt(e,t){let n=rn(e,t),r=t-A(n),[i=``]=r>0?nn(e,qt(n.length)):[];return[n+` `.repeat(r),` `.repeat(A(i)-r)+e.slice(n.length+i.length)]}function Zt(e,t){if(t<=0||e.length===0)return[e];let n=[],r=qt(0);for(;r<e.length;){let i=sn(e,r,t);n.push(e.slice(r,i)),r=i}return n}let Qt,$t;function en(e){return $t?.text!==e&&(Qt??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),$t={text:e,segments:Qt.segment(e)}),$t.segments}function tn(e){return Array.from(nn(e,qt(0)))}function*nn(e,t){let n=en(e);for(let r=t,i=n.containing(r);i;i=n.containing(r)){let t=i.index+i.segment.length;yield e.slice(r,t),r=qt(t)}}function rn(e,t){return e.slice(0,j(nn(e,qt(0)),t))}function an(e,t){return e.slice(e.length-j(tn(e).reverse(),t))}function j(e,t){let n=0,r=0;for(let i of e){let e=A(i);if(n+e>t)break;n+=e,r+=i.length}return r}function on(e,t,n){return qt(t+j(nn(e,t),n))}function sn(e,t,n){let[r=``]=nn(e,t);return qt(Math.max(on(e,t,n),t+r.length))}function cn(e){if(!Number.isInteger(e)||e<1)throw RangeError(`tabSize must be a positive integer, got ${e}`);return e}function ln(e,t){let[n,...r]=e.split(` `),i=[],a=[],o=(e,t)=>{let n=e.lastIndexOf(`
16
- `);return(n<0?t:0)+A(e.slice(n+1))},s=n,c=n,l=0,u=n.length,d=0;for(let e of r){l=o(c,l);let n=t-l%t;d+=n-1,i.push(u),a.push(d),s+=` `.repeat(n)+e,l+=n,c=e,u+=1+e.length}return{text:s,offsetOf:e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return e+(t===0?0:a[t-1])}}}var un=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t;let r=n.get(`background`),i=r===void 0?fn(e):dn(e,r);this.vars=new Map([...n].map(([e,t])=>[e,i(t,e)]))}get(e){return this.vars.get(e)}};function dn(e,t){if(t.alpha!==1)throw RangeError(`palette ${JSON.stringify(e)}: background is the surface its translucent colours are drawn on, so it must be opaque; got ${t.hex}`);return e=>e.alpha===0?e:e.compositeOver(t)}function fn(e){return(t,n)=>{if(t.alpha!==1&&t.alpha!==0)throw RangeError(`palette ${JSON.stringify(e)}: ${n} is translucent (${t.hex}) but the palette has no "background" to draw it on`);return t}}function pn(e){return e.toString(16).padStart(2,`0`)}function mn(e){return Number.isInteger(e)&&e>=0&&e<=255}function hn(e,t){if(!mn(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var M=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,hn(`red`,e),hn(`green`,t),hn(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+pn(this.red)+pn(this.green)+pn(this.blue);return this.alpha===1?e:e+pn(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}};const gn=new M(0,0,0);function N(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function P(e,t){return _n(N(e),N(t))}function _n(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function vn(e,t){let n=e.red-t.red,r=e.green-t.green,i=e.blue-t.blue;return n*n+r*r+i*i}var yn=class{colors;firstIndex;matchMemo=new Wt;readableMemo=new Wt;constructor(e,t=0){this.colors=e,this.firstIndex=t}get(e){return this.colors[e-this.firstIndex]}luminanceCache;luminances(){return this.luminanceCache??=this.colors.map(N),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`;return this.matchMemo.get(t,()=>this.nearest(e))}nearest(e){let t=0,n=1/0;for(let r=0;r<this.colors.length;r++){let i=this.colors[r],a=vn(i,e);a<n&&(n=a,t=r)}return this.firstIndex+t}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`;return this.readableMemo.get(r,()=>this.nearestReadable(e,t,n))}nearestReadable(e,t,n){let r=N(t),i=0,a=!1,o=-1/0;for(let t=0;t<this.colors.length;t++){let s=this.colors[t],c=this.luminances()[t],l=_n(c,r),u=l>=n,d=u?-vn(s,e):l;(u&&!a||u===a&&d>o)&&(i=t,a=u,o=d)}return this.firstIndex+i}matchWhere(e,t){let n=this.colors.map(t=>vn(t,e)),r=[...n.keys()].sort((e,t)=>n[e]-n[t]).find(e=>t(this.colors[e],this.firstIndex+e));return r===void 0?void 0:this.firstIndex+r}},F;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(F||={});function bn(e){switch(e){case F.DEFAULT:return 0;case F.STANDARD:case F.WINDOWS:return 1;case F.EIGHT_BIT:return 2;case F.TRUECOLOR:return 3}}const xn={truecolor:F.TRUECOLOR,256:F.EIGHT_BIT,ansi:F.STANDARD,none:null},Sn=new Map([[`0`,null],[`false`,null],[`1`,F.STANDARD],[`true`,F.STANDARD],[`2`,F.EIGHT_BIT],[`3`,F.TRUECOLOR],[`iTerm.app`,F.TRUECOLOR],[`Apple_Terminal`,F.EIGHT_BIT],[`vscode`,F.TRUECOLOR],[`Tabby`,F.TRUECOLOR],[`xterm-kitty`,F.TRUECOLOR],[`xterm-ghostty`,F.TRUECOLOR],[`wezterm`,F.TRUECOLOR],[`alacritty`,F.TRUECOLOR],[`foot`,F.TRUECOLOR],[`contour`,F.TRUECOLOR]]);function I(e={}){let t=wn(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=Cn(wn(e));return n===void 0?En(e):n}function Cn(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=Sn.get(t);return n===void 0?F.STANDARD:n}function wn(e){return e.env??(typeof process<`u`?process.env:{})}function Tn(e){let t=e.TERM;return t===`dumb`||t===`unknown`}function En(e){let t=wn(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1))||Tn(t))return null;let n=t.TERM??``,r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return F.TRUECOLOR;let i=Sn.get(n);if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=Sn.get(a);if(e!==void 0)return e}return/-256(color)?$/i.test(n)?F.EIGHT_BIT:/-truecolor$/i.test(n)?F.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),F.STANDARD)}function Dn(e,t){return e===`auto`?{colorSystem:I(t),hyperlinks:(Cn(wn(t??{}))??null)!==null||En(t??{})!==null}:{colorSystem:typeof e==`string`?On(e):e,hyperlinks:!0}}function On(e,t){if(e===`auto`)return I(t);if(Object.hasOwn(xn,e))return xn[e];throw new kn(`Unknown color system name: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var kn=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const An=new Wt;var L=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===F.DEFAULT}get fixedValue(){switch(this.type){case F.TRUECOLOR:return this.value;case F.EIGHT_BIT:return this.number<16?void 0:Xn.get(this.number);case F.DEFAULT:case F.STANDARD:case F.WINDOWS:return}}get isSystemDefined(){return this.type===F.STANDARD||this.type===F.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case F.DEFAULT:return[e?`39`:`49`];case F.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case F.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case F.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case F.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==F.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===F.DEFAULT||this.type===e||bn(this.type)<bn(e))return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case F.TRUECOLOR:return this.value;case F.EIGHT_BIT:return this.number<16?tr(e,this.type).ansiColors.get(this.number):Xn.get(this.number);case F.STANDARD:case F.WINDOWS:return tr(e,this.type).ansiColors.get(this.number);case F.DEFAULT:{let n=tr(e,this.type);return t?n.foregroundColor:n.backgroundColor}}}static default(){return new e(`default`,F.DEFAULT)}static fromAnsi(t){let n=t<16?F.STANDARD:F.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,F.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new M(t,n,r))}static blend(t,n,r){for(let e of[t,n]){if(e.isDefault)throw new kn(`A blend cannot mix "default", which is no colour`);if(e.value!==void 0&&e.value.alpha<1)throw new kn(`A blend's ends are opaque; "${e.name}" is translucent`)}if(!(r>=0&&r<=1))throw new kn(`A blend's fraction is in [0, 1]; got ${r}`);let i=t.fixedValue,a=n.fixedValue;return i!==void 0&&a!==void 0?e.fromRgba(Wn(i,a,r)):r===0?t:r===1?n:t.type===n.type&&(t.number===void 0?t.name===n.name:t.number===n.number)?t:new Pn(t,n,r)}static matchOn(t,n,r,i){if(t.alpha<1)throw RangeError(`matchOn rounds an opaque colour; got alpha ${t.alpha}`);if(n===F.TRUECOLOR)return e.fromRgba(t);if(n===F.DEFAULT)return e.default();let a=r.ansiColors.match(t);return[[e.default(),i?r.foregroundColor:r.backgroundColor],[new e(`color(${a})`,n===F.WINDOWS?n:F.STANDARD,a),r.ansiColors.get(a)],...n===F.EIGHT_BIT?[jn(t)]:[]].reduce((e,n)=>vn(n[1],t)<vn(e[1],t)?n:e)[0]}static matchMove(t,n,r,i,a){let o=e.matchOn(n,r,i,a);return vn(t,n)<=vn(o.getTruecolor(i,a),n)?void 0:o}static parse(e){return An.get(e.toLowerCase().trim(),Rn)}performDowngrade(t){let n=this.getTruecolor(tr(void 0,t));switch(t){case F.EIGHT_BIT:return e.fromAnsi(nr(t).match(n));case F.STANDARD:case F.WINDOWS:{let r=this.number!==void 0&&this.number<16?this.number:nr(t).match(n);return new e(`color(${r})`,t,r)}case F.TRUECOLOR:return this;case F.DEFAULT:return e.default()}}};function jn(e){let t=Zn.match(e);return[L.fromAnsi(t),Zn.get(t)]}function Mn(e,t,n,r){return Wn(e.getTruecolor(r),t.getTruecolor(r),n)}function Nn(e){return e.fixedValue?.hex??(e.number===void 0?e.name:`color(${e.number})`)}var Pn=class extends L{from;to;t;constructor(e,t,n){super(`blend(${Nn(e)},${Nn(t)},${n})`,F.TRUECOLOR,void 0,Mn(e,t,n)),this.from=e,this.to=t,this.t=n}get fixedValue(){}getTruecolor(e){return Mn(this.from,this.to,this.t,e)}};const Fn=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,R=/^color\((\d+)\)$/,In=/^blend\((.*)\)$/,Ln=/^\s*(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?\s*$/;function Rn(e){if(e===`default`||e===``)return L.default();let t=ir[e];if(t!==void 0)return new L(e,t<16?F.STANDARD:F.EIGHT_BIT,t);if(e.startsWith(`#`))return new L(e,F.TRUECOLOR,void 0,Un(e));let n=Fn.exec(e);if(n){let t=Bn(e,n[1],`red`),r=Bn(e,n[2],`green`),i=Bn(e,n[3],`blue`);return new L(e,F.TRUECOLOR,void 0,new M(t,r,i))}let r=R.exec(e);if(r){let t=Bn(e,r[1],`number`);return new L(e,t<16?F.STANDARD:F.EIGHT_BIT,t)}let i=In.exec(e);if(i){let t=zn(i[1]),n=t[2]??``;if(t.length!==3||!Ln.test(n))throw new kn(`ColorSpec "${e}": a blend is blend(<color>,<color>,<fraction>)`);return L.blend(L.parse(t[0]),L.parse(t[1]),Number(n))}throw new kn(`Failed to parse color: "${e}"`)}function zn(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`,`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function Bn(e,t,n){let r=parseInt(t,10);if(!mn(r))throw new kn(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}const Vn=/^[0-9a-fA-F]+$/,Hn={6:`RRGGBB`,8:`RRGGBBAA`};function z(e,t,n,r){if(!r.includes(n.length)||!Vn.test(n)){let n=r.map(e=>t+Hn[e]).join(` or `);throw new kn(`Invalid hex colour ${JSON.stringify(e)} (expected ${n})`)}let i=e=>parseInt(n.slice(e,e+2),16);return new M(i(0),i(2),i(4),n.length===8?i(6)/255:1)}function Un(e){return z(e,`#`,e.startsWith(`#`)?e.slice(1):``,[6,8])}function Wn(e,t,n=.5){return new M(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var Gn=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){if(this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r,n.firstIndex!==0||n.size!==16)throw RangeError(`a TerminalTheme's ansiColors are the sixteen ANSI colours, indices 0–15; got ${n.size} from index ${n.firstIndex}`)}};function Kn(){return[new M(0,0,0),new M(128,0,0),new M(0,128,0),new M(128,128,0),new M(0,0,128),new M(128,0,128),new M(0,128,128),new M(192,192,192),new M(128,128,128),new M(255,0,0),new M(0,255,0),new M(255,255,0),new M(0,0,255),new M(255,0,255),new M(0,255,255),new M(255,255,255)]}function qn(){let e=Kn(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new M(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new M(n,n,n))}return e}function Jn(){return[new M(12,12,12),new M(197,15,31),new M(19,161,14),new M(193,156,0),new M(0,55,218),new M(136,23,152),new M(58,150,221),new M(204,204,204),new M(118,118,118),new M(231,72,86),new M(22,198,12),new M(249,241,165),new M(59,120,255),new M(180,0,158),new M(97,214,214),new M(242,242,242)]}const Yn=new yn(Kn()),Xn=new yn(qn()),Zn=new yn(qn().slice(16),16),Qn=new yn(Jn()),$n=new Gn(new M(0,0,0),new M(255,255,255),Yn,new un(`default`,!0,new Map)),er=new Gn(Qn.get(0),Qn.get(7),Qn,new un(`windows`,!0,new Map));function tr(e,t){return e??(t===F.WINDOWS?er:$n)}function nr(e){switch(e){case F.EIGHT_BIT:return Zn;case F.STANDARD:return Yn;case F.WINDOWS:return Qn}}function rr(e){let t=Object.entries(e).filter(([e])=>e.includes(`grey`)).map(([e,t])=>[e.replace(`grey`,`gray`),t]);return{...e,...Object.fromEntries(t)}}const ir=rr({black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255}),ar=[`default`,...Object.keys(ir)];var or;const sr=[`l`,`c`,`h`,`alpha`],cr=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function lr(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function ur(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function dr(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function fr(e){return e<0?0:e>1?1:e}const pr=1e-4,mr=1e-7,hr=(e,t)=>e<mr?0:t,gr=(e,t,n)=>e*(1-n)+t*n,_r=e=>{let t=e%360;return t<0?t+360:t};function vr(e,t,n){return e>=-pr&&e<=1+pr&&t>=-pr&&t<=1+pr&&n>=-pr&&n<=1+pr}var B=class{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(e){let[t,n,r,i]=e.normalized,a=ur(t),o=ur(n),s=ur(r),c=.4122214708*a+.5363325363*o+.0514459929*s,l=.2119034982*a+.6806995451*o+.1073969566*s,u=.0883024619*a+.2817188376*o+.6299787005*s,d=Math.cbrt(c),f=Math.cbrt(l),p=Math.cbrt(u),m=.2104542553*d+.793617785*f-.0040720468*p,h=1.9779984951*d-2.428592205*f+.4505937099*p,g=.0259040371*d+.7827717662*f-.808675766*p,_=Math.sqrt(h*h+g*g),v=_r(180/Math.PI*Math.atan2(g,h));return new or(m,_,hr(_,v),i)}toRgba(){let e=fr(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new M(Math.round(fr(dr(r))*255),Math.round(fr(dr(i))*255),Math.round(fr(dr(a))*255),this.alpha)}applyKey(e){if(lr(e))return this;let t=fr(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=_r(this.h+e.hueShift);return new or(t,n,hr(n,r),this.alpha)}mix(e,t){if(!(t>=0&&t<=1))throw RangeError(`Oklch.mix: t must be in [0, 1]; got ${t}`);return this.#e(e,t,t,t,t)}mixAxes(e,t){for(let e of sr){let n=t[e];if(!(n>=0&&n<=1))throw RangeError(`Oklch.mixAxes: ${e} weight must be in [0, 1]; got ${n}`)}return this.#e(e,t.l,t.c,t.h,t.alpha)}#e(e,t,n,r,i){let a=this.c>=mr,o=e.c>=mr,s=_r(a?this.h:o?e.h:0),c=_r(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=gr(this.c,e.c,n);return new or(gr(this.l,e.l,t),f,hr(f,_r(gr(u,d,r))),gr(this.alpha,e.alpha,i))}deltaE(e){let t=this.h*Math.PI/180,n=e.h*Math.PI/180;return Math.hypot(this.l-e.l,this.c*Math.cos(t)-e.c*Math.cos(n),this.c*Math.sin(t)-e.c*Math.sin(n))}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(vr(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);vr(r.r,r.g,r.b)?i=t:a=t}return i}};or=B;var yr=class extends Error{ref;constructor(e,t,n){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`,n),this.ref=e,this.name=`ColorRefError`}};function br(e,t){let n=t.trim();if(n.startsWith(`#`))try{return Un(n)}catch(e){throw e instanceof kn?new yr(t,e.message,{cause:e}):e}let r=e.get(n);if(r===void 0)throw new yr(t,`no such variable in palette ${JSON.stringify(e.name)}`+xr(e,n));return r}function xr(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Sr(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Cr(e){let t=Math.round(e);return t<0?0:t>255?255:t}function wr(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Cr(r*255);return new M(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new M(Cr((s+u)*255),Cr((c+u)*255),Cr((l+u)*255))}function Tr(e){return e<0?0:e>1?1:e}function Er(e,t){let n=Sr(e);return n.l=Tr(n.l-.1*t),wr(n)}function Dr(e,t,n){return Wn(t,e,Tr(n))}function Or(e,t=gn){return N(Nr(e,t))>.179?new M(0,0,0):new M(255,255,255)}function kr(e,t,n=4.5,r=F.TRUECOLOR,i=gn,a){let o=Nr(t,i),s=Fr(e,o,n,Or(o)),c=Pr(r,a);if(c===void 0)return s;let l=Mr(c,o);return P(Mr(c,s),l)>=n?s:c.written.get(c.shown.matchReadable(e.compositeOver(o),l,n))}function Ar(e,t,n,r=gn,i){let a=Nr(e,r),o=Pr(t,i),s=e=>Mr(o,Nr(e,r));if(n(s(a),s))return a;let c=o?.shown.matchWhere(a,e=>n(e,s));return c===void 0?void 0:o.written.get(c)}function jr(e,t,n=gn,r){return Mr(Pr(t,r),Nr(e,n))}function Mr(e,t){return e===void 0?t:L.fromRgba(t).downgrade(e.depth).getTruecolor(e.terminal)}function Nr(e,t){if(t.alpha!==1)throw RangeError(`a contrast substrate is the opaque surface under a translucent background; got ${t.hex}`);return e.compositeOver(t)}function Pr(e,t){let n=tr(t,e);switch(e){case F.EIGHT_BIT:return{depth:e,terminal:n,written:nr(e),shown:nr(e)};case F.STANDARD:case F.WINDOWS:return{depth:e,terminal:n,written:nr(e),shown:n.ansiColors};case F.TRUECOLOR:case F.DEFAULT:return}}function Fr(e,t,n,r){let i=e.compositeOver(t);if(P(i,t)>=n)return i;let a=B.fromRgba(i),o=+(N(r)>.179);if(P(new B(o,a.c,a.h,a.alpha).toRgba(),t)<n)return Or(t);let s=a.l,c=o;for(let e=0;e<20;e++){let e=(s+c)/2;P(new B(e,a.c,a.h,a.alpha).toRgba(),t)>=n?c=e:s=e}return new B(c,a.c,a.h,a.alpha).toRgba()}const Ir=.7,Lr=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function Rr(e,t,n){let r=dn(e,n.background),i=t=>{let i=n[t];if(i.alpha===0)throw RangeError(`palette ${JSON.stringify(e)}: ${t} is fully transparent (${i.hex}), so there is no colour to derive the palette from`);return r(i)},a={primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),background:n.background,foreground:i(`foreground`)},o=new Map;o.set(`background`,a.background),o.set(`foreground`,a.foreground);for(let e of Lr)o.set(e,a[e]);o.set(`foreground-muted`,Wn(a.foreground,a.background,Ir)),o.set(`background-muted`,Wn(a.background,a.foreground,Ir)),o.set(`surface`,Wn(a.background,a.foreground,.05));let s=Or(a.background);for(let e of Lr){let t=a[e],n=Wn(t,a.background,Ir);o.set(`${e}-muted`,n),o.set(`text-${e}`,zr(Dr(t,s,.66),n,a.background)),o.set(`on-${e}`,Or(t))}return new un(e,t,o)}function zr(e,t,n){return Fr(e,t,4.5,Or(n))}const Br={name:`atom-one-dark`,dark:!0,ansi:{black:`#282C34`,red:`#E06C75`,green:`#98C379`,yellow:`#E5C07B`,blue:`#61AFEF`,magenta:`#C678DD`,cyan:`#56B6C2`,white:`#DCDFE4`,brightBlack:`#5D677A`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#E5C07B`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#DCDFE4`},vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},Vr={name:`atom-one-light`,dark:!1,ansi:{black:`#383A42`,red:`#E45649`,green:`#50A14F`,yellow:`#C18401`,blue:`#0184BC`,magenta:`#A626A4`,cyan:`#0997B3`,white:`#BABABA`,brightBlack:`#4F525E`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#D8B36E`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#FFFFFF`},vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},Hr={name:`catppuccin-frappe`,dark:!0,ansi:{black:`#51576D`,red:`#E78284`,green:`#A6D189`,yellow:`#E5C890`,blue:`#8CAAEE`,magenta:`#F4B8E4`,cyan:`#81C8BE`,white:`#B5BFE2`,brightBlack:`#626880`,brightRed:`#EDA0A2`,brightGreen:`#B9DBA2`,brightYellow:`#ECD7AE`,brightBlue:`#ADC2F3`,brightMagenta:`#F38ED8`,brightCyan:`#98D2CA`,brightWhite:`#A5ADCE`},vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},Ur={name:`catppuccin-latte`,dark:!1,ansi:{black:`#BCC0CC`,red:`#D20F39`,green:`#40A02B`,yellow:`#DF8E1D`,blue:`#1E66F5`,magenta:`#EA76CB`,cyan:`#179299`,white:`#5C5F77`,brightBlack:`#ACB0BE`,brightRed:`#E7103F`,brightGreen:`#46B02F`,brightYellow:`#E49931`,brightBlue:`#3878F6`,brightMagenta:`#EF95D7`,brightCyan:`#19A1A8`,brightWhite:`#6C6F85`},vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},Wr={name:`catppuccin-macchiato`,dark:!0,ansi:{black:`#494D64`,red:`#ED8796`,green:`#A6DA95`,yellow:`#EED49F`,blue:`#8AADF4`,magenta:`#F5BDE6`,cyan:`#8BD5CA`,white:`#B8C0E0`,brightBlack:`#5B6078`,brightRed:`#F2A7B2`,brightGreen:`#BDE3B0`,brightYellow:`#F4E3C1`,brightBlue:`#ADC5F7`,brightMagenta:`#F493DA`,brightCyan:`#A5DED6`,brightWhite:`#A5ADCB`},vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},Gr={name:`catppuccin-mocha`,dark:!0,ansi:{black:`#45475A`,red:`#F38BA8`,green:`#A6E3A1`,yellow:`#F9E2AF`,blue:`#89B4FA`,magenta:`#F5C2E7`,cyan:`#94E2D5`,white:`#BAC2DE`,brightBlack:`#585B70`,brightRed:`#F7AEC2`,brightGreen:`#C2ECBF`,brightYellow:`#FCD682`,brightBlue:`#AECCFC`,brightMagenta:`#F398DA`,brightCyan:`#B1EAE1`,brightWhite:`#A6ADC8`},vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},Kr=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],qr=Object.fromEntries(Kr.map((e,t)=>[e,Yn.get(t).hex])),Jr={black:`#1A1A1A`,red:`#F4005F`,green:`#98E024`,yellow:`#FD971F`,blue:`#9D65FF`,magenta:`#F4005F`,cyan:`#58D1EB`,white:`#C4C5B5`,brightBlack:`#625E4C`,brightRed:`#F4005F`,brightGreen:`#98E024`,brightYellow:`#E0D561`,brightBlue:`#9D65FF`,brightMagenta:`#F4005F`,brightCyan:`#58D1EB`,brightWhite:`#F6F6EF`},Yr={"atom-one-dark":Br,"atom-one-light":Vr,"catppuccin-frappe":Hr,"catppuccin-latte":Ur,"catppuccin-macchiato":Wr,"catppuccin-mocha":Gr,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:Jr,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,ansi:qr,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,ansi:{black:`#21222C`,red:`#FF5555`,green:`#50FA7B`,yellow:`#F1FA8C`,blue:`#BD93F9`,magenta:`#FF79C6`,cyan:`#8BE9FD`,white:`#F8F8F2`,brightBlack:`#6272A4`,brightRed:`#FF6E6E`,brightGreen:`#69FF94`,brightYellow:`#FFFFA5`,brightBlue:`#D6ACFF`,brightMagenta:`#FF92DF`,brightCyan:`#A4FFFF`,brightWhite:`#FFFFFF`},vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,ansi:{black:`#100F0F`,red:`#D14D41`,green:`#879A39`,yellow:`#D0A215`,blue:`#4385BE`,magenta:`#CE5D97`,cyan:`#3AA99F`,white:`#878580`,brightBlack:`#575653`,brightRed:`#AF3029`,brightGreen:`#66800B`,brightYellow:`#AD8301`,brightBlue:`#205EA6`,brightMagenta:`#A02F6F`,brightCyan:`#24837B`,brightWhite:`#CECDC3`},vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,ansi:{black:`#282828`,red:`#CC241D`,green:`#98971A`,yellow:`#D79921`,blue:`#458588`,magenta:`#B16286`,cyan:`#689D6A`,white:`#A89984`,brightBlack:`#928374`,brightRed:`#FB4934`,brightGreen:`#B8BB26`,brightYellow:`#FABD2F`,brightBlue:`#83A598`,brightMagenta:`#D3869B`,brightCyan:`#8EC07C`,brightWhite:`#EBDBB2`},vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,ansi:{black:`#333333`,red:`#C4265E`,green:`#86B42B`,yellow:`#B3B42B`,blue:`#6A7EC8`,magenta:`#8C6BC8`,cyan:`#56ADBC`,white:`#E3E3DD`,brightBlack:`#666666`,brightRed:`#F92672`,brightGreen:`#A6E22E`,brightYellow:`#E2E22E`,brightBlue:`#819AFF`,brightMagenta:`#AE81FF`,brightCyan:`#66D9EF`,brightWhite:`#F8F8F2`},vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,ansi:{black:`#3B4252`,red:`#BF616A`,green:`#A3BE8C`,yellow:`#EBCB8B`,blue:`#81A1C1`,magenta:`#B48EAD`,cyan:`#88C0D0`,white:`#E5E9F0`,brightBlack:`#596377`,brightRed:`#BF616A`,brightGreen:`#A3BE8C`,brightYellow:`#EBCB8B`,brightBlue:`#81A1C1`,brightMagenta:`#B48EAD`,brightCyan:`#8FBCBB`,brightWhite:`#ECEFF4`},vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,ansi:{black:`#26233A`,red:`#EB6F92`,green:`#31748F`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EBBCBA`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#31748F`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EBBCBA`,brightWhite:`#E0DEF4`},vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,ansi:{black:`#F2E9E1`,red:`#B4637A`,green:`#286983`,yellow:`#EA9D34`,blue:`#56949F`,magenta:`#907AA9`,cyan:`#D7827E`,white:`#575279`,brightBlack:`#9893A5`,brightRed:`#B4637A`,brightGreen:`#286983`,brightYellow:`#EA9D34`,brightBlue:`#56949F`,brightMagenta:`#907AA9`,brightCyan:`#D7827E`,brightWhite:`#575279`},vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,ansi:{black:`#393552`,red:`#EB6F92`,green:`#3E8FB0`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EA9A97`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#3E8FB0`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EA9A97`,brightWhite:`#E0DEF4`},vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#EEE8D5`,brightBlack:`#335E69`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#BBB5A2`,brightBlack:`#002B36`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,ansi:{black:`#4B4E55`,red:`#CC555A`,green:`#98A84B`,yellow:`#D0B344`,blue:`#608AB1`,magenta:`#98729F`,cyan:`#68A0B3`,white:`#C5C8C6`,brightBlack:`#9A9B99`,brightRed:`#FF2627`,brightGreen:`#00823D`,brightYellow:`#D08442`,brightBlue:`#1984E9`,brightMagenta:`#FF2C7A`,brightCyan:`#398280`,brightWhite:`#FDFDC5`},vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,ansi:qr,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,ansi:Jr,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,ansi:{black:`#000000`,red:`#AA3731`,green:`#448C27`,yellow:`#CB9000`,blue:`#325CC0`,magenta:`#7A3E9D`,cyan:`#0083B2`,white:`#F7F7F7`,brightBlack:`#777777`,brightRed:`#F05050`,brightGreen:`#60CB00`,brightYellow:`#FFBC5D`,brightBlue:`#007ACC`,brightMagenta:`#E64CE6`,brightCyan:`#00AACB`,brightWhite:`#F7F7F7`},vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,ansi:{black:`#15161E`,red:`#F7768E`,green:`#9ECE6A`,yellow:`#E0AF68`,blue:`#7AA2F7`,magenta:`#BB9AF7`,cyan:`#7DCFFF`,white:`#A9B1D6`,brightBlack:`#414868`,brightRed:`#F7768E`,brightGreen:`#9ECE6A`,brightYellow:`#E0AF68`,brightBlue:`#7AA2F7`,brightMagenta:`#BB9AF7`,brightCyan:`#7DCFFF`,brightWhite:`#C0CAF5`},vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},Xr=Object.freeze(Object.keys(Yr).sort()),Zr=new Map;function Qr(){return Xr}function $r(e){if(!ei(e))return null;let t=Zr.get(e);if(t!==void 0)return t;let n=ri(Yr[e]);return Zr.set(e,n),n}function ei(e){return Object.hasOwn(Yr,e)}function ti(e){let t=Yr[e],n=ni(t,`background`),r=dn(t.name,n),i=e=>r(ni(t,e));return{name:t.name,dark:t.dark,bg:n,fg:i(`foreground`),primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),ansi:new yn(Kr.map(e=>ai(t.ansi[e],t.name,`ansi.${e}`)))}}function ni(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return ii(n,e.name,t)}function ri(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,ii(r,e.name,`var ${n}`));for(let n of Lr){let r=ni(e,`text-${n}`);t.set(`text-${n}`,zr(r,ni(e,`${n}-muted`),ni(e,`background`)))}return new un(e.name,e.dark,t)}function ii(e,t,n){try{return Un(e)}catch(e){throw e instanceof kn?Error(`Theme ${t}: ${n}: ${e.message}`,{cause:e}):e}}function ai(e,t,n){let r=ii(e,t,n);if(r.alpha!==1)throw Error(`Theme ${t}: ${n} has alpha in ${JSON.stringify(e)} (expected #RRGGBB)`);return r}function oi(e){return new Gn(e.bg,e.fg,e.ansi,Rr(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const si=oi(ti(`default`));oi(ti(`svg-export`)),oi(ti(`monokai`)),oi(ti(`nord`)),oi(ti(`gruvbox`)),oi(ti(`dracula`)),oi(ti(`tokyo-night`)),oi(ti(`flexoki`)),oi(ti(`cyberpunk`)),oi(ti(`catppuccin-mocha`)),oi(ti(`catppuccin-latte`)),oi(ti(`catppuccin-frappe`)),oi(ti(`catppuccin-macchiato`)),oi(ti(`solarized-dark`)),oi(ti(`solarized-light`)),oi(ti(`rose-pine`)),oi(ti(`rose-pine-moon`)),oi(ti(`rose-pine-dawn`)),oi(ti(`atom-one-dark`)),oi(ti(`atom-one-light`)),oi(ti(`textual-dark`)),oi(ti(`textual-light`)),oi(ti(`textual-ansi`));const ci=new Set([`error`,`success`,`warning`]);function li(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function ui(e){return ci.has(li(e))}function di(e,t,n){if(lr(t))return new un(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=ui(n)?r:t;i.set(n,B.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=B.fromRgba(a).l<.5;return new un(n??e.name,o,i)}var fi=class{ease;stops;constructor(e,t){if(this.ease=e,this.stops=t,t.length===0)throw RangeError(`a ColorRamp needs at least one stop`);for(let[e,n]of t.entries()){if(!Number.isFinite(n.at))throw RangeError(`ColorRamp stop ${e} has a non-finite position ${n.at}`);let r=t[e-1];if(r!==void 0&&n.at<r.at)throw RangeError(`ColorRamp stops must be in ascending position order; stop ${e} at ${n.at} follows stop ${e-1} at ${r.at}`)}}at(e){if(!Number.isFinite(e))throw RangeError(`ColorRamp.at needs a finite value, got ${e}`);let t=this.stops,n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;if(n<0)return t[0].color;let r=t[n];if(n===t.length-1)return r.color;let i=t[n+1],a=this.ease((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:B.fromRgba(r.color).mix(B.fromRgba(i.color),a).toRgba()}};function pi(e,t,n,r){for(let[i,a]of[[`x1`,e],[`y1`,t],[`x2`,n],[`y2`,r]])if(!Number.isFinite(a))throw RangeError(`cubicBezier ${i} must be finite, got ${a}`);if(e<0||e>1||n<0||n>1)throw RangeError(`cubicBezier x1 and x2 must lie in [0, 1], got ${e} and ${n}`);let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i,p=1e-9,m=e=>{let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<p)return t;let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;for(t=e;r-n>p;)u(t)<e?n=t:r=t,t=(n+r)/2;return t};return e=>d(m(Math.min(1,Math.max(0,e))))}function mi(e,t=`jump-end`){let n=t===`jump-none`?2:1;if(!Number.isInteger(e)||e<n)throw RangeError(`steps(${e}, "${t}") needs a whole number of steps ≥ ${n}`);let r=t===`jump-start`||t===`start`||t===`jump-both`,i={"jump-start":e,start:e,"jump-end":e,end:e,"jump-both":e+1,"jump-none":e-1}[t],a=+!!r;return t=>Math.min(i,Math.floor(Math.min(1,Math.max(0,t))*e)+a)/i}const hi=e=>e,gi=mi(1,`jump-end`),_i={linear:hi,ease:pi(.25,.1,.25,1),"ease-in":pi(.42,0,1,1),"ease-out":pi(0,0,.58,1),"ease-in-out":pi(.42,0,.58,1),"step-start":mi(1,`jump-start`),"step-end":gi,step:gi,sine:e=>(1-Math.cos(Math.PI*e))/2};function vi(e){if(!Object.hasOwn(_i,e))throw RangeError(`unknown ease ${JSON.stringify(e)}; expected one of `+Object.keys(_i).map(e=>JSON.stringify(e)).join(`, `));return _i[e]}function yi(e,t){if(!Number.isFinite(t)||t<=0)throw RangeError(`${e} must be a positive number of seconds, got ${t}`)}const bi={once(e,t){if(!Number.isFinite(e))throw RangeError(`Phase.once start must be finite, got ${e}`);return yi(`Phase.once duration`,t),n=>Math.min(1,Math.max(0,(n-e)/t))},loop(e){return yi(`Phase.loop period`,e),t=>(t%e+e)%e/e},pingPong(e){yi(`Phase.pingPong period`,e);let t=bi.loop(e);return e=>1-Math.abs(2*t(e)-1)}};function xi(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&xi(e.inner,t)}}function Si(e,t){for(let n=e;n;n=n.inner)if(n.owner===t)return!0;return!1}const Ci=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],wi={bold:1,dim:2,italic:3,underline:4,blink:5,blink2:6,reverse:7,conceal:8,strike:9,underline2:21,frame:51,encircle:52,overline:53},Ti={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Ei=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Di=new Wt;var V=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=Ri(e.color),this.bgcolor=zi(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta,this.anchor=e.anchor}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0&&this.anchor===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}with(t){return new e({...this,...t})}get withoutColor(){return this.with({color:void 0,bgcolor:void 0})}withLink(e){return this.with({link:e})}clearMetaAndLinks(){return this.with({link:void 0,meta:void 0})}withAnchor(e){return this.with({anchor:e})}shiftedBy(e){return this.anchor?this.withAnchor(xi(this.anchor,e)):this}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta,anchor:t.anchor??this.anchor})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link&&Hi(this.anchor,e.anchor)}drawnColors(e){let t=gn,n=this.bgcolor?.flattenAlpha(t),r=n?.getTruecolor(void 0,!1)??t,i=this.color?.flattenAlpha(r),a=t=>e===void 0?t:t.downgrade(e);return{color:i===void 0?void 0:a(i),bgcolor:n===void 0?void 0:a(n)}}toSgrCodes(e){if(this.isNull)return``;let t=this.drawnColors(e);return[...Ci.filter(e=>this[e]===!0).map(e=>`${wi[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of Ci)this[t]===!1&&e.push(`not ${t}`);for(let t of Ci)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return Oi}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=Oi;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);return n===``||n===`none`?Oi:Di.get(n,Li)}};const Oi=new V,ki=/^[a-z][a-z0-9._-]*$/;function Ai(e,t){return e instanceof V?e.add(t):e===``?t:typeof e==`string`?{under:e,over:t}:{under:e.under,over:e.over.add(t)}}var ji=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(Bi))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!ki.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,V.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof V?e:typeof e==`string`?this.styles.get(e)??V.parse(e):this.resolve(e.under).add(e.over)}has(e){return this.styles.has(e)}};const Mi=new Set(Ci),Ni=[`not`,`on`,`link`,...Ci,...ar];function Pi(e,t){let n=[],r=Array.from({length:t.length+1},(e,t)=>t);for(let i=1;i<=e.length;i++){let a=[i];for(let o=1;o<=t.length;o++){let s=i>1&&o>1&&e[i-1]===t[o-2]&&e[i-2]===t[o-1];a[o]=Math.min(r[o]+1,a[o-1]+1,r[o-1]+Number(e[i-1]!==t[o-1]),s?n[o-2]+1:1/0)}[n,r]=[r,a]}return r[t.length]}function Fi(e,t){let n=e.toLowerCase(),r=Math.max(1,Math.floor(n.length/3)),i=t.filter(e=>Math.abs(e.length-n.length)<=r).map(e=>({name:e,distance:Pi(n,e)})),a=Math.min(r,...i.map(e=>e.distance)),o=i.filter(e=>e.distance===a).map(e=>`"${e.name}"`).sort();return o.length===0?``:` (did you mean ${o.join(` or `)}?)`}function Ii(e,t,n){try{return L.parse(e)}catch(r){throw new Ei(`${t} "${e}"${Fi(e,n)}: ${String(r)}`,{cause:r})}}function Li(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new Ei(`Expected attribute after "not" in style definition`);let i=Ti[e]??e;if(!Mi.has(i))throw new Ei(`Invalid attribute: "${e}"${Fi(e,Ci)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Ei(`Expected color after "on" in style definition`);n.bgcolor=Ii(e,`Invalid background color`,ar),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Ti[e]??e;if(Mi.has(i)){n[i]=!0,r++;continue}n.color=Ii(e,`Invalid style definition`,Ni),r++}return new V(n)}function Ri(e){if(e!==void 0)return e instanceof L?e:L.parse(e)}function zi(e){let t=Ri(e);return t?.value?.alpha===0?void 0:t}const Bi={none:Oi,reset:new V({color:L.default(),bgcolor:L.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new V({bold:!0}),dim:new V({dim:!0}),italic:new V({italic:!0}),underline:new V({underline:!0}),blink:new V({blink:!0}),blink2:new V({blink2:!0}),reverse:new V({reverse:!0}),conceal:new V({conceal:!0}),strike:new V({strike:!0}),underline2:new V({underline2:!0}),frame:new V({frame:!0}),encircle:new V({encircle:!0}),overline:new V({overline:!0}),"table.header":new V({bold:!0}),"table.footer":new V({bold:!0}),"table.cell":Oi,"table.title":new V({italic:!0}),"table.caption":new V({italic:!0,dim:!0}),"repr.ellipsis":V.parse(`yellow`),"repr.indent":V.parse(`dim green`),"repr.error":V.parse(`bold red`),"repr.str":V.parse(`not bold not italic green`),"repr.brace":V.parse(`bold`),"repr.comma":V.parse(`bold`),"repr.ipv4":V.parse(`bold bright_green`),"repr.ipv6":V.parse(`bold bright_green`),"repr.eui48":V.parse(`bold bright_green`),"repr.eui64":V.parse(`bold bright_green`),"repr.tag_start":V.parse(`bold`),"repr.tag_name":V.parse(`bold bright_magenta`),"repr.tag_contents":V.parse(`default`),"repr.tag_end":V.parse(`bold`),"repr.attrib_name":V.parse(`not italic yellow`),"repr.attrib_equal":V.parse(`bold`),"repr.attrib_value":V.parse(`not italic magenta`),"repr.number":V.parse(`bold not italic cyan`),"repr.number_complex":V.parse(`bold not italic cyan`),"repr.bool_true":V.parse(`italic bright_green`),"repr.bool_false":V.parse(`italic bright_red`),"repr.none":V.parse(`italic magenta`),"repr.url":V.parse(`not bold not italic underline bright_blue`),"repr.uuid":V.parse(`not bold bright_yellow`),"repr.call":V.parse(`bold magenta`),"repr.path":V.parse(`magenta`),"repr.filename":V.parse(`bright_magenta`),"log.time":V.parse(`cyan dim`),"log.message":Oi,"log.path":V.parse(`dim`),"log.line_no":V.parse(`cyan`),"log.level":Oi,"rule.line":V.parse(`bright_green`),"rule.text":Oi,"strip.separator":V.parse(`bright_black`),"strip.rail":V.parse(`bright_black`),"json.brace":V.parse(`bold`),"json.bool_true":V.parse(`italic bright_green`),"json.bool_false":V.parse(`italic bright_red`),"json.key":V.parse(`bold blue`),"json.null":V.parse(`italic magenta`),"json.number":V.parse(`bold not italic cyan`),"json.str":V.parse(`not bold not italic green`),"syntax.keyword":V.parse(`bold magenta`),"syntax.constant":V.parse(`italic bright_magenta`),"syntax.string":V.parse(`green`),"syntax.number":V.parse(`cyan`),"syntax.comment":V.parse(`dim italic`),"syntax.line_number":V.parse(`dim`),"syntax.line_number.highlight":V.parse(`bold grey93 on grey27`),"markdown.h1":V.parse(`bold underline`),"markdown.h2":V.parse(`bold`),"markdown.h3":V.parse(`bold dim`),"markdown.h4":V.parse(`bold dim italic`),"markdown.code":V.parse(`bold dark_turquoise on grey11`),"markdown.hr":V.parse(`yellow`),"markdown.link":V.parse(`bright_blue`),"markdown.link_url":V.parse(`blue`),"progress.description":Oi,"progress.percentage":V.parse(`magenta`),"progress.remaining":V.parse(`cyan`),"progress.elapsed":V.parse(`yellow`),"progress.spinner":V.parse(`green`),"progress.download":V.parse(`green`),"progress.filesize":V.parse(`green`),"progress.filesize.total":V.parse(`green`),"progress.data.speed":V.parse(`red`),"bar.back":V.parse(`grey23`),"bar.complete":V.parse(`rgb(249,38,114)`),"bar.finished":V.parse(`rgb(114,156,31)`),"bar.pulse":V.parse(`rgb(249,38,114)`),"scrollbar.thumb":Oi,"scrollbar.track":V.parse(`grey37`),tree:Oi,"tree.guide":Oi,"status.spinner":V.parse(`green`),"status.message":Oi,prompt:Oi,"prompt.choices":V.parse(`bold magenta`),"prompt.default":V.parse(`bold cyan`),"prompt.invalid":V.parse(`red`),"prompt.invalid.choice":V.parse(`red`),"inspect.attr":V.parse(`yellow italic`),"inspect.attr.dunder":V.parse(`yellow italic dim`),"inspect.callable":V.parse(`bold magenta`),"inspect.error":V.parse(`bold red`),"inspect.help":V.parse(`cyan`),"inspect.doc":V.parse(`dim`),"inspect.value.border":V.parse(`green`),"traceback.border":V.parse(`red`),"traceback.text":V.parse(`red`),"traceback.title":V.parse(`bold red`),"traceback.exc_type":V.parse(`bold bright_red`),"traceback.exc_value":Oi,"traceback.offset":V.parse(`bold bright_red`),"scope.border":V.parse(`blue`),"scope.key":V.parse(`italic`),"scope.key.special":V.parse(`dim italic`),pretty:Oi,"iso8601.date":V.parse(`blue`),"iso8601.time":V.parse(`magenta`),"iso8601.timezone":V.parse(`yellow`),"iso8601.year":Oi,"iso8601.month":Oi,"iso8601.day":Oi,"iso8601.week":Oi,"iso8601.hour":Oi,"iso8601.minute":Oi,"iso8601.second":Oi,"iso8601.frac":Oi,"iso8601.ms":Oi,"iso8601.hyphen":Oi},Vi=new ji;function Hi(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&Hi(e.inner,t.inner)}var Ui;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(Ui||={});var H=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:A(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=Xt(this.text,t);return[new e(n,this.style),new e(r,this.style?.shiftedBy(t))]}static _line;static line(){return e._line??=new e(`
17
- `)}static anchorLines(t,n,r=0){return t.map((t,i)=>{let a=r+i,o=0;return t.map(t=>{if(t.isControl)return t;let r=t.style??V.null(),i=new e(t.text,r.withAnchor({owner:n,row:a,col:o,inner:r.anchor}));return o+=t.cellLength,i})})}static anchorAt(e,t,n){if(!Number.isInteger(t)||t<0)return;let r=0;for(let i of e[n]??[]){let e=r+i.cellLength;if(t<e){let e=i.style?.anchor;return e&&xi(e,t-r)}r=e}}static*applyStyle(t,n,r){if(!n&&!r){yield*t;return}for(let i of t){if(i.isControl){yield i;continue}let t=i.style;n&&(t=n.add(t)),r&&(t=t?t.add(r):r),yield new e(i.text,t,i.control)}}static*filterControl(e,t){for(let n of e)n.isControl===t&&(yield n)}static splitLines(t){let n=[],r=[];for(let i of t){if(i.isControl){r.push(i);continue}let t=i.text;if(!t.includes(`
18
- `)){r.push(i);continue}let a=t.split(`
19
- `);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(Kt(s));o.push(t),s=0;break}}return o}static*cropLines(t,n){let r=Math.max(0,n),i=0;for(let n of t){if(n.isControl){yield n;continue}let t=n.text.split(`
20
- `);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=Yt(t[e],Kt(r-i));i+=A(n),t[e]=n}let a=t.join(`
21
- `);yield a===n.text?n:new e(a,n.style)}}static splitAndCropLines(t,n){return e.splitLines(t).map(t=>e.adjustLineLength(t,n))}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}Wi(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)t.push(a),i+=a.cellLength,r++,a=e[r];if(a&&!a.isControl&&i<o){let e=Kt(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}};function Wi(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const Gi=e=>/^[\x00-\x7F]*$/.test(e);function Ki(e,t,n,r=String){return e.asciiOnly===!0&&!Gi(r(t))?n:t}function qi(e,t){return(e.theme??Vi).resolve(t)}function Ji(e){return{...e,maxWidth:Jt(e.maxWidth)}}function Yi(e){return{...e,onDraw:void 0}}function Xi(e,t){let n=Ji(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(Yi(n)).maximum;if(!Number.isFinite(r))throw RangeError(`maxWidth is unbounded and this renderable has no natural width to fall back on: its content does not implement measure(), or something inside it asked for an unbounded width of its own. Render it at a finite width, or give the content a measure() that reports a finite maximum.`);return{...n,maxWidth:Jt(r)}}function Zi(e){return typeof e==`object`&&!!e&&`measure`in e&&typeof e.measure==`function`}var Qi=class e{minimum;maximum;constructor(e,t){this.minimum=e,this.maximum=t}get span(){return this.maximum-this.minimum}normalize(){let t=e=>Number.isNaN(e)?0:e;return new e(Math.max(0,Math.min(t(this.minimum),t(this.maximum))),Math.max(0,t(this.maximum)))}withMaximum(t){return new e(Math.min(this.minimum,t),Math.min(this.maximum,t))}withMinimum(t){let n=Math.max(this.minimum,t);return new e(n,Math.max(this.maximum,n))}clamp(t,n){return new e(Math.min(Math.max(this.minimum,t),n),Math.min(Math.max(this.maximum,t),n))}static get(t,n){if(t.maxWidth<1)return new e(0,0);if(!Zi(n))return new e(0,t.maxWidth);let{minimum:r,maximum:i}=n.measure(Yi(t));return new e(r,Math.min(i,t.maxWidth)).normalize()}};function*$i(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function ea(e){return A(e.trimEnd())}function ta(e){return Array.from($i(e),ea)}function na(e,t){let n=Zt(e,t);return A(n[0])>t?[``,...n]:n}function ra(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(Kt(e))},a=0,o=0;for(let r of $i(e)){let e=ea(r);if(t-a>=e)a+=A(r);else if(n.fold&&e>t){let e=na(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=A(r):n+=A(r)}}else i(o),a=A(r);o+=A(r)}return r}const ia=new TextEncoder;function aa(e){let t=2166136261;for(let n of ia.encode(e))t=Math.imul(t^n,16777619);return(t>>>0).toString(16).padStart(8,`0`)}const oa=`\\x1b\\x07\\x9c`,sa=RegExp(`[${oa}]`,`g`);function ca(e){return e.replace(sa,``)}function la(e){let t=ca(e);return`\x1b]8;id=${aa(t)};${t}\x1b\\`}const ua=RegExp(`\\x1b\\]8;([^;${oa}]*);([^${oa}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(ua.source,`g`);const da=/[\x00-\x08\x0B-\x1F\x7F]/g;function fa(e){return e.replace(da,``)}const pa=/\s+$/;function ma(e){return e.map(e=>e.text).join(``)}function ha(e){return A(pa.exec(ma(e))?.[0]??``)}function ga(e){let t=e.link;if(!t)return e;let n=ca(t);return n===t?e:e.withLink(n)}function _a(e){return typeof e==`string`?e:e instanceof V?va(e):{under:e.under,over:va(e.over)}}function va(e){return ga(e.anchor?e.withAnchor(void 0):e)}function ya(e){return e instanceof V?e.isNull:e===``}function ba(e,t){return ga(t instanceof V?t:typeof t==`string`?xa(e,t):xa(e,t.under).add(t.over))}function xa(e,t){try{return qi(e,t)}catch(n){if(!(n instanceof Ei))throw n;return e.onStyleError?.(n,t),Oi}}var Sa=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},U=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?fa(e):``,this._spans=[],this._style=_a(t?.style??Oi),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
22
- `,this._tabSize=cn(t?.tabSize??8),this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=fa(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new Sa(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return A(ln(this._text,this._tabSize).text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=_a(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}resolvedStyle(e){return ba(e,this._style)}edgeStyle(e,t){let n=this.resolvedStyle(t);if(this._text.length===0)return n;let r=e===`left`?0:this._text.length-1,i=n;for(let e of this._spans)e.start<=r&&r<e.end&&(i=i.add(ba(t,e.style)));return i}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text,this._addSpan(e,this._text.length,t._style);for(let n of t._spans)this._spans.push(n.move(e));return this}let r=fa(t),i=this._text.length;return this._text+=r,this._addSpan(i,this._text.length,n??``),this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new Sa(t,n,e.style))}return l}_addSpan(e,t,n){let r=_a(n);ya(r)||this._spans.push(new Sa(e,t,r))}stylize(e,t,n){let r=this._text.length,i=t===void 0?0:t<0?r+t:t,a=n===void 0?r:n<0?r+n:n;if(i>=a||i>=r||a<=0)return this;let o=Math.max(0,i),s=Math.min(r,a);return this._addSpan(o,s,e),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._addSpan(i,i+n.length,t),e=r+n.length}}r++;continue}this._addSpan(o.index,o.index+o[0].length,t??``),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=0;for(let n of e){if(n.length===0)continue;let e=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),a=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,a),s;for(;(s=o.exec(this._text))!==null;)this._addSpan(s.index,s.index+s[0].length,t),i++}return i}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
23
- `,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}expandTabs(){let e=ln(this._text,this._tabSize);return this._spans=this._spans.map(t=>new Sa(e.offsetOf(t.start),e.offsetOf(t.end),t.style)),this._text=e.text,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;this.expandTabs();let n=t?.mode??`right`,r=Jt(e),i=rn(t?.marker??`…`,r),a=Kt(r-A(i));if(n===`right`)return this._cropRightTo(a),i&&(this._text+=i),this;if(n===`left`)return this._cropLeftTo(a),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let o=Kt(Math.floor(a/2)),s=Kt(a-o),c=rn(this._text,o).length,l=this._text.length-an(this._text,s).length,u=this._text.slice(0,c),d=this._text.slice(l),f=c,p=l,m=i.length-(p-f),h=[];for(let e of this._spans)e.end<=f?h.push(e):e.start>=p?h.push(e.move(m)):(e.start<f&&h.push(new Sa(e.start,f,e.style)),e.end>p&&h.push(new Sa(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=rn(this._text,e)}_cropLeftTo(e){let t=this._text.length-an(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new Sa(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}align(e,t){let n=this.cellLength;if(n>=t)return this;this.expandTabs();let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t)r.append(e);return r}*render(e){let t=ln(this._text,this._tabSize),n=this.resolvedStyle(e),{segments:r,covered:i}=this._buildSegments(t,n,e),a=Ca(r,i);r.push(H.line());let o=H.splitLines(r),s=Jt(Xi(e,this).maxWidth),c=this._overflow??e.overflow??`fold`,l=this._noWrap||(e.noWrap??!1),u=c===`ignore`?Jt(1/0):s,d=l?Jt(1/0):u,f=c===`ignore`?void 0:this._justify??e.justify,p=Ki(e,`…`,`.`);for(let e=0;e<o.length;e+=1){let t=o[e],r=a[e],i=e<o.length-1,l=ra(ma(t),d,{fold:c===`fold`}),m=H.divide(t,l),h=this._justifyLines(m.map((e,t)=>({segments:[...this._fitLine(e,u,c,p)],free:e=>r(t===0?e:l[t-1]+e)})),s,n,f);for(let e=0;e<h.length;e+=1)yield*h[e],(e<h.length-1||i)&&(yield H.line())}this._end&&(yield new H(this._end))}measure(e){let t=ln(this._text,this._tabSize).text.split(`
24
- `),n=t.reduce((e,t)=>Math.max(e,A(t)),0),r=t.flatMap(ta),i=r.length>0?r.reduce((e,t)=>Math.max(e,t),0):n,a=Jt(e.maxWidth);return{minimum:Math.min(i,a),maximum:Math.min(n,a)}}_buildSegments({text:e,offsetOf:t},n,r){let i=n=>Math.max(0,Math.min(t(n),e.length)),a=new Set;for(let e of this._spans)a.add(i(e.start)),a.add(i(e.end));a.delete(0),a.delete(e.length);let o=[0,...[...a].sort((e,t)=>e-t),e.length],s=new Map(o.map((e,t)=>[e,t]).reverse()),c=o.slice(0,-1).map(()=>n),l=c.map(()=>!1);for(let e of this._spans){let t=i(e.end),n=ba(r,e.style),a=s.get(i(e.start));for(let e=a;o[e]<t;e++)c[e]=c[e].add(n),l[e]=!0}return{segments:c.map((t,n)=>new H(e.slice(o[n],o[n+1]),t.isNull?void 0:t)),covered:l}}_justifyLines(e,t,n,r){return r===`full`?e.map(({segments:r},i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,n,r)])}*_justifyLine({segments:e,free:t},n,r,i){let a=r.isNull?void 0:r;switch(i){case`center`:case`right`:{let r=H.adjustLineLength(e,H.getLineLength(e)-ha(e),void 0,!1),o=Math.max(n-H.getLineLength(r),0),s=i===`center`?Math.floor(o/2):o;yield*wa(r,t,s,o-s,a);break}case`left`:yield*wa(e,t,0,Math.max(n-H.getLineLength(e),0),a);break;default:yield*e;break}}_fillLine(e,t,n){let r=ma(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+A(t),0)+a;for(let e=0;s<t&&a>0;e=(e+1)%a)o[a-1-e]+=1,s+=1;let c=[],l=0;for(let e=0;e<i.length;e+=1)l+=A(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=H.divide(e,c),d=(e,t)=>e.filter(e=>e.hasText).at(t)?.style??n,f=[];for(let e=0;e<i.length;e+=1)if(f.push(...u[e*2]),e<a){let t=d(u[e*2],-1),r=d(u[e*2+2],0),i=t.equals(r)?t:n;f.push(new H(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n,r){let i=H.getLineLength(e);if(i-ha(e)<=t){yield*H.adjustLineLength(e,Math.min(i,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*H.adjustLineLength(e,t-1,void 0,!1),yield new H(r);return}yield*H.adjustLineLength(e,t,void 0,!1)}};function Ca(e,t){let n=[[]];return e.forEach((e,r)=>{e.text.split(`
25
- `).forEach((e,i)=>{i>0&&n.push([]);let a=n.at(-1);a.push({end:(a.at(-1)?.end??0)+A(e),free:!t[r]})})}),n.map(e=>t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].end<=t?n=i+1:r=i}return e[n].free})}function*wa(e,t,n,r,i){if(n+r===0)return yield*e;let a=e.filter(e=>e.text!==``),o=e=>` `.repeat(e),s=H.getLineLength(a);if(s===0)return yield new H(o(n+r),i);let c=a.length-1,l=n>0&&a[0].cellLength>0&&t(0),u=r>0&&a[c].cellLength>0&&t(s-1),d=+!!l,f=u?c:c+1;if(d>f){yield new H(o(n)+a[0].text+o(r),i);return}n>0&&(yield new H(o(n)+(l?a[0].text:``),i)),yield*a.slice(d,f),r>0&&(yield new H((u?a[c].text:``)+o(r),i))}const Ta=Object.freeze({name:`join`});var Ea=class{fg;bg;constructor(e,t){this.fg=e,this.bg=t}};function Da(e,t){for(let n=e;n;n=n.inner){if(t.has(n.owner))return{fg:!0,bg:!0};if(n.owner instanceof Ea){let{fg:e,bg:r}=n.owner;return{fg:e!==null&&t.has(e),bg:r!==null&&t.has(r)}}}return{fg:!1,bg:!1}}function Oa(e,t,n,r){let i=e.join(t,n,r);return{render:e=>H.anchorLines([[...i.render(e)]],Ta)[0]}}function ka(e){return{render:t=>H.anchorLines([[...e.render(t)]],e)[0]}}var Aa=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length===0)return;let n={...e,justify:void 0};yield*Oa(this.joiner,null,t[0],{index:0}).render(n);for(let e=0;e<t.length;e++){let r=t[e];yield*ka(r).render(n);let i=e+1<t.length?t[e+1]:null;yield*Oa(this.joiner,r,i,{index:e+1}).render(n)}yield H.line()}measure(e){let t=0;for(let n of this.render(e))t+=n.cellLength;return{minimum:t,maximum:t}}};const ja=[`seam`,`divider`,`lead`,`tail`];function*Ma(e){yield e,`mix`in e&&(yield*Ma(e.mix[0]),yield*Ma(e.mix[1]))}const Na=e=>typeof e.glyph==`string`?[e.glyph]:e.glyph.oneOf,Pa=(e,t,n,r)=>{let i=Na(e);return i[Math.floor(parseInt(aa(`${t}:${n}:${r}`),16)/2**32*i.length)]},Fa=e=>A(Na(e)[0]??``),Ia=e=>e.reduce((e,t)=>e+Fa(t),0);function La(e,t,n){if(e===`ground`)return n(`mixes ground, whose colour is unknown`);let r=typeof e==`object`&&e?e:{};if((r.edge===`left`||r.edge===`right`)&&(r.part===`bg`||r.part===`fg`))return r.edge===t&&n(`names the ${t} neighbour, which this part is drawn without`),Object.freeze({edge:r.edge,part:r.part});if(typeof r.role==`string`)return Object.freeze({role:r.role});if(Array.isArray(r.mix)&&r.mix.length===3){let[e,i,a]=r.mix;return(typeof a!=`number`||!(a>=0&&a<=1))&&n(`mixes at ${String(a)}, outside 0..1`),Object.freeze({mix:Object.freeze([La(e,t,n),La(i,t,n),a])})}return n(`has a colour that is not a Paint: ${JSON.stringify(e)}`)}const Ra=(e,t,n)=>e===`ground`?e:La(e,t,n),za={seam:void 0,divider:void 0,lead:`left`,tail:`right`};function Ba(e,t){if(!Array.isArray(e))throw Error(`CellJoiner: ${t} is not a list of cells`);return e.map((e,n)=>{if(typeof e!=`object`||!e)throw Error(`CellJoiner: ${t}[${n}] is not a cell`);return e})}function Va(e,t){let n=n=>Object.freeze(Ba(e[n],`${t} ${n}`).map((e,r)=>{let i=e=>{throw Error(`CellJoiner: ${t} ${n}[${r}] ${e}`)},a=e.glyph,o=typeof a==`object`&&a?a.oneOf:void 0;typeof a!=`string`&&!(Array.isArray(o)&&o.every(e=>typeof e==`string`))&&i(`has a glyph that is neither a string nor a oneOf of strings: ${JSON.stringify(a)}`),e.fg===`ground`&&e.bg===`ground`&&i(`has ground on both sides`);let s=Na(e);return s.length===0&&i(`has an empty oneOf`),s.some(t=>A(t)!==Fa(e))&&i(`has oneOf members of different widths`),t===`ascii`&&!s.every(Gi)&&i(`is not ASCII`),Object.freeze({glyph:typeof e.glyph==`string`?e.glyph:Object.freeze({oneOf:Object.freeze([...s])}),fg:Ra(e.fg,za[n],i),bg:Ra(e.bg,za[n],i)})})),r=n(`seam`),i=e.divider===e.seam?r:n(`divider`);if(Ia(i)!==Ia(r))throw Error(`CellJoiner: ${t} divider is not the width of the seam`);return Object.freeze({seam:r,divider:i,lead:n(`lead`),tail:n(`tail`)})}const Ha=(e,t)=>ja.flatMap(t=>e[t]).some(e=>[e.fg,e.bg].some(e=>e!==`ground`&&[...Ma(e)].some(e=>`edge`in e&&e.edge===t&&e.part===`bg`)));function Ua(e){return{shape:e,reads:{left:Ha(e,`left`),right:Ha(e,`right`)}}}function Wa(e){return e!==void 0&&!e.isDefault?e:void 0}function Ga(e){return e.flattenAlpha(gn)}function Ka(e,t){if(e.reverse)return!1;let{color:n,bgcolor:r}=e.drawnColors(t??F.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?B.fromRgba(i).deltaE(B.fromRgba(a))<.04:n.number===void 0?n.name===r.name:n.number===r.number}function qa(e,t,n){if(`edge`in e){let n=t[e.edge];if(e.part===`fg`)return n?.color;let r=Wa(n?.bgcolor);return r&&Ga(r)}if(`role`in e)return qi(n,e.role).color;let[r,i,a]=e.mix,o=qa(r,t,n),s=qa(i,t,n);return o&&s&&L.blend(o,s,a)}function Ja(e,t,n){return e.fg===`ground`?new V({color:e.bg===`ground`?void 0:qa(e.bg,t,n),reverse:!0}):new V({color:qa(e.fg,t,n),bgcolor:e.bg===`ground`?void 0:qa(e.bg,t,n)})}const Ya=e=>ja.flatMap(t=>e[t].flatMap(Na)).join(``);var Xa=class{shape;ascii;_forms;constructor(e,t){this.shape=Va(e,`glyph`),this.ascii=Va(t,`ascii`),this._forms={glyph:Ua(this.shape),ascii:Ua(this.ascii)}}join(e,t,{index:n}){let r=this._forms;return{*render(i){let{shape:a,reads:o}=Ki(i,r.glyph,r.ascii,e=>Ya(e.shape)),s={left:e?.edgeStyle(`right`,i),right:t?.edgeStyle(`left`,i)},c=Wa(s.left?.bgcolor),l=Wa(s.right?.bgcolor),u=e!==null&&(!o.left||c!==void 0),d=t!==null&&(!o.right||l!==void 0),f={left:e,right:t},p=e=>e!==`ground`&&`edge`in e?f[e.edge]:null,m=e=>a[e].map((t,r)=>{let a=new Ea(p(t.fg),p(t.bg));return new H(Pa(t,e,n,r),Ja(t,s,i).withAnchor({owner:a,row:0,col:0,inner:void 0}))});if(!u||!d){(u||d)&&(yield*m(d?`lead`:`tail`));return}let h=m(`seam`);yield*a.divider!==a.seam&&h.every(e=>e.style!==void 0&&Ka(e.style,i.colorSystem))?m(`divider`):h}}}};const Za={edge:`left`,part:`bg`},Qa={edge:`right`,part:`bg`},$a={edge:`left`,part:`fg`},eo={mix:[Za,Qa,1/2]},to=`ground`;function no(e,t){return{seam:[{glyph:e,fg:Za,bg:Qa}],divider:[{glyph:t,fg:$a,bg:Za}],lead:[{glyph:e,fg:to,bg:Qa}],tail:[{glyph:e,fg:Za,bg:to}]}}function ro(e,t){let n=e=>({mix:[Za,Qa,e]}),r={glyph:` `,fg:$a,bg:Za};return{...no(e,t),seam:[{glyph:e,fg:Za,bg:n(1/3)},{glyph:e,fg:n(1/3),bg:n(2/3)},{glyph:e,fg:n(2/3),bg:Qa}],divider:[r,{glyph:t,fg:$a,bg:Za},r]}}const io=(e,t,n,r,i)=>new Xa(e(t,n),{...e(r,i),lead:[]});function ao(e,t,n){let r=[{glyph:t,fg:Za,bg:to},...n,{glyph:e,fg:Qa,bg:to}];return{seam:r,divider:r,lead:[{glyph:e,fg:Qa,bg:to}],tail:[{glyph:t,fg:Za,bg:to}]}}const oo=(e,t)=>ao(e,t,[{glyph:` `,fg:$a,bg:to}]),so=(e,t,n)=>ao(e,t,[{glyph:n,fg:{role:`strip.rail`},bg:to}]);function co(e,t){let n=[{glyph:e,fg:t,bg:eo}];return{seam:n,divider:n,lead:[],tail:[]}}function lo(e){return{...co({oneOf:e},Za),divider:[{glyph:{oneOf:e},fg:$a,bg:eo}]}}const uo=[{glyph:` | `,fg:{role:`strip.separator`},bg:to}],fo={seam:uo,divider:uo,lead:[],tail:[]},po=Object.freeze({powerline:io(no,``,``,`>`,`>`),prism:io(ro,``,``,`>`,`>`),slant:io(no,``,``,`/`,`/`),backslant:io(no,``,``,`\\`,`\\`),flame:io(no,``,``,`}`,`}`),pixel:io(no,``,``,`#`,`>`),ice:io(no,``,``,`]`,`>`),bubble:io(no,``,``,`)`,`)`),capsule:new Xa(oo(``,``),oo(`(`,`)`)),wrapper:new Xa(ao(``,``,[]),ao(`<`,`>`,[])),metro:new Xa(so(``,``,`──`),so(`(`,`)`,`--`)),stitch:new Xa(co(`┊`,$a),co(`:`,$a)),torn:new Xa(lo([`▚▞`,`▞▚`,`▘▗`,`▝▖`,`▖▝`,`▗▘`]),lo([`/\\`,`\\/`])),plain:new Xa(fo,fo)});function mo(e,t){if(e.isControl)return``;let{text:n,style:r}=e;if(n.length===0||r===void 0)return n;let i=t.colorSystem===null?``:r.toSgrCodes(t.colorSystem),a=i.length>0?`\x1b[${i}m${n}\x1b[0m`:n,o=t.hyperlinks?r.link:void 0;return o===void 0?a:`${la(o)}${a}]8;;\\`}function ho(e,t){let n=[];for(let r of e)n.push(mo(r,t));return n.join(``)}function go(e,t){let n=t?.width??80,r={};t?.env!==void 0&&(r.env=t.env),t?.isTTY!==void 0&&(r.isTTY=t.isTTY);let i=t?.colorSystem,a=Dn(i===void 0?F.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,asciiOnly:t?.asciiOnly??!1,theme:t?.theme,onStyleError:t?.onStyleError,highlight:t?.highlight,highlighter:t?.highlighter,colorSystem:o.colorSystem};return ho(e.render(s),o)}var _o=class{renderable;effect;t;key;theme;constructor(e,t,n){if(this.renderable=e,this.effect=t,!Number.isFinite(n.t))throw RangeError(`Effected needs a finite t, got ${n.t}`);this.t=n.t,this.key=n.key,this.theme=n.theme}*render(e){let t=this.renderable.render(e);if(e.colorSystem===null){yield*t;return}let n=e.colorSystem??F.TRUECOLOR,r=yo(t,n,this.theme),i=this.effect(this.t,bo(r,n,this.theme)),a=0,o=0;for(let{segment:e,look:t}of r){if(t===void 0){yield e;continue}let{style:r,wire:s,slots:c,pair:l}=t,{terminal:u}=l,d={fg:l.fg,bg:l.bg},f=[],p=0;for(let t of tn(e.text)){let e=c;if(t===`
26
- `)a++,o=0;else{let n=r.anchor&&xi(r.anchor,p);e=So(i(d,{row:a,col:o,seed:this.seed(a,o),terminal:u,anchor:n}),l.reverse),o+=A(t)}p+=A(t);let m=f[f.length-1],h=m!==void 0&&Do(m.colors,e)?m.drawn:this.respec(s,c,e,n);m!==void 0&&wo(m.drawn,h)?(m.text+=t,m.cells+=A(t),m.colors=e):f.push({text:t,cells:A(t),colors:e,drawn:h})}if(f.every(e=>wo(e.drawn,s))){yield e;continue}let m=0;for(let e of f){let t=r.shiftedBy(m),n=wo(e.drawn,s)?t:t.add(V.fromColor(e.drawn.color,e.drawn.bgcolor));yield new H(e.text,n),m+=e.cells}}}measure(e){return Qi.get(e,this.renderable)}static shows(e,t,n,r){let i=So(e,e.reverse),a=Co(i,So(t,e.reverse),n,r);return So({fg:a.fg?.getTruecolor(r,!0)??i.fg,bg:a.bg?.getTruecolor(r,!1)??i.bg},e.reverse)}respec(e,t,n,r){let i=Co(t,n,r,this.theme);return{color:i.fg??e.color,bgcolor:i.bg??e.bgcolor}}seed(e,t){return Number.parseInt(aa(`${this.key}:${e}:${t}`),16)/4294967296}};const vo=L.default();function yo(e,t,n){return[...e].map(e=>{if(e.isControl)return{segment:e,look:void 0};let r=e.style??V.null(),i=r.drawnColors(t),a={fg:(i.color??vo).getTruecolor(n,!0),bg:(i.bgcolor??vo).getTruecolor(n,!1)},o=r.reverse===!0,s=So({fg:i.color?.isDefault??!0,bg:i.bgcolor?.isDefault??!0},o);return{segment:e,look:{style:r,wire:i,slots:a,pair:{...So(a,o),terminal:s,reverse:o}}}})}function bo(e,t,n){let r=e.flatMap(({segment:e,look:t})=>t!==void 0&&e.text.trim()!==``&&!Si(t.style.anchor,Ta)?[t.pair]:[]),i=[...new Map(r.map(e=>[`${e.fg.hex}/${e.bg.hex}/${e.terminal.fg}/${e.terminal.bg}/${e.reverse}`,e])).values()],a=e=>i.flatMap(t=>t.terminal[e]?[]:[t[e].hex]);return{pairs:i,colors:new Set([...a(`fg`),...a(`bg`)]),fills:new Set(a(`bg`)),depth:t,theme:n}}function xo(e,...t){let n=new Set(t);return(t,r)=>{let i=e(t,r);return(e,t)=>{let r=Da(t.anchor,n);if(!r.fg&&!r.bg)return e;let a=i(e,t);return{fg:r.fg?a.fg:e.fg,bg:r.bg?a.bg:e.bg}}}}function So(e,t){return t?{fg:e.bg,bg:e.fg}:e}function Co(e,t,n,r){let i=t.bg.compositeOver(gn),a=t.fg.compositeOver(i);return{fg:L.matchMove(e.fg,a,n,r,!0),bg:L.matchMove(e.bg,i,n,r,!1)}}function wo(e,t){return To(e.color,t.color,!0)&&To(e.bgcolor,t.bgcolor,!1)}function To(e,t,n){return e===t||Eo(e,n)===Eo(t,n)}function Eo(e,t){return e?.getAnsiCodes(t).join(`;`)??``}function Do(e,t){return Oo(e.fg,t.fg)&&Oo(e.bg,t.bg)}function Oo(e,t){return e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha}const ko=(()=>{let e=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];return[...e,...e]})(),Ao=e=>e*e*e*(e*(e*6-15)+10),jo=(e,t,n)=>e+n*(t-e);function Mo(e,t,n,r){let i=e&15,a=i<8?t:n,o=i<4?n:i===12||i===14?t:r;return(i&1?-a:a)+(i&2?-o:o)}function No(e,t,n){let r=Math.floor(e),i=Math.floor(t),a=Math.floor(n),o=r&255,s=i&255,c=a&255;e-=r,t-=i,n-=a;let l=Ao(e),u=Ao(t),d=Ao(n),f=ko[o]+s,p=ko[f]+c,m=ko[f+1]+c,h=ko[o+1]+s,g=ko[h]+c,_=ko[h+1]+c;return jo(jo(jo(Mo(ko[p],e,t,n),Mo(ko[g],e-1,t,n),l),jo(Mo(ko[m],e,t-1,n),Mo(ko[_],e-1,t-1,n),l),u),jo(jo(Mo(ko[p+1],e,t,n-1),Mo(ko[g+1],e-1,t,n-1),l),jo(Mo(ko[m+1],e,t-1,n-1),Mo(ko[_+1],e-1,t-1,n-1),l),u),d)}function Po(e,t,n,r){let i=0,a=1,o=0;for(let s=0;s<r;s++){let r=2**s;i+=a*No(e*r,t*r,n*r),o+=a,a/=2}return i/o}function Fo(e,t){let n=Math.sin(e*12.9898+t*78.233)*43758.5453;return n-Math.floor(n)}function Io(e,t,n){let r=Math.min(1,Math.max(0,(n-e)/(t-e)));return r*r*(3-2*r)}const Lo=Array.from({length:48},(e,t)=>(t+1)/48),Ro=[`fg`,`bg`];function zo({pairs:e,depth:t,theme:n},r,i){let a=(e,t)=>e.terminal[t]?void 0:e[t].hex,o=new Map(e.flatMap(e=>Ro.flatMap(t=>{let n=a(e,t);return n===void 0?[]:[[n,e[t]]]}))),s=t===F.TRUECOLOR?.01:0,c=new Map([...r].filter(e=>!o.has(e)).map(e=>[e,1])),l=e=>B.fromRgba(o.get(e)).l;for(let u of[...r].filter(e=>o.has(e)).sort((e,t)=>l(t)-l(e))){let r=e.flatMap(e=>{let t=Ro.find(t=>a(e,t)===u);if(t===void 0)return[];let n=a(e,t===`fg`?`bg`:`fg`);return[[e,t,n===void 0?0:c.get(n)??0]]}),o=e=>r.every(([r,a,o])=>{let c=Math.min(P(r.fg,r.bg),4.5)-s,l=(t,n)=>Ho(i,r[t],(t===a?e:o)*n);return Lo.every(e=>{let i=_o.shows(r,{fg:l(`fg`,e),bg:l(`bg`,e)},t,n);return P(i.fg,i.bg)>=c})}),[l,d]=o(1)?[1,1]:[0,1];for(let e=0;e<20&&d-l>.001;e++){let e=(l+d)/2;[l,d]=o(e)?[e,d]:[l,e]}c.set(u,l)}return c}function Bo(e,t){let n=new WeakMap;return Vo(e,r=>{let i=t??r.colors,a=[r.depth,...r.pairs.map(({fg:e,bg:t,terminal:n,reverse:r})=>`${e.hex}/${t.hex}/${n.fg}/${n.bg}/${r}`),`|`,...i].join(` `),o=n.get(r.theme)??new Wt;return n.set(r.theme,o),o.get(a,()=>zo(r,i,e.touch))})}function Vo(e,t){return(n,r)=>{let i=t(r),a=e.field(n);return({fg:t,bg:n},r)=>{let o=Math.round(Ko(a(r))*48)/48,s=(t,n)=>Ho(e.touch,t,(n?0:i.get(t.hex)??0)*o);return{fg:s(t,r.terminal.fg),bg:s(n,r.terminal.bg)}}}}function Ho(e,t,n){return n===0?t:e(t,n)}function Uo(e){if(!(Number.isFinite(e.seconds)&&e.seconds>0))throw RangeError(`curve: seconds must be a positive number of seconds, got ${e.seconds}`);if(!(e.swing>=0&&e.swing<=1))throw RangeError(`curve: swing must be in [0, 1], got ${e.swing}`)}const Wo={shimmer:{seconds:109,ease:_i.linear,swing:.9},pulse:{seconds:43,ease:_i.linear,swing:.85},sparkle:{seconds:139,ease:_i.linear,swing:.95},wheel:{seconds:907,ease:_i.linear,swing:1},fade:{seconds:20,ease:_i[`ease-in-out`],swing:1},dissolve:{seconds:30,ease:_i[`ease-in-out`],swing:1}},Go={sun:new M(255,228,176),firefly:new M(222,245,140)},Ko=e=>Math.min(1,Math.max(0,e));function qo(e,t,n){if(!(n>=0&&n<=1))throw RangeError(`blend: w must be in [0, 1]; got ${n}`);let r=Math.PI/180,i=(1-n)*e.c*Math.cos(e.h*r)+n*t.c*Math.cos(t.h*r),a=(1-n)*e.c*Math.sin(e.h*r)+n*t.c*Math.sin(t.h*r);return new B((1-n)*e.l+n*t.l,Math.hypot(i,a),Math.atan2(a,i)/r,e.alpha)}function Jo(e){let t=B.fromRgba(e);return(e,n)=>{let r=B.fromRgba(e);return qo(r,new B(Math.max(r.l,t.l),t.c,t.h,t.alpha),n).toRgba()}}const Yo=(e,t)=>t*e[e.length-1][0];function Xo(e,t,n){let r=t/n,i=e.findIndex(([e])=>r<e);if(!(r>0)||i<0)return 0;let[a,o]=i===0?[0,0]:e[i-1],[s,c]=e[i];return n*(o+(c-o)*(1-Math.cos(Math.PI*(r-a)/(s-a)))/2)}function Zo(e,t,n){let r=Yo(e,n),i=t=>{let r=0;for(let i=0;i<24;i++)r+=Xo(e,(i+.5)/24*t,n);return r*t};return i(Math.min(Math.max(t,0),r))/i(r)}const Qo=[[.24,1],[.6,0]];function $o(e,t,n){Uo(e);let r=.9+.2*Fo(n,3.1),i=t=>.1*No(t/(3*e.seconds),.5,.5+n),a=i(0);return{touch:Jo(t),field:t=>{let o=r*t/e.seconds+i(t)-a,s=Math.floor(o),c=.7+.3*Io(-.5,.5,No(s*.37,2.1,n)),l=.5-.5*Math.cos(2*Math.PI*(o-s)),u=e.swing*e.ease(c*l);return()=>u}}}const es=e=>Math.abs(e)>=1?0:(1-e*e)**3;function ts(e,t,n,r,i){Uo(e);let a=e.seconds,o=t+2*n,s=a/2,c=e=>Io(-.4,.4,No(e/7,3.3,5.5+i)),l=.7,u=.51,d=.4,f=l+(u+d)*a*o/80/s,p=(e,t)=>{let r=c(e),f=(Fo(e,7.5+i)<.35+.6*r)*(.3+.7*r*(.6+.4*Fo(e,8.5+i))),p=a*o/80*(u+d*Fo(e,5.5+i)),m=Ko((t-(e+l*Fo(e,6.5+i))*s)/p);return{strength:f,centre:m*o-n+.06*o*Math.sin(Math.PI*m)*No(m,2.7,e+i)}},m=e=>{let t=Math.floor(e/s),n=[];for(let r=Math.max(0,Math.ceil(t-f));r<=t;r++)n.push(p(r,e));return n},h=(e,t,n)=>Math.exp(-((No(e,t,n)/.8)**2));return{touch:Jo(r),field:t=>{let r=m(t);return a=>{let o=0;for(let{strength:e,centre:t}of r)o=Math.max(o,e*es((a.col-t)/n));let s=a.row+i,c=.8*No(a.col*.05,s*.3+1.3,t*.02),l=(h(a.col*.21+c,s*.9,t*.022)*h(a.col*.33+9.1-c,s*.7,t*.018+4.2))**2;return e.swing*e.ease(o*(.1+.6*l))}}}}function ns(e,t,n,r){Uo(e);let i=Math.max(3,Math.round(t/8)),a=e.seconds,o=Array.from({length:i},(e,n)=>({home:(n+.5+.7*No(n*1.7+.2,.3,.5+r))*(t/i),z:n*4.9+.3+r,offset:Fo(n,.7+r)*a})),s=e=>o.map(t=>{let n=e+t.offset,r=Math.floor(n/a),i=Fo(r,t.z+1)<.15?0:1,o=.5+.5*Fo(r,t.z+2),s=Fo(r,t.z+3)*(1-Yo(Qo,o)),c=n/a-r-s;return{x:t.home+5*(2*Fo(r,t.z+4)-1)+5*o*(2*Fo(r,t.z+5)-1)*Zo(Qo,c,o)+1.5*No(t.z,.1,e*.035),y:.6*No(t.z,2.2,e*.035),glow:i*Xo(Qo,c,o)}});return{touch:Jo(n),field:t=>{let n=s(t);return t=>{let r=0;for(let e of n)r=Math.max(r,e.glow*es(Math.hypot(t.col-e.x,2*(t.row-e.y))/5));return e.swing*e.ease(r)}}}}function rs(e,t){return(n,{theme:r})=>{let i=e(n),a=B.fromRgba(r.backgroundColor);return(e,n)=>{let r=t*(1-Ko(i(n)));if(r===0)return e;let o=qo(B.fromRgba(e.bg),a,r);return{fg:qo(B.fromRgba(e.fg),o,r).toRgba(),bg:o.toRgba()}}}}function is(e){let t=new Map;return n=>{let r=`${n.row}:${n.col}`,i=t.get(r)??Ko(.5+1.1*Po(n.col*.09+1.4*No(n.col*.035,n.row*.2+2.6,e+.5),n.row*.45,e,3));return t.set(r,i),i}}function as(e,t){return{effect:t,done:t=>t>=e.seconds}}function os(e,t){let n=e.seconds*.45,r=bi.once(0,n);return i=>a=>r(i-t(a)*(e.seconds-n))}function ss(e,t){Uo(e);let n=os(e,is(1.7+t));return as(e,rs(t=>{let r=n(t);return t=>e.ease(r(t))},e.swing))}const cs={depth:.4,from:.5,to:.95,maskFrom:.35,maskTo:.75,late:.6};function ls(e,t){Uo(e);let n=is(4.2+t),r=is(9.3+t),i=os(e,n),{depth:a,from:o,to:s,maskFrom:c,maskTo:l,late:u}=cs;return as(e,rs(t=>{let d=i(t);return t=>{let i=e.ease(d(t)),f=Ko((i-o)/(s-o)),p=a*Io(c,l,r(t))*(1-u+u*n(t))*Math.sin(Math.PI*f)**2;return 1-i+p}},e.swing))}const us=[211,337];function ds(e,t){Uo(e);let n=e.seconds,r=e=>Fo(Number.parseInt(e.slice(1),16)*1e-4,17.3+t),i=(e,n)=>No(n/us[0],5.9+97*e,t)+.5*No(n/us[1],2.3+89*e,t+7.1),a=(t,a)=>{let o=r(t);return 360*a/n+e.swing*180*((i(o,a)-i(o,0))/1.5)};return(e,{colors:t,fills:n})=>(r,i)=>{let o={fg:!i.terminal.fg&&t.has(r.fg.hex),bg:!i.terminal.bg&&t.has(r.bg.hex)},s=(t,r,i,o)=>r?B.fromRgba(t).applyKey({...cr,hueShift:a(n.has(t.hex)||!o?t.hex:i.hex,e)}).toRgba():t;return{fg:s(r.fg,o.fg,r.bg,o.bg),bg:s(r.bg,o.bg,r.fg,o.fg)}}}const fs={loops:{shimmer:(e,t=Wo.shimmer)=>Bo(ts(t,e.span,24,Go.sun,e.z)),pulse:(e,t=Wo.pulse)=>Bo($o(t,Go.sun,e.z)),sparkle:(e,t=Wo.sparkle)=>Bo(ns(t,e.span,Go.firefly,e.z)),wheel:(e,t=Wo.wheel)=>ds(t,e.z)},transitions:{fade:(e,t=Wo.fade)=>ss(t,e.z),dissolve:(e,t=Wo.dissolve)=>ls(t,e.z)}};function ps(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const ms={segments:[],width:0},hs={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function gs(e,t){return hs[e](t)}function _s(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var vs=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>ps(ka(t),e)),o=n=>i?ps(Oa(i,null,t[n],{index:n}),e):ms,s=n=>i?ps(Oa(i,t[n],null,{index:n+1}),e):ms,c=(n,r)=>i?ps(Oa(i,t[n],t[r],{index:r}),e):ms,l=[],u=null,d=r>0?{segments:[new H(` `.repeat(r))],width:r}:ms;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=gs(p,i),o=_s(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new H(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new H(` `.repeat(e)))}yield*t.blocks[e].segments}yield H.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=ps(t[i],e).width,o=this.joiner?ps(Oa(this.joiner,null,t[i],{index:i}),e).width:0,s=this.joiner?ps(Oa(this.joiner,t[i],null,{index:i+1}),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=ps(Oa(this.joiner,t[i-1],t[i],{index:i}),e).width))}return this.joiner&&(r+=ps(Oa(this.joiner,null,t[0],{index:0}),e).width,r+=ps(Oa(this.joiner,t[t.length-1],null,{index:t.length}),e).width),{minimum:n,maximum:r}}};function ys(){let e=new WeakMap;return(t,n,r)=>{let i=e.get(t);i===void 0&&(i=new Map,e.set(t,i));let a=i.get(n);if(a!==void 0)return a;let o=r();return i.set(n,o),o}}const bs=[`primary`,`secondary`,`accent`],xs=[`darken-3`,`darken-2`,`darken-1`,`base`,`lighten-1`,`lighten-2`,`lighten-3`],Ss={"darken-3":`-darken-3`,"darken-2":`-darken-2`,"darken-1":`-darken-1`,base:``,"lighten-1":`-lighten-1`,"lighten-2":`-lighten-2`,"lighten-3":`-lighten-3`,muted:`-muted`},Cs=(e,t)=>`${e}${Ss[t]}`,ws=(e,t,n,r)=>rc(e,n,r),Ts=(e,t,n,r)=>ac(e,qs(e,`text-${t}`),n,r),Es=e=>({tones:[xs[e],xs[e+2],xs[e+1]],text:ws}),Ds={muted:{tones:[`muted`],text:Ts},deepest:Es(0),deeper:Es(1),middle:Es(2),brighter:Es(3),brightest:Es(4)},Os=1/0,ks={accent:{hues:[`secondary`,`accent`],run:Os},duo:{hues:[`primary`,`secondary`],run:Os},mono:{hues:[`primary`],run:Os},alt:{hues:[`secondary`,`accent`],run:3}},As=e=>e.variation.hues.flatMap(t=>e.shade.tones.map(e=>({hue:t,shade:e}))),js=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},Ms=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],Ns=e=>typeof e==`string`&&Ms.includes(e),Ps={"van-der-corput":js,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},Fs=e=>Ps[e??`van-der-corput`];function Is(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=.37;return t%1}const Ls=(e,t)=>Math.floor(e*t),Rs=(e,t)=>Math.round(e*t)%t;function zs(e){return e===void 0?0:e.distribution(e.index,e.count)}function Bs(e,t,n){let r=e[n(zs(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function Vs(e){let t=e.findIndex(e=>e.axis===`cell`),n=t===-1?e:e.slice(0,t);return{row:n.at(-1),cell:e[n.length]}}const Hs=(e,t)=>Ls(zs(t),e.hues.length);function Us(e,t){let{row:n,cell:r}=Vs(t);return Ws(e,n,r)}function Ws(e,t,n){let{hues:r,run:i}=e.variation,a=n===void 0?0:Math.floor(n.index/i),o=r[(Hs(e.variation,t)+a)%r.length];if(o===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:o,shade:Bs(e.shade.tones,n,Rs)}}function Gs(e,t){let{row:n,cell:r}=Vs(t),i=r===void 0?[void 0]:Array.from({length:r.count},(e,t)=>({...r,index:t}));return[...new Map(i.map(t=>Ws(e,n,t)).map(e=>[Cs(e.hue,e.shade),e])).values()].sort((e,t)=>bs.indexOf(e.hue)-bs.indexOf(t.hue)||Ks.indexOf(e.shade)-Ks.indexOf(t.shade))}const Ks=[...xs,`muted`];function qs(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}const Js=(e,t)=>qs(e,Cs(t.hue,t.shade)),Ys=2.2,Xs=(e,t)=>t.map(t=>Js(e,t)),Zs=e=>t=>jr(t,e),Qs=Zs(F.TRUECOLOR);function $s(e,t,n,r){return ec(e,`${t}|${n.map(e=>e.hex).join(`+`)}|${r}`,()=>tc(e,t,n,r))}const ec=ys();function tc(e,t,n,r){let i=n.map(Qs),a=qs(e,t),o=new M(0,0,0),s=new M(255,255,255),c=(e,t)=>B.fromRgba(a).mixAxes(B.fromRgba(e),{l:t,c:0,h:0,alpha:0}).toRgba(),l=e=>Array.from({length:12},(t,n)=>c(e,(n+1)/12)),u=l(o),d=[a,...l(s).flatMap((e,t)=>[e,u[t]])],f=e=>{let t=Zs(e),n=i.map(t);return e=>Math.min(1/0,...n.map(n=>P(t(e),n)))},p=f(F.TRUECOLOR),m=f(r),h=e=>Ar(e,r,(e,t)=>i.every(n=>P(e,t(n))>=Ys)),g=e=>p(e)>=2.2&&h(e)!==void 0,_=(e,t)=>{let n=n=>P(Qs(n),e)-P(Qs(n),t),r=n(a)<0?o:s,i=r===o?1:-1,[l,u]=[0,1];for(let e=0;e<40;e++){let e=(l+u)/2;i*n(c(r,e))>0?u=e:l=e}return[c(r,l),c(r,u)]},v=()=>{let e=[...i].sort((e,t)=>N(e)-N(t));return e.slice(1).flatMap((t,n)=>_(t,e[n]))},y=d.find(g)??[...d,...v()].reduce((e,t)=>m(t)>m(e)?t:e),b=h(y)??y,x=m(b);return{anchor:y,state:b,short:x>=2.2?null:x}}const nc=4.5;function rc(e,t,n){return ic(e,`${t.hex}|${n}`,()=>{let r=Or(t);return ac(e,[`background`,`foreground`].map(t=>qs(e,t)).reduce((e,t)=>P(r,t)<P(r,e)?t:e),t,n)})}const ic=ys();function ac(e,t,n,r){return oc(e,`${t.hex}|${n.hex}|${r}`,()=>kr(t,n,nc,r))}const oc=ys();function sc(e,t,n){return t.depth===0?Xs(e,t.ground):cc(e,t,n)}const cc=(e,t,n)=>t.depth===0?[]:[yc(e,{...t,depth:t.depth-1},n).plane],lc=(e,{short:t},n)=>t===null?[]:[`theme "${e.name}": no open-trigger colour stands ${Ys}:1 off every cell beside it — the nearest stands ${t.toFixed(2)}:1 as drawn at depth ${F[n]}; another shade or variation clears it`],uc=(e,t,n)=>t>=mc.triggerPlane?[]:[`theme "${e.name}": an open band's plane stands ΔE ${t.toFixed(3)} off the trigger that opened it as drawn at depth ${F[n]}, under the ${mc.triggerPlane} that tells them apart; another style clears it`],dc={base:.42,perDepth:.14,cap:.75},fc={floor:.12,span:.8};function pc(e,t){return bs[(bs.indexOf(e)+t)%bs.length]}const mc={triggerPlane:.1,nestedPlane:.035};function hc(e,t,n){return gc(e,`${_c(t)}|${n}`,()=>{let r=$s(e,pc(t.hue,t.depth),sc(e,t,n),n),{state:i}=r,a=Cc(e,t,i,n),o=Ar(yc(e,t,n).plane,n,(e,t)=>a.every(n=>n(e,t)));if(o===void 0)throw Error(`palette "${e.name}": the ${t.hue} band at depth ${t.depth} cannot keep its floors on the colours drawn at depth ${F[n]}`);let s=Zs(n);return{state:i,plane:o,shortfalls:n===F.DEFAULT?[]:[...lc(e,r,n),...uc(e,vc(s(i),s(o)),n)]}})}const gc=ys(),_c=({hue:e,depth:t,ground:n})=>`${e}|${t}|${n.map(e=>Cs(e.hue,e.shade)).join(`+`)}`,vc=(e,t)=>B.fromRgba(e).deltaE(B.fromRgba(t));function yc(e,t,n){return bc(e,`${_c(t)}|${n}`,()=>xc(e,t,n))}const bc=ys();function xc(e,t,n){let{anchor:r}=$s(e,pc(t.hue,t.depth),sc(e,t,n),n),i=Math.min(dc.cap,dc.base+dc.perDepth*t.depth),a=(t,n)=>Wn(r,qs(e,t),n),o=cc(e,t,n),s=e=>vc(Qs(r),Qs(e))>=mc.triggerPlane&&o.every(t=>vc(Qs(t),Qs(e))>=mc.nestedPlane),c=a(`background`,i);return{state:r,plane:[c,a(`foreground`,i),a(`background`,dc.cap),a(`foreground`,dc.cap),...Sc.toSorted((e,t)=>Math.abs(e-i)-Math.abs(t-i)).flatMap(e=>[a(`background`,e),a(`foreground`,e)])].find(s)??c}}const Sc=Array.from({length:12},(e,t)=>(t+1)/12);function Cc(e,t,n,r){let{hue:i,depth:a,ground:o}=t,s=t=>yc(e,{hue:i,depth:t,ground:o},r).state,c=t=>yc(e,{hue:i,depth:t,ground:o},r).plane,l=c(a),u=(e,t)=>vc(Qs(l),Qs(t))>=e?e:0,d=$s(e,pc(i,a+1),sc(e,{hue:i,depth:a+1,ground:o},r),r),f=P(Qs(l),Qs(d.anchor))>=2.2?Ys:0,p=(e,t)=>(n,r)=>vc(n,r(e))>=t;return[p(n,u(mc.triggerPlane,s(a))),(e,t)=>P(e,t(d.state))>=f,...a>0?[p(hc(e,{hue:i,depth:a-1,ground:o},r).plane,u(mc.nestedPlane,c(a-1)))]:[]]}function wc(e,t,n,r){let i=hc(e,t,r),a=yc(e,t,r),o=e=>Wn(a.plane,a.state,e),s=fc.floor+fc.span*Is(n),c=fc.floor+fc.span/2,l=(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex;for(let e=0;e<=12;e++){let t=Ar(o(s+(c-s)*e/12),r,l);if(t!==void 0)return t}return o(s)}const Tc=e=>({kind:`bar`,decor:e,address:[]}),Ec=(e,t)=>({...e,address:[...e.address,t]}),Dc=e=>({kind:`band`,band:e,address:[]});function Oc(e,t,n){switch(t.kind){case`bar`:{let{decor:r,address:i}=t,a=Us(r,i),o=Js(e,a),s;return{tint:o,text:r.shade.text(e,a.hue,o,n),disclosure:{hue:`accent`,depth:0,get ground(){return s??=Gs(r,i)}}}}case`band`:{let{band:r,address:i}=t,a=wc(e,r,i,n);return{tint:a,text:rc(e,a,n),disclosure:{...r,depth:r.depth+1}}}}}const kc=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function Ac(e){let t=typeof e==`string`?kc.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const jc=`textual-dark`;function Mc(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function Nc(){return Qr()}function Pc(){return[`bar`,...Nc()]}let Fc;function Ic(e){return Fc??=new Set(Pc()),Fc.has(e)}function Lc(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return Mc(e===void 0?null:a(e),t,a(n??r),r,a)}const Rc=[`style`,`palette`,`effect`];function zc(e){return e!==void 0&&e.includes(`{{`)}function Bc(e,t,n,r,i){let a=zc(n)?{kind:`expression`,source:n}:i(n??r.name);return Mc(e===void 0?null:i(e),t,a,r,i)}function Vc(e,t){return e.kind===`decided`?e:t(e.source)}const Hc=`none`;function Uc(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function Wc(e,t){return Uc(e,t)??Uc(`none`,t)??{kind:`decided`,name:`none`,value:cr}}function Gc(e,t,n,r){return Bc(e,t,n,Wc(Hc,r),e=>Uc(e,r))}const Kc=`none`,qc=Object.freeze([Kc,...Object.keys(fs.loops)]),Jc=Object.freeze([`bar`,...qc]);function Yc(e){let t=qc.find(t=>t===e);return t===void 0?null:{kind:`decided`,name:e,value:t}}function Xc(e){return Yc(e)??{kind:`decided`,name:`none`,value:`none`}}function Zc(e,t,n){return Bc(e,t,n,Xc(Kc),Yc)}const Qc=Object.freeze(Object.keys(po));function $c(e){return Qc.includes(e)}const el=[`powerline`,`capsule`,`plain`];function tl(e){return el.includes(e)}function nl(e,t,n){return Mc(e,t,n,`powerline`,e=>$c(e)?e:null)}const rl=[`unicode`,`ascii`];function il(e){return[...e].every(e=>e.codePointAt(0)<=127)}const al=`unicode`,ol=[`truecolor`,`256`,`ansi`,`none`];function sl(e){return On(e)??F.DEFAULT}const cl=Object.keys(ks);function ll(e){return cl.includes(e)}function ul(e,t,n){return Mc(e,t,n,`accent`,e=>ll(e)?e:null)}const dl=Object.keys(Ds);function fl(e){return dl.includes(e)}function pl(e,t,n){return Mc(e,t,n,`middle`,e=>fl(e)?e:null)}const ml=`true`,hl=`false`,gl=[ml,hl],_l={min:0,max:16};function vl(e){return e===`true`?!0:e===`false`?!1:null}function yl(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function bl(e){return yl(e,_l)}function xl(e,t,n){return Mc(e,t,n,!0,vl)}function Sl(e,t,n){return Mc(e,t,n,!0,vl)}function Cl(e,t,n){return Mc(e,t,n,!1,vl)}function wl(e,t,n){return Mc(e,t,n,1,bl)}var Tl=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const El=/[A-Za-z_$\p{L}]/u,Dl=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,Ol=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,kl=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var Al=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new Tl(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(kl.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
27
- `,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&Ol.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return at.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new Tl(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
18
+ `+t+`]`}return i.pop(),a=t,r}}})),lr=ve(ge(((e,t)=>{t.exports={parse:sr(),stringify:cr()}}))(),1),ur=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const dr=/[A-Za-z_$\p{L}]/u,fr=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,pr=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,mr=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var hr=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new ur(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(mr.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
19
+ `,this.pos);this.pos=e===-1?this.text.length:e}else if(e===`/`&&this.text[this.pos+1]===`*`){let e=this.text.indexOf(`*/`,this.pos+2);e===-1&&this.fail(`unterminated block comment`),this.pos=e+2}else return}}expect(e){this.peek()!==e&&this.fail(`expected "${e}"`),this.pos++}value(){this.skipTrivia();let e=this.peek();if(e===`{`)return this.object();if(e===`[`)return this.array();if(e===`"`||e===`'`){let e=this.stringSpan();return{kind:`string`,span:e,value:this.decode(e)}}e===``&&this.fail(`unexpected end of input`);let t=this.pos;for(;this.pos<this.text.length&&pr.test(this.peek());)this.pos++;this.pos===t&&this.fail(`unexpected character "${e}"`);let n={start:t,end:this.pos},r=this.decode(n);return r===null?{kind:`null`,span:n}:typeof r==`boolean`?{kind:`boolean`,span:n,value:r}:typeof r==`number`?{kind:`number`,span:n,value:r}:this.fail(`unexpected word "${this.text.slice(t,this.pos)}"`)}decode(e){try{return lr.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new ur(t.message,e.start)}}stringSpan(){let e=this.pos,t=this.peek();for(this.pos++;;){let n=this.peek();if(n===``&&this.fail(`unterminated string`),n===`\\`){let e=this.text.startsWith(`\r
28
20
  `,this.pos+1);this.pos+=e?3:2;continue}if(this.pos++,n===t)return{start:e,end:this.pos};n===`
29
- `&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(El.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&Dl.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new Tl(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function jl(e){let t=new Al(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function Ml(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function Nl(e,t){let n=e;for(let e of t)n=n===void 0?void 0:Ml(n,e)?.value;return n}function Pl(e,t){return e.slice(t.span.start,t.span.end)}function Fl(e,t){let n=Jl(e,t.span.start),r=Il(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return Pl(e,t).split(`
21
+ `&&this.fail(`unterminated string`)}}key(){let e=this.peek();if(e===`"`||e===`'`){let e=this.stringSpan();return{key:this.decode(e),span:e}}let t=this.pos;for(dr.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&fr.test(this.peek());)this.pos++;return{key:this.text.slice(t,this.pos),span:{start:t,end:this.pos}}}object(){let e=this.pos;this.expect(`{`);let t=[];for(;this.skipTrivia(),this.peek()!==`}`;){let{key:e,span:n}=this.key();if(t.some(t=>t.key===e))throw new ur(`duplicate key "${e}"`,n.start);this.skipTrivia(),this.expect(`:`);let r=this.value();if(t.push({key:e,keySpan:n,value:r,span:{start:n.start,end:r.span.end}}),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`}`&&this.fail(`expected "," or "}"`)}return this.expect(`}`),{kind:`object`,span:{start:e,end:this.pos},entries:t}}array(){let e=this.pos;this.expect(`[`);let t=[];for(;this.skipTrivia(),this.peek()!==`]`;){if(t.push(this.value()),this.skipTrivia(),this.peek()===`,`){this.pos++;continue}this.peek()!==`]`&&this.fail(`expected "," or "]"`)}return this.expect(`]`),{kind:`array`,span:{start:e,end:this.pos},elements:t}}};function gr(e){let t=new hr(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function _r(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function vr(e,t){let n=e;for(let e of t)n=n===void 0?void 0:_r(n,e)?.value;return n}function yr(e,t){return e.slice(t.span.start,t.span.end)}function br(e,t){let n=Nr(e,t.span.start),r=xr(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return yr(e,t).split(`
30
22
  `).map((e,t)=>{let r=a;return a+=e.length+1,(t>0&&!i(r-1)&&e.startsWith(n)?e.slice(n.length):e).replace(/\r$/,``)}).join(`
31
- `)}function Il(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...Il(e.value)]);case`array`:return e.elements.flatMap(Il);case`string`:return[e.span];default:return[]}}const Ll=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Rl(e){return Ll.test(e)?e:JSON.stringify(e)}const zl={key:Rl,trailingComma:`,`,parse:e=>at.default.parse(e)},Bl={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Vl(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Ul(Vl(e),` `,`
23
+ `)}function xr(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...xr(e.value)]);case`array`:return e.elements.flatMap(xr);case`string`:return[e.span];default:return[]}}const Sr=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Cr(e){return Sr.test(e)?e:JSON.stringify(e)}const wr={key:Cr,trailingComma:`,`,parse:e=>lr.default.parse(e)},Tr={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Er(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Or(Er(e),` `,`
32
24
  `)},`).join(`
33
- `)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${Rl(e)}: ${Ul(Vl(t),` `,`
25
+ `)}\n]`;if(typeof e==`object`&&e){let t=Object.entries(e).filter(([,e])=>e!==void 0);return t.length===0?`{}`:`{\n${t.map(([e,t])=>` ${Cr(e)}: ${Or(Er(t),` `,`
34
26
  `)},`).join(`
35
- `)}\n}`}return JSON.stringify(e)}function Hl(e){return e.includes(`\r
27
+ `)}\n}`}return JSON.stringify(e)}function Dr(e){return e.includes(`\r
36
28
  `)?`\r
37
29
  `:`
38
- `}function Ul(e,t,n){return e.split(`
39
- `).join(`${n}${t}`)}function Wl(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Ul(Wl(i,t,n),` `,`
40
- `)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function Gl(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function Kl(e,t){return e.lastIndexOf(`
41
- `,t-1)+1}function ql(e){return/^[ \t]*$/.test(e)}function Jl(e,t){let n=Kl(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function Yl(e,t){return ql(e.slice(Kl(e,t),t))}const Xl=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function Zl(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;Xl.lastIndex=n;let i=Xl.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function Ql(e,t){let{commaEnd:n,line:r}=Zl(e,t.end);if(Yl(e,t.start)&&r!==null)return Gl(e,Kl(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return Gl(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?Gl(e,i-1,t.end,``):Gl(e,t.start,t.end,``)}function $l(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:Gl(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=Hl(e);return Gl(o,s,s,`${c}${i}${Ul(r,i,c)}${a?`,`:``}`)}function eu(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=Jl(e,t.span.start);if(a===void 0){let i=o+` `,a=Hl(e);return Gl(e,t.span.start+1,t.span.end-1,`${a}${i}${Ul(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=Zl(e,a.span.end);if(Yl(e,a.span.start)&&c!==null){let t=e.slice(Kl(e,a.span.start),a.span.start);return $l(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return Gl(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function tu(e,t,n,r){if(t.length===0)throw new Tl(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=Hl(e);return`{${i} ${Ul(Wl(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return nu(e,jl(e),t,n,r)}function nu(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new Tl(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=Ml(a,n[t]);if(o===void 0)return eu(e,a,Wl(n.slice(t),r,i),i);if(t===n.length-1){let t=Jl(e,o.keySpan.start);return Gl(e,o.value.span.start,o.value.span.end,Ul(r,t,Hl(e)))}a=o.value}throw new Tl(`unreachable: path exhausted`,0)}function ru(e,t,n=0){if(t.length===0)throw new Tl(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=Nl(jl(e),r),a=i===void 0?void 0:Ml(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=Ql(e,a.span);return r.length>n&&i.entries.length===1?ru(o,r,n):o}const iu=[`h`,`v`,`children`];function au(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=Ml(e,`seg`)?.value,n=Ml(e,`kind`)?.value,r=Ml(e,`name`)?.value,i=t?.kind===`string`?t.value:n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0;if(i===void 0)return;let a=Ml(e,`id`)?.value;return a?.kind===`string`?a.value:i}function ou(e){return e.kind===`object`?iu.map(t=>Ml(e,t)?.value).filter(e=>e?.kind===`array`):[]}function su(e){let t=Ml(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function cu(e){if(e.kind!==`object`)return!0;let t=su(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*lu(e,t){yield{node:e,bareAt:t};for(let t of ou(e))for(let e of t.elements)yield*lu(e,null);for(let n of su(e)??[])yield*lu(n.value,t===null?null:[...t,`rows`,n.key])}function uu(e,t){for(let{node:n}of lu(e,null))if(au(n)===t)return!0;return!1}function du(e,t,n){let r=Nl(jl(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of lu(r,t))if(au(i)===n)return a===null?{text:e,ref:i}:du(tu(e,a,`{ h: [${Pl(e,i)}] }`,zl),t,n);return null}function fu(e,t,n){let r=du(e,t,n);return r===null?null:Ql(r.text,r.ref.span)}function pu(e,t,n,r,i){let a=du(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=n.id===void 0?JSON.stringify(n.seg):`{ seg: ${JSON.stringify(n.seg)}, id: ${JSON.stringify(n.id)} }`,{commaEnd:l,line:u}=Zl(o,s.span.end);if(Yl(o,s.span.start)&&u!==null){let e=o.slice(Kl(o,s.span.start),s.span.start);return i===`after`?$l(o,s.span,{commaEnd:l,line:u},c,e):Gl(o,s.span.start,s.span.start,`${c},${Hl(o)}${e}`)}let d=Pl(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return Gl(o,s.span.start,s.span.end,f)}function mu(e,t,n,r,i){let a=du(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${Rl(r)}: ${i} }`;return s.kind===`string`?Gl(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):Ml(s,`settings`)===void 0?nu(o,s,[`settings`],c,zl):nu(o,s,[`settings`,r],i,zl)}var hu=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(yu(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function W(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=gu(e,n,i);if(t===-1)return r===void 0?void 0:_u(e,r);n=t,r=t}return r===void 0?void 0:_u(e,r)}function gu(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function _u(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function vu(e,t){try{return jl(t),null}catch(n){if(!(n instanceof Tl))throw n;return`${e}:${_u(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function yu(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
42
- `)}const bu=[`vertical`,`horizontal`],xu={vertical:`row`,horizontal:`cell`};function Su(e){return e.id??e.name}function Cu(e){return[...Eu(e)].flatMap(e=>e.kind===`segment`?[Su(e)]:[])}function wu(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function Tu(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*Eu(e){yield e;for(let t of Au(e))yield*Eu(t)}const Du=(e,t)=>`${e}.children[${t}]`,Ou=e=>`${e}.opens.body`;function*ku(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*ku(r,Du(t,n));else e.opens!==void 0&&(yield*ku(e.opens.body,Ou(t)))}function Au(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}const ju=[`shade`,`variation`,`style`];function Mu(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const Nu=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function Pu(e){return e.kind===`file`||e.kind===`shell`||e.kind===`template`}const Fu=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],Iu=`theme`,Lu=`effect`,Ru=[Iu,Lu];function zu(e){return{...e.settings,[Iu]:{label:Iu,domain:`theme`,default:e.palette??`bar`},[Lu]:{label:Lu,domain:Jc,default:`bar`}}}function Bu(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Vu(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Bu(r)?.atLeast;if(i===void 0)return[];let a=t[n],o=t[i];return a>=o?[]:[{setting:n,message:`"${n}" (${a}) is below "${i}" (${o}) — ${r.label} must be at least ${e[i].label}`}]})}function Hu(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&Ic(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function Uu(e){return String(e)}function Wu(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return yl(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return Hu(e,r)?r:void 0}function Gu(e,t,n,r){let i=e.settings?.[t]??n.default,a=e.drafts?.[t],o=a===void 0?null:r(a);return(o===null?void 0:Wu(n,o))??i}function Ku(e){let{domain:t}=e;return t===`bool`?`true or false`:t===`theme`?`"bar" (the bar's own theme) or an installed theme name`:`min`in t?`an integer from ${t.min} to ${t.max}`:`one of ${t.map(e=>JSON.stringify(e)).join(`, `)}`}const qu=[`left`,`center`,`right`],Ju=[`right`,`left`,`middle`];function Yu(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${td(i)}`,line:W(e.source,[...t.split(`.`),r])}),null)}function Xu(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${td(i)}`,line:W(e.source,[...t.split(`.`),`default`])});return}return i}}function Zu(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${td(i)}`,line:W(e.source,[...t.split(`.`),r])});return}return i}}function Qu(e,t,n){let r=Zu(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${Ac(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:W(e.source,[...t.split(`.`),`palette`])});return}return r}}function $u(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${G(a)}`,line:W(e.source,[...t.split(`.`),r])});return}return a}}function ed(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function td(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function G(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function nd(e,t,n,r){return ed(r)?(od(e,n,r,t.noun,new Set(Object.keys(t.fields)),rd(e,t.removed??{},n,r)),id(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${td(r)}`,line:W(e.source,n.split(`.`))}),null)}function rd(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)sd(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function id(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}const ad=new Set;function od(e,t,n,r,i,a=ad){for(let o of Object.keys(n))!i.has(o)&&!a.has(`${t}.${o}`)&&e.issues.push({path:`${t}.${o}`,message:`Unknown ${r} "${o}". Expected one of: ${[...i].join(`, `)}`,line:W(e.source,[...t.split(`.`),o])})}function sd(e,t,n){return e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))}),null}function cd(e,t,n,r){if(!ed(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${td(r)}`,line:W(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:W(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:W(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:W(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function ld(e,t,n,r){if(!ed(r))return e.issues.push({path:n,message:`${n} must be an object, got ${td(r)}`,line:W(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${td(i)}`,line:W(e.source,n.split(`.`))}),null;let a=t.arms;if(!(i in a))return e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:W(e.source,[...n.split(`.`),t.tag])}),null;let o=a[i],s=e.issues.length,c=o.parse(e,n,r),l=new Set(e.issues.slice(s).map(e=>e.path));return od(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function ud(e,t,n){return{json:wd(Sd(n),e,t),keys:new Set([e,...Object.keys(n)])}}function dd(e){return(...t)=>e()(...t)}function fd(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:W(n.source,o.split(`.`))}),null}return a}}function pd(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Zu(e,t,r,n)}}function md(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${td(i)}`,line:W(e.source,[n])});return}return i}}}}function hd(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${G(o)}`,line:W(e.source,[i])});return}return o}}}}function gd(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${G(a)}`,line:W(e.source,[r])});return}return a}}}}function _d(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>Qu(e,t,r)}}function vd(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>Yu(e,t,r,n)??void 0}}function yd(e,t){return f(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function bd(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=Yu(e,t,r,n);if(i===null)return;let a=yd(`${t}.${n}`,i);return a===null?i:sd(e,`${t}.${n}`,a)??void 0}}}function xd(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>$u(t,n,i,r,e)}}function Sd(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function Cd(e){return Sd(e.fields)}function wd(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function Td(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function Ed(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const Dd=/^[A-Za-z_][A-Za-z0-9_]*$/;function Od(e){return`#${e+1}`}const kd={rows:{}};function Ad(e){return`rows`in e}function jd(e){return Object.fromEntries(e.map((e,t)=>[Od(t),e]))}function Md(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:jd(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:jd([n])}}function Nd(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Pd(e){return Ad(e)?Nd(e):e}function*Fd(e,t){if(!Ad(e)){yield*ku(e,t);return}yield[Nd(e),t];for(let[n,r]of Object.entries(e.rows))yield*ku(r,`${t}.rows.${n}`)}function Id(e,t){return Ad(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Md(e)}function Ld(e){if(!Ad(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function Rd(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:Vd(t.segments,zd(t.segments,e.segments??{})),root:Id(e.root??kd,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:Vd(t.presets,Bd(t.presets,e.presets??{})),themeDefaults:Vd(t.themeDefaults,e.themeDefaults??{}),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function zd(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.settings===void 0?n:{...n,settings:{...e[t]?.settings,...n.settings}}]))}function Bd(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.globals===void 0?n:{...n,globals:{...e[t]?.globals,...n.globals}}]))}function Vd(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const Hd=`closed`,Ud=`🍫`;function Wd(e,t,n){if(t===0)return`${e} needs a display (the clickable text)`;if(t!==1&&t!==n)return`${e} cycles ${n} members; bind one display per member (${n}) or one static display, got ${t}`}function Gd(e,t,n,r){let i=Wd(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Kd(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function qd(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Jd(e,...t){return`{{ and ${[e,...t].map(Yd).join(` `)} }}`}function Yd(e){return`(eq .${e.variable} "${Kd(e.member)}")`}function Xd(e,t,n){return`{{ ${Zd(e,Qd(t),Qd(n))} }}`}function Zd(e,t,n){return`action "${e}" ${t} ${n}`}function Qd(e){return`"${Kd(e)}"`}function $d(e,t){return{kind:`state`,key:e,default:t}}function ef(e,t){return{set:e,cycle:[Hd,t]}}const tf={required:!1,json:{enum:[...ol]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${ol.join(`, `)}`,line:W(e.source,[...t.split(`.`),n])});return}return $u(e,t,r,n,ol)}},nf={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=Zu(e,t,r,n);return zc(i)?i:Qu(e,t,r)}},rf={required:!1,json:{anyOf:[{enum:[...qc]},{type:`string`,pattern:`\\{\\{`}]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&zc(i)?i:$u(e,t,r,n,qc)}},af=/^[^\r\n]*\S[^\r\n]*$/u,of=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),sf={required:!1,json:{type:`string`,pattern:af.source,not:{pattern:of.source}},parse:(e,t,n,r)=>{let i=Zu(e,t,r,n);if(i===void 0||af.test(i)&&!of.test(i))return i;e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: must be one line of visible text other than a close glyph ("✖", "✕") — the settings menu needs a glyph to click`,line:W(e.source,[...t.split(`.`),n])})}};function cf(e){return{spec:xd(e),domain:{from:e}}}function lf(){return{spec:md(),domain:`bool`}}function uf(e){return{spec:e,domain:`text`}}const df={default_empty_value:uf(pd()),default_separator:uf(pd()),palette:{spec:nf,domain:{themes:`themes`}},style:{spec:pd(),domain:{from:`styles`}},effect:{spec:rf,domain:{from:qc}},preset:{spec:pd(),domain:{from:`presets`}},endcaps:cf(Qc),variation:cf(cl),shade:cf(dl),autoWrap:lf(),padding:{spec:hd(_l),domain:{..._l,step:1}},charset:cf(rl),updateNotice:lf(),transitions:lf(),colorCompatibility:{spec:tf,domain:{from:ol}},menuGlyph:uf(sf)},ff=Object.fromEntries(Object.entries(df).map(([e,t])=>[e,t.spec]));function pf(e){return df[e].domain}function mf(e){let t=pf(e);if(t===`text`)throw Error(`globals.${e} is free text, which no control can change — list it in UNCONTROLLED_GLOBALS instead of SETTINGS`);return t}function hf(e,t){return{required:!1,json:{not:{},description:`not allowed here — ${e}`},parse:(e,n,r,i)=>{i[r]!==void 0&&e.issues.push({path:`${n}.${r}`,message:t(`${n}.${r}`),line:W(e.source,[...n.split(`.`),r])})}}}function gf(e){return hf(`${e} cannot select a preset`,t=>`${t}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`)}function _f(e){return hf(`${e} cannot change the settings menu glyph`,t=>`${t}: ${e} cannot change the settings menu glyph — one menu is shared by every preset. Set it in the top-level globals.menuGlyph instead.`)}function vf(e,t,n){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(r,i,a,o)=>{let s=o[a];if(typeof s==`string`&&zc(s)){r.issues.push({path:`${i}.${a}`,message:`${i}.${a}: a rule is not allowed here — ${t} ${n}, so it names a value. Write the rule in globals.${a} (or a preset's globals.${a}) instead.`,line:W(r.source,[...i.split(`.`),a])});return}return e.parse(r,i,a,o)}}}const yf={default_bg:"nothing reads it — a segment with no `bg:` wears the decoration tint of its place in the bar. Delete the key, and author `bg:` on the segments that need a fixed colour.",default_fg:"nothing reads it — a segment with no `fg:` wears text chosen for contrast against its background. Delete the key, and author `fg:` on the segments that need a fixed colour.",default_truncate_marker:'nothing reads it — a segment clipped to its `width:` always ends in "…". Delete the key.',look:`it was renamed "style" — write the same name as style: "<name>"`,progression:`it was renamed "variation", and its values with it: accent (was secondary-accent), duo (was primary-secondary), mono (was primary)`},bf={noun:`globals key`,fields:ff,removed:yf},xf={preset:gf(`a preset`),menuGlyph:_f(`a preset`)},Sf={noun:`preset globals key`,fields:{...ff,...xf},removed:yf};function Cf(e){return Nf(e)&&!(e in xf)}const wf=`is decided later than any rule could be settled`,Tf={noun:`editGlobals key`,removed:yf,fields:{...ff,preset:gf(`the editGlobals fragment`),menuGlyph:_f(`the editGlobals fragment`),palette:vf(ff.palette,`the editGlobals fragment`,wf),style:vf(ff.style,`the editGlobals fragment`,wf),effect:vf(ff.effect,`the editGlobals fragment`,wf)}},Ef={noun:`theme default key`,fields:{...Object.fromEntries(ju.map(e=>[e,ff[e]])),style:vf(ff.style,`a theme's default`,`is the look that theme wears by name`)}};function Df(e,t){if(!ed(t))return e.issues.push({path:`themeDefaults`,message:`themeDefaults must be an object mapping theme names to { shade, variation, style }, got ${td(t)}`,line:W(e.source,[`themeDefaults`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=`themeDefaults.${r}`;if(!e.allowedPalettes.has(r)){e.issues.push({path:t,message:`${t}: "${r}" is not an installed theme${Ac(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:W(e.source,[`themeDefaults`,r])});continue}let a=nd(e,Ef,t,i);a!==null&&(n[r]=a)}return n}function Of(e,t,n){return n===void 0?{}:nd(e,bf,t,n)??{}}function kf(e,t,n){return nd(e,Sf,t,n)??{}}function Af(){return Cd(Sf)}function jf(e,t,n){return nd(e,Tf,t,n)??{}}const Mf=new Set(Object.keys(ff));function Nf(e){return Mf.has(e)}function Pf(){return[...Mf]}const Ff={padding:1};function If(e){let t=new Map;for(let[n,r]of Object.entries(Ff)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function Lf(e,t,n,r){return n.cache===void 0?(e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${Nu.join(`, `)})`,line:W(e.source,t.split(`.`))}),null):Hf(e,`${t}.cache`,n.cache)}function Rf(e,t,n){if(n.cache!==void 0)return Hf(e,`${t}.cache`,n.cache)??void 0}function zf(e){return{required:!0,json:Uf(),parse:(t,n,r,i)=>Lf(t,n,i,e)??void 0}}function Bf(){return{required:!1,json:Uf(),parse:(e,t,n,r)=>Rf(e,t,r)}}const Vf={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&Gf(n)?{ttl:n}:sd(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${G(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return sd(e,t,`cache.watch_file must be a path string, got ${G(n)}`);let r=yd(`cache.watch_file`,n);return r===null?{watch_file:n}:sd(e,t,r)}},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:sd(e,t,`cache.depends_on must be an array of variable-name strings, got ${G(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:sd(e,t,`cache.key must be a non-empty template string, got ${G(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:sd(e,t,`cache.never must be the literal boolean true, got ${G(n)}`)}}};function Hf(e,t,n){return cd(e,Vf,t,n)}function Uf(){return Ed(Vf)}const Wf=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function Gf(e){return Wf.test(e)}function Kf(e,t,n){if(n===void 0)return{};if(!ed(n))return e.issues.push({path:t,message:`${t} must be an object, got ${td(n)}`,line:W(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=ld(e,gp,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function qf(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${td(i)}`,line:W(e.source,t.split(`.`))});return}return i}}}function Jf(){return{required:!0,json:{enum:[...Fu]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!Fu.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${Fu.join(`, `)}, got ${JSON.stringify(i)}`,line:W(e.source,[...t.split(`.`),`field`])});return}return i}}}function Yf(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return Xu(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Xf={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:sd(e,t,`parse.text must be the literal boolean true, got ${G(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?Zf(e,t,n):sd(e,t,`parse.regex must be a pattern string, got ${G(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:sd(e,t,`parse.json must be the literal boolean true, got ${G(n)}`)}}};function Zf(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return sd(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:sd(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function Qf(){return{required:!1,json:Ed(Xf),parse:(e,t,n,r)=>(r.regex!==void 0&&e.issues.push({path:`${t}.regex`,message:`${t}.regex was retired; the regex is the parse step's regex arm now: parse: { regex: ${JSON.stringify(r.regex)} }`,line:W(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:cd(e,Xf,`${t}.parse`,r.parse)??void 0)}}function $f(){return{required:!1,json:{type:[`string`,`number`,`boolean`,`array`,`object`],description:`The value published when the source fails: a string under the text/regex parse arms, any non-null JSON value under the json arm`},parse:(e,t,n,r)=>ed(r.parse)&&`json`in r.parse?ep(e,t,r.default):Zu(e,t,r,`default`)}}function ep(e,t,n){if(n!==void 0)return tp(n)?n:sd(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${G(n)}`)??void 0}function tp(e){return e!==null&&np(e)}function np(e){if(e===null)return!0;switch(typeof e){case`string`:case`boolean`:return!0;case`number`:return Number.isFinite(e);case`object`:{if(Array.isArray(e))return e.every(np);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(np)}default:return!1}}const rp={value:qf(),default:pd()},ip={path:vd(),type:xd([`string`,`number`,`boolean`]),default:Yf()},ap={name:vd(),default:pd()},op={path:bd(),readMode:xd([`whole`,`first-line`]),parse:Qf(),cache:zf(`file`),default:$f()},sp={command:vd(),parse:Qf(),cache:zf(`shell`),default:$f()},cp={template:vd(),cache:Bf(),default:pd()},lp={layout:vd(),default:pd()},up={cache:`a time variable reads the instant its render is drawn at, so it takes no cache policy — delete the key`},dp={field:Jf(),default:pd()},fp={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},pp={key:vd(),default:pd()},mp=`kind`;function hp(e,t,n={}){return{...ud(mp,e,t),parse:(r,i,a)=>{rd(r,n,i,a);let o=id(r,t,i,a);return o===null?null:{kind:e,...o}}}}const gp={tag:mp,noun:`source kind`,memberNoun:`variable`,arms:{literal:hp(`literal`,rp),input:hp(`input`,ip),env:hp(`env`,ap),file:hp(`file`,op),shell:hp(`shell`,sp),template:hp(`template`,cp),time:hp(`time`,lp,up),git:hp(`git`,dp,fp),state:hp(`state`,pp)}};function _p(){return Td(gp)}function vp(){return{type:`object`,additionalProperties:_p()}}const yp=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],bp=[...yp,`other`],xp={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`};function Sp(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const Cp=`groups.`,wp=`menus.`,Tp=`edit.`,K=`candybar.`,Ep=[Cp,wp,Tp,K];function Dp(e){return Ep.some(t=>e.startsWith(t))}function Op(e){let t=Sp(e);return Ep.find(e=>t.startsWith(Sp(e)))}function kp(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:W(e.source,[`root`])})}const Ap=new Map([[`gitTaculous`,{kind:`built-in`,to:`gitaculous`}],[`git`,{kind:`built-in`,to:`gitaculous`}],[`settings.menu`,{kind:`built-in`,to:`candybar.menu`}],[`ticket`,{kind:`plugin`,to:`plugins.lit.ticket`,folder:`examples/plugins/lit`}]]);function jp(e){let t=Ap.get(e);if(t===void 0)return``;switch(t.kind){case`built-in`:return` (the built-in segment "${e}" was renamed to "${t.to}" — update this reference)`;case`plugin`:return` (the built-in segment "${e}" became "${t.to}", a segment of the plugin in cc-candybar's ${t.folder} — install that folder in a plugin root (docs/segment-authoring.md, "Installing a plugin instead of listing it"), then update this reference)`}}const Mp=/^[A-Za-z_][A-Za-z0-9_]*$/,Np={pattern:Mp.source},Pp={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Fp={type:`object`,additionalProperties:!1,required:[`label`,`domain`,`default`],properties:{label:{type:`string`,pattern:`^[^\\n\\r]+$`},domain:{anyOf:[{const:`bool`},{type:`array`,items:{type:`string`,pattern:`^[^/\\n\\r]+$`},minItems:1,uniqueItems:!0},{type:`object`,additionalProperties:!1,required:[`min`,`max`],properties:{min:{type:`integer`},max:{type:`integer`},step:{type:`integer`,minimum:1},atLeast:{type:`string`,...Np}}}]},default:Pp}},Ip=[`label`,`domain`,`default`],Lp=[`min`,`max`,`step`,`atLeast`];function Rp(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function zp(e,t,n){if(n===`bool`)return`bool`;if(Array.isArray(n)){let r=n.filter(e=>typeof e==`string`);if(n.length===0||r.length!==n.length)return Rp(e,t,`a list domain must be a non-empty list of words, got ${JSON.stringify(n)}`);if(new Set(r).size!==r.length)return Rp(e,t,`a list domain names each word once, got ${JSON.stringify(n)}`);let i=r.filter(e=>e===``||e.includes(`/`)||/[\n\r]/.test(e));return i.length>0?Rp(e,t,`a list domain's words must be non-empty, slash-free, and newline-free — configure mode writes each on the set-state wire — got ${JSON.stringify(i)}`):r}if(ed(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!Lp.includes(e)).length===0&&Number.isInteger(r)&&Number.isInteger(i)&&r<=i&&Number.isInteger(a)&&a>=1&&(o===void 0||typeof o==`string`)?{min:r,max:i,step:a,...o!==void 0&&{atLeast:o}}:Rp(e,t,`a range domain is { min, max, step?, atLeast? } with integers min ≤ max, a whole step ≥ 1, and atLeast naming another range setting, got ${JSON.stringify(n)}`)}return Rp(e,t,`domain must be "bool", a list of words, or { min, max }, got ${G(n)}`)}function Bp(e,t,n){if(!ed(n))return Rp(e,t,`${t} must be { label, domain, default }, got ${td(n)}`);for(let r of Object.keys(n))Ip.includes(r)||Rp(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Ip.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Rp(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${G(r)}`);let a=zp(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Vp(n.default)||!Hu(o,n.default)?Rp(e,`${t}.default`,`default must be ${Ku(o)}, got ${G(n.default)}`):o}function Vp(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}const Hp={theme:`its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${Iu}: "<theme>" }`,effect:`a placement follows the bar's effect, or sets its own with settings: { effect: "<effect>" }`};function Up(e){return Ru.includes(e)}function Wp(){return{required:!1,json:{type:`object`,propertyNames:{...Np,not:{enum:[...Ru]}},additionalProperties:Fp},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!ed(i))return Rp(e,a,`${a} must be an object of name → { label, domain, default }, got ${td(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!Mp.test(t)){Rp(e,`${a}.${t}`,`setting name "${t}" is read as .settings.${t} in a template, so it must be an identifier (letters, digits, _; not starting with a digit)`);continue}if(Up(t)){Rp(e,`${a}.${t}`,`setting "${t}" is one every placement already has — ${Hp[t]}`);continue}let r=Bp(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}const Gp=Ep.map(e=>e.replace(/\./g,`\\.`)).join(`|`);function Kp(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^(?!${Gp})[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)&&!Dp(i)?i:Rp(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", outside the reserved ${Ep.map(e=>`"${e}"`).join(`, `)} namespaces, got ${G(i)}`)}}}function qp(){return{required:!1,json:{type:`object`,propertyNames:Np,additionalProperties:Pp},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!ed(i))return Rp(e,a,`a placement's "settings" must be an object of setting name → value, got ${td(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Vp(n)?o[t]=n:Rp(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${td(n)}`);return o}}}function Jp(e){return new Set(Object.keys(e.segments).filter(e=>!Dp(e)))}function Yp(e,t,n){if(t===void 0)return{};if(!ed(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${td(t)}`,line:W(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=nd(e,n.has(i)?tm:em,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function Xp(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?sd(e,`${t}.${n}`,`${t} declares no template — only a segment the bundled default declares may omit it (inheriting the bundled template); a segment of your own needs its own${jp(t.slice(9))}`)??void 0:Yu(e,t,r,n)??void 0}}function Zp(){return{required:!1,json:{anyOf:[{const:`auto`},{const:`fill`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(i===`fill`)return`fill`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto", "fill", or a positive integer, got ${G(i)}`,line:W(e.source,[...t.split(`.`),n])})}}}}function Qp(){return{required:!1,json:vp(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return Kf(e,`${t}.${n}`,i)}}}const $p={template:Xp(),description:pd(),group:xd(yp),width:Zp(),justify:xd(qu),truncate:xd(Ju),bg:pd(),fg:pd(),when:pd(),palette:_d(),vars:Qp(),settings:Wp()},em={noun:`segment key`,fields:$p},tm={noun:`segment key`,fields:{...$p,template:pd()}},nm=`#/definitions/LayoutNode`,rm={kind:`container`,direction:`vertical`,children:[]};function im(e){return{required:!0,json:{const:e},parse:()=>e}}function am(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${G(i)}`,line:W(e.source,[`root`])}),``)}}}function om(){return{required:!0,json:{enum:[...bu]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&bu.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${bu.join(`, `)} (got ${JSON.stringify(i)})`,line:W(e.source,[`root`])}),`vertical`)}}}function sm(e){return{required:!0,json:{type:`array`,items:{$ref:nm}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${td(a)}`,line:W(t.source,[`root`])}),[])}}}const cm={noun:`layout-node key`,fields:{kind:im(`segment`),name:am(),when:pd(),id:Kp(),settings:qp()}},lm=()=>xd(Ms),um={noun:`layout-node key`,fields:{kind:im(`container`),direction:om(),children:sm(dd(()=>hm)),when:pd(),distribution:lm()}};function dm(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${G(i)}`,line:W(e.source,[`root`])}),``)}}}const fm={noun:`layout-node key`,fields:{seg:dm(),when:pd(),id:Kp(),settings:qp()}},pm={noun:`layout-node key`,fields:{h:sm(dd(()=>hm)),when:pd(),distribution:lm()}},mm={noun:`layout-node key`,fields:{v:sm(dd(()=>hm)),when:pd(),distribution:lm()}},hm=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:W(e.source,[`root`])}),rm):{kind:`segment`,name:n};if(!ed(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${td(n)}`,line:W(e.source,[`root`])}),rm;if(n.kind===`container`)return nd(e,um,t,n)??rm;if(n.kind===`segment`)return nd(e,cm,t,n)??rm;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
43
- Old: { kind: "cells", segments: ["seg1", "seg2"] }
44
- New: { h: ["seg1", "seg2"] }`,line:W(e.source,[`root`])}),rm;if(n.kind===`group`){let r=nd(e,Sm,t,n);return r===null?rm:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),wm(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:W(e.source,[`root`])}),rm}if(a){let r=nd(e,fm,t,n);return r===null?rm:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when},...r.id!==void 0&&{id:r.id},...r.settings!==void 0&&{settings:r.settings}}}if(r){let r=nd(e,pm,t,n);return r===null?rm:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=nd(e,mm,t,n);return r===null?rm:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:W(e.source,[`root`])}),rm};function gm(){return{required:!0,json:{type:`object`,propertyNames:{pattern:Dd.source},additionalProperties:{$ref:nm}},parse:(e,t,n,r)=>{let i=r[n];if(!ed(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${td(i)}`,line:W(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!Dd.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:W(e.source,[...t.split(`.`),n,r])});continue}a[r]=hm(e,`${t}.${n}.${r}`,o)}return a}}}const _m={noun:`root key`,fields:{rows:gm(),when:pd(),distribution:lm()}};function vm(e,t,n){return ed(n)&&`rows`in n?nd(e,_m,t,n)??{rows:{}}:hm(e,t,n)}function ym(){return{required:!0,json:{type:`string`,pattern:Dd.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!Dd.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${Hd}", got ${G(i)}`,line:W(e.source,[`root`])});return}return i}}}function bm(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${G(i)}`,line:W(e.source,[`root`])});return}return i}}}}function xm(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=Yu(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:W(e.source,[...t.split(`.`),n])});return}return i}}}}const Sm={noun:`layout-node key`,fields:{kind:im(`group`),name:ym(),label:xm(),open:md(),direction:xd(bu),key:bm(),bg:pd(),fg:pd(),when:pd(),distribution:lm(),children:sm(dd(()=>hm))}};function Cm(e){return e.key??`groups.`+e.name}function wm(e){let t=Cp+e.name;return qd(t,{variable:t,key:Cm(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function Tm(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function Em(e,t){kp(e,t,Cp,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&Tm(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&Cm(t)===Cm(r)&&Tm(e,t.path,`group "${t.name}" shares key "${Cm(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=Cm(t);if(i.has(n)||i.set(n,Hd),t.open===!0){let r=i.get(n);r!==`closed`&&Tm(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=Cp+e.name,r=Cm(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=$d(r,i.get(r)),o[t]=ef(r,e.name),s[t]={template:Xd(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}var Dm=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e,{cause:n.cause}),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?Im(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},Om=class extends Dm{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},km=class extends Dm{name=`EvalError`;kind=`EvalError`},Am=class extends km{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Lm(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},jm=class extends km{name=`ArgCountError`;kind=`ArgCountError`;funcName;accepted;got;constructor(e,t,n,r,i={}){let a=t.minimum===t.maximum?`${t.minimum}`:`at least ${t.minimum}`;super(`wrong number of args for ${e}: want ${a} got ${n}`,r,i),this.funcName=e,this.accepted=t,this.got=n}},Mm=class extends km{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},Nm=class extends Mm{constructor(e,t,n,r,i={}){super(e,t,`integer`,String(n),r,i),this.message=Number.isInteger(Number(n))?`integer out of range: ${String(n)}`:`expected integer; found ${String(n)}`}},Pm=class extends km{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},Fm=class extends km{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function Im(e,t){let n=e.split(`
45
- `),r=t.line-1,i=[];if(r-1>=0&&r-1<n.length&&i.push({num:r,text:n[r-1]??``}),r>=0&&r<n.length&&i.push({num:r+1,text:n[r]??``}),r+1<n.length&&i.push({num:r+2,text:n[r+1]??``}),i.length===0)return``;let a=String(i[i.length-1]?.num??1).length,o=[];for(let e of i)if(o.push(` ${String(e.num).padStart(a,` `)} | ${e.text}`),e.num===t.line){let e=` ${` `.repeat(a)} | `,n=` `.repeat(Math.max(0,t.column-1));o.push(`${e}${n}^`)}return o.join(`
46
- `)}function Lm(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Rm(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function Rm(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function zm(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const Bm=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),Vm={left:`{{`,right:`}}`};var Hm=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=Vm){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new Om(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&Um(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);Um(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);Um(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;Um(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;Um(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&(Gm(e)||Wm(e)&&Gm(this.src[this.offset+1]??``)||e===`.`&&Gm(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&Xm(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
47
- `)throw this.err(`newline in interpreted string`,e,{found:`\\n`});if(n===`"`)return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated string literal`,e,{expected:`"`,found:`end of input`})}readRawString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){if(this.src[this.offset]==="`")return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated raw string literal`,e,{expected:"`",found:`end of input`})}readChar(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
48
- `)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(Wm(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);Km(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);qm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);Jm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;Gm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);Gm(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),Wm(this.src[this.offset]??``)&&this.advanceBy(1);Gm(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return Km(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);Zm(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&Xm(this.src[this.offset+1]??``);)for(this.advanceBy(1);Zm(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!Xm(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;Zm(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&Xm(this.src[this.offset+1]??``);)for(this.advanceBy(1);Zm(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;Zm(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=Bm.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
49
- `)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
50
- `?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function Um(e){return e===` `||e===` `||e===`\r`||e===`
51
- `}function Wm(e){return e===`+`||e===`-`}function Gm(e){return e>=`0`&&e<=`9`}function Km(e){return Gm(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function qm(e){return e>=`0`&&e<=`7`}function Jm(e){return e===`0`||e===`1`}function Ym(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function Xm(e){return Ym(e)||e===`_`}function Zm(e){return Xm(e)||Gm(e)}let Qm,$m;function eh(e,t){return $m(e,t)}var th=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{Qm=(t,n)=>new e(t,n),$m=(e,t)=>e.#e.get(t)??(e.#t&&$m(e.#t,t))}has(e){return $m(this,e)!==void 0}};function nh(e,t,n=th.EMPTY){return new rh(e,t,n).parseTemplate()}var rh=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new Hm(e,t):new Hm(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:oh(n)});return n}errAt(e,t,n={}){return new Om(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${oh(e)}`,{found:oh(e)})}return{root:e,defines:Qm(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=ah(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return ih(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${oh(n)} at top level`,{found:oh(n)})}return ih(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new Om(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new Om(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:oh(e)});return mh(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!sh(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:oh(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[ch(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(ch(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;sh(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return ch(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:mh(e.value,e.pos,this.source)};case`Number`:return uh(e);case`Char`:return dh(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${oh(e)}`,{expected:`command argument`,found:oh(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function ih(e,t){return{type:`List`,pos:e,nodes:t}}function ah(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function oh(e){return e.type===`EOF`?`end of input`:e.value||e.type}function sh(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function ch(e){return{type:`Variable`,pos:e.pos,idents:lh(e.value)}}function lh(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function uh(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=fh(i);return{...s,intValue:e}}if(a){let e=ph(i);return{...s,floatValue:e}}let c=ph(i);return{...s,complexValue:[0,c]}}function dh(e,t){let n=hh(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function fh(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function ph(e){return Number(e)}function mh(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
52
- `;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new Om(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function hh(e,t,n){let r=mh(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new Om(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function gh(e,t){if(t(e)!==!1)for(let n of _h(e))gh(n,t)}function _h(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return zm(e)}}const vh=Symbol(`go-template-js.MISSING`);function yh(e,t){if(e==null)return vh;if(e instanceof Map)return e.has(t)?e.get(t):vh;if(Array.isArray(e))return vh;if(typeof e==`object`){let n=e;return t in n?n[t]:vh}return vh}function bh(e,t){let n=e;for(let e of t){if(n===vh)return vh;n=yh(n,e)}return n}function xh(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>xh(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!xh(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>xh(e[n],t[n])):!1}return!1}const Sh=new WeakSet;function Ch(e){return Sh.add(e),e}function wh(e){return Sh.has(e)}function Th(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function Eh(e,t){return{eq:{fn:(e,...t)=>t.some(t=>kh(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!kh(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>Ah(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>Ah(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>Ah(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>Ah(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>jh(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=Mh(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>Ph(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>Lh(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${Lh(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>Kh(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>Yh(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>Yh(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>Bh(Lh(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>Uh(Lh(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>Gh(Lh(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!Th(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function Dh(){return{and:Ch({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!Th(t))return t;return t}}),or:Ch({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),Th(t))return t;return t}})}}function Oh(e,t){return{...Eh(e,t),...Dh()}}function kh(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):xh(e,t)}function Ah(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function jh(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Mh(e,t){if(Array.isArray(e)||typeof e==`string`){let n=Nh(t,e.length);if(n===e.length)throw Error(`index out of range: ${n}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${Fh(t)}`);return e[t]}throw Error(`index: cannot index ${Fh(e)}`)}function Nh(e,t){let n=typeof e==`bigint`?Number(e):e;if(typeof n!=`number`||!Number.isInteger(n))throw Error(`cannot index slice/array with type ${Ih(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function Ph(e,t){if(t.length>3)throw Error(`too many slice indexes: ${t.length}`);if(typeof e==`string`&&t.length>2)throw Error(`cannot 3-index slice a string`);let n=e.length,r=[0,n,n];t.forEach((e,t)=>{r[t]=Nh(e,n)});let[i,a,o]=r;if(i>a)throw Error(`invalid slice index: ${i} > ${a}`);if(a>o)throw Error(`invalid slice index: ${a} > ${o}`);return e.slice(i,a)}function Fh(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Ih(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function Lh(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=Rh(a,t),r=o}return n}function Rh(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const zh={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function Bh(e){return e.replace(/[\0"'&<>]/g,e=>zh[e]??e)}const Vh={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},Hh=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Uh(e){let t=``;for(let n of e){let e=Vh[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!Hh.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Wh=new TextEncoder;function Gh(e){let t=``,n=Wh.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function Kh(e,t,n,r){let i=``,a=0,o=0;for(;o<e.length;){let s=e[o];if(s!==`%`){i+=s,o+=1;continue}if(e[o+1]===`%`){i+=`%`,o+=2;continue}let c=o+1;for(;c<e.length&&`+-# 0`.includes(e[c]??``);)c+=1;for(;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;if(e[c]===`.`)for(c+=1;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;let l=e[c],u=e.slice(o+1,c),d=t[a++];i+=qh(l??``,u,d,n,r),o=c+1}return i}function qh(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?Jh(t,n):Jh(t,Rh(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Ih(n)}=${Rh(n,r)})`:Jh(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return Jh(t,Yh(n,r,i));case`q`:return Jh(t,JSON.stringify(Rh(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${Ih(n)}=${Rh(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return Jh(t,Number(n).toFixed(i))}case`t`:return Jh(t,Th(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return Jh(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Ih(n)}=${Rh(n,r)})`:typeof n==`bigint`?Jh(t,n.toString(16)):Jh(t,Math.trunc(n).toString(16));default:return`%!${e}(${Ih(n)}=${Rh(n,r)})`}}function Jh(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function Yh(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>Yh(e,t,n)).join(` `)}]`:e instanceof Map?Xh([...e.entries()],t,n):Zh(e)?Xh(Object.entries(e),t,n):String(e)}function Xh(e,t,n){let r=e=>Yh(e,t,n),i=e=>typeof e==`number`||typeof e==`bigint`,a=([e],[t])=>{if(i(e)&&i(t))return e<t?-1:+(e>t);if(i(e)!==i(t))return i(e)?-1:1;let[n,a]=[r(e),r(t)];return n<a?-1:+(n>a)};return`map[${[...e].sort(a).map(([e,t])=>`${r(e)}:${r(t)}`).join(` `)}]`}function Zh(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function Qh(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function $h(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function eg(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function tg(e,t,n){e.vars.set(t,n)}const ng=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],rg=new Set([`default`,`zero`,`error`]);function ig(e){if(e===void 0)return`default`;if(rg.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${ag(e)}`)}function ag(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function og(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${ag(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${ag(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${ag(e.right)}`);return{left:e.left,right:e.right}}}function sg(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function cg(e){let t=new Set(ng);for(let[n,r]of Object.entries(e)){if(r.argTypes.forEach((e,r)=>{if(!t.has(e))throw Error(`EngineConfig.funcs.${n}: argTypes[${r}] is ${JSON.stringify(e)}, which is not an ArgType; declare one of ${ng.join(`, `)}`)}),sg(r.arity)&&r.argTypes.length===0)throw Error(`EngineConfig.funcs.${n}: arity ${JSON.stringify(r.arity.kind)} needs at least one declared argType (it reads its repeating slot from the end of argTypes); declare the slots the Go signature has, or use { kind: "exact" }`);if(r.arity.kind===`alternating`&&(!Number.isSafeInteger(r.arity.minimum)||r.arity.minimum<0))throw Error(`EngineConfig.funcs.${n}: arity "alternating" needs a non-negative integer minimum, got ${String(r.arity.minimum)}; the gate rejects every count below it, so a negative or non-finite minimum would disable the lower bound`)}return e}const lg=Object.freeze({kind:`break`}),ug=Object.freeze({kind:`continue`}),dg={kind:`none`};let fg;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{fg=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function pg(e){let t=new Set,n=e=>{gh(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const mg={kind:`dynamic`};function hg(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=Ig(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:mg}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return mg;let t=e.cmds[0];if(t===void 0)return mg;let n=t.args[0];return n===void 0||n.type!==`Identifier`?mg:{kind:`call`,name:n.ident,args:t.args.slice(1).map(hg)}}default:return mg}}function gg(e){let t=[],n=e=>{gh(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(hg);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var _g=class{fromString;toString;isT;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??Tg,this.isT=e.isT??vg,this.missingKey=ig(e.missingKey),this.delims=og(e.delims),this.funcs=cg({...Oh(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=nh(e,this.delims,t);return fg(n.source,e=>this.evalParsed(n,e),n.defines,pg(n),gg(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=Qh(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw lg;case`Continue`:throw ug;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new km(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:zm(e)}}evalIf(e,t,n){Th(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(Th(r)){let i=$h(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=Ng(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=$h(t,o);if(i.length===1)tg(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;tg(a,e,r),tg(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===ug)continue;throw e}}}catch(e){if(e===lg)return;throw e}}evalTemplateInvoke(e,t,n){let r=eh(n.defines,e.name);if(!r)throw new km(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=$h(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=$h(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=eh(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new km(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,dg);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)tg(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new km(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new km(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new Am(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=wh(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}return this.invoke(i.ident,a,c,e.pos,n)}invoke(e,t,n,r,i){bg(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof Mm?new Mm(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof Fm?new Fm(t.message,r,{source:i.source}):t instanceof Dm?t:new km(`error calling ${e}: ${jg(t)}`,r,{source:i.source,cause:t})}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return Ig(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new Am(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return this.invoke(e.ident,t,[],e.pos,n)}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new km(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=bh(e,t);if(i!==vh)return i;if(this.missingKey===`error`)throw new Pm(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=eg(t,i);if(!a.found)throw new km(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(this.isT(e)){t.out.push(e);return}t.out.push(this.fromString(Yh(e,this.toString,this.isT)))}};const vg=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function yg(e){return new _g(e)}function bg(e,t,n,r,i,a=Tg,o=wg,s=vg){let{argTypes:c,arity:l}=t,u=xg(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new jm(e,u,n.length,r,{source:i});let d=Sg(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!Cg(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new Nm(e,t+1,l,r,{source:i}):new Mm(e,t+1,Ag(c),Mg(l),r,{source:i});if(c===`liftable`&&typeof l==`string`&&(n[t]=o(l)),c===`truncating-int`?n[t]=Math.trunc(Number(l)):(c===`int`||c===`float`)&&(n[t]=Number(l)),c===`ordered`){if(f===-1)f=t;else if(!Dg(n[f],l))throw new Mm(e,t+1,`${Ag(`ordered`)} of the same kind as ${Mg(n[f])}`,Mg(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!Og(n[p],l))throw new Mm(e,t+1,`${Ag(`comparable`)} of the same kind as ${Mg(n[p])}`,Mg(l),r,{source:i})}}}function xg(e,t){switch(t.kind){case`exact`:return{minimum:e.length,maximum:e.length};case`variadic`:return{minimum:e.length-1,maximum:1/0};case`alternating`:return{minimum:t.minimum,maximum:1/0}}}function Sg(e,t){let n=e.length;switch(t.kind){case`exact`:return t=>e[t];case`variadic`:return t=>e[Math.min(t,n-1)];case`alternating`:return t=>e[t%n]}}function Cg(e,t,n,r){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isSafeInteger(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`truncating-int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return r(t);case`list`:return Array.isArray(t);case`dict`:return Zh(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||Zh(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||Zh(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||Zh(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||r(t);case`serializable`:return Eg(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function wg(e){return e}function Tg(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new Mm(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,Mg(e),{line:0,column:0,offset:0})}function Eg(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function Dg(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Og(e,t){let n=kg(e),r=kg(t);return n===`nil`||r===`nil`?!0:n===r}function kg(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function Ag(e){switch(e){case`int`:return`integer (safe-integer number or bigint)`;case`truncating-int`:return`integer (finite number, truncated toward zero, or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function jg(e){return e instanceof Error?e.message:String(e)}function Mg(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Ng(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?Pg([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Pg(Object.entries(e)):[]}function Pg(e){return[...e].sort((e,t)=>Fg(e[0],t[0]))}function Fg(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function Ig(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function Lg(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Rg(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function zg(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function Bg(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=zg(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function Vg(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=zg(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function Hg(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function Ug(e){return JSON.stringify(e)??`null`}function Wg(){return{atoi:{fn:e=>Lg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>Bg(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>Vg(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Rg(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>Hg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>Ug(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const Gg={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Kg(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*Gg[a],n=n.slice(e[0].length)}return t?-r:r}function qg(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Gg.us?`${Math.floor(n)}ns`:n<Gg.ms?Jg(n,Gg.us,3,`µs`):n<Gg.s?Jg(n,Gg.ms,6,`ms`):Yg(n),t?`-${r}`:r}function Jg(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function Yg(e){let t=Math.floor(e/Gg.h);e-=t*Gg.h;let n=Math.floor(e/Gg.m);e-=n*Gg.m;let r=Math.floor(e/Gg.s),i=e-r*Gg.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function Xg(e){return e*Gg.s}function Zg(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function Qg(e,t){let n=t().getTime()-Zg(e).getTime();return qg(Math.round(n/1e3)*1e9)}const $g=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],e_=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],t_=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],n_=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function r_(e){return e<10?`0${e}`:String(e)}function i_(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function a_(e){return e<10?` ${e}`:String(e)}function o_(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${r_(Math.floor(n/60))}${r_(n%60)}`}function s_(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${r_(Math.floor(n/60))}:${r_(n%60)}`}function c_(e){return`${e>=0?`+`:`-`}${r_(Math.floor(Math.abs(e)/60))}`}function l_(e){return e===0?`Z`:o_(e)}function u_(e){return e===0?`Z`:s_(e)}function d_(e){return e===0?`Z`:c_(e)}function f_(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const p_=[[`.000000000`,e=>`.${f_(e.ms,9,!1)}`],[`.999999999`,e=>{let t=f_(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${f_(e.ms,6,!1)}`],[`.999999`,e=>{let t=f_(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${i_(e.ms)}`],[`.999`,e=>{let t=i_(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>$g[e.month-1]??`January`],[`Monday`,e=>t_[e.weekday]??`Monday`],[`Z07:00`,e=>u_(e.offsetMinutes)],[`-07:00`,e=>s_(e.offsetMinutes)],[`Z0700`,e=>l_(e.offsetMinutes)],[`-0700`,e=>o_(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>e_[e.month-1]??`Jan`],[`Mon`,e=>n_[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>c_(e.offsetMinutes)],[`Z07`,e=>d_(e.offsetMinutes)],[`15`,e=>r_(e.hour)],[`01`,e=>r_(e.month)],[`02`,e=>r_(e.day)],[`_2`,e=>a_(e.day)],[`03`,e=>r_(e.hour12)],[`04`,e=>r_(e.minute)],[`05`,e=>r_(e.second)],[`06`,e=>r_(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function m_(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of p_)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const h_={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function g_(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const __=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function v_(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=g_(new Intl.DateTimeFormat(`en-US`,{...h_,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=g_(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=y_(g_(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=__.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function y_(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function b_(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function x_(e,t){return m_(e,v_(Zg(t),b_()))}function S_(e,t,n){return m_(e,v_(Zg(t),n))}function C_(e,t){let n=Zg(t),r=Kg(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function w_(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:qg(Xg(t))}return typeof e==`bigint`?qg(Xg(Number(e))):typeof e==`number`?qg(Xg(e)):`0s`}const T_=36e11*24*365,E_=36e11*24*30,D_=36e11*24,O_=36e11,k_=6e10,A_=1e9;function j_(e){let t=Kg(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>T_?`${Math.floor(n/T_)}y`:n>E_?`${Math.floor(n/E_)}mo`:n>D_?`${Math.floor(n/D_)}d`:n>O_?`${Math.floor(n/O_)}h`:n>k_?`${Math.floor(n/k_)}m`:n>A_?`${Math.floor(n/A_)}s`:`0s`}function M_(e){let t=v_(Zg(e),b_());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function N_(e,t){let n=v_(Zg(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function P_(e){return e()}const F_=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],I_=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function L_(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function R_(e,t,n){return[e.slice(t,t+n),t+n]}function z_(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function B_(e,t){for(let[n,r]of F_.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function V_(e,t){for(let[n,r]of I_.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function H_(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function U_(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function W_(e,t){if(e[t]===` `){let[n,r]=z_(e,t+1,1,1);return[n,r]}return z_(e,t,1,2)}function G_(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=z_(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=z_(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=z_(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function K_(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=z_(e,t+1,2,2);return[n*r*60,i]}return G_(e,t,n)}function q_(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function J_(e,t,n){let[r,i]=R_(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function Y_(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=B_(t,n);return i.month=e,[r,i]}case`Monday`:return[H_(t,n),i];case`Jan`:{let[e,r]=V_(t,n);return i.month=e,[r,i]}case`Mon`:return[U_(t,n),i];case`2006`:{let[e,r]=z_(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=z_(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=z_(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=z_(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=W_(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=z_(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=z_(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=z_(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=z_(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=z_(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=z_(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=z_(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=z_(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=z_(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[q_(t,n),i];case`-0700`:{let[e,r]=G_(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=G_(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=z_(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=K_(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=K_(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=K_(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=J_(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=J_(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=J_(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const X_=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function Z_(e,t){let n=0,r=0,i=L_();for(;n<e.length;){let a=!1;for(let o of X_)if(e.startsWith(o,n)){let[e,s]=Y_(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function Q_(e,t){return Z_(e,t)}function $_(e){return String(Math.floor(Zg(e).getTime()/1e3))}function ev(e=()=>new Date){return{now:{fn:()=>P_(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>x_(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>S_(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>C_(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>M_(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>N_(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>w_(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>j_(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>Q_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>Qg(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>$_(e),argTypes:[`value`],arity:{kind:`exact`}}}}function tv(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function nv(...e){for(let t of e)if(!tv(t))return t}function rv(e,t){return tv(t)?e:t}function iv(e){return JSON.parse(e)}function av(e,t,n){return Th(n)?e:t}function ov(e){return JSON.stringify(e)??`null`}function sv(e){return JSON.stringify(e,null,2)??`null`}function cv(){return{default:{fn:(e,t)=>rv(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>tv(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>nv(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>av(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>iv(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>ov(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>sv(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function lv(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function uv(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return lv(...t)}function dv(e,t){return e[t]}function fv(e,t){return t in e}function pv(e){return Object.keys(e)}function mv(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function hv(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function gv(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function _v(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function vv(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function yv(e,t,n){return e[t]=n,e}function bv(e,t){return delete e[t],e}function xv(e){return Object.values(e)}function Sv(){return{dict:{fn:(...e)=>lv(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>dv(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>yv(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>bv(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>pv(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>xv(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>vv(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>_v(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>gv(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>fv(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>mv(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>hv(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}function Cv(e){throw new Fm(e)}function wv(){return{fail:{fn:e=>Cv(e),argTypes:[`string`],arity:{kind:`exact`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Tv(...e){for(let t of e)if(tv(t))return!1;return!0}function Ev(...e){for(let t of e)if(!tv(t))return!0;return!1}function Dv(e,t){return[...e,t]}function Ov(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function kv(e){return e.filter(e=>!tv(e))}function Av(...e){let t=[];for(let n of e)t.push(...n);return t}const jv={line:0,column:0,offset:0};function Mv(e,t,n,r){return new Mm(e,t,n,r,jv)}function Nv(...e){if(e.length<3)throw Mv(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!Fv(t))throw Mv(`dig`,e.length-1,`dict`,Iv(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Mv(`dig`,e,`string`,Iv(r[e]));return Pv(t,n,r,e.length)}function Pv(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!Fv(a))throw Mv(`dig`,r-1,`dict at intermediate key`,Iv(a));return Pv(a,t,n.slice(1),r)}function Fv(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function Iv(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Lv(e){return e[0]}function Rv(e,t){return t.some(t=>xh(t,e))}function zv(e){return e.slice(0,-1)}function Bv(e){return e[e.length-1]}function Vv(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Hv(...e){return e}function Uv(e,t){return[t,...e]}function Wv(e){return e.slice(1)}function Gv(e){return[...e].reverse()}function Kv(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function qv(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Jv(e){let t=[];for(let n of e)t.some(e=>xh(e,n))||t.push(n);return t}function Yv(e,...t){return e.filter(e=>!t.some(t=>xh(t,e)))}function Xv(){return{list:{fn:(...e)=>Hv(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Lv(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>Bv(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>Wv(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>zv(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>Vv(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>Gv(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>Jv(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>Yv(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Rv(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>kv(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>Kv(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>Av(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>Ov(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>Uv(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>Dv(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>qv(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>Dv(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>Hv(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Nv(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>Tv(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>Ev(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function Zv(...e){return e.reduce((e,t)=>e+t,0)}function Qv(e){return e+1}function $v(e){return e+1}function ey(...e){return e.reduce((e,t)=>e+t,0)}function ty(e){return Math.ceil(e)}function ny(e,t){return Math.trunc(e/t)}function ry(e,...t){return t.reduce((e,t)=>e/t,e)}function iy(e){return Math.floor(e)}function ay(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function oy(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function sy(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function cy(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function ly(e,t){return e%t}function uy(...e){return e.reduce((e,t)=>e*t,1)}function dy(...e){return e.reduce((e,t)=>e*t,1)}function fy(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function py(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function my(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),py(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return py(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:py(n,i+t,r).join(` `)}default:return``}}function hy(e,t){return e-t}function gy(e,...t){return t.reduce((e,t)=>e-t,e)}function _y(e){return py(0,e,e<0?-1:1)}function vy(){return{add:{fn:(...e)=>Zv(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>hy(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>uy(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>ny(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>ly(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>sy(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>ay(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>iy(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>ty(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>fy(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>ey(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>gy(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>dy(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>ry(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>Qv(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>$v(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>oy(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>cy(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>ay(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>my(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>_y(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>py(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function yy(e){return Array.from(e)}function by(e,t){return e===``?yy(t):t.split(e)}function xy(e,t){let n=yy(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function Sy(e,t,n){let r=yy(n);return t<7||r.length<t||e<0||e>r.length-t+1?n:`...${r.slice(e,e+t-6).join(``)}...`}const q={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},Cy=/^[-_\s]$/,wy=/^\p{P}$/u,Ty=/^\p{L}$/u,Ey=/^\p{Lu}$/u,Dy=/^\p{N}$/u;function Oy(e){return e!==void 0&&Cy.test(e)}function ky(e){return e!==void 0&&Ty.test(e)}function Ay(e){return e!==void 0&&Ey.test(e)}function jy(e){return e!==void 0&&Dy.test(e)}function My(e){return e!==void 0&&wy.test(e)}function Ny(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(Oy(n)){for(;r<e.length&&Oy(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(My(n)){for(;r<e.length&&My(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(Ay(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(Ay(e[r])){let n=r;for(;n<e.length&&Ay(e[n]);)n++;return n<e.length&&ky(e[n])?{word:{wt:q.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(ky(e[r])){let n=r+1;for(;n<e.length&&ky(e[n])&&!Ay(e[n]);)n++;return{word:{wt:q.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:q.UpperCase,text:n},next:r}}if(ky(n)){for(;r<e.length&&ky(e[r])&&!Ay(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(jy(n)){for(;r<e.length&&jy(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!Oy(e[r])&&!ky(e[r])&&!jy(e[r])&&!My(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function Py(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)Oy(r)?e.push(n):Ay(r)?e.push(r.toLowerCase()):e.push(r)}function Fy(e,t){if(e.length===0)return``;let n=yy(e),r=[],{word:i,next:a}=Ny(n,0);for(;a<n.length;){i.wt!==q.Connector&&Py(r,i,t);let e=i,o=i;if({word:i,next:a}=Ny(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)Py(r,i,t),{word:i,next:a}=Ny(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){Py(r,o,t);continue}if(e.wt===q.Punct)continue;if(i.wt!==q.Number){i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Ny(n,a),i.wt!==q.Alphabet){Py(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),Py(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)Py(r,i,t),{word:i,next:a}=Ny(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return Py(r,i,t),r.join(``).toLowerCase()}function Iy(e){if(e.length===0)return``;let t=yy(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!Oy(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,Oy(i)&&Oy(e)){n.push(e);continue}Oy(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Ly(e){return Iy(e)}function Ry(...e){return e.join(` `)}function zy(e,t){return t.includes(e)}function By(e,t){return t.startsWith(e)}function Vy(e,t){return t.endsWith(e)}function Hy(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
53
- `).map(e=>n+e).join(`
54
- `)}function Uy(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function Wy(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw Mv(`join`,2,`list of strings/primitives`,`list element of type ${Gy(e)}`);n.push(String(e))}return n.join(e)}function Gy(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function Ky(e){return Fy(e,`-`)}function qy(e){return e.toLowerCase()}function Jy(e,t){return`\n${Hy(e,t)}`}function Yy(e){return e.replace(/\s+/g,``)}function Xy(e,t,n){return n===1?e:t}function Zy(...e){return e.map(e=>`"${e}"`).join(` `)}function Qy(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function $y(e,t){return t.repeat(Math.max(0,e))}function eb(e,t,n){return by(e,n).join(t)}function tb(e){return Fy(e,`_`)}function nb(e,t){let n=by(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function rb(e,t){return by(e,t)}function ib(e,t,n){let r=ab(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function ab(e,t,n){if(n===0)return[];let r=by(t,e);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function ob(...e){return e.map(e=>`'${e}'`).join(` `)}function sb(e,t,n){let r=yy(n),i=t<0||t>r.length?r.length:t,a=Math.min(Math.max(0,e),i);return r.slice(a,i).join(``)}function cb(e){let t=``;for(let n of e)lb(n)?t+=n.toLowerCase():ub(n)?t+=n.toUpperCase():t+=n;return t}function lb(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function ub(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function db(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function fb(e){return e.trim()}function pb(e,t){if(e.length===0)return t;let n=new Set(yy(e)),r=yy(t),i=0;for(;i<r.length&&n.has(r[i]);)i+=1;let a=r.length;for(;a>i&&n.has(r[a-1]);)--a;return r.slice(i,a).join(``)}function mb(e,t){return t.startsWith(e)?t.slice(e.length):t}function hb(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function gb(e,t){let n=yy(t);if(e<0){let r=-e;return r>=n.length?t:n.slice(n.length-r).join(``)}return e>=n.length?t:n.slice(0,e).join(``)}function _b(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function vb(e){return e.toUpperCase()}function yb(e,t){return bb(e,`
55
- `,t)}function bb(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
56
- `)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function xb(e,t,n){return bb(e,t,n)}function Sb(){return{abbrev:{fn:(e,t)=>xy(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>Sy(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Ly(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Ry(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>zy(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>By(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>Vy(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>Hy(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>Uy(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>Wy(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>Ky(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>qy(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>Jy(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>Yy(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>Xy(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>Zy(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>Qy(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>$y(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>eb(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>tb(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>nb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>rb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>ib(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>ob(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>sb(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>cb(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>db(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>fb(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>pb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>mb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>hb(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>gb(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>_b(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>vb(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>yb(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>xb(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function Cb(e){return e}function wb(e,t,n){return n===void 0?wp+Sp(e)+`.`+Sp(t):Tb(n)}function Tb(e){return wp+Sp(e)}function Eb(e,t){return e+`.`+t}function Db(e){return e+`.page`}const Ob=[`closeOnPick`,`paged`,`key`,`distribution`],kb=e=>Ob.includes(e),Ab=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${Ms.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function jb(e){for(let t of Object.keys(e))if(!kb(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${Ab}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!Ns(r))throw Error(`{{ menu }} option "distribution" must be one of: ${Ms.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:Fs(r)}}const Mb=`default`,Nb={};function Pb(e){return[...new Set([Mb,...Object.keys(e)])]}function Fb(e,t,n){return Lc(void 0,e,t,Mb,n)}function Ib(e,t){let n={[Mb]:Nb,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Mb}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function Lb(e,t){let n=Ib(e.presets,t).root??kd;return{node:Nd(Id(n,e.root)),path:Ld(n)?`presets.${t}.root`:`root`}}function Rb(e,t){return{...e.globals,...Ib(e.presets,t).globals}}const zb=`menu`,Bb=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,Vb=e=>e.kind===`call`&&e.name===`dict`,Hb=e=>e.kind===`literal`&&typeof e.value!=`object`,Ub=e=>Wd(``,e,2)===void 0;function Wb(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&Vb(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(Vb))return t(`whose options (dict …) is not its last argument — ${Bb}`);if(i!==void 0&&a===void 0&&!Hb(i)&&Ub(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=Wd(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${Bb}`);let c=a===void 0?{}:uv(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);let l;try{l=jb(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=Op(u);if(e!==void 0)return t(`whose accordion key "${u}" lands in the reserved "${e}" namespace — a key is collapsed to an identifier (${JSON.stringify(u)} becomes "${Tb(u)}"), so it would share one open-state key with the synthesized accordion that owns that namespace instead of grouping only your own menus. Name the group without the reserved prefix`)}return{kind:`ok`,apply:n.value,options:l}}function Gb(e){let t=yg({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===zb).map(Wb)}catch{return`parse-failed`}}function Kb(e){let t=yg({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(zb)}catch{return!1}}function qb(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function Jb(e,t){kp(e,t,wp,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))Kb(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:W(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&Kb(i)&&qb(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of Eu(Pd(t.root)))typeof n.when==`string`&&Kb(n.when)&&qb(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);for(let[t,{template:r}]of Object.entries(n)){if(r===void 0||!Kb(r))continue;let n=Gb(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:Yb(r.apply);n!==void 0&&qb(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function Yb(e){if(e===``)return`with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action`;if(Cb(e)===`closed`)return`whose apply action is named "${Hd}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function Xb(e,t){let n={},r={},i=new Map,a=new Set,o=(e,n)=>{let r=`segments.${e}`;a.has(`${r}\0${n}`)||(a.add(`${r}\0${n}`),t.push({path:r,message:n}))};for(let t of Pb(e.presets)){let a=new Map,s=new Map;for(let c of Eu(Lb(e,t).node)){if(c.kind!==`segment`)continue;let t=e.segments[c.name];if(t===void 0)continue;i.has(c.name)||i.set(c.name,Gb(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=Su(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||Yb(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=Cb(i),f=wb(u,i,l.key),p=Db(f),m=l.key===void 0?`ind ${u} ${i}`:`key ${l.key}`,h=[f,p].find(e=>{let t=a.get(e);return t!==void 0&&t!==m});if(h!==void 0){o(c.name,`two {{ menu }} disclosures normalize to the same state key ("${h}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}a.set(f,m),a.set(p,m);let g=Eb(f,d),_=`${c.name}\0${e}`,v=s.get(g);if(v!==void 0&&v!==_){o(c.name,`two {{ menu }} disclosures resolve to the same identity ("${g}") — ${l.key===void 0?`a segment cannot contain two menus over the same apply action "${i}"`:`menus sharing key "${l.key}" must have distinct apply actions`}.`);continue}s.set(g,_),r[g]=ef(f,d),n[f]=$d(f,Hd),n[p]={kind:`state`,key:p,default:`0`},r[p]={set:p,int:!0}}}}return{...e,variables:{...e.variables,...n},actions:{...e.actions,...r}}}const Zb=yg({fromString:e=>e}),Qb=`edit.mode`,$b=`edit.configure`,ex=`edit.toggle`,tx=`edit.unconfigure`,nx=[ex,tx],rx=`arrange`,ix=`${Tp}draft.`;function ax(e,t){return`${e}:${t}`}const ox={variable:Qb,key:Qb,member:rx},sx=Jd(ox);function cx(e){try{return Zb.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function lx(e){if(Object.values(e.actions??{}).some(e=>`do`in e&&e.do.includes(`edit.toggle`)))return!0;for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&cx(e))return!0;return!1}function ux(e,t){if(kp(e,t,Tp,`edit mode`),!lx(t))return;let{variables:n,actions:r}=dx();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function dx(){return{variables:{[Qb]:$d(Qb,Hd),[$b]:$d($b,Hd)},actions:{[ex]:ef(Qb,rx),[tx]:{set:$b,to:Hd}}}}const fx=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*px(e){let t=e.indexOf(`{{`);for(;t!==-1;){let n=``,r=t+2;for(;r<e.length&&!e.startsWith(`}}`,r);){if(e.startsWith(`/*`,r)){let t=e.indexOf(`*/`,r+2);r=t===-1?e.length:t+2;continue}let t=r,i=e[r];if(r+=1,i===`"`||i===`'`||i==="`"){for(;r<e.length&&e[r]!==i;)r+=e[r]===`\\`&&i!=="`"?2:1;r+=1}n+=e.slice(t,r)}if(r>=e.length)return;yield n,t=e.indexOf(`{{`,r+2)}}const mx=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,hx=RegExp(`^(?:(\\$)(?:\\.(${mx}))?|\\.(${mx})?)(?=[\\s)]|$)`);function gx(e,t,n){let r=hx.exec(e.trimStart());if(r===null)return null;let[i,a]=r[1]===void 0?[t,r[3]]:[n,r[2]];return i===null?null:a===void 0?i:`${i}${a}.`}const _x=/^(\w+)\b\s*([\s\S]*)$/;function*vx(e,t){let n=[t];for(let r of px(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=_x.exec(e)??[],o=n[n.length-1],s=n.length>1?n[n.length-2]:o;if(i===`end`){n.length>1&&n.pop();continue}if(i===`else`){yield{code:e,dot:s};let r=/^with\b([\s\S]*)$/.exec(a);n[n.length-1]=r===null?s:gx(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(gx(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const yx=/(?<![.$])\btemplate\s+$/;function*bx(e,t,n){let r=0;for(let i of[...e.matchAll(fx)]){let a=i.index+i[0].length;yx.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:gx(e.slice(a),t,n)}),r=a}}function*xx(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...vx(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...bx(s,c,i)]){let i=Object.hasOwn(t,e.name)?t[e.name]:void 0,a=`${e.name}\0${e.at??`\0`}`;i===void 0||o.has(e.name)||n.has(a)||(n.add(a),yield*r(i,e.at,e.name,new Set([...o,e.name])))}}}yield*r(e,``,null,new Set)}const Sx=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${mx})`,`g`);function*Cx({code:e,dot:t,root:n}){let r=e.replace(fx,``);for(let e of[...r.matchAll(Sx)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function wx(e,t){let n=new Map;for(let r of xx(e,t))for(let e of Cx(r))n.has(e)||n.set(e,r.via);return n}const Tx=/(?<![.$])\b(action|picker|menu|carousel|swatches|swatch|themePreview)\s+$/,Ex={action:1,picker:2,menu:1,carousel:2,swatch:1,swatches:2,themePreview:1};function*Dx(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(fx)]){let o=e.slice(t,a.index),s=Tx.exec(o);if(s!==null)n=Ex[s[1]],r=0,i=s[1]===`action`?`action`:`options`;else for(let e of o)e===`(`&&r++,e===`)`&&r--,(r<0||e===`|`&&r===0)&&(n=0);n>0&&r===0&&(yield{name:a[0].slice(1,-1),site:i},n--),t=a.index+a[0].length}}function Ox(e,t){let n=new Map;for(let{code:r,via:i}of xx(e,t))for(let{name:e,site:t}of Dx(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function kx(e,t){return new Set([...Ax(e,t)].filter(e=>Object.hasOwn(t,e)))}function Ax(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of xx(e,t))for(let{name:e}of bx(r,i,a))n.add(e);return n}function jx(e,t){if(t.names.has(e))return!0;let n=`${e}.`;for(let e of t.names)if(e.startsWith(n))return!0;for(let n of t.documents)if(e.startsWith(`${n}.`))return!0;return!1}function Mx(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),Nx(r)&&n.add(e)};for(let[t,n]of Object.entries(e.variables))r(t,n);for(let[t,n]of Object.entries(e.segments))for(let[e,i]of Object.entries(n.vars??{}))r(`${t}.${e}`,i);return{names:t,documents:n,helpers:e.helpers}}function Nx(e){return e.kind===`dropped`||(e.kind===`shell`||e.kind===`file`)&&Mu(e.parse)===`json`}function Px(e){let t=l.basename(e),n=l.dirname(e);for(;;){let r=Fx(n);if(r!==null)return{dir:r,name:t,leaf:n===l.dirname(e)};t=l.basename(n),n=l.dirname(n)}}function Fx(e){try{return r.statSync(e).isDirectory()?r.realpathSync(e):null}catch{return null}}var Ix=ve((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:an}function r(){dn||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===fn}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){sn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){sn(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return cn.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t,n){if(ne())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&re(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
57
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function te(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,re(e,t)}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(ne=function(){return!!e})()}function re(e,t){return(re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ie(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function T(e){var t=typeof Map==`function`?new Map:void 0;return(T=function(e){function n(){return b(e,arguments,w(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),re(n,e)})(e)}function E(e){return Object.assign((function(t,n){if(oe(n))return e.t(t,n);ae(t,n,e)}),e)}function ae(e,t,n){g(e,gn)||u(e,gn,ee({},e[gn])),function(e){return e.i===`override`}(n)||(e[gn][t]=n)}function oe(e){return typeof e==`object`&&typeof e.kind==`string`}function se(e,t,n){t===void 0&&(t=pn),n===void 0&&(n=pn);var r=new P(e);return t!==pn&&dt(r,t),n!==pn&&ft(r,n),r}function ce(e,t,n){return xt(e)?e:Array.isArray(e)?En.array(e,{name:n}):c(e)?En.object(e,void 0,{name:n}):p(e)?En.map(e,{name:n}):m(e)?En.set(e,{name:n}):typeof e!=`function`||ct(e)||vt(e)?e:l(e)?rr(e):Zn(n,e)}function le(e){return e}function ue(e,t){return{i:e,u:t,o:de,s:fe,t:pe}}function de(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:ct(n.value)?1:(sn(r,t,me(e,this,t,n,!1)),2)}function fe(e,t,n,r){var i=me(e,this,t,n);return e.l(t,i,r)}function pe(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return Ne(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return ct(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(ct(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
58
- '`+s.i+`' can only be used on properties with a function value.`)}function me(e,t,n,r,i){var a,o,s;i===void 0&&(i=z.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:Ne(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function he(e,t){return{i:e,u:t,o:ge,s:_e,t:ve}}function ge(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!vt(e.h[t]))&&this.s(e,t,n,!1)===null?0:vt(n.value)?1:(sn(r,t,ye(e,0,0,n,!1,!1)),2)}function _e(e,t,n,r){var i=ye(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ve(e,t){var n,r=t.name,i=t.addInitializer;return vt(e)||(e=rr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function ye(e,t,n,r,i,a){a===void 0&&(a=z.safeDescriptors);var o=r.value;return vt(o)||(o=rr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function be(e,t){return{i:e,u:t,o:D,s:xe,t:Se}}function D(e,t,n){return this.s(e,t,n,!1)===null?0:1}function xe(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function Se(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Ut(this)[N],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Fn(i))})),function(){return this[N].O(r)}}function Ce(e,t){return{i:e,u:t,o:we,s:Te,t:Ee}}function we(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Te(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??ce,r)}function Ee(e,t){function n(e,t){var n=Ut(e)[N],i=new Nn(t,r.u?.enhancer??ce,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[N].O(a)},set:function(e){return o.has(this)||n(this,e),this[N].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function De(e){return{i:`true`,u:e,o:Oe,s:ke,t:Ae}}function Oe(e,t,n,r){var i,a,o;if(n.get)return kn.o(e,t,n,r);if(n.set){var s=ct(n.set)?n.set:Ne(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!z.safeDescriptors||e.p,set:s})===null?0:2:(sn(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?rr.bound:rr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Zn.bound:Zn).o(e,t,n,r);var c=!1===this.u?.deep?En.ref:En;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function ke(e,t,n,r){var i;return n.get?kn.s(e,t,n,r):n.set?e.l(t,{configurable:!z.safeDescriptors||e.p,set:Ne(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?En.ref:En).s(e,t,n,r))}function Ae(){t(`'`+this.i+`' cannot be used as a decorator`)}function je(e){return e||bn}function O(e){return!0===e.deep?ce:!1===e.deep?le:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:ce;var t,n,r}function Me(e,t,n){return oe(t)?xn.t(e,t):o(t)?void ae(e,t,xn):xt(e)?e:c(e)?En.object(e,t,n):Array.isArray(e)?En.array(e,t):p(e)?En.map(e,t):m(e)?En.set(e,t):typeof e==`object`&&e?e:En.box(e,t)}function Ne(e,t,n,r){function i(){return Pe(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},jn&&(Mn.value=e,sn(i,`name`,Mn)),i}function Pe(e,t,n,r,i){var a=Fe(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Ie(a)}}function Fe(e,t){var n=z.trackingDerivation,r=!t||!n;$e();var i=z.allowStateChanges;r&&(Ge(),i=Re(!0));var a={A:r,k:n,M:i,V:qe(!0),R:!1,N:0,T:L++,C:An};return An=a.T,a}function Ie(e){An!==e.T&&t(30),An=e.C,e._!==void 0&&(z.suppressReactionErrors=!0),ze(e.M),Je(e.V),et(),e.A&&Ke(e.k),z.suppressReactionErrors=!1}function Le(e,t){var n=Re(e);try{return t()}finally{ze(n)}}function Re(e){var t=z.allowStateChanges;return z.allowStateChanges=e,t}function ze(e){z.allowStateChanges=e}function Be(e){return e instanceof Rn}function Ve(e){switch(e.I){case R.L:return!1;case R.P:case R.K:return!0;case R.B:for(var t=qe(!0),n=Ge(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(Ln(o)){if(z.disableErrorBoundaries)o.get();else try{o.get()}catch{return Ke(n),Je(t),!0}if(e.I===R.K)return Ke(n),Je(t),!0}}return Ye(e),Ke(n),Je(t),!1}}function He(e,t,n){var r=qe(!0);Ye(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++z.runId;var i,a=z.trackingDerivation;if(z.trackingDerivation=e,z.inBatch++,!0===z.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Rn(e)}return z.inBatch--,z.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=R.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Ze(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Xe(l,e))}r!==R.L&&(e.I=r,e.H())}(e),Je(r),i}function Ue(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Ze(t[n],e);e.I=R.P}function We(e){var t=Ge();try{return e()}finally{Ke(t)}}function Ge(){var e=z.trackingDerivation;return z.trackingDerivation=null,e}function Ke(e){z.trackingDerivation=e}function qe(e){var t=z.allowStateReads;return z.allowStateReads=e,t}function Je(e){z.allowStateReads=e}function Ye(e){if(e.I!==R.L){e.I=R.L;for(var t=e.D,n=t.length;n--;)t[n].U=R.L}}function Xe(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Ze(e,t){e.F.delete(t),e.F.size===0&&Qe(e)}function Qe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,z.pendingUnobservations.push(e))}function $e(){z.inBatch++}function et(){if(--z.inBatch==0){rt();for(var e=z.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Fn&&n.X())}z.pendingUnobservations=[]}}function tt(e){var t=z.trackingDerivation;return t===null?(e.F.size===0&&z.inBatch>0&&Qe(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&z.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function nt(e){e.U!==R.K&&(e.U=R.K,e.F.forEach((function(e){e.I===R.L&&e.H(),e.I=R.K})))}function rt(){z.inBatch>0||z.isRunningReactions||Wn(it)}function it(){z.isRunningReactions=!0;for(var e=z.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}z.isRunningReactions=!1}function at(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function ot(e){return function(t,n){return a(t)?Ne(t.name||`<unnamed action>`,t,e):a(n)?Ne(t,n,e):oe(n)?(e?Jn:Kn).t(t,n):o(n)?ae(t,n,e?Jn:Kn):o(t)?E(ue(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function st(e){return Pe(0,!1,e,this,void 0)}function ct(e){return a(e)&&!0===e.isMobxAction}function lt(e,t){function n(){e(i)}var r;t===void 0&&(t=un);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ut(t),s=!1;i=new Un(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Un(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function ut(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Qn}function dt(e,t,n){return pt(`onBO`,e,t,n)}function ft(e,t,n){return pt(`onBUO`,e,t,n)}function pt(e,t,n,r){var i=typeof r==`function`?Xt(t,n):Xt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function mt(e,t,n,r){var i=M(t);return $t((function(){var t=Ut(e,r)[N];hn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function ht(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(ht)),n}function gt(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(gt)),t}function _t(e){a(e.cancel)&&e.cancel()}function vt(e){return!0===e?.isMobXFlow}function yt(e,t){return t===void 0?Ln(e):!1===Gt(e)||!e[N].j.has(t)?!1:Ln(Xt(e,t))}function bt(e,t){return!!e&&(t===void 0?Gt(e)||!!e[N]||_n(e)||Gn(e)||Ln(e):!!Gt(e)&&e[N].j.has(t))}function xt(e){return bt(e)}function St(e){return Gt(e)?e[N].nt():gr(e)||B(e)?Array.from(e.keys()):Bt(e)?e.map((function(e,t){return t})):void t(5)}function Ct(e,n){return Gt(e)?e[N].it(n):gr(e)||B(e)?e.has(n):Bt(e)?n>=0&&n<e.length:void t(10)}function wt(e){if(Gt(e))return e[N].rt();t(38)}function Tt(e,t,n){return e.set(t,n),n}function Et(e,t){t===void 0&&(t=void 0),$e();try{return e.apply(t)}finally{et()}}function Dt(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[N].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=Ne(`When-effect`,t),o=lt((function(t){Le(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Ot(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=Dt(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function kt(e){return e[N]}function At(e){return e.et!==void 0&&e.et.length>0}function jt(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Mt(e,n){var r=Ge();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{Ke(r)}}function Nt(e){return e.ut!==void 0&&e.ut.length>0}function Pt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Ft(e,t){var n=Ge(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);Ke(n)}}function It(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),$t((function(){var r=new cr(n,t,i,!1);d(r.j,N,r);var a=new Proxy(r.j,sr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function Lt(e,t){typeof Array.prototype[e]==`function`&&(lr[e]=t(e))}function Rt(e){return function(){var t=this[N];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function k(e){return function(t,n){var r=this,i=this[N];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function zt(e){return function(){var t=this,n=this[N];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function Bt(e){return s(e)&&fr(e[N])}function Vt(e){return e[Symbol.toStringTag]=`MapIterator`,nn(e)}function Ht(e){return e[Symbol.toStringTag]=`SetIterator`,nn(e)}function Ut(e,t){if(g(e,N))return e;var n=t?.name??`ObservableObject`;return u(e,N,new br(e,new Map,String(n),function(e){return e?e.defaultDecorator??De(e):void 0}(t))),e}function Wt(e){return yr[e]||(yr[e]={get:function(){return this[N].O(e)},set:function(t){return this[N].S(e,t)}})}function Gt(e){return!!s(e)&&xr(e[N])}function A(e,t,n){var r;(r=e.h[gn])==null||delete r[n]}function Kt(e){return{enumerable:!1,configurable:!0,get:function(){return this[N].ct(e)},set:function(t){this[N].ht(e,t)}}}function qt(e){sn(Er.prototype,``+e,Kt(e))}function Jt(e){if(e>wr){for(var t=wr;t<e+100;t++)qt(t);wr=e}}function Yt(e,t,n){return new Er(e,t,n)}function Xt(e,n){if(typeof e==`object`&&e){if(Bt(e))return n!==void 0&&t(23),e[N].st;if(B(e))return e.st;if(gr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Qt(e)),r}if(Gt(e)){if(!n)return t(26);var i=e[N].j.get(n);return i||t(27,n,Qt(e)),i}if(_n(e)||Ln(e)||Gn(e))return e}else if(a(e)&&Gn(e[N]))return e[N];t(28)}function Zt(e,n){return e||t(29),n===void 0?_n(e)||Ln(e)||Gn(e)||gr(e)||B(e)?e:e[N]?e[N]:void t(24,e):Zt(Xt(e,n))}function Qt(e,t){var n;if(t!==void 0)n=Xt(e,t);else{if(ct(e))return e.name;n=Gt(e)||gr(e)||B(e)?Zt(e):Xt(e)}return n.tt}function $t(e){var t=Ge(),n=Re(!0);$e();try{return e()}finally{et(),ze(n),Ke(t)}}function en(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Dr.call(t);if(c!==Dr.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=tn(t),n=tn(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function tn(e){return Bt(e)?e.slice():p(e)||gr(e)||m(e)||B(e)?Array.from(e.entries()):e}function nn(e){return e[Symbol.iterator]=rn,Object.assign(Object.create(Or),e)}function rn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var an={},j=Object.assign,on=Object.getOwnPropertyDescriptor,sn=Object.defineProperty,cn=Object.prototype,ln=[];Object.freeze(ln);var un={};Object.freeze(un);var dn=typeof Proxy<`u`,fn=Object.toString(),pn=function(){},mn=Object.getOwnPropertySymbols!==void 0,hn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:mn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,M=Object.getOwnPropertyDescriptors||function(e){var t={};return hn(e).forEach((function(n){t[n]=on(e,n)})),t},gn=Symbol(`mobx-stored-annotations`),N=Symbol(`mobx administration`),P=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=R.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return tt(this)},t.reportChanged=function(){$e(),nt(this),et()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();P.pt=1,P.yt=2,P.wt=4;var _n=f(`Atom`,P),vn={identity:function(e,t){return e===t},structural:function(e,t){return en(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return en(e,t,1)}},yn=E({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),F=De(),bn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(bn);var xn=Ce(`observable`),Sn=Ce(`observable.ref`,{enhancer:le}),I=Ce(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Gt(e)||Bt(e)||gr(e)||B(e)?e:Array.isArray(e)?En.array(e,{name:n,deep:!1}):c(e)?En.object(e,void 0,{name:n,deep:!1}):p(e)?En.map(e,{name:n,deep:!1}):m(e)?En.set(e,{name:n,deep:!1}):void 0}}),Cn=Ce(`observable.struct`,{enhancer:function(e,t){return en(e,t)?t:e}}),wn=E(xn);j(Me,wn);var Tn,En=j(Me,{box:function(e,t){var n=je(t);return new Nn(e,O(n),n.name,!0,n.equals)},array:function(e,t){var n=je(t);return(!1===z.useProxies||!1===n.proxy?Yt:It)(e,O(n),n.name)},map:function(e,t){var n=je(t);return new hr(e,O(n),n.name)},set:function(e,t){var n=je(t);return new vr(e,O(n),n.name)},object:function(e,t,n){return $t((function(){return mt(!1===z.useProxies||!1===n?.proxy?Ut({},n):function(e,t){var n;return r(),(n=(e=Ut(e,t))[N]).v??(n.v=new Proxy(e,ir))}({},n),e,t)}))},ref:E(Sn),shallow:E(I),deep:wn,struct:E(Cn)}),Dn=be(`computed`),On=be(`computed.struct`,{equals:vn.structural}),kn=function(e,t){if(oe(t))return Dn.t(e,t);if(o(t))return ae(e,t,Dn);if(c(e))return E(be(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Fn(n)};Object.assign(kn,Dn),kn.struct=E(On);var An=0,L=1,jn=(Tn=on((function(){}),`name`)?.configurable)!=null&&Tn,Mn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Nn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=vn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}te(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==z.UNCHANGED&&this.gt(e)},n.xt=function(e){if(At(this)){var t=Mt(this,{object:this,type:or,newValue:e});if(!t)return z.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?z.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Nt(this)&&Ft(this,{type:or,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return jt(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:or,newValue:this.Ot,oldValue:void 0}),Pt(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(P),Pn=f(`ObservableValue`,Nn),Fn=function(){function e(e){this.I=R.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=R.L,this.G=0,this.Ot=new Rn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=In.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=Ne(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?vn.structural:vn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===R.L&&(e.U=R.B,e.F.forEach((function(e){e.I===R.L&&(e.I=R.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),z.inBatch!==0||this.F.size!==0||this.Nt){if(tt(this),Ve(this)){var e=z.trackingContext;this.Nt&&!e&&(z.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==R.K&&(e.U=R.K,e.F.forEach((function(t){t.I===R.B?t.I=R.K:t.I===R.L&&(e.U=R.L)})))}(this),z.trackingContext=e}}else Ve(this)&&(this.Tt(),$e(),this.Ot=this.Ct(!1),et());var n=this.Ot;if(Be(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===R.P,n=this.Ct(!0),r=t||Be(e)||Be(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Re(!1);if(e)t=He(this,this.derivation,this.Et);else if(!0===z.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Rn(e)}return ze(n),this.isComputing=!1,t},n.X=function(){this.Nt||(Ue(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return lt((function(){var a=n.get();if(!r||t){var o=Ge();e({observableKind:`computed`,debugObjectName:n.tt,type:or,object:n,newValue:a,oldValue:i}),Ke(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Fn.It=1,Fn.Lt=2,Fn.pt=4,Fn.yt=8,Fn.wt=16;var R,In,Ln=f(`ComputedValue`,Fn);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(R||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(In||={});var Rn=function(e){this.cause=void 0,this.cause=e},zn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Vn=!0,Hn=!1,z=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Vn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Bn().version&&(Vn=!1),Vn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Bn):(setTimeout((function(){Hn||t(35)}),1),new Bn)}(),Un=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=R.P,this.q=0,this.G=0,this.bt=0,this.Mt=In.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,z.pendingReactions.push(this),rt())},t.J=function(){if(!this.isDisposed){$e(),this.isScheduled=!1;var e=z.trackingContext;if(z.trackingContext=this,Ve(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}z.trackingContext=e,et()}},t.track=function(e){if(!this.isDisposed){$e(),this.isRunning=!0;var t=z.trackingContext;z.trackingContext=this;var n=He(this,e,void 0);z.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Ue(this),Be(n)&&this.Dt(n.cause),et()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(z.disableErrorBoundaries)throw e;z.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),z.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||($e(),Ue(this),et()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[N]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Un.Wt=1,Un.qt=2,Un.Gt=4,Un.Ht=8,Un.wt=16;var Wn=function(e){return e()},Gn=f(`Reaction`,Un),Kn=ue(`action`),qn=ue(`action.bound`,{bound:!0}),Jn=ue(`autoAction`,{autoAction:!0}),Yn=ue(`autoAction.bound`,{autoAction:!0,bound:!0}),Xn=ot(!1);Object.assign(Xn,Kn);var Zn=ot(!0);Object.assign(Zn,Jn),Xn.bound=E(qn),Zn.bound=E(Yn);var Qn=function(e){return e()},$n=0,er=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return te(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(T(Error)),tr=he(`flow`),nr=he(`flow.bound`,{bound:!0}),rr=Object.assign((function(e,t){if(oe(t))return tr.t(e,t);if(o(t))return ae(e,t,tr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++$n,s=Xn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Xn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Xn(r+` - runid: `+o+` - cancel`,(function(){try{c&&_t(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(pn,pn),_t(n),e(new er)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),tr);rr.bound=E(nr);var ir={has:function(e,t){return kt(e).it(t)},get:function(e,t){return kt(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=kt(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=kt(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=kt(e).l(t,n))==null||r},ownKeys:function(e){return kt(e).rt()},preventExtensions:function(){t(13)}},ar=Symbol(`mobx-keys`),or=`update`,sr={get:function(e,t){var n=e[N];return t===N?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(lr,t)?lr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[N];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},cr=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new P(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return jt(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),Pt(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Jt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=ln),At(this)){var a=Mt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return ln;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=Nt(this),a=i||r?{observableKind:`array`,object:this.v,type:or,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Ft(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=Nt(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&Ft(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(At(this)){var a=Mt(this,{type:or,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),lr={clear:function(){return this.splice(0)},replace:function(e){var t=this[N];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[N];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[N].ot(e,t,n)},push:function(){for(var e=this[N],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[N].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[N],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return z.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){z.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[N],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};Lt(`at`,Rt),Lt(`concat`,Rt),Lt(`flat`,Rt),Lt(`includes`,Rt),Lt(`indexOf`,Rt),Lt(`join`,Rt),Lt(`lastIndexOf`,Rt),Lt(`slice`,Rt),Lt(`toString`,Rt),Lt(`toLocaleString`,Rt),Lt(`toSorted`,Rt),Lt(`toSpliced`,Rt),Lt(`with`,Rt),Lt(`every`,k),Lt(`filter`,k),Lt(`find`,k),Lt(`findIndex`,k),Lt(`findLast`,k),Lt(`findLastIndex`,k),Lt(`flatMap`,k),Lt(`forEach`,k),Lt(`map`,k),Lt(`some`,k),Lt(`toReversed`,k),Lt(`reduce`,zt),Lt(`reduceRight`,zt);var ur,dr,fr=f(`ObservableArrayAdministration`,cr),pr={},mr=`add`,hr=function(){function e(e,n,r){var i=this;n===void 0&&(n=ce),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[N]=pr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),$t((function(){i.lt=se(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!z.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Nn(this.it(e),le,`ObservableMap.key?`,!1);this.dt.set(e,r),ft(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(At(this)){var r=Mt(this,{type:n?or:mr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(At(this)&&!Mt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=Nt(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Et((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&Ft(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==z.UNCHANGED){var r=Nt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:or,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Ft(this,i)}},n.en=function(e,t){var n=this;Et((function(){var r,i=new Nn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=Nt(this);r&&Ft(this,r?{observableKind:`map`,debugObjectName:this.tt,type:mr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Vt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Vt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return gr(e)&&(e=new Map(e)),Et((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!mn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return cn.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;Et((function(){We((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Et((function(){for(var r,i=function(e){if(p(e)||gr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return Pt(this,e)},n.St=function(e){return jt(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),gr=f(`ObservableMap`,hr),_r={},vr=function(){function e(e,n,r){var i=this;n===void 0&&(n=ce),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[N]=_r,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},$t((function(){i.st=se(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;Et((function(){We((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(At(this)){var n=Mt(this,{type:mr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Et((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=Nt(this);r&&Ft(this,r?{observableKind:`set`,debugObjectName:this.tt,type:mr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(At(this)&&!Mt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Nt(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Et((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Ft(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return Ht({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return Ht({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!B(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!B(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!B(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!B(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return B(e)&&(e=new Set(e)),Et((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return Pt(this,e)},n.St=function(e){return jt(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),B=f(`ObservableSet`,vr),yr=Object.create(null),br=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=F),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new P(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof Fn)return n.set(t),!0;if(At(this)){var r=Mt(this,{type:or,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==z.UNCHANGED){var i=Nt(this),a=i?{type:or,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Ft(this,a)}return!0},n.ct=function(e){return z.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!z.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Nn(e in this.h,le,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[gn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==cn;){var a=on(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}A(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&A(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{$e();var r=this.Ut(e);if(!r)return r;if(At(this)){var i=Mt(this,{object:this.v||this.h,name:e,type:mr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else sn(this.h,e,t);this.fn(e,t.value)}finally{et()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{$e();var i=this.Ut(e);if(!i)return i;if(At(this)){var a=Mt(this,{object:this.v||this.h,name:e,type:mr,newValue:t});if(!a)return null;t=a.newValue}var o=Wt(e),s={configurable:!z.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else sn(this.h,e,s);var c=new Nn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{et()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{$e();var r=this.Ut(e);if(!r)return r;if(At(this)&&!Mt(this,{object:this.v||this.h,name:e,type:mr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Wt(e),a={configurable:!z.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else sn(this.h,e,a);this.j.set(e,new Fn(t)),this.fn(e,void 0)}finally{et()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(At(this)&&!Mt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;$e();var r=Nt(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=on(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Nn&&(a=i.Ot),nt(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Ft(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{et()}return!0},n._t=function(e){return Pt(this,e)},n.St=function(e){return jt(this,e)},n.fn=function(e,t){var n,r=Nt(this);r&&r&&Ft(this,r?{type:mr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),hn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),xr=f(`ObservableObjectAdministration`,br),Sr=Kt(0),Cr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),wr=0,Tr=function(){};ur=Tr,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ur.prototype,dr):ur.prototype.__proto__===void 0?ur.prototype=dr:ur.prototype.__proto__=dr;var Er=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,$t((function(){var e=new cr(r,n,i,!0);e.v=a,d(a,N,e),t&&t.length&&a.spliceWithArray(0,0,t),Cr&&Object.defineProperty(a,`0`,Sr)})),a}te(t,e);var n=t.prototype;return n.concat=function(){this[N].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Bt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return nn({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[N].Ft()},set:function(e){this[N].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(lr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Jt(1e3);var Dr=cn.toString,Or=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:at,extras:{getDebugName:Qt},$mobx:N}),e.$mobx=N,e.FlowCancellationError=er,e.ObservableMap=hr,e.ObservableSet=vr,e.Reaction=Un,e._allowStateChanges=Le,e._allowStateChangesInsideComputed=st,e._allowStateReadsEnd=Je,e._allowStateReadsStart=qe,e._autoAction=Zn,e._endAction=Ie,e._getAdministration=Zt,e._getGlobalState=function(){return z},e._interceptReads=function(e,t,n){var r;return gr(e)||Bt(e)||Pn(e)?r=Zt(e):Gt(e)&&(r=Zt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return z.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Bn;for(var t in e)zn.indexOf(t)===-1&&(z[t]=e[t]);z.allowStateChanges=!z.enforceActions},e._startAction=Fe,e.action=Xn,e.autorun=lt,e.comparer=vn,e.computed=kn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((z.pendingReactions.length||z.inBatch||z.isRunningReactions)&&t(36),Hn=!0,Vn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),z=new Bn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(z.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(z.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;z.enforceActions=s,z.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(z[t]=!!e[t])})),z.allowStateReads=!z.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Wn,Wn=function(e){return r((function(){return i(e)}))})},e.createAtom=se,e.defineProperty=function(e,n,r){if(Gt(e))return e[N].l(n,r);t(39)},e.entries=function(e){return Gt(e)?St(e).map((function(t){return[t,e[t]]})):gr(e)?St(e).map((function(t){return[t,e.get(t)]})):B(e)?Array.from(e.entries()):Bt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=mt,e.flow=rr,e.flowResult=function(e){return e},e.get=function(e,n){if(Ct(e,n))return Gt(e)?e[N].ct(n):gr(e)?e.get(n):Bt(e)?e[n]:void t(11)},e.getAtom=Xt,e.getDebugName=Qt,e.getDependencyTree=function(e,t){return ht(Xt(e,t))},e.getObserverTree=function(e,t){return gt(Xt(e,t))},e.has=Ct,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Zt(e,t).St(n)}(e,t,n):function(e,t){return Zt(e).St(t)}(e,t)},e.isAction=ct,e.isBoxedObservable=Pn,e.isComputed=function(e){return yt(e)},e.isComputedProp=function(e,t){return yt(e,t)},e.isFlow=vt,e.isFlowCancellationError=function(e){return e instanceof er},e.isObservable=xt,e.isObservableArray=Bt,e.isObservableMap=gr,e.isObservableObject=Gt,e.isObservableProp=function(e,t){return bt(e,t)},e.isObservableSet=B,e.keys=St,e.makeAutoObservable=function(e,t,n){return c(e)?mt(e,e,t,n):($t((function(){var r=Ut(e,n)[N];if(!e[ar]){var i=Object.getPrototypeOf(e),a=new Set([].concat(hn(e),hn(i)));a.delete(`constructor`),a.delete(N),u(i,ar,a)}e[ar].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return $t((function(){var r=Ut(e,n)[N];t??=function(e){return g(e,gn)||u(e,gn,ee({},e[gn])),e[gn]}(e),hn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=En,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Zt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Zt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=dt,e.onBecomeUnobserved=ft,e.onReactionError=function(e){return z.globalReactionErrorHandlers.push(e),function(){var t=z.globalReactionErrorHandlers.indexOf(e);t>=0&&z.globalReactionErrorHandlers.splice(t,1)}},e.override=yn,e.ownKeys=wt,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Le(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=un);var a,o,s,c=n.name??`Reaction`,l=Xn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=ut(n),f=!0,p=!1,m=n.compareStructural?vn.structural:n.equals||vn.default,h=new Un(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Gt(e)?e[N].Ut(n):gr(e)||B(e)?e.delete(n):Bt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=st,e.set=function e(n,r,i){if(arguments.length!==2||B(n))Gt(n)?n[N].ht(r,i):gr(n)?n.set(r,i):B(n)?n.add(r):Bt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),$e(),r>=n.length&&(n.length=r+1),n[r]=i,et()):t(8);else{$e();var a=r;try{for(var o in a)e(n,o,a[o])}finally{et()}}},e.spy=at,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!xt(t))return t;if(Pn(t)||Ln(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Bt(t)){var r=Tt(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(B(t)){var i=Tt(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(gr(t)){var a=Tt(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=Tt(n,t,{});return wt(t).forEach((function(r){cn.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Et,e.untracked=We,e.values=function(e){return Gt(e)?St(e).map((function(t){return e[t]})):gr(e)?St(e).map((function(t){return e.get(t)})):B(e)?Array.from(e.values()):Bt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Ot(e,t):Dt(e,t,n||{})}})),Lx=ve((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){I.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++I.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function w(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function te(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function ne(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function re(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ie=Object.getOwnPropertySymbols!==void 0;function T(e){var t=Object.keys(e);if(!ie)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var E=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ie?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ae(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function oe(e){return e===null?null:typeof e==`object`?``+e:e}function se(e,t){return c.hasOwnProperty.call(e,t)}var ce=Object.getOwnPropertyDescriptors||function(e){var t={};return E(e).forEach(function(n){t[n]=o(e,n)}),t};function le(e,t){return!!(e&t)}function ue(e,t,n){return n?e|=t:e&=~t,e}function de(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function fe(e,t,n){if(be())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&D(i,n.prototype),i}function pe(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,Se(r.key),r)}}function me(e,t,n){return t&&pe(e.prototype,t),n&&pe(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function he(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=Ce(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
59
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ge(){return ge=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},ge.apply(null,arguments)}function _e(e){return _e=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},_e(e)}function ve(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,D(e,t)}function ye(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function be(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(be=function(){return!!e})()}function D(e,t){return D=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},D(e,t)}function xe(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function Se(e){var t=xe(e,`string`);return typeof t==`symbol`?t:t+``}function Ce(e,t){if(e){if(typeof e==`string`)return de(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?de(e,t):void 0}}function we(e){var t=typeof Map==`function`?new Map:void 0;return we=function(e){if(e===null||!ye(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return fe(e,arguments,_e(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),D(n,e)},we(e)}var Te=Symbol(`mobx-stored-annotations`);function Ee(e){function t(t,n){if(Ae(n))return e.decorate_20223_(t,n);De(t,n,e)}return Object.assign(t,e)}function De(e,t,r){se(e,Te)||C(e,Te,ge({},e[Te])),Ke(r)&&!se(e[Te],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),Oe(e,r,t),Ke(r)||(e[Te][t]=r)}function Oe(e,t,r){if(!Ke(t)&&se(e[Te],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[Te][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
30
+ `}function Or(e,t,n){return e.split(`
31
+ `).join(`${n}${t}`)}function kr(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Or(kr(i,t,n),` `,`
32
+ `)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function Ar(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function jr(e,t){return e.lastIndexOf(`
33
+ `,t-1)+1}function Mr(e){return/^[ \t]*$/.test(e)}function Nr(e,t){let n=jr(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function Pr(e,t){return Mr(e.slice(jr(e,t),t))}const Fr=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function Ir(e,t){let n=t;for(;n<e.length&&(e[n]===` `||e[n]===` `);)n++;let r=e[n]===`,`?n+1:-1;for(r!==-1&&(n=r);n<e.length&&(e[n]===` `||e[n]===` `);)n++;Fr.lastIndex=n;let i=Fr.exec(e);if(i===null)return{commaEnd:r,line:null};let a=n+i[0].length;return{commaEnd:r,line:{at:a-i[1].length,next:a}}}function Lr(e,t){let{commaEnd:n,line:r}=Ir(e,t.end);if(Pr(e,t.start)&&r!==null)return Ar(e,jr(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return Ar(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?Ar(e,i-1,t.end,``):Ar(e,t.start,t.end,``)}function Rr(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:Ar(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=Dr(e);return Ar(o,s,s,`${c}${i}${Or(r,i,c)}${a?`,`:``}`)}function zr(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=Nr(e,t.span.start);if(a===void 0){let i=o+` `,a=Dr(e);return Ar(e,t.span.start+1,t.span.end-1,`${a}${i}${Or(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=Ir(e,a.span.end);if(Pr(e,a.span.start)&&c!==null){let t=e.slice(jr(e,a.span.start),a.span.start);return Rr(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return Ar(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function Br(e,t,n,r){if(t.length===0)throw new ur(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=Dr(e);return`{${i} ${Or(kr(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return Vr(e,gr(e),t,n,r)}function Vr(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new ur(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=_r(a,n[t]);if(o===void 0)return zr(e,a,kr(n.slice(t),r,i),i);if(t===n.length-1){let t=Nr(e,o.keySpan.start);return Ar(e,o.value.span.start,o.value.span.end,Or(r,t,Dr(e)))}a=o.value}throw new ur(`unreachable: path exhausted`,0)}function Hr(e,t,n=0){if(t.length===0)throw new ur(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=vr(gr(e),r),a=i===void 0?void 0:_r(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=Lr(e,a.span);return r.length>n&&i.entries.length===1?Hr(o,r,n):o}const Ur=[`h`,`v`,`children`];function Wr(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=_r(e,`seg`)?.value,n=_r(e,`kind`)?.value,r=_r(e,`name`)?.value,i=t?.kind===`string`?t.value:n?.kind===`string`&&n.value===`segment`&&r?.kind===`string`?r.value:void 0;if(i===void 0)return;let a=_r(e,`id`)?.value;return a?.kind===`string`?a.value:i}function Gr(e){return e.kind===`object`?Ur.map(t=>_r(e,t)?.value).filter(e=>e?.kind===`array`):[]}function Kr(e){let t=_r(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function qr(e){if(e.kind!==`object`)return!0;let t=Kr(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*Jr(e,t){yield{node:e,bareAt:t};for(let t of Gr(e))for(let e of t.elements)yield*Jr(e,null);for(let n of Kr(e)??[])yield*Jr(n.value,t===null?null:[...t,`rows`,n.key])}function Yr(e,t){for(let{node:n}of Jr(e,null))if(Wr(n)===t)return!0;return!1}function Xr(e,t,n){let r=vr(gr(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of Jr(r,t))if(Wr(i)===n)return a===null?{text:e,ref:i}:Xr(Br(e,a,`{ h: [${yr(e,i)}] }`,wr),t,n);return null}function Zr(e,t,n){let r=Xr(e,t,n);return r===null?null:Lr(r.text,r.ref.span)}function Qr(e,t,n,r,i){let a=Xr(e,t,r);if(a===null)return null;let{text:o,ref:s}=a,c=n.id===void 0?JSON.stringify(n.seg):`{ seg: ${JSON.stringify(n.seg)}, id: ${JSON.stringify(n.id)} }`,{commaEnd:l,line:u}=Ir(o,s.span.end);if(Pr(o,s.span.start)&&u!==null){let e=o.slice(jr(o,s.span.start),s.span.start);return i===`after`?Rr(o,s.span,{commaEnd:l,line:u},c,e):Ar(o,s.span.start,s.span.start,`${c},${Dr(o)}${e}`)}let d=yr(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return Ar(o,s.span.start,s.span.end,f)}function $r(e,t,n,r,i){let a=Xr(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${Cr(r)}: ${i} }`;return s.kind===`string`?Ar(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):_r(s,`settings`)===void 0?Vr(o,s,[`settings`],c,wr):Vr(o,s,[`settings`,r],i,wr)}function ei(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:l.resolve(t,n)}function ti(e){return e??l.join(h.homedir(),`.claude`)}function ni(e){return l.join(e,`settings.json`)}function ri(e){return l.join(e,`plugins`,`installed_plugins.json`)}function ii(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function ai(e){let t;try{let n=ii(e);if(/^\s*$/.test(n))return{};t=Tr.parse(n)}catch(t){throw Error(`cannot read ${e}: ${si(t)}`,{cause:t})}if(!oi(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const oi=e=>typeof e==`object`&&!!e&&!Array.isArray(e),si=e=>e instanceof Error?e.message:String(e);function R(e){return{kind:`ok`,value:e}}const z={kind:`absent`};function B(e){return{kind:`failed`,reason:e}}function ci(e,t){return e?.kind===`ok`?e.value:t}const li=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function ui(e){let t=li.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function di(e){return e.join(`.`)}function fi([e,t,n],[r,i,a]){return e-r||t-i||n-a}const pi=`@promptctl/cc-candybar`;async function mi(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return B(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?ui(n.latest):z}catch(e){return B(e instanceof Error?e.message:String(e))}}function hi(e,t){let n=ui(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=fi(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function gi(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${di(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${di(t.installed)} is newer than the registry's latest release (${di(t.latest)}): an unpublished build.\n`};case`stale`:{let n=di(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${di(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const _i=`CCCandybarURLHandler`,vi=[],yi={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function bi(e,t){return[e,...t].map(ir).join(` `)}function xi(){return l.join(h.homedir(),`Applications`,`${_i}.app`)}function Si(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function Ci(){if(process.platform===`darwin`)return l.join(h.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??l.join(h.homedir(),`.local`,`share`);return l.join(e,`cc-candybar`)}function wi(){return l.join(Ci(),`bin`,`cc-candybar`)}function Ti(){return l.join(Ci(),`dist`,`index.mjs`)}function Ei(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
34
+ `)}function Di(e){let t=/do shell script "'([^']+)' '([^']+)' url-handle "/.exec(e);if(t===null)return null;let n=e=>e.replace(/\\"/g,`"`);return{node:n(t[1]),script:n(t[2])}}function Oi(e){return l.join(e,`Contents`,`Resources`,`Scripts`,`main.scpt`)}function ki(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:l.resolve(l.dirname(e),`..`,`dist`,`index.mjs`)}function Ai(t){let n=yi[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:l.resolve(l.dirname(t),`..`,`bin`,`cc-candybar`)}}function ji(e,t){l.resolve(e)!==l.resolve(t)&&r.copyFileSync(e,t)}function Mi(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${pi}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function Ni(){let e=ki(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=Ai(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(l.dirname(Ti()),{recursive:!0}),r.mkdirSync(l.dirname(wi()),{recursive:!0}),ji(e,Ti()),ji(t.sourcePath,wi()),r.chmodSync(wi(),493),r.rmSync(l.join(Ci(),`url-handler.mjs`),{force:!0});let n=Mi(wi());return process.stdout.write(`Staged cc-candybar v${xt} runtime at ${Ci()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:wi(),distPath:Ti(),entryKind:n}}function Pi(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${fn}</string>`,` </array>`,` </dict>`,`</array>`].join(`
35
+ `)}]}function Fi(e){let t=xi();r.mkdirSync(l.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=A({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,Ei(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=l.join(t,`Contents`,`Info.plist`);for(let{key:e}of Pi())A({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of Pi()){let n=A({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${fn}:// with Launch Services\n`);let a=A({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${_i}.app installed and registered.\n`),process.stdout.write(` Test: open '${fn}://hello-world' && pbpaste\n`)}function Ii(){Si(),Fi(Ni().distPath)}function Li(e,t=fn){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:P,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function Ri(e){e||(process.stderr.write(`url-handle: missing URL argument.
36
+ `),process.exit(1));let t;try{t=Li(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await Et(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(Jt(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(zi(n)+`
37
+ `),process.exit(1)}function zi(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function Bi(){return`✓ install complete.
38
+ Restart Claude Code to pick up the new statusline.
39
+ Tip: every bar carries a settings menu — click it (${L} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/shade/endcaps/wrap/padding controls.\n`}async function Vi(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...vi],i=Ni();process.platform===`darwin`?Fi(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
40
+ `),Hi(i.binPath,r,t),process.stdout.write(Bi());let a=gi(pi,hi(xt,await mi(pi,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function Hi(e,t,n,i){let a=i??ni(ti(ei(process.env,process.cwd())));r.mkdirSync(l.dirname(a),{recursive:!0});let o=ai(a).statusLine,s=oi(o)?o.command:void 0,c=[e,ir(e),rr(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||c.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}let d=bi(e,t);Me(a,(oi(o)?[[[`statusLine`,`type`],`command`],[[`statusLine`,`command`],d]]:[[[`statusLine`],{type:`command`,command:d}]]).reduce((e,[t,n])=>Br(e,t,JSON.stringify(n,null,2),Tr),ii(a))),process.stdout.write(`Updated ${a}\n`)}function Ui(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function Wi(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function Gi(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function Ki(e,t){let n=Wi(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function qi(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function Ji(e,t,n,r){let i=Yi(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function Yi(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function Xi(e){let t=!1;function n(){let n=Ji(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function Zi(e,t=A){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function Qi(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function $i(e,t=Zi){let n=t(e);return n.kind===`start`?n.token:null}const ea=`CC_CANDYBAR_PARENT_PID`;function ta(e){let t=e[ea];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${ea} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function na(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function ra(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function ia(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function aa(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function oa(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>l.join(e,t))}catch{return[]}}function sa(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function ca(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function la(e){if(!e.isolated)return{decision:aa(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=aa(!0,ca(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=l.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function ua(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function da(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Ge(),ceiling:ia(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>Qi(e,t,{readStartTime:Zi,pidAlive:ra}),listFiles:oa,readEntry:sa,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?ze:e=>{ze(l.dirname(e)),ze(e)},...t}}const fa={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨 theme`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},effect:{configKey:`effect`,sessionKey:`effect`,effectiveVar:`effect.effective`,label:`✨`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},shade:{configKey:`shade`,sessionKey:`shade`,effectiveVar:`shade.effective`,label:`🔆`},transitions:{configKey:`transitions`,sessionKey:`transitions`,effectiveVar:`transitions.effective`,label:`fade in/out`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`,label:`wrap`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`,label:`padding`},updateNotice:{configKey:`updateNotice`,sessionKey:`updateNotice`,effectiveVar:`updateNotice.effective`,label:`update notice`}},pa=Object.values(fa),ma=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],ha=new Set(ma.map(e=>e.configKey)),ga=new Map([...pa,...ma].map(e=>[e.configKey,e.effectiveVar])),_a=new Map(pa.map(e=>[e.sessionKey,e.effectiveVar]));function va(e){return Object.fromEntries(Object.keys(fa).map(t=>[t,e(t)]))}const ya=new Map(Object.keys(fa).map(e=>[fa[e].sessionKey,e]));function ba({onlyFirst:e=!1}={}){return RegExp(`(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]`,e?void 0:`g`)}const xa=ba();function Sa(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(xa,``)}const Ca=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],wa=[12288,12288,65281,65376,65504,65510],Ta=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],Ea=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],Da=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141],Oa=(e,t)=>{let n=0,r=Math.floor(e.length/2)-1;for(;n<=r;){let i=Math.floor((n+r)/2),a=i*2;if(t<e[a])r=i-1;else if(t>e[a+1])n=i+1;else return!0}return!1},ka=Ca[0],Aa=Ca.at(-1),ja=wa[0],Ma=wa.at(-1);Ta[0],Ta.at(-1),Ea[0],Ea.at(-1);const Na=Da[0],Pa=Da.at(-1),Fa=19968,[Ia,La]=Ra(Da);function Ra(e){let t=e[0],n=e[1];for(let r=0;r<e.length;r+=2){let i=e[r],a=e[r+1];if(Fa>=i&&Fa<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const za=e=>e<ka||e>Aa?!1:Oa(Ca,e),Ba=e=>e<ja||e>Ma?!1:Oa(wa,e),Va=e=>e>=Ia&&e<=La?!0:e<Na||e>Pa?!1:Oa(Da,e);function Ha(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Ua(e,{ambiguousAsWide:t=!1}={}){return Ha(e),Ba(e)||Va(e)||t&&za(e)?2:1}const Wa=new Intl.Segmenter,Ga=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Ka=RegExp(`\\p{Spacing_Mark}`,`v`),qa=RegExp(`^\\p{RGI_Emoji}$`,`v`),Ja=/^[\d#*]\u20E3$/,Ya=/\p{Extended_Pictographic}/gu;function Xa(e){if(e.length>50)return!1;if(Ja.test(e))return!0;if(e.includes(`‍`)){let t=e.match(Ya);return t!==null&&t.length>=2}return!1}function Za(e){let t=e.search(Ga);return t===-1?void 0:e.slice(t)}function Qa(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function $a(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function eo(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function to(e){return Qa(e)||$a(e)||eo(e)}function no(e,t){let n=[];for(let t of e)Ga.test(t)&&n.push(t.codePointAt(0));if(n.length===0)return;let r=0;for(let e=0;e<n.length;e++){let i=n[e];if(!to(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=Ua(n[i],t);return r}if(Qa(i)&&$a(n[e+1])){r+=2,e+=eo(n[e+2])?2:1;continue}r+=Ua(i,t)}return r}function ro(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Ka.test(i)||i>=`＀`&&i<=`￯`)&&(n+=Ua(i.codePointAt(0),t))}return n}function io(e,t={}){if(typeof e!=`string`||e.length===0)return 0;let{ambiguousIsNarrow:n=!0,countAnsiEscapeCodes:r=!1}=t,i=e;if(!r&&(i.includes(`\x1B`)||i.includes(`›`))&&(i=Sa(i)),i.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(i))return i.length;let a=0,o={ambiguousAsWide:!n};for(let{segment:e}of Wa.segment(i)){let t=Za(e);if(t===void 0)continue;if(qa.test(e)||Xa(e)){a+=2;continue}let n=no(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=Ua(r,o),a+=ro(t,o)}return a}var ao=class{entries=new Map;get size(){return this.entries.size}get(e,t){let n=this.entries.get(e);if(n!==void 0)return n;let r=t(e);return this.entries.size>=4096&&this.entries.clear(),this.entries.set(e,r),r}};const oo=new ao;function V(e){return e.length===0?0:e.length<=64?oo.get(e,io):io(e)}function so(e){return e}function co(e){return e}function lo(e){return e>0?Math.floor(e):0}function uo(e,t){if(t<=0)return[``,e];if(t>=V(e))return[e,``];let n=yo(e,t);return[n+` `.repeat(t-V(n)),e.slice(n.length)]}function fo(e,t){let n=yo(e,t),r=t-V(n),[i=``]=r>0?vo(e,co(n.length)):[];return[n+` `.repeat(r),` `.repeat(V(i)-r)+e.slice(n.length+i.length)]}function po(e,t){if(t<=0||e.length===0)return[e];let n=[],r=co(0);for(;r<e.length;){let i=Co(e,r,t);n.push(e.slice(r,i)),r=i}return n}let mo,ho;function go(e){return ho?.text!==e&&(mo??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),ho={text:e,segments:mo.segment(e)}),ho.segments}function _o(e){return Array.from(vo(e,co(0)))}function*vo(e,t){let n=go(e);for(let r=t,i=n.containing(r);i;i=n.containing(r)){let t=i.index+i.segment.length;yield e.slice(r,t),r=co(t)}}function yo(e,t){return e.slice(0,xo(vo(e,co(0)),t))}function bo(e,t){return e.slice(e.length-xo(_o(e).reverse(),t))}function xo(e,t){let n=0,r=0;for(let i of e){let e=V(i);if(n+e>t)break;n+=e,r+=i.length}return r}function So(e,t,n){return co(t+xo(vo(e,t),n))}function Co(e,t,n){let[r=``]=vo(e,t);return co(Math.max(So(e,t,n),t+r.length))}function wo(e){if(!Number.isInteger(e)||e<1)throw RangeError(`tabSize must be a positive integer, got ${e}`);return e}function To(e,t){let[n,...r]=e.split(` `),i=[],a=[],o=(e,t)=>{let n=e.lastIndexOf(`
41
+ `);return(n<0?t:0)+V(e.slice(n+1))},s=n,c=n,l=0,u=n.length,d=0;for(let e of r){l=o(c,l);let n=t-l%t;d+=n-1,i.push(u),a.push(d),s+=` `.repeat(n)+e,l+=n,c=e,u+=1+e.length}return{text:s,offsetOf:e=>{let t=0,n=i.length;for(;t<n;){let r=t+n>>1;i[r]<e?t=r+1:n=r}return e+(t===0?0:a[t-1])}}}var Eo=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t;let r=n.get(`background`),i=r===void 0?Oo(e):Do(e,r);this.vars=new Map([...n].map(([e,t])=>[e,i(t,e)]))}get(e){return this.vars.get(e)}};function Do(e,t){if(t.alpha!==1)throw RangeError(`palette ${JSON.stringify(e)}: background is the surface its translucent colours are drawn on, so it must be opaque; got ${t.hex}`);return e=>e.alpha===0?e:e.compositeOver(t)}function Oo(e){return(t,n)=>{if(t.alpha!==1&&t.alpha!==0)throw RangeError(`palette ${JSON.stringify(e)}: ${n} is translucent (${t.hex}) but the palette has no "background" to draw it on`);return t}}function ko(e){return e.toString(16).padStart(2,`0`)}function Ao(e){return Number.isInteger(e)&&e>=0&&e<=255}function jo(e,t){if(!Ao(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var H=class e{red;green;blue;alpha;constructor(e,t,n,r=1){if(this.red=e,this.green=t,this.blue=n,this.alpha=r,jo(`red`,e),jo(`green`,t),jo(`blue`,n),!Number.isFinite(r)||r<0||r>1)throw RangeError(`ColorRgba.alpha must be a finite number in [0, 1]; got ${r}`)}get hex(){let e=`#`+ko(this.red)+ko(this.green)+ko(this.blue);return this.alpha===1?e:e+ko(Math.round(this.alpha*255))}get rgb(){return this.alpha===1?`rgb(${this.red},${this.green},${this.blue})`:`rgba(${this.red},${this.green},${this.blue},${this.alpha})`}get normalized(){return[this.red/255,this.green/255,this.blue/255,this.alpha]}compositeOver(t){if(this.alpha===1)return this;let n=this.alpha;return new e(Math.round(t.red+(this.red-t.red)*n),Math.round(t.green+(this.green-t.green)*n),Math.round(t.blue+(this.blue-t.blue)*n),1)}};const Mo=new H(0,0,0);function No(e){let t=e=>{let t=e/255;return t<=.03928?t/12.92:((t+.055)/1.055)**2.4};return .2126*t(e.red)+.7152*t(e.green)+.0722*t(e.blue)}function Po(e,t){return Fo(No(e),No(t))}function Fo(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function Io(e,t){let n=e.red-t.red,r=e.green-t.green,i=e.blue-t.blue;return n*n+r*r+i*i}var Lo=class{colors;firstIndex;matchMemo=new ao;readableMemo=new ao;constructor(e,t=0){this.colors=e,this.firstIndex=t}get(e){return this.colors[e-this.firstIndex]}luminanceCache;luminances(){return this.luminanceCache??=this.colors.map(No),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`;return this.matchMemo.get(t,()=>this.nearest(e))}nearest(e){let t=0,n=1/0;for(let r=0;r<this.colors.length;r++){let i=this.colors[r],a=Io(i,e);a<n&&(n=a,t=r)}return this.firstIndex+t}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`;return this.readableMemo.get(r,()=>this.nearestReadable(e,t,n))}nearestReadable(e,t,n){let r=No(t),i=0,a=!1,o=-1/0;for(let t=0;t<this.colors.length;t++){let s=this.colors[t],c=this.luminances()[t],l=Fo(c,r),u=l>=n,d=u?-Io(s,e):l;(u&&!a||u===a&&d>o)&&(i=t,a=u,o=d)}return this.firstIndex+i}matchWhere(e,t){let n=this.colors.map(t=>Io(t,e)),r=[...n.keys()].sort((e,t)=>n[e]-n[t]).find(e=>t(this.colors[e],this.firstIndex+e));return r===void 0?void 0:this.firstIndex+r}},U;(function(e){e[e.DEFAULT=0]=`DEFAULT`,e[e.STANDARD=1]=`STANDARD`,e[e.EIGHT_BIT=2]=`EIGHT_BIT`,e[e.TRUECOLOR=3]=`TRUECOLOR`,e[e.WINDOWS=4]=`WINDOWS`})(U||={});function Ro(e){switch(e){case U.DEFAULT:return 0;case U.STANDARD:case U.WINDOWS:return 1;case U.EIGHT_BIT:return 2;case U.TRUECOLOR:return 3}}const zo={truecolor:U.TRUECOLOR,256:U.EIGHT_BIT,ansi:U.STANDARD,none:null},Bo=new Map([[`0`,null],[`false`,null],[`1`,U.STANDARD],[`true`,U.STANDARD],[`2`,U.EIGHT_BIT],[`3`,U.TRUECOLOR],[`iTerm.app`,U.TRUECOLOR],[`Apple_Terminal`,U.EIGHT_BIT],[`vscode`,U.TRUECOLOR],[`Tabby`,U.TRUECOLOR],[`xterm-kitty`,U.TRUECOLOR],[`xterm-ghostty`,U.TRUECOLOR],[`wezterm`,U.TRUECOLOR],[`alacritty`,U.TRUECOLOR],[`foot`,U.TRUECOLOR],[`contour`,U.TRUECOLOR]]);function Vo(e={}){let t=Uo(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=Ho(Uo(e));return n===void 0?Go(e):n}function Ho(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=Bo.get(t);return n===void 0?U.STANDARD:n}function Uo(e){return e.env??(typeof process<`u`?process.env:{})}function Wo(e){let t=e.TERM;return t===`dumb`||t===`unknown`}function Go(e){let t=Uo(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1))||Wo(t))return null;let n=t.TERM??``,r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return U.TRUECOLOR;let i=Bo.get(n);if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=Bo.get(a);if(e!==void 0)return e}return/-256(color)?$/i.test(n)?U.EIGHT_BIT:/-truecolor$/i.test(n)?U.TRUECOLOR:(/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(n),U.STANDARD)}function Ko(e,t){return e===`auto`?{colorSystem:Vo(t),hyperlinks:(Ho(Uo(t??{}))??null)!==null||Go(t??{})!==null}:{colorSystem:typeof e==`string`?qo(e):e,hyperlinks:!0}}function qo(e,t){if(e===`auto`)return Vo(t);if(Object.hasOwn(zo,e))return zo[e];throw new Jo(`Unknown color system name: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var Jo=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const Yo=new ao;var W=class e{name;type;number;value;downgradeCache=new Map;constructor(e,t,n,r){this.name=e,this.type=t,this.number=n,this.value=r}get isDefault(){return this.type===U.DEFAULT}get fixedValue(){switch(this.type){case U.TRUECOLOR:return this.value;case U.EIGHT_BIT:return this.number<16?void 0:_s.get(this.number);case U.DEFAULT:case U.STANDARD:case U.WINDOWS:return}}get isSystemDefined(){return this.type===U.STANDARD||this.type===U.WINDOWS}getAnsiCodes(e=!0){switch(this.type){case U.DEFAULT:return[e?`39`:`49`];case U.STANDARD:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}case U.EIGHT_BIT:return[e?`38`:`48`,`5`,`${this.number}`];case U.TRUECOLOR:{let t=this.value;return[e?`38`:`48`,`2`,`${t.red}`,`${t.green}`,`${t.blue}`]}case U.WINDOWS:{let t=this.number;return e?t<8?[`${30+t}`]:[`${90+t-8}`]:t<8?[`${40+t}`]:[`${100+t-8}`]}}}flattenAlpha(t){if(this.type!==U.TRUECOLOR||!this.value)return this;let n=this.value.compositeOver(t);return n===this.value?this:e.fromRgba(n)}downgrade(e){if(this.type===U.DEFAULT||this.type===e||Ro(this.type)<Ro(e))return this;let t=this.downgradeCache.get(e);if(t)return t;let n=this.performDowngrade(e);return this.downgradeCache.set(e,n),n}getTruecolor(e,t=!0){switch(this.type){case U.TRUECOLOR:return this.value;case U.EIGHT_BIT:return this.number<16?Ss(e,this.type).ansiColors.get(this.number):_s.get(this.number);case U.STANDARD:case U.WINDOWS:return Ss(e,this.type).ansiColors.get(this.number);case U.DEFAULT:{let n=Ss(e,this.type);return t?n.foregroundColor:n.backgroundColor}}}static default(){return new e(`default`,U.DEFAULT)}static fromAnsi(t){let n=t<16?U.STANDARD:U.EIGHT_BIT;return new e(`color(${t})`,n,t)}static fromRgba(t){return new e(t.hex,U.TRUECOLOR,void 0,t)}static fromRgb(t,n,r){return e.fromRgba(new H(t,n,r))}static blend(t,n,r){for(let e of[t,n]){if(e.isDefault)throw new Jo(`A blend cannot mix "default", which is no colour`);if(e.value!==void 0&&e.value.alpha<1)throw new Jo(`A blend's ends are opaque; "${e.name}" is translucent`)}if(!(r>=0&&r<=1))throw new Jo(`A blend's fraction is in [0, 1]; got ${r}`);let i=t.fixedValue,a=n.fixedValue;return i!==void 0&&a!==void 0?e.fromRgba(ds(i,a,r)):r===0?t:r===1?n:t.type===n.type&&(t.number===void 0?t.name===n.name:t.number===n.number)?t:new $o(t,n,r)}static matchOn(t,n,r,i){if(t.alpha<1)throw RangeError(`matchOn rounds an opaque colour; got alpha ${t.alpha}`);if(n===U.TRUECOLOR)return e.fromRgba(t);if(n===U.DEFAULT)return e.default();let a=r.ansiColors.match(t);return[[e.default(),i?r.foregroundColor:r.backgroundColor],[new e(`color(${a})`,n===U.WINDOWS?n:U.STANDARD,a),r.ansiColors.get(a)],...n===U.EIGHT_BIT?[Xo(t)]:[]].reduce((e,n)=>Io(n[1],t)<Io(e[1],t)?n:e)[0]}static matchMove(t,n,r,i,a){let o=e.matchOn(n,r,i,a);return Io(t,n)<=Io(o.getTruecolor(i,a),n)?void 0:o}static parse(e){return Yo.get(e.toLowerCase().trim(),is)}performDowngrade(t){let n=this.getTruecolor(Ss(void 0,t));switch(t){case U.EIGHT_BIT:return e.fromAnsi(Cs(t).match(n));case U.STANDARD:case U.WINDOWS:{let r=this.number!==void 0&&this.number<16?this.number:Cs(t).match(n);return new e(`color(${r})`,t,r)}case U.TRUECOLOR:return this;case U.DEFAULT:return e.default()}}};function Xo(e){let t=vs.match(e);return[W.fromAnsi(t),vs.get(t)]}function Zo(e,t,n,r){return ds(e.getTruecolor(r),t.getTruecolor(r),n)}function Qo(e){return e.fixedValue?.hex??(e.number===void 0?e.name:`color(${e.number})`)}var $o=class extends W{from;to;t;constructor(e,t,n){super(`blend(${Qo(e)},${Qo(t)},${n})`,U.TRUECOLOR,void 0,Zo(e,t,n)),this.from=e,this.to=t,this.t=n}get fixedValue(){}getTruecolor(e){return Zo(this.from,this.to,this.t,e)}};const es=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,ts=/^color\((\d+)\)$/,ns=/^blend\((.*)\)$/,rs=/^\s*(?:\d+(?:\.\d+)?|\.\d+)(?:e[+-]?\d+)?\s*$/;function is(e){if(e===`default`||e===``)return W.default();let t=Ts[e];if(t!==void 0)return new W(e,t<16?U.STANDARD:U.EIGHT_BIT,t);if(e.startsWith(`#`))return new W(e,U.TRUECOLOR,void 0,us(e));let n=es.exec(e);if(n){let t=os(e,n[1],`red`),r=os(e,n[2],`green`),i=os(e,n[3],`blue`);return new W(e,U.TRUECOLOR,void 0,new H(t,r,i))}let r=ts.exec(e);if(r){let t=os(e,r[1],`number`);return new W(e,t<16?U.STANDARD:U.EIGHT_BIT,t)}let i=ns.exec(e);if(i){let t=as(i[1]),n=t[2]??``;if(t.length!==3||!rs.test(n))throw new Jo(`ColorSpec "${e}": a blend is blend(<color>,<color>,<fraction>)`);return W.blend(W.parse(t[0]),W.parse(t[1]),Number(n))}throw new Jo(`Failed to parse color: "${e}"`)}function as(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n--:a===`,`&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function os(e,t,n){let r=parseInt(t,10);if(!Ao(r))throw new Jo(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}const ss=/^[0-9a-fA-F]+$/,cs={6:`RRGGBB`,8:`RRGGBBAA`};function ls(e,t,n,r){if(!r.includes(n.length)||!ss.test(n)){let n=r.map(e=>t+cs[e]).join(` or `);throw new Jo(`Invalid hex colour ${JSON.stringify(e)} (expected ${n})`)}let i=e=>parseInt(n.slice(e,e+2),16);return new H(i(0),i(2),i(4),n.length===8?i(6)/255:1)}function us(e){return ls(e,`#`,e.startsWith(`#`)?e.slice(1):``,[6,8])}function ds(e,t,n=.5){return new H(Math.round(e.red+(t.red-e.red)*n),Math.round(e.green+(t.green-e.green)*n),Math.round(e.blue+(t.blue-e.blue)*n),e.alpha+(t.alpha-e.alpha)*n)}var fs=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){if(this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r,n.firstIndex!==0||n.size!==16)throw RangeError(`a TerminalTheme's ansiColors are the sixteen ANSI colours, indices 0–15; got ${n.size} from index ${n.firstIndex}`)}};function ps(){return[new H(0,0,0),new H(128,0,0),new H(0,128,0),new H(128,128,0),new H(0,0,128),new H(128,0,128),new H(0,128,128),new H(192,192,192),new H(128,128,128),new H(255,0,0),new H(0,255,0),new H(255,255,0),new H(0,0,255),new H(255,0,255),new H(0,255,255),new H(255,255,255)]}function ms(){let e=ps(),t=[0,95,135,175,215,255];for(let n=0;n<6;n++)for(let r=0;r<6;r++)for(let i=0;i<6;i++)e.push(new H(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new H(n,n,n))}return e}function hs(){return[new H(12,12,12),new H(197,15,31),new H(19,161,14),new H(193,156,0),new H(0,55,218),new H(136,23,152),new H(58,150,221),new H(204,204,204),new H(118,118,118),new H(231,72,86),new H(22,198,12),new H(249,241,165),new H(59,120,255),new H(180,0,158),new H(97,214,214),new H(242,242,242)]}const gs=new Lo(ps()),_s=new Lo(ms()),vs=new Lo(ms().slice(16),16),ys=new Lo(hs()),bs=new fs(new H(0,0,0),new H(255,255,255),gs,new Eo(`default`,!0,new Map)),xs=new fs(ys.get(0),ys.get(7),ys,new Eo(`windows`,!0,new Map));function Ss(e,t){return e??(t===U.WINDOWS?xs:bs)}function Cs(e){switch(e){case U.EIGHT_BIT:return vs;case U.STANDARD:return gs;case U.WINDOWS:return ys}}function ws(e){let t=Object.entries(e).filter(([e])=>e.includes(`grey`)).map(([e,t])=>[e.replace(`grey`,`gray`),t]);return{...e,...Object.fromEntries(t)}}const Ts=ws({black:0,red:1,green:2,yellow:3,blue:4,magenta:5,cyan:6,white:7,bright_black:8,bright_red:9,bright_green:10,bright_yellow:11,bright_blue:12,bright_magenta:13,bright_cyan:14,bright_white:15,grey0:16,navy_blue:17,dark_blue:18,blue3:19,blue2:20,blue1:21,dark_green:22,deep_sky_blue4:23,deep_sky_blue5:24,deep_sky_blue6:25,dodger_blue3:26,dodger_blue2:27,green4:28,spring_green4:29,turquoise4:30,deep_sky_blue3:31,deep_sky_blue7:32,dodger_blue1:33,green3:34,spring_green3:35,dark_cyan:36,light_sea_green:37,deep_sky_blue2:38,deep_sky_blue1:39,green5:40,spring_green5:41,spring_green2:42,cyan3:43,dark_turquoise:44,turquoise2:45,green1:46,spring_green6:47,spring_green1:48,medium_spring_green:49,cyan2:50,cyan1:51,dark_red:52,deep_pink4:53,purple4:54,purple5:55,purple3:56,blue_violet:57,orange4:58,grey37:59,medium_purple4:60,slate_blue3:61,slate_blue4:62,royal_blue1:63,chartreuse4:64,dark_sea_green4:65,pale_turquoise4:66,steel_blue:67,steel_blue3:68,cornflower_blue:69,chartreuse3:70,dark_sea_green5:71,cadet_blue:72,cadet_blue2:73,sky_blue3:74,steel_blue1:75,chartreuse5:76,pale_green3:77,sea_green3:78,aquamarine3:79,medium_turquoise:80,steel_blue2:81,chartreuse2:82,sea_green2:83,sea_green1:84,sea_green4:85,aquamarine1:86,dark_slate_gray2:87,dark_red2:88,deep_pink5:89,dark_magenta:90,dark_magenta2:91,dark_violet:92,purple2:93,orange5:94,light_pink4:95,plum4:96,medium_purple3:97,medium_purple5:98,slate_blue1:99,yellow4:100,wheat4:101,grey53:102,light_slate_grey:103,medium_purple:104,light_slate_blue:105,yellow5:106,dark_olive_green3:107,dark_sea_green:108,light_sky_blue3:109,light_sky_blue4:110,sky_blue2:111,chartreuse6:112,dark_olive_green4:113,pale_green4:114,dark_sea_green3:115,dark_slate_gray3:116,sky_blue1:117,chartreuse1:118,light_green:119,light_green2:120,pale_green1:121,aquamarine2:122,dark_slate_gray1:123,red3:124,deep_pink6:125,medium_violet_red:126,magenta3:127,dark_violet2:128,purple:129,dark_orange3:130,indian_red:131,hot_pink3:132,medium_orchid3:133,medium_orchid:134,medium_purple2:135,dark_goldenrod:136,light_salmon3:137,rosy_brown:138,grey63:139,medium_purple6:140,medium_purple1:141,gold3:142,dark_khaki:143,navajo_white3:144,grey69:145,light_steel_blue3:146,light_steel_blue:147,yellow3:148,dark_olive_green5:149,dark_sea_green6:150,dark_sea_green2:151,light_cyan3:152,light_sky_blue1:153,green_yellow:154,dark_olive_green2:155,pale_green2:156,dark_sea_green7:157,dark_sea_green1:158,pale_turquoise1:159,red4:160,deep_pink3:161,deep_pink8:162,magenta4:163,magenta5:164,magenta2:165,dark_orange4:166,indian_red2:167,hot_pink4:168,hot_pink2:169,orchid:170,medium_orchid1:171,orange3:172,light_salmon4:173,light_pink3:174,pink3:175,plum3:176,violet:177,gold4:178,light_goldenrod3:179,tan:180,misty_rose3:181,thistle3:182,plum2:183,yellow6:184,khaki3:185,light_goldenrod2:186,light_yellow3:187,grey84:188,light_steel_blue1:189,yellow2:190,dark_olive_green1:191,dark_olive_green6:192,dark_sea_green8:193,honeydew2:194,light_cyan1:195,red1:196,deep_pink2:197,deep_pink1:198,deep_pink9:199,magenta6:200,magenta1:201,orange_red1:202,indian_red1:203,indian_red3:204,hot_pink5:205,hot_pink:206,medium_orchid2:207,dark_orange:208,salmon1:209,light_coral:210,pale_violet_red1:211,orchid2:212,orchid1:213,orange1:214,sandy_brown:215,light_salmon1:216,light_pink1:217,pink1:218,plum1:219,gold1:220,light_goldenrod4:221,light_goldenrod5:222,navajo_white1:223,misty_rose1:224,thistle1:225,yellow1:226,light_goldenrod1:227,khaki1:228,wheat1:229,cornsilk1:230,grey100:231,grey3:232,grey7:233,grey11:234,grey15:235,grey19:236,grey23:237,grey27:238,grey30:239,grey35:240,grey39:241,grey42:242,grey46:243,grey50:244,grey54:245,grey58:246,grey62:247,grey66:248,grey70:249,grey74:250,grey78:251,grey82:252,grey85:253,grey89:254,grey93:255}),Es=[`default`,...Object.keys(Ts)];var Ds;const Os=[`l`,`c`,`h`,`alpha`],ks=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function As(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function js(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Ms(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Ns(e){return e<0?0:e>1?1:e}const Ps=1e-4,Fs=1e-7,Is=(e,t)=>e<Fs?0:t,Ls=(e,t,n)=>e*(1-n)+t*n,Rs=e=>{let t=e%360;return t<0?t+360:t};function zs(e,t,n){return e>=-Ps&&e<=1+Ps&&t>=-Ps&&t<=1+Ps&&n>=-Ps&&n<=1+Ps}var Bs=class{l;c;h;alpha;constructor(e,t,n,r=1){if(this.l=e,this.c=t,this.h=n,this.alpha=r,!Number.isFinite(e))throw RangeError(`Oklch.l must be finite; got ${e}`);if(!Number.isFinite(t))throw RangeError(`Oklch.c must be finite; got ${t}`);if(!Number.isFinite(n))throw RangeError(`Oklch.h must be finite; got ${n}`);if(!Number.isFinite(r)||r<0||r>1)throw RangeError(`Oklch.alpha must be a finite number in [0,1]; got ${r}`)}static fromRgba(e){let[t,n,r,i]=e.normalized,a=js(t),o=js(n),s=js(r),c=.4122214708*a+.5363325363*o+.0514459929*s,l=.2119034982*a+.6806995451*o+.1073969566*s,u=.0883024619*a+.2817188376*o+.6299787005*s,d=Math.cbrt(c),f=Math.cbrt(l),p=Math.cbrt(u),m=.2104542553*d+.793617785*f-.0040720468*p,h=1.9779984951*d-2.428592205*f+.4505937099*p,g=.0259040371*d+.7827717662*f-.808675766*p,_=Math.sqrt(h*h+g*g),v=Rs(180/Math.PI*Math.atan2(g,h));return new Ds(m,_,Is(_,v),i)}toRgba(){let e=Ns(this.l),t=Math.max(0,this.c),n=this.findInGamutChroma(e,t,this.h),{r,g:i,b:a}=this.toLinearRgb(e,n,this.h);return new H(Math.round(Ns(Ms(r))*255),Math.round(Ns(Ms(i))*255),Math.round(Ns(Ms(a))*255),this.alpha)}applyKey(e){if(As(e))return this;let t=Ns(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=Rs(this.h+e.hueShift);return new Ds(t,n,Is(n,r),this.alpha)}mix(e,t){if(!(t>=0&&t<=1))throw RangeError(`Oklch.mix: t must be in [0, 1]; got ${t}`);return this.#e(e,t,t,t,t)}mixAxes(e,t){for(let e of Os){let n=t[e];if(!(n>=0&&n<=1))throw RangeError(`Oklch.mixAxes: ${e} weight must be in [0, 1]; got ${n}`)}return this.#e(e,t.l,t.c,t.h,t.alpha)}#e(e,t,n,r,i){let a=this.c>=Fs,o=e.c>=Fs,s=Rs(a?this.h:o?e.h:0),c=Rs(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=Ls(this.c,e.c,n);return new Ds(Ls(this.l,e.l,t),f,Is(f,Rs(Ls(u,d,r))),Ls(this.alpha,e.alpha,i))}deltaE(e){let t=this.h*Math.PI/180,n=e.h*Math.PI/180;return Math.hypot(this.l-e.l,this.c*Math.cos(t)-e.c*Math.cos(n),this.c*Math.sin(t)-e.c*Math.sin(n))}toLinearRgb(e,t,n){let r=Math.PI/180*n,i=t*Math.cos(r),a=t*Math.sin(r),o=e+.3963377774*i+.2158037573*a,s=e-.1055613458*i-.0638541728*a,c=e-.0894841775*i-1.291485548*a,l=o*o*o,u=s*s*s,d=c*c*c;return{r:4.0767416621*l-3.3077115913*u+.2309699292*d,g:-1.2684380046*l+2.6097574011*u-.3413193965*d,b:-.0041960863*l-.7034186147*u+1.707614701*d}}findInGamutChroma(e,t,n){let r=this.toLinearRgb(e,t,n);if(zs(r.r,r.g,r.b))return t;let i=0,a=t;for(let t=0;t<24;t++){let t=(i+a)/2,r=this.toLinearRgb(e,t,n);zs(r.r,r.g,r.b)?i=t:a=t}return i}};Ds=Bs;var Vs=class extends Error{ref;constructor(e,t,n){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`,n),this.ref=e,this.name=`ColorRefError`}};function Hs(e,t){let n=t.trim();if(n.startsWith(`#`))try{return us(n)}catch(e){throw e instanceof Jo?new Vs(t,e.message,{cause:e}):e}let r=e.get(n);if(r===void 0)throw new Vs(t,`no such variable in palette ${JSON.stringify(e.name)}`+Us(e,n));return r}function Us(e,t){let n=t.split(`-`),r=[...e.vars.keys()].filter(e=>n.some(t=>t!==``&&e.includes(t))).slice(0,8);return r.length===0?``:`; did you mean: ${r.join(`, `)}`}function Ws(e){let t=e.red/255,n=e.green/255,r=e.blue/255,i=Math.max(t,n,r),a=Math.min(t,n,r),o=(i+a)/2,s=i-a;if(s===0)return{h:0,s:0,l:o};let c=s/(o>.5?2-i-a:i+a),l;return l=i===t?(n-r)/s%6:i===n?(r-t)/s+2:(t-n)/s+4,l=(l*60+360)%360,{h:l,s:c,l:o}}function Gs(e){let t=Math.round(e);return t<0?0:t>255?255:t}function Ks(e){let{h:t,s:n,l:r}=e;if(n===0){let e=Gs(r*255);return new H(e,e,e)}let i=(1-Math.abs(2*r-1))*n,a=t/60,o=i*(1-Math.abs(a%2-1)),s=0,c=0,l=0;a<1?[s,c,l]=[i,o,0]:a<2?[s,c,l]=[o,i,0]:a<3?[s,c,l]=[0,i,o]:a<4?[s,c,l]=[0,o,i]:a<5?[s,c,l]=[o,0,i]:[s,c,l]=[i,0,o];let u=r-i/2;return new H(Gs((s+u)*255),Gs((c+u)*255),Gs((l+u)*255))}function qs(e){return e<0?0:e>1?1:e}function Js(e,t){let n=Ws(e);return n.l=qs(n.l-.1*t),Ks(n)}function Ys(e,t,n){return ds(t,e,qs(n))}function Xs(e,t=Mo){return No(tc(e,t))>.179?new H(0,0,0):new H(255,255,255)}function Zs(e,t,n=4.5,r=U.TRUECOLOR,i=Mo,a){let o=tc(t,i),s=rc(e,o,n,Xs(o)),c=nc(r,a);if(c===void 0)return s;let l=ec(c,o);return Po(ec(c,s),l)>=n?s:c.written.get(c.shown.matchReadable(e.compositeOver(o),l,n))}function Qs(e,t,n,r=Mo,i){let a=tc(e,r),o=nc(t,i),s=e=>ec(o,tc(e,r));if(n(s(a),s))return a;let c=o?.shown.matchWhere(a,e=>n(e,s));return c===void 0?void 0:o.written.get(c)}function $s(e,t,n=Mo,r){return ec(nc(t,r),tc(e,n))}function ec(e,t){return e===void 0?t:W.fromRgba(t).downgrade(e.depth).getTruecolor(e.terminal)}function tc(e,t){if(t.alpha!==1)throw RangeError(`a contrast substrate is the opaque surface under a translucent background; got ${t.hex}`);return e.compositeOver(t)}function nc(e,t){let n=Ss(t,e);switch(e){case U.EIGHT_BIT:return{depth:e,terminal:n,written:Cs(e),shown:Cs(e)};case U.STANDARD:case U.WINDOWS:return{depth:e,terminal:n,written:Cs(e),shown:n.ansiColors};case U.TRUECOLOR:case U.DEFAULT:return}}function rc(e,t,n,r){let i=e.compositeOver(t);if(Po(i,t)>=n)return i;let a=Bs.fromRgba(i),o=+(No(r)>.179);if(Po(new Bs(o,a.c,a.h,a.alpha).toRgba(),t)<n)return Xs(t);let s=a.l,c=o;for(let e=0;e<20;e++){let e=(s+c)/2;Po(new Bs(e,a.c,a.h,a.alpha).toRgba(),t)>=n?c=e:s=e}return new Bs(c,a.c,a.h,a.alpha).toRgba()}const ic=.7,ac=[`primary`,`secondary`,`accent`,`success`,`warning`,`error`];function oc(e,t,n){let r=Do(e,n.background),i=t=>{let i=n[t];if(i.alpha===0)throw RangeError(`palette ${JSON.stringify(e)}: ${t} is fully transparent (${i.hex}), so there is no colour to derive the palette from`);return r(i)},a={primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),background:n.background,foreground:i(`foreground`)},o=new Map;o.set(`background`,a.background),o.set(`foreground`,a.foreground);for(let e of ac)o.set(e,a[e]);o.set(`foreground-muted`,ds(a.foreground,a.background,ic)),o.set(`background-muted`,ds(a.background,a.foreground,ic)),o.set(`surface`,ds(a.background,a.foreground,.05));let s=Xs(a.background);for(let e of ac){let t=a[e],n=ds(t,a.background,ic);o.set(`${e}-muted`,n),o.set(`text-${e}`,sc(Ys(t,s,.66),n,a.background)),o.set(`on-${e}`,Xs(t))}return new Eo(e,t,o)}function sc(e,t,n){return rc(e,t,4.5,Xs(n))}const cc={name:`atom-one-dark`,dark:!0,ansi:{black:`#282C34`,red:`#E06C75`,green:`#98C379`,yellow:`#E5C07B`,blue:`#61AFEF`,magenta:`#C678DD`,cyan:`#56B6C2`,white:`#DCDFE4`,brightBlack:`#5D677A`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#E5C07B`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#DCDFE4`},vars:{accent:`#A378C2`,"accent-darken-1":`#8E65AD`,"accent-darken-2":`#7A5299`,"accent-darken-3":`#674085`,"accent-lighten-1":`#B78BD6`,"accent-lighten-2":`#CC9FEC`,"accent-lighten-3":`#E2B3FF`,"accent-muted":`#4C425E`,background:`#282C34`,"background-darken-1":`#181C23`,"background-darken-2":`#050A14`,"background-darken-3":`#000000`,"background-lighten-1":`#383C44`,"background-lighten-2":`#494D56`,"background-lighten-3":`#5B5F68`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#ABB2BF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#353B47`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#ABB2BF`,error:`#EF6262`,"error-darken-1":`#D84D50`,"error-darken-2":`#C1373E`,"error-darken-3":`#AA1F2E`,"error-lighten-1":`#FF7674`,"error-lighten-2":`#FF8B87`,"error-lighten-3":`#FFA09B`,"error-muted":`#643C41`,"footer-background":`#4F5666`,"footer-description-background":`#00000000`,"footer-description-foreground":`#ABB2BF`,"footer-foreground":`#ABB2BF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#A378C2`,foreground:`#ABB2BF`,"foreground-darken-1":`#979DAA`,"foreground-darken-2":`#838A96`,"foreground-darken-3":`#707783`,"foreground-disabled":`#ABB2BF60`,"foreground-lighten-1":`#BFC6D3`,"foreground-lighten-2":`#D4DBE8`,"foreground-lighten-3":`#E9F0FE`,"foreground-muted":`#ABB2BF99`,"input-cursor-background":`#ABB2BF`,"input-cursor-foreground":`#282C34`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#ABB2BF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#ABB2BF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#ABB2BF99`,panel:`#4F5666`,"panel-darken-1":`#3D4453`,"panel-darken-2":`#2C3342`,"panel-darken-3":`#1C2331`,"panel-lighten-1":`#616878`,"panel-lighten-2":`#737A8B`,"panel-lighten-3":`#868E9F`,primary:`#61AFEF`,"primary-background":`#4F5B6A`,"primary-background-darken-1":`#3F4D5D`,"primary-background-darken-2":`#303F50`,"primary-background-darken-3":`#303F50`,"primary-background-lighten-1":`#5E6A77`,"primary-background-lighten-2":`#6E7884`,"primary-background-lighten-3":`#7D8791`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#39536C`,scrollbar:`#355674`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#181C23`,"scrollbar-background-active":`#181C23`,"scrollbar-background-hover":`#181C23`,"scrollbar-corner-color":`#181C23`,"scrollbar-hover":`#3C6589`,secondary:`#C678DD`,"secondary-background":`#5B5567`,"secondary-background-darken-1":`#4D465A`,"secondary-background-darken-2":`#3F374D`,"secondary-background-darken-3":`#3F374D`,"secondary-background-lighten-1":`#6A6475`,"secondary-background-lighten-2":`#787382`,"secondary-background-lighten-3":`#87828F`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#574266`,success:`#62F062`,"success-darken-1":`#48DA4D`,"success-darken-2":`#29C438`,"success-darken-3":`#00AF22`,"success-lighten-1":`#7AFF76`,"success-lighten-2":`#91FF8A`,"success-lighten-3":`#A8FF9F`,"success-muted":`#396641`,surface:`#3B414D`,"surface-active":`#484E5B`,"surface-darken-1":`#2A303B`,"surface-darken-2":`#1A202B`,"surface-darken-3":`#09101B`,"surface-lighten-1":`#4C525E`,"surface-lighten-2":`#5E6471`,"surface-lighten-3":`#707684`,text:`#FFFFFFDD`,"text-accent":`#C2A5D6`,"text-disabled":`#FFFFFF60`,"text-error":`#F59797`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#97F597`,"text-warning":`#E9CC92`,warning:`#DDB25B`,"warning-darken-1":`#C79D47`,"warning-darken-2":`#B28A34`,"warning-darken-3":`#9C7721`,"warning-lighten-1":`#F4C66E`,"warning-lighten-2":`#FFDB82`,"warning-lighten-3":`#FFF096`,"warning-muted":`#5E543F`}},lc={name:`atom-one-light`,dark:!1,ansi:{black:`#383A42`,red:`#E45649`,green:`#50A14F`,yellow:`#C18401`,blue:`#0184BC`,magenta:`#A626A4`,cyan:`#0997B3`,white:`#BABABA`,brightBlack:`#4F525E`,brightRed:`#E06C75`,brightGreen:`#98C379`,brightYellow:`#D8B36E`,brightBlue:`#61AFEF`,brightMagenta:`#C678DD`,brightCyan:`#56B6C2`,brightWhite:`#FFFFFF`},vars:{accent:`#BE9232`,"accent-darken-1":`#A97E1D`,"accent-darken-2":`#936B01`,"accent-darken-3":`#7E5900`,"accent-lighten-1":`#D5A545`,"accent-lighten-2":`#EBB959`,"accent-lighten-3":`#FFCE6C`,"accent-muted":`#E8DABE`,background:`#FAFAFA`,"background-darken-1":`#E4E4E4`,"background-darken-2":`#CFCFCF`,"background-darken-3":`#BABABA`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#4078F2`,"block-cursor-blurred-background":`#4078F24C`,"block-cursor-blurred-foreground":`#383A42`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#4078F2`,"border-blurred":`#D8D8D8`,"button-color-foreground":`#000000DD`,"button-foreground":`#383A42`,error:`#F13F3F`,"error-darken-1":`#D9232D`,"error-darken-2":`#C1001D`,"error-darken-3":`#A9000D`,"error-lighten-1":`#FF5650`,"error-lighten-2":`#FF6C62`,"error-lighten-3":`#FF8275`,"error-muted":`#F7C1C1`,"footer-background":`#CCCCCC`,"footer-description-background":`#00000000`,"footer-description-foreground":`#383A42`,"footer-foreground":`#383A42`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#BF9232`,foreground:`#383A42`,"foreground-darken-1":`#272931`,"foreground-darken-2":`#181A21`,"foreground-darken-3":`#040612`,"foreground-disabled":`#383A4260`,"foreground-lighten-1":`#494B53`,"foreground-lighten-2":`#5A5C65`,"foreground-lighten-3":`#6D6F78`,"foreground-muted":`#383A4299`,"input-cursor-background":`#383A42`,"input-cursor-foreground":`#FAFAFA`,"input-selection-background":`#5C8AFF66`,"link-background":`#00000000`,"link-background-hover":`#4078F2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#4078F2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#4078F2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#4078F2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#383A42`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#383A42`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#383A4299`,panel:`#CCCCCC`,"panel-darken-1":`#B7B7B7`,"panel-darken-2":`#A3A3A3`,"panel-darken-3":`#8F8F8F`,"panel-lighten-1":`#E1E1E1`,"panel-lighten-2":`#F6F6F6`,"panel-lighten-3":`#FFFFFF`,primary:`#4078F2`,"primary-background":`#4078F2`,"primary-background-darken-1":`#1865DC`,"primary-background-darken-2":`#0053C6`,"primary-background-darken-3":`#0043B1`,"primary-background-lighten-1":`#5C8AFF`,"primary-background-lighten-2":`#759EFF`,"primary-background-lighten-3":`#8DB2FF`,"primary-darken-1":`#1865DC`,"primary-darken-2":`#0053C6`,"primary-darken-3":`#0043B1`,"primary-lighten-1":`#5C8AFF`,"primary-lighten-2":`#759EFF`,"primary-lighten-3":`#8DB2FF`,"primary-muted":`#C2D3F7`,scrollbar:`#A2B8E9`,"scrollbar-active":`#4078F2`,"scrollbar-background":`#E4E4E4`,"scrollbar-background-active":`#E4E4E4`,"scrollbar-background-hover":`#E4E4E4`,"scrollbar-corner-color":`#E4E4E4`,"scrollbar-hover":`#92AEEB`,secondary:`#A626A4`,"secondary-background":`#A626A4`,"secondary-background-darken-1":`#90008F`,"secondary-background-darken-2":`#7B007C`,"secondary-background-darken-3":`#670069`,"secondary-background-lighten-1":`#BB3EB8`,"secondary-background-lighten-2":`#D154CD`,"secondary-background-lighten-3":`#E769E2`,"secondary-darken-1":`#90008F`,"secondary-darken-2":`#7B007C`,"secondary-darken-3":`#670069`,"secondary-lighten-1":`#BB3EB8`,"secondary-lighten-2":`#D154CD`,"secondary-lighten-3":`#E769E2`,"secondary-muted":`#E0BAE0`,success:`#6BF23F`,"success-darken-1":`#52DC25`,"success-darken-2":`#36C600`,"success-darken-3":`#05B100`,"success-lighten-1":`#83FF55`,"success-lighten-2":`#9BFF6B`,"success-lighten-3":`#B2FF80`,"success-muted":`#CFF7C1`,surface:`#E0E0E0`,"surface-active":`#F1F1F1`,"surface-darken-1":`#CACACA`,"surface-darken-2":`#B6B6B6`,"surface-darken-3":`#A2A2A2`,"surface-lighten-1":`#F5F5F5`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#7E6021`,"text-disabled":`#00000060`,"text-error":`#9F2929`,"text-muted":`#00000099`,"text-primary":`#2A4F9F`,"text-secondary":`#6D196C`,"text-success":`#479F29`,"text-warning":`#8E8F24`,warning:`#D7D938`,"warning-darken-1":`#C1C41C`,"warning-darken-2":`#ABAF00`,"warning-darken-3":`#969B00`,"warning-lighten-1":`#EEEE4E`,"warning-lighten-2":`#FFFF64`,"warning-lighten-3":`#FFFF79`,"warning-muted":`#EFF0BF`}},uc={name:`catppuccin-frappe`,dark:!0,ansi:{black:`#51576D`,red:`#E78284`,green:`#A6D189`,yellow:`#E5C890`,blue:`#8CAAEE`,magenta:`#F4B8E4`,cyan:`#81C8BE`,white:`#B5BFE2`,brightBlack:`#626880`,brightRed:`#EDA0A2`,brightGreen:`#B9DBA2`,brightYellow:`#ECD7AE`,brightBlue:`#ADC2F3`,brightMagenta:`#F38ED8`,brightCyan:`#98D2CA`,brightWhite:`#A5ADCE`},vars:{accent:`#F4B8E4`,"accent-darken-1":`#DEA3CE`,"accent-darken-2":`#C98FBA`,"accent-darken-3":`#B47BA5`,"accent-lighten-1":`#FFCCF9`,"accent-lighten-2":`#FFE2FF`,"accent-lighten-3":`#FFF7FF`,"accent-muted":`#6A5B75`,background:`#303446`,"background-darken-1":`#1F2435`,"background-darken-2":`#101424`,"background-darken-3":`#000016`,"background-lighten-1":`#404457`,"background-lighten-2":`#525669`,"background-lighten-3":`#64687C`,"block-cursor-background":`#CA9EE6`,"block-cursor-blurred-background":`#CA9EE64C`,"block-cursor-blurred-foreground":`#C6D0F5`,"block-cursor-foreground":`#292C3C`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BABBF1`,"border-blurred":`#838BA7`,"button-color-foreground":`#303446`,"button-foreground":`#C6D0F5`,error:`#E68284`,"error-darken-1":`#D06E71`,"error-darken-2":`#BA5A5E`,"error-darken-3":`#A4474C`,"error-lighten-1":`#FD9697`,"error-lighten-2":`#FFAAAB`,"error-lighten-3":`#FFBFBF`,"error-muted":`#664B58`,"footer-background":`#51576D`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C6D0F5`,"footer-foreground":`#C6D0F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F4B8E4`,foreground:`#C6D0F5`,"foreground-darken-1":`#B1BBDF`,"foreground-darken-2":`#9CA7CA`,"foreground-darken-3":`#8993B5`,"foreground-disabled":`#C6D0F560`,"foreground-lighten-1":`#DBE5FF`,"foreground-lighten-2":`#F0FAFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C6D0F599`,"input-cursor-background":`#F2D5CF`,"input-cursor-foreground":`#232634`,"input-selection-background":`#949CBB4C`,"link-background":`#00000000`,"link-background-hover":`#CA9EE6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#CA9EE6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#CA9EE6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#CA9EE6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C6D0F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C6D0F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C6D0F599`,panel:`#51576D`,"panel-darken-1":`#3F455A`,"panel-darken-2":`#2E3448`,"panel-darken-3":`#1D2437`,"panel-lighten-1":`#63697F`,"panel-lighten-2":`#767B93`,"panel-lighten-3":`#898FA7`,primary:`#CA9EE6`,"primary-background":`#625F76`,"primary-background-darken-1":`#54516A`,"primary-background-darken-2":`#47435E`,"primary-background-darken-3":`#47435E`,"primary-background-lighten-1":`#706D82`,"primary-background-lighten-2":`#7E7B8E`,"primary-background-lighten-3":`#8C899A`,"primary-darken-1":`#B58AD0`,"primary-darken-2":`#A076BB`,"primary-darken-3":`#8C63A7`,"primary-lighten-1":`#DFB2FB`,"primary-lighten-2":`#F4C7FF`,"primary-lighten-3":`#FFDCFF`,"primary-muted":`#5E5376`,scrollbar:`#63547B`,"scrollbar-active":`#CA9EE6`,"scrollbar-background":`#1F2435`,"scrollbar-background-active":`#1F2435`,"scrollbar-background-hover":`#1F2435`,"scrollbar-corner-color":`#1F2435`,"scrollbar-hover":`#74618D`,secondary:`#EE9F76`,"secondary-background":`#666067`,"secondary-background-darken-1":`#59525A`,"secondary-background-darken-2":`#4C444D`,"secondary-background-darken-3":`#4C444D`,"secondary-background-lighten-1":`#746E75`,"secondary-background-lighten-2":`#817C82`,"secondary-background-lighten-3":`#8F8A8F`,"secondary-darken-1":`#D88B63`,"secondary-darken-2":`#C27750`,"secondary-darken-3":`#AC643E`,"secondary-lighten-1":`#FFB389`,"secondary-lighten-2":`#FFC89D`,"secondary-lighten-3":`#FFDDB1`,"secondary-muted":`#695454`,success:`#A6D189`,"success-darken-1":`#91BC75`,"success-darken-2":`#7DA762`,"success-darken-3":`#6A9350`,"success-lighten-1":`#BAE69C`,"success-lighten-2":`#CFFBB1`,"success-lighten-3":`#E5FFC5`,"success-muted":`#53635A`,surface:`#414559`,"surface-active":`#4F5267`,"surface-darken-1":`#303447`,"surface-darken-2":`#1F2436`,"surface-darken-3":`#101526`,"surface-lighten-1":`#52566B`,"surface-lighten-2":`#64687E`,"surface-lighten-3":`#777B91`,text:`#FFFFFFDD`,"text-accent":`#F7D0ED`,"text-disabled":`#FFFFFF60`,"text-error":`#EFACAD`,"text-muted":`#FFFFFF99`,"text-primary":`#DCBEEE`,"text-secondary":`#F4BFA4`,"text-success":`#C4E0B1`,"text-warning":`#EDDAB5`,warning:`#E4C890`,"warning-darken-1":`#CFB37C`,"warning-darken-2":`#BA9F69`,"warning-darken-3":`#A58B56`,"warning-lighten-1":`#FADCA4`,"warning-lighten-2":`#FFF2B8`,"warning-lighten-3":`#FFFFCD`,"warning-muted":`#66605C`}},dc={name:`catppuccin-latte`,dark:!1,ansi:{black:`#BCC0CC`,red:`#D20F39`,green:`#40A02B`,yellow:`#DF8E1D`,blue:`#1E66F5`,magenta:`#EA76CB`,cyan:`#179299`,white:`#5C5F77`,brightBlack:`#ACB0BE`,brightRed:`#E7103F`,brightGreen:`#46B02F`,brightYellow:`#E49931`,brightBlue:`#3878F6`,brightMagenta:`#EF95D7`,brightCyan:`#19A1A8`,brightWhite:`#6C6F85`},vars:{accent:`#FD640B`,"accent-darken-1":`#E54F00`,"accent-darken-2":`#CC3900`,"accent-darken-3":`#B42200`,"accent-lighten-1":`#FF7825`,"accent-lighten-2":`#FF8D3A`,"accent-lighten-3":`#FFA24F`,"accent-muted":`#F3C6AE`,background:`#EFF1F5`,"background-darken-1":`#D9DBDF`,"background-darken-2":`#C4C6CA`,"background-darken-3":`#B0B2B5`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#8839EF`,"block-cursor-blurred-background":`#8839EF4C`,"block-cursor-blurred-foreground":`#4C4F69`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#8839EF`,"border-blurred":`#DEE1E7`,"button-color-foreground":`#EFF1F5`,"button-foreground":`#4C4F69`,error:`#D10F39`,"error-darken-1":`#BA0028`,"error-darken-2":`#A20019`,"error-darken-3":`#8A0008`,"error-lighten-1":`#EA324A`,"error-lighten-2":`#FF4B5B`,"error-lighten-3":`#FF626E`,"error-muted":`#E6ADBC`,"footer-background":`#CCD0DA`,"footer-description-background":`#00000000`,"footer-description-foreground":`#4C4F69`,"footer-foreground":`#4C4F69`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FE640B`,foreground:`#4C4F69`,"foreground-darken-1":`#3A3D56`,"foreground-darken-2":`#292D45`,"foreground-darken-3":`#191D34`,"foreground-disabled":`#4C4F6960`,"foreground-lighten-1":`#5E607B`,"foreground-lighten-2":`#70738F`,"foreground-lighten-3":`#8386A2`,"foreground-muted":`#4C4F6999`,"input-cursor-background":`#4C4F69`,"input-cursor-foreground":`#EFF1F5`,"input-selection-background":`#9E4DFF66`,"link-background":`#00000000`,"link-background-hover":`#8839EF`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#8839EF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#8839EF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#8839EF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#4C4F69`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#4C4F69`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#4C4F6999`,panel:`#CCD0DA`,"panel-darken-1":`#B7BBC5`,"panel-darken-2":`#A3A6B0`,"panel-darken-3":`#8F939C`,"panel-lighten-1":`#E1E5EF`,"panel-lighten-2":`#F6FAFF`,"panel-lighten-3":`#FFFFFF`,primary:`#8839EF`,"primary-background":`#8839EF`,"primary-background-darken-1":`#7122D9`,"primary-background-darken-2":`#5901C3`,"primary-background-darken-3":`#4000AE`,"primary-background-lighten-1":`#9E4DFF`,"primary-background-lighten-2":`#B562FF`,"primary-background-lighten-3":`#CC76FF`,"primary-darken-1":`#7122D9`,"primary-darken-2":`#5901C3`,"primary-darken-3":`#4000AE`,"primary-lighten-1":`#9E4DFF`,"primary-lighten-2":`#B562FF`,"primary-lighten-3":`#CC76FF`,"primary-muted":`#D0B9F3`,scrollbar:`#B89AE5`,"scrollbar-active":`#8839EF`,"scrollbar-background":`#D9DBDF`,"scrollbar-background-active":`#D9DBDF`,"scrollbar-background-hover":`#D9DBDF`,"scrollbar-corner-color":`#D9DBDF`,"scrollbar-hover":`#B08AE7`,secondary:`#DB8A78`,"secondary-background":`#DB8A78`,"secondary-background-darken-1":`#C57665`,"secondary-background-darken-2":`#B06353`,"secondary-background-darken-3":`#9A5041`,"secondary-background-lighten-1":`#F29D8B`,"secondary-background-lighten-2":`#FFB29E`,"secondary-background-lighten-3":`#FFC7B3`,"secondary-darken-1":`#C57665`,"secondary-darken-2":`#B06353`,"secondary-darken-3":`#9A5041`,"secondary-lighten-1":`#F29D8B`,"secondary-lighten-2":`#FFB29E`,"secondary-lighten-3":`#FFC7B3`,"secondary-muted":`#E9D2CF`,success:`#40A02B`,"success-darken-1":`#278B14`,"success-darken-2":`#007800`,"success-darken-3":`#006400`,"success-lighten-1":`#56B43F`,"success-lighten-2":`#6BC952`,"success-lighten-3":`#81DE66`,"success-muted":`#BAD8B8`,surface:`#E6E9EF`,"surface-active":`#F7FAFF`,"surface-darken-1":`#D0D3D9`,"surface-darken-2":`#BCBFC4`,"surface-darken-3":`#A7AAB0`,"surface-lighten-1":`#FBFEFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A74207`,"text-disabled":`#00000060`,"text-error":`#8A0925`,"text-muted":`#00000099`,"text-primary":`#59259D`,"text-secondary":`#915B4F`,"text-success":`#2A691C`,"text-warning":`#935D13`,warning:`#DE8E1D`,"warning-darken-1":`#C77A00`,"warning-darken-2":`#B06700`,"warning-darken-3":`#9A5500`,"warning-lighten-1":`#F6A134`,"warning-lighten-2":`#FFB648`,"warning-lighten-3":`#FFCA5D`,"warning-muted":`#EAD3B4`}},fc={name:`catppuccin-macchiato`,dark:!0,ansi:{black:`#494D64`,red:`#ED8796`,green:`#A6DA95`,yellow:`#EED49F`,blue:`#8AADF4`,magenta:`#F5BDE6`,cyan:`#8BD5CA`,white:`#B8C0E0`,brightBlack:`#5B6078`,brightRed:`#F2A7B2`,brightGreen:`#BDE3B0`,brightYellow:`#F4E3C1`,brightBlue:`#ADC5F7`,brightMagenta:`#F493DA`,brightCyan:`#A5DED6`,brightWhite:`#A5ADCB`},vars:{accent:`#F5BDE6`,"accent-darken-1":`#DFA8D0`,"accent-darken-2":`#CA94BC`,"accent-darken-3":`#B580A7`,"accent-lighten-1":`#FFD1FB`,"accent-lighten-2":`#FFE7FF`,"accent-lighten-3":`#FFFCFF`,"accent-muted":`#62546D`,background:`#24273A`,"background-darken-1":`#141729`,"background-darken-2":`#00021A`,"background-darken-3":`#000007`,"background-lighten-1":`#34374B`,"background-lighten-2":`#45485C`,"background-lighten-3":`#57596F`,"block-cursor-background":`#C6A0F6`,"block-cursor-blurred-background":`#C6A0F64C`,"block-cursor-blurred-foreground":`#CAD3F5`,"block-cursor-foreground":`#1E2030`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B7BDF8`,"border-blurred":`#737994`,"button-color-foreground":`#24273A`,"button-foreground":`#CAD3F5`,error:`#ED8796`,"error-darken-1":`#D67382`,"error-darken-2":`#C05F6F`,"error-darken-3":`#AB4C5D`,"error-lighten-1":`#FF9BA9`,"error-lighten-2":`#FFAFBE`,"error-lighten-3":`#FFC4D3`,"error-muted":`#604355`,"footer-background":`#494D64`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CAD3F5`,"footer-foreground":`#CAD3F5`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#F5BDE6`,foreground:`#CAD3F5`,"foreground-darken-1":`#B5BEDF`,"foreground-darken-2":`#A0A9CA`,"foreground-darken-3":`#8C95B5`,"foreground-disabled":`#CAD3F560`,"foreground-lighten-1":`#DFE8FF`,"foreground-lighten-2":`#F4FDFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CAD3F599`,"input-cursor-background":`#F4DBD6`,"input-cursor-foreground":`#181926`,"input-selection-background":`#838BA74C`,"link-background":`#00000000`,"link-background-hover":`#C6A0F6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C6A0F6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C6A0F6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C6A0F6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CAD3F5`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CAD3F5`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CAD3F599`,panel:`#494D64`,"panel-darken-1":`#373B51`,"panel-darken-2":`#262B40`,"panel-darken-3":`#161C2F`,"panel-lighten-1":`#5A5E76`,"panel-lighten-2":`#6D7189`,"panel-lighten-3":`#80849D`,primary:`#C6A0F6`,"primary-background":`#59566F`,"primary-background-darken-1":`#4A4762`,"primary-background-darken-2":`#3C3956`,"primary-background-darken-3":`#3C3956`,"primary-background-lighten-1":`#67657C`,"primary-background-lighten-2":`#767488`,"primary-background-lighten-3":`#858395`,"primary-darken-1":`#B08CE0`,"primary-darken-2":`#9C78CB`,"primary-darken-3":`#8865B6`,"primary-lighten-1":`#DBB4FF`,"primary-lighten-2":`#F1C9FF`,"primary-lighten-3":`#FFDEFF`,"primary-muted":`#544B72`,scrollbar:`#5B4D7B`,"scrollbar-active":`#C6A0F6`,"scrollbar-background":`#141729`,"scrollbar-background-active":`#141729`,"scrollbar-background-hover":`#141729`,"scrollbar-corner-color":`#141729`,"scrollbar-hover":`#6D5B8F`,secondary:`#F4A97F`,"secondary-background":`#5F5760`,"secondary-background-darken-1":`#514852`,"secondary-background-darken-2":`#433A44`,"secondary-background-darken-3":`#433A44`,"secondary-background-lighten-1":`#6D666E`,"secondary-background-lighten-2":`#7B757C`,"secondary-background-lighten-3":`#89838A`,"secondary-darken-1":`#DE946B`,"secondary-darken-2":`#C88159`,"secondary-darken-3":`#B26E47`,"secondary-lighten-1":`#FFBD92`,"secondary-lighten-2":`#FFD2A6`,"secondary-lighten-3":`#FFE7BB`,"secondary-muted":`#624E4E`,success:`#A6DA95`,"success-darken-1":`#91C481`,"success-darken-2":`#7DB06E`,"success-darken-3":`#6A9C5B`,"success-lighten-1":`#BAEFA9`,"success-lighten-2":`#CFFFBD`,"success-lighten-3":`#E5FFD2`,"success-muted":`#4B5C55`,surface:`#363A4F`,"surface-active":`#43475D`,"surface-darken-1":`#25293D`,"surface-darken-2":`#151A2D`,"surface-darken-3":`#03061D`,"surface-lighten-1":`#474B60`,"surface-lighten-2":`#595C73`,"surface-lighten-3":`#6B6F86`,text:`#FFFFFFDD`,"text-accent":`#F8D3EE`,"text-disabled":`#FFFFFF60`,"text-error":`#F3AFB9`,"text-muted":`#FFFFFF99`,"text-primary":`#D9C0F9`,"text-secondary":`#F8C6AA`,"text-success":`#C4E6B9`,"text-warning":`#F3E2BF`,warning:`#EED49F`,"warning-darken-1":`#D8BF8B`,"warning-darken-2":`#C3AA77`,"warning-darken-3":`#AE9664`,"warning-lighten-1":`#FFE9B3`,"warning-lighten-2":`#FFFEC7`,"warning-lighten-3":`#FFFFDD`,"warning-muted":`#605A58`}},pc={name:`catppuccin-mocha`,dark:!0,ansi:{black:`#45475A`,red:`#F38BA8`,green:`#A6E3A1`,yellow:`#F9E2AF`,blue:`#89B4FA`,magenta:`#F5C2E7`,cyan:`#94E2D5`,white:`#BAC2DE`,brightBlack:`#585B70`,brightRed:`#F7AEC2`,brightGreen:`#C2ECBF`,brightYellow:`#FCD682`,brightBlue:`#AECCFC`,brightMagenta:`#F398DA`,brightCyan:`#B1EAE1`,brightWhite:`#A6ADC8`},vars:{accent:`#F9B387`,"accent-darken-1":`#E39E73`,"accent-darken-2":`#CD8A60`,"accent-darken-3":`#B7774E`,"accent-lighten-1":`#FFC79A`,"accent-lighten-2":`#FFDCAE`,"accent-lighten-3":`#FFF2C3`,"accent-muted":`#5B4642`,background:`#181825`,"background-darken-1":`#040216`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#272735`,"background-lighten-2":`#373746`,"background-lighten-3":`#484857`,"block-cursor-background":`#F5C2E7`,"block-cursor-blurred-background":`#F5C2E74C`,"block-cursor-blurred-foreground":`#CDD6F4`,"block-cursor-foreground":`#1E1E2E`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#B4BEFE`,"border-blurred":`#585B70`,"button-color-foreground":`#181825`,"button-foreground":`#CDD6F4`,error:`#F28FAD`,"error-darken-1":`#DB7A99`,"error-darken-2":`#C66785`,"error-darken-3":`#B05372`,"error-lighten-1":`#FFA3C1`,"error-lighten-2":`#FFB8D6`,"error-lighten-3":`#FFCDEB`,"error-muted":`#593B4D`,"footer-background":`#45475A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#CDD6F4`,"footer-foreground":`#CDD6F4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FAB387`,foreground:`#CDD6F4`,"foreground-darken-1":`#B8C1DE`,"foreground-darken-2":`#A3ACC9`,"foreground-darken-3":`#8F98B4`,"foreground-disabled":`#CDD6F460`,"foreground-lighten-1":`#E2EBFF`,"foreground-lighten-2":`#F7FFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#CDD6F499`,"input-cursor-background":`#F5E0DC`,"input-cursor-foreground":`#11111B`,"input-selection-background":`#9399B24C`,"link-background":`#00000000`,"link-background-hover":`#F5C2E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#F5C2E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#F5C2E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#F5C2E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#CDD6F4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#CDD6F4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#CDD6F499`,panel:`#45475A`,"panel-darken-1":`#333648`,"panel-darken-2":`#232637`,"panel-darken-3":`#131627`,"panel-lighten-1":`#56586C`,"panel-lighten-2":`#696A7F`,"panel-lighten-3":`#7B7D92`,primary:`#F5C2E7`,"primary-background":`#564F5E`,"primary-background-darken-1":`#474050`,"primary-background-darken-2":`#393142`,"primary-background-darken-3":`#393142`,"primary-background-lighten-1":`#655F6C`,"primary-background-lighten-2":`#746E7A`,"primary-background-lighten-3":`#837E88`,"primary-darken-1":`#DFADD1`,"primary-darken-2":`#CA99BD`,"primary-darken-3":`#B585A8`,"primary-lighten-1":`#FFD6FC`,"primary-lighten-2":`#FFECFF`,"primary-lighten-3":`#FFFFFF`,"primary-muted":`#5A4B5F`,scrollbar:`#644E69`,"scrollbar-active":`#F5C2E7`,"scrollbar-background":`#040216`,"scrollbar-background-active":`#040216`,"scrollbar-background-hover":`#040216`,"scrollbar-corner-color":`#040216`,"scrollbar-hover":`#7C627E`,secondary:`#CBA6F7`,"secondary-background":`#504C60`,"secondary-background-darken-1":`#413C52`,"secondary-background-darken-2":`#322D44`,"secondary-background-darken-3":`#322D44`,"secondary-background-lighten-1":`#605C6E`,"secondary-background-lighten-2":`#6F6C7C`,"secondary-background-lighten-3":`#7E7B8A`,"secondary-darken-1":`#B592E1`,"secondary-darken-2":`#A17ECC`,"secondary-darken-3":`#8C6BB7`,"secondary-lighten-1":`#E0BAFF`,"secondary-lighten-2":`#F6CFFF`,"secondary-lighten-3":`#FFE4FF`,"secondary-muted":`#4D4264`,success:`#ABE9B3`,"success-darken-1":`#96D39E`,"success-darken-2":`#82BE8B`,"success-darken-3":`#6EAA77`,"success-lighten-1":`#BFFEC7`,"success-lighten-2":`#D5FFDC`,"success-lighten-3":`#EAFFF2`,"success-muted":`#44564F`,surface:`#313244`,"surface-active":`#3E3F51`,"surface-darken-1":`#202233`,"surface-darken-2":`#111223`,"surface-darken-3":`#000014`,"surface-lighten-1":`#414255`,"surface-lighten-2":`#535467`,"surface-lighten-3":`#65667A`,text:`#FFFFFFDD`,"text-accent":`#FBCCAF`,"text-disabled":`#FFFFFF60`,"text-error":`#F6B5C8`,"text-muted":`#FFFFFF99`,"text-primary":`#F8D6EF`,"text-secondary":`#DCC4F9`,"text-success":`#C7F0CC`,"text-warning":`#FBECCA`,warning:`#FAE3B0`,"warning-darken-1":`#E4CD9B`,"warning-darken-2":`#CEB988`,"warning-darken-3":`#B9A574`,"warning-lighten-1":`#FFF8C4`,"warning-lighten-2":`#FFFFD9`,"warning-lighten-3":`#FFFFEF`,"warning-muted":`#5B544E`}},mc=[`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`],hc=Object.fromEntries(mc.map((e,t)=>[e,gs.get(t).hex])),gc={black:`#1A1A1A`,red:`#F4005F`,green:`#98E024`,yellow:`#FD971F`,blue:`#9D65FF`,magenta:`#F4005F`,cyan:`#58D1EB`,white:`#C4C5B5`,brightBlack:`#625E4C`,brightRed:`#F4005F`,brightGreen:`#98E024`,brightYellow:`#E0D561`,brightBlue:`#9D65FF`,brightMagenta:`#F4005F`,brightCyan:`#58D1EB`,brightWhite:`#F6F6EF`},_c={"atom-one-dark":cc,"atom-one-light":lc,"catppuccin-frappe":uc,"catppuccin-latte":dc,"catppuccin-macchiato":fc,"catppuccin-mocha":pc,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:gc,vars:{background:`#070714`,"background-darken-1":`#03030A`,"background-darken-2":`#000003`,"background-darken-3":`#000000`,"background-lighten-1":`#11111E`,"background-lighten-2":`#1A1A2B`,"background-lighten-3":`#25253A`,foreground:`#E2E2FF`,"foreground-darken-1":`#CACAE4`,"foreground-darken-2":`#B3B3CC`,"foreground-darken-3":`#9C9CB5`,"foreground-disabled":`#E2E2FF60`,"foreground-lighten-1":`#EEEEFF`,"foreground-lighten-2":`#F6F6FF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E2E2FF99`,primary:`#00E5FFD9`,"primary-darken-1":`#00CCE6D9`,"primary-darken-2":`#00B2CCD9`,"primary-darken-3":`#0099B3D9`,"primary-lighten-1":`#1AF0FFD9`,"primary-lighten-2":`#33F5FFD9`,"primary-lighten-3":`#4DFAFFD9`,"primary-muted":`#054A5BF4`,"primary-background":`#0A3340`,"primary-background-darken-1":`#072833`,"primary-background-darken-2":`#051E27`,"primary-background-darken-3":`#051E27`,"primary-background-lighten-1":`#0F404F`,"primary-background-lighten-2":`#154E5F`,"primary-background-lighten-3":`#1A5C6F`,secondary:`#FF1E8ECC`,"secondary-darken-1":`#E60A76CC`,"secondary-darken-2":`#CC005FCC`,"secondary-darken-3":`#B20048CC`,"secondary-lighten-1":`#FF3CA2CC`,"secondary-lighten-2":`#FF5AB6CC`,"secondary-lighten-3":`#FF78CACC`,"secondary-muted":`#510E39EF`,"secondary-background":`#3A0A28`,"secondary-background-darken-1":`#2E071F`,"secondary-background-darken-2":`#220517`,"secondary-background-darken-3":`#220517`,"secondary-background-lighten-1":`#470D33`,"secondary-background-lighten-2":`#54103F`,"secondary-background-lighten-3":`#61134B`,accent:`#EEFF00CC`,"accent-darken-1":`#D6E600CC`,"accent-darken-2":`#BECC00CC`,"accent-darken-3":`#A5B200CC`,"accent-lighten-1":`#FFFF26CC`,"accent-lighten-2":`#FFFF4DCC`,"accent-lighten-3":`#FFFF73CC`,"accent-muted":`#4C510EEF`,success:`#39FF14BF`,"success-darken-1":`#23E60ABF`,"success-darken-2":`#0FCC00BF`,"success-darken-3":`#00B200BF`,"success-lighten-1":`#4DFF32BF`,"success-lighten-2":`#69FF5ABF`,"success-lighten-3":`#87FF82BF`,"success-muted":`#164D14F0`,warning:`#FF6E00CC`,"warning-darken-1":`#E65800CC`,"warning-darken-2":`#CC4300CC`,"warning-darken-3":`#B23000CC`,"warning-lighten-1":`#FF8C26CC`,"warning-lighten-2":`#FFA54DCC`,"warning-lighten-3":`#FFBE73CC`,"warning-muted":`#51260EEF`,error:`#FF1133BF`,"error-darken-1":`#E6051EBF`,"error-darken-2":`#CC000CBF`,"error-darken-3":`#B20000BF`,"error-lighten-1":`#FF3758BF`,"error-lighten-2":`#FF5A78BF`,"error-lighten-3":`#FF7D96BF`,"error-muted":`#510A1DF0`,surface:`#0F0F22`,"surface-active":`#161630`,"surface-darken-1":`#08081A`,"surface-darken-2":`#040411`,"surface-darken-3":`#020209`,"surface-lighten-1":`#17172E`,"surface-lighten-2":`#1F1F3C`,"surface-lighten-3":`#28284A`,panel:`#0C0C1E`,"panel-darken-1":`#060614`,"panel-darken-2":`#03030C`,"panel-darken-3":`#010108`,"panel-lighten-1":`#14142C`,"panel-lighten-2":`#1C1C3A`,"panel-lighten-3":`#242448`,scrollbar:`#151535`,"scrollbar-active":`#00E5FFD9`,"scrollbar-background":`#040412`,"scrollbar-background-active":`#040412`,"scrollbar-background-hover":`#040412`,"scrollbar-corner-color":`#040412`,"scrollbar-hover":`#1F1F48`,"block-cursor-background":`#00E5FF`,"block-cursor-blurred-background":`#00E5FF4C`,"block-cursor-blurred-foreground":`#E2E2FF`,"block-cursor-foreground":`#070714`,"block-hover-background":`#00E5FF19`,boost:`#00E5FF0A`,"boost-darken-1":`#00CCE60A`,"boost-darken-2":`#00B2CC0A`,"boost-darken-3":`#0099B30A`,"boost-lighten-1":`#00E5FF0A`,"boost-lighten-2":`#00E5FF0A`,"boost-lighten-3":`#00E5FF0A`,border:`#00E5FFD9`,"border-blurred":`#1A1A35`,"button-color-foreground":`#070714`,"button-foreground":`#E2E2FF`,"footer-background":`#0C0C1E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E2E2FF`,"footer-foreground":`#E2E2FF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#00E5FFD9`,"input-cursor-background":`#E2E2FF`,"input-cursor-foreground":`#070714`,"input-selection-background":`#00E5FF40`,"link-background":`#00000000`,"link-background-hover":`#00E5FFD9`,"link-color":`#E2E2FFDD`,"link-color-hover":`#070714`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#00E5FFD9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#00E5FFD9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#FF1E8ECC`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E2E2FF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E2E2FF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E2E2FF99`,text:`#E2E2FFDD`,"text-accent":`#F4FF66CC`,"text-disabled":`#E2E2FF60`,"text-error":`#FF6677BF`,"text-muted":`#E2E2FF99`,"text-primary":`#66F0FFD9`,"text-secondary":`#FF80B0CC`,"text-success":`#80FF55BF`,"text-warning":`#FFB055CC`}},default:{name:`default`,dark:!0,ansi:hc,vars:{accent:`#006FB8`,"accent-darken-1":`#005CA3`,"accent-darken-2":`#004B8F`,"accent-darken-3":`#003A7B`,"accent-lighten-1":`#3081CC`,"accent-lighten-2":`#4C95E2`,"accent-lighten-3":`#64A8F7`,"accent-muted":`#002137`,background:`#000000`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#161616`,"background-lighten-2":`#252525`,"background-lighten-3":`#353535`,"block-cursor-background":`#006FB8`,"block-cursor-blurred-background":`#006FB84C`,"block-cursor-blurred-foreground":`#FFFFFF`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#006FB8`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#FFFFFF`,error:`#7F0000`,"error-darken-1":`#6A0000`,"error-darken-2":`#560000`,"error-darken-3":`#450000`,"error-lighten-1":`#961E12`,"error-lighten-2":`#AD3423`,"error-lighten-3":`#C44934`,"error-muted":`#260000`,"footer-background":`#242E35`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFFFF`,"footer-foreground":`#FFFFFF`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#006FB8`,foreground:`#FFFFFF`,"foreground-darken-1":`#E9E9E9`,"foreground-darken-2":`#D4D4D4`,"foreground-darken-3":`#BFBFBF`,"foreground-disabled":`#FFFFFF60`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFFFF99`,"input-cursor-background":`#FFFFFF`,"input-cursor-foreground":`#000000`,"input-selection-background":`#3081CC66`,"link-background":`#00000000`,"link-background-hover":`#006FB8`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#006FB8`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#006FB8`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#006FB8`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFFFF`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFFFF`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFFFF99`,panel:`#242E35`,"panel-darken-1":`#141E24`,"panel-darken-2":`#000D15`,"panel-darken-3":`#000000`,"panel-lighten-1":`#343E45`,"panel-lighten-2":`#454F57`,"panel-lighten-3":`#566169`,primary:`#006FB8`,"primary-background":`#26333D`,"primary-background-darken-1":`#13212C`,"primary-background-darken-2":`#00101B`,"primary-background-darken-3":`#00101B`,"primary-background-lighten-1":`#39454E`,"primary-background-lighten-2":`#4C575F`,"primary-background-lighten-3":`#5F6970`,"primary-darken-1":`#005CA3`,"primary-darken-2":`#004B8F`,"primary-darken-3":`#003A7B`,"primary-lighten-1":`#3081CC`,"primary-lighten-2":`#4C95E2`,"primary-lighten-3":`#64A8F7`,"primary-muted":`#002137`,scrollbar:`#002C49`,"scrollbar-active":`#006FB8`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#00375C`,secondary:`#762671`,"secondary-background":`#342A33`,"secondary-background-darken-1":`#221721`,"secondary-background-darken-2":`#110510`,"secondary-background-darken-3":`#110510`,"secondary-background-lighten-1":`#463D45`,"secondary-background-lighten-2":`#585057`,"secondary-background-lighten-3":`#6A6269`,"secondary-darken-1":`#620F5E`,"secondary-darken-2":`#4E004C`,"secondary-darken-3":`#3B003A`,"secondary-lighten-1":`#8A3984`,"secondary-lighten-2":`#9E4C97`,"secondary-lighten-3":`#B360AB`,"secondary-muted":`#230B21`,success:`#008000`,"success-darken-1":`#006C00`,"success-darken-2":`#005900`,"success-darken-3":`#004600`,"success-lighten-1":`#29931C`,"success-lighten-2":`#42A832`,"success-lighten-3":`#58BD46`,"success-muted":`#002600`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#569FD0`,"text-disabled":`#FFFFFF60`,"text-error":`#AB5656`,"text-muted":`#FFFFFF99`,"text-primary":`#569FD0`,"text-secondary":`#A46FA1`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#7F8000`,"warning-darken-1":`#6B6D00`,"warning-darken-2":`#575A00`,"warning-darken-3":`#454900`,"warning-lighten-1":`#94931E`,"warning-lighten-2":`#A9A734`,"warning-lighten-3":`#BFBB48`,"warning-muted":`#262600`}},dracula:{name:`dracula`,dark:!0,ansi:{black:`#21222C`,red:`#FF5555`,green:`#50FA7B`,yellow:`#F1FA8C`,blue:`#BD93F9`,magenta:`#FF79C6`,cyan:`#8BE9FD`,white:`#F8F8F2`,brightBlack:`#6272A4`,brightRed:`#FF6E6E`,brightGreen:`#69FF94`,brightYellow:`#FFFFA5`,brightBlue:`#D6ACFF`,brightMagenta:`#FF92DF`,brightCyan:`#A4FFFF`,brightWhite:`#FFFFFF`},vars:{accent:`#FF79C6`,"accent-darken-1":`#E864B1`,"accent-darken-2":`#D24F9D`,"accent-darken-3":`#BC3989`,"accent-lighten-1":`#FF8DDA`,"accent-lighten-2":`#FFA3F0`,"accent-lighten-3":`#FFB8FF`,"accent-muted":`#684161`,background:`#282A36`,"background-darken-1":`#181A25`,"background-darken-2":`#050716`,"background-darken-3":`#000000`,"background-lighten-1":`#383A46`,"background-lighten-2":`#494B58`,"background-lighten-3":`#5B5D6A`,"block-cursor-background":`#BD93F9`,"block-cursor-blurred-background":`#BD93F94C`,"block-cursor-blurred-foreground":`#F8F8F2`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BD93F9`,"border-blurred":`#252835`,"button-color-foreground":`#282A36`,"button-foreground":`#F8F8F2`,error:`#FE5555`,"error-darken-1":`#E63E43`,"error-darken-2":`#CE2332`,"error-darken-3":`#B70022`,"error-lighten-1":`#FF6A67`,"error-lighten-2":`#FF807A`,"error-lighten-3":`#FF958D`,"error-muted":`#68363F`,"footer-background":`#313442`,"footer-description-background":`#00000000`,"footer-description-foreground":`#F8F8F2`,"footer-foreground":`#F8F8F2`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF79C6`,foreground:`#F8F8F2`,"foreground-darken-1":`#E2E2DC`,"foreground-darken-2":`#CDCDC7`,"foreground-darken-3":`#B8B8B3`,"foreground-disabled":`#F8F8F260`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#F8F8F299`,"input-cursor-background":`#F8F8F2`,"input-cursor-foreground":`#282A36`,"input-selection-background":`#D2A7FF66`,"link-background":`#00000000`,"link-background-hover":`#BD93F9`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BD93F9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BD93F9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BD93F9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#F8F8F2`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#F8F8F2`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#F8F8F299`,panel:`#313442`,"panel-darken-1":`#202431`,"panel-darken-2":`#111421`,"panel-darken-3":`#000012`,"panel-lighten-1":`#414453`,"panel-lighten-2":`#535665`,"panel-lighten-3":`#656878`,primary:`#BD93F9`,"primary-background":`#5A566C`,"primary-background-darken-1":`#4C475F`,"primary-background-darken-2":`#3E3953`,"primary-background-darken-3":`#3E3953`,"primary-background-lighten-1":`#696579`,"primary-background-lighten-2":`#777486`,"primary-background-lighten-3":`#868393`,"primary-darken-1":`#A77FE3`,"primary-darken-2":`#936CCE`,"primary-darken-3":`#7E59B9`,"primary-lighten-1":`#D2A7FF`,"primary-lighten-2":`#E8BBFF`,"primary-lighten-3":`#FED0FF`,"primary-muted":`#544970`,scrollbar:`#5A4A79`,"scrollbar-active":`#BD93F9`,"scrollbar-background":`#181A25`,"scrollbar-background-active":`#181A25`,"scrollbar-background-hover":`#181A25`,"scrollbar-corner-color":`#181A25`,"scrollbar-hover":`#6A568F`,secondary:`#6272A4`,"secondary-background":`#4F5261`,"secondary-background-darken-1":`#3F4353`,"secondary-background-darken-2":`#303446`,"secondary-background-darken-3":`#303446`,"secondary-background-lighten-1":`#5E616F`,"secondary-background-lighten-2":`#6E707D`,"secondary-background-lighten-3":`#7D808B`,"secondary-darken-1":`#4E5F90`,"secondary-darken-2":`#3B4D7C`,"secondary-darken-3":`#283C69`,"secondary-lighten-1":`#7584B8`,"secondary-lighten-2":`#8998CD`,"secondary-lighten-3":`#9DACE2`,"secondary-muted":`#393F57`,success:`#50FA7B`,"success-darken-1":`#2FE467`,"success-darken-2":`#00CE53`,"success-darken-3":`#00B83F`,"success-lighten-1":`#6AFF8F`,"success-lighten-2":`#83FFA3`,"success-lighten-3":`#9BFFB8`,"success-muted":`#34684A`,surface:`#2B2E3B`,"surface-active":`#383B48`,"surface-darken-1":`#1B1E2A`,"surface-darken-2":`#0A0D1B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#3B3E4C`,"surface-lighten-2":`#4C4F5D`,"surface-lighten-3":`#5E6170`,text:`#FFFFFFDD`,"text-accent":`#FFA6D9`,"text-disabled":`#FFFFFF60`,"text-error":`#FF8E8E`,"text-muted":`#FFFFFF99`,"text-primary":`#D3B7FB`,"text-secondary":`#97A1C2`,"text-success":`#8BFBA7`,"text-warning":`#FFD09D`,warning:`#FEB86C`,"warning-darken-1":`#E8A358`,"warning-darken-2":`#D18F45`,"warning-darken-3":`#BB7C33`,"warning-lighten-1":`#FFCC7F`,"warning-lighten-2":`#FFE193`,"warning-lighten-3":`#FFF7A7`,"warning-muted":`#685446`}},flexoki:{name:`flexoki`,dark:!0,ansi:{black:`#100F0F`,red:`#D14D41`,green:`#879A39`,yellow:`#D0A215`,blue:`#4385BE`,magenta:`#CE5D97`,cyan:`#3AA99F`,white:`#878580`,brightBlack:`#575653`,brightRed:`#AF3029`,brightGreen:`#66800B`,brightYellow:`#AD8301`,brightBlue:`#205EA6`,brightMagenta:`#A02F6F`,brightCyan:`#24837B`,brightWhite:`#CECDC3`},vars:{accent:`#9B76C8`,"accent-darken-1":`#8663B3`,"accent-darken-2":`#72509E`,"accent-darken-3":`#5F3E8B`,"accent-lighten-1":`#AF89DD`,"accent-lighten-2":`#C49DF2`,"accent-lighten-3":`#D9B1FF`,"accent-muted":`#392D46`,background:`#100F0F`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#1F1F1F`,"background-lighten-2":`#2F2E2E`,"background-lighten-3":`#403F3F`,"block-cursor-background":`#205EA6`,"block-cursor-blurred-background":`#205EA64C`,"block-cursor-blurred-foreground":`#FFFCF0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#205EA6`,"border-blurred":`#171614`,"button-color-foreground":`#FFFCF0`,"button-foreground":`#FFFCF0`,error:`#AE3029`,"error-darken-1":`#981818`,"error-darken-2":`#810007`,"error-darken-3":`#6B0000`,"error-lighten-1":`#C64539`,"error-lighten-2":`#DD594B`,"error-lighten-3":`#F46D5D`,"error-muted":`#3F1816`,"footer-background":`#282726`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FFFCF0`,"footer-foreground":`#FFFCF0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#9B76C8`,foreground:`#FFFCF0`,"foreground-darken-1":`#E9E6DA`,"foreground-darken-2":`#D4D1C5`,"foreground-darken-3":`#BFBCB1`,"foreground-disabled":`#FFFCF060`,"foreground-lighten-1":`#FFFFFF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FFFCF099`,"input-cursor-background":`#FFFCF0`,"input-cursor-foreground":`#5E409D`,"input-selection-background":`#6F6E6959`,"link-background":`#00000000`,"link-background-hover":`#205EA6`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#205EA6`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#205EA6`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#205EA6`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FFFCF0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FFFCF0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FFFCF099`,panel:`#282726`,"panel-darken-1":`#181716`,"panel-darken-2":`#040200`,"panel-darken-3":`#000000`,"panel-lighten-1":`#383736`,"panel-lighten-2":`#494846`,"panel-lighten-3":`#5A5958`,primary:`#205EA6`,"primary-background":`#353C45`,"primary-background-darken-1":`#232B35`,"primary-background-darken-2":`#121A25`,"primary-background-darken-3":`#121A25`,"primary-background-lighten-1":`#474D56`,"primary-background-lighten-2":`#595E66`,"primary-background-lighten-3":`#6A6F76`,"primary-darken-1":`#004C91`,"primary-darken-2":`#003B7E`,"primary-darken-3":`#002B6B`,"primary-lighten-1":`#3C70BA`,"primary-lighten-2":`#5383CF`,"primary-lighten-3":`#6996E4`,"primary-muted":`#14263C`,scrollbar:`#0C2542`,"scrollbar-active":`#205EA6`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#102F53`,secondary:`#24837B`,"secondary-background":`#364140`,"secondary-background-darken-1":`#24302F`,"secondary-background-darken-2":`#13201F`,"secondary-background-darken-3":`#13201F`,"secondary-background-lighten-1":`#485251`,"secondary-background-lighten-2":`#596262`,"secondary-background-lighten-3":`#6B7373`,"secondary-darken-1":`#006F68`,"secondary-darken-2":`#005D56`,"secondary-darken-3":`#004A44`,"secondary-lighten-1":`#3C968E`,"secondary-lighten-2":`#52AAA1`,"secondary-lighten-3":`#67BFB6`,"secondary-muted":`#16312F`,success:`#65800B`,"success-darken-1":`#526D00`,"success-darken-2":`#3E5A00`,"success-darken-3":`#2D4800`,"success-lighten-1":`#7A9324`,"success-lighten-2":`#8EA738`,"success-lighten-3":`#A3BB4C`,"success-muted":`#29300D`,surface:`#1C1B1A`,"surface-active":`#282726`,"surface-darken-1":`#0A0806`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2B2A29`,"surface-lighten-2":`#3B3A39`,"surface-lighten-3":`#4D4B4A`,text:`#FFFFFFDD`,"text-accent":`#BDA4DA`,"text-disabled":`#FFFFFF60`,"text-error":`#CA7671`,"text-muted":`#FFFFFF99`,"text-primary":`#6B94C4`,"text-secondary":`#6EADA7`,"text-success":`#9AAB5D`,"text-warning":`#C8AD57`,warning:`#AC8301`,"warning-darken-1":`#977000`,"warning-darken-2":`#815D00`,"warning-darken-3":`#6C4C00`,"warning-lighten-1":`#C39621`,"warning-lighten-2":`#D9AA37`,"warning-lighten-3":`#F0BE4B`,"warning-muted":`#3F310A`}},gruvbox:{name:`gruvbox`,dark:!0,ansi:{black:`#282828`,red:`#CC241D`,green:`#98971A`,yellow:`#D79921`,blue:`#458588`,magenta:`#B16286`,cyan:`#689D6A`,white:`#A89984`,brightBlack:`#928374`,brightRed:`#FB4934`,brightGreen:`#B8BB26`,brightYellow:`#FABD2F`,brightBlue:`#83A598`,brightMagenta:`#D3869B`,brightCyan:`#8EC07C`,brightWhite:`#EBDBB2`},vars:{accent:`#F9BD2F`,"accent-darken-1":`#E2A811`,"accent-darken-2":`#CB9400`,"accent-darken-3":`#B48100`,"accent-lighten-1":`#FFD146`,"accent-lighten-2":`#FFE65B`,"accent-lighten-3":`#FFFC70`,"accent-muted":`#67542A`,background:`#282828`,"background-darken-1":`#181818`,"background-darken-2":`#040404`,"background-darken-3":`#000000`,"background-lighten-1":`#383838`,"background-lighten-2":`#494949`,"background-lighten-3":`#5A5A5A`,"block-cursor-background":`#85A598`,"block-cursor-blurred-background":`#85A5984C`,"block-cursor-blurred-foreground":`#FBF1C7`,"block-cursor-foreground":`#FBF1C7`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#85A598`,"border-blurred":`#363230`,"button-color-foreground":`#282828`,"button-foreground":`#FBF1C7`,error:`#FA4934`,"error-darken-1":`#E23022`,"error-darken-2":`#C90D10`,"error-darken-3":`#B10000`,"error-lighten-1":`#FF5F45`,"error-lighten-2":`#FF7558`,"error-lighten-3":`#FF8B6B`,"error-muted":`#67312B`,"footer-background":`#504945`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FBF1C7`,"footer-foreground":`#FBF1C7`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FABD2F`,foreground:`#FBF1C7`,"foreground-darken-1":`#E5DBB2`,"foreground-darken-2":`#D0C69E`,"foreground-darken-3":`#BBB28A`,"foreground-disabled":`#FBF1C760`,"foreground-lighten-1":`#FFFFDC`,"foreground-lighten-2":`#FFFFF1`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#FBF1C799`,"input-cursor-background":`#FBF1C7`,"input-cursor-foreground":`#282828`,"input-selection-background":`#689D6A40`,"link-background":`#00000000`,"link-background-hover":`#85A598`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#85A598`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#85A598`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#85A598`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#FBF1C7`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#FBF1C7`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#FBF1C799`,panel:`#504945`,"panel-darken-1":`#3E3834`,"panel-darken-2":`#2E2724`,"panel-darken-3":`#1E1815`,"panel-lighten-1":`#615A56`,"panel-lighten-2":`#746C68`,"panel-lighten-3":`#877F7B`,primary:`#85A598`,"primary-background":`#535755`,"primary-background-darken-1":`#444846`,"primary-background-darken-2":`#353A38`,"primary-background-darken-3":`#353A38`,"primary-background-lighten-1":`#626664`,"primary-background-lighten-2":`#717573`,"primary-background-lighten-3":`#808382`,"primary-darken-1":`#719184`,"primary-darken-2":`#5F7D71`,"primary-darken-3":`#4C6A5F`,"primary-lighten-1":`#98B9AB`,"primary-lighten-2":`#ACCEC0`,"primary-lighten-3":`#C1E3D5`,"primary-muted":`#434D49`,scrollbar:`#43504B`,"scrollbar-active":`#85A598`,"scrollbar-background":`#181818`,"scrollbar-background-active":`#181818`,"scrollbar-background-hover":`#181818`,"scrollbar-corner-color":`#181818`,"scrollbar-hover":`#4E5E58`,secondary:`#A89A85`,"secondary-background":`#585653`,"secondary-background-darken-1":`#494744`,"secondary-background-darken-2":`#3B3935`,"secondary-background-darken-3":`#3B3935`,"secondary-background-lighten-1":`#676562`,"secondary-background-lighten-2":`#757471`,"secondary-background-lighten-3":`#848380`,"secondary-darken-1":`#938671`,"secondary-darken-2":`#80735F`,"secondary-darken-3":`#6D604D`,"secondary-lighten-1":`#BCAE98`,"secondary-lighten-2":`#D1C2AC`,"secondary-lighten-3":`#E6D7C1`,"secondary-muted":`#4E4A43`,success:`#B7BB26`,"success-darken-1":`#A2A601`,"success-darken-2":`#8C9300`,"success-darken-3":`#777F00`,"success-lighten-1":`#CDCF3D`,"success-lighten-2":`#E4E453`,"success-lighten-3":`#FAFA68`,"success-muted":`#535427`,surface:`#3C3836`,"surface-active":`#494543`,"surface-darken-1":`#2B2725`,"surface-darken-2":`#1C1816`,"surface-darken-3":`#0A0300`,"surface-lighten-1":`#4D4846`,"surface-lighten-2":`#5F5A58`,"surface-lighten-3":`#716C6A`,text:`#FFFFFFDD`,"text-accent":`#FBD375`,"text-disabled":`#FFFFFF60`,"text-error":`#FC8679`,"text-muted":`#FFFFFF99`,"text-primary":`#AEC3BB`,"text-secondary":`#C5BCAE`,"text-success":`#D0D26F`,"text-warning":`#FEAB67`,warning:`#FD8019`,"warning-darken-1":`#E56C00`,"warning-darken-2":`#CD5800`,"warning-darken-3":`#B54500`,"warning-lighten-1":`#FF9430`,"warning-lighten-2":`#FFA845`,"warning-lighten-3":`#FFBD5A`,"warning-muted":`#684223`}},monokai:{name:`monokai`,dark:!0,ansi:{black:`#333333`,red:`#C4265E`,green:`#86B42B`,yellow:`#B3B42B`,blue:`#6A7EC8`,magenta:`#8C6BC8`,cyan:`#56ADBC`,white:`#E3E3DD`,brightBlack:`#666666`,brightRed:`#F92672`,brightGreen:`#A6E22E`,brightYellow:`#E2E22E`,brightBlue:`#819AFF`,brightMagenta:`#AE81FF`,brightCyan:`#66D9EF`,brightWhite:`#F8F8F2`},vars:{accent:`#66D9EF`,"accent-darken-1":`#4DC3D9`,"accent-darken-2":`#31AFC4`,"accent-darken-3":`#009BB0`,"accent-lighten-1":`#7DEEFF`,"accent-lighten-2":`#94FFFF`,"accent-lighten-3":`#AAFFFF`,"accent-muted":`#395D5F`,background:`#272822`,"background-darken-1":`#171812`,"background-darken-2":`#020400`,"background-darken-3":`#000000`,"background-lighten-1":`#373831`,"background-lighten-2":`#484942`,"background-lighten-3":`#595A54`,"block-cursor-background":`#AE81FF`,"block-cursor-blurred-background":`#AE81FF4C`,"block-cursor-blurred-foreground":`#D6D6D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#AE81FF`,"border-blurred":`#282828`,"button-color-foreground":`#272822`,"button-foreground":`#D6D6D6`,error:`#F82672`,"error-darken-1":`#E1005F`,"error-darken-2":`#C9004E`,"error-darken-3":`#B1003D`,"error-lighten-1":`#FF4484`,"error-lighten-2":`#FF5D98`,"error-lighten-3":`#FF75AC`,"error-muted":`#66273A`,"footer-background":`#3E3D32`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D6D6D6`,"footer-foreground":`#D6D6D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#66D9EF`,foreground:`#D6D6D6`,"foreground-darken-1":`#C1C1C1`,"foreground-darken-2":`#ACACAC`,"foreground-darken-3":`#989898`,"foreground-disabled":`#D6D6D660`,"foreground-lighten-1":`#EBEBEB`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#797979`,"input-cursor-background":`#D6D6D6`,"input-cursor-foreground":`#272822`,"input-selection-background":`#575B6190`,"link-background":`#00000000`,"link-background-hover":`#AE81FF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#AE81FF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#AE81FF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#AE81FF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D6D6D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D6D6D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#797979`,panel:`#3E3D32`,"panel-darken-1":`#2D2C22`,"panel-darken-2":`#1D1C12`,"panel-darken-3":`#0D0B00`,"panel-lighten-1":`#4F4E42`,"panel-lighten-2":`#616054`,"panel-lighten-3":`#737266`,primary:`#AE81FF`,"primary-background":`#58535F`,"primary-background-darken-1":`#494451`,"primary-background-darken-2":`#3B3543`,"primary-background-darken-3":`#3B3543`,"primary-background-lighten-1":`#67626D`,"primary-background-lighten-2":`#75717B`,"primary-background-lighten-3":`#848089`,"primary-darken-1":`#986DE9`,"primary-darken-2":`#835AD3`,"primary-darken-3":`#6E48BE`,"primary-lighten-1":`#C394FF`,"primary-lighten-2":`#D9A9FF`,"primary-lighten-3":`#EFBDFF`,"primary-muted":`#4F4264`,scrollbar:`#534270`,"scrollbar-active":`#AE81FF`,"scrollbar-background":`#171812`,"scrollbar-background-active":`#171812`,"scrollbar-background-hover":`#171812`,"scrollbar-corner-color":`#171812`,"scrollbar-hover":`#624C88`,secondary:`#F82672`,"secondary-background":`#61474D`,"secondary-background-darken-1":`#53373D`,"secondary-background-darken-2":`#46272E`,"secondary-background-darken-3":`#46272E`,"secondary-background-lighten-1":`#6F575D`,"secondary-background-lighten-2":`#7D676C`,"secondary-background-lighten-3":`#8B787C`,"secondary-darken-1":`#E1005F`,"secondary-darken-2":`#C9004E`,"secondary-darken-3":`#B1003D`,"secondary-lighten-1":`#FF4484`,"secondary-lighten-2":`#FF5D98`,"secondary-lighten-3":`#FF75AC`,"secondary-muted":`#66273A`,success:`#A5E22E`,"success-darken-1":`#90CC09`,"success-darken-2":`#7AB700`,"success-darken-3":`#64A300`,"success-lighten-1":`#BBF746`,"success-lighten-2":`#D2FF5D`,"success-lighten-3":`#E8FF72`,"success-muted":`#4D5F25`,surface:`#2E2E2E`,"surface-active":`#3B3B3B`,"surface-darken-1":`#1E1E1E`,"surface-darken-2":`#0D0D0D`,"surface-darken-3":`#000000`,"surface-lighten-1":`#3E3E3E`,"surface-lighten-2":`#4F4F4F`,"surface-lighten-3":`#616161`,text:`#FFFFFFDD`,"text-accent":`#9AE5F4`,"text-disabled":`#FFFFFF60`,"text-error":`#FB6FA1`,"text-muted":`#FFFFFF99`,"text-primary":`#C9ABFF`,"text-secondary":`#FB6FA1`,"text-success":`#C4EB75`,"text-warning":`#FDBA6B`,warning:`#FC971F`,"warning-darken-1":`#E58300`,"warning-darken-2":`#CD6F00`,"warning-darken-3":`#B65D00`,"warning-lighten-1":`#FFAB36`,"warning-lighten-2":`#FFBF4C`,"warning-lighten-3":`#FFD460`,"warning-muted":`#674921`}},nord:{name:`nord`,dark:!0,ansi:{black:`#3B4252`,red:`#BF616A`,green:`#A3BE8C`,yellow:`#EBCB8B`,blue:`#81A1C1`,magenta:`#B48EAD`,cyan:`#88C0D0`,white:`#E5E9F0`,brightBlack:`#596377`,brightRed:`#BF616A`,brightGreen:`#A3BE8C`,brightYellow:`#EBCB8B`,brightBlue:`#81A1C1`,brightMagenta:`#B48EAD`,brightCyan:`#8FBCBB`,brightWhite:`#ECEFF4`},vars:{accent:`#B48EAD`,"accent-darken-1":`#9F7A98`,"accent-darken-2":`#8B6785`,"accent-darken-3":`#785572`,"accent-lighten-1":`#C8A1C1`,"accent-lighten-2":`#DDB6D6`,"accent-lighten-3":`#F3CAEB`,"accent-muted":`#564F60`,background:`#2E3440`,"background-darken-1":`#1E242F`,"background-darken-2":`#0E141F`,"background-darken-3":`#000010`,"background-lighten-1":`#3E4451`,"background-lighten-2":`#505663`,"background-lighten-3":`#626875`,"block-cursor-background":`#88C0D0`,"block-cursor-blurred-background":`#88C0D04C`,"block-cursor-blurred-foreground":`#D8DEE9`,"block-cursor-foreground":`#2E3440`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#88C0D0`,"border-blurred":`#353C4C`,"button-color-foreground":`#2E3440`,"button-foreground":`#D8DEE9`,error:`#BE616A`,"error-darken-1":`#A94D57`,"error-darken-2":`#933A46`,"error-darken-3":`#7E2735`,"error-lighten-1":`#D4747C`,"error-lighten-2":`#EB8890`,"error-lighten-3":`#FF9CA3`,"error-muted":`#59414C`,"footer-background":`#434C5E`,"footer-description-background":`#00000000`,"footer-description-foreground":`#D8DEE9`,"footer-foreground":`#D8DEE9`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#88C0D0`,foreground:`#D8DEE9`,"foreground-darken-1":`#C3C9D3`,"foreground-darken-2":`#AEB4BF`,"foreground-darken-3":`#9AA0AA`,"foreground-disabled":`#D8DEE960`,"foreground-lighten-1":`#EDF3FE`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#D8DEE999`,"input-cursor-background":`#D8DEE9`,"input-cursor-foreground":`#2E3440`,"input-selection-background":`#81A1C159`,"link-background":`#00000000`,"link-background-hover":`#88C0D0`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#88C0D0`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#88C0D0`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#88C0D0`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#D8DEE9`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#D8DEE9`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#D8DEE999`,panel:`#434C5E`,"panel-darken-1":`#313A4C`,"panel-darken-2":`#212A3A`,"panel-darken-3":`#111B2A`,"panel-lighten-1":`#545D70`,"panel-lighten-2":`#677083`,"panel-lighten-3":`#798396`,primary:`#88C0D0`,"primary-background":`#58646E`,"primary-background-darken-1":`#495661`,"primary-background-darken-2":`#3B4955`,"primary-background-darken-3":`#3B4955`,"primary-background-lighten-1":`#67717B`,"primary-background-lighten-2":`#757F88`,"primary-background-lighten-3":`#848D94`,"primary-darken-1":`#73ABBB`,"primary-darken-2":`#5F97A6`,"primary-darken-3":`#4B8393`,"primary-lighten-1":`#9CD4E5`,"primary-lighten-2":`#B1EAFA`,"primary-lighten-3":`#C6FFFF`,"primary-muted":`#495E6B`,scrollbar:`#48626F`,"scrollbar-active":`#88C0D0`,"scrollbar-background":`#1E242F`,"scrollbar-background-active":`#1E242F`,"scrollbar-background-hover":`#1E242F`,"scrollbar-corner-color":`#1E242F`,"scrollbar-hover":`#53727F`,secondary:`#81A1C1`,"secondary-background":`#57606C`,"secondary-background-darken-1":`#48525F`,"secondary-background-darken-2":`#3A4453`,"secondary-background-darken-3":`#3A4453`,"secondary-background-lighten-1":`#666E79`,"secondary-background-lighten-2":`#757C86`,"secondary-background-lighten-3":`#838A93`,"secondary-darken-1":`#6D8DAC`,"secondary-darken-2":`#597A98`,"secondary-darken-3":`#466784`,"secondary-lighten-1":`#95B5D5`,"secondary-lighten-2":`#A9C9EB`,"secondary-lighten-3":`#BEDEFF`,"secondary-muted":`#465466`,success:`#A3BE8C`,"success-darken-1":`#8FA978`,"success-darken-2":`#7B9565`,"success-darken-3":`#688253`,"success-lighten-1":`#B7D29F`,"success-lighten-2":`#CCE8B4`,"success-lighten-3":`#E1FDC8`,"success-muted":`#515D56`,surface:`#3B4252`,"surface-active":`#484F60`,"surface-darken-1":`#2A3140`,"surface-darken-2":`#1A212F`,"surface-darken-3":`#0A1120`,"surface-lighten-1":`#4C5364`,"surface-lighten-2":`#5E6576`,"surface-lighten-3":`#707889`,text:`#FFFFFFDD`,"text-accent":`#CDB4C8`,"text-disabled":`#FFFFFF60`,"text-error":`#D4969C`,"text-muted":`#FFFFFF99`,"text-primary":`#B0D5DF`,"text-secondary":`#ABC0D6`,"text-success":`#C2D4B3`,"text-warning":`#F1DCB2`,warning:`#EACB8B`,"warning-darken-1":`#D5B677`,"warning-darken-2":`#BFA264`,"warning-darken-3":`#AA8E51`,"warning-lighten-1":`#FFE09E`,"warning-lighten-2":`#FFF5B3`,"warning-lighten-3":`#FFFFC8`,"warning-muted":`#666156`}},"rose-pine":{name:`rose-pine`,dark:!0,ansi:{black:`#26233A`,red:`#EB6F92`,green:`#31748F`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EBBCBA`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#31748F`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EBBCBA`,brightWhite:`#E0DEF4`},vars:{accent:`#EBBCBA`,"accent-darken-1":`#D5A7A5`,"accent-darken-2":`#C09391`,"accent-darken-3":`#AB807E`,"accent-lighten-1":`#FFD0CE`,"accent-lighten-2":`#FFE5E3`,"accent-lighten-3":`#FFFBF9`,"accent-muted":`#584851`,background:`#191724`,"background-darken-1":`#060015`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#282634`,"background-lighten-2":`#383644`,"background-lighten-3":`#4A4756`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#191724`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#524F67`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#583145`,"footer-background":`#26233A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EBBCBA`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#191724`,"input-selection-background":`#403D52`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#26233A`,"panel-darken-1":`#161329`,"panel-darken-2":`#04001A`,"panel-darken-3":`#000008`,"panel-lighten-1":`#36324B`,"panel-lighten-2":`#47435D`,"panel-lighten-3":`#59556F`,primary:`#C4A7E7`,"primary-background":`#504B5D`,"primary-background-darken-1":`#413B4F`,"primary-background-darken-2":`#322C41`,"primary-background-darken-3":`#322C41`,"primary-background-lighten-1":`#605B6B`,"primary-background-lighten-2":`#6F6B7A`,"primary-background-lighten-3":`#7E7B88`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#4C425E`,scrollbar:`#524269`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#060015`,"scrollbar-background-active":`#060015`,"scrollbar-background-hover":`#060015`,"scrollbar-corner-color":`#060015`,"scrollbar-hover":`#65537E`,secondary:`#31748F`,"secondary-background":`#3E4452`,"secondary-background-darken-1":`#2D3443`,"secondary-background-darken-2":`#1C2434`,"secondary-background-darken-3":`#1C2434`,"secondary-background-lighten-1":`#4F5561`,"secondary-background-lighten-2":`#606570`,"secondary-background-lighten-3":`#717680`,"secondary-darken-1":`#17617B`,"secondary-darken-2":`#004F68`,"secondary-darken-3":`#003E56`,"secondary-lighten-1":`#4687A2`,"secondary-lighten-2":`#5B9AB7`,"secondary-lighten-3":`#70AECB`,"secondary-muted":`#203244`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#404E5A`,surface:`#1F1D2E`,"surface-active":`#2B293B`,"surface-darken-1":`#100B1E`,"surface-darken-2":`#00000E`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2F2C3E`,"surface-lighten-2":`#3F3D4F`,"surface-lighten-3":`#514E61`,text:`#FFFFFFDD`,"text-accent":`#F1D2D1`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#77A3B5`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#5B4A3C`}},"rose-pine-dawn":{name:`rose-pine-dawn`,dark:!1,ansi:{black:`#F2E9E1`,red:`#B4637A`,green:`#286983`,yellow:`#EA9D34`,blue:`#56949F`,magenta:`#907AA9`,cyan:`#D7827E`,white:`#575279`,brightBlack:`#9893A5`,brightRed:`#B4637A`,brightGreen:`#286983`,brightYellow:`#EA9D34`,brightBlue:`#56949F`,brightMagenta:`#907AA9`,brightCyan:`#D7827E`,brightWhite:`#575279`},vars:{accent:`#D6827E`,"accent-darken-1":`#C16E6B`,"accent-darken-2":`#AB5B58`,"accent-darken-3":`#964847`,"accent-lighten-1":`#ED9591`,"accent-lighten-2":`#FFAAA5`,"accent-lighten-3":`#FFBEB9`,"accent-muted":`#EFD1CB`,background:`#FAF4ED`,"background-darken-1":`#E4DED7`,"background-darken-2":`#CFC9C2`,"background-darken-3":`#BAB5AE`,"background-lighten-1":`#FFFFFF`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#575279`,"block-cursor-blurred-background":`#907AA94C`,"block-cursor-blurred-foreground":`#575279`,"block-cursor-foreground":`#FAF4ED`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#CECACD`,"border-blurred":`#9893A5`,"button-color-foreground":`#000000DD`,"button-foreground":`#575279`,error:`#B4637A`,"error-darken-1":`#9E5067`,"error-darken-2":`#8A3D55`,"error-darken-3":`#752A43`,"error-lighten-1":`#C9768D`,"error-lighten-2":`#DF8AA0`,"error-lighten-3":`#F59EB5`,"error-muted":`#E5C8CA`,"footer-background":`#F2E9E1`,"footer-description-background":`#00000000`,"footer-description-foreground":`#575279`,"footer-foreground":`#575279`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#D7827E`,foreground:`#575279`,"foreground-darken-1":`#444066`,"foreground-darken-2":`#332F53`,"foreground-darken-3":`#222042`,"foreground-disabled":`#57527960`,"foreground-lighten-1":`#69648C`,"foreground-lighten-2":`#7C76A0`,"foreground-lighten-3":`#9089B4`,"foreground-muted":`#57527999`,"input-cursor-background":`#575279`,"input-cursor-foreground":`#FAF4ED`,"input-selection-background":`#DFDAD9`,"link-background":`#00000000`,"link-background-hover":`#907AA9`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#907AA9`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#907AA9`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#907AA9`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#575279`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#575279`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#57527999`,panel:`#F2E9E1`,"panel-darken-1":`#DCD3CB`,"panel-darken-2":`#C7BFB7`,"panel-darken-3":`#B3AAA3`,"panel-lighten-1":`#FFFEF6`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#907AA9`,"primary-background":`#907AA9`,"primary-background-darken-1":`#7C6795`,"primary-background-darken-2":`#695481`,"primary-background-darken-3":`#56436E`,"primary-background-lighten-1":`#A48DBD`,"primary-background-lighten-2":`#B8A1D2`,"primary-background-lighten-3":`#CDB5E7`,"primary-darken-1":`#7C6795`,"primary-darken-2":`#695481`,"primary-darken-3":`#56436E`,"primary-lighten-1":`#A48DBD`,"primary-lighten-2":`#B8A1D2`,"primary-lighten-3":`#CDB5E7`,"primary-muted":`#DACFD8`,scrollbar:`#C2B6C4`,"scrollbar-active":`#907AA9`,"scrollbar-background":`#E4DED7`,"scrollbar-background-active":`#E4DED7`,"scrollbar-background-hover":`#E4DED7`,"scrollbar-corner-color":`#E4DED7`,"scrollbar-hover":`#BAACC0`,secondary:`#286983`,"secondary-background":`#286983`,"secondary-background-darken-1":`#0A566F`,"secondary-background-darken-2":`#00455D`,"secondary-background-darken-3":`#00344B`,"secondary-background-lighten-1":`#3E7B96`,"secondary-background-lighten-2":`#538FAA`,"secondary-background-lighten-3":`#67A2BE`,"secondary-darken-1":`#0A566F`,"secondary-darken-2":`#00455D`,"secondary-darken-3":`#00344B`,"secondary-lighten-1":`#3E7B96`,"secondary-lighten-2":`#538FAA`,"secondary-lighten-3":`#67A2BE`,"secondary-muted":`#BBCACD`,success:`#56949F`,"success-darken-1":`#41808B`,"success-darken-2":`#2D6D78`,"success-darken-3":`#155B65`,"success-lighten-1":`#6AA7B3`,"success-lighten-2":`#7EBCC7`,"success-lighten-3":`#92D1DC`,"success-muted":`#C8D7D5`,surface:`#FFFAF3`,"surface-active":`#FFFFFF`,"surface-darken-1":`#E9E4DD`,"surface-darken-2":`#D4CFC8`,"surface-darken-3":`#BFBAB4`,"surface-lighten-1":`#FFFFFF`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#8D5553`,"text-disabled":`#00000060`,"text-error":`#764150`,"text-muted":`#00000099`,"text-primary":`#5F506F`,"text-secondary":`#1A4556`,"text-success":`#386168`,"text-warning":`#9A6722`,warning:`#E99D34`,"warning-darken-1":`#D2891D`,"warning-darken-2":`#BC7600`,"warning-darken-3":`#A56300`,"warning-lighten-1":`#FFB148`,"warning-lighten-2":`#FFC55C`,"warning-lighten-3":`#FFDA70`,"warning-muted":`#F5D9B5`}},"rose-pine-moon":{name:`rose-pine-moon`,dark:!0,ansi:{black:`#393552`,red:`#EB6F92`,green:`#3E8FB0`,yellow:`#F6C177`,blue:`#9CCFD8`,magenta:`#C4A7E7`,cyan:`#EA9A97`,white:`#E0DEF4`,brightBlack:`#6E6A86`,brightRed:`#EB6F92`,brightGreen:`#3E8FB0`,brightYellow:`#F6C177`,brightBlue:`#9CCFD8`,brightMagenta:`#C4A7E7`,brightCyan:`#EA9A97`,brightWhite:`#E0DEF4`},vars:{accent:`#EA9A97`,"accent-darken-1":`#D48683`,"accent-darken-2":`#BE7270`,"accent-darken-3":`#A95F5E`,"accent-lighten-1":`#FFAEAA`,"accent-lighten-2":`#FFC3BF`,"accent-lighten-3":`#FFD8D4`,"accent-muted":`#5E4553`,background:`#232136`,"background-darken-1":`#131125`,"background-darken-2":`#000017`,"background-darken-3":`#000001`,"background-lighten-1":`#333046`,"background-lighten-2":`#444158`,"background-lighten-3":`#56526A`,"block-cursor-background":`#C4A7E7`,"block-cursor-blurred-background":`#C4A7E74C`,"block-cursor-blurred-foreground":`#E0DEF4`,"block-cursor-foreground":`#232136`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#56526E`,"border-blurred":`#6E6A86`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0DEF4`,error:`#EA6F92`,"error-darken-1":`#D45A7E`,"error-darken-2":`#BE466B`,"error-darken-3":`#A83159`,"error-lighten-1":`#FF83A5`,"error-lighten-2":`#FF98BA`,"error-lighten-3":`#FFADCE`,"error-muted":`#5F3851`,"footer-background":`#393552`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0DEF4`,"footer-foreground":`#E0DEF4`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#EA9A97`,foreground:`#E0DEF4`,"foreground-darken-1":`#CAC9DE`,"foreground-darken-2":`#B6B4C9`,"foreground-darken-3":`#A2A0B4`,"foreground-disabled":`#E0DEF460`,"foreground-lighten-1":`#F5F3FF`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0DEF499`,"input-cursor-background":`#F4EDE8`,"input-cursor-foreground":`#232136`,"input-selection-background":`#44415A`,"link-background":`#00000000`,"link-background-hover":`#C4A7E7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#C4A7E7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#C4A7E7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#C4A7E7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0DEF4`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0DEF4`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0DEF499`,panel:`#393552`,"panel-darken-1":`#282440`,"panel-darken-2":`#17152F`,"panel-darken-3":`#080020`,"panel-lighten-1":`#4A4564`,"panel-lighten-2":`#5C5776`,"panel-lighten-3":`#6F6989`,primary:`#C4A7E7`,"primary-background":`#58536A`,"primary-background-darken-1":`#49445D`,"primary-background-darken-2":`#3B3550`,"primary-background-darken-3":`#3B3550`,"primary-background-lighten-1":`#676277`,"primary-background-lighten-2":`#757184`,"primary-background-lighten-3":`#848091`,"primary-darken-1":`#AF93D1`,"primary-darken-2":`#9A7FBC`,"primary-darken-3":`#866CA8`,"primary-lighten-1":`#D9BBFC`,"primary-lighten-2":`#EED0FF`,"primary-lighten-3":`#FFE5FF`,"primary-muted":`#53496B`,scrollbar:`#594D72`,"scrollbar-active":`#C4A7E7`,"scrollbar-background":`#131125`,"scrollbar-background-active":`#131125`,"scrollbar-background-hover":`#131125`,"scrollbar-corner-color":`#131125`,"scrollbar-hover":`#6B5C86`,secondary:`#3E8FB0`,"secondary-background":`#474F63`,"secondary-background-darken-1":`#374055`,"secondary-background-darken-2":`#273148`,"secondary-background-darken-3":`#273148`,"secondary-background-lighten-1":`#575F71`,"secondary-background-lighten-2":`#676E7E`,"secondary-background-lighten-3":`#787E8C`,"secondary-darken-1":`#237B9B`,"secondary-darken-2":`#006888`,"secondary-darken-3":`#005674`,"secondary-lighten-1":`#54A2C4`,"secondary-lighten-2":`#6AB7D9`,"secondary-lighten-3":`#80CBEE`,"secondary-muted":`#2B425A`,success:`#9CCFD8`,"success-darken-1":`#87BAC3`,"success-darken-2":`#73A5AE`,"success-darken-3":`#60929A`,"success-lighten-1":`#B0E4ED`,"success-lighten-2":`#C5F9FF`,"success-lighten-3":`#DAFFFF`,"success-muted":`#475566`,surface:`#2A273F`,"surface-active":`#37334C`,"surface-darken-1":`#19172E`,"surface-darken-2":`#0A021E`,"surface-darken-3":`#00000F`,"surface-lighten-1":`#3A3750`,"surface-lighten-2":`#4C4862`,"surface-lighten-3":`#5E5975`,text:`#FFFFFFDD`,"text-accent":`#F1BCBA`,"text-disabled":`#FFFFFF60`,"text-error":`#F19FB7`,"text-muted":`#FFFFFF99`,"text-primary":`#D8C4EF`,"text-secondary":`#7FB5CA`,"text-success":`#BDDFE5`,"text-warning":`#F9D6A5`,warning:`#F5C177`,"warning-darken-1":`#DFAC63`,"warning-darken-2":`#C99850`,"warning-darken-3":`#B3853E`,"warning-lighten-1":`#FFD58A`,"warning-lighten-2":`#FFEB9E`,"warning-lighten-3":`#FFFFB3`,"warning-muted":`#625149`}},"solarized-dark":{name:`solarized-dark`,dark:!0,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#EEE8D5`,brightBlack:`#335E69`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#204060`,background:`#002B36`,"background-darken-1":`#001B25`,"background-darken-2":`#000A17`,"background-darken-3":`#000000`,"background-lighten-1":`#143B46`,"background-lighten-2":`#274C58`,"background-lighten-3":`#3A5E6A`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#839496`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#268BD2`,"border-blurred":`#00303C`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#839496`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#422D33`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#839496`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#839496`,"foreground-darken-1":`#6F8082`,"foreground-darken-2":`#5D6D6F`,"foreground-darken-3":`#4B5B5D`,"foreground-disabled":`#83949660`,"foreground-lighten-1":`#96A7A9`,"foreground-lighten-2":`#AABCBE`,"foreground-lighten-3":`#BED0D3`,"foreground-muted":`#83949699`,"input-cursor-background":`#839496`,"input-cursor-foreground":`#002B36`,"input-selection-background":`#073642`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#839496`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#839496`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#83949699`,panel:`#073642`,"panel-darken-1":`#002531`,"panel-darken-2":`#001721`,"panel-darken-3":`#000112`,"panel-lighten-1":`#1D4653`,"panel-lighten-2":`#305865`,"panel-lighten-3":`#436A78`,primary:`#268BD2`,"primary-background":`#2A5667`,"primary-background-darken-1":`#17475A`,"primary-background-darken-2":`#05394D`,"primary-background-darken-3":`#05394D`,"primary-background-lighten-1":`#3D6575`,"primary-background-lighten-2":`#507482`,"primary-background-lighten-3":`#62838F`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#0B4764`,scrollbar:`#0F476A`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#001B25`,"scrollbar-background-active":`#001B25`,"scrollbar-background-hover":`#001B25`,"scrollbar-corner-color":`#001B25`,"scrollbar-hover":`#13537B`,secondary:`#2AA198`,"secondary-background":`#2B5960`,"secondary-background-darken-1":`#184A52`,"secondary-background-darken-2":`#063C44`,"secondary-background-darken-3":`#063C44`,"secondary-background-lighten-1":`#3E676E`,"secondary-background-lighten-2":`#50767C`,"secondary-background-lighten-3":`#63858A`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#0C4E53`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#274C25`,surface:`#073642`,"surface-active":`#19434F`,"surface-darken-1":`#002531`,"surface-darken-2":`#001721`,"surface-darken-3":`#000112`,"surface-lighten-1":`#1D4653`,"surface-lighten-2":`#305865`,"surface-lighten-3":`#436A78`,text:`#FFFFFFDD`,"text-accent":`#9DA1D8`,"text-disabled":`#FFFFFF60`,"text-error":`#E77775`,"text-muted":`#FFFFFF99`,"text-primary":`#6FB2E1`,"text-secondary":`#72C0BB`,"text-success":`#AEBB56`,"text-warning":`#DC8865`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#3C342C`}},"solarized-light":{name:`solarized-light`,dark:!1,ansi:{black:`#073642`,red:`#DC322F`,green:`#859900`,yellow:`#B58900`,blue:`#268BD2`,magenta:`#D33682`,cyan:`#2AA198`,white:`#BBB5A2`,brightBlack:`#002B36`,brightRed:`#CB4B16`,brightGreen:`#586E75`,brightYellow:`#657B83`,brightBlue:`#839496`,brightMagenta:`#6C71C4`,brightCyan:`#93A1A1`,brightWhite:`#FDF6E3`},vars:{accent:`#6C71C4`,"accent-darken-1":`#575EAF`,"accent-darken-2":`#424C9A`,"accent-darken-3":`#2D3B87`,"accent-lighten-1":`#8083D9`,"accent-lighten-2":`#9597EE`,"accent-lighten-3":`#AAABFF`,"accent-muted":`#D1CED9`,background:`#FDF6E3`,"background-darken-1":`#E7E0CD`,"background-darken-2":`#D2CBB9`,"background-darken-3":`#BDB6A4`,"background-lighten-1":`#FFFFF8`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#268BD2`,"block-cursor-blurred-background":`#268BD24C`,"block-cursor-blurred-foreground":`#586E75`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#268BD2`,"border-blurred":`#E6E0CE`,"button-color-foreground":`#FDF6E3`,"button-foreground":`#586E75`,error:`#DB322F`,"error-darken-1":`#C3121E`,"error-darken-2":`#AB000D`,"error-darken-3":`#940000`,"error-lighten-1":`#F44940`,"error-lighten-2":`#FF6052`,"error-lighten-3":`#FF7564`,"error-muted":`#F3BBAD`,"footer-background":`#268BD2`,"footer-description-background":`#00000000`,"footer-description-foreground":`#FDF6E3`,"footer-foreground":`#586E75`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FDF6E3`,foreground:`#586E75`,"foreground-darken-1":`#465B62`,"foreground-darken-2":`#344950`,"foreground-darken-3":`#23383F`,"foreground-disabled":`#586E7560`,"foreground-lighten-1":`#6A8088`,"foreground-lighten-2":`#7D949B`,"foreground-lighten-3":`#91A8AF`,"foreground-muted":`#586E7599`,"input-cursor-background":`#586E75`,"input-cursor-foreground":`#FDF6E3`,"input-selection-background":`#459EE766`,"link-background":`#00000000`,"link-background-hover":`#268BD2`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#268BD2`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#268BD2`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#268BD2`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#586E75`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#586E75`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#586E7599`,panel:`#EEE8D5`,"panel-darken-1":`#D8D2C0`,"panel-darken-2":`#C3BEAB`,"panel-darken-3":`#AFA997`,"panel-lighten-1":`#FFFDEA`,"panel-lighten-2":`#FFFFFF`,"panel-lighten-3":`#FFFFFF`,primary:`#268BD2`,"primary-background":`#268BD2`,"primary-background-darken-1":`#0077BD`,"primary-background-darken-2":`#0065A8`,"primary-background-darken-3":`#005394`,"primary-background-lighten-1":`#459EE7`,"primary-background-lighten-2":`#5FB2FD`,"primary-background-lighten-3":`#77C7FF`,"primary-darken-1":`#0077BD`,"primary-darken-2":`#0065A8`,"primary-darken-3":`#005394`,"primary-lighten-1":`#459EE7`,"primary-lighten-2":`#5FB2FD`,"primary-lighten-3":`#77C7FF`,"primary-muted":`#BCD5DD`,scrollbar:`#99BECF`,"scrollbar-active":`#268BD2`,"scrollbar-background":`#E7E0CD`,"scrollbar-background-active":`#E7E0CD`,"scrollbar-background-hover":`#E7E0CD`,"scrollbar-corner-color":`#E7E0CD`,"scrollbar-hover":`#86B5CF`,secondary:`#2AA198`,"secondary-background":`#2AA198`,"secondary-background-darken-1":`#008C84`,"secondary-background-darken-2":`#007971`,"secondary-background-darken-3":`#00665F`,"secondary-background-lighten-1":`#44B5AB`,"secondary-background-lighten-2":`#5BCAC0`,"secondary-background-lighten-3":`#72DFD5`,"secondary-darken-1":`#008C84`,"secondary-darken-2":`#007971`,"secondary-darken-3":`#00665F`,"secondary-lighten-1":`#44B5AB`,"secondary-lighten-2":`#5BCAC0`,"secondary-lighten-3":`#72DFD5`,"secondary-muted":`#BDDCCC`,success:`#849900`,"success-darken-1":`#708500`,"success-darken-2":`#5B7200`,"success-darken-3":`#485F00`,"success-lighten-1":`#99AC22`,"success-lighten-2":`#AFC139`,"success-lighten-3":`#C4D64E`,"success-muted":`#D9DA9E`,surface:`#EEE8D5`,"surface-active":`#FFF9E5`,"surface-darken-1":`#D8D2C0`,"surface-darken-2":`#C3BEAB`,"surface-darken-3":`#AFA997`,"surface-lighten-1":`#FFFDEA`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#474A81`,"text-disabled":`#00000060`,"text-error":`#91211F`,"text-muted":`#00000099`,"text-primary":`#195B8A`,"text-secondary":`#1B6A64`,"text-success":`#576400`,"text-warning":`#85310E`,warning:`#CA4B16`,"warning-darken-1":`#B33600`,"warning-darken-2":`#9C2000`,"warning-darken-3":`#850100`,"warning-lighten-1":`#E25F29`,"warning-lighten-2":`#FA733C`,"warning-lighten-3":`#FF874E`,"warning-muted":`#EEC2A5`}},"svg-export":{name:`svg-export`,dark:!0,ansi:{black:`#4B4E55`,red:`#CC555A`,green:`#98A84B`,yellow:`#D0B344`,blue:`#608AB1`,magenta:`#98729F`,cyan:`#68A0B3`,white:`#C5C8C6`,brightBlack:`#9A9B99`,brightRed:`#FF2627`,brightGreen:`#00823D`,brightYellow:`#D08442`,brightBlue:`#1984E9`,brightMagenta:`#FF2C7A`,brightCyan:`#398280`,brightWhite:`#FDFDC5`},vars:{accent:`#56B6C2`,"accent-darken-1":`#3EA1AD`,"accent-darken-2":`#238D99`,"accent-darken-3":`#007A85`,"accent-lighten-1":`#6CCAD6`,"accent-lighten-2":`#81DFEC`,"accent-lighten-3":`#97F5FF`,"accent-muted":`#365356`,background:`#292929`,"background-darken-1":`#191919`,"background-darken-2":`#050505`,"background-darken-3":`#000000`,"background-lighten-1":`#393939`,"background-lighten-2":`#4A4A4A`,"background-lighten-3":`#5C5C5C`,"block-cursor-background":`#61AFEF`,"block-cursor-blurred-background":`#61AFEF4C`,"block-cursor-blurred-foreground":`#C5C8C6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#61AFEF`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#C5C8C6`,error:`#CB555A`,"error-darken-1":`#B54048`,"error-darken-2":`#9F2C37`,"error-darken-3":`#891427`,"error-lighten-1":`#E2686C`,"error-lighten-2":`#F97D7F`,"error-lighten-3":`#FF9192`,"error-muted":`#593637`,"footer-background":`#2C343A`,"footer-description-background":`#00000000`,"footer-description-foreground":`#C5C8C6`,"footer-foreground":`#C5C8C6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#56B6C2`,foreground:`#C5C8C6`,"foreground-darken-1":`#B0B3B1`,"foreground-darken-2":`#9C9F9D`,"foreground-darken-3":`#888B89`,"foreground-disabled":`#C5C8C660`,"foreground-lighten-1":`#D9DCDA`,"foreground-lighten-2":`#EFF2F0`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#C5C8C699`,"input-cursor-background":`#C5C8C6`,"input-cursor-foreground":`#292929`,"input-selection-background":`#77C3FF66`,"link-background":`#00000000`,"link-background-hover":`#61AFEF`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#61AFEF`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#61AFEF`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#61AFEF`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#C5C8C6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#C5C8C6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#C5C8C699`,panel:`#2C343A`,"panel-darken-1":`#1C2429`,"panel-darken-2":`#0C141A`,"panel-darken-3":`#000007`,"panel-lighten-1":`#3C444B`,"panel-lighten-2":`#4D565C`,"panel-lighten-3":`#5F686F`,primary:`#61AFEF`,"primary-background":`#4F5A61`,"primary-background-darken-1":`#404B53`,"primary-background-darken-2":`#313D46`,"primary-background-darken-3":`#313D46`,"primary-background-lighten-1":`#5F686F`,"primary-background-lighten-2":`#6E777D`,"primary-background-lighten-3":`#7E858B`,"primary-darken-1":`#489BD9`,"primary-darken-2":`#2C87C4`,"primary-darken-3":`#0074AF`,"primary-lighten-1":`#77C3FF`,"primary-lighten-2":`#8ED8FF`,"primary-lighten-3":`#A4EDFF`,"primary-muted":`#395164`,scrollbar:`#35556E`,"scrollbar-active":`#61AFEF`,"scrollbar-background":`#191919`,"scrollbar-background-active":`#191919`,"scrollbar-background-hover":`#191919`,"scrollbar-corner-color":`#191919`,"scrollbar-hover":`#3D6484`,secondary:`#C678DD`,"secondary-background":`#5C5260`,"secondary-background-darken-1":`#4E4352`,"secondary-background-darken-2":`#403444`,"secondary-background-darken-3":`#403444`,"secondary-background-lighten-1":`#6A616E`,"secondary-background-lighten-2":`#79707C`,"secondary-background-lighten-3":`#87808A`,"secondary-darken-1":`#B064C7`,"secondary-darken-2":`#9B50B3`,"secondary-darken-3":`#873D9E`,"secondary-lighten-1":`#DB8CF2`,"secondary-lighten-2":`#F1A0FF`,"secondary-lighten-3":`#FFB5FF`,"secondary-muted":`#58405F`,success:`#98C379`,"success-darken-1":`#83AE65`,"success-darken-2":`#709A53`,"success-darken-3":`#5C8641`,"success-lighten-1":`#ACD78C`,"success-lighten-2":`#C1EDA0`,"success-lighten-3":`#D6FFB4`,"success-muted":`#4A5741`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#8FCED6`,"text-disabled":`#FFFFFF60`,"text-error":`#DD8E92`,"text-muted":`#FFFFFF99`,"text-primary":`#96CAF4`,"text-secondary":`#D9A5E8`,"text-success":`#BBD7A6`,"text-warning":`#EDD5A7`,warning:`#E4C07B`,"warning-darken-1":`#CFAB67`,"warning-darken-2":`#B99754`,"warning-darken-3":`#A48442`,"warning-lighten-1":`#FBD48E`,"warning-lighten-2":`#FFE9A2`,"warning-lighten-3":`#FFFFB7`,"warning-muted":`#615641`}},"textual-ansi":{name:`textual-ansi`,dark:!0,ansi:hc,vars:{accent:`#0000FF`,"accent-darken-1":`#0000FF`,"accent-darken-2":`#0000FF`,"accent-darken-3":`#0000FF`,"accent-lighten-1":`#0000FF`,"accent-lighten-2":`#0000FF`,"accent-lighten-3":`#0000FF`,"accent-muted":`#0178D4`,background:`#121212`,"background-darken-1":`#121212`,"background-darken-2":`#121212`,"background-darken-3":`#121212`,"background-lighten-1":`#121212`,"background-lighten-2":`#121212`,"background-lighten-3":`#121212`,"block-cursor-background":`#000080`,"block-cursor-blurred-background":`#0000804C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#E0E0E0`,"block-hover-background":`#00000019`,boost:`#0178D4`,"boost-darken-1":`#0178D4`,"boost-darken-2":`#0178D4`,"boost-darken-3":`#0178D4`,"boost-lighten-1":`#0178D4`,"boost-lighten-2":`#0178D4`,"boost-lighten-3":`#0178D4`,border:`#0000FF`,"border-blurred":`#000080`,"button-color-foreground":`#E0E0E0`,"button-foreground":`#E0E0E0`,error:`#800000`,"error-darken-1":`#800000`,"error-darken-2":`#800000`,"error-darken-3":`#800000`,"error-lighten-1":`#800000`,"error-lighten-2":`#800000`,"error-lighten-3":`#800000`,"error-muted":`#0178D4`,"footer-background":`#121212`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0000FF`,foreground:`#E0E0E0`,"foreground-darken-1":`#E0E0E0`,"foreground-darken-2":`#E0E0E0`,"foreground-darken-3":`#E0E0E0`,"foreground-disabled":`#00000060`,"foreground-lighten-1":`#E0E0E0`,"foreground-lighten-2":`#E0E0E0`,"foreground-lighten-3":`#E0E0E0`,"foreground-muted":`#00000099`,"input-cursor-background":`#121212`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#000080`,"link-background":`#00000000`,"link-background-hover":`#000080`,"link-color":`#E0E0E0`,"link-color-hover":`#0178D4`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#000080`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#000080`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#000080`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#00000099`,panel:`#121212`,"panel-darken-1":`#121212`,"panel-darken-2":`#121212`,"panel-darken-3":`#121212`,"panel-lighten-1":`#121212`,"panel-lighten-2":`#121212`,"panel-lighten-3":`#121212`,primary:`#000080`,"primary-background":`#000080`,"primary-background-darken-1":`#000080`,"primary-background-darken-2":`#000080`,"primary-background-darken-3":`#000080`,"primary-background-lighten-1":`#000080`,"primary-background-lighten-2":`#000080`,"primary-background-lighten-3":`#000080`,"primary-darken-1":`#000080`,"primary-darken-2":`#000080`,"primary-darken-3":`#000080`,"primary-lighten-1":`#000080`,"primary-lighten-2":`#000080`,"primary-lighten-3":`#000080`,"primary-muted":`#0178D4`,scrollbar:`#000080`,"scrollbar-active":`#000080`,"scrollbar-background":`#121212`,"scrollbar-background-active":`#121212`,"scrollbar-background-hover":`#121212`,"scrollbar-corner-color":`#E0E0E0`,"scrollbar-hover":`#000040`,secondary:`#008080`,"secondary-background":`#008080`,"secondary-background-darken-1":`#008080`,"secondary-background-darken-2":`#008080`,"secondary-background-darken-3":`#008080`,"secondary-background-lighten-1":`#008080`,"secondary-background-lighten-2":`#008080`,"secondary-background-lighten-3":`#008080`,"secondary-darken-1":`#008080`,"secondary-darken-2":`#008080`,"secondary-darken-3":`#008080`,"secondary-lighten-1":`#008080`,"secondary-lighten-2":`#008080`,"secondary-lighten-3":`#008080`,"secondary-muted":`#0178D4`,success:`#008000`,"success-darken-1":`#008000`,"success-darken-2":`#008000`,"success-darken-3":`#008000`,"success-lighten-1":`#008000`,"success-lighten-2":`#008000`,"success-lighten-3":`#008000`,"success-muted":`#0178D4`,surface:`#121212`,"surface-active":`#131313`,"surface-darken-1":`#121212`,"surface-darken-2":`#121212`,"surface-darken-3":`#121212`,"surface-lighten-1":`#121212`,"surface-lighten-2":`#121212`,"surface-lighten-3":`#121212`,text:`#E0E0E0`,"text-accent":`#5656FF`,"text-disabled":`#E0E0E0`,"text-error":`#AB5656`,"text-muted":`#E0E0E0`,"text-primary":`#5656AB`,"text-secondary":`#56ABAB`,"text-success":`#56AB56`,"text-warning":`#ABAB56`,warning:`#808000`,"warning-darken-1":`#808000`,"warning-darken-2":`#808000`,"warning-darken-3":`#808000`,"warning-lighten-1":`#808000`,"warning-lighten-2":`#808000`,"warning-lighten-3":`#808000`,"warning-muted":`#0178D4`}},"textual-dark":{name:`textual-dark`,dark:!0,ansi:gc,vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#593E19`,background:`#121212`,"background-darken-1":`#000000`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#212121`,"background-lighten-2":`#313131`,"background-lighten-3":`#414141`,"block-cursor-background":`#0178D4`,"block-cursor-blurred-background":`#0178D44C`,"block-cursor-blurred-foreground":`#E0E0E0`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#0178D4`,"border-blurred":`#191919`,"button-color-foreground":`#FFFFFFDD`,"button-foreground":`#E0E0E0`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#441E27`,"footer-background":`#242F38`,"footer-description-background":`#00000000`,"footer-description-foreground":`#E0E0E0`,"footer-foreground":`#E0E0E0`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FFA62B`,foreground:`#E0E0E0`,"foreground-darken-1":`#CACACA`,"foreground-darken-2":`#B6B6B6`,"foreground-darken-3":`#A2A2A2`,"foreground-disabled":`#E0E0E060`,"foreground-lighten-1":`#F5F5F5`,"foreground-lighten-2":`#FFFFFF`,"foreground-lighten-3":`#FFFFFF`,"foreground-muted":`#E0E0E099`,"input-cursor-background":`#E0E0E0`,"input-cursor-foreground":`#121212`,"input-selection-background":`#368AE966`,"link-background":`#00000000`,"link-background-hover":`#0178D4`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#0178D4`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#0178D4`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#0178D4`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#E0E0E0`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#E0E0E0`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#E0E0E099`,panel:`#242F38`,"panel-darken-1":`#141F27`,"panel-darken-2":`#000F18`,"panel-darken-3":`#000003`,"panel-lighten-1":`#343F49`,"panel-lighten-2":`#45505A`,"panel-lighten-3":`#57626D`,primary:`#0178D4`,"primary-background":`#33424E`,"primary-background-darken-1":`#21313E`,"primary-background-darken-2":`#0F212F`,"primary-background-darken-3":`#0F212F`,"primary-background-lighten-1":`#45525D`,"primary-background-lighten-2":`#57636D`,"primary-background-lighten-3":`#69747D`,"primary-darken-1":`#0065BE`,"primary-darken-2":`#0053AA`,"primary-darken-3":`#004295`,"primary-lighten-1":`#368AE9`,"primary-lighten-2":`#539EFF`,"primary-lighten-3":`#6DB2FF`,"primary-muted":`#0C304C`,scrollbar:`#003054`,"scrollbar-active":`#0178D4`,"scrollbar-background":`#000000`,"scrollbar-background-active":`#000000`,"scrollbar-background-hover":`#000000`,"scrollbar-corner-color":`#000000`,"scrollbar-hover":`#003C6A`,secondary:`#004578`,"secondary-background":`#333B42`,"secondary-background-darken-1":`#212A31`,"secondary-background-darken-2":`#0F1921`,"secondary-background-darken-3":`#0F1921`,"secondary-background-lighten-1":`#454C52`,"secondary-background-lighten-2":`#575E63`,"secondary-background-lighten-3":`#696F74`,"secondary-darken-1":`#003465`,"secondary-darken-2":`#002452`,"secondary-darken-3":`#001541`,"secondary-lighten-1":`#23568B`,"secondary-lighten-2":`#3B689F`,"secondary-lighten-3":`#507BB3`,"secondary-muted":`#0C2130`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#24452E`,surface:`#1E1E1E`,"surface-active":`#2A2A2A`,"surface-darken-1":`#0D0D0D`,"surface-darken-2":`#000000`,"surface-darken-3":`#000000`,"surface-lighten-1":`#2D2D2D`,"surface-lighten-2":`#3E3E3E`,"surface-lighten-3":`#4F4F4F`,text:`#FFFFFFDD`,"text-accent":`#FFC473`,"text-disabled":`#FFFFFF60`,"text-error":`#D17E92`,"text-muted":`#FFFFFF99`,"text-primary":`#57A5E2`,"text-secondary":`#5684A5`,"text-success":`#8AD4A1`,"text-warning":`#FFC473`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#593E19`}},"textual-light":{name:`textual-light`,dark:!1,ansi:{black:`#000000`,red:`#AA3731`,green:`#448C27`,yellow:`#CB9000`,blue:`#325CC0`,magenta:`#7A3E9D`,cyan:`#0083B2`,white:`#F7F7F7`,brightBlack:`#777777`,brightRed:`#F05050`,brightGreen:`#60CB00`,brightYellow:`#FFBC5D`,brightBlue:`#007ACC`,brightMagenta:`#E64CE6`,brightCyan:`#00AACB`,brightWhite:`#F7F7F7`},vars:{accent:`#FEA62B`,"accent-darken-1":`#E7920D`,"accent-darken-2":`#CF7E00`,"accent-darken-3":`#B86B00`,"accent-lighten-1":`#FFBA41`,"accent-lighten-2":`#FFCF56`,"accent-lighten-3":`#FFE46B`,"accent-muted":`#E9CEA9`,background:`#E0E0E0`,"background-darken-1":`#CACACA`,"background-darken-2":`#B6B6B6`,"background-darken-3":`#A2A2A2`,"background-lighten-1":`#F5F5F5`,"background-lighten-2":`#FFFFFF`,"background-lighten-3":`#FFFFFF`,"block-cursor-background":`#004578`,"block-cursor-blurred-background":`#0045784C`,"block-cursor-blurred-foreground":`#1F1F1F`,"block-cursor-foreground":`#000000DD`,"block-hover-background":`#00000019`,boost:`#0000000A`,"boost-darken-1":`#0000000A`,"boost-darken-2":`#0000000A`,"boost-darken-3":`#0000000A`,"boost-lighten-1":`#1616160A`,"boost-lighten-2":`#2525250A`,"boost-lighten-3":`#3535350A`,border:`#004578`,"border-blurred":`#D0D1D0`,"button-color-foreground":`#000000DD`,"button-foreground":`#1F1F1F`,error:`#B93C5B`,"error-darken-1":`#A32549`,"error-darken-2":`#8D0638`,"error-darken-3":`#780028`,"error-lighten-1":`#D0506D`,"error-lighten-2":`#E76580`,"error-lighten-3":`#FE7993`,"error-muted":`#D4AEB8`,"footer-background":`#D0D0D0`,"footer-description-background":`#00000000`,"footer-description-foreground":`#1F1F1F`,"footer-foreground":`#1F1F1F`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#0178D4`,foreground:`#1F1F1F`,"foreground-darken-1":`#0E0E0E`,"foreground-darken-2":`#000000`,"foreground-darken-3":`#000000`,"foreground-disabled":`#1F1F1F60`,"foreground-lighten-1":`#2E2E2E`,"foreground-lighten-2":`#3F3F3F`,"foreground-lighten-3":`#505050`,"foreground-muted":`#1F1F1F99`,"input-cursor-background":`#1F1F1F`,"input-cursor-foreground":`#E0E0E0`,"input-selection-background":`#23568B66`,"link-background":`#00000000`,"link-background-hover":`#004578`,"link-color":`#000000DD`,"link-color-hover":`#000000DD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#004578`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#004578`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#004578`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#1F1F1F`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#1F1F1F`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#1F1F1F99`,panel:`#D0D0D0`,"panel-darken-1":`#BBBBBB`,"panel-darken-2":`#A6A6A6`,"panel-darken-3":`#939393`,"panel-lighten-1":`#E5E5E5`,"panel-lighten-2":`#FAFAFA`,"panel-lighten-3":`#FFFFFF`,primary:`#004578`,"primary-background":`#004578`,"primary-background-darken-1":`#003465`,"primary-background-darken-2":`#002452`,"primary-background-darken-3":`#001541`,"primary-background-lighten-1":`#23568B`,"primary-background-lighten-2":`#3B689F`,"primary-background-lighten-3":`#507BB3`,"primary-darken-1":`#003465`,"primary-darken-2":`#002452`,"primary-darken-3":`#001541`,"primary-lighten-1":`#23568B`,"primary-lighten-2":`#3B689F`,"primary-lighten-3":`#507BB3`,"primary-muted":`#9CB1C0`,scrollbar:`#7994A9`,"scrollbar-active":`#004578`,"scrollbar-background":`#CACACA`,"scrollbar-background-active":`#CACACA`,"scrollbar-background-hover":`#CACACA`,"scrollbar-corner-color":`#CACACA`,"scrollbar-hover":`#6587A1`,secondary:`#0178D4`,"secondary-background":`#0178D4`,"secondary-background-darken-1":`#0065BE`,"secondary-background-darken-2":`#0053AA`,"secondary-background-darken-3":`#004295`,"secondary-background-lighten-1":`#368AE9`,"secondary-background-lighten-2":`#539EFF`,"secondary-background-lighten-3":`#6DB2FF`,"secondary-darken-1":`#0065BE`,"secondary-darken-2":`#0053AA`,"secondary-darken-3":`#004295`,"secondary-lighten-1":`#368AE9`,"secondary-lighten-2":`#539EFF`,"secondary-lighten-3":`#6DB2FF`,"secondary-muted":`#9DC0DC`,success:`#4EBF71`,"success-darken-1":`#36AA5E`,"success-darken-2":`#18954B`,"success-darken-3":`#008139`,"success-lighten-1":`#64D484`,"success-lighten-2":`#7AE998`,"success-lighten-3":`#8FFFAC`,"success-muted":`#B4D6BE`,surface:`#D8D8D8`,"surface-active":`#E8E8E8`,"surface-darken-1":`#C3C3C3`,"surface-darken-2":`#AEAEAE`,"surface-darken-3":`#9A9A9A`,"surface-lighten-1":`#EDEDED`,"surface-lighten-2":`#FFFFFF`,"surface-lighten-3":`#FFFFFF`,text:`#000000DD`,"text-accent":`#A86D1C`,"text-disabled":`#00000060`,"text-error":`#7A273C`,"text-muted":`#00000099`,"text-primary":`#002D4F`,"text-secondary":`#004F8B`,"text-success":`#337E4A`,"text-warning":`#A86D1C`,warning:`#FEA62B`,"warning-darken-1":`#E7920D`,"warning-darken-2":`#CF7E00`,"warning-darken-3":`#B86B00`,"warning-lighten-1":`#FFBA41`,"warning-lighten-2":`#FFCF56`,"warning-lighten-3":`#FFE46B`,"warning-muted":`#E9CEA9`}},"tokyo-night":{name:`tokyo-night`,dark:!0,ansi:{black:`#15161E`,red:`#F7768E`,green:`#9ECE6A`,yellow:`#E0AF68`,blue:`#7AA2F7`,magenta:`#BB9AF7`,cyan:`#7DCFFF`,white:`#A9B1D6`,brightBlack:`#414868`,brightRed:`#F7768E`,brightGreen:`#9ECE6A`,brightYellow:`#E0AF68`,brightBlue:`#7AA2F7`,brightMagenta:`#BB9AF7`,brightCyan:`#7DCFFF`,brightWhite:`#C0CAF5`},vars:{accent:`#FE9E64`,"accent-darken-1":`#E78A51`,"accent-darken-2":`#D0763E`,"accent-darken-3":`#BA632C`,"accent-lighten-1":`#FFB277`,"accent-lighten-2":`#FFC78A`,"accent-lighten-3":`#FFDC9E`,"accent-muted":`#5E4238`,background:`#1A1B26`,"background-darken-1":`#070817`,"background-darken-2":`#000000`,"background-darken-3":`#000000`,"background-lighten-1":`#292A36`,"background-lighten-2":`#3A3A47`,"background-lighten-3":`#4B4B58`,"block-cursor-background":`#BB9AF7`,"block-cursor-blurred-background":`#BB9AF74C`,"block-cursor-blurred-foreground":`#A9B1D6`,"block-cursor-foreground":`#FFFFFFDD`,"block-hover-background":`#FFFFFF19`,boost:`#FFFFFF0A`,"boost-darken-1":`#E9E9E90A`,"boost-darken-2":`#D4D4D40A`,"boost-darken-3":`#BFBFBF0A`,"boost-lighten-1":`#FFFFFF0A`,"boost-lighten-2":`#FFFFFF0A`,"boost-lighten-3":`#FFFFFF0A`,border:`#BB9AF7`,"border-blurred":`#1E2235`,"button-color-foreground":`#24283B`,"button-foreground":`#A9B1D6`,error:`#F6768E`,"error-darken-1":`#E0617A`,"error-darken-2":`#C94D68`,"error-darken-3":`#B33856`,"error-lighten-1":`#FF8AA1`,"error-lighten-2":`#FF9FB5`,"error-lighten-3":`#FFB4CA`,"error-muted":`#5C3645`,"footer-background":`#414868`,"footer-description-background":`#00000000`,"footer-description-foreground":`#A9B1D6`,"footer-foreground":`#A9B1D6`,"footer-item-background":`#00000000`,"footer-key-background":`#00000000`,"footer-key-foreground":`#FF9E64`,foreground:`#A9B1D6`,"foreground-darken-1":`#949CC1`,"foreground-darken-2":`#8189AC`,"foreground-darken-3":`#6D7698`,"foreground-disabled":`#A9B1D660`,"foreground-lighten-1":`#BDC5EB`,"foreground-lighten-2":`#D2DAFF`,"foreground-lighten-3":`#E7EFFF`,"foreground-muted":`#A9B1D699`,"input-cursor-background":`#A9B1D6`,"input-cursor-foreground":`#1A1B26`,"input-selection-background":`#D0AEFF66`,"link-background":`#00000000`,"link-background-hover":`#BB9AF7`,"link-color":`#FFFFFFDD`,"link-color-hover":`#FFFFFFDD`,"markdown-h1-background":`#00000000`,"markdown-h1-color":`#BB9AF7`,"markdown-h2-background":`#00000000`,"markdown-h2-color":`#BB9AF7`,"markdown-h3-background":`#00000000`,"markdown-h3-color":`#BB9AF7`,"markdown-h4-background":`#00000000`,"markdown-h4-color":`#A9B1D6`,"markdown-h5-background":`#00000000`,"markdown-h5-color":`#A9B1D6`,"markdown-h6-background":`#00000000`,"markdown-h6-color":`#A9B1D699`,panel:`#414868`,"panel-darken-1":`#2F3755`,"panel-darken-2":`#1E2744`,"panel-darken-3":`#0C1733`,"panel-lighten-1":`#53597A`,"panel-lighten-2":`#656B8E`,"panel-lighten-3":`#787EA1`,primary:`#BB9AF7`,"primary-background":`#504D60`,"primary-background-darken-1":`#413D52`,"primary-background-darken-2":`#322E45`,"primary-background-darken-3":`#322E45`,"primary-background-lighten-1":`#605D6E`,"primary-background-lighten-2":`#6F6C7C`,"primary-background-lighten-3":`#7E7C8A`,"primary-darken-1":`#A686E1`,"primary-darken-2":`#9173CC`,"primary-darken-3":`#7D60B7`,"primary-lighten-1":`#D0AEFF`,"primary-lighten-2":`#E5C2FF`,"primary-lighten-3":`#FBD7FF`,"primary-muted":`#4A4164`,scrollbar:`#4F4270`,"scrollbar-active":`#BB9AF7`,"scrollbar-background":`#070817`,"scrollbar-background-active":`#070817`,"scrollbar-background-hover":`#070817`,"scrollbar-corner-color":`#070817`,"scrollbar-hover":`#615187`,secondary:`#7AA2F7`,"secondary-background":`#484E60`,"secondary-background-darken-1":`#383E52`,"secondary-background-darken-2":`#282F45`,"secondary-background-darken-3":`#282F45`,"secondary-background-lighten-1":`#585D6E`,"secondary-background-lighten-2":`#686D7C`,"secondary-background-lighten-3":`#787D8A`,"secondary-darken-1":`#648EE1`,"secondary-darken-2":`#4D7BCC`,"secondary-darken-3":`#3468B7`,"secondary-lighten-1":`#8FB6FF`,"secondary-lighten-2":`#A5CAFF`,"secondary-lighten-3":`#BBDFFF`,"secondary-muted":`#364364`,success:`#9ECE6A`,"success-darken-1":`#89B956`,"success-darken-2":`#75A443`,"success-darken-3":`#619030`,"success-lighten-1":`#B2E37D`,"success-lighten-2":`#C8F891`,"success-lighten-3":`#DDFFA6`,"success-muted":`#41503A`,surface:`#24283B`,"surface-active":`#313448`,"surface-darken-1":`#14182A`,"surface-darken-2":`#00031B`,"surface-darken-3":`#000009`,"surface-lighten-1":`#34384C`,"surface-lighten-2":`#45495E`,"surface-lighten-3":`#575A70`,text:`#FFFFFFDD`,"text-accent":`#FFBE98`,"text-disabled":`#FFFFFF60`,"text-error":`#F9A4B4`,"text-muted":`#FFFFFF99`,"text-primary":`#D2BCF9`,"text-secondary":`#A7C1F9`,"text-success":`#BEDE9C`,"text-warning":`#EACA9B`,warning:`#DFAF68`,"warning-darken-1":`#C99A55`,"warning-darken-2":`#B48742`,"warning-darken-3":`#9E7430`,"warning-lighten-1":`#F6C37B`,"warning-lighten-2":`#FFD88F`,"warning-lighten-3":`#FFEDA3`,"warning-muted":`#554739`}}},vc=Object.freeze(Object.keys(_c).sort()),yc=new Map;function bc(){return vc}function xc(e){if(!Sc(e))return null;let t=yc.get(e);if(t!==void 0)return t;let n=Tc(_c[e]);return yc.set(e,n),n}function Sc(e){return Object.hasOwn(_c,e)}function Cc(e){let t=_c[e],n=wc(t,`background`),r=Do(t.name,n),i=e=>r(wc(t,e));return{name:t.name,dark:t.dark,bg:n,fg:i(`foreground`),primary:i(`primary`),secondary:i(`secondary`),accent:i(`accent`),success:i(`success`),warning:i(`warning`),error:i(`error`),ansi:new Lo(mc.map(e=>Dc(t.ansi[e],t.name,`ansi.${e}`)))}}function wc(e,t){let n=e.vars[t];if(n===void 0)throw Error(`Theme ${e.name}: required base var "${t}" missing from data file`);return Ec(n,e.name,t)}function Tc(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,Ec(r,e.name,`var ${n}`));for(let n of ac){let r=wc(e,`text-${n}`);t.set(`text-${n}`,sc(r,wc(e,`${n}-muted`),wc(e,`background`)))}return new Eo(e.name,e.dark,t)}function Ec(e,t,n){try{return us(e)}catch(e){throw e instanceof Jo?Error(`Theme ${t}: ${n}: ${e.message}`,{cause:e}):e}}function Dc(e,t,n){let r=Ec(e,t,n);if(r.alpha!==1)throw Error(`Theme ${t}: ${n} has alpha in ${JSON.stringify(e)} (expected #RRGGBB)`);return r}function Oc(e){return new fs(e.bg,e.fg,e.ansi,oc(e.name,e.dark,{primary:e.primary,secondary:e.secondary,accent:e.accent,success:e.success,warning:e.warning,error:e.error,background:e.bg,foreground:e.fg}))}const kc=Oc(Cc(`default`));Oc(Cc(`svg-export`)),Oc(Cc(`monokai`)),Oc(Cc(`nord`)),Oc(Cc(`gruvbox`)),Oc(Cc(`dracula`)),Oc(Cc(`tokyo-night`)),Oc(Cc(`flexoki`)),Oc(Cc(`cyberpunk`)),Oc(Cc(`catppuccin-mocha`)),Oc(Cc(`catppuccin-latte`)),Oc(Cc(`catppuccin-frappe`)),Oc(Cc(`catppuccin-macchiato`)),Oc(Cc(`solarized-dark`)),Oc(Cc(`solarized-light`)),Oc(Cc(`rose-pine`)),Oc(Cc(`rose-pine-moon`)),Oc(Cc(`rose-pine-dawn`)),Oc(Cc(`atom-one-dark`)),Oc(Cc(`atom-one-light`)),Oc(Cc(`textual-dark`)),Oc(Cc(`textual-light`)),Oc(Cc(`textual-ansi`));const Ac=new Set([`error`,`success`,`warning`]);function jc(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function Mc(e){return Ac.has(jc(e))}function Nc(e,t,n){if(As(t))return new Eo(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=Mc(n)?r:t;i.set(n,Bs.fromRgba(a).applyKey(e).toRgba())}let a=i.get(`background`);if(a===void 0)throw Error(`transposePalette: palette "${e.name}" has no "background" var; cannot derive the dark flag without a background color.`);let o=Bs.fromRgba(a).l<.5;return new Eo(n??e.name,o,i)}var Pc=class{ease;stops;constructor(e,t){if(this.ease=e,this.stops=t,t.length===0)throw RangeError(`a ColorRamp needs at least one stop`);for(let[e,n]of t.entries()){if(!Number.isFinite(n.at))throw RangeError(`ColorRamp stop ${e} has a non-finite position ${n.at}`);let r=t[e-1];if(r!==void 0&&n.at<r.at)throw RangeError(`ColorRamp stops must be in ascending position order; stop ${e} at ${n.at} follows stop ${e-1} at ${r.at}`)}}at(e){if(!Number.isFinite(e))throw RangeError(`ColorRamp.at needs a finite value, got ${e}`);let t=this.stops,n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;if(n<0)return t[0].color;let r=t[n];if(n===t.length-1)return r.color;let i=t[n+1],a=this.ease((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:Bs.fromRgba(r.color).mix(Bs.fromRgba(i.color),a).toRgba()}};function Fc(e,t,n,r){for(let[i,a]of[[`x1`,e],[`y1`,t],[`x2`,n],[`y2`,r]])if(!Number.isFinite(a))throw RangeError(`cubicBezier ${i} must be finite, got ${a}`);if(e<0||e>1||n<0||n>1)throw RangeError(`cubicBezier x1 and x2 must lie in [0, 1], got ${e} and ${n}`);let i=3*e,a=3*(n-e)-i,o=1-i-a,s=3*t,c=3*(r-t)-s,l=1-s-c,u=e=>((o*e+a)*e+i)*e,d=e=>((l*e+c)*e+s)*e,f=e=>(3*o*e+2*a)*e+i,p=1e-9,m=e=>{let t=e;for(let n=0;n<8;n++){let n=u(t)-e;if(Math.abs(n)<p)return t;let r=f(t);if(Math.abs(r)<1e-6)break;t-=n/r}let n=0,r=1;for(t=e;r-n>p;)u(t)<e?n=t:r=t,t=(n+r)/2;return t};return e=>d(m(Math.min(1,Math.max(0,e))))}function Ic(e,t=`jump-end`){let n=t===`jump-none`?2:1;if(!Number.isInteger(e)||e<n)throw RangeError(`steps(${e}, "${t}") needs a whole number of steps ≥ ${n}`);let r=t===`jump-start`||t===`start`||t===`jump-both`,i={"jump-start":e,start:e,"jump-end":e,end:e,"jump-both":e+1,"jump-none":e-1}[t],a=+!!r;return t=>Math.min(i,Math.floor(Math.min(1,Math.max(0,t))*e)+a)/i}const Lc=e=>e,Rc=Ic(1,`jump-end`),zc={linear:Lc,ease:Fc(.25,.1,.25,1),"ease-in":Fc(.42,0,1,1),"ease-out":Fc(0,0,.58,1),"ease-in-out":Fc(.42,0,.58,1),"step-start":Ic(1,`jump-start`),"step-end":Rc,step:Rc,sine:e=>(1-Math.cos(Math.PI*e))/2};function Bc(e){if(!Object.hasOwn(zc,e))throw RangeError(`unknown ease ${JSON.stringify(e)}; expected one of `+Object.keys(zc).map(e=>JSON.stringify(e)).join(`, `));return zc[e]}function Vc(e,t){if(!Number.isFinite(t)||t<=0)throw RangeError(`${e} must be a positive number of seconds, got ${t}`)}const Hc={once(e,t){if(!Number.isFinite(e))throw RangeError(`Phase.once start must be finite, got ${e}`);return Vc(`Phase.once duration`,t),n=>Math.min(1,Math.max(0,(n-e)/t))},loop(e){return Vc(`Phase.loop period`,e),t=>(t%e+e)%e/e},pingPong(e){Vc(`Phase.pingPong period`,e);let t=Hc.loop(e);return e=>1-Math.abs(2*t(e)-1)}};function Uc(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&Uc(e.inner,t)}}function Wc(e,t){for(let n=e;n;n=n.inner)if(n.owner===t)return!0;return!1}const Gc=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],Kc={bold:1,dim:2,italic:3,underline:4,blink:5,blink2:6,reverse:7,conceal:8,strike:9,underline2:21,frame:51,encircle:52,overline:53},qc={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Jc=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Yc=new ao;var G=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=ol(e.color),this.bgcolor=sl(e.bgcolor),this.bold=e.bold,this.dim=e.dim,this.italic=e.italic,this.underline=e.underline,this.blink=e.blink,this.blink2=e.blink2,this.reverse=e.reverse,this.conceal=e.conceal,this.strike=e.strike,this.underline2=e.underline2,this.frame=e.frame,this.encircle=e.encircle,this.overline=e.overline,this.link=e.link,this.meta=e.meta,this.anchor=e.anchor}get isNull(){return this.color===void 0&&this.bgcolor===void 0&&this.bold===void 0&&this.dim===void 0&&this.italic===void 0&&this.underline===void 0&&this.blink===void 0&&this.blink2===void 0&&this.reverse===void 0&&this.conceal===void 0&&this.strike===void 0&&this.underline2===void 0&&this.frame===void 0&&this.encircle===void 0&&this.overline===void 0&&this.link===void 0&&this.meta===void 0&&this.anchor===void 0}get transparentBackground(){return this.bgcolor===void 0||this.bgcolor.isDefault}get backgroundStyle(){return new e({bgcolor:this.bgcolor})}with(t){return new e({...this,...t})}get withoutColor(){return this.with({color:void 0,bgcolor:void 0})}withLink(e){return this.with({link:e})}clearMetaAndLinks(){return this.with({link:void 0,meta:void 0})}withAnchor(e){return this.with({anchor:e})}shiftedBy(e){return this.anchor?this.withAnchor(Uc(this.anchor,e)):this}add(t){return!t||t.isNull?this:this.isNull?t:new e({color:t.color??this.color,bgcolor:t.bgcolor??this.bgcolor,bold:t.bold??this.bold,dim:t.dim??this.dim,italic:t.italic??this.italic,underline:t.underline??this.underline,blink:t.blink??this.blink,blink2:t.blink2??this.blink2,reverse:t.reverse??this.reverse,conceal:t.conceal??this.conceal,strike:t.strike??this.strike,underline2:t.underline2??this.underline2,frame:t.frame??this.frame,encircle:t.encircle??this.encircle,overline:t.overline??this.overline,link:t.link??this.link,meta:t.meta&&this.meta?{...this.meta,...t.meta}:t.meta??this.meta,anchor:t.anchor??this.anchor})}equals(e){return this===e?!0:this.color?.name===e.color?.name&&this.bgcolor?.name===e.bgcolor?.name&&this.bold===e.bold&&this.dim===e.dim&&this.italic===e.italic&&this.underline===e.underline&&this.blink===e.blink&&this.blink2===e.blink2&&this.reverse===e.reverse&&this.conceal===e.conceal&&this.strike===e.strike&&this.underline2===e.underline2&&this.frame===e.frame&&this.encircle===e.encircle&&this.overline===e.overline&&this.link===e.link&&ul(this.anchor,e.anchor)}drawnColors(e){let t=Mo,n=this.bgcolor?.flattenAlpha(t),r=n?.getTruecolor(void 0,!1)??t,i=this.color?.flattenAlpha(r),a=t=>e===void 0?t:t.downgrade(e);return{color:i===void 0?void 0:a(i),bgcolor:n===void 0?void 0:a(n)}}toSgrCodes(e){if(this.isNull)return``;let t=this.drawnColors(e);return[...Gc.filter(e=>this[e]===!0).map(e=>`${Kc[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of Gc)this[t]===!1&&e.push(`not ${t}`);for(let t of Gc)this[t]===!0&&e.push(t);return this.color&&e.push(this.color.name),this.bgcolor&&e.push(`on ${this.bgcolor.name}`),this.link&&e.push(`link ${this.link}`),e.join(` `)||`none`}static null(){return Xc}static fromColor(t,n){return new e({color:t,bgcolor:n})}static fromMeta(t){return new e({meta:t})}static pickFirst(...e){for(let t of e)if(t!==void 0)return t;throw Error(`All arguments are undefined`)}static combine(e){let t=Xc;for(let n of e)n&&(t=t.add(n));return t}static chain(...t){return e.combine(t)}static normalize(e){return e.trim().replace(/\s+/g,` `)}static parse(t){let n=e.normalize(t);return n===``||n===`none`?Xc:Yc.get(n,al)}};const Xc=new G,Zc=/^[a-z][a-z0-9._-]*$/;function Qc(e,t){return e instanceof G?e.add(t):e===``?t:typeof e==`string`?{under:e,over:t}:{under:e.under,over:e.over.add(t)}}var $c=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(cl))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Zc.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,G.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof G?e:typeof e==`string`?this.styles.get(e)??G.parse(e):this.resolve(e.under).add(e.over)}has(e){return this.styles.has(e)}};const el=new Set(Gc),tl=[`not`,`on`,`link`,...Gc,...Es];function nl(e,t){let n=[],r=Array.from({length:t.length+1},(e,t)=>t);for(let i=1;i<=e.length;i++){let a=[i];for(let o=1;o<=t.length;o++){let s=i>1&&o>1&&e[i-1]===t[o-2]&&e[i-2]===t[o-1];a[o]=Math.min(r[o]+1,a[o-1]+1,r[o-1]+Number(e[i-1]!==t[o-1]),s?n[o-2]+1:1/0)}[n,r]=[r,a]}return r[t.length]}function rl(e,t){let n=e.toLowerCase(),r=Math.max(1,Math.floor(n.length/3)),i=t.filter(e=>Math.abs(e.length-n.length)<=r).map(e=>({name:e,distance:nl(n,e)})),a=Math.min(r,...i.map(e=>e.distance)),o=i.filter(e=>e.distance===a).map(e=>`"${e.name}"`).sort();return o.length===0?``:` (did you mean ${o.join(` or `)}?)`}function il(e,t,n){try{return W.parse(e)}catch(r){throw new Jc(`${t} "${e}"${rl(e,n)}: ${String(r)}`,{cause:r})}}function al(e){let t=e.split(/\s+/),n={},r=0;for(;r<t.length;){let e=t[r];if(e===`not`){r++;let e=t[r];if(!e)throw new Jc(`Expected attribute after "not" in style definition`);let i=qc[e]??e;if(!el.has(i))throw new Jc(`Invalid attribute: "${e}"${rl(e,Gc)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Jc(`Expected color after "on" in style definition`);n.bgcolor=il(e,`Invalid background color`,Es),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=qc[e]??e;if(el.has(i)){n[i]=!0,r++;continue}n.color=il(e,`Invalid style definition`,tl),r++}return new G(n)}function ol(e){if(e!==void 0)return e instanceof W?e:W.parse(e)}function sl(e){let t=ol(e);return t?.value?.alpha===0?void 0:t}const cl={none:Xc,reset:new G({color:W.default(),bgcolor:W.default(),bold:!1,dim:!1,italic:!1,underline:!1,blink:!1,blink2:!1,reverse:!1,conceal:!1,strike:!1,underline2:!1,frame:!1,encircle:!1,overline:!1}),bold:new G({bold:!0}),dim:new G({dim:!0}),italic:new G({italic:!0}),underline:new G({underline:!0}),blink:new G({blink:!0}),blink2:new G({blink2:!0}),reverse:new G({reverse:!0}),conceal:new G({conceal:!0}),strike:new G({strike:!0}),underline2:new G({underline2:!0}),frame:new G({frame:!0}),encircle:new G({encircle:!0}),overline:new G({overline:!0}),"table.header":new G({bold:!0}),"table.footer":new G({bold:!0}),"table.cell":Xc,"table.title":new G({italic:!0}),"table.caption":new G({italic:!0,dim:!0}),"repr.ellipsis":G.parse(`yellow`),"repr.indent":G.parse(`dim green`),"repr.error":G.parse(`bold red`),"repr.str":G.parse(`not bold not italic green`),"repr.brace":G.parse(`bold`),"repr.comma":G.parse(`bold`),"repr.ipv4":G.parse(`bold bright_green`),"repr.ipv6":G.parse(`bold bright_green`),"repr.eui48":G.parse(`bold bright_green`),"repr.eui64":G.parse(`bold bright_green`),"repr.tag_start":G.parse(`bold`),"repr.tag_name":G.parse(`bold bright_magenta`),"repr.tag_contents":G.parse(`default`),"repr.tag_end":G.parse(`bold`),"repr.attrib_name":G.parse(`not italic yellow`),"repr.attrib_equal":G.parse(`bold`),"repr.attrib_value":G.parse(`not italic magenta`),"repr.number":G.parse(`bold not italic cyan`),"repr.number_complex":G.parse(`bold not italic cyan`),"repr.bool_true":G.parse(`italic bright_green`),"repr.bool_false":G.parse(`italic bright_red`),"repr.none":G.parse(`italic magenta`),"repr.url":G.parse(`not bold not italic underline bright_blue`),"repr.uuid":G.parse(`not bold bright_yellow`),"repr.call":G.parse(`bold magenta`),"repr.path":G.parse(`magenta`),"repr.filename":G.parse(`bright_magenta`),"log.time":G.parse(`cyan dim`),"log.message":Xc,"log.path":G.parse(`dim`),"log.line_no":G.parse(`cyan`),"log.level":Xc,"rule.line":G.parse(`bright_green`),"rule.text":Xc,"strip.separator":G.parse(`bright_black`),"strip.rail":G.parse(`bright_black`),"json.brace":G.parse(`bold`),"json.bool_true":G.parse(`italic bright_green`),"json.bool_false":G.parse(`italic bright_red`),"json.key":G.parse(`bold blue`),"json.null":G.parse(`italic magenta`),"json.number":G.parse(`bold not italic cyan`),"json.str":G.parse(`not bold not italic green`),"syntax.keyword":G.parse(`bold magenta`),"syntax.constant":G.parse(`italic bright_magenta`),"syntax.string":G.parse(`green`),"syntax.number":G.parse(`cyan`),"syntax.comment":G.parse(`dim italic`),"syntax.line_number":G.parse(`dim`),"syntax.line_number.highlight":G.parse(`bold grey93 on grey27`),"markdown.h1":G.parse(`bold underline`),"markdown.h2":G.parse(`bold`),"markdown.h3":G.parse(`bold dim`),"markdown.h4":G.parse(`bold dim italic`),"markdown.code":G.parse(`bold dark_turquoise on grey11`),"markdown.hr":G.parse(`yellow`),"markdown.link":G.parse(`bright_blue`),"markdown.link_url":G.parse(`blue`),"progress.description":Xc,"progress.percentage":G.parse(`magenta`),"progress.remaining":G.parse(`cyan`),"progress.elapsed":G.parse(`yellow`),"progress.spinner":G.parse(`green`),"progress.download":G.parse(`green`),"progress.filesize":G.parse(`green`),"progress.filesize.total":G.parse(`green`),"progress.data.speed":G.parse(`red`),"bar.back":G.parse(`grey23`),"bar.complete":G.parse(`rgb(249,38,114)`),"bar.finished":G.parse(`rgb(114,156,31)`),"bar.pulse":G.parse(`rgb(249,38,114)`),"scrollbar.thumb":Xc,"scrollbar.track":G.parse(`grey37`),tree:Xc,"tree.guide":Xc,"status.spinner":G.parse(`green`),"status.message":Xc,prompt:Xc,"prompt.choices":G.parse(`bold magenta`),"prompt.default":G.parse(`bold cyan`),"prompt.invalid":G.parse(`red`),"prompt.invalid.choice":G.parse(`red`),"inspect.attr":G.parse(`yellow italic`),"inspect.attr.dunder":G.parse(`yellow italic dim`),"inspect.callable":G.parse(`bold magenta`),"inspect.error":G.parse(`bold red`),"inspect.help":G.parse(`cyan`),"inspect.doc":G.parse(`dim`),"inspect.value.border":G.parse(`green`),"traceback.border":G.parse(`red`),"traceback.text":G.parse(`red`),"traceback.title":G.parse(`bold red`),"traceback.exc_type":G.parse(`bold bright_red`),"traceback.exc_value":Xc,"traceback.offset":G.parse(`bold bright_red`),"scope.border":G.parse(`blue`),"scope.key":G.parse(`italic`),"scope.key.special":G.parse(`dim italic`),pretty:Xc,"iso8601.date":G.parse(`blue`),"iso8601.time":G.parse(`magenta`),"iso8601.timezone":G.parse(`yellow`),"iso8601.year":Xc,"iso8601.month":Xc,"iso8601.day":Xc,"iso8601.week":Xc,"iso8601.hour":Xc,"iso8601.minute":Xc,"iso8601.second":Xc,"iso8601.frac":Xc,"iso8601.ms":Xc,"iso8601.hyphen":Xc},ll=new $c;function ul(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&ul(e.inner,t.inner)}var dl;(function(e){e.BELL=`bell`,e.CARRIAGE_RETURN=`carriage_return`,e.HOME=`home`,e.CLEAR=`clear`,e.SHOW_CURSOR=`show_cursor`,e.HIDE_CURSOR=`hide_cursor`,e.ENABLE_ALT_SCREEN=`enable_alt_screen`,e.DISABLE_ALT_SCREEN=`disable_alt_screen`,e.CURSOR_UP=`cursor_up`,e.CURSOR_DOWN=`cursor_down`,e.CURSOR_FORWARD=`cursor_forward`,e.CURSOR_BACKWARD=`cursor_backward`,e.CURSOR_MOVE_TO_COLUMN=`cursor_move_to_column`,e.CURSOR_MOVE_TO=`cursor_move_to`,e.ERASE_IN_LINE=`erase_in_line`,e.SET_WINDOW_TITLE=`set_window_title`})(dl||={});var K=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:V(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){if(t>=this.cellLength)return[this,new e(``)];if(t<=0)return[new e(``),this];let[n,r]=fo(this.text,t);return[new e(n,this.style),new e(r,this.style?.shiftedBy(t))]}static _line;static line(){return e._line??=new e(`
42
+ `)}static anchorLines(t,n,r=0){return t.map((t,i)=>{let a=r+i,o=0;return t.map(t=>{if(t.isControl)return t;let r=t.style??G.null(),i=new e(t.text,r.withAnchor({owner:n,row:a,col:o,inner:r.anchor}));return o+=t.cellLength,i})})}static anchorAt(e,t,n){if(!Number.isInteger(t)||t<0)return;let r=0;for(let i of e[n]??[]){let e=r+i.cellLength;if(t<e){let e=i.style?.anchor;return e&&Uc(e,t-r)}r=e}}static*applyStyle(t,n,r){if(!n&&!r){yield*t;return}for(let i of t){if(i.isControl){yield i;continue}let t=i.style;n&&(t=n.add(t)),r&&(t=t?t.add(r):r),yield new e(i.text,t,i.control)}}static*filterControl(e,t){for(let n of e)n.isControl===t&&(yield n)}static splitLines(t){let n=[],r=[];for(let i of t){if(i.isControl){r.push(i);continue}let t=i.text;if(!t.includes(`
43
+ `)){r.push(i);continue}let a=t.split(`
44
+ `);for(let t=0;t<a.length;t++){t>0&&(n.push(r),r=[]);let o=a[t];o.length>0&&r.push(new e(o,i.style))}}return r.length>0&&n.push(r),n}static adjustLineLength(t,n,r,i=!0){let a=e.getLineLength(t);if(a===n)return t;if(a<n)return i?[...t,new e(` `.repeat(n-a),r)]:t;let o=[],s=n;for(let e of t){if(e.isControl){o.push(e);continue}let t=e.cellLength;if(t<=s)o.push(e),s-=t;else{let[t]=e.splitCells(so(s));o.push(t),s=0;break}}return o}static*cropLines(t,n){let r=Math.max(0,n),i=0;for(let n of t){if(n.isControl){yield n;continue}let t=n.text.split(`
45
+ `);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=uo(t[e],so(r-i));i+=V(n),t[e]=n}let a=t.join(`
46
+ `);yield a===n.text?n:new e(a,n.style)}}static splitAndCropLines(t,n){return e.splitLines(t).map(t=>e.adjustLineLength(t,n))}static getLineLength(e){let t=0;for(let n of e)n.isControl||(t+=n.cellLength);return t}static getShape(t){if(t.length===0)return[0,0];let n=0;for(let r of t){let t=e.getLineLength(r);t>n&&(n=t)}return[n,t.length]}static*mergeHorizontal(t,n=0){let r=0;for(let e of t)e.lines.length>r&&(r=e.lines.length);let i=n>0?[new e(` `.repeat(n))]:[];for(let n=0;n<r;n++){for(let r=0;r<t.length;r++){r>0&&(yield*i);let a=t[r];yield*e.adjustLineLength(a.lines[n]??[],a.width)}yield e.line()}}static*simplify(t){let n;for(let r of t){if(!n){n=r;continue}fl(n.style,r.style)&&!r.isControl&&!n.isControl?n=new e(n.text+r.text,n.style):(yield n,n=r)}n&&(yield n)}static*stripLinks(t){for(let n of t)n.style?.link?yield new e(n.text,n.style.clearMetaAndLinks(),n.control):yield n}static*stripStyles(t){for(let n of t)yield new e(n.text,void 0,n.control)}static*removeColor(t){for(let n of t)n.style?yield new e(n.text,n.style.withoutColor,n.control):yield n}static divide(e,t){if(t.length===0)return[e];let n=[],r=0,i=0,a=e[r];for(let o of t){let t=[];for(;a&&i+a.cellLength<=o;)t.push(a),i+=a.cellLength,r++,a=e[r];if(a&&!a.isControl&&i<o){let e=so(o-i),[n,r]=a.splitCells(e);n.hasText&&t.push(n),i+=n.cellLength,a=r}n.push(t)}let o=[];for(a?.hasText&&o.push(a),r++;r<e.length;)o.push(e[r]),r++;return o.length>0&&n.push(o),n}static alignTop(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}static alignBottom(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,r-a.length),c=[];for(let e=0;e<s;e++)c.push([...o]);return c.push(...a),c.slice(0,r)}static alignMiddle(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)],s=Math.max(0,Math.floor((r-a.length)/2)),c=[];for(let e=0;e<s;e++)c.push([...o]);for(c.push(...a);c.length<r;)c.push([...o]);return c.slice(0,r)}static setShape(t,n,r,i){let a=t.map(t=>e.adjustLineLength(t,n,i)),o=[new e(` `.repeat(n),i)];for(;a.length<r;)a.push([...o]);return a.slice(0,r)}};function fl(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const pl=e=>/^[\x00-\x7F]*$/.test(e);function ml(e,t,n,r=String){return e.asciiOnly===!0&&!pl(r(t))?n:t}function hl(e,t){return(e.theme??ll).resolve(t)}function gl(e){return{...e,maxWidth:lo(e.maxWidth)}}function _l(e){return{...e,onDraw:void 0}}function vl(e,t){let n=gl(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(_l(n)).maximum;if(!Number.isFinite(r))throw RangeError(`maxWidth is unbounded and this renderable has no natural width to fall back on: its content does not implement measure(), or something inside it asked for an unbounded width of its own. Render it at a finite width, or give the content a measure() that reports a finite maximum.`);return{...n,maxWidth:lo(r)}}function yl(e){return typeof e==`object`&&!!e&&`measure`in e&&typeof e.measure==`function`}var bl=class e{minimum;maximum;constructor(e,t){this.minimum=e,this.maximum=t}get span(){return this.maximum-this.minimum}normalize(){let t=e=>Number.isNaN(e)?0:e;return new e(Math.max(0,Math.min(t(this.minimum),t(this.maximum))),Math.max(0,t(this.maximum)))}withMaximum(t){return new e(Math.min(this.minimum,t),Math.min(this.maximum,t))}withMinimum(t){let n=Math.max(this.minimum,t);return new e(n,Math.max(this.maximum,n))}clamp(t,n){return new e(Math.min(Math.max(this.minimum,t),n),Math.min(Math.max(this.maximum,t),n))}static get(t,n){if(t.maxWidth<1)return new e(0,0);if(!yl(n))return new e(0,t.maxWidth);let{minimum:r,maximum:i}=n.measure(_l(t));return new e(r,Math.min(i,t.maxWidth)).normalize()}};function*xl(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function Sl(e){return V(e.trimEnd())}function Cl(e){return Array.from(xl(e),Sl)}function wl(e,t){let n=po(e,t);return V(n[0])>t?[``,...n]:n}function Tl(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(so(e))},a=0,o=0;for(let r of xl(e)){let e=Sl(r);if(t-a>=e)a+=V(r);else if(n.fold&&e>t){let e=wl(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=V(r):n+=V(r)}}else i(o),a=V(r);o+=V(r)}return r}const El=new TextEncoder;function Dl(e){let t=2166136261;for(let n of El.encode(e))t=Math.imul(t^n,16777619);return(t>>>0).toString(16).padStart(8,`0`)}const Ol=`\\x1b\\x07\\x9c`,kl=RegExp(`[${Ol}]`,`g`);function Al(e){return e.replace(kl,``)}function jl(e){let t=Al(e);return`\x1b]8;id=${Dl(t)};${t}\x1b\\`}const Ml=RegExp(`\\x1b\\]8;([^;${Ol}]*);([^${Ol}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(Ml.source,`g`);const Nl=/[\x00-\x08\x0B-\x1F\x7F]/g;function Pl(e){return e.replace(Nl,``)}const Fl=/\s+$/;function Il(e){return e.map(e=>e.text).join(``)}function Ll(e){return V(Fl.exec(Il(e))?.[0]??``)}function Rl(e){let t=e.link;if(!t)return e;let n=Al(t);return n===t?e:e.withLink(n)}function zl(e){return typeof e==`string`?e:e instanceof G?Bl(e):{under:e.under,over:Bl(e.over)}}function Bl(e){return Rl(e.anchor?e.withAnchor(void 0):e)}function Vl(e){return e instanceof G?e.isNull:e===``}function Hl(e,t){return Rl(t instanceof G?t:typeof t==`string`?Ul(e,t):Ul(e,t.under).add(t.over))}function Ul(e,t){try{return hl(e,t)}catch(n){if(!(n instanceof Jc))throw n;return e.onStyleError?.(n,t),Xc}}var Wl=class e{start;end;style;constructor(e,t,n){this.start=e,this.end=t,this.style=n}get hasLength(){return this.end>this.start}toString(){return`Span(${this.start}, ${this.end})`}split(t){return t<=this.start||t>=this.end?[this,void 0]:[new e(this.start,t,this.style),new e(t,this.end,this.style)]}move(t){return new e(this.start+t,this.end+t,this.style)}rightCrop(t){return t>=this.end?this:new e(this.start,Math.min(this.end,t),this.style)}extend(t){return new e(this.start,this.end+t,this.style)}},q=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Pl(e):``,this._spans=[],this._style=zl(t?.style??Xc),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
47
+ `,this._tabSize=wo(t?.tabSize??8),this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Pl(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new Wl(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return V(To(this._text,this._tabSize).text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=zl(e)}get justify(){return this._justify}set justify(e){this._justify=e}get overflow(){return this._overflow}set overflow(e){this._overflow=e}get end(){return this._end}set end(e){this._end=e}get noWrap(){return this._noWrap}set noWrap(e){this._noWrap=e}get spans(){return this._spans}resolvedStyle(e){return Hl(e,this._style)}edgeStyle(e,t){let n=this.resolvedStyle(t);if(this._text.length===0)return n;let r=e===`left`?0:this._text.length-1,i=n;for(let e of this._spans)e.start<=r&&r<e.end&&(i=i.add(Hl(t,e.style)));return i}append(t,n){if(t instanceof e){if(n!==void 0)throw Error(`Style argument must not be provided when appending RichText`);let e=this._text.length;this._text+=t._text,this._addSpan(e,this._text.length,t._style);for(let n of t._spans)this._spans.push(n.move(e));return this}let r=Pl(t),i=this._text.length;return this._text+=r,this._addSpan(i,this._text.length,n??``),this}contains(t){let n=t instanceof e?t._text:t;return this._text.includes(n)}at(t){let n=t<0?this._text.length+t:t;return this._text[n]===void 0?new e(``):this.slice(n,n+1)}slice(e,t){let n=this._text,r=n.length,i=e??0,a=t??r,o=i<0?Math.max(0,r+i):Math.min(i,r),s=a<0?Math.max(0,r+a):Math.min(a,r);if(o>=s)return this.blankCopy();let c=n.slice(o,s),l=this.blankCopy(c);for(let e of this._spans){let t=Math.max(e.start,o)-o,n=Math.min(e.end,s)-o;t<n&&l._spans.push(new Wl(t,n,e.style))}return l}_addSpan(e,t,n){let r=zl(n);Vl(r)||this._spans.push(new Wl(e,t,r))}stylize(e,t,n){let r=this._text.length,i=t===void 0?0:t<0?r+t:t,a=n===void 0?r:n<0?r+n:n;if(i>=a||i>=r||a<=0)return this;let o=Math.max(0,i),s=Math.min(r,a);return this._addSpan(o,s,e),this}highlightRegex(e,t){let n=this._text,r=0,i=e.flags.includes(`g`)?e.flags:e.flags+`g`,a=new RegExp(e.source,i),o;for(;(o=a.exec(n))!==null;){if(o[0].length===0){a.lastIndex++;continue}if(o.groups){let e=0;for(let[t,n]of Object.entries(o.groups))if(n!==void 0){let r=o[0].indexOf(n,e);if(r>=0){let i=o.index+r;this._addSpan(i,i+n.length,t),e=r+n.length}}r++;continue}this._addSpan(o.index,o.index+o[0].length,t??``),r++}return r}highlightWords(e,t,n){let r=n?.caseSensitive!==!1,i=0;for(let n of e){if(n.length===0)continue;let e=n.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),a=r?`g`:`gi`,o=RegExp(`\\b${e}\\b`,a),s;for(;(s=o.exec(this._text))!==null;)this._addSpan(s.index,s.index+s[0].length,t),i++}return i}copy(){let t=new e(this._text,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap});return t._spans=this._spans.slice(),t}blankCopy(t){return new e(t??``,{style:this._style,justify:this._justify,overflow:this._overflow,end:this._end,tabSize:this._tabSize,noWrap:this._noWrap})}split(e){let t=e??`
48
+ `,n=this._text,r=[],i=0;for(;;){let e=n.indexOf(t,i);if(e===-1){r.push(this.slice(i));break}r.push(this.slice(i,e)),i=e+t.length}return r}divide(e){if(e.length===0)return[this.copy()];let t=[],n=0;for(let r of e)t.push(this.slice(n,r)),n=r;return t.push(this.slice(n)),t}rstrip(){let e=this._text.replace(/\s+$/,``);return e.length<this._text.length&&(this.plain=e),this}pad(e,t){let n=(t??` `).repeat(e);return this._spans=this._spans.map(t=>t.move(e)),this._text=n+this._text+n,this}expandTabs(){let e=To(this._text,this._tabSize);return this._spans=this._spans.map(t=>new Wl(e.offsetOf(t.start),e.offsetOf(t.end),t.style)),this._text=e.text,this}padLeft(e,t){let n=t??` `;return this._spans=this._spans.map(t=>t.move(e)),this._text=n.repeat(e)+this._text,this}padRight(e,t){let n=t??` `;return this._text+=n.repeat(e),this}setLength(e){return this._text.length<e?this._text+=` `.repeat(e-this._text.length):this._text.length>e&&(this.plain=this._text.slice(0,e)),this}extendStyle(e){let t=this._text.length;return this._text+=` `.repeat(e),this._spans=this._spans.map(n=>n.end===t?n.extend(e):n),this}truncate(e,t){if(this.cellLength<=e)return this;this.expandTabs();let n=t?.mode??`right`,r=lo(e),i=yo(t?.marker??`…`,r),a=so(r-V(i));if(n===`right`)return this._cropRightTo(a),i&&(this._text+=i),this;if(n===`left`)return this._cropLeftTo(a),i&&(this._spans=this._spans.map(e=>e.move(i.length)),this._text=i+this._text),this;let o=so(Math.floor(a/2)),s=so(a-o),c=yo(this._text,o).length,l=this._text.length-bo(this._text,s).length,u=this._text.slice(0,c),d=this._text.slice(l),f=c,p=l,m=i.length-(p-f),h=[];for(let e of this._spans)e.end<=f?h.push(e):e.start>=p?h.push(e.move(m)):(e.start<f&&h.push(new Wl(e.start,f,e.style)),e.end>p&&h.push(new Wl(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=yo(this._text,e)}_cropLeftTo(e){let t=this._text.length-bo(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new Wl(Math.max(0,e.start+n),e.end+n,e.style)}).filter(e=>e!==void 0),this._text=this._text.slice(t)}align(e,t){let n=this.cellLength;if(n>=t)return this;this.expandTabs();let r=t-n;switch(e){case`left`:this.padRight(r);break;case`right`:this.padLeft(r);break;case`center`:{let e=Math.floor(r/2),t=r-e;this.padLeft(e),this.padRight(t);break}}return this}removeSuffix(e){return this._text.endsWith(e)&&(this.plain=this._text.slice(0,-e.length)),this}appendTokens(e){for(let[t,n]of e)this.append(t,n);return this}static assemble(t,n){let r=new e(``,{style:n?.style});for(let n of t)if(typeof n==`string`)r.append(n);else if(n instanceof e)r.append(n);else{let[e,t]=n;r.append(e,t)}return r}static styled(t,n){let r=new e(t);return r.stylize(n),r}static fromFragments(t,n){let r=new e(``,{end:n?.end??``});for(let e of t)r.append(e);return r}*render(e){let t=To(this._text,this._tabSize),n=this.resolvedStyle(e),{segments:r,covered:i}=this._buildSegments(t,n,e),a=Gl(r,i);r.push(K.line());let o=K.splitLines(r),s=lo(vl(e,this).maxWidth),c=this._overflow??e.overflow??`fold`,l=this._noWrap||(e.noWrap??!1),u=c===`ignore`?lo(1/0):s,d=l?lo(1/0):u,f=c===`ignore`?void 0:this._justify??e.justify,p=ml(e,`…`,`.`);for(let e=0;e<o.length;e+=1){let t=o[e],r=a[e],i=e<o.length-1,l=Tl(Il(t),d,{fold:c===`fold`}),m=K.divide(t,l),h=this._justifyLines(m.map((e,t)=>({segments:[...this._fitLine(e,u,c,p)],free:e=>r(t===0?e:l[t-1]+e)})),s,n,f);for(let e=0;e<h.length;e+=1)yield*h[e],(e<h.length-1||i)&&(yield K.line())}this._end&&(yield new K(this._end))}measure(e){let t=To(this._text,this._tabSize).text.split(`
49
+ `),n=t.reduce((e,t)=>Math.max(e,V(t)),0),r=t.flatMap(Cl),i=r.length>0?r.reduce((e,t)=>Math.max(e,t),0):n,a=lo(e.maxWidth);return{minimum:Math.min(i,a),maximum:Math.min(n,a)}}_buildSegments({text:e,offsetOf:t},n,r){let i=n=>Math.max(0,Math.min(t(n),e.length)),a=new Set;for(let e of this._spans)a.add(i(e.start)),a.add(i(e.end));a.delete(0),a.delete(e.length);let o=[0,...[...a].sort((e,t)=>e-t),e.length],s=new Map(o.map((e,t)=>[e,t]).reverse()),c=o.slice(0,-1).map(()=>n),l=c.map(()=>!1);for(let e of this._spans){let t=i(e.end),n=Hl(r,e.style),a=s.get(i(e.start));for(let e=a;o[e]<t;e++)c[e]=c[e].add(n),l[e]=!0}return{segments:c.map((t,n)=>new K(e.slice(o[n],o[n+1]),t.isNull?void 0:t)),covered:l}}_justifyLines(e,t,n,r){return r===`full`?e.map(({segments:r},i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,n,r)])}*_justifyLine({segments:e,free:t},n,r,i){let a=r.isNull?void 0:r;switch(i){case`center`:case`right`:{let r=K.adjustLineLength(e,K.getLineLength(e)-Ll(e),void 0,!1),o=Math.max(n-K.getLineLength(r),0),s=i===`center`?Math.floor(o/2):o;yield*Kl(r,t,s,o-s,a);break}case`left`:yield*Kl(e,t,0,Math.max(n-K.getLineLength(e),0),a);break;default:yield*e;break}}_fillLine(e,t,n){let r=Il(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+V(t),0)+a;for(let e=0;s<t&&a>0;e=(e+1)%a)o[a-1-e]+=1,s+=1;let c=[],l=0;for(let e=0;e<i.length;e+=1)l+=V(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=K.divide(e,c),d=(e,t)=>e.filter(e=>e.hasText).at(t)?.style??n,f=[];for(let e=0;e<i.length;e+=1)if(f.push(...u[e*2]),e<a){let t=d(u[e*2],-1),r=d(u[e*2+2],0),i=t.equals(r)?t:n;f.push(new K(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n,r){let i=K.getLineLength(e);if(i-Ll(e)<=t){yield*K.adjustLineLength(e,Math.min(i,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*K.adjustLineLength(e,t-1,void 0,!1),yield new K(r);return}yield*K.adjustLineLength(e,t,void 0,!1)}};function Gl(e,t){let n=[[]];return e.forEach((e,r)=>{e.text.split(`
50
+ `).forEach((e,i)=>{i>0&&n.push([]);let a=n.at(-1);a.push({end:(a.at(-1)?.end??0)+V(e),free:!t[r]})})}),n.map(e=>t=>{let n=0,r=e.length;for(;n<r;){let i=n+r>>1;e[i].end<=t?n=i+1:r=i}return e[n].free})}function*Kl(e,t,n,r,i){if(n+r===0)return yield*e;let a=e.filter(e=>e.text!==``),o=e=>` `.repeat(e),s=K.getLineLength(a);if(s===0)return yield new K(o(n+r),i);let c=a.length-1,l=n>0&&a[0].cellLength>0&&t(0),u=r>0&&a[c].cellLength>0&&t(s-1),d=+!!l,f=u?c:c+1;if(d>f){yield new K(o(n)+a[0].text+o(r),i);return}n>0&&(yield new K(o(n)+(l?a[0].text:``),i)),yield*a.slice(d,f),r>0&&(yield new K((u?a[c].text:``)+o(r),i))}const ql=Object.freeze({name:`join`});var Jl=class{fg;bg;constructor(e,t){this.fg=e,this.bg=t}};function Yl(e,t){for(let n=e;n;n=n.inner){if(t.has(n.owner))return{fg:!0,bg:!0};if(n.owner instanceof Jl){let{fg:e,bg:r}=n.owner;return{fg:e!==null&&t.has(e),bg:r!==null&&t.has(r)}}}return{fg:!1,bg:!1}}function Xl(e,t,n,r){let i=e.join(t,n,r);return{render:e=>K.anchorLines([[...i.render(e)]],ql)[0]}}function Zl(e){return{render:t=>K.anchorLines([[...e.render(t)]],e)[0]}}var Ql=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length===0)return;let n={...e,justify:void 0};yield*Xl(this.joiner,null,t[0],{index:0}).render(n);for(let e=0;e<t.length;e++){let r=t[e];yield*Zl(r).render(n);let i=e+1<t.length?t[e+1]:null;yield*Xl(this.joiner,r,i,{index:e+1}).render(n)}yield K.line()}measure(e){let t=0;for(let n of this.render(e))t+=n.cellLength;return{minimum:t,maximum:t}}};const $l=[`seam`,`divider`,`lead`,`tail`];function*eu(e){yield e,`mix`in e&&(yield*eu(e.mix[0]),yield*eu(e.mix[1]))}const tu=e=>typeof e.glyph==`string`?[e.glyph]:e.glyph.oneOf,nu=(e,t,n,r)=>{let i=tu(e);return i[Math.floor(parseInt(Dl(`${t}:${n}:${r}`),16)/2**32*i.length)]},ru=e=>V(tu(e)[0]??``),iu=e=>e.reduce((e,t)=>e+ru(t),0);function au(e,t,n){if(e===`ground`)return n(`mixes ground, whose colour is unknown`);let r=typeof e==`object`&&e?e:{};if((r.edge===`left`||r.edge===`right`)&&(r.part===`bg`||r.part===`fg`))return r.edge===t&&n(`names the ${t} neighbour, which this part is drawn without`),Object.freeze({edge:r.edge,part:r.part});if(typeof r.role==`string`)return Object.freeze({role:r.role});if(Array.isArray(r.mix)&&r.mix.length===3){let[e,i,a]=r.mix;return(typeof a!=`number`||!(a>=0&&a<=1))&&n(`mixes at ${String(a)}, outside 0..1`),Object.freeze({mix:Object.freeze([au(e,t,n),au(i,t,n),a])})}return n(`has a colour that is not a Paint: ${JSON.stringify(e)}`)}const ou=(e,t,n)=>e===`ground`?e:au(e,t,n),su={seam:void 0,divider:void 0,lead:`left`,tail:`right`};function cu(e,t){if(!Array.isArray(e))throw Error(`CellJoiner: ${t} is not a list of cells`);return e.map((e,n)=>{if(typeof e!=`object`||!e)throw Error(`CellJoiner: ${t}[${n}] is not a cell`);return e})}function lu(e,t){let n=n=>Object.freeze(cu(e[n],`${t} ${n}`).map((e,r)=>{let i=e=>{throw Error(`CellJoiner: ${t} ${n}[${r}] ${e}`)},a=e.glyph,o=typeof a==`object`&&a?a.oneOf:void 0;typeof a!=`string`&&!(Array.isArray(o)&&o.every(e=>typeof e==`string`))&&i(`has a glyph that is neither a string nor a oneOf of strings: ${JSON.stringify(a)}`),e.fg===`ground`&&e.bg===`ground`&&i(`has ground on both sides`);let s=tu(e);return s.length===0&&i(`has an empty oneOf`),s.some(t=>V(t)!==ru(e))&&i(`has oneOf members of different widths`),t===`ascii`&&!s.every(pl)&&i(`is not ASCII`),Object.freeze({glyph:typeof e.glyph==`string`?e.glyph:Object.freeze({oneOf:Object.freeze([...s])}),fg:ou(e.fg,su[n],i),bg:ou(e.bg,su[n],i)})})),r=n(`seam`),i=e.divider===e.seam?r:n(`divider`);if(iu(i)!==iu(r))throw Error(`CellJoiner: ${t} divider is not the width of the seam`);return Object.freeze({seam:r,divider:i,lead:n(`lead`),tail:n(`tail`)})}const uu=(e,t)=>$l.flatMap(t=>e[t]).some(e=>[e.fg,e.bg].some(e=>e!==`ground`&&[...eu(e)].some(e=>`edge`in e&&e.edge===t&&e.part===`bg`)));function du(e){return{shape:e,reads:{left:uu(e,`left`),right:uu(e,`right`)}}}function fu(e){return e!==void 0&&!e.isDefault?e:void 0}function pu(e){return e.flattenAlpha(Mo)}function mu(e,t){if(e.reverse)return!1;let{color:n,bgcolor:r}=e.drawnColors(t??U.TRUECOLOR);if(n===void 0||r===void 0)return!1;let i=n.fixedValue,a=r.fixedValue;return i!==void 0&&a!==void 0?Bs.fromRgba(i).deltaE(Bs.fromRgba(a))<.04:n.number===void 0?n.name===r.name:n.number===r.number}function hu(e,t,n){if(`edge`in e){let n=t[e.edge];if(e.part===`fg`)return n?.color;let r=fu(n?.bgcolor);return r&&pu(r)}if(`role`in e)return hl(n,e.role).color;let[r,i,a]=e.mix,o=hu(r,t,n),s=hu(i,t,n);return o&&s&&W.blend(o,s,a)}function gu(e,t,n){return e.fg===`ground`?new G({color:e.bg===`ground`?void 0:hu(e.bg,t,n),reverse:!0}):new G({color:hu(e.fg,t,n),bgcolor:e.bg===`ground`?void 0:hu(e.bg,t,n)})}const _u=e=>$l.flatMap(t=>e[t].flatMap(tu)).join(``);var vu=class{shape;ascii;_forms;constructor(e,t){this.shape=lu(e,`glyph`),this.ascii=lu(t,`ascii`),this._forms={glyph:du(this.shape),ascii:du(this.ascii)}}join(e,t,{index:n}){let r=this._forms;return{*render(i){let{shape:a,reads:o}=ml(i,r.glyph,r.ascii,e=>_u(e.shape)),s={left:e?.edgeStyle(`right`,i),right:t?.edgeStyle(`left`,i)},c=fu(s.left?.bgcolor),l=fu(s.right?.bgcolor),u=e!==null&&(!o.left||c!==void 0),d=t!==null&&(!o.right||l!==void 0),f={left:e,right:t},p=e=>e!==`ground`&&`edge`in e?f[e.edge]:null,m=e=>a[e].map((t,r)=>{let a=new Jl(p(t.fg),p(t.bg));return new K(nu(t,e,n,r),gu(t,s,i).withAnchor({owner:a,row:0,col:0,inner:void 0}))});if(!u||!d){(u||d)&&(yield*m(d?`lead`:`tail`));return}let h=m(`seam`);yield*a.divider!==a.seam&&h.every(e=>e.style!==void 0&&mu(e.style,i.colorSystem))?m(`divider`):h}}}};const yu={edge:`left`,part:`bg`},bu={edge:`right`,part:`bg`},xu={edge:`left`,part:`fg`},Su={mix:[yu,bu,1/2]},Cu=`ground`;function wu(e,t){return{seam:[{glyph:e,fg:yu,bg:bu}],divider:[{glyph:t,fg:xu,bg:yu}],lead:[{glyph:e,fg:Cu,bg:bu}],tail:[{glyph:e,fg:yu,bg:Cu}]}}function Tu(e,t){let n=e=>({mix:[yu,bu,e]}),r={glyph:` `,fg:xu,bg:yu};return{...wu(e,t),seam:[{glyph:e,fg:yu,bg:n(1/3)},{glyph:e,fg:n(1/3),bg:n(2/3)},{glyph:e,fg:n(2/3),bg:bu}],divider:[r,{glyph:t,fg:xu,bg:yu},r]}}const Eu=(e,t,n,r,i)=>new vu(e(t,n),{...e(r,i),lead:[]});function Du(e,t,n){let r=[{glyph:t,fg:yu,bg:Cu},...n,{glyph:e,fg:bu,bg:Cu}];return{seam:r,divider:r,lead:[{glyph:e,fg:bu,bg:Cu}],tail:[{glyph:t,fg:yu,bg:Cu}]}}const Ou=(e,t)=>Du(e,t,[{glyph:` `,fg:xu,bg:Cu}]),ku=(e,t,n)=>Du(e,t,[{glyph:n,fg:{role:`strip.rail`},bg:Cu}]);function Au(e,t){let n=[{glyph:e,fg:t,bg:Su}];return{seam:n,divider:n,lead:[],tail:[]}}function ju(e){return{...Au({oneOf:e},yu),divider:[{glyph:{oneOf:e},fg:xu,bg:Su}]}}const Mu=[{glyph:` | `,fg:{role:`strip.separator`},bg:Cu}],Nu={seam:Mu,divider:Mu,lead:[],tail:[]},Pu=Object.freeze({powerline:Eu(wu,``,``,`>`,`>`),prism:Eu(Tu,``,``,`>`,`>`),slant:Eu(wu,``,``,`/`,`/`),backslant:Eu(wu,``,``,`\\`,`\\`),flame:Eu(wu,``,``,`}`,`}`),pixel:Eu(wu,``,``,`#`,`>`),ice:Eu(wu,``,``,`]`,`>`),bubble:Eu(wu,``,``,`)`,`)`),capsule:new vu(Ou(``,``),Ou(`(`,`)`)),wrapper:new vu(Du(``,``,[]),Du(`<`,`>`,[])),metro:new vu(ku(``,``,`──`),ku(`(`,`)`,`--`)),stitch:new vu(Au(`┊`,xu),Au(`:`,xu)),torn:new vu(ju([`▚▞`,`▞▚`,`▘▗`,`▝▖`,`▖▝`,`▗▘`]),ju([`/\\`,`\\/`])),plain:new vu(Nu,Nu)});function Fu(e,t){if(e.isControl)return``;let{text:n,style:r}=e;if(n.length===0||r===void 0)return n;let i=t.colorSystem===null?``:r.toSgrCodes(t.colorSystem),a=i.length>0?`\x1b[${i}m${n}\x1b[0m`:n,o=t.hyperlinks?r.link:void 0;return o===void 0?a:`${jl(o)}${a}]8;;\\`}function Iu(e,t){let n=[];for(let r of e)n.push(Fu(r,t));return n.join(``)}function Lu(e,t){let n=t?.width??80,r={};t?.env!==void 0&&(r.env=t.env),t?.isTTY!==void 0&&(r.isTTY=t.isTTY);let i=t?.colorSystem,a=Ko(i===void 0?U.TRUECOLOR:i,r),o={colorSystem:t?.noColor?null:a.colorSystem,hyperlinks:t?.hyperlinks??a.hyperlinks},s={maxWidth:n,isTerminal:!1,asciiOnly:t?.asciiOnly??!1,theme:t?.theme,onStyleError:t?.onStyleError,highlight:t?.highlight,highlighter:t?.highlighter,colorSystem:o.colorSystem};return Iu(e.render(s),o)}var Ru=class{renderable;effect;t;key;theme;constructor(e,t,n){if(this.renderable=e,this.effect=t,!Number.isFinite(n.t))throw RangeError(`Effected needs a finite t, got ${n.t}`);this.t=n.t,this.key=n.key,this.theme=n.theme}*render(e){let t=this.renderable.render(e);if(e.colorSystem===null){yield*t;return}let n=e.colorSystem??U.TRUECOLOR,r=Bu(t,n,this.theme),i=this.effect(this.t,Vu(r,n,this.theme)),a=0,o=0;for(let{segment:e,look:t}of r){if(t===void 0){yield e;continue}let{style:r,wire:s,slots:c,pair:l}=t,{terminal:u}=l,d={fg:l.fg,bg:l.bg},f=[],p=0;for(let t of _o(e.text)){let e=c;if(t===`
51
+ `)a++,o=0;else{let n=r.anchor&&Uc(r.anchor,p);e=Uu(i(d,{row:a,col:o,seed:this.seed(a,o),terminal:u,anchor:n}),l.reverse),o+=V(t)}p+=V(t);let m=f[f.length-1],h=m!==void 0&&Ju(m.colors,e)?m.drawn:this.respec(s,c,e,n);m!==void 0&&Gu(m.drawn,h)?(m.text+=t,m.cells+=V(t),m.colors=e):f.push({text:t,cells:V(t),colors:e,drawn:h})}if(f.every(e=>Gu(e.drawn,s))){yield e;continue}let m=0;for(let e of f){let t=r.shiftedBy(m),n=Gu(e.drawn,s)?t:t.add(G.fromColor(e.drawn.color,e.drawn.bgcolor));yield new K(e.text,n),m+=e.cells}}}measure(e){return bl.get(e,this.renderable)}static shows(e,t,n,r){let i=Uu(e,e.reverse),a=Wu(i,Uu(t,e.reverse),n,r);return Uu({fg:a.fg?.getTruecolor(r,!0)??i.fg,bg:a.bg?.getTruecolor(r,!1)??i.bg},e.reverse)}respec(e,t,n,r){let i=Wu(t,n,r,this.theme);return{color:i.fg??e.color,bgcolor:i.bg??e.bgcolor}}seed(e,t){return Number.parseInt(Dl(`${this.key}:${e}:${t}`),16)/4294967296}};const zu=W.default();function Bu(e,t,n){return[...e].map(e=>{if(e.isControl)return{segment:e,look:void 0};let r=e.style??G.null(),i=r.drawnColors(t),a={fg:(i.color??zu).getTruecolor(n,!0),bg:(i.bgcolor??zu).getTruecolor(n,!1)},o=r.reverse===!0,s=Uu({fg:i.color?.isDefault??!0,bg:i.bgcolor?.isDefault??!0},o);return{segment:e,look:{style:r,wire:i,slots:a,pair:{...Uu(a,o),terminal:s,reverse:o}}}})}function Vu(e,t,n){let r=e.flatMap(({segment:e,look:t})=>t!==void 0&&e.text.trim()!==``&&!Wc(t.style.anchor,ql)?[t.pair]:[]),i=[...new Map(r.map(e=>[`${e.fg.hex}/${e.bg.hex}/${e.terminal.fg}/${e.terminal.bg}/${e.reverse}`,e])).values()],a=e=>i.flatMap(t=>t.terminal[e]?[]:[t[e].hex]);return{pairs:i,colors:new Set([...a(`fg`),...a(`bg`)]),fills:new Set(a(`bg`)),depth:t,theme:n}}function Hu(e,...t){let n=new Set(t);return(t,r)=>{let i=e(t,r);return(e,t)=>{let r=Yl(t.anchor,n);if(!r.fg&&!r.bg)return e;let a=i(e,t);return{fg:r.fg?a.fg:e.fg,bg:r.bg?a.bg:e.bg}}}}function Uu(e,t){return t?{fg:e.bg,bg:e.fg}:e}function Wu(e,t,n,r){let i=t.bg.compositeOver(Mo),a=t.fg.compositeOver(i);return{fg:W.matchMove(e.fg,a,n,r,!0),bg:W.matchMove(e.bg,i,n,r,!1)}}function Gu(e,t){return Ku(e.color,t.color,!0)&&Ku(e.bgcolor,t.bgcolor,!1)}function Ku(e,t,n){return e===t||qu(e,n)===qu(t,n)}function qu(e,t){return e?.getAnsiCodes(t).join(`;`)??``}function Ju(e,t){return Yu(e.fg,t.fg)&&Yu(e.bg,t.bg)}function Yu(e,t){return e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha}const Xu=(()=>{let e=[151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180];return[...e,...e]})(),Zu=e=>e*e*e*(e*(e*6-15)+10),Qu=(e,t,n)=>e+n*(t-e);function $u(e,t,n,r){let i=e&15,a=i<8?t:n,o=i<4?n:i===12||i===14?t:r;return(i&1?-a:a)+(i&2?-o:o)}function ed(e,t,n){let r=Math.floor(e),i=Math.floor(t),a=Math.floor(n),o=r&255,s=i&255,c=a&255;e-=r,t-=i,n-=a;let l=Zu(e),u=Zu(t),d=Zu(n),f=Xu[o]+s,p=Xu[f]+c,m=Xu[f+1]+c,h=Xu[o+1]+s,g=Xu[h]+c,_=Xu[h+1]+c;return Qu(Qu(Qu($u(Xu[p],e,t,n),$u(Xu[g],e-1,t,n),l),Qu($u(Xu[m],e,t-1,n),$u(Xu[_],e-1,t-1,n),l),u),Qu(Qu($u(Xu[p+1],e,t,n-1),$u(Xu[g+1],e-1,t,n-1),l),Qu($u(Xu[m+1],e,t-1,n-1),$u(Xu[_+1],e-1,t-1,n-1),l),u),d)}function td(e,t,n,r){let i=0,a=1,o=0;for(let s=0;s<r;s++){let r=2**s;i+=a*ed(e*r,t*r,n*r),o+=a,a/=2}return i/o}function nd(e,t){let n=Math.sin(e*12.9898+t*78.233)*43758.5453;return n-Math.floor(n)}function rd(e,t,n){let r=Math.min(1,Math.max(0,(n-e)/(t-e)));return r*r*(3-2*r)}const id=Array.from({length:48},(e,t)=>(t+1)/48),ad=[`fg`,`bg`];function od({pairs:e,depth:t,theme:n},r,i){let a=(e,t)=>e.terminal[t]?void 0:e[t].hex,o=new Map(e.flatMap(e=>ad.flatMap(t=>{let n=a(e,t);return n===void 0?[]:[[n,e[t]]]}))),s=t===U.TRUECOLOR?.01:0,c=new Map([...r].filter(e=>!o.has(e)).map(e=>[e,1])),l=e=>Bs.fromRgba(o.get(e)).l;for(let u of[...r].filter(e=>o.has(e)).sort((e,t)=>l(t)-l(e))){let r=e.flatMap(e=>{let t=ad.find(t=>a(e,t)===u);if(t===void 0)return[];let n=a(e,t===`fg`?`bg`:`fg`);return[[e,t,n===void 0?0:c.get(n)??0]]}),o=e=>r.every(([r,a,o])=>{let c=Math.min(Po(r.fg,r.bg),4.5)-s,l=(t,n)=>ld(i,r[t],(t===a?e:o)*n);return id.every(e=>{let i=Ru.shows(r,{fg:l(`fg`,e),bg:l(`bg`,e)},t,n);return Po(i.fg,i.bg)>=c})}),[l,d]=o(1)?[1,1]:[0,1];for(let e=0;e<20&&d-l>.001;e++){let e=(l+d)/2;[l,d]=o(e)?[e,d]:[l,e]}c.set(u,l)}return c}function sd(e,t){let n=new WeakMap;return cd(e,r=>{let i=t??r.colors,a=[r.depth,...r.pairs.map(({fg:e,bg:t,terminal:n,reverse:r})=>`${e.hex}/${t.hex}/${n.fg}/${n.bg}/${r}`),`|`,...i].join(` `),o=n.get(r.theme)??new ao;return n.set(r.theme,o),o.get(a,()=>od(r,i,e.touch))})}function cd(e,t){return(n,r)=>{let i=t(r),a=e.field(n);return({fg:t,bg:n},r)=>{let o=Math.round(pd(a(r))*48)/48,s=(t,n)=>ld(e.touch,t,(n?0:i.get(t.hex)??0)*o);return{fg:s(t,r.terminal.fg),bg:s(n,r.terminal.bg)}}}}function ld(e,t,n){return n===0?t:e(t,n)}function ud(e){if(!(Number.isFinite(e.seconds)&&e.seconds>0))throw RangeError(`curve: seconds must be a positive number of seconds, got ${e.seconds}`);if(!(e.swing>=0&&e.swing<=1))throw RangeError(`curve: swing must be in [0, 1], got ${e.swing}`)}const dd={shimmer:{seconds:109,ease:zc.linear,swing:.9},pulse:{seconds:43,ease:zc.linear,swing:.85},sparkle:{seconds:139,ease:zc.linear,swing:.95},wheel:{seconds:907,ease:zc.linear,swing:1},fade:{seconds:20,ease:zc[`ease-in-out`],swing:1},dissolve:{seconds:30,ease:zc[`ease-in-out`],swing:1}},fd={sun:new H(255,228,176),firefly:new H(222,245,140)},pd=e=>Math.min(1,Math.max(0,e));function md(e,t,n){if(!(n>=0&&n<=1))throw RangeError(`blend: w must be in [0, 1]; got ${n}`);let r=Math.PI/180,i=(1-n)*e.c*Math.cos(e.h*r)+n*t.c*Math.cos(t.h*r),a=(1-n)*e.c*Math.sin(e.h*r)+n*t.c*Math.sin(t.h*r);return new Bs((1-n)*e.l+n*t.l,Math.hypot(i,a),Math.atan2(a,i)/r,e.alpha)}function hd(e){let t=Bs.fromRgba(e);return(e,n)=>{let r=Bs.fromRgba(e);return md(r,new Bs(Math.max(r.l,t.l),t.c,t.h,t.alpha),n).toRgba()}}const gd=(e,t)=>t*e[e.length-1][0];function _d(e,t,n){let r=t/n,i=e.findIndex(([e])=>r<e);if(!(r>0)||i<0)return 0;let[a,o]=i===0?[0,0]:e[i-1],[s,c]=e[i];return n*(o+(c-o)*(1-Math.cos(Math.PI*(r-a)/(s-a)))/2)}function vd(e,t,n){let r=gd(e,n),i=t=>{let r=0;for(let i=0;i<24;i++)r+=_d(e,(i+.5)/24*t,n);return r*t};return i(Math.min(Math.max(t,0),r))/i(r)}const yd=[[.24,1],[.6,0]];function bd(e,t,n){ud(e);let r=.9+.2*nd(n,3.1),i=t=>.1*ed(t/(3*e.seconds),.5,.5+n),a=i(0);return{touch:hd(t),field:t=>{let o=r*t/e.seconds+i(t)-a,s=Math.floor(o),c=.7+.3*rd(-.5,.5,ed(s*.37,2.1,n)),l=.5-.5*Math.cos(2*Math.PI*(o-s)),u=e.swing*e.ease(c*l);return()=>u}}}const xd=e=>Math.abs(e)>=1?0:(1-e*e)**3;function Sd(e,t,n,r,i){ud(e);let a=e.seconds,o=t+2*n,s=a/2,c=e=>rd(-.4,.4,ed(e/7,3.3,5.5+i)),l=.7,u=.51,d=.4,f=l+(u+d)*a*o/80/s,p=(e,t)=>{let r=c(e),f=(nd(e,7.5+i)<.35+.6*r)*(.3+.7*r*(.6+.4*nd(e,8.5+i))),p=a*o/80*(u+d*nd(e,5.5+i)),m=pd((t-(e+l*nd(e,6.5+i))*s)/p);return{strength:f,centre:m*o-n+.06*o*Math.sin(Math.PI*m)*ed(m,2.7,e+i)}},m=e=>{let t=Math.floor(e/s),n=[];for(let r=Math.max(0,Math.ceil(t-f));r<=t;r++)n.push(p(r,e));return n},h=(e,t,n)=>Math.exp(-((ed(e,t,n)/.8)**2));return{touch:hd(r),field:t=>{let r=m(t);return a=>{let o=0;for(let{strength:e,centre:t}of r)o=Math.max(o,e*xd((a.col-t)/n));let s=a.row+i,c=.8*ed(a.col*.05,s*.3+1.3,t*.02),l=(h(a.col*.21+c,s*.9,t*.022)*h(a.col*.33+9.1-c,s*.7,t*.018+4.2))**2;return e.swing*e.ease(o*(.1+.6*l))}}}}function Cd(e,t,n,r){ud(e);let i=Math.max(3,Math.round(t/8)),a=e.seconds,o=Array.from({length:i},(e,n)=>({home:(n+.5+.7*ed(n*1.7+.2,.3,.5+r))*(t/i),z:n*4.9+.3+r,offset:nd(n,.7+r)*a})),s=e=>o.map(t=>{let n=e+t.offset,r=Math.floor(n/a),i=nd(r,t.z+1)<.15?0:1,o=.5+.5*nd(r,t.z+2),s=nd(r,t.z+3)*(1-gd(yd,o)),c=n/a-r-s;return{x:t.home+5*(2*nd(r,t.z+4)-1)+5*o*(2*nd(r,t.z+5)-1)*vd(yd,c,o)+1.5*ed(t.z,.1,e*.035),y:.6*ed(t.z,2.2,e*.035),glow:i*_d(yd,c,o)}});return{touch:hd(n),field:t=>{let n=s(t);return t=>{let r=0;for(let e of n)r=Math.max(r,e.glow*xd(Math.hypot(t.col-e.x,2*(t.row-e.y))/5));return e.swing*e.ease(r)}}}}function wd(e,t){return(n,{theme:r})=>{let i=e(n),a=Bs.fromRgba(r.backgroundColor);return(e,n)=>{let r=t*(1-pd(i(n)));if(r===0)return e;let o=md(Bs.fromRgba(e.bg),a,r);return{fg:md(Bs.fromRgba(e.fg),o,r).toRgba(),bg:o.toRgba()}}}}function Td(e){let t=new Map;return n=>{let r=`${n.row}:${n.col}`,i=t.get(r)??pd(.5+1.1*td(n.col*.09+1.4*ed(n.col*.035,n.row*.2+2.6,e+.5),n.row*.45,e,3));return t.set(r,i),i}}function Ed(e,t){return{effect:t,done:t=>t>=e.seconds}}function Dd(e,t){let n=e.seconds*.45,r=Hc.once(0,n);return i=>a=>r(i-t(a)*(e.seconds-n))}function Od(e,t){ud(e);let n=Dd(e,Td(1.7+t));return Ed(e,wd(t=>{let r=n(t);return t=>e.ease(r(t))},e.swing))}const kd={depth:.4,from:.5,to:.95,maskFrom:.35,maskTo:.75,late:.6};function Ad(e,t){ud(e);let n=Td(4.2+t),r=Td(9.3+t),i=Dd(e,n),{depth:a,from:o,to:s,maskFrom:c,maskTo:l,late:u}=kd;return Ed(e,wd(t=>{let d=i(t);return t=>{let i=e.ease(d(t)),f=pd((i-o)/(s-o)),p=a*rd(c,l,r(t))*(1-u+u*n(t))*Math.sin(Math.PI*f)**2;return 1-i+p}},e.swing))}const jd=[211,337];function Md(e,t){ud(e);let n=e.seconds,r=e=>nd(Number.parseInt(e.slice(1),16)*1e-4,17.3+t),i=(e,n)=>ed(n/jd[0],5.9+97*e,t)+.5*ed(n/jd[1],2.3+89*e,t+7.1),a=(t,a)=>{let o=r(t);return 360*a/n+e.swing*180*((i(o,a)-i(o,0))/1.5)};return(e,{colors:t,fills:n})=>(r,i)=>{let o={fg:!i.terminal.fg&&t.has(r.fg.hex),bg:!i.terminal.bg&&t.has(r.bg.hex)},s=(t,r,i,o)=>r?Bs.fromRgba(t).applyKey({...ks,hueShift:a(n.has(t.hex)||!o?t.hex:i.hex,e)}).toRgba():t;return{fg:s(r.fg,o.fg,r.bg,o.bg),bg:s(r.bg,o.bg,r.fg,o.fg)}}}const Nd={loops:{shimmer:(e,t=dd.shimmer)=>sd(Sd(t,e.span,24,fd.sun,e.z)),pulse:(e,t=dd.pulse)=>sd(bd(t,fd.sun,e.z)),sparkle:(e,t=dd.sparkle)=>sd(Cd(t,e.span,fd.firefly,e.z)),wheel:(e,t=dd.wheel)=>Md(t,e.z)},transitions:{fade:(e,t=dd.fade)=>Od(t,e.z),dissolve:(e,t=dd.dissolve)=>Ad(t,e.z)}};function Pd(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Fd={segments:[],width:0},Id={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function Ld(e,t){return Id[e](t)}function Rd(e,t,n,r){let i=Math.max(0,r-1),a=e===`justify`&&!t&&i>0&&n>0?n:0,o=i>0?Math.floor(a/i):0,s=a-o*i;return Array.from({length:i},(e,t)=>o+ +(t<s))}var zd=class{items;joiner;gap;align;constructor(e,t){this.items=e,this.joiner=t?.joiner,this.gap=t?.gap??0,this.align=t?.align??`left`}*render(e){let t=this.items;if(t.length===0)return;let n=Math.max(1,e.maxWidth),r=this.gap,i=this.joiner,a=t.map(t=>Pd(Zl(t),e)),o=n=>i?Pd(Xl(i,null,t[n],{index:n}),e):Fd,s=n=>i?Pd(Xl(i,t[n],null,{index:n+1}),e):Fd,c=(n,r)=>i?Pd(Xl(i,t[n],t[r],{index:r}),e):Fd,l=[],u=null,d=r>0?{segments:[new K(` `.repeat(r))],width:r}:Fd;for(let e=0;e<t.length;e++){let t=a[e];if(u===null){let n=o(e),r=s(e),i=n.width>0?[n,t]:[t],a=[i.length-1];u={blocks:i,width:n.width+t.width,lastIndex:e,itemBlockIndices:a},u.endCap=r;continue}let i=u.lastIndex,f=c(i,e),p=s(e),m=(r>0?r:0)+f.width+(r>0?r:0)+t.width;if(u.width+m+p.width<=n)r>0&&u.blocks.push(d),f.width>0&&u.blocks.push(f),r>0&&u.blocks.push(d),u.blocks.push(t),u.itemBlockIndices.push(u.blocks.length-1),u.width+=m,u.lastIndex=e,u.endCap=p;else{let n=u.endCap;n.width>0&&u.blocks.push(n),u.width+=n.width,l.push(u);let r=o(e),i=s(e),a=r.width>0?[r,t]:[t],c=[a.length-1];u={blocks:a,width:r.width+t.width,lastIndex:e,itemBlockIndices:c},u.endCap=i}}let f=u;{let e=f.endCap;e.width>0&&f.blocks.push(e),f.width+=e.width,l.push(f)}let p=this.align;for(let e=0;e<l.length;e++){let t=l[e],r=e===l.length-1,i=Math.max(0,n-t.width),a=Ld(p,i),o=Rd(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new K(` `.repeat(a)));for(let e=0;e<t.blocks.length;e++){let n=s.get(e);if(n!==void 0&&n>0){let e=o[n-1];e>0&&(yield new K(` `.repeat(e)))}yield*t.blocks[e].segments}yield K.line()}}measure(e){let t=this.items;if(t.length===0)return{minimum:0,maximum:0};let n=0,r=0;for(let i=0;i<t.length;i++){let a=Pd(t[i],e).width,o=this.joiner?Pd(Xl(this.joiner,null,t[i],{index:i}),e).width:0,s=this.joiner?Pd(Xl(this.joiner,t[i],null,{index:i+1}),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Pd(Xl(this.joiner,t[i-1],t[i],{index:i}),e).width))}return this.joiner&&(r+=Pd(Xl(this.joiner,null,t[0],{index:0}),e).width,r+=Pd(Xl(this.joiner,t[t.length-1],null,{index:t.length}),e).width),{minimum:n,maximum:r}}};function Bd(e){return e<32||e===127||e>=128&&e<=159}function Vd(e){let t=``;for(let n of e)t+=Bd(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function Hd(e,t){let n=Vd(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const Ud=`\x1B[38;2;255;255;255m`,Wd=`\x1B[48;2;200;40;40m`;function Gd(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const Kd={fg:Gd(Ud),bg:Gd(Wd)},qd={fg:Gd(`\x1B[38;2;0;0;0m`),bg:Gd(`\x1B[48;2;220;160;40m`)};function Jd(){let e=new WeakMap;return(t,n,r)=>{let i=e.get(t);i===void 0&&(i=new Map,e.set(t,i));let a=i.get(n);if(a!==void 0)return a;let o=r();return i.set(n,o),o}}const Yd=[`primary`,`secondary`,`accent`],Xd=[`darken-3`,`darken-2`,`darken-1`,`base`,`lighten-1`,`lighten-2`,`lighten-3`],Zd={"darken-3":`-darken-3`,"darken-2":`-darken-2`,"darken-1":`-darken-1`,base:``,"lighten-1":`-lighten-1`,"lighten-2":`-lighten-2`,"lighten-3":`-lighten-3`,muted:`-muted`},Qd=(e,t)=>`${e}${Zd[t]}`,$d=(e,t,n,r)=>Nf(e,n,r),ef=(e,t,n,r)=>Ff(e,Cf(e,`text-${t}`),n,r),tf=e=>({tones:[Xd[e],Xd[e+2],Xd[e+1]],text:$d}),nf={muted:{tones:[`muted`],text:ef},deepest:tf(0),deeper:tf(1),middle:tf(2),brighter:tf(3),brightest:tf(4)},rf=1/0,af={accent:{hues:[`secondary`,`accent`],run:rf},duo:{hues:[`primary`,`secondary`],run:rf},mono:{hues:[`primary`],run:rf},alt:{hues:[`secondary`,`accent`],run:3}},of=e=>e.variation.hues.flatMap(t=>e.shade.tones.map(e=>({hue:t,shade:e}))),sf=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},cf=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],lf=e=>typeof e==`string`&&cf.includes(e),uf={"van-der-corput":sf,"golden-angle":e=>e*.6180339887498949%1,"ends-interleaved":(e,t)=>((e%2==0?e/2:t-1-(e-1)/2)+.5)/t,monotonic:(e,t)=>(e+.5)/t,uniform:()=>.5},df=e=>uf[e??`van-der-corput`];function ff(e){let t=0,n=1;for(let{index:r,count:i,distribution:a}of e)t+=a(r,i)*n,n*=.37;return t%1}const pf=(e,t)=>Math.floor(e*t),mf=(e,t)=>Math.round(e*t)%t;function hf(e){return e===void 0?0:e.distribution(e.index,e.count)}function gf(e,t,n){let r=e[n(hf(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function _f(e){let t=e.findIndex(e=>e.axis===`cell`),n=t===-1?e:e.slice(0,t);return{row:n.at(-1),cell:e[n.length]}}const vf=(e,t)=>pf(hf(t),e.hues.length);function yf(e,t){let{row:n,cell:r}=_f(t);return bf(e,n,r)}function bf(e,t,n){let{hues:r,run:i}=e.variation,a=n===void 0?0:Math.floor(n.index/i),o=r[(vf(e.variation,t)+a)%r.length];if(o===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:o,shade:gf(e.shade.tones,n,mf)}}function xf(e,t){let{row:n,cell:r}=_f(t),i=r===void 0?[void 0]:Array.from({length:r.count},(e,t)=>({...r,index:t}));return[...new Map(i.map(t=>bf(e,n,t)).map(e=>[Qd(e.hue,e.shade),e])).values()].sort((e,t)=>Yd.indexOf(e.hue)-Yd.indexOf(t.hue)||Sf.indexOf(e.shade)-Sf.indexOf(t.shade))}const Sf=[...Xd,`muted`];function Cf(e,t){let n=e.get(t);if(n===void 0)throw Error(`palette "${e.name}" has no "${t}" role; decoration needs it`);return n}const wf=(e,t)=>Cf(e,Qd(t.hue,t.shade)),Tf=2.2,Ef=(e,t)=>t.map(t=>wf(e,t)),Df=e=>t=>$s(t,e),Of=Df(U.TRUECOLOR);function kf(e,t,n,r){return Af(e,`${t}|${n.map(e=>e.hex).join(`+`)}|${r}`,()=>jf(e,t,n,r))}const Af=Jd();function jf(e,t,n,r){let i=n.map(Of),a=Cf(e,t),o=new H(0,0,0),s=new H(255,255,255),c=(e,t)=>Bs.fromRgba(a).mixAxes(Bs.fromRgba(e),{l:t,c:0,h:0,alpha:0}).toRgba(),l=e=>Array.from({length:12},(t,n)=>c(e,(n+1)/12)),u=l(o),d=[a,...l(s).flatMap((e,t)=>[e,u[t]])],f=e=>{let t=Df(e),n=i.map(t);return e=>Math.min(1/0,...n.map(n=>Po(t(e),n)))},p=f(U.TRUECOLOR),m=f(r),h=e=>Qs(e,r,(e,t)=>i.every(n=>Po(e,t(n))>=Tf)),g=e=>p(e)>=2.2&&h(e)!==void 0,_=(e,t)=>{let n=n=>Po(Of(n),e)-Po(Of(n),t),r=n(a)<0?o:s,i=r===o?1:-1,[l,u]=[0,1];for(let e=0;e<40;e++){let e=(l+u)/2;i*n(c(r,e))>0?u=e:l=e}return[c(r,l),c(r,u)]},v=()=>{let e=[...i].sort((e,t)=>No(e)-No(t));return e.slice(1).flatMap((t,n)=>_(t,e[n]))},y=d.find(g)??[...d,...v()].reduce((e,t)=>m(t)>m(e)?t:e),b=h(y)??y,x=m(b);return{anchor:y,state:b,short:x>=2.2?null:x}}const Mf=4.5;function Nf(e,t,n){return Pf(e,`${t.hex}|${n}`,()=>{let r=Xs(t);return Ff(e,[`background`,`foreground`].map(t=>Cf(e,t)).reduce((e,t)=>Po(r,t)<Po(r,e)?t:e),t,n)})}const Pf=Jd();function Ff(e,t,n,r){return If(e,`${t.hex}|${n.hex}|${r}`,()=>Zs(t,n,Mf,r))}const If=Jd();function Lf(e,t,n){return t.depth===0?Ef(e,t.ground):Rf(e,t,n)}const Rf=(e,t,n)=>t.depth===0?[]:[Yf(e,{...t,depth:t.depth-1},n).plane],zf=(e,{short:t},n)=>t===null?[]:[`theme "${e.name}": no open-trigger colour stands ${Tf}:1 off every cell beside it — the nearest stands ${t.toFixed(2)}:1 as drawn at depth ${U[n]}; another shade or variation clears it`],Bf=(e,t,n)=>t>=Wf.triggerPlane?[]:[`theme "${e.name}": an open band's plane stands ΔE ${t.toFixed(3)} off the trigger that opened it as drawn at depth ${U[n]}, under the ${Wf.triggerPlane} that tells them apart; another style clears it`],Vf={base:.42,perDepth:.14,cap:.75},Hf={floor:.12,span:.8};function Uf(e,t){return Yd[(Yd.indexOf(e)+t)%Yd.length]}const Wf={triggerPlane:.1,nestedPlane:.035};function Gf(e,t,n){return Kf(e,`${qf(t)}|${n}`,()=>{let r=kf(e,Uf(t.hue,t.depth),Lf(e,t,n),n),{state:i}=r,a=$f(e,t,i,n),o=Qs(Yf(e,t,n).plane,n,(e,t)=>a.every(n=>n(e,t)));if(o===void 0)throw Error(`palette "${e.name}": the ${t.hue} band at depth ${t.depth} cannot keep its floors on the colours drawn at depth ${U[n]}`);let s=Df(n);return{state:i,plane:o,shortfalls:n===U.DEFAULT?[]:[...zf(e,r,n),...Bf(e,Jf(s(i),s(o)),n)]}})}const Kf=Jd(),qf=({hue:e,depth:t,ground:n})=>`${e}|${t}|${n.map(e=>Qd(e.hue,e.shade)).join(`+`)}`,Jf=(e,t)=>Bs.fromRgba(e).deltaE(Bs.fromRgba(t));function Yf(e,t,n){return Xf(e,`${qf(t)}|${n}`,()=>Zf(e,t,n))}const Xf=Jd();function Zf(e,t,n){let{anchor:r}=kf(e,Uf(t.hue,t.depth),Lf(e,t,n),n),i=Math.min(Vf.cap,Vf.base+Vf.perDepth*t.depth),a=(t,n)=>ds(r,Cf(e,t),n),o=Rf(e,t,n),s=e=>Jf(Of(r),Of(e))>=Wf.triggerPlane&&o.every(t=>Jf(Of(t),Of(e))>=Wf.nestedPlane),c=a(`background`,i);return{state:r,plane:[c,a(`foreground`,i),a(`background`,Vf.cap),a(`foreground`,Vf.cap),...Qf.toSorted((e,t)=>Math.abs(e-i)-Math.abs(t-i)).flatMap(e=>[a(`background`,e),a(`foreground`,e)])].find(s)??c}}const Qf=Array.from({length:12},(e,t)=>(t+1)/12);function $f(e,t,n,r){let{hue:i,depth:a,ground:o}=t,s=t=>Yf(e,{hue:i,depth:t,ground:o},r).state,c=t=>Yf(e,{hue:i,depth:t,ground:o},r).plane,l=c(a),u=(e,t)=>Jf(Of(l),Of(t))>=e?e:0,d=kf(e,Uf(i,a+1),Lf(e,{hue:i,depth:a+1,ground:o},r),r),f=Po(Of(l),Of(d.anchor))>=2.2?Tf:0,p=(e,t)=>(n,r)=>Jf(n,r(e))>=t;return[p(n,u(Wf.triggerPlane,s(a))),(e,t)=>Po(e,t(d.state))>=f,...a>0?[p(Gf(e,{hue:i,depth:a-1,ground:o},r).plane,u(Wf.nestedPlane,c(a-1)))]:[]]}function ep(e,t,n,r){let i=Gf(e,t,r),a=Yf(e,t,r),o=e=>ds(a.plane,a.state,e),s=Hf.floor+Hf.span*ff(n),c=Hf.floor+Hf.span/2,l=(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex;for(let e=0;e<=12;e++){let t=Qs(o(s+(c-s)*e/12),r,l);if(t!==void 0)return t}return o(s)}const tp=e=>({kind:`bar`,decor:e,address:[]}),np=(e,t)=>({...e,address:[...e.address,t]}),rp=e=>({kind:`band`,band:e,address:[]});function ip(e,t,n){switch(t.kind){case`bar`:{let{decor:r,address:i}=t,a=yf(r,i),o=wf(e,a),s;return{tint:o,text:r.shade.text(e,a.hue,o,n),disclosure:{hue:`accent`,depth:0,get ground(){return s??=xf(r,i)}}}}case`band`:{let{band:r,address:i}=t,a=ep(e,r,i,n);return{tint:a,text:Nf(e,a,n),disclosure:{...r,depth:r.depth+1}}}}}const ap=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function op(e){let t=typeof e==`string`?ap.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const sp=`textual-dark`;function cp(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function lp(){return bc()}function up(){return[`bar`,...lp()]}let dp;function fp(e){return dp??=new Set(up()),dp.has(e)}function pp(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return cp(e===void 0?null:a(e),t,a(n??r),r,a)}const mp=[`style`,`palette`,`effect`];function hp(e){return e!==void 0&&e.includes(`{{`)}function gp(e,t,n,r,i){let a=hp(n)?{kind:`expression`,source:n}:i(n??r.name);return cp(e===void 0?null:i(e),t,a,r,i)}function _p(e,t){return e.kind===`decided`?e:t(e.source)}const vp=`none`;function yp(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function bp(e,t){return yp(e,t)??yp(`none`,t)??{kind:`decided`,name:`none`,value:ks}}function xp(e,t,n,r){return gp(e,t,n,bp(vp,r),e=>yp(e,r))}const Sp=`none`,Cp=Object.freeze([Sp,...Object.keys(Nd.loops)]),wp=Object.freeze([`bar`,...Cp]);function Tp(e){let t=Cp.find(t=>t===e);return t===void 0?null:{kind:`decided`,name:e,value:t}}function Ep(e){return Tp(e)??{kind:`decided`,name:`none`,value:`none`}}function Dp(e,t,n){return gp(e,t,n,Ep(Sp),Tp)}const Op=Object.freeze(Object.keys(Pu));function kp(e){return Op.includes(e)}const Ap=[`powerline`,`capsule`,`plain`];function jp(e){return Ap.includes(e)}function Mp(e,t,n){return cp(e,t,n,`powerline`,e=>kp(e)?e:null)}const Np=[`unicode`,`ascii`];function Pp(e){return[...e].every(e=>e.codePointAt(0)<=127)}const Fp=`unicode`,Ip=[`truecolor`,`256`,`ansi`,`none`];function Lp(e){return qo(e)??U.DEFAULT}const Rp=Object.keys(af);function zp(e){return Rp.includes(e)}function Bp(e,t,n){return cp(e,t,n,`accent`,e=>zp(e)?e:null)}const Vp=Object.keys(nf);function Hp(e){return Vp.includes(e)}function Up(e,t,n){return cp(e,t,n,`middle`,e=>Hp(e)?e:null)}const Wp=`true`,Gp=`false`,Kp=[Wp,Gp],qp={min:0,max:16};function Jp(e){return e===`true`?!0:e===`false`?!1:null}function Yp(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function Xp(e){return Yp(e,qp)}function Zp(e,t,n){return cp(e,t,n,!0,Jp)}function Qp(e,t,n){return cp(e,t,n,!0,Jp)}function $p(e,t,n){return cp(e,t,n,!1,Jp)}function em(e,t,n){return cp(e,t,n,1,Xp)}const tm=new $c({"strip.separator":`default`,"strip.rail":`default`});function nm(e){return tm.resolve(e)}const rm=RegExp(`\\x1b\\[[0-9;]*m|${Ml.source}`,`g`),im={kind:`still`},am=Symbol(`bar`);function om(e){return e.name!==Sp}function sm(e){return(t,n)=>{let r=e.map(({t:e,effect:t})=>t(e,n));return(e,t)=>r.reduce((e,n)=>n(e,t),e)}}const cm=kc;function lm(e,t){let n=new fs(t,cm.foregroundColor,cm.ansiColors,cm.palette);return(t,r)=>e(t,{...r,theme:n})}function um(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t/4294967296}const dm=4096;var fm=class{inForce=null;placements=new Map;made=new Map;drawn=null;frame={effect:Sp,t:0,made:0,reused:0,own:[],basis:`off`,revision:0,fades:[],leaves:[]};constructor(e){this.key=e}lastFrame(){return this.frame}get heldCount(){let e=[...this.drawn?.placements.values()??[]].filter(({passage:e})=>e!==null).length;return[...this.made.values()].reduce((e,t)=>e+t.size,e)}motion(e,t,n){let r=this.inForce?.name===e?this.inForce:{name:e,since:t},i={scope:am,name:e,t:t-r.since},a=this.placements,o=new Map,s=this.made,c=new Map,l=[],u=this.drawn,d=n.transitions?u!==null&&u.source.config===n.source.config&&u.source.preset===n.source.preset&&u.source.revision===n.source.revision&&u.source.width===n.source.width?`compared`:`fresh`:`off`,f=d===`compared`?u.placements:null,p=new Map,m=[],h=[],g={effect:e,t:i.t,made:0,reused:0,own:l,basis:d,revision:n.source.revision,fades:m,leaves:h},_=(e,n,{ground:r})=>{let i=Nd.transitions[e]({span:0,z:um(`${this.key}@${n}`)*dm});return{name:e,since:t,transition:{effect:lm(i.effect,r),done:e=>i.done(e)}}},v=({since:e,transition:n})=>n.done(t-e),y=(e,t,n)=>({drawing:t,passage:f===null?null:n===void 0||n.passage?.name===`dissolve`?_(`fade`,e,t):n.passage!==null&&!v(n.passage)?n.passage:null}),b=(e,t)=>{if(t===void 0||t.drawing.own.length===0)return;if(t.passage?.name===`dissolve`)return v(t.passage)?void 0:t;let r={...t.drawing,own:t.drawing.own.map(n.hold)};return{drawing:r,passage:_(`dissolve`,e,r)}},x=(e,r)=>{if(p.has(e))throw Error(`placement "${e}" was reached twice in one frame`);let i=f?.get(e),{drawing:a,deeper:o}=n.returned(e,r),s=a===null?b(e,i):y(e,a,i);return s===void 0?r:(p.set(e,s),s.passage!==null&&(s.passage.name===`fade`?m:h).push({placement:e,t:t-s.passage.since}),a===null?[...s.drawing.own,...o]:r)},S=(e,n)=>{let r=o.get(e)??a.get(e),i=r?.name===n?r:{name:n,since:t},s=t-i.since;return o.has(e)||(o.set(e,i),l.push({placement:e,effect:n,t:s})),{scope:e,name:n,t:s}},C=(e,t,n)=>{let r=c.get(e)??new Map;c.set(e,r);let i=r.get(t.scope);if(i!==void 0)return i.effect;let a=s.get(e)?.get(t.scope),o=a?.name===t.name&&a.span===n,l=um(t.scope===am?e:`${e}@${t.scope}`),u=o?a.effect:Nd.loops[t.name]({span:n,z:l*dm});return g[o?`reused`:`made`]++,r.set(t.scope,{name:t.name,span:n,effect:u}),u},ee=e=>{let t=new Map;for(let{owner:n,placement:r}of e){let e=r.effect===`bar`?i:S(r.id,r.effect),a=t.get(e.scope);a===void 0?t.set(e.scope,{...e,owners:[n]}):a.owners.push(n)}return[...t.values()]},w=e=>{let n=new Map;for(let{owner:t,placement:r}of e){let e=n.get(r.id);e===void 0?n.set(r.id,[t]):e.push(t)}return[...n].flatMap(([e,n])=>{let r=p.get(e)?.passage??null;return r===null?[]:[{t:t-r.since,effect:Hu(r.transition.effect,...n)}]})};return{placed:d===`off`?(e,t)=>t:x,row:(e,t)=>{let n=(t.some(e=>e.placement.effect!==`bar`)?ee(t):[{...i,owners:void 0}]).filter(om),r=w(t);if(n.length===0&&r.length===0)return im;let a=`${this.key}#${e}`;return{kind:`moving`,wrap:(e,t)=>new Ru(e,sm([...n.map(e=>{let n=C(a,e,t);return{t:e.t,effect:e.owners===void 0?n:Hu(n,...e.owners)}}),...r]),{t:i.t,key:a,theme:cm})}},drawn:()=>{this.inForce=r,this.placements=o,this.made=c,this.drawn=d===`off`?null:{source:n.source,placements:p},this.frame=g}}}},pm=class{sessions=new Map;constructor(e=256){this.maxSessions=e}of(e){let t=this.sessions.get(e)??new fm(e);this.sessions.delete(e),this.sessions.set(e,t);for(let e of this.sessions.keys()){if(this.sessions.size<=this.maxSessions)break;this.sessions.delete(e)}return t}getStats(){let e=0;for(let t of this.sessions.values())e+=t.heldCount;return{sessions:this.sessions.size,effects:e}}};function mm(e){return Math.max(0,...e.split(`
52
+ `).map(e=>V(e.replace(rm,``))))}function hm(e,t){return Lu(e,{...t,theme:tm,onStyleError:e=>{throw e}})}const gm=new Map;function _m(e){let t=gm.get(e);if(t!==void 0)return t;let n=t=>{let n=t.seam.map(t=>({...t,glyph:e}));return{...t,seam:n,divider:n}},{shape:r,ascii:i}=Pu.plain,a=new vu(n(r),Pp(e)?n(i):i);return gm.set(e,a),a}function vm(e,t){return e===`plain`&&t!==void 0?_m(t):Pu[e]}const ym=e=>({asciiOnly:e===`ascii`}),bm=new Map;function xm(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=bm.get(t);if(n!==void 0)return n;let r=vm(e.endcaps,e.separator),i=e=>new q(`x`,{end:``,overflow:`ignore`,style:new G({bgcolor:e})}),a=t=>new q(hm(new Ql(t,r),{colorSystem:null,...ym(e.charset)}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return bm.set(t,s),s}function Sm(e){return xm(e).chrome}function Cm(e){return xm(e).seam}function wm(e,t,n=im){if(e.length===0)return``;let r=vm(t.endcaps,t.separator),i=t.wrap&&Number.isFinite(t.width),a={colorSystem:t.colorCompatibility,...ym(t.charset),...i?{width:t.width}:{}},o=i?new zd([...e],{joiner:r}):new Ql([...e],r),s=n.kind===`still`?hm(o,a):hm(n.wrap(o,mm(hm(o,a))),a);if(!s.endsWith(`
53
+ `))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return s.slice(0,-1)}function Tm(e){return Math.min(20,e??20)}const Em={heading:`ERROR`,glyph:`⚠`,colors:Kd},Dm={heading:`WARNING`,glyph:`⚠`,colors:qd},Om={heading:`UPDATE`,glyph:`⬆`,colors:qd};function km(e,t){return{text:Vd(e),link:t}}function Am(e,t,n){let[r,...i]=[jm(e,Em,vn),t,jm(n,Dm,yn)].flat();return r===void 0?null:{channels:[r,...i]}}function jm(e,t,n){let r=Rn([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>km(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function Mm(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
54
+ `)}function Nm(e,t,n,r){if(t===null)return e;let i=Pm(r),a=t.channels.flatMap(e=>Fm(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[Im(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
55
+ `);return e?`${l}\n${e}`:l}function Pm(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function Fm(e,t){let n=new G({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=so(Math.max(2,t.width-1)),i=(e,t)=>new q(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>wm([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>po(e,r)).map(e=>i(e,t))})],t).split(`
56
+ `))}function Im(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new G({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new q(e,{style:t,end:``,overflow:`ignore`}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(te(a.path).href)):c(`full text unavailable: ${Vd(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(Vd(o),s.withLink(te(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=q.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,wm([m],r)}const Lm=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function Rm(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function zm(e,t){return r.readdirSync(t).filter(Lm).sort().flatMap(n=>{let i=l.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?zm(e,i):[[l.relative(e,i).split(l.sep).join(`/`),Rm(i,a)]]})}function Bm(e){let t=ne.createHash(`sha256`);for(let[n,r]of zm(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const Vm=e=>e.slice(0,7);function Hm(e){return l.dirname(l.dirname(e))}function Um(){return{version:xt,digest:`8e4a6f9e6e4b20323e67d8a39f76df360a4393c4ef9154a7de41081c60bd3c64`}}function Wm(e){let t=JSON.parse(r.readFileSync(l.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${l.join(e,`package.json`)} has no version string`);return n}function Gm(e,t){try{let n=Hm(w(e)),i=l.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=Bm(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:Wm(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var J=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};const Km=new Map;function qm(e){let t=Ym(e);if(t===null)throw Error(`Palette "${e}" did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function Jm(e,t){return e===`bar`?t:qm(e)}function Ym(e){let t=Km.get(e);if(t!==void 0)return t;let n=xc(e);return n===null?null:(Km.set(e,n),n)}function Xm(e,t){return Zm(e,`${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,()=>Nc(e,t))}const Zm=Jd();function Qm(e){let t=Ym(e);return t===null?null:{kind:`decided`,name:e,value:t}}function $m(e,t,n){let r=Qm(e);return r===null?(n(`${t} rendered "${sp}": "${e}" names no installed theme${op(e)}`),th()):r}function eh(e,t,n){return gp(e,t,n,th(),Qm)}function th(){return{kind:`decided`,name:sp,value:qm(sp)}}const nh=[`vertical`,`horizontal`],rh={vertical:`row`,horizontal:`cell`};function ih(e){return e.id??e.name}function ah(e){return[...ch(e)].flatMap(e=>e.kind===`segment`?[ih(e)]:[])}function oh(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function sh(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*ch(e){yield e;for(let t of fh(e))yield*ch(t)}const lh=(e,t)=>`${e}.children[${t}]`,uh=e=>`${e}.opens.body`;function*dh(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*dh(r,lh(t,n));else e.opens!==void 0&&(yield*dh(e.opens.body,uh(t)))}function fh(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}const ph=[`shade`,`variation`,`style`];function mh(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const hh=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function gh(e){return e.kind===`file`||e.kind===`shell`||e.kind===`template`}const _h=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],vh=`theme`,yh=`effect`,bh=[vh,yh];function xh(e){return{...e.settings,[vh]:{label:vh,domain:`theme`,default:e.palette??`bar`},[yh]:{label:yh,domain:wp,default:`bar`}}}function Sh(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Ch(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Sh(r)?.atLeast;if(i===void 0)return[];let a=t[n],o=t[i];return a>=o?[]:[{setting:n,message:`"${n}" (${a}) is below "${i}" (${o}) — ${r.label} must be at least ${e[i].label}`}]})}function wh(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&fp(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function Th(e){return String(e)}function Eh(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return Yp(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return wh(e,r)?r:void 0}function Dh(e,t,n,r){let i=e.settings?.[t]??n.default,a=e.drafts?.[t],o=a===void 0?null:r(a);return(o===null?void 0:Eh(n,o))??i}function Oh(e){let{domain:t}=e;return t===`bool`?`true or false`:t===`theme`?`"bar" (the bar's own theme) or an installed theme name`:`min`in t?`an integer from ${t.min} to ${t.max}`:`one of ${t.map(e=>JSON.stringify(e)).join(`, `)}`}const kh=[`left`,`center`,`right`],Ah=[`right`,`left`,`middle`],jh=/^[A-Za-z_][A-Za-z0-9_]*$/;function Mh(e){return`#${e+1}`}const Nh={rows:{}};function Ph(e){return`rows`in e}function Fh(e){return Object.fromEntries(e.map((e,t)=>[Mh(t),e]))}function Ih(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Fh(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Fh([n])}}function Lh(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Rh(e){return Ph(e)?Lh(e):e}function*zh(e,t){if(!Ph(e)){yield*dh(e,t);return}yield[Lh(e),t];for(let[n,r]of Object.entries(e.rows))yield*dh(r,`${t}.rows.${n}`)}function Bh(e,t){return Ph(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Ih(e)}function Vh(e){if(!Ph(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}const Hh=`default`,Uh={};function Wh(e){return[...new Set([Hh,...Object.keys(e)])]}function Gh(e,t,n){return pp(void 0,e,t,Hh,n)}function Kh(e,t){let n={[Hh]:Uh,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${Hh}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function qh(e,t){let n=Kh(e.presets,t).root??Nh;return{node:Lh(Bh(n,e.root)),path:Vh(n)?`presets.${t}.root`:`root`}}function Jh(e,t){return{...e.globals,...Kh(e.presets,t).globals}}const Yh=new Map;function Xh(e,t,n){Yh.set(e,{permanent:!0,resolve:t,paletteOf:n})}Xh(`themes`,()=>lp(),e=>qm(e));const Zh=`placementThemes`;Xh(Zh,up,(e,t)=>Jm(e,t.palette)),Xh(`endcaps`,()=>Op),Xh(`variations`,()=>Rp),Xh(`shades`,()=>Vp),Xh(`charsets`,()=>Np),Xh(`colorCompatibilities`,()=>Ip);function Qh(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>Xm(n.basePalette,e.styles[t])}],[`presets`,{members:Wh(e.presets)}]])}function $h(e){return[...new Set([...Yh.keys(),...e.keys()])]}function eg(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=Yh.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(ng(e,t))}const tg=new Map([[`looks`,`styles`],[`progressions`,`variations`]]);function ng(e,t){let n=tg.get(e);return`unknown option domain "${e}"${n===void 0?``:` — it was renamed "${n}"; write from: "${n}"`} (have: ${$h(t).join(`, `)})`}const rg=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*ig(e){let t=e.indexOf(`{{`);for(;t!==-1;){let n=``,r=t+2;for(;r<e.length&&!e.startsWith(`}}`,r);){if(e.startsWith(`/*`,r)){let t=e.indexOf(`*/`,r+2);r=t===-1?e.length:t+2;continue}let t=r,i=e[r];if(r+=1,i===`"`||i===`'`||i==="`"){for(;r<e.length&&e[r]!==i;)r+=e[r]===`\\`&&i!=="`"?2:1;r+=1}n+=e.slice(t,r)}if(r>=e.length)return;yield n,t=e.indexOf(`{{`,r+2)}}const ag=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,og=RegExp(`^(?:(\\$)(?:\\.(${ag}))?|\\.(${ag})?)(?=[\\s)]|$)`);function sg(e,t,n){let r=og.exec(e.trimStart());if(r===null)return null;let[i,a]=r[1]===void 0?[t,r[3]]:[n,r[2]];return i===null?null:a===void 0?i:`${i}${a}.`}const cg=/^(\w+)\b\s*([\s\S]*)$/;function*lg(e,t){let n=[t];for(let r of ig(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=cg.exec(e)??[],o=n[n.length-1],s=n.length>1?n[n.length-2]:o;if(i===`end`){n.length>1&&n.pop();continue}if(i===`else`){yield{code:e,dot:s};let r=/^with\b([\s\S]*)$/.exec(a);n[n.length-1]=r===null?s:sg(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(sg(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const ug=/(?<![.$])\btemplate\s+$/;function*dg(e,t,n){let r=0;for(let i of[...e.matchAll(rg)]){let a=i.index+i[0].length;ug.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:sg(e.slice(a),t,n)}),r=a}}function*fg(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...lg(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...dg(s,c,i)]){let i=Object.hasOwn(t,e.name)?t[e.name]:void 0,a=`${e.name}\0${e.at??`\0`}`;i===void 0||o.has(e.name)||n.has(a)||(n.add(a),yield*r(i,e.at,e.name,new Set([...o,e.name])))}}}yield*r(e,``,null,new Set)}const pg=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${ag})`,`g`);function*mg({code:e,dot:t,root:n}){let r=e.replace(rg,``);for(let e of[...r.matchAll(pg)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function hg(e,t){let n=new Map;for(let r of fg(e,t))for(let e of mg(r))n.has(e)||n.set(e,r.via);return n}const gg=/(?<![.$])\b(action|picker|menu|carousel|swatches|swatch|themePreview)\s+$/,_g={action:1,picker:2,menu:1,carousel:2,swatch:1,swatches:2,themePreview:1};function*vg(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(rg)]){let o=e.slice(t,a.index),s=gg.exec(o);if(s!==null)n=_g[s[1]],r=0,i=s[1]===`action`?`action`:`options`;else for(let e of o)e===`(`&&r++,e===`)`&&r--,(r<0||e===`|`&&r===0)&&(n=0);n>0&&r===0&&(yield{name:a[0].slice(1,-1),site:i},n--),t=a.index+a[0].length}}function yg(e,t){let n=new Map;for(let{code:r,via:i}of fg(e,t))for(let{name:e,site:t}of vg(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function bg(e,t){return new Set([...xg(e,t)].filter(e=>Object.hasOwn(t,e)))}function xg(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of fg(e,t))for(let{name:e}of dg(r,i,a))n.add(e);return n}function Sg(e,t){if(t.names.has(e))return!0;let n=`${e}.`;for(let e of t.names)if(e.startsWith(n))return!0;for(let n of t.documents)if(e.startsWith(`${n}.`))return!0;return!1}function Cg(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),wg(r)&&n.add(e)};for(let[t,n]of Object.entries(e.variables))r(t,n);for(let[t,n]of Object.entries(e.segments))for(let[e,i]of Object.entries(n.vars??{}))r(`${t}.${e}`,i);return{names:t,documents:n,helpers:e.helpers}}function wg(e){return e.kind===`dropped`||(e.kind===`shell`||e.kind===`file`)&&mh(e.parse)===`json`}function Tg(e){let t=l.basename(e),n=l.dirname(e);for(;;){let r=Eg(n);if(r!==null)return{dir:r,name:t,leaf:n===l.dirname(e)};t=l.basename(n),n=l.dirname(n)}}function Eg(e){try{return r.statSync(e).isDirectory()?r.realpathSync(e):null}catch{return null}}var Dg=ge((e=>{function t(e){var t=[...arguments].slice(1);throw Error(typeof e==`number`?`[MobX] minified error nr: `+e+(t.length?` `+t.map(String).join(`,`):``)+`. Find the full error at: https://github.com/mobxjs/mobx/blob/main/packages/mobx/src/errors.ts`:`[MobX] `+e)}function n(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:nn}function r(){ln||t(`Proxy not available`)}function i(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}function a(e){return typeof e==`function`}function o(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function s(e){return typeof e==`object`&&!!e}function c(e){if(!s(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===un}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){an(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){an(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function f(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return s(e)&&!0===e[n]}}function p(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function m(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}function h(e){return e===null?null:typeof e==`object`?``+e:e}function g(e,t){return on.hasOwnProperty.call(e,t)}function _(e,t){return!!(e&t)}function v(e,t,n){return n?e|=t:e&=~t,e}function y(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function b(e,t,n){if(ne())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&re(i,n.prototype),i}function x(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,ie(r.key),r)}}function S(e,t,n){return t&&x(e.prototype,t),n&&x(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function C(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=function(e,t){if(e){if(typeof e==`string`)return y(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?y(e,t):void 0}}(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
57
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function ee(){return(ee=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(null,arguments)}function w(e){return(w=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function te(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,re(e,t)}function ne(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(ne=function(){return!!e})()}function re(e,t){return(re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ie(e){var t=function(e){if(typeof e!=`object`||!e)return e;var t=e[Symbol.toPrimitive];if(t!==void 0){var n=t.call(e,`string`);if(typeof n!=`object`)return n;throw TypeError(`@@toPrimitive must return a primitive value.`)}return String(e)}(e);return typeof t==`symbol`?t:t+``}function T(e){var t=typeof Map==`function`?new Map:void 0;return(T=function(e){function n(){return b(e,arguments,w(this).constructor)}if(e===null||!function(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),re(n,e)})(e)}function E(e){return Object.assign((function(t,n){if(oe(n))return e.t(t,n);ae(t,n,e)}),e)}function ae(e,t,n){g(e,hn)||u(e,hn,ee({},e[hn])),function(e){return e.i===`override`}(n)||(e[hn][t]=n)}function oe(e){return typeof e==`object`&&typeof e.kind==`string`}function D(e,t,n){t===void 0&&(t=dn),n===void 0&&(n=dn);var r=new gn(e);return t!==dn&&lt(r,t),n!==dn&&ut(r,n),r}function se(e,t,n){return yt(e)?e:Array.isArray(e)?Dn.array(e,{name:n}):c(e)?Dn.object(e,void 0,{name:n}):p(e)?Dn.map(e,{name:n}):m(e)?Dn.set(e,{name:n}):typeof e!=`function`||ot(e)||gt(e)?e:l(e)?ar(e):$n(n,e)}function ce(e){return e}function O(e,t){return{i:e,u:t,o:le,s:ue,t:de}}function le(e,t,n,r){var i;return(i=this.u)!=null&&i.bound?this.s(e,t,n,!1)===null?0:1:r===e.h?this.s(e,t,n,!1)===null?0:2:ot(n.value)?1:(an(r,t,fe(e,this,t,n,!1)),2)}function ue(e,t,n,r){var i=fe(e,this,t,n);return e.l(t,i,r)}function de(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return je(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return ot(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(ot(e)||(e=c(e)),(r=this.u)!=null&&r.bound&&o((function(){var e=this[a].bind(this);e.isMobxAction=!0,this[a]=e})),e):void t(`Cannot apply '`+s.i+`' to '`+String(a)+`' (kind: `+i+`):
58
+ '`+s.i+`' can only be used on properties with a function value.`)}function fe(e,t,n,r,i){var a,o,s;i===void 0&&(i=L.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:je(t.u?.name??n.toString(),c,(o=t.u?.autoAction)!=null&&o,(s=t.u)!=null&&s.bound?e.v??e.h:void 0),configurable:!i||e.p,enumerable:!1,writable:!i}}function pe(e,t){return{i:e,u:t,o:me,s:he,t:ge}}function me(e,t,n,r){var i;return r===e.h?this.s(e,t,n,!1)===null?0:2:(i=this.u)!=null&&i.bound&&(!g(e.h,t)||!gt(e.h[t]))&&this.s(e,t,n,!1)===null?0:gt(n.value)?1:(an(r,t,_e(e,0,0,n,!1,!1)),2)}function he(e,t,n,r){var i=_e(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function ge(e,t){var n,r=t.name,i=t.addInitializer;return gt(e)||(e=ar(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function _e(e,t,n,r,i,a){a===void 0&&(a=L.safeDescriptors);var o=r.value;return gt(o)||(o=ar(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function ve(e,t){return{i:e,u:t,o:k,s:ye,t:be}}function k(e,t,n){return this.s(e,t,n,!1)===null?0:1}function ye(e,t,n,r){return e.m(t,ee({},this.u,{get:n.get,set:n.set}),r)}function be(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Bt(this)[P],i=ee({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Ln(i))})),function(){return this[P].O(r)}}function xe(e,t){return{i:e,u:t,o:Se,s:Ce,t:we}}function Se(e,t,n){return this.s(e,t,n,!1)===null?0:1}function Ce(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??se,r)}function we(e,t){function n(e,t){var n=Bt(e)[P],i=new Fn(t,r.u?.enhancer??se,`ObservableObject.`+a.toString(),!1);n.j.set(a,i),o.add(e)}var r=this,i=t.kind,a=t.name,o=new WeakSet;if(i==`accessor`)return{get:function(){return o.has(this)||n(this,e.get.call(this)),this[P].O(a)},set:function(e){return o.has(this)||n(this,e),this[P].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Te(e){return{i:`true`,u:e,o:Ee,s:De,t:Oe}}function Ee(e,t,n,r){var i,a,o;if(n.get)return An.o(e,t,n,r);if(n.set){var s=ot(n.set)?n.set:je(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!L.safeDescriptors||e.p,set:s})===null?0:2:(an(r,t,{configurable:!0,set:s}),2)}if(r!==e.h&&typeof n.value==`function`)return l(n.value)?((o=this.u)!=null&&o.autoBind?ar.bound:ar).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?$n.bound:$n).o(e,t,n,r);var c=!1===this.u?.deep?Dn.ref:Dn;return typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),c.o(e,t,n,r)}function De(e,t,n,r){var i;return n.get?An.s(e,t,n,r):n.set?e.l(t,{configurable:!L.safeDescriptors||e.p,set:je(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.u)!=null&&i.autoBind&&(n.value=n.value.bind(e.v??e.h)),(!1===this.u?.deep?Dn.ref:Dn).s(e,t,n,r))}function Oe(){t(`'`+this.i+`' cannot be used as a decorator`)}function ke(e){return e||xn}function A(e){return!0===e.deep?se:!1===e.deep?ce:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:se;var t,n,r}function Ae(e,t,n){return oe(t)?Sn.t(e,t):o(t)?void ae(e,t,Sn):yt(e)?e:c(e)?Dn.object(e,t,n):Array.isArray(e)?Dn.array(e,t):p(e)?Dn.map(e,t):m(e)?Dn.set(e,t):typeof e==`object`&&e?e:Dn.box(e,t)}function je(e,t,n,r){function i(){return Me(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},Nn&&(Pn.value=e,an(i,`name`,Pn)),i}function Me(e,t,n,r,i){var a=Ne(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Pe(a)}}function Ne(e,t){var n=L.trackingDerivation,r=!t||!n;Ze();var i=L.allowStateChanges;r&&(Ue(),i=Ie(!0));var a={A:r,k:n,M:i,V:Ge(!0),R:!1,N:0,T:Mn++,C:jn};return jn=a.T,a}function Pe(e){jn!==e.T&&t(30),jn=e.C,e._!==void 0&&(L.suppressReactionErrors=!0),Le(e.M),Ke(e.V),Qe(),e.A&&We(e.k),L.suppressReactionErrors=!1}function Fe(e,t){var n=Ie(e);try{return t()}finally{Le(n)}}function Ie(e){var t=L.allowStateChanges;return L.allowStateChanges=e,t}function Le(e){L.allowStateChanges=e}function Re(e){return e instanceof Bn}function ze(e){switch(e.I){case I.L:return!1;case I.P:case I.K:return!0;case I.B:for(var t=Ge(!0),n=Ue(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(zn(o)){if(L.disableErrorBoundaries)o.get();else try{o.get()}catch{return We(n),Ke(t),!0}if(e.I===I.K)return We(n),Ke(t),!0}}return qe(e),We(n),Ke(t),!1}}function Be(e,t,n){var r=Ge(!0);qe(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++L.runId;var i,a=L.trackingDerivation;if(L.trackingDerivation=e,L.inBatch++,!0===L.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Bn(e)}return L.inBatch--,L.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=I.L,i=0,a=e.G,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.I>r&&(r=s.I)}for(n.length=i,e.W=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&Ye(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Je(l,e))}r!==I.L&&(e.I=r,e.H())}(e),Ke(r),i}function Ve(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Ye(t[n],e);e.I=I.P}function He(e){var t=Ue();try{return e()}finally{We(t)}}function Ue(){var e=L.trackingDerivation;return L.trackingDerivation=null,e}function We(e){L.trackingDerivation=e}function Ge(e){var t=L.allowStateReads;return L.allowStateReads=e,t}function Ke(e){L.allowStateReads=e}function qe(e){if(e.I!==I.L){e.I=I.L;for(var t=e.D,n=t.length;n--;)t[n].U=I.L}}function Je(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Ye(e,t){e.F.delete(t),e.F.size===0&&Xe(e)}function Xe(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,L.pendingUnobservations.push(e))}function Ze(){L.inBatch++}function Qe(){if(--L.inBatch==0){tt();for(var e=L.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.F.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof Ln&&n.X())}L.pendingUnobservations=[]}}function $e(e){var t=L.trackingDerivation;return t===null?(e.F.size===0&&L.inBatch>0&&Xe(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&L.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function et(e){e.U!==I.K&&(e.U=I.K,e.F.forEach((function(e){e.I===I.L&&e.H(),e.I=I.K})))}function tt(){L.inBatch>0||L.isRunningReactions||Kn(nt)}function nt(){L.isRunningReactions=!0;for(var e=L.pendingReactions,t=0;e.length>0;){++t==100&&(console.error(`[mobx] cycle in reaction: `+e[0]),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].J()}L.isRunningReactions=!1}function rt(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function it(e){return function(t,n){return a(t)?je(t.name||`<unnamed action>`,t,e):a(n)?je(t,n,e):oe(n)?(e?Xn:Jn).t(t,n):o(n)?ae(t,n,e?Xn:Jn):o(t)?E(O(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function at(e){return Me(0,!1,e,this,void 0)}function ot(e){return a(e)&&!0===e.isMobxAction}function st(e,t){function n(){e(i)}var r;t===void 0&&(t=cn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ct(t),s=!1;i=new Gn(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Gn(a,(function(){this.track(n)}),t.onError,t.requiresObservable);return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||i.Y(),i.Z(t?.signal)}function ct(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:er}function lt(e,t,n){return dt(`onBO`,e,t,n)}function ut(e,t,n){return dt(`onBUO`,e,t,n)}function dt(e,t,n,r){var i=typeof r==`function`?Jt(t,n):Jt(t),o=a(r)?r:n,s=e+`L`;return i[s]?i[s].add(o):i[s]=new Set([o]),function(){var e=i[s];e&&(e.delete(o),e.size===0&&delete i[s])}}function ft(e,t,n,r){var i=mn(t);return Zt((function(){var t=Bt(e,r)[P];pn(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function pt(e){var t,n={name:e.tt};return e.D&&e.D.length>0&&(n.dependencies=(t=e.D,Array.from(new Set(t))).map(pt)),n}function mt(e){var t={name:e.tt};return function(e){return e.F&&e.F.size>0}(e)&&(t.observers=Array.from(function(e){return e.F}(e)).map(mt)),t}function ht(e){a(e.cancel)&&e.cancel()}function gt(e){return!0===e?.isMobXFlow}function _t(e,t){return t===void 0?zn(e):!1===Ht(e)||!e[P].j.has(t)?!1:zn(Jt(e,t))}function vt(e,t){return!!e&&(t===void 0?Ht(e)||!!e[P]||_n(e)||qn(e)||zn(e):!!Ht(e)&&e[P].j.has(t))}function yt(e){return vt(e)}function bt(e){return Ht(e)?e[P].nt():vr(e)||xr(e)?Array.from(e.keys()):Lt(e)?e.map((function(e,t){return t})):void t(5)}function xt(e,n){return Ht(e)?e[P].it(n):vr(e)||xr(e)?e.has(n):Lt(e)?n>=0&&n<e.length:void t(10)}function St(e){if(Ht(e))return e[P].rt();t(38)}function Ct(e,t,n){return e.set(t,n),n}function wt(e,t){t===void 0&&(t=void 0),Ze();try{return e.apply(t)}finally{Qe()}}function Tt(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[P].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=je(`When-effect`,t),o=st((function(t){Fe(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Et(e,t){var n,r,i;if(t!=null&&(n=t.signal)!=null&&n.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var a=new Promise((function(n,a){var o,s=Tt(e,n,ee({},t,{onError:a}));r=function(){s(),a(Error(`WHEN_CANCELLED`))},i=function(){s(),a(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,i)})).finally((function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,i)}));return a.cancel=r,a}function Dt(e){return e[P]}function Ot(e){return e.et!==void 0&&e.et.length>0}function kt(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function At(e,n){var r=Ue();try{for(var i=[].concat(e.et||[]),a=0,o=i.length;a<o&&((n=i[a](n))&&!n.type&&t(14),n);a++);return n}finally{We(r)}}function j(e){return e.ut!==void 0&&e.ut.length>0}function jt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Mt(e,t){var n=Ue(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);We(n)}}function Nt(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Zt((function(){var r=new ur(n,t,i,!1);d(r.j,P,r);var a=new Proxy(r.j,lr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function Pt(e,t){typeof Array.prototype[e]==`function`&&(dr[e]=t(e))}function Ft(e){return function(){var t=this[P];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function M(e){return function(t,n){var r=this,i=this[P];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function It(e){return function(){var t=this,n=this[P];n.st.reportObserved();var r=n.ft(n.j),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}function Lt(e){return s(e)&&mr(e[P])}function Rt(e){return e[Symbol.toStringTag]=`MapIterator`,en(e)}function zt(e){return e[Symbol.toStringTag]=`SetIterator`,en(e)}function Bt(e,t){if(g(e,P))return e;var n=t?.name??`ObservableObject`;return u(e,P,new Cr(e,new Map,String(n),function(e){return e?e.defaultDecorator??Te(e):void 0}(t))),e}function Vt(e){return Sr[e]||(Sr[e]={get:function(){return this[P].O(e)},set:function(t){return this[P].S(e,t)}})}function Ht(e){return!!s(e)&&wr(e[P])}function Ut(e,t,n){var r;(r=e.h[hn])==null||delete r[n]}function Wt(e){return{enumerable:!1,configurable:!0,get:function(){return this[P].ct(e)},set:function(t){this[P].ht(e,t)}}}function Gt(e){an(kr.prototype,``+e,Wt(e))}function Kt(e){if(e>Dr){for(var t=Dr;t<e+100;t++)Gt(t);Dr=e}}function qt(e,t,n){return new kr(e,t,n)}function Jt(e,n){if(typeof e==`object`&&e){if(Lt(e))return n!==void 0&&t(23),e[P].st;if(xr(e))return e.st;if(vr(e)){if(n===void 0)return e.lt;var r=e.vt.get(n)||e.dt.get(n);return r||t(25,n,Xt(e)),r}if(Ht(e)){if(!n)return t(26);var i=e[P].j.get(n);return i||t(27,n,Xt(e)),i}if(_n(e)||zn(e)||qn(e))return e}else if(a(e)&&qn(e[P]))return e[P];t(28)}function Yt(e,n){return e||t(29),n===void 0?_n(e)||zn(e)||qn(e)||vr(e)||xr(e)?e:e[P]?e[P]:void t(24,e):Yt(Jt(e,n))}function Xt(e,t){var n;if(t!==void 0)n=Jt(e,t);else{if(ot(e))return e.name;n=Ht(e)||vr(e)||xr(e)?Yt(e):Jt(e)}return n.tt}function Zt(e){var t=Ue(),n=Ie(!0);Ze();try{return e()}finally{Qe(),Le(n),We(t)}}function Qt(e,t,n){return n===void 0&&(n=-1),function e(t,n,r,i,o){if(t===n)return t!==0||1/t==1/n;if(t==null||n==null)return!1;if(t!=t)return n!=n;var s=typeof t;if(s!==`function`&&s!==`object`&&typeof n!=`object`)return!1;var c=Ar.call(t);if(c!==Ar.call(n))return!1;switch(c){case`[object RegExp]`:case`[object String]`:return``+t==``+n;case`[object Number]`:return+t==+t?+t==0?1/t==1/n:+t==+n:+n!=+n;case`[object Date]`:case`[object Boolean]`:return+t==+n;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(t)===Symbol.valueOf.call(n);case`[object Map]`:case`[object Set]`:r>=0&&r++}t=$t(t),n=$t(n);var l=c===`[object Array]`;if(!l){if(typeof t!=`object`||typeof n!=`object`)return!1;var u=t.constructor,d=n.constructor;if(u!==d&&!(a(u)&&u instanceof u&&a(d)&&d instanceof d)&&`constructor`in t&&`constructor`in n)return!1}if(r===0)return!1;r<0&&(r=-1),o||=[];for(var f=(i||=[]).length;f--;)if(i[f]===t)return o[f]===n;if(i.push(t),o.push(n),l){if((f=t.length)!==n.length)return!1;for(;f--;)if(!e(t[f],n[f],r-1,i,o))return!1}else{var p=Object.keys(t),m=p.length;if(Object.keys(n).length!==m)return!1;for(var h=0;h<m;h++){var _=p[h];if(!g(n,_)||!e(t[_],n[_],r-1,i,o))return!1}}return i.pop(),o.pop(),!0}(e,t,n)}function $t(e){return Lt(e)?e.slice():p(e)||vr(e)||m(e)||xr(e)?Array.from(e.entries()):e}function en(e){return e[Symbol.iterator]=tn,Object.assign(Object.create(jr),e)}function tn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var nn={},N=Object.assign,rn=Object.getOwnPropertyDescriptor,an=Object.defineProperty,on=Object.prototype,sn=[];Object.freeze(sn);var cn={};Object.freeze(cn);var ln=typeof Proxy<`u`,un=Object.toString(),dn=function(){},fn=Object.getOwnPropertySymbols!==void 0,pn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:fn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,mn=Object.getOwnPropertyDescriptors||function(e){var t={};return pn(e).forEach((function(n){t[n]=rn(e,n)})),t},hn=Symbol(`mobx-stored-annotations`),P=Symbol(`mobx administration`),gn=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=I.P,this.onBOL=void 0,this.onBUOL=void 0,this.tt=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},t.reportObserved=function(){return $e(this)},t.reportChanged=function(){Ze(),et(this),Qe()},t.toString=function(){return this.tt},S(e,[{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();gn.pt=1,gn.yt=2,gn.wt=4;var _n=f(`Atom`,gn),vn={identity:function(e,t){return e===t},structural:function(e,t){return Qt(e,t)},default:function(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!=e&&t!=t},shallow:function(e,t){return Qt(e,t,1)}},yn=E({i:`override`,o:function(){return 0},s:function(){t(`'`+this.i+`' can only be used with 'makeObservable'`)},t:function(){console.warn(`'`+this.i+`' cannot be used with decorators - this is a no-op`)}}),bn=Te(),xn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(xn);var Sn=xe(`observable`),Cn=xe(`observable.ref`,{enhancer:ce}),F=xe(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Ht(e)||Lt(e)||vr(e)||xr(e)?e:Array.isArray(e)?Dn.array(e,{name:n,deep:!1}):c(e)?Dn.object(e,void 0,{name:n,deep:!1}):p(e)?Dn.map(e,{name:n,deep:!1}):m(e)?Dn.set(e,{name:n,deep:!1}):void 0}}),wn=xe(`observable.struct`,{enhancer:function(e,t){return Qt(e,t)?t:e}}),Tn=E(Sn);N(Ae,Tn);var En,Dn=N(Ae,{box:function(e,t){var n=ke(t);return new Fn(e,A(n),n.name,!0,n.equals)},array:function(e,t){var n=ke(t);return(!1===L.useProxies||!1===n.proxy?qt:Nt)(e,A(n),n.name)},map:function(e,t){var n=ke(t);return new _r(e,A(n),n.name)},set:function(e,t){var n=ke(t);return new br(e,A(n),n.name)},object:function(e,t,n){return Zt((function(){return ft(!1===L.useProxies||!1===n?.proxy?Bt({},n):function(e,t){var n;return r(),(n=(e=Bt(e,t))[P]).v??(n.v=new Proxy(e,or))}({},n),e,t)}))},ref:E(Cn),shallow:E(F),deep:Tn,struct:E(wn)}),On=ve(`computed`),kn=ve(`computed.struct`,{equals:vn.structural}),An=function(e,t){if(oe(t))return On.t(e,t);if(o(t))return ae(e,t,On);if(c(e))return E(ve(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Ln(n)};Object.assign(An,On),An.struct=E(kn);var jn=0,Mn=1,Nn=(En=rn((function(){}),`name`)?.configurable)!=null&&En,Pn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Fn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=vn.default),(o=e.call(this,r)||this).enhancer=void 0,o.tt=void 0,o.equals=void 0,o.jt=!1,o.et=void 0,o.ut=void 0,o.Ot=void 0,o.dehancer=void 0,o.enhancer=n,o.tt=r,o.equals=a,o.Ot=n(t,void 0,r),o}te(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){(e=this.xt(e))!==L.UNCHANGED&&this.gt(e)},n.xt=function(e){if(Ot(this)){var t=At(this,{object:this,type:cr,newValue:e});if(!t)return L.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?L.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),j(this)&&Mt(this,{type:cr,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return kt(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:cr,newValue:this.Ot,oldValue:void 0}),jt(this,e)},n.raw=function(){return this.Ot},n.toJSON=function(){return this.get()},n.toString=function(){return this.tt+`[`+this.Ot+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(gn),In=f(`ObservableValue`,Fn),Ln=function(){function e(e){this.I=I.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=I.L,this.G=0,this.Ot=new Bn(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=Rn.NONE,this.Et=void 0,this.Vt=void 0,this.Rt=void 0,this.Nt=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||t(31),this.derivation=e.get,this.tt=e.name||`ComputedValue`,e.set&&(this.kt=je(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?vn.structural:vn.default),this.Et=e.context,this.Rt=e.requiresReaction,this.Nt=!!e.keepAlive}var n=e.prototype;return n.H=function(){(function(e){e.U===I.L&&(e.U=I.B,e.F.forEach((function(e){e.I===I.L&&(e.I=I.B,e.H())})))})(this)},n.onBO=function(){this.onBOL&&this.onBOL.forEach((function(e){return e()}))},n.onBUO=function(){this.onBUOL&&this.onBUOL.forEach((function(e){return e()}))},n.get=function(){if(this.isComputing&&t(32,this.tt,this.derivation),L.inBatch!==0||this.F.size!==0||this.Nt){if($e(this),ze(this)){var e=L.trackingContext;this.Nt&&!e&&(L.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==I.K&&(e.U=I.K,e.F.forEach((function(t){t.I===I.B?t.I=I.K:t.I===I.L&&(e.U=I.L)})))}(this),L.trackingContext=e}}else ze(this)&&(this.Tt(),Ze(),this.Ot=this.Ct(!1),Qe());var n=this.Ot;if(Re(n))throw n.cause;return n},n.set=function(e){if(this.kt){this.isRunningSetter&&t(33,this.tt),this.isRunningSetter=!0;try{this.kt.call(this.Et,e)}finally{this.isRunningSetter=!1}}else t(34,this.tt)},n.trackAndCompute=function(){var e=this.Ot,t=this.I===I.P,n=this.Ct(!0),r=t||Re(e)||Re(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Ie(!1);if(e)t=Be(this,this.derivation,this.Et);else if(!0===L.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Bn(e)}return Le(n),this.isComputing=!1,t},n.X=function(){this.Nt||(Ve(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return st((function(){var a=n.get();if(!r||t){var o=Ue();e({observableKind:`computed`,debugObjectName:n.tt,type:cr,object:n,newValue:a,oldValue:i}),We(o)}r=!1,i=a}))},n.Tt=function(){},n.toString=function(){return this.tt+`[`+this.derivation.toString()+`]`},n.valueOf=function(){return h(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},S(e,[{key:`isComputing`,get:function(){return _(this.bt,e.It)},set:function(t){this.bt=v(this.bt,e.It,t)}},{key:`isRunningSetter`,get:function(){return _(this.bt,e.Lt)},set:function(t){this.bt=v(this.bt,e.Lt,t)}},{key:`isBeingObserved`,get:function(){return _(this.bt,e.pt)},set:function(t){this.bt=v(this.bt,e.pt,t)}},{key:`isPendingUnobservation`,get:function(){return _(this.bt,e.yt)},set:function(t){this.bt=v(this.bt,e.yt,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Ln.It=1,Ln.Lt=2,Ln.pt=4,Ln.yt=8,Ln.wt=16;var I,Rn,zn=f(`ComputedValue`,Ln);(function(e){e[e.P=-1]=`NOT_TRACKING_`,e[e.L=0]=`UP_TO_DATE_`,e[e.B=1]=`POSSIBLY_STALE_`,e[e.K=2]=`STALE_`})(I||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(Rn||={});var Bn=function(e){this.cause=void 0,this.cause=e},Vn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],Hn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Un=!0,Wn=!1,L=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Un=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new Hn().version&&(Un=!1),Un?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new Hn):(setTimeout((function(){Wn||t(35)}),1),new Hn)}(),Gn=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction`),this.tt=void 0,this.Pt=void 0,this.Kt=void 0,this.Bt=void 0,this.D=[],this.W=[],this.I=I.P,this.q=0,this.G=0,this.bt=0,this.Mt=Rn.NONE,this.tt=e,this.Pt=t,this.Kt=n,this.Bt=r}var t=e.prototype;return t.H=function(){this.Y()},t.Y=function(){this.isScheduled||(this.isScheduled=!0,L.pendingReactions.push(this),tt())},t.J=function(){if(!this.isDisposed){Ze(),this.isScheduled=!1;var e=L.trackingContext;if(L.trackingContext=this,ze(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}L.trackingContext=e,Qe()}},t.track=function(e){if(!this.isDisposed){Ze(),this.isRunning=!0;var t=L.trackingContext;L.trackingContext=this;var n=Be(this,e,void 0);L.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&Ve(this),Re(n)&&this.Dt(n.cause),Qe()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(L.disableErrorBoundaries)throw e;L.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),L.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Ze(),Ve(this),Qe()))},t.Z=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[P]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.tt+`]`},t.trace=function(){},S(e,[{key:`isDisposed`,get:function(){return _(this.bt,e.Wt)},set:function(t){this.bt=v(this.bt,e.Wt,t)}},{key:`isScheduled`,get:function(){return _(this.bt,e.qt)},set:function(t){this.bt=v(this.bt,e.qt,t)}},{key:`isTrackPending`,get:function(){return _(this.bt,e.Gt)},set:function(t){this.bt=v(this.bt,e.Gt,t)}},{key:`isRunning`,get:function(){return _(this.bt,e.Ht)},set:function(t){this.bt=v(this.bt,e.Ht,t)}},{key:`diffValue`,get:function(){return+!!_(this.bt,e.wt)},set:function(t){this.bt=v(this.bt,e.wt,t===1)}}])}();Gn.Wt=1,Gn.qt=2,Gn.Gt=4,Gn.Ht=8,Gn.wt=16;var Kn=function(e){return e()},qn=f(`Reaction`,Gn),Jn=O(`action`),Yn=O(`action.bound`,{bound:!0}),Xn=O(`autoAction`,{autoAction:!0}),Zn=O(`autoAction.bound`,{autoAction:!0,bound:!0}),Qn=it(!1);Object.assign(Qn,Jn);var $n=it(!0);Object.assign($n,Xn),Qn.bound=E(Yn),$n.bound=E(Zn);var er=function(e){return e()},tr=0,nr=function(e){function t(){var n;return n=e.call(this,`FLOW_CANCELLED`)||this,Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}return te(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(T(Error)),rr=pe(`flow`),ir=pe(`flow.bound`,{bound:!0}),ar=Object.assign((function(e,t){if(oe(t))return rr.t(e,t);if(o(t))return ae(e,t,rr);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++tr,s=Qn(r+` - runid: `+o+` - init`,n).apply(t,i),c=void 0,l=new Promise((function(t,n){function i(e){var t;c=void 0;try{t=Qn(r+` - runid: `+o+` - yield `+ d++,s.next).call(s,e)}catch(e){return n(e)}u(t)}function l(e){var t;c=void 0;try{t=Qn(r+` - runid: `+o+` - yield `+ d++,s.throw).call(s,e)}catch(e){return n(e)}u(t)}function u(e){if(!a(e?.then))return e.done?t(e.value):(c=Promise.resolve(e.value)).then(i,l);e.then(u,n)}var d=0;e=n,i(void 0)}));return l.cancel=Qn(r+` - runid: `+o+` - cancel`,(function(){try{c&&ht(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(dn,dn),ht(n),e(new nr)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),rr);ar.bound=E(ir);var or={has:function(e,t){return Dt(e).it(t)},get:function(e,t){return Dt(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=Dt(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=Dt(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=Dt(e).l(t,n))==null||r},ownKeys:function(e){return Dt(e).rt()},preventExtensions:function(){t(13)}},sr=Symbol(`mobx-keys`),cr=`update`,lr={get:function(e,t){var n=e[P];return t===P?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(dr,t)?dr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[P];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},ur=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray`),this.zt=void 0,this.$t=void 0,this.st=void 0,this.j=[],this.et=void 0,this.ut=void 0,this.Jt=void 0,this.dehancer=void 0,this.v=void 0,this.Yt=0,this.zt=n,this.$t=r,this.st=new gn(e),this.Jt=function(e,n){return t(e,n,`ObservableArray[..]`)}}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.ft=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},n.St=function(e){return kt(this,e)},n._t=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:0,added:this.j.slice(),addedCount:this.j.length,removed:[],removedCount:0}),jt(this,e)},n.Ft=function(){return this.st.reportObserved(),this.j.length},n.Xt=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&t(`Out of range: `+e);var n=this.j.length;if(e!==n)if(e>n){for(var r=Array(e-n),i=0;i<e-n;i++)r[i]=void 0;this.ot(n,0,r)}else this.ot(e,n-e)},n.Zt=function(e,n){e!==this.Yt&&t(16),this.Yt+=n,this.$t&&n>0&&Kt(e+n+1)},n.ot=function(e,t,n){var r=this,i=this.j.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=sn),Ot(this)){var a=At(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return sn;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map((function(e){return r.Jt(e,void 0)})),this.$t){var o=n.length-t;this.Zt(i,o)}var s=this.tn(e,t,n);return t===0&&n.length===0||this.nn(e,n,s),this.ft(s)},n.tn=function(e,t,n){var r;if(n.length<1e4)return(r=this.j).splice.apply(r,[e,t].concat(n));var i=this.j.slice(e,e+t),a=this.j.slice(e+t);this.j.length+=n.length-t;for(var o=0;o<n.length;o++)this.j[e+o]=n[o];for(var s=0;s<a.length;s++)this.j[e+n.length+s]=a[s];return i},n.in=function(e,t,n){var r=!this.zt&&!1,i=j(this),a=i||r?{observableKind:`array`,object:this.v,type:cr,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Mt(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=j(this),a=i||r?{observableKind:`array`,object:this.v,debugObjectName:this.st.tt,type:`splice`,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;this.st.reportChanged(),i&&Mt(this,a)},n.ct=function(e){if(!(this.$t&&e>=this.j.length))return this.st.reportObserved(),this.Qt(this.j[e]);console.warn(`[mobx] Out of bounds read: `+e)},n.ht=function(e,n){var r=this.j;if(this.$t&&e>r.length&&t(17,e,r.length),e<r.length){var i=r[e];if(Ot(this)){var a=At(this,{type:cr,object:this.v,index:e,newValue:n});if(!a)return;n=a.newValue}(n=this.Jt(n,i))!==i&&(r[e]=n,this.in(e,n,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=n,this.ot(r.length,0,o)}},e}(),dr={clear:function(){return this.splice(0)},replace:function(e){var t=this[P];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[P];switch(arguments.length){case 0:return[];case 1:return r.ot(e);case 2:return r.ot(e,t)}return r.ot(e,t,n)},spliceWithArray:function(e,t,n){return this[P].ot(e,t,n)},push:function(){for(var e=this[P],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(e.j.length,0,n),e.j.length},pop:function(){return this.splice(Math.max(this[P].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[P],t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];return e.ot(0,0,n),e.j.length},reverse:function(){return L.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){L.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[P],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};Pt(`at`,Ft),Pt(`concat`,Ft),Pt(`flat`,Ft),Pt(`includes`,Ft),Pt(`indexOf`,Ft),Pt(`join`,Ft),Pt(`lastIndexOf`,Ft),Pt(`slice`,Ft),Pt(`toString`,Ft),Pt(`toLocaleString`,Ft),Pt(`toSorted`,Ft),Pt(`toSpliced`,Ft),Pt(`with`,Ft),Pt(`every`,M),Pt(`filter`,M),Pt(`find`,M),Pt(`findIndex`,M),Pt(`findLast`,M),Pt(`findLastIndex`,M),Pt(`flatMap`,M),Pt(`forEach`,M),Pt(`map`,M),Pt(`some`,M),Pt(`toReversed`,M),Pt(`reduce`,It),Pt(`reduceRight`,It);var fr,pr,mr=f(`ObservableArrayAdministration`,ur),hr={},gr=`add`,_r=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[P]=hr,this.vt=void 0,this.dt=void 0,this.lt=void 0,this.et=void 0,this.ut=void 0,this.dehancer=void 0,this.Jt=n,this.tt=r,a(Map)||t(18),Zt((function(){i.lt=D(`ObservableMap.keys()`),i.vt=new Map,i.dt=new Map,e&&i.merge(e)}))}var n=e.prototype;return n.it=function(e){return this.vt.has(e)},n.has=function(e){var t=this;if(!L.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Fn(this.it(e),ce,`ObservableMap.key?`,!1);this.dt.set(e,r),ut(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(Ot(this)){var r=At(this,{type:n?cr:gr,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.rn(e,t):this.en(e,t),this},n.delete=function(e){var t=this;if(Ot(this)&&!At(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=j(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return wt((function(){var n;t.lt.reportChanged(),(n=t.dt.get(e))==null||n.gt(!1),t.vt.get(e).gt(void 0),t.vt.delete(e)})),n&&Mt(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==L.UNCHANGED){var r=j(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:cr,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Mt(this,i)}},n.en=function(e,t){var n=this;wt((function(){var r,i=new Fn(t,n.Jt,`ObservableMap.key`,!1);n.vt.set(e,i),t=i.Ot,(r=n.dt.get(e))==null||r.gt(!0),n.lt.reportChanged()}));var r=j(this);r&&Mt(this,r?{observableKind:`map`,debugObjectName:this.tt,type:gr,object:this,name:e,newValue:t}:null)},n.get=function(e){return this.has(e)?this.Qt(this.vt.get(e).get()):this.Qt(void 0)},n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.keys=function(){return this.lt.reportObserved(),this.vt.keys()},n.values=function(){var e=this,t=this.keys();return Rt({next:function(){var n=t.next(),r=n.done;return{done:r,value:r?void 0:e.get(n.value)}}})},n.entries=function(){var e=this,t=this.keys();return Rt({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},n[Symbol.iterator]=function(){return this.entries()},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i[1],i[0],this)}},n.merge=function(e){var n=this;return vr(e)&&(e=new Map(e)),wt((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!fn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return on.propertyIsEnumerable.call(e,t)}))):t}(e).forEach((function(t){return n.set(t,e[t])})):Array.isArray(e)?e.forEach((function(e){return n.set(e[0],e[1])})):p(e)?(r=Object.getPrototypeOf(e),i=Object.getPrototypeOf(r),Object.getPrototypeOf(i)!==null&&t(19,e),e.forEach((function(e,t){return n.set(t,e)}))):e!=null&&t(20,e)})),this},n.clear=function(){var e=this;wt((function(){He((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return wt((function(){for(var r,i=function(e){if(p(e)||vr(e))return e;if(Array.isArray(e))return new Map(e);if(c(e)){var n=new Map;for(var r in e)n.set(r,e[r]);return n}return t(21,e)}(e),a=new Map,o=!1,s=C(n.vt.keys());!(r=s()).done;){var l=r.value;if(!i.has(l))if(n.delete(l))o=!0;else{var u=n.vt.get(l);a.set(l,u)}}for(var d,f=C(i.entries());!(d=f()).done;){var m=d.value,h=m[0],g=m[1],_=n.vt.has(h);if(n.set(h,g),n.vt.has(h)){var v=n.vt.get(h);a.set(h,v),_||(o=!0)}}if(!o)if(n.vt.size!==a.size)n.lt.reportChanged();else for(var y=n.vt.keys(),b=a.keys(),x=y.next(),S=b.next();!x.done;){if(x.value!==S.value){n.lt.reportChanged();break}x=y.next(),S=b.next()}n.vt=a})),this},n.toString=function(){return`[object ObservableMap]`},n.toJSON=function(){return Array.from(this)},n._t=function(e){return jt(this,e)},n.St=function(e){return kt(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),vr=f(`ObservableMap`,_r),yr={},br=function(){function e(e,n,r){var i=this;n===void 0&&(n=se),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[P]=yr,this.vt=new Set,this.st=void 0,this.ut=void 0,this.et=void 0,this.dehancer=void 0,this.Jt=void 0,this.tt=r,a(Set)||t(22),this.Jt=function(e,t){return n(e,t,r)},Zt((function(){i.st=D(i.tt),e&&i.replace(e)}))}var n=e.prototype;return n.Qt=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.clear=function(){var e=this;wt((function(){He((function(){for(var t,n=C(e.vt.values());!(t=n()).done;)e.delete(t.value)}))}))},n.forEach=function(e,t){for(var n,r=C(this);!(n=r()).done;){var i=n.value;e.call(t,i,i,this)}},n.add=function(e){var t=this;if(Ot(this)){var n=At(this,{type:gr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){wt((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=j(this);r&&Mt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:gr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(Ot(this)&&!At(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=j(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return wt((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Mt(this,r),!0}return!1},n.has=function(e){return this.st.reportObserved(),this.vt.has(this.Qt(e))},n.entries=function(){var e=this.values();return zt({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},n.keys=function(){return this.values()},n.values=function(){this.st.reportObserved();var e=this,t=this.vt.values();return zt({next:function(){var n=t.next(),r=n.done;return r?{value:void 0,done:r}:{value:e.Qt(n.value),done:r}}})},n.intersection=function(e){return m(e)&&!xr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!xr(e)?e.union(this):new Set(this).union(e)},n.difference=function(e){return new Set(this).difference(e)},n.symmetricDifference=function(e){return m(e)&&!xr(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},n.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},n.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},n.isDisjointFrom=function(e){return m(e)&&!xr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return xr(e)&&(e=new Set(e)),wt((function(){Array.isArray(e)||m(e)?(n.clear(),e.forEach((function(e){return n.add(e)}))):e!=null&&t(`Cannot initialize set from `+e)})),this},n._t=function(e){return jt(this,e)},n.St=function(e){return kt(this,e)},n.toJSON=function(){return Array.from(this)},n.toString=function(){return`[object ObservableSet]`},n[Symbol.iterator]=function(){return this.values()},S(e,[{key:`size`,get:function(){return this.st.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),xr=f(`ObservableSet`,br),Sr=Object.create(null),Cr=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=bn),this.h=void 0,this.j=void 0,this.tt=void 0,this.un=void 0,this.lt=void 0,this.ut=void 0,this.et=void 0,this.v=void 0,this.p=void 0,this.on=void 0,this.sn=void 0,this.h=e,this.j=t,this.tt=n,this.un=r,this.lt=new gn(`ObservableObject.keys`),this.p=c(this.h)}var n=e.prototype;return n.O=function(e){return this.j.get(e).get()},n.S=function(e,t){var n=this.j.get(e);if(n instanceof Ln)return n.set(t),!0;if(Ot(this)){var r=At(this,{type:cr,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==L.UNCHANGED){var i=j(this),a=i?{type:cr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Mt(this,a)}return!0},n.ct=function(e){return L.trackingDerivation&&!g(this.h,e)&&this.it(e),this.h[e]},n.ht=function(e,t,n){return n===void 0&&(n=!1),g(this.h,e)?this.j.has(e)?this.S(e,t):n?Reflect.set(this.h,e,t):(this.h[e]=t,!0):this.s(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.un,n)},n.it=function(e){if(!L.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Fn(e in this.h,ce,`ObservableObject.key?`,!1),this.sn.set(e,t)),t.get()},n.o=function(e,n){if(!0===n&&(n=this.un),!1!==n){if(!(e in this.h)){var r;if((r=this.h[hn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==on;){var a=rn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Ut(this,0,e)}},n.s=function(e,t,n,r){if(r===void 0&&(r=!1),!0===n&&(n=this.un),!1===n)return this.l(e,t,r);var i=n.s(this,e,t,r);return i&&Ut(this,0,e),i},n.l=function(e,t,n){n===void 0&&(n=!1);try{Ze();var r=this.Ut(e);if(!r)return r;if(Ot(this)){var i=At(this,{object:this.v||this.h,name:e,type:gr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ee({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else an(this.h,e,t);this.fn(e,t.value)}finally{Qe()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{Ze();var i=this.Ut(e);if(!i)return i;if(Ot(this)){var a=At(this,{object:this.v||this.h,name:e,type:gr,newValue:t});if(!a)return null;t=a.newValue}var o=Vt(e),s={configurable:!L.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else an(this.h,e,s);var c=new Fn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{Qe()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{Ze();var r=this.Ut(e);if(!r)return r;if(Ot(this)&&!At(this,{object:this.v||this.h,name:e,type:gr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Vt(e),a={configurable:!L.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else an(this.h,e,a);this.j.set(e,new Ln(t)),this.fn(e,void 0)}finally{Qe()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(Ot(this)&&!At(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;Ze();var r=j(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=rn(this.h,e)?.value),t){if(!Reflect.deleteProperty(this.h,e))return!1}else delete this.h[e];i&&(this.j.delete(e),i instanceof Fn&&(a=i.Ot),et(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Mt(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{Qe()}return!0},n._t=function(e){return jt(this,e)},n.St=function(e){return kt(this,e)},n.fn=function(e,t){var n,r=j(this);r&&r&&Mt(this,r?{type:gr,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,name:e,newValue:t}:null),(n=this.sn)==null||(n=n.get(e))==null||n.set(!0),this.lt.reportChanged()},n.rt=function(){return this.lt.reportObserved(),pn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),wr=f(`ObservableObjectAdministration`,Cr),Tr=Wt(0),Er=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),Dr=0,Or=function(){};fr=Or,pr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(fr.prototype,pr):fr.prototype.__proto__===void 0?fr.prototype=pr:fr.prototype.__proto__=pr;var kr=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray`),i===void 0&&(i=!1),a=e.call(this)||this,Zt((function(){var e=new ur(r,n,i,!0);e.v=a,d(a,P,e),t&&t.length&&a.spliceWithArray(0,0,t),Er&&Object.defineProperty(a,`0`,Tr)})),a}te(t,e);var n=t.prototype;return n.concat=function(){this[P].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Lt(e)?e.slice():e})))},n[Symbol.iterator]=function(){var e=this,t=0;return en({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[P].Ft()},set:function(e){this[P].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Or);Object.entries(dr).forEach((function(e){var t=e[0];t!==`concat`&&u(kr.prototype,t,e[1])})),Kt(1e3);var Ar=on.toString,jr=n().Iterator?.prototype||{};[`Symbol`,`Map`,`Set`].forEach((function(e){n()[e]===void 0&&t(`MobX requires global '`+e+`' to be available or polyfilled`)})),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:rt,extras:{getDebugName:Xt},$mobx:P}),e.$mobx=P,e.FlowCancellationError=nr,e.ObservableMap=_r,e.ObservableSet=br,e.Reaction=Gn,e._allowStateChanges=Fe,e._allowStateChangesInsideComputed=at,e._allowStateReadsEnd=Ke,e._allowStateReadsStart=Ge,e._autoAction=$n,e._endAction=Pe,e._getAdministration=Yt,e._getGlobalState=function(){return L},e._interceptReads=function(e,t,n){var r;return vr(e)||Lt(e)||In(e)?r=Yt(e):Ht(e)&&(r=Yt(e,t)),r.dehancer=typeof t==`function`?t:n,function(){r.dehancer=void 0}},e._isComputingDerivation=function(){return L.trackingDerivation!==null},e._resetGlobalState=function(){var e=new Hn;for(var t in e)Vn.indexOf(t)===-1&&(L[t]=e[t]);L.allowStateChanges=!L.enforceActions},e._startAction=Ne,e.action=Qn,e.autorun=st,e.comparer=vn,e.computed=An,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((L.pendingReactions.length||L.inBatch||L.isRunningReactions)&&t(36),Wn=!0,Un){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),L=new Hn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(L.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(L.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;L.enforceActions=s,L.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(L[t]=!!e[t])})),L.allowStateReads=!L.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Kn,Kn=function(e){return r((function(){return i(e)}))})},e.createAtom=D,e.defineProperty=function(e,n,r){if(Ht(e))return e[P].l(n,r);t(39)},e.entries=function(e){return Ht(e)?bt(e).map((function(t){return[t,e[t]]})):vr(e)?bt(e).map((function(t){return[t,e.get(t)]})):xr(e)?Array.from(e.entries()):Lt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=ft,e.flow=ar,e.flowResult=function(e){return e},e.get=function(e,n){if(xt(e,n))return Ht(e)?e[P].ct(n):vr(e)?e.get(n):Lt(e)?e[n]:void t(11)},e.getAtom=Jt,e.getDebugName=Xt,e.getDependencyTree=function(e,t){return pt(Jt(e,t))},e.getObserverTree=function(e,t){return mt(Jt(e,t))},e.has=xt,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Yt(e,t).St(n)}(e,t,n):function(e,t){return Yt(e).St(t)}(e,t)},e.isAction=ot,e.isBoxedObservable=In,e.isComputed=function(e){return _t(e)},e.isComputedProp=function(e,t){return _t(e,t)},e.isFlow=gt,e.isFlowCancellationError=function(e){return e instanceof nr},e.isObservable=yt,e.isObservableArray=Lt,e.isObservableMap=vr,e.isObservableObject=Ht,e.isObservableProp=function(e,t){return vt(e,t)},e.isObservableSet=xr,e.keys=bt,e.makeAutoObservable=function(e,t,n){return c(e)?ft(e,e,t,n):(Zt((function(){var r=Bt(e,n)[P];if(!e[sr]){var i=Object.getPrototypeOf(e),a=new Set([].concat(pn(e),pn(i)));a.delete(`constructor`),a.delete(P),u(i,sr,a)}e[sr].forEach((function(e){return r.o(e,!t||!(e in t)||t[e])}))})),e)},e.makeObservable=function(e,t,n){return Zt((function(){var r=Bt(e,n)[P];t??=function(e){return g(e,hn)||u(e,hn,ee({},e[hn])),e[hn]}(e),pn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=Dn,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Yt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Yt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=lt,e.onBecomeUnobserved=ut,e.onReactionError=function(e){return L.globalReactionErrorHandlers.push(e),function(){var t=L.globalReactionErrorHandlers.indexOf(e);t>=0&&L.globalReactionErrorHandlers.splice(t,1)}},e.override=yn,e.ownKeys=St,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Fe(!1,(function(){return e(h)}));t=f||!m(s,n),s=n})),(f&&n.fireImmediately||!f&&t)&&l(s,r,h),f=!1}}var i;n===void 0&&(n=cn);var a,o,s,c=n.name??`Reaction`,l=Qn(c,n.onError?(a=n.onError,o=t,function(){try{return o.apply(this,arguments)}catch(e){a.call(this,e)}}):t),u=!n.scheduler&&!n.delay,d=ct(n),f=!0,p=!1,m=n.compareStructural?vn.structural:n.equals||vn.default,h=new Gn(c,(function(){f||u?r():p||(p=!0,d(r))}),n.onError,n.requiresObservable);return(i=n)!=null&&(i=i.signal)!=null&&i.aborted||h.Y(),h.Z(n?.signal)},e.remove=function(e,n){Ht(e)?e[P].Ut(n):vr(e)||xr(e)?e.delete(n):Lt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=at,e.set=function e(n,r,i){if(arguments.length!==2||xr(n))Ht(n)?n[P].ht(r,i):vr(n)?n.set(r,i):xr(n)?n.add(r):Lt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),Ze(),r>=n.length&&(n.length=r+1),n[r]=i,Qe()):t(8);else{Ze();var a=r;try{for(var o in a)e(n,o,a[o])}finally{Qe()}}},e.spy=rt,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!yt(t))return t;if(In(t)||zn(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Lt(t)){var r=Ct(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(xr(t)){var i=Ct(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(vr(t)){var a=Ct(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=Ct(n,t,{});return St(t).forEach((function(r){on.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=wt,e.untracked=He,e.values=function(e){return Ht(e)?bt(e).map((function(t){return e[t]})):vr(e)?bt(e).map((function(t){return e.get(t)})):xr(e)?Array.from(e.values()):Lt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Et(e,t):Tt(e,t,n||{})}})),Og=ge((e=>{Object.defineProperty(e,`__esModule`,{value:!0});var t={0:`Invalid value for configuration 'enforceActions', expected 'never', 'always' or 'observed'`,1:function(e,t){return`Cannot apply '`+e+`' to '`+t.toString()+`': Field not found.`},5:`'keys()' can only be used on observable objects, arrays, sets and maps`,6:`'values()' can only be used on observable objects, arrays, sets and maps`,7:`'entries()' can only be used on observable objects, arrays and maps`,8:`'set()' can only be used on observable objects, arrays and maps`,9:`'remove()' can only be used on observable objects, arrays and maps`,10:`'has()' can only be used on observable objects, arrays and maps`,11:`'get()' can only be used on observable objects, arrays and maps`,12:`Invalid annotation`,13:`Dynamic observable objects cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,14:`Intercept handlers should return nothing or a change object`,15:`Observable arrays cannot be frozen. If you're passing observables to 3rd party component/function that calls Object.freeze, pass copy instead: toJS(observable)`,16:`Modification exception: the internal structure of an observable array was changed.`,17:function(e,t){return`[mobx.array] Index out of bounds, `+e+` is larger than `+t},18:`mobx.map requires Map polyfill for the current browser. Check babel-polyfill or core-js/es6/map.js`,19:function(e){return`Cannot initialize from classes that inherit from Map: `+e.constructor.name},20:function(e){return`Cannot initialize map from `+e},21:function(e){return`Cannot convert to map from '`+e+`'`},22:`mobx.set requires Set polyfill for the current browser. Check babel-polyfill or core-js/es6/set.js`,23:`It is not possible to get index atoms from arrays`,24:function(e){return`Cannot obtain administration from `+e},25:function(e,t){return`the entry '`+e+`' does not exist in the observable map '`+t+`'`},26:`please specify a property`,27:function(e,t){return`no observable property '`+e.toString()+`' found on the observable object '`+t+`'`},28:function(e){return`Cannot obtain atom from `+e},29:`Expecting some object`,30:`invalid action stack. did you forget to finish an action?`,31:`missing option for computed: get`,32:function(e,t){return`Cycle detected in computation `+e+`: `+t},33:function(e){return`The setter of computed value '`+e+`' is trying to update itself. Did you intend to update an _observable_ value, instead of the computed property?`},34:function(e){return`[ComputedValue '`+e+`'] It is not possible to assign a new value to a computed value.`},35:"There are multiple, different versions of MobX active. Make sure MobX is loaded only once or use `configure({ isolateGlobalState: true })`",36:`isolateGlobalState should be called before MobX is running any reactions`,37:function(e){return"[mobx] `observableArray."+e+"()` mutates the array in-place, which is not allowed inside a derivation. Use `array.slice()."+e+"()` instead"},38:`'ownKeys()' can only be used on observable objects`,39:`'defineProperty()' can only be used on observable objects`};function n(e){var n=[...arguments].slice(1),r=typeof e==`string`?e:t[e];throw typeof r==`function`&&(r=r.apply(null,n)),Error(`[MobX] `+r)}var r={};function i(){return typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:typeof self<`u`?self:r}var a=Object.assign,o=Object.getOwnPropertyDescriptor,s=Object.defineProperty,c=Object.prototype,l=[];Object.freeze(l);var u={};Object.freeze(u);var d=typeof Proxy<`u`,f=Object.toString();function p(){d||n("`Proxy` objects are not available in the current environment. Please configure MobX to enable a fallback implementation.`")}function m(e){F.verifyProxies&&n(`MobX is currently configured to be able to run in ES5 mode, but in ES5 MobX won't be able to `+e)}function h(){return++F.mobxGuid}function g(e){var t=!1;return function(){if(!t)return t=!0,e.apply(this,arguments)}}var _=function(){};function v(e){return typeof e==`function`}function y(e){switch(typeof e){case`string`:case`symbol`:case`number`:return!0}return!1}function b(e){return typeof e==`object`&&!!e}function x(e){if(!b(e))return!1;var t=Object.getPrototypeOf(e);if(t==null)return!0;var n=Object.hasOwnProperty.call(t,`constructor`)&&t.constructor;return typeof n==`function`&&n.toString()===f}function S(e){var t=e?.constructor;return t?t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`:!1}function C(e,t,n){s(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function ee(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function w(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function te(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function ne(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function re(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ie=Object.getOwnPropertySymbols!==void 0;function T(e){var t=Object.keys(e);if(!ie)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var E=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ie?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function ae(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function oe(e){return e===null?null:typeof e==`object`?``+e:e}function D(e,t){return c.hasOwnProperty.call(e,t)}var se=Object.getOwnPropertyDescriptors||function(e){var t={};return E(e).forEach(function(n){t[n]=o(e,n)}),t};function ce(e,t){return!!(e&t)}function O(e,t,n){return n?e|=t:e&=~t,e}function le(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function ue(e,t,n){if(ve())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&k(i,n.prototype),i}function de(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,`value`in r&&(r.writable=!0),Object.defineProperty(e,be(r.key),r)}}function fe(e,t,n){return t&&de(e.prototype,t),n&&de(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function pe(e,t){var n=typeof Symbol<`u`&&e[Symbol.iterator]||e[`@@iterator`];if(n)return(n=n.call(e)).next.bind(n);if(Array.isArray(e)||(n=xe(e))||t&&e&&typeof e.length==`number`){n&&(e=n);var r=0;return function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError(`Invalid attempt to iterate non-iterable instance.
59
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function me(){return me=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},me.apply(null,arguments)}function he(e){return he=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},he(e)}function ge(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,k(e,t)}function _e(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function ve(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(ve=function(){return!!e})()}function k(e,t){return k=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},k(e,t)}function ye(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}function be(e){var t=ye(e,`string`);return typeof t==`symbol`?t:t+``}function xe(e,t){if(e){if(typeof e==`string`)return le(e,t);var n={}.toString.call(e).slice(8,-1);return n===`Object`&&e.constructor&&(n=e.constructor.name),n===`Map`||n===`Set`?Array.from(e):n===`Arguments`||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?le(e,t):void 0}}function Se(e){var t=typeof Map==`function`?new Map:void 0;return Se=function(e){if(e===null||!_e(e))return e;if(typeof e!=`function`)throw TypeError(`Super expression must either be null or a function`);if(t!==void 0){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return ue(e,arguments,he(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),k(n,e)},Se(e)}var Ce=Symbol(`mobx-stored-annotations`);function we(e){function t(t,n){if(Oe(n))return e.decorate_20223_(t,n);Te(t,n,e)}return Object.assign(t,e)}function Te(e,t,r){D(e,Ce)||C(e,Ce,me({},e[Ce])),We(r)&&!D(e[Ce],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),Ee(e,r,t),We(r)||(e[Ce][t]=r)}function Ee(e,t,r){if(!We(t)&&D(e[Ce],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[Ce][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
60
60
  The field is already decorated with '@`+a+`'.`)+`
61
61
  Re-decorating fields is not allowed.
62
- Use '@override' decorator for methods overridden by subclass.`)}}function ke(e){return se(e,Te)||C(e,Te,ge({},e[Te])),e[Te]}function Ae(e){return typeof e==`object`&&typeof e.kind==`string`}function je(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var O=Symbol(`mobx administration`),Me=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=j.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Mn(this)},t.reportChanged=function(){L(),Nn(this),jn()},t.toString=function(){return this.name_},me(e,[{key:`isBeingObserved`,get:function(){return le(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ue(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return le(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ue(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!le(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ue(this.flags_,e.diffValueMask_,t===1)}}])}();Me.isBeingObservedMask_=1,Me.isPendingUnobservationMask_=2,Me.diffValueMask_=4;var Ne=w(`Atom`,Me);function Pe(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Me(e);return t!==_&&_r(r,t),n!==_&&vr(r,n),r}function Fe(e,t){return e===t}function Ie(e,t){return ya(e,t)}function Le(e,t){return ya(e,t,1)}function Re(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var ze={identity:Fe,structural:Ie,default:Re,shallow:Le};function Be(e,t,n){return Kr(e)?e:Array.isArray(e)?k.array(e,{name:n}):x(e)?k.object(e,void 0,{name:n}):te(e)?k.map(e,{name:n}):re(e)?k.set(e,{name:n}):typeof e==`function`&&!lr(e)&&!Lr(e)?S(e)?Pr(e):sr(n,e):e}function Ve(e,t,r){if(e==null||ta(e)||Ri(e)||Ui(e)||qi(e))return e;if(Array.isArray(e))return k.array(e,{name:r,deep:!1});if(x(e))return k.object(e,void 0,{name:r,deep:!1});if(te(e))return k.map(e,{name:r,deep:!1});if(re(e))return k.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function He(e){return e}function Ue(e,t){return Kr(e)&&n(`observable.struct should not be used with observable values`),ya(e,t)?t:e}var We=`override`,Ge=Ee({annotationType_:We,make_:qe,extend_:Je,decorate_20223_:Ye});function Ke(e){return e.annotationType_===We}function qe(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
63
- '`+this.annotationType_+`' cannot be used on plain objects.`)),se(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Je(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function Ye(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Xe(e,t){return{annotationType_:e,options_:t,make_:Ze,extend_:Qe,decorate_20223_:$e}}function Ze(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:lr(n.value)?1:(s(r,t,tt(e,this,t,n,!1)),2)}function Qe(e,t,n,r){var i=tt(e,this,t,n);return e.defineProperty_(t,i,r)}function $e(e,t){je(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return qt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return lr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return lr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
64
- '`+o.annotationType_+`' can only be used on properties with a function value.`))}function et(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
65
- '`+a+`' can only be used on properties with a function value.`))}function tt(e,t,n,r,i){var a,o;i===void 0&&(i=I.safeDescriptors),et(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:qt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function nt(e,t){return{annotationType_:e,options_:t,make_:rt,extend_:it,decorate_20223_:at}}function rt(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!se(e.target_,t)||!Lr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Lr(n.value)?1:(s(r,t,st(e,this,t,n,!1,!1)),2)}function it(e,t,n,r){var i=st(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function at(e,t){var n;je(t,[`method`]);var r=t.name,i=t.addInitializer;return Lr(e)||(e=Pr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function ot(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
66
- '`+a+`' can only be used on properties with a generator function value.`))}function st(e,t,n,r,i,a){a===void 0&&(a=I.safeDescriptors),ot(e,t,n,r);var o=r.value;return Lr(o)||(o=Pr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function ct(e,t){return{annotationType_:e,options_:t,make_:lt,extend_:ut,decorate_20223_:dt}}function lt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ut(e,t,n,r){return ft(e,this,t,n),e.defineComputedProperty_(t,ge({},this.options_,{get:n.get,set:n.set}),r)}function dt(e,t){je(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Qi(this)[O],i=ge({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new rn(i))}),function(){return this[O].getObservablePropValue_(r)}}function ft(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
67
- '`+a+`' can only be used on getter(+setter) properties.`))}function pt(e,t){return{annotationType_:e,options_:t,make_:mt,extend_:ht,decorate_20223_:gt}}function mt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ht(e,t,n,r){return _t(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Be,r)}function gt(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");je(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Qi(e)[O],i=new tn(t,r.options_?.enhancer??Be,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[O].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[O].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function _t(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
68
- '`+a+`' cannot be used on getter/setter properties`))}var vt=`true`,yt=bt();function bt(e){return{annotationType_:vt,options_:e,make_:xt,extend_:St,decorate_20223_:Ct}}function xt(e,t,n,r){var i;if(n.get)return Ut.make_(e,t,n,r);if(n.set){var a=lr(n.set)?n.set:qt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:I.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Pr.bound:Pr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?sr.bound:sr).make_(e,t,n,r)}var l=this.options_?.deep===!1?k.ref:k;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function St(e,t,n,r){var i;return n.get?Ut.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:I.safeDescriptors?e.isPlainObject_:!0,set:qt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?k.ref:k).extend_(e,t,n,r))}function Ct(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var wt=`observable`,Tt=`observable.ref`,Et=`observable.shallow`,Dt=`observable.struct`,Ot={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Ot);function kt(e){return e||Ot}var At=pt(wt),jt=pt(Tt,{enhancer:He}),Mt=pt(Et,{enhancer:Ve}),Nt=pt(Dt,{enhancer:Ue}),Pt=Ee(At);function Ft(e){return e.deep===!0?Be:e.deep===!1?He:Lt(e.defaultDecorator)}function It(e){return e?e.defaultDecorator??bt(e):void 0}function Lt(e){return e?e.options_?.enhancer??Be:Be}function Rt(e,t,n){if(Ae(t))return At.decorate_20223_(e,t);if(y(t)){De(e,t,At);return}return Kr(e)?e:x(e)?k.object(e,t,n):Array.isArray(e)?k.array(e,t):te(e)?k.map(e,t):re(e)?k.set(e,t):typeof e==`object`&&e?e:k.box(e,t)}a(Rt,Pt);var k=a(Rt,{box:function(e,t){var n=kt(t);return new tn(e,Ft(n),n.name,!0,n.equals)},array:function(e,t){var n=kt(t);return(I.useProxies===!1||n.proxy===!1?pa:ji)(e,Ft(n),n.name)},map:function(e,t){var n=kt(t);return new Hi(e,Ft(n),n.name)},set:function(e,t){var n=kt(t);return new Ki(e,Ft(n),n.name)},object:function(e,t,n){return _a(function(){return Cr(I.useProxies===!1||n?.proxy===!1?Qi({},n):_i({},n),e,t)})},ref:Ee(jt),shallow:Ee(Mt),deep:Pt,struct:Ee(Nt)}),zt=`computed`,Bt=`computed.struct`,Vt=ct(zt),Ht=ct(Bt,{equals:ze.structural}),Ut=function(e,t){if(Ae(t))return Vt.decorate_20223_(e,t);if(y(t))return De(e,t,Vt);if(x(e))return Ee(ct(zt,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new rn(r)};Object.assign(Ut,Vt),Ut.struct=Ee(Ht);var Wt=0,Gt=1,A=o(function(){},`name`)?.configurable??!1,Kt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function qt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Jt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},A&&(Kt.value=e,s(a,`name`,Kt)),a}function Jt(e,t,n,r,i){var a=Yt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{Xt(a)}}function Yt(e,t,n,r){var i=Wn()&&!!e,a=0;i&&(a=Date.now(),Kn({type:Xn,name:e,object:n,arguments:r?Array.from(r):l}));var o=I.trackingDerivation,s=!t||!o;L();var c=I.allowStateChanges;s&&(N(),c=Qt(!0));var u=_n(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Gt++,parentActionId_:Wt};return Wt=d.actionId_,d}function Xt(e){Wt!==e.actionId_&&n(30),Wt=e.parentActionId_,e.error_!==void 0&&(I.suppressReactionErrors=!0),$t(e.prevAllowStateChanges_),vn(e.prevAllowStateReads_),jn(),e.runAsAction_&&P(e.prevDerivation_),e.notifySpy_&&Jn({time:Date.now()-e.startTime_}),I.suppressReactionErrors=!1}function Zt(e,t){var n=Qt(e);try{return t()}finally{$t(n)}}function Qt(e){var t=I.allowStateChanges;return I.allowStateChanges=e,t}function $t(e){I.allowStateChanges=e}var en=`create`,tn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=ze.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Wn()&&Gn({type:en,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ve(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==I.UNCHANGED){var n=Wn();n&&Kn({type:V,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Jn()}},n.prepareNewValue_=function(e){if(dn(this),vi(this)){var t=bi(this,{object:this,type:V,newValue:e});if(!t)return I.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?I.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),xi(this)&&Ci(this,{type:V,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return yi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:V,newValue:this.value_,oldValue:void 0}),Si(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return oe(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Me),nn=w(`ObservableValue`,tn),rn=function(){function e(e){this.dependenciesState_=j.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=j.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new sn(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=on.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=qt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?ze.structural:ze.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Fn(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),I.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)ln(this)&&(this.warnAboutUntrackedRead_(),L(),this.value_=this.computeValue_(!1),jn());else if(Mn(this),ln(this)){var e=I.trackingContext;this.keepAlive_&&!e&&(I.trackingContext=this),this.trackAndCompute()&&Pn(this),I.trackingContext=e}var t=this.value_;if(cn(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===j.NOT_TRACKING_,n=this.computeValue_(!0),r=t||cn(e)||cn(n)||!this.equals_(e,n);return r&&(this.value_=n,Wn()&&Gn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Qt(!1),n;if(e)n=pn(this,this.derivation,this.scope_);else if(I.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new sn(e)}return $t(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(M(this),this.value_=void 0,this.isTracing_!==on.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return ur(function(){var a=n.get();if(!r||t){var o=N();e({observableKind:`computed`,debugObjectName:n.name_,type:V,object:n,newValue:a,oldValue:i}),P(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==on.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:I.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return oe(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},me(e,[{key:`isComputing`,get:function(){return le(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=ue(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return le(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=ue(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return le(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ue(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return le(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ue(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!le(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ue(this.flags_,e.diffValueMask_,t===1)}}])}();rn.isComputingMask_=1,rn.isRunningSetterMask_=2,rn.isBeingObservedMask_=4,rn.isPendingUnobservationMask_=8,rn.diffValueMask_=16;var an=w(`ComputedValue`,rn),j;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(j||={});var on;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(on||={});var sn=function(e){this.cause=void 0,this.cause=e};function cn(e){return e instanceof sn}function ln(e){switch(e.dependenciesState_){case j.UP_TO_DATE_:return!1;case j.NOT_TRACKING_:case j.STALE_:return!0;case j.POSSIBLY_STALE_:for(var t=_n(!0),n=N(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(an(o)){if(I.disableErrorBoundaries)o.get();else try{o.get()}catch{return P(n),vn(t),!0}if(e.dependenciesState_===j.STALE_)return P(n),vn(t),!0}}return yn(e),P(n),vn(t),!1}}function un(){return I.trackingDerivation!==null}function dn(e){var t=e.observers_.size>0;!I.allowStateChanges&&(t||I.enforceActions===`always`)&&console.warn(`[MobX] `+(I.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function fn(e){!I.allowStateReads&&I.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function pn(e,t,n){var r=_n(!0);yn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++I.runId;var i=I.trackingDerivation;I.trackingDerivation=e,I.inBatch++;var a;if(I.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new sn(e)}return I.inBatch--,I.trackingDerivation=i,hn(e),mn(e),vn(r),a}function mn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:I.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function hn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=j.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&kn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,On(l,e))}r!==j.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function M(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)kn(t[n],e);e.dependenciesState_=j.NOT_TRACKING_}function gn(e){var t=N();try{return e()}finally{P(t)}}function N(){var e=I.trackingDerivation;return I.trackingDerivation=null,e}function P(e){I.trackingDerivation=e}function _n(e){var t=I.allowStateReads;return I.allowStateReads=e,t}function vn(e){I.allowStateReads=e}function yn(e){if(e.dependenciesState_!==j.UP_TO_DATE_){e.dependenciesState_=j.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=j.UP_TO_DATE_}}var F=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],bn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},xn=!0,Sn=!1,I=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(xn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new bn().version&&(xn=!1),xn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new bn):(setTimeout(function(){Sn||n(35)},1),new bn)}();function Cn(){if((I.pendingReactions.length||I.inBatch||I.isRunningReactions)&&n(36),Sn=!0,xn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),I=new bn}}function wn(){return I}function Tn(){var e=new bn;for(var t in e)F.indexOf(t)===-1&&(I[t]=e[t]);I.allowStateChanges=!I.enforceActions}function En(e){return e.observers_&&e.observers_.size>0}function Dn(e){return e.observers_}function On(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function kn(e,t){e.observers_.delete(t),e.observers_.size===0&&An(e)}function An(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,I.pendingUnobservations.push(e))}function L(){I.inBatch++}function jn(){if(--I.inBatch===0){Vn();for(var e=I.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof rn&&n.suspend_())}I.pendingUnobservations=[]}}function Mn(e){fn(e);var t=I.trackingDerivation;return t===null?(e.observers_.size===0&&I.inBatch>0&&An(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&I.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Nn(e){e.lowestObserverState_!==j.STALE_&&(e.lowestObserverState_=j.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===j.UP_TO_DATE_&&(t.isTracing_!==on.NONE&&R(t,e),t.onBecomeStale_()),t.dependenciesState_=j.STALE_}))}function Pn(e){e.lowestObserverState_!==j.STALE_&&(e.lowestObserverState_=j.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===j.POSSIBLY_STALE_?(t.dependenciesState_=j.STALE_,t.isTracing_!==on.NONE&&R(t,e)):t.dependenciesState_===j.UP_TO_DATE_&&(e.lowestObserverState_=j.UP_TO_DATE_)}))}function Fn(e){e.lowestObserverState_===j.UP_TO_DATE_&&(e.lowestObserverState_=j.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===j.UP_TO_DATE_&&(e.dependenciesState_=j.POSSIBLY_STALE_,e.onBecomeStale_())}))}function R(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===on.BREAK){var n=[];In(wr(e),n,1),Function(`debugger;
62
+ Use '@override' decorator for methods overridden by subclass.`)}}function De(e){return D(e,Ce)||C(e,Ce,me({},e[Ce])),e[Ce]}function Oe(e){return typeof e==`object`&&typeof e.kind==`string`}function ke(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var A=Symbol(`mobx administration`),Ae=function(){function e(e){e===void 0&&(e=`Atom@`+h()),this.name_=void 0,this.flags_=0,this.observers_=new Set,this.lastAccessedBy_=0,this.lowestObserverState_=N.NOT_TRACKING_,this.onBOL=void 0,this.onBUOL=void 0,this.name_=e}var t=e.prototype;return t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.reportObserved=function(){return Pn(this)},t.reportChanged=function(){Mn(),Fn(this),Nn()},t.toString=function(){return this.name_},fe(e,[{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=O(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=O(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=O(this.flags_,e.diffValueMask_,t===1)}}])}();Ae.isBeingObservedMask_=1,Ae.isPendingUnobservationMask_=2,Ae.diffValueMask_=4;var je=w(`Atom`,Ae);function Me(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Ae(e);return t!==_&&yr(r,t),n!==_&&br(r,n),r}function Ne(e,t){return e===t}function Pe(e,t){return xa(e,t)}function Fe(e,t){return xa(e,t,1)}function Ie(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Le={identity:Ne,structural:Pe,default:Ie,shallow:Fe};function Re(e,t,n){return Yr(e)?e:Array.isArray(e)?M.array(e,{name:n}):x(e)?M.object(e,void 0,{name:n}):te(e)?M.map(e,{name:n}):re(e)?M.set(e,{name:n}):typeof e==`function`&&!dr(e)&&!Br(e)?S(e)?Lr(e):lr(n,e):e}function ze(e,t,r){if(e==null||ra(e)||zi(e)||Wi(e)||Yi(e))return e;if(Array.isArray(e))return M.array(e,{name:r,deep:!1});if(x(e))return M.object(e,void 0,{name:r,deep:!1});if(te(e))return M.map(e,{name:r,deep:!1});if(re(e))return M.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Be(e){return e}function Ve(e,t){return Yr(e)&&n(`observable.struct should not be used with observable values`),xa(e,t)?t:e}var He=`override`,Ue=we({annotationType_:He,make_:Ge,extend_:Ke,decorate_20223_:qe});function We(e){return e.annotationType_===He}function Ge(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
63
+ '`+this.annotationType_+`' cannot be used on plain objects.`)),D(e.appliedAnnotations_,t)||n(`'`+e.name_+`.`+t.toString()+`' is annotated with '`+this.annotationType_+`', but no such annotated member was found on prototype.`),0}function Ke(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function qe(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Je(e,t){return{annotationType_:e,options_:t,make_:Ye,extend_:Xe,decorate_20223_:Ze}}function Ye(e,t,n,r){var i;return(i=this.options_)!=null&&i.bound?this.extend_(e,t,n,!1)===null?0:1:r===e.target_?this.extend_(e,t,n,!1)===null?0:2:dr(n.value)?1:(s(r,t,$e(e,this,t,n,!1)),2)}function Xe(e,t,n,r){var i=$e(e,this,t,n);return e.defineProperty_(t,i,r)}function Ze(e,t){ke(t,[`method`,`field`]);var r=t.kind,i=t.name,a=t.addInitializer,o=this,s=function(e){return Gt(o.options_?.name??i.toString(),e,o.options_?.autoAction??!1)};if(r==`field`)return function(e){var t,n=e;return dr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return dr(e)||(e=s(e)),(c=this.options_)!=null&&c.bound&&a(function(){var e=this,t=e[i].bind(e);t.isMobxAction=!0,e[i]=t}),e}n(`Cannot apply '`+o.annotationType_+`' to '`+String(i)+`' (kind: `+r+`):`+(`
64
+ '`+o.annotationType_+`' can only be used on properties with a function value.`))}function Qe(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
65
+ '`+a+`' can only be used on properties with a function value.`))}function $e(e,t,n,r,i){var a,o;i===void 0&&(i=F.safeDescriptors),Qe(e,t,n,r);var s=r.value;return(a=t.options_)!=null&&a.bound&&(s=s.bind(e.proxy_??e.target_)),{value:Gt(t.options_?.name??n.toString(),s,t.options_?.autoAction??!1,(o=t.options_)!=null&&o.bound?e.proxy_??e.target_:void 0),configurable:i?e.isPlainObject_:!0,enumerable:!1,writable:!i}}function et(e,t){return{annotationType_:e,options_:t,make_:tt,extend_:nt,decorate_20223_:rt}}function tt(e,t,n,r){var i;return r===e.target_?this.extend_(e,t,n,!1)===null?0:2:(i=this.options_)!=null&&i.bound&&(!D(e.target_,t)||!Br(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Br(n.value)?1:(s(r,t,at(e,this,t,n,!1,!1)),2)}function nt(e,t,n,r){var i=at(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function rt(e,t){var n;ke(t,[`method`]);var r=t.name,i=t.addInitializer;return Br(e)||(e=Lr(e)),(n=this.options_)!=null&&n.bound&&i(function(){var e=this,t=e[r].bind(e);t.isMobXFlow=!0,e[r]=t}),e}function it(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
66
+ '`+a+`' can only be used on properties with a generator function value.`))}function at(e,t,n,r,i,a){a===void 0&&(a=F.safeDescriptors),it(e,t,n,r);var o=r.value;return Br(o)||(o=Lr(o)),i&&(o=o.bind(e.proxy_??e.target_),o.isMobXFlow=!0),{value:o,configurable:a?e.isPlainObject_:!0,enumerable:!1,writable:!a}}function ot(e,t){return{annotationType_:e,options_:t,make_:st,extend_:ct,decorate_20223_:lt}}function st(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function ct(e,t,n,r){return ut(e,this,t,n),e.defineComputedProperty_(t,me({},this.options_,{get:n.get,set:n.set}),r)}function lt(e,t){ke(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=ea(this)[A],i=me({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new tn(i))}),function(){return this[A].getObservablePropValue_(r)}}function ut(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
67
+ '`+a+`' can only be used on getter(+setter) properties.`))}function dt(e,t){return{annotationType_:e,options_:t,make_:ft,extend_:pt,decorate_20223_:mt}}function ft(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function pt(e,t,n,r){return ht(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??Re,r)}function mt(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");ke(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=ea(e)[A],i=new $t(t,r.options_?.enhancer??Re,n.name_+`.`+a.toString(),!1);n.values_.set(a,i),o.add(e)}if(i==`accessor`)return{get:function(){return o.has(this)||s(this,e.get.call(this)),this[A].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[A].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function ht(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
68
+ '`+a+`' cannot be used on getter/setter properties`))}var gt=`true`,_t=vt();function vt(e){return{annotationType_:gt,options_:e,make_:yt,extend_:bt,decorate_20223_:xt}}function yt(e,t,n,r){var i;if(n.get)return Bt.make_(e,t,n,r);if(n.set){var a=dr(n.set)?n.set:Gt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:F.safeDescriptors?e.isPlainObject_:!0,set:a})===null?0:2:(s(r,t,{configurable:!0,set:a}),2)}if(r!==e.target_&&typeof n.value==`function`){var o;if(S(n.value)){var c;return((c=this.options_)!=null&&c.autoBind?Lr.bound:Lr).make_(e,t,n,r)}return((o=this.options_)!=null&&o.autoBind?lr.bound:lr).make_(e,t,n,r)}var l=this.options_?.deep===!1?M.ref:M;return typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),l.make_(e,t,n,r)}function bt(e,t,n,r){var i;return n.get?Bt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:F.safeDescriptors?e.isPlainObject_:!0,set:Gt(t.toString(),n.set)},r):(typeof n.value==`function`&&(i=this.options_)!=null&&i.autoBind&&(n.value=n.value.bind(e.proxy_??e.target_)),(this.options_?.deep===!1?M.ref:M).extend_(e,t,n,r))}function xt(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var St=`observable`,Ct=`observable.ref`,wt=`observable.shallow`,Tt=`observable.struct`,Et={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Et);function Dt(e){return e||Et}var Ot=dt(St),kt=dt(Ct,{enhancer:Be}),At=dt(wt,{enhancer:ze}),j=dt(Tt,{enhancer:Ve}),jt=we(Ot);function Mt(e){return e.deep===!0?Re:e.deep===!1?Be:Pt(e.defaultDecorator)}function Nt(e){return e?e.defaultDecorator??vt(e):void 0}function Pt(e){return e?e.options_?.enhancer??Re:Re}function Ft(e,t,n){if(Oe(t))return Ot.decorate_20223_(e,t);if(y(t)){Te(e,t,Ot);return}return Yr(e)?e:x(e)?M.object(e,t,n):Array.isArray(e)?M.array(e,t):te(e)?M.map(e,t):re(e)?M.set(e,t):typeof e==`object`&&e?e:M.box(e,t)}a(Ft,jt);var M=a(Ft,{box:function(e,t){var n=Dt(t);return new $t(e,Mt(n),n.name,!0,n.equals)},array:function(e,t){var n=Dt(t);return(F.useProxies===!1||n.proxy===!1?ha:Mi)(e,Mt(n),n.name)},map:function(e,t){var n=Dt(t);return new Ui(e,Mt(n),n.name)},set:function(e,t){var n=Dt(t);return new Ji(e,Mt(n),n.name)},object:function(e,t,n){return ya(function(){return Er(F.useProxies===!1||n?.proxy===!1?ea({},n):_i({},n),e,t)})},ref:we(kt),shallow:we(At),deep:jt,struct:we(j)}),It=`computed`,Lt=`computed.struct`,Rt=ot(It),zt=ot(Lt,{equals:Le.structural}),Bt=function(e,t){if(Oe(t))return Rt.decorate_20223_(e,t);if(y(t))return Te(e,t,Rt);if(x(e))return we(ot(It,e));v(e)||n("First argument to `computed` should be an expression."),v(t)&&n("A setter as second argument is no longer supported, use `{ set: fn }` option instead");var r=x(t)?t:{};return r.get=e,r.name||=e.name||``,new tn(r)};Object.assign(Bt,Rt),Bt.struct=we(zt);var Vt=0,Ht=1,Ut=o(function(){},`name`)?.configurable??!1,Wt={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Gt(e,t,r,i){r===void 0&&(r=!1),v(t)||n("`action` can only be invoked on functions"),(typeof e!=`string`||!e)&&n(`actions should have valid names, got: '`+e+`'`);function a(){return Kt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},Ut&&(Wt.value=e,s(a,`name`,Wt)),a}function Kt(e,t,n,r,i){var a=qt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{Jt(a)}}function qt(e,t,n,r){var i=Kn()&&!!e,a=0;i&&(a=Date.now(),Jn({type:Qn,name:e,object:n,arguments:r?Array.from(r):l}));var o=F.trackingDerivation,s=!t||!o;Mn();var c=F.allowStateChanges;s&&(P(),c=Xt(!0));var u=_n(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Ht++,parentActionId_:Vt};return Vt=d.actionId_,d}function Jt(e){Vt!==e.actionId_&&n(30),Vt=e.parentActionId_,e.error_!==void 0&&(F.suppressReactionErrors=!0),Zt(e.prevAllowStateChanges_),vn(e.prevAllowStateReads_),Nn(),e.runAsAction_&&gn(e.prevDerivation_),e.notifySpy_&&Xn({time:Date.now()-e.startTime_}),F.suppressReactionErrors=!1}function Yt(e,t){var n=Xt(e);try{return t()}finally{Zt(n)}}function Xt(e){var t=F.allowStateChanges;return F.allowStateChanges=e,t}function Zt(e){F.allowStateChanges=e}var Qt=`create`,$t=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue@`+h()),i===void 0&&(i=!0),a===void 0&&(a=Le.default),o=e.call(this,r)||this,o.enhancer=void 0,o.name_=void 0,o.equals=void 0,o.hasUnreportedChange_=!1,o.interceptors_=void 0,o.changeListeners_=void 0,o.value_=void 0,o.dehancer=void 0,o.enhancer=n,o.name_=r,o.equals=a,o.value_=n(t,void 0,r),i&&Kn()&&qn({type:Qt,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}ge(t,e);var n=t.prototype;return n.dehanceValue=function(e){return this.dehancer===void 0?e:this.dehancer(e)},n.set=function(e){var t=this.value_;if(e=this.prepareNewValue_(e),e!==F.UNCHANGED){var n=Kn();n&&Jn({type:Oi,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Xn()}},n.prepareNewValue_=function(e){if(ln(this),vi(this)){var t=bi(this,{object:this,type:Oi,newValue:e});if(!t)return F.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?F.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),xi(this)&&Ci(this,{type:Oi,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return yi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Oi,newValue:this.value_,oldValue:void 0}),Si(this,e)},n.raw=function(){return this.value_},n.toJSON=function(){return this.get()},n.toString=function(){return this.name_+`[`+this.value_+`]`},n.valueOf=function(){return oe(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Ae),en=w(`ObservableValue`,$t),tn=function(){function e(e){this.dependenciesState_=N.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=N.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new an(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=rn.NONE,this.scope_=void 0,this.equals_=void 0,this.requiresReaction_=void 0,this.keepAlive_=void 0,this.onBOL=void 0,this.onBUOL=void 0,e.get||n(31),this.derivation=e.get,this.name_=e.name||`ComputedValue@`+h(),e.set&&(this.setter_=Gt(this.name_+`-setter`,e.set)),this.equals_=e.equals||(e.compareStructural||e.struct?Le.structural:Le.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Ln(this)},t.onBO=function(){this.onBOL&&this.onBOL.forEach(function(e){return e()})},t.onBUO=function(){this.onBUOL&&this.onBUOL.forEach(function(e){return e()})},t.get=function(){if(this.isComputing&&n(32,this.name_,this.derivation),F.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)sn(this)&&(this.warnAboutUntrackedRead_(),Mn(),this.value_=this.computeValue_(!1),Nn());else if(Pn(this),sn(this)){var e=F.trackingContext;this.keepAlive_&&!e&&(F.trackingContext=this),this.trackAndCompute()&&In(this),F.trackingContext=e}var t=this.value_;if(on(t))throw t.cause;return t},t.set=function(e){if(this.setter_){this.isRunningSetter&&n(33,this.name_),this.isRunningSetter=!0;try{this.setter_.call(this.scope_,e)}finally{this.isRunningSetter=!1}}else n(34,this.name_)},t.trackAndCompute=function(){var e=this.value_,t=this.dependenciesState_===N.NOT_TRACKING_,n=this.computeValue_(!0),r=t||on(e)||on(n)||!this.equals_(e,n);return r&&(this.value_=n,Kn()&&qn({observableKind:`computed`,debugObjectName:this.name_,object:this.scope_,type:`update`,oldValue:e,newValue:n})),r},t.computeValue_=function(e){this.isComputing=!0;var t=Xt(!1),n;if(e)n=dn(this,this.derivation,this.scope_);else if(F.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new an(e)}return Zt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(mn(this),this.value_=void 0,this.isTracing_!==rn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' was suspended and it will recompute on the next access.`))},t.observe_=function(e,t){var n=this,r=!0,i=void 0;return fr(function(){var a=n.get();if(!r||t){var o=P();e({observableKind:`computed`,debugObjectName:n.name_,type:Oi,object:n,newValue:a,oldValue:i}),gn(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==rn.NONE&&console.log(`[mobx.trace] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`),(typeof this.requiresReaction_==`boolean`?this.requiresReaction_:F.computedRequiresReaction)&&console.warn(`[mobx] Computed value '`+this.name_+`' is being read outside a reactive context. Doing a full recompute.`)},t.toString=function(){return this.name_+`[`+this.derivation.toString()+`]`},t.valueOf=function(){return oe(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},fe(e,[{key:`isComputing`,get:function(){return ce(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=O(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return ce(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=O(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return ce(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=O(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return ce(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=O(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=O(this.flags_,e.diffValueMask_,t===1)}}])}();tn.isComputingMask_=1,tn.isRunningSetterMask_=2,tn.isBeingObservedMask_=4,tn.isPendingUnobservationMask_=8,tn.diffValueMask_=16;var nn=w(`ComputedValue`,tn),N;(function(e){e[e.NOT_TRACKING_=-1]=`NOT_TRACKING_`,e[e.UP_TO_DATE_=0]=`UP_TO_DATE_`,e[e.POSSIBLY_STALE_=1]=`POSSIBLY_STALE_`,e[e.STALE_=2]=`STALE_`})(N||={});var rn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(rn||={});var an=function(e){this.cause=void 0,this.cause=e};function on(e){return e instanceof an}function sn(e){switch(e.dependenciesState_){case N.UP_TO_DATE_:return!1;case N.NOT_TRACKING_:case N.STALE_:return!0;case N.POSSIBLY_STALE_:for(var t=_n(!0),n=P(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(nn(o)){if(F.disableErrorBoundaries)o.get();else try{o.get()}catch{return gn(n),vn(t),!0}if(e.dependenciesState_===N.STALE_)return gn(n),vn(t),!0}}return yn(e),gn(n),vn(t),!1}}function cn(){return F.trackingDerivation!==null}function ln(e){var t=e.observers_.size>0;!F.allowStateChanges&&(t||F.enforceActions===`always`)&&console.warn(`[MobX] `+(F.enforceActions?`Since strict-mode is enabled, changing (observed) observable values without using an action is not allowed. Tried to modify: `:`Side effects like changing state are not allowed at this point. Are you trying to modify state from, for example, a computed value or the render function of a React component? You can wrap side effects in 'runInAction' (or decorate functions with 'action') if needed. Tried to modify: `)+e.name_)}function un(e){!F.allowStateReads&&F.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function dn(e,t,n){var r=_n(!0);yn(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++F.runId;var i=F.trackingDerivation;F.trackingDerivation=e,F.inBatch++;var a;if(F.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new an(e)}return F.inBatch--,F.trackingDerivation=i,pn(e),fn(e),vn(r),a}function fn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:F.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function pn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=N.UP_TO_DATE_,i=0,a=e.unboundDepsCount_,o=0;o<a;o++){var s=n[o];s.diffValue===0&&(s.diffValue=1,i!==o&&(n[i]=s),i++),s.dependenciesState_>r&&(r=s.dependenciesState_)}for(n.length=i,e.newObserving_=null,a=t.length;a--;){var c=t[a];c.diffValue===0&&An(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,kn(l,e))}r!==N.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function mn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)An(t[n],e);e.dependenciesState_=N.NOT_TRACKING_}function hn(e){var t=P();try{return e()}finally{gn(t)}}function P(){var e=F.trackingDerivation;return F.trackingDerivation=null,e}function gn(e){F.trackingDerivation=e}function _n(e){var t=F.allowStateReads;return F.allowStateReads=e,t}function vn(e){F.allowStateReads=e}function yn(e){if(e.dependenciesState_!==N.UP_TO_DATE_){e.dependenciesState_=N.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=N.UP_TO_DATE_}}var bn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],xn=function(){this.version=6,this.UNCHANGED={},this.trackingDerivation=null,this.trackingContext=null,this.runId=0,this.mobxGuid=0,this.inBatch=0,this.pendingUnobservations=[],this.pendingReactions=[],this.isRunningReactions=!1,this.allowStateChanges=!1,this.allowStateReads=!0,this.enforceActions=!0,this.spyListeners=[],this.globalReactionErrorHandlers=[],this.computedRequiresReaction=!1,this.reactionRequiresObservable=!1,this.observableRequiresReaction=!1,this.disableErrorBoundaries=!1,this.suppressReactionErrors=!1,this.useProxies=!0,this.verifyProxies=!1,this.safeDescriptors=!0},Sn=!0,Cn=!1,F=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Sn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new xn().version&&(Sn=!1),Sn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new xn):(setTimeout(function(){Cn||n(35)},1),new xn)}();function wn(){if((F.pendingReactions.length||F.inBatch||F.isRunningReactions)&&n(36),Cn=!0,Sn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),F=new xn}}function Tn(){return F}function En(){var e=new xn;for(var t in e)bn.indexOf(t)===-1&&(F[t]=e[t]);F.allowStateChanges=!F.enforceActions}function Dn(e){return e.observers_&&e.observers_.size>0}function On(e){return e.observers_}function kn(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function An(e,t){e.observers_.delete(t),e.observers_.size===0&&jn(e)}function jn(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,F.pendingUnobservations.push(e))}function Mn(){F.inBatch++}function Nn(){if(--F.inBatch===0){Un();for(var e=F.pendingUnobservations,t=0;t<e.length;t++){var n=e[t];n.isPendingUnobservation=!1,n.observers_.size===0&&(n.isBeingObserved&&(n.isBeingObserved=!1,n.onBUO()),n instanceof tn&&n.suspend_())}F.pendingUnobservations=[]}}function Pn(e){un(e);var t=F.trackingDerivation;return t===null?(e.observers_.size===0&&F.inBatch>0&&jn(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&F.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Fn(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.UP_TO_DATE_&&(t.isTracing_!==rn.NONE&&I(t,e),t.onBecomeStale_()),t.dependenciesState_=N.STALE_}))}function In(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.POSSIBLY_STALE_?(t.dependenciesState_=N.STALE_,t.isTracing_!==rn.NONE&&I(t,e)):t.dependenciesState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.UP_TO_DATE_)}))}function Ln(e){e.lowestObserverState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===N.UP_TO_DATE_&&(e.dependenciesState_=N.POSSIBLY_STALE_,e.onBecomeStale_())}))}function I(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===rn.BREAK){var n=[];Rn(Dr(e),n,1),Function(`debugger;
69
69
  /*
70
70
  Tracing '`+e.name_+`'
71
71
 
@@ -73,30 +73,43 @@ You are entering this break point because derivation '`+e.name_+`' is being trac
73
73
  Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
74
74
  The stackframe you are looking for is at least ~6-8 stack-frames up.
75
75
 
76
- `+(e instanceof rn?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
76
+ `+(e instanceof tn?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
77
77
 
78
78
  The dependencies for this derivation are:
79
79
 
80
80
  `+n.join(`
81
81
  `)+`
82
82
  */
83
- `)()}}function In(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return In(e,t,n+1)})}var Ln=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=j.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=on.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,I.pendingReactions.push(this),Vn())},t.runReaction_=function(){if(!this.isDisposed){L(),this.isScheduled=!1;var e=I.trackingContext;if(I.trackingContext=this,ln(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Wn()&&Gn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}I.trackingContext=e,jn()}},t.track=function(e){if(!this.isDisposed){L();var t=Wn(),n;t&&(n=Date.now(),Kn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=I.trackingContext;I.trackingContext=this;var i=pn(this,e,void 0);I.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&M(this),cn(i)&&this.reportExceptionInDerivation_(i.cause),t&&Jn({time:Date.now()-n}),jn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(I.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;I.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Wn()&&Gn({type:`error`,name:this.name_,message:n,error:``+e}),I.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(L(),M(this),jn()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[O]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),li(this,e)},me(e,[{key:`isDisposed`,get:function(){return le(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=ue(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return le(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=ue(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return le(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=ue(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return le(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=ue(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!le(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ue(this.flags_,e.diffValueMask_,t===1)}}])}();Ln.isDisposedMask_=1,Ln.isScheduledMask_=2,Ln.isTrackPendingMask_=4,Ln.isRunningMask_=8,Ln.diffValueMask_=16;function Rn(e){return I.globalReactionErrorHandlers.push(e),function(){var t=I.globalReactionErrorHandlers.indexOf(e);t>=0&&I.globalReactionErrorHandlers.splice(t,1)}}var zn=100,Bn=function(e){return e()};function Vn(){I.inBatch>0||I.isRunningReactions||Bn(Hn)}function Hn(){I.isRunningReactions=!0;for(var e=I.pendingReactions,t=0;e.length>0;){++t===zn&&(console.error(`Reaction doesn't converge to a stable state after `+zn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}I.isRunningReactions=!1}var z=w(`Reaction`,Ln);function Un(e){var t=Bn;Bn=function(n){return e(function(){return t(n)})}}function Wn(){return!!I.spyListeners.length}function Gn(e){if(I.spyListeners.length)for(var t=I.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Kn(e){Gn(ge({},e,{spyReportStart:!0}))}var qn={type:`report-end`,spyReportEnd:!0};function Jn(e){Gn(e?ge({},e,{type:`report-end`,spyReportEnd:!0}):qn)}function Yn(e){return I.spyListeners.push(e),g(function(){I.spyListeners=I.spyListeners.filter(function(t){return t!==e})})}var Xn=`action`,Zn=`action.bound`,Qn=`autoAction`,$n=`autoAction.bound`,er=`<unnamed action>`,tr=Xe(Xn),nr=Xe(Zn,{bound:!0}),rr=Xe(Qn,{autoAction:!0}),ir=Xe($n,{autoAction:!0,bound:!0});function ar(e){return function(t,r){if(v(t))return qt(t.name||er,t,e);if(v(r))return qt(t,r,e);if(Ae(r))return(e?rr:tr).decorate_20223_(t,r);if(y(r))return De(t,r,e?rr:tr);if(y(t))return Ee(Xe(e?Qn:Xn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var or=ar(!1);Object.assign(or,tr);var sr=ar(!0);Object.assign(sr,rr),or.bound=Ee(nr),sr.bound=Ee(ir);function cr(e){return Jt(e.name||er,!1,e,this,void 0)}function lr(e){return v(e)&&e.isMobxAction===!0}function ur(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),lr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new Ln(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=fr(t),c=!1;o=new Ln(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var dr=function(e){return e()};function fr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:dr}function pr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=or(a,r.onError?mr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=fr(r),l=!0,d=!1,f,p=r.compareStructural?ze.structural:r.equals||ze.default,m=new Ln(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Zt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function mr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var hr=`onBO`,gr=`onBUO`;function _r(e,t,n){return B(hr,e,t,n)}function vr(e,t,n){return B(gr,e,t,n)}function B(e,t,n,r){var i=typeof r==`function`?ma(t,n):ma(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var yr=`never`,br=`always`,xr=`observed`;function Sr(e){e.isolateGlobalState===!0&&Cn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(I.useProxies=t===br?!0:t===yr?!1:typeof Proxy<`u`),t===`ifavailable`&&(I.verifyProxies=!0),n!==void 0){var r=n===br?br:n===xr;I.enforceActions=r,I.allowStateChanges=!(r===!0||r===br)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(I[t]=!!e[t])}),I.allowStateReads=!I.observableRequiresReaction,I.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Un(e.reactionScheduler)}function Cr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Ui(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Kr(t)||Kr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=ce(t);return _a(function(){var t=Qi(e,i)[O];E(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(ma(e,t))}function Tr(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=Or(e.observing_).map(Tr)),t}function Er(e,t){return Dr(ma(e,t))}function Dr(e){var t={name:e.name_};return En(e)&&(t.observers=Array.from(Dn(e)).map(Dr)),t}function Or(e){return Array.from(new Set(e))}var kr=0,Ar=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}ve(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(we(Error));function jr(e){return e instanceof Ar}var Mr=nt(`flow`),Nr=nt(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(Ae(t))return Mr.decorate_20223_(e,t);if(y(t))return De(e,t,Mr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++kr,a=or(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=or(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=or(i+` - runid: `+n+` - cancel`,function(){try{s&&Fr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Fr(t),o(new Ar)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Mr);Pr.bound=Ee(Nr);function Fr(e){v(e.cancel)&&e.cancel()}function Ir(e){return e}function Lr(e){return e?.isMobXFlow===!0}function Rr(e,t,r){var i;if(Ui(e)||Ri(e)||nn(e))i=ha(e);else if(ta(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=ha(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function zr(e,t,n){return v(n)?Vr(e,t,n):Br(e,t)}function Br(e,t){return ha(e).intercept_(t)}function Vr(e,t,n){return ha(e,t).intercept_(n)}function Hr(e,t){return t===void 0?an(e):ta(e)===!1||!e[O].values_.has(t)?!1:an(ma(e,t))}function Ur(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Hr(e)}function Wr(e,t){return y(t)?Hr(e,t):n(`isComputed expected a property name as second argument`)}function Gr(e,t){return e?t===void 0?ta(e)||!!e[O]||Ne(e)||z(e)||an(e):Ui(e)||Ri(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ta(e)?e[O].values_.has(t):!1:!1}function Kr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`expected a property name as second argument`)}function Jr(e){if(ta(e))return e[O].keys_();if(Ui(e)||qi(e))return Array.from(e.keys());if(Ri(e))return e.map(function(e,t){return t});n(5)}function Yr(e){if(ta(e))return Jr(e).map(function(t){return e[t]});if(Ui(e))return Jr(e).map(function(t){return e.get(t)});if(qi(e))return Array.from(e.values());if(Ri(e))return e.slice();n(6)}function Xr(e){if(ta(e))return Jr(e).map(function(t){return[t,e[t]]});if(Ui(e))return Jr(e).map(function(t){return[t,e.get(t)]});if(qi(e))return Array.from(e.entries());if(Ri(e))return e.map(function(e,t){return[t,e]});n(7)}function Zr(e,t,r){if(arguments.length===2&&!qi(e)){L();var i=t;try{for(var a in i)Zr(e,a,i[a])}finally{jn()}return}ta(e)?e[O].set_(t,r):Ui(e)?e.set(t,r):qi(e)?e.add(t):Ri(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),L(),t>=e.length&&(e.length=t+1),e[t]=r,jn()):n(8)}function Qr(e,t){ta(e)?e[O].delete_(t):Ui(e)||qi(e)?e.delete(t):Ri(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function $r(e,t){if(ta(e))return e[O].has_(t);if(Ui(e)||qi(e))return e.has(t);if(Ri(e))return t>=0&&t<e.length;n(10)}function ei(e,t){if($r(e,t)){if(ta(e))return e[O].get_(t);if(Ui(e))return e.get(t);if(Ri(e))return e[t];n(11)}}function ti(e,t,r){if(ta(e))return e[O].defineProperty_(t,r);n(39)}function ni(e){if(ta(e))return e[O].ownKeys_();n(38)}function ri(e,t,n,r){return v(n)?ai(e,t,n,r):ii(e,t,n)}function ii(e,t,n){return ha(e).observe_(t,n)}function ai(e,t,n,r){return ha(e,t).observe_(n,r)}function oi(e,t,n){return e.set(t,n),n}function si(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Kr(e))return e;if(nn(e)||an(e))return si(e.get(),t);if(t.has(e))return t.get(e);if(Ri(e)){var n=oi(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=si(e,t)}),n}if(qi(e)){var r=oi(t,e,new Set);return e.forEach(function(e){r.add(si(e,t))}),r}if(Ui(e)){var i=oi(t,e,new Map);return e.forEach(function(e,n){i.set(n,si(e,t))}),i}else{var a=oi(t,e,{});return ni(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=si(e[n],t))}),a}}function ci(e,t){return t&&n(`toJS no longer supports options`),si(e,new Map)}function li(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ui(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===on.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?on.BREAK:on.LOG}function ui(e){switch(e.length){case 0:return I.trackingDerivation;case 1:return ma(e[0]);case 2:return ma(e[0],e[1])}}function di(e,t){t===void 0&&(t=void 0),L();try{return e.apply(t)}finally{jn()}}function fi(e,t,n){return arguments.length===1||t&&typeof t==`object`?mi(e,t):pi(e,t,n||{})}function pi(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[O].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=qt(n.name+`-effect`,t),o=ur(function(t){Zt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function mi(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=pi(e,n,ge({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function hi(e){return e[O]}var gi={has:function(e,t){return I.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),hi(e).has_(t)},get:function(e,t){return hi(e).get_(t)},set:function(e,t,n){return y(t)?(hi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),hi(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?hi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),hi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return I.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),hi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function _i(e,t){var n;return p(),e=Qi(e,t),(n=e[O]).proxy_??(n.proxy_=new Proxy(e,gi))}function vi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function yi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function bi(e,t){var r=N();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{P(r)}}function xi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function Si(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Ci(e,t){var n=N(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);P(n)}}function wi(e,t,r){return _a(function(){var i=Qi(e,r)[O];t&&e[Te]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=ke(e),E(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ti=Symbol(`mobx-keys`);function Ei(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ta(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(_a(function(){var n=Qi(e,r)[O];if(!e[Ti]){var i=Object.getPrototypeOf(e),a=new Set([].concat(E(e),E(i)));a.delete(`constructor`),a.delete(O),C(i,Ti,a)}e[Ti].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Di=`splice`,V=`update`,Oi=1e4,ki={get:function(e,t){var n=e[O];return t===O?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):se(Mi,t)?Mi[t]:e[t]},set:function(e,t,n){var r=e[O];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},Ai=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Me(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return yi(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Si(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&fa(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;dn(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),vi(this)){var a=bi(this,{object:this.proxy_,type:Di,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<Oi){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Wn(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:V,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Jn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Wn(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Di,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Jn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){dn(this.atom_);var i=r[e];if(vi(this)){var a=bi(this,{type:V,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function ji(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),_a(function(){var i=new Ai(n,t,r,!1);ee(i.values_,O,i);var a=new Proxy(i.values_,ki);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var Mi={clear:function(){return this.splice(0)},replace:function(e){var t=this[O];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[O];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[O].spliceWithArray_(e,t,n)},push:function(){var e=this[O],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[O].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[O],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return I.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){I.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[O],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};Ni(`at`,Pi),Ni(`concat`,Pi),Ni(`flat`,Pi),Ni(`includes`,Pi),Ni(`indexOf`,Pi),Ni(`join`,Pi),Ni(`lastIndexOf`,Pi),Ni(`slice`,Pi),Ni(`toString`,Pi),Ni(`toLocaleString`,Pi),Ni(`toSorted`,Pi),Ni(`toSpliced`,Pi),Ni(`with`,Pi),Ni(`every`,Fi),Ni(`filter`,Fi),Ni(`find`,Fi),Ni(`findIndex`,Fi),Ni(`findLast`,Fi),Ni(`findLastIndex`,Fi),Ni(`flatMap`,Fi),Ni(`forEach`,Fi),Ni(`map`,Fi),Ni(`some`,Fi),Ni(`toReversed`,Fi),Ni(`reduce`,Ii),Ni(`reduceRight`,Ii);function Ni(e,t){typeof Array.prototype[e]==`function`&&(Mi[e]=t(e))}function Pi(e){return function(){var t=this[O];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Fi(e){return function(t,n){var r=this,i=this[O];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Ii(e){return function(){var t=this,n=this[O];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Li=w(`ObservableArrayAdministration`,Ai);function Ri(e){return b(e)&&Li(e[O])}var zi={},Bi=`add`,Vi=`delete`,Hi=function(){function e(e,t,r){var i=this;t===void 0&&(t=Be),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[O]=zi,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),_a(function(){i.keysAtom_=Pe(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!I.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new tn(this.has_(e),He,this.name_+`.`+ae(e)+`?`,!1);this.hasMap_.set(e,r),vr(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(vi(this)){var r=bi(this,{type:n?V:Bi,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(dn(this.keysAtom_),vi(this)&&!bi(this,{type:Vi,object:this,name:e}))return!1;if(this.has_(e)){var n=Wn(),r=xi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Vi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Kn(i),di(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&Ci(this,i),n&&Jn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==I.UNCHANGED){var r=Wn(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:V,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Kn(a),n.setNewValue_(t),i&&Ci(this,a),r&&Jn()}},t.addValue_=function(e,t){var n=this;dn(this.keysAtom_),di(function(){var r,i=new tn(t,n.enhancer_,n.name_+`.`+ae(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Wn(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Bi,object:this,name:e,newValue:t}:null;r&&Kn(a),i&&Ci(this,a),r&&Jn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return H({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return H({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=he(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return Ui(e)&&(e=new Map(e)),di(function(){x(e)?T(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):te(e)?(ne(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;di(function(){gn(function(){for(var t=he(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return di(function(){for(var n=Wi(e),r=new Map,i=!1,a=he(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=he(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},me(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Ui=w(`ObservableMap`,Hi);function H(e){return e[Symbol.toStringTag]=`MapIterator`,U(e)}function Wi(e){if(te(e)||Ui(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var Gi={},Ki=function(){function e(e,t,r){var i=this;t===void 0&&(t=Be),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[O]=Gi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},_a(function(){i.atom_=Pe(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;di(function(){gn(function(){for(var t=he(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=he(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(dn(this.atom_),vi(this)){var n=bi(this,{type:Bi,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){di(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Wn(),i=xi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Bi,object:this,newValue:e}:null;r&&Kn(a),i&&Ci(this,a),r&&Jn()}return this},t.delete=function(e){var t=this;if(vi(this)&&!bi(this,{type:Vi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Wn(),r=xi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Vi,object:this,oldValue:e}:null;return n&&Kn(i),di(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&Ci(this,i),n&&Jn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return Ji({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return Ji({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return re(e)&&!qi(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return re(e)&&!qi(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return re(e)&&!qi(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return re(e)&&!qi(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return qi(e)&&(e=new Set(e)),di(function(){Array.isArray(e)||re(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},me(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),qi=w(`ObservableSet`,Ki);function Ji(e){return e[Symbol.toStringTag]=`SetIterator`,U(e)}var Yi=Object.create(null),Xi=`remove`,Zi=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=yt),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Me(this.name_+`.keys`),this.isPlainObject_=x(this.target_),wa(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof rn)return n.set(t),!0;if(vi(this)){var r=bi(this,{type:V,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==I.UNCHANGED){var i=xi(this),a=Wn(),o=i||a?{type:V,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Kn(o),n.setNewValue_(t),i&&Ci(this,o),a&&Jn()}return!0},t.get_=function(e){return I.trackingDerivation&&!se(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),se(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!I.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new tn(e in this.target_,He,this.name_+`.`+ae(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(ra(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Te])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}na(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);ra(this,n,e);var i=n.extend_(this,e,t,r);return i&&na(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),dn(this.keysAtom_);try{L();var r=this.delete_(e);if(!r)return r;if(vi(this)){var i=bi(this,{object:this.proxy_||this.target_,name:e,type:Bi,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=ge({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{jn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),dn(this.keysAtom_);try{L();var i=this.delete_(e);if(!i)return i;if(vi(this)){var a=bi(this,{object:this.proxy_||this.target_,name:e,type:Bi,newValue:t});if(!a)return null;t=a.newValue}var o=ea(e),c={configurable:I.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new tn(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{jn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),dn(this.keysAtom_);try{L();var r=this.delete_(e);if(!r)return r;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Bi,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=ea(e),a={configurable:I.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new rn(t)),this.notifyPropertyAddition_(e,void 0)}finally{jn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),dn(this.keysAtom_),!se(this.target_,e))return!0;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Xi}))return null;try{var n;L();var r=xi(this),i=Wn(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof tn&&(s=a.value_),Nn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Xi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Kn(c),r&&Ci(this,c),i&&Jn()}}finally{jn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=xi(this),i=Wn();if(r||i){var a=r||i?{type:Bi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Kn(a),r&&Ci(this,a),i&&Jn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),E(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Qi(e,t){if(t&&ta(e)&&n(`Options can't be provided for already observable objects.`),se(e,O))return ha(e)instanceof Zi||n(`Cannot convert '`+ga(e)+`' into observable object:
83
+ `)()}}function Rn(e,t,n){if(t.length>=1e3){t.push(`(and many more)`);return}t.push(``+` `.repeat(n-1)+e.name),e.dependencies&&e.dependencies.forEach(function(e){return Rn(e,t,n+1)})}var zn=function(){function e(e,t,n,r){e===void 0&&(e=`Reaction@`+h()),this.name_=void 0,this.onInvalidate_=void 0,this.errorHandler_=void 0,this.requiresObservable_=void 0,this.observing_=[],this.newObserving_=[],this.dependenciesState_=N.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=rn.NONE,this.name_=e,this.onInvalidate_=t,this.errorHandler_=n,this.requiresObservable_=r}var t=e.prototype;return t.onBecomeStale_=function(){this.schedule_()},t.schedule_=function(){this.isScheduled||(this.isScheduled=!0,F.pendingReactions.push(this),Un())},t.runReaction_=function(){if(!this.isDisposed){Mn(),this.isScheduled=!1;var e=F.trackingContext;if(F.trackingContext=this,sn(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Kn()&&qn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}F.trackingContext=e,Nn()}},t.track=function(e){if(!this.isDisposed){Mn();var t=Kn(),n;t&&(n=Date.now(),Jn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=F.trackingContext;F.trackingContext=this;var i=dn(this,e,void 0);F.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&mn(this),on(i)&&this.reportExceptionInDerivation_(i.cause),t&&Xn({time:Date.now()-n}),Nn()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(F.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;F.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Kn()&&qn({type:`error`,name:this.name_,message:n,error:``+e}),F.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Mn(),mn(this),Nn()))},t.getDisposer_=function(e){var t=this,n=function n(){t.dispose(),e==null||e.removeEventListener==null||e.removeEventListener(`abort`,n)};return e==null||e.addEventListener==null||e.addEventListener(`abort`,n),n[A]=this,`dispose`in Symbol&&typeof Symbol.dispose==`symbol`&&(n[Symbol.dispose]=n),n},t.toString=function(){return`Reaction[`+this.name_+`]`},t.trace=function(e){e===void 0&&(e=!1),li(this,e)},fe(e,[{key:`isDisposed`,get:function(){return ce(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=O(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return ce(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=O(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return ce(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=O(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return ce(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=O(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!ce(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=O(this.flags_,e.diffValueMask_,t===1)}}])}();zn.isDisposedMask_=1,zn.isScheduledMask_=2,zn.isTrackPendingMask_=4,zn.isRunningMask_=8,zn.diffValueMask_=16;function Bn(e){return F.globalReactionErrorHandlers.push(e),function(){var t=F.globalReactionErrorHandlers.indexOf(e);t>=0&&F.globalReactionErrorHandlers.splice(t,1)}}var Vn=100,Hn=function(e){return e()};function Un(){F.inBatch>0||F.isRunningReactions||Hn(Wn)}function Wn(){F.isRunningReactions=!0;for(var e=F.pendingReactions,t=0;e.length>0;){++t===Vn&&(console.error(`Reaction doesn't converge to a stable state after `+Vn+` iterations.`+(` Probably there is a cycle in the reactive function: `+e[0])),e.splice(0));for(var n=e.splice(0),r=0,i=n.length;r<i;r++)n[r].runReaction_()}F.isRunningReactions=!1}var L=w(`Reaction`,zn);function Gn(e){var t=Hn;Hn=function(n){return e(function(){return t(n)})}}function Kn(){return!!F.spyListeners.length}function qn(e){if(F.spyListeners.length)for(var t=F.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Jn(e){qn(me({},e,{spyReportStart:!0}))}var Yn={type:`report-end`,spyReportEnd:!0};function Xn(e){qn(e?me({},e,{type:`report-end`,spyReportEnd:!0}):Yn)}function Zn(e){return F.spyListeners.push(e),g(function(){F.spyListeners=F.spyListeners.filter(function(t){return t!==e})})}var Qn=`action`,$n=`action.bound`,er=`autoAction`,tr=`autoAction.bound`,nr=`<unnamed action>`,rr=Je(Qn),ir=Je($n,{bound:!0}),ar=Je(er,{autoAction:!0}),or=Je(tr,{autoAction:!0,bound:!0});function sr(e){return function(t,r){if(v(t))return Gt(t.name||nr,t,e);if(v(r))return Gt(t,r,e);if(Oe(r))return(e?ar:rr).decorate_20223_(t,r);if(y(r))return Te(t,r,e?ar:rr);if(y(t))return we(Je(e?er:Qn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var cr=sr(!1);Object.assign(cr,rr);var lr=sr(!0);Object.assign(lr,ar),cr.bound=we(ir),lr.bound=we(or);function ur(e){return Kt(e.name||nr,!1,e,this,void 0)}function dr(e){return v(e)&&e.isMobxAction===!0}function fr(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),dr(e)&&n(`Autorun does not accept actions since actions are untrackable`);var i=t?.name??(e.name||`Autorun@`+h()),a=!t.scheduler&&!t.delay,o;if(a)o=new zn(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=mr(t),c=!1;o=new zn(i,function(){c||(c=!0,s(function(){c=!1,o.isDisposed||o.track(l)}))},t.onError,t.requiresObservable)}function l(){e(o)}return(r=t)!=null&&(r=r.signal)!=null&&r.aborted||o.schedule_(),o.getDisposer_(t?.signal)}var pr=function(e){return e()};function mr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:pr}function hr(e,t,r){var i;r===void 0&&(r=u),(!v(e)||!v(t))&&n(`First and second argument to reaction should be functions`),x(r)||n(`Third argument of reactions should be an object`);var a=r.name??`Reaction@`+h(),o=cr(a,r.onError?gr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=mr(r),l=!0,d=!1,f,p=r.compareStructural?Le.structural:r.equals||Le.default,m=new zn(a,function(){l||s?g():d||(d=!0,c(g))},r.onError,r.requiresObservable);function g(){if(d=!1,!m.isDisposed){var t=!1,n=f;m.track(function(){var n=Yt(!1,function(){return e(m)});t=l||!p(f,n),f=n}),(l&&r.fireImmediately||!l&&t)&&o(f,n,m),l=!1}}return(i=r)!=null&&(i=i.signal)!=null&&i.aborted||m.schedule_(),m.getDisposer_(r?.signal)}function gr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var _r=`onBO`,vr=`onBUO`;function yr(e,t,n){return xr(_r,e,t,n)}function br(e,t,n){return xr(vr,e,t,n)}function xr(e,t,n,r){var i=typeof r==`function`?ga(t,n):ga(t),a=v(r)?r:n,o=e+`L`;return i[o]?i[o].add(a):i[o]=new Set([a]),function(){var e=i[o];e&&(e.delete(a),e.size===0&&delete i[o])}}var Sr=`never`,Cr=`always`,wr=`observed`;function Tr(e){e.isolateGlobalState===!0&&wn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(F.useProxies=t===Cr?!0:t===Sr?!1:typeof Proxy<`u`),t===`ifavailable`&&(F.verifyProxies=!0),n!==void 0){var r=n===Cr?Cr:n===wr;F.enforceActions=r,F.allowStateChanges=!(r===!0||r===Cr)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(F[t]=!!e[t])}),F.allowStateReads=!F.observableRequiresReaction,F.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Gn(e.reactionScheduler)}function Er(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Wi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Yr(t)||Yr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=se(t);return ya(function(){var t=ea(e,i)[A];E(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function Dr(e,t){return Or(ga(e,t))}function Or(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=jr(e.observing_).map(Or)),t}function kr(e,t){return Ar(ga(e,t))}function Ar(e){var t={name:e.name_};return Dn(e)&&(t.observers=Array.from(On(e)).map(Ar)),t}function jr(e){return Array.from(new Set(e))}var Mr=0,Nr=function(e){function t(){var n=e.call(this,`FLOW_CANCELLED`)||this;return Object.setPrototypeOf(n,(this instanceof t?this.constructor:void 0).prototype),n.name=`FlowCancellationError`,n}ge(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Se(Error));function Pr(e){return e instanceof Nr}var Fr=et(`flow`),Ir=et(`flow.bound`,{bound:!0}),Lr=Object.assign(function(e,t){if(Oe(t))return Fr.decorate_20223_(e,t);if(y(t))return Te(e,t,Fr);arguments.length!==1&&n(`Flow expects single argument with generator function`);var r=e,i=r.name||`<unnamed flow>`,a=function(){var e=this,t=arguments,n=++Mr,a=cr(i+` - runid: `+n+` - init`,r).apply(e,t),o,s=void 0,c=new Promise(function(e,t){var r=0;o=t;function c(e){s=void 0;var o;try{o=cr(i+` - runid: `+n+` - yield `+ r++,a.next).call(a,e)}catch(e){return t(e)}u(o)}function l(e){s=void 0;var o;try{o=cr(i+` - runid: `+n+` - yield `+ r++,a.throw).call(a,e)}catch(e){return t(e)}u(o)}function u(n){if(v(n?.then)){n.then(u,t);return}return n.done?e(n.value):(s=Promise.resolve(n.value),s.then(c,l))}c(void 0)});return c.cancel=cr(i+` - runid: `+n+` - cancel`,function(){try{s&&Rr(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Rr(t),o(new Nr)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Fr);Lr.bound=we(Ir);function Rr(e){v(e.cancel)&&e.cancel()}function zr(e){return e}function Br(e){return e?.isMobXFlow===!0}function Vr(e,t,r){var i;if(Wi(e)||zi(e)||en(e))i=_a(e);else if(ra(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=_a(e,t)}else return n(`Expected observable map, object or array as first array`);return i.dehancer===void 0?(i.dehancer=typeof t==`function`?t:r,function(){i.dehancer=void 0}):n(`An intercept reader was already established`)}function Hr(e,t,n){return v(n)?Wr(e,t,n):Ur(e,t)}function Ur(e,t){return _a(e).intercept_(t)}function Wr(e,t,n){return _a(e,t).intercept_(n)}function Gr(e,t){return t===void 0?nn(e):ra(e)===!1||!e[A].values_.has(t)?!1:nn(ga(e,t))}function Kr(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Gr(e)}function qr(e,t){return y(t)?Gr(e,t):n(`isComputed expected a property name as second argument`)}function Jr(e,t){return e?t===void 0?ra(e)||!!e[A]||je(e)||L(e)||nn(e):Wi(e)||zi(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ra(e)?e[A].values_.has(t):!1:!1}function Yr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),Jr(e)}function Xr(e,t){return y(t)?Jr(e,t):n(`expected a property name as second argument`)}function Zr(e){if(ra(e))return e[A].keys_();if(Wi(e)||Yi(e))return Array.from(e.keys());if(zi(e))return e.map(function(e,t){return t});n(5)}function Qr(e){if(ra(e))return Zr(e).map(function(t){return e[t]});if(Wi(e))return Zr(e).map(function(t){return e.get(t)});if(Yi(e))return Array.from(e.values());if(zi(e))return e.slice();n(6)}function $r(e){if(ra(e))return Zr(e).map(function(t){return[t,e[t]]});if(Wi(e))return Zr(e).map(function(t){return[t,e.get(t)]});if(Yi(e))return Array.from(e.entries());if(zi(e))return e.map(function(e,t){return[t,e]});n(7)}function ei(e,t,r){if(arguments.length===2&&!Yi(e)){Mn();var i=t;try{for(var a in i)ei(e,a,i[a])}finally{Nn()}return}ra(e)?e[A].set_(t,r):Wi(e)?e.set(t,r):Yi(e)?e.add(t):zi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),Mn(),t>=e.length&&(e.length=t+1),e[t]=r,Nn()):n(8)}function ti(e,t){ra(e)?e[A].delete_(t):Wi(e)||Yi(e)?e.delete(t):zi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function ni(e,t){if(ra(e))return e[A].has_(t);if(Wi(e)||Yi(e))return e.has(t);if(zi(e))return t>=0&&t<e.length;n(10)}function ri(e,t){if(ni(e,t)){if(ra(e))return e[A].get_(t);if(Wi(e))return e.get(t);if(zi(e))return e[t];n(11)}}function ii(e,t,r){if(ra(e))return e[A].defineProperty_(t,r);n(39)}function ai(e){if(ra(e))return e[A].ownKeys_();n(38)}function oi(e,t,n,r){return v(n)?R(e,t,n,r):si(e,t,n)}function si(e,t,n){return _a(e).observe_(t,n)}function R(e,t,n,r){return _a(e,t).observe_(n,r)}function z(e,t,n){return e.set(t,n),n}function B(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Yr(e))return e;if(en(e)||nn(e))return B(e.get(),t);if(t.has(e))return t.get(e);if(zi(e)){var n=z(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=B(e,t)}),n}if(Yi(e)){var r=z(t,e,new Set);return e.forEach(function(e){r.add(B(e,t))}),r}if(Wi(e)){var i=z(t,e,new Map);return e.forEach(function(e,n){i.set(n,B(e,t))}),i}else{var a=z(t,e,{});return ai(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=B(e[n],t))}),a}}function ci(e,t){return t&&n(`toJS no longer supports options`),B(e,new Map)}function li(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ui(t);if(!r)return n(`'trace(break?)' can only be used inside a tracked computed value or a Reaction. Consider passing in the computed value or reaction explicitly`);r.isTracing_===rn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?rn.BREAK:rn.LOG}function ui(e){switch(e.length){case 0:return F.trackingDerivation;case 1:return ga(e[0]);case 2:return ga(e[0],e[1])}}function di(e,t){t===void 0&&(t=void 0),Mn();try{return e.apply(t)}finally{Nn()}}function fi(e,t,n){return arguments.length===1||t&&typeof t==`object`?mi(e,t):pi(e,t,n||{})}function pi(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[A].isDisposed)if(o(),n.onError)n.onError(i);else throw i},n.timeout)}n.name=n.name||`When@`+h();var a=Gt(n.name+`-effect`,t),o=fr(function(t){Yt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function mi(e,t){var r;if(t&&t.onError)return n(`the options 'onError' and 'promise' cannot be combined`);if(t!=null&&(r=t.signal)!=null&&r.aborted)return Object.assign(Promise.reject(Error(`WHEN_ABORTED`)),{cancel:function(){return null}});var i,a,o=new Promise(function(n,r){var o,s=pi(e,n,me({},t,{onError:r}));i=function(){s(),r(Error(`WHEN_CANCELLED`))},a=function(){s(),r(Error(`WHEN_ABORTED`))},t==null||(o=t.signal)==null||o.addEventListener==null||o.addEventListener(`abort`,a)}).finally(function(){var e;return t==null||(e=t.signal)==null||e.removeEventListener==null?void 0:e.removeEventListener(`abort`,a)});return o.cancel=i,o}function hi(e){return e[A]}var gi={has:function(e,t){return F.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),hi(e).has_(t)},get:function(e,t){return hi(e).get_(t)},set:function(e,t,n){return y(t)?(hi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),hi(e).set_(t,n,!0)??!0):!1},deleteProperty:function(e,t){return m(`delete properties from an observable object. Use 'remove' from 'mobx' instead.`),y(t)?hi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),hi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return F.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),hi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function _i(e,t){var n;return p(),e=ea(e,t),(n=e[A]).proxy_??(n.proxy_=new Proxy(e,gi))}function vi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function yi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function bi(e,t){var r=P();try{for(var i=[].concat(e.interceptors_||[]),a=0,o=i.length;a<o&&(t=i[a](t),t&&!t.type&&n(14),t);a++);return t}finally{gn(r)}}function xi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function Si(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Ci(e,t){var n=P(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);gn(n)}}function wi(e,t,r){return ya(function(){var i=ea(e,r)[A];t&&e[Ce]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=De(e),E(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ti=Symbol(`mobx-keys`);function Ei(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ra(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Er(e,e,t,r):(ya(function(){var n=ea(e,r)[A];if(!e[Ti]){var i=Object.getPrototypeOf(e),a=new Set([].concat(E(e),E(i)));a.delete(`constructor`),a.delete(A),C(i,Ti,a)}e[Ti].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Di=`splice`,Oi=`update`,ki=1e4,Ai={get:function(e,t){var n=e[A];return t===A?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):D(Ni,t)?Ni[t]:e[t]},set:function(e,t,n){var r=e[A];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},ji=function(){function e(e,t,n,r){e===void 0&&(e=`ObservableArray@`+h()),this.owned_=void 0,this.legacyMode_=void 0,this.atom_=void 0,this.values_=[],this.interceptors_=void 0,this.changeListeners_=void 0,this.enhancer_=void 0,this.dehancer=void 0,this.proxy_=void 0,this.lastKnownLength_=0,this.owned_=n,this.legacyMode_=r,this.atom_=new Ae(e),this.enhancer_=function(n,r){return t(n,r,e+`[..]`)}}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.dehanceValues_=function(e){return this.dehancer!==void 0&&e.length>0?e.map(this.dehancer):e},t.intercept_=function(e){return yi(this,e)},t.observe_=function(e,t){return t===void 0&&(t=!1),t&&e({observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:`splice`,index:0,added:this.values_.slice(),addedCount:this.values_.length,removed:[],removedCount:0}),Si(this,e)},t.getArrayLength_=function(){return this.atom_.reportObserved(),this.values_.length},t.setArrayLength_=function(e){(typeof e!=`number`||isNaN(e)||e<0)&&n(`Out of range: `+e);var t=this.values_.length;if(e!==t)if(e>t){for(var r=Array(e-t),i=0;i<e-t;i++)r[i]=void 0;this.spliceWithArray_(t,0,r)}else this.spliceWithArray_(e,t-e)},t.updateArrayLength_=function(e,t){e!==this.lastKnownLength_&&n(16),this.lastKnownLength_+=t,this.legacyMode_&&t>0&&ma(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;ln(this.atom_);var i=this.values_.length;if(e===void 0?e=0:e>i?e=i:e<0&&(e=Math.max(0,i+e)),t=arguments.length===1?i-e:t==null?0:Math.max(0,Math.min(t,i-e)),n===void 0&&(n=l),vi(this)){var a=bi(this,{object:this.proxy_,type:Di,index:e,removedCount:t,added:n});if(!a)return l;t=a.removedCount,n=a.added}if(n=n.length===0?n:n.map(function(e){return r.enhancer_(e,void 0)}),this.legacyMode_||!0){var o=n.length-t;this.updateArrayLength_(i,o)}var s=this.spliceItemsIntoValues_(e,t,n);return(t!==0||n.length!==0)&&this.notifyArraySplice_(e,n,s),this.dehanceValues_(s)},t.spliceItemsIntoValues_=function(e,t,n){if(n.length<ki){var r;return(r=this.values_).splice.apply(r,[e,t].concat(n))}else{var i=this.values_.slice(e,e+t),a=this.values_.slice(e+t);this.values_.length+=n.length-t;for(var o=0;o<n.length;o++)this.values_[e+o]=n[o];for(var s=0;s<a.length;s++)this.values_[e+n.length+s]=a[s];return i}},t.notifyArrayChildUpdate_=function(e,t,n){var r=!this.owned_&&Kn(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Oi,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Jn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Xn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Kn(),i=xi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Di,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Jn(a),this.atom_.reportChanged(),i&&Ci(this,a),r&&Xn()},t.get_=function(e){if(this.legacyMode_&&e>=this.values_.length){console.warn(`[mobx.array] Attempt to read an array index (`+e+`) that is out of bounds (`+this.values_.length+`). Please check length first. Out of bound indices will not be tracked by MobX`);return}return this.atom_.reportObserved(),this.dehanceValue_(this.values_[e])},t.set_=function(e,t){var r=this.values_;if(this.legacyMode_&&e>r.length&&n(17,e,r.length),e<r.length){ln(this.atom_);var i=r[e];if(vi(this)){var a=bi(this,{type:Oi,object:this.proxy_,index:e,newValue:t});if(!a)return;t=a.newValue}t=this.enhancer_(t,i),t!==i&&(r[e]=t,this.notifyArrayChildUpdate_(e,t,i))}else{for(var o=Array(e+1-r.length),s=0;s<o.length-1;s++)o[s]=void 0;o[o.length-1]=t,this.spliceWithArray_(r.length,0,o)}},e}();function Mi(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ya(function(){var i=new ji(n,t,r,!1);ee(i.values_,A,i);var a=new Proxy(i.values_,Ai);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var Ni={clear:function(){return this.splice(0)},replace:function(e){var t=this[A];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[A];switch(arguments.length){case 0:return[];case 1:return r.spliceWithArray_(e);case 2:return r.spliceWithArray_(e,t)}return r.spliceWithArray_(e,t,n)},spliceWithArray:function(e,t,n){return this[A].spliceWithArray_(e,t,n)},push:function(){var e=this[A],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[A].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[A],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return F.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){F.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[A],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};Pi(`at`,Fi),Pi(`concat`,Fi),Pi(`flat`,Fi),Pi(`includes`,Fi),Pi(`indexOf`,Fi),Pi(`join`,Fi),Pi(`lastIndexOf`,Fi),Pi(`slice`,Fi),Pi(`toString`,Fi),Pi(`toLocaleString`,Fi),Pi(`toSorted`,Fi),Pi(`toSpliced`,Fi),Pi(`with`,Fi),Pi(`every`,Ii),Pi(`filter`,Ii),Pi(`find`,Ii),Pi(`findIndex`,Ii),Pi(`findLast`,Ii),Pi(`findLastIndex`,Ii),Pi(`flatMap`,Ii),Pi(`forEach`,Ii),Pi(`map`,Ii),Pi(`some`,Ii),Pi(`toReversed`,Ii),Pi(`reduce`,Li),Pi(`reduceRight`,Li);function Pi(e,t){typeof Array.prototype[e]==`function`&&(Ni[e]=t(e))}function Fi(e){return function(){var t=this[A];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Ii(e){return function(t,n){var r=this,i=this[A];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Li(e){return function(){var t=this,n=this[A];n.atom_.reportObserved();var r=n.dehanceValues_(n.values_),i=arguments[0];return arguments[0]=function(e,n,r){return i(e,n,r,t)},r[e].apply(r,arguments)}}var Ri=w(`ObservableArrayAdministration`,ji);function zi(e){return b(e)&&Ri(e[A])}var Bi={},Vi=`add`,Hi=`delete`,Ui=function(){function e(e,t,r){var i=this;t===void 0&&(t=Re),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[A]=Bi,this.data_=void 0,this.hasMap_=void 0,this.keysAtom_=void 0,this.interceptors_=void 0,this.changeListeners_=void 0,this.dehancer=void 0,this.enhancer_=t,this.name_=r,v(Map)||n(18),ya(function(){i.keysAtom_=Me(i.name_+`.keys()`),i.data_=new Map,i.hasMap_=new Map,e&&i.merge(e)})}var t=e.prototype;return t.has_=function(e){return this.data_.has(e)},t.has=function(e){var t=this;if(!F.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new $t(this.has_(e),Be,this.name_+`.`+ae(e)+`?`,!1);this.hasMap_.set(e,r),br(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(vi(this)){var r=bi(this,{type:n?Oi:Vi,object:this,newValue:t,name:e});if(!r)return this;t=r.newValue}return n?this.updateValue_(e,t):this.addValue_(e,t),this},t.delete=function(e){var t=this;if(ln(this.keysAtom_),vi(this)&&!bi(this,{type:Hi,object:this,name:e}))return!1;if(this.has_(e)){var n=Kn(),r=xi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Hi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Jn(i),di(function(){var n;t.keysAtom_.reportChanged(),(n=t.hasMap_.get(e))==null||n.setNewValue_(!1),t.data_.get(e).setNewValue_(void 0),t.data_.delete(e)}),r&&Ci(this,i),n&&Xn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==F.UNCHANGED){var r=Kn(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Oi,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Jn(a),n.setNewValue_(t),i&&Ci(this,a),r&&Xn()}},t.addValue_=function(e,t){var n=this;ln(this.keysAtom_),di(function(){var r,i=new $t(t,n.enhancer_,n.name_+`.`+ae(e),!1);n.data_.set(e,i),t=i.value_,(r=n.hasMap_.get(e))==null||r.setNewValue_(!0),n.keysAtom_.reportChanged()});var r=Kn(),i=xi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Vi,object:this,name:e,newValue:t}:null;r&&Jn(a),i&&Ci(this,a),r&&Xn()},t.get=function(e){return this.has(e)?this.dehanceValue_(this.data_.get(e).get()):this.dehanceValue_(void 0)},t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.keys=function(){return this.keysAtom_.reportObserved(),this.data_.keys()},t.values=function(){var e=this,t=this.keys();return Gi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:e.get(i)}}})},t.entries=function(){var e=this,t=this.keys();return Gi({next:function(){var n=t.next(),r=n.done,i=n.value;return{done:r,value:r?void 0:[i,e.get(i)]}}})},t[Symbol.iterator]=function(){return this.entries()},t.forEach=function(e,t){for(var n=pe(this),r;!(r=n()).done;){var i=r.value,a=i[0],o=i[1];e.call(t,o,a,this)}},t.merge=function(e){var t=this;return Wi(e)&&(e=new Map(e)),di(function(){x(e)?T(e).forEach(function(n){return t.set(n,e[n])}):Array.isArray(e)?e.forEach(function(e){var n=e[0],r=e[1];return t.set(n,r)}):te(e)?(ne(e)||n(19,e),e.forEach(function(e,n){return t.set(n,e)})):e!=null&&n(20,e)}),this},t.clear=function(){var e=this;di(function(){hn(function(){for(var t=pe(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return di(function(){for(var n=Ki(e),r=new Map,i=!1,a=pe(t.data_.keys()),o;!(o=a()).done;){var s=o.value;if(!n.has(s))if(t.delete(s))i=!0;else{var c=t.data_.get(s);r.set(s,c)}}for(var l=pe(n.entries()),u;!(u=l()).done;){var d=u.value,f=d[0],p=d[1],m=t.data_.has(f);if(t.set(f,p),t.data_.has(f)){var h=t.data_.get(f);r.set(f,h),m||(i=!0)}}if(!i)if(t.data_.size!==r.size)t.keysAtom_.reportChanged();else for(var g=t.data_.keys(),_=r.keys(),v=g.next(),y=_.next();!v.done;){if(v.value!==y.value){t.keysAtom_.reportChanged();break}v=g.next(),y=_.next()}t.data_=r}),this},t.toString=function(){return`[object ObservableMap]`},t.toJSON=function(){return Array.from(this)},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with maps."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},fe(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Wi=w(`ObservableMap`,Ui);function Gi(e){return e[Symbol.toStringTag]=`MapIterator`,Ta(e)}function Ki(e){if(te(e)||Wi(e))return e;if(Array.isArray(e))return new Map(e);if(x(e)){var t=new Map;for(var r in e)t.set(r,e[r]);return t}else return n(21,e)}var qi={},Ji=function(){function e(e,t,r){var i=this;t===void 0&&(t=Re),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[A]=qi,this.data_=new Set,this.atom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.dehancer=void 0,this.enhancer_=void 0,this.name_=r,v(Set)||n(22),this.enhancer_=function(e,n){return t(e,n,r)},ya(function(){i.atom_=Me(i.name_),e&&i.replace(e)})}var t=e.prototype;return t.dehanceValue_=function(e){return this.dehancer===void 0?e:this.dehancer(e)},t.clear=function(){var e=this;di(function(){hn(function(){for(var t=pe(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=pe(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(ln(this.atom_),vi(this)){var n=bi(this,{type:Vi,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){di(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Kn(),i=xi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Vi,object:this,newValue:e}:null;r&&Jn(a),i&&Ci(this,a),r&&Xn()}return this},t.delete=function(e){var t=this;if(vi(this)&&!bi(this,{type:Hi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Kn(),r=xi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Hi,object:this,oldValue:e}:null;return n&&Jn(i),di(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&Ci(this,i),n&&Xn(),!0}return!1},t.has=function(e){return this.atom_.reportObserved(),this.data_.has(this.dehanceValue_(e))},t.entries=function(){var e=this.values();return Xi({next:function(){var t=e.next(),n=t.value,r=t.done;return r?{value:void 0,done:r}:{value:[n,n],done:r}}})},t.keys=function(){return this.values()},t.values=function(){this.atom_.reportObserved();var e=this,t=this.data_.values();return Xi({next:function(){var n=t.next(),r=n.value,i=n.done;return i?{value:void 0,done:i}:{value:e.dehanceValue_(r),done:i}}})},t.intersection=function(e){return re(e)&&!Yi(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return re(e)&&!Yi(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return re(e)&&!Yi(e)?e.symmetricDifference(this):new Set(this).symmetricDifference(e)},t.isSubsetOf=function(e){return new Set(this).isSubsetOf(e)},t.isSupersetOf=function(e){return new Set(this).isSupersetOf(e)},t.isDisjointFrom=function(e){return re(e)&&!Yi(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Yi(e)&&(e=new Set(e)),di(function(){Array.isArray(e)||re(e)?(t.clear(),e.forEach(function(e){return t.add(e)})):e!=null&&n(`Cannot initialize set from `+e)}),this},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support fireImmediately=true in combination with sets."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},fe(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Yi=w(`ObservableSet`,Ji);function Xi(e){return e[Symbol.toStringTag]=`SetIterator`,Ta(e)}var Zi=Object.create(null),Qi=`remove`,$i=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=_t),this.target_=void 0,this.values_=void 0,this.name_=void 0,this.defaultAnnotation_=void 0,this.keysAtom_=void 0,this.changeListeners_=void 0,this.interceptors_=void 0,this.proxy_=void 0,this.isPlainObject_=void 0,this.appliedAnnotations_=void 0,this.pendingKeys_=void 0,this.target_=e,this.values_=t,this.name_=r,this.defaultAnnotation_=i,this.keysAtom_=new Ae(this.name_+`.keys`),this.isPlainObject_=x(this.target_),Da(this.defaultAnnotation_)||n(`defaultAnnotation must be valid annotation`),this.appliedAnnotations_={}}var t=e.prototype;return t.getObservablePropValue_=function(e){return this.values_.get(e).get()},t.setObservablePropValue_=function(e,t){var n=this.values_.get(e);if(n instanceof tn)return n.set(t),!0;if(vi(this)){var r=bi(this,{type:Oi,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==F.UNCHANGED){var i=xi(this),a=Kn(),o=i||a?{type:Oi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Jn(o),n.setNewValue_(t),i&&Ci(this,o),a&&Xn()}return!0},t.get_=function(e){return F.trackingDerivation&&!D(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),D(this.target_,e)?this.values_.has(e)?this.setObservablePropValue_(e,t):n?Reflect.set(this.target_,e,t):(this.target_[e]=t,!0):this.extend_(e,{value:t,enumerable:!0,writable:!0,configurable:!0},this.defaultAnnotation_,n)},t.has_=function(e){if(!F.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new $t(e in this.target_,Be,this.name_+`.`+ae(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(aa(this,t,e),!(e in this.target_)){var r;if((r=this.target_[Ce])!=null&&r[e])return;n(1,t.annotationType_,this.name_+`.`+e.toString())}for(var i=this.target_;i&&i!==c;){var a=o(i,e);if(a){var s=t.make_(this,e,a,i);if(s===0)return;if(s===1)break}i=Object.getPrototypeOf(i)}ia(this,t,e)}},t.extend_=function(e,t,n,r){if(r===void 0&&(r=!1),n===!0&&(n=this.defaultAnnotation_),n===!1)return this.defineProperty_(e,t,r);aa(this,n,e);var i=n.extend_(this,e,t,r);return i&&ia(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),ln(this.keysAtom_);try{Mn();var r=this.delete_(e);if(!r)return r;if(vi(this)){var i=bi(this,{object:this.proxy_||this.target_,name:e,type:Vi,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=me({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.target_,e,t))return!1}else s(this.target_,e,t);this.notifyPropertyAddition_(e,t.value)}finally{Nn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),ln(this.keysAtom_);try{Mn();var i=this.delete_(e);if(!i)return i;if(vi(this)){var a=bi(this,{object:this.proxy_||this.target_,name:e,type:Vi,newValue:t});if(!a)return null;t=a.newValue}var o=na(e),c={configurable:F.safeDescriptors?this.isPlainObject_:!0,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.target_,e,c))return!1}else s(this.target_,e,c);var l=new $t(t,n,this.name_+`.`+e.toString(),!1);this.values_.set(e,l),this.notifyPropertyAddition_(e,l.value_)}finally{Nn()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),ln(this.keysAtom_);try{Mn();var r=this.delete_(e);if(!r)return r;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Vi,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=na(e),a={configurable:F.safeDescriptors?this.isPlainObject_:!0,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.target_,e,a))return!1}else s(this.target_,e,a);this.values_.set(e,new tn(t)),this.notifyPropertyAddition_(e,void 0)}finally{Nn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),ln(this.keysAtom_),!D(this.target_,e))return!0;if(vi(this)&&!bi(this,{object:this.proxy_||this.target_,name:e,type:Qi}))return null;try{var n;Mn();var r=xi(this),i=Kn(),a=this.values_.get(e),s=void 0;if(!a&&(r||i)&&(s=o(this.target_,e)?.value),t){if(!Reflect.deleteProperty(this.target_,e))return!1}else delete this.target_[e];if(delete this.appliedAnnotations_[e],a&&(this.values_.delete(e),a instanceof $t&&(s=a.value_),Fn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Qi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Jn(c),r&&Ci(this,c),i&&Xn()}}finally{Nn()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),Si(this,e)},t.intercept_=function(e){return yi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=xi(this),i=Kn();if(r||i){var a=r||i?{type:Vi,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Jn(a),r&&Ci(this,a),i&&Xn()}(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(!0),this.keysAtom_.reportChanged()},t.ownKeys_=function(){return this.keysAtom_.reportObserved(),E(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function ea(e,t){if(t&&ra(e)&&n(`Options can't be provided for already observable objects.`),D(e,A))return _a(e)instanceof $i||n(`Cannot convert '`+va(e)+`' into observable object:
84
84
  The target is already observable of different type.
85
- Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,O,new Zi(e,new Map,String(r),It(t))),e}var $i=w(`ObservableObjectAdministration`,Zi);function ea(e){return Yi[e]||(Yi[e]={get:function(){return this[O].getObservablePropValue_(e)},set:function(t){return this[O].setObservablePropValue_(e,t)}})}function ta(e){return b(e)?$i(e[O]):!1}function na(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Te])==null||delete r[n]}function ra(e,t,r){if(wa(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!Ke(t)&&se(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
85
+ Extending builtins is not supported.`),e;Object.isExtensible(e)||n(`Cannot make the designated object observable; it is not extensible`);var r=t?.name??(x(e)?`ObservableObject`:e.constructor.name)+`@`+h();return C(e,A,new $i(e,new Map,String(r),Nt(t))),e}var ta=w(`ObservableObjectAdministration`,$i);function na(e){return Zi[e]||(Zi[e]={get:function(){return this[A].getObservablePropValue_(e)},set:function(t){return this[A].setObservablePropValue_(e,t)}})}function ra(e){return b(e)?ta(e[A]):!1}function ia(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Ce])==null||delete r[n]}function aa(e,t,r){if(Da(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!We(t)&&D(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
86
86
  The field is already annotated with '`+a+`'.`)+`
87
87
  Re-annotating fields is not allowed.
88
- Use 'override' annotation for methods overridden by subclass.`)}}var ia=ua(0),aa=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),oa=0,sa=function(){};function ca(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}ca(sa,Array.prototype);var la=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,_a(function(){var e=new Ai(r,n,i,!0);e.proxy_=a,ee(a,O,e),t&&t.length&&a.spliceWithArray(0,0,t),aa&&Object.defineProperty(a,`0`,ia)}),a}ve(t,e);var n=t.prototype;return n.concat=function(){this[O].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Ri(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return U({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},me(t,[{key:`length`,get:function(){return this[O].getArrayLength_()},set:function(e){this[O].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(sa);Object.entries(Mi).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(la.prototype,t,n)});function ua(e){return{enumerable:!1,configurable:!0,get:function(){return this[O].get_(e)},set:function(t){this[O].set_(e,t)}}}function da(e){s(la.prototype,``+e,ua(e))}function fa(e){if(e>oa){for(var t=oa;t<e+100;t++)da(t);oa=e}}fa(1e3);function pa(e,t,n){return new la(e,t,n)}function ma(e,t){if(typeof e==`object`&&e){if(Ri(e))return t!==void 0&&n(23),e[O].atom_;if(qi(e))return e.atom_;if(Ui(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ga(e)),r}if(ta(e)){if(!t)return n(26);var i=e[O].values_.get(t);return i||n(27,t,ga(e)),i}if(Ne(e)||an(e)||z(e))return e}else if(v(e)&&z(e[O]))return e[O];n(28)}function ha(e,t){if(e||n(29),t!==void 0)return ha(ma(e,t));if(Ne(e)||an(e)||z(e)||Ui(e)||qi(e))return e;if(e[O])return e[O];n(24,e)}function ga(e,t){var n;if(t!==void 0)n=ma(e,t);else if(lr(e))return e.name;else n=ta(e)||Ui(e)||qi(e)?ha(e):ma(e);return n.name_}function _a(e){var t=N(),n=Qt(!0);L();try{return e()}finally{jn(),$t(n),P(t)}}var va=c.toString;function ya(e,t,n){return n===void 0&&(n=-1),ba(e,t,n)}function ba(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=va.call(e);if(o!==va.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=xa(e),t=xa(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!ba(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(se(t,m)&&ba(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function xa(e){return Ri(e)?e.slice():te(e)||Ui(e)||re(e)||qi(e)?Array.from(e.entries()):e}var Sa=i().Iterator?.prototype||{};function U(e){return e[Symbol.iterator]=Ca,Object.assign(Object.create(Sa),e)}function Ca(){return this}function wa(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Yn,extras:{getDebugName:ga},$mobx:O}),e.$mobx=O,e.FlowCancellationError=Ar,e.ObservableMap=Hi,e.ObservableSet=Ki,e.Reaction=Ln,e._allowStateChanges=Zt,e._allowStateChangesInsideComputed=cr,e._allowStateReadsEnd=vn,e._allowStateReadsStart=_n,e._autoAction=sr,e._endAction=Xt,e._getAdministration=ha,e._getGlobalState=wn,e._interceptReads=Rr,e._isComputingDerivation=un,e._resetGlobalState=Tn,e._startAction=Yt,e.action=or,e.autorun=ur,e.comparer=ze,e.computed=Ut,e.configure=Sr,e.createAtom=Pe,e.defineProperty=ti,e.entries=Xr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Ir,e.get=ei,e.getAtom=ma,e.getDebugName=ga,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=$r,e.intercept=zr,e.isAction=lr,e.isBoxedObservable=nn,e.isComputed=Ur,e.isComputedProp=Wr,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Kr,e.isObservableArray=Ri,e.isObservableMap=Ui,e.isObservableObject=ta,e.isObservableProp=qr,e.isObservableSet=qi,e.keys=Jr,e.makeAutoObservable=Ei,e.makeObservable=wi,e.observable=k,e.observe=ri,e.onBecomeObserved=_r,e.onBecomeUnobserved=vr,e.onReactionError=Rn,e.override=Ge,e.ownKeys=ni,e.reaction=pr,e.remove=Qr,e.runInAction=cr,e.set=Zr,e.spy=Yn,e.toJS=ci,e.trace=li,e.transaction=di,e.untracked=gn,e.values=Yr,e.when=fi})),Rx=ve(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Ix():t.exports=Lx()}))();function zx(e){if(Array.isArray(e))return Object.freeze(e.map(zx));if(typeof e==`object`&&e){let t=Object.create(null),n=Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t));for(let[e,r]of n)t[e]=zx(r);return Object.freeze(t)}return e}function Bx(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function Vx(e){return typeof e==`string`?e:String(e)}function Hx(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function Ux(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}function Wx(e,t){if(!(e instanceof U))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=Ai(e.style,t),n}function Gx(e){return{fn:(t=>Wx(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function Kx(e){return{fn:((t,n)=>Wx(n,new V({[e]:L.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function qx(e,t){return new V({[e]:t})}function Jx(){let e={};for(let t of Ci)e[t]=Gx(qx(t,!0)),e[`not_${t}`]=Gx(qx(t,!1));for(let[t,n]of Object.entries(Ti))e[t]=Gx(qx(n,!0));return e}const Yx={fn:((e,t)=>Wx(t,V.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},Xx={fn:((e,t)=>Wx(t,new V({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function Zx(){return{fg:Kx(`color`),bg:Kx(`bgcolor`),...Jx(),link:Xx,style:Yx}}function Qx(e,t){let n;try{n=Un(e.trim())}catch(n){throw n instanceof kn?TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`,{cause:n}):n}return $x(n,t,JSON.stringify(e))}function $x(e,t,n){if(e.alpha===0)throw RangeError(`${t} got ${n}, which is fully transparent: it draws no colour of its own, so there is nothing to compute with — use the colour of the surface it sits on, e.g. (color "background")`);return e}function eS(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function tS(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`)}return e}const nS=eS([`string`,`int`],((e,t)=>Er(Qx(e,`darken`),t).hex)),rS=eS([`string`,`int`],((e,t)=>Er(Qx(e,`lighten`),-t).hex)),iS={min:0,max:100,note:`0 = from, 100 = toward`},aS=eS([`string`,`string`,`float`],((e,t,n)=>Wn(Qx(e,`mix`),Qx(t,`mix`),tS(n,`mix`,`percentage`,iS)/100).hex)),oS={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},sS=eS([`string`],(e=>Or(Qx(e,`contrastOn`)).hex)),cS={depth:F.TRUECOLOR},lS=e=>eS([`string`,`string`,`float`],((t,n,r)=>{let{depth:i,terminal:a}=e();return kr(Qx(t,`readableOn`),Qx(n,`readableOn`),tS(r,`readableOn`,`ratio`,oS),i,void 0,a).hex})),uS={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function dS(){let e={};for(let[t,n]of Object.entries(uS)){let r=t;e[n]=eS([`string`,`float`],((e,t)=>{let i={...cr,[r]:tS(t,n,`amount`)};return B.fromRgba(Qx(e,n)).applyKey(i).toRgba().hex}))}return e}function fS(e=()=>cS){return{darken:nS,lighten:rS,mix:aS,contrastOn:sS,readableOn:lS(e),...dS()}}function pS(e,t){if(e.length%2!=0)throw RangeError(`ramp's last stop (position ${String(e[e.length-1])}) has no color — stops are <position> <color> pairs`);let n=[];for(let r=0;r<e.length;r+=2)n.push({at:e[r],color:$x(br(t,e[r+1]),`ramp`,JSON.stringify(e[r+1]))});return n}function mS(e){return{color:{fn:(t=>br(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new fi(vi(n),pS(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function hS(e){return{...Zx(),...fS(e)}}new V({color:`red`,dim:!0});const gS=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,_S=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function vS(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(gS);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(_S);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function yS(e){let t=e.match(_S);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function bS(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function xS(e){return e.toLocaleString()}function SS(e){if(e.length===0)throw Error(`a cascade needs at least one stop, e.g. "0:calm"`);let t=[];for(let[n,r]of e.entries()){let e=r.indexOf(`:`),i=e<0?NaN:Number(r.slice(0,e));if(!Number.isFinite(i))throw Error(`cascade stop ${n} ("${r}") must be "<position>:<result>", e.g. "80:hot" — the position must be a number`);let a=t[n-1];if(a!==void 0&&i<a.at)throw Error(`cascade stops must be in ascending position order; stop ${n} at ${i} follows stop ${n-1} at ${a.at}`);t.push({at:i,text:r.slice(e+1)})}return t}function CS(e,t){if(!Number.isFinite(e))throw Error(`a cascade needs a finite value, got ${e}`);let n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;return(n<0?t[0]:t[n]).text}const wS=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],TS=wS.length;function ES(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(TS-1));o+=wS[t]}return o}function DS(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}function OS(e,t,n){if(n.length!==0)throw Error(`${e}: takes at most ${t.length} optional argument${t.length===1?``:`s`} (${t.join(`, `)}), got ${t.length+n.length}`)}const kS=Nc(),AS=[...Qc];function jS(){return{basename:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>d(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>bS(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(Hx(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Vx(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Ux(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>kS,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>AS,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(OS(`sparkline`,[`width`],n),ES(DS(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>CS(e,SS(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function MS(e){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>xS(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>vS(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>yS(e),argTypes:[`string`],arity:{kind:`exact`}}}}function NS(e){let{clock:t,drawnAt:n,extraFuncs:r}=e;return yg({fromString:e=>new U(e),toString:e=>e.plain,isT:e=>e instanceof U,clock:t,missingKey:`error`,funcs:{...cv(),...Sb(),...Xv(),...vy(),...ev(t),...Wg(),...wv(),...Sv(),...hS(n&&(()=>({depth:n()}))),...jS(),...MS(t),...r??{}}})}function PS(e){return FS(e,new Set(e.names()),``)}function FS(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.getKind(a)===`document`?LS(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return FS(e,t,a)}})}function IS(e,t){return new Proxy(e,{has:(e,t)=>t===`settings`||Reflect.has(e,t),get:(e,n)=>n===`settings`?t:Reflect.get(e,n)})}function LS(e,t){switch(t.kind){case`ok`:return t.value;case`absent`:throw Error(`variable "${e}" has no value yet: its source has not completed a scan`);case`failed`:throw Error(`variable "${e}": ${t.reason}`)}}function J(e){return{kind:`ok`,value:e}}const Y={kind:`absent`};function X(e){return{kind:`failed`,reason:e}}function RS(e,t){return e?.kind===`ok`?e.value:t}function zS(e){return r.existsSync(l.join(e,`.git`))}function BS(e){let t=l.resolve(e);for(;;){if(zS(t))return t;let e=l.dirname(t);if(e===t)return;t=e}}function VS(e){let t=BS(e);return t===void 0?{root:l.resolve(e),git:!1}:{root:t,git:!0}}function HS(e,t,n){return t.ok?J(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??US(t.stderr)].filter(Boolean).join(`, `)}`)}function US(e){return e.trim().split(`
89
- `,1)[0]??``}function WS(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?Y:J(n)}function GS(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?J(t):Y}const KS=/^[A-Za-z]:[\\/]/;function qS(e){let t=e.trim();if(KS.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function JS(e){return qS(e)?.host||null}function YS(e){let t=JS(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function XS(e){let t=new Map;for(let n of e.split(`
90
- `)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function ZS(e){return e.urls.find(e=>nC(e)!==null)??e.urls[0]??null}function QS(e){return e.find(e=>e.name===`origin`)??e[0]??null}function $S(e){let t=QS(e);return t?ZS(t):null}function eC(e){let t=QS(e);return t?t.urls.find(e=>YS(e)!==null)??ZS(t):null}function tC(e){let t=(qS(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function nC(e){let t=qS(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function rC(e){let t=$S(e);return t===null?null:nC(t)}function iC(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?Y:X(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??US(t.stderr)].filter(Boolean).join(`, `)}`)}function aC(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function oC(e){let t=`detached`,n=Y,r=Y,i=Y,a=0,o=0,s=0,c=0;for(let l of e.split(`
91
- `)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?Y:J(t)}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=J(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=J({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,oid:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function sC(e){let t;try{t=JSON.parse(e)}catch(e){return X(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!aC(t))return X(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?J({number:n,state:r,url:i}):Y}function cC(e){let t;try{t=JSON.parse(e)}catch(e){return X(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!aC(t))return X(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?X(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?J({number:n,state:r,url:i}):Y}function lC(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var uC=class{isGitRepo(e){return zS(e)}async execGitAsync(e,t){return je({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?J(e):t&&this.isGitRepo(t)?J(t):this.isGitRepo(e)?J(e):this.findGitRoot(e)}async findGitRoot(e){let t=BS(e);return t===void 0?Y:J(t)}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return X(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=WS(a.value.oid,e=>e.slice(0,7))),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.committedAt=await this.committedAt(r,a.value.oid)),t.showStashCount&&(o.stashCount=this.getStashCount(r));let s=t.showRepoName||t.showRepoUrl?await this.getRemotesAsync(r):void 0;return s!==void 0&&t.showRepoName&&(o.repoName=WS(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=WS(s,rC)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),J(o)}resolveGitDir(e){let t=l.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return l.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(l.join(t,`MERGE_HEAD`))?J(`MERGE`):r.existsSync(l.join(t,`CHERRY_PICK_HEAD`))?J(`CHERRY-PICK`):r.existsSync(l.join(t,`REVERT_HEAD`))?J(`REVERT`):r.existsSync(l.join(t,`BISECT_LOG`))?J(`BISECT`):r.existsSync(l.join(t,`rebase-merge`))||r.existsSync(l.join(t,`rebase-apply`))?J(`REBASE`):Y}catch(e){return X(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return GS(HS(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async committedAt(e,t){return t.kind===`ok`?this.commitTimestampMs(e,t.value):t}commitTimes=new Map;async commitTimestampMs(e,t){let n=this.commitTimes.get(t);if(n!==void 0)return this.commitTimes.delete(t),this.commitTimes.set(t,n),n;let r=this.readCommitTimestampMs(e,t);for(this.commitTimes.set(t,r),r.then(e=>{e.kind!==`ok`&&this.commitTimes.get(t)===r&&this.commitTimes.delete(t)},()=>{this.commitTimes.get(t)===r&&this.commitTimes.delete(t)});this.commitTimes.size>256;){let e=this.commitTimes.keys().next().value;if(e===void 0)break;this.commitTimes.delete(e)}return r}async readCommitTimestampMs(e,t){let n=GS(HS(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`,t,`--`],{cwd:e,timeout:2e3}),`absent`));if(n.kind!==`ok`)return n;let r=parseInt(n.value,10)*1e3;return Number.isNaN(r)?X(`git log -1: unparseable timestamp "${n.value}"`):J(r)}resolveCommonGitDir(e){let t=this.resolveGitDir(e);try{let e=r.readFileSync(l.join(t,`commondir`),`utf-8`).trim();if(e)return l.resolve(t,e)}catch{}return t}getStashCount(e){let t=l.join(this.resolveCommonGitDir(e),`logs`,`refs`,`stash`),n;try{n=r.readFileSync(t,`utf-8`)}catch(e){return e.code===`ENOENT`?J(0):X(`git stash reflog ${t}: ${e instanceof Error?e.message:String(e)}`)}let i=n.trim();return J(i?i.split(`
92
- `).length:0)}async getRemotesAsync(e){let t=lC(l.join(this.resolveCommonGitDir(e),`config`));if(t===null)return this.readRemotes(e);let{key:n,stamp:r}=t,i=this.remotesByConfig.get(n);if(i!==void 0&&i.stamp===r)return this.remotesByConfig.delete(n),this.remotesByConfig.set(n,i),i.remotes;let a=this.readRemotes(e);for(this.remotesByConfig.set(n,{stamp:r,remotes:a}),a.then(e=>{let t=this.remotesByConfig.get(n);e.kind!==`ok`&&t?.remotes===a&&this.remotesByConfig.delete(n)},()=>{this.remotesByConfig.get(n)?.remotes===a&&this.remotesByConfig.delete(n)});this.remotesByConfig.size>256;){let e=this.remotesByConfig.keys().next().value;if(e===void 0)break;this.remotesByConfig.delete(e)}return a}remotesByConfig=new Map;async readRemotes(e){let t=HS(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:J(t.kind===`ok`?XS(t.value):[])}repoNameFrom(e,t){let n=$S(e);return(n===null?null:tC(n))??l.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=eC(t.value);return n===null?Y:J(n)}async execForgeAsync(e,t,n){return je({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=YS(t);return n===`github`?iC(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,sC):n===`gitlab`?iC(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,cC):Y}isWorktree(e){try{let t=l.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){D(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=HS(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(oC(t.value)):t}};let dC=null;function fC(e){if(dC!==null)return dC;r.mkdirSync(l.dirname(e),{recursive:!0});try{dC=r.statSync(e).size}catch{dC=0}return dC}function pC(e){for(let t=2;t>=1;t--){let n=`${e}.${t}`,i=`${e}.${t+1}`;try{r.renameSync(n,i)}catch{}}try{r.renameSync(e,`${e}.1`)}catch{}dC=0}const mC=(e,t)=>D(t);function Z(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=Qe(),t=fC(e);r.appendFileSync(e,n),dC=t+Buffer.byteLength(n,`utf8`),dC>=5242880&&pC(e)}catch(e){dC=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const hC=(e,t)=>D(t);var gC=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??hC}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}},_C=class{running=new Set;again=new Set;run(e,t){return this.again.add(e),this.running.has(e)?{kind:`queued`}:(this.running.add(e),{kind:`started`,done:this.loop(e,t)})}async loop(e,t){try{do this.again.delete(e),await t();while(this.again.has(e))}finally{this.running.delete(e),this.again.delete(e)}}clear(){this.running.clear(),this.again.clear()}get size(){return this.running.size}};const vC={showSha:!0,showStashCount:!0};function yC(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function bC(e){let t=t=>{try{return r.statSync(l.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function xC(e,t){return e.head!==t.head||e.index!==t.index}function SC(e){let t=[],n=l.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[l.join(e,`HEAD`),l.join(e,`index`)],dirs:t}}var CC=class extends uC{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new _C;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new uC,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??mC,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new gC({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}resolveEffectiveGitDir(e,t){let n=`${e}|${t??``}`,r=Date.now(),i=this.resolutions.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.resolutions.delete(n),this.resolutions.set(n,i),i.dir;let a=this.inner.resolveEffectiveGitDir(e,t);return this.resolutions.set(n,{dir:a,computedAt:r}),a.catch(()=>{this.resolutions.get(n)?.dir===a&&this.resolutions.delete(n)}),this.evictResolutionsIfNeeded(),a}evictResolutionsIfNeeded(){for(;this.resolutions.size>this.maxEntries;){let e=this.resolutions.keys().next().value;if(e===void 0)break;this.resolutions.delete(e)}}async getGitInfo(e,t={},n){let r=await this.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${yC(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(J(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=bC(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,SC(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return Y;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return{firstDelivery:(async()=>{let i=await this.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,SC(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...vC});n||this.safeInvoke(t,this.deliverable(s,a))})(),unsubscribe:()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||this.refreshes.run(e,()=>this.refreshOnce(e))}async refreshOnce(e){let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...vC}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!(!i||i.callbacks.size===0))for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=bC(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),xC(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshes.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.resolutions.clear(),this.ownsWatchers&&this.watchers.closeAll()}};const wC=/\r\n|\r|\n/g,TC=e=>J(e.replace(wC,` `).trim());function EC(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace(wC,` `))}}const DC=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}},OC=e=>e.getTime()/1e3,kC=e=>new Date(e*1e3);function AC(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(D(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function jC(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}const MC=`session.id`;function NC(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await je({bin:`/bin/sh`,args:[`-c`,e],cwd:t,category:`user-shell`,signal:n});if(!r.ok&&r.reason===`aborted`)throw n.reason;return r.ok?J(r.stdout):X(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function PC(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await C(e,{encoding:`utf8`,signal:n});return J(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return X(`file unreadable: ${e}`)}}}}function FC(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?X(`${r.reason} in ${n}`):r}const IC=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],LC=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],RC=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],zC=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function BC(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>IC[e.getMonth()]],[`Monday`,e=>RC[e.getDay()]],[`Jan`,e=>LC[e.getMonth()]],[`Mon`,e=>zC[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const VC={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function HC(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=VC[t];try{return XC(r,e)}catch{return ZC(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return RS(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return RS(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return RS(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return RS(e.stashCount,0)}}function UC(e){try{return o(e)}catch{return e}}function WC(e){try{return s(e).isDirectory()}catch{return!1}}function GC(e){let t=UC(e);return WC(t)?{dir:t,name:null,leaf:!0}:Px(t)}const KC=e=>`${e.dir}\0${e.name??``}`;var qC=class{watchers=new Map;subscribe(e,t,n){let r=this.watchers.get(e)??this.arm(e);return r.subscribers.set(t,n),r.watcher===null&&n(r.failure),()=>this.unsubscribe(e,t)}arm(e){let t={watcher:null,failure:``,target:GC(e),subscribers:new Map};return t.watcher=this.open(e,t,t.target),this.watchers.set(e,t),t}rearm(e,t){let n=GC(e);if(t.watcher!==null&&KC(n)===KC(t.target))return;let r=this.open(e,t,n);r!==null&&(t.watcher?.close(),t.watcher=r,t.target=n)}open(e,t,n){let{dir:r,name:i}=n,a=l.basename(r);try{return c(r,(n,r)=>{if(!(r===null||i===null||r===i)&&r!==a)return;let o=t.target.leaf;if(this.rearm(e,t),!(!o&&!t.target.leaf))for(let e of t.subscribers.keys())e()})}catch(n){let i=`watch_file ${e}: cannot watch ${r} — ${n instanceof Error?n.message:String(n)}`;t.failure=i;for(let e of t.subscribers.values())e(i);return null}}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.subscribers.delete(t),n.subscribers.size===0&&(n.watcher?.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e?.close();this.watchers.clear()}size(){return this.watchers.size}},JC=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:ne(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(te(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())te(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function YC(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function XC(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?Vx(e):t===`number`?Hx(e):Ux(e)}function ZC(e){return e===`number`?0:e===`boolean`?!1:``}var QC=class{inputMetas=new Map;lastErrors=new Map;watchFaults=new Map;watchMgr=new qC;ttlMgr=new JC;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new _C;abort=new AbortController;drawn=Rx.observable.box(F.TRUECOLOR);drawnAt=()=>this.drawn.get();instant=Rx.observable.box(null);now=()=>{let e=this.instant.get();if(e===null)throw Error(`the time was read before any render published its instant`);return kC(e)};engine=NS({clock:this.now,drawnAt:this.drawnAt});gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new CC({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,Bx(t),t)}declareFailedDocument(e,t){this.store.defineDocument(e,X(t))}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){this.declareSource(e,NC(t,n.cwd,this.abort.signal),AC(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,PC(t,n.readMode??`whole`,this.abort.signal),n.cache,n.parse)}declareSource(e,t,n,r){let i=this.publisherFor(e,r,t.where),a=()=>this.runSource(e,t,i);a(),this.registerCachePolicy(e,n,a)}publisherFor(e,t,n){switch(t.kind){case`text`:return this.scalarPublisher(e,TC,t.default,n);case`regex`:return this.scalarPublisher(e,EC(t.regex),t.default,n);case`json`:return this.documentPublisher(e,t.default,n)}}scalarPublisher(e,t,n,r){let i=this.stringInitial(n);return this.store.defineBox(e,`string`,i),n=>{let a=FC(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,RS(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);this.store.defineDocument(e,r);let i,a=!1;return this.cleanups.push(()=>clearTimeout(i)),o=>{clearTimeout(i);let s=o.kind===`ok`&&o.value.trim()===``?Y:o,c=FC(s,DC,n);this.noteOutcome(e,c);let l=c.kind===`ok`||s.kind===`ok`||t===void 0?c:r,u=a&&s.kind===`ok`&&c.kind!==`ok`,d=()=>{a=c.kind===`ok`,this.store.setDocument(e,l)};u?i=setTimeout(d,250):d()}}runSource(e,t,n){let r=this.reads.run(e,()=>t.read().then(n,e=>{if(e!==this.abort.signal.reason)throw e}));r.kind===`started`&&this.track(e,r.done)}track(e,t){let n=t.finally(()=>{this.inFlight.get(e)===n&&this.inFlight.delete(e)});this.inFlight.set(e,n)}async settled(e){let t=Date.now()+e;for(;this.inFlight.size>0;){let e=t-Date.now();if(e<=0)break;let n,r=await Promise.race([Promise.all(this.inFlight.values()).then(()=>`settled`),new Promise(t=>{n=setTimeout(()=>t(`deadline`),e)})]);if(clearTimeout(n),r===`deadline`)break}return[...this.inFlight.keys()]}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.declareDerived(e,()=>r.evaluate(PS(this.store)).map(e=>e.plain).join(``),n.varDefault)}declareTime(e,t){this.declareDerived(e,()=>BC(t.format,this.now()),t.varDefault)}declareDerived(e,t,n){this.store.defineComputed(e,`string`,()=>{try{let n=t();return this.lastErrors.delete(e),n}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n===void 0)throw Error(`variable "${e}": ${r}`);return n}})}declareGit(e,t){let n=VC[t.field],r=t.varDefault===void 0?ZC(n):XC(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map,n=this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,HC(t,n,i,this.defaultEmptyValue))})});i={fieldSubs:e,firstDelivery:n.firstDelivery,unsubscribe:n.unsubscribe},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault}),this.track(e,i.firstDelivery)}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(MC);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}stateRevision(){let e=this.store.has(`session.id`)?this.store.read(MC):``;return this.sessionState!==void 0&&typeof e==`string`&&e!==``?this.sessionState.revision(e):0}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=YC(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,XC(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}drawAt(e){this.store.runInAction(()=>this.drawn.set(e))}renderAt(e){this.store.runInAction(()=>this.instant.set(e))}getLastError(e){let t=this.lastErrors.get(e),n=this.watchFaults.get(e);return n===void 0?t:t===void 0?n:{timestamp:t.timestamp,message:`${n.message}; ${t.message}`}}dispose(){this.abort.abort();for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.reads.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let r=this.watchMgr.subscribe(t.path,n,t=>this.watchFaults.set(e,{timestamp:Date.now(),message:t}));this.cleanups.push(r);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Rx.reaction)(()=>{let t=PS(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,Rx.reaction)(()=>t.varNames.map(e=>this.store.changeKey(e)).join(`,`),n);this.cleanups.push(e);break}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,XC(this.defaultEmptyValue,t))}catch{this.store.setBox(e,ZC(t))}}defaultFor(e){try{return XC(this.defaultEmptyValue,e)}catch{return ZC(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}noteOutcome(e,t){t.kind===`ok`?this.lastErrors.delete(e):this.recordError(e,t.kind===`failed`?t.reason:`no value`)}};const $C={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[MC]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},resume_command:{kind:`input`,path:`resumeCommand`,default:``},config_path:{kind:`input`,path:`configPath`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"style.effective":{kind:`input`,path:`style.effective`,default:``},"effect.effective":{kind:`input`,path:`effect.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"preset.bundled":{kind:`input`,path:`preset.bundled`,type:`boolean`,default:!0},"endcaps.effective":{kind:`input`,path:`endcaps.effective`,default:``},"variation.effective":{kind:`input`,path:`variation.effective`,default:``},"shade.effective":{kind:`input`,path:`shade.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"transitions.effective":{kind:`input`,path:`transitions.effective`,type:`boolean`,default:!1},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"updateNotice.effective":{kind:`input`,path:`updateNotice.effective`,type:`boolean`,default:!0},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"tmux.pane":{kind:`input`,path:`tmux.pane`,default:``},"autocompact.window":{kind:`input`,path:`autocompact.window`,type:`number`,default:-1},...Object.fromEntries([`applied`,`lower`,`higher`].map(e=>[`autocompact.${e}`,{kind:`input`,path:`autocompact.${e}`,type:`number`,default:0}])),"autocompact.error":{kind:`input`,path:`autocompact.error`,default:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},ew=`ne .tmux.pane ""`,tw={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨 theme`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},effect:{configKey:`effect`,sessionKey:`effect`,effectiveVar:`effect.effective`,label:`✨`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},shade:{configKey:`shade`,sessionKey:`shade`,effectiveVar:`shade.effective`,label:`🔆`},transitions:{configKey:`transitions`,sessionKey:`transitions`,effectiveVar:`transitions.effective`,label:`fade in/out`},autoWrap:{configKey:`autoWrap`,sessionKey:`autoWrap`,effectiveVar:`autoWrap.effective`,label:`wrap`},padding:{configKey:`padding`,sessionKey:`padding`,effectiveVar:`padding.effective`,label:`padding`},updateNotice:{configKey:`updateNotice`,sessionKey:`updateNotice`,effectiveVar:`updateNotice.effective`,label:`update notice`}},nw=Object.values(tw),rw=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],iw=new Set(rw.map(e=>e.configKey)),aw=new Map([...nw,...rw].map(e=>[e.configKey,e.effectiveVar])),ow=new Map(nw.map(e=>[e.sessionKey,e.effectiveVar]));function sw(e){return Object.fromEntries(Object.keys(tw).map(t=>[t,e(t)]))}const cw=new Map(Object.keys(tw).map(e=>[tw[e].sessionKey,e]));function lw(e,t,n){let r=new Set,i=e=>{for(let t of wx(e??``,n).keys())r.add(t)};for(let t of Object.values(e.segments))i(t.template),i(t.bg),i(t.fg),i(t.when);for(let e of t)for(let t of Eu(e))i(t.when),t.kind===`segment`&&(i(t.lead),i(t.trail));for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(MC);for(let t of Object.values(e.actions)){r.add(MC),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?ow.get(t.set):void 0,n=`persist`in t?aw.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function uw(e,t,n){let r=Mx({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of lw(e,t,n.helpers)){if(jx(a,r))continue;let e=$C[a];if(e===void 0)throw Error(`synthesized chrome reads ".${a}", which it does not declare and PAYLOAD_INPUTS does not supply`);i[a]=e}return i}const dw=new Map;function fw(e){let t=mw(e);if(t===null)throw Error(`Palette "${e}" did not resolve in the theme registry — allowed names and the registry are inconsistent`);return t}function pw(e,t){return e===`bar`?t:fw(e)}function mw(e){let t=dw.get(e);if(t!==void 0)return t;let n=$r(e);return n===null?null:(dw.set(e,n),n)}function hw(e,t){return gw(e,`${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,()=>di(e,t))}const gw=ys();function _w(e){let t=mw(e);return t===null?null:{kind:`decided`,name:e,value:t}}function vw(e,t,n){let r=_w(e);return r===null?(n(`${t} rendered "${jc}": "${e}" names no installed theme${Ac(e)}`),bw()):r}function yw(e,t,n){return Bc(e,t,n,bw(),_w)}function bw(){return{kind:`decided`,name:jc,value:fw(jc)}}const xw=new Map;function Sw(e,t,n){xw.set(e,{permanent:!0,resolve:t,paletteOf:n})}Sw(`themes`,()=>Nc(),e=>fw(e));const Cw=`placementThemes`;Sw(Cw,Pc,(e,t)=>pw(e,t.palette)),Sw(`endcaps`,()=>Qc),Sw(`variations`,()=>cl),Sw(`shades`,()=>dl),Sw(`charsets`,()=>rl),Sw(`colorCompatibilities`,()=>ol);function ww(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>hw(n.basePalette,e.styles[t])}],[`presets`,{members:Pb(e.presets)}]])}function Tw(e){return[...new Set([...xw.keys(),...e.keys()])]}function Ew(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=xw.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(Ow(e,t))}const Dw=new Map([[`looks`,`styles`],[`progressions`,`variations`]]);function Ow(e,t){let n=Dw.get(e);return`unknown option domain "${e}"${n===void 0?``:` — it was renamed "${n}"; write from: "${n}"`} (have: ${Tw(t).join(`, `)})`}const kw=e=>`from`in e?e.from:e.themes;function Aw(e,t,n){return e===`bool`?vl(t)!==null:`min`in e?yl(t,e)!==null:Ew(kw(e),n).members.includes(t)}function jw(e,t){if(e===`bool`)return gl.join(` or `);if(!(`min`in e)){let n=kw(e),{members:r}=Ew(n,t),i=r.map(e=>JSON.stringify(e));if(r.length<=8)return`one of ${i.join(`, `)}`;let a=typeof n==`string`?` "${n}"`:``;return`one of the ${r.length}${a} names, such as ${i.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function Mw(e){return{label:e.label,domain:Nw(e.domain)}}function Nw(e){return e===`theme`?{themes:Cw}:e===`bool`||`min`in e?e:{from:e}}function Pw(e,t,n,r,i){let a=Kd(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...gl]}},variables:{}};if(`from`in o)return Fw(t,r,i,o.from,e=>({template:`{{ "${a}" }} {{ carousel "${e.apply}" 0 "${e.open}" }}`,rows:[`{{ picker "${e.apply}" "${e.page}" false true true }}`]}));if(`themes`in o)return Fw(t,r,i,o.themes,e=>({template:`{{ action "${e.open}" "${a}" .${n} }} {{ action "${e.open}" (swatch "${e.apply}") }}`,rows:[`{{ swatches "${e.apply}" "${e.page}" }}`,`{{ themePreview "${e.apply}" }}`]}));let s=e=>({set:t,min:o.min,max:o.max,by:e});return{kind:`inline`,template:`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`,actions:{[`${r}.down`]:s(-o.step),[`${r}.up`]:s(o.step)},variables:{}}}function Fw(e,t,n,r,i){let a={variable:n,key:n,member:t},o=Eb(n,t),s=`${t}.open`,c=Db(n),l=`${c}.current`,{template:u,rows:d}=i({apply:t,open:s,page:c});return{kind:`picker`,template:u,actions:{[t]:{set:e,from:r},[o]:ef(n,t),[c]:{set:c,int:!0},[l]:{set:c,to:`-1`},[s]:{do:[o,l]}},variables:{[n]:$d(n,Hd),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,rows:d}}}const Iw=/^segments\.([^.]+)\.palette$/,Lw=/^presets\.(.+)\.root$/,Rw=/^presets\.(.+)\.globals\.([^.]+)$/,zw=/^themeDefaults\.(.+)\.([^.]+)$/;function Bw(e){return`presets.${e}.root`}function Vw(e,t){return`themeDefaults.${e}.${t}`}const Hw=e=>ju.includes(e);function Uw(e,t){return`presets.${e}.globals.${t}`}function Ww(e){if(Nf(e))return{scope:`globals`,field:e};let t=Iw.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=Rw.exec(e);if(n&&Cf(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=zw.exec(e);if(r&&Hw(r[2]))return{scope:`theme-default`,theme:r[1],field:r[2]};let i=Lw.exec(e);return i?{scope:`preset-root`,preset:i[1]}:null}function Gw(e){switch(e.scope){case`globals`:return[`globals`,e.field];case`preset-globals`:return[`presets`,e.preset,`globals`,e.field];case`segment-palette`:return[`segments`,e.segment,`palette`];case`theme-default`:return[`themeDefaults`,e.theme,e.field]}}const Kw=`open`;function qw(e,t,n,r){let i={variable:e,key:e,member:Kw};return r.variables[e]=$d(e,Hd),r.actions[e]=ef(e,Kw),r.segments[e]={template:Xd(e,`(?)`,`✕`),...Jw(n)},qd(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})},`drop`)}function Jw(e){let[t,...n]=e;return t===void 0?{}:{when:Jd(t,...n)}}const Yw=`none`;function Xw(e){return br(e,`background`)}var Zw=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function Qw(e,t,n,r,i){let{palette:a,tint:o,text:s}=e,c=$w(n,i),l=c!==Yw,u=l?c===void 0?o:eT(a,c,`bg`):Xw(a);e.bg=u;let d=$w(r,i),f=d===void 0?l?(e=>e.hex===o.hex?s:rc(a,e,t))(u):void 0:eT(a,d,`fg`);return new V({...l&&{bgcolor:L.fromRgba(u)},...f!==void 0&&{color:L.fromRgba(f)}})}function $w(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function eT(e,t,n){try{return br(e,t)}catch(e){throw e instanceof yr?new Zw(t,n,e.message):e}}const tT=`🔧`,nT={help:[`-h`,`--help`],version:[`-V`,`--version`]},rT=[`✚ inserts`,`✖ removes`,`${tT} configures`,`↺ resets layout`],iT=`
88
+ Use 'override' annotation for methods overridden by subclass.`)}}var oa=fa(0),sa=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),ca=0,la=function(){};function ua(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}ua(la,Array.prototype);var da=function(e){function t(t,n,r,i){var a;return r===void 0&&(r=`ObservableArray@`+h()),i===void 0&&(i=!1),a=e.call(this)||this,ya(function(){var e=new ji(r,n,i,!0);e.proxy_=a,ee(a,A,e),t&&t.length&&a.spliceWithArray(0,0,t),sa&&Object.defineProperty(a,`0`,oa)}),a}ge(t,e);var n=t.prototype;return n.concat=function(){this[A].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return zi(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Ta({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},fe(t,[{key:`length`,get:function(){return this[A].getArrayLength_()},set:function(e){this[A].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(la);Object.entries(Ni).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(da.prototype,t,n)});function fa(e){return{enumerable:!1,configurable:!0,get:function(){return this[A].get_(e)},set:function(t){this[A].set_(e,t)}}}function pa(e){s(da.prototype,``+e,fa(e))}function ma(e){if(e>ca){for(var t=ca;t<e+100;t++)pa(t);ca=e}}ma(1e3);function ha(e,t,n){return new da(e,t,n)}function ga(e,t){if(typeof e==`object`&&e){if(zi(e))return t!==void 0&&n(23),e[A].atom_;if(Yi(e))return e.atom_;if(Wi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,va(e)),r}if(ra(e)){if(!t)return n(26);var i=e[A].values_.get(t);return i||n(27,t,va(e)),i}if(je(e)||nn(e)||L(e))return e}else if(v(e)&&L(e[A]))return e[A];n(28)}function _a(e,t){if(e||n(29),t!==void 0)return _a(ga(e,t));if(je(e)||nn(e)||L(e)||Wi(e)||Yi(e))return e;if(e[A])return e[A];n(24,e)}function va(e,t){var n;if(t!==void 0)n=ga(e,t);else if(dr(e))return e.name;else n=ra(e)||Wi(e)||Yi(e)?_a(e):ga(e);return n.name_}function ya(e){var t=P(),n=Xt(!0);Mn();try{return e()}finally{Nn(),Zt(n),gn(t)}}var ba=c.toString;function xa(e,t,n){return n===void 0&&(n=-1),Sa(e,t,n)}function Sa(e,t,n,r,i){if(e===t)return e!==0||1/e==1/t;if(e==null||t==null)return!1;if(e!==e)return t!==t;var a=typeof e;if(a!==`function`&&a!==`object`&&typeof t!=`object`)return!1;var o=ba.call(e);if(o!==ba.call(t))return!1;switch(o){case`[object RegExp]`:case`[object String]`:return``+e==``+t;case`[object Number]`:return+e==+e?+e==0?1/e==1/t:+e==+t:+t!=+t;case`[object Date]`:case`[object Boolean]`:return+e==+t;case`[object Symbol]`:return typeof Symbol<`u`&&Symbol.valueOf.call(e)===Symbol.valueOf.call(t);case`[object Map]`:case`[object Set]`:n>=0&&n++;break}e=Ca(e),t=Ca(t);var s=o===`[object Array]`;if(!s){if(typeof e!=`object`||typeof t!=`object`)return!1;var c=e.constructor,l=t.constructor;if(c!==l&&!(v(c)&&c instanceof c&&v(l)&&l instanceof l)&&`constructor`in e&&`constructor`in t)return!1}if(n===0)return!1;n<0&&(n=-1),r||=[],i||=[];for(var u=r.length;u--;)if(r[u]===e)return i[u]===t;if(r.push(e),i.push(t),s){if(u=e.length,u!==t.length)return!1;for(;u--;)if(!Sa(e[u],t[u],n-1,r,i))return!1}else{var d=Object.keys(e),f=d.length;if(Object.keys(t).length!==f)return!1;for(var p=0;p<f;p++){var m=d[p];if(!(D(t,m)&&Sa(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function Ca(e){return zi(e)?e.slice():te(e)||Wi(e)||re(e)||Yi(e)?Array.from(e.entries()):e}var wa=i().Iterator?.prototype||{};function Ta(e){return e[Symbol.iterator]=Ea,Object.assign(Object.create(wa),e)}function Ea(){return this}function Da(e){return e instanceof Object&&typeof e.annotationType_==`string`&&v(e.make_)&&v(e.extend_)}[`Symbol`,`Map`,`Set`].forEach(function(e){i()[e]===void 0&&n(`MobX requires global '`+e+`' to be available or polyfilled`)}),typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__==`object`&&__MOBX_DEVTOOLS_GLOBAL_HOOK__.injectMobx({spy:Zn,extras:{getDebugName:va},$mobx:A}),e.$mobx=A,e.FlowCancellationError=Nr,e.ObservableMap=Ui,e.ObservableSet=Ji,e.Reaction=zn,e._allowStateChanges=Yt,e._allowStateChangesInsideComputed=ur,e._allowStateReadsEnd=vn,e._allowStateReadsStart=_n,e._autoAction=lr,e._endAction=Jt,e._getAdministration=_a,e._getGlobalState=Tn,e._interceptReads=Vr,e._isComputingDerivation=cn,e._resetGlobalState=En,e._startAction=qt,e.action=cr,e.autorun=fr,e.comparer=Le,e.computed=Bt,e.configure=Tr,e.createAtom=Me,e.defineProperty=ii,e.entries=$r,e.extendObservable=Er,e.flow=Lr,e.flowResult=zr,e.get=ri,e.getAtom=ga,e.getDebugName=va,e.getDependencyTree=Dr,e.getObserverTree=kr,e.has=ni,e.intercept=Hr,e.isAction=dr,e.isBoxedObservable=en,e.isComputed=Kr,e.isComputedProp=qr,e.isFlow=Br,e.isFlowCancellationError=Pr,e.isObservable=Yr,e.isObservableArray=zi,e.isObservableMap=Wi,e.isObservableObject=ra,e.isObservableProp=Xr,e.isObservableSet=Yi,e.keys=Zr,e.makeAutoObservable=Ei,e.makeObservable=wi,e.observable=M,e.observe=oi,e.onBecomeObserved=yr,e.onBecomeUnobserved=br,e.onReactionError=Bn,e.override=Ue,e.ownKeys=ai,e.reaction=hr,e.remove=ti,e.runInAction=ur,e.set=ei,e.spy=Zn,e.toJS=ci,e.trace=li,e.transaction=di,e.untracked=hn,e.values=Qr,e.when=fi})),kg=ge(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Dg():t.exports=Og()}))();function Ag(e){if(Array.isArray(e))return Object.freeze(e.map(Ag));if(typeof e==`object`&&e){let t=Object.create(null),n=Object.entries(e).sort(([e],[t])=>e<t?-1:+(e>t));for(let[e,r]of n)t[e]=Ag(r);return Object.freeze(t)}return e}function jg(e){let t=typeof e;if(t===`string`||t===`number`||t===`boolean`)return t;throw TypeError(`Variable values must be string|number|boolean (got ${t})`)}function Mg(e){return typeof e==`string`?e:String(e)}function Ng(e){if(typeof e==`number`)return e;if(typeof e==`boolean`)return+!!e;let t=e.trim();if(t===``)throw TypeError(`Cannot cast empty string to number`);let n=Number(t);if(!Number.isFinite(n))throw TypeError(`Cannot cast ${JSON.stringify(e)} to number`);return n}function Pg(e){if(typeof e==`boolean`)return e;if(typeof e==`number`){if(e===0||e===1)return e===1;throw TypeError(`Cannot cast number ${e} to bool (only 0 and 1 are accepted)`)}if(e===`true`)return!0;if(e===`false`)return!1;throw TypeError(`Cannot cast ${JSON.stringify(e)} to bool (expected "true" or "false")`)}var Fg=class extends Error{name=`TemplateError`;kind=`EvalError`;pos;source;constructor(e,t,n={}){super(e,{cause:n.cause}),this.pos=t,this.source=n.source}get sourceSnippet(){return this.source?Wg(this.source,this.pos):``}toString(){let e=`${this.name}: ${this.message}\n at line ${this.pos.line}, column ${this.pos.column}`,t=this.sourceSnippet;return t?`${e}\n\n${t}`:e}},Ig=class extends Fg{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},Lg=class extends Fg{name=`EvalError`;kind=`EvalError`},Rg=class extends Lg{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Gg(e,n.available??[]),i=r.length===0?``:` (did you mean: ${r.join(`, `)}?)`;super(`function ${JSON.stringify(e)} is not registered${i}`,t,n),this.funcName=e,this.suggestions=r}},zg=class extends Lg{name=`ArgCountError`;kind=`ArgCountError`;funcName;accepted;got;constructor(e,t,n,r,i={}){let a=t.minimum===t.maximum?`${t.minimum}`:`at least ${t.minimum}`;super(`wrong number of args for ${e}: want ${a} got ${n}`,r,i),this.funcName=e,this.accepted=t,this.got=n}},Bg=class extends Lg{name=`TypeMismatchError`;kind=`TypeMismatchError`;funcName;argIndex;expected;receivedSummary;constructor(e,t,n,r,i,a={}){super(`function ${JSON.stringify(e)} arg ${t}: expected ${n}, but a ${r} flowed in. Pass it through \`unstyled\` (or your engine's flatten function) to convert.`,i,a),this.funcName=e,this.argIndex=t,this.expected=n,this.receivedSummary=r}},Vg=class extends Bg{constructor(e,t,n,r,i={}){super(e,t,`integer`,String(n),r,i),this.message=Number.isInteger(Number(n))?`integer out of range: ${String(n)}`:`expected integer; found ${String(n)}`}},Hg=class extends Lg{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},Ug=class extends Lg{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function Wg(e,t){let n=e.split(`
89
+ `),r=t.line-1,i=[];if(r-1>=0&&r-1<n.length&&i.push({num:r,text:n[r-1]??``}),r>=0&&r<n.length&&i.push({num:r+1,text:n[r]??``}),r+1<n.length&&i.push({num:r+2,text:n[r+1]??``}),i.length===0)return``;let a=String(i[i.length-1]?.num??1).length,o=[];for(let e of i)if(o.push(` ${String(e.num).padStart(a,` `)} | ${e.text}`),e.num===t.line){let e=` ${` `.repeat(a)} | `,n=` `.repeat(Math.max(0,t.column-1));o.push(`${e}${n}^`)}return o.join(`
90
+ `)}function Gg(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Kg(e,t)})).sort((e,t)=>e.dist-t.dist),r=Math.max(2,Math.floor(e.length/2));return n.filter(e=>e.dist<=r).slice(0,3).map(e=>e.name)}function Kg(e,t){if(e===t)return 0;let n=e.length,r=t.length;if(n===0)return r;if(r===0)return n;let i=Array(r+1),a=Array(r+1);for(let e=0;e<=r;e++)i[e]=e;for(let o=1;o<=n;o++){a[0]=o;for(let n=1;n<=r;n++){let r=e[o-1]===t[n-1]?0:1;a[n]=Math.min((a[n-1]??0)+1,(i[n]??0)+1,(i[n-1]??0)+r)}for(let e=0;e<=r;e++)i[e]=a[e]??0}return i[r]??0}function qg(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const Jg=new Map([[`if`,`If`],[`else`,`Else`],[`end`,`End`],[`range`,`Range`],[`with`,`With`],[`break`,`Break`],[`continue`,`Continue`],[`define`,`Define`],[`template`,`Template`],[`block`,`Block`],[`true`,`Bool`],[`false`,`Bool`],[`nil`,`Nil`]]),Yg={left:`{{`,right:`}}`};var Xg=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=Yg){this.src=e,this.leftDelim=t.left,this.rightDelim=t.right}pos(){return{line:this.line,column:this.column,offset:this.offset}}err(e,t,n={}){return new Ig(e,t,{...n,source:this.src})}next(){if(this.pending){let e=this.pending;return this.pending=void 0,e}return this.read()}peek(){return this.pending||=this.read(),this.pending}read(){switch(this.mode){case`text`:return this.readText();case`action`:return this.readAction();case`done`:return this.makeToken(`EOF`,``,this.pos())}}readText(){if(this.offset>=this.src.length)return this.mode=`done`,this.makeToken(`EOF`,``,this.pos());let e=this.pos(),t=this.offset;for(;t<this.src.length&&!this.src.startsWith(this.leftDelim,t);)t+=1;let n=t<this.src.length&&this.src[t+this.leftDelim.length]===`-`,r=t;if(n)for(;r>this.offset&&Zg(this.src[r-1]??``);)--r;if(r>this.offset){let t=this.src.slice(this.offset,r);return this.advanceTo(r),this.makeToken(`Text`,t,e)}return this.advanceTo(t),this.emitLeftDelim(n)}emitLeftDelim(e){let t=this.pos();if(this.advanceBy(this.leftDelim.length),e)for(this.advanceBy(1);Zg(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`action`,this.src.startsWith(`/*`,this.offset)?this.readComment(t,e):this.makeToken(`LeftDelim`,e?`${this.leftDelim}-`:this.leftDelim,t,e?{trimLeft:!0}:{})}readComment(e,t){this.advanceBy(2);let n=this.offset,r=this.src.indexOf(`*/`,this.offset);if(r===-1)throw this.err(`unclosed comment`,e,{expected:`*/${this.rightDelim}`,found:`end of input`});this.advanceTo(r);let i=this.src.slice(n,r).trim();for(this.advanceBy(2);Zg(this.src[this.offset]??``);)this.advanceBy(1);let a=!1;if(this.src[this.offset]===`-`&&(a=!0,this.advanceBy(1)),!this.src.startsWith(this.rightDelim,this.offset))throw this.err(`expected \`${this.rightDelim}\` to close comment`,this.pos(),{expected:this.rightDelim,found:this.src[this.offset]??`end of input`});if(this.advanceBy(this.rightDelim.length),a)for(;Zg(this.src[this.offset]??``);)this.advanceBy(1);return this.mode=`text`,this.makeToken(`Comment`,i,e,{...t?{trimLeft:!0}:{},...a?{trimRight:!0}:{}})}readAction(){if(this.skipActionSpaces(),this.src.startsWith(`-${this.rightDelim}`,this.offset)){let e=this.pos();for(this.advanceBy(1+this.rightDelim.length),this.mode=`text`;Zg(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`RightDelim`,`-${this.rightDelim}`,e,{trimRight:!0})}if(this.src.startsWith(this.rightDelim,this.offset)){let e=this.pos();return this.advanceBy(this.rightDelim.length),this.mode=`text`,this.makeToken(`RightDelim`,this.rightDelim,e)}if(this.offset>=this.src.length)throw this.err(`unclosed action`,this.pos(),{expected:this.rightDelim,found:`end of input`});let e=this.src[this.offset],t=this.pos();switch(e){case`(`:return this.advanceBy(1),this.makeToken(`LeftParen`,`(`,t);case`)`:return this.advanceBy(1),this.makeToken(`RightParen`,`)`,t);case`|`:return this.advanceBy(1),this.makeToken(`Pipe`,`|`,t);case`,`:return this.advanceBy(1),this.makeToken(`Comma`,`,`,t);case`:`:if(this.src[this.offset+1]===`=`)return this.advanceBy(2),this.makeToken(`Declare`,`:=`,t);throw this.err("expected `:=`",t,{expected:`:=`,found:`:`});case`=`:return this.advanceBy(1),this.makeToken(`Assign`,`=`,t);case`"`:return this.readQuotedString(t);case"`":return this.readRawString(t);case`'`:return this.readChar(t)}if(e===`$`)return this.readVariable(t);if(e!==void 0&&($g(e)||Qg(e)&&$g(this.src[this.offset+1]??``)||e===`.`&&$g(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&i_(e))return this.readIdentifier(t);throw this.err(`unexpected character ${JSON.stringify(e)}`,t,{found:e??`end of input`})}readQuotedString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
91
+ `)throw this.err(`newline in interpreted string`,e,{found:`\\n`});if(n===`"`)return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated string literal`,e,{expected:`"`,found:`end of input`})}readRawString(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){if(this.src[this.offset]==="`")return this.advanceBy(1),this.makeToken(`String`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated raw string literal`,e,{expected:"`",found:`end of input`})}readChar(e){let t=this.offset;for(this.advanceBy(1);this.offset<this.src.length;){let n=this.src[this.offset];if(n===`\\`){this.advanceBy(1),this.offset<this.src.length&&this.advanceBy(1);continue}if(n===`
92
+ `)throw this.err(`newline in rune literal`,e,{found:`\\n`});if(n===`'`)return this.advanceBy(1),this.makeToken(`Char`,this.src.slice(t,this.offset),e);this.advanceBy(1)}throw this.err(`unterminated rune literal`,e,{expected:`'`,found:`end of input`})}readNumber(e){let t=this.offset;if(Qg(this.src[this.offset]??``)&&this.advanceBy(1),this.src[this.offset]===`0`&&this.offset+1<this.src.length){let n=this.src[this.offset+1];if(n===`x`||n===`X`){for(this.advanceBy(2);e_(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`||this.src[this.offset]===`p`||this.src[this.offset]===`P`)for(;this.isHexFloatTail(this.src[this.offset]??``);)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`o`||n===`O`){for(this.advanceBy(2);t_(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}if(n===`b`||n===`B`){for(this.advanceBy(2);n_(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;$g(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);$g(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`e`||this.src[this.offset]===`E`)for(this.advanceBy(1),Qg(this.src[this.offset]??``)&&this.advanceBy(1);$g(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return e_(e)||e===`.`||e===`p`||e===`P`||e===`+`||e===`-`||e===`_`}finishNumber(e,t){if(this.offset===e)throw this.err(`expected number`,t,{expected:`digit`});return this.makeToken(`Number`,this.src.slice(e,this.offset),t)}readVariable(e){let t=this.offset;for(this.advanceBy(1);a_(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&i_(this.src[this.offset+1]??``);)for(this.advanceBy(1);a_(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Variable`,this.src.slice(t,this.offset),e)}readDotOrField(e){let t=this.offset;if(this.advanceBy(1),!i_(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;a_(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&i_(this.src[this.offset+1]??``);)for(this.advanceBy(1);a_(this.src[this.offset]??``);)this.advanceBy(1);return this.makeToken(`Field`,this.src.slice(t,this.offset),e)}readIdentifier(e){let t=this.offset;for(;a_(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=Jg.get(n);return r?this.makeToken(r,n,e):this.makeToken(`Identifier`,n,e)}skipActionSpaces(){for(;this.offset<this.src.length;){let e=this.src[this.offset];if(e===` `||e===` `||e===`\r`||e===`
93
+ `)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
94
+ `?(this.line+=1,this.column=1):this.column+=1}}advanceTo(e){for(;this.offset<e;)this.advanceBy(1)}makeToken(e,t,n,r={}){return Object.freeze({type:e,value:t,pos:n,...r.trimLeft===void 0?{}:{trimLeft:r.trimLeft},...r.trimRight===void 0?{}:{trimRight:r.trimRight}})}};function Zg(e){return e===` `||e===` `||e===`\r`||e===`
95
+ `}function Qg(e){return e===`+`||e===`-`}function $g(e){return e>=`0`&&e<=`9`}function e_(e){return $g(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function t_(e){return e>=`0`&&e<=`7`}function n_(e){return e===`0`||e===`1`}function r_(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function i_(e){return r_(e)||e===`_`}function a_(e){return i_(e)||$g(e)}let o_,s_;function c_(e,t){return s_(e,t)}var l_=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{o_=(t,n)=>new e(t,n),s_=(e,t)=>e.#e.get(t)??(e.#t&&s_(e.#t,t))}has(e){return s_(this,e)!==void 0}};function u_(e,t,n=l_.EMPTY){return new d_(e,t,n).parseTemplate()}var d_=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new Xg(e,t):new Xg(e)}peek(e=0){for(;this.buf.length<=e;)this.buf.push(this.lex.next());return this.buf[e]}next(){return this.buf.length>0?this.buf.shift():this.lex.next()}expect(e,t){let n=this.next();if(n.type!==e)throw this.errAt(n,`expected ${t}`,{expected:t,found:m_(n)});return n}errAt(e,t,n={}){return new Ig(t,e.pos,{...n,source:this.source})}parseTemplate(){let e=this.parseList();if(this.peek().type!==`EOF`){let e=this.peek(),t=this.peek(1);if(e.type===`LeftDelim`&&(t.type===`Else`||t.type===`End`)){let n=t.type===`Else`?`else`:`end`;throw this.errAt(e,`unexpected \`{{${n}}}\` outside of \`if\`, \`range\`, \`with\`, or \`block\``,{found:`{{${n}}}`})}throw this.errAt(e,`unexpected ${m_(e)}`,{found:m_(e)})}return{root:e,defines:o_(this.defines,this.inherit),ownDefines:this.defines,source:this.source}}parseList(){let e=this.peek().pos,t=[];for(;;){let n=this.peek();if(n.type===`EOF`)break;if(n.type===`Text`){this.next(),t.push({type:`Text`,pos:n.pos,text:n.value});continue}if(n.type===`Comment`){this.next();let e=p_(n);t.push({type:`Comment`,pos:n.pos,text:n.value,trim:e});continue}if(n.type===`LeftDelim`){let n=this.peek(1).type;if(n===`Else`||n===`End`)return f_(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${m_(n)} at top level`,{found:m_(n)})}return f_(e,t)}parseAction(){let e=this.expect(`LeftDelim`,"`{{`"),t=e.trimLeft===!0,n=this.peek();switch(n.type){case`If`:return this.next(),this.parseBranch(`If`,e.pos,t);case`Range`:return this.next(),this.parseBranch(`Range`,e.pos,t);case`With`:return this.next(),this.parseBranch(`With`,e.pos,t);case`Break`:return this.next(),this.parseBreakOrContinue(`Break`,e.pos,t);case`Continue`:return this.next(),this.parseBreakOrContinue(`Continue`,e.pos,t);case`Template`:return this.next(),this.parseTemplateInvocation(e.pos,t);case`Block`:return this.next(),this.parseBlock(e.pos,t);case`Define`:return this.next(),this.parseDefine(e.pos,t),null;case`RightDelim`:throw this.errAt(n,`empty action`,{expected:`pipeline`});default:{let n=this.parsePipeline(),r=this.expect(`RightDelim`,"`}}`");return{type:`Action`,pos:e.pos,pipe:n,trim:{trimLeft:t,trimRight:r.trimRight===!0}}}}}parseBranch(e,t,n){let r=this.parsePipeline();this.expect(`RightDelim`,"`}}`"),e===`Range`&&(this.rangeDepth+=1);let i=this.parseList();e===`Range`&&--this.rangeDepth;let a=this.parseElsePart(),o={trimLeft:n,trimRight:a.endConsumed?a.endRight:this.consumeEnd()},s=a.list?{pipe:r,list:i,elseList:a.list,trim:o}:{pipe:r,list:i,trim:o};switch(e){case`If`:return{type:`If`,pos:t,...s};case`Range`:return{type:`Range`,pos:t,...s};case`With`:return{type:`With`,pos:t,...s}}}parseBreakOrContinue(e,t,n){if(this.rangeDepth===0)throw new Ig(`{{${e===`Break`?`break`:`continue`}}} outside of {{range}}`,t,{source:this.source});let r={trimLeft:n,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return e===`Break`?{type:`Break`,pos:t,trim:r}:{type:`Continue`,pos:t,trim:r}}parseElsePart(){if(this.peek().type!==`LeftDelim`||this.peek(1).type!==`Else`)return{list:void 0,endRight:!1,endConsumed:!1};let e=this.next();if(this.next(),this.peek().type===`If`){this.next();let t=this.parseBranch(`If`,e.pos,e.trimLeft===!0);return{list:{type:`List`,pos:e.pos,nodes:[t]},endRight:t.trim.trimRight,endConsumed:!0}}return this.expect(`RightDelim`,"`}}`"),{list:this.parseList(),endRight:!1,endConsumed:!1}}consumeEnd(){return this.expect(`LeftDelim`,"`{{end}}`"),this.expect(`End`,"`end`"),this.expect(`RightDelim`,"`}}`").trimRight===!0}parseTemplateInvocation(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline(),i={trimLeft:t,trimRight:this.expect(`RightDelim`,"`}}`").trimRight===!0};return r?{type:`Template`,pos:e,name:n,pipe:r,trim:i}:{type:`Template`,pos:e,name:n,trim:i}}parseBlock(e,t){let n=this.parseQuotedName(),r=this.peek().type===`RightDelim`?void 0:this.parsePipeline();this.expect(`RightDelim`,"`}}`");let i=this.rangeDepth;this.rangeDepth=0;let a=this.parseList();this.rangeDepth=i;let o={trimLeft:t,trimRight:this.consumeEnd()};return!this.defines.has(n)&&!this.inherit.has(n)&&this.defines.set(n,{list:a,source:this.source}),r?{type:`Block`,pos:e,name:n,pipe:r,list:a,trim:o}:{type:`Block`,pos:e,name:n,list:a,trim:o}}parseDefine(e,t){let n=this.parseQuotedName();this.expect(`RightDelim`,"`}}`");let r=this.rangeDepth;this.rangeDepth=0;let i=this.parseList();if(this.rangeDepth=r,this.consumeEnd(),this.defines.has(n)||this.inherit.has(n))throw new Ig(`redefinition of template ${JSON.stringify(n)}`,i.pos,{source:this.source});this.defines.set(n,{list:i,source:this.source})}parseQuotedName(){let e=this.next();if(e.type!==`String`)throw this.errAt(e,`expected template name (quoted string)`,{expected:`string`,found:m_(e)});return S_(e.value,e.pos,this.source)}parsePipeline(){let e=this.peek().pos,t=this.tryParseDecls(),n=[this.parseCommand()];for(;this.peek().type===`Pipe`;){this.next();let e=this.peek();if(!h_(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:m_(e)});n.push(this.parseCommand())}return{type:`Pipe`,pos:e,decls:t?.vars??[],isAssign:t?.isAssign??!1,cmds:n}}tryParseDecls(){if(this.peek().type!==`Variable`)return;let e=1;for(;this.peek(e).type===`Comma`;){if(this.peek(e+1).type!==`Variable`)return;e+=2}let t=this.peek(e).type;if(t!==`Declare`&&t!==`Assign`)return;let n=[g_(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(g_(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;h_(this.peek().type);)t.push(this.parsePrimary());return{type:`Command`,pos:e,args:t}}parsePrimary(){let e=this.next();switch(e.type){case`Dot`:return{type:`Dot`,pos:e.pos};case`Field`:return{type:`Field`,pos:e.pos,idents:e.value.slice(1).split(`.`)};case`Variable`:return g_(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:S_(e.value,e.pos,this.source)};case`Number`:return v_(e);case`Char`:return y_(e,this.source);case`Bool`:return{type:`Bool`,pos:e.pos,value:e.value===`true`};case`Nil`:return{type:`Nil`,pos:e.pos};case`LeftParen`:return this.parseChainOrPipe(e.pos);default:throw this.errAt(e,`expected command argument, found ${m_(e)}`,{expected:`command argument`,found:m_(e)})}}parseChainOrPipe(e){let t=this.parsePipeline(),n=this.expect(`RightParen`,"`)`"),r=[],i=n.pos.offset+1,a=this.peek();return a.type===`Field`&&a.pos.offset===i&&(this.next(),r.push(...a.value.slice(1).split(`.`))),r.length===0?t:{type:`Chain`,pos:e,node:t,fields:r}}};function f_(e,t){return{type:`List`,pos:e,nodes:t}}function p_(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function m_(e){return e.type===`EOF`?`end of input`:e.value||e.type}function h_(e){switch(e){case`Dot`:case`Field`:case`Variable`:case`Identifier`:case`String`:case`Number`:case`Char`:case`Bool`:case`Nil`:case`LeftParen`:return!0;default:return!1}}function g_(e){return{type:`Variable`,pos:e.pos,idents:__(e.value)}}function __(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function v_(e){let t=e.value,n=t.replace(/_/g,``),r=n.toLowerCase().endsWith(`i`),i=r?n.slice(0,-1):n,a=!r&&(i.includes(`.`)||!i.startsWith(`0x`)&&!i.startsWith(`0X`)&&/[eE]/.test(i)||(i.startsWith(`0x`)||i.startsWith(`0X`))&&/[pP]/.test(i)),o=!r&&!a,s={type:`Number`,pos:e.pos,text:t,isInt:o,isUint:!1,isFloat:a,isComplex:r};if(o){let e=b_(i);return{...s,intValue:e}}if(a){let e=x_(i);return{...s,floatValue:e}}let c=x_(i);return{...s,complexValue:[0,c]}}function y_(e,t){let n=C_(e.value,e.pos,t);return{type:`Number`,pos:e.pos,text:e.value,isInt:!0,isUint:!1,isFloat:!1,isComplex:!1,intValue:BigInt(n)}}function b_(e){let t=1n,n=e;return n.startsWith(`+`)?n=n.slice(1):n.startsWith(`-`)&&(t=-1n,n=n.slice(1)),t*BigInt(n)}function x_(e){return Number(e)}function S_(e,t,n){if(e.startsWith("`"))return e.slice(1,-1);let r=``;for(let i=1;i<e.length-1;i++){let a=e[i];if(a!==`\\`){r+=a;continue}let o=e[++i];switch(o){case`n`:r+=`
96
+ `;break;case`t`:r+=` `;break;case`r`:r+=`\r`;break;case`\\`:r+=`\\`;break;case`"`:r+=`"`;break;case`'`:r+=`'`;break;case`a`:r+=`\x07`;break;case`b`:r+=`\b`;break;case`f`:r+=`\f`;break;case`v`:r+=`\v`;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:{let t=o+(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,8));break}case`x`:{let t=(e[i+1]??``)+(e[i+2]??``);i+=2,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`u`:{let t=e.slice(i+1,i+5);i+=4,r+=String.fromCodePoint(Number.parseInt(t,16));break}case`U`:{let t=e.slice(i+1,i+9);i+=8,r+=String.fromCodePoint(Number.parseInt(t,16));break}default:throw new Ig(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function C_(e,t,n){let r=S_(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new Ig(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function w_(e,t){if(t(e)!==!1)for(let n of T_(e))w_(n,t)}function T_(e){switch(e.type){case`Text`:case`Comment`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:case`Identifier`:case`Field`:case`Variable`:case`Break`:case`Continue`:return[];case`List`:return e.nodes;case`Chain`:return[e.node];case`Command`:return e.args;case`Pipe`:return[...e.decls,...e.cmds];case`Action`:return[e.pipe];case`If`:case`Range`:case`With`:return e.elseList?[e.pipe,e.list,e.elseList]:[e.pipe,e.list];case`Template`:return e.pipe?[e.pipe]:[];case`Block`:return e.pipe?[e.pipe,e.list]:[e.list];default:return qg(e)}}const E_=Symbol(`go-template-js.MISSING`);function D_(e,t){if(e==null)return E_;if(e instanceof Map)return e.has(t)?e.get(t):E_;if(Array.isArray(e))return E_;if(typeof e==`object`){let n=e;return t in n?n[t]:E_}return E_}function O_(e,t){let n=e;for(let e of t){if(n===E_)return E_;n=D_(n,e)}return n}function k_(e,t){if(Object.is(e,t))return!0;if(e===null||t===null||e===void 0||t===void 0||typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t))return e.length===t.length?e.every((e,n)=>k_(e,t[n])):!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[n,r]of e)if(!t.has(n)||!k_(r,t.get(n)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}if(typeof e==`object`&&typeof t==`object`){let n=Object.keys(e),r=Object.keys(t);return n.length===r.length?n.every(n=>k_(e[n],t[n])):!1}return!1}const A_=new WeakSet;function j_(e){return A_.add(e),e}function M_(e){return A_.has(e)}function N_(e){return e==null||e===!1?!1:typeof e==`number`?e!==0&&!Number.isNaN(e):typeof e==`bigint`?e!==0n:typeof e==`string`||Array.isArray(e)?e.length>0:e instanceof Map||e instanceof Set?e.size>0:typeof e==`object`?Object.keys(e).length>0:!!e}function P_(e,t){return{eq:{fn:(e,...t)=>t.some(t=>L_(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!L_(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>R_(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>R_(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>R_(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>R_(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>z_(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=B_(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>H_(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>G_(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${G_(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>ev(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>rv(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>rv(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>J_(G_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>Z_(G_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>$_(G_(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!N_(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function F_(){return{and:j_({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!N_(t))return t;return t}}),or:j_({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),N_(t))return t;return t}})}}function I_(e,t){return{...P_(e,t),...F_()}}function L_(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):k_(e,t)}function R_(e,t){if(typeof e==`bigint`&&typeof t==`bigint`)return e===t?0:e<t?-1:1;if(typeof e==`bigint`||typeof t==`bigint`){let n=typeof e==`bigint`?e:BigInt(Math.trunc(Number(e))),r=typeof t==`bigint`?t:BigInt(Math.trunc(Number(t)));return n===r?0:n<r?-1:1}let n=e,r=t;return n===r?0:n<r?-1:1}function z_(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function B_(e,t){if(Array.isArray(e)||typeof e==`string`){let n=V_(t,e.length);if(n===e.length)throw Error(`index out of range: ${n}`);return e[n]}if(e instanceof Map)return e.get(t);if(typeof e==`object`&&e){if(typeof t!=`string`)throw Error(`index: object index must be string, got ${U_(t)}`);return e[t]}throw Error(`index: cannot index ${U_(e)}`)}function V_(e,t){let n=typeof e==`bigint`?Number(e):e;if(typeof n!=`number`||!Number.isInteger(n))throw Error(`cannot index slice/array with type ${W_(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function H_(e,t){if(t.length>3)throw Error(`too many slice indexes: ${t.length}`);if(typeof e==`string`&&t.length>2)throw Error(`cannot 3-index slice a string`);let n=e.length,r=[0,n,n];t.forEach((e,t)=>{r[t]=V_(e,n)});let[i,a,o]=r;if(i>a)throw Error(`invalid slice index: ${i} > ${a}`);if(a>o)throw Error(`invalid slice index: ${a} > ${o}`);return e.slice(i,a)}function U_(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function W_(e){return e==null?`<nil>`:typeof e==`string`?`string`:typeof e==`boolean`?`bool`:typeof e==`bigint`?`int64`:typeof e==`number`?Number.isInteger(e)?`int`:`float64`:Array.isArray(e)?`[]interface {}`:e instanceof Map||typeof e==`object`?`map[string]interface {}`:typeof e}function G_(e,t){let n=``,r=!1;for(let i=0;i<e.length;i++){let a=e[i],o=typeof a==`string`;i>0&&!r&&!o&&(n+=` `),n+=K_(a,t),r=o}return n}function K_(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const q_={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function J_(e){return e.replace(/[\0"'&<>]/g,e=>q_[e]??e)}const Y_={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},X_=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Z_(e){let t=``;for(let n of e){let e=Y_[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!X_.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Q_=new TextEncoder;function $_(e){let t=``,n=Q_.encode(e);for(let e of n)e>=48&&e<=57||e>=65&&e<=90||e>=97&&e<=122||e===45||e===46||e===95||e===126?t+=String.fromCharCode(e):e===32?t+=`+`:t+=`%${e.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function ev(e,t,n,r){let i=``,a=0,o=0;for(;o<e.length;){let s=e[o];if(s!==`%`){i+=s,o+=1;continue}if(e[o+1]===`%`){i+=`%`,o+=2;continue}let c=o+1;for(;c<e.length&&`+-# 0`.includes(e[c]??``);)c+=1;for(;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;if(e[c]===`.`)for(c+=1;c<e.length&&e[c]!==void 0&&/[0-9]/.test(e[c]);)c+=1;let l=e[c],u=e.slice(o+1,c),d=t[a++];i+=tv(l??``,u,d,n,r),o=c+1}return i}function tv(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?nv(t,n):nv(t,K_(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${W_(n)}=${K_(n,r)})`:nv(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return nv(t,rv(n,r,i));case`q`:return nv(t,JSON.stringify(K_(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${W_(n)}=${K_(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return nv(t,Number(n).toFixed(i))}case`t`:return nv(t,N_(n)?`true`:`false`);case`x`:if(typeof n==`string`){let e=new TextEncoder().encode(n),r=``;for(let t of e)r+=t.toString(16).padStart(2,`0`);return nv(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${W_(n)}=${K_(n,r)})`:typeof n==`bigint`?nv(t,n.toString(16)):nv(t,Math.trunc(n).toString(16));default:return`%!${e}(${W_(n)}=${K_(n,r)})`}}function nv(e,t){let n=e.match(/^([+\-# 0]*)/)?.[1]??``,r=e.slice(n.length).match(/^(\d+)/);if(!r)return t;let i=Number(r[1]);if(t.length>=i)return t;let a=` `.repeat(i-t.length);return n.includes(`-`)?t+a:a+t}function rv(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>rv(e,t,n)).join(` `)}]`:e instanceof Map?iv([...e.entries()],t,n):av(e)?iv(Object.entries(e),t,n):String(e)}function iv(e,t,n){let r=e=>rv(e,t,n),i=e=>typeof e==`number`||typeof e==`bigint`,a=([e],[t])=>{if(i(e)&&i(t))return e<t?-1:+(e>t);if(i(e)!==i(t))return i(e)?-1:1;let[n,a]=[r(e),r(t)];return n<a?-1:+(n>a)};return`map[${[...e].sort(a).map(([e,t])=>`${r(e)}:${r(t)}`).join(` `)}]`}function av(e){if(typeof e!=`object`||!e||Array.isArray(e)||e instanceof Map||e instanceof Set)return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype}function ov(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function sv(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function cv(e,t){let n=e;for(;n!==void 0;){if(n.vars.has(t))return{found:!0,value:n.vars.get(t)};n=n.parent}return{found:!1}}function lv(e,t,n){e.vars.set(t,n)}const uv=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],dv=new Set([`default`,`zero`,`error`]);function fv(e){if(e===void 0)return`default`;if(dv.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${pv(e)}`)}function pv(e){return typeof e==`string`?JSON.stringify(e):e===null?`null`:e===void 0?`undefined`:typeof e==`bigint`?`${e}n`:typeof e==`number`||typeof e==`boolean`?String(e):typeof e==`symbol`?e.toString():typeof e==`function`?`[Function]`:`[${typeof e}]`}function mv(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${pv(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${pv(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${pv(e.right)}`);return{left:e.left,right:e.right}}}function hv(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function gv(e){let t=new Set(uv);for(let[n,r]of Object.entries(e)){if(r.argTypes.forEach((e,r)=>{if(!t.has(e))throw Error(`EngineConfig.funcs.${n}: argTypes[${r}] is ${JSON.stringify(e)}, which is not an ArgType; declare one of ${uv.join(`, `)}`)}),hv(r.arity)&&r.argTypes.length===0)throw Error(`EngineConfig.funcs.${n}: arity ${JSON.stringify(r.arity.kind)} needs at least one declared argType (it reads its repeating slot from the end of argTypes); declare the slots the Go signature has, or use { kind: "exact" }`);if(r.arity.kind===`alternating`&&(!Number.isSafeInteger(r.arity.minimum)||r.arity.minimum<0))throw Error(`EngineConfig.funcs.${n}: arity "alternating" needs a non-negative integer minimum, got ${String(r.arity.minimum)}; the gate rejects every count below it, so a negative or non-finite minimum would disable the lower bound`)}return e}const _v=Object.freeze({kind:`break`}),vv=Object.freeze({kind:`continue`}),yv={kind:`none`};let bv;(class e{source;_evaluate;_defines;_referencedFunctions;_referencedCalls;constructor(e,t,n,r,i){this.source=e,this._evaluate=t,this._defines=n,this._referencedFunctions=r,this._referencedCalls=i}static{bv=(t,n,r,i,a)=>new e(t,n,r,i,a)}defines(){return this._defines}evaluate(e){return this._evaluate(e)}referencedFunctions(){return this._referencedFunctions}referencedCalls(){return this._referencedCalls}});function xv(e){let t=new Set,n=e=>{w_(e,e=>{e.type===`Identifier`&&t.add(e.ident)})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}const Sv={kind:`dynamic`};function Cv(e){switch(e.type){case`String`:return{kind:`literal`,value:e.value};case`Bool`:return{kind:`literal`,value:e.value};case`Nil`:return{kind:`literal`,value:null};case`Number`:{let t=Wv(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:Sv}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return Sv;let t=e.cmds[0];if(t===void 0)return Sv;let n=t.args[0];return n===void 0||n.type!==`Identifier`?Sv:{kind:`call`,name:n.ident,args:t.args.slice(1).map(Cv)}}default:return Sv}}function wv(e){let t=[],n=e=>{w_(e,e=>{if(e.type!==`Command`)return;let n=e.args[0];if(n===void 0||n.type!==`Identifier`)return;let r=e.args.slice(1).map(Cv);t.push({name:n.ident,args:r.map(e=>e.kind===`literal`&&typeof e.value==`string`?e.value:null),argExprs:r})})};n(e.root);for(let t of e.ownDefines.values())n(t.list);return t}var Tv=class{fromString;toString;isT;funcs;missingKey;delims;constructor(e){this.fromString=e.fromString;let t=Object.hasOwn(e,`toString`)?e.toString:void 0;this.toString=t??Nv,this.isT=e.isT??Ev,this.missingKey=fv(e.missingKey),this.delims=mv(e.delims),this.funcs=gv({...I_(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=u_(e,this.delims,t);return bv(n.source,e=>this.evalParsed(n,e),n.defines,xv(n),wv(n))}compile(e){let t=this.parse(e);return e=>t.evaluate(e)}evaluate(e,t){return e.evaluate(t)}evalParsed(e,t){let n=[],r=ov(t),i={out:n,defines:e.defines,source:e.source};return this.evalList(e.root,r,i),n}evalList(e,t,n){for(let r of e.nodes)this.evalNode(r,t,n)}evalNode(e,t,n){switch(e.type){case`Text`:n.out.push(this.fromString(e.text));return;case`Comment`:return;case`Action`:{let r=this.evalAction(e,t,n);e.pipe.decls.length===0&&this.emitFromValue(r,n);return}case`List`:this.evalList(e,t,n);return;case`If`:this.evalIf(e,t,n);return;case`Range`:this.evalRange(e,t,n);return;case`With`:this.evalWith(e,t,n);return;case`Break`:throw _v;case`Continue`:throw vv;case`Template`:this.evalTemplateInvoke(e,t,n);return;case`Block`:this.evalBlock(e,t,n);return;case`Pipe`:case`Command`:case`Identifier`:case`Field`:case`Variable`:case`Chain`:case`Dot`:case`Nil`:case`Bool`:case`Number`:case`String`:throw new Lg(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:qg(e)}}evalIf(e,t,n){N_(this.evalPipe(e.pipe,t,n))?this.evalList(e.list,t,n):e.elseList&&this.evalList(e.elseList,t,n)}evalWith(e,t,n){let r=this.evalPipe(e.pipe,t,n);if(N_(r)){let i=sv(t,r);this.evalList(e.list,i,n)}else e.elseList&&this.evalList(e.elseList,t,n)}evalRange(e,t,n){let r=this.evalPipeWithoutDecls(e.pipe,t,n),i=e.pipe.decls,a=Vv(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=sv(t,o);if(i.length===1)lv(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;lv(a,e,r),lv(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===vv)continue;throw e}}}catch(e){if(e===_v)return;throw e}}evalTemplateInvoke(e,t,n){let r=c_(n.defines,e.name);if(!r)throw new Lg(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=sv(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot);this.evalList(r.list,i,{out:n.out,defines:n.defines,source:r.source})}evalBlock(e,t,n){let r=sv(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=c_(n.defines,e.name)??{list:e.list,source:n.source};this.evalList(i.list,r,{out:n.out,defines:n.defines,source:i.source})}evalAction(e,t,n){return this.evalPipe(e.pipe,t,n)}evalPipe(e,t,n){if(e.cmds.length===0)throw new Lg(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,yv);for(let i=1;i<e.cmds.length;i++){let a=e.cmds[i];r=this.evalCommand(a,t,n,{kind:`value`,value:r})}if(e.decls.length>0)for(let n of e.decls)lv(t,n.idents[0]??`$`,r);return r}evalPipeWithoutDecls(e,t,n){let r={type:`Pipe`,pos:e.pos,decls:[],isAssign:!1,cmds:e.cmds};return this.evalPipe(r,t,n)}evalCommand(e,t,n,r){if(e.args.length===0)throw new Lg(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Lg(`cannot apply arguments to a ${i.type} primary; only functions take arguments`,e.pos,{source:n.source});return this.evalPrimary(i,t,n)}let a=this.funcs[i.ident];if(!a)throw new Rg(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=M_(a),c=o.map(e=>s?()=>this.evalPrimary(e,t,n):this.evalPrimary(e,t,n));if(r.kind===`value`){let e=r.value;c.push(s?()=>e:e)}return this.invoke(i.ident,a,c,e.pos,n)}invoke(e,t,n,r,i){Ov(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof Bg?new Bg(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof Ug?new Ug(t.message,r,{source:i.source}):t instanceof Fg?t:new Lg(`error calling ${e}: ${zv(t)}`,r,{source:i.source,cause:t})}}evalPrimary(e,t,n){switch(e.type){case`Dot`:return t.dot;case`Nil`:return null;case`Bool`:return e.value;case`Number`:return Wv(e);case`String`:return e.value;case`Field`:return this.resolveFieldChain(t.dot,e.idents,e.pos,n);case`Variable`:return this.resolveVariable(e.idents,t,e.pos,n);case`Identifier`:{let t=this.funcs[e.ident];if(!t)throw new Rg(e.ident,e.pos,{source:n.source,available:Object.keys(this.funcs)});return this.invoke(e.ident,t,[],e.pos,n)}case`Chain`:return this.resolveFieldChain(this.evalPrimary(e.node,t,n),e.fields,e.pos,n);case`Pipe`:return this.evalPipe(e,t,n);default:throw new Lg(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=O_(e,t);if(i!==E_)return i;if(this.missingKey===`error`)throw new Hg(t,n,{source:r.source})}resolveVariable(e,t,n,r){let i=e[0]??`$`;if(i===`$`){let i=e.slice(1);return i.length===0?t.root:this.resolveFieldChain(t.root,i,n,r)}let a=cv(t,i);if(!a.found)throw new Lg(`undefined variable ${i}`,n,{source:r.source});let o=e.slice(1);return o.length===0?a.value:this.resolveFieldChain(a.value,o,n,r)}emitFromValue(e,t){if(e==null){t.out.push(this.fromString(`<no value>`));return}if(typeof e==`string`){t.out.push(this.fromString(e));return}if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`){t.out.push(this.fromString(String(e)));return}if(this.isT(e)){t.out.push(e);return}t.out.push(this.fromString(rv(e,this.toString,this.isT)))}};const Ev=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function Dv(e){return new Tv(e)}function Ov(e,t,n,r,i,a=Nv,o=Mv,s=Ev){let{argTypes:c,arity:l}=t,u=kv(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new zg(e,u,n.length,r,{source:i});let d=Av(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!jv(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new Vg(e,t+1,l,r,{source:i}):new Bg(e,t+1,Rv(c),Bv(l),r,{source:i});if(c===`liftable`&&typeof l==`string`&&(n[t]=o(l)),c===`truncating-int`?n[t]=Math.trunc(Number(l)):(c===`int`||c===`float`)&&(n[t]=Number(l)),c===`ordered`){if(f===-1)f=t;else if(!Fv(n[f],l))throw new Bg(e,t+1,`${Rv(`ordered`)} of the same kind as ${Bv(n[f])}`,Bv(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!Iv(n[p],l))throw new Bg(e,t+1,`${Rv(`comparable`)} of the same kind as ${Bv(n[p])}`,Bv(l),r,{source:i})}}}function kv(e,t){switch(t.kind){case`exact`:return{minimum:e.length,maximum:e.length};case`variadic`:return{minimum:e.length-1,maximum:1/0};case`alternating`:return{minimum:t.minimum,maximum:1/0}}}function Av(e,t){let n=e.length;switch(t.kind){case`exact`:return t=>e[t];case`variadic`:return t=>e[Math.min(t,n-1)];case`alternating`:return t=>e[t%n]}}function jv(e,t,n,r){switch(e){case`truthy`:case`reflective`:case`value`:return!0;case`string`:return typeof t==`string`;case`int`:return typeof t==`number`&&Number.isSafeInteger(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`truncating-int`:return typeof t==`number`&&Number.isFinite(t)||typeof t==`bigint`&&Number.isSafeInteger(Number(t));case`float`:return typeof t==`number`||typeof t==`bigint`&&Number.isFinite(Number(t));case`bool`:return typeof t==`boolean`;case`ordered`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`;case`T`:return r(t);case`list`:return Array.isArray(t);case`dict`:return av(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||av(t);case`comparable`:return t==null||typeof t==`string`||typeof t==`number`||typeof t==`bigint`||typeof t==`boolean`||Array.isArray(t)||t instanceof Map||t instanceof Set||av(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||av(t);case`index-key`:return typeof t==`string`||typeof t==`number`||typeof t==`bigint`;case`sliceable`:return typeof t==`string`||Array.isArray(t);case`stringifiable`:if(typeof t==`string`)return!0;try{return n(t),!0}catch{return!1}case`liftable`:return typeof t==`string`||r(t);case`serializable`:return Pv(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Mv(e){return e}function Nv(e){if(typeof e==`string`)return e;if(e==null)return`<nil>`;if(typeof e==`number`||typeof e==`bigint`||typeof e==`boolean`)return String(e);throw new Bg(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,Bv(e),{line:0,column:0,offset:0})}function Pv(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function Fv(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Iv(e,t){let n=Lv(e),r=Lv(t);return n===`nil`||r===`nil`?!0:n===r}function Lv(e){return e==null?`nil`:typeof e==`string`?`string`:typeof e==`number`||typeof e==`bigint`?`number`:typeof e==`boolean`?`boolean`:Array.isArray(e)?`array`:e instanceof Map?`map`:e instanceof Set?`set`:`object`}function Rv(e){switch(e){case`int`:return`integer (safe-integer number or bigint)`;case`truncating-int`:return`integer (finite number, truncated toward zero, or safe-integer bigint)`;case`float`:return`float (number, including NaN/Infinity, or finite-convertible bigint)`;case`T`:return`T (consumer-defined fragment)`;case`ordered`:return`orderable primitive`;case`list`:return`list`;case`dict`:return`dict (plain object)`;case`sized`:return`sized value (string, list, map, set, or dict)`;case`comparable`:return`comparable value (orderable primitive, nil, list, dict, Map, or Set)`;case`stringifiable`:return`stringifiable value (string or convertible via the engine's toString)`;case`liftable`:return`liftable value (T or string, the latter lifted via the engine's fromString)`;case`callable`:return`callable (function value)`;case`collection`:return`collection (string, array, Map, or dict)`;case`index-key`:return`index key (number, bigint, or string)`;case`sliceable`:return`sliceable value (string or array)`;case`serializable`:return`JSON-serializable value`;case`truthy`:case`reflective`:case`value`:case`string`:case`bool`:return e;default:throw Error(`invalid ArgType: ${String(e)}`)}}function zv(e){return e instanceof Error?e.message:String(e)}function Bv(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Vv(e){return e==null?[]:Array.isArray(e)?e.map((e,t)=>[t,e]):typeof e==`string`?[...e].map((e,t)=>[t,e]):e instanceof Map?Hv([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Hv(Object.entries(e)):[]}function Hv(e){return[...e].sort((e,t)=>Uv(e[0],t[0]))}function Uv(e,t){if((typeof e==`number`||typeof e==`bigint`)&&(typeof t==`number`||typeof t==`bigint`)){let n=typeof e==`bigint`?Number(e):e,r=typeof t==`bigint`?Number(t):t;return n===r?0:n<r?-1:1}let n=String(e),r=String(t);return n===r?0:n<r?-1:1}function Wv(e){if(e.intValue!==void 0){let t=e.intValue;return t>=BigInt(-(2**53-1))&&t<=BigInt(2**53-1)?Number(t):t}if(e.floatValue!==void 0)return e.floatValue;if(e.complexValue!==void 0)return e.complexValue;throw Error(`internal: NumberNode has none of intValue/floatValue/complexValue — parser invariant violated`)}function Gv(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Kv(e){if(typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(typeof e==`string`){let t=Number.parseFloat(e);return Number.isNaN(t)?0:t}return typeof e==`boolean`?+!!e:0}function qv(e){if(e===``)return null;let t=1,n=e;return n[0]===`+`?n=n.slice(1):n[0]===`-`&&(t=-1,n=n.slice(1)),n===``?null:/^0x[0-9a-fA-F]+$/i.test(n)?{sign:t,digits:n.slice(2),base:16}:/^0b[01]+$/i.test(n)?{sign:t,digits:n.slice(2),base:2}:/^0o[0-7]+$/i.test(n)?{sign:t,digits:n.slice(2),base:8}:n===`0`?{sign:t,digits:`0`,base:10}:n[0]===`0`?/^0[0-7]+$/.test(n)?{sign:t,digits:n.slice(1),base:8}:null:/^[0-9]+$/.test(n)?{sign:t,digits:n,base:10}:null}function Jv(e){if(typeof e==`number`){let t=Math.trunc(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`bigint`){let t=Number(e);return Number.isSafeInteger(t)?t:0}if(typeof e==`string`){let t=qv(e);if(t===null)return 0;let n=t.sign*Number.parseInt(t.digits,t.base);return Number.isSafeInteger(n)?n:0}return typeof e==`boolean`?+!!e:0}function Yv(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=qv(e);if(t===null)return 0n;let n=t.base===16?`0x`:t.base===2?`0b`:t.base===8?`0o`:``,r=BigInt(n+t.digits);return t.sign===-1?-r:r}return typeof e==`boolean`&&e?1n:0n}function Xv(e){if(!/^[+-]?[0-7]+$/.test(e))return 0;let t=e[0]===`-`?-1:1,n=e[0]===`+`||e[0]===`-`?e.slice(1):e,r=t*Number.parseInt(n,8);return Number.isSafeInteger(r)?r:0}function Zv(e){return JSON.stringify(e)??`null`}function Qv(){return{atoi:{fn:e=>Gv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>Jv(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>Yv(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Kv(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>Xv(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>Zv(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const $v={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function ey(e){if(e===`0`)return 0;let t=!1,n=e;if(n.startsWith(`-`)?(t=!0,n=n.slice(1)):n.startsWith(`+`)&&(n=n.slice(1)),!n)return NaN;let r=0,i=/^(\d+(?:\.\d+)?)(ns|µs|us|ms|[smh])/;for(;n.length>0;){let e=i.exec(n);if(!e)return NaN;let t=parseFloat(e[1]??`0`),a=e[2];r+=t*$v[a],n=n.slice(e[0].length)}return t?-r:r}function ty(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<$v.us?`${Math.floor(n)}ns`:n<$v.ms?ny(n,$v.us,3,`µs`):n<$v.s?ny(n,$v.ms,6,`ms`):ry(n),t?`-${r}`:r}function ny(e,t,n,r){let i=Math.floor(e/t),a=Math.round(e%t);return a===0?`${i}${r}`:`${i}.${String(a).padStart(n,`0`).replace(/0+$/,``)}${r}`}function ry(e){let t=Math.floor(e/$v.h);e-=t*$v.h;let n=Math.floor(e/$v.m);e-=n*$v.m;let r=Math.floor(e/$v.s),i=e-r*$v.s,a=i===0?`${r}s`:`${r}.${String(Math.round(i)).padStart(9,`0`).replace(/0+$/,``)}s`;return t>0?`${t}h${n}m${a}`:n>0?`${n}m${a}`:a}function iy(e){return e*$v.s}function ay(e){if(e instanceof Date)return e;if(typeof e==`bigint`)return new Date(Number(e)*1e3);if(typeof e==`number`)return new Date(e*1e3);if(typeof e==`string`){let t=new Date(e);if(!Number.isNaN(t.getTime()))return t;throw Error(`sprig: cannot parse date value ${JSON.stringify(e)}`)}throw Error(`sprig: unsupported date type: ${typeof e}`)}function oy(e,t){let n=t().getTime()-ay(e).getTime();return ty(Math.round(n/1e3)*1e9)}const sy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],cy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],ly=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],uy=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function dy(e){return e<10?`0${e}`:String(e)}function fy(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function py(e){return e<10?` ${e}`:String(e)}function my(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${dy(Math.floor(n/60))}${dy(n%60)}`}function hy(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${dy(Math.floor(n/60))}:${dy(n%60)}`}function gy(e){return`${e>=0?`+`:`-`}${dy(Math.floor(Math.abs(e)/60))}`}function _y(e){return e===0?`Z`:my(e)}function vy(e){return e===0?`Z`:hy(e)}function yy(e){return e===0?`Z`:gy(e)}function by(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const xy=[[`.000000000`,e=>`.${by(e.ms,9,!1)}`],[`.999999999`,e=>{let t=by(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${by(e.ms,6,!1)}`],[`.999999`,e=>{let t=by(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${fy(e.ms)}`],[`.999`,e=>{let t=fy(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>sy[e.month-1]??`January`],[`Monday`,e=>ly[e.weekday]??`Monday`],[`Z07:00`,e=>vy(e.offsetMinutes)],[`-07:00`,e=>hy(e.offsetMinutes)],[`Z0700`,e=>_y(e.offsetMinutes)],[`-0700`,e=>my(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>cy[e.month-1]??`Jan`],[`Mon`,e=>uy[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>gy(e.offsetMinutes)],[`Z07`,e=>yy(e.offsetMinutes)],[`15`,e=>dy(e.hour)],[`01`,e=>dy(e.month)],[`02`,e=>dy(e.day)],[`_2`,e=>py(e.day)],[`03`,e=>dy(e.hour12)],[`04`,e=>dy(e.minute)],[`05`,e=>dy(e.second)],[`06`,e=>dy(e.year%100)],[`PM`,e=>e.hour>=12?`PM`:`AM`],[`pm`,e=>e.hour>=12?`pm`:`am`],[`1`,e=>String(e.month)],[`2`,e=>String(e.day)],[`3`,e=>String(e.hour12)],[`4`,e=>String(e.minute)],[`5`,e=>String(e.second)]];function Sy(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of xy)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const Cy={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function wy(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const Ty=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function Ey(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=wy(new Intl.DateTimeFormat(`en-US`,{...Cy,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=wy(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=Dy(wy(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=Ty.indexOf(r.get(`weekday`)??`Sunday`);return{year:parseInt(r.get(`year`)??`2000`,10),month:parseInt(r.get(`month`)??`1`,10),day:parseInt(r.get(`day`)??`1`,10),weekday:s===-1?0:s,hour:i,hour12:i%12||12,minute:parseInt(r.get(`minute`)??`0`,10),second:parseInt(r.get(`second`)??`0`,10),ms:e.getUTCMilliseconds(),tzAbbr:a,offsetMinutes:o}}function Dy(e){if(e===`GMT`||e===`UTC`)return 0;let t=e.match(/^GMT([+-])(\d{1,2})(?::(\d{2}))?$/);if(!t)return 0;let n=t[1]===`+`?1:-1,r=parseInt(t[2]??`0`,10),i=parseInt(t[3]??`0`,10);return n*(r*60+i)}function Oy(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function ky(e,t){return Sy(e,Ey(ay(t),Oy()))}function Ay(e,t,n){return Sy(e,Ey(ay(t),n))}function jy(e,t){let n=ay(t),r=ey(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function My(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:ty(iy(t))}return typeof e==`bigint`?ty(iy(Number(e))):typeof e==`number`?ty(iy(e)):`0s`}const Ny=36e11*24*365,Py=36e11*24*30,Fy=36e11*24,Iy=36e11,Ly=6e10,Ry=1e9;function zy(e){let t=ey(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>Ny?`${Math.floor(n/Ny)}y`:n>Py?`${Math.floor(n/Py)}mo`:n>Fy?`${Math.floor(n/Fy)}d`:n>Iy?`${Math.floor(n/Iy)}h`:n>Ly?`${Math.floor(n/Ly)}m`:n>Ry?`${Math.floor(n/Ry)}s`:`0s`}function By(e){let t=Ey(ay(e),Oy());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function Vy(e,t){let n=Ey(ay(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function Hy(e){return e()}const Uy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Wy=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Gy(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Ky(e,t,n){return[e.slice(t,t+n),t+n]}function qy(e,t,n,r){let i=t;for(;i<e.length&&i-t<r&&e.charCodeAt(i)>=48&&e.charCodeAt(i)<=57;)i++;if(i-t<n)throw Error(`sprig toDate: expected ${n}-${r} digits at pos ${t}`);return[parseInt(e.slice(t,i),10),i]}function Jy(e,t){for(let[n,r]of Uy.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function Yy(e,t){for(let[n,r]of Wy.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function Xy(e,t){for(let n of[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected weekday name at pos ${t}`)}function Zy(e,t){for(let n of[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`])if(e.startsWith(n,t))return t+n.length;throw Error(`sprig toDate: expected short weekday name at pos ${t}`)}function Qy(e,t){if(e[t]===` `){let[n,r]=qy(e,t+1,1,1);return[n,r]}return qy(e,t,1,2)}function $y(e,t,n){let r=e[t]===`+`?1:e[t]===`-`?-1:0;if(r===0)throw Error(`sprig toDate: expected +/- at pos ${t}`);let i=t+1,[a,o]=qy(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=qy(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=qy(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function eb(e,t,n,r){if(e[t]===`Z`)return[0,t+1];if(r){let n=e[t]===`+`?1:e[t]===`-`?-1:0;if(n===0)throw Error(`sprig toDate: expected Z or +/- at pos ${t}`);let[r,i]=qy(e,t+1,2,2);return[n*r*60,i]}return $y(e,t,n)}function tb(e,t){let n=t;for(;n<e.length&&e.charCodeAt(n)>=65&&e.charCodeAt(n)<=90;)n++;if(n===t)throw Error(`sprig toDate: expected timezone abbreviation at pos ${t}`);return n}function nb(e,t,n){let[r,i]=Ky(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function rb(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=Jy(t,n);return i.month=e,[r,i]}case`Monday`:return[Xy(t,n),i];case`Jan`:{let[e,r]=Yy(t,n);return i.month=e,[r,i]}case`Mon`:return[Zy(t,n),i];case`2006`:{let[e,r]=qy(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=qy(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=qy(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=qy(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=Qy(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=qy(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=qy(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=qy(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=qy(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=qy(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=qy(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=qy(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=qy(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=qy(t,n,1,2);return i.second=e,[r,i]}case`PM`:case`pm`:{let e=t.slice(n,n+2).toLowerCase();if(e!==`am`&&e!==`pm`)throw Error(`sprig toDate: expected AM/PM at pos ${n}, got ${JSON.stringify(t.slice(n,n+2))}`);return i.isPM=e===`pm`,i.hour12=!0,[n+2,i]}case`MST`:return[tb(t,n),i];case`-0700`:{let[e,r]=$y(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=$y(t,n,!0);return i.offsetMinutes=e,[r,i]}case`-07`:{let e=t[n]===`+`?1:t[n]===`-`?-1:0;if(e===0)throw Error(`sprig toDate: expected +/- at pos ${n}`);let[r,a]=qy(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=eb(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=eb(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=eb(t,n,!1,!0);return i.offsetMinutes=e,[r,i]}case`.000000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=nb(t,n+1,9);return i.ms=e,[r,i]}case`.999999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=nb(t,n+1,6);return i.ms=e,[r,i]}case`.999999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(9,`0`);return i.ms=Math.round(parseInt(a,10)/1e6),[r,i]}case`.000`:{if(t[n]!==`.`)throw Error(`sprig toDate: expected . at pos ${n}`);let[e,r]=nb(t,n+1,3);return i.ms=e,[r,i]}case`.999`:{if(t[n]!==`.`)return[n,i];let e=n+1,r=e;for(;r<t.length&&t.charCodeAt(r)>=48&&t.charCodeAt(r)<=57;)r++;let a=t.slice(e,r).padEnd(3,`0`);return i.ms=parseInt(a,10),[r,i]}}throw Error(`sprig toDate: unhandled token ${e}`)}const ib=`.000000000,.999999999,.000000,.999999,.000,.999,January,Monday,Z07:00,-07:00,Z0700,-0700,2006,Jan,Mon,MST,-07,Z07,15,01,02,_2,03,04,05,06,PM,pm,1,2,3,4,5`.split(`,`);function ab(e,t){let n=0,r=0,i=Gy();for(;n<e.length;){let a=!1;for(let o of ib)if(e.startsWith(o,n)){let[e,s]=rb(o,t,r,i);r=e,i=s,n+=o.length,a=!0;break}if(!a){let i=e.charAt(n);if(t[r]!==i)throw Error(`sprig toDate: expected ${JSON.stringify(i)} at pos ${r}, got ${JSON.stringify(t[r])}`);n++,r++}}if(r!==t.length)throw Error(`sprig toDate: extra characters at pos ${r}: ${JSON.stringify(t.slice(r))}`);if(i.hour12){let e=i.hour%12;i.hour=i.isPM?e+12:e}let a=Date.UTC(i.year,i.month-1,i.day,i.hour,i.minute,i.second,i.ms)-i.offsetMinutes*60*1e3;return new Date(a)}function ob(e,t){return ab(e,t)}function sb(e){return String(Math.floor(ay(e).getTime()/1e3))}function cb(e=()=>new Date){return{now:{fn:()=>Hy(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>ky(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>Ay(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>jy(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>By(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>Vy(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>My(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>zy(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>ob(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>oy(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>sb(e),argTypes:[`value`],arity:{kind:`exact`}}}}function lb(e){return e==null||e===!1?!0:typeof e==`number`?e===0||Number.isNaN(e):typeof e==`bigint`?e===0n:typeof e==`string`||Array.isArray(e)?e.length===0:e instanceof Map||e instanceof Set?e.size===0:typeof e==`object`?Object.keys(e).length===0:!1}function ub(...e){for(let t of e)if(!lb(t))return t}function db(e,t){return lb(t)?e:t}function fb(e){return JSON.parse(e)}function pb(e,t,n){return N_(n)?e:t}function mb(e){return JSON.stringify(e)??`null`}function hb(e){return JSON.stringify(e,null,2)??`null`}function gb(){return{default:{fn:(e,t)=>db(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>lb(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>ub(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>pb(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>fb(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>mb(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>hb(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function _b(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function vb(e){if(e.kind!==`call`||e.name!==`dict`||e.args.length%2!=0)return null;let t=[];for(let[n,r]of e.args.entries()){if(r.kind!==`literal`||n%2==0&&typeof r.value!=`string`)return null;t.push(r.value)}return _b(...t)}function yb(e,t){return e[t]}function bb(e,t){return t in e}function xb(e){return Object.keys(e)}function Sb(e,...t){let n={...e};for(let e of t)for(let[t,r]of Object.entries(e))t in n||(n[t]=r);return n}function Cb(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function wb(e,...t){let n=new Set(t),r={};for(let[t,i]of Object.entries(e))n.has(t)||(r[t]=i);return r}function Tb(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Eb(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function Db(e,t,n){return e[t]=n,e}function Ob(e,t){return delete e[t],e}function kb(e){return Object.values(e)}function Ab(){return{dict:{fn:(...e)=>_b(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>yb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>Db(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>Ob(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>xb(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>kb(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>Eb(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>Tb(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>wb(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>bb(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>Sb(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>Cb(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}function jb(e){throw new Ug(e)}function Mb(){return{fail:{fn:e=>jb(e),argTypes:[`string`],arity:{kind:`exact`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Nb(...e){for(let t of e)if(lb(t))return!1;return!0}function Pb(...e){for(let t of e)if(!lb(t))return!0;return!1}function Fb(e,t){return[...e,t]}function Ib(e,t){let n=Math.max(1,e),r=[];for(let e=0;e<t.length;e+=n)r.push(t.slice(e,e+n));return r}function Lb(e){return e.filter(e=>!lb(e))}function Rb(...e){let t=[];for(let n of e)t.push(...n);return t}const zb={line:0,column:0,offset:0};function Bb(e,t,n,r){return new Bg(e,t,n,r,zb)}function Vb(...e){if(e.length<3)throw Bb(`dig`,0,`at least 3 arguments (...keys, default, dict)`,`${e.length} argument${e.length===1?``:`s`}`);let t=e[e.length-1],n=e[e.length-2],r=e.slice(0,-2);if(!Ub(t))throw Bb(`dig`,e.length-1,`dict`,Wb(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Bb(`dig`,e,`string`,Wb(r[e]));return Hb(t,n,r,e.length)}function Hb(e,t,n,r){let i=n[0];if(!Object.hasOwn(e,i))return t;let a=e[i];if(n.length===1)return a;if(!Ub(a))throw Bb(`dig`,r-1,`dict at intermediate key`,Wb(a));return Hb(a,t,n.slice(1),r)}function Ub(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function Wb(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Gb(e){return e[0]}function Kb(e,t){return t.some(t=>k_(t,e))}function qb(e){return e.slice(0,-1)}function Jb(e){return e[e.length-1]}function Yb(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Xb(...e){return e}function Zb(e,t){return[t,...e]}function Qb(e){return e.slice(1)}function $b(e){return[...e].reverse()}function ex(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function tx(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function nx(e){let t=[];for(let n of e)t.some(e=>k_(e,n))||t.push(n);return t}function rx(e,...t){return e.filter(e=>!t.some(t=>k_(t,e)))}function ix(){return{list:{fn:(...e)=>Xb(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Gb(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>Jb(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>Qb(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>qb(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>Yb(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>$b(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>nx(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>rx(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Kb(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>Lb(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>ex(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>Rb(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>Ib(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>Zb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>Fb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>tx(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>Fb(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>Xb(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Vb(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>Nb(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>Pb(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function ax(...e){return e.reduce((e,t)=>e+t,0)}function ox(e){return e+1}function sx(e){return e+1}function cx(...e){return e.reduce((e,t)=>e+t,0)}function lx(e){return Math.ceil(e)}function ux(e,t){return Math.trunc(e/t)}function dx(e,...t){return t.reduce((e,t)=>e/t,e)}function fx(e){return Math.floor(e)}function px(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function mx(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function hx(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function gx(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function _x(e,t){return e%t}function vx(...e){return e.reduce((e,t)=>e*t,1)}function yx(...e){return e.reduce((e,t)=>e*t,1)}function bx(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function xx(e,t,n){let r=[];if(t<e){if(n>=0)return r;for(let i=e;i>t;i+=n)r.push(i);return r}if(n<=0)return r;for(let i=e;i<t;i+=n)r.push(i);return r}function Sx(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),xx(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return xx(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:xx(n,i+t,r).join(` `)}default:return``}}function Cx(e,t){return e-t}function wx(e,...t){return t.reduce((e,t)=>e-t,e)}function Tx(e){return xx(0,e,e<0?-1:1)}function Ex(){return{add:{fn:(...e)=>ax(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>Cx(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>vx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>ux(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>_x(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>hx(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>px(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>fx(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>lx(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>bx(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>cx(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>wx(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>yx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>dx(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>ox(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>sx(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>mx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>gx(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>px(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>Sx(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>Tx(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>xx(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function Dx(e){return Array.from(e)}function Ox(e,t){return e===``?Dx(t):t.split(e)}function kx(e,t){let n=Dx(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function Ax(e,t,n){let r=Dx(n);return t<7||r.length<t||e<0||e>r.length-t+1?n:`...${r.slice(e,e+t-6).join(``)}...`}const Y={Invalid:0,Number:1,UpperCase:2,Alphabet:3,Connector:4,Punct:5,Other:6},jx=/^[-_\s]$/,Mx=/^\p{P}$/u,Nx=/^\p{L}$/u,Px=/^\p{Lu}$/u,Fx=/^\p{N}$/u;function Ix(e){return e!==void 0&&jx.test(e)}function Lx(e){return e!==void 0&&Nx.test(e)}function Rx(e){return e!==void 0&&Px.test(e)}function zx(e){return e!==void 0&&Fx.test(e)}function Bx(e){return e!==void 0&&Mx.test(e)}function Vx(e,t){if(t>=e.length)return{word:{wt:Y.Invalid,text:``},next:t};let n=e[t],r=t+1;if(Ix(n)){for(;r<e.length&&Ix(e[r]);)r++;return{word:{wt:Y.Connector,text:e.slice(t,r).join(``)},next:r}}if(Bx(n)){for(;r<e.length&&Bx(e[r]);)r++;return{word:{wt:Y.Punct,text:e.slice(t,r).join(``)},next:r}}if(Rx(n)){if(r>=e.length)return{word:{wt:Y.UpperCase,text:n},next:r};if(Rx(e[r])){let n=r;for(;n<e.length&&Rx(e[n]);)n++;return n<e.length&&Lx(e[n])?{word:{wt:Y.UpperCase,text:e.slice(t,n-1).join(``)},next:n-1}:{word:{wt:Y.UpperCase,text:e.slice(t,n).join(``)},next:n}}if(Lx(e[r])){let n=r+1;for(;n<e.length&&Lx(e[n])&&!Rx(e[n]);)n++;return{word:{wt:Y.UpperCase,text:e.slice(t,n).join(``)},next:n}}return{word:{wt:Y.UpperCase,text:n},next:r}}if(Lx(n)){for(;r<e.length&&Lx(e[r])&&!Rx(e[r]);)r++;return{word:{wt:Y.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(zx(n)){for(;r<e.length&&zx(e[r]);)r++;return{word:{wt:Y.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!Ix(e[r])&&!Lx(e[r])&&!zx(e[r])&&!Bx(e[r]);)r++;return{word:{wt:Y.Other,text:e.slice(t,r).join(``)},next:r}}function Hx(e,t,n){if(t.wt!==Y.UpperCase&&t.wt!==Y.Connector){e.push(t.text);return}for(let r of t.text)Ix(r)?e.push(n):Rx(r)?e.push(r.toLowerCase()):e.push(r)}function Ux(e,t){if(e.length===0)return``;let n=Dx(e),r=[],{word:i,next:a}=Vx(n,0);for(;a<n.length;){i.wt!==Y.Connector&&Hx(r,i,t);let e=i,o=i;if({word:i,next:a}=Vx(n,a),e.wt===Y.Number){for(;i.wt===Y.Alphabet||i.wt===Y.Number;)Hx(r,i,t),{word:i,next:a}=Vx(n,a);i.wt!==Y.Invalid&&i.wt!==Y.Punct&&i.wt!==Y.Connector&&r.push(t);continue}if(e.wt===Y.Connector){Hx(r,o,t);continue}if(e.wt===Y.Punct)continue;if(i.wt!==Y.Number){i.wt!==Y.Connector&&i.wt!==Y.Punct&&r.push(t);continue}if(a>=n.length)continue;let s=i;if({word:i,next:a}=Vx(n,a),i.wt!==Y.Alphabet){Hx(r,s,t),i.wt!==Y.Connector&&i.wt!==Y.Punct&&r.push(t);continue}for(r.push(t),Hx(r,s,t);i.wt===Y.Alphabet||i.wt===Y.Number;)Hx(r,i,t),{word:i,next:a}=Vx(n,a);i.wt!==Y.Invalid&&i.wt!==Y.Connector&&i.wt!==Y.Punct&&r.push(t)}return Hx(r,i,t),r.join(``).toLowerCase()}function Wx(e){if(e.length===0)return``;let t=Dx(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!Ix(i)){i=i.toUpperCase();break}n.push(i)}if(r>=t.length)return t.length>0&&n.push(i),n.join(``);for(;r<t.length;){let e=i;if(i=t[r],r++,Ix(i)&&Ix(e)){n.push(e);continue}Ix(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Gx(e){return Wx(e)}function Kx(...e){return e.join(` `)}function qx(e,t){return t.includes(e)}function Jx(e,t){return t.startsWith(e)}function Yx(e,t){return t.endsWith(e)}function Xx(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
97
+ `).map(e=>n+e).join(`
98
+ `)}function Zx(e){let t=new TextEncoder;return e.split(/\s+/).filter(e=>e.length>0).map(e=>String.fromCharCode(...t.encode(e).slice(0,1))).join(``)}function Qx(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw Bb(`join`,2,`list of strings/primitives`,`list element of type ${$x(e)}`);n.push(String(e))}return n.join(e)}function $x(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function eS(e){return Ux(e,`-`)}function tS(e){return e.toLowerCase()}function nS(e,t){return`\n${Xx(e,t)}`}function rS(e){return e.replace(/\s+/g,``)}function iS(e,t,n){return n===1?e:t}function aS(...e){return e.map(e=>`"${e}"`).join(` `)}function oS(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function sS(e,t){return t.repeat(Math.max(0,e))}function cS(e,t,n){return Ox(e,n).join(t)}function lS(e){return Ux(e,`_`)}function uS(e,t){let n=Ox(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function dS(e,t){return Ox(e,t)}function fS(e,t,n){let r=pS(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function pS(e,t,n){if(n===0)return[];let r=Ox(t,e);if(n<0||r.length<=n)return r;let i=r.slice(0,n-1),a=r.slice(n-1).join(t);return[...i,a]}function mS(...e){return e.map(e=>`'${e}'`).join(` `)}function hS(e,t,n){let r=Dx(n),i=t<0||t>r.length?r.length:t,a=Math.min(Math.max(0,e),i);return r.slice(a,i).join(``)}function gS(e){let t=``;for(let n of e)_S(n)?t+=n.toLowerCase():vS(n)?t+=n.toUpperCase():t+=n;return t}function _S(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function vS(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function yS(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function bS(e){return e.trim()}function xS(e,t){if(e.length===0)return t;let n=new Set(Dx(e)),r=Dx(t),i=0;for(;i<r.length&&n.has(r[i]);)i+=1;let a=r.length;for(;a>i&&n.has(r[a-1]);)--a;return r.slice(i,a).join(``)}function SS(e,t){return t.startsWith(e)?t.slice(e.length):t}function CS(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function wS(e,t){let n=Dx(t);if(e<0){let r=-e;return r>=n.length?t:n.slice(n.length-r).join(``)}return e>=n.length?t:n.slice(0,e).join(``)}function TS(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function ES(e){return e.toUpperCase()}function DS(e,t){return OS(e,`
99
+ `,t)}function OS(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
100
+ `)){let n=``;for(let i of t.split(/\s+/))i.length!==0&&(n.length===0?n=i:n.length+1+i.length<=e?n+=` ${i}`:(r.push(n),n=i));n.length>0&&r.push(n)}return r.join(t)}function kS(e,t,n){return OS(e,t,n)}function AS(){return{abbrev:{fn:(e,t)=>kx(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>Ax(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Gx(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Kx(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>qx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>Jx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>Yx(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>Xx(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>Zx(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>Qx(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>eS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>tS(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>nS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>rS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>iS(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>aS(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>oS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>sS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>cS(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>lS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>uS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>dS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>fS(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>mS(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>hS(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>gS(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>yS(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>bS(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>xS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>SS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>CS(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>wS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>TS(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>ES(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>DS(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>kS(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function jS(e,t){if(!(e instanceof q))throw TypeError(`template function expected a RichText fragment, got ${typeof e==`object`?Object.prototype.toString.call(e):typeof e}`);let n=e.copy();return n.style=Qc(e.style,t),n}function MS(e){return{fn:(t=>jS(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function NS(e){return{fn:((t,n)=>jS(n,new G({[e]:W.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function PS(e,t){return new G({[e]:t})}function FS(){let e={};for(let t of Gc)e[t]=MS(PS(t,!0)),e[`not_${t}`]=MS(PS(t,!1));for(let[t,n]of Object.entries(qc))e[t]=MS(PS(n,!0));return e}const IS={fn:((e,t)=>jS(t,G.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},LS={fn:((e,t)=>jS(t,new G({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function RS(){return{fg:NS(`color`),bg:NS(`bgcolor`),...FS(),link:LS,style:IS}}function zS(e,t){let n;try{n=us(e.trim())}catch(n){throw n instanceof Jo?TypeError(`${t} expected a color (#RRGGBB or #RRGGBBAA), got ${JSON.stringify(e)} — to use a palette name here, wrap it: ${t} (color ${JSON.stringify(e)}) …`,{cause:n}):n}return BS(n,t,JSON.stringify(e))}function BS(e,t,n){if(e.alpha===0)throw RangeError(`${t} got ${n}, which is fully transparent: it draws no colour of its own, so there is nothing to compute with — use the colour of the surface it sits on, e.g. (color "background")`);return e}function VS(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function HS(e,t,n,r){let i=r===void 0||e>=r.min&&e<=r.max;if(!Number.isFinite(e)||!i){let i=r===void 0?`a finite number`:`within ${r.min}..${r.max} (${r.note})`;throw RangeError(`${t}'s ${n} must be ${i}, got ${e}`)}return e}const US=VS([`string`,`int`],((e,t)=>Js(zS(e,`darken`),t).hex)),WS=VS([`string`,`int`],((e,t)=>Js(zS(e,`lighten`),-t).hex)),GS={min:0,max:100,note:`0 = from, 100 = toward`},KS=VS([`string`,`string`,`float`],((e,t,n)=>ds(zS(e,`mix`),zS(t,`mix`),HS(n,`mix`,`percentage`,GS)/100).hex)),qS={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},JS=VS([`string`],(e=>Xs(zS(e,`contrastOn`)).hex)),YS={depth:U.TRUECOLOR},XS=e=>VS([`string`,`string`,`float`],((t,n,r)=>{let{depth:i,terminal:a}=e();return Zs(zS(t,`readableOn`),zS(n,`readableOn`),HS(r,`readableOn`,`ratio`,qS),i,void 0,a).hex})),ZS={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function QS(){let e={};for(let[t,n]of Object.entries(ZS)){let r=t;e[n]=VS([`string`,`float`],((e,t)=>{let i={...ks,[r]:HS(t,n,`amount`)};return Bs.fromRgba(zS(e,n)).applyKey(i).toRgba().hex}))}return e}function $S(e=()=>YS){return{darken:US,lighten:WS,mix:KS,contrastOn:JS,readableOn:XS(e),...QS()}}function eC(e,t){if(e.length%2!=0)throw RangeError(`ramp's last stop (position ${String(e[e.length-1])}) has no color — stops are <position> <color> pairs`);let n=[];for(let r=0;r<e.length;r+=2)n.push({at:e[r],color:BS(Hs(t,e[r+1]),`ramp`,JSON.stringify(e[r+1]))});return n}function tC(e){return{color:{fn:(t=>Hs(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new Pc(Bc(n),eC(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function nC(e){return{...RS(),...$S(e)}}new G({color:`red`,dim:!0});const rC=/^(?:(?:global|apac|au|eu|us|us-east-\d|us-west-\d|eu-west-\d|eu-central-\d)\.)?(?:anthropic\.|azure_ai\/|bedrock\/|vertex_ai\/)?claude-(?:(?<family>opus|sonnet|haiku)-(?<newMajor>\d+)(?:-(?<newMinor>\d))?|(?<oldMajor>\d+)(?:-(?<oldMinor>\d))?-(?<oldFamily>opus|sonnet|haiku))(?:[-@]\d{8})?(?:-v\d+:\d+)?(?:-latest)?$/i,iC=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function aC(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(rC);if(n?.groups){let{family:e,newMajor:t,newMinor:r,oldMajor:i,oldMinor:a,oldFamily:o}=n.groups,s=e||o,c=t||i,l=r||a;if(s&&c)return`${s.charAt(0).toUpperCase()+s.slice(1).toLowerCase()} ${l?`${c}.${l}`:c}`}let r=t.match(iC);if(r?.groups){let e=r.groups.family,t=r.groups.major,n=r.groups.minor;return`${e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()} ${n?`${t}.${n}`:t}`}return t||e}function oC(e){let t=e.match(iC);if(!t?.groups)return e;let n=t.groups.family,r=t.groups.major,i=t.groups.minor;return`${n.charAt(0).toUpperCase()}${i?`${r}.${i}`:r}`}function sC(e){let t=e.split(`/`),n=t.length-1;return t.map((e,t)=>{if(t===n)return e;let r=e.match(/^\.*./);return r?r[0]:e}).join(`/`)}function cC(e){return e.toLocaleString()}function lC(e){if(e.length===0)throw Error(`a cascade needs at least one stop, e.g. "0:calm"`);let t=[];for(let[n,r]of e.entries()){let e=r.indexOf(`:`),i=e<0?NaN:Number(r.slice(0,e));if(!Number.isFinite(i))throw Error(`cascade stop ${n} ("${r}") must be "<position>:<result>", e.g. "80:hot" — the position must be a number`);let a=t[n-1];if(a!==void 0&&i<a.at)throw Error(`cascade stops must be in ascending position order; stop ${n} at ${i} follows stop ${n-1} at ${a.at}`);t.push({at:i,text:r.slice(e+1)})}return t}function uC(e,t){if(!Number.isFinite(e))throw Error(`a cascade needs a finite value, got ${e}`);let n=-1;for(;n+1<t.length&&t[n+1].at<=e;)n++;return(n<0?t[0]:t[n]).text}const dC=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],fC=dC.length;function pC(e,t){let n=t===void 0?e:t<=0?[]:e.slice(-t);if(n.length===0)return``;let r=n[0],i=n[0];for(let e of n)e<r&&(r=e),e>i&&(i=e);let a=i-r,o=``;for(let e of n){let t=a===0?0:Math.round((e-r)/a*(fC-1));o+=dC[t]}return o}function mC(e){let t=[];for(let n of e.split(`,`)){let e=n.trim();if(e===``)continue;let r=Number(e);if(!Number.isFinite(r))throw TypeError(`sparkline: non-numeric series element ${JSON.stringify(n)}`);t.push(r)}return t}function hC(e,t,n){if(n.length!==0)throw Error(`${e}: takes at most ${t.length} optional argument${t.length===1?``:`s`} (${t.join(`, `)}), got ${t.length+n.length}`)}const gC=lp(),_C=[...Op];function vC(){return{basename:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>d(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>sC(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(Ng(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Mg(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Pg(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>gC,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>_C,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(hC(`sparkline`,[`width`],n),pC(mC(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>uC(e,lC(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function yC(e){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>cC(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>aC(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>oC(e),argTypes:[`string`],arity:{kind:`exact`}}}}function bC(e){let{clock:t,drawnAt:n,extraFuncs:r}=e;return Dv({fromString:e=>new q(e),toString:e=>e.plain,isT:e=>e instanceof q,clock:t,missingKey:`error`,funcs:{...gb(),...AS(),...ix(),...Ex(),...cb(t),...Qv(),...Mb(),...Ab(),...nC(n&&(()=>({depth:n()}))),...vC(),...yC(t),...r??{}}})}function xC(e){return SC(e,new Set(e.names()),``)}function SC(e,t,n){return new Proxy(Object.create(null),{has(e,r){if(typeof r!=`string`)return!1;let i=n?`${n}.${r}`:r;if(t.has(i))return!0;let a=`${i}.`;for(let e of t)if(e.startsWith(a))return!0;return!1},get(r,i){if(typeof i!=`string`)return;let a=n?`${n}.${i}`:i;if(t.has(a))return e.getKind(a)===`document`?wC(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return SC(e,t,a)}})}function CC(e,t){return new Proxy(e,{has:(e,t)=>t===`settings`||Reflect.has(e,t),get:(e,n)=>n===`settings`?t:Reflect.get(e,n)})}function wC(e,t){switch(t.kind){case`ok`:return t.value;case`absent`:throw Error(`variable "${e}" has no value yet: its source has not completed a scan`);case`failed`:throw Error(`variable "${e}": ${t.reason}`)}}function TC(e){return r.existsSync(l.join(e,`.git`))}function EC(e){let t=l.resolve(e);for(;;){if(TC(t))return t;let e=l.dirname(t);if(e===t)return;t=e}}function DC(e){let t=EC(e);return t===void 0?{root:l.resolve(e),git:!1}:{root:t,git:!0}}function OC(e,t,n){return t.ok?R(t.stdout):t.reason===`non-zero`&&n===`absent`||t.reason===`non-zero`&&n===t.exitCode?z:B(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??kC(t.stderr)].filter(Boolean).join(`, `)}`)}function kC(e){return e.trim().split(`
101
+ `,1)[0]??``}function AC(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?z:R(n)}function jC(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?R(t):z}const MC=/^[A-Za-z]:[\\/]/;function NC(e){let t=e.trim();if(MC.test(t))return null;let n=t.match(/^(?:[^@/]+@)?(\[[^\]]+\]):(.*)$/)??t.match(/^(?:[^@/:]+@)?([^/:]+):(?!\/\/)(.*)$/),r=n?`ssh://${n[1]}/${n[2].replace(/^\/+/,``)}`:t,i;try{i=new URL(r)}catch{return null}return{scheme:i.protocol.replace(/:$/,``),host:i.hostname.toLowerCase(),port:i.port,path:i.pathname.replace(/^\/+/,``).replace(/\/+$/,``)}}function PC(e){return NC(e)?.host||null}function FC(e){let t=PC(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function IC(e){let t=new Map;for(let n of e.split(`
102
+ `)){let e=n.match(/^remote\.(.+)\.url\s+(\S.*)$/);if(!e)continue;let r=t.get(e[1])??[];r.push(e[2].trim()),t.set(e[1],r)}return[...t].map(([e,t])=>({name:e,urls:t}))}function LC(e){return e.urls.find(e=>HC(e)!==null)??e.urls[0]??null}function RC(e){return e.find(e=>e.name===`origin`)??e[0]??null}function zC(e){let t=RC(e);return t?LC(t):null}function BC(e){let t=RC(e);return t?t.urls.find(e=>FC(e)!==null)??LC(t):null}function VC(e){let t=(NC(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function HC(e){let t=NC(e);if(!t)return null;let n=t.scheme===`https`?{scheme:`https`,port:t.port}:t.scheme===`http`?{scheme:`http`,port:t.port}:t.scheme===`ssh`||t.scheme===`git`?{scheme:`https`,port:``}:null;if(!n||!t.host)return null;let r=t.path.replace(/\.git$/,``);if(!r)return null;let i=n.port?`${t.host}:${n.port}`:t.host;return`${n.scheme}://${i}/${r}`}function UC(e){let t=zC(e);return t===null?null:HC(t)}function WC(e,t,n,r){return t.ok?r(t.stdout):t.reason===`spawn-error`&&/ENOENT/i.test(t.error??``)||t.reason===`non-zero`&&n.test(t.stderr)?z:B(`${e}: ${[t.reason,t.exitCode==null?null:`exit ${t.exitCode}`,t.error??kC(t.stderr)].filter(Boolean).join(`, `)}`)}function GC(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function KC(e){let t=`detached`,n=z,r=z,i=z,a=0,o=0,s=0,c=0;for(let l of e.split(`
103
+ `)){if(!l)continue;if(l.startsWith(`# `)){let e=l.slice(2);if(e.startsWith(`branch.oid `)){let t=e.slice(11).trim();n=t===`(initial)`?z:R(t)}else if(e.startsWith(`branch.head `)){let n=e.slice(12).trim();t=n===`(detached)`?`detached`:n}else if(e.startsWith(`branch.upstream `))r=R(e.slice(16).trim());else if(e.startsWith(`branch.ab `)){let t=e.slice(10).trim().match(/^\+(\d+)\s+-(\d+)$/);t&&(i=R({ahead:parseInt(t[1],10),behind:parseInt(t[2],10)}))}continue}let e=l[0];if(e===`1`||e===`2`){let e=l.slice(2,4);e[0]!==`.`&&a++,e[1]!==`.`&&o++}else e===`u`?c++:e===`?`&&s++}let l=`clean`;return c>0?l=`conflicts`:(a||o||s)&&(l=`dirty`),{branch:t,status:l,aheadBehind:i,oid:n,upstream:r,workingTree:{staged:a,unstaged:o,untracked:s,conflicts:c}}}function qC(e){let t;try{t=JSON.parse(e)}catch(e){return B(`gh pr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!GC(t))return B(`gh pr view: JSON is not an object`);let{number:n,state:r,url:i}=t;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?B(`gh pr view: missing number/state/url`):r.toUpperCase()===`OPEN`?R({number:n,state:r,url:i}):z}function JC(e){let t;try{t=JSON.parse(e)}catch(e){return B(`glab mr view: unparseable JSON (${e instanceof Error?e.message:String(e)})`)}if(!GC(t))return B(`glab mr view: JSON is not an object`);let n=t.iid,r=t.state,i=t.web_url;return typeof n!=`number`||typeof r!=`string`||typeof i!=`string`?B(`glab mr view: missing iid/state/web_url`):r.toLowerCase()===`opened`?R({number:n,state:r,url:i}):z}function YC(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var XC=class{isGitRepo(e){return TC(e)}async execGitAsync(e,t){return ke({bin:`git`,args:[...e],cwd:t.cwd,env:{...process.env,GIT_OPTIONAL_LOCKS:`0`},timeoutMs:t.timeout,category:`git`})}async resolveEffectiveGitDir(e,t){return this.isWorktree(e)?R(e):t&&this.isGitRepo(t)?R(t):this.isGitRepo(e)?R(e):this.findGitRoot(e)}async findGitRoot(e){let t=EC(e);return t===void 0?z:R(t)}async getGitInfo(e,t={},n){try{return await this.computeGitInfo(e,t,n)}catch(e){return B(`git: ${e instanceof Error?e.message:String(e)}`)}}async computeGitInfo(e,t={},n){let r,i=this.isWorktree(e);if(i)r=e;else if(n&&this.isGitRepo(n))r=n;else if(this.isGitRepo(e))r=e;else{let t=await this.findGitRoot(e);if(t.kind!==`ok`)return t;r=t.value}let a=await this.getCoreAsync(r);if(a.kind!==`ok`)return a;let o={branch:a.value.branch,status:a.value.status,aheadBehind:a.value.aheadBehind};t.showWorkingTree&&(o.workingTree=a.value.workingTree),t.showSha&&(o.sha=AC(a.value.oid,e=>e.slice(0,7))),t.showUpstream&&(o.upstream=a.value.upstream),t.showTag&&(o.tag=await this.getNearestTagAsync(r)),t.showTimeSinceCommit&&(o.committedAt=await this.committedAt(r,a.value.oid)),t.showStashCount&&(o.stashCount=this.getStashCount(r));let s=t.showRepoName||t.showRepoUrl?await this.getRemotesAsync(r):void 0;return s!==void 0&&t.showRepoName&&(o.repoName=AC(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=AC(s,UC)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),R(o)}resolveGitDir(e){let t=l.join(e,`.git`);try{if(r.existsSync(t)&&r.statSync(t).isFile()){let n=r.readFileSync(t,`utf-8`).match(/^gitdir:\s*(.+)$/m);if(n?.[1])return l.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(l.join(t,`MERGE_HEAD`))?R(`MERGE`):r.existsSync(l.join(t,`CHERRY_PICK_HEAD`))?R(`CHERRY-PICK`):r.existsSync(l.join(t,`REVERT_HEAD`))?R(`REVERT`):r.existsSync(l.join(t,`BISECT_LOG`))?R(`BISECT`):r.existsSync(l.join(t,`rebase-merge`))||r.existsSync(l.join(t,`rebase-apply`))?R(`REBASE`):z}catch(e){return B(`git operation probe: ${e instanceof Error?e.message:String(e)}`)}}async getNearestTagAsync(e){return jC(OC(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async committedAt(e,t){return t.kind===`ok`?this.commitTimestampMs(e,t.value):t}commitTimes=new Map;async commitTimestampMs(e,t){let n=this.commitTimes.get(t);if(n!==void 0)return this.commitTimes.delete(t),this.commitTimes.set(t,n),n;let r=this.readCommitTimestampMs(e,t);for(this.commitTimes.set(t,r),r.then(e=>{e.kind!==`ok`&&this.commitTimes.get(t)===r&&this.commitTimes.delete(t)},()=>{this.commitTimes.get(t)===r&&this.commitTimes.delete(t)});this.commitTimes.size>256;){let e=this.commitTimes.keys().next().value;if(e===void 0)break;this.commitTimes.delete(e)}return r}async readCommitTimestampMs(e,t){let n=jC(OC(`git log -1`,await this.execGitAsync([`log`,`-1`,`--format=%ct`,t,`--`],{cwd:e,timeout:2e3}),`absent`));if(n.kind!==`ok`)return n;let r=parseInt(n.value,10)*1e3;return Number.isNaN(r)?B(`git log -1: unparseable timestamp "${n.value}"`):R(r)}resolveCommonGitDir(e){let t=this.resolveGitDir(e);try{let e=r.readFileSync(l.join(t,`commondir`),`utf-8`).trim();if(e)return l.resolve(t,e)}catch{}return t}getStashCount(e){let t=l.join(this.resolveCommonGitDir(e),`logs`,`refs`,`stash`),n;try{n=r.readFileSync(t,`utf-8`)}catch(e){return e.code===`ENOENT`?R(0):B(`git stash reflog ${t}: ${e instanceof Error?e.message:String(e)}`)}let i=n.trim();return R(i?i.split(`
104
+ `).length:0)}async getRemotesAsync(e){let t=YC(l.join(this.resolveCommonGitDir(e),`config`));if(t===null)return this.readRemotes(e);let{key:n,stamp:r}=t,i=this.remotesByConfig.get(n);if(i!==void 0&&i.stamp===r)return this.remotesByConfig.delete(n),this.remotesByConfig.set(n,i),i.remotes;let a=this.readRemotes(e);for(this.remotesByConfig.set(n,{stamp:r,remotes:a}),a.then(e=>{let t=this.remotesByConfig.get(n);e.kind!==`ok`&&t?.remotes===a&&this.remotesByConfig.delete(n)},()=>{this.remotesByConfig.get(n)?.remotes===a&&this.remotesByConfig.delete(n)});this.remotesByConfig.size>256;){let e=this.remotesByConfig.keys().next().value;if(e===void 0)break;this.remotesByConfig.delete(e)}return a}remotesByConfig=new Map;async readRemotes(e){let t=OC(`git config --get-regexp remote url`,await this.execGitAsync([`config`,`--local`,`--get-regexp`,`^remote\\..*\\.url$`],{cwd:e,timeout:2e3}),1);return t.kind===`failed`?t:R(t.kind===`ok`?IC(t.value):[])}repoNameFrom(e,t){let n=zC(e);return(n===null?null:VC(n))??l.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=BC(t.value);return n===null?z:R(n)}async execForgeAsync(e,t,n){return ke({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=FC(t);return n===`github`?WC(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,qC):n===`gitlab`?WC(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,JC):z}isWorktree(e){try{let t=l.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){k(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=OC(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?R(KC(t.value)):t}};const ZC=(e,t)=>k(t);var QC=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??ZC}acquire(e,t,n){if(this.closed)return{release:()=>{}};let r=this.slots.get(e);if(r)return r.refcount++,r.onInvalidate=n,r.lastTouched=Date.now(),this.slots.delete(e),this.slots.set(e,r),this.makeHandle(e);let i={key:e,watchers:[],refcount:1,debounceTimer:null,onInvalidate:n,targets:t,lastTouched:Date.now()};return this.openWatchers(i),this.slots.set(e,i),this.counters&&this.counters.watchersOpened++,this.evictIfNeeded(),this.makeHandle(e)}makeHandle(e){let t=!1;return{release:()=>{if(t)return;t=!0;let n=this.slots.get(e);n&&(n.refcount=Math.max(0,n.refcount-1),n.refcount===0&&(this.closeSlot(n),this.slots.delete(e)))}}}openWatchers(e){let t=()=>{e.debounceTimer||(e.debounceTimer=setTimeout(()=>{e.debounceTimer=null;try{e.onInvalidate()}catch(e){this.logger(`warn`,`watcher invalidate threw: ${e.message}`)}},50),e.debounceTimer.unref())};for(let n of e.targets.files)try{let i=r.watch(n,{persistent:!1},t);i.on(`error`,e=>{this.logger(`warn`,`watcher error ${n}: ${e.message}`)}),e.watchers.push(i)}catch(e){this.logger(`warn`,`watch failed ${n}: ${e.message}`)}for(let n of e.targets.dirs)try{let i=n.filenames?new Set(n.filenames):null,a=r.watch(n.path,{persistent:!1},(e,n)=>{i&&(!n||!i.has(n))||t()});a.on(`error`,e=>{this.logger(`warn`,`watcher error ${n.path}: ${e.message}`)}),e.watchers.push(a)}catch(e){this.logger(`warn`,`watch failed ${n.path}: ${e.message}`)}}closeSlot(e){e.debounceTimer&&=(clearTimeout(e.debounceTimer),null);for(let t of e.watchers)try{t.close()}catch{}e.watchers=[],this.counters&&this.counters.watchersClosed++}evictIfNeeded(){for(;this.slots.size>this.maxWatchers;){let e=this.slots.keys().next().value;if(e===void 0)break;let t=this.slots.get(e);this.closeSlot(t),this.slots.delete(e),this.counters&&this.counters.watchersEvicted++;try{t.onInvalidate()}catch{}this.logger(`info`,`watcher LRU evict ${e}`)}}size(){return this.slots.size}closeAll(){this.closed=!0;for(let e of this.slots.values())this.closeSlot(e);this.slots.clear()}},$C=class{running=new Set;again=new Set;run(e,t){return this.again.add(e),this.running.has(e)?{kind:`queued`}:(this.running.add(e),{kind:`started`,done:this.loop(e,t)})}async loop(e,t){try{do this.again.delete(e),await t();while(this.again.has(e))}finally{this.running.delete(e),this.again.delete(e)}}clear(){this.running.clear(),this.again.clear()}get size(){return this.running.size}};const ew={showSha:!0,showStashCount:!0};function tw(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function nw(e){let t=t=>{try{return r.statSync(l.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function rw(e,t){return e.head!==t.head||e.index!==t.index}function iw(e){let t=[],n=l.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[l.join(e,`HEAD`),l.join(e,`index`)],dirs:t}}var aw=class extends XC{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new $C;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new XC,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??At,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new QC({logger:this.logger}),this.ownsWatchers=!0);let t=e.sanityIntervalMs??3e5;t>0&&(this.sanityTimer=setInterval(()=>this.runSanityCheck(),t),this.sanityTimer.unref())}getWatcherRegistry(){return this.watchers}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,invalidations:this.invalidations,watchers:this.watchers.size()}}resolveEffectiveGitDir(e,t){let n=`${e}|${t??``}`,r=Date.now(),i=this.resolutions.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.resolutions.delete(n),this.resolutions.set(n,i),i.dir;let a=this.inner.resolveEffectiveGitDir(e,t);return this.resolutions.set(n,{dir:a,computedAt:r}),a.catch(()=>{this.resolutions.get(n)?.dir===a&&this.resolutions.delete(n)}),this.evictResolutionsIfNeeded(),a}evictResolutionsIfNeeded(){for(;this.resolutions.size>this.maxEntries;){let e=this.resolutions.keys().next().value;if(e===void 0)break;this.resolutions.delete(e)}}async getGitInfo(e,t={},n){let r=await this.resolveEffectiveGitDir(e,n);return r.kind===`ok`?this.getGitInfoForRoot(r.value,t):r}getGitInfoForRoot(e,t){let n=`${e}|${tw(t)}`,r=Date.now(),i=this.entries.get(n);if(i&&r-i.computedAt<this.ttlMs)return this.entries.delete(n),this.entries.set(n,i),this.hits++,Promise.resolve(R(i.info));let a=this.fetchInFlight.get(n);if(a)return a;let o=this.doFetch(e,n,t,r).finally(()=>{this.fetchInFlight.delete(n)});return this.fetchInFlight.set(n,o),o}async doFetch(e,t,n,r){this.misses++;let i=this.inner.resolveGitDir(e),a=nw(i),o=await this.inner.getGitInfo(e,n);if(o.kind!==`ok`)return o;let s=o.value;n.showPullRequest&&(s.pullRequest=await this.getPullRequestCached(e,s.branch)),this.dropEntry(t);let c=this.watchers.acquire(`git:${e}`,iw(i),()=>this.invalidateRepo(e));return this.entries.set(t,{info:s,computedAt:r,mtime:a,watcher:c,repoRoot:e}),this.evictIfNeeded(),o}async getPullRequestCached(e,t){let n=await this.inner.getRepoRemoteUrl(e);if(n.kind===`failed`)return n;if(n.kind===`absent`)return z;let r=n.value,i=`${e}|${t}|${r}`,a=Date.now(),o=this.prCache.get(i);if(o){let e=o.pr.kind===`failed`?45e3:3e5;if(a-o.computedAt<e)return this.prCache.delete(i),this.prCache.set(i,o),o.pr}let s=this.prFetchInFlight.get(i);if(s)return s;let c=this.inner.resolvePullRequest(e,r).then(e=>(this.prCache.set(i,{pr:e,computedAt:Date.now()}),this.evictPrIfNeeded(),e)).finally(()=>{this.prFetchInFlight.delete(i)});return this.prFetchInFlight.set(i,c),c}evictPrIfNeeded(){for(;this.prCache.size>this.maxEntries;){let e=this.prCache.keys().next().value;if(e===void 0)break;this.prCache.delete(e)}}deliverable(e,t){return e.kind===`failed`?(this.logger(`warn`,`git fetch failed (${t}): ${e.reason}`),null):e.kind===`ok`?e.value:null}subscribe(e,t){let n=!1,r=null;return{firstDelivery:(async()=>{let i=await this.resolveEffectiveGitDir(e);if(n)return;if(i.kind!==`ok`){i.kind===`failed`&&this.logger(`warn`,`git resolve failed (subscribe ${e}): ${i.reason}`),this.safeInvoke(t,null);return}let a=i.value,o=this.subscribersByRepo.get(a);if(!o){let t=this.inner.resolveGitDir(a),n=this.watchers.acquire(`git:${a}`,iw(t),()=>this.invalidateRepo(a));o={workingDir:e,repoRoot:a,callbacks:new Set,watcher:n},this.subscribersByRepo.set(a,o)}o.callbacks.add(t),r={repoRoot:a,entry:o};let s=await this.getGitInfoForRoot(a,{...ew});n||this.safeInvoke(t,this.deliverable(s,a))})(),unsubscribe:()=>{if(n=!0,!r)return;let{repoRoot:e,entry:i}=r;i.callbacks.delete(t),i.callbacks.size===0&&(i.watcher.release(),this.subscribersByRepo.delete(e))}}}invalidateRepo(e){let t=0;for(let[n,r]of this.entries)r.repoRoot===e&&(r.watcher.release(),this.entries.delete(n),t++);t>0&&(this.invalidations+=t,this.logger(`info`,`gitCache invalidate ${e} dropped=${t}`)),this.refreshSubscribers(e)}refreshSubscribers(e){let t=this.subscribersByRepo.get(e);!t||t.callbacks.size===0||this.refreshes.run(e,()=>this.refreshOnce(e))}async refreshOnce(e){let t=this.subscribersByRepo.get(e);if(!t||t.callbacks.size===0)return;let n=await this.getGitInfoForRoot(e,{...ew}),r=this.deliverable(n,e),i=this.subscribersByRepo.get(e);if(!(!i||i.callbacks.size===0))for(let e of[...i.callbacks])i.callbacks.has(e)&&this.safeInvoke(e,r)}safeInvoke(e,t){try{e(t)}catch(e){this.logger(`warn`,`git subscriber threw: ${e.message??String(e)}`)}}dropEntry(e){let t=this.entries.get(e);t&&(t.watcher.release(),this.entries.delete(e))}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.dropEntry(e),this.logger(`info`,`gitCache evict ${e}`)}}runSanityCheck(){let e=new Map;for(let t of this.entries.values()){let n=e.get(t.repoRoot);n||(n=nw(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),rw(t.mtime,n)&&this.invalidateRepo(t.repoRoot)}}runSanityCheckNow(){this.runSanityCheck()}close(){this.sanityTimer&&=(clearInterval(this.sanityTimer),null);for(let e of this.entries.values())e.watcher.release();this.entries.clear();for(let e of this.subscribersByRepo.values())e.callbacks.clear(),e.watcher.release();this.subscribersByRepo.clear(),this.refreshes.clear(),this.fetchInFlight.clear(),this.prCache.clear(),this.prFetchInFlight.clear(),this.resolutions.clear(),this.ownsWatchers&&this.watchers.closeAll()}};const ow=/\r\n|\r|\n/g,sw=e=>R(e.replace(ow,` `).trim());function cw(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?B(`regex no-match`):R(n.replace(ow,` `))}}const lw=e=>{try{return R(JSON.parse(e))}catch(e){return B(`JSON parse failed: ${e.message}`)}},uw=e=>e.getTime()/1e3,dw=e=>new Date(e*1e3);function fw(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(k(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function pw(e){let t=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/.exec(e);if(!t)throw RangeError(`Invalid duration: "${e}"`);let n=parseFloat(t[1]);switch(t[2]){case`ms`:return n;case`s`:return n*1e3;case`m`:return n*6e4;case`h`:return n*36e5;default:throw RangeError(`Unexpected duration unit: "${t[2]}"`)}}const mw=`session.id`;function hw(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await ke({bin:`/bin/sh`,args:[`-c`,e],cwd:t,category:`user-shell`,signal:n});if(!r.ok&&r.reason===`aborted`)throw n.reason;return r.ok?R(r.stdout):B(`shell "${e}" ${r.exitCode===null?[r.reason,r.error].filter(e=>e!==void 0).join(`: `):`exited with code ${r.exitCode}`} in ${t}`)}}}function gw(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await E(e,{encoding:`utf8`,signal:n});return R(t===`first-line`?r.split(/\r?\n/)[0]??``:r)}catch{if(n.aborted)throw n.reason;return B(`file unreadable: ${e}`)}}}}function _w(e,t,n){if(e.kind!==`ok`)return e;let r=t(e.value);return r.kind===`failed`?B(`${r.reason} in ${n}`):r}const vw=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],yw=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],bw=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],xw=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Sw(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>vw[e.getMonth()]],[`Monday`,e=>bw[e.getDay()]],[`Jan`,e=>yw[e.getMonth()]],[`Mon`,e=>xw[e.getDay()]],[`15`,e=>String(e.getHours()).padStart(2,`0`)],[`06`,e=>String(e.getFullYear()%100).padStart(2,`0`)],[`01`,e=>String(e.getMonth()+1).padStart(2,`0`)],[`02`,e=>String(e.getDate()).padStart(2,`0`)],[`04`,e=>String(e.getMinutes()).padStart(2,`0`)],[`05`,e=>String(e.getSeconds()).padStart(2,`0`)],[`PM`,e=>e.getHours()<12?`AM`:`PM`],[`pm`,e=>e.getHours()<12?`am`:`pm`],[`1`,e=>String(e.getMonth()+1)],[`2`,e=>String(e.getDate())],[`3`,e=>String(e.getHours()%12||12)],[`4`,e=>String(e.getMinutes())],[`5`,e=>String(e.getSeconds())]],r=``,i=0;for(;i<e.length;){let a=!1;for(let[o,s]of n)if(e.startsWith(o,i)){r+=s(t),i+=o.length,a=!0;break}a||(r+=e[i],i++)}return r}const Cw={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function ww(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=Cw[t];try{return Mw(r,e)}catch{return Nw(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return ci(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return ci(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return ci(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return ci(e.stashCount,0)}}function Tw(e){try{return o(e)}catch{return e}}function Ew(e){try{return s(e).isDirectory()}catch{return!1}}function Dw(e){let t=Tw(e);return Ew(t)?{dir:t,name:null,leaf:!0}:Tg(t)}const Ow=e=>`${e.dir}\0${e.name??``}`;var kw=class{watchers=new Map;subscribe(e,t,n){let r=this.watchers.get(e)??this.arm(e);return r.subscribers.set(t,n),r.watcher===null&&n(r.failure),()=>this.unsubscribe(e,t)}arm(e){let t={watcher:null,failure:``,target:Dw(e),subscribers:new Map};return t.watcher=this.open(e,t,t.target),this.watchers.set(e,t),t}rearm(e,t){let n=Dw(e);if(t.watcher!==null&&Ow(n)===Ow(t.target))return;let r=this.open(e,t,n);r!==null&&(t.watcher?.close(),t.watcher=r,t.target=n)}open(e,t,n){let{dir:r,name:i}=n,a=l.basename(r);try{return c(r,(n,r)=>{if(!(r===null||i===null||r===i)&&r!==a)return;let o=t.target.leaf;if(this.rearm(e,t),!(!o&&!t.target.leaf))for(let e of t.subscribers.keys())e()})}catch(n){let i=`watch_file ${e}: cannot watch ${r} — ${n instanceof Error?n.message:String(n)}`;t.failure=i;for(let e of t.subscribers.values())e(i);return null}}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.subscribers.delete(t),n.subscribers.size===0&&(n.watcher?.close(),this.watchers.delete(e)))}dispose(){for(let{watcher:e}of this.watchers.values())e?.close();this.watchers.clear()}size(){return this.watchers.size}},Aw=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:se(()=>{for(let e of t)e()},e),callbacks:t},this.buckets.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.buckets.get(e);n&&(n.callbacks.delete(t),n.callbacks.size===0&&(D(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())D(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function jw(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Mw(e,t){if(typeof e!=`string`&&typeof e!=`number`&&typeof e!=`boolean`)throw TypeError(`Expected string|number|boolean from payload, got ${typeof e}`);return t===`string`?Mg(e):t===`number`?Ng(e):Pg(e)}function Nw(e){return e===`number`?0:e===`boolean`?!1:``}var Pw=class{inputMetas=new Map;lastErrors=new Map;watchFaults=new Map;watchMgr=new kw;ttlMgr=new Aw;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new $C;abort=new AbortController;drawn=kg.observable.box(U.TRUECOLOR);drawnAt=()=>this.drawn.get();instant=kg.observable.box(null);now=()=>{let e=this.instant.get();if(e===null)throw Error(`the time was read before any render published its instant`);return dw(e)};engine=bC({clock:this.now,drawnAt:this.drawnAt});gitProvider;ownsGitProvider;sessionState;constructor(e,t=``,n,r){this.store=e,this.defaultEmptyValue=t,n?(this.gitProvider=n,this.ownsGitProvider=!1):(this.gitProvider=new aw({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,jg(t),t)}declareFailedDocument(e,t){this.store.defineDocument(e,B(t))}declareInput(e,t,n,r){let i=r===void 0?this.defaultFor(n):r;this.store.defineBox(e,n,i),this.inputMetas.set(e,{path:t,varDefault:r})}declareEnv(e,t,n){let r=process.env[t];if(r!==void 0){this.store.defineBox(e,`string`,r);return}let i=n===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:n;this.store.defineBox(e,`string`,i),this.recordError(e,`env var "${t}" is not set`)}declareShell(e,t,n){this.declareSource(e,hw(t,n.cwd,this.abort.signal),fw(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,gw(t,n.readMode??`whole`,this.abort.signal),n.cache,n.parse)}declareSource(e,t,n,r){let i=this.publisherFor(e,r,t.where),a=()=>this.runSource(e,t,i);a(),this.registerCachePolicy(e,n,a)}publisherFor(e,t,n){switch(t.kind){case`text`:return this.scalarPublisher(e,sw,t.default,n);case`regex`:return this.scalarPublisher(e,cw(t.regex),t.default,n);case`json`:return this.documentPublisher(e,t.default,n)}}scalarPublisher(e,t,n,r){let i=this.stringInitial(n);return this.store.defineBox(e,`string`,i),n=>{let a=_w(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,ci(a,i))}}documentPublisher(e,t,n){let r=t===void 0?z:R(t);this.store.defineDocument(e,r);let i,a=!1;return this.cleanups.push(()=>clearTimeout(i)),o=>{clearTimeout(i);let s=o.kind===`ok`&&o.value.trim()===``?z:o,c=_w(s,lw,n);this.noteOutcome(e,c);let l=c.kind===`ok`||s.kind===`ok`||t===void 0?c:r,u=a&&s.kind===`ok`&&c.kind!==`ok`,d=()=>{a=c.kind===`ok`,this.store.setDocument(e,l)};u?i=setTimeout(d,250):d()}}runSource(e,t,n){let r=this.reads.run(e,()=>t.read().then(n,e=>{if(e!==this.abort.signal.reason)throw e}));r.kind===`started`&&this.track(e,r.done)}track(e,t){let n=t.finally(()=>{this.inFlight.get(e)===n&&this.inFlight.delete(e)});this.inFlight.set(e,n)}async settled(e){let t=Date.now()+e;for(;this.inFlight.size>0;){let e=t-Date.now();if(e<=0)break;let n,r=await Promise.race([Promise.all(this.inFlight.values()).then(()=>`settled`),new Promise(t=>{n=setTimeout(()=>t(`deadline`),e)})]);if(clearTimeout(n),r===`deadline`)break}return[...this.inFlight.keys()]}declareTemplate(e,t,n={}){let r=this.engine.parse(t);this.declareDerived(e,()=>r.evaluate(xC(this.store)).map(e=>e.plain).join(``),n.varDefault)}declareTime(e,t){this.declareDerived(e,()=>Sw(t.format,this.now()),t.varDefault)}declareDerived(e,t,n){this.store.defineComputed(e,`string`,()=>{try{let n=t();return this.lastErrors.delete(e),n}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n===void 0)throw Error(`variable "${e}": ${r}`);return n}})}declareGit(e,t){let n=Cw[t.field],r=t.varDefault===void 0?Nw(n):Mw(t.varDefault,n);this.store.defineBox(e,n,r);let i=this.gitSubscriptions.get(t.cwd);if(!i){let e=new Map,n=this.gitProvider.subscribe(t.cwd,t=>{this.store.runInAction(()=>{for(let[n,r]of e)for(let{name:e,varDefault:i}of r)this.store.setBox(e,ww(t,n,i,this.defaultEmptyValue))})});i={fieldSubs:e,firstDelivery:n.firstDelivery,unsubscribe:n.unsubscribe},this.gitSubscriptions.set(t.cwd,i)}let a=i.fieldSubs.get(t.field);a||(a=[],i.fieldSubs.set(t.field,a)),a.push({name:e,varDefault:t.varDefault}),this.track(e,i.firstDelivery)}declareState(e,t){if(!this.sessionState)throw Error(`declareState("${e}"): SourceRegistry was constructed without a SessionState — state-kind variables require a SessionState (the daemon provides one; tests must supply one)`);let n=this.sessionState,r=t.varDefault??this.stringInitial(void 0);this.store.defineComputed(e,`string`,e=>{let i=e(mw);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}stateRevision(){let e=this.store.has(`session.id`)?this.store.read(mw):``;return this.sessionState!==void 0&&typeof e==`string`&&e!==``?this.sessionState.revision(e):0}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=jw(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,Mw(r,i)),this.lastErrors.delete(t)}catch(e){this.applyFallback(t,i,n.varDefault,e instanceof Error?e.message:String(e))}else this.applyFallback(t,i,n.varDefault,`input path "${n.path}" not found in payload`)}})}drawAt(e){this.store.runInAction(()=>this.drawn.set(e))}renderAt(e){this.store.runInAction(()=>this.instant.set(e))}getLastError(e){let t=this.lastErrors.get(e),n=this.watchFaults.get(e);return n===void 0?t:t===void 0?n:{timestamp:t.timestamp,message:`${n.message}; ${t.message}`}}dispose(){this.abort.abort();for(let e of this.cleanups)e();this.cleanups.length=0;for(let e of this.gitSubscriptions.values())e.unsubscribe();this.gitSubscriptions.clear(),this.reads.clear(),this.watchMgr.dispose(),this.ttlMgr.dispose(),this.ownsGitProvider&&this.gitProvider.close()}registerCachePolicy(e,t,n){switch(t.kind){case`never`:break;case`ttl`:{let e=this.ttlMgr.subscribe(t.durationMs,n);this.cleanups.push(e);break}case`watch_file`:{let r=this.watchMgr.subscribe(t.path,n,t=>this.watchFaults.set(e,{timestamp:Date.now(),message:t}));this.cleanups.push(r);break}case`key`:{let e=this.engine.parse(t.template),r=(0,kg.reaction)(()=>{let t=xC(this.store);try{return e.evaluate(t).map(e=>e.plain).join(``)}catch{return``}},n);this.cleanups.push(r);break}case`depends_on`:{let e=(0,kg.reaction)(()=>t.varNames.map(e=>this.store.changeKey(e)).join(`,`),n);this.cleanups.push(e);break}}}applyFallback(e,t,n,r){if(this.recordError(e,r),n!==void 0){this.store.setBox(e,n);return}try{this.store.setBox(e,Mw(this.defaultEmptyValue,t))}catch{this.store.setBox(e,Nw(t))}}defaultFor(e){try{return Mw(this.defaultEmptyValue,e)}catch{return Nw(e)}}stringInitial(e){return e===void 0?typeof this.defaultEmptyValue==`string`?this.defaultEmptyValue:``:e}recordError(e,t){this.lastErrors.set(e,{timestamp:Date.now(),message:t})}noteOutcome(e,t){t.kind===`ok`?this.lastErrors.delete(e):this.recordError(e,t.kind===`failed`?t.reason:`no value`)}};const Fw={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[mw]:{kind:`input`,path:`session_id`,default:``},transcript_path:{kind:`input`,path:`transcript_path`,default:``},resume_command:{kind:`input`,path:`resumeCommand`,default:``},config_path:{kind:`input`,path:`configPath`,default:``},"theme.effective":{kind:`input`,path:`theme.effective`,default:``},"style.effective":{kind:`input`,path:`style.effective`,default:``},"effect.effective":{kind:`input`,path:`effect.effective`,default:``},"preset.effective":{kind:`input`,path:`preset.effective`,default:``},"preset.customized":{kind:`input`,path:`preset.customized`,type:`boolean`,default:!1},"preset.bundled":{kind:`input`,path:`preset.bundled`,type:`boolean`,default:!0},"endcaps.effective":{kind:`input`,path:`endcaps.effective`,default:``},"variation.effective":{kind:`input`,path:`variation.effective`,default:``},"shade.effective":{kind:`input`,path:`shade.effective`,default:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"transitions.effective":{kind:`input`,path:`transitions.effective`,type:`boolean`,default:!1},"autoWrap.effective":{kind:`input`,path:`autoWrap.effective`,type:`boolean`,default:!0},"padding.effective":{kind:`input`,path:`padding.effective`,type:`number`,default:1},"updateNotice.effective":{kind:`input`,path:`updateNotice.effective`,type:`boolean`,default:!0},"term.cols":{kind:`input`,path:`term.cols`,type:`number`,default:80},"tmux.pane":{kind:`input`,path:`tmux.pane`,default:``},"autocompact.window":{kind:`input`,path:`autocompact.window`,type:`number`,default:-1},...Object.fromEntries([`applied`,`lower`,`higher`].map(e=>[`autocompact.${e}`,{kind:`input`,path:`autocompact.${e}`,type:`number`,default:0}])),"autocompact.error":{kind:`input`,path:`autocompact.error`,default:``},"git.repoUrl":{kind:`input`,path:`git.repoUrl`,default:``}},Iw=`ne .tmux.pane ""`;function Lw(e,t,n){let r=new Set,i=e=>{for(let t of hg(e??``,n).keys())r.add(t)};for(let t of Object.values(e.segments))i(t.template),i(t.bg),i(t.fg),i(t.when);for(let e of t)for(let t of ch(e))i(t.when),t.kind===`segment`&&(i(t.lead),i(t.trail));for(let t of Object.values(e.variables))t.kind===`template`&&i(t.template),t.kind===`state`&&r.add(mw);for(let t of Object.values(e.actions)){r.add(mw),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?_a.get(t.set):void 0,n=`persist`in t?ga.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function Rw(e,t,n){let r=Cg({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of Lw(e,t,n.helpers)){if(Sg(a,r))continue;let e=Fw[a];if(e===void 0)throw Error(`synthesized chrome reads ".${a}", which it does not declare and PAYLOAD_INPUTS does not supply`);i[a]=e}return i}function zw(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}var Bw=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(Ww(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function X(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=Vw(e,n,i);if(t===-1)return r===void 0?void 0:Hw(e,r);n=t,r=t}return r===void 0?void 0:Hw(e,r)}function Vw(e,t,n){let r=n.replace(/[\\^$.*+?()[\]{}|]/g,`\\$&`),i=RegExp(`(?:["']${r}["']|\\b${r}\\b)\\s*:`,`g`);i.lastIndex=t;let a=i.exec(e);return a?a.index:-1}function Hw(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function Uw(e,t){try{return gr(t),null}catch(n){if(!(n instanceof ur))throw n;return`${e}:${Hw(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function Ww(e,t){if(t.length===0)return`${e}: invalid config (no details)`;let n=[`Invalid config in ${e} (${t.length} issue${t.length===1?``:`s`}):`];for(let e of t){let t=[];e.line!==void 0&&t.push(`line ${e.line}${e.col===void 0?``:`:${e.col}`}`),e.path&&t.push(e.path);let r=t.length>0?`[${t.join(` • `)}] `:``;n.push(` ${r}${e.message}`)}return n.join(`
105
+ `)}const Gw=`groups.`,Kw=`menus.`,qw=`edit.`,Z=`candybar.`,Jw=[Gw,Kw,qw,Z];function Yw(e){return Jw.some(t=>e.startsWith(t))}function Xw(e){let t=zw(e);return Jw.find(e=>t.startsWith(zw(e)))}function Zw(e,t,n,r){for(let i of[`variables`,`actions`,`segments`])for(let a of Object.keys(t[i]??{}))a.startsWith(n)&&e.issues.push({path:`${i}.${a}`,message:`"${a}" is in the reserved "${n}" namespace (synthesized by ${r}) — rename it`,line:X(e.source,[`root`])})}function Qw(e){return e}function $w(e,t,n){return n===void 0?Kw+zw(e)+`.`+zw(t):eT(n)}function eT(e){return Kw+zw(e)}function tT(e,t){return e+`.`+t}function nT(e){return e+`.page`}const rT=[`closeOnPick`,`paged`,`key`,`distribution`],iT=e=>rT.includes(e),aT=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${cf.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function oT(e){for(let t of Object.keys(e))if(!iT(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${aT}`);let t=(t,n)=>{let r=e[t];if(r===void 0)return n;if(typeof r!=`boolean`)throw Error(`{{ menu }} option "${t}" must be a boolean, got ${JSON.stringify(r)} (e.g. (dict "${t}" ${String(!n)}))`);return r},n=e.key;if(n!==void 0&&typeof n!=`string`)throw Error(`{{ menu }} option "key" must be a string naming the accordion group, got ${JSON.stringify(n)}`);if(n===``)throw Error(`{{ menu }} has an empty accordion key — a shared key must be a non-empty name (or omit "key" for an independent menu)`);let r=e.distribution;if(r!==void 0&&!lf(r))throw Error(`{{ menu }} option "distribution" must be one of: ${cf.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:df(r)}}const sT=e=>`from`in e?e.from:e.themes;function cT(e,t,n){return e===`bool`?Jp(t)!==null:`min`in e?Yp(t,e)!==null:eg(sT(e),n).members.includes(t)}function lT(e,t){if(e===`bool`)return Kp.join(` or `);if(!(`min`in e)){let n=sT(e),{members:r}=eg(n,t),i=r.map(e=>JSON.stringify(e));if(r.length<=8)return`one of ${i.join(`, `)}`;let a=typeof n==`string`?` "${n}"`:``;return`one of the ${r.length}${a} names, such as ${i.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function uT(e){return{label:e.label,domain:dT(e.domain)}}function dT(e){return e===`theme`?{themes:Zh}:e===`bool`||`min`in e?e:{from:e}}function fT(e,t,n,r,i){let a=qn(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...Kp]}},variables:{}};if(`from`in o)return pT(t,r,i,o.from,e=>({template:`{{ "${a}" }} {{ carousel "${e.apply}" 0 "${e.open}" }}`,rows:[`{{ picker "${e.apply}" "${e.page}" false true true }}`]}));if(`themes`in o)return pT(t,r,i,o.themes,e=>({template:`{{ action "${e.open}" "${a}" .${n} }} {{ action "${e.open}" (swatch "${e.apply}") }}`,rows:[`{{ swatches "${e.apply}" "${e.page}" }}`,`{{ themePreview "${e.apply}" }}`]}));let s=e=>({set:t,min:o.min,max:o.max,by:e});return{kind:`inline`,template:`{{ action "${r}.down" "◀" }} {{ "${a}" }} {{ .${n} }} {{ action "${r}.up" "▶" }}`,actions:{[`${r}.down`]:s(-o.step),[`${r}.up`]:s(o.step)},variables:{}}}function pT(e,t,n,r,i){let a={variable:n,key:n,member:t},o=tT(n,t),s=`${t}.open`,c=nT(n),l=`${c}.current`,{template:u,rows:d}=i({apply:t,open:s,page:c});return{kind:`picker`,template:u,actions:{[t]:{set:e,from:r},[o]:tr(n,t),[c]:{set:c,int:!0},[l]:{set:c,to:`-1`},[s]:{do:[o,l]}},variables:{[n]:er(n,Wn),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,rows:d}}}function mT(e,t,n,r){let i=n[r];return typeof i==`string`?i:(e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${bT(i)}`,line:X(e.source,[...t.split(`.`),r])}),null)}function hT(e,t,n,r){let i=n.default;if(i!==void 0){if(!(r===`string`&&typeof i==`string`||r===`number`&&typeof i==`number`||r===`boolean`&&typeof i==`boolean`)){e.issues.push({path:`${t}.default`,message:`default must be a ${r}, got ${bT(i)}`,line:X(e.source,[...t.split(`.`),`default`])});return}return i}}function gT(e,t,n,r){let i=n[r];if(i!==void 0){if(typeof i!=`string`){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be a string, got ${bT(i)}`,line:X(e.source,[...t.split(`.`),r])});return}return i}}function _T(e,t,n){let r=gT(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${op(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:X(e.source,[...t.split(`.`),`palette`])});return}return r}}function vT(e,t,n,r,i){let a=n[r];if(a!==void 0){if(typeof a!=`string`||!i.includes(a)){e.issues.push({path:`${t}.${r}`,message:`${t}.${r} must be one of: ${i.join(`, `)}; got ${Q(a)}`,line:X(e.source,[...t.split(`.`),r])});return}return a}}function yT(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function bT(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function Q(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function xT(e,t,n,r){return yT(r)?(TT(e,n,r,t.noun,new Set(Object.keys(t.fields)),ST(e,t.removed??{},n,r)),CT(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${bT(r)}`,line:X(e.source,n.split(`.`))}),null)}function ST(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)ET(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function CT(e,t,n,r){let i=t,a={},o=!0;for(let[t,s]of Object.entries(i)){let i=s.parse(e,n,t,r);i===void 0?s.required&&(o=!1):a[t]=i}return o?a:null}const wT=new Set;function TT(e,t,n,r,i,a=wT){for(let o of Object.keys(n))!i.has(o)&&!a.has(`${t}.${o}`)&&e.issues.push({path:`${t}.${o}`,message:`Unknown ${r} "${o}". Expected one of: ${[...i].join(`, `)}`,line:X(e.source,[...t.split(`.`),o])})}function ET(e,t,n){return e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))}),null}function DT(e,t,n,r){if(!yT(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${bT(r)}`,line:X(e.source,n.split(`.`))}),null;let i=t.arms,a=Object.keys(i),o=Object.keys(r).filter(e=>e in i),s=Object.keys(r).filter(e=>!(e in i));for(let r of s)e.issues.push({path:`${n}.${r}`,message:`Unknown ${t.noun} key "${r}". Expected exactly one of: ${a.join(`, `)}`,line:X(e.source,[...n.split(`.`),r])});if(o.length===0)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)}`,line:X(e.source,n.split(`.`))}),null;if(o.length>1)return e.issues.push({path:n,message:`${t.noun} must declare exactly one of: ${a.join(`, `)} (found: ${o.join(`, `)})`,line:X(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function OT(e,t,n,r){if(!yT(r))return e.issues.push({path:n,message:`${n} must be an object, got ${bT(r)}`,line:X(e.source,n.split(`.`))}),null;let i=r[t.tag];if(typeof i!=`string`)return e.issues.push({path:`${n}.${t.tag}`,message:`${n}.${t.tag} must be a string, got ${bT(i)}`,line:X(e.source,n.split(`.`))}),null;let a=t.arms;if(!(i in a))return e.issues.push({path:`${n}.${t.tag}`,message:`Unknown ${t.noun} "${i}". Expected one of: ${Object.keys(a).join(`, `)}`,line:X(e.source,[...n.split(`.`),t.tag])}),null;let o=a[i],s=e.issues.length,c=o.parse(e,n,r),l=new Set(e.issues.slice(s).map(e=>e.path));return TT(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function kT(e,t,n){return{json:UT(VT(n),e,t),keys:new Set([e,...Object.keys(n)])}}function AT(e){return(...t)=>e()(...t)}function jT(e,...t){return(n,r,i)=>{let a=e(n,r,i);if(a===null)return null;for(let e of t){if(e.ok(a))continue;let{field:t,message:i}=e.issue(a),o=t===``?r:`${r}.${t}`;return n.issues.push({path:o,message:i,line:X(n.source,o.split(`.`))}),null}return a}}function MT(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>gT(e,t,r,n)}}function NT(){return{required:!1,json:{type:`boolean`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`boolean`){e.issues.push({path:`${t}.${n}`,message:`${n} must be a boolean, got ${bT(i)}`,line:X(e.source,[n])});return}return i}}}}function PT(e){let{min:t,max:n}=e;return{required:!1,json:{type:`integer`,minimum:t,maximum:n},parse:(e,r,i,a)=>{let o=a[i];if(o!==void 0){if(typeof o!=`number`||!Number.isInteger(o)||o<t||o>n){e.issues.push({path:`${r}.${i}`,message:`${i} must be an integer between ${t} and ${n}, got ${Q(o)}`,line:X(e.source,[i])});return}return o}}}}function FT(e={}){let{min:t}=e;return{required:!1,json:{type:`number`,...t!==void 0&&{minimum:t}},parse:(e,n,r,i)=>{let a=i[r];if(a!==void 0){if(typeof a!=`number`||!Number.isFinite(a)||t!==void 0&&a<t){let i=t===void 0?`a finite number`:`a finite number >= ${t}`;e.issues.push({path:`${n}.${r}`,message:`${r} must be ${i}, got ${Q(a)}`,line:X(e.source,[r])});return}return a}}}}function IT(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>_T(e,t,r)}}function LT(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>mT(e,t,r,n)??void 0}}function RT(e,t){return f(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function zT(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=mT(e,t,r,n);if(i===null)return;let a=RT(`${t}.${n}`,i);return a===null?i:ET(e,`${t}.${n}`,a)??void 0}}}function BT(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>vT(t,n,i,r,e)}}function VT(e,t={closed:!0}){let n=e,r={},i=[];for(let[e,t]of Object.entries(n))r[e]=t.json,t.required&&i.push(e);return{type:`object`,properties:r,...i.length>0&&{required:i},...t.closed&&{additionalProperties:!1}}}function HT(e){return VT(e.fields)}function UT(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function WT(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function GT(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const KT={required:!1,json:{enum:[...Ip]},parse:(e,t,n,r)=>{if(r[n]===`auto`){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: "auto" is not supported — the render daemon runs detached, so terminal detection would read the daemon's environment, not your terminal's. Pick an explicit depth: ${Ip.join(`, `)}`,line:X(e.source,[...t.split(`.`),n])});return}return vT(e,t,r,n,Ip)}},qT={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=gT(e,t,r,n);return hp(i)?i:_T(e,t,r)}},JT={required:!1,json:{anyOf:[{enum:[...Cp]},{type:`string`,pattern:`\\{\\{`}]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&hp(i)?i:vT(e,t,r,n,Cp)}},YT=/^[^\r\n]*\S[^\r\n]*$/u,XT=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),ZT={required:!1,json:{type:`string`,pattern:YT.source,not:{pattern:XT.source}},parse:(e,t,n,r)=>{let i=gT(e,t,r,n);if(i===void 0||YT.test(i)&&!XT.test(i))return i;e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: must be one line of visible text other than a close glyph ("✖", "✕") — the settings menu needs a glyph to click`,line:X(e.source,[...t.split(`.`),n])})}};function QT(e){return{spec:BT(e),domain:{from:e}}}function $T(){return{spec:NT(),domain:`bool`}}function eE(e){return{spec:e,domain:`text`}}const tE={default_empty_value:eE(MT()),default_separator:eE(MT()),palette:{spec:qT,domain:{themes:`themes`}},style:{spec:MT(),domain:{from:`styles`}},effect:{spec:JT,domain:{from:Cp}},preset:{spec:MT(),domain:{from:`presets`}},endcaps:QT(Op),variation:QT(Rp),shade:QT(Vp),autoWrap:$T(),padding:{spec:PT(qp),domain:{...qp,step:1}},charset:QT(Np),updateNotice:$T(),transitions:$T(),colorCompatibility:{spec:KT,domain:{from:Ip}},menuGlyph:eE(ZT)},nE=Object.fromEntries(Object.entries(tE).map(([e,t])=>[e,t.spec]));function rE(e){return tE[e].domain}function iE(e){let t=rE(e);if(t===`text`)throw Error(`globals.${e} is free text, which no control can change — list it in UNCONTROLLED_GLOBALS instead of SETTINGS`);return t}function aE(e,t){return{required:!1,json:{not:{},description:`not allowed here — ${e}`},parse:(e,n,r,i)=>{i[r]!==void 0&&e.issues.push({path:`${n}.${r}`,message:t(`${n}.${r}`),line:X(e.source,[...n.split(`.`),r])})}}}function oE(e){return aE(`${e} cannot select a preset`,t=>`${t}: ${e} cannot select a preset. Which preset is active is resolved once, as session pick over globals.preset over "default"; a fragment naming another would be a second authority over that. Set the default arrangement in the top-level globals.preset instead.`)}function sE(e){return aE(`${e} cannot change the settings menu glyph`,t=>`${t}: ${e} cannot change the settings menu glyph — one menu is shared by every preset. Set it in the top-level globals.menuGlyph instead.`)}function cE(e,t,n){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(r,i,a,o)=>{let s=o[a];if(typeof s==`string`&&hp(s)){r.issues.push({path:`${i}.${a}`,message:`${i}.${a}: a rule is not allowed here — ${t} ${n}, so it names a value. Write the rule in globals.${a} (or a preset's globals.${a}) instead.`,line:X(r.source,[...i.split(`.`),a])});return}return e.parse(r,i,a,o)}}}const lE={default_bg:"nothing reads it — a segment with no `bg:` wears the decoration tint of its place in the bar. Delete the key, and author `bg:` on the segments that need a fixed colour.",default_fg:"nothing reads it — a segment with no `fg:` wears text chosen for contrast against its background. Delete the key, and author `fg:` on the segments that need a fixed colour.",default_truncate_marker:'nothing reads it — a segment clipped to its `width:` always ends in "…". Delete the key.',look:`it was renamed "style" — write the same name as style: "<name>"`,progression:`it was renamed "variation", and its values with it: accent (was secondary-accent), duo (was primary-secondary), mono (was primary)`},uE={noun:`globals key`,fields:nE,removed:lE},dE={preset:oE(`a preset`),menuGlyph:sE(`a preset`)},fE={noun:`preset globals key`,fields:{...nE,...dE},removed:lE};function pE(e){return CE(e)&&!(e in dE)}const mE=`is decided later than any rule could be settled`,hE={noun:`editGlobals key`,removed:lE,fields:{...nE,preset:oE(`the editGlobals fragment`),menuGlyph:sE(`the editGlobals fragment`),palette:cE(nE.palette,`the editGlobals fragment`,mE),style:cE(nE.style,`the editGlobals fragment`,mE),effect:cE(nE.effect,`the editGlobals fragment`,mE)}},gE={noun:`theme default key`,fields:{...Object.fromEntries(ph.map(e=>[e,nE[e]])),style:cE(nE.style,`a theme's default`,`is the look that theme wears by name`)}};function _E(e,t){if(!yT(t))return e.issues.push({path:`themeDefaults`,message:`themeDefaults must be an object mapping theme names to { shade, variation, style }, got ${bT(t)}`,line:X(e.source,[`themeDefaults`])}),{};let n={};for(let[r,i]of Object.entries(t)){let t=`themeDefaults.${r}`;if(!e.allowedPalettes.has(r)){e.issues.push({path:t,message:`${t}: "${r}" is not an installed theme${op(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:X(e.source,[`themeDefaults`,r])});continue}let a=xT(e,gE,t,i);a!==null&&(n[r]=a)}return n}function vE(e,t,n){return n===void 0?{}:xT(e,uE,t,n)??{}}function yE(e,t,n){return xT(e,fE,t,n)??{}}function bE(){return HT(fE)}function xE(e,t,n){return xT(e,hE,t,n)??{}}const SE=new Set(Object.keys(nE));function CE(e){return SE.has(e)}function wE(){return[...SE]}const TE={padding:1};function EE(e){let t=new Map;for(let[n,r]of Object.entries(TE)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}const DE=/^segments\.([^.]+)\.palette$/,OE=/^presets\.(.+)\.root$/,kE=/^presets\.(.+)\.globals\.([^.]+)$/,AE=/^themeDefaults\.(.+)\.([^.]+)$/;function jE(e){return`presets.${e}.root`}function ME(e,t){return`themeDefaults.${e}.${t}`}const NE=e=>ph.includes(e);function PE(e,t){return`presets.${e}.globals.${t}`}function FE(e){if(CE(e))return{scope:`globals`,field:e};let t=DE.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=kE.exec(e);if(n&&pE(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=AE.exec(e);if(r&&NE(r[2]))return{scope:`theme-default`,theme:r[1],field:r[2]};let i=OE.exec(e);return i?{scope:`preset-root`,preset:i[1]}:null}function IE(e){switch(e.scope){case`globals`:return[`globals`,e.field];case`preset-globals`:return[`presets`,e.preset,`globals`,e.field];case`segment-palette`:return[`segments`,e.segment,`palette`];case`theme-default`:return[`themeDefaults`,e.theme,e.field]}}const LE=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],RE=[...LE,`other`],zE={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`},BE=Dv({fromString:e=>e}),VE=`edit.mode`,HE=`edit.configure`,UE=`edit.toggle`,WE=`edit.unconfigure`,GE=[UE,WE],KE=`arrange`,qE=`${qw}draft.`;function JE(e,t){return`${e}:${t}`}const YE={variable:VE,key:VE,member:KE},XE=Yn(YE);function ZE(e){try{return BE.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function QE(e){if(Object.values(e.actions??{}).some(e=>`do`in e&&e.do.includes(`edit.toggle`)))return!0;for(let t of Object.values(e.segments??{}))for(let e of[t.template,t.bg,t.fg])if(typeof e==`string`&&ZE(e))return!0;return!1}function $E(e,t){if(Zw(e,t,qw,`edit mode`),!QE(t))return;let{variables:n,actions:r}=eD();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function eD(){return{variables:{[VE]:er(VE,Wn),[HE]:er(HE,Wn)},actions:{[UE]:tr(VE,KE),[WE]:{set:HE,to:Wn}}}}const tD=`open`;function nD(e,t,n,r){let i={variable:e,key:e,member:tD};return r.variables[e]=er(e,Wn),r.actions[e]=tr(e,tD),r.segments[e]={template:Zn(e,`(?)`,`✕`),...rD(n)},Jn(e,i,{kind:`container`,direction:`horizontal`,children:t.map((t,n)=>{let i=`${e}.${n}`;return r.segments[i]={template:t},{kind:`segment`,name:i}})},`drop`)}function rD(e){let[t,...n]=e;return t===void 0?{}:{when:Yn(t,...n)}}const iD=`none`;function aD(e){return Hs(e,`background`)}var oD=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function sD(e,t,n,r,i){let{palette:a,tint:o,text:s}=e,c=cD(n,i),l=c!==iD,u=l?c===void 0?o:lD(a,c,`bg`):aD(a);e.bg=u;let d=cD(r,i),f=d===void 0?l?(e=>e.hex===o.hex?s:Nf(a,e,t))(u):void 0:lD(a,d,`fg`);return new G({...l&&{bgcolor:W.fromRgba(u)},...f!==void 0&&{color:W.fromRgba(f)}})}function cD(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function lD(e,t,n){try{return Hs(e,t)}catch(e){throw e instanceof Vs?new oD(t,n,e.message):e}}const uD=`🔧`,dD={help:[`-h`,`--help`],version:[`-V`,`--version`]},fD=[`✚ inserts`,`✖ removes`,`${uD} configures`,`↺ resets layout`],pD=`
93
106
  cc-candybar - Beautiful powerline statusline for Claude Code
94
107
 
95
108
  Usage: cc-candybar [options]
96
109
 
97
110
  Standalone Commands:
98
- ${nT.help.join(`, `).padEnd(25)}Show this help
99
- ${nT.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
111
+ ${dD.help.join(`, `).padEnd(25)}Show this help
112
+ ${dD.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
100
113
 
101
114
  Debugging:
102
115
  CC_CANDYBAR_DEBUG=1 Enable debug logging for troubleshooting
@@ -109,7 +122,7 @@ Configuration:
109
122
 
110
123
  Every bar carries a settings menu, whatever your config says — no config
111
124
  needed, and writing your own \`root\` cannot delete it. Click
112
- it on the bar (${Ud} by default; globals.menuGlyph changes it) for
125
+ it on the bar (${L} by default; globals.menuGlyph changes it) for
113
126
  preset switching and five tabs: ⚡ session (quick actions and commands),
114
127
  🎨 look (theme/style/variation/shade/endcaps), 📐 layout (new preset, edit mode,
115
128
  wrap, padding), ⚙ config (update notice) and
@@ -119,7 +132,7 @@ Configuration:
119
132
  failed row's [fix] to repair it (the same checks \`cc-candybar doctor\` runs).
120
133
 
121
134
  Anywhere the bar shows (?), clicking it reveals these same instructions
122
- in place. In edit mode: ${rT.join(`, `)}.
135
+ in place. In edit mode: ${fD.join(`, `)}.
123
136
 
124
137
  Subcommands:
125
138
  install One-shot setup: stages the runtime (native render
@@ -160,28 +173,15 @@ Config tooling:
160
173
  config [--json] The effective merged config. (All three query the
161
174
  running daemon; none spawn one.)
162
175
 
163
- `,aT=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,oT={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function sT(e){let t=e[oT.socket]??``,n=e[oT.pane]??``;if(t===``||n===``)return null;let r=e[oT.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function cT(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const lT=oT.truecolor,uT={name:`tmuxTruecolor`,label:`tmux truecolor`,probe:({tmux:e,claudeSettings:t})=>{switch(e.kind){case`unreported`:return{ok:!1,reason:"the client reported no tmux facts — re-run `cc-candybar install` to stage a current client"};case`outside`:return{ok:!0};case`inside`:{if(e.termfeatures.kind===`failed`)return{ok:!1,reason:`tmux could not be asked: ${e.termfeatures.reason}`};if(!e.termfeatures.value.includes(`RGB`)||e.hint.truecolor!==null)return{ok:!0};let n=t.env[lT];return typeof n==`string`&&n!==``?{ok:!1,reason:`${lT} is set in ${t.path} — restart Claude Code to apply`}:{ok:!1,reason:`Claude Code renders the bar in 256 colours inside tmux`,fix:{kind:`claude-settings`,path:[`env`,lT],value:`1`}}}}}},dT={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},fT={name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
164
- `).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return cT([...e.warnings,...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${dT[e]}`)])}}},pT="re-run `cc-candybar install`";function mT(e){if(e.kind===`failed`)return[`Launch Services could not be asked which app opens cc-candybar:// — ${e.reason}`];if(e.value===null)return[`no app is registered for cc-candybar:// — ${pT}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${pT}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${pT}`)}const hT=[fT,{name:`urlHandler`,label:`URL handler`,probe:({urlHandler:e})=>{switch(e.kind){case`unsupported`:return{ok:!0};case`unprobed`:return{ok:!1,reason:e.reason};case`arrived`:return e.handler===e.bar?{ok:!0}:{ok:!1,reason:e.handler===null?`the URL handler does not report its version, so it is older than the bar (${e.bar}) — ${pT}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${pT}`};case`lost`:return cT([...mT(e.opener),e.unopened===null?`a cc-candybar:// link was opened and did not arrive at the daemon`:`a cc-candybar:// link could not be opened — ${e.unopened}`])}}},uT,{name:`effectRefresh`,label:`effect refresh`,probe:({effect:e,placementEffects:t,transitions:n,claudeSettings:r})=>{let i=[...e.kind===`decided`?e.value===`none`?[]:[`the bar wears the ${e.name} effect`]:[`a globals.effect rule can give the bar an effect`],...t.map(({placement:e,effect:t})=>`${e} wears the ${t} effect`),...n?[`placements fade in and dissolve out as they come and go`]:[]];if(i.length===0)return{ok:!0};let a=i.join(` and `),{path:o,statusLine:s}=r;switch(s.kind){case`absent`:return{ok:!1,reason:`${a}, and ${o} sets no statusLine — set "refreshInterval": 1 beside the statusLine command that runs the bar`};case`not-an-object`:return{ok:!1,reason:`${a}, and ${o} sets statusLine to ${JSON.stringify(s.value)}, not a statusLine object — re-run \`cc-candybar install\` to write one`};case`present`:break}let c=s.refreshInterval;return c===1?{ok:!0}:{ok:!1,reason:c===void 0?`${a}, but Claude Code redraws it only on events`:typeof c==`number`&&c>1?`${a}, but Claude Code redraws it only every ${c} s`:`${a}, but statusLine.refreshInterval is ${JSON.stringify(c)}, not a number of seconds Claude Code accepts (its minimum is 1)`,fix:{kind:`claude-settings`,path:[`statusLine`,`refreshInterval`],value:1}}}}];function gT(e){return hT.map(t=>({check:t,verdict:t.probe(e)}))}function _T(e){return hT.find(t=>t.name===e)}const vT=`${K}doctor.`;function yT(e){let t=`${vT}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function bT(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function xT(e){return e.flatMap(({check:e,verdict:t})=>{let n=yT(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:hl}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:bT(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?hl:ml}]})}const ST={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function CT(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }}{{ if ne .resume_command "" }} {{ action "${t(`copyResume`)}" "⎘ resume" }}{{ end }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}{{ if ne .config_path "" }} {{ action "${t(`openConfig`)}" "↗ config" }}{{ end }}`,actions:Object.fromEntries(Object.entries(ST).map(([t,n])=>[`${e}${t}`,n]))}}const wT=`armed`,TT=`disarmed`,ET=`.armed`,DT=e=>e.endsWith(ET);function OT(e,t,n){let r=`${e}${ET}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${wT}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:wT},[a]:{set:r,to:TT},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:TT}},disarm:a}}const kT=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function AT(e){return typeof e==`string`&&kT.test(e)?{kind:`line`,line:e}:{kind:`refused`,reason:`a slash command is "/" then its name, e.g. "/compact" or "/model opus", on one line with no control characters, got ${JSON.stringify(e)}`}}function jT(e){let t=AT(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const MT=[`/compact`,`/model`],NT=`/clear`;function PT(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=OT(`${e}clear`,{arm:NT,confirm:`${NT} ✓ confirm`},[n]);return{template:MT.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${ew} }}`,actions:{...Object.fromEntries(MT.map(e=>[t(e),{slash:jT(e)}])),...r.actions,[n]:{slash:jT(NT)}},variables:r.variables,disarm:r.disarm}}function FT(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:l.resolve(t,n)}function IT(e){return e??l.join(h.homedir(),`.claude`)}function LT(e){return l.join(e,`settings.json`)}function RT(e){return l.join(e,`plugins`,`installed_plugins.json`)}function zT(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function BT(e){let t;try{let n=zT(e);if(/^\s*$/.test(n))return{};t=Bl.parse(n)}catch(t){throw Error(`cannot read ${e}: ${HT(t)}`,{cause:t})}if(!VT(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const VT=e=>typeof e==`object`&&!!e&&!Array.isArray(e),HT=e=>e instanceof Error?e.message:String(e),UT=Array.from({length:10},(e,t)=>(t+1)*1e5),WT=UT[0],GT=UT[UT.length-1];function KT(e){let t;try{t=BT(e)}catch(e){return X(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?J(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=WT&&n<=GT?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${WT}–${GT} tokens)`)}function qT(e,t){let n=Math.min(t??GT,GT),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:UT.filter(e=>e<r).at(-1)??0,higher:UT.find(e=>e>r&&e<=n)??0}}function JT(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${ew} }}{{ if gt .autocompact.lower 0 }} {{ action (printf "${e}%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "${e}%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "${e}auto" "↺" }}{{ end }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`,actions:{[`${e}auto`]:{slash:jT(`/autocompact auto`)},...Object.fromEntries(UT.map(t=>[`${e}${t}`,{slash:jT(`/autocompact ${t}`)}]))}}}const YT=e=>`{{ if ge ${e} 1000000 }}{{ printf "%.1f" (divf ${e} 1000000) }}M{{ else if ge ${e} 1000 }}{{ printf "%.1f" (divf ${e} 1000) }}K{{ else }}{{ ${e} }}{{ end }}`,XT=`${K}menu`,ZT=`open`,QT=`${K}edit`,$T=`${K}toolbar`,eE=CT(K),tE=`${K}commands`,nE=PT(`${tE}.`),rE=`${K}autocompact`,iE=JT(`${rE}.`,YT),aE=e=>({kind:`segment`,name:e}),oE=`${K}tab`,sE=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],cE=e=>`${oE}.${e}`,lE=e=>`${cE(e)}.toggle`,uE=e=>({variable:oE,key:oE,member:e}),dE=`${K}save`,fE=`${K}preset.save`,pE=`${K}preset.delete`,mE=e=>`${K}${e}`,hE=e=>`${K}apply.${e}`,gE=e=>`${K}reset.${e}`,_E=`${K}themeDefault.save`,vE=`${K}themeDefault.differs`,yE=`${K}themeDefault.theme`,bE={when:`{{ .${vE} }}`,template:`{{ action "${_E}" (printf "⤓ default for %s" .${yE}) }} {{ swatch "${hE(`theme`)}" .${yE} }}`},xE=`${K}resetAll`,SE=`${XT}.toggle`,CE={variable:XT,key:XT,member:ZT},wE=`${K}undo`,TE=`${K}back`,EE=`${TE}.step`,DE=`${K}navigation.back`,OE=TE,kE={template:`{{ if gt .${DE} 0 }}{{ action "${TE}" "◁" }}{{ else }}{{ fg (${aT}) "◁" }}{{ end }}`},AE=`${K}redo`,jE=`${K}doctor`,ME=`${jE}.run`,NE=e=>`${jE}.fix.${e}`,PE=e=>`${jE}.${e}`,FE=Tb(`${K}pickers`),IE=`${K}gear`,LE=`gear`,RE=`${IE}.toggle`,zE={variable:FE,key:FE,member:LE},BE=Tb(`${K}gearPickers`),VE=[{template:`{{ themePreview }}`}],HE={template:`{{ layoutPreview }}`},UE={preset:[HE,{when:`{{ not .preset.bundled }}`,template:`{{ action "${pE}" (printf "🚮 delete %s" .${tw.preset.effectiveVar}) }}`}],style:VE,variation:[HE],shade:[HE]},WE=(e,t)=>`${K}list.${e}.${t}`,GE=e=>`${K}resettable.${e}`,KE=e=>e.length===0?`false`:`(or ${e.map(e=>`.${GE(e)}`).join(` `)})`,qE={preset:`door`,theme:`look`,style:`gear`,effect:`look`,variation:`gear`,shade:`gear`,endcaps:`look`,transitions:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},JE=e=>e===`gear`?qE.theme:e,YE=Object.keys(tw).map(e=>{let t=tw[e],n=mf(t.configKey),r=Pw({label:t.label,domain:n},t.sessionKey,t.effectiveVar,hE(e),qE[e]===`gear`?BE:FE);return{...t,name:e,control:r,beneath:UE[e]??[]}}),XE=e=>YE.filter(t=>qE[t.name]===e),ZE=e=>YE.filter(t=>JE(qE[t.name])===e),QE={theme:[qd(IE,zE,{kind:`container`,direction:`horizontal`,children:XE(`gear`).map(dD)},`drop`)]},$E=e=>XE(e).flatMap(e=>[dD(e),...QE[e.name]??[]]);new Set(YE.flatMap(e=>[e.sessionKey,e.configKey]));const eD=OT(xE,{arm:`⟲`,confirm:`⟲ reset all?`},YE.map(e=>gE(e.name))),tD=[`unsaved`,`history.undo`,`history.redo`],nD=e=>`${K}${e}`,rD=nD(`unsaved`),iD=(e,t)=>({body:t,shown:`(gt .${nD(e)} 0)`}),aD=[iD(`unsaved`,`{{ action "${dE}" (printf "💾 save %d" .${rD}) }}`),iD(`history.undo`,`{{ action "${wE}" "↶" }}`),iD(`history.redo`,`{{ action "${AE}" "↷" }}`),{body:eD.template,shown:`(or ${KE(YE.map(e=>e.name))} ${eD.armed})`}],oD={when:`{{ or ${aD.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+aD.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},sD=[{step:eD,place:`door`},{step:nE,place:`session`}],cD=e=>e.map(e=>e.step.disarm),lD=cD(sD),uD=cD(sD.filter(e=>e.place!==`door`));function dD(e){let t=mE(e.name);return e.control.kind===`inline`?aE(t):qd(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[...e.control.list.rows,...e.beneath].map((t,n)=>aE(WE(e.name,n)))},`drop`)}function fD(e){return e===XT}function pD(e){let t=aE(XT);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[pD(n),...r]}:{kind:`container`,direction:`vertical`,children:[t,e]}}return e.kind===`container`&&e.when===void 0?{...e,children:[t,...e.children]}:{kind:`container`,direction:`horizontal`,children:[t,e]}}function mD(e){return hD(e)>0?e:pD(e)}function hD(e){let t=0;for(let n of Eu(e))n.kind===`segment`&&fD(n.name)&&(t+=1);return t}function gD(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&fD(e.name)||e.opens!==void 0&&gD(e.opens.body,!0):e.children.some(e=>gD(e,n))}const _D={session:{direction:`vertical`,content:[aE($T),{kind:`container`,direction:`horizontal`,children:[aE(tE),aE(rE)]}],after:[]},look:{direction:`horizontal`,content:[],after:[aE(_E)]},layout:{direction:`horizontal`,content:[aE(fE),aE(QT)],after:[]},config:{direction:`horizontal`,content:[],after:[]},tools:{direction:`vertical`,content:[aE(jE),...hT.map(e=>aE(PE(e.name)))],after:[]}},vD=e=>({kind:`container`,direction:_D[e].direction,children:[..._D[e].content,...$E(e),..._D[e].after]});function yD(e){return e.kind===`segment`?fD(e.name)?qd(e.name,CE,xD,`above`):e:CD(e)}function bD(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[aE(OE),...$E(`door`),aE(dE)]},{kind:`container`,direction:`horizontal`,children:sE.map(({member:e})=>qd(cE(e),uE(e),vD(e),`drop`))}]}}const xD=bD();function SD(e){let t=new Map;for(let e of Eu(xD))e.kind===`segment`&&e.opens!==void 0&&t.set(e.opens.ref.key,e.opens.ref.variable);return[...t].map(([t,n])=>{let r=e.variables[n];if(r?.kind!==`state`||r.default===void 0)throw Error(`settings menu: the door folds "${t}", but "${n}" is not a state variable the menu declares with a default`);let i=`${XT}.fold.${Sp(t)}`;return e.actions[i]={set:t,to:r.default},i})}function CD(e){return{...e,children:e.children.map(e=>yD(e))}}function wD(e){let t={variables:{[XT]:$d(XT,Hd)},actions:{[SE]:ef(XT,ZT),[ME]:{doctor:`run`},[QT]:{do:[...nx]},...eE.actions,...nE.actions,...iE.actions,[dE]:{save:!0},[wE]:{undo:!0},[EE]:{back:!0},[TE]:{do:[EE,...lD]},[AE]:{redo:!0},[fE]:{preset:`save`},[_E]:{themeDefault:`save`},[pE]:{preset:`delete`,name:`{{ .${tw.preset.effectiveVar} }}`}},segments:{[XT]:{template:`{{ $door := ${Zd(XT,Qd(e),Qd(`✖`))} }}{{ if ${Yd(CE)} }}{{ fg (keptOn (color "error") (bgOf)) $door }}{{ else }}{{ $door }}{{ end }}`},[$T]:{template:eE.template},[tE]:{template:nE.template,when:nE.when},[rE]:{template:iE.template,bg:iE.bg,when:iE.when},[OE]:kE,[dE]:oD,[_E]:bE,[fE]:{template:`{{ action "${fE}" "+ preset" }}`},[jE]:{template:`{{ action "${ME}" "🩺 doctor" }}`},[QT]:{template:`{{ action "${QT}" "✎ arrange" "✎ done" }}`}}};t.variables[vE]={kind:`input`,path:`themeDefault.differs`,type:`boolean`,default:!1},t.variables[yE]={kind:`input`,path:`themeDefault.theme`,type:`string`,default:``},t.variables[DE]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of tD)t.variables[nD(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[oE]=$d(oE,`session`);for(let{member:e,label:n}of sE){t.actions[lE(e)]=ef(oE,e),t.actions[cE(e)]={do:[lE(e),...uD]};let r=KE(ZE(e).map(e=>e.name)),i=`(ternary ${Qd(` •`)} "" ${r})`,a=e=>`(print ${Qd(e)} ${i})`;t.segments[cE(e)]={template:`{{ ${Zd(cE(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,nE.variables,eD.variables),ED(t),TD(t),t.actions[XT]={do:[SE,...lD,...SD(t)]},t}function TD(e){for(let t of hT){let n=yT(t.name),r=NE(t.name);for(let t of Object.values(n))e.variables[t]={kind:`state`,key:t,default:``};e.actions[r]={doctor:`fix`,check:t.name},e.segments[PE(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${ml}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function ED(e){for(let t of YE){Object.assign(e.actions,t.control.actions);let n=gE(t.name);e.actions[n]={reset:t.configKey},e.variables[GE(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${GE(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[mE(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&[...t.control.list.rows.map(e=>({template:e})),...t.beneath].forEach((n,r)=>{e.segments[WE(t.name,r)]=n})}Object.assign(e.actions,eD.actions),e.actions[RE]=ef(FE,LE),e.segments[IE]={template:`{{ action "${RE}" "⚙" }}`}}function DD(e){let{variables:t,actions:n}=dx();Object.assign(e.variables,t),Object.assign(e.actions,n)}function OD(e){let t=wD(e.globals.menuGlyph??`🍫`);DD(t);let n={...e.presets},r=[];for(let t of Pb(e.presets)){let{node:i}=Lb(e,t),a=yD(mD(i));r.push(a),n[t]={...Ib(e.presets,t),root:a}}let i=uw(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const kD=`${Tp}live`,AD=[`☐ live`,`☑ live`],jD=`${Tp}done`,MD=`${Tp}cancel`,ND=`${Tp}rewind`,PD=`${Tp}changes`,FD=`(gt .${PD} 0)`,ID=`(or ${FD} (gt .${rD} 0))`,LD={variable:kD,key:kD,member:`open`};function RD(e){return`${Tp}configuring.p${e}`}function zD(e){return`and ${Yd(ox)} (not ${Yd(LD)}) (ne .${RD(e)} "true")`}function BD(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${$b} "${Kd(e)}")`).join(` `)} false }}`}}function VD(e,t,n){return`{{ if ${zD(e)} }}${t}{{ else }}${n}{{ end }}`}const HD=`{{ and ${Yd(ox)} .preset.customized }}`,UD=Dp;function WD(e){return new Map([...ww(e),...KD(e)])}const GD=`${Tp}addable`;function KD(e){return new Map([[GD,{members:Object.keys(e.segments).filter(e=>!UD(e)),library:{groups:bp.map(e=>({id:e,label:xp[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function qD(e,t,n){return n.segments[e]={template:t,when:sx,bg:Yw},{kind:`segment`,name:e}}function JD(e,t,n){let r=`${Tp}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${nc}`}) (action "${r}" "✖") }}`}function YD(e){return`{{ if ${Yd(ox)} }}${e}{{ end }}`}function XD(e,t){return e.reduce((e,t)=>`{{ if and ${Yd(ox)} ${Yd(t)} }}true{{ else }}${e}{{ end }}`,t)}function ZD(e){return e.flatMap(e=>[...Eu(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function QD(e,t,n){return`${ix}${e}.${t}.${n}`}function $D(e,t,n,r){let i=Su(n),a=`${Tp}${e.presetIdent}`,o=ax(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=Tb(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:Hd},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:$b,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=QD(e.presetIdent,i,r),l=`${ix}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:Uu(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=Pw(Mw(o),s,l,d,c);if(Object.assign(e.artifacts.actions,f.actions),Object.assign(e.artifacts.variables,f.variables),f.kind===`inline`)return e.artifacts.segments[d]={template:f.template},{kind:`segment`,name:d};e.artifacts.segments[d]={template:f.template};let p=f.list.rows.map((t,n)=>{let r=`${d}.list.${n}`;return e.artifacts.segments[r]={template:t},{kind:`segment`,name:r}});return qd(d,f.list.ref,{kind:`container`,direction:`vertical`,children:p},`drop`)});return{term:`{{ action "${s}" "${tT}" }}`,ref:{variable:$b,key:$b,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const eO=`${Tp}label:`;function tO(e){if(e.startsWith(eO)){let t=e.slice(eO.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function nO(e,t,n,r){let{artifacts:i}=n,a=Su(e),o=`${eO}${a}:${e.name}`;i.segments[o]={template:`{{ "${Kd(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=Object.fromEntries(Ru.flatMap(t=>{let n=e.settings?.[t];return n===void 0?[]:[[t,n]]}));return{...qd(o,r.ref,r.body,`drop`,XD([r.ref],`{{ ${zD(n.presetIdent)} }}`)),...Object.keys(s).length>0&&{settings:s},drafts:Object.fromEntries(Ru.map(e=>[e,r.drafts[e]]))}}function rO(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${Tp}${i}.insert.${t}`,s=`${Tp}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:GD,anchor:n,relation:r};let c=Cb(o),l=wb(s,o,void 0),u=Db(l),d=Eb(l,c);return a.variables[l]=$d(l,Hd),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=ef(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Yd({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${nc}`}) $m }}{{ end }}`}}function iO(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!UD(e.name)),i=e=>iO(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=Tu(o,i);if(UD(o.name)){n.push(s);continue}let c=Su(o),l=a===r?[rO(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=rO(t,u,c,`after`),f=JD(t,u,c),p=t.segments[o.name],m=$D(t,u,o,zu(p)),h=YD(f),g=YD(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>qD(e.host,e.template,t.artifacts)),{...nO(o,p,t,m),lead:h,trail:g},{...s,when:VD(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},qD(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[_]}:_)}return{...e,children:n,...e.when!==void 0&&{when:XD(ZD(n),VD(t.presetIdent,`true`,e.when))}}}function aO(e,t,n,r,i,a,o){let s=`${Tp}${t}.resetLayout`,c=`${Tp}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:HD},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},oO(e,o)]}}function oO(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),oO(n,t)]}:{...e,children:[...e.children,t]}}function sO(e,t,n,r,i,a){let{node:o}=Lb(e,t),s={presetIdent:Sp(t),rootKey:Bw(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=iO(o,s);return n.variables[RD(s.presetIdent)]=BD(s.configured),aO(c,s.presetIdent,s.rootKey,n,r,i,a)}function cO(e){let t={variables:{},actions:{},segments:{}},n=qw(`${Tp}help`,rT,[ox],t);t.variables[kD]=$d(kD,Hd),t.actions[kD]=ef(kD,LD.member),t.segments[kD]={template:Xd(kD,...AD),when:sx};let r={kind:`segment`,name:kD},i=n;t.variables[PD]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[jD]={do:[dE,...nx]},t.segments[jD]={template:`{{ if ${ID} }}{{ action "${jD}" "✓ save" }}{{ else }}{{ action "${jD}" "✓ done" }}{{ end }}`,when:sx},t.actions[ND]={rewind:!0},t.actions[MD]={do:[ND,...nx]},t.segments[MD]={template:`{{ action "${MD}" "↩ cancel" }}`,when:`{{ and ${Yd(ox)} ${FD} }}`};let a=[{kind:`segment`,name:jD},{kind:`segment`,name:MD}],o={...e.presets},s=[];for(let n of Pb(e.presets)){let c=sO(e,n,t,a,r,i);s.push(c),o[n]={...Ib(e.presets,n),root:c}}let c=uw(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}const lO=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`themeDefault`,`doctor`,`ceiling`,`slash`,`do`];function uO(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function dO(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function fO(e,t){if(t===void 0)return{};if(!ed(t))return Q(e,`actions`,`actions must be an object, got ${td(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=pO(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function Q(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function pO(e,t,n){if(!ed(n))return Q(e,t,`${t} must be an action object, got ${td(n)}`),null;if(`persistWhen`in n)return Q(e,t,`${t}.persistWhen was removed: declare the \`set\` alone — a session pick is a draft until a \`{ save: true }\` action writes every unsaved setting to the config file`),null;let r=lO.filter(e=>e in n);return r.length===1?mO[r[0]](e,t,n):(Q(e,t,`action must declare exactly one of: ${lO.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const mO={set:(e,t,n)=>qO(e,t,n,`set`,UO),persist:(e,t,n)=>qO(e,t,n,`persist`,WO),copy:hO(`copy`),open:hO(`open`),reset:gO,undo:vO(`undo`),redo:vO(`redo`),back:vO(`back`),rewind:vO(`rewind`),save:vO(`save`),preset:yO,themeDefault:bO,doctor:xO,ceiling:SO,slash:CO,do:wO};function hO(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Q(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=Yu(t,n,r,e);return i===null?null:{[e]:i}}}function gO(e,t,n){for(let r of Object.keys(n))r!==`reset`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=TO(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}const _O={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,back:`it steps the session's navigation history`,rewind:`it steps the session's settings history back to where edit mode opened`,save:`it saves the session's unsaved settings`};function vO(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&Q(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:(Q(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${_O[e]}), got ${G(r[e])}`),null)}}function yO(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return Q(e,`${t}.preset`,`preset must be "save" or "delete", got ${G(r)}`),null;if(r===`save`)return{preset:`save`};let a=Yu(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function bO(e,t,n){for(let r of Object.keys(n))r!==`themeDefault`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a themeDefault action. Expected only: themeDefault`);return n.themeDefault===`save`?{themeDefault:`save`}:(Q(e,`${t}.themeDefault`,`themeDefault must be "save" (it saves the look the session draws as the active theme's default), got ${G(n.themeDefault)}`),null)}function xO(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return Q(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${G(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||_T(a)===void 0?(Q(e,`${t}.check`,`doctor fix must name a check (have: ${hT.map(e=>e.name).join(`, `)}), got ${G(a)}`),null):{doctor:`fix`,check:a}}function SO(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||Q(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return Q(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${G(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?(Q(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${G(a)}`),null):{ceiling:`set`,to:a}}function CO(e,t,n){for(let r of Object.keys(n))r!==`slash`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=AT(n.slash);return r.kind===`refused`?(Q(e,`${t}.slash`,r.reason),null):{slash:r.line}}function wO(e,t,n){for(let r of Object.keys(n))r!==`do`&&Q(e,`${t}.${r}`,`Unknown key "${r}" on a do action. Expected only: do`);let r=n.do;return!Array.isArray(r)||r.length<2||r.some(e=>typeof e!=`string`||e===``)?(Q(e,`${t}.do`,`do must list at least two action names (the first is the click's face, the rest ride along in the same click), got ${G(r)}`),null):{do:r}}function TO(e,t,n,r,i,a){let o=Yu(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?(Q(e,s,i),null):o.includes(`/`)?(Q(e,s,a(o)),null):o}const EO={set:`the SessionState key to write`,persist:`the config globals field to write`};function DO(e,t,n,r){let i=EO[r],a=TO(e,t,r,n,`${r} key must be non-empty (${i})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);return a===null?null:{[r]:a}}function OO(e){return e===`set`?`set-state`:`set-config`}const kO={to:JO(`set`)},AO={to:JO(`persist`)},jO={from:YO(`set`)},MO={from:YO(`persist`)},NO={min:ek(),max:ek(),by:ek()},PO={int:ZO()},FO={cycle:XO(`set`)},IO={cycle:XO(`persist`)},LO={removeSegment:QO(`removeSegment`)},RO={insertSegment:QO(`insertSegment`),anchor:QO(`anchor`),relation:$O()},zO={insertSegmentFrom:YO(`persist`),anchor:QO(`anchor`),relation:$O()},BO={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},VO={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function HO(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>id(e,t,n,r),c=Sd(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?fd(s,...n):s}}const UO=[HO(`set`,kO),HO(`set`,jO),HO(`set`,NO,[BO,VO]),HO(`set`,PO),HO(`set`,FO)],WO=[HO(`persist`,AO),HO(`persist`,MO),HO(`persist`,NO,[BO,VO]),HO(`persist`,IO),HO(`persist`,LO),HO(`persist`,RO,[],[`insertSegment`]),HO(`persist`,zO,[],[`insertSegmentFrom`])];function GO(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"endcaps"/"styles", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function KO(e){let t=GO(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function qO(e,t,n,r,i){let a=DO(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Q(e,t,`${KO(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||Q(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function JO(e){let t=OO(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>TO(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function YO(e){let t=OO(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){Q(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){Q(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){Q(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){Q(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){Q(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}Q(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${G(o)}`)}}}function XO(e){let t=OO(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){Q(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${td(o)}`);return}let c=o;if(c.length<2){Q(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){Q(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){Q(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){Q(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function ZO(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){Q(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${G(r[n])}`);return}return!0}}}function QO(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=Yu(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){Q(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){Q(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function $O(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){Q(e,`${t}.${n}`,`relation must be "before" or "after", got ${G(i)}`);return}return i}}}function ek(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){Q(e,`${t}.${n}`,`${n} must be an integer, got ${G(i)}`);return}return i}}}function tk(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const nk={noun:`style key`,fields:{hueShift:gd(),chromaScale:gd({min:0}),lightnessScale:gd(),lightnessShift:gd()}};function rk(e,t){if(!ed(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${td(t)}`,line:W(e.source,[`styles`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`styles.${r}`,message:`style name ${JSON.stringify(r)} must be non-empty and slash-free — a style picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:W(e.source,[`styles`,r])});continue}if(tl(r)){e.issues.push({path:`styles.${r}`,message:tk(`styles.${r}`,r,`globals.endcaps`),line:W(e.source,[`styles`,r])});continue}let t=nd(e,nk,`styles.${r}`,i);t!==null&&(n[r]={...cr,...t})}return n}const ik={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:vm(e,`${t}.${n}`,r[n])},globals:{required:!1,json:Af(),parse:(e,t,n,r)=>r[n]===void 0?void 0:kf(e,`${t}.${n}`,r[n])}}};function ak(e,t){if(!ed(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${td(t)}`,line:W(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:W(e.source,[`presets`,r])});continue}let t=nd(e,ik,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function ok(e,t){if(t===void 0)return{};if(!ed(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${td(t)}`,line:W(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${G(i)}`,line:W(e.source,[`helpers`,r])});continue}n[r]=i}return n}const sk=new Map([[`session.budget.amount`,{segment:`session`,setting:`budget`}],[`session.budget.warningThreshold`,{segment:`session`,setting:`warnAt`}],[`today.budget.amount`,{segment:`today`,setting:`budget`}],[`today.budget.warningThreshold`,{segment:`today`,setting:`warnAt`}],[`block.budget.heatThreshold`,{segment:`block`,setting:`warnAt`}],[`block.budget.warningThreshold`,{segment:`block`,setting:`errorAt`}],[`weekly.budget.heatThreshold`,{segment:`weekly`,setting:`warnAt`}],[`weekly.budget.warningThreshold`,{segment:`weekly`,setting:`errorAt`}],[`burn.eta.errorMinutes`,{segment:`burnrate`,setting:`errorWithin`}],[`burn.eta.warnMinutes`,{segment:`burnrate`,setting:`warnWithin`}]]);function ck(e){return`it became the "${e.setting}" setting of each "${e.segment}" placement — set it on the placement where a row places "${e.segment}" ({ seg: "${e.segment}", settings: { ${e.setting}: <value> } }), or redeclare segments.${e.segment}.settings.${e.setting} with the default every placement should start from`}function lk(e){let t=sk.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${ck(t)}`}function uk(e){let t=sk.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${ck(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function dk(e,t){let n=new Map;for(let e of Object.keys(t)){let t=Sp(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:W(e.source,[`presets`])})}function fk(e,t,n){let r=[[[`globals`],t.globals.style,`globals.endcaps`],[[`editGlobals`],t.editGlobals.style,`editGlobals.endcaps`],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style,`presets.${e}.globals.endcaps`]),...Object.entries(t.themeDefaults).map(([e,t])=>[[`themeDefaults`,e],t.style,`globals.endcaps`])];for(let[n,i,a]of r){if(i===void 0||zc(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:tl(i)?tk(r,i,a):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:W(e.source,[...n,`style`])})}t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:W(e.source,[`globals`,`preset`])}),dk(e,t.presets),Fk(e,t);let i=Mx(t);for(let t of i.names)t!==`settings`&&!t.startsWith(hk)||e.issues.push({path:`variables`,message:`variable "${t}" is named under "settings", which a segment's templates read as its placement's own settings (.settings.<name>) — rename it`,line:W(e.source,[`variables`,t])});let a=(t,n,r)=>{hD(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${XT}" ${hD(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r}),gD(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${XT}" under a \`when\` or inside a disclosure body — the menu is visible under every condition, so its placement may not be gated. Move it to an ungated position, or remove it to put the menu at its default position.`,line:r}),o(t)&&e.issues.push({path:n,message:`${n} sets "distribution" on a container inside a bar cell — everything inside a cell wears that cell's hue and shade, so it would place nothing. Set it on the row whose children are the cells (the horizontal container) or on the root, which places the rows.`,line:r});let i=new Map;for(let e of Eu(t)){if(e.kind!==`segment`)continue;let t=Su(e);i.set(t,[...i.get(t)??[],e])}for(let[t,a]of i){if(a.length<2)continue;let o=a[1].name,s=wu(o,new Set(i.keys()));e.issues.push({path:n,message:`${n} has ${a.length} placements with the id "${t}" — an id names one placement (its settings, its menus' open state, and edit mode all address it), so give each its own: { seg: "${o}", id: "${s}" }. A placement without an "id" takes its segment's name.`,line:r})}};function o(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>o(n,t||xu[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of Fd(n,r)){let n=W(e.source,o.split(`.`));if(a.when!==void 0&&(Dk(e,`${o}.when`,a.when,i,{line:n}),Ek(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(fD(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${XT}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${XT}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,a.name)||e.issues.push({path:o,message:`${r} entry "${a.name}" does not match any declared segment${jp(a.name)}`,line:n}),Ck(e,t,a,o,n)}}};n.root!==void 0&&s(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&s(t.root,`presets.${e}.root`);let c=new Map([[`root`,Nd(t.root)]]);for(let e of Pb(t.presets)){let{node:n,path:r}=Lb(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,W(e.source,t.split(`.`)));Pk(e,t,i,()=>!0)}const pk=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function mk(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=W(e.source,[`actions`,n,r]);if(!Pb(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Pb(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=(r,i)=>{Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})${jp(i)}`,line:c})},p=new Set(Cu(Lb(t,a).node)),m=(r,i)=>{!Ap.has(i)||p.has(i)||Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" names no placement${jp(i)}`,line:c})};`removeSegment`in o&&m(`removeSegment`,o.removeSegment),`insertSegment`in o&&f(`insertSegment`,o.insertSegment),(`insertSegment`in o||`insertSegmentFrom`in o)&&m(`anchor`,o.anchor)}const hk=`settings.`;function gk(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>hk+e)])}}function _k(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:W(e.source,[`segments`,t,`settings`,n])})},a=bk(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Vu(n,yk(n)))i(e,`the defaults do not stand together: ${t}`)}function vk(e){return bk(e).length>0||Vu(e,yk(e)).length>0}function yk(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function bk(e){let t=t=>Bu(xk(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Bu(xk(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${Sk(e,n).join(`, `)||`none`})`}];let i=[n];for(let e=r;e!==void 0;e=t(e)){if(e===n)return i.every(e=>n<=e)?[{setting:n,message:`atLeast closes a cycle (${[...i,n].join(` ≥ `)}) — every setting on it could only ever equal the rest`}]:[];if(i.includes(e))return[];i.push(e)}return[]})}function xk(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function Sk(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Bu(n)!==void 0).map(([e])=>e)}function Ck(e,t,n,r,i){let a=Object.prototype.hasOwnProperty.call(t.segments,n.name)?t.segments[n.name]:void 0;if(a===void 0)return;let o=zu(a),s=`${r}: placement "${Su(n)}" of segment "${n.name}"`;for(let[t,a]of Object.entries(n.settings??{})){let c=Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0,l=c===void 0?`sets "${t}", which segment "${n.name}" does not declare (it has: ${Object.keys(o).join(`, `)})`:Hu(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?Ac(a):``}, but it must be ${Ku(c)}`;l!==void 0&&e.issues.push({path:r,message:`${s} ${l}`,line:i})}let c=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,n.settings?.[e]??t.default]));if(!(!Object.entries(c).every(([e,t])=>Hu(o[e],t))||vk(o)))for(let{message:t}of Vu(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function wk(e,t,n,r,i){n.kind===`template`&&Dk(e,`${t}.template`,n.template,r,{segCtx:i}),Pu(n)&&n.cache&&`key`in n.cache&&Dk(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function Tk(e,t,n,r,i){if(Pu(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.names.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.names.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:W(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function Ek(e,t,n,r){try{Zb.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function Dk(e,t,n,r,i){for(let[a,o]of wx(n,r.helpers)){if(jx(a,r))continue;if(a.startsWith(hk)){let n=o===null?``:` through helper "${o}"`,r=a.slice(9),s=i?.segCtx===void 0||i.settings===void 0?`Template reads ".${a}"${n}, but only a segment's own templates have settings — call it from a segment that declares "${r}"`:`Template reads ".${a}"${n}, but segment "${i.segCtx}" has no setting "${r}" (it has: ${Object.keys(i.settings).join(`, `)}) — declare it under segments.${i.segCtx}.settings`;e.issues.push({path:t,message:s,line:i?.line??W(e.source,t.split(`.`))});continue}if(o!==null){Ok(e,o,`Template references unknown variable ".${a}"${uk(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&jx(n,r)?` (segment-local vars are namespaced — write ".${n}")`:uk(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??W(e.source,t.split(`.`))})}}function Ok(e,t,n){let r=`helpers.${t}`;e.issues.some(e=>e.path===r&&e.message===n)||e.issues.push({path:r,message:n,line:W(e.source,[`helpers`,t])})}function kk(e,t,n,r,i){let a=n.set,o=mf(tw[r].configKey),s=`${a} takes ${jw(o,i)}`;if(`min`in n&&(o===`bool`||!(`min`in o))){e.issues.push({path:`actions.${t}.min`,message:`actions.${t}: a stepper writes the integers from ${n.min} to ${n.max}, and ${a} is not an integer range; ${s}`,line:W(e.source,[`actions`,t,`min`])});return}let c=Mk(n,i);if(c===jk){e.issues.push({path:`actions.${t}.int`,message:`actions.${t}.int: an int cursor writes whatever integer the template binds, and a click outside the ${a} domain would change nothing; ${s}`,line:W(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!Aw(o,e.value,i));if(l.length!==0){if(a===tw.style.sessionKey&&(`from`in n&&n.from===`endcaps`||c.every(e=>tl(e.value)))){let r=tw.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:tk(`actions.${t}.to`,n.to,`set: "${r}", to`),line:W(e.source,[`actions`,t,`to`])}:{path:`actions.${t}.set`,message:`actions.${t}.set: "${a}" here writes only endcaps shapes, not styles — endcaps were renamed from "style" to "endcaps"; write set: "${r}"`,line:W(e.source,[`actions`,t,`set`])});return}for(let n of new Set(l.map(e=>e.field))){let r=l.filter(e=>e.field===n).map(e=>JSON.stringify(e.value)),i=r.length<=Ak?r.join(`, `):`${r.slice(0,Ak).join(`, `)} and ${r.length-Ak} more`,o=`actions.${t}.${n}`;e.issues.push({path:o,message:`${o}: ${i} ${r.length===1?`is`:`are`} outside the ${a} domain — a click would write it and nothing would change; ${s}`,line:W(e.source,[`actions`,t,n])})}}}const Ak=3,jk=Symbol(`any integer`);function Mk(e,t){return`to`in e?[{field:`to`,value:e.to}]:`cycle`in e?e.cycle.map(e=>({field:`cycle`,value:e})):`from`in e?Ew(e.from,t).members.map(e=>({field:`from`,value:e})):`min`in e?[{field:`min`,value:String(e.min)},{field:`max`,value:String(e.max)}]:jk}function Nk(e,t){return Object.entries(e).filter(([e])=>t(e))}function Pk(e,t,n,r){let i=WD(t),a=Tw(i);for(let[n,o]of Nk(t.actions,r)){let[t,r]=`from`in o?[`from`,o.from]:`insertSegmentFrom`in o?[`insertSegmentFrom`,o.insertSegmentFrom]:[null,null];if(t!==null&&typeof r==`string`&&!a.includes(r)){e.issues.push({path:`actions.${n}.${t}`,message:`actions.${n} ${t}: references ${Ow(r,i)}`,line:W(e.source,[`actions`,n,t])});continue}if(!(`set`in o))continue;iw.has(o.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${o.set}", which has no session pick — globals.${o.set} is set in the config file only, so a click would change nothing; write it with { persist: "${o.set}", … } instead`,line:W(e.source,[`actions`,n,`set`])});let s=cw.get(o.set);s!==void 0&&kk(e,n,o,s,i)}for(let[n,i]of Nk(t.actions,r))`do`in i&&i.do.forEach((r,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,r)?t.actions[r]:void 0,s=o===void 0?`references unknown action "${r}"`:`do`in o?`"${r}" is itself a do action — list its members here instead`:i.do.indexOf(r)===a?a>0&&dO(o)?`"${r}" takes its value from the template (from/int/insertSegmentFrom), so it can only be the first member — only the first is bound the region's display`:void 0:`"${r}" is listed twice — each member fires once per click`;s!==void 0&&e.issues.push({path:`actions.${n}.do`,message:`actions.${n} do: ${s}`,line:W(e.source,[`actions`,n,`do`])})});for(let[n,i]of Nk(t.actions,r)){let r=`persist`in i?i.persist:`reset`in i?i.reset:null;if(r===null)continue;let a=`persist`in i?`persist`:`reset`,o=Ww(r);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a config globals field (have: ${Pf().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, a "themeDefaults.<theme>.<shade|variation|style>" target, or a "presets.<name>.root" target`,line:W(e.source,[`actions`,n,a])});continue}let s=pk.filter(e=>e in i);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){mk(e,t,n,a,r,o.preset,i);continue}if(o.scope===`preset-globals`&&!Pb(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names preset "${o.preset}" which is not declared (have: ${Pb(t.presets).join(`, `)})`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`theme-default`&&!e.allowedPalettes.has(o.theme)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names theme "${o.theme}" which is not installed${Ac(o.theme)} (have: ${[...e.allowedPalettes].sort().join(`, `)})`,line:W(e.source,[`actions`,n,a])});continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${jp(o.segment)}`,line:W(e.source,[`actions`,n,a])});continue}`min`in i&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:W(e.source,[`actions`,n,a])})}}for(let[i,a]of Nk(t.variables,r)){wk(e,`variables.${i}`,a,n);let t=lk(i);t!==void 0&&e.issues.push({path:`variables.${i}`,message:t,line:W(e.source,[`variables`,i])})}for(let[i,a]of Nk(t.segments,r)){if(a.vars)for(let[t,r]of Object.entries(a.vars))wk(e,`segments.${i}.vars.${t}`,r,n,i);let r=zu(a);_k(e,i,r);let o=gk(n,r);for(let n of[`template`,`bg`,`fg`,`when`]){let s=a[n];if(typeof s==`string`){Dk(e,`segments.${i}.${n}`,s,o,{segCtx:i,settings:r});for(let{name:r,site:a,via:o}of Ox(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=a===`options`?` (in a picker, menu, carousel, swatch, swatches or themePreview)`:``;if(o!==null){Ok(e,o,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${i}.${n}`,message:`${n} references unknown action "${r}"${s}`,line:W(e.source,[`segments`,i,n])})}}}}for(let[i,a]of Nk(t.variables,r))Tk(e,`variables.${i}`,a,n);for(let[i,a]of Nk(t.segments,r))if(a.vars)for(let[t,r]of Object.entries(a.vars))Tk(e,`segments.${i}.vars.${t}`,r,n,i)}function Fk(e,t){let n=new Set;for(let r of Pb(t.presets)){let i=Rb(t,r),a=[{},t.editGlobals];for(let o of a){let a=o.charset??i.charset??`unicode`,s=o.default_separator??i.default_separator;if(a!==`ascii`||il(s??``))continue;let c=o.default_separator===void 0?Ib(t.presets,r).globals?.default_separator===void 0?[`globals`]:[`presets`,r,`globals`]:[`editGlobals`],l=[...c,`default_separator`].join(`.`);n.has(l)||(n.add(l),e.issues.push({path:l,message:`${l} ${JSON.stringify(s)} is not ASCII, but charset is "ascii" — under ascii a joiner draws only ASCII; write an ASCII separator or set charset: "unicode"`,line:W(e.source,[...c,`default_separator`])}))}}}function Ik(e,t,n=()=>!0){let{graph:r,nodeInfo:i}=Lk(t),a=new Map,o=[];for(let e of r.keys())a.set(e,0);for(let e of r.keys())if(!(!n(e)||a.get(e)!==0)&&s(e))return;function s(t){a.set(t,1),o.push(t);for(let c of r.get(t)??[]){if(!n(c))continue;let t=a.get(c);if(t===1){let t=o.indexOf(c),n=[...o.slice(t),c],r=n[0],a=i.get(r);return e.issues.push({path:a?.declarationPath??`variables.${r}`,message:`Dependency cycle: ${n.join(` → `)}`,line:W(e.source,a?.linePathParts??[`variables`,r])}),!0}if(t===0&&s(c))return!0}return a.set(t,2),o.pop(),!1}}function Lk(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(n,i)=>{for(let a of wx(i,e.helpers).keys()){if(t.has(a)){r.get(n).add(a);continue}let e=a.split(`.`)[0];e!==a&&t.has(e)&&r.get(n).add(e)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),Pu(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}const Rk=[`json5`,`json`];function zk(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function Bk(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?h.homedir()+e.slice(1):e}function Vk(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?Rk.map(t=>l.join(e,`.cc-candybar.${t}`)):[],...Rk.map(e=>l.join(r,`.cc-candybar.${e}`)),...Rk.map(e=>`${Hk()}.${e}`)])]}function Hk(){let e=process.env.XDG_CONFIG_HOME??l.join(h.homedir(),`.config`);return l.join(e,`cc-candybar`,`config`)}function Uk(e,t,n){let i=[],a=new Map;for(let o of Vk(e,t,n)){let e=zk(o);if(e===`absent`)continue;if(e!==`present`){i.push(e);continue}let t=l.join(r.realpathSync(l.dirname(o)),l.basename(o).replace(/\.(json5|json)$/,``));a.has(t)||a.set(t,o)}let o=[...a.values()].reverse();if(n===void 0)return{kind:`chain`,layers:o,home:Wk(o),unchecked:i};let[s]=i,c=n;return o.length>0?{kind:`chain`,layers:o,home:c,unchecked:i}:s===void 0?{kind:`missing`,path:n,home:c}:{kind:`unreadable`,...s,home:c}}function Wk(e){let t=Hk();return e.find(e=>Rk.some(n=>e===`${t}.${n}`))??`${t}.${Rk[0]}`}function Gk(e,t,n){let r=Uk(e,t,n),i=r.kind===`chain`?r.layers:[];return{path:r.home,above:i.filter(e=>e!==r.home),projectDir:e??null,cwd:t??null}}function Kk(e){return qk(e).join(`
165
- `)||null}function qk(e){switch(e.kind){case`chain`:return e.unchecked.map(e=>`Config location could not be checked: ${e.path} — ${e.error}`);case`missing`:return[`Config file not found: ${e.path} — rendering the bundled default until it appears`];case`unreadable`:return[`Config file could not be read: ${e.path} — ${e.error} — rendering the bundled default until it can be`]}}function Jk(e,t){let n=Vk(e,t).filter(e=>zk(e)===`present`),r=new Map;for(let e of n){let t=l.dirname(e),n=l.basename(e).replace(/\.(json5|json)$/,``),i=l.join(t,n);r.has(i)||r.set(i,[]),r.get(i).push(e)}let i=[...r.values()].filter(e=>e.length>1);return i.length===0?null:`config-extension collision: ${i.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function Yk(e){return`plugin ${e.path} was not loaded: ${e.reason}`}const Xk=new Set([`data`,`segments`,`helpers`,`actions`]),Zk=`plugin.json5`,Qk=/^[a-z][a-z0-9_]*$/;function $k(e){let t=l.basename(l.dirname(e));return Qk.test(t)?t:void 0}const eA=`plugins.`;function tA(e){return`${eA}${e}.data`}function nA(e){try{return{ok:!0,value:e()}}catch(e){return{ok:!1,reason:rA(e)}}}function rA(e){return e instanceof hu?e.issues.map(e=>e.path===``||e.message.includes(e.path)?e.message:`${e.path}: ${e.message}`).join(`; `):e instanceof Error?e.message:String(e)}function iA(e,t){return e.map(e=>l.resolve(l.dirname(t),Bk(e)))}function aA(e,t,n,i){let a=new Map;return e.reduce((e,n)=>{let o=$k(n),s=(t,r)=>{let i=new Map(e.rendering);return o!==void 0&&r!==e.config&&i.delete(o),{...e,config:r,rendering:i,dropped:[...e.dropped,{path:n,plugin:o,reason:t}]}};if(l.basename(n)!==`plugin.json5`){let t=`a plugin is a folder holding its ${Zk}, and the folder's name is the plugin's: move this file to <dir>/<name>/${Zk} and list that`;return s(t,o===void 0?e.config:cA(sA(e.config,o),o,{path:n,plugin:o,reason:t}))}if(o===void 0)return s(`its folder "${l.basename(l.dirname(n))}" is not a plugin name (one matching ${Qk}: it prefixes every name the plugin declares)`,e.config);let c=a.get(o);if(c!==void 0)return s(`plugin "${o}" is already listed, from ${c}`,e.config);a.set(o,n);let u=sA(e.config,o),d=nA(()=>{let a=r.readFileSync(n,`utf-8`),s=Rd(mA(n,o,{source:a,json:at.default.parse(a)},t),u);return i(s,o,u!==e.config),s});if(d.ok)return{...e,config:d.value,loaded:[...e.loaded,n],rendering:new Map([...e.rendering,[o,n]])};let f={path:n,plugin:o,reason:d.reason};return s(d.reason,cA(u,o,f))},{config:n.config,rendering:n.rendering,loaded:[],dropped:[]})}function oA(e){let t=`${eA}${e}.`;return e=>e.startsWith(t)}function sA(e,t){let n=oA(t),r=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n(e)));return[e.variables,e.segments,e.helpers,e.actions].some(e=>Object.keys(e).some(n))?{...e,variables:r(e.variables),segments:r(e.segments),helpers:r(e.helpers),actions:r(e.actions)}:e}function cA(e,t,n){return{...e,variables:{...e.variables,[tA(t)]:{kind:`dropped`,reason:Yk(n),definition:n.path}}}}function lA(e){return e.startsWith(`plugins.`)?e.slice(8).split(`.`)[0]:void 0}function uA(e,t){let n=new Set([...Object.keys(e.config.variables),...Object.keys(e.config.segments)].map(lA)),r=[...t,...e.dropped].filter(e=>e.plugin===void 0).map(e=>({definition:e.path,notice:Yk(e)}));return t=>{let i=lA(t);if(i===void 0)return[];let a=e.config.variables[tA(i)];return a?.kind===`dropped`?[{definition:a.definition,notice:a.reason}]:n.has(i)?[]:r}}function dA(e,t){let n=Pb(e.presets).flatMap(t=>[...Eu(Lb(e,t).node)]).flatMap(e=>e.kind===`segment`?[e]:[]),r=[...new Set([...n.map(e=>e.name),...Object.keys(e.segments)])].map(e=>({name:e,cause:t(e)})).filter(({cause:e})=>e.length>0),i=Object.fromEntries(r.map(({name:e,cause:t})=>[e,fA(e,t.map(e=>e.notice),n.filter(t=>t.name===e))])),a=t=>{let n=lA(t),r=n===void 0?void 0:e.variables[tA(n)];return r?.kind===`dropped`?{definition:r.definition,notice:r.reason}:void 0},o=Object.values(e.variables).some(e=>e.kind===`dropped`),s=o?Object.values(e.segments).flatMap(e=>[`template`,`bg`,`fg`,`when`].flatMap(t=>e[t]===void 0?[]:[e[t]])):[],c=o?Object.values(e.actions).flatMap(e=>`do`in e?[...e.do]:[]):[],l=(e,t)=>[...new Set(e)].flatMap(e=>{let n=e in t?void 0:a(e);return n===void 0?[]:[[e,n]]}),u=l([...s.flatMap(t=>Ox(t,e.helpers).map(e=>e.name)),...c],e.actions),d=l(s.flatMap(t=>[...Ax(t,e.helpers)]),e.helpers),f=new Set([...r.flatMap(({cause:e})=>e.map(e=>e.definition)),...[...u,...d].map(([,e])=>e.definition)]);return{config:{...e,segments:{...e.segments,...i},actions:{...e.actions,...Object.fromEntries(u.map(([e])=>[e,{copy:`{{ .${tA(lA(e)??``)} }}`}]))},helpers:{...e.helpers,...Object.fromEntries(d.map(([e,t])=>[e,`{{ fail ${JSON.stringify(t.notice)} }}`]))}},reached:f}}function fA(e,t,n){let r=`⚠ ${e}: ${t.join(`; `)}`,i=new Map;for(let e of n)for(let[t,n]of Object.entries(e.settings??{})){let e=i.get(t);i.set(t,e===void 0?[n]:[...e,n])}let a=Object.fromEntries([...i].map(([e,t])=>[e,pA(e,t)]));return{template:`{{ ${JSON.stringify(r)} }}`,bg:`error`,description:`stands in for a segment whose plugin did not load`,settings:a}}function pA(e,t){let[n]=t,r=t.filter(e=>typeof e==`number`);return typeof n==`boolean`?{label:e,domain:`bool`,default:n}:typeof n==`number`?{label:e,domain:{min:Math.min(...r),max:Math.max(...r),step:1},default:n}:{label:e,domain:[...new Set(t.map(String))],default:n}}function mA(e,t,{source:n,json:r},{checkout:i}){let a=[],o=()=>{throw new hu(e,a)};if(!ed(r))return a.push({path:``,message:`a plugin definition must be an object, got ${td(r)}`}),o();for(let e of Object.keys(r))Xk.has(e)||a.push({path:e,message:e===`plugin`?`a plugin definition does not name itself: its name is its folder's ("${t}") — remove "plugin"`:`a plugin definition may not declare "${e}". Expected only: ${[...Xk].join(`, `)}`});let s=_A(r.data,e,i,a);if(ed(r.segments)||a.push({path:`segments`,message:`"segments" must be an object naming the plugin's segments`}),a.length>0||s===void 0)return o();let c={source:n,issues:a,allowedPalettes:new Set(Nc()),groups:[]},l=Kf(c,`data`,{[tA(t)]:{kind:`file`,path:s,parse:{json:!0},cache:{watch_file:s},default:{}}});for(let[e,t]of Object.entries(r.segments))ed(t)&&`vars`in t&&a.push({path:`segments.${e}.vars`,message:`a plugin segment may not declare "vars": a plugin's only source is its data file`});let u={variables:l,segments:gA(t,Yp(c,r.segments,new Set)),helpers:gA(t,ok(c,r.helpers)),actions:gA(t,fO(c,r.actions))};for(let[e,t]of hA(u))try{Zb.parse(t)}catch(t){a.push({path:e,message:`Template parse error in ${e}: ${t.message}`})}return a.length>0&&o(),u}function*hA(e){for(let[t,n]of Object.entries(e.segments??{}))for(let e of[`template`,`bg`,`fg`,`when`]){let r=n[e];r!==void 0&&(yield[`segments.${t}.${e}`,r])}for(let[t,n]of Object.entries(e.helpers??{}))yield[`helpers.${t}`,`{{ define "${t}" }}${n}{{ end }}`];for(let[t,n]of Object.entries(e.actions??{}))`copy`in n&&(yield[`actions.${t}.copy`,n.copy]),`open`in n&&(yield[`actions.${t}.open`,n.open]),`preset`in n&&n.preset===`delete`&&(yield[`actions.${t}.name`,n.name])}function gA(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[`${eA}${e}.${t}`,n]))}function _A(e,t,n,r){if(typeof e==`string`&&e!==``)return l.resolve(l.dirname(t),Bk(e));if(ed(e)&&Object.keys(e).length===1&&typeof e.checkout==`string`&&e.checkout!==``){let t=e.checkout;if(l.isAbsolute(t)||t.startsWith(`~`)||l.normalize(t).split(l.sep)[0]===`..`){r.push({path:`data.checkout`,message:`data.checkout "${t}" must be a path inside the checkout, relative to its root (like ".lit/statusline.json"): no absolute path, "~" or ".."`});return}if(n===null){r.push({path:`data.checkout`,message:`data is read from the session's checkout, and this load has no session`});return}return l.resolve(n.root,t)}if(ed(e)&&`project`in e){r.push({path:`data.project`,message:`data: { project } is now data: { checkout }: the same path, relative to the root of the git checkout the session works in (a linked worktree is its own checkout)`});return}r.push({path:`data`,message:`"data" must be the path of the plugin's JSON data file relative to this definition, or { checkout: "<path>" } relative to the root of the session's checkout`})}function vA(e){let t=(process.env.XDG_DATA_DIRS||yA()).split(`:`).filter(e=>e!==``),n=process.env.XDG_DATA_HOME||l.join(h.homedir(),`.local`,`share`),r=[...[...t].reverse().map(e=>l.join(e,`cc-candybar`,`plugins`)),l.join(n,`cc-candybar`,`plugins`),...e===null?[]:[l.join(e,`.cc-candybar`,`plugins`)]];return r.filter((e,t)=>r.lastIndexOf(e)===t)}function yA(){let e=`/usr/local/share:/usr/share`;return process.platform===`darwin`?`${l.join(process.env.HOMEBREW_PREFIX||`/opt/homebrew`,`share`)}:${e}`:e}function bA(e){let t=vA(e),n=new Map,r=[],i=[];for(let e of t){let t=xA(e);if(`error`in t){r.push(t);continue}for(let r of t.folders)n.delete(r),n.set(r,l.join(e,r,Zk));for(let n of t.files)i.push({path:l.join(e,n),plugin:void 0,reason:`a plugin is a folder holding its ${Zk}: move this file to ${l.join(e,`<name>`,Zk)}`})}return{roots:t,definitions:[...n.values()],unchecked:r,strays:i}}function xA(e){try{let t=r.readdirSync(e,{withFileTypes:!0}).filter(e=>!e.name.startsWith(`.`)).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name)),n=t=>t.isDirectory()||SA(e,t);return{folders:t.filter(n).map(e=>e.name),files:t.filter(e=>!n(e)).map(e=>e.name)}}catch(t){return t.code===`ENOENT`?{folders:[],files:[]}:{path:e,error:t.message}}}function SA(e,t){if(!t.isSymbolicLink())return!1;try{return r.statSync(l.join(e,t.name)).isDirectory()}catch{return!0}}function CA(e,t,n,i){return e===null?{...MA,config:Rd(MA.raw,t)}:TA(e,r.readFileSync(e,`utf-8`),t,n,i)}const wA={projectDir:null,checkout:null,beneath:{dropped:[],rendering:new Map}};function TA(e,t,n,r,i){let a=FA(e,t,i,(t,a)=>{let o=aA(iA(t,e),r,{config:n,rendering:r.beneath.rendering},(t,n,r)=>AA(t,n,r,e,i)),s=uA(o,r.beneath.dropped);return{inherited:new Set([...Jp(o.config),...a.filter(e=>s(e).length>0)]),layer:{plugins:o,owning:s}}}),{plugins:o,owning:s}=a.layer,c=dA(Rd(a.raw,o.config),s);return{source:t,raw:a.raw,warnings:[...a.warnings,...o.dropped.map(Yk)],plugins:{loaded:o.loaded,dropped:o.dropped,reached:c.reached,rendering:o.rendering},config:c.config}}const EA=new WeakMap;function DA(e,t,n,r){let i=JSON.stringify([[...r??[]].sort(),e.map(e=>[e,OA(e)])]),a=EA.get(n)??new Map;EA.set(n,a);let o=JSON.stringify([t.projectDir,t.checkout?.root??null]),s=a.get(o);if(s?.key===i)return s.layer;let c=aA(e,t,{config:n,rendering:new Map},(e,t,n)=>AA(e,t,n,`<installed plugins>`,r));return a.set(o,{key:i,layer:c}),c}function OA(e){try{let t=r.statSync(e);return`${t.ino}:${t.size}:${t.mtimeMs}`}catch(e){return e.code??`unreadable`}}function kA(e,t,n,i,a=e=>r.readFileSync(e,`utf-8`),o){let s={projectDir:i.projectDir,checkout:i.cwd===null?null:VS(i.cwd)},c=bA(s.projectDir),l=DA(c.definitions,s,t,o),u={...l,dropped:[...l.dropped,...c.strays]};n.warned(c.unchecked.map(e=>`Plugin folder could not be listed: ${e.path} — ${e.error}`));let d=u.config,f=[];for(let t of e){n.entered(t);let e=f.at(-1)?.plugins,r=TA(t,a(t),f.at(-1)?.config??d,{...s,beneath:{dropped:[...u.dropped,...f.flatMap(e=>e.plugins.dropped)],rendering:e?.rendering??u.rendering}},o);n.warned(r.warnings),f.push({...r,path:t})}let p=new Set(f.flatMap(e=>[...e.plugins.reached])),m=e=>p.has(e.path),h=u.dropped.filter(m),g=u.dropped.filter(e=>!m(e));n.warned(h.map(Yk));let _={checkout:s.checkout,roots:c.roots,loaded:u.loaded,dropped:h,unreached:g,reached:p,rendering:f.at(-1)?.plugins.rendering??u.rendering},v=f.at(-1);if(v===void 0)return{layers:f,base:d,installed:_,config:NA(CA(null,d,wA),`<default>`,o)};try{return{layers:f,base:d,installed:_,config:NA(v,v.path,o)}}catch(e){for(let e of f.slice(0,-1))n.entered(e.path),NA(e,e.path,o);throw n.entered(v.path),e}}function AA(e,t,n,r,i){if(n){NA(jA(e),r,i);return}let a=oA(t),o=[],s={source:``,issues:o,allowedPalettes:new Set,groups:[]};if(Pk(s,e,Mx(e),a),Ik(s,e,a),o.length>0)throw new hu(r,o)}function jA(e){return{config:e,raw:{root:e.root,presets:e.presets},source:``}}const MA={raw:{},source:``,warnings:[],plugins:{loaded:[],dropped:[],reached:new Set,rendering:new Map}};function NA({config:e,raw:t,source:n},r=`<config>`,i=new Set(Nc())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(fk(o,e,t),Ik(o,e),a.length>0)throw new hu(r,a);let s=Xb(e,a);if(a.length>0)throw new hu(r,a);return cO(OD(s))}function PA(e,t,n=new Set(Nc()),r=IA){return FA(e,t,n,()=>({inherited:r,layer:null})).raw}function FA(e,t,n,r){let i=LA(e,t),a=vu(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(Nc()),groups:[]};if(!ed(i))throw new hu(e,[{path:``,message:`Config root must be an object, got ${td(i)}`}],o);let{inherited:l,layer:u}=r(i.plugins===void 0?[]:BA({...c,issues:[]},i.plugins)??[],ed(i.segments)?Object.keys(i.segments):[]),d=RA(c,i,l);if(s.length>0)throw new hu(e,s,o);return{raw:d,warnings:o,layer:u}}const IA=new Set;function LA(e,t){try{return at.default.parse(t)}catch(t){let n=t;throw new hu(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function RA(e,t,n){for(let n of Object.keys(t))zA.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...zA].join(`, `)}`,line:W(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=Of(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=Kf(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=Yp(e,t.segments,n)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
176
+ `,mD=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,hD={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function gD(e){let t=e[hD.socket]??``,n=e[hD.pane]??``;if(t===``||n===``)return null;let r=e[hD.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function _D(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const vD=hD.truecolor,yD={name:`tmuxTruecolor`,label:`tmux truecolor`,probe:({tmux:e,claudeSettings:t})=>{switch(e.kind){case`unreported`:return{ok:!1,reason:"the client reported no tmux facts — re-run `cc-candybar install` to stage a current client"};case`outside`:return{ok:!0};case`inside`:{if(e.termfeatures.kind===`failed`)return{ok:!1,reason:`tmux could not be asked: ${e.termfeatures.reason}`};if(!e.termfeatures.value.includes(`RGB`)||e.hint.truecolor!==null)return{ok:!0};let n=t.env[vD];return typeof n==`string`&&n!==``?{ok:!1,reason:`${vD} is set in ${t.path} — restart Claude Code to apply`}:{ok:!1,reason:`Claude Code renders the bar in 256 colours inside tmux`,fix:{kind:`claude-settings`,path:[`env`,vD],value:`1`}}}}}},bD={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},xD={name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
177
+ `).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return _D([...e.warnings,...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${bD[e]}`)])}}},SD="re-run `cc-candybar install`";function CD(e){if(e.kind===`failed`)return[`Launch Services could not be asked which app opens cc-candybar:// — ${e.reason}`];if(e.value===null)return[`no app is registered for cc-candybar:// — ${SD}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${SD}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${SD}`)}const wD=[xD,{name:`urlHandler`,label:`URL handler`,probe:({urlHandler:e})=>{switch(e.kind){case`unsupported`:return{ok:!0};case`unprobed`:return{ok:!1,reason:e.reason};case`arrived`:return e.handler===e.bar?{ok:!0}:{ok:!1,reason:e.handler===null?`the URL handler does not report its version, so it is older than the bar (${e.bar}) — ${SD}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${SD}`};case`lost`:return _D([...CD(e.opener),e.unopened===null?`a cc-candybar:// link was opened and did not arrive at the daemon`:`a cc-candybar:// link could not be opened — ${e.unopened}`])}}},yD,{name:`effectRefresh`,label:`effect refresh`,probe:({effect:e,placementEffects:t,transitions:n,claudeSettings:r})=>{let i=[...e.kind===`decided`?e.value===`none`?[]:[`the bar wears the ${e.name} effect`]:[`a globals.effect rule can give the bar an effect`],...t.map(({placement:e,effect:t})=>`${e} wears the ${t} effect`),...n?[`placements fade in and dissolve out as they come and go`]:[]];if(i.length===0)return{ok:!0};let a=i.join(` and `),{path:o,statusLine:s}=r;switch(s.kind){case`absent`:return{ok:!1,reason:`${a}, and ${o} sets no statusLine — set "refreshInterval": 1 beside the statusLine command that runs the bar`};case`not-an-object`:return{ok:!1,reason:`${a}, and ${o} sets statusLine to ${JSON.stringify(s.value)}, not a statusLine object — re-run \`cc-candybar install\` to write one`};case`present`:break}let c=s.refreshInterval;return c===1?{ok:!0}:{ok:!1,reason:c===void 0?`${a}, but Claude Code redraws it only on events`:typeof c==`number`&&c>1?`${a}, but Claude Code redraws it only every ${c} s`:`${a}, but statusLine.refreshInterval is ${JSON.stringify(c)}, not a number of seconds Claude Code accepts (its minimum is 1)`,fix:{kind:`claude-settings`,path:[`statusLine`,`refreshInterval`],value:1}}}}];function TD(e){return wD.map(t=>({check:t,verdict:t.probe(e)}))}function ED(e){return wD.find(t=>t.name===e)}const DD=`${Z}doctor.`;function OD(e){let t=`${DD}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function kD(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function AD(e){return e.flatMap(({check:e,verdict:t})=>{let n=OD(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:Gp}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:kD(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?Gp:Wp}]})}const jD={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function MD(e){let t=t=>`${e}${t}`;return{template:`{{ action "${t(`copySession`)}" "⎘ id" }}{{ if ne .resume_command "" }} {{ action "${t(`copyResume`)}" "⎘ resume" }}{{ end }} {{ action "${t(`openProject`)}" "↗ proj" }} {{ action "${t(`openTranscript`)}" "↗ log" }}{{ if ne .git.repoUrl "" }} {{ link .git.repoUrl "↗ repo" }}{{ end }}{{ if ne .config_path "" }} {{ action "${t(`openConfig`)}" "↗ config" }}{{ end }}`,actions:Object.fromEntries(Object.entries(jD).map(([t,n])=>[`${e}${t}`,n]))}}const ND=`armed`,PD=`disarmed`,FD=`.armed`,ID=e=>e.endsWith(FD);function LD(e,t,n){let r=`${e}${FD}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${ND}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:ND},[a]:{set:r,to:PD},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:PD}},disarm:a}}const RD=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function zD(e){return typeof e==`string`&&RD.test(e)?{kind:`line`,line:e}:{kind:`refused`,reason:`a slash command is "/" then its name, e.g. "/compact" or "/model opus", on one line with no control characters, got ${JSON.stringify(e)}`}}function BD(e){let t=zD(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const VD=[`/compact`,`/model`],HD=`/clear`;function UD(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=LD(`${e}clear`,{arm:HD,confirm:`${HD} ✓ confirm`},[n]);return{template:VD.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${Iw} }}`,actions:{...Object.fromEntries(VD.map(e=>[t(e),{slash:BD(e)}])),...r.actions,[n]:{slash:BD(HD)}},variables:r.variables,disarm:r.disarm}}const WD=Array.from({length:10},(e,t)=>(t+1)*1e5),GD=WD[0],KD=WD[WD.length-1];function qD(e){let t;try{t=ai(e)}catch(e){return B(e instanceof Error?e.message:String(e))}let n=t.autoCompactWindow;return n===void 0?R(`auto`):typeof n==`number`&&Number.isInteger(n)&&n>=GD&&n<=KD?R(n):B(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${GD}–${KD} tokens)`)}function JD(e,t){let n=Math.min(t??KD,KD),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:WD.filter(e=>e<r).at(-1)??0,higher:WD.find(e=>e>r&&e<=n)??0}}function YD(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${Iw} }}{{ if gt .autocompact.lower 0 }} {{ action (printf "${e}%d" .autocompact.lower) "−" }}{{ end }}{{ if gt .autocompact.higher 0 }} {{ action (printf "${e}%d" .autocompact.higher) "+" }}{{ end }}{{ if gt .autocompact.window 0 }} {{ action "${e}auto" "↺" }}{{ end }}{{ end }}{{ end }}`,bg:`{{ if ne .autocompact.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .autocompact.window 0) (ne .autocompact.error "") }}`,actions:{[`${e}auto`]:{slash:BD(`/autocompact auto`)},...Object.fromEntries(WD.map(t=>[`${e}${t}`,{slash:BD(`/autocompact ${t}`)}]))}}}const XD=e=>`{{ if ge ${e} 1000000 }}{{ printf "%.1f" (divf ${e} 1000000) }}M{{ else if ge ${e} 1000 }}{{ printf "%.1f" (divf ${e} 1000) }}K{{ else }}{{ ${e} }}{{ end }}`,ZD=`${Z}menu`,QD=`open`,$D=`${Z}edit`,eO=`${Z}toolbar`,tO=MD(Z),nO=`${Z}commands`,rO=UD(`${nO}.`),iO=`${Z}autocompact`,aO=YD(`${iO}.`,XD),oO=e=>({kind:`segment`,name:e}),sO=`${Z}tab`,cO=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],lO=e=>`${sO}.${e}`,uO=e=>`${lO(e)}.toggle`,dO=e=>({variable:sO,key:sO,member:e}),fO=`${Z}save`,pO=`${Z}preset.save`,mO=`${Z}preset.delete`,hO=e=>`${Z}${e}`,gO=e=>`${Z}apply.${e}`,_O=e=>`${Z}reset.${e}`,vO=`${Z}themeDefault.save`,yO=`${Z}themeDefault.differs`,bO=`${Z}themeDefault.theme`,xO={when:`{{ .${yO} }}`,template:`{{ action "${vO}" (printf "⤓ default for %s" .${bO}) }} {{ swatch "${gO(`theme`)}" .${bO} }}`},SO=`${Z}resetAll`,CO=`${ZD}.toggle`,wO={variable:ZD,key:ZD,member:QD},TO=`${Z}undo`,EO=`${Z}back`,DO=`${EO}.step`,OO=`${Z}navigation.back`,kO=EO,AO={template:`{{ if gt .${OO} 0 }}{{ action "${EO}" "◁" }}{{ else }}{{ fg (${mD}) "◁" }}{{ end }}`},jO=`${Z}redo`,MO=`${Z}doctor`,NO=`${MO}.run`,PO=e=>`${MO}.fix.${e}`,FO=e=>`${MO}.${e}`,IO=eT(`${Z}pickers`),LO=`${Z}gear`,RO=`gear`,zO=`${LO}.toggle`,BO={variable:IO,key:IO,member:RO},VO=eT(`${Z}gearPickers`),HO=[{template:`{{ themePreview }}`}],UO={template:`{{ layoutPreview }}`},WO={preset:[UO,{when:`{{ not .preset.bundled }}`,template:`{{ action "${mO}" (printf "🚮 delete %s" .${fa.preset.effectiveVar}) }}`}],style:HO,variation:[UO],shade:[UO]},GO=(e,t)=>`${Z}list.${e}.${t}`,KO=e=>`${Z}resettable.${e}`,qO=e=>e.length===0?`false`:`(or ${e.map(e=>`.${KO(e)}`).join(` `)})`,JO={preset:`door`,theme:`look`,style:`gear`,effect:`look`,variation:`gear`,shade:`gear`,endcaps:`look`,transitions:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},YO=e=>e===`gear`?JO.theme:e,XO=Object.keys(fa).map(e=>{let t=fa[e],n=iE(t.configKey),r=fT({label:t.label,domain:n},t.sessionKey,t.effectiveVar,gO(e),JO[e]===`gear`?VO:IO);return{...t,name:e,control:r,beneath:WO[e]??[]}}),ZO=e=>XO.filter(t=>JO[t.name]===e),QO=e=>XO.filter(t=>YO(JO[t.name])===e),$O={theme:[Jn(LO,BO,{kind:`container`,direction:`horizontal`,children:ZO(`gear`).map(fk)},`drop`)]},ek=e=>ZO(e).flatMap(e=>[fk(e),...$O[e.name]??[]]);new Set(XO.flatMap(e=>[e.sessionKey,e.configKey]));const tk=LD(SO,{arm:`⟲`,confirm:`⟲ reset all?`},XO.map(e=>_O(e.name))),nk=[`unsaved`,`history.undo`,`history.redo`],rk=e=>`${Z}${e}`,ik=rk(`unsaved`),ak=(e,t)=>({body:t,shown:`(gt .${rk(e)} 0)`}),ok=[ak(`unsaved`,`{{ action "${fO}" (printf "💾 save %d" .${ik}) }}`),ak(`history.undo`,`{{ action "${TO}" "↶" }}`),ak(`history.redo`,`{{ action "${jO}" "↷" }}`),{body:tk.template,shown:`(or ${qO(XO.map(e=>e.name))} ${tk.armed})`}],sk={when:`{{ or ${ok.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+ok.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},ck=[{step:tk,place:`door`},{step:rO,place:`session`}],lk=e=>e.map(e=>e.step.disarm),uk=lk(ck),dk=lk(ck.filter(e=>e.place!==`door`));function fk(e){let t=hO(e.name);return e.control.kind===`inline`?oO(t):Jn(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[...e.control.list.rows,...e.beneath].map((t,n)=>oO(GO(e.name,n)))},`drop`)}function pk(e){return e===ZD}function mk(e){let t=oO(ZD);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[mk(n),...r]}:{kind:`container`,direction:`vertical`,children:[t,e]}}return e.kind===`container`&&e.when===void 0?{...e,children:[t,...e.children]}:{kind:`container`,direction:`horizontal`,children:[t,e]}}function hk(e){return gk(e)>0?e:mk(e)}function gk(e){let t=0;for(let n of ch(e))n.kind===`segment`&&pk(n.name)&&(t+=1);return t}function _k(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&pk(e.name)||e.opens!==void 0&&_k(e.opens.body,!0):e.children.some(e=>_k(e,n))}const vk={session:{direction:`vertical`,content:[oO(eO),{kind:`container`,direction:`horizontal`,children:[oO(nO),oO(iO)]}],after:[]},look:{direction:`horizontal`,content:[],after:[oO(vO)]},layout:{direction:`horizontal`,content:[oO(pO),oO($D)],after:[]},config:{direction:`horizontal`,content:[],after:[]},tools:{direction:`vertical`,content:[oO(MO),...wD.map(e=>oO(FO(e.name)))],after:[]}},yk=e=>({kind:`container`,direction:vk[e].direction,children:[...vk[e].content,...ek(e),...vk[e].after]});function bk(e){return e.kind===`segment`?pk(e.name)?Jn(e.name,wO,Sk,`above`):e:wk(e)}function xk(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[oO(kO),...ek(`door`),oO(fO)]},{kind:`container`,direction:`horizontal`,children:cO.map(({member:e})=>Jn(lO(e),dO(e),yk(e),`drop`))}]}}const Sk=xk();function Ck(e){let t=new Map;for(let e of ch(Sk))e.kind===`segment`&&e.opens!==void 0&&t.set(e.opens.ref.key,e.opens.ref.variable);return[...t].map(([t,n])=>{let r=e.variables[n];if(r?.kind!==`state`||r.default===void 0)throw Error(`settings menu: the door folds "${t}", but "${n}" is not a state variable the menu declares with a default`);let i=`${ZD}.fold.${zw(t)}`;return e.actions[i]={set:t,to:r.default},i})}function wk(e){return{...e,children:e.children.map(e=>bk(e))}}function Tk(e){let t={variables:{[ZD]:er(ZD,Wn)},actions:{[CO]:tr(ZD,QD),[NO]:{doctor:`run`},[$D]:{do:[...GE]},...tO.actions,...rO.actions,...aO.actions,[fO]:{save:!0},[TO]:{undo:!0},[DO]:{back:!0},[EO]:{do:[DO,...uk]},[jO]:{redo:!0},[pO]:{preset:`save`},[vO]:{themeDefault:`save`},[mO]:{preset:`delete`,name:`{{ .${fa.preset.effectiveVar} }}`}},segments:{[ZD]:{template:`{{ $door := ${Qn(ZD,$n(e),$n(`✖`))} }}{{ if ${Xn(wO)} }}{{ fg (keptOn (color "error") (bgOf)) $door }}{{ else }}{{ $door }}{{ end }}`},[eO]:{template:tO.template},[nO]:{template:rO.template,when:rO.when},[iO]:{template:aO.template,bg:aO.bg,when:aO.when},[kO]:AO,[fO]:sk,[vO]:xO,[pO]:{template:`{{ action "${pO}" "+ preset" }}`},[MO]:{template:`{{ action "${NO}" "🩺 doctor" }}`},[$D]:{template:`{{ action "${$D}" "✎ arrange" "✎ done" }}`}}};t.variables[yO]={kind:`input`,path:`themeDefault.differs`,type:`boolean`,default:!1},t.variables[bO]={kind:`input`,path:`themeDefault.theme`,type:`string`,default:``},t.variables[OO]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of nk)t.variables[rk(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[sO]=er(sO,`session`);for(let{member:e,label:n}of cO){t.actions[uO(e)]=tr(sO,e),t.actions[lO(e)]={do:[uO(e),...dk]};let r=qO(QO(e).map(e=>e.name)),i=`(ternary ${$n(` •`)} "" ${r})`,a=e=>`(print ${$n(e)} ${i})`;t.segments[lO(e)]={template:`{{ ${Qn(lO(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,rO.variables,tk.variables),Dk(t),Ek(t),t.actions[ZD]={do:[CO,...uk,...Ck(t)]},t}function Ek(e){for(let t of wD){let n=OD(t.name),r=PO(t.name);for(let t of Object.values(n))e.variables[t]={kind:`state`,key:t,default:``};e.actions[r]={doctor:`fix`,check:t.name},e.segments[FO(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${Wp}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function Dk(e){for(let t of XO){Object.assign(e.actions,t.control.actions);let n=_O(t.name);e.actions[n]={reset:t.configKey},e.variables[KO(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${KO(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[hO(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&[...t.control.list.rows.map(e=>({template:e})),...t.beneath].forEach((n,r)=>{e.segments[GO(t.name,r)]=n})}Object.assign(e.actions,tk.actions),e.actions[zO]=tr(IO,RO),e.segments[LO]={template:`{{ action "${zO}" "⚙" }}`}}function Ok(e){let{variables:t,actions:n}=eD();Object.assign(e.variables,t),Object.assign(e.actions,n)}function kk(e){let t=Tk(e.globals.menuGlyph??`🍫`);Ok(t);let n={...e.presets},r=[];for(let t of Wh(e.presets)){let{node:i}=qh(e,t),a=bk(hk(i));r.push(a),n[t]={...Kh(e.presets,t),root:a}}let i=Rw(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const Ak=`${qw}live`,jk=[`☐ live`,`☑ live`],Mk=`${qw}done`,Nk=`${qw}cancel`,Pk=`${qw}rewind`,Fk=`${qw}changes`,Ik=`(gt .${Fk} 0)`,Lk=`(or ${Ik} (gt .${ik} 0))`,Rk={variable:Ak,key:Ak,member:`open`};function zk(e){return`${qw}configuring.p${e}`}function Bk(e){return`and ${Xn(YE)} (not ${Xn(Rk)}) (ne .${zk(e)} "true")`}function Vk(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${HE} "${qn(e)}")`).join(` `)} false }}`}}function Hk(e,t,n){return`{{ if ${Bk(e)} }}${t}{{ else }}${n}{{ end }}`}const Uk=`{{ and ${Xn(YE)} .preset.customized }}`,Wk=Yw;function Gk(e){return new Map([...Qh(e),...qk(e)])}const Kk=`${qw}addable`;function qk(e){return new Map([[Kk,{members:Object.keys(e.segments).filter(e=>!Wk(e)),library:{groups:RE.map(e=>({id:e,label:zE[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function Jk(e,t,n){return n.segments[e]={template:t,when:XE,bg:iD},{kind:`segment`,name:e}}function Yk(e,t,n){let r=`${qw}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${Mf}`}) (action "${r}" "✖") }}`}function Xk(e){return`{{ if ${Xn(YE)} }}${e}{{ end }}`}function Zk(e,t){return e.reduce((e,t)=>`{{ if and ${Xn(YE)} ${Xn(t)} }}true{{ else }}${e}{{ end }}`,t)}function Qk(e){return e.flatMap(e=>[...ch(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function $k(e,t,n){return`${qE}${e}.${t}.${n}`}function eA(e,t,n,r){let i=ih(n),a=`${qw}${e.presetIdent}`,o=JE(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=eT(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:Wn},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:HE,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=$k(e.presetIdent,i,r),l=`${qE}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:Th(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=fT(uT(o),s,l,d,c);if(Object.assign(e.artifacts.actions,f.actions),Object.assign(e.artifacts.variables,f.variables),f.kind===`inline`)return e.artifacts.segments[d]={template:f.template},{kind:`segment`,name:d};e.artifacts.segments[d]={template:f.template};let p=f.list.rows.map((t,n)=>{let r=`${d}.list.${n}`;return e.artifacts.segments[r]={template:t},{kind:`segment`,name:r}});return Jn(d,f.list.ref,{kind:`container`,direction:`vertical`,children:p},`drop`)});return{term:`{{ action "${s}" "${uD}" }}`,ref:{variable:HE,key:HE,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const tA=`${qw}label:`;function nA(e){if(e.startsWith(tA)){let t=e.slice(tA.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function rA(e,t,n,r){let{artifacts:i}=n,a=ih(e),o=`${tA}${a}:${e.name}`;i.segments[o]={template:`{{ "${qn(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=Object.fromEntries(bh.flatMap(t=>{let n=e.settings?.[t];return n===void 0?[]:[[t,n]]}));return{...Jn(o,r.ref,r.body,`drop`,Zk([r.ref],`{{ ${Bk(n.presetIdent)} }}`)),...Object.keys(s).length>0&&{settings:s},drafts:Object.fromEntries(bh.map(e=>[e,r.drafts[e]]))}}function iA(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${qw}${i}.insert.${t}`,s=`${qw}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:Kk,anchor:n,relation:r};let c=Qw(o),l=$w(s,o,void 0),u=nT(l),d=tT(l,c);return a.variables[l]=er(l,Wn),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=tr(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Xn({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${Mf}`}) $m }}{{ end }}`}}function aA(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!Wk(e.name)),i=e=>aA(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=sh(o,i);if(Wk(o.name)){n.push(s);continue}let c=ih(o),l=a===r?[iA(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=iA(t,u,c,`after`),f=Yk(t,u,c),p=t.segments[o.name],m=eA(t,u,o,xh(p)),h=Xk(f),g=Xk(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>Jk(e.host,e.template,t.artifacts)),{...rA(o,p,t,m),lead:h,trail:g},{...s,when:Hk(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},Jk(d.host,d.template,t.artifacts)]};n.push(e.direction===`vertical`?{kind:`container`,direction:`horizontal`,children:[_]}:_)}return{...e,children:n,...e.when!==void 0&&{when:Zk(Qk(n),Hk(t.presetIdent,`true`,e.when))}}}function oA(e,t,n,r,i,a,o){let s=`${qw}${t}.resetLayout`,c=`${qw}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:Uk},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},sA(e,o)]}}function sA(e,t){if(e.kind===`segment`)return{kind:`container`,direction:`horizontal`,children:[e,t]};let n=e.children.at(-1);return e.direction===`vertical`&&n!==void 0&&(n.kind===`segment`||n.when===void 0)?{...e,children:[...e.children.slice(0,-1),sA(n,t)]}:{...e,children:[...e.children,t]}}function cA(e,t,n,r,i,a){let{node:o}=qh(e,t),s={presetIdent:zw(t),rootKey:jE(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=aA(o,s);return n.variables[zk(s.presetIdent)]=Vk(s.configured),oA(c,s.presetIdent,s.rootKey,n,r,i,a)}function lA(e){let t={variables:{},actions:{},segments:{}},n=nD(`${qw}help`,fD,[YE],t);t.variables[Ak]=er(Ak,Wn),t.actions[Ak]=tr(Ak,Rk.member),t.segments[Ak]={template:Zn(Ak,...jk),when:XE};let r={kind:`segment`,name:Ak},i=n;t.variables[Fk]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[Mk]={do:[fO,...GE]},t.segments[Mk]={template:`{{ if ${Lk} }}{{ action "${Mk}" "✓ save" }}{{ else }}{{ action "${Mk}" "✓ done" }}{{ end }}`,when:XE},t.actions[Pk]={rewind:!0},t.actions[Nk]={do:[Pk,...GE]},t.segments[Nk]={template:`{{ action "${Nk}" "↩ cancel" }}`,when:`{{ and ${Xn(YE)} ${Ik} }}`};let a=[{kind:`segment`,name:Mk},{kind:`segment`,name:Nk}],o={...e.presets},s=[];for(let n of Wh(e.presets)){let c=cA(e,n,t,a,r,i);s.push(c),o[n]={...Kh(e.presets,n),root:c}}let c=Rw(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}function uA(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function dA(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function fA(e,t,n){let r=oh(e,new Set(n.map(ah).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const pA=/^-?\d+$/;function mA(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function hA(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!pA.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function gA(e,t,n){return r=>r?pA.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function _A(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!pA.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i}}return{kind:`int`}}function vA(e){return e===`config`?`set-config`:`set-state`}function yA(e,t,n){return t.kind===`int`?hA(`menu page "${e}"`):t.kind===`range`?gA(t.min,t.max,`${n} stepper "${e}"`):mA(t.allowed,`${n} "${e}"`,vA(n))}function bA(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:_A(e,n,t)}))}function xA(e,t,n,r){let i=new Map(Object.entries(e)),a=new Map,o=new Set(t.map(e=>e.key));for(let{key:e,spec:t}of n)if(o.has(e)&&t.kind!==`allow-list`)throw Error(`${r} gate: key "${e}" is written by the daemon's own links as one of a list of values, and cannot be declared as ${t.kind===`int`?`a paged cursor (int)`:`a bounded value (range)`}. Use a distinct key.`);let s=[...t.map(({key:e,allowed:t})=>({key:e,spec:{kind:`allow-list`,allowed:t}})),...n];for(let{key:t,spec:n}of bA(s,r)){if(!t)throw Error(`${r} gate: key is required`);if(t.includes(`/`))throw Error(`${r} gate: key "${t}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);if(Object.hasOwn(e,t))throw Error(`${r} gate: key "${t}" is a built-in ${r} key and cannot be re-claimed (built-in keys: ${Object.keys(e).join(`, `)})`);i.set(t,yA(t,n,r)),n.kind===`range`&&a.set(t,{min:n.min,max:n.max})}return{validate(e,t){let n=i.get(e);return n?n(t):{ok:!1,reason:`unknown ${r} key "${e}" (have: ${[...i.keys()].join(`, `)})`}},listKeys:()=>[...i.keys()],rangeParamsFor:e=>a.get(e)??null}}function SA(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};xA(e,[o],[],t),r.push(o),i++;let s=!0;return()=>{s&&(s=!1,r.splice(r.indexOf(o),1),i++)}},gateFor(o){let s=a.get(o);if(s?.epoch===i)return s.gate;let c=xA(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const CA=SA({},`config`,AA);function wA(e,t){return CA.register(e,t)}function TA(e){return CA.gateFor(e)}function EA(e,t){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:eg(e.from,t).members}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[uA({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[uA({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:eg(e.insertSegmentFrom,t).members.map(t=>uA({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function DA(e,t){let n=EE(e).get(t);return n===void 0?null:String(n)}function OA(e){let t=new Set;for(let n of Object.values(e.actions)){`reset`in n&&t.add(n.reset);let e=`persist`in n?FE(n.persist):null;e?.scope===`preset-root`&&t.add(jE(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function kA(e){let t=Gk(e);return[...OA(e),...Object.values(e.actions).flatMap(e=>EA(e,t))]}function AA(e){return bA(kA(e),`config`)}function jA(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:PA(t.segments,MA(t.segments,e.segments??{})),root:Bh(e.root??Nh,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:PA(t.presets,NA(t.presets,e.presets??{})),themeDefaults:PA(t.themeDefaults,e.themeDefaults??{}),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function MA(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.settings===void 0?n:{...n,settings:{...e[t]?.settings,...n.settings}}]))}function NA(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[t,n.globals===void 0?n:{...n,globals:{...e[t]?.globals,...n.globals}}]))}function PA(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}function FA(e,t,n,r){return n.cache===void 0?(e.issues.push({path:`${t}.cache`,message:`${r} variables must declare a cache policy (one of: ${hh.join(`, `)})`,line:X(e.source,t.split(`.`))}),null):BA(e,`${t}.cache`,n.cache)}function IA(e,t,n){if(n.cache!==void 0)return BA(e,`${t}.cache`,n.cache)??void 0}function LA(e){return{required:!0,json:VA(),parse:(t,n,r,i)=>FA(t,n,i,e)??void 0}}function RA(){return{required:!1,json:VA(),parse:(e,t,n,r)=>IA(e,t,r)}}const zA={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&UA(n)?{ttl:n}:ET(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${Q(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return ET(e,t,`cache.watch_file must be a path string, got ${Q(n)}`);let r=RT(`cache.watch_file`,n);return r===null?{watch_file:n}:ET(e,t,r)}},depends_on:{json:{type:`array`,items:{type:`string`}},parse:(e,t,n)=>Array.isArray(n)&&n.every(e=>typeof e==`string`)?{depends_on:n}:ET(e,t,`cache.depends_on must be an array of variable-name strings, got ${Q(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:ET(e,t,`cache.key must be a non-empty template string, got ${Q(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:ET(e,t,`cache.never must be the literal boolean true, got ${Q(n)}`)}}};function BA(e,t,n){return DT(e,zA,t,n)}function VA(){return GT(zA)}const HA=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function UA(e){return HA.test(e)}function WA(e,t,n){if(n===void 0)return{};if(!yT(n))return e.issues.push({path:t,message:`${t} must be an object, got ${bT(n)}`,line:X(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=OT(e,mj,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function GA(){return{required:!0,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.value;if(typeof i!=`string`&&typeof i!=`number`&&typeof i!=`boolean`){e.issues.push({path:`${t}.value`,message:`literal value must be string|number|boolean, got ${bT(i)}`,line:X(e.source,t.split(`.`))});return}return i}}}function KA(){return{required:!0,json:{enum:[..._h]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!_h.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${_h.join(`, `)}, got ${JSON.stringify(i)}`,line:X(e.source,[...t.split(`.`),`field`])});return}return i}}}function qA(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return hT(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const JA={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:ET(e,t,`parse.text must be the literal boolean true, got ${Q(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?YA(e,t,n):ET(e,t,`parse.regex must be a pattern string, got ${Q(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:ET(e,t,`parse.json must be the literal boolean true, got ${Q(n)}`)}}};function YA(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return ET(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:ET(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function XA(){return{required:!1,json:GT(JA),parse:(e,t,n,r)=>(r.regex!==void 0&&e.issues.push({path:`${t}.regex`,message:`${t}.regex was retired; the regex is the parse step's regex arm now: parse: { regex: ${JSON.stringify(r.regex)} }`,line:X(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:DT(e,JA,`${t}.parse`,r.parse)??void 0)}}function ZA(){return{required:!1,json:{type:[`string`,`number`,`boolean`,`array`,`object`],description:`The value published when the source fails: a string under the text/regex parse arms, any non-null JSON value under the json arm`},parse:(e,t,n,r)=>yT(r.parse)&&`json`in r.parse?QA(e,t,r.default):gT(e,t,r,`default`)}}function QA(e,t,n){if(n!==void 0)return $A(n)?n:ET(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${Q(n)}`)??void 0}function $A(e){return e!==null&&ej(e)}function ej(e){if(e===null)return!0;switch(typeof e){case`string`:case`boolean`:return!0;case`number`:return Number.isFinite(e);case`object`:{if(Array.isArray(e))return e.every(ej);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(ej)}default:return!1}}const tj={value:GA(),default:MT()},nj={path:LT(),type:BT([`string`,`number`,`boolean`]),default:qA()},rj={name:LT(),default:MT()},ij={path:zT(),readMode:BT([`whole`,`first-line`]),parse:XA(),cache:LA(`file`),default:ZA()},aj={command:LT(),parse:XA(),cache:LA(`shell`),default:ZA()},oj={template:LT(),cache:RA(),default:MT()},sj={layout:LT(),default:MT()},cj={cache:`a time variable reads the instant its render is drawn at, so it takes no cache policy — delete the key`},lj={field:KA(),default:MT()},uj={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},dj={key:LT(),default:MT()},fj=`kind`;function pj(e,t,n={}){return{...kT(fj,e,t),parse:(r,i,a)=>{ST(r,n,i,a);let o=CT(r,t,i,a);return o===null?null:{kind:e,...o}}}}const mj={tag:fj,noun:`source kind`,memberNoun:`variable`,arms:{literal:pj(`literal`,tj),input:pj(`input`,nj),env:pj(`env`,rj),file:pj(`file`,ij),shell:pj(`shell`,aj),template:pj(`template`,oj),time:pj(`time`,sj,cj),git:pj(`git`,lj,uj),state:pj(`state`,dj)}};function hj(){return WT(mj)}function gj(){return{type:`object`,additionalProperties:hj()}}const _j=new Map([[`gitTaculous`,{kind:`built-in`,to:`gitaculous`}],[`git`,{kind:`built-in`,to:`gitaculous`}],[`settings.menu`,{kind:`built-in`,to:`candybar.menu`}],[`ticket`,{kind:`plugin`,to:`plugins.lit.ticket`,folder:`examples/plugins/lit`}]]);function vj(e){let t=_j.get(e);if(t===void 0)return``;switch(t.kind){case`built-in`:return` (the built-in segment "${e}" was renamed to "${t.to}" — update this reference)`;case`plugin`:return` (the built-in segment "${e}" became "${t.to}", a segment of the plugin in cc-candybar's ${t.folder} — install that folder in a plugin root (docs/segment-authoring.md, "Installing a plugin instead of listing it"), then update this reference)`}}const yj=/^[A-Za-z_][A-Za-z0-9_]*$/,bj={pattern:yj.source},xj={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Sj={type:`object`,additionalProperties:!1,required:[`label`,`domain`,`default`],properties:{label:{type:`string`,pattern:`^[^\\n\\r]+$`},domain:{anyOf:[{const:`bool`},{type:`array`,items:{type:`string`,pattern:`^[^/\\n\\r]+$`},minItems:1,uniqueItems:!0},{type:`object`,additionalProperties:!1,required:[`min`,`max`],properties:{min:{type:`integer`},max:{type:`integer`},step:{type:`integer`,minimum:1},atLeast:{type:`string`,...bj}}}]},default:xj}},Cj=[`label`,`domain`,`default`],wj=[`min`,`max`,`step`,`atLeast`];function Tj(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))})}function Ej(e,t,n){if(n===`bool`)return`bool`;if(Array.isArray(n)){let r=n.filter(e=>typeof e==`string`);if(n.length===0||r.length!==n.length)return Tj(e,t,`a list domain must be a non-empty list of words, got ${JSON.stringify(n)}`);if(new Set(r).size!==r.length)return Tj(e,t,`a list domain names each word once, got ${JSON.stringify(n)}`);let i=r.filter(e=>e===``||e.includes(`/`)||/[\n\r]/.test(e));return i.length>0?Tj(e,t,`a list domain's words must be non-empty, slash-free, and newline-free — configure mode writes each on the set-state wire — got ${JSON.stringify(i)}`):r}if(yT(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!wj.includes(e)).length===0&&Number.isInteger(r)&&Number.isInteger(i)&&r<=i&&Number.isInteger(a)&&a>=1&&(o===void 0||typeof o==`string`)?{min:r,max:i,step:a,...o!==void 0&&{atLeast:o}}:Tj(e,t,`a range domain is { min, max, step?, atLeast? } with integers min ≤ max, a whole step ≥ 1, and atLeast naming another range setting, got ${JSON.stringify(n)}`)}return Tj(e,t,`domain must be "bool", a list of words, or { min, max }, got ${Q(n)}`)}function Dj(e,t,n){if(!yT(n))return Tj(e,t,`${t} must be { label, domain, default }, got ${bT(n)}`);for(let r of Object.keys(n))Cj.includes(r)||Tj(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Cj.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Tj(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${Q(r)}`);let a=Ej(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Oj(n.default)||!wh(o,n.default)?Tj(e,`${t}.default`,`default must be ${Oh(o)}, got ${Q(n.default)}`):o}function Oj(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}const kj={theme:`its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${vh}: "<theme>" }`,effect:`a placement follows the bar's effect, or sets its own with settings: { effect: "<effect>" }`};function Aj(e){return bh.includes(e)}function jj(){return{required:!1,json:{type:`object`,propertyNames:{...bj,not:{enum:[...bh]}},additionalProperties:Sj},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!yT(i))return Tj(e,a,`${a} must be an object of name → { label, domain, default }, got ${bT(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!yj.test(t)){Tj(e,`${a}.${t}`,`setting name "${t}" is read as .settings.${t} in a template, so it must be an identifier (letters, digits, _; not starting with a digit)`);continue}if(Aj(t)){Tj(e,`${a}.${t}`,`setting "${t}" is one every placement already has — ${kj[t]}`);continue}let r=Dj(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}const Mj=Jw.map(e=>e.replace(/\./g,`\\.`)).join(`|`);function Nj(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^(?!${Mj})[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)&&!Yw(i)?i:Tj(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", outside the reserved ${Jw.map(e=>`"${e}"`).join(`, `)} namespaces, got ${Q(i)}`)}}}function Pj(){return{required:!1,json:{type:`object`,propertyNames:bj,additionalProperties:xj},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!yT(i))return Tj(e,a,`a placement's "settings" must be an object of setting name → value, got ${bT(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Oj(n)?o[t]=n:Tj(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${bT(n)}`);return o}}}function Fj(e){return new Set(Object.keys(e.segments).filter(e=>!Yw(e)))}function Ij(e,t,n){if(t===void 0)return{};if(!yT(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${bT(t)}`,line:X(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=xT(e,n.has(i)?Hj:Vj,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function Lj(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?ET(e,`${t}.${n}`,`${t} declares no template — only a segment the bundled default declares may omit it (inheriting the bundled template); a segment of your own needs its own${vj(t.slice(9))}`)??void 0:mT(e,t,r,n)??void 0}}function Rj(){return{required:!1,json:{anyOf:[{const:`auto`},{const:`fill`},{type:`integer`,minimum:1}]},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(i===`auto`)return`auto`;if(i===`fill`)return`fill`;if(typeof i==`number`&&Number.isInteger(i)&&i>0)return i;e.issues.push({path:`${t}.${n}`,message:`width must be "auto", "fill", or a positive integer, got ${Q(i)}`,line:X(e.source,[...t.split(`.`),n])})}}}}function zj(){return{required:!1,json:gj(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return WA(e,`${t}.${n}`,i)}}}const Bj={template:Lj(),description:MT(),group:BT(LE),width:Rj(),justify:BT(kh),truncate:BT(Ah),bg:MT(),fg:MT(),when:MT(),palette:IT(),vars:zj(),settings:jj()},Vj={noun:`segment key`,fields:Bj},Hj={noun:`segment key`,fields:{...Bj,template:MT()}},Uj=`#/definitions/LayoutNode`,Wj={kind:`container`,direction:`vertical`,children:[]};function Gj(e){return{required:!0,json:{const:e},parse:()=>e}}function Kj(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a segment node must have a non-empty "name" (a segment name), got ${Q(i)}`,line:X(e.source,[`root`])}),``)}}}function qj(){return{required:!0,json:{enum:[...nh]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&nh.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${nh.join(`, `)} (got ${JSON.stringify(i)})`,line:X(e.source,[`root`])}),`vertical`)}}}function Jj(e){return{required:!0,json:{type:`array`,items:{$ref:Uj}},parse:(t,n,r,i)=>{let a=i[r];return Array.isArray(a)?a.map((i,a)=>e(t,`${n}.${r}[${a}]`,i)):(t.issues.push({path:`${n}.${r}`,message:`a container must have a "children" array of layout nodes, got ${bT(a)}`,line:X(t.source,[`root`])}),[])}}}const Yj={noun:`layout-node key`,fields:{kind:Gj(`segment`),name:Kj(),when:MT(),id:Nj(),settings:Pj()}},Xj=()=>BT(cf),Zj={noun:`layout-node key`,fields:{kind:Gj(`container`),direction:qj(),children:Jj(AT(()=>nM)),when:MT(),distribution:Xj()}};function Qj(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&i.length>0?i:(e.issues.push({path:`${t}.${n}`,message:`a "seg" node must have a non-empty segment name, got ${Q(i)}`,line:X(e.source,[`root`])}),``)}}}const $j={noun:`layout-node key`,fields:{seg:Qj(),when:MT(),id:Nj(),settings:Pj()}},eM={noun:`layout-node key`,fields:{h:Jj(AT(()=>nM)),when:MT(),distribution:Xj()}},tM={noun:`layout-node key`,fields:{v:Jj(AT(()=>nM)),when:MT(),distribution:Xj()}},nM=(e,t,n)=>{if(typeof n==`string`)return n.length===0?(e.issues.push({path:t,message:`a bare-string layout node must be a non-empty segment name`,line:X(e.source,[`root`])}),Wj):{kind:`segment`,name:n};if(!yT(n))return e.issues.push({path:t,message:`a layout node must be a string (segment name) or an object with "kind" / "seg" / "h" / "v", got ${bT(n)}`,line:X(e.source,[`root`])}),Wj;if(n.kind===`container`)return xT(e,Zj,t,n)??Wj;if(n.kind===`segment`)return xT(e,Yj,t,n)??Wj;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
178
+ Old: { kind: "cells", segments: ["seg1", "seg2"] }
179
+ New: { h: ["seg1", "seg2"] }`,line:X(e.source,[`root`])}),Wj;if(n.kind===`group`){let r=xT(e,lM,t,n);return r===null?Wj:(e.groups.push({name:r.name,label:r.label,...r.open!==void 0&&{open:r.open},...r.direction!==void 0&&{direction:r.direction},...r.key!==void 0&&{key:r.key},...r.bg!==void 0&&{bg:r.bg},...r.fg!==void 0&&{fg:r.fg},...r.when!==void 0&&{when:r.when},path:t}),dM(r))}let r=`h`in n,i=`v`in n,a=`seg`in n;if(+!!r+ +!!i+ +!!a>1){let r=[`seg`,`h`,`v`].filter(e=>e in n);return e.issues.push({path:t,message:`a layout node may have exactly one of "seg", "h", or "v" — got ${r.map(e=>`"${e}"`).join(` and `)} together`,line:X(e.source,[`root`])}),Wj}if(a){let r=xT(e,$j,t,n);return r===null?Wj:{kind:`segment`,name:r.seg,...r.when!==void 0&&{when:r.when},...r.id!==void 0&&{id:r.id},...r.settings!==void 0&&{settings:r.settings}}}if(r){let r=xT(e,eM,t,n);return r===null?Wj:{kind:`container`,direction:`horizontal`,children:r.h,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}if(i){let r=xT(e,tM,t,n);return r===null?Wj:{kind:`container`,direction:`vertical`,children:r.v,...r.when!==void 0&&{when:r.when},...r.distribution!==void 0&&{distribution:r.distribution}}}return e.issues.push({path:`${t}.kind`,message:`a layout node "kind" must be "container", "segment", or "group", or use the terse A-grammar: a bare string, or an object with "seg", "h", or "v" (got ${JSON.stringify(n.kind)})`,line:X(e.source,[`root`])}),Wj};function rM(){return{required:!0,json:{type:`object`,propertyNames:{pattern:jh.source},additionalProperties:{$ref:Uj}},parse:(e,t,n,r)=>{let i=r[n];if(!yT(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${bT(i)}`,line:X(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!jh.test(r)){e.issues.push({path:`${t}.${n}.${r}`,message:`row name "${r}" must be an identifier (letters, digits, _; not starting with a digit) — it names the row in the config file and merges by name over the bundled default's rows`,line:X(e.source,[...t.split(`.`),n,r])});continue}a[r]=nM(e,`${t}.${n}.${r}`,o)}return a}}}const iM={noun:`root key`,fields:{rows:rM(),when:MT(),distribution:Xj()}};function aM(e,t,n){return yT(n)&&`rows`in n?xT(e,iM,t,n)??{rows:{}}:nM(e,t,n)}function oM(){return{required:!0,json:{type:`string`,pattern:jh.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!jh.test(i)||i===`closed`){e.issues.push({path:`${t}.${n}`,message:`a group "name" must be an identifier (letters, digits, _; not starting with a digit) and not the reserved "${Wn}", got ${Q(i)}`,line:X(e.source,[`root`])});return}return i}}}function sM(){return{required:!1,json:{type:`string`,minLength:1},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0){if(typeof i!=`string`||i===``||i.includes(`/`)){e.issues.push({path:`${t}.${n}`,message:`a group "key" must be a non-empty, slash-free SessionState key, got ${Q(i)}`,line:X(e.source,[`root`])});return}return i}}}}function cM(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=mT(e,t,r,n);if(i!==null){if(/[\n\r]/.test(i)){e.issues.push({path:`${t}.${n}`,message:`${t}.${n}: group label must not contain newlines`,line:X(e.source,[...t.split(`.`),n])});return}return i}}}}const lM={noun:`layout-node key`,fields:{kind:Gj(`group`),name:oM(),label:cM(),open:NT(),direction:BT(nh),key:sM(),bg:MT(),fg:MT(),when:MT(),distribution:Xj(),children:Jj(AT(()=>nM))}};function uM(e){return e.key??`groups.`+e.name}function dM(e){let t=Gw+e.name;return Jn(t,{variable:t,key:uM(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function fM(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,[`root`])})}function pM(e,t){Zw(e,t,Gw,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&fM(e,t.path,`duplicate group name "${t.name}" — group names must be unique (they name the synthesized state var, action, and toggle segment)`),r.add(t.name);for(let t of n)for(let r of n)t!==r&&t.path.startsWith(`${r.path}.`)&&uM(t)===uM(r)&&fM(e,t.path,`group "${t.name}" shares key "${uM(t)}" with its ancestor group "${r.name}" — a shared key holds ONE open group, so an ancestor and a descendant cannot share one. Sibling accordions share a key; nested groups use distinct keys.`);let i=new Map;for(let t of n){let n=uM(t);if(i.has(n)||i.set(n,Wn),t.open===!0){let r=i.get(n);r!==`closed`&&fM(e,t.path,`groups "${r}" and "${t.name}" share key "${n}" and both declare open: true — a shared key holds one open group; pick one`),i.set(n,t.name)}}let a={},o={},s={};for(let e of n){let t=Gw+e.name,r=uM(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=er(r,i.get(r)),o[t]=tr(r,e.name),s[t]={template:Zn(t,`${l}${e.label} ▸`,`${l}${e.label} ▾`),...e.bg!==void 0&&{bg:e.bg},...e.fg!==void 0&&{fg:e.fg}}}t.variables={...t.variables??{},...a},t.actions={...t.actions??{},...o},t.segments={...t.segments??{},...s}}const mM=`menu`,hM=`a menu binds its trigger text the way a cycle action binds a display — write {{ menu "applyTheme" "▸" "▾" }} (one per state) or {{ menu "insertHere" "+" }} (one static display for both), with the rare knobs in ONE trailing dict: {{ menu "applyTheme" "▸" "▾" (dict "closeOnPick" true "paged" false "key" "pickers") }} (defaults: closeOnPick false, paged true, no key). The renderer no longer appends ▸/▾ of its own (candybar-settings-ui-aok.4), and the older positional tail ("pageAction" closeOnPick paged "key") was removed — the page cursor is synthesized from the menu's identity`,gM=e=>e.kind===`call`&&e.name===`dict`,_M=e=>e.kind===`literal`&&typeof e.value!=`object`,vM=e=>Gn(``,e,2)===void 0;function yM(e){let t=e=>({kind:`issue`,message:e}),[n,...r]=e.argExprs;if(n===void 0)return t(`with no arguments — it takes an apply-action name and its trigger text (e.g. {{ menu "applyTheme" "▸" "▾" }})`);if(n.kind!==`literal`||typeof n.value!=`string`)return t(`whose apply action is not a string literal — a menu's identity is its apply-action name, which must be a literal so it can be gated at load (e.g. {{ menu "applyTheme" "▸" "▾" }})`);let i=r[r.length-1],a=i!==void 0&&gM(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(gM))return t(`whose options (dict …) is not its last argument — ${hM}`);if(i!==void 0&&a===void 0&&!_M(i)&&vM(o.length-1))return t(`whose last argument is neither a literal nor a literal (dict …) — the renderer tells a display from the options dict by the value it evaluates to, so this call could be read as ${o.length} displays or as ${o.length-1} plus options, and both are legal. Make the options explicit as a trailing (dict …) — {{ menu "${n.value}" (printf "…") (printf "…") (dict) }} binds dynamic displays unambiguously — or bind the trigger text as literals`);let s=Gn(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${hM}`);let c=a===void 0?{}:vb(a);if(c===null)return t(`whose options (dict …) is not fully literal — every option value must be a literal so the menu can be gated at load (a dynamic entry like (dict "key" .x) cannot)`);let l;try{l=oT(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=Xw(u);if(e!==void 0)return t(`whose accordion key "${u}" lands in the reserved "${e}" namespace — a key is collapsed to an identifier (${JSON.stringify(u)} becomes "${eT(u)}"), so it would share one open-state key with the synthesized accordion that owns that namespace instead of grouping only your own menus. Name the group without the reserved prefix`)}return{kind:`ok`,apply:n.value,options:l}}function bM(e){let t=Dv({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===mM).map(yM)}catch{return`parse-failed`}}function xM(e){let t=Dv({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(mM)}catch{return!1}}function SM(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,[`root`])})}function CM(e,t){Zw(e,t,Kw,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))xM(r)&&e.issues.push({path:`helpers.${n}`,message:`helper "${n}" uses {{ menu }}, but a menu must live directly in a segment template — its identity is derived from the segment it sits in, which a shared helper does not have. Inline the {{ menu }} call into each segment that needs it.`,line:X(e.source,[`helpers`,n])});let n=t.segments??{};for(let[t,r]of Object.entries(n))for(let n of[`bg`,`fg`,`when`]){let i=r[n];typeof i==`string`&&xM(i)&&SM(e,`segments.${t}.${n}`,`segment "${t}" uses {{ menu }} in its "${n}" — a menu is only valid in a segment's "template" (its placement is published only there; "${n}" needs a ${n===`when`?`predicate`:`color`}). Move the {{ menu }} into the template.`)}if(t.root!==void 0)for(let n of ch(Rh(t.root)))typeof n.when==`string`&&xM(n.when)&&SM(e,`root`,`a layout node's "when" predicate uses {{ menu }} — a menu is only valid in a segment's "template", not a node predicate. Move it into a segment.`);for(let[t,{template:r}]of Object.entries(n)){if(r===void 0||!xM(r))continue;let n=bM(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:wM(r.apply);n!==void 0&&SM(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function wM(e){if(e===``)return`with an empty apply-action name — an empty member aliases the absent-state sentinel ("") so the menu would render open before any click. Name the apply action`;if(Qw(e)===`closed`)return`whose apply action is named "${Wn}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function TM(e,t){let n={},r={},i=new Map,a=new Set,o=(e,n)=>{let r=`segments.${e}`;a.has(`${r}\0${n}`)||(a.add(`${r}\0${n}`),t.push({path:r,message:n}))};for(let t of Wh(e.presets)){let a=new Map,s=new Map;for(let c of ch(qh(e,t).node)){if(c.kind!==`segment`)continue;let t=e.segments[c.name];if(t===void 0)continue;i.has(c.name)||i.set(c.name,bM(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=ih(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||wM(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=Qw(i),f=$w(u,i,l.key),p=nT(f),m=l.key===void 0?`ind ${u} ${i}`:`key ${l.key}`,h=[f,p].find(e=>{let t=a.get(e);return t!==void 0&&t!==m});if(h!==void 0){o(c.name,`two {{ menu }} disclosures normalize to the same state key ("${h}") but were declared differently — distinct names that differ only by non-alphanumeric characters (e.g. "a-b" vs "a_b") collapse to one key and would silently share open-state. Rename so they don't collide.`);continue}a.set(f,m),a.set(p,m);let g=tT(f,d),_=`${c.name}\0${e}`,v=s.get(g);if(v!==void 0&&v!==_){o(c.name,`two {{ menu }} disclosures resolve to the same identity ("${g}") — ${l.key===void 0?`a segment cannot contain two menus over the same apply action "${i}"`:`menus sharing key "${l.key}" must have distinct apply actions`}.`);continue}s.set(g,_),r[g]=tr(f,d),n[f]=er(f,Wn),n[p]={kind:`state`,key:p,default:`0`},r[p]={set:p,int:!0}}}}return{...e,variables:{...e.variables,...n},actions:{...e.actions,...r}}}const EM=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`themeDefault`,`doctor`,`ceiling`,`slash`,`do`];function DM(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function OM(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function kM(e,t){if(t===void 0)return{};if(!yT(t))return $(e,`actions`,`actions must be an object, got ${bT(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=AM(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function $(e,t,n){e.issues.push({path:t,message:n,line:X(e.source,t.split(`.`))})}function AM(e,t,n){if(!yT(n))return $(e,t,`${t} must be an action object, got ${bT(n)}`),null;if(`persistWhen`in n)return $(e,t,`${t}.persistWhen was removed: declare the \`set\` alone — a session pick is a draft until a \`{ save: true }\` action writes every unsaved setting to the config file`),null;let r=EM.filter(e=>e in n);return r.length===1?jM[r[0]](e,t,n):($(e,t,`action must declare exactly one of: ${EM.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const jM={set:(e,t,n)=>uN(e,t,n,`set`,oN),persist:(e,t,n)=>uN(e,t,n,`persist`,sN),copy:MM(`copy`),open:MM(`open`),reset:NM,undo:FM(`undo`),redo:FM(`redo`),back:FM(`back`),rewind:FM(`rewind`),save:FM(`save`),preset:IM,themeDefault:LM,doctor:RM,ceiling:zM,slash:BM,do:VM};function MM(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);let i=mT(t,n,r,e);return i===null?null:{[e]:i}}}function NM(e,t,n){for(let r of Object.keys(n))r!==`reset`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a reset action. Expected only: reset`);let r=HM(e,t,`reset`,n,`reset key must be non-empty (the config globals field to clear)`,e=>`reset key "${e}" contains "/" — keys must be slash-free`);return r===null?null:{reset:r}}const PM={undo:`it steps the session's settings history`,redo:`it steps the session's settings history`,back:`it steps the session's navigation history`,rewind:`it steps the session's settings history back to where edit mode opened`,save:`it saves the session's unsaved settings`};function FM(e){return(t,n,r)=>{for(let i of Object.keys(r))i!==e&&$(t,`${n}.${i}`,`Unknown key "${i}" on a ${e} action. Expected only: ${e}`);return r[e]===!0?{[e]:!0}:($(t,`${n}.${e}`,`${e} must be the literal true (it takes no key — ${PM[e]}), got ${Q(r[e])}`),null)}}function IM(e,t,n){let r=n.preset,i=r===`save`?[`preset`]:[`preset`,`name`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a preset action. Expected only: ${i.join(`, `)}`);if(r!==`save`&&r!==`delete`)return $(e,`${t}.preset`,`preset must be "save" or "delete", got ${Q(r)}`),null;if(r===`save`)return{preset:`save`};let a=mT(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function LM(e,t,n){for(let r of Object.keys(n))r!==`themeDefault`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a themeDefault action. Expected only: themeDefault`);return n.themeDefault===`save`?{themeDefault:`save`}:($(e,`${t}.themeDefault`,`themeDefault must be "save" (it saves the look the session draws as the active theme's default), got ${Q(n.themeDefault)}`),null)}function RM(e,t,n){let r=n.doctor,i=r===`run`?[`doctor`]:[`doctor`,`check`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a doctor action. Expected only: ${i.join(`, `)}`);if(r!==`run`&&r!==`fix`)return $(e,`${t}.doctor`,`doctor must be "run" or "fix", got ${Q(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||ED(a)===void 0?($(e,`${t}.check`,`doctor fix must name a check (have: ${wD.map(e=>e.name).join(`, `)}), got ${Q(a)}`),null):{doctor:`fix`,check:a}}function zM(e,t,n){let r=n.ceiling,i=r===`clear`?[`ceiling`]:[`ceiling`,`to`];for(let r of Object.keys(n))i.includes(r)||$(e,`${t}.${r}`,`Unknown key "${r}" on a ceiling action. Expected only: ${i.join(`, `)}`);if(r===`clear`)return{ceiling:`clear`};if(r!==`set`)return $(e,`${t}.ceiling`,`ceiling must be "set" or "clear", got ${Q(r)}`),null;let a=n.to;return typeof a!=`string`||a.trim()===``?($(e,`${t}.to`,`ceiling set needs \`to\`: a memento ceiling value such as "+100_000", "400000" or "off", got ${Q(a)}`),null):{ceiling:`set`,to:a}}function BM(e,t,n){for(let r of Object.keys(n))r!==`slash`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a slash action. Expected only: slash`);let r=zD(n.slash);return r.kind===`refused`?($(e,`${t}.slash`,r.reason),null):{slash:r.line}}function VM(e,t,n){for(let r of Object.keys(n))r!==`do`&&$(e,`${t}.${r}`,`Unknown key "${r}" on a do action. Expected only: do`);let r=n.do;return!Array.isArray(r)||r.length<2||r.some(e=>typeof e!=`string`||e===``)?($(e,`${t}.do`,`do must list at least two action names (the first is the click's face, the rest ride along in the same click), got ${Q(r)}`),null):{do:r}}function HM(e,t,n,r,i,a){let o=mT(e,t,r,n);if(o===null)return null;let s=`${t}.${n}`;return o===``?($(e,s,i),null):o.includes(`/`)?($(e,s,a(o)),null):o}const UM={set:`the SessionState key to write`,persist:`the config globals field to write`};function WM(e,t,n,r){let i=UM[r],a=HM(e,t,r,n,`${r} key must be non-empty (${i})`,e=>`${r} key "${e}" contains "/" — keys must be slash-free`);return a===null?null:{[r]:a}}function GM(e){return e===`set`?`set-state`:`set-config`}const KM={to:dN(`set`)},qM={to:dN(`persist`)},JM={from:fN(`set`)},YM={from:fN(`persist`)},XM={min:_N(),max:_N(),by:_N()},ZM={int:mN()},QM={cycle:pN(`set`)},$M={cycle:pN(`persist`)},eN={removeSegment:hN(`removeSegment`)},tN={insertSegment:hN(`insertSegment`),anchor:hN(`anchor`),relation:gN()},nN={insertSegmentFrom:fN(`persist`),anchor:hN(`anchor`),relation:gN()},rN={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},iN={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function aN(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>CT(e,t,n,r),c=VT(t);return{detect:a,allowed:[...o,...i],label:i.join(`/`),json:{type:`object`,properties:{...Object.fromEntries(o.map(e=>[e,{type:`string`}])),...c.properties},required:[...o,...c.required??[]],additionalProperties:!1},parse:n.length?jT(s,...n):s}}const oN=[aN(`set`,KM),aN(`set`,JM),aN(`set`,XM,[rN,iN]),aN(`set`,ZM),aN(`set`,QM)],sN=[aN(`persist`,qM),aN(`persist`,YM),aN(`persist`,XM,[rN,iN]),aN(`persist`,$M),aN(`persist`,eN),aN(`persist`,tN,[],[`insertSegment`]),aN(`persist`,nN,[],[`insertSegmentFrom`])];function cN(e){let t=[`"to" (a literal value)`,`"from" (an option domain — a registered domain name like "themes"/"endcaps"/"styles", or an inline array of literal values)`,`"min"/"max"/"by" (a bounded step)`];return e===`set`&&t.push(`"int" (an unbounded integer cursor)`),t.push(`"cycle" (an enumerated domain stepped in order)`),e===`persist`&&t.push(`"removeSegment" (remove a named segment from the layout)`,`"insertSegment"/"anchor"/"relation" (insert a named segment before/after an existing one)`,`"insertSegmentFrom"/"anchor"/"relation" (insert a segment PICKED from an option domain before/after an existing one)`),t}function lN(e){let t=cN(e),n=t[t.length-1];return`a ${e} action declares exactly one value source: ${t.length===1?n:`${t.slice(0,-1).join(`, `)}, or ${n}`}`}function uN(e,t,n,r,i){let a=WM(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return $(e,t,`${lN(r)}${o.length>1?` — found: ${o.map(e=>e.label).join(`, `)}`:``}`),null;let s=o[0];for(let i of Object.keys(n))s.allowed.includes(i)||$(e,`${t}.${i}`,`Unknown key "${i}" on this ${r} action. Expected one of: ${s.allowed.join(`, `)}`);let c=s.parse(e,t,n);return a===null||c===null?null:{...a,...c}}function dN(e){let t=GM(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>HM(n,r,i,a,`${e} value must be non-empty — an empty value cannot be delivered on the ${t} wire`,t=>`${e} value "${t}" contains "/" — ${e} values must be slash-free`)??void 0}}function fN(e){let t=GM(e);return{required:!0,json:{anyOf:[{type:`string`,minLength:1},{type:`array`,items:{type:`string`,minLength:1},minItems:1,uniqueItems:!0}]},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(typeof o==`string`){if(o===``){$(n,s,`${i} must be a non-empty domain name`);return}return o}if(Array.isArray(o)&&o.every(e=>typeof e==`string`)){let r=o;if(r.length===0){$(n,s,`${i} must name a domain (a non-empty string) or declare an inline domain (a non-empty array of values)`);return}if(r.some(e=>e===``)){$(n,s,`${i} array members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}let a=r.filter(e=>e.includes(`/`));if(a.length>0){$(n,s,`${i} array member(s) ${a.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(r).size!==r.length){$(n,s,`${i} array members must be unique — a duplicated value would render the same picker option twice`);return}return r}$(n,s,`${i} must be a domain name (a string) or an inline domain (an array of strings), got ${Q(o)}`)}}}function pN(e){let t=GM(e);return{required:!0,json:{type:`array`,items:{type:`string`,minLength:1},minItems:2,uniqueItems:!0},parse:(n,r,i,a)=>{let o=a[i],s=`${r}.${i}`;if(!Array.isArray(o)||o.some(e=>typeof e!=`string`)){$(n,s,`cycle must be an array of strings (the enumerated values a click steps through), got ${bT(o)}`);return}let c=o;if(c.length<2){$(n,s,`cycle needs at least two members (one member has no successor — use a literal "to")`);return}let l=c.some(e=>e===``),u=c.filter(e=>e.includes(`/`));if(l){$(n,s,`cycle members must be non-empty — an empty value cannot be delivered on the ${t} wire`);return}if(u.length>0){$(n,s,`cycle member(s) ${u.map(e=>`"${e}"`).join(`, `)} contain "/" — ${e} values must be slash-free`);return}if(new Set(c).size!==c.length){$(n,s,`cycle members must be unique — the successor of a duplicated member is ambiguous`);return}return c}}}function mN(){return{required:!0,json:{const:!0},parse:(e,t,n,r)=>{if(r[n]!==!0){$(e,`${t}.${n}`,`int must be the literal true (declares the key an unbounded integer cursor — a paged picker's page key), got ${Q(r[n])}`);return}return!0}}}function hN(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=mT(t,n,i,r);if(a===null)return;let o=`${n}.${r}`;if(a===``){$(t,o,`${e} must be non-empty (a segment name)`);return}if(a.includes(`/`)||a.includes(`:`)){$(t,o,`${e} "${a}" contains "/" or ":" — segment names in a layout op must be free of both (the click wire's own delimiter and layout-ops.ts's op-token delimiter)`);return}return a}}}function gN(){return{required:!0,json:{enum:[`before`,`after`]},parse:(e,t,n,r)=>{let i=r[n];if(i!==`before`&&i!==`after`){$(e,`${t}.${n}`,`relation must be "before" or "after", got ${Q(i)}`);return}return i}}}function _N(){return{required:!0,json:{type:`integer`},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`number`||!Number.isInteger(i)){$(e,`${t}.${n}`,`${n} must be an integer, got ${Q(i)}`);return}return i}}}function vN(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const yN={noun:`style key`,fields:{hueShift:FT(),chromaScale:FT({min:0}),lightnessScale:FT(),lightnessShift:FT()}};function bN(e,t){if(!yT(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${bT(t)}`,line:X(e.source,[`styles`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)){e.issues.push({path:`styles.${r}`,message:`style name ${JSON.stringify(r)} must be non-empty and slash-free — a style picker writes the name on the set-state wire, which rejects empty values and splits on "/"`,line:X(e.source,[`styles`,r])});continue}if(jp(r)){e.issues.push({path:`styles.${r}`,message:vN(`styles.${r}`,r,`globals.endcaps`),line:X(e.source,[`styles`,r])});continue}let t=xT(e,yN,`styles.${r}`,i);t!==null&&(n[r]={...ks,...t})}return n}const xN={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:aM(e,`${t}.${n}`,r[n])},globals:{required:!1,json:bE(),parse:(e,t,n,r)=>r[n]===void 0?void 0:yE(e,`${t}.${n}`,r[n])}}};function SN(e,t){if(!yT(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${bT(t)}`,line:X(e.source,[`presets`])}),{};let n={};for(let[r,i]of Object.entries(t)){if(r===``||r.includes(`/`)||/[\n\r]/.test(r)){e.issues.push({path:`presets.${r}`,message:`preset name ${JSON.stringify(r)} must be non-empty, slash-free, and newline-free — a preset picker writes the name on the set-state wire (which rejects empty values and splits on "/"), and edit mode splices it into a synthesized template string`,line:X(e.source,[`presets`,r])});continue}let t=xT(e,xN,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function CN(e,t){if(t===void 0)return{};if(!yT(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${bT(t)}`,line:X(e.source,[`helpers`])}),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){if(typeof i!=`string`){e.issues.push({path:`helpers.${r}`,message:`helpers.${r} must be a string template body, got ${Q(i)}`,line:X(e.source,[`helpers`,r])});continue}n[r]=i}return n}const wN=new Map([[`session.budget.amount`,{segment:`session`,setting:`budget`}],[`session.budget.warningThreshold`,{segment:`session`,setting:`warnAt`}],[`today.budget.amount`,{segment:`today`,setting:`budget`}],[`today.budget.warningThreshold`,{segment:`today`,setting:`warnAt`}],[`block.budget.heatThreshold`,{segment:`block`,setting:`warnAt`}],[`block.budget.warningThreshold`,{segment:`block`,setting:`errorAt`}],[`weekly.budget.heatThreshold`,{segment:`weekly`,setting:`warnAt`}],[`weekly.budget.warningThreshold`,{segment:`weekly`,setting:`errorAt`}],[`burn.eta.errorMinutes`,{segment:`burnrate`,setting:`errorWithin`}],[`burn.eta.warnMinutes`,{segment:`burnrate`,setting:`warnWithin`}]]);function TN(e){return`it became the "${e.setting}" setting of each "${e.segment}" placement — set it on the placement where a row places "${e.segment}" ({ seg: "${e.segment}", settings: { ${e.setting}: <value> } }), or redeclare segments.${e.segment}.settings.${e.setting} with the default every placement should start from`}function EN(e){let t=wN.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${TN(t)}`}function DN(e){let t=wN.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${TN(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function ON(e,t){let n=new Map;for(let e of Object.keys(t)){let t=zw(e),r=n.get(t);r?r.push(e):n.set(t,[e])}for(let[t,r]of n)r.length<2||e.issues.push({path:`presets`,message:`preset names ${r.map(e=>JSON.stringify(e)).join(` and `)} both collapse to the same synthesis identifier "${t}" — edit mode's synthesized reset affordance would silently steal one preset's action for the other. Rename one.`,line:X(e.source,[`presets`])})}function kN(e,t,n){let r=[[[`globals`],t.globals.style,`globals.endcaps`],[[`editGlobals`],t.editGlobals.style,`editGlobals.endcaps`],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style,`presets.${e}.globals.endcaps`]),...Object.entries(t.themeDefaults).map(([e,t])=>[[`themeDefaults`,e],t.style,`globals.endcaps`])];for(let[n,i,a]of r){if(i===void 0||hp(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:jp(i)?vN(r,i,a):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:X(e.source,[...n,`style`])})}t.globals.preset!==void 0&&!Object.prototype.hasOwnProperty.call(t.presets,t.globals.preset)&&e.issues.push({path:`globals.preset`,message:`globals.preset "${t.globals.preset}" does not match any declared preset (have: ${Object.keys(t.presets).join(`, `)})`,line:X(e.source,[`globals`,`preset`])}),ON(e,t.presets),QN(e,t);let i=Cg(t);for(let t of i.names)t!==`settings`&&!t.startsWith(MN)||e.issues.push({path:`variables`,message:`variable "${t}" is named under "settings", which a segment's templates read as its placement's own settings (.settings.<name>) — rename it`,line:X(e.source,[`variables`,t])});let a=(t,n,r)=>{gk(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${ZD}" ${gk(t)} times — it may appear at most once per layout (it is one disclosure, and one state key holds one open state). Remove all but the placement you want; removing every placement puts the menu at its default position.`,line:r}),_k(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${ZD}" under a \`when\` or inside a disclosure body — the menu is visible under every condition, so its placement may not be gated. Move it to an ungated position, or remove it to put the menu at its default position.`,line:r}),o(t)&&e.issues.push({path:n,message:`${n} sets "distribution" on a container inside a bar cell — everything inside a cell wears that cell's hue and shade, so it would place nothing. Set it on the row whose children are the cells (the horizontal container) or on the root, which places the rows.`,line:r});let i=new Map;for(let e of ch(t)){if(e.kind!==`segment`)continue;let t=ih(e);i.set(t,[...i.get(t)??[],e])}for(let[t,a]of i){if(a.length<2)continue;let o=a[1].name,s=oh(o,new Set(i.keys()));e.issues.push({path:n,message:`${n} has ${a.length} placements with the id "${t}" — an id names one placement (its settings, its menus' open state, and edit mode all address it), so give each its own: { seg: "${o}", id: "${s}" }. A placement without an "id" takes its segment's name.`,line:r})}};function o(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>o(n,t||rh[e.direction]===`cell`))}let s=(n,r)=>{for(let[a,o]of zh(n,r)){let n=X(e.source,o.split(`.`));if(a.when!==void 0&&(WN(e,`${o}.when`,a.when,i,{line:n}),UN(e,`${o}.when`,a.when,n)),a.kind===`segment`){if(pk(a.name)){(a.id!==void 0||a.settings!==void 0)&&e.issues.push({path:o,message:`${r} gives the global settings menu anchor "${ZD}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${ZD}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,a.name)||e.issues.push({path:o,message:`${r} entry "${a.name}" does not match any declared segment${vj(a.name)}`,line:n}),BN(e,t,a,o,n)}}};n.root!==void 0&&s(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&s(t.root,`presets.${e}.root`);let c=new Map([[`root`,Lh(t.root)]]);for(let e of Wh(t.presets)){let{node:n,path:r}=qh(t,e);c.set(r,n)}for(let[t,n]of c)a(n,t,X(e.source,t.split(`.`)));ZN(e,t,i,()=>!0)}const AN=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function jN(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=X(e.source,[`actions`,n,r]);if(!Wh(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${Wh(t.presets).join(`, `)})`,line:c});return}if(r===`reset`)return;let l=`removeSegment`in o,u=`insertSegment`in o,d=`insertSegmentFrom`in o;if(!l&&!u&&!d){e.issues.push({path:s,message:`actions.${n}: "${i}" is a "presets.<name>.root" target and can only be paired with "removeSegment", "insertSegment", or "insertSegmentFrom" (not "to"/"from"/"cycle"/bounded — those have no meaning as a tree op)`,line:c});return}let f=(r,i)=>{Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" is not a declared segment (have: ${Object.keys(t.segments).join(`, `)})${vj(i)}`,line:c})},p=new Set(ah(qh(t,a).node)),m=(r,i)=>{!_j.has(i)||p.has(i)||Object.prototype.hasOwnProperty.call(t.segments,i)||e.issues.push({path:s,message:`actions.${n}: ${r} "${i}" names no placement${vj(i)}`,line:c})};`removeSegment`in o&&m(`removeSegment`,o.removeSegment),`insertSegment`in o&&f(`insertSegment`,o.insertSegment),(`insertSegment`in o||`insertSegmentFrom`in o)&&m(`anchor`,o.anchor)}const MN=`settings.`;function NN(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>MN+e)])}}function PN(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:X(e.source,[`segments`,t,`settings`,n])})},a=LN(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Ch(n,IN(n)))i(e,`the defaults do not stand together: ${t}`)}function FN(e){return LN(e).length>0||Ch(e,IN(e)).length>0}function IN(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function LN(e){let t=t=>Sh(RN(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Sh(RN(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${zN(e,n).join(`, `)||`none`})`}];let i=[n];for(let e=r;e!==void 0;e=t(e)){if(e===n)return i.every(e=>n<=e)?[{setting:n,message:`atLeast closes a cycle (${[...i,n].join(` ≥ `)}) — every setting on it could only ever equal the rest`}]:[];if(i.includes(e))return[];i.push(e)}return[]})}function RN(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function zN(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Sh(n)!==void 0).map(([e])=>e)}function BN(e,t,n,r,i){let a=Object.prototype.hasOwnProperty.call(t.segments,n.name)?t.segments[n.name]:void 0;if(a===void 0)return;let o=xh(a),s=`${r}: placement "${ih(n)}" of segment "${n.name}"`;for(let[t,a]of Object.entries(n.settings??{})){let c=Object.prototype.hasOwnProperty.call(o,t)?o[t]:void 0,l=c===void 0?`sets "${t}", which segment "${n.name}" does not declare (it has: ${Object.keys(o).join(`, `)})`:wh(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?op(a):``}, but it must be ${Oh(c)}`;l!==void 0&&e.issues.push({path:r,message:`${s} ${l}`,line:i})}let c=Object.fromEntries(Object.entries(o).map(([e,t])=>[e,n.settings?.[e]??t.default]));if(!(!Object.entries(c).every(([e,t])=>wh(o[e],t))||FN(o)))for(let{message:t}of Ch(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function VN(e,t,n,r,i){n.kind===`template`&&WN(e,`${t}.template`,n.template,r,{segCtx:i}),gh(n)&&n.cache&&`key`in n.cache&&WN(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function HN(e,t,n,r,i){if(gh(n)&&n.cache&&`depends_on`in n.cache)for(let a=0;a<n.cache.depends_on.length;a++){let o=n.cache.depends_on[a];if(r.names.has(o))continue;let s=i===void 0?void 0:`${i}.${o}`,c=s!==void 0&&r.names.has(s)?` (segment-local vars are namespaced — write "${s}")`:``;e.issues.push({path:`${t}.cache.depends_on[${a}]`,message:`cache.depends_on references unknown variable "${o}"${c}`,line:X(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function UN(e,t,n,r){try{BE.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function WN(e,t,n,r,i){for(let[a,o]of hg(n,r.helpers)){if(Sg(a,r))continue;if(a.startsWith(MN)){let n=o===null?``:` through helper "${o}"`,r=a.slice(9),s=i?.segCtx===void 0||i.settings===void 0?`Template reads ".${a}"${n}, but only a segment's own templates have settings — call it from a segment that declares "${r}"`:`Template reads ".${a}"${n}, but segment "${i.segCtx}" has no setting "${r}" (it has: ${Object.keys(i.settings).join(`, `)}) — declare it under segments.${i.segCtx}.settings`;e.issues.push({path:t,message:s,line:i?.line??X(e.source,t.split(`.`))});continue}if(o!==null){GN(e,o,`Template references unknown variable ".${a}"${DN(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&Sg(n,r)?` (segment-local vars are namespaced — write ".${n}")`:DN(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??X(e.source,t.split(`.`))})}}function GN(e,t,n){let r=`helpers.${t}`;e.issues.some(e=>e.path===r&&e.message===n)||e.issues.push({path:r,message:n,line:X(e.source,[`helpers`,t])})}function KN(e,t,n,r,i){let a=n.set,o=iE(fa[r].configKey),s=`${a} takes ${lT(o,i)}`;if(`min`in n&&(o===`bool`||!(`min`in o))){e.issues.push({path:`actions.${t}.min`,message:`actions.${t}: a stepper writes the integers from ${n.min} to ${n.max}, and ${a} is not an integer range; ${s}`,line:X(e.source,[`actions`,t,`min`])});return}let c=YN(n,i);if(c===JN){e.issues.push({path:`actions.${t}.int`,message:`actions.${t}.int: an int cursor writes whatever integer the template binds, and a click outside the ${a} domain would change nothing; ${s}`,line:X(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!cT(o,e.value,i));if(l.length!==0){if(a===fa.style.sessionKey&&(`from`in n&&n.from===`endcaps`||c.every(e=>jp(e.value)))){let r=fa.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:vN(`actions.${t}.to`,n.to,`set: "${r}", to`),line:X(e.source,[`actions`,t,`to`])}:{path:`actions.${t}.set`,message:`actions.${t}.set: "${a}" here writes only endcaps shapes, not styles — endcaps were renamed from "style" to "endcaps"; write set: "${r}"`,line:X(e.source,[`actions`,t,`set`])});return}for(let n of new Set(l.map(e=>e.field))){let r=l.filter(e=>e.field===n).map(e=>JSON.stringify(e.value)),i=r.length<=qN?r.join(`, `):`${r.slice(0,qN).join(`, `)} and ${r.length-qN} more`,o=`actions.${t}.${n}`;e.issues.push({path:o,message:`${o}: ${i} ${r.length===1?`is`:`are`} outside the ${a} domain — a click would write it and nothing would change; ${s}`,line:X(e.source,[`actions`,t,n])})}}}const qN=3,JN=Symbol(`any integer`);function YN(e,t){return`to`in e?[{field:`to`,value:e.to}]:`cycle`in e?e.cycle.map(e=>({field:`cycle`,value:e})):`from`in e?eg(e.from,t).members.map(e=>({field:`from`,value:e})):`min`in e?[{field:`min`,value:String(e.min)},{field:`max`,value:String(e.max)}]:JN}function XN(e,t){return Object.entries(e).filter(([e])=>t(e))}function ZN(e,t,n,r){let i=Gk(t),a=$h(i);for(let[n,o]of XN(t.actions,r)){let[t,r]=`from`in o?[`from`,o.from]:`insertSegmentFrom`in o?[`insertSegmentFrom`,o.insertSegmentFrom]:[null,null];if(t!==null&&typeof r==`string`&&!a.includes(r)){e.issues.push({path:`actions.${n}.${t}`,message:`actions.${n} ${t}: references ${ng(r,i)}`,line:X(e.source,[`actions`,n,t])});continue}if(!(`set`in o))continue;ha.has(o.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${o.set}", which has no session pick — globals.${o.set} is set in the config file only, so a click would change nothing; write it with { persist: "${o.set}", … } instead`,line:X(e.source,[`actions`,n,`set`])});let s=ya.get(o.set);s!==void 0&&KN(e,n,o,s,i)}for(let[n,i]of XN(t.actions,r))`do`in i&&i.do.forEach((r,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,r)?t.actions[r]:void 0,s=o===void 0?`references unknown action "${r}"`:`do`in o?`"${r}" is itself a do action — list its members here instead`:i.do.indexOf(r)===a?a>0&&OM(o)?`"${r}" takes its value from the template (from/int/insertSegmentFrom), so it can only be the first member — only the first is bound the region's display`:void 0:`"${r}" is listed twice — each member fires once per click`;s!==void 0&&e.issues.push({path:`actions.${n}.do`,message:`actions.${n} do: ${s}`,line:X(e.source,[`actions`,n,`do`])})});for(let[n,i]of XN(t.actions,r)){let r=`persist`in i?i.persist:`reset`in i?i.reset:null;if(r===null)continue;let a=`persist`in i?`persist`:`reset`,o=FE(r);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a config globals field (have: ${wE().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, a "themeDefaults.<theme>.<shade|variation|style>" target, or a "presets.<name>.root" target`,line:X(e.source,[`actions`,n,a])});continue}let s=AN.filter(e=>e in i);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:X(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){jN(e,t,n,a,r,o.preset,i);continue}if(o.scope===`preset-globals`&&!Wh(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names preset "${o.preset}" which is not declared (have: ${Wh(t.presets).join(`, `)})`,line:X(e.source,[`actions`,n,a])});continue}if(o.scope===`theme-default`&&!e.allowedPalettes.has(o.theme)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names theme "${o.theme}" which is not installed${op(o.theme)} (have: ${[...e.allowedPalettes].sort().join(`, `)})`,line:X(e.source,[`actions`,n,a])});continue}if(o.scope===`segment-palette`){if(!Object.prototype.hasOwnProperty.call(t.segments,o.segment)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${vj(o.segment)}`,line:X(e.source,[`actions`,n,a])});continue}`min`in i&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${r}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:X(e.source,[`actions`,n,a])})}}for(let[i,a]of XN(t.variables,r)){VN(e,`variables.${i}`,a,n);let t=EN(i);t!==void 0&&e.issues.push({path:`variables.${i}`,message:t,line:X(e.source,[`variables`,i])})}for(let[i,a]of XN(t.segments,r)){if(a.vars)for(let[t,r]of Object.entries(a.vars))VN(e,`segments.${i}.vars.${t}`,r,n,i);let r=xh(a);PN(e,i,r);let o=NN(n,r);for(let n of[`template`,`bg`,`fg`,`when`]){let s=a[n];if(typeof s==`string`){WN(e,`segments.${i}.${n}`,s,o,{segCtx:i,settings:r});for(let{name:r,site:a,via:o}of yg(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=a===`options`?` (in a picker, menu, carousel, swatch, swatches or themePreview)`:``;if(o!==null){GN(e,o,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${i}.${n}`,message:`${n} references unknown action "${r}"${s}`,line:X(e.source,[`segments`,i,n])})}}}}for(let[i,a]of XN(t.variables,r))HN(e,`variables.${i}`,a,n);for(let[i,a]of XN(t.segments,r))if(a.vars)for(let[t,r]of Object.entries(a.vars))HN(e,`segments.${i}.vars.${t}`,r,n,i)}function QN(e,t){let n=new Set;for(let r of Wh(t.presets)){let i=Jh(t,r),a=[{},t.editGlobals];for(let o of a){let a=o.charset??i.charset??`unicode`,s=o.default_separator??i.default_separator;if(a!==`ascii`||Pp(s??``))continue;let c=o.default_separator===void 0?Kh(t.presets,r).globals?.default_separator===void 0?[`globals`]:[`presets`,r,`globals`]:[`editGlobals`],l=[...c,`default_separator`].join(`.`);n.has(l)||(n.add(l),e.issues.push({path:l,message:`${l} ${JSON.stringify(s)} is not ASCII, but charset is "ascii" — under ascii a joiner draws only ASCII; write an ASCII separator or set charset: "unicode"`,line:X(e.source,[...c,`default_separator`])}))}}}function $N(e,t,n=()=>!0){let{graph:r,nodeInfo:i}=eP(t),a=new Map,o=[];for(let e of r.keys())a.set(e,0);for(let e of r.keys())if(!(!n(e)||a.get(e)!==0)&&s(e))return;function s(t){a.set(t,1),o.push(t);for(let c of r.get(t)??[]){if(!n(c))continue;let t=a.get(c);if(t===1){let t=o.indexOf(c),n=[...o.slice(t),c],r=n[0],a=i.get(r);return e.issues.push({path:a?.declarationPath??`variables.${r}`,message:`Dependency cycle: ${n.join(` → `)}`,line:X(e.source,a?.linePathParts??[`variables`,r])}),!0}if(t===0&&s(c))return!0}return a.set(t,2),o.pop(),!1}}function eP(e){let t=new Set(Object.keys(e.variables)),n=new Map;for(let t of Object.keys(e.variables))n.set(t,{declarationPath:`variables.${t}`,linePathParts:[`variables`,t]});for(let[r,i]of Object.entries(e.segments))if(i.vars)for(let e of Object.keys(i.vars)){let i=`${r}.${e}`;t.add(i),n.set(i,{declarationPath:`segments.${r}.vars.${e}`,linePathParts:[`segments`,r,`vars`,e]})}let r=new Map;for(let e of t)r.set(e,new Set);let i=(n,i)=>{for(let a of hg(i,e.helpers).keys()){if(t.has(a)){r.get(n).add(a);continue}let e=a.split(`.`)[0];e!==a&&t.has(e)&&r.get(n).add(e)}},a=(e,n)=>{if(n.kind===`template`&&i(e,n.template),gh(n)&&(n.cache&&`key`in n.cache&&i(e,n.cache.key),n.cache&&`depends_on`in n.cache))for(let i of n.cache.depends_on)t.has(i)&&r.get(e).add(i)};for(let[t,n]of Object.entries(e.variables))a(t,n);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))a(`${t}.${e}`,r);return{graph:r,nodeInfo:n}}function tP(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?h.homedir()+e.slice(1):e}function nP(e,t){return l.resolve(e,tP(t))}function rP(e,t){return typeof t==`string`&&t!==``?nP(e,t):void 0}function iP(e){return`plugin ${e.path} was not loaded: ${e.reason}`}const aP=new Set([`data`,`segments`,`helpers`,`actions`]),oP=`plugin.json5`,sP=/^[a-z][a-z0-9_]*$/;function cP(e){let t=l.basename(l.dirname(e));return sP.test(t)?t:void 0}const lP=`plugins.`;function uP(e){return`${lP}${e}.data`}function dP(e){try{return{ok:!0,value:e()}}catch(e){return{ok:!1,reason:fP(e)}}}function fP(e){return e instanceof Bw?e.issues.map(e=>e.path===``||e.message.includes(e.path)?e.message:`${e.path}: ${e.message}`).join(`; `):e instanceof Error?e.message:String(e)}function pP(e,t){return e.map(e=>nP(l.dirname(t),e))}function mP(e,t,n,i){let a=new Map;return e.reduce((e,n)=>{let o=cP(n),s=(t,r)=>{let i=new Map(e.rendering);return o!==void 0&&r!==e.config&&i.delete(o),{...e,config:r,rendering:i,dropped:[...e.dropped,{path:n,plugin:o,reason:t}]}};if(l.basename(n)!==`plugin.json5`){let t=`a plugin is a folder holding its ${oP}, and the folder's name is the plugin's: move this file to <dir>/<name>/${oP} and list that`;return s(t,o===void 0?e.config:_P(gP(e.config,o),o,{path:n,plugin:o,reason:t}))}if(o===void 0)return s(`its folder "${l.basename(l.dirname(n))}" is not a plugin name (one matching ${sP}: it prefixes every name the plugin declares)`,e.config);let c=a.get(o);if(c!==void 0)return s(`plugin "${o}" is already listed, from ${c}`,e.config);a.set(o,n);let u=gP(e.config,o),d=dP(()=>{let a=r.readFileSync(n,`utf-8`),s=jA(CP(n,o,{source:a,json:lr.default.parse(a)},t),u);return i(s,o,u!==e.config),s});if(d.ok)return{...e,config:d.value,loaded:[...e.loaded,n],rendering:new Map([...e.rendering,[o,n]])};let f={path:n,plugin:o,reason:d.reason};return s(d.reason,_P(u,o,f))},{config:n.config,rendering:n.rendering,loaded:[],dropped:[]})}function hP(e){let t=`${lP}${e}.`;return e=>e.startsWith(t)}function gP(e,t){let n=hP(t),r=e=>Object.fromEntries(Object.entries(e).filter(([e])=>!n(e)));return[e.variables,e.segments,e.helpers,e.actions].some(e=>Object.keys(e).some(n))?{...e,variables:r(e.variables),segments:r(e.segments),helpers:r(e.helpers),actions:r(e.actions)}:e}function _P(e,t,n){return{...e,variables:{...e.variables,[uP(t)]:{kind:`dropped`,reason:iP(n),definition:n.path}}}}function vP(e){return e.startsWith(`plugins.`)?e.slice(8).split(`.`)[0]:void 0}function yP(e,t){let n=new Set([...Object.keys(e.config.variables),...Object.keys(e.config.segments)].map(vP)),r=[...t,...e.dropped].filter(e=>e.plugin===void 0).map(e=>({definition:e.path,notice:iP(e)}));return t=>{let i=vP(t);if(i===void 0)return[];let a=e.config.variables[uP(i)];return a?.kind===`dropped`?[{definition:a.definition,notice:a.reason}]:n.has(i)?[]:r}}function bP(e,t){let n=Wh(e.presets).flatMap(t=>[...ch(qh(e,t).node)]).flatMap(e=>e.kind===`segment`?[e]:[]),r=[...new Set([...n.map(e=>e.name),...Object.keys(e.segments)])].map(e=>({name:e,cause:t(e)})).filter(({cause:e})=>e.length>0),i=Object.fromEntries(r.map(({name:e,cause:t})=>[e,xP(e,t.map(e=>e.notice),n.filter(t=>t.name===e))])),a=t=>{let n=vP(t),r=n===void 0?void 0:e.variables[uP(n)];return r?.kind===`dropped`?{definition:r.definition,notice:r.reason}:void 0},o=Object.values(e.variables).some(e=>e.kind===`dropped`),s=o?Object.values(e.segments).flatMap(e=>[`template`,`bg`,`fg`,`when`].flatMap(t=>e[t]===void 0?[]:[e[t]])):[],c=o?Object.values(e.actions).flatMap(e=>`do`in e?[...e.do]:[]):[],l=(e,t)=>[...new Set(e)].flatMap(e=>{let n=e in t?void 0:a(e);return n===void 0?[]:[[e,n]]}),u=l([...s.flatMap(t=>yg(t,e.helpers).map(e=>e.name)),...c],e.actions),d=l(s.flatMap(t=>[...xg(t,e.helpers)]),e.helpers),f=new Set([...r.flatMap(({cause:e})=>e.map(e=>e.definition)),...[...u,...d].map(([,e])=>e.definition)]);return{config:{...e,segments:{...e.segments,...i},actions:{...e.actions,...Object.fromEntries(u.map(([e])=>[e,{copy:`{{ .${uP(vP(e)??``)} }}`}]))},helpers:{...e.helpers,...Object.fromEntries(d.map(([e,t])=>[e,`{{ fail ${JSON.stringify(t.notice)} }}`]))}},reached:f}}function xP(e,t,n){let r=`⚠ ${e}: ${t.join(`; `)}`,i=new Map;for(let e of n)for(let[t,n]of Object.entries(e.settings??{})){let e=i.get(t);i.set(t,e===void 0?[n]:[...e,n])}let a=Object.fromEntries([...i].map(([e,t])=>[e,SP(e,t)]));return{template:`{{ ${JSON.stringify(r)} }}`,bg:`error`,description:`stands in for a segment whose plugin did not load`,settings:a}}function SP(e,t){let[n]=t,r=t.filter(e=>typeof e==`number`);return typeof n==`boolean`?{label:e,domain:`bool`,default:n}:typeof n==`number`?{label:e,domain:{min:Math.min(...r),max:Math.max(...r),step:1},default:n}:{label:e,domain:[...new Set(t.map(String))],default:n}}function CP(e,t,{source:n,json:r},{checkout:i}){let a=[],o=()=>{throw new Bw(e,a)};if(!yT(r))return a.push({path:``,message:`a plugin definition must be an object, got ${bT(r)}`}),o();for(let e of Object.keys(r))aP.has(e)||a.push({path:e,message:e===`plugin`?`a plugin definition does not name itself: its name is its folder's ("${t}") — remove "plugin"`:`a plugin definition may not declare "${e}". Expected only: ${[...aP].join(`, `)}`});let s=EP(r.data,e,i,a);if(yT(r.segments)||a.push({path:`segments`,message:`"segments" must be an object naming the plugin's segments`}),a.length>0||s===void 0)return o();let c={source:n,issues:a,allowedPalettes:new Set(lp()),groups:[]},l=WA(c,`data`,{[uP(t)]:{kind:`file`,path:s,parse:{json:!0},cache:{watch_file:s},default:{}}});for(let[e,t]of Object.entries(r.segments))yT(t)&&`vars`in t&&a.push({path:`segments.${e}.vars`,message:`a plugin segment may not declare "vars": a plugin's only source is its data file`});let u={variables:l,segments:TP(t,Ij(c,r.segments,new Set)),helpers:TP(t,CN(c,r.helpers)),actions:TP(t,kM(c,r.actions))};for(let[e,t]of wP(u))try{BE.parse(t)}catch(t){a.push({path:e,message:`Template parse error in ${e}: ${t.message}`})}return a.length>0&&o(),u}function*wP(e){for(let[t,n]of Object.entries(e.segments??{}))for(let e of[`template`,`bg`,`fg`,`when`]){let r=n[e];r!==void 0&&(yield[`segments.${t}.${e}`,r])}for(let[t,n]of Object.entries(e.helpers??{}))yield[`helpers.${t}`,`{{ define "${t}" }}${n}{{ end }}`];for(let[t,n]of Object.entries(e.actions??{}))`copy`in n&&(yield[`actions.${t}.copy`,n.copy]),`open`in n&&(yield[`actions.${t}.open`,n.open]),`preset`in n&&n.preset===`delete`&&(yield[`actions.${t}.name`,n.name])}function TP(e,t){return Object.fromEntries(Object.entries(t).map(([t,n])=>[`${lP}${e}.${t}`,n]))}function EP(e,t,n,r){if(typeof e==`string`&&e!==``)return nP(l.dirname(t),e);if(yT(e)&&Object.keys(e).length===1&&typeof e.checkout==`string`&&e.checkout!==``){let t=e.checkout;if(l.isAbsolute(t)||t.startsWith(`~`)||l.normalize(t).split(l.sep)[0]===`..`){r.push({path:`data.checkout`,message:`data.checkout "${t}" must be a path inside the checkout, relative to its root (like ".lit/statusline.json"): no absolute path, "~" or ".."`});return}if(n===null){r.push({path:`data.checkout`,message:`data is read from the session's checkout, and this load has no session`});return}return l.resolve(n.root,t)}if(yT(e)&&`project`in e){r.push({path:`data.project`,message:`data: { project } is now data: { checkout }: the same path, relative to the root of the git checkout the session works in (a linked worktree is its own checkout)`});return}r.push({path:`data`,message:`"data" must be the path of the plugin's JSON data file relative to this definition, or { checkout: "<path>" } relative to the root of the session's checkout`})}function DP(e){let t=(process.env.XDG_DATA_DIRS||OP()).split(`:`).filter(e=>e!==``),n=process.env.XDG_DATA_HOME||l.join(h.homedir(),`.local`,`share`),r=[...[...t].reverse().map(e=>l.join(e,`cc-candybar`,`plugins`)),l.join(n,`cc-candybar`,`plugins`),...e===null?[]:[l.join(e,`.cc-candybar`,`plugins`)]];return r.filter((e,t)=>r.lastIndexOf(e)===t)}function OP(){let e=`/usr/local/share:/usr/share`;return process.platform===`darwin`?`${l.join(process.env.HOMEBREW_PREFIX||`/opt/homebrew`,`share`)}:${e}`:e}function kP(e){let t=DP(e),n=new Map,r=[],i=[];for(let e of t){let t=AP(e);if(`error`in t){r.push(t);continue}for(let r of t.folders)n.delete(r),n.set(r,l.join(e,r,oP));for(let n of t.files)i.push({path:l.join(e,n),plugin:void 0,reason:`a plugin is a folder holding its ${oP}: move this file to ${l.join(e,`<name>`,oP)}`})}return{roots:t,definitions:[...n.values()],unchecked:r,strays:i}}function AP(e){try{let t=r.readdirSync(e,{withFileTypes:!0}).filter(e=>!e.name.startsWith(`.`)).sort((e,t)=>e.name<t.name?-1:+(e.name>t.name)),n=t=>t.isDirectory()||jP(e,t);return{folders:t.filter(n).map(e=>e.name),files:t.filter(e=>!n(e)).map(e=>e.name)}}catch(t){return t.code===`ENOENT`?{folders:[],files:[]}:{path:e,error:t.message}}}function jP(e,t){if(!t.isSymbolicLink())return!1;try{return r.statSync(l.join(e,t.name)).isDirectory()}catch{return!0}}const MP=[`json5`,`json`];function NP(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function PP(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?MP.map(t=>l.join(e,`.cc-candybar.${t}`)):[],...MP.map(e=>l.join(r,`.cc-candybar.${e}`)),...MP.map(e=>`${FP()}.${e}`)])]}function FP(){let e=process.env.XDG_CONFIG_HOME??l.join(h.homedir(),`.config`);return l.join(e,`cc-candybar`,`config`)}function IP(e,t,n){let i=[],a=new Map;for(let o of PP(e,t,n)){let e=NP(o);if(e===`absent`)continue;if(e!==`present`){i.push(e);continue}let t=l.join(r.realpathSync(l.dirname(o)),l.basename(o).replace(/\.(json5|json)$/,``));a.has(t)||a.set(t,o)}let o=[...a.values()].reverse();if(n===void 0)return{kind:`chain`,layers:o,home:LP(o),unchecked:i};let[s]=i,c=n;return o.length>0?{kind:`chain`,layers:o,home:c,unchecked:i}:s===void 0?{kind:`missing`,path:n,home:c}:{kind:`unreadable`,...s,home:c}}function LP(e){let t=FP();return e.find(e=>MP.some(n=>e===`${t}.${n}`))??`${t}.${MP[0]}`}function RP(e,t,n){let r=IP(e,t,n),i=r.kind===`chain`?r.layers:[];return{path:r.home,above:i.filter(e=>e!==r.home),projectDir:e??null,cwd:t??null}}function zP(e){return BP(e).join(`
180
+ `)||null}function BP(e){switch(e.kind){case`chain`:return e.unchecked.map(e=>`Config location could not be checked: ${e.path} — ${e.error}`);case`missing`:return[`Config file not found: ${e.path} — rendering the bundled default until it appears`];case`unreadable`:return[`Config file could not be read: ${e.path} — ${e.error} — rendering the bundled default until it can be`]}}function VP(e,t){let n=PP(e,t).filter(e=>NP(e)===`present`),r=new Map;for(let e of n){let t=l.dirname(e),n=l.basename(e).replace(/\.(json5|json)$/,``),i=l.join(t,n);r.has(i)||r.set(i,[]),r.get(i).push(e)}let i=[...r.values()].filter(e=>e.length>1);return i.length===0?null:`config-extension collision: ${i.map(e=>{let[t,...n]=e;return`${t} shadows ${n.join(`, `)}`}).join(`; `)} — remove the duplicate`}function HP(e,t,n,i){return e===null?{...ZP,config:jA(ZP.raw,t)}:WP(e,r.readFileSync(e,`utf-8`),t,n,i)}const UP={projectDir:null,checkout:null,beneath:{dropped:[],rendering:new Map}};function WP(e,t,n,r,i){let a=eF(e,t,i,(t,a)=>{let o=mP(pP(t,e),r,{config:n,rendering:r.beneath.rendering},(t,n,r)=>YP(t,n,r,e,i)),s=yP(o,r.beneath.dropped);return{inherited:new Set([...Fj(o.config),...a.filter(e=>s(e).length>0)]),layer:{plugins:o,owning:s}}}),{plugins:o,owning:s}=a.layer,c=bP(jA(a.raw,o.config),s);return{source:t,raw:a.raw,warnings:[...a.warnings,...o.dropped.map(iP)],plugins:{loaded:o.loaded,dropped:o.dropped,reached:c.reached,rendering:o.rendering},config:c.config}}const GP=new WeakMap;function KP(e,t,n,r){let i=JSON.stringify([[...r??[]].sort(),e.map(e=>[e,qP(e)])]),a=GP.get(n)??new Map;GP.set(n,a);let o=JSON.stringify([t.projectDir,t.checkout?.root??null]),s=a.get(o);if(s?.key===i)return s.layer;let c=mP(e,t,{config:n,rendering:new Map},(e,t,n)=>YP(e,t,n,`<installed plugins>`,r));return a.set(o,{key:i,layer:c}),c}function qP(e){try{let t=r.statSync(e);return`${t.ino}:${t.size}:${t.mtimeMs}`}catch(e){return e.code??`unreadable`}}function JP(e,t,n,i,a=e=>r.readFileSync(e,`utf-8`),o){let s={projectDir:i.projectDir,checkout:i.cwd===null?null:DC(i.cwd)},c=kP(s.projectDir),l=KP(c.definitions,s,t,o),u={...l,dropped:[...l.dropped,...c.strays]};n.warned(c.unchecked.map(e=>`Plugin folder could not be listed: ${e.path} — ${e.error}`));let d=u.config,f=[];for(let t of e){n.entered(t);let e=f.at(-1)?.plugins,r=WP(t,a(t),f.at(-1)?.config??d,{...s,beneath:{dropped:[...u.dropped,...f.flatMap(e=>e.plugins.dropped)],rendering:e?.rendering??u.rendering}},o);n.warned(r.warnings),f.push({...r,path:t})}let p=new Set(f.flatMap(e=>[...e.plugins.reached])),m=e=>p.has(e.path),h=u.dropped.filter(m),g=u.dropped.filter(e=>!m(e));n.warned(h.map(iP));let _={checkout:s.checkout,roots:c.roots,loaded:u.loaded,dropped:h,unreached:g,reached:p,rendering:f.at(-1)?.plugins.rendering??u.rendering},v=f.at(-1);if(v===void 0)return{layers:f,base:d,installed:_,config:QP(HP(null,d,UP),`<default>`,o)};try{return{layers:f,base:d,installed:_,config:QP(v,v.path,o)}}catch(e){for(let e of f.slice(0,-1))n.entered(e.path),QP(e,e.path,o);throw n.entered(v.path),e}}function YP(e,t,n,r,i){if(n){QP(XP(e),r,i);return}let a=hP(t),o=[],s={source:``,issues:o,allowedPalettes:new Set,groups:[]};if(ZN(s,e,Cg(e),a),$N(s,e,a),o.length>0)throw new Bw(r,o)}function XP(e){return{config:e,raw:{root:e.root,presets:e.presets},source:``}}const ZP={raw:{},source:``,warnings:[],plugins:{loaded:[],dropped:[],reached:new Set,rendering:new Map}};function QP({config:e,raw:t,source:n},r=`<config>`,i=new Set(lp())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(kN(o,e,t),$N(o,e),a.length>0)throw new Bw(r,a);let s=TM(e,a);if(a.length>0)throw new Bw(r,a);return lA(kk(s))}function $P(e,t,n=new Set(lp()),r=tF){return eF(e,t,n,()=>({inherited:r,layer:null})).raw}function eF(e,t,n,r){let i=nF(e,t),a=Uw(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(lp()),groups:[]};if(!yT(i))throw new Bw(e,[{path:``,message:`Config root must be an object, got ${bT(i)}`}],o);let{inherited:l,layer:u}=r(i.plugins===void 0?[]:aF({...c,issues:[]},i.plugins)??[],yT(i.segments)?Object.keys(i.segments):[]),d=rF(c,i,l);if(s.length>0)throw new Bw(e,s,o);return{raw:d,warnings:o,layer:u}}const tF=new Set;function nF(e,t){try{return lr.default.parse(t)}catch(t){let n=t;throw new Bw(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function rF(e,t,n){for(let n of Object.keys(t))iF.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...iF].join(`, `)}`,line:X(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=vE(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=WA(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=Ij(e,t.segments,n)),t.layout!==void 0&&e.issues.push({path:`layout`,message:`"layout" is no longer supported — use "root" with the A-grammar instead.
166
181
  Replace: layout: [["seg1", "seg2"], ["seg3"]]
167
182
  With: root: { v: [{ h: ["seg1", "seg2"] }, "seg3"] }
168
- Single-row example: root: { h: ["seg1", "seg2"] }`,line:W(e.source,[`layout`])}),t.root!==void 0&&(r.root=vm(e,`root`,t.root)),t.actions!==void 0&&(r.actions=fO(e,t.actions)),t.looks!==void 0&&e.issues.push({path:`looks`,message:`"looks" was renamed "styles" — move the block under styles: { … } (and globals.look to globals.style)`,line:W(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=rk(e,t.styles)),t.themeDefaults!==void 0&&(r.themeDefaults=Df(e,t.themeDefaults)),t.presets!==void 0&&(r.presets=ak(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=jf(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=ok(e,t.helpers)),t.plugins!==void 0&&(r.plugins=BA(e,t.plugins)),Em(e,r),Jb(e,r),ux(e,r),kp(e,r,K,`the global settings menu`),r}const zA=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`themeDefaults`,`presets`,`editGlobals`,`helpers`,`plugins`]);function BA(e,t){if(Array.isArray(t)&&t.every(e=>typeof e==`string`&&e!==``))return t;e.issues.push({path:`plugins`,message:`"plugins" must be a list of plugin definition paths, got ${td(t)}`,line:W(e.source,[`plugins`])})}function VA(e){let t=qA(e.termCols),n=qA(e.termRows),r=JA(e.ssh),i=GA(e.tmux),a=WA(e.configEnv),o=UA(e.claudeConfigDir),s=HA(e.mementoEnv);return{...t!==void 0&&{termCols:t},...n!==void 0&&{termRows:n},...r!==void 0&&{ssh:r},...i!==void 0&&{tmux:i},...a!==void 0&&{configEnv:a},...o!==void 0&&{claudeConfigDir:o},...s!==void 0&&{mementoEnv:s}}}function HA(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=$e.filter(e=>t[e]!==void 0);return n.every(e=>UA(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function UA(e){return typeof e==`string`&&l.isAbsolute(e)?e:void 0}function WA(e){return typeof e==`string`&&e!==``?Bk(e):void 0}function GA(e){if(e===null)return null;if(typeof e!=`object`)return;let{socket:t,pane:n,truecolor:r}=e;if(!(typeof t!=`string`||t===``)&&!(typeof n!=`string`||n===``)&&!(r!==null&&(typeof r!=`string`||r===``)))return{socket:t,pane:n,truecolor:r}}const KA=1e4;function qA(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>KA?KA:t}function JA(e){return typeof e==`boolean`?e:void 0}function YA(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var XA=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function ZA(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function QA(e,t){let n=Buffer.alloc(0);return function(r){for(n=Buffer.concat([n,r]);n.length>=4;){let r=n.readUInt32BE(0);if(r>16777216){t(new XA(`frame too large: ${r}`));return}if(n.length<4+r)return;let i=n.subarray(4,4+r);n=n.subarray(4+r);try{e(JSON.parse(i.toString(`utf8`)))}catch(e){let n=new XA(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function $A(e,t,n){return new Promise((r,i)=>{let a=!1,o=t=>{if(!a){a=!0,clearTimeout(s),e.removeAllListeners();try{t()}catch{}}},s=setTimeout(()=>{o(()=>{e.destroy(),i(Error(`TIMEOUT`))})},n),c=QA(e=>o(()=>r(e)),e=>o(()=>i(e)));e.on(`data`,c),e.on(`error`,e=>o(()=>i(e))),e.on(`close`,()=>o(()=>i(Error(`socket closed before response`)))),e.write(ZA(t))})}async function ej(e,t,n){let r=null;try{r=await aj(ze(),t.connectMs);let i=await $A(r,{v:3,...e},t.budgetMs);return rj(e.kind,i,n)}catch(e){return ij(e)}finally{r&&r.destroy()}}function tj(e,t){return typeof e==`string`?e:t}function nj(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function rj(e,t,n){let r=t;if(r.ok===!0){let r=n(t);return r===void 0?{kind:`permanent`,cause:`malformed_response`,message:`ok response without payload for "${e}" request`}:{kind:`ok`,value:r}}let i=tj(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:nj(r.daemonV)};case`TIMEOUT`:return{kind:`transient`,cause:`timeout`,message:i};case`BAD_REQUEST`:return{kind:`permanent`,cause:`bad_request`,message:i};case`RENDER_FAILED`:return{kind:`permanent`,cause:`render_failed`,message:i};default:return{kind:`permanent`,cause:`malformed_response`,message:`unknown error code: ${String(r.code)}`}}}function ij(e){if(e instanceof XA||e instanceof SyntaxError)return{kind:`permanent`,cause:`malformed_response`,message:e instanceof Error?e.message:String(e)};let t=e instanceof Error?e.message:String(e);return t===`CONNECT_TIMEOUT`||t===`TIMEOUT`?{kind:`transient`,cause:`timeout`,message:t}:t.includes(`ECONNREFUSED`)||t.includes(`ENOENT`)||t.includes(`ENOTSOCK`)?{kind:`transient`,cause:`unreachable`,message:t}:{kind:`transient`,cause:`io_error`,message:t}}function aj(e,t){return new Promise((n,r)=>{let i=x.createConnection({path:e}),a=setTimeout(()=>{i.destroy(),r(Error(`CONNECT_TIMEOUT`))},t);i.once(`connect`,()=>{clearTimeout(a),n(i)}),i.once(`error`,e=>{clearTimeout(a),r(e)})})}function oj(e){if(e.kind===`transient`)return`daemon unavailable (${e.cause}: ${e.message})\nHint: daemon may not be running. Run \`cc-candybar\` once to spawn it.`;switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`daemon protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:case`render_failed`:case`malformed_response`:return`daemon error (${e.cause}): ${e.message}`}}const sj=`1.130.0`,cj={connectMs:50,budgetMs:150},lj={connectMs:50,budgetMs:200};function uj(e){let t=e.output;return typeof t==`string`?t:void 0}function dj(e,t,n,r){return ej({kind:`render`,hookData:e,args:t,cwd:n,...r},cj,uj)}function fj(e,t){return ej({kind:`click`,verb:e,value:t,clientVersion:sj},lj,uj)}function pj(e){let t=[];for(let n of e){let e=n.read();if(e.kind===`text`)return`# memory report from: ${n.name}\n${e.text}`;t.push(`# ${n.name}: unavailable — ${e.reason}`)}return[`# memory report: no probe answered`,...t.length>0?t:[`# no probe is known for this platform`]].join(`
169
- `)}function mj(e,t){return e===`darwin`?[hj(`footprint`,[`-p`,String(t)]),hj(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[gj(`/proc/self/smaps_rollup`),gj(`/proc/self/status`)]:[]}function hj(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=O({bin:e,args:[...t],timeoutMs:5e3,category:`limits.memory-report`});return n.ok?n.stdout.trim().length>0?{kind:`text`,text:n.stdout}:{kind:`unavailable`,reason:`exited 0 but printed nothing`}:{kind:`unavailable`,reason:`${n.reason}${n.error===void 0?``:`: ${n.error}`}${_j(n.stderr)}`}}}}function gj(e){return{name:e,read:()=>{try{let t=r.readFileSync(e,`utf8`);return t.trim().length>0?{kind:`text`,text:t}:{kind:`unavailable`,reason:`empty file`}}catch(e){return{kind:`unavailable`,reason:e.message}}}}}function _j(e){let t=e.split(`
170
- `).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const vj=`CC_CANDYBAR_RSS_LIMIT_MB`;function yj(e){let t=e[vj];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${vj} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function bj(e){return yj(e)*2}const xj=1024*1024;function Sj(e){return yj(e)*xj}const Cj={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function wj(e,t,n){let{prefix:r,suffix:i}=Cj[t];return l.join(e,`${r}${n}${i}`)}function Tj(e){for(let t of Object.keys(Cj)){let{prefix:n,suffix:r}=Cj[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function Ej(e){let t=e.rssLimitBytes??512*xj,n=e.snapshotsKeep??3,r=!1;function i(){if(r)return!0;let{rss:i,heapTotal:a}=e.memoryBytes();if(i<=t)return!1;r=!0,e.log(`warn`,`RSS ${i} > limit ${t} (v8 heap ${a}); recording memory then shutting down`);let o=`${new Date(e.now()).toISOString().replace(/[:.]/g,`-`)}-${e.pid}`;return Dj(e.log,`memory report`,()=>{let t=wj(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),Dj(e.log,`heap snapshot`,()=>{let t=wj(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),Dj(e.log,`artifact rotation`,()=>{kj(e.listArtifacts(),n,e.removeFile)}),e.shutdown(0),!0}function a(){let{rss:n,heapTotal:r}=e.memoryBytes();return n>t*.75?`rss ${n} approaching limit ${t} (v8 heap ${r})`:null}function o(e=6e4){let t=setInterval(()=>{i()},e);return t.unref(),{disarm:()=>clearInterval(t)}}return{checkRss:i,describeNextRestart:a,arm:o}}function Dj(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function Oj(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=Tj(t);if(n===null)return t;let{prefix:r,suffix:i}=Cj[n];return t.slice(r.length,t.length-i.length)}function kj(e,t,n){let r=new Map;for(let t of e){let e=Oj(t),n=r.get(e);n===void 0?r.set(e,[t]):n.push(t)}let i=[...r.keys()].sort((e,t)=>t.localeCompare(e));for(let e of i.slice(t))for(let t of r.get(e)??[])try{n(t)}catch{}}function Aj(e,t,n={}){let i=Re();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:Z,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>pj(mj(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>re.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>Tj(e)!==null).map(e=>l.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function jj(e={}){if(qj()!==null)return;let n=e.spawn??Jj,r=Wj();if(r.kind===`contended`){let e=Nj();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),Mj(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),Mj(n);return}try{Mj(n)}finally{Kj()}}function Mj(e){Bj()&&Pj(e)}function Nj(){try{let e=r.statSync(Je());return Date.now()-e.mtimeMs}catch{return null}}function Pj(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
171
- `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function Fj(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function Ij(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function Lj(e){try{let t=r.readFileSync(e,`utf8`).trim(),n=Number(t);return!Number.isInteger(n)||n<0?0:Math.min(n,5)}catch{return 0}}function Rj(e,n){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,String(n),{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.backoff: ${e.message}\n`)}}function zj(){try{r.unlinkSync(Xe())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function Bj(){let e=Ye(),n=Xe(),r=Lj(n),i=Fj(Vj(e),Ij(r));return i.kind===`deny`?!1:(i.kind===`allow-future-garbage`&&t.stderr.write(`cc-candybar: spawn.cooldown mtime is ${i.futureMs}ms in the future — ignoring and spawning\n`),Hj(e),Rj(n,Math.min(r+1,5)),!0)}function Vj(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function Hj(e){try{r.mkdirSync(l.dirname(e),{recursive:!0}),r.writeFileSync(e,`${t.pid} ${Date.now()}\n`,{mode:384})}catch(e){t.stderr.write(`cc-candybar: could not record spawn.cooldown: ${e.message}\n`)}}let Uj=null;function Wj(){let e=Je();for(let n=0;n<2;n++){try{let n=r.openSync(e,`wx`,384);try{r.writeSync(n,JSON.stringify({pid:t.pid,ts:Date.now()}))}catch{}return Uj={fd:n,path:e},{kind:`held`}}catch(t){let n=t.code;if(n!==`EEXIST`)return{kind:`error`,reason:`openSync(${e}): ${n??t.message}`}}if(!Gj(e))return{kind:`contended`};try{r.unlinkSync(e)}catch(e){if(e.code!==`ENOENT`)return{kind:`error`,reason:`unlink stale spawn.lock: ${e.message}`}}}return{kind:`contended`}}function Gj(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function Kj(){if(!Uj)return;let{fd:e,path:t}=Uj;Uj=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function qj(){try{return r.mkdirSync(Re(),{recursive:!0}),null}catch(e){return`mkdir ${Re()}: ${e.message}`}}function Jj(){let e=t.execPath,n=t.argv[1];return n?Me({bin:e,args:[`--max-old-space-size=${bj(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const Yj=`cc-candybar`,Xj=`dispatch`,Zj=`set-state`,Qj=`step-state`,$j=`copy`,eM=`open-vscode`,tM=`toolbar-toggle`,nM=`show-config-error`,rM=`show-config-warning`,iM=`set-config`,aM=`step-config`,oM=`save`,sM=`save-preset`,cM=`save-theme-default`,lM=`delete-preset`,uM=`reset-config`,dM=`apply-layout-op`,fM=`undo`,pM=`redo`,mM=`back`,hM=`rewind`,gM=`apply-update`,_M=`doctor-run`,vM=`doctor-fix`,yM=`doctor-probe`,bM=`ceiling`,xM=`slash`;function SM(e){return e.map(encodeURIComponent).join(`/`)}function CM(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function wM(e){return`${Yj}://${Xj}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${SM(e.args)}`)}`).join(`&`)}`}function TM(e){return new T(e).getAll(`e`).map(kM)}const EM=new Set([Zj,uM]);function DM(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&OM(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function OM(e,t){if(e.verb!==t.verb||!EM.has(e.verb))return;let[n,r]=[kM(e.value),kM(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function kM(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const AM=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function jM(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function MM(e){return AM.test(e)?e:jM(e)}const NM=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function PM(e){let t=NM.exec(e);return t?{kind:`ok`,value:[Number(t[1]),Number(t[2]),Number(t[3])]}:{kind:`failed`,reason:`"${e}" is not a release version (expected MAJOR.MINOR.PATCH)`}}function FM(e){return e.join(`.`)}function IM([e,t,n],[r,i,a]){return e-r||t-i||n-a}const LM=`@promptctl/cc-candybar`;async function RM(e,t,n){let r=`${n}/-/package/${encodeURIComponent(e)}/dist-tags`;try{let e=await t(r,{signal:AbortSignal.timeout(5e3)});if(!e.ok)return X(`registry responded ${e.status} for ${r}`);let n=await e.json();return typeof n.latest==`string`?PM(n.latest):Y}catch(e){return X(e instanceof Error?e.message:String(e))}}function zM(e,t){let n=PM(e);if(n.kind===`failed`)return{kind:`unchecked`,installed:e,reason:n.reason};switch(t.kind){case`failed`:return{kind:`unchecked`,installed:e,reason:t.reason};case`absent`:return{kind:`unchecked`,installed:e,reason:"the registry lists no `latest` dist-tag"};case`ok`:{let e=IM(n.value,t.value);return e<0?{kind:`stale`,installed:n.value,latest:t.value}:e>0?{kind:`ahead`,installed:n.value,latest:t.value}:{kind:`current`,installed:n.value}}}}function BM(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${FM(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${FM(t.installed)} is newer than the registry's latest release (${FM(t.latest)}): an unpublished build.\n`};case`stale`:{let n=FM(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${FM(t.installed)} was staged, but the latest release is ${n}.\n pnpm's release-age gate (minimumReleaseAge) and its dlx cache can both\n resolve \`@latest\` to an older release without saying so.\n To install ${n} now, name it explicitly:\n pnpm dlx ${e}@${n} install\n`}}case`unchecked`:return{stream:`stderr`,text:`⚠ Could not check for a cc-candybar release newer than ${t.installed} (${t.reason}); the registry check was skipped.\n`}}}const VM=`CCCandybarURLHandler`,HM=[],UM={"darwin-arm64":`@promptctl/cc-candybar-darwin-arm64`,"darwin-x64":`@promptctl/cc-candybar-darwin-x64`,"linux-x64":`@promptctl/cc-candybar-linux-x64`,"linux-arm64":`@promptctl/cc-candybar-linux-arm64`};function WM(e,t){return[e,...t].map(MM).join(` `)}function GM(){return l.join(h.homedir(),`Applications`,`${VM}.app`)}function KM(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function qM(){if(process.platform===`darwin`)return l.join(h.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??l.join(h.homedir(),`.local`,`share`);return l.join(e,`cc-candybar`)}function JM(){return l.join(qM(),`bin`,`cc-candybar`)}function YM(){return l.join(qM(),`dist`,`index.mjs`)}function XM(e,t){return[`on open location L`,`\tdo shell script "'${e.replace(/"/g,`\\"`)}' '${t.replace(/"/g,`\\"`)}' url-handle " & quoted form of L`,`end open location`].join(`
172
- `)}function ZM(e){let t=/do shell script "'([^']+)' '([^']+)' url-handle "/.exec(e);if(t===null)return null;let n=e=>e.replace(/\\"/g,`"`);return{node:n(t[1]),script:n(t[2])}}function QM(e){return l.join(e,`Contents`,`Resources`,`Scripts`,`main.scpt`)}function $M(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:l.resolve(l.dirname(e),`..`,`dist`,`index.mjs`)}function eN(t){let n=UM[`${process.platform}-${process.arch}`];if(n){let r=e(t);try{return{kind:`native`,sourcePath:r.resolve(`${n}/bin/cc-candybar`)}}catch{}}return{kind:`node-shim`,sourcePath:l.resolve(l.dirname(t),`..`,`bin`,`cc-candybar`)}}function tN(e,t){l.resolve(e)!==l.resolve(t)&&r.copyFileSync(e,t)}function nN(e){let t=r.openSync(e,`r`);try{let n=Buffer.alloc(2),i=r.readSync(t,n,0,2,0);if(i<2)throw Error(`install: staged render entry at ${e} is truncated (${i} byte(s)). Re-run: pnpm dlx ${LM}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function rN(){let e=$M(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=eN(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(l.dirname(YM()),{recursive:!0}),r.mkdirSync(l.dirname(JM()),{recursive:!0}),tN(e,YM()),tN(t.sourcePath,JM()),r.chmodSync(JM(),493),r.rmSync(l.join(qM(),`url-handler.mjs`),{force:!0});let n=nN(JM());return process.stdout.write(`Staged cc-candybar v${sj} runtime at ${qM()}\n`+(n===`native`?` render entry: native binary (${process.platform}-${process.arch})\n`:` render entry: node shim (no native binary for ${process.platform}-${process.arch}; renders are correct but pay node startup)\n`)),{binPath:JM(),distPath:YM(),entryKind:n}}function iN(){return[{key:`CFBundleIdentifier`,xml:`<string>com.cccandybar.url-handler</string>`},{key:`CFBundleURLTypes`,xml:[`<array>`,` <dict>`,` <key>CFBundleURLName</key>`,` <string>Claude Powerline Click Action</string>`,` <key>CFBundleURLSchemes</key>`,` <array>`,` <string>${Yj}</string>`,` </array>`,` </dict>`,`</array>`].join(`
173
- `)}]}function aN(e){let t=GM();r.mkdirSync(l.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=O({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,XM(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=l.join(t,`Contents`,`Info.plist`);for(let{key:e}of iN())O({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of iN()){let n=O({bin:`/usr/bin/plutil`,args:[`-insert`,e,`-xml`,t,i],category:`install.plutil`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`plutil -insert ${e} failed (${n.reason})`)}process.stdout.write(`Registering ${Yj}:// with Launch Services\n`);let a=O({bin:`/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister`,args:[`-f`,t],category:`install.lsregister`});if(!a.ok)throw process.stderr.write(a.stderr),Error(`lsregister failed (${a.reason})`);process.stdout.write(`✓ ${VM}.app installed and registered.\n`),process.stdout.write(` Test: open '${Yj}://hello-world' && pbpaste\n`)}function oN(){KM(),aN(rN().distPath)}function sN(e,t=Yj){let n=`${t}://`;if(!e.startsWith(n))throw Error(`expected ${n} scheme, got: ${e}`);let r=e.slice(n.length),i=r.indexOf(`/`);return i===-1?{verb:$j,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function cN(e){e||(process.stderr.write(`url-handle: missing URL argument.
174
- `),process.exit(1));let t;try{t=sN(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await fj(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(jj(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(lN(n)+`
175
- `),process.exit(1)}function lN(e){switch(e.cause){case`version_mismatch`:return`url-handle: daemon rejected click (version mismatch: client v${e.clientV} ≠ daemon v${e.daemonV})`;case`bad_request`:return`url-handle: daemon rejected click (bad request: ${e.message})`;case`render_failed`:return`url-handle: daemon rejected click (handler failed: ${e.message})`;case`malformed_response`:return`url-handle: daemon rejected click (malformed response: ${e.message})`}}function uN(){return`✓ install complete.
176
- Restart Claude Code to pick up the new statusline.
177
- Tip: every bar carries a settings menu — click it (${Ud} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/shade/endcaps/wrap/padding controls.\n`}async function dN(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...HM],i=rN();process.platform===`darwin`?aN(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
178
- `),fN(i.binPath,r,t),process.stdout.write(uN());let a=BM(LM,zM(sj,await RM(LM,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function fN(e,t,n,i){let a=i??LT(IT(FT(process.env,process.cwd())));r.mkdirSync(l.dirname(a),{recursive:!0});let o=BT(a).statusLine,s=VT(o)?o.command:void 0,c=[e,MM(e),jM(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||c.some(e=>s===e||s.startsWith(`${e} `)));if(s&&!u&&!n){process.stderr.write(`Skipping settings.json update: existing statusLine.command appears customized.\n Current: ${s}\n To overwrite, re-run with --force.\n`);return}let d=WM(e,t);Pe(a,(VT(o)?[[[`statusLine`,`type`],`command`],[[`statusLine`,`command`],d]]:[[[`statusLine`],{type:`command`,command:d}]]).reduce((e,[t,n])=>tu(e,t,JSON.stringify(n,null,2),Bl),zT(a))),process.stdout.write(`Updated ${a}\n`)}function pN(e,t){return e.kind===`owned`?t(e.pid,e.startTime)?{kind:`attach-and-exit`,reason:`live owner pid=${e.pid} holds the socket`}:{kind:`reclaim`,reason:`owner pid=${e.pid} is gone or recycled`}:e.kind===`absent`?{kind:`reclaim`,reason:`no lease — stale socket, no live owner`}:{kind:`reclaim`,reason:`unreadable lease (${e.detail}) — cannot prove a live owner`}}function mN(e){let t;try{t=r.readFileSync(e,`utf8`)}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:`read failed: ${e.message}`}}let n;try{n=JSON.parse(t)}catch(e){return{kind:`unreadable`,detail:`bad JSON: ${e.message}`}}let i=n,a=i?.pid;if(typeof a!=`number`||!Number.isInteger(a)||a<=0)return{kind:`unreadable`,detail:`no valid pid (got ${JSON.stringify(a)})`};let o=i?.startTime;return o!=null&&typeof o!=`string`?{kind:`unreadable`,detail:`invalid startTime (got ${JSON.stringify(o)})`}:{kind:`owned`,pid:a,startTime:o??null}}function hN(e,n){let i=`${e}.${t.pid}.tmp`;try{return r.writeFileSync(i,JSON.stringify(n),{mode:384}),r.renameSync(i,e),null}catch(e){let t=e.message;try{r.unlinkSync(i)}catch(e){if(e.code!==`ENOENT`)return`${t}; also failed to remove temp ${i}: ${e.message}`}return t}}function gN(e,t){let n=mN(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function _N(e){try{let t=r.statSync(e);return{kind:`present`,identity:{dev:t.dev,ino:t.ino}}}catch(e){return e.code===`ENOENT`?{kind:`absent`}:{kind:`unreadable`,detail:e.message}}}function vN(e,t,n,r){let i=yN(e,t);return i===null?r.kind===`owned`?r.pid===n?{kind:`owned`}:{kind:`displaced`,reason:`lease reassigned (names pid=${r.pid}, we are pid=${n}) — a reclaimer overwrote it`}:{kind:`displaced`,reason:`lease not held (${r.kind}) — no longer the socket owner`}:{kind:`displaced`,reason:i}}function yN(e,t){return t.kind===`present`?t.identity.dev===e.dev&&t.identity.ino===e.ino?null:`socket replaced (bound dev=${e.dev} ino=${e.ino}, now dev=${t.identity.dev} ino=${t.identity.ino})`:t.kind===`absent`?`socket path gone (ENOENT) — unlinked by a reclaimer`:`socket path unreadable (${t.detail}) — cannot prove ownership`}function bN(e){let t=!1;function n(){let n=vN(e.bound,e.readIdentity(),e.myPid,e.readLease());return n.kind===`displaced`&&!t&&(t=!0,e.log(`warn`,`ownership self-check: ${n.reason}; shutting down`),e.shutdown(0)),n}function r(t=e.intervalMs??5e3){let r=setInterval(()=>{n().kind===`displaced`&&clearInterval(r)},t);return r.unref(),{disarm:()=>clearInterval(r)}}return{check:n,arm:r}}function xN(e,t=O){let n=t({bin:`ps`,args:[`-o`,`lstart=`,`-p`,String(e)],category:`process-fingerprint`,timeoutMs:2e3,env:{...process.env,LC_ALL:`C`,TZ:`UTC`}});if(n.ok){let e=n.stdout.trim();return e.length>0?{kind:`start`,token:e}:{kind:`unavailable`,detail:`ps produced no start-time`}}return{kind:`unavailable`,detail:n.reason===`spawn-error`?n.error??`ps spawn failed`:`ps ${n.reason} (exit ${n.exitCode})`}}function SN(e,t,n){if(t===null)return n.pidAlive(e);let r=n.readStartTime(e);switch(r.kind){case`start`:return r.token===t;case`unavailable`:return n.pidAlive(e)}}function CN(e,t=xN){let n=t(e);return n.kind===`start`?n.token:null}const wN=`CC_CANDYBAR_PARENT_PID`;function TN(e){let t=e[wN];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${wN} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function EN(e){if(e.anchor.kind===`outlives-nobody`)return{disarm:()=>{}};let{pid:t}=e.anchor,n=setInterval(()=>{e.isAlive(t)||e.onOrphaned(`spawner pid ${t} gone`)},e.intervalMs??250);return n.unref(),{disarm:()=>clearInterval(n)}}function DN(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function ON(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function kN(e,t,n){return e?t>=n?{allow:!1,reason:`${t} live isolated daemons registered >= ceiling ${n}`}:{allow:!0,reason:`${t} live isolated daemons registered < ceiling ${n}`}:{allow:!0,reason:`canonical production socket — exempt (bind() already caps it to one)`}}function AN(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>l.join(e,t))}catch{return[]}}function jN(e){let t;try{t=r.readFileSync(e,`utf8`)}catch{return null}try{let e=JSON.parse(t),n=e?.pid;return typeof n!=`number`||!Number.isInteger(n)||n<=0?null:{pid:n,startTime:typeof e?.startTime==`string`?e.startTime:null}}catch{return null}}function MN(e,t,n){let r=0;for(let i of e)t(i.identity.pid,i.identity.startTime)?r++:n(i.path);return r}function NN(e){if(!e.isolated)return{decision:kN(!1,0,e.ceiling),registryPath:null};e.ensureDirSafe(e.registryDir);let t=[];for(let n of e.listFiles(e.registryDir)){let r=e.readEntry(n);r!==null&&r.pid!==e.pid&&t.push({path:n,identity:r})}let n=kN(!0,MN(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=l.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function PN(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function FN(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:qe(),ceiling:ON(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>SN(e,t,{readStartTime:xN,pidAlive:DN}),listFiles:AN,readEntry:jN,removeFile:e=>{try{r.unlinkSync(e)}catch{}},writeEntry:(e,t)=>{let n=`${e}.${t.pid}.tmp`;try{r.writeFileSync(n,JSON.stringify(t),{mode:384}),r.renameSync(n,e)}catch(e){try{r.unlinkSync(n)}catch(e){e.code}throw e}},ensureDirSafe:process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR?Ve:e=>{Ve(l.dirname(e)),Ve(e)},...t}}function IN(e){return e<32||e===127||e>=128&&e<=159}function LN(e){let t=``;for(let n of e)t+=IN(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function RN(e,t){let n=LN(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const zN=`\x1B[38;2;255;255;255m`,BN=`\x1B[48;2;200;40;40m`;function VN(e){let t=/;2;(\d+);(\d+);(\d+)m$/.exec(e);if(t===null)throw Error(`diagnostic-style: not a 24-bit SGR: ${e}`);return`#`+t.slice(1,4).map(e=>Number(e).toString(16).padStart(2,`0`)).join(``)}const HN={fg:VN(zN),bg:VN(BN)},UN={fg:VN(`\x1B[38;2;0;0;0m`),bg:VN(`\x1B[48;2;220;160;40m`)},WN=new ji({"strip.separator":`default`,"strip.rail":`default`});function GN(e){return WN.resolve(e)}const KN=RegExp(`\\x1b\\[[0-9;]*m|${ua.source}`,`g`),qN={kind:`still`},JN=Symbol(`bar`);function YN(e){return e.name!==Kc}function XN(e){return(t,n)=>{let r=e.map(({t:e,effect:t})=>t(e,n));return(e,t)=>r.reduce((e,n)=>n(e,t),e)}}const ZN=si;function QN(e,t){let n=new Gn(t,ZN.foregroundColor,ZN.ansiColors,ZN.palette);return(t,r)=>e(t,{...r,theme:n})}function $N(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619)>>>0;return t/4294967296}const eP=4096;var tP=class{inForce=null;placements=new Map;made=new Map;drawn=null;frame={effect:Kc,t:0,made:0,reused:0,own:[],basis:`off`,revision:0,fades:[],leaves:[]};constructor(e){this.key=e}lastFrame(){return this.frame}get heldCount(){let e=[...this.drawn?.placements.values()??[]].filter(({passage:e})=>e!==null).length;return[...this.made.values()].reduce((e,t)=>e+t.size,e)}motion(e,t,n){let r=this.inForce?.name===e?this.inForce:{name:e,since:t},i={scope:JN,name:e,t:t-r.since},a=this.placements,o=new Map,s=this.made,c=new Map,l=[],u=this.drawn,d=n.transitions?u!==null&&u.source.config===n.source.config&&u.source.preset===n.source.preset&&u.source.revision===n.source.revision&&u.source.width===n.source.width?`compared`:`fresh`:`off`,f=d===`compared`?u.placements:null,p=new Map,m=[],h=[],g={effect:e,t:i.t,made:0,reused:0,own:l,basis:d,revision:n.source.revision,fades:m,leaves:h},_=(e,n,{ground:r})=>{let i=fs.transitions[e]({span:0,z:$N(`${this.key}@${n}`)*eP});return{name:e,since:t,transition:{effect:QN(i.effect,r),done:e=>i.done(e)}}},v=({since:e,transition:n})=>n.done(t-e),y=(e,t,n)=>({drawing:t,passage:f===null?null:n===void 0||n.passage?.name===`dissolve`?_(`fade`,e,t):n.passage!==null&&!v(n.passage)?n.passage:null}),b=(e,t)=>{if(t===void 0||t.drawing.own.length===0)return;if(t.passage?.name===`dissolve`)return v(t.passage)?void 0:t;let r={...t.drawing,own:t.drawing.own.map(n.hold)};return{drawing:r,passage:_(`dissolve`,e,r)}},x=(e,r)=>{if(p.has(e))throw Error(`placement "${e}" was reached twice in one frame`);let i=f?.get(e),{drawing:a,deeper:o}=n.returned(e,r),s=a===null?b(e,i):y(e,a,i);return s===void 0?r:(p.set(e,s),s.passage!==null&&(s.passage.name===`fade`?m:h).push({placement:e,t:t-s.passage.since}),a===null?[...s.drawing.own,...o]:r)},S=(e,n)=>{let r=o.get(e)??a.get(e),i=r?.name===n?r:{name:n,since:t},s=t-i.since;return o.has(e)||(o.set(e,i),l.push({placement:e,effect:n,t:s})),{scope:e,name:n,t:s}},C=(e,t,n)=>{let r=c.get(e)??new Map;c.set(e,r);let i=r.get(t.scope);if(i!==void 0)return i.effect;let a=s.get(e)?.get(t.scope),o=a?.name===t.name&&a.span===n,l=$N(t.scope===JN?e:`${e}@${t.scope}`),u=o?a.effect:fs.loops[t.name]({span:n,z:l*eP});return g[o?`reused`:`made`]++,r.set(t.scope,{name:t.name,span:n,effect:u}),u},ee=e=>{let t=new Map;for(let{owner:n,placement:r}of e){let e=r.effect===`bar`?i:S(r.id,r.effect),a=t.get(e.scope);a===void 0?t.set(e.scope,{...e,owners:[n]}):a.owners.push(n)}return[...t.values()]},w=e=>{let n=new Map;for(let{owner:t,placement:r}of e){let e=n.get(r.id);e===void 0?n.set(r.id,[t]):e.push(t)}return[...n].flatMap(([e,n])=>{let r=p.get(e)?.passage??null;return r===null?[]:[{t:t-r.since,effect:xo(r.transition.effect,...n)}]})};return{placed:d===`off`?(e,t)=>t:x,row:(e,t)=>{let n=(t.some(e=>e.placement.effect!==`bar`)?ee(t):[{...i,owners:void 0}]).filter(YN),r=w(t);if(n.length===0&&r.length===0)return qN;let a=`${this.key}#${e}`;return{kind:`moving`,wrap:(e,t)=>new _o(e,XN([...n.map(e=>{let n=C(a,e,t);return{t:e.t,effect:e.owners===void 0?n:xo(n,...e.owners)}}),...r]),{t:i.t,key:a,theme:ZN})}},drawn:()=>{this.inForce=r,this.placements=o,this.made=c,this.drawn=d===`off`?null:{source:n.source,placements:p},this.frame=g}}}},nP=class{sessions=new Map;constructor(e=256){this.maxSessions=e}of(e){let t=this.sessions.get(e)??new tP(e);this.sessions.delete(e),this.sessions.set(e,t);for(let e of this.sessions.keys()){if(this.sessions.size<=this.maxSessions)break;this.sessions.delete(e)}return t}getStats(){let e=0;for(let t of this.sessions.values())e+=t.heldCount;return{sessions:this.sessions.size,effects:e}}};function rP(e){return Math.max(0,...e.split(`
179
- `).map(e=>A(e.replace(KN,``))))}function iP(e,t){return go(e,{...t,theme:WN,onStyleError:e=>{throw e}})}const aP=new Map;function oP(e){let t=aP.get(e);if(t!==void 0)return t;let n=t=>{let n=t.seam.map(t=>({...t,glyph:e}));return{...t,seam:n,divider:n}},{shape:r,ascii:i}=po.plain,a=new Xa(n(r),il(e)?n(i):i);return aP.set(e,a),a}function sP(e,t){return e===`plain`&&t!==void 0?oP(t):po[e]}const cP=e=>({asciiOnly:e===`ascii`}),lP=new Map;function uP(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=lP.get(t);if(n!==void 0)return n;let r=sP(e.endcaps,e.separator),i=e=>new U(`x`,{end:``,overflow:`ignore`,style:new V({bgcolor:e})}),a=t=>new U(iP(new Aa(t,r),{colorSystem:null,...cP(e.charset)}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return lP.set(t,s),s}function dP(e){return uP(e).chrome}function fP(e){return uP(e).seam}function pP(e,t,n=qN){if(e.length===0)return``;let r=sP(t.endcaps,t.separator),i=t.wrap&&Number.isFinite(t.width),a={colorSystem:t.colorCompatibility,...cP(t.charset),...i?{width:t.width}:{}},o=i?new vs([...e],{joiner:r}):new Aa([...e],r),s=n.kind===`still`?iP(o,a):iP(n.wrap(o,rP(iP(o,a))),a);if(!s.endsWith(`
180
- `))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return s.slice(0,-1)}function mP(e){return Math.min(20,e??20)}const hP={heading:`ERROR`,glyph:`⚠`,colors:HN},gP={heading:`WARNING`,glyph:`⚠`,colors:UN},_P={heading:`UPDATE`,glyph:`⬆`,colors:UN};function vP(e,t){return{text:LN(e),link:t}}function yP(e,t,n){let[r,...i]=[bP(e,hP,nM),t,bP(n,gP,rM)].flat();return r===void 0?null:{channels:[r,...i]}}function bP(e,t,n){let r=wM([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>vP(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function xP(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
181
- `)}function SP(e,t,n,r){if(t===null)return e;let i=CP(r),a=t.channels.flatMap(e=>wP(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[TP(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
182
- `);return e?`${l}\n${e}`:l}function CP(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function wP(e,t){let n=new V({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=Kt(Math.max(2,t.width-1)),i=(e,t)=>new U(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>pP([i(o===0?e.severity.glyph:` `,n.withLink(a[0].link)),...a.flatMap(e=>{let t=n.withLink(e.link);return e.text.split(` `).flatMap(e=>Zt(e,r)).map(e=>i(e,t))})],t).split(`
183
- `))}function TP(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new V({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new U(e,{style:t,end:``,overflow:`ignore`}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(ae(a.path).href)):c(`full text unavailable: ${LN(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(LN(o),s.withLink(ae(o).href))],d=[c(`↳ `,s),...l,...u.slice(0,-1)],f=d.reduce((e,t)=>e+t.cellLength,0),p=u.slice(-1).map(e=>e.truncate(Math.max(1,r.width-f),{mode:`middle`})),m=U.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,pP([m],r)}const EP=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function DP(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function OP(e,t){return r.readdirSync(t).filter(EP).sort().flatMap(n=>{let i=l.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?OP(e,i):[[l.relative(e,i).split(l.sep).join(`/`),DP(i,a)]]})}function kP(e){let t=oe.createHash(`sha256`);for(let[n,r]of OP(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const AP=e=>e.slice(0,7);function jP(e){return l.dirname(l.dirname(e))}function MP(){return{version:sj,digest:`630ab4eb72ae7f2bed9701614a3c4db8dc454ad4205479e723182f49ce6fc2b9`}}function NP(e){let t=JSON.parse(r.readFileSync(l.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${l.join(e,`package.json`)} has no version string`);return n}function PP(e,t){try{let n=jP(E(e)),i=l.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=kP(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:NP(n),digest:o},running:a}}catch(e){return{kind:`unchecked`,reason:e.message}}}var $=class extends Error{constructor(e){super(e),this.name=`BadVerbArgs`}};function FP(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function IP(e){let t=e.split(`:`);return t[0]===`remove`&&t.length===2&&t[1]?{op:`remove`,target:t[1]}:t[0]===`insert`&&t.length===4&&t[1]&&t[2]&&(t[3]===`before`||t[3]===`after`)?{op:`insert`,segment:t[1],anchor:t[2],relation:t[3]}:null}function LP(e,t,n){let r=wu(e,new Set(n.map(Cu).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const RP=/^-?\d+$/;function zP(e,t,n=`set-state`){let r=e.filter(e=>e.includes(`/`));if(r.length>0)throw Error(`makeAllowListValidator(${t}): values contain "/" — the ${n} wire shape splits values on "/" so slash-bearing options cannot be addressed. Offending values: ${r.join(`, `)}`);if(e.includes(``))throw Error(`makeAllowListValidator(${t}): empty string is not a writable option — the validator rejects empty input before the allow-list check, so an "" in the allowed list could be rendered but never delivered. Remove "" from the allowed list.`);let i=new Set(e),a=[...e];return e=>e?i.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown ${t} "${e}" (have: ${a.join(`, `)})`}:{ok:!1,reason:`${t} value is required`}}function BP(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!RP.test(t))return{ok:!1,reason:`${e} must be an integer, got "${t}"`};let n=t[0]===`-`,r=(n?t.slice(1):t).replace(/^0+/,``);return r===``?{ok:!0,value:`0`}:{ok:!0,value:n?`-${r}`:r}}}function VP(e,t,n){return r=>r?RP.test(r)?{ok:!0,value:String(Math.max(e,Math.min(t,parseInt(r,10))))}:{ok:!1,reason:`${n} must be an integer, got "${r}"`}:{ok:!1,reason:`${n} value is required`}}function HP(e,t,n=`state`){let r=t.filter(e=>e.kind===`range`),i=t.some(e=>e.kind===`int`),a=t.flatMap(e=>e.kind===`allow-list`?e.allowed:[]);if(r.length===0&&!i)return{kind:`allow-list`,allowed:[...new Set(a)]};let o=a.filter(e=>!RP.test(e));if(o.length>0)throw Error(`${n} action table: key "${e}" is an integer spec (a paged cursor or a bounded value) but a click writes non-integer value(s) to it (${o.join(`, `)}). A ${n} key has one key shape — point that click at a distinct key, or write an integer.`);if(i&&r.length>0)throw Error(`${n} action table: key "${e}" is declared as both a paged cursor (int) and a bounded value (range) — a ${n} key has one key shape. Use distinct keys.`);if(r.length>0){let t=Math.min(...r.map(e=>e.min)),i=Math.max(...r.map(e=>e.max)),o=a.filter(e=>{let n=parseInt(e,10);return n<t||n>i});if(o.length>0)throw Error(`${n} action table: key "${e}" is a bounded range [${t},${i}] but a click writes out-of-range value(s) to it (${o.join(`, `)}). The range gate would clamp them, storing a different value than the click renders — write an in-range integer, or point that click at a distinct key.`);return{kind:`range`,min:t,max:i}}return{kind:`int`}}function UP(e){return e===`config`?`set-config`:`set-state`}function WP(e,t,n){return t.kind===`int`?BP(`menu page "${e}"`):t.kind===`range`?VP(t.min,t.max,`${n} stepper "${e}"`):zP(t.allowed,`${n} "${e}"`,UP(n))}function GP(e,t=`state`){let n=new Map;for(let{key:t,spec:r}of e){let e=n.get(t);e?e.push(r):n.set(t,[r])}return[...n].map(([e,n])=>({key:e,spec:HP(e,n,t)}))}function KP(e,t,n,r){let i=new Map(Object.entries(e)),a=new Map,o=new Set(t.map(e=>e.key));for(let{key:e,spec:t}of n)if(o.has(e)&&t.kind!==`allow-list`)throw Error(`${r} gate: key "${e}" is written by the daemon's own links as one of a list of values, and cannot be declared as ${t.kind===`int`?`a paged cursor (int)`:`a bounded value (range)`}. Use a distinct key.`);let s=[...t.map(({key:e,allowed:t})=>({key:e,spec:{kind:`allow-list`,allowed:t}})),...n];for(let{key:t,spec:n}of GP(s,r)){if(!t)throw Error(`${r} gate: key is required`);if(t.includes(`/`))throw Error(`${r} gate: key "${t}" contains "/" — the wire shape splits on "/" so a slash-bearing key cannot be addressed. Use a slash-free key.`);if(Object.hasOwn(e,t))throw Error(`${r} gate: key "${t}" is a built-in ${r} key and cannot be re-claimed (built-in keys: ${Object.keys(e).join(`, `)})`);i.set(t,WP(t,n,r)),n.kind===`range`&&a.set(t,{min:n.min,max:n.max})}return{validate(e,t){let n=i.get(e);return n?n(t):{ok:!1,reason:`unknown ${r} key "${e}" (have: ${[...i.keys()].join(`, `)})`}},listKeys:()=>[...i.keys()],rangeParamsFor:e=>a.get(e)??null}}function qP(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};KP(e,[o],[],t),r.push(o),i++;let s=!0;return()=>{s&&(s=!1,r.splice(r.indexOf(o),1),i++)}},gateFor(o){let s=a.get(o);if(s?.epoch===i)return s.gate;let c=KP(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const JP=qP({},`config`,tF);function YP(e,t){return JP.register(e,t)}function XP(e){return JP.gateFor(e)}function ZP(e,t){return`persist`in e?`to`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:Ew(e.from,t).members}}]:`cycle`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:e.cycle}}]:`removeSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[FP({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[FP({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:Ew(e.insertSegmentFrom,t).members.map(t=>FP({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function QP(e,t){let n=If(e).get(t);return n===void 0?null:String(n)}function $P(e){let t=new Set;for(let n of Object.values(e.actions)){`reset`in n&&t.add(n.reset);let e=`persist`in n?Ww(n.persist):null;e?.scope===`preset-root`&&t.add(Bw(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function eF(e){let t=WD(e);return[...$P(e),...Object.values(e.actions).flatMap(e=>ZP(e,t))]}function tF(e){return GP(eF(e),`config`)}const nF={},rF=PT(`commands.`),iF=JT(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),aF=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,oF=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${aF}) (basename .project_dir) (ne (${aF}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,sF=`{{ ${aT} }}`,cF={min:0,max:100,step:5},lF={warnAt:{label:`warning at %`,domain:cF,default:50},errorAt:{label:`error at %`,domain:{...cF,atLeast:`warnAt`},default:80}};function uF(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:cF,default:80}}}const dF={globals:{palette:`tokyo-night`},variables:{...rF.variables,...$C,current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},version:{kind:`input`,path:`version`,default:``},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.color.branch":{kind:`literal`,value:`primary`},"git.color.staged":{kind:`literal`,value:`success`},"git.color.unstaged":{kind:`literal`,value:`warning`},"git.color.untracked":{kind:`literal`,value:`accent`},"git.color.conflicts":{kind:`literal`,value:`error`},"git.color.ahead":{kind:`literal`,value:`success`},"git.color.behind":{kind:`literal`,value:`warning`},"git.color.stash":{kind:`literal`,value:`accent`},"git.detail":{kind:`state`,key:`git-detail`,default:`collapsed`},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"memento.ceiling":{kind:`input`,path:`memento.ceiling`,type:`number`,default:-1},"memento.off":{kind:`input`,path:`memento.off`,type:`boolean`,default:!1},"memento.session":{kind:`input`,path:`memento.session`,default:``},"memento.error":{kind:`input`,path:`memento.error`,default:``},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0},"activity.command":{kind:`input`,path:`activity.command`,type:`string`,default:``},"activity.todo.total":{kind:`input`,path:`activity.todo.total`,type:`number`,default:0},"activity.todo.completed":{kind:`input`,path:`activity.todo.completed`,type:`number`,default:0},"activity.todo.position":{kind:`input`,path:`activity.todo.position`,type:`number`,default:0},"activity.todo.active":{kind:`input`,path:`activity.todo.active`,type:`string`,default:``},"activity.tool.running":{kind:`input`,path:`activity.tool.running`,type:`string`,default:``},"activity.tool.done":{kind:`input`,path:`activity.tool.done`,type:`string`,default:``}},segments:{directory:{group:`location`,description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project. Click to copy the full path.",template:oF},model:{group:`model-context`,description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{group:`session-tools`,description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{group:`model-context`,description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{group:`location`,description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{group:`location`,description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{group:`git`,description:`The git state: a summary (branch, ahead/behind, S/U/? flags) that the arrow at its right edge expands to every fact — repo, in-progress operation, sha, upstream ±, stash count, time since the last commit.`,template:`{{ if eq .git.detail "expanded" }}{{ template "gitExpanded" . }}{{ else }}{{ template "gitCollapsed" . }}{{ end }} {{ action "gitDetail" "▸" "◂" }}`,fg:sF,when:`{{ ne .git.branch "" }}`,settings:{aheadBehind:{label:`ahead/behind`,domain:`bool`,default:!0},flags:{label:`dirty flags`,domain:`bool`,default:!0},operation:{label:`operation`,domain:`bool`,default:!0},repo:{label:`repo name`,domain:`bool`,default:!0},sha:{label:`commit hash`,domain:`bool`,default:!0},stash:{label:`stash`,domain:`bool`,default:!0},upstream:{label:`upstream`,domain:`bool`,default:!0},age:{label:`time since commit`,domain:`bool`,default:!0}}},gitPr:{group:`git`,description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{group:`session-tools`,description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:CT(``).template},commands:{group:`session-tools`,description:`Type /compact, /model or /clear into this session; /clear asks for a second click. Hidden when not inside tmux.`,template:rF.template,when:rF.when},themeSwitcher:{group:`session-tools`,description:"`◀ <theme> ▶`: the theme the bar is wearing; ◀ and ▶ switch this session to the previous or next theme, wrapping at the ends.",template:`{{ carousel "stepTheme" 0 }}`},session:{group:`cost-limits`,description:`This session's cost and token total, with a budget warning once a budget is configured.`,template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:uF(0)},today:{group:`cost-limits`,description:`Today's cost and tokens across every session, with a budget warning once a budget is configured.`,template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:uF(50)},block:{group:`cost-limits`,description:`The 5-hour rate-limit block: percent used and time to reset, heating to warning then error.`,template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatResetCountdown" .block.resetsAt }})`,bg:`{{ ramp (round .block.nativeUtilization) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:lF,when:`{{ gt .block.resetsAt 0 }}`},weekly:{group:`cost-limits`,description:`The weekly rate-limit quota: percent used and time to reset, heating to warning then error.`,template:`◑ {{ round .weekly.percentage }}% ({{ template "formatResetCountdown" .weekly.resetsAt }})`,bg:`{{ ramp (round .weekly.percentage) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:lF,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{group:`cost-limits`,description:`Spend per hour, with the projected time to the 5-hour and weekly limits.`,template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:`{{ ramp .block.etaMinutes "step" -1 (tint) 0 "error" .settings.errorWithin "warning" .settings.warnWithin (tint) }}`,settings:{errorWithin:{label:`error within (min)`,domain:{min:0,max:300,step:5},default:30},warnWithin:{label:`warning within (min)`,domain:{min:0,max:300,step:5,atLeast:`errorWithin`},default:60}},when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{group:`activity`,description:`Token throughput for the latest exchange: output, input, and total.`,template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{group:`activity`,description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{group:`activity`,description:"Minutes until the prompt cache expires, or `cold` once it has.",template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ readableOn (color (cascade (minutesUntilReset .cache.expiresAt) "0:error" "9:warning" "21:foreground")) (bgOf) ${nc} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{group:`model-context`,description:`Context used, in tokens and percent remaining, heating as it fills.`,template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ ramp .context.contextLeft "step" 0 "error" 21 "warning" 41 (tint) }}`,when:`{{ gt .context.totalTokens 0 }}`},ceiling:{group:`model-context`,description:`The memento plugin's context ceiling for this session: − and + move it by 100K, ∞ lifts it, ↺ drops this session's own setting.`,template:`{{ if ne .memento.error "" }}⌈ ⚠ {{ .memento.error }} {{ action "ceiling.clear" "↺" }}{{ else }}⌈ {{ if .memento.off }}off{{ else }}{{ template "formatTokenCount" .memento.ceiling }} {{ action "ceiling.lower" "−" }} {{ action "ceiling.raise" "+" }} {{ action "ceiling.off" "∞" }}{{ end }}{{ if ne .memento.session "" }} {{ action "ceiling.clear" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .memento.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .memento.ceiling 0) (ne .memento.error "") }}`},autocompact:{group:`model-context`,description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session, so the controls show only inside tmux.`,template:iF.template,bg:iF.bg,when:iF.when},metrics:{group:`activity`,description:`Response times, session duration, message count, and lines added/removed.`,template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,when:`{{ or (gt .metrics.lastResponseTime 0.0) (gt .metrics.responseTime 0.0) (gt .metrics.sessionDuration 0.0) (gt .metrics.messageCount 0) (gt .metrics.linesAdded 0) (gt .metrics.linesRemoved 0) }}`},activity:{group:`activity`,description:`What Claude is doing: the slash command that opened the turn, the in-progress todo, and the tools in flight.`,template:`{{ if .activity.command }} ⌘ {{ .activity.command }}{{ end }}{{ if .activity.todo.total }}{{ if .activity.todo.active }} ☐ {{ .activity.todo.position }}/{{ .activity.todo.total }} {{ abbrev 32 .activity.todo.active }}{{ else }} ☑ {{ .activity.todo.completed }}/{{ .activity.todo.total }}{{ end }}{{ end }}{{ if .activity.tool.running }} ⟳ {{ template "formatToolTally" .activity.tool.running }}{{ end }}{{ if .activity.tool.done }} ✓ {{ template "formatToolTally" .activity.tool.done }}{{ end }} `,when:`{{ or (ne .activity.command "") (gt .activity.todo.total 0) (ne .activity.tool.running "") (ne .activity.tool.done "") }}`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`activity`}]}}},actions:{...CT(``).actions,...rF.actions,copyDir:{copy:`{{ .current_dir }}`},stepTheme:{set:`theme`,from:`themes`},gitDetail:{set:`git-detail`,cycle:[`collapsed`,`expanded`]},"ceiling.raise":{ceiling:`set`,to:`+100_000`},"ceiling.lower":{ceiling:`set`,to:`-100_000`},"ceiling.off":{ceiling:`set`,to:`off`},"ceiling.clear":{ceiling:`clear`},...iF.actions},styles:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},themeDefaults:nF,presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},zen:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`context`}]},globals:{endcaps:`plain`,style:`dim`}},git:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`activity`}]}]}},usage:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`session`},{kind:`segment`,name:`today`},{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},dense:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`session`},{kind:`segment`,name:`activity`}]},globals:{padding:0}}},editGlobals:{endcaps:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${nc}) .text }}`,gitCollapsed:`{{ template "gitBranch" . }}{{ template "gitAheadBehind" . }}{{ template "gitFlags" . }}`,gitExpanded:`(git){{ template "gitRepo" . }}{{ template "gitOperation" . }}{{ template "gitSha" . }}{{ template "gitFlags" . }} {{ template "gitBranch" . }}{{ template "gitUpstream" . }}{{ template "gitStash" . }}{{ template "gitAge" . }}`,gitBranch:`⎇ {{ template "gitPaint" (dict "color" .git.color.branch "text" .git.branch) }}`,gitRepo:`{{ if and .settings.repo (ne .git.repoName "") }} {{ .git.repoName }}{{ end }}`,gitOperation:`{{ if and .settings.operation (ne .git.operation "") }} [{{ .git.operation }}]{{ end }}`,gitSha:`{{ if and .settings.sha (ne .git.sha "") }} {{ .git.sha }}{{ end }}`,gitFlags:`{{ if and .settings.flags (or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0)) }} {{ if gt .git.staged 0 }}{{ template "gitPaint" (dict "color" .git.color.staged "text" "S") }}{{ end }}{{ if gt .git.unstaged 0 }}{{ template "gitPaint" (dict "color" .git.color.unstaged "text" "U") }}{{ end }}{{ if gt .git.untracked 0 }}{{ template "gitPaint" (dict "color" .git.color.untracked "text" "?") }}{{ end }}{{ if gt .git.conflicts 0 }}{{ template "gitPaint" (dict "color" .git.color.conflicts "text" (printf "!%v" .git.conflicts)) }}{{ end }}{{ end }}`,gitAheadBehind:`{{ if and .settings.aheadBehind (or (gt .git.ahead 0) (gt .git.behind 0)) }} {{ if gt .git.ahead 0 }}{{ template "gitPaint" (dict "color" .git.color.ahead "text" (printf "+%v" .git.ahead)) }}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}{{ template "gitPaint" (dict "color" .git.color.behind "text" (printf "-%v" .git.behind)) }}{{ end }}{{ end }}`,gitUpstream:`{{ if and .settings.upstream (ne .git.upstream "") }} [{{ .git.upstream }}{{ template "gitAheadBehind" . }}]{{ end }}`,gitStash:`{{ if and .settings.stash (gt .git.stash 0) }} {{ template "gitPaint" (dict "color" .git.color.stash "text" (printf "(%v stashed)" .git.stash)) }}{{ end }}`,gitAge:`{{ if and .settings.age (gt .git.timeSinceCommit 0) }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:YT(`.`),formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatToolTally:`{{ $names := splitList "," . }}{{ range $i, $pair := $names }}{{ if lt $i 2 }}{{ if $i }} {{ end }}{{ $kv := splitList ":" $pair }}{{ index $kv 0 }}{{ if ne (index $kv 1) "1" }}×{{ index $kv 1 }}{{ end }}{{ end }}{{ end }}{{ if gt (len $names) 2 }} +{{ sub (len $names) 2 }}{{ end }}`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`,formatResetCountdown:`{{ template "formatLongTimeRemaining" (add 1 (minutesUntilReset .)) }}`}},fF=new Set([dF.globals.palette,...Object.keys(dF.themeDefaults),...Object.values(dF.segments).map(e=>e.palette)].filter(e=>e!==void 0)),pF=Rd(PA(`<default>`,JSON.stringify(dF),fF),dF),mF=Pb(pF.presets);function hF(e){return mF.includes(e)}const gF=Object.freeze({});function _F(e,t){return e.kind===`decided`?t[e.name]??gF:gF}function vF(e,t){return{...e,...Object.fromEntries(ju.map(n=>[n,e[n]??t[n]]))}}function yF(e){if(!e)return``;try{return bF(s(e))}catch{return``}}function bF(e){return`${e.mtimeMs}:${e.size}`}const xF=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function SF(e){return((...t)=>xF.run(()=>e(...t)))}const CF=SF(ee),wF=SF(C),TF=SF(w);async function EF(e,t){return xF.run(async()=>{let n=null;try{n=await S(e,`r`);let r=await n.stat(),{size:i,ino:a}=r,o=bF(r),s=t!==void 0&&(a!==t.ino||i<t.offset),c=s||t===void 0?0:t.offset;if(c>=i)return J({buf:Buffer.alloc(0),start:c,size:i,stamp:o,ino:a,reset:s});let l=Buffer.alloc(i-c),u=0;for(;u<l.length;){let{bytesRead:e}=await n.read(l,u,l.length-u,c+u);if(e===0)break;u+=e}return J({buf:u===l.length?l:l.subarray(0,u),start:c,size:i,stamp:o,ino:a,reset:s})}catch(t){return t.code===`ENOENT`?Y:X(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{D(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function DF(e,t){return xF.run(async()=>{let n=null;try{n=await S(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return J({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?Y:X(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{D(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const OF=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function kF(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function AF(e){let t=await jF(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function jF(e){for(let t of[65536,1048576]){let n=await DF(e,t);if(n.kind!==`ok`)return n;let r=MF(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function MF(e,t){let n=e.toString(`utf8`).split(`
184
- `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!OF.test(t))continue;let r=kF(t);if(r!=null)return r}return null}function NF(e,t){return{...e,claudeConfigDir:IT(t.claudeConfigDir),env:t.mementoEnv}}const PF=l.join(`lib`,`ceiling_config.py`),FF=l.join(`skills`,`ceiling`,`bin`,`ceiling`);function IF(e,t){let n=typeof e==`object`&&e?e.plugins:void 0;if(typeof n!=`object`||!n)throw Error(`${t} has no "plugins" object`);return Object.entries(n).filter(([e])=>e.split(`@`)[0]===`memento`).flatMap(([e,n])=>{if(!Array.isArray(n))throw Error(`${t}: "${e}" is not a list of installs`);return n.map(n=>{let{scope:r,installPath:i,projectPath:a}=n??{};if(typeof r!=`string`||typeof i!=`string`)throw Error(`${t}: an install of "${e}" has no scope/path`);return typeof a==`string`?{key:e,scope:r,installPath:i,projectPath:a}:{key:e,scope:r,installPath:i}})})}function LF(e,t){let n=!0;for(let i of e){if(!r.existsSync(i))continue;let e;try{e=JSON.parse(r.readFileSync(i,`utf8`))?.enabledPlugins?.[t]}catch(e){return X(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return J(n)}function RF(e,t){if(!r.existsSync(e))return Y;let n;try{n=IF(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return X(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return Y;let a=LF([l.join(l.dirname(l.dirname(e)),`settings.json`),l.join(t,`.claude`,`settings.json`),l.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[PF,FF].filter(e=>!r.existsSync(l.join(i.installPath,e)));return o.length===0?J(i.installPath):X(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function zF(e,t=process.env){let n=new Set([`CLAUDE_PROJECT_DIR`,`CLAUDE_CODE_SESSION_ID`,...e.env===void 0?[]:$e]);return{...Object.fromEntries(Object.entries(t).filter(([e])=>!n.has(e))),...e.env,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function BF(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function VF(e){let t;try{t=JSON.parse(e)}catch{return X(`memento read: not JSON: ${e.trim()}`)}let{ceiling:n,session:r}=t??{},i=n===`off`||typeof n==`number`&&n>=0?n:void 0;return i!==void 0&&(r===null||typeof r==`string`)?J({ceiling:i,session:r}):X(`memento read: unexpected answer: ${e.trim()}`)}async function HF(e,t){let n=await je({bin:`python3`,args:[`-c`,`
183
+ Single-row example: root: { h: ["seg1", "seg2"] }`,line:X(e.source,[`layout`])}),t.root!==void 0&&(r.root=aM(e,`root`,t.root)),t.actions!==void 0&&(r.actions=kM(e,t.actions)),t.looks!==void 0&&e.issues.push({path:`looks`,message:`"looks" was renamed "styles" — move the block under styles: { … } (and globals.look to globals.style)`,line:X(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=bN(e,t.styles)),t.themeDefaults!==void 0&&(r.themeDefaults=_E(e,t.themeDefaults)),t.presets!==void 0&&(r.presets=SN(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=xE(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=CN(e,t.helpers)),t.plugins!==void 0&&(r.plugins=aF(e,t.plugins)),pM(e,r),CM(e,r),$E(e,r),Zw(e,r,Z,`the global settings menu`),r}const iF=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`themeDefaults`,`presets`,`editGlobals`,`helpers`,`plugins`]);function aF(e,t){if(Array.isArray(t)&&t.every(e=>typeof e==`string`&&e!==``))return t;e.issues.push({path:`plugins`,message:`"plugins" must be a list of plugin definition paths, got ${bT(t)}`,line:X(e.source,[`plugins`])})}const oF={},sF=UD(`commands.`),cF=YD(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),lF=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,uF=`{{ \$dir := .current_dir }}{{ if and (ne .home "") (or (eq .home .current_dir) (hasPrefix (printf "%s/" .home) .current_dir)) }}{{ \$dir = printf "~%s" (trimPrefix .home .current_dir) }}{{ else }}{{ if or (eq .project_dir .current_dir) (hasPrefix (printf "%s/" .project_dir) .current_dir) }}{{ $dir = ternary (${lF}) (basename .project_dir) (ne (${lF}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,dF=`{{ ${mD} }}`,fF={min:0,max:100,step:5},pF={warnAt:{label:`warning at %`,domain:fF,default:50},errorAt:{label:`error at %`,domain:{...fF,atLeast:`warnAt`},default:80}};function mF(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:fF,default:80}}}const hF={globals:{palette:`tokyo-night`},variables:{...sF.variables,...Fw,current_dir:{kind:`input`,path:`workspace.current_dir`,default:`?`},"model.display_name":{kind:`input`,path:`model.display_name`,default:``},version:{kind:`input`,path:`version`,default:``},home:{kind:`input`,path:`home`,default:``},"tmux.session":{kind:`input`,path:`tmux.session`,default:``},"host.name":{kind:`input`,path:`host.name`,default:``},"host.user":{kind:`input`,path:`host.user`,default:``},"host.ssh":{kind:`input`,path:`host.ssh`,type:`boolean`,default:!1},"git.repoName":{kind:`input`,path:`git.repoName`,default:``},"git.branch":{kind:`input`,path:`git.branch`,default:``},"git.sha":{kind:`input`,path:`git.sha`,default:``},"git.ahead":{kind:`input`,path:`git.ahead`,type:`number`,default:0},"git.behind":{kind:`input`,path:`git.behind`,type:`number`,default:0},"git.staged":{kind:`input`,path:`git.staged`,type:`number`,default:0},"git.unstaged":{kind:`input`,path:`git.unstaged`,type:`number`,default:0},"git.untracked":{kind:`input`,path:`git.untracked`,type:`number`,default:0},"git.conflicts":{kind:`input`,path:`git.conflicts`,type:`number`,default:0},"git.upstream":{kind:`input`,path:`git.upstream`,default:``},"git.stash":{kind:`input`,path:`git.stash`,type:`number`,default:0},"git.status":{kind:`input`,path:`git.status`,default:`clean`},"git.operation":{kind:`input`,path:`git.operation`,default:``},"git.timeSinceCommit":{kind:`input`,path:`git.timeSinceCommit`,type:`number`,default:0},"git.color.branch":{kind:`literal`,value:`primary`},"git.color.staged":{kind:`literal`,value:`success`},"git.color.unstaged":{kind:`literal`,value:`warning`},"git.color.untracked":{kind:`literal`,value:`accent`},"git.color.conflicts":{kind:`literal`,value:`error`},"git.color.ahead":{kind:`literal`,value:`success`},"git.color.behind":{kind:`literal`,value:`warning`},"git.color.stash":{kind:`literal`,value:`accent`},"git.detail":{kind:`state`,key:`git-detail`,default:`collapsed`},"git.prNumber":{kind:`input`,path:`git.prNumber`,type:`number`,default:0},"git.prState":{kind:`input`,path:`git.prState`,default:``},"git.prUrl":{kind:`input`,path:`git.prUrl`,default:``},"git.prError":{kind:`input`,path:`git.prError`,default:``},"cache.expiresAt":{kind:`input`,path:`cache.expiresAt`,type:`number`,default:0},"session.cost":{kind:`input`,path:`session.cost`,type:`number`,default:0},"session.tokens":{kind:`input`,path:`session.tokens`,type:`number`,default:0},"today.cost":{kind:`input`,path:`today.cost`,type:`number`,default:0},"today.tokens":{kind:`input`,path:`today.tokens`,type:`number`,default:0},"block.nativeUtilization":{kind:`input`,path:`block.nativeUtilization`,type:`number`,default:0},"block.resetsAt":{kind:`input`,path:`block.resetsAt`,type:`number`,default:0},"weekly.percentage":{kind:`input`,path:`weekly.percentage`,type:`number`,default:0},"weekly.resetsAt":{kind:`input`,path:`weekly.resetsAt`,type:`number`,default:0},"burn.costPerHour":{kind:`input`,path:`burn.costPerHour`,type:`number`,default:-1},"block.etaMinutes":{kind:`input`,path:`block.etaMinutes`,type:`number`,default:-1},"weekly.etaMinutes":{kind:`input`,path:`weekly.etaMinutes`,type:`number`,default:-1},"speed.input":{kind:`input`,path:`speed.input`,type:`number`,default:-1},"speed.output":{kind:`input`,path:`speed.output`,type:`number`,default:-1},"speed.total":{kind:`input`,path:`speed.total`,type:`number`,default:-1},"speed.history":{kind:`input`,path:`speed.history`,type:`string`,default:``},"context.totalTokens":{kind:`input`,path:`context.totalTokens`,type:`number`,default:0},"context.contextLeft":{kind:`input`,path:`context.contextLeft`,type:`number`,default:100},"memento.ceiling":{kind:`input`,path:`memento.ceiling`,type:`number`,default:-1},"memento.off":{kind:`input`,path:`memento.off`,type:`boolean`,default:!1},"memento.session":{kind:`input`,path:`memento.session`,default:``},"memento.error":{kind:`input`,path:`memento.error`,default:``},"metrics.lastResponseTime":{kind:`input`,path:`metrics.lastResponseTime`,type:`number`,default:0},"metrics.responseTime":{kind:`input`,path:`metrics.responseTime`,type:`number`,default:0},"metrics.sessionDuration":{kind:`input`,path:`metrics.sessionDuration`,type:`number`,default:0},"metrics.messageCount":{kind:`input`,path:`metrics.messageCount`,type:`number`,default:0},"metrics.linesAdded":{kind:`input`,path:`metrics.linesAdded`,type:`number`,default:0},"metrics.linesRemoved":{kind:`input`,path:`metrics.linesRemoved`,type:`number`,default:0},"activity.command":{kind:`input`,path:`activity.command`,type:`string`,default:``},"activity.todo.total":{kind:`input`,path:`activity.todo.total`,type:`number`,default:0},"activity.todo.completed":{kind:`input`,path:`activity.todo.completed`,type:`number`,default:0},"activity.todo.position":{kind:`input`,path:`activity.todo.position`,type:`number`,default:0},"activity.todo.active":{kind:`input`,path:`activity.todo.active`,type:`string`,default:``},"activity.tool.running":{kind:`input`,path:`activity.tool.running`,type:`string`,default:``},"activity.tool.done":{kind:`input`,path:`activity.tool.done`,type:`string`,default:``}},segments:{directory:{group:`location`,description:"The current directory, shortened fish-style — `~` under home, project-relative inside the project. Click to copy the full path.",template:uF},model:{group:`model-context`,description:`The active model's display name.`,template:`✱ {{ formatModelName .model.display_name }}`,when:`{{ ne .model.display_name "" }}`},sessionId:{group:`session-tools`,description:`The session id, truncated to 8 characters.`,template:`⌗{{ trunc 8 .session.id }}`,when:`{{ ne .session.id "" }}`},version:{group:`model-context`,description:`The Claude Code version reported in the hook payload.`,template:`◈ v{{ .version }}`,when:`{{ ne .version "" }}`},tmux:{group:`location`,description:`The tmux session name; hidden when not inside tmux.`,template:`tmux:{{ .tmux.session | default "none" }}`,when:`{{ ne .tmux.session "" }}`},host:{group:`location`,description:`user@host on a warning background, shown only over SSH.`,template:`⇄ {{ .host.user | default "?" }}@{{ .host.name | default "?" }}`,bg:`warning`,when:`{{ .host.ssh }}`},gitaculous:{group:`git`,description:`The git state: a summary (branch, ahead/behind, S/U/? flags) that the arrow at its right edge expands to every fact — repo, in-progress operation, sha, upstream ±, stash count, time since the last commit.`,template:`{{ if eq .git.detail "expanded" }}{{ template "gitExpanded" . }}{{ else }}{{ template "gitCollapsed" . }}{{ end }} {{ action "gitDetail" "▸" "◂" }}`,fg:dF,when:`{{ ne .git.branch "" }}`,settings:{aheadBehind:{label:`ahead/behind`,domain:`bool`,default:!0},flags:{label:`dirty flags`,domain:`bool`,default:!0},operation:{label:`operation`,domain:`bool`,default:!0},repo:{label:`repo name`,domain:`bool`,default:!0},sha:{label:`commit hash`,domain:`bool`,default:!0},stash:{label:`stash`,domain:`bool`,default:!0},upstream:{label:`upstream`,domain:`bool`,default:!0},age:{label:`time since commit`,domain:`bool`,default:!0}}},gitPr:{group:`git`,description:"The pull request open for this branch, as a link; `⚠ PR` when the forge lookup failed.",template:`{{ if ne .git.prUrl "" }}{{ link .git.prUrl (printf "⇆ #%v" .git.prNumber) }}{{ else }}⚠ PR{{ end }}`,when:`{{ or (ne .git.prUrl "") (ne .git.prError "") }}`},toolbar:{group:`session-tools`,description:`Quick actions: copy the session id, and open the project, transcript or repo.`,template:MD(``).template},commands:{group:`session-tools`,description:`Type /compact, /model or /clear into this session; /clear asks for a second click. Hidden when not inside tmux.`,template:sF.template,when:sF.when},themeSwitcher:{group:`session-tools`,description:"`◀ <theme> ▶`: the theme the bar is wearing; ◀ and ▶ switch this session to the previous or next theme, wrapping at the ends.",template:`{{ carousel "stepTheme" 0 }}`},session:{group:`cost-limits`,description:`This session's cost and token total, with a budget warning once a budget is configured.`,template:`§ {{ template "formatCost" .session.cost }} ({{ template "formatTokens" .session.tokens }}){{ template "budgetStatus" (dict "cost" .session.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:mF(0)},today:{group:`cost-limits`,description:`Today's cost and tokens across every session, with a budget warning once a budget is configured.`,template:`☉ {{ template "formatCost" .today.cost }} ({{ template "formatTokens" .today.tokens }}){{ template "budgetStatus" (dict "cost" .today.cost "budget" .settings.budget "warn" .settings.warnAt) }}`,settings:mF(50)},block:{group:`cost-limits`,description:`The 5-hour rate-limit block: percent used and time to reset, heating to warning then error.`,template:`◱ {{ round .block.nativeUtilization }}% ({{ template "formatResetCountdown" .block.resetsAt }})`,bg:`{{ ramp (round .block.nativeUtilization) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:pF,when:`{{ gt .block.resetsAt 0 }}`},weekly:{group:`cost-limits`,description:`The weekly rate-limit quota: percent used and time to reset, heating to warning then error.`,template:`◑ {{ round .weekly.percentage }}% ({{ template "formatResetCountdown" .weekly.resetsAt }})`,bg:`{{ ramp (round .weekly.percentage) "step" 0 (tint) .settings.warnAt "warning" .settings.errorAt "error" }}`,settings:pF,when:`{{ gt .weekly.resetsAt 0 }}`},burnrate:{group:`cost-limits`,description:`Spend per hour, with the projected time to the 5-hour and weekly limits.`,template:`⚡ {{ template "formatRate" .burn.costPerHour }} · {{ template "formatEta" .block.etaMinutes }} to 5h · {{ template "formatEta" .weekly.etaMinutes }} to wk`,bg:`{{ ramp .block.etaMinutes "step" -1 (tint) 0 "error" .settings.errorWithin "warning" .settings.warnWithin (tint) }}`,settings:{errorWithin:{label:`error within (min)`,domain:{min:0,max:300,step:5},default:30},warnWithin:{label:`warning within (min)`,domain:{min:0,max:300,step:5,atLeast:`errorWithin`},default:60}},when:`{{ or (gt .block.resetsAt 0) (gt .weekly.resetsAt 0) }}`},speed:{group:`activity`,description:`Token throughput for the latest exchange: output, input, and total.`,template:`⇅ out {{ template "formatSpeed" .speed.output }} · in {{ template "formatSpeed" .speed.input }} · tot {{ template "formatSpeed" .speed.total }}`,when:`{{ gt .session.tokens 0 }}`},tokenSparkline:{group:`activity`,description:`A sparkline of recent token throughput.`,template:`⚡ {{ sparkline .speed.history 24 }}`,when:`{{ ne .speed.history "" }}`},cacheTimer:{group:`activity`,description:"Minutes until the prompt cache expires, or `cold` once it has.",template:`◴ {{ if le (minutesUntilReset .cache.expiresAt) 0 }}cold{{ else }}{{ minutesUntilReset .cache.expiresAt }}m{{ end }}`,fg:`{{ readableOn (color (cascade (minutesUntilReset .cache.expiresAt) "0:error" "9:warning" "21:foreground")) (bgOf) ${Mf} }}`,when:`{{ gt .cache.expiresAt 0 }}`},context:{group:`model-context`,description:`Context used, in tokens and percent remaining, heating as it fills.`,template:`◔ {{ formatInteger .context.totalTokens }} ({{ .context.contextLeft }}%)`,bg:`{{ ramp .context.contextLeft "step" 0 "error" 21 "warning" 41 (tint) }}`,when:`{{ gt .context.totalTokens 0 }}`},ceiling:{group:`model-context`,description:`The memento plugin's context ceiling for this session: − and + move it by 100K, ∞ lifts it, ↺ drops this session's own setting.`,template:`{{ if ne .memento.error "" }}⌈ ⚠ {{ .memento.error }} {{ action "ceiling.clear" "↺" }}{{ else }}⌈ {{ if .memento.off }}off{{ else }}{{ template "formatTokenCount" .memento.ceiling }} {{ action "ceiling.lower" "−" }} {{ action "ceiling.raise" "+" }} {{ action "ceiling.off" "∞" }}{{ end }}{{ if ne .memento.session "" }} {{ action "ceiling.clear" "↺" }}{{ end }}{{ end }}`,bg:`{{ if ne .memento.error "" }}{{ color "error" }}{{ else }}{{ tint }}{{ end }}`,when:`{{ or (ge .memento.ceiling 0) (ne .memento.error "") }}`},autocompact:{group:`model-context`,description:`Claude Code's auto-compact window: − and + move it by 100K, ↺ returns it to auto. Clicks type /autocompact into this session, so the controls show only inside tmux.`,template:cF.template,bg:cF.bg,when:cF.when},metrics:{group:`activity`,description:`Response times, session duration, message count, and lines added/removed.`,template:`{{ if .metrics.lastResponseTime }} Δ {{ template "formatResponseTime" .metrics.lastResponseTime }}{{ end }}{{ if .metrics.responseTime }} ⧖ {{ template "formatResponseTime" .metrics.responseTime }}{{ end }}{{ if .metrics.sessionDuration }} ⧗ {{ template "formatDuration" .metrics.sessionDuration }}{{ end }}{{ if .metrics.messageCount }} ◆ {{ .metrics.messageCount }}{{ end }}{{ if .metrics.linesAdded }} + {{ .metrics.linesAdded }}{{ end }}{{ if .metrics.linesRemoved }} - {{ .metrics.linesRemoved }}{{ end }} `,when:`{{ or (gt .metrics.lastResponseTime 0.0) (gt .metrics.responseTime 0.0) (gt .metrics.sessionDuration 0.0) (gt .metrics.messageCount 0) (gt .metrics.linesAdded 0) (gt .metrics.linesRemoved 0) }}`},activity:{group:`activity`,description:`What Claude is doing: the slash command that opened the turn, the in-progress todo, and the tools in flight.`,template:`{{ if .activity.command }} ⌘ {{ .activity.command }}{{ end }}{{ if .activity.todo.total }}{{ if .activity.todo.active }} ☐ {{ .activity.todo.position }}/{{ .activity.todo.total }} {{ abbrev 32 .activity.todo.active }}{{ else }} ☑ {{ .activity.todo.completed }}/{{ .activity.todo.total }}{{ end }}{{ end }}{{ if .activity.tool.running }} ⟳ {{ template "formatToolTally" .activity.tool.running }}{{ end }}{{ if .activity.tool.done }} ✓ {{ template "formatToolTally" .activity.tool.done }}{{ end }} `,when:`{{ or (ne .activity.command "") (gt .activity.todo.total 0) (ne .activity.tool.running "") (ne .activity.tool.done "") }}`}},root:{rows:{identity:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`}]},status:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`activity`}]}}},actions:{...MD(``).actions,...sF.actions,copyDir:{copy:`{{ .current_dir }}`},stepTheme:{set:`theme`,from:`themes`},gitDetail:{set:`git-detail`,cycle:[`collapsed`,`expanded`]},"ceiling.raise":{ceiling:`set`,to:`+100_000`},"ceiling.lower":{ceiling:`set`,to:`-100_000`},"ceiling.off":{ceiling:`set`,to:`off`},"ceiling.clear":{ceiling:`clear`},...cF.actions},styles:{none:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0},vivid:{hueShift:0,chromaScale:1.35,lightnessScale:1,lightnessShift:0},muted:{hueShift:0,chromaScale:.55,lightnessScale:1,lightnessShift:0},dim:{hueShift:0,chromaScale:1,lightnessScale:.85,lightnessShift:0},bright:{hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:.08},inverted:{hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1}},themeDefaults:oF,presets:{default:{},compact:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`context`}]},globals:{padding:0}},verbose:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},zen:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`directory`},{kind:`segment`,name:`context`}]},globals:{endcaps:`plain`,style:`dim`}},git:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`gitPr`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`segment`,name:`context`},{kind:`segment`,name:`activity`}]}]}},usage:{root:{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`burnrate`}]},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`session`},{kind:`segment`,name:`today`},{kind:`segment`,name:`speed`},{kind:`segment`,name:`tokenSparkline`}]}]}},dense:{root:{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`host`},{kind:`segment`,name:`directory`},{kind:`segment`,name:`gitaculous`},{kind:`segment`,name:`model`},{kind:`container`,direction:`horizontal`,children:[{kind:`segment`,name:`context`},{kind:`segment`,name:`ceiling`},{kind:`segment`,name:`autocompact`}]},{kind:`segment`,name:`cacheTimer`},{kind:`segment`,name:`block`},{kind:`segment`,name:`weekly`},{kind:`segment`,name:`session`},{kind:`segment`,name:`activity`}]},globals:{padding:0}}},editGlobals:{endcaps:`plain`,default_separator:` | `},helpers:{gitPaint:`{{ fg (readableOn (color .color) (bgOf) ${Mf}) .text }}`,gitCollapsed:`{{ template "gitBranch" . }}{{ template "gitAheadBehind" . }}{{ template "gitFlags" . }}`,gitExpanded:`(git){{ template "gitRepo" . }}{{ template "gitOperation" . }}{{ template "gitSha" . }}{{ template "gitFlags" . }} {{ template "gitBranch" . }}{{ template "gitUpstream" . }}{{ template "gitStash" . }}{{ template "gitAge" . }}`,gitBranch:`⎇ {{ template "gitPaint" (dict "color" .git.color.branch "text" .git.branch) }}`,gitRepo:`{{ if and .settings.repo (ne .git.repoName "") }} {{ .git.repoName }}{{ end }}`,gitOperation:`{{ if and .settings.operation (ne .git.operation "") }} [{{ .git.operation }}]{{ end }}`,gitSha:`{{ if and .settings.sha (ne .git.sha "") }} {{ .git.sha }}{{ end }}`,gitFlags:`{{ if and .settings.flags (or (gt .git.staged 0) (gt .git.unstaged 0) (gt .git.untracked 0) (gt .git.conflicts 0)) }} {{ if gt .git.staged 0 }}{{ template "gitPaint" (dict "color" .git.color.staged "text" "S") }}{{ end }}{{ if gt .git.unstaged 0 }}{{ template "gitPaint" (dict "color" .git.color.unstaged "text" "U") }}{{ end }}{{ if gt .git.untracked 0 }}{{ template "gitPaint" (dict "color" .git.color.untracked "text" "?") }}{{ end }}{{ if gt .git.conflicts 0 }}{{ template "gitPaint" (dict "color" .git.color.conflicts "text" (printf "!%v" .git.conflicts)) }}{{ end }}{{ end }}`,gitAheadBehind:`{{ if and .settings.aheadBehind (or (gt .git.ahead 0) (gt .git.behind 0)) }} {{ if gt .git.ahead 0 }}{{ template "gitPaint" (dict "color" .git.color.ahead "text" (printf "+%v" .git.ahead)) }}{{ end }}{{ if and (gt .git.ahead 0) (gt .git.behind 0) }}/{{ end }}{{ if gt .git.behind 0 }}{{ template "gitPaint" (dict "color" .git.color.behind "text" (printf "-%v" .git.behind)) }}{{ end }}{{ end }}`,gitUpstream:`{{ if and .settings.upstream (ne .git.upstream "") }} [{{ .git.upstream }}{{ template "gitAheadBehind" . }}]{{ end }}`,gitStash:`{{ if and .settings.stash (gt .git.stash 0) }} {{ template "gitPaint" (dict "color" .git.color.stash "text" (printf "(%v stashed)" .git.stash)) }}{{ end }}`,gitAge:`{{ if and .settings.age (gt .git.timeSinceCommit 0) }} ◷ {{ template "formatTimeSince" .git.timeSinceCommit }}{{ end }}`,formatCost:'{{ if lt . 0.01 }}<$0.01{{ else }}${{ printf "%.2f" . }}{{ end }}',formatTokenCount:XD(`.`),formatTokens:`{{ template "formatTokenCount" . }} tokens`,formatToolTally:`{{ $names := splitList "," . }}{{ range $i, $pair := $names }}{{ if lt $i 2 }}{{ if $i }} {{ end }}{{ $kv := splitList ":" $pair }}{{ index $kv 0 }}{{ if ne (index $kv 1) "1" }}×{{ index $kv 1 }}{{ end }}{{ end }}{{ end }}{{ if gt (len $names) 2 }} +{{ sub (len $names) 2 }}{{ end }}`,formatRate:`{{ if lt . 0 }}—/hr{{ else }}{{ template "formatCost" . }}/hr{{ end }}`,formatEta:`{{ if lt . 0 }}—{{ else }}{{ template "formatLongTimeRemaining" . }}{{ end }}`,formatSpeed:`{{ if lt . 0 }}—{{ else }}{{ template "formatTokenCount" (round .) }}/s{{ end }}`,formatTokenBreakdown:`{{ $first := true }}{{ if gt .input 0 }}{{ template "formatTokenCount" .input }} in{{ $first = false }}{{ end }}{{ if gt .output 0 }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" .output }} out{{ $first = false }}{{ end }}{{ if or (gt .cacheCreation 0) (gt .cacheRead 0) }}{{ if not $first }} + {{ end }}{{ template "formatTokenCount" (add .cacheCreation .cacheRead) }} cached{{ $first = false }}{{ end }}{{ if $first }}0 tokens{{ end }}`,budgetStatus:`{{ if or (le .budget 0) (lt .cost 0) }}{{ else }}{{ $pct := minf 100 (mulf (divf .cost .budget) 100) }}{{ $p := printf "%.0f%%" $pct }}{{ if ge $pct .warn }} !{{ $p }}{{ else }}{{ if ge $pct 50 }} +{{ $p }}{{ else }} {{ $p }}{{ end }}{{ end }}{{ end }}`,formatTimeSince:`{{ if lt . 60 }}{{ . }}s{{ else if lt . 3600 }}{{ div . 60 }}m{{ else if lt . 86400 }}{{ div . 3600 }}h{{ else if lt . 604800 }}{{ div . 86400 }}d{{ else }}{{ div . 604800 }}w{{ end }}`,formatDuration:`{{ if lt . 60 }}{{ printf "%.0f" . }}s{{ else if lt . 3600 }}{{ printf "%.0f" (divf . 60) }}m{{ else if lt . 86400 }}{{ printf "%.1f" (divf . 3600) }}h{{ else }}{{ printf "%.1f" (divf . 86400) }}d{{ end }}`,formatResponseTime:`{{ if lt . 60 }}{{ printf "%.1f" . }}s{{ else }}{{ printf "%.1f" (divf . 60) }}m{{ end }}`,formatLongTimeRemaining:`{{ if ge . 1440 }}{{ $d := div . 1440 }}{{ $h := div (mod . 1440) 60 }}{{ if gt $h 0 }}{{ $d }}d {{ $h }}h{{ else }}{{ $d }}d{{ end }}{{ else if ge . 60 }}{{ $h := div . 60 }}{{ $m := mod . 60 }}{{ if gt $m 0 }}{{ $h }}h {{ $m }}m{{ else }}{{ $h }}h{{ end }}{{ else }}{{ . }}m{{ end }}`,formatResetCountdown:`{{ template "formatLongTimeRemaining" (add 1 (minutesUntilReset .)) }}`}},gF=new Set([hF.globals.palette,...Object.keys(hF.themeDefaults),...Object.values(hF.segments).map(e=>e.palette)].filter(e=>e!==void 0)),_F=jA($P(`<default>`,JSON.stringify(hF),gF),hF),vF=Wh(_F.presets);function yF(e){return vF.includes(e)}const bF=Object.freeze({});function xF(e,t){return e.kind===`decided`?t[e.name]??bF:bF}function SF(e,t){return{...e,...Object.fromEntries(ph.map(n=>[n,e[n]??t[n]]))}}function CF(e){if(!e)return``;try{return wF(s(e))}catch{return``}}function wF(e){return`${e.mtimeMs}:${e.size}`}const TF=new class{slots;head=null;tail=null;constructor(e){this.slots=e}async run(e){await this.acquire();try{return await e()}finally{this.release()}}async acquire(){if(this.slots>0){this.slots--;return}await new Promise(e=>{let t={wake:e,next:null};this.tail?this.tail.next=t:this.head=t,this.tail=t})}release(){let e=this.head;if(!e){this.slots++;return}this.head=e.next,this.head||(this.tail=null),e.wake()}}(8);function EF(e){return((...t)=>TF.run(()=>e(...t)))}const DF=EF(ae),OF=EF(E),kF=EF(oe);async function AF(e,t){return TF.run(async()=>{let n=null;try{n=await T(e,`r`);let r=await n.stat(),{size:i,ino:a}=r,o=wF(r),s=t!==void 0&&(a!==t.ino||i<t.offset),c=s||t===void 0?0:t.offset;if(c>=i)return R({buf:Buffer.alloc(0),start:c,size:i,stamp:o,ino:a,reset:s});let l=Buffer.alloc(i-c),u=0;for(;u<l.length;){let{bytesRead:e}=await n.read(l,u,l.length-u,c+u);if(e===0)break;u+=e}return R({buf:u===l.length?l:l.subarray(0,u),start:c,size:i,stamp:o,ino:a,reset:s})}catch(t){return t.code===`ENOENT`?z:B(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{k(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function jF(e,t){return TF.run(async()=>{let n=null;try{n=await T(e,`r`);let{size:r}=await n.stat(),i=Math.max(0,r-t),a=Buffer.alloc(r-i),o=0;for(;o<a.length;){let{bytesRead:e}=await n.read(a,o,a.length-o,i+o);if(e===0)break;o+=e}return R({buf:o===a.length?a:a.subarray(0,o),fromStart:i===0})}catch(t){return t.code===`ENOENT`?z:B(`readTail ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{k(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const MF=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function NF(e){let t;try{t=JSON.parse(e)}catch{return null}let n=t.message?.usage;if(!((n?.cache_read_input_tokens??0)>0||(n?.cache_creation_input_tokens??0)>0))return null;let r=t.timestamp==null?NaN:Date.parse(t.timestamp);return Number.isNaN(r)?null:r}async function PF(e){let t=await FF(e);return t.kind===`ok`?R(Math.floor((t.value+36e5)/1e3)):t}async function FF(e){for(let t of[65536,1048576]){let n=await jF(e,t);if(n.kind!==`ok`)return n;let r=IF(n.value.buf,n.value.fromStart);if(r!=null)return R(r);if(n.value.fromStart)return z}return z}function IF(e,t){let n=e.toString(`utf8`).split(`
184
+ `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!MF.test(t))continue;let r=NF(t);if(r!=null)return r}return null}function LF(e,t){return{...e,claudeConfigDir:ti(t.claudeConfigDir),env:t.mementoEnv}}const RF=l.join(`lib`,`ceiling_config.py`),zF=l.join(`skills`,`ceiling`,`bin`,`ceiling`);function BF(e,t){let n=typeof e==`object`&&e?e.plugins:void 0;if(typeof n!=`object`||!n)throw Error(`${t} has no "plugins" object`);return Object.entries(n).filter(([e])=>e.split(`@`)[0]===`memento`).flatMap(([e,n])=>{if(!Array.isArray(n))throw Error(`${t}: "${e}" is not a list of installs`);return n.map(n=>{let{scope:r,installPath:i,projectPath:a}=n??{};if(typeof r!=`string`||typeof i!=`string`)throw Error(`${t}: an install of "${e}" has no scope/path`);return typeof a==`string`?{key:e,scope:r,installPath:i,projectPath:a}:{key:e,scope:r,installPath:i}})})}function VF(e,t){let n=!0;for(let i of e){if(!r.existsSync(i))continue;let e;try{e=JSON.parse(r.readFileSync(i,`utf8`))?.enabledPlugins?.[t]}catch(e){return B(`memento lookup: ${i}: ${e.message}`)}typeof e==`boolean`&&(n=e)}return R(n)}function HF(e,t){if(!r.existsSync(e))return z;let n;try{n=BF(JSON.parse(r.readFileSync(e,`utf8`)),e)}catch(e){return B(`memento lookup: ${e.message}`)}let i=n.find(e=>e.projectPath===t)??n.find(e=>e.scope===`user`);if(i===void 0)return z;let a=VF([l.join(l.dirname(l.dirname(e)),`settings.json`),l.join(t,`.claude`,`settings.json`),l.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return z;let o=[RF,zF].filter(e=>!r.existsSync(l.join(i.installPath,e)));return o.length===0?R(i.installPath):B(`memento at ${i.installPath} has no ${o.join(` or `)} — upgrade the plugin`)}function UF(e,t=process.env){let n=new Set([`CLAUDE_PROJECT_DIR`,`CLAUDE_CODE_SESSION_ID`,...e.env===void 0?[]:Ze]);return{...Object.fromEntries(Object.entries(t).filter(([e])=>!n.has(e))),...e.env,CLAUDE_CODE_SESSION_ID:e.sessionId,CLAUDE_PROJECT_DIR:e.projectDir||e.cwd}}function WF(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function GF(e){let t;try{t=JSON.parse(e)}catch{return B(`memento read: not JSON: ${e.trim()}`)}let{ceiling:n,session:r}=t??{},i=n===`off`||typeof n==`number`&&n>=0?n:void 0;return i!==void 0&&(r===null||typeof r==`string`)?R({ceiling:i,session:r}):B(`memento read: unexpected answer: ${e.trim()}`)}async function KF(e,t){let n=await ke({bin:`python3`,args:[`-c`,`
185
185
  import json, math, sys
186
186
  sys.path.insert(0, sys.argv[1])
187
187
  from ceiling_config import CONFIG_NAME, anchored, ceiling_in, in_force, session_directory
@@ -190,42 +190,42 @@ ceiling = in_force(directory, anchored(sys.argv[3]))
190
190
  layer = ceiling_in(directory / CONFIG_NAME)
191
191
  print(json.dumps({"ceiling": "off" if ceiling == math.inf else ceiling,
192
192
  "session": layer.text if layer else None}))
193
- `,l.join(e,`lib`),t.sessionId,t.cwd],env:zF(t),timeoutMs:3e3,category:`memento.read`});return n.ok?VF(n.stdout):X(BF(n))}function UF(e,t,n){let r=O({bin:l.join(e,FF),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:zF(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(BF(r))}function WF(){return{locate:e=>RF(RT(e.claudeConfigDir),e.projectDir),read:HF,move:UF}}function GF(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${MM(n)} `,i=e.added_dirs.map(e=>` --add-dir ${MM(e)}`).join(``);return`cd ${MM(e.project_dir)} && ${r}claude --resume ${MM(t)}${i}`}function KF(e,t,n){let r=Fb(t(`preset`),e.globals.preset,e.presets),i=Rb(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{},o=yw(a.palette,t(`theme`),i.palette),s=vF(i,_F(o,e.themeDefaults));return{preset:r,presetCustomized:n(r),theme:o,style:Gc(a.style,t(`style`),s.style,e.styles),effect:Zc(a.effect,t(`effect`),s.effect),endcaps:nl(a.endcaps,t(`endcaps`),s.endcaps),variation:ul(a.variation,t(`variation`),s.variation),shade:pl(a.shade,t(`shade`),s.shade),separator:a.default_separator??s.default_separator,autoWrap:xl(a.autoWrap,t(`autoWrap`),s.autoWrap),padding:wl(a.padding,t(`padding`),s.padding),charset:a.charset??s.charset??`unicode`,updateNotice:Sl(a.updateNotice,t(`updateNotice`),s.updateNotice),transitions:Cl(a.transitions,t(`transitions`),s.transitions),colorCompatibility:a.colorCompatibility??s.colorCompatibility??`truecolor`}}function qF(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function JF(e){return{theme:e.theme,style:e.style,effect:e.effect,preset:e.preset,variation:e.variation,shade:e.shade,transitions:e.transitions}}function YF(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:hF(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},shade:{effective:e.shade},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice},transitions:{effective:e.transitions}}}const XF=10*1e3;function ZF(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function QF(e,t){if(!(t<60))return e*3600/t}function $F(e,t,n,r){let i=r-t;if(i<50||i>XF)return;let a=n-e;if(!(a<=0))return a*1e3/i}function eI(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=$F(t.input,t.atMs,n.input,n.atMs),i=$F(t.output,t.atMs,n.output,n.atMs),a=$F(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function tI(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>XF)continue;let o=$F(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function nI(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function rI(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>nI(h.hostname())),i=n(`user`,()=>h.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function iI(e,t){let n=new Map;for(let[t,r]of Object.entries(e.variables))n.set(t,r);for(let[t,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))n.set(`${t}.${e}`,i);let r=[],i=new Set,a=t=>wx(t,e.helpers).keys(),o=Rb(e,t);for(let e of Rc){let t=o[e];if(zc(t))for(let e of a(t))r.push(e)}for(let n of Eu(Lb(e,t).node)){if(n.when)for(let e of a(n.when))r.push(e);if(n.kind!==`segment`)continue;let t=e.segments[n.name];if(t){for(let e of[t.template,t.when,t.bg,t.fg])if(e)for(let t of a(e))r.push(t)}}let s=new Set;for(;r.length>0;){let e=r.pop();for(let t of oI(n,e)){if(i.has(t))continue;i.add(t);let e=n.get(t);if(e){if(e.kind===`input`)s.add(e.path);else if(e.kind===`template`)for(let t of a(e.template))r.push(t)}}}return s}function aI(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=iI(e,n);return t.set(n,i),i}}function oI(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function sI(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function cI(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function lI(e,t,n,r,i,a,o,{configPath:s,...c}){let l=e=>sI(i,e),u=kC(t).getTime(),d=o.tmux??null,f=(e,t,n)=>t?n().catch(t=>X(`${e}: ${String(t)}`)):Promise.resolve(Y),[p,m,h,g,_,v,y,b,x,S,C]=await Promise.all([f(`git`,l(`git`),()=>n.gitProvider.getGitInfo(r??e.workspace?.current_dir,cI(i),e.workspace?.project_dir)),f(`session`,l(`session.cost`)||l(`session.tokens`)||l(`burn`),()=>n.usageStore.getUsageInfo(e.session_id,e)),f(`today`,l(`today`),()=>n.usageStore.getTodayInfo(e,o.claudeConfigDir,t)),f(`context`,l(`context`)||l(`autocompact`),()=>n.contextProvider.getContextInfo(e)),f(`metrics`,l(`metrics`)||l(`burn`),()=>n.metricsProvider.getMetricsInfo(e.session_id,e)),f(`activity`,l(`activity`),()=>n.activityProvider.getActivityInfo(e.session_id,e)),f(`tmux`,l(`tmux.session`),()=>d===null?Promise.resolve(Y):n.tmuxService.getSessionName(d)),f(`cache`,l(`cache`),()=>AF(e.transcript_path)),f(`speed`,l(`speed`),()=>n.usageStore.observeSpeed(e.session_id,e.transcript_path,u)),f(`memento`,l(`memento`),()=>n.mementoProvider.getCeiling(NF({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:r??e.workspace?.current_dir??``},o))),f(`autocompact`,l(`autocompact`),()=>Promise.resolve(n.autoCompact(LT(IT(o.claudeConfigDir)))))]),ee=[],w=e=>{if(e.kind===`failed`){ee.push(e.reason);return}return e.kind===`ok`?e.value:void 0},te=_I(p,u);ee.push(...te.failures);let ne=rI(o);ee.push(...ne.failures);let re=w(m),ie=w(h),T=w(g),E=w(_),ae=w(v),oe=w(y),se=w(b),ce=fI(S);S.kind===`failed`&&ee.push(`memento: ${S.reason}`);let le=uI(C,T?.maxTokens);C.kind===`failed`&&ee.push(`autocompact: ${C.reason}`);for(let e of ee)n.log(`warn`,`provider fetch failed: ${e}`);let ue=e.rate_limits?.five_hour,de=e.rate_limits?.seven_day,fe=ue?ZF(ue.used_percentage,ue.resets_at,18e6,u):void 0,pe=de?ZF(de.used_percentage,de.resets_at,6048e5,u):void 0,me=re?.session.cost,he=E?.sessionDuration,ge=l(`burn`)&&me!=null&&he!=null?QF(me,he):void 0,_e=w(x),ve=_e===void 0?void 0:eI(_e),ye=_e===void 0?void 0:tI(_e),be=ve!==void 0||ye!==void 0?{...ve,...ye!==void 0&&{history:ye}}:void 0,D=gI(process.env.HOME??process.env.USERPROFILE),xe=e.workspace?{...e.workspace,current_dir:gI(e.workspace.current_dir)??``,project_dir:gI(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>gI(e)??e)}:e.workspace,Se=re===void 0?void 0:hI({cost:re.session.cost,tokens:re.session.tokens}),Ce=ie===void 0?void 0:{cost:ie.cost,tokens:ie.tokens},we=E===void 0?void 0:hI({lastResponseTime:E.lastResponseTime,responseTime:E.responseTime,sessionDuration:E.sessionDuration,messageCount:E.messageCount,nonPrompts:E.nonPrompts,linesAdded:E.linesAdded,linesRemoved:E.linesRemoved}),Te=ae===void 0?void 0:pI(ae);return{...e,...xe!==void 0&&{workspace:xe},...D!==void 0&&{home:D},...te.git!==void 0&&{git:te.git},...d!==null&&{tmux:{pane:d.pane,...oe!==void 0&&{session:oe}}},host:ne.host,...YF(a),history:n.history(e.session_id),navigation:{back:n.navigation(e.session_id)},...c,...s!==null&&{configPath:s},resumeCommand:GF(xe,e.session_id,o.claudeConfigDir),...Se!==void 0&&{session:Se},...Ce!==void 0&&{today:Ce},...ge!==void 0&&{burn:{costPerHour:ge}},...be!==void 0&&{speed:be},...l(`block`)&&ue!==void 0&&{block:{nativeUtilization:ue.used_percentage,resetsAt:ue.resets_at,...fe!==void 0&&{etaMinutes:fe}}},...de!==void 0&&{weekly:{percentage:de.used_percentage,resetsAt:de.resets_at,...pe!==void 0&&{etaMinutes:pe}}},...se!==void 0&&{cache:{expiresAt:se}},...T!==void 0&&{context:{totalTokens:T.totalTokens,contextLeft:T.contextLeftPercentage}},...we!==void 0&&{metrics:we},...Te!==void 0&&{activity:Te},...ce!==void 0&&{memento:ce},...le!==void 0&&{autocompact:le}}}function uI(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return qT(e.value,t)}}const dI=e=>e.trim().split(`
194
- `).at(-1).trim();function fI(e){switch(e.kind){case`absent`:return;case`failed`:return{error:dI(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function pI(e){let t=e.todos.findIndex(e=>e.active),n=e.todos.length===0?void 0:{total:e.todos.length,completed:e.todos.filter(e=>e.done).length,...t>=0&&{position:t+1,active:e.todos[t].text}},r=mI(e.running),i=mI(e.done),a=r===void 0&&i===void 0?void 0:{...r!==void 0&&{running:r},...i!==void 0&&{done:i}};if(!(e.command===null&&n===void 0&&a===void 0))return{...e.command!==null&&{command:e.command},...n!==void 0&&{todo:n},...a!==void 0&&{tool:a}}}function mI(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function hI(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function gI(e){return e===void 0||e.length===0||l.sep!==`\\`?e:e.replace(/\\/g,`/`)}function _I(e,t){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let n=e.value,r=[],i=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){r.push(`git.${e}: ${t.reason}`);return}return t.value}},a=i(`aheadBehind`,n.aheadBehind),o=i(`sha`,n.sha),s=i(`operation`,n.operation),c=i(`timeSinceCommit`,n.committedAt),l=c===void 0?void 0:Math.floor((t-c)/1e3),u=i(`stash`,n.stashCount),d=i(`upstream`,n.upstream),f=i(`repoName`,n.repoName),p=i(`repoUrl`,n.repoUrl),m=n.pullRequest,h={};return m?.kind===`ok`?(h.prNumber=m.value.number,h.prState=m.value.state,h.prUrl=m.value.url):m?.kind===`failed`&&(r.push(`git.pr: ${m.reason}`),h.prError=m.reason),{git:{branch:n.branch,status:n.status,...a!==void 0&&{ahead:a.ahead,behind:a.behind},...n.workingTree!==void 0&&{staged:n.workingTree.staged,unstaged:n.workingTree.unstaged,untracked:n.workingTree.untracked,conflicts:n.workingTree.conflicts},...o!==void 0&&{sha:o},...s!==void 0&&{operation:s},...l!==void 0&&{timeSinceCommit:l},...u!==void 0&&{stash:u},...d!==void 0&&{upstream:d},...f!==void 0&&{repoName:f},...p!==void 0&&{repoUrl:p},...h},failures:r}}const vI={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,effect:e=>e.effect.kind===`decided`?e.effect.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,shade:e=>e.shade,transitions:e=>e.transitions?ml:hl,autoWrap:e=>e.autoWrap?ml:hl,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?ml:hl},yI=Object.entries(tw),bI=new Set(nw.map(e=>e.sessionKey)),xI=()=>!1;function SI(e,t){return KF(e,e=>bI.has(e)?t(e):null,xI)}const CI=[`preset`,`theme`];function wI(e,t,n){let r=new Set(CI.slice(0,n).map(e=>tw[e].sessionKey));return KF(e,e=>r.has(e)?t(e):null,xI)}function TI(e,t){let n=Array.from({length:CI.length+1},(n,r)=>wI(e,t,r));return e=>{let t=CI.indexOf(e);return n[t===-1?CI.length:t]}}function EI(e,t,n,r){return e.flatMap(([e,i])=>{let a=vI[e](t);return a===null||a===vI[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function DI(e,t,n){return vI[n](SI(e,t))}function OI(e,t){let n=SI(e,t);return EI(yI,n,TI(e,t),t=>kI(e,n.preset,t.configKey))}function kI(e,t,n){return n in(Ib(e.presets,t).globals??{})?Uw(t,n):n}function AI(e,t,n){let r=Fb(t(tw.preset.sessionKey),e.globals.preset,e.presets),i=Ww(n);return{key:i?.scope===`globals`?kI(e,r,i.field):n,globals:Rb(e,r)}}function jI(e,t){let{preset:n}=SI(e,t);return PI(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Wu(a,s);return c===void 0||Uu(c)===Uu(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function MI(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return Pb(e.presets).flatMap(n=>{let i=PI(e,n);return[...new Set(i.filter(e=>r.has(e.key)).map(e=>e.id))].flatMap(e=>{let n=i.filter(t=>t.id===e);return Vu(Object.fromEntries(n.map(e=>[e.setting,e.decl])),Object.fromEntries(n.map(e=>{let n=r.get(e.key)??t(e.key),i=n===null?void 0:Wu(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const NI=new WeakMap;function PI(e,t){let n=NI.get(e)??new Map;NI.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...Eu(Lb(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=zu(e.segments[t.name])[n];return{id:r,setting:n,key:i,decl:a,saved:t.settings?.[n]??a.default}})),a=[...new Map(i.map(e=>[e.key,e])).values()];return n.set(t,a),a}function FI(e,t){let n=SI(e,t);return{from:n.preset,globals:Ib(e.presets,n.preset).globals??{},picks:EI(yI.filter(([e])=>e!==`preset`),n,TI(e,t),e=>e.configKey),placements:jI(e,t)}}function II(e,t){return KF({...e,globals:{palette:t},presets:{}},()=>null,xI)}function LI(e,t){let n=SI(e,t),r=vI.theme(n);if(r===null)return{kind:`rule`};let i=II(e,r),a=Rb(e,n.preset),o=Object.fromEntries(ju.map(e=>[e,vI[e](a[e]===void 0?n:i)]));return{kind:`look`,theme:r,look:o,differs:ju.some(e=>o[e]!==vI[e](i))}}function RI(e){return{sessionKeys:nw.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...Cf(e)?mF.map(t=>Uw(t,e)):[],...Hw(e)?Nc().map(t=>Vw(t,e)):[]]}}function zI(e){return new Set(nw.map(e=>e.configKey).filter(t=>RI(t).fileKeys.some(t=>HI(e,VI(t)))))}function BI(e,t,n){let r=OI(e,n),i=new Set(r.map(e=>e.configKey)),a=sw(e=>i.has(tw[e].configKey)||t.has(tw[e].configKey)),o=LI(e,n);return{unsaved:r.length+jI(e,n).length,resettable:a,themeDefault:o.kind===`look`&&o.differs?{differs:!0,theme:o.theme}:{differs:!1}}}function VI(e){let t=Ww(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return Gw(t)}function HI(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&HI(e[n],r)}const UI=Nc(),WI=new Set(UI),GI=new Set(Qc),KI=e=>e?WI.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${UI.join(`, `)})`}:{ok:!1,reason:`theme name is required`},qI=e=>e?GI.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${Qc.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},JI=new Set([`1`,`true`]),YI=new Set([`0`,`false`]),XI={endcaps:qI,theme:KI,"toolbar-expanded":e=>JI.has(e)?{ok:!0,value:`1`}:YI.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},ZI=qP(XI,`state`,iL);function QI(e,t){return ZI.register(e,t)}function $I(e){return ZI.gateFor(e)}function eL(e,t){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:Ew(e.from,t).members}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function tL(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(XI,e.key))}function nL(e,t,n){let r=cw.get(n);if(r!==void 0)return DI(e,t,r);let i=Object.values(e.variables).find(e=>e.kind===`state`&&e.key===n);return i?.kind===`state`?i.default??null:null}function rL(e){let t=WD(e);return tL(Object.values(e.actions).flatMap(e=>eL(e,t)))}function iL(e){return GP(rL(e))}const aL=`update.dismissed`,oL=`updateNotice`,sL=tw.updateNotice.sessionKey;function cL(e){return e.kind===`source`?e.newer.digest:FM(e.newer)}const lL=e=>`${e.version} [${AP(e.digest)}]`;function uL(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:lL(e.newer),running:lL(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:FM(e.newer),running:FM(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${LM}@${FM(e.newer)}`,`install`]}}}}const dL={kind:`idle`},fL={kind:`running`};function pL(e,t,n){if(e===null)return[];let r=cL(e);if(!n.enabled||n.dismissed===r)return[];let i=uL(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
195
- `),c=wM([{verb:rM,args:[s]}]),l=t.kind===`running`?vP(`[${i.busy}]`,c):vP(`[${i.act}]`,wM([{verb:gM,args:[n.sessionId]}]));return[{severity:_P,message:s,lines:[[vP(a,c),l,vP(`[dismiss]`,wM([{verb:Zj,args:[n.sessionId,aL,r]}])),vP(`[disable]`,wM([{verb:iM,args:[n.sessionId,oL,`false`]},{verb:Zj,args:[n.sessionId,sL,`false`]}]))],...o.map(e=>[vP(e,c)])]}]}function mL(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function hL(e){switch(e.kind){case`current`:return[`info`,`build: current ${lL(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${lL(e.source)}, running ${lL(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function gL(e){switch(e.kind){case`current`:return[`info`,`release: current ${FM(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${FM(e.latest)}, running ${FM(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${FM(e.installed)}, latest ${FM(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function _L(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const vL=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function yL(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=vL(e.stderr)??e.error??vL(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function bL(){let e=[YP(oL,[`false`]),QI(sL,[`false`]),QI(aL,[])];return()=>e.forEach(e=>e())}function xL(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=dL,d=null,f=_L(s),p=_L(s),m=()=>mL(c,l);function h(){let e=m(),t=e===null?null:cL(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:QI(aL,[t])})}function g(){c=PP(t,MP),f(hL(c)),h()}async function _(){l=zM(sj,await RM(LM,a,i)),p(gL(l)),h()}return{arm(){bL(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>pL(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=uL(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=fL,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),je({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=dL,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=yL(n);u={kind:`failed`,identity:cL(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var SL=class{static CACHE_DIR=Le();static USAGE_CACHE_DIR=l.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=l.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=l.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return D(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(D(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(D(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return D(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=l.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),D(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await ue(50);else throw e}return D(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=l.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),D(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&D(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){D(`Failed to create cache directories:`,e)}}static createProjectHash(e){return se(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=l.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){D(`Cache for ${e} is locked, waiting...`),await ue(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(D(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(D(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return D(`No shared ${e} usage cache found`),null;D(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await ue(75)}}return D(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){D(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=l.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),D(`[CACHE-SET] ${e} disk cache stored`)}catch(t){D(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const CL={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var wL=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await SL.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await SL.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new ie(this.GITHUB_PRICING_URL),n=le({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){D(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){D(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(D(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),D(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(D(`Invalid pricing data structure`),e(null))}catch(t){D(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{D(`Response error:`,t),e(null)})});n.on(`error`,t=>{D(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{D(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return D(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return D(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),D(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(D(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(CL).length} models`),this.executionCache=CL,D(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(CL).length} models`),CL)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return D(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),D(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};const TL=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function EL(e){if(typeof e==`string`)return TL.exec(e)?.[1]}function DL(e){let t=e?.todos;if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let{content:t,activeForm:r,status:i}=e,a=i===`in_progress`,o=a&&typeof r==`string`?r:t;typeof o==`string`&&n.push({text:o,active:a,done:i===`completed`})}return n}function OL(e){return typeof e==`string`?e:Array.isArray(e)?e.find(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`)?.text??``:``}function kL(e,t){let n=e.message?.content,r=[],i=[],a;if(Array.isArray(n))for(let e of n){if(typeof e!=`object`||!e)continue;let t=e;switch(t.type){case`tool_use`:{let{id:e,name:n}=t;if(typeof e!=`string`||typeof n!=`string`)break;r.push({id:e,name:n}),n===`TodoWrite`&&(a=DL(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}default:break}}let o=t===`prompt`?EL(OL(n)):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&o===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...o!==void 0&&{command:o}}}function AL(e){if(e!==void 0)return[e];let t=g();return[p(t,`.config`,`claude`),p(t,`.claude`)].filter(e=>a(e))}async function jL(e){let t=[];for(let n of e){let e=p(n,`projects`);if(a(e))try{let n=await CF(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=p(e,r.name);t.push(n)}}catch(t){D(`Failed to read projects directory ${e}:`,t)}}return t}async function ML(e,t,n){let r=[],i=p(t,e,`subagents`);try{let t=(await CF(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=p(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await wF(t,`utf-8`)).split(`
196
- `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{D(`Failed to check agent file ${t}`)}}}catch(e){D(`Failed to read subagents directory ${i}:`,e)}return r}function NL(e){let t=e.message;if((e.type||t?.role||t?.type)!==`user`)return;if(FL(t)===`tool_result`)return`tool-result`;let n=typeof e.origin==`object`&&e.origin!==null?e.origin.kind:void 0;if(n!==void 0&&n!==`human`)return`turn`;let r=OL(t?.content).trimStart();return r.startsWith(`[Request interrupted by user`)?`interrupt`:e.isMeta===!0||e.isCompactSummary===!0||PL.test(r)?`claude-code`:`prompt`}const PL=/^<(?:command-name|local-command-std(?:out|err)|bash-(?:input|stdout|stderr))>/;function FL(e){let t=e?.content;return Array.isArray(t)&&typeof t[0]==`object`&&t[0]?t[0].type:void 0}const IL=new Map;async function LL(e){try{let t=await TF(e),n=t.size,r=IL.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return D(`[parse-cache] hit ${e}`),IL.delete(e),IL.set(e,r),r.entries;let i;return n>1048576?(D(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await HL(e)):i=await BL(e),D(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(IL.delete(e),IL.size>=16&&IL.delete(IL.keys().next().value),IL.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return D(`Transcript not present yet: ${e}`),[];throw t}}function RL(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=NL(e);return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,userEntry:r,activity:kL(e,r),raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function zL(e){let t=[];for(let n of e.split(`
197
- `))if(n.trim())try{let e=RL(JSON.parse(n));e&&t.push(e)}catch(e){D(`Failed to parse JSONL line: ${e}`);continue}return t}async function BL(e){return zL(await wF(e,`utf-8`))}async function VL(e,t){let n=await EF(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,stamp:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return J(c<0?{entries:[],cursor:{offset:i,stamp:a,ino:o},reset:s}:{entries:zL(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,stamp:a,ino:o},reset:s})}async function HL(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=de({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=RL(JSON.parse(t));e&&r.push(e)}catch(e){D(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{D(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{D(`File stream error for ${e}:`,t),n(t)})})}var UL=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function WL(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const GL=new Map,KL={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},qL={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function JL(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function YL(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function XL(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function ZL(e,t,n,r){let i=JL(new Date(YL())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:XL(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await wL.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=JL(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...KL};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function QL(e){let t=0,n=0,r=XL(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...KL};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:qL,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function $L(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var eR=class{sessions=new Map;flight=new UL;seeded=new Map;seededDay=``;rescanIntervalMs;speedFlight=new UL;staleAgeMs;log;renderTally={hits:0,misses:0};sweeps=0;scans={seed:0,rescan:0};sweepTimer=null;constructor(e={}){this.log=e.logger??mC,this.staleAgeMs=e.staleAgeMs??864e5,this.rescanIntervalMs=e.rescanIntervalMs??6e4;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.sessions.size,hits:this.renderTally.hits,misses:this.renderTally.misses,sweeps:this.sweeps,seeds:this.scans.seed,rescans:this.scans.rescan}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path,this.renderTally);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:qL,i=t?.cost?.total_cost_usd??null;return J({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t,n){let r=JL(kC(n)),i=AL(t);try{await this.ensureSeeded(r,i,n*1e3)}catch(e){return X(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let a=await this.ingest(e?.session_id??``,e?.transcript_path,this.renderTally);if(a.kind===`failed`)return a;let o=i.map(e=>p(e,`projects`)+m),s={...KL},c=!1;for(let[t,{record:n}]of this.sessions){let i=n?.transcriptPath??``,a=t===e?.session_id||o.some(e=>i.startsWith(e))?n?.days??GL:GL;c||=a.has(r);let l=a.get(r)??KL;s.cost+=l.cost,s.input+=l.input,s.output+=l.output,s.cacheCreation+=l.cacheCreation,s.cacheRead+=l.cacheRead}return c?J({cost:s.cost,tokens:s.input+s.output+s.cacheCreation+s.cacheRead,tokenBreakdown:{input:s.input,output:s.output,cacheCreation:s.cacheCreation,cacheRead:s.cacheRead},date:r}):Y}async observeSpeed(e,t,n){if(!e)return Y;let r=yF(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,this.renderTally,r);if(i.kind===`failed`)return i;let a=WL(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),{ring:o}=this.hold(e),s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),J({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n,r){if(!e)return Y;let i=r??yF(t),a=this.see(e)?.record;if(a&&i!==``&&a.transcriptStamp===i)return n.hits++,J(a);if(!t)return a?J(a):Y;n.misses++;let o;try{o=await this.flight.run(`${e}:${i}`,async()=>{let n=this.sessions.get(e)?.record;return{prior:n,outcome:await this.refold(e,t,n)}})}catch(t){return X(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}let{prior:s,outcome:c}=o;if(c.kind!==`ok`)return c;let l={files:c.value.files,sessionInfo:c.value.sessionInfo,days:c.value.days,transcriptStamp:c.value.mainStamp,transcriptPath:t};return this.sessions.get(e)?.record===s&&(this.hold(e).record=l),J(l)}see(e){let t=this.sessions.get(e);return t&&(t.lastSeenAt=Date.now()),t}hold(e){let t=this.see(e);if(t)return t;let n={lastSeenAt:Date.now(),record:void 0,ring:[]};return this.sessions.set(e,n),n}async refold(e,t,n){let r=await ML(e,d(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=``;for(let e of[t,...r]){let r=n?.files.get(e),o=await VL(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await ZL(r,l,s,c)),e===t&&(a=c.stamp)}return J({files:i,...QL(i),mainStamp:a})}ensureSeeded(e,t,n){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let r=t.join(`\0`),i=this.seeded.get(r);if(!i){let e=this.seed(t,`seed`),i={done:e,scanning:e,startedAtMs:n};return this.seeded.set(r,i),this.settle(r,i,e),e}return i.scanning===void 0&&n-i.startedAtMs>=this.rescanIntervalMs&&(i.startedAtMs=n,i.scanning=this.seed(t,`rescan`),this.settle(r,i,i.scanning)),i.done}settle(e,t,n){n.then(()=>{t.scanning=void 0},n=>{this.log(`warn`,`usageStore scan: ${n instanceof Error?n.message:String(n)}`),this.seeded.get(e)===t&&this.seeded.delete(e)})}async scanned(){await Promise.allSettled([...this.seeded.values()].map(e=>e.scanning))}async seed(e,t){let n=Date.now(),r=YL(),i=await jL(e),a=[];for(let e of i){let t;try{t=await CF(e)}catch{continue}for(let n of t){if(!n.endsWith(`.jsonl`))continue;let t=p(e,n),i;try{i=await TF(t)}catch{continue}i.mtimeMs<r||a.push({sessionId:n.slice(0,-6),path:t,stamp:bF(i)})}}let o={hits:0,misses:0};await $L(a,8,async e=>{let n=await this.ingest(e.sessionId,e.path,o,e.stamp);n.kind===`failed`&&this.log(`warn`,`usageStore ${t}: ${n.reason}`)}),this.log(`info`,`usageStore ${t} sessions=${a.length} read=${o.misses} dirs=${e.join(`,`)} ms=${Date.now()-n}`),this.scans[t]++}sweepStale(){let e=Date.now(),t=0,n=0,r=0;for(let[i,{lastSeenAt:a,record:o}]of this.sessions)if(!(e-a<=this.staleAgeMs)){if(o?.days.has(this.seededDay)){n++;continue}this.sessions.delete(i),t++,o===void 0&&r++}return t>0&&this.sweeps++,(t>0||n>0)&&this.log(`info`,`usageStore sweep dropped=${t} noRecord=${r} held=${n}`),t}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.sessions.clear(),this.seeded.clear()}},tR=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return D(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);D(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{D(`Calculating context tokens from transcript: ${e}`);let n=await LL(e);if(n.length===0)return D(`No entries in transcript`),Y;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,D(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return D(`Most recent main chain context: ${n} tokens (limit: ${t})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return D(`No main chain entries with usage data found`),Y}catch(e){return X(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return J(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},nR=class{states=new Map;constructor(e,t,n=256){this.empty=e,this.step=t,this.maxSessions=n}async read(e,t){let n=this.states.get(e),r=yF(t);if(n&&r!==``&&n.cursor.stamp===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await VL(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:n?.value??this.empty};let{entries:a,cursor:o,reset:s}=i.value,c=s||n===void 0?this.empty:n.value;for(let e of a)c=this.step(c,e);for(this.touch(e,{cursor:o,value:c});this.states.size>this.maxSessions;){let e=this.states.keys().next().value;if(e===void 0)break;this.states.delete(e)}return{kind:`ok`,value:c}}touch(e,t){this.states.delete(e),this.states.set(e,t)}};const rR={messageCount:0,nonPrompts:0,recent:[]},iR=new Set([`turn`,`interrupt`,`claude-code`]);function aR(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +(t.userEntry===`prompt`),nonPrompts:e.nonPrompts+ +!!iR.has(t.userEntry),recent:n.length>20?n.slice(-20):n}}function oR(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(r.userEntry===`prompt`||r.userEntry===`turn`)t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}var sR=class{fold=new nR(rR,aR);async getMetricsInfo(e,t){if(D(`Getting metrics from hook data for session: ${e}`),!t.cost)return Y;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`metrics (${e}): ${n.reason}`):J({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:oR(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,nonPrompts:n.value.nonPrompts,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const cR={command:null,todos:[],pending:[],done:[]};function lR(e,t){let n=e.findIndex(e=>e.name===t);return n<0?[...e,{name:t,count:1}]:e.map((e,t)=>t===n?{name:e.name,count:e.count+1}:e)}function uR(e,t){switch(t.userEntry){case`prompt`:return{...e,command:t.activity?.command??null,pending:[],done:[]};case`interrupt`:return{...e,pending:[]};case`turn`:case`tool-result`:case`claude-code`:case void 0:return e}}function dR(e,t){if(t.isSidechain)return e;let n=uR(e,t),r=t.activity;if(r===void 0)return n;let i=n.pending,a=n.done;r.started!==void 0&&(i=[...i,...r.started]);for(let e of r.finished??[]){let t=i.findIndex(t=>t.id===e);t<0||(a=lR(a,i[t].name),i=[...i.slice(0,t),...i.slice(t+1)])}return{...n,pending:i,done:a,todos:r.todos??n.todos}}function fR(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>lR(e,t.name),[]),done:e.done}}var pR=class{fold=new nR(cR,dR);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(fR(n.value))}};function mR(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function hR(e,t){if(e.ok)return{kind:`ok`,stdout:e.stdout};if(e.reason===`rate-limited`)return{kind:`rate-limited`,reason:e.error??`rate-limited`};let n=e.error??[e.reason,e.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${t[0]} failed (${n})`}}function gR(e,t,n,r){return hR(O(mR(e,t,n,r)),n)}async function _R(e,t,n){return hR(await je(mR(e,t,n)),n)}const vR=e=>`${e.socket}\n${e.pane}`;var yR=class{names=new Map;asking=new UL;constructor(e=Date.now){this.now=e}getSessionName(e){let t=vR(e),n=this.names.get(t);if(n&&this.now()-n.at<3e4)return Promise.resolve(n.outcome);let r=this.asking.run(t,()=>this.ask(t,e));return n?Promise.resolve(n.outcome):r}async ask(e,t){D(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await _R(t,`tmux`,[`display-message`,`-p`,`-t`,t.pane,`#S`]),r=n.kind===`ok`?n.stdout.trim():``,i=n.kind===`ok`?r?J(r):Y:X(n.reason);for(this.names.delete(e),this.names.set(e,{outcome:i,at:this.now()});this.names.size>64;)this.names.delete(this.names.keys().next().value);return i}};const bR=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:$e.map(t=>e.env?.[t]??null)]);var xR=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=bR(e),n=this.readings.get(t);if(n&&this.now()-n.at<1e4)return Promise.resolve(n.outcome);let r=this.inFlight.get(t)??this.fetch(t,e);return n?Promise.resolve(n.outcome):r}fetch(e,t){let n=this.edge.locate(t),r=(n.kind===`ok`?this.edge.read(n.value,t):Promise.resolve(n)).then(t=>{if(this.inFlight.get(e)!==r)return t;for(this.readings.delete(e),this.readings.set(e,{outcome:t,at:this.now()});this.readings.size>64;)this.readings.delete(this.readings.keys().next().value);return t}).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}move(e,t){let n=this.edge.locate(e);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=bR(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function SR(e){return{gitProvider:new CC({watchers:e.watchers,logger:e.logger}),usageStore:new eR({logger:e.logger}),contextProvider:new tR,metricsProvider:new sR,activityProvider:new pR,tmuxService:new yR,mementoProvider:new xR(WF()),autoCompact:KT,log:e.logger}}function CR(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function wR(e,t){let n=U.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function TR(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function ER({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function DR({text:e,placement:t,lead:n,trail:r}){return{text:OR(e),placement:t,...n!==void 0&&{lead:OR(n)},...r!==void 0&&{trail:OR(r)}}}function OR(e){let t=e.blankCopy(e.plain);t.style=GN(e.style).clearMetaAndLinks();for(let{start:n,end:r,style:i}of e.spans)t.stylize(GN(i).clearMetaAndLinks(),n,r);return t}function kR(e){let t=ER(e);if(t.length===1)return e.text;let n=wR(t);return n.style=e.text.style,n}function AR(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,placement:s,lead:c=[],trail:l=[]}=t;if(e.length===0)return[];let u=wR(e,a).pad(o),d=new U(` `.repeat(o)),f={placement:s,...c.length>0&&{lead:wR([d,...c],a)},...l.length>0&&{trail:wR([...l,d],a)}};if(n===`auto`)return[{text:u,...f}];let p={justify:r,truncate:i};return n===`fill`?[{text:u,fill:p,...f}]:(TR(u,n,p),[{text:u,...f}])}function jR(e,t){let n=()=>e.map(e=>({owner:kR(e),placement:e.placement})),r=[];if(e.forEach(({fill:e},t)=>{e!==void 0&&r.push({at:t,how:e})}),r.length===0||!Number.isFinite(t.width))return n();let i=pP(e.map(kR),t).split(`
198
- `);if(i.length>1)return n();let a=Math.max(0,t.width-rP(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:n},i)=>{let a=o+(i===r.length-1?s:0),{text:c}=e[t];TR(c,c.cellLength+a,n)}),n()}function MR(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=NR(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e){let e={frag:a,style:GN(a.style)};if(e.style.link){i();let r=NR([e],t);r.plain.length>0&&n.push(r)}else r.push(e)}return i(),n}function NR(e,t){let n=t!==void 0&&!t.isNull?t:void 0,r=e.map(e=>PR(e.frag,n?n.add(e.style):e.style)),i=U.fromFragments(r);return i.end=``,i.overflow=`ignore`,r.length===1?i.style=r[0].style:n!==void 0&&(i.style=n),i}function PR(e,t){let n=e.copy();return n.style=t,n}function FR(e,t){if(e.look===void 0)throw Error(`${t} read the render's look before any render resolved one`);return e.look}function IR(e,t,n,r){let i=new Map,a=Object.entries(t);for(let[t,o]of[...a.filter(([,e])=>!(`do`in e)),...a.filter(([,e])=>`do`in e)])i.set(t,LR(e,t,o,n,r,i));return i}function LR(e,t,n,r,i,a){if(`set`in n){let e=r.get(n.set)??n.set;if(`to`in n)return{kind:`set-literal`,key:n.set,value:n.to,stateVar:e};if(`from`in n){let t=Ew(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}return`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=aw.get(n.persist)??n.persist;if(`to`in n)return{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e};if(`from`in n){let t=Ew(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}if(`cycle`in n)return{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle};if(`removeSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}};if(`insertSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}};if(`insertSegmentFrom`in n){let e=Ew(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf,library:e.library}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:BR(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:BR(e,n.open,t)};if(`reset`in n)return{kind:`reset`,key:n.reset};if(`doctor`in n)return n.doctor===`run`?{kind:`doctor-run`}:{kind:`doctor-fix`,check:n.check};if(`ceiling`in n)return{kind:`ceiling`,args:uO(n)};if(`slash`in n)return{kind:`slash`,line:n.slash};if(`undo`in n)return{kind:`undo`};if(`redo`in n)return{kind:`redo`};if(`back`in n)return{kind:`back`};if(`rewind`in n)return{kind:`rewind`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:BR(e,n.name,t)};if(`themeDefault`in n)return{kind:`theme-default-save`};let[o,...s]=n.do.map(e=>{let n=a.get(e);if(n===void 0)throw Error(`action "${t}" fires "${e}", which is not declared in this config`);return n});return{kind:`do`,head:o,rest:s}}function RR(e){return e.kind===`do`?RR(e.head):e}function zR(e){switch(RR(e).kind){case`set-option`:case`set-int`:case`persist-option`:case`layout-op-option`:return!0;case`set-literal`:case`set-bounded`:case`set-cycle`:case`copy`:case`open`:case`persist-literal`:case`persist-bounded`:case`persist-cycle`:case`reset`:case`layout-op`:case`undo`:case`redo`:case`back`:case`rewind`:case`save`:case`preset-save`:case`preset-delete`:case`theme-default-save`:case`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function BR(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function VR(e,t){return e.has(t)?Vx(e.read(t)):``}function HR(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function UR(e,t,n,r){let i=new U(e,{style:V.combine([r,new V({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function WR(e,t,n=!1){let r=new V({link:t,bold:n?!0:void 0}),i=new U(e.plain,{style:V.combine([GN(e.style),r])});for(let t of e.spans)i.stylize(V.combine([GN(t.style),r]),t.start,t.end);return i.overflow=`ignore`,i.end=``,i}function GR(e,t){return Math.max(e.members.indexOf(VR(t,e.stateVar)),0)}function KR(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=VR(r,e.stateVar);return{effects:[{verb:Zj,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=VR(r,e.stateVar);return{effects:[{verb:Zj,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=VR(r,e.stateVar);return{effects:[{verb:Zj,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(GR(e,r)+1)%e.members.length];return{effects:[{verb:Zj,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:Qj,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:$j,args:[HR(e.text,PS(r))]}],active:!1};case`open`:return{effects:[{verb:eM,args:[HR(e.target,PS(r))]}],active:!1};case`persist-literal`:{let t=VR(r,e.stateVar);return{effects:[{verb:iM,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=VR(r,e.stateVar);return{effects:[{verb:iM,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(GR(e,r)+1)%e.members.length];return{effects:[{verb:iM,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:aM,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:uM,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:fM,args:[i]}],active:!1};case`redo`:return{effects:[{verb:pM,args:[i]}],active:!1};case`back`:return{effects:[{verb:mM,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:hM,args:[i]}],active:!1};case`save`:return{effects:[{verb:oM,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:sM,args:[i]}],active:!1};case`theme-default-save`:return{effects:[{verb:cM,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:lM,args:[i,HR(e.name,PS(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:_M,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:vM,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:bM,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:xM,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:dM,args:[i,e.key,FP(e.op)]}],active:!1};case`do`:{let a=KR(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>KR(e,t,void 0,r,i).effects)],active:a.active}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:dM,args:[i,e.key,FP(r)]}],active:!1}}}}function qR(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:Gd(`action "${e}"`,n,t.members.length,GR(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]?.plain}}function JR(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=qR(e,RR(r),t,i),s=VR(i,`session.id`),{effects:c,active:l}=KR(r,a.plain,o,i,s);return WR(a,wM(c),l)}function YR(e){return{action:{fn:(t,...n)=>JR(t,n,e),argTypes:[`string`,`liftable`],arity:{kind:`variadic`},returnType:`T`}}}function XR(e,t){return UR(`✕`,wM([{verb:Zj,args:[VR(e,`session.id`),t,Hd]}]),!1)}function ZR(e,t,n){return new V({bgcolor:L.fromRgba(t),color:L.fromRgba(rc(e,t,n))})}function QR({tint:e,text:t}){return new V({bgcolor:L.fromRgba(e),color:L.fromRgba(t)})}function $R(e,t,n){return new V({color:L.fromRgba(kr(qs(e,`warning`),t,nc,n))})}function ez(e,t,n){return V.combine([ZR(e,t,n),$R(e,t,n)])}function tz(e,t,n){return ZR(e.palette,wc(e.palette,e.disclosure,[t],n),n)}function nz(e){let t=L.fromRgba(qs(e,`background`)),n=U.fromFragments(bs.map(n=>new U(`▀`,{style:new V({color:L.fromRgba(qs(e,n)),bgcolor:t})})));return n.overflow=`ignore`,n.end=``,n}const rz=(e,t)=>{let n=typeof e==`string`?new U(e,{style:t}):e;return n.overflow=`ignore`,n.end=``,n},iz=e=>new V({bold:e});function az(e,t,n,r,i,a){if(r===void 0)return(n,r,a,o)=>rz(a,V.combine([tz(e,{...n,distribution:t},i),iz(o)]));let o=ZR(e.palette,a,i);return(e,t,i,a)=>oz(i,V.combine([o,iz(a)]),r(t,n))}const oz=(e,t,n)=>rz(U.fromFragments([rz(e,t),rz(` `,t),nz(n)]));function sz(e,t){return t===void 0?(e,t,n)=>rz(n):(n,r,i)=>oz(i,void 0,t(r,e))}function cz(e,t,n,r,i){let a=ZR(e.palette,i,r);return(e,r,i,o)=>rz(U.fromFragments([rz(o?`[`:` `,a),nz(n(r,t)),rz(o?`]`:` `,a)]))}function lz(e,t,n){let r=t.map(t=>({label:t.label,indices:e.flatMap((e,n)=>e.group===t.id?[n]:[])})).filter(e=>e.indices.length>0);if(r.reduce((e,t)=>e+t.indices.length,0)!==e.length){let n=new Set(t.map(e=>e.id)),r=e.flatMap((e,t)=>n.has(e.group)?[]:[`#${t} (group "${e.group}")`]);throw Error(`library: ${r.join(`, `)} name a group the domain does not list (${[...n].join(`, `)})`)}return n?r.flatMap(e=>uz(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function uz(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function dz(e,t){return new U(e).truncate(t,{marker:`…`}).plain}function fz(e){return{current:null,drawnAt:e}}function pz(e,t,n,r,i,a,o){let s={segName:t,placementId:n,palette:r,disclosure:i,tint:a,text:o,bg:void 0,drops:[]};return e.current=s,s}function mz(e,t){let n=e.current;if(n===null)throw Error(`${t} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function hz(e){return new U(e).cellLength}function gz(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function _z(e){return Math.max(1,gz(e)-(hz(`✕`)+2*e.padding+e.seamCols))}function vz(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function yz(e,t,n){let r=hz(`←`)+1+hz(`→`)+1,i=vz(e,t,n);return(i.length>1?vz(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function bz(e,t){let n=[];for(let t of e)n.length>0&&n.push(new U(` `)),n.push(t);let r=U.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function xz(e,t,n,r,i){let a=e.compiled.get(t);if(!a||a.kind!==n)throw Error(`${i} references action "${t}" which must be ${r}, got ${a?`a ${a.kind} action`:`no such action`}`);return a}function Sz(e,t,n){let r=e.compiled.get(t),i=r&&RR(r);if(!i||i.kind!==`set-option`&&i.kind!==`persist-option`&&i.kind!==`layout-op-option`)throw Error(`${n} references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${i?`a ${i.kind} action`:`no such action`}`);return i}function Cz(e,t,n,r,i,a,o,s,c=[]){let l=a.compiled.get(e),u=a.store,d=VR(u,`session.id`),f=`stateVar`in t?VR(u,t.stateVar):void 0,p=(e,n)=>{let r=t.options[e];return o({index:e,count:t.options.length},r,n,r===f)},m=i?r.kind===`led`?_z(a):gz(a):1/0,h=(r.kind===`led`?0:hz(`✕`)+1)+c.reduce((e,t)=>e+hz(t.glyph)+1,0),g=t.library&&{groups:t.library.groups,entries:t.options.map(t.library.entry)},_=g===void 0?t.options.map((e,t)=>p(t,e)):[],v=g===void 0?yz(_.map(e=>e.cellLength),m,h):lz(g.entries,g.groups,i),y=parseInt(VR(u,n.stateVar),10),b=e=>Math.max(0,v.findIndex(t=>t.some(t=>t.indices.includes(e)))),x=b(f===void 0?-1:t.options.indexOf(f)),S=Number.isInteger(y)?y<0?x:Math.min(y,v.length-1):0,C=v[S]??[],ee=e=>wM([{verb:Zj,args:[d,n.key,String(e)]}]),w=r.kind===`led`?[]:[{verb:Zj,args:[d,...r.writes.flatMap(([e,t])=>[e,t])]}],te=r.kind===`own`&&r.onPick?w:[],ne=e=>wM([...KR(l,e,e,u,d).effects,...te]),re=(e,n)=>WR(e,ne(t.options[n])),ie=r.kind===`led`?[]:[UR(`✕`,wM(w),!1,s)];ie.push(...c.map(({glyph:e,option:r})=>UR(e,wM([...KR(l,r,r,u,d).effects,{verb:Zj,args:[d,n.key,String(b(t.options.indexOf(r)))]}]),!1))),S>0&&ie.push(UR(`←`,ee(S-1),!1));let T=S<v.length-1?[UR(`→`,ee(S+1),!1)]:[];if(g===void 0){let e=C.flatMap(e=>e.indices);return[bz([...ie,...e.map(e=>re(_[e],e)),...T],i)]}let E=new V({bold:!0}),ae=v.length>1?` ${S+1}/${v.length}`:``,oe=C.length===1?[new U(`${C[0].label}${ae}`,{style:E})]:[],se=[bz([...ie,...oe,...T],i)];for(let e of C){C.length>1&&se.push(bz([new U(e.label,{style:E})],i));let n=Math.max(...e.indices.map(e=>hz(t.options[e])));for(let r of e.indices){let e=t.options[r],a=g.entries[r].description,o=a===void 0?void 0:LN(a),s=` `.repeat(n-hz(e)+2),c=o===void 0?e:`${e}${s}${o}`;se.push(bz([re(p(r,dz(c,m)),r)],i))}}return se}function wz(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{OS(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=xz(e,r,`set-int`,`an int action ({ set, int: true })`,`picker`);if(o===!0&&i===!0)throw Error(`{{ picker "${n}" … }} sets both closeOnPick and inBody; a picker in a body is closed by the body's ✕, so it has no close to fold into a pick`);let l=Sz(e,n,`picker`);if(l.library!==void 0)throw Error(`{{ picker "${n}" … }} ranges a catalogue domain, which lays out as one row per member; a catalogue renders in a {{ menu }} body`);let u=mz(t,`{{ picker }}`);if(u.bg===void 0)throw Error(`{{ picker }} is not available while segments.${u.segName}'s own "bg:" is being evaluated — a picker is drawn on that background`);let[d]=Cz(n,l,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,az(u,Fs(void 0),FR(e,`{{ picker }}`),l.paletteOf,t.drawnAt(),u.bg),$R(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function Tz(e,t){let n=e.length,r=Math.max(e.indexOf(t),0);return e=>((r+e)%n+n)%n}function Ez(e,t,n,r,i){let a=Math.min(Math.floor((t-1)/2),i),o=n,s=0;for(;s<a;){let t=o+e(-(s+1))+1+e(s+1)+1;if(t>r)break;o=t,s+=1}return s}function Dz(e,t,n,r,i,a){if(!(`stateVar`in t))throw Error(`carousel references action "${e}", which inserts a segment and holds no current value to centre on — a carousel needs a { set, from } or { persist, from } action`);let o=n.store;if(!o.has(t.stateVar))throw Error(`carousel references action "${e}", whose key "${t.stateVar}" no variable reads back, so there is no current value to centre on — declare { kind: "state", key: "${t.stateVar}" } among the variables`);let s=n.compiled.get(e),c=VR(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return bz([],!0);let d=VR(o,t.stateVar),f=Tz(l,d),p=e=>l[f(e)],m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=wM(KR(s,p(e),p(e),o,c).effects);return m.set(e,n),n},g=e=>r({index:f(e),count:u},p(e),p(e),p(e)===d),_=new Map,v=e=>{let t=_.get(e);if(t!==void 0)return t;let n=WR(g(e),h(e));return _.set(e,n),n},y=a===void 0?v(0):WR(sz(FR(n,`{{ carousel }}`),t.paletteOf)({index:f(0),count:u},p(0),p(0),!1),wM(KR(n.compiled.get(a),p(0),void 0,o,c).effects)),b=Ez(e=>v(e).cellLength,u,hz(`◀`)+1+y.cellLength+1+hz(`▶`),_z(n),i),x=e=>Array.from({length:b},(t,n)=>v(e*(n+1)));return bz([...x(-1).reverse(),UR(`◀`,h(-1),!1),y,UR(`▶`,h(1),!1),...x(1)],!0)}function Oz(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(OS(`carousel "${n}"`,[`neighbours`,`centre`],o),i!==void 0&&!(Number.isInteger(i)&&i>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(i)}`);if(a!==void 0&&!(typeof a==`string`&&e.compiled.has(a)))throw Error(`carousel "${n}": centre must name a declared action, got ${JSON.stringify(a)}`);if(a!==void 0&&zR(e.compiled.get(a)))throw Error(`carousel "${n}": centre "${a}" writes a value the template binds, and the centre binds none — name an action that writes a fixed value, a cycle, or a do of them`);let s=i??1/0,c=Sz(e,n,`carousel`),l=mz(t,`{{ carousel }}`);if(l.bg===void 0)throw Error(`{{ carousel }} is not available while segments.${l.segName}'s own "bg:" is being evaluated — a carousel is drawn on that background`);return Dz(n,c,e,az(l,Fs(void 0),FR(e,`{{ carousel }}`),c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function kz(e,t,n){let r=Sz(e,t,n);if(!(`stateVar`in r))throw Error(`${n} references action "${t}", which inserts a segment and holds no current value — a ${n} needs a { set, from } or { persist, from } action`);if(r.paletteOf===void 0)throw Error(`${n} references action "${t}", whose options are not colour-valued — a swatch draws the palette an option puts in force, as the "themes", "placementThemes" and "styles" domains do`);return r}function Az(e,t,n){let r=Math.imul(e^e>>>16,73244475);return r=Math.imul(r^r>>>16,73244475),r^=r>>>16,(n+1+(r>>>0)%Math.max(t-1,1))%t}function jz(e,t,n,r){let i=kz(e,t,n),a=r??VR(e.store,i.stateVar);if(!i.options.includes(a))throw Error(`${n} "${t}": "${a}" is not one of its options, so it has no palette to draw`);return i.paletteOf(a,FR(e,`{{ ${n} }}`))}function Mz(e,t,n){return{swatch:{fn:(t,...n)=>{let[r,...i]=n;if(OS(`swatch "${t}"`,[`option`],i),r!==void 0&&typeof r!=`string`)throw Error(`swatch "${t}": option must be text, got ${JSON.stringify(r)}`);return nz(jz(e,t,`swatch`,r))},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`},swatches:{fn:(r,i)=>{let a=kz(e,r,`swatches`),o=xz(e,i,`set-int`,`an int action ({ set, int: true })`,`swatches`),s=mz(t,`{{ swatches }}`);if(s.bg===void 0)throw Error(`{{ swatches }} is not available while segments.${s.segName}'s own "bg:" is being evaluated — a swatch row is drawn on that background`);let c=t.drawnAt(),{options:l}=a,u=l.length,[d]=Cz(r,a,{key:o.key,stateVar:o.stateVar},{kind:`led`},!0,e,cz(s,FR(e,`{{ swatches }}`),a.paletteOf,c,s.bg),$R(s.palette,s.bg,c),u===0?[]:(()=>{let t=Tz(l,VR(e.store,a.stateVar));return[{glyph:`◀`,option:l[t(-1)]},{glyph:`?`,option:l[Az(n().getTime(),u,t(0))]},{glyph:`▶`,option:l[t(1)]}]})());return d},argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`T`}}}const Nz=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function Pz(e,t,n,r){let i=hc(e,n,r),a=(t,n)=>({text:t,colour:n,ink:rc(e,n,r)});return[[As(t).map((n,i)=>{let a=Js(e,n);return{text:Nz[i%Nz.length],colour:a,ink:t.shade.text(e,n.hue,a,r)}})],[[a(`▾ open`,i.state),a(`menu`,i.plane)],[a(`warn`,qs(e,`warning`)),a(`error`,qs(e,`error`))]]]}function Fz(e,t){let n=e.flatMap((e,t)=>e.map(({text:e,colour:n,ink:r},i)=>({gap:t>0&&i===0?` `:``,cell:new U(` ${e} `,{style:QR({tint:n,text:r})})}))),r=[],i=0;for(let{gap:e,cell:a}of n){if(i+=e.length+a.cellLength,i>t)break;e!==``&&r.push(new U(e)),r.push(a)}return r}function Iz(e,t,n,r,i){let a=Pz(e,t,n,r).map(e=>Fz(e,i)),o=U.fromFragments(a.flatMap((e,t)=>t===0?e:[new U(`
199
- `),...e]));return o.overflow=`ignore`,o.end=``,o}function Lz(e,t){return{themePreview:{fn:(...n)=>{let[r,...i]=n;if(OS(`themePreview`,[`applyAction`],i),r!==void 0&&typeof r!=`string`)throw Error(`themePreview: applyAction must name a declared action, got ${JSON.stringify(r)}`);let{palette:a,decor:o}=FR(e,`{{ themePreview }}`);return Iz(r===void 0?a:jz(e,r,`themePreview`),o,{...mz(t,`{{ themePreview }}`).disclosure,depth:0},t.drawnAt(),_z(e))},argTypes:[`value`],arity:{kind:`variadic`},returnType:`T`}}}const Rz=e=>e.slice(e.lastIndexOf(`.`)+1),zz=(e,t)=>{let n=new U(Rz(e));return n.truncate(t,{marker:`…`}),n.plain};function Bz(e,t){let n=e.map(e=>e.map(({name:e})=>hz(Rz(e)))),r=e=>n.every(n=>n.reduce((t,n)=>t+Math.min(n,e)+2,0)<=t),i=Math.max(1,...n.flat());for(;i>1&&!r(i);)--i;return i}function Vz(e,t,n,r){let i=Bz(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new U(` ${zz(s,i)} `,{style:QR(Oc(l,{kind:`bar`,decor:t,address:c},n))});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=U.fromFragments(a.flatMap((e,t)=>t===0?e:[new U(`
200
- `),...e]));return o.overflow=`ignore`,o.end=``,o}function Hz(e,t){return{layoutPreview:{fn:()=>Vz(e.layout(),FR(e,`{{ layoutPreview }}`).decor,t.drawnAt(),_z(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function Uz(e,t,n,r){let i=mz(r.activeSegment,`{{ menu }}`),a=r.action,o=wb(i.placementId,e,n.key),s=Db(o),c=Cb(e),l=VR(a.store,o)===c,u=VR(a.store,`session.id`),d=l?Hd:c,f=UR(Gd(`{{ menu "${e}" }}`,t,2,+!!l),wM([{verb:Zj,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=hc(i.palette,i.disclosure,t).plane,l=Sz(a,e,`menu`);return Cz(e,l,{key:s,stateVar:s},{kind:`own`,writes:[[o,Hd],[s,`0`]],onPick:n.closeOnPick},n.paged,a,az(i,n.distribution,FR(a,`{{ menu }}`),l.paletteOf,t,c),$R(i.palette,c,t))})():[]),f}const Wz=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Gz(e,t){let n=t[t.length-1],r=Wz(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:jb(r??{})}}function Kz(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=Gz(t,n);return Uz(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function qz(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=Jz(t,n,r),c=[];for(let e=0;e<r;e++){let t=e<s,l=t&&o!==void 0?o(e*n/r):void 0;c.push(new U(t?i:a,{style:l===void 0?void 0:new V({color:l})}))}let l=U.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function Jz(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?0:Math.min(n,Math.max(0,Math.round(e/t*n)))}function Yz(e){let t={fn:(()=>{let t=mz(e,`{{ bgOf }}`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],arity:{kind:`exact`},returnType:`string`},n={fn:(()=>mz(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r={fn:((t,n)=>{let{palette:r}=mz(e,`{{ keptOn }}`),i=br(r,t),a=br(r,n),o=P(jr(i,F.TRUECOLOR),jr(a,F.TRUECOLOR)),s=Math.min(nc,Math.max(o,3));return(Ar(i,e.drawnAt(),(e,t)=>P(e,t(a))>=s)??i).hex}),argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`string`},i=mS(()=>mz(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),a={fn:((e,t,n,r,a,o,...s)=>{let c=o===void 0?void 0:[o,...Xz(s)];return qz({value:e,max:t,width:n,filled:r,empty:a,colourAt:c===void 0?void 0:e=>String(i.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...i,bgOf:t,tint:n,keptOn:r,gauge:a}}function Xz(e){return e.flatMap(e=>{let t=e.indexOf(`:`),n=t<0?NaN:Number(e.slice(0,t));if(!Number.isFinite(n))throw Error(`{{ gauge }} stop "${e}" must be "<position>:<colour>", e.g. "80:error" or "80:#ff0000"`);return[n,e.slice(t+1)]})}function Zz(e){let t=[],n=[];for(let r of e){if(!r.contains(`
193
+ `,l.join(e,`lib`),t.sessionId,t.cwd],env:UF(t),timeoutMs:3e3,category:`memento.read`});return n.ok?GF(n.stdout):B(WF(n))}function qF(e,t,n){let r=A({bin:l.join(e,zF),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:UF(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(WF(r))}function JF(){return{locate:e=>HF(ri(e.claudeConfigDir),e.projectDir),read:KF,move:qF}}function YF(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${ir(n)} `,i=e.added_dirs.map(e=>` --add-dir ${ir(e)}`).join(``);return`cd ${ir(e.project_dir)} && ${r}claude --resume ${ir(t)}${i}`}function XF(e,t,n){let r=Gh(t(`preset`),e.globals.preset,e.presets),i=Jh(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{},o=eh(a.palette,t(`theme`),i.palette),s=SF(i,xF(o,e.themeDefaults));return{preset:r,presetCustomized:n(r),theme:o,style:xp(a.style,t(`style`),s.style,e.styles),effect:Dp(a.effect,t(`effect`),s.effect),endcaps:Mp(a.endcaps,t(`endcaps`),s.endcaps),variation:Bp(a.variation,t(`variation`),s.variation),shade:Up(a.shade,t(`shade`),s.shade),separator:a.default_separator??s.default_separator,autoWrap:Zp(a.autoWrap,t(`autoWrap`),s.autoWrap),padding:em(a.padding,t(`padding`),s.padding),charset:a.charset??s.charset??`unicode`,updateNotice:Qp(a.updateNotice,t(`updateNotice`),s.updateNotice),transitions:$p(a.transitions,t(`transitions`),s.transitions),colorCompatibility:a.colorCompatibility??s.colorCompatibility??`truecolor`}}function ZF(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function QF(e){return{theme:e.theme,style:e.style,effect:e.effect,preset:e.preset,variation:e.variation,shade:e.shade,transitions:e.transitions}}function $F(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:yF(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},shade:{effective:e.shade},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice},transitions:{effective:e.transitions}}}const eI=10*1e3;function tI(e,t,n,r){let i=n-(t*1e3-r);if(i<3e5||e<=0)return;let a=e/i,o=(100-e)/a;return Math.max(0,Math.round(o/6e4))}function nI(e,t){if(!(t<60))return e*3600/t}function rI(e,t,n,r){let i=r-t;if(i<50||i>eI)return;let a=n-e;if(!(a<=0))return a*1e3/i}function iI(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=rI(t.input,t.atMs,n.input,n.atMs),i=rI(t.output,t.atMs,n.output,n.atMs),a=rI(t.total,t.atMs,n.total,n.atMs);if(!(r===void 0&&i===void 0&&a===void 0))return{...r!==void 0&&{input:r},...i!==void 0&&{output:i},...a!==void 0&&{total:a}}}function aI(e){let{samples:t}=e,n=[];for(let e=1;e<t.length;e++){let r=t[e-1],i=t[e],a=i.atMs-r.atMs;if(a<50||a>eI)continue;let o=rI(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function oI(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function sI(e){let t=[],n=(e,n)=>{try{let e=n();return e===``?void 0:e}catch(n){t.push(`host.${e}: ${String(n)}`);return}},r=n(`name`,()=>oI(h.hostname())),i=n(`user`,()=>h.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function cI(e,t){let n=new Map;for(let[t,r]of Object.entries(e.variables))n.set(t,r);for(let[t,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))n.set(`${t}.${e}`,i);let r=[],i=new Set,a=t=>hg(t,e.helpers).keys(),o=Jh(e,t);for(let e of mp){let t=o[e];if(hp(t))for(let e of a(t))r.push(e)}for(let n of ch(qh(e,t).node)){if(n.when)for(let e of a(n.when))r.push(e);if(n.kind!==`segment`)continue;let t=e.segments[n.name];if(t){for(let e of[t.template,t.when,t.bg,t.fg])if(e)for(let t of a(e))r.push(t)}}let s=new Set;for(;r.length>0;){let e=r.pop();for(let t of uI(n,e)){if(i.has(t))continue;i.add(t);let e=n.get(t);if(e){if(e.kind===`input`)s.add(e.path);else if(e.kind===`template`)for(let t of a(e.template))r.push(t)}}}return s}function lI(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=cI(e,n);return t.set(n,i),i}}function uI(e,t){let n=t;for(;n.length>0;){if(e.has(n))return[n];let t=n.lastIndexOf(`.`);if(t<0)break;n=n.slice(0,t)}let r=`${t}.`,i=[];for(let t of e.keys())t.startsWith(r)&&i.push(t);return i}function dI(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function fI(e){let t=t=>e.has(t),n=t(`git.staged`)||t(`git.unstaged`)||t(`git.untracked`)||t(`git.conflicts`);return{...t(`git.sha`)&&{showSha:!0},...n&&{showWorkingTree:!0},...t(`git.stash`)&&{showStashCount:!0},...t(`git.upstream`)&&{showUpstream:!0},...t(`git.repoName`)&&{showRepoName:!0},...t(`git.repoUrl`)&&{showRepoUrl:!0},...t(`git.operation`)&&{showOperation:!0},...t(`git.timeSinceCommit`)&&{showTimeSinceCommit:!0},...(t(`git.prNumber`)||t(`git.prState`)||t(`git.prUrl`)||t(`git.prError`))&&{showPullRequest:!0}}}async function pI(e,t,n,r,i,a,o,{configPath:s,...c}){let l=e=>dI(i,e),u=dw(t).getTime(),d=o.tmux??null,f=(e,t,n)=>t?n().catch(t=>B(`${e}: ${String(t)}`)):Promise.resolve(z),[p,m,h,g,_,v,y,b,x,S,C]=await Promise.all([f(`git`,l(`git`),()=>n.gitProvider.getGitInfo(r??e.workspace?.current_dir,fI(i),e.workspace?.project_dir)),f(`session`,l(`session.cost`)||l(`session.tokens`)||l(`burn`),()=>n.usageStore.getUsageInfo(e.session_id,e)),f(`today`,l(`today`),()=>n.usageStore.getTodayInfo(e,o.claudeConfigDir,t)),f(`context`,l(`context`)||l(`autocompact`),()=>n.contextProvider.getContextInfo(e)),f(`metrics`,l(`metrics`)||l(`burn`),()=>n.metricsProvider.getMetricsInfo(e.session_id,e)),f(`activity`,l(`activity`),()=>n.activityProvider.getActivityInfo(e.session_id,e)),f(`tmux`,l(`tmux.session`),()=>d===null?Promise.resolve(z):n.tmuxService.getSessionName(d)),f(`cache`,l(`cache`),()=>PF(e.transcript_path)),f(`speed`,l(`speed`),()=>n.usageStore.observeSpeed(e.session_id,e.transcript_path,u)),f(`memento`,l(`memento`),()=>n.mementoProvider.getCeiling(LF({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:r??e.workspace?.current_dir??``},o))),f(`autocompact`,l(`autocompact`),()=>Promise.resolve(n.autoCompact(ni(ti(o.claudeConfigDir)))))]),ee=[],w=e=>{if(e.kind===`failed`){ee.push(e.reason);return}return e.kind===`ok`?e.value:void 0},te=xI(p,u);ee.push(...te.failures);let ne=sI(o);ee.push(...ne.failures);let re=w(m),ie=w(h),T=w(g),E=w(_),ae=w(v),oe=w(y),D=w(b),se=gI(S);S.kind===`failed`&&ee.push(`memento: ${S.reason}`);let ce=mI(C,T?.maxTokens);C.kind===`failed`&&ee.push(`autocompact: ${C.reason}`);for(let e of ee)n.log(`warn`,`provider fetch failed: ${e}`);let O=e.rate_limits?.five_hour,le=e.rate_limits?.seven_day,ue=O?tI(O.used_percentage,O.resets_at,18e6,u):void 0,de=le?tI(le.used_percentage,le.resets_at,6048e5,u):void 0,fe=re?.session.cost,pe=E?.sessionDuration,me=l(`burn`)&&fe!=null&&pe!=null?nI(fe,pe):void 0,he=w(x),ge=he===void 0?void 0:iI(he),_e=he===void 0?void 0:aI(he),ve=ge!==void 0||_e!==void 0?{...ge,..._e!==void 0&&{history:_e}}:void 0,k=bI(process.env.HOME??process.env.USERPROFILE),ye=e.workspace?{...e.workspace,current_dir:bI(e.workspace.current_dir)??``,project_dir:bI(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>bI(e)??e)}:e.workspace,be=re===void 0?void 0:yI({cost:re.session.cost,tokens:re.session.tokens}),xe=ie===void 0?void 0:{cost:ie.cost,tokens:ie.tokens},Se=E===void 0?void 0:yI({lastResponseTime:E.lastResponseTime,responseTime:E.responseTime,sessionDuration:E.sessionDuration,messageCount:E.messageCount,nonPrompts:E.nonPrompts,linesAdded:E.linesAdded,linesRemoved:E.linesRemoved}),Ce=ae===void 0?void 0:_I(ae);return{...e,...ye!==void 0&&{workspace:ye},...k!==void 0&&{home:k},...te.git!==void 0&&{git:te.git},...d!==null&&{tmux:{pane:d.pane,...oe!==void 0&&{session:oe}}},host:ne.host,...$F(a),history:n.history(e.session_id),navigation:{back:n.navigation(e.session_id)},...c,...s!==null&&{configPath:s},resumeCommand:YF(ye,e.session_id,o.claudeConfigDir),...be!==void 0&&{session:be},...xe!==void 0&&{today:xe},...me!==void 0&&{burn:{costPerHour:me}},...ve!==void 0&&{speed:ve},...l(`block`)&&O!==void 0&&{block:{nativeUtilization:O.used_percentage,resetsAt:O.resets_at,...ue!==void 0&&{etaMinutes:ue}}},...le!==void 0&&{weekly:{percentage:le.used_percentage,resetsAt:le.resets_at,...de!==void 0&&{etaMinutes:de}}},...D!==void 0&&{cache:{expiresAt:D}},...T!==void 0&&{context:{totalTokens:T.totalTokens,contextLeft:T.contextLeftPercentage}},...Se!==void 0&&{metrics:Se},...Ce!==void 0&&{activity:Ce},...se!==void 0&&{memento:se},...ce!==void 0&&{autocompact:ce}}}function mI(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return JD(e.value,t)}}const hI=e=>e.trim().split(`
194
+ `).at(-1).trim();function gI(e){switch(e.kind){case`absent`:return;case`failed`:return{error:hI(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function _I(e){let t=e.todos.findIndex(e=>e.active),n=e.todos.length===0?void 0:{total:e.todos.length,completed:e.todos.filter(e=>e.done).length,...t>=0&&{position:t+1,active:e.todos[t].text}},r=vI(e.running),i=vI(e.done),a=r===void 0&&i===void 0?void 0:{...r!==void 0&&{running:r},...i!==void 0&&{done:i}};if(!(e.command===null&&n===void 0&&a===void 0))return{...e.command!==null&&{command:e.command},...n!==void 0&&{todo:n},...a!==void 0&&{tool:a}}}function vI(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function yI(e){let t={},n=!1;for(let r of Object.keys(e)){let i=e[r];i!=null&&(t[r]=i,n=!0)}return n?t:void 0}function bI(e){return e===void 0||e.length===0||l.sep!==`\\`?e:e.replace(/\\/g,`/`)}function xI(e,t){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let n=e.value,r=[],i=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){r.push(`git.${e}: ${t.reason}`);return}return t.value}},a=i(`aheadBehind`,n.aheadBehind),o=i(`sha`,n.sha),s=i(`operation`,n.operation),c=i(`timeSinceCommit`,n.committedAt),l=c===void 0?void 0:Math.floor((t-c)/1e3),u=i(`stash`,n.stashCount),d=i(`upstream`,n.upstream),f=i(`repoName`,n.repoName),p=i(`repoUrl`,n.repoUrl),m=n.pullRequest,h={};return m?.kind===`ok`?(h.prNumber=m.value.number,h.prState=m.value.state,h.prUrl=m.value.url):m?.kind===`failed`&&(r.push(`git.pr: ${m.reason}`),h.prError=m.reason),{git:{branch:n.branch,status:n.status,...a!==void 0&&{ahead:a.ahead,behind:a.behind},...n.workingTree!==void 0&&{staged:n.workingTree.staged,unstaged:n.workingTree.unstaged,untracked:n.workingTree.untracked,conflicts:n.workingTree.conflicts},...o!==void 0&&{sha:o},...s!==void 0&&{operation:s},...l!==void 0&&{timeSinceCommit:l},...u!==void 0&&{stash:u},...d!==void 0&&{upstream:d},...f!==void 0&&{repoName:f},...p!==void 0&&{repoUrl:p},...h},failures:r}}const SI={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,effect:e=>e.effect.kind===`decided`?e.effect.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,shade:e=>e.shade,transitions:e=>e.transitions?Wp:Gp,autoWrap:e=>e.autoWrap?Wp:Gp,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?Wp:Gp},CI=Object.entries(fa),wI=new Set(pa.map(e=>e.sessionKey)),TI=()=>!1;function EI(e,t){return XF(e,e=>wI.has(e)?t(e):null,TI)}const DI=[`preset`,`theme`];function OI(e,t,n){let r=new Set(DI.slice(0,n).map(e=>fa[e].sessionKey));return XF(e,e=>r.has(e)?t(e):null,TI)}function kI(e,t){let n=Array.from({length:DI.length+1},(n,r)=>OI(e,t,r));return e=>{let t=DI.indexOf(e);return n[t===-1?DI.length:t]}}function AI(e,t,n,r){return e.flatMap(([e,i])=>{let a=SI[e](t);return a===null||a===SI[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function jI(e,t,n){return SI[n](EI(e,t))}function MI(e,t){let n=EI(e,t);return AI(CI,n,kI(e,t),t=>NI(e,n.preset,t.configKey))}function NI(e,t,n){return n in(Kh(e.presets,t).globals??{})?PE(t,n):n}function PI(e,t,n){let r=Gh(t(fa.preset.sessionKey),e.globals.preset,e.presets),i=FE(n);return{key:i?.scope===`globals`?NI(e,r,i.field):n,globals:Jh(e,r)}}function FI(e,t){let{preset:n}=EI(e,t);return RI(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Eh(a,s);return c===void 0||Th(c)===Th(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function II(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return Wh(e.presets).flatMap(n=>{let i=RI(e,n);return[...new Set(i.filter(e=>r.has(e.key)).map(e=>e.id))].flatMap(e=>{let n=i.filter(t=>t.id===e);return Ch(Object.fromEntries(n.map(e=>[e.setting,e.decl])),Object.fromEntries(n.map(e=>{let n=r.get(e.key)??t(e.key),i=n===null?void 0:Eh(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const LI=new WeakMap;function RI(e,t){let n=LI.get(e)??new Map;LI.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...ch(qh(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=xh(e.segments[t.name])[n];return{id:r,setting:n,key:i,decl:a,saved:t.settings?.[n]??a.default}})),a=[...new Map(i.map(e=>[e.key,e])).values()];return n.set(t,a),a}function zI(e,t){let n=EI(e,t);return{from:n.preset,globals:Kh(e.presets,n.preset).globals??{},picks:AI(CI.filter(([e])=>e!==`preset`),n,kI(e,t),e=>e.configKey),placements:FI(e,t)}}function BI(e,t){return XF({...e,globals:{palette:t},presets:{}},()=>null,TI)}function VI(e,t){let n=EI(e,t),r=SI.theme(n);if(r===null)return{kind:`rule`};let i=BI(e,r),a=Jh(e,n.preset),o=Object.fromEntries(ph.map(e=>[e,SI[e](a[e]===void 0?n:i)]));return{kind:`look`,theme:r,look:o,differs:ph.some(e=>o[e]!==SI[e](i))}}function HI(e){return{sessionKeys:pa.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...pE(e)?vF.map(t=>PE(t,e)):[],...NE(e)?lp().map(t=>ME(t,e)):[]]}}function UI(e){return new Set(pa.map(e=>e.configKey).filter(t=>HI(t).fileKeys.some(t=>KI(e,GI(t)))))}function WI(e,t,n){let r=MI(e,n),i=new Set(r.map(e=>e.configKey)),a=va(e=>i.has(fa[e].configKey)||t.has(fa[e].configKey)),o=VI(e,n);return{unsaved:r.length+FI(e,n).length,resettable:a,themeDefault:o.kind===`look`&&o.differs?{differs:!0,theme:o.theme}:{differs:!1}}}function GI(e){let t=FE(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return IE(t)}function KI(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&KI(e[n],r)}const qI=lp(),JI=new Set(qI),YI=new Set(Op),XI=e=>e?JI.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${qI.join(`, `)})`}:{ok:!1,reason:`theme name is required`},ZI=e=>e?YI.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${Op.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},QI=new Set([`1`,`true`]),$I=new Set([`0`,`false`]),eL={endcaps:ZI,theme:XI,"toolbar-expanded":e=>QI.has(e)?{ok:!0,value:`1`}:$I.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},tL=SA(eL,`state`,cL);function nL(e,t){return tL.register(e,t)}function rL(e){return tL.gateFor(e)}function iL(e,t){return`set`in e?`to`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:[e.to]}}]:`from`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:eg(e.from,t).members}}]:`int`in e?[{key:e.set,spec:{kind:`int`}}]:`cycle`in e?[{key:e.set,spec:{kind:`allow-list`,allowed:e.cycle}}]:[{key:e.set,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function aL(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(eL,e.key))}function oL(e,t,n){let r=ya.get(n);if(r!==void 0)return jI(e,t,r);let i=Object.values(e.variables).find(e=>e.kind===`state`&&e.key===n);return i?.kind===`state`?i.default??null:null}function sL(e){let t=Gk(e);return aL(Object.values(e.actions).flatMap(e=>iL(e,t)))}function cL(e){return bA(sL(e))}const lL=`update.dismissed`,uL=`updateNotice`,dL=fa.updateNotice.sessionKey;function fL(e){return e.kind===`source`?e.newer.digest:di(e.newer)}const pL=e=>`${e.version} [${Vm(e.digest)}]`;function mL(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:pL(e.newer),running:pL(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:di(e.newer),running:di(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${pi}@${di(e.newer)}`,`install`]}}}}const hL={kind:`idle`},gL={kind:`running`};function _L(e,t,n){if(e===null)return[];let r=fL(e);if(!n.enabled||n.dismissed===r)return[];let i=mL(e),a=`${i.headline}: ${i.newer}. You're on ${i.running}.`,o=t.kind===`failed`&&t.identity===r?[`${i.act} failed: ${t.reason}`]:[],s=[a,...o].join(`
195
+ `),c=Rn([{verb:yn,args:[s]}]),l=t.kind===`running`?km(`[${i.busy}]`,c):km(`[${i.act}]`,Rn([{verb:jn,args:[n.sessionId]}]));return[{severity:Om,message:s,lines:[[km(a,c),l,km(`[dismiss]`,Rn([{verb:mn,args:[n.sessionId,lL,r]}])),km(`[disable]`,Rn([{verb:bn,args:[n.sessionId,uL,`false`]},{verb:mn,args:[n.sessionId,dL,`false`]}]))],...o.map(e=>[km(e,c)])]}]}function vL(e,t){return e.kind===`stale`?{kind:`source`,root:e.root,newer:e.source,running:e.running}:e.kind===`not-source-checkout`&&t!==null&&t.kind===`stale`?{kind:`release`,newer:t.latest,running:t.installed}:null}function yL(e){switch(e.kind){case`current`:return[`info`,`build: current ${pL(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${pL(e.source)}, running ${pL(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function bL(e){switch(e.kind){case`current`:return[`info`,`release: current ${di(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${di(e.latest)}, running ${di(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${di(e.installed)}, latest ${di(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function xL(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const SL=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function CL(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=SL(e.stderr)??e.error??SL(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function wL(){let e=[wA(uL,[`false`]),nL(dL,[`false`]),nL(lL,[])];return()=>e.forEach(e=>e())}function TL(e){let{entryUrl:t,intervalMs:n,releaseIntervalMs:r,registryUrl:i,fetchImpl:a,onApplied:o,log:s}=e,c={kind:`unchecked`,reason:`not sampled yet`},l=null,u=hL,d=null,f=xL(s),p=xL(s),m=()=>vL(c,l);function h(){let e=m(),t=e===null?null:fL(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:nL(lL,[t])})}function g(){c=Gm(t,Um),f(yL(c)),h()}async function _(){l=hi(xt,await mi(pi,a,i)),p(bL(l)),h()}return{arm(){wL(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>_L(m(),u,e),act(){let e=m();if(e===null)throw new J(`apply-update: nothing newer is known to apply`);let t=mL(e);if(u.kind===`running`)throw new J(`apply-update: already ${t.busy}`);u=gL,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),ke({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=hL,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=CL(n);u={kind:`failed`,identity:fL(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var EL=class{static CACHE_DIR=Fe();static USAGE_CACHE_DIR=l.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=l.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=l.join(this.LOCKS_DIR,e);if(!r.existsSync(t))return!1;try{let n=r.readFileSync(t,`utf-8`),i=parseInt(n.trim(),10);if(isNaN(i))return k(`Invalid PID in lock file ${e}, removing stale lock`),r.unlinkSync(t),!1;try{return process.kill(i,0),!0}catch(n){return n.code===`ESRCH`?(k(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(k(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return k(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=l.join(this.LOCKS_DIR,e),i=Date.now(),a=String(process.pid);for(;Date.now()-i<t;)try{return await r.promises.writeFile(n,a,{flag:`wx`}),k(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await O(50);else throw e}return k(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=l.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),k(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&k(`Error releasing lock for ${e}:`,t)}}static async ensureCacheDirectories(){try{await Promise.all([r.promises.mkdir(this.CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.USAGE_CACHE_DIR,{recursive:!0}),r.promises.mkdir(this.LOCKS_DIR,{recursive:!0})])}catch(e){k(`Failed to create cache directories:`,e)}}static createProjectHash(e){return re(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=l.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){k(`Cache for ${e} is locked, waiting...`),await O(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(k(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(k(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return k(`No shared ${e} usage cache found`),null;k(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await O(75)}}return k(`Failed to read ${e} cache after 3 attempts.`),null}static deserializeDates(e){return Array.isArray(e)?e.map(e=>({...e,timestamp:new Date(e.timestamp)})):e}static async setUsageCache(e,t,n){let i=`${e}.usage.lock`;if(!await this.acquireLock(i)){k(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=l.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),k(`[CACHE-SET] ${e} disk cache stored`)}catch(t){k(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const DL={"claude-haiku-4-5-20251001":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-haiku-4-5":{name:`Claude Haiku 4.5`,input:1,output:5,cache_write_5m:1.25,cache_write_1h:2,cache_read:.1},"claude-opus-4-20250514":{name:`Claude Opus 4`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-opus-4-1-20250805":{name:`Claude Opus 4.1`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-sonnet-4-20250514":{name:`Claude Sonnet 4`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-4-opus-20250514":{name:`Claude 4 Opus`,input:15,output:75,cache_write_5m:18.75,cache_write_1h:30,cache_read:1.5},"claude-4-sonnet-20250514":{name:`Claude 4 Sonnet`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-sonnet-4-5-20250929":{name:`Claude Sonnet 4.5`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3},"claude-opus-4-5":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-5-20251101":{name:`Claude Opus 4.5`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-opus-4-6-20260205":{name:`Claude Opus 4.6`,input:5,output:25,cache_write_5m:6.25,cache_write_1h:10,cache_read:.5},"claude-sonnet-4-6":{name:`Claude Sonnet 4.6`,input:3,output:15,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3}};var OL=class{static executionCache=null;static modelPricingCache=new Map;static GITHUB_PRICING_URL=`https://raw.githubusercontent.com/promptctl/cc-candybar/main/pricing.json`;static async loadDiskCache(){let e=Date.now()-1440*60*1e3;return await EL.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await EL.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new C(this.GITHUB_PRICING_URL),n=ce({hostname:t.hostname,path:t.pathname,headers:{"User-Agent":`cc-candybar`,"Cache-Control":`no-cache`},timeout:5e3},t=>{if(t.statusCode!==200){k(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){k(`Response too large`),n.destroy(),e(null);return}r+=t}),t.on(`end`,()=>{try{let t=JSON.parse(r),n=t._meta,i={};for(let[e,n]of Object.entries(t))e!==`_meta`&&(i[e]=n);this.validatePricingData(i)?(k(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),k(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(k(`Invalid pricing data structure`),e(null))}catch(t){k(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{k(`Response error:`,t),e(null)})});n.on(`error`,t=>{k(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{k(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return k(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return k(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,k(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),k(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,k(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(k(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(DL).length} models`),this.executionCache=DL,k(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(DL).length} models`),DL)}static validatePricingData(e){if(!e||typeof e!=`object`)return!1;for(let[,t]of Object.entries(e)){if(!t||typeof t!=`object`)return!1;let e=t;if(typeof e.input!=`number`||typeof e.output!=`number`||typeof e.cache_read!=`number`)return!1}return!0}static async getModelPricing(e){if(this.modelPricingCache.has(e))return k(`[CACHE-HIT] Model pricing cache: ${e}`),this.modelPricingCache.get(e);let t=await this.getCurrentPricing(),n;return n=t[e]?t[e]:this.fuzzyMatchModel(e,t),this.modelPricingCache.set(e,n),k(`[CACHE-SET] Model pricing cache: ${e}`),n}static fuzzyMatchModel(e,t){let n=e.toLowerCase();for(let[e,r]of Object.entries(t))if(e.toLowerCase()===n)return r;for(let{pattern:e,fallback:r}of[{pattern:[`opus-4-6`,`claude-opus-4-6`],fallback:`claude-opus-4-6-20260205`},{pattern:[`opus-4-5`,`claude-opus-4-5`],fallback:`claude-opus-4-5-20251101`},{pattern:[`opus-4-1`,`claude-opus-4-1`],fallback:`claude-opus-4-1-20250805`},{pattern:[`opus-4`,`claude-opus-4`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet-4-6`,`sonnet-4.6`,`claude-sonnet-4-6`],fallback:`claude-sonnet-4-6`},{pattern:[`sonnet-4.5`,`4-5-sonnet`,`sonnet-4-5`],fallback:`claude-sonnet-4-5-20250929`},{pattern:[`sonnet-4`,`claude-sonnet-4`],fallback:`claude-sonnet-4-20250514`},{pattern:[`haiku-4.5`,`4-5-haiku`,`haiku-4-5`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`haiku`],fallback:`claude-haiku-4-5-20251001`},{pattern:[`opus`],fallback:`claude-opus-4-20250514`},{pattern:[`sonnet`],fallback:`claude-sonnet-4-5-20250929`}])if(e.some(e=>n.includes(e))&&t[r])return t[r];return t[`claude-sonnet-4-5-20250929`]||{name:`${e} (Unknown Model)`,input:3,cache_write_5m:3.75,cache_write_1h:6,cache_read:.3,output:15}}static async calculateCostForEntry(e){let t=e.message?.usage;if(!t)return 0;let n=this.extractModelId(e),r=await this.getModelPricing(n),i=t.input_tokens||0,a=t.output_tokens||0,o=t.cache_creation_input_tokens||0,s=t.cache_read_input_tokens||0,c=i/1e6*r.input,l=a/1e6*r.output,u=s/1e6*r.cache_read,d=o/1e6*r.cache_write_5m;return c+l+d+u}static extractModelId(e){if(e.model&&typeof e.model==`string`)return e.model;let t=e.message;if(t?.model){let e=t.model;if(typeof e==`string`)return e;let n=e;return(typeof n?.id==`string`?n.id:null)||`claude-sonnet-4-5-20250929`}return e.model_id&&typeof e.model_id==`string`?e.model_id:`claude-sonnet-4-5-20250929`}};const kL=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function AL(e){if(typeof e==`string`)return kL.exec(e)?.[1]}function jL(e){let t=e?.todos;if(!Array.isArray(t))return;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let{content:t,activeForm:r,status:i}=e,a=i===`in_progress`,o=a&&typeof r==`string`?r:t;typeof o==`string`&&n.push({text:o,active:a,done:i===`completed`})}return n}function ML(e){return typeof e==`string`?e:Array.isArray(e)?e.find(e=>typeof e==`object`&&!!e&&e.type===`text`&&typeof e.text==`string`)?.text??``:``}function NL(e,t){let n=e.message?.content,r=[],i=[],a;if(Array.isArray(n))for(let e of n){if(typeof e!=`object`||!e)continue;let t=e;switch(t.type){case`tool_use`:{let{id:e,name:n}=t;if(typeof e!=`string`||typeof n!=`string`)break;r.push({id:e,name:n}),n===`TodoWrite`&&(a=jL(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}default:break}}let o=t===`prompt`?AL(ML(n)):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&o===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...o!==void 0&&{command:o}}}function PL(e){if(e!==void 0)return[e];let t=g();return[p(t,`.config`,`claude`),p(t,`.claude`)].filter(e=>a(e))}async function FL(e){let t=[];for(let n of e){let e=p(n,`projects`);if(a(e))try{let n=await DF(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=p(e,r.name);t.push(n)}}catch(t){k(`Failed to read projects directory ${e}:`,t)}}return t}async function IL(e,t,n){let r=[],i=p(t,e,`subagents`);try{let t=(await DF(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=p(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await OF(t,`utf-8`)).split(`
196
+ `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{k(`Failed to check agent file ${t}`)}}}catch(e){k(`Failed to read subagents directory ${i}:`,e)}return r}function LL(e){let t=e.message;if((e.type||t?.role||t?.type)!==`user`)return;if(zL(t)===`tool_result`)return`tool-result`;let n=typeof e.origin==`object`&&e.origin!==null?e.origin.kind:void 0;if(n!==void 0&&n!==`human`)return`turn`;let r=ML(t?.content).trimStart();return r.startsWith(`[Request interrupted by user`)?`interrupt`:e.isMeta===!0||e.isCompactSummary===!0||RL.test(r)?`claude-code`:`prompt`}const RL=/^<(?:command-name|local-command-std(?:out|err)|bash-(?:input|stdout|stderr))>/;function zL(e){let t=e?.content;return Array.isArray(t)&&typeof t[0]==`object`&&t[0]?t[0].type:void 0}const BL=new Map;async function VL(e){try{let t=await kF(e),n=t.size,r=BL.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return k(`[parse-cache] hit ${e}`),BL.delete(e),BL.set(e,r),r.entries;let i;return n>1048576?(k(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await KL(e)):i=await WL(e),k(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(BL.delete(e),BL.size>=16&&BL.delete(BL.keys().next().value),BL.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return k(`Transcript not present yet: ${e}`),[];throw t}}function HL(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=LL(e);return{timestamp:new Date(e.timestamp),type:typeof e.type==`string`?e.type:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n,role:typeof t.role==`string`?t.role:void 0,type:typeof t.type==`string`?t.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,userEntry:r,activity:NL(e,r),raw:{model:typeof e.model==`string`?e.model:void 0,message:t?{id:typeof t.id==`string`?t.id:void 0,model:typeof t.model==`string`?t.model:void 0,usage:n}:void 0,requestId:typeof e.requestId==`string`?e.requestId:void 0}}}function UL(e){let t=[];for(let n of e.split(`
197
+ `))if(n.trim())try{let e=HL(JSON.parse(n));e&&t.push(e)}catch(e){k(`Failed to parse JSONL line: ${e}`);continue}return t}async function WL(e){return UL(await OF(e,`utf-8`))}async function GL(e,t){let n=await AF(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,stamp:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return R(c<0?{entries:[],cursor:{offset:i,stamp:a,ino:o},reset:s}:{entries:UL(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,stamp:a,ino:o},reset:s})}async function KL(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=le({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=HL(JSON.parse(t));e&&r.push(e)}catch(e){k(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{k(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{k(`File stream error for ${e}:`,t),n(t)})})}var qL=class{inflight=new Map;run(e,t){return this.inflight.get(e)??this.start(e,t)}start(e,t){let n=t();this.inflight.set(e,n);let r=()=>{this.inflight.get(e)===n&&this.inflight.delete(e)};return n.then(r,r),n}get size(){return this.inflight.size}};function JL(e,t){let n=e?e.input+e.cacheCreation+e.cacheRead:0,r=e?e.output:0;return{input:n,output:r,total:n+r,atMs:t}}const YL=new Map,XL={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},ZL={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function QL(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function $L(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function eR(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function tR(e,t,n,r){let i=QL(new Date($L())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:eR(),l=new Map;if(a)for(let[e,t]of a.days)e>=i&&l.set(e,{...t});for(let e of n){let t=e.message?.usage;if(!t)continue;o++;let n=e.costUSD??await OL.calculateCostForEntry(e.raw);s+=n,c.input+=t.input_tokens||0,c.output+=t.output_tokens||0,c.cacheCreation+=t.cache_creation_input_tokens||0,c.cacheRead+=t.cache_read_input_tokens||0;let r=QL(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...XL};a.cost+=n,a.input+=t.input_tokens||0,a.output+=t.output_tokens||0,a.cacheCreation+=t.cache_creation_input_tokens||0,a.cacheRead+=t.cache_read_input_tokens||0,l.set(r,a)}return{cursor:r,entries:o,cost:s,breakdown:c,days:l}}function nR(e){let t=0,n=0,r=eR(),i=new Map;for(let a of e.values()){t+=a.entries,n+=a.cost,r.input+=a.breakdown.input,r.output+=a.breakdown.output,r.cacheCreation+=a.breakdown.cacheCreation,r.cacheRead+=a.breakdown.cacheRead;for(let[e,t]of a.days){let n=i.get(e)??{...XL};n.cost+=t.cost,n.input+=t.input,n.output+=t.output,n.cacheCreation+=t.cacheCreation,n.cacheRead+=t.cacheRead,i.set(e,n)}}if(t===0)return{sessionInfo:ZL,days:i};let a=r.input+r.output+r.cacheCreation+r.cacheRead;return{sessionInfo:{cost:n,calculatedCost:n,officialCost:null,tokens:a,tokenBreakdown:r},days:i}}async function rR(e,t,n){let r=0,i=async()=>{for(;r<e.length;){let t=e[r++];await n(t)}},a=Math.min(t,e.length);await Promise.all(Array.from({length:a},i))}var iR=class{sessions=new Map;flight=new qL;seeded=new Map;seededDay=``;rescanIntervalMs;speedFlight=new qL;staleAgeMs;log;renderTally={hits:0,misses:0};sweeps=0;scans={seed:0,rescan:0};sweepTimer=null;constructor(e={}){this.log=e.logger??At,this.staleAgeMs=e.staleAgeMs??864e5,this.rescanIntervalMs=e.rescanIntervalMs??6e4;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.sessions.size,hits:this.renderTally.hits,misses:this.renderTally.misses,sweeps:this.sweeps,seeds:this.scans.seed,rescans:this.scans.rescan}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path,this.renderTally);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:ZL,i=t?.cost?.total_cost_usd??null;return R({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t,n){let r=QL(dw(n)),i=PL(t);try{await this.ensureSeeded(r,i,n*1e3)}catch(e){return B(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let a=await this.ingest(e?.session_id??``,e?.transcript_path,this.renderTally);if(a.kind===`failed`)return a;let o=i.map(e=>p(e,`projects`)+m),s={...XL},c=!1;for(let[t,{record:n}]of this.sessions){let i=n?.transcriptPath??``,a=t===e?.session_id||o.some(e=>i.startsWith(e))?n?.days??YL:YL;c||=a.has(r);let l=a.get(r)??XL;s.cost+=l.cost,s.input+=l.input,s.output+=l.output,s.cacheCreation+=l.cacheCreation,s.cacheRead+=l.cacheRead}return c?R({cost:s.cost,tokens:s.input+s.output+s.cacheCreation+s.cacheRead,tokenBreakdown:{input:s.input,output:s.output,cacheCreation:s.cacheCreation,cacheRead:s.cacheRead},date:r}):z}async observeSpeed(e,t,n){if(!e)return z;let r=CF(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,this.renderTally,r);if(i.kind===`failed`)return i;let a=JL(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),{ring:o}=this.hold(e),s;for(let e of o)e.atMs<a.atMs&&(s===void 0||e.atMs>s.atMs)&&(s=e);return o.push(a),o.sort((e,t)=>e.atMs-t.atMs),o.length>64&&o.shift(),R({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n,r){if(!e)return z;let i=r??CF(t),a=this.see(e)?.record;if(a&&i!==``&&a.transcriptStamp===i)return n.hits++,R(a);if(!t)return a?R(a):z;n.misses++;let o;try{o=await this.flight.run(`${e}:${i}`,async()=>{let n=this.sessions.get(e)?.record;return{prior:n,outcome:await this.refold(e,t,n)}})}catch(t){return B(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}let{prior:s,outcome:c}=o;if(c.kind!==`ok`)return c;let l={files:c.value.files,sessionInfo:c.value.sessionInfo,days:c.value.days,transcriptStamp:c.value.mainStamp,transcriptPath:t};return this.sessions.get(e)?.record===s&&(this.hold(e).record=l),R(l)}see(e){let t=this.sessions.get(e);return t&&(t.lastSeenAt=Date.now()),t}hold(e){let t=this.see(e);if(t)return t;let n={lastSeenAt:Date.now(),record:void 0,ring:[]};return this.sessions.set(e,n),n}async refold(e,t,n){let r=await IL(e,d(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=``;for(let e of[t,...r]){let r=n?.files.get(e),o=await GL(e,r?.cursor);if(o.kind===`failed`)return o;if(o.kind===`absent`){r&&i.set(e,r);continue}let{entries:s,cursor:c,reset:l}=o.value;i.set(e,await tR(r,l,s,c)),e===t&&(a=c.stamp)}return R({files:i,...nR(i),mainStamp:a})}ensureSeeded(e,t,n){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let r=t.join(`\0`),i=this.seeded.get(r);if(!i){let e=this.seed(t,`seed`),i={done:e,scanning:e,startedAtMs:n};return this.seeded.set(r,i),this.settle(r,i,e),e}return i.scanning===void 0&&n-i.startedAtMs>=this.rescanIntervalMs&&(i.startedAtMs=n,i.scanning=this.seed(t,`rescan`),this.settle(r,i,i.scanning)),i.done}settle(e,t,n){n.then(()=>{t.scanning=void 0},n=>{this.log(`warn`,`usageStore scan: ${n instanceof Error?n.message:String(n)}`),this.seeded.get(e)===t&&this.seeded.delete(e)})}async scanned(){await Promise.allSettled([...this.seeded.values()].map(e=>e.scanning))}async seed(e,t){let n=Date.now(),r=$L(),i=await FL(e),a=[];for(let e of i){let t;try{t=await DF(e)}catch{continue}for(let n of t){if(!n.endsWith(`.jsonl`))continue;let t=p(e,n),i;try{i=await kF(t)}catch{continue}i.mtimeMs<r||a.push({sessionId:n.slice(0,-6),path:t,stamp:wF(i)})}}let o={hits:0,misses:0};await rR(a,8,async e=>{let n=await this.ingest(e.sessionId,e.path,o,e.stamp);n.kind===`failed`&&this.log(`warn`,`usageStore ${t}: ${n.reason}`)}),this.log(`info`,`usageStore ${t} sessions=${a.length} read=${o.misses} dirs=${e.join(`,`)} ms=${Date.now()-n}`),this.scans[t]++}sweepStale(){let e=Date.now(),t=0,n=0,r=0;for(let[i,{lastSeenAt:a,record:o}]of this.sessions)if(!(e-a<=this.staleAgeMs)){if(o?.days.has(this.seededDay)){n++;continue}this.sessions.delete(i),t++,o===void 0&&r++}return t>0&&this.sweeps++,(t>0||n>0)&&this.log(`info`,`usageStore sweep dropped=${t} noRecord=${r} held=${n}`),t}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.sessions.clear(),this.seeded.clear()}},aR=class{thresholds={LOW:50,MEDIUM:80};getContextUsageThresholds(){return this.thresholds}ratioPercentages(e,t){let n=Math.min(100,Math.max(0,Math.round(e/t*100)));return{percentage:n,contextLeftPercentage:Math.max(0,100-n)}}calculateContextFromHookData(e){let t=e.context_window;if(!t?.current_usage)return k(`No current_usage in hook data, falling back to transcript parsing`),null;let n=t.current_usage,r=t.context_window_size,i=(n.input_tokens||0)+(n.cache_creation_input_tokens||0)+(n.cache_read_input_tokens||0);k(`Native current_usage: input=${n.input_tokens}, cache_create=${n.cache_creation_input_tokens}, cache_read=${n.cache_read_input_tokens}, total=${i} (limit: ${r})`);let a=this.ratioPercentages(i,r);return{totalTokens:i,maxTokens:r,percentage:t.used_percentage==null?a.percentage:Math.round(t.used_percentage),contextLeftPercentage:t.remaining_percentage==null?a.contextLeftPercentage:Math.round(t.remaining_percentage)}}async calculateContextTokensFromTranscript(e,t){try{k(`Calculating context tokens from transcript: ${e}`);let n=await VL(e);if(n.length===0)return k(`No entries in transcript`),z;let r=null;for(let e=n.length-1;e>=0;e--){let t=n[e];if(t&&t.message?.usage?.input_tokens&&t.isSidechain!==!0){r=t,k(`Context segment: Found most recent entry at ${t.timestamp.toISOString()}, stopping search`);break}}if(r?.message?.usage){let e=r.message.usage,n=(e.input_tokens||0)+(e.cache_read_input_tokens||0)+(e.cache_creation_input_tokens||0);return k(`Most recent main chain context: ${n} tokens (limit: ${t})`),R({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return k(`No main chain entries with usage data found`),z}catch(e){return B(`context transcript: ${e instanceof Error?e.message:String(e)}`)}}async getContextInfo(e){let t=this.calculateContextFromHookData(e);if(t)return R(t);let n=e.context_window?.context_window_size??2e5;return this.calculateContextTokensFromTranscript(e.transcript_path,n)}},oR=class{states=new Map;constructor(e,t,n=256){this.empty=e,this.step=t,this.maxSessions=n}async read(e,t){let n=this.states.get(e),r=CF(t);if(n&&r!==``&&n.cursor.stamp===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await GL(t,n?.cursor);if(i.kind===`failed`)return i;if(i.kind===`absent`)return{kind:`ok`,value:n?.value??this.empty};let{entries:a,cursor:o,reset:s}=i.value,c=s||n===void 0?this.empty:n.value;for(let e of a)c=this.step(c,e);for(this.touch(e,{cursor:o,value:c});this.states.size>this.maxSessions;){let e=this.states.keys().next().value;if(e===void 0)break;this.states.delete(e)}return{kind:`ok`,value:c}}touch(e,t){this.states.delete(e),this.states.set(e,t)}};const sR={messageCount:0,nonPrompts:0,recent:[]},cR=new Set([`turn`,`interrupt`,`claude-code`]);function lR(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +(t.userEntry===`prompt`),nonPrompts:e.nonPrompts+ +!!cR.has(t.userEntry),recent:n.length>20?n.slice(-20):n}}function uR(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(r.userEntry===`prompt`||r.userEntry===`turn`)t=r.timestamp;else if(e===`assistant`&&t){let e=(r.timestamp.getTime()-t.getTime())/1e3;e>.1&&e<300&&(n=e)}}return n}var dR=class{fold=new oR(sR,lR);async getMetricsInfo(e,t){if(k(`Getting metrics from hook data for session: ${e}`),!t.cost)return z;let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?B(`metrics (${e}): ${n.reason}`):R({responseTime:t.cost.total_api_duration_ms/1e3,lastResponseTime:uR(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,nonPrompts:n.value.nonPrompts,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const fR={command:null,todos:[],pending:[],done:[]};function pR(e,t){let n=e.findIndex(e=>e.name===t);return n<0?[...e,{name:t,count:1}]:e.map((e,t)=>t===n?{name:e.name,count:e.count+1}:e)}function mR(e,t){switch(t.userEntry){case`prompt`:return{...e,command:t.activity?.command??null,pending:[],done:[]};case`interrupt`:return{...e,pending:[]};case`turn`:case`tool-result`:case`claude-code`:case void 0:return e}}function hR(e,t){if(t.isSidechain)return e;let n=mR(e,t),r=t.activity;if(r===void 0)return n;let i=n.pending,a=n.done;r.started!==void 0&&(i=[...i,...r.started]);for(let e of r.finished??[]){let t=i.findIndex(t=>t.id===e);t<0||(a=pR(a,i[t].name),i=[...i.slice(0,t),...i.slice(t+1)])}return{...n,pending:i,done:a,todos:r.todos??n.todos}}function gR(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>pR(e,t.name),[]),done:e.done}}var _R=class{fold=new oR(fR,hR);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?B(`activity (${e}): ${n.reason}`):R(gR(n.value))}};function vR(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function yR(e,t){if(e.ok)return{kind:`ok`,stdout:e.stdout};if(e.reason===`rate-limited`)return{kind:`rate-limited`,reason:e.error??`rate-limited`};let n=e.error??[e.reason,e.stderr.trim()].filter(e=>e!==``).join(`: `);return{kind:`failed`,reason:`tmux ${t[0]} failed (${n})`}}function bR(e,t,n,r){return yR(A(vR(e,t,n,r)),n)}async function xR(e,t,n){return yR(await ke(vR(e,t,n)),n)}const SR=e=>`${e.socket}\n${e.pane}`;var CR=class{names=new Map;asking=new qL;constructor(e=Date.now){this.now=e}getSessionName(e){let t=SR(e),n=this.names.get(t);if(n&&this.now()-n.at<3e4)return Promise.resolve(n.outcome);let r=this.asking.run(t,()=>this.ask(t,e));return n?Promise.resolve(n.outcome):r}async ask(e,t){k(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await xR(t,`tmux`,[`display-message`,`-p`,`-t`,t.pane,`#S`]),r=n.kind===`ok`?n.stdout.trim():``,i=n.kind===`ok`?r?R(r):z:B(n.reason);for(this.names.delete(e),this.names.set(e,{outcome:i,at:this.now()});this.names.size>64;)this.names.delete(this.names.keys().next().value);return i}};const wR=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:Ze.map(t=>e.env?.[t]??null)]);var TR=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=wR(e),n=this.readings.get(t);if(n&&this.now()-n.at<1e4)return Promise.resolve(n.outcome);let r=this.inFlight.get(t)??this.fetch(t,e);return n?Promise.resolve(n.outcome):r}fetch(e,t){let n=this.edge.locate(t),r=(n.kind===`ok`?this.edge.read(n.value,t):Promise.resolve(n)).then(t=>{if(this.inFlight.get(e)!==r)return t;for(this.readings.delete(e),this.readings.set(e,{outcome:t,at:this.now()});this.readings.size>64;)this.readings.delete(this.readings.keys().next().value);return t}).finally(()=>{this.inFlight.get(e)===r&&this.inFlight.delete(e)});return this.inFlight.set(e,r),r}move(e,t){let n=this.edge.locate(e);if(n.kind!==`ok`)throw Error(n.kind===`failed`?n.reason:`memento is not installed or not enabled for this project`);let r=wR(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function ER(e){return{gitProvider:new aw({watchers:e.watchers,logger:e.logger}),usageStore:new iR({logger:e.logger}),contextProvider:new aR,metricsProvider:new dR,activityProvider:new _R,tmuxService:new CR,mementoProvider:new TR(JF()),autoCompact:qD,log:e.logger}}function DR(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function OR(e,t){let n=q.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function kR(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function AR({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function jR({text:e,placement:t,lead:n,trail:r}){return{text:MR(e),placement:t,...n!==void 0&&{lead:MR(n)},...r!==void 0&&{trail:MR(r)}}}function MR(e){let t=e.blankCopy(e.plain);t.style=nm(e.style).clearMetaAndLinks();for(let{start:n,end:r,style:i}of e.spans)t.stylize(nm(i).clearMetaAndLinks(),n,r);return t}function NR(e){let t=AR(e);if(t.length===1)return e.text;let n=OR(t);return n.style=e.text.style,n}function PR(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,placement:s,lead:c=[],trail:l=[]}=t;if(e.length===0)return[];let u=OR(e,a).pad(o),d=new q(` `.repeat(o)),f={placement:s,...c.length>0&&{lead:OR([d,...c],a)},...l.length>0&&{trail:OR([...l,d],a)}};if(n===`auto`)return[{text:u,...f}];let p={justify:r,truncate:i};return n===`fill`?[{text:u,fill:p,...f}]:(kR(u,n,p),[{text:u,...f}])}function FR(e,t){let n=()=>e.map(e=>({owner:NR(e),placement:e.placement})),r=[];if(e.forEach(({fill:e},t)=>{e!==void 0&&r.push({at:t,how:e})}),r.length===0||!Number.isFinite(t.width))return n();let i=wm(e.map(NR),t).split(`
198
+ `);if(i.length>1)return n();let a=Math.max(0,t.width-mm(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:n},i)=>{let a=o+(i===r.length-1?s:0),{text:c}=e[t];kR(c,c.cellLength+a,n)}),n()}function IR(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=LR(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e){let e={frag:a,style:nm(a.style)};if(e.style.link){i();let r=LR([e],t);r.plain.length>0&&n.push(r)}else r.push(e)}return i(),n}function LR(e,t){let n=t!==void 0&&!t.isNull?t:void 0,r=e.map(e=>RR(e.frag,n?n.add(e.style):e.style)),i=q.fromFragments(r);return i.end=``,i.overflow=`ignore`,r.length===1?i.style=r[0].style:n!==void 0&&(i.style=n),i}function RR(e,t){let n=e.copy();return n.style=t,n}function zR(e,t){if(e.look===void 0)throw Error(`${t} read the render's look before any render resolved one`);return e.look}function BR(e,t,n,r){let i=new Map,a=Object.entries(t);for(let[t,o]of[...a.filter(([,e])=>!(`do`in e)),...a.filter(([,e])=>`do`in e)])i.set(t,VR(e,t,o,n,r,i));return i}function VR(e,t,n,r,i,a){if(`set`in n){let e=r.get(n.set)??n.set;if(`to`in n)return{kind:`set-literal`,key:n.set,value:n.to,stateVar:e};if(`from`in n){let t=eg(n.from,i);return{kind:`set-option`,key:n.set,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}return`int`in n?{kind:`set-int`,key:n.set,stateVar:e}:`cycle`in n?{kind:`set-cycle`,key:n.set,stateVar:e,members:n.cycle}:{kind:`set-bounded`,key:n.set,by:n.by}}if(`persist`in n){let e=ga.get(n.persist)??n.persist;if(`to`in n)return{kind:`persist-literal`,key:n.persist,value:n.to,stateVar:e};if(`from`in n){let t=eg(n.from,i);return{kind:`persist-option`,key:n.persist,stateVar:e,options:[...t.members],paletteOf:t.paletteOf,library:t.library}}if(`cycle`in n)return{kind:`persist-cycle`,key:n.persist,stateVar:e,members:n.cycle};if(`removeSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`remove`,target:n.removeSegment}};if(`insertSegment`in n)return{kind:`layout-op`,key:n.persist,op:{op:`insert`,segment:n.insertSegment,anchor:n.anchor,relation:n.relation}};if(`insertSegmentFrom`in n){let e=eg(n.insertSegmentFrom,i);return{kind:`layout-op-option`,key:n.persist,anchor:n.anchor,relation:n.relation,options:[...e.members],paletteOf:e.paletteOf,library:e.library}}return{kind:`persist-bounded`,key:n.persist,by:n.by}}if(`copy`in n)return{kind:`copy`,text:WR(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:WR(e,n.open,t)};if(`reset`in n)return{kind:`reset`,key:n.reset};if(`doctor`in n)return n.doctor===`run`?{kind:`doctor-run`}:{kind:`doctor-fix`,check:n.check};if(`ceiling`in n)return{kind:`ceiling`,args:DM(n)};if(`slash`in n)return{kind:`slash`,line:n.slash};if(`undo`in n)return{kind:`undo`};if(`redo`in n)return{kind:`redo`};if(`back`in n)return{kind:`back`};if(`rewind`in n)return{kind:`rewind`};if(`save`in n)return{kind:`save`};if(`preset`in n)return n.preset===`save`?{kind:`preset-save`}:{kind:`preset-delete`,name:WR(e,n.name,t)};if(`themeDefault`in n)return{kind:`theme-default-save`};let[o,...s]=n.do.map(e=>{let n=a.get(e);if(n===void 0)throw Error(`action "${t}" fires "${e}", which is not declared in this config`);return n});return{kind:`do`,head:o,rest:s}}function HR(e){return e.kind===`do`?HR(e.head):e}function UR(e){switch(HR(e).kind){case`set-option`:case`set-int`:case`persist-option`:case`layout-op-option`:return!0;case`set-literal`:case`set-bounded`:case`set-cycle`:case`copy`:case`open`:case`persist-literal`:case`persist-bounded`:case`persist-cycle`:case`reset`:case`layout-op`:case`undo`:case`redo`:case`back`:case`rewind`:case`save`:case`preset-save`:case`preset-delete`:case`theme-default-save`:case`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function WR(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function GR(e,t){return e.has(t)?Mg(e.read(t)):``}function KR(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function qR(e,t,n,r){let i=new q(e,{style:G.combine([r,new G({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function JR(e,t,n=!1){let r=new G({link:t,bold:n?!0:void 0}),i=new q(e.plain,{style:G.combine([nm(e.style),r])});for(let t of e.spans)i.stylize(G.combine([nm(t.style),r]),t.start,t.end);return i.overflow=`ignore`,i.end=``,i}function YR(e,t){return Math.max(e.members.indexOf(GR(t,e.stateVar)),0)}function XR(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=GR(r,e.stateVar);return{effects:[{verb:mn,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=GR(r,e.stateVar);return{effects:[{verb:mn,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=GR(r,e.stateVar);return{effects:[{verb:mn,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(YR(e,r)+1)%e.members.length];return{effects:[{verb:mn,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:hn,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:P,args:[KR(e.text,xC(r))]}],active:!1};case`open`:return{effects:[{verb:gn,args:[KR(e.target,xC(r))]}],active:!1};case`persist-literal`:{let t=GR(r,e.stateVar);return{effects:[{verb:bn,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=GR(r,e.stateVar);return{effects:[{verb:bn,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(YR(e,r)+1)%e.members.length];return{effects:[{verb:bn,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:xn,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:Tn,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:Dn,args:[i]}],active:!1};case`redo`:return{effects:[{verb:On,args:[i]}],active:!1};case`back`:return{effects:[{verb:kn,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:An,args:[i]}],active:!1};case`save`:return{effects:[{verb:Sn,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:Cn,args:[i]}],active:!1};case`theme-default-save`:return{effects:[{verb:F,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:wn,args:[i,KR(e.name,xC(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:Mn,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:Nn,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:Fn,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:In,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:En,args:[i,e.key,uA(e.op)]}],active:!1};case`do`:{let a=XR(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>XR(e,t,void 0,r,i).effects)],active:a.active}}case`layout-op-option`:{let r={op:`insert`,segment:n??t,anchor:e.anchor,relation:e.relation};return{effects:[{verb:En,args:[i,e.key,uA(r)]}],active:!1}}}}function ZR(e,t,n,r){if(n.length===0)throw Error(`action "${e}" needs a display (the clickable text)`);if(t.kind===`set-cycle`||t.kind===`persist-cycle`)return{display:Kn(`action "${e}"`,n,t.members.length,YR(t,r)),boundValue:void 0};if(n.length>2)throw Error(`action "${e}" takes a display and an optional bound value, got ${n.length} arguments (per-state displays are a cycle action's form)`);return{display:n[0],boundValue:n[1]?.plain}}function QR(e,t,n){let r=n.compiled.get(e);if(!r)throw Error(`action "${e}" is not declared in this config`);let i=n.store,{display:a,boundValue:o}=ZR(e,HR(r),t,i),s=GR(i,`session.id`),{effects:c,active:l}=XR(r,a.plain,o,i,s);return JR(a,Rn(c),l)}function $R(e){return{action:{fn:(t,...n)=>QR(t,n,e),argTypes:[`string`,`liftable`],arity:{kind:`variadic`},returnType:`T`}}}function ez(e,t){return qR(`✕`,Rn([{verb:mn,args:[GR(e,`session.id`),t,Wn]}]),!1)}function tz(e,t,n){return new G({bgcolor:W.fromRgba(t),color:W.fromRgba(Nf(e,t,n))})}function nz({tint:e,text:t}){return new G({bgcolor:W.fromRgba(e),color:W.fromRgba(t)})}function rz(e,t,n){return new G({color:W.fromRgba(Zs(Cf(e,`warning`),t,Mf,n))})}function iz(e,t,n){return G.combine([tz(e,t,n),rz(e,t,n)])}function az(e,t,n){return tz(e.palette,ep(e.palette,e.disclosure,[t],n),n)}function oz(e){let t=W.fromRgba(Cf(e,`background`)),n=q.fromFragments(Yd.map(n=>new q(`▀`,{style:new G({color:W.fromRgba(Cf(e,n)),bgcolor:t})})));return n.overflow=`ignore`,n.end=``,n}const sz=(e,t)=>{let n=typeof e==`string`?new q(e,{style:t}):e;return n.overflow=`ignore`,n.end=``,n},cz=e=>new G({bold:e});function lz(e,t,n,r,i,a){if(r===void 0)return(n,r,a,o)=>sz(a,G.combine([az(e,{...n,distribution:t},i),cz(o)]));let o=tz(e.palette,a,i);return(e,t,i,a)=>uz(i,G.combine([o,cz(a)]),r(t,n))}const uz=(e,t,n)=>sz(q.fromFragments([sz(e,t),sz(` `,t),oz(n)]));function dz(e,t){return t===void 0?(e,t,n)=>sz(n):(n,r,i)=>uz(i,void 0,t(r,e))}function fz(e,t,n,r,i){let a=tz(e.palette,i,r);return(e,r,i,o)=>sz(q.fromFragments([sz(o?`[`:` `,a),oz(n(r,t)),sz(o?`]`:` `,a)]))}function pz(e,t,n){let r=t.map(t=>({label:t.label,indices:e.flatMap((e,n)=>e.group===t.id?[n]:[])})).filter(e=>e.indices.length>0);if(r.reduce((e,t)=>e+t.indices.length,0)!==e.length){let n=new Set(t.map(e=>e.id)),r=e.flatMap((e,t)=>n.has(e.group)?[]:[`#${t} (group "${e.group}")`]);throw Error(`library: ${r.join(`, `)} name a group the domain does not list (${[...n].join(`, `)})`)}return n?r.flatMap(e=>mz(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function mz(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function hz(e,t){return new q(e).truncate(t,{marker:`…`}).plain}function gz(e){return{current:null,drawnAt:e}}function _z(e,t,n,r,i,a,o){let s={segName:t,placementId:n,palette:r,disclosure:i,tint:a,text:o,bg:void 0,drops:[]};return e.current=s,s}function vz(e,t){let n=e.current;if(n===null)throw Error(`${t} is only available inside a segment's templates — there is no active segment here. Segment-scoped functions cannot be used in variable declarations or layout-node "when" predicates, which are evaluated outside any segment.`);return n}function yz(e){return new q(e).cellLength}function bz(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function xz(e){return Math.max(1,bz(e)-(yz(`✕`)+2*e.padding+e.seamCols))}function Sz(e,t,n){if(!Number.isFinite(t))return e.length>0?[e.map((e,t)=>t)]:[];let r=Math.max(1,t-n),i=[],a=[],o=0;for(let t=0;t<e.length;t++){let n=e[t];a.length===0?(a=[t],o=n):o+1+n<=r?(a.push(t),o+=1+n):(i.push(a),a=[t],o=n)}return a.length>0&&i.push(a),i}function Cz(e,t,n){let r=yz(`←`)+1+yz(`→`)+1,i=Sz(e,t,n);return(i.length>1?Sz(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function wz(e,t){let n=[];for(let t of e)n.length>0&&n.push(new q(` `)),n.push(t);let r=q.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function Tz(e,t,n,r,i){let a=e.compiled.get(t);if(!a||a.kind!==n)throw Error(`${i} references action "${t}" which must be ${r}, got ${a?`a ${a.kind} action`:`no such action`}`);return a}function Ez(e,t,n){let r=e.compiled.get(t),i=r&&HR(r);if(!i||i.kind!==`set-option`&&i.kind!==`persist-option`&&i.kind!==`layout-op-option`)throw Error(`${n} references action "${t}" which must be a set-option, persist-option, or layout-op-option action ({ set, from }, { persist, from }, or { persist, insertSegmentFrom, anchor, relation }), got ${i?`a ${i.kind} action`:`no such action`}`);return i}function Dz(e,t,n,r,i,a,o,s,c=[]){let l=a.compiled.get(e),u=a.store,d=GR(u,`session.id`),f=`stateVar`in t?GR(u,t.stateVar):void 0,p=(e,n)=>{let r=t.options[e];return o({index:e,count:t.options.length},r,n,r===f)},m=i?r.kind===`led`?xz(a):bz(a):1/0,h=(r.kind===`led`?0:yz(`✕`)+1)+c.reduce((e,t)=>e+yz(t.glyph)+1,0),g=t.library&&{groups:t.library.groups,entries:t.options.map(t.library.entry)},_=g===void 0?t.options.map((e,t)=>p(t,e)):[],v=g===void 0?Cz(_.map(e=>e.cellLength),m,h):pz(g.entries,g.groups,i),y=parseInt(GR(u,n.stateVar),10),b=e=>Math.max(0,v.findIndex(t=>t.some(t=>t.indices.includes(e)))),x=b(f===void 0?-1:t.options.indexOf(f)),S=Number.isInteger(y)?y<0?x:Math.min(y,v.length-1):0,C=v[S]??[],ee=e=>Rn([{verb:mn,args:[d,n.key,String(e)]}]),w=r.kind===`led`?[]:[{verb:mn,args:[d,...r.writes.flatMap(([e,t])=>[e,t])]}],te=r.kind===`own`&&r.onPick?w:[],ne=e=>Rn([...XR(l,e,e,u,d).effects,...te]),re=(e,n)=>JR(e,ne(t.options[n])),ie=r.kind===`led`?[]:[qR(`✕`,Rn(w),!1,s)];ie.push(...c.map(({glyph:e,option:r})=>qR(e,Rn([...XR(l,r,r,u,d).effects,{verb:mn,args:[d,n.key,String(b(t.options.indexOf(r)))]}]),!1))),S>0&&ie.push(qR(`←`,ee(S-1),!1));let T=S<v.length-1?[qR(`→`,ee(S+1),!1)]:[];if(g===void 0){let e=C.flatMap(e=>e.indices);return[wz([...ie,...e.map(e=>re(_[e],e)),...T],i)]}let E=new G({bold:!0}),ae=v.length>1?` ${S+1}/${v.length}`:``,oe=C.length===1?[new q(`${C[0].label}${ae}`,{style:E})]:[],D=[wz([...ie,...oe,...T],i)];for(let e of C){C.length>1&&D.push(wz([new q(e.label,{style:E})],i));let n=Math.max(...e.indices.map(e=>yz(t.options[e])));for(let r of e.indices){let e=t.options[r],a=g.entries[r].description,o=a===void 0?void 0:Vd(a),s=` `.repeat(n-yz(e)+2),c=o===void 0?e:`${e}${s}${o}`;D.push(wz([re(p(r,hz(c,m)),r)],i))}}return D}function Oz(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{hC(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=Tz(e,r,`set-int`,`an int action ({ set, int: true })`,`picker`);if(o===!0&&i===!0)throw Error(`{{ picker "${n}" … }} sets both closeOnPick and inBody; a picker in a body is closed by the body's ✕, so it has no close to fold into a pick`);let l=Ez(e,n,`picker`);if(l.library!==void 0)throw Error(`{{ picker "${n}" … }} ranges a catalogue domain, which lays out as one row per member; a catalogue renders in a {{ menu }} body`);let u=vz(t,`{{ picker }}`);if(u.bg===void 0)throw Error(`{{ picker }} is not available while segments.${u.segName}'s own "bg:" is being evaluated — a picker is drawn on that background`);let[d]=Dz(n,l,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,lz(u,df(void 0),zR(e,`{{ picker }}`),l.paletteOf,t.drawnAt(),u.bg),rz(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function kz(e,t){let n=e.length,r=Math.max(e.indexOf(t),0);return e=>((r+e)%n+n)%n}function Az(e,t,n,r,i){let a=Math.min(Math.floor((t-1)/2),i),o=n,s=0;for(;s<a;){let t=o+e(-(s+1))+1+e(s+1)+1;if(t>r)break;o=t,s+=1}return s}function jz(e,t,n,r,i,a){if(!(`stateVar`in t))throw Error(`carousel references action "${e}", which inserts a segment and holds no current value to centre on — a carousel needs a { set, from } or { persist, from } action`);let o=n.store;if(!o.has(t.stateVar))throw Error(`carousel references action "${e}", whose key "${t.stateVar}" no variable reads back, so there is no current value to centre on — declare { kind: "state", key: "${t.stateVar}" } among the variables`);let s=n.compiled.get(e),c=GR(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return wz([],!0);let d=GR(o,t.stateVar),f=kz(l,d),p=e=>l[f(e)],m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=Rn(XR(s,p(e),p(e),o,c).effects);return m.set(e,n),n},g=e=>r({index:f(e),count:u},p(e),p(e),p(e)===d),_=new Map,v=e=>{let t=_.get(e);if(t!==void 0)return t;let n=JR(g(e),h(e));return _.set(e,n),n},y=a===void 0?v(0):JR(dz(zR(n,`{{ carousel }}`),t.paletteOf)({index:f(0),count:u},p(0),p(0),!1),Rn(XR(n.compiled.get(a),p(0),void 0,o,c).effects)),b=Az(e=>v(e).cellLength,u,yz(`◀`)+1+y.cellLength+1+yz(`▶`),xz(n),i),x=e=>Array.from({length:b},(t,n)=>v(e*(n+1)));return wz([...x(-1).reverse(),qR(`◀`,h(-1),!1),y,qR(`▶`,h(1),!1),...x(1)],!0)}function Mz(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(hC(`carousel "${n}"`,[`neighbours`,`centre`],o),i!==void 0&&!(Number.isInteger(i)&&i>=0))throw Error(`carousel "${n}": neighbours must be a whole number ≥ 0 (0 shows only ◀ CURRENT ▶), got ${String(i)}`);if(a!==void 0&&!(typeof a==`string`&&e.compiled.has(a)))throw Error(`carousel "${n}": centre must name a declared action, got ${JSON.stringify(a)}`);if(a!==void 0&&UR(e.compiled.get(a)))throw Error(`carousel "${n}": centre "${a}" writes a value the template binds, and the centre binds none — name an action that writes a fixed value, a cycle, or a do of them`);let s=i??1/0,c=Ez(e,n,`carousel`),l=vz(t,`{{ carousel }}`);if(l.bg===void 0)throw Error(`{{ carousel }} is not available while segments.${l.segName}'s own "bg:" is being evaluated — a carousel is drawn on that background`);return jz(n,c,e,lz(l,df(void 0),zR(e,`{{ carousel }}`),c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function Nz(e,t,n){let r=Ez(e,t,n);if(!(`stateVar`in r))throw Error(`${n} references action "${t}", which inserts a segment and holds no current value — a ${n} needs a { set, from } or { persist, from } action`);if(r.paletteOf===void 0)throw Error(`${n} references action "${t}", whose options are not colour-valued — a swatch draws the palette an option puts in force, as the "themes", "placementThemes" and "styles" domains do`);return r}function Pz(e,t,n){let r=Math.imul(e^e>>>16,73244475);return r=Math.imul(r^r>>>16,73244475),r^=r>>>16,(n+1+(r>>>0)%Math.max(t-1,1))%t}function Fz(e,t,n,r){let i=Nz(e,t,n),a=r??GR(e.store,i.stateVar);if(!i.options.includes(a))throw Error(`${n} "${t}": "${a}" is not one of its options, so it has no palette to draw`);return i.paletteOf(a,zR(e,`{{ ${n} }}`))}function Iz(e,t,n){return{swatch:{fn:(t,...n)=>{let[r,...i]=n;if(hC(`swatch "${t}"`,[`option`],i),r!==void 0&&typeof r!=`string`)throw Error(`swatch "${t}": option must be text, got ${JSON.stringify(r)}`);return oz(Fz(e,t,`swatch`,r))},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`},swatches:{fn:(r,i)=>{let a=Nz(e,r,`swatches`),o=Tz(e,i,`set-int`,`an int action ({ set, int: true })`,`swatches`),s=vz(t,`{{ swatches }}`);if(s.bg===void 0)throw Error(`{{ swatches }} is not available while segments.${s.segName}'s own "bg:" is being evaluated — a swatch row is drawn on that background`);let c=t.drawnAt(),{options:l}=a,u=l.length,[d]=Dz(r,a,{key:o.key,stateVar:o.stateVar},{kind:`led`},!0,e,fz(s,zR(e,`{{ swatches }}`),a.paletteOf,c,s.bg),rz(s.palette,s.bg,c),u===0?[]:(()=>{let t=kz(l,GR(e.store,a.stateVar));return[{glyph:`◀`,option:l[t(-1)]},{glyph:`?`,option:l[Pz(n().getTime(),u,t(0))]},{glyph:`▶`,option:l[t(1)]}]})());return d},argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`T`}}}const Lz=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function Rz(e,t,n,r){let i=Gf(e,n,r),a=(t,n)=>({text:t,colour:n,ink:Nf(e,n,r)});return[[of(t).map((n,i)=>{let a=wf(e,n);return{text:Lz[i%Lz.length],colour:a,ink:t.shade.text(e,n.hue,a,r)}})],[[a(`▾ open`,i.state),a(`menu`,i.plane)],[a(`warn`,Cf(e,`warning`)),a(`error`,Cf(e,`error`))]]]}function zz(e,t){let n=e.flatMap((e,t)=>e.map(({text:e,colour:n,ink:r},i)=>({gap:t>0&&i===0?` `:``,cell:new q(` ${e} `,{style:nz({tint:n,text:r})})}))),r=[],i=0;for(let{gap:e,cell:a}of n){if(i+=e.length+a.cellLength,i>t)break;e!==``&&r.push(new q(e)),r.push(a)}return r}function Bz(e,t,n,r,i){let a=Rz(e,t,n,r).map(e=>zz(e,i)),o=q.fromFragments(a.flatMap((e,t)=>t===0?e:[new q(`
199
+ `),...e]));return o.overflow=`ignore`,o.end=``,o}function Vz(e,t){return{themePreview:{fn:(...n)=>{let[r,...i]=n;if(hC(`themePreview`,[`applyAction`],i),r!==void 0&&typeof r!=`string`)throw Error(`themePreview: applyAction must name a declared action, got ${JSON.stringify(r)}`);let{palette:a,decor:o}=zR(e,`{{ themePreview }}`);return Bz(r===void 0?a:Fz(e,r,`themePreview`),o,{...vz(t,`{{ themePreview }}`).disclosure,depth:0},t.drawnAt(),xz(e))},argTypes:[`value`],arity:{kind:`variadic`},returnType:`T`}}}const Hz=e=>e.slice(e.lastIndexOf(`.`)+1),Uz=(e,t)=>{let n=new q(Hz(e));return n.truncate(t,{marker:`…`}),n.plain};function Wz(e,t){let n=e.map(e=>e.map(({name:e})=>yz(Hz(e)))),r=e=>n.every(n=>n.reduce((t,n)=>t+Math.min(n,e)+2,0)<=t),i=Math.max(1,...n.flat());for(;i>1&&!r(i);)--i;return i}function Gz(e,t,n,r){let i=Wz(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new q(` ${Uz(s,i)} `,{style:nz(ip(l,{kind:`bar`,decor:t,address:c},n))});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=q.fromFragments(a.flatMap((e,t)=>t===0?e:[new q(`
200
+ `),...e]));return o.overflow=`ignore`,o.end=``,o}function Kz(e,t){return{layoutPreview:{fn:()=>Gz(e.layout(),zR(e,`{{ layoutPreview }}`).decor,t.drawnAt(),xz(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function qz(e,t,n,r){let i=vz(r.activeSegment,`{{ menu }}`),a=r.action,o=$w(i.placementId,e,n.key),s=nT(o),c=Qw(e),l=GR(a.store,o)===c,u=GR(a.store,`session.id`),d=l?Wn:c,f=qR(Kn(`{{ menu "${e}" }}`,t,2,+!!l),Rn([{verb:mn,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=Gf(i.palette,i.disclosure,t).plane,l=Ez(a,e,`menu`);return Dz(e,l,{key:s,stateVar:s},{kind:`own`,writes:[[o,Wn],[s,`0`]],onPick:n.closeOnPick},n.paged,a,lz(i,n.distribution,zR(a,`{{ menu }}`),l.paletteOf,t,c),rz(i.palette,c,t))})():[]),f}const Jz=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Yz(e,t){let n=t[t.length-1],r=Jz(n)?n:void 0,i=r===void 0?t:t.slice(0,-1),a=i.findIndex(e=>typeof e!=`string`);if(a!==-1)throw Error(`{{ menu "${e}" }} display #${a+1} is not text (${JSON.stringify(i[a])}) — a menu binds its trigger text, then an optional trailing (dict …) of options`);return{displays:i,options:oT(r??{})}}function Xz(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=Yz(t,n);return qz(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function Zz(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=Qz(t,n,r),c=[];for(let e=0;e<r;e++){let t=e<s,l=t&&o!==void 0?o(e*n/r):void 0;c.push(new q(t?i:a,{style:l===void 0?void 0:new G({color:l})}))}let l=q.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function Qz(e,t,n){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0?0:Math.min(n,Math.max(0,Math.round(e/t*n)))}function $z(e){let t={fn:(()=>{let t=vz(e,`{{ bgOf }}`);if(t.bg===void 0)throw Error(`{{ bgOf }} is not available while segments.${t.segName}'s own "bg:" is being evaluated — the background is what that template computes. Reach for a palette color there instead, e.g. bg: '{{ darken (color "surface") 1 }}'.`);return t.bg.hex}),argTypes:[],arity:{kind:`exact`},returnType:`string`},n={fn:(()=>vz(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r={fn:((t,n)=>{let{palette:r}=vz(e,`{{ keptOn }}`),i=Hs(r,t),a=Hs(r,n),o=Po($s(i,U.TRUECOLOR),$s(a,U.TRUECOLOR)),s=Math.min(Mf,Math.max(o,3));return(Qs(i,e.drawnAt(),(e,t)=>Po(e,t(a))>=s)??i).hex}),argTypes:[`string`,`string`],arity:{kind:`exact`},returnType:`string`},i=tC(()=>vz(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),a={fn:((e,t,n,r,a,o,...s)=>{let c=o===void 0?void 0:[o,...eB(s)];return Zz({value:e,max:t,width:n,filled:r,empty:a,colourAt:c===void 0?void 0:e=>String(i.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...i,bgOf:t,tint:n,keptOn:r,gauge:a}}function eB(e){return e.flatMap(e=>{let t=e.indexOf(`:`),n=t<0?NaN:Number(e.slice(0,t));if(!Number.isFinite(n))throw Error(`{{ gauge }} stop "${e}" must be "<position>:<colour>", e.g. "80:error" or "80:#ff0000"`);return[n,e.slice(t+1)]})}function tB(e){let t=[],n=[];for(let r of e){if(!r.contains(`
201
201
  `)){n.push(r);continue}let e=r.split(`
202
- `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function Qz(e){let t=new Map;return e.map(e=>{let n=`${e.place}.${e.band}`,r=t.get(n)??0;return t.set(n,r+1),{line:e,row:`${n}#${r}`}})}function $z(e,t){let n=[],r=[],i;for(let a of t)(a.band===`own`?n:r).push(a),i??=a.cells.find(t=>t.placement.id===e)?.placement.ground;return{drawing:i===void 0?null:{own:r.length===0?n:[],ground:i},deeper:r}}function eB(e){return{...e,cells:e.cells.map(DR)}}function tB(e,t){let n=t.flatMap(e=>e.filter(e=>e.place===`above`)),r=t.map(e=>e.filter(e=>e.place===`flow`));return[...n,...nB(e,r)]}function nB(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,place:`flow`},...t.flatMap(e=>e.slice(1))]}}function rB(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:tB(e.direction,e.children.map((t,i)=>n(t,[...r,iB(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function iB(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:xu[e.direction]}}const aB={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:Fs(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,Du(t.path,n)))}},render(e,t){return tB(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,iB(e,r))))}},oB={drop:e=>e.place,above:()=>`above`},sB={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},cB={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:Su(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Jd(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,Ou(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.lead!==void 0&&{lead:t.parse(e.lead,`lead`)},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render:(e,t)=>t.placed(e.id,lB(e,t))};function lB(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];let a=IS(t.scope,e.settings);try{if(!CR(i.when,a))return[];let n=pw(e.settings.theme,t.palette),o={id:e.id,effect:e.settings.effect,ground:Xw(n)},s=e.opens!==void 0&&CR(e.opens.open,t.scope),{styles:c,fragments:l,lead:u,trail:d,drops:f,open:p}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},s),m=p?c.trigger:c.closed,h={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:m,padding:t.padding,placement:o},g=e.opens,_=g===void 0?[]:t.renderBody(g.body,s,c.disclosure).map(e=>({...e,place:oB[g.placement](e)})),v=Zz(MR(l,m)).map((e,t)=>({cells:AR(e,{...h,lead:t===0?MR(u,m):[],trail:t===0?MR(d,m):[]}),band:`own`,place:`flow`})),y=f.map(e=>({cells:AR(MR([e],c.band),{...h,baseStyle:c.band}),band:`deeper`,place:`flow`})),b=(e,t,n)=>AR(MR([e],t),{...h,width:`auto`,baseStyle:t,padding:n}),x=_.findIndex(e=>e.band===`own`),{lead:S,stays:C}=g!==void 0&&x!==-1?sB[g.placement](v,()=>b(t.closeDisclosure(g.key),c.close,t.padding)):{lead:[],stays:v},ee=S.flatMap(e=>b(new U(` `.repeat(ER(e).reduce((e,t)=>e+t.cellLength,0))),c.trigger,0)),w=(e,t)=>e.band===`own`?t===x?S:ee:[],te=_.map((e,t)=>({cells:[...w(e,t),...e.cells],band:`deeper`,place:e.place})),ne=[...C,...y];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...ne.flatMap(e=>e.cells),..._.flatMap(w)].flatMap(ER)),[...ne,...te]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:AR([new U(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,placement:{id:e.id,effect:`bar`,ground:Xw(t.palette)},lead:uB(e.lead,e,a,t),trail:uB(e.trail,e,a,t)}),band:`own`,place:`flow`}]}}function uB(e,t,n,r){if(e===void 0)return[];try{return r.evaluateSegment(t,n,r.palette,r.region,{bg:void 0,fg:void 0,body:e,lead:void 0,trail:void 0},!1).fragments}catch(e){return r.onSegmentError?.(t.id,e.message??String(e)),[]}}const dB={container:aB,segment:cB};function fB(e){return dB[e]}function pB(e){if(`ttl`in e)return{kind:`ttl`,durationMs:jC(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function mB(e,t){switch(Mu(e)){case`json`:return{kind:`json`,default:t};case`regex`:return{kind:`regex`,regex:new RegExp(e.regex),default:t};case`text`:return{kind:`text`,default:t}}}function hB(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`dropped`:e.declareFailedDocument(t,n.reason);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,cache:pB(n.cache),parse:mB(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:pB(n.cache),parse:mB(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function gB(e,t){let n=th.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}const _B=(e,t,n,r,i)=>{let a=vF(t,_F(n,e.themeDefaults));return{variation:ks[r??ul(void 0,null,a.variation)],shade:Ds[i??pl(void 0,null,a.shade)]}};function vB(e,t,n){let r=n.cwd,i={store:t.variableStore,compiled:new Map,chromeCols:dP({endcaps:`powerline`,charset:al}),width:80,padding:1,seamCols:fP({endcaps:`powerline`,charset:al}),layout:()=>[],look:void 0},a=fz(t.drawnAt),o={action:i,activeSegment:a},s=Object.keys(e.styles),c=Pb(e.presets),l=WD(e),u=NS({extraFuncs:{...YR(i),...wz(i,a),...Oz(i,a),...Lz(i,a),...Mz(i,a,t.now),...Hz(i,a),...Kz(o),...Yz(a),styles:{fn:()=>s,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>c,argTypes:[],arity:{kind:`exact`}}},clock:t.now,drawnAt:t.drawnAt}),d=gB(u,e.helpers),f=e=>u.parse(e,d),p=new Map,m=e=>{let t=p.get(e);if(t!==void 0)return t;let n=f(e);return p.set(e,n),n},h=new Map;for(let[t,n]of ow)n in e.variables&&h.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!h.has(n.key)&&h.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!h.has(r.key)&&h.set(r.key,`${t}.${e}`);i.compiled=IR(f,e.actions,h,l);let g=[];for(let[n,i]of Object.entries(e.variables))try{hB(t,n,i,r)}catch(e){g.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{hB(t,`${n}.${e}`,a,r)}catch(t){g.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let _=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=f)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};_[t]={when:n.when===void 0?void 0:e(n.when,`when`,m),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`)}}let v=(e,t,n)=>{try{return m(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},y=t.variableStore,b=t=>{let n=zu(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n))Object.defineProperty(r,e,{enumerable:!0,get:()=>Gu(t,e,i,e=>String(y.read(e.variable)))});return Object.freeze(r)},x=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:v(e.when,t,`when`),parse:(e,n)=>v(e,t,n),compileChild:x,placementSettings:b};return fB(e.kind).compile(e,n)},S=new Map;for(let t of c){let{node:n,path:r}=Lb(e,t);S.set(t,x(n,r))}let C=new Map(Rc.map(e=>[e,new Map])),ee=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of ee)for(let n of Rc){let r=t[n];if(!zc(r))continue;let i=`${e}.${n}`,a=C.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:yB(f,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:_,roots:S,activeSegment:a,menuRuntime:o,globalExpressions:C,loadWarnings:g}}function yB(e,t,n){try{return e(n)}catch(e){throw Error(`${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function bB(e,t,n){let r=e.globalExpressions.get(t).get(n);if(r===void 0)throw Error(`the ${t} rule ${JSON.stringify(n)} reached the render but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r}function xB(e,t){return e.template.evaluate(t).map(e=>e.plain).join(``)}function SB(e,t){return e.kind===`decided`?e.name:t}function CB(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u,onRenderWarning:d}=s??{},f=new Set;r.renderAt(a),r.drawAt(sl(o.colorCompatibility));let{preset:p=Mb}=c??{},m=Rb(e,p),h=c?.style??Wc(`none`,e.styles),g=c?.theme??yw(void 0,null,m.palette),_=_B(e,m,g,c?.variation,c?.shade),v=c?.effect??Zc(void 0,null,m.effect),y=(e,t,n)=>({...i,term:{cols:o.width},theme:{effective:e},style:{effective:t},effect:{effective:n}});r.applyInput(y(SB(g,jc),SB(h,Hc),SB(v,Kc))),t.menuRuntime.action.chromeCols=dP(o),t.menuRuntime.action.padding=o.padding,t.menuRuntime.action.width=o.width,t.menuRuntime.action.seamCols=fP(o);let b=PS(n),x=Vc(g,e=>{let n=bB(t,`palette`,e);return vw(xB(n,b),n.where,e=>d?.({kind:`theme-rule`,message:e}))}),S=Vc(h,n=>Wc(xB(bB(t,`style`,n),b),e.styles)),C=Vc(v,e=>Xc(xB(bB(t,`effect`,e),b)));(x!==g||S!==h||C!==v)&&r.applyInput(y(x.name,S.name,C.name));let ee=x.value,w=hw(ee,S.value);t.menuRuntime.action.look={basePalette:ee,palette:w,decor:_};let te=(c?.effects??new tP(``)).motion(C.value,a,{transitions:c?.transitions??Cl(void 0,null,m.transitions),source:{config:t,preset:p,revision:r.stateRevision(),width:o.width},returned:$z,hold:eB});l?.clear();let ne=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},re=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,text:u,disclosure:d}=Oc(i,a,c),p=pz(t.activeSegment,e.name,e.id,i,d,l,u),m=Qw(p,c,o.bg,o.fg,n),h=()=>hc(i,d,c);s&&(p.bg=h().state);let g=o.body.evaluate(n),_=p.drops.length>0||s;if(_){let e=h();p.bg=e.state;for(let t of e.shortfalls)f.add(t)}let v=o.lead?.evaluate(n)??[],y=o.trail?.evaluate(n)??[];return{styles:{closed:m,get trigger(){return ZR(i,h().state,c)},get band(){return ZR(i,h().plane,c)},get close(){return ez(i,h().state,c)},disclosure:d},fragments:g,lead:v,trail:y,drops:p.drops,open:_}}finally{t.activeSegment.current=null}},ie=(e,t,r)=>{let i=t&&CR(e.when,b),a={scope:b,palette:w,visible:i,padding:o.padding,region:r,perSegmentSink:l,onSegmentError:u,evaluateSegment:re,lookupSegment:ne,renderChild:(e,t,n)=>ie(e,t,Ec(r,n)),renderBody:(e,t,n)=>ie(e,i&&t,Dc(n)),closeDisclosure:e=>XR(n,e),placed:te.placed};return fB(e.kind).render(e,a)},T=t.roots.get(p);if(T===void 0)throw Error(`Preset "${p}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Mb}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let E=e=>{if(!CR(e.when,b))return!1;if(e.kind===`container`)return!0;if(tO(e.name)===void 0)return!1;try{return CR(t.segments[e.name].when,IS(b,e.settings))}catch{return!0}};t.menuRuntime.action.layout=()=>rB(T,E).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=tO(e);return r===void 0?[]:[{name:r,address:t,palette:pw(n.theme,w)}]}));let ae=Qz(ie(T,!0,Tc(_))).map(({line:e,row:t})=>{let n=jR(e.cells,o);return pP(n.map(e=>e.owner),o,te.row(t,n))}).join(`
203
- `);te.drawn();for(let e of f)d?.({kind:`band-floor`,message:e});return ae}function*wB(e){yield*Object.entries(e.variables??{});for(let[t,n]of Object.entries(e.segments??{}))for(let[e,r]of Object.entries(n.vars??{}))yield[`${t}.${e}`,r]}function*TB(e){for(let t of Object.values(e.segments))for(let e of[t.template,t.bg,t.fg,t.when])e!==void 0&&(yield e);for(let t of Pb(e.presets)){for(let n of Eu(Lb(e,t).node))n.when!==void 0&&(yield n.when);let n=Rb(e,t);for(let e of Rc){let t=n[e];zc(t)&&(yield t)}}for(let[,t]of wB(e))t.kind===`template`&&(yield t.template),Pu(t)&&t.cache&&`key`in t.cache&&(yield t.cache.key);for(let t of Object.values(e.actions))`copy`in t&&(yield t.copy),`open`in t&&(yield t.open),`preset`in t&&t.preset===`delete`&&(yield t.name)}function EB(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function DB(e,t){let n=new Set,r=new Set,i=new Set;for(let e of TB(t)){for(let r of wx(e,t.helpers).keys())n.add(r);for(let{name:n}of Ox(e,t.helpers))r.add(n);for(let n of kx(e,t.helpers))i.add(n)}for(let[,e]of wB(t))if(Pu(e)&&e.cache&&`depends_on`in e.cache)for(let t of e.cache.depends_on)n.add(t);let a=new Set(r);for(let e of r){let n=t.actions[e];if(n!==void 0&&`do`in n)for(let e of n.do)a.add(e)}let o=new Set,s=new Set;for(let e of a){let n=t.actions[e];if(n!==void 0&&(`set`in n&&o.add(n.set),`insertSegment`in n&&s.add(n.insertSegment),`insertSegmentFrom`in n&&Array.isArray(n.insertSegmentFrom)))for(let e of n.insertSegmentFrom)s.add(e)}for(let e of Pb(t.presets))for(let n of Eu(Lb(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>EB(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!Dp(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(wB(e));return[...u(`variable`,d.keys(),e=>c(e,d.get(e))),...u(`action`,Object.keys(e.actions??{}),e=>a.has(e)),...u(`helper`,Object.keys(e.helpers??{}),e=>i.has(e)),...u(`segment`,Object.keys(e.segments??{}),e=>s.has(e))]}var OB=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,PB(e,t,n,`initial value`),this.cell=Rx.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){PB(this.name,this.type,e,`set value`),!Object.is(this.cell.get(),e)&&(this.cell.set(e),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}},kB=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,Rx.computed)(()=>{let e=n();return PB(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},AB=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=Rx.observable.box(NB(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=NB(e);MB(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function jB(e){return JSON.stringify(e)}function MB(e,t){return jB(e)===jB(t)}function NB(e){return e.kind===`ok`?{kind:`ok`,value:zx(e.value)}:e}function PB(e,t,n,r){let i=Bx(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var FB=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new OB(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new AB(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new kB(e,t,()=>n(r)))}read(e){return this.requireVar(e).read()}readDocument(e){let t=this.requireNode(e);if(t.kind!==`document`)throw TypeError(`Variable "${e}" is a ${t.kind}, not a document`);return t.read()}setDocument(e,t){let n=this.requireNode(e);if(n.kind!==`document`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a document (use defineDocument to create one)`);(0,Rx.runInAction)(()=>n.set(t))}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,Rx.runInAction)(()=>n.set(t))}runInAction(e){(0,Rx.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireVar(e).type}getKind(e){return this.requireNode(e).kind}changeKey(e){let t=this.requireNode(e);if(t.kind===`document`)return jB(t.read());try{return String(t.read())}catch(e){return`failed:${e instanceof Error?e.message:String(e)}`}}getNode(e){let t=this.requireNode(e);return t.kind===`document`?{name:t.name,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}:{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}requireVar(e){let t=this.requireNode(e);if(t.kind===`document`)throw TypeError(`Variable "${e}" is a document; read its fields by path (.${e}.<field>)`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function IB(e,{plugins:t,config:n}){let{checkout:r,loaded:i,dropped:a,unreached:o}=t,s=r===null?`-`:`${r.git?`git`:`dir`}:${r.root}`,c=e=>{let t=$k(e),r=t===void 0?void 0:n.variables[tA(t)];return r?.kind===`file`?r.path:`none`};return`config load ${e.join(` < `)||`<default>`}: plugins loaded=${i.length} dropped=${a.length} unplaced=${o.length} checkout=${s}`+i.map(e=>` +${e} data=${c(e)}`).join(``)+a.map(e=>` -${e.path} (${e.reason})`).join(``)+o.map(e=>` ~${e.path} (${e.reason})`).join(``)}function LB(e,t,n){return e+`\0`+t+`\0`+(n??``)}function RB(e,t){return new Set(Pb(e.presets).filter(n=>Lb(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function zB(e,t){let n=new Map,{roots:r,loaded:i,dropped:a,unreached:o}=e.state.plugins;for(let t of[...Vk(e.projectDir,e.cwd,e.configFile),...r,...i,...[...a,...o].map(e=>e.path)]){let{dir:e,name:r}=Px(t),i=n.has(e)?n.get(e):new Set;i?.add(r),n.set(e,i)}for(let e of r){let{dir:t,name:r,leaf:i}=Px(l.join(e,`_`));i&&r===`_`&&n.set(t,null)}return{files:t,dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>t===null?{path:e}:{path:e,filenames:[...t].sort()})}}function BB(e){return e.filter(Boolean).join(`
204
- `)||null}function VB(e,t,n,r,i=()=>{}){let{layers:a,config:o,installed:s}=kA(t.layers,pF,{entered:i,warned:e=>n.push(...e)},{projectDir:t.projectDir,cwd:e});i(a.length===1?a[0].path:null);let c=a.at(-1)?.config??pF,l=a.find(e=>e.path===t.home)?.raw??{},u=new FB,d=new QC(u,o.globals.default_empty_value??``,r.gitService,r.sessionState),f;try{f=vB(o,d,{cwd:e}),n.push(...f.loadWarnings),$I(o),XP(o)}catch(e){throw d.dispose(),e}return{config:o,store:u,registry:d,compiled:f,neededInputPaths:aI(o),lastRenderCellsBySegment:new Map,authoredRoots:RB(c,l),fileHeldSettings:zI(l),unused:[...new Map(a.flatMap(e=>DB(e.raw,c)).map(e=>[`${e.kind}:${e.name}`,e])).values()],plugins:{checkout:s.checkout,roots:s.roots,loaded:[...s.rendering.values()],dropped:[...s.dropped,...a.flatMap(e=>e.plugins.dropped)],unreached:s.unreached,reached:s.reached,rendering:s.rendering}}}function HB(e,t,n,r){let i=Uk(e,t,n),a={layers:i.kind===`chain`?i.layers:[],home:i.home,projectDir:e},o=[Jk(e,t),Kk(i)],s,c=null;try{s=VB(t,a,o,r,e=>{c=e})}catch(e){return e instanceof hu&&o.push(...e.warnings),{layers:a.layers,home:a.home,failedFile:c,warning:BB(o),state:null,error:e instanceof hu||e instanceof Error?e.message:String(e)}}return{layers:a.layers,home:a.home,warning:BB(o),state:s,error:null}}function UB(e,t,n){return VB(e,{layers:[],home:``,projectDir:t},[],n)}var WB=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=LB(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=HB(e,t,n,this.deps);a.state!==null&&Z(`info`,IB(a.layers,a.state));let o={projectDir:e,cwd:t,configFile:n,configLayers:[],configHome:``,failedFile:null,lastError:a.error,lastWarning:a.warning,state:a.state??UB(t,e,this.deps),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=HB(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(Z(`info`,IB(t.layers,t.state)),e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configLayers=t.layers,e.configHome=t.home,e.failedFile=t.error===null?null:t.failedFile;let n=zB(e,t.layers),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){Z(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const GB=16384;var KB=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<GB){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%GB}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:sj,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},effectCache:e.effectCache,watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function qB(e,t,n){let r=(r,i,a)=>{let o=i.filter(t).map(t=>({key:t,before:e.get(r,t)}));a();for(let{key:t,before:i}of o)n(r,t,i,e.get(r,t))};return{get:(t,n)=>e.get(t,n),revision:t=>e.revision(t),set:(t,n,i)=>r(t,[n],()=>e.set(t,n,i)),setBatch:(t,n)=>r(t,n.map(e=>e.key),()=>e.setBatch(t,n)),clear:(t,n)=>r(t,[n],()=>e.clear(t,n))}}const JB={load:()=>({}),save:()=>{},flush:()=>{}};var YB=class{sessions;storage;head=0;atom=(0,Rx.createAtom)(`SessionState`);constructor(e=JB,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=new Map(Object.entries(this.storage.load()).map(([e,t])=>[e,{values:new Map(Object.entries(t)),revision:++this.head}])),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.values.get(t)??null):null}revision(e){return this.atom.reportObserved(),this.sessions.get(e)?.revision??0}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Rx.runInAction)(()=>{let n=this.sessions.get(e)??{values:new Map,revision:0};t.some(({key:e,value:t})=>n.values.get(e)!==t)&&(n.revision=++this.head);for(let{key:e,value:r}of t)n.values.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Rx.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.values.delete(t)&&(n.revision=++this.head),n.values.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Rx.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,{values:n}]of this.sessions)e[t]=Object.fromEntries(n);return e}};function XB(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var ZB=class{timer=null;pending=null;constructor(e,t=500,n=mC){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return XB(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(l.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}};const QB={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,effect:`string`,preset:`string`,endcaps:`string`,variation:`string`,shade:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,transitions:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},$B=new Set([`1`,`true`]),eV=new Set([`0`,`false`,``]);function tV(e,t){let n=EV(e),r=n.scope===`segment-palette`?`string`:QB[n.field];if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if($B.has(t))return`true`;if(eV.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function nV(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function rV(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(l.dirname(e),{recursive:!0}),Pe(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function iV(e){return/^\s*$/.test(e)?null:jl(e)}function aV(e,t){return e!==null&&Nl(e,t)!==void 0}function oV(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(oV),...i}}return e}function sV(e){if(!Ad(e))return oV(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,oV(t)])),...n}}const cV=dF,lV=cV.segments,uV=cV.presets,dV=cV.root;function fV(e,t,n,r){if(!aV(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function pV(e,t){let n=Gw(t);return t.scope===`segment-palette`&&fV(e,[`segments`,t.segment],lV[t.segment],n.join(`.`)),n}function mV(e){return jl(Vl(e))}function hV(){return Object.entries(dV.rows).map(([e,t])=>{let n=oV(t);return{path:[`root`],fragment:mV({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function gV(e,t){let n=e===null?void 0:Nl(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function _V(e,t){if(t===void 0)return null;let n=sV(t);return{path:e,fragment:mV(n),unit:{path:e,value:n}}}function vV(e,t){let n=[`presets`,t],r=[...n,`root`],i=uV[t];fV(e,n,i,r.join(`.`));let a=gV(e,r)??_V(r,i?.root);return a!==null&&cu(a.fragment)?a:null}function yV(e,t){let n=su(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function bV(e,t){return[...hV(),gV(e,[`root`]),vV(e,t)].filter(e=>e!==null).reduce(yV,new Map)}function xV(e,t,n){for(let{node:r,...i}of bV(e,t).values())if(uu(r,n))return i;throw new $(`${SV(e,t).join(`.`)} holds no placement "${n}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`)}function SV(e,t){return vV(e,t)?.path??[`root`]}function CV(e,t){return t.scope===`preset-root`?SV(e,t.preset):Gw(t)}function wV(e,{unit:t}){return t===null?e:tu(e,t.path,Vl(t.value),zl)}function TV(e){let t=Ww(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function EV(e){let t=TV(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function DV(e,t,n,r,i){i(t,n,RV(t,r)),rV(t.path,r,e.logger),e.record(t.path,n,r)}function OV(e,t,n){let r=jV(e,t,n);if(r.length>0)throw new $(`refused: ${e.above.join(`, `)} sets ${r.join(`, `)} over ${e.path}, so this click would change nothing on the bar — edit it there`)}const kV=()=>{};function AV(e,t){try{return t()}catch(t){throw!(t instanceof $)||e.above.length===0?t:new $(`${t.message} — or it is declared by ${e.above.join(`, `)}, which the bar does not edit`)}}function jV(e,t,n){let r=MV(e,t);if(r===null)return[];let i=new Set(IV(FV(r),FV(n)));return IV(PV(e,r),PV(e,n)).filter(e=>!i.has(e))}function MV(e,t){try{return NV(e,t)}catch(e){if(e instanceof hu)return null;throw e}}function NV(e,t){return kA(t===null?e.above:[e.path,...e.above],pF,{entered:()=>{},warned:()=>{}},{projectDir:e.projectDir,cwd:e.cwd},n=>n===e.path&&t!==null?t:r.readFileSync(n,`utf8`))}function PV(e,t){let[n]=t.layers;return n?.path===e.path?n.config:t.base}function FV(e){return e.layers.at(-1)?.config??e.base}function IV(e,t,n=``){return!LV(e)||!LV(t)?JSON.stringify(e)===JSON.stringify(t)?[]:[n]:[...new Set([...Object.keys(e),...Object.keys(t)])].flatMap(r=>IV(e[r],t[r],n===``?r:`${n}.${r}`))}function LV(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function RV(e,t){try{return NV(e,t)}catch(e){throw e instanceof hu?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function zV(e,t){let n=EV(t),r=iV(nV(e)??``),i=r===null?void 0:Nl(r,Gw(n));return i!==void 0&&`value`in i?i.value:void 0}function BV(e,t,n){VV(e,t,n,[])}function VV(e,t,n,r){let i=nV(t.path),a=n.reduce((e,[t,n])=>tu(e,pV(iV(e),EV(t)),tV(t,n),zl),i??``);DV(e,t,i,AV(t,()=>HV(a,t.path,r,e=>e)),OV)}function HV(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=xV(iV(s),n,i),l=mu(wV(s,c),c.path,i,a,Vl(o));if(l===null)throw new $(`${c.path.join(`.`)} in ${t} has no placement "${i}" — the bar you clicked is stale (it reloads on the next render)`);return l},e)}function UV(e,t,n){let r=iV(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of bV(r,t)){if(!uu(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?Fl(e,c):Vl(s.value);if(a!==`#`)return tu(e,[...i,`rows`,a],l,zl);if(vV(r,t)!==null)throw new $(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return tu(e,i,l,zl)}return e}function WV(e,t){return ru(e,t,t[0]===`presets`&&t.length>2&&!hF(t[1])?2:0)}function GV(e,t,n){let r=n.map(TV),i=nV(t.path);if(i===null)return;let a=r.reduce((e,t)=>WV(e,CV(iV(e),t)),i);a!==i&&DV(e,t,i,a,kV)}function KV(e){let t=e===null?void 0:Nl(e,[`presets`]);return t?.kind===`object`?t.entries.map(e=>e.key):[]}function qV(e,t){let n=new Set([...mF,...KV(e),...t.above.flatMap(e=>Object.keys(at.default.parse(r.readFileSync(e,`utf8`)).presets??{}))].map(Sp));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(Sp(e)))}function JV(e,t,n,r,i,a){let o=nV(t.path),s=iV(o??``),c=qV(s,t),l=[`presets`,c],u=AV(t,()=>vV(s,n)),d=[...u===null?[]:[[[...l,`root`],u.unit===null?Fl(o??``,u.fragment):Vl(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Vl(r)]]],f=i.map(([e,t])=>{let n=Uw(c,e);return[pV(s,EV(n)),tV(n,t)]}),p=[...d,...f].reduce((e,[t,n])=>tu(e,t,n,zl),tu(o??``,l,`{}`,zl));return DV(e,t,o,AV(t,()=>HV(p,t.path,a.map(e=>({...e,preset:c})),UV)),OV),c}function YV(e,t,n,r){let i=nV(t.path);DV(e,t,i,tu(i??``,[`themeDefaults`,n],Vl(r),zl),OV)}function XV(e,t,n){if(hF(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=nV(t.path),a=iV(i??``);if(i===null||a===null||Nl(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t.path} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=Nl(a,[`globals`,`preset`]);DV(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>WV(e,t),i),kV)}function ZV(e,t,n,r){let i=TV(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=nV(t.path),o=r.op===`remove`?r.target:r.anchor,s=AV(t,()=>xV(iV(a??``),i.preset,o)),c=wV(a??``,s),{after:l,placed:u}=QV(c,s.path,r,()=>{let e=RV(t,c).config;return Pb(e.presets).map(t=>Lb(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t.path} has no placement "${o}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`);return DV(e,t,a,l,OV),u}function QV(e,t,n,r){switch(n.op){case`remove`:return{after:fu(e,t,n.target),placed:null};case`insert`:{let i=LP(n.segment,n.anchor,r());return{after:pu(e,t,i,n.anchor,n.relation),placed:i}}}}const $V={load:()=>({}),save:()=>{}},eH=new Set(nw.map(e=>e.sessionKey)),tH=e=>eH.has(e)||e.startsWith(ix),nH=8*1024*1024,rH={past:[],future:[]},iH=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var aH=class{state=new Map;constructor(e,t,n=$V){this.sessionState=e,this.logger=t,this.storage=n,this.state=new Map(Object.entries(n.load()))}useStorage(e){this.storage=e,this.state=new Map(Object.entries(e.load()))}depth(e){let{past:t,future:n,savepoint:r}=this.state.get(e)??rH;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??rH}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(iH(n));r.set(iH(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:qB(this.sessionState,e=>tH(e)||e===`edit.mode`,(e,r,i,a)=>{if(r===`edit.mode`){let t=n.get(e);n.set(e,{before:t===void 0?i:t.before,after:a});return}t(e,{kind:`session`,key:r,before:i,after:a})}),file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=new Map(e),r=new Map(n);e.clear(),n.clear();for(let e of new Set([...t.keys(),...r.keys()])){let n=[...t.get(e)?.values()??[]].filter(e=>e.before!==e.after),i=this.history(e),a=n.length===0?i:pH(i,n),o=r.get(e),s=o===void 0?a:_H(a,o);s!==i&&this.put(e,s)}}}}undo(e){let t=this.history(e),n=t.past.at(-1);if(n===void 0)throw new $(`undo: nothing to undo`);return this.apply(e,n,`before`,`undo`,hH(t,n)),n}rewind(e){let t=this.history(e),{savepoint:n}=t;if(n===void 0)throw new $(`rewind: edit mode has no savepoint — nothing to cancel`);let r=n.net.filter(t=>this.read(e,t)!==t.after),i=new Set(r.map(iH)),a=n.net.filter(e=>!i.has(iH(e))),o=cH(vH(gH(t,n),i));if(this.apply(e,a,`before`,`rewind`,{past:o,future:[],savepoint:{at:o.length,net:[],below:[]}}),r.length>0)throw new $(`rewind: ${r.map(bH).join(`, `)} changed since edit mode opened — kept as it is; everything else edit mode changed was put back`);return a}redo(e){let t=this.history(e),{past:n,future:r}=t,i=r.at(-1);if(i===void 0)throw new $(`redo: nothing to redo`);let a=[...n,i],o=cH(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...uH(t.savepoint,a.length-o.length,i)}),i}apply(e,t,n,r,i){let a=n===`before`?`after`:`before`,o=t.filter(t=>this.read(e,t)!==t[a]);if(o.length>0){let t=new Set(o.map(iH)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:vH(n,t),future:vH(i,t),...a!==void 0&&{savepoint:{at:vH([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(iH(e))),below:vH(a.below,t)}}}),new $(`${r}: ${o.map(bH).join(`, `)} changed since that edit — refusing to overwrite it; this session's undo history no longer steps it`)}let s=[];try{for(let r of t)this.write(e,r,r[n]),s.push(r);this.put(e,i)}catch(t){try{for(let t of s.reverse())this.write(e,t,t[a])}catch(e){throw Error(`${t.message}; and putting the step back failed, so it is half-applied: ${e.message}`)}throw t}}read(e,t){return t.kind===`session`?this.sessionState.get(e,t.key):nV(t.file)}write(e,t,n){t.kind===`file`?rV(t.file,n,this.logger):n===null?this.sessionState.clear(e,t.key):this.sessionState.set(e,t.key,n)}put(e,t){let n=new Map(this.state);for(n.delete(e),(t.past.length>0||t.future.length>0||t.savepoint!==void 0)&&n.set(e,t);n.size>32||oH(n)>nH;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,sH(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${nH} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function oH(e){let t=0;for(let{past:n,future:r,savepoint:i}of e.values())for(let e of[...n,...r,...i===void 0?[]:[i.net,...i.below]])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function sH({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...uH(n,1,[])}:{past:e,future:t.slice(1),...uH(n,0,[])}}function cH(e){return e.slice(-50)}const lH=e=>e===ox.member;function uH(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:dH(e.net,n),below:e.below}}}function dH(e,t){let n=new Map(e.map(e=>[iH(e),e]));for(let e of t){let t=n.get(iH(e));n.set(iH(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const fH=e=>e.map(e=>({...e,before:e.after,after:e.before}));function pH(e,t){let n=[...e.past,t],r=cH(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...uH(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...mH(e.future,a),...i.below]},n.length-r.length,t)}}function mH(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function hH(e,t){return{past:e.past.slice(0,-1),future:cH([...e.future,t]),...uH(e.savepoint,0,fH(t))}}function gH(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...mH(r,t.at-i.length),...t.below]}function _H(e,t){if(lH(t.after)&&!lH(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!lH(t.after)&&lH(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function vH(e,t){return e.map(e=>e.filter(e=>!t.has(iH(e)))).filter(e=>e.length>0)}function yH(e){return e.map(bH).join(`, `)}function bH(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function xH(e){if(typeof e!=`object`||!e)return!1;let t=e,n=e=>e===null||typeof e==`string`;return(t.kind===`session`&&typeof t.key==`string`||t.kind===`file`&&typeof t.file==`string`)&&n(t.before)&&n(t.after)}function SH(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(xH))}function CH(e){if(typeof e!=`object`||!e)return!1;let t=e;return Number.isInteger(t.at)&&t.at>=0&&Array.isArray(t.net)&&t.net.every(xH)&&SH(t.below)}function wH(e){if(typeof e!=`object`||!e)return!1;let t=e;return SH(t.past)&&SH(t.future)&&(t.savepoint===void 0||CH(t.savepoint))}function TH(e,t){let n=e=>e.kind===`file`||tH(e.key)?!0:(t.add(e.key),!1),r=e=>e.map(e=>e.filter(n)).filter(e=>e.length>0),{savepoint:i}=e,a=r(e.past),o=r(e.future);return i===void 0?{past:a,future:o}:{past:a,future:o,savepoint:{at:r(e.past.slice(0,i.at)).length,net:i.net.filter(n),below:r(i.below)}}}function EH(e,t){return{load:()=>{let n;try{n=r.readFileSync(e,`utf8`)}catch(e){let n=e.code;return n!==`ENOENT`&&t(`warn`,`settings-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(n);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(wH)){let n=new Set,r=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,TH(t,n)]));return n.size>0&&t(`warn`,`settings-history load: dropped the changes to ${[...n].map(e=>`"${e}"`).join(`, `)}, no longer a setting`),r}}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(l.dirname(e),{recursive:!0}),Pe(e,JSON.stringify(n),384)}catch(e){let n=`settings-history write failed — the change landed but is not undoable: ${e.message}`;throw t(`error`,n),Error(n)}}}}const DH=e=>!tH(e)&&!DT(e)&&e!==`update.dismissed`;var OH=class{past=new Map;depth(e,t,n){return this.restorable(e,t,n).length}restorable(e,t,n){let r=new Map,i=n=>r.has(n)?r.get(n):t.get(e,n),a=[];for(let t of[...this.past.get(e)??[]].reverse())if(t.every(e=>i(e.key)===e.after&&(e.before===null||n.validate(e.key,e.before).ok))){a.unshift(t);for(let e of t)r.set(e.key,e.before)}return a}begin(e){let t=new Map;return{sessionState:qB(e,DH,(e,n,r,i)=>{let a=t.get(e)??new Map,o=a.get(n);a.set(n,{key:n,before:o?o.before:r,after:i}),t.set(e,a)}),commit:()=>{for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length>0&&this.push(e,t)}t.clear()}}}back(e,t,n){let r=this.past.get(e)??[],i=this.restorable(e,t,n),a=i.at(-1),o=r.length-i.length;if(a===void 0)throw this.put(e,i),new $(`back: nothing to go back to${o>0?` (${o} step(s) over a view since gone, discarded)`:``}`);return(0,Rx.runInAction)(()=>{let n=a.flatMap(({key:e,before:t})=>t===null?[]:[{key:e,value:t}]);n.length>0&&t.setBatch(e,n);for(let{key:n,before:r}of a)r===null&&t.clear(e,n)}),this.put(e,i.slice(0,-1)),{step:a,discarded:o}}push(e,t){let n=this.past.get(e)??[];this.put(e,[...n,t].slice(-20))}put(e,t){for(this.past.delete(e),t.length>0&&this.past.set(e,t);this.past.size>32;)this.past.delete(this.past.keys().next().value)}};function kH(e){let t=gR(e,`doctor.tmux`,[`display`,`-p`,`-t`,e.pane,`#{client_termfeatures}`]);return t.kind===`ok`?{kind:`ok`,value:t.stdout.trim().split(`,`).filter(e=>e!==``)}:{kind:`failed`,reason:t.reason}}function AH(e){return{probeTmux:kH,loadConfig:e}}function jH(e){let t={layers:e.layers,warnings:e.warning===null?[]:e.warning.split(`
205
- `)};return e.error===null?{...t,kind:`loaded`,unused:e.unused}:{...t,kind:`failed`,error:e.error}}function MH(e){let{env:t,statusLine:n}=BT(e);if(t!==void 0&&!VT(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t??{},statusLine:n===void 0?{kind:`absent`}:VT(n)?{kind:`present`,refreshInterval:n.refreshInterval}:{kind:`not-an-object`,value:n}}}function NH(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function PH(e){return{kind:`arrived`,handler:e,bar:sj}}function FH(e,t,n){let r=new Map;for(let i of Eu(Lb(e,t).node)){if(i.kind!==`segment`)continue;let t=zu(e.segments[i.name])[Lu],a=Gu(i,Lu,t,e=>n(e.key));a===`bar`||a===`none`||r.set(i.drafts?.effect?.id??Su(i),a)}return[...r].map(([e,t])=>({placement:e,effect:t}))}function IH(e,t,n,r){let i=e.loadConfig(n),a=KF(i.config,r,()=>!1);return{tmux:NH(e,t.tmux),config:jH(i),effect:a.effect,placementEffects:FH(i.config,a.preset,r),transitions:a.transitions,claudeSettings:MH(LT(IT(t.claudeConfigDir)))}}function LH(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings`:{let i=tu(zT(n),e.path,JSON.stringify(e.value),Bl);return r.mkdirSync(l.dirname(n),{recursive:!0}),Pe(n,i),{...t,claudeSettings:MH(n)}}default:return e.kind}}const RH={connectMs:200,budgetMs:500};async function zH(e){let n=e.includes(`--json`),r=await BH();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${oj(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
206
- `);return}t.stdout.write(WH(r.value))}function BH(){return ej({kind:`stats`},RH,e=>`stats`in e?e.stats:void 0)}function VH(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function HH(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function UH(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function WH(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${UH(e.uptimeSec)}`),t.push(` rss ${VH(e.rssBytes)}`),t.push(` heapUsed ${VH(e.heapUsedBytes)}`),t.push(` heapTotal ${VH(e.heapTotalBytes)}`),t.push(` external ${VH(e.externalBytes)}`),t.push(` arrayBuffers ${VH(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${HH(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${HH(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(``),t.push(`effectCache`),t.push(` sessions ${e.effectCache.sessions}`),t.push(` effects ${e.effectCache.effects}`),t.push(``),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
202
+ `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function nB(e){let t=new Map;return e.map(e=>{let n=`${e.place}.${e.band}`,r=t.get(n)??0;return t.set(n,r+1),{line:e,row:`${n}#${r}`}})}function rB(e,t){let n=[],r=[],i;for(let a of t)(a.band===`own`?n:r).push(a),i??=a.cells.find(t=>t.placement.id===e)?.placement.ground;return{drawing:i===void 0?null:{own:r.length===0?n:[],ground:i},deeper:r}}function iB(e){return{...e,cells:e.cells.map(jR)}}function aB(e,t){let n=t.flatMap(e=>e.filter(e=>e.place===`above`)),r=t.map(e=>e.filter(e=>e.place===`flow`));return[...n,...oB(e,r)]}function oB(e,t){switch(e){case`vertical`:return t.flatMap(e=>e);case`horizontal`:return t.reduce((e,t)=>Math.max(e,t.length),0)===0?[]:[{cells:t.flatMap(e=>e[0]?.cells??[]),band:`own`,place:`flow`},...t.flatMap(e=>e.slice(1))]}}function sB(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:aB(e.direction,e.children.map((t,i)=>n(t,[...r,cB(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function cB(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:rh[e.direction]}}const lB={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:df(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,lh(t.path,n)))}},render(e,t){return aB(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,cB(e,r))))}},uB={drop:e=>e.place,above:()=>`above`},dB={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},fB={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:ih(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Yn(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,uh(t.path)),key:e.opens.ref.key,placement:e.opens.placement}},...e.lead!==void 0&&{lead:t.parse(e.lead,`lead`)},...e.trail!==void 0&&{trail:t.parse(e.trail,`trail`)}}},render:(e,t)=>t.placed(e.id,pB(e,t))};function pB(e,t){let n=t.lookupSegment(e.name);if(!n)throw Error(`Layout segment "${e.name}" has no matching segment`);let{seg:r,compiled:i}=n;if(!t.visible)return[];let a=CC(t.scope,e.settings);try{if(!DR(i.when,a))return[];let n=Jm(e.settings.theme,t.palette),o={id:e.id,effect:e.settings.effect,ground:aD(n)},s=e.opens!==void 0&&DR(e.opens.open,t.scope),{styles:c,fragments:l,lead:u,trail:d,drops:f,open:p}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},s),m=p?c.trigger:c.closed,h={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:m,padding:t.padding,placement:o},g=e.opens,_=g===void 0?[]:t.renderBody(g.body,s,c.disclosure).map(e=>({...e,place:uB[g.placement](e)})),v=tB(IR(l,m)).map((e,t)=>({cells:PR(e,{...h,lead:t===0?IR(u,m):[],trail:t===0?IR(d,m):[]}),band:`own`,place:`flow`})),y=f.map(e=>({cells:PR(IR([e],c.band),{...h,baseStyle:c.band}),band:`deeper`,place:`flow`})),b=(e,t,n)=>PR(IR([e],t),{...h,width:`auto`,baseStyle:t,padding:n}),x=_.findIndex(e=>e.band===`own`),{lead:S,stays:C}=g!==void 0&&x!==-1?dB[g.placement](v,()=>b(t.closeDisclosure(g.key),c.close,t.padding)):{lead:[],stays:v},ee=S.flatMap(e=>b(new q(` `.repeat(AR(e).reduce((e,t)=>e+t.cellLength,0))),c.trigger,0)),w=(e,t)=>e.band===`own`?t===x?S:ee:[],te=_.map((e,t)=>({cells:[...w(e,t),...e.cells],band:`deeper`,place:e.place})),ne=[...C,...y];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...ne.flatMap(e=>e.cells),..._.flatMap(w)].flatMap(AR)),[...ne,...te]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:PR([new q(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,placement:{id:e.id,effect:`bar`,ground:aD(t.palette)},lead:mB(e.lead,e,a,t),trail:mB(e.trail,e,a,t)}),band:`own`,place:`flow`}]}}function mB(e,t,n,r){if(e===void 0)return[];try{return r.evaluateSegment(t,n,r.palette,r.region,{bg:void 0,fg:void 0,body:e,lead:void 0,trail:void 0},!1).fragments}catch(e){return r.onSegmentError?.(t.id,e.message??String(e)),[]}}const hB={container:lB,segment:fB};function gB(e){return hB[e]}function _B(e){if(`ttl`in e)return{kind:`ttl`,durationMs:pw(e.ttl)};if(`watch_file`in e)return{kind:`watch_file`,path:e.watch_file};if(`depends_on`in e)return{kind:`depends_on`,varNames:e.depends_on};if(`key`in e)return{kind:`key`,template:e.key};if(`never`in e)return{kind:`never`};throw Error(`Unknown CacheDecl discriminator — loader invariant violated: ${JSON.stringify(e)}`)}function vB(e,t){switch(mh(e)){case`json`:return{kind:`json`,default:t};case`regex`:return{kind:`regex`,regex:new RegExp(e.regex),default:t};case`text`:return{kind:`text`,default:t}}}function yB(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);break;case`dropped`:e.declareFailedDocument(t,n.reason);break;case`input`:e.declareInput(t,n.path,n.type??`string`,n.default);break;case`env`:e.declareEnv(t,n.name,n.default);break;case`file`:e.declareFile(t,n.path,{readMode:n.readMode,cache:_B(n.cache),parse:vB(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:_B(n.cache),parse:vB(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,varDefault:n.default});break;case`git`:e.declareGit(t,{field:n.field,cwd:r,varDefault:n.default});break;case`state`:e.declareState(t,{key:n.key,...n.default!==void 0&&{varDefault:n.default}});break}}function bB(e,t){let n=l_.EMPTY;for(let[r,i]of Object.entries(t))try{n=e.parse(`{{ define "${r}" }}${i}{{ end }}`,n).defines()}catch(e){throw Error(`Template parse error in helpers.${r}: ${e.message}`,{cause:e})}return n}const xB=(e,t,n,r,i)=>{let a=SF(t,xF(n,e.themeDefaults));return{variation:af[r??Bp(void 0,null,a.variation)],shade:nf[i??Up(void 0,null,a.shade)]}};function SB(e,t,n){let r=n.cwd,i={store:t.variableStore,compiled:new Map,chromeCols:Sm({endcaps:`powerline`,charset:Fp}),width:80,padding:1,seamCols:Cm({endcaps:`powerline`,charset:Fp}),layout:()=>[],look:void 0},a=gz(t.drawnAt),o={action:i,activeSegment:a},s=Object.keys(e.styles),c=Wh(e.presets),l=Gk(e),u=bC({extraFuncs:{...$R(i),...Oz(i,a),...Mz(i,a),...Vz(i,a),...Iz(i,a,t.now),...Kz(i,a),...Xz(o),...$z(a),styles:{fn:()=>s,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>c,argTypes:[],arity:{kind:`exact`}}},clock:t.now,drawnAt:t.drawnAt}),d=bB(u,e.helpers),f=e=>u.parse(e,d),p=new Map,m=e=>{let t=p.get(e);if(t!==void 0)return t;let n=f(e);return p.set(e,n),n},h=new Map;for(let[t,n]of _a)n in e.variables&&h.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!h.has(n.key)&&h.set(n.key,t);for(let[t,n]of Object.entries(e.segments))if(n.vars)for(let[e,r]of Object.entries(n.vars))r.kind===`state`&&!h.has(r.key)&&h.set(r.key,`${t}.${e}`);i.compiled=BR(f,e.actions,h,l);let g=[];for(let[n,i]of Object.entries(e.variables))try{yB(t,n,i,r)}catch(e){g.push(`Variable "${n}": ${e.message??String(e)}`)}for(let[n,i]of Object.entries(e.segments))if(i.vars)for(let[e,a]of Object.entries(i.vars))try{yB(t,`${n}.${e}`,a,r)}catch(t){g.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let _=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=f)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};_[t]={when:n.when===void 0?void 0:e(n.when,`when`,m),template:e(n.template,`template`),bg:n.bg===void 0?void 0:e(n.bg,`bg`),fg:n.fg===void 0?void 0:e(n.fg,`fg`)}}let v=(e,t,n)=>{try{return m(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},y=t.variableStore,b=t=>{let n=xh(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n))Object.defineProperty(r,e,{enumerable:!0,get:()=>Dh(t,e,i,e=>String(y.read(e.variable)))});return Object.freeze(r)},x=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:v(e.when,t,`when`),parse:(e,n)=>v(e,t,n),compileChild:x,placementSettings:b};return gB(e.kind).compile(e,n)},S=new Map;for(let t of c){let{node:n,path:r}=qh(e,t);S.set(t,x(n,r))}let C=new Map(mp.map(e=>[e,new Map])),ee=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of ee)for(let n of mp){let r=t[n];if(!hp(r))continue;let i=`${e}.${n}`,a=C.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:CB(f,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:_,roots:S,activeSegment:a,menuRuntime:o,globalExpressions:C,loadWarnings:g}}function CB(e,t,n){try{return e(n)}catch(e){throw Error(`${t} is not a valid template: ${e instanceof Error?e.message:String(e)}`)}}function wB(e,t,n){let r=e.globalExpressions.get(t).get(n);if(r===void 0)throw Error(`the ${t} rule ${JSON.stringify(n)} reached the render but no compiled template exists — registerDslConfig and the resolution disagree about isExpression`);return r}function TB(e,t){return e.template.evaluate(t).map(e=>e.plain).join(``)}function EB(e,t){return e.kind===`decided`?e.name:t}function DB(e,t,n,r,i,a,o,s,c){let{perSegmentSink:l,onSegmentError:u,onRenderWarning:d}=s??{},f=new Set;r.renderAt(a),r.drawAt(Lp(o.colorCompatibility));let{preset:p=Hh}=c??{},m=Jh(e,p),h=c?.style??bp(`none`,e.styles),g=c?.theme??eh(void 0,null,m.palette),_=xB(e,m,g,c?.variation,c?.shade),v=c?.effect??Dp(void 0,null,m.effect),y=(e,t,n)=>({...i,term:{cols:o.width},theme:{effective:e},style:{effective:t},effect:{effective:n}});r.applyInput(y(EB(g,sp),EB(h,vp),EB(v,Sp))),t.menuRuntime.action.chromeCols=Sm(o),t.menuRuntime.action.padding=o.padding,t.menuRuntime.action.width=o.width,t.menuRuntime.action.seamCols=Cm(o);let b=xC(n),x=_p(g,e=>{let n=wB(t,`palette`,e);return $m(TB(n,b),n.where,e=>d?.({kind:`theme-rule`,message:e}))}),S=_p(h,n=>bp(TB(wB(t,`style`,n),b),e.styles)),C=_p(v,e=>Ep(TB(wB(t,`effect`,e),b)));(x!==g||S!==h||C!==v)&&r.applyInput(y(x.name,S.name,C.name));let ee=x.value,w=Xm(ee,S.value);t.menuRuntime.action.look={basePalette:ee,palette:w,decor:_};let te=(c?.effects??new fm(``)).motion(C.value,a,{transitions:c?.transitions??$p(void 0,null,m.transitions),source:{config:t,preset:p,revision:r.stateRevision(),width:o.width},returned:rB,hold:iB});l?.clear();let ne=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},re=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,text:u,disclosure:d}=ip(i,a,c),p=_z(t.activeSegment,e.name,e.id,i,d,l,u),m=sD(p,c,o.bg,o.fg,n),h=()=>Gf(i,d,c);s&&(p.bg=h().state);let g=o.body.evaluate(n),_=p.drops.length>0||s;if(_){let e=h();p.bg=e.state;for(let t of e.shortfalls)f.add(t)}let v=o.lead?.evaluate(n)??[],y=o.trail?.evaluate(n)??[];return{styles:{closed:m,get trigger(){return tz(i,h().state,c)},get band(){return tz(i,h().plane,c)},get close(){return iz(i,h().state,c)},disclosure:d},fragments:g,lead:v,trail:y,drops:p.drops,open:_}}finally{t.activeSegment.current=null}},ie=(e,t,r)=>{let i=t&&DR(e.when,b),a={scope:b,palette:w,visible:i,padding:o.padding,region:r,perSegmentSink:l,onSegmentError:u,evaluateSegment:re,lookupSegment:ne,renderChild:(e,t,n)=>ie(e,t,np(r,n)),renderBody:(e,t,n)=>ie(e,i&&t,rp(n)),closeDisclosure:e=>ez(n,e),placed:te.placed};return gB(e.kind).render(e,a)},T=t.roots.get(p);if(T===void 0)throw Error(`Preset "${p}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${Hh}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let E=e=>{if(!DR(e.when,b))return!1;if(e.kind===`container`)return!0;if(nA(e.name)===void 0)return!1;try{return DR(t.segments[e.name].when,CC(b,e.settings))}catch{return!0}};t.menuRuntime.action.layout=()=>sB(T,E).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=nA(e);return r===void 0?[]:[{name:r,address:t,palette:Jm(n.theme,w)}]}));let ae=nB(ie(T,!0,tp(_))).map(({line:e,row:t})=>{let n=FR(e.cells,o);return wm(n.map(e=>e.owner),o,te.row(t,n))}).join(`
203
+ `);te.drawn();for(let e of f)d?.({kind:`band-floor`,message:e});return ae}function*OB(e){yield*Object.entries(e.variables??{});for(let[t,n]of Object.entries(e.segments??{}))for(let[e,r]of Object.entries(n.vars??{}))yield[`${t}.${e}`,r]}function*kB(e){for(let t of Object.values(e.segments))for(let e of[t.template,t.bg,t.fg,t.when])e!==void 0&&(yield e);for(let t of Wh(e.presets)){for(let n of ch(qh(e,t).node))n.when!==void 0&&(yield n.when);let n=Jh(e,t);for(let e of mp){let t=n[e];hp(t)&&(yield t)}}for(let[,t]of OB(e))t.kind===`template`&&(yield t.template),gh(t)&&t.cache&&`key`in t.cache&&(yield t.cache.key);for(let t of Object.values(e.actions))`copy`in t&&(yield t.copy),`open`in t&&(yield t.open),`preset`in t&&t.preset===`delete`&&(yield t.name)}function AB(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function jB(e,t){let n=new Set,r=new Set,i=new Set;for(let e of kB(t)){for(let r of hg(e,t.helpers).keys())n.add(r);for(let{name:n}of yg(e,t.helpers))r.add(n);for(let n of bg(e,t.helpers))i.add(n)}for(let[,e]of OB(t))if(gh(e)&&e.cache&&`depends_on`in e.cache)for(let t of e.cache.depends_on)n.add(t);let a=new Set(r);for(let e of r){let n=t.actions[e];if(n!==void 0&&`do`in n)for(let e of n.do)a.add(e)}let o=new Set,s=new Set;for(let e of a){let n=t.actions[e];if(n!==void 0&&(`set`in n&&o.add(n.set),`insertSegment`in n&&s.add(n.insertSegment),`insertSegmentFrom`in n&&Array.isArray(n.insertSegmentFrom)))for(let e of n.insertSegmentFrom)s.add(e)}for(let e of Wh(t.presets))for(let n of ch(qh(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>AB(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!Yw(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(OB(e));return[...u(`variable`,d.keys(),e=>c(e,d.get(e))),...u(`action`,Object.keys(e.actions??{}),e=>a.has(e)),...u(`helper`,Object.keys(e.helpers??{}),e=>i.has(e)),...u(`segment`,Object.keys(e.segments??{}),e=>s.has(e))]}var MB=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,RB(e,t,n,`initial value`),this.cell=kg.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){RB(this.name,this.type,e,`set value`),!Object.is(this.cell.get(),e)&&(this.cell.set(e),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}},NB=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,kg.computed)(()=>{let e=n();return RB(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},PB=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=kg.observable.box(LB(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=LB(e);IB(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function FB(e){return JSON.stringify(e)}function IB(e,t){return FB(e)===FB(t)}function LB(e){return e.kind===`ok`?{kind:`ok`,value:Ag(e.value)}:e}function RB(e,t,n,r){let i=jg(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var zB=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new MB(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new PB(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new NB(e,t,()=>n(r)))}read(e){return this.requireVar(e).read()}readDocument(e){let t=this.requireNode(e);if(t.kind!==`document`)throw TypeError(`Variable "${e}" is a ${t.kind}, not a document`);return t.read()}setDocument(e,t){let n=this.requireNode(e);if(n.kind!==`document`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a document (use defineDocument to create one)`);(0,kg.runInAction)(()=>n.set(t))}setBox(e,t){let n=this.requireNode(e);if(n.kind!==`box`)throw TypeError(`Variable "${e}" is a ${n.kind}, not a box (use defineBox to create a settable variable)`);(0,kg.runInAction)(()=>n.set(t))}runInAction(e){(0,kg.runInAction)(e)}has(e){return this.nodes.has(e)}getType(e){return this.requireVar(e).type}getKind(e){return this.requireNode(e).kind}changeKey(e){let t=this.requireNode(e);if(t.kind===`document`)return FB(t.read());try{return String(t.read())}catch(e){return`failed:${e instanceof Error?e.message:String(e)}`}}getNode(e){let t=this.requireNode(e);return t.kind===`document`?{name:t.name,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}:{name:t.name,type:t.type,kind:t.kind,read:()=>t.read(),lastUpdatedMs:()=>t.lastUpdatedMs()}}names(){return[...this.nodes.keys()]}requireNode(e){let t=this.nodes.get(e);if(!t)throw ReferenceError(`Unknown variable "${e}"`);return t}requireVar(e){let t=this.requireNode(e);if(t.kind===`document`)throw TypeError(`Variable "${e}" is a document; read its fields by path (.${e}.<field>)`);return t}assertNotDefined(e){if(this.nodes.has(e))throw Error(`Variable "${e}" is already declared`)}};function BB(e,{plugins:t,config:n}){let{checkout:r,loaded:i,dropped:a,unreached:o}=t,s=r===null?`-`:`${r.git?`git`:`dir`}:${r.root}`,c=e=>{let t=cP(e),r=t===void 0?void 0:n.variables[uP(t)];return r?.kind===`file`?r.path:`none`};return`config load ${e.join(` < `)||`<default>`}: plugins loaded=${i.length} dropped=${a.length} unplaced=${o.length} checkout=${s}`+i.map(e=>` +${e} data=${c(e)}`).join(``)+a.map(e=>` -${e.path} (${e.reason})`).join(``)+o.map(e=>` ~${e.path} (${e.reason})`).join(``)}function VB(e,t,n){return e+`\0`+t+`\0`+(n??``)}function HB(e,t){return new Set(Wh(e.presets).filter(n=>qh(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function UB(e,t){let n=new Map,{roots:r,loaded:i,dropped:a,unreached:o}=e.state.plugins;for(let t of[...PP(e.projectDir,e.cwd,e.configFile),...r,...i,...[...a,...o].map(e=>e.path)]){let{dir:e,name:r}=Tg(t),i=n.has(e)?n.get(e):new Set;i?.add(r),n.set(e,i)}for(let e of r){let{dir:t,name:r,leaf:i}=Tg(l.join(e,`_`));i&&r===`_`&&n.set(t,null)}return{files:t,dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>t===null?{path:e}:{path:e,filenames:[...t].sort()})}}function WB(e){return e.filter(Boolean).join(`
204
+ `)||null}function GB(e,t,n,r,i=()=>{}){let{layers:a,config:o,installed:s}=JP(t.layers,_F,{entered:i,warned:e=>n.push(...e)},{projectDir:t.projectDir,cwd:e});i(a.length===1?a[0].path:null);let c=a.at(-1)?.config??_F,l=a.find(e=>e.path===t.home)?.raw??{},u=new zB,d=new Pw(u,o.globals.default_empty_value??``,r.gitService,r.sessionState),f;try{f=SB(o,d,{cwd:e}),n.push(...f.loadWarnings),rL(o),TA(o)}catch(e){throw d.dispose(),e}return{config:o,store:u,registry:d,compiled:f,neededInputPaths:lI(o),lastRenderCellsBySegment:new Map,authoredRoots:HB(c,l),fileHeldSettings:UI(l),unused:[...new Map(a.flatMap(e=>jB(e.raw,c)).map(e=>[`${e.kind}:${e.name}`,e])).values()],plugins:{checkout:s.checkout,roots:s.roots,loaded:[...s.rendering.values()],dropped:[...s.dropped,...a.flatMap(e=>e.plugins.dropped)],unreached:s.unreached,reached:s.reached,rendering:s.rendering}}}function KB(e,t,n,r){let i=IP(e,t,n),a={layers:i.kind===`chain`?i.layers:[],home:i.home,projectDir:e},o=[VP(e,t),zP(i)],s,c=null;try{s=GB(t,a,o,r,e=>{c=e})}catch(e){return e instanceof Bw&&o.push(...e.warnings),{layers:a.layers,home:a.home,failedFile:c,warning:WB(o),state:null,error:e instanceof Bw||e instanceof Error?e.message:String(e)}}return{layers:a.layers,home:a.home,warning:WB(o),state:s,error:null}}function qB(e,t,n){return GB(e,{layers:[],home:``,projectDir:t},[],n)}var JB=class{entries=new Map;deps;maxEntries;observers;constructor(e,t={}){this.deps=e,this.maxEntries=t.maxEntries??256,this.observers=t.observers??{}}getOrCreate(e,t,n){let r=VB(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=KB(e,t,n,this.deps);a.state!==null&&j(`info`,BB(a.layers,a.state));let o={projectDir:e,cwd:t,configFile:n,configLayers:[],configHome:``,failedFile:null,lastError:a.error,lastWarning:a.warning,state:a.state??qB(t,e,this.deps),watcher:null,watcherKey:null};if(this.entries.set(r,o),this.entries.size>this.maxEntries){let e=this.entries.entries().next().value;if(e!==void 0){let[t,n]=e;n.state.registry.dispose(),n.watcher?.release(),this.entries.delete(t)}}return this.refreshWatcher(o,a),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=KB(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(j(`info`,BB(t.layers,t.state)),e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configLayers=t.layers,e.configHome=t.home,e.failedFile=t.error===null?null:t.failedFile;let n=UB(e,t.layers),r=`config:${e.projectDir}:${e.cwd}:${e.configFile??``}:${JSON.stringify(n)}`;e.watcher!==null&&e.watcherKey===r||(e.watcher?.release(),e.watcherKey=r,e.watcher=this.deps.watchers.acquire(r,n,()=>this.onConfigChanged(e)))}onConfigChanged(e){j(`info`,`config change detected for entry projectDir=${e.projectDir} cwd=${e.cwd}`),this.reloadInto(e)}get size(){return this.entries.size}firstState(){return this.entries.values().next().value?.state??null}};const YB=16384;var XB=class{startedAt=new Date;requestsTotal=0;requestsErrored=0;requestsTimedOut=0;inFlight=0;watchersOpened=0;watchersClosed=0;watchersEvicted=0;subprocessTotal=0;subprocessInFlight=0;subprocessCount=new Map;subprocessHistogram=new Map;subprocessHistogramRotator=new Map;rollingTimestamps=[];rollingHead=0;launchStats={onStart:e=>{this.subprocessTotal++,this.subprocessInFlight++,this.subprocessCount.set(e,(this.subprocessCount.get(e)??0)+1),this.recordRollingNow()},onEnd:(e,t)=>{this.subprocessInFlight=Math.max(0,this.subprocessInFlight-1),this.recordDuration(e,t)}};recordRollingNow(){let e=Date.now();if(this.rollingTimestamps.length<YB){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%YB}recordDuration(e,t){let n=this.subprocessHistogram.get(e);if(n||(n=[],this.subprocessHistogram.set(e,n)),n.length<16){n.push(t);return}let r=(this.subprocessHistogramRotator.get(e)??0)%16;n[r]=t,this.subprocessHistogramRotator.set(e,r+1)}snapshotSubprocesses(){let e=Date.now()-6e4,t=0;for(let n of this.rollingTimestamps)n>=e&&t++;let n={};for(let[e,t]of this.subprocessCount)t>0&&(n[e]=t);let r={},i={};for(let[e,t]of this.subprocessHistogram){if(t.length===0)continue;let n=[...t].sort((e,t)=>e-t),a=Math.floor(n.length*.5),o=Math.min(n.length-1,Math.floor(n.length*.99)),s=n[a],c=n[o];s!==void 0&&(r[e]=s),c!==void 0&&(i[e]=c)}return{total:this.subprocessTotal,inFlight:this.subprocessInFlight,lastMinute:t,byCategory:n,p50DurationMs:r,p99DurationMs:i}}snapshot(e){let t=process.memoryUsage();return{pid:process.pid,version:xt,protocolVersion:3,startedAt:this.startedAt.toISOString(),uptimeSec:Math.floor((Date.now()-this.startedAt.getTime())/1e3),rssBytes:t.rss,heapUsedBytes:t.heapUsed,heapTotalBytes:t.heapTotal,externalBytes:t.external,arrayBuffersBytes:t.arrayBuffers,requests:{total:this.requestsTotal,errored:this.requestsErrored,timedOut:this.requestsTimedOut,inFlight:this.inFlight},gitCache:e.gitCache,usageCache:e.usageCache,renderCache:{size:e.renderCacheSize},effectCache:e.effectCache,watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function ZB(e,t,n){let r=(r,i,a)=>{let o=i.filter(t).map(t=>({key:t,before:e.get(r,t)}));a();for(let{key:t,before:i}of o)n(r,t,i,e.get(r,t))};return{get:(t,n)=>e.get(t,n),revision:t=>e.revision(t),set:(t,n,i)=>r(t,[n],()=>e.set(t,n,i)),setBatch:(t,n)=>r(t,n.map(e=>e.key),()=>e.setBatch(t,n)),clear:(t,n)=>r(t,[n],()=>e.clear(t,n))}}const QB={load:()=>({}),save:()=>{},flush:()=>{}};var $B=class{sessions;storage;head=0;atom=(0,kg.createAtom)(`SessionState`);constructor(e=QB,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=new Map(Object.entries(this.storage.load()).map(([e,t])=>[e,{values:new Map(Object.entries(t)),revision:++this.head}])),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.values.get(t)??null):null}revision(e){return this.atom.reportObserved(),this.sessions.get(e)?.revision??0}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,kg.runInAction)(()=>{let n=this.sessions.get(e)??{values:new Map,revision:0};t.some(({key:e,value:t})=>n.values.get(e)!==t)&&(n.revision=++this.head);for(let{key:e,value:r}of t)n.values.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,kg.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.values.delete(t)&&(n.revision=++this.head),n.values.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,kg.runInAction)(()=>{for(let t of this.sessions.keys())e.has(t)||this.sessions.delete(t);this.persist(),this.atom.reportChanged()})}touch(e,t){this.sessions.delete(e),this.sessions.set(e,t)}evictOldest(){let e=this.sessions.size-this.maxSessions;if(!(e<=0)){for(let t of this.sessions.keys())if(this.sessions.delete(t),--e===0)break}}flush(){this.storage.flush()}persist(){this.storage.save(this.serialize())}serialize(){let e=Object.create(null);for(let[t,{values:n}]of this.sessions)e[t]=Object.fromEntries(n);return e}};function eV(e){if(typeof e!=`object`||!e||Array.isArray(e))return!1;for(let t of Object.values(e)){if(typeof t!=`object`||!t||Array.isArray(t))return!1;for(let e of Object.values(t))if(typeof e!=`string`)return!1}return!0}var tV=class{timer=null;pending=null;constructor(e,t=500,n=At){this.filePath=e,this.debounceMs=t,this.logger=n}load(){let e;try{e=r.readFileSync(this.filePath,`utf8`)}catch(e){let t=e.code;return t!==`ENOENT`&&this.logger(`warn`,`session-state read failed (${t}); starting empty`),{}}try{let t=JSON.parse(e);return eV(t)?t:(this.logger(`warn`,`session-state load: unexpected shape, starting empty`),{})}catch{return this.logger(`warn`,`session-state load: corrupt JSON, starting empty`),{}}}save(e){this.pending=e,!this.timer&&(this.timer=setTimeout(()=>this.flush(),this.debounceMs),this.timer.unref())}flush(){if(this.timer&&=(clearTimeout(this.timer),null),this.pending===null)return;let e=this.pending;try{r.mkdirSync(l.dirname(this.filePath),{recursive:!0});let t=`${this.filePath}.tmp`;r.writeFileSync(t,JSON.stringify(e),{mode:384}),r.chmodSync(t,384),r.renameSync(t,this.filePath),this.pending=null}catch(e){this.logger(`warn`,`session-state save failed: ${e.message}`)}}};const nV={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,effect:`string`,preset:`string`,endcaps:`string`,variation:`string`,shade:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,transitions:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},rV=new Set([`1`,`true`]),iV=new Set([`0`,`false`,``]);function aV(e,t){let n=AV(e),r=n.scope===`segment-palette`?`string`:nV[n.field];if(r===`string`)return JSON.stringify(t);if(r===`number`){let n=Number(t);if(!Number.isFinite(n))throw Error(`persistValueText: "${e}" expects a number, got "${t}"`);return String(n)}if(rV.has(t))return`true`;if(iV.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function oV(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function sV(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(l.dirname(e),{recursive:!0}),Me(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function cV(e){return/^\s*$/.test(e)?null:gr(e)}function lV(e,t){return e!==null&&vr(e,t)!==void 0}function uV(e){if(e.kind===`segment`)return e.when===void 0?e.name:{seg:e.name,when:e.when};if(e.kind===`container`){let{kind:t,direction:n,children:r,...i}=e;return{[n===`horizontal`?`h`:`v`]:r.map(uV),...i}}return e}function dV(e){if(!Ph(e))return uV(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,uV(t)])),...n}}const fV=hF,pV=fV.segments,mV=fV.presets,hV=fV.root;function gV(e,t,n,r){if(!lV(e,t)&&n===void 0)throw new J(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function _V(e,t){let n=IE(t);return t.scope===`segment-palette`&&gV(e,[`segments`,t.segment],pV[t.segment],n.join(`.`)),n}function vV(e){return gr(Er(e))}function yV(){return Object.entries(hV.rows).map(([e,t])=>{let n=uV(t);return{path:[`root`],fragment:vV({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function bV(e,t){let n=e===null?void 0:vr(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function xV(e,t){if(t===void 0)return null;let n=dV(t);return{path:e,fragment:vV(n),unit:{path:e,value:n}}}function SV(e,t){let n=[`presets`,t],r=[...n,`root`],i=mV[t];gV(e,n,i,r.join(`.`));let a=bV(e,r)??xV(r,i?.root);return a!==null&&qr(a.fragment)?a:null}function CV(e,t){let n=Kr(t.fragment);return n===null?new Map([[`#`,{path:t.path,unit:t.unit,node:t.fragment}]]):new Map([...e,...n.map(e=>[e.key,{path:[...t.path,`rows`,e.key],unit:t.unit,node:e.value}])])}function wV(e,t){return[...yV(),bV(e,[`root`]),SV(e,t)].filter(e=>e!==null).reduce(CV,new Map)}function TV(e,t,n){for(let{node:r,...i}of wV(e,t).values())if(Yr(r,n))return i;throw new J(`${EV(e,t).join(`.`)} holds no placement "${n}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`)}function EV(e,t){return SV(e,t)?.path??[`root`]}function DV(e,t){return t.scope===`preset-root`?EV(e,t.preset):IE(t)}function OV(e,{unit:t}){return t===null?e:Br(e,t.path,Er(t.value),wr)}function kV(e){let t=FE(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function AV(e){let t=kV(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function jV(e,t,n,r,i){i(t,n,HV(t,r)),sV(t.path,r,e.logger),e.record(t.path,n,r)}function MV(e,t,n){let r=FV(e,t,n);if(r.length>0)throw new J(`refused: ${e.above.join(`, `)} sets ${r.join(`, `)} over ${e.path}, so this click would change nothing on the bar — edit it there`)}const NV=()=>{};function PV(e,t){try{return t()}catch(t){throw!(t instanceof J)||e.above.length===0?t:new J(`${t.message} — or it is declared by ${e.above.join(`, `)}, which the bar does not edit`)}}function FV(e,t,n){let r=IV(e,t);if(r===null)return[];let i=new Set(BV(zV(r),zV(n)));return BV(RV(e,r),RV(e,n)).filter(e=>!i.has(e))}function IV(e,t){try{return LV(e,t)}catch(e){if(e instanceof Bw)return null;throw e}}function LV(e,t){return JP(t===null?e.above:[e.path,...e.above],_F,{entered:()=>{},warned:()=>{}},{projectDir:e.projectDir,cwd:e.cwd},n=>n===e.path&&t!==null?t:r.readFileSync(n,`utf8`))}function RV(e,t){let[n]=t.layers;return n?.path===e.path?n.config:t.base}function zV(e){return e.layers.at(-1)?.config??e.base}function BV(e,t,n=``){return!VV(e)||!VV(t)?JSON.stringify(e)===JSON.stringify(t)?[]:[n]:[...new Set([...Object.keys(e),...Object.keys(t)])].flatMap(r=>BV(e[r],t[r],n===``?r:`${n}.${r}`))}function VV(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function HV(e,t){try{return LV(e,t)}catch(e){throw e instanceof Bw?new J(`refused: the config file would not load after this click — ${e.message}`):e}}function UV(e,t){let n=AV(t),r=cV(oV(e)??``),i=r===null?void 0:vr(r,IE(n));return i!==void 0&&`value`in i?i.value:void 0}function WV(e,t,n){GV(e,t,n,[])}function GV(e,t,n,r){let i=oV(t.path),a=n.reduce((e,[t,n])=>Br(e,_V(cV(e),AV(t)),aV(t,n),wr),i??``);jV(e,t,i,PV(t,()=>KV(a,t.path,r,e=>e)),MV)}function KV(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=TV(cV(s),n,i),l=$r(OV(s,c),c.path,i,a,Er(o));if(l===null)throw new J(`${c.path.join(`.`)} in ${t} has no placement "${i}" — the bar you clicked is stale (it reloads on the next render)`);return l},e)}function qV(e,t,n){let r=cV(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of wV(r,t)){if(!Yr(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?br(e,c):Er(s.value);if(a!==`#`)return Br(e,[...i,`rows`,a],l,wr);if(SV(r,t)!==null)throw new J(`cannot give preset "${t}" its own copy of ${o.join(`.`)}: it already stages rows of its own over that tree`);return Br(e,i,l,wr)}return e}function JV(e,t){return Hr(e,t,t[0]===`presets`&&t.length>2&&!yF(t[1])?2:0)}function YV(e,t,n){let r=n.map(kV),i=oV(t.path);if(i===null)return;let a=r.reduce((e,t)=>JV(e,DV(cV(e),t)),i);a!==i&&jV(e,t,i,a,NV)}function XV(e){let t=e===null?void 0:vr(e,[`presets`]);return t?.kind===`object`?t.entries.map(e=>e.key):[]}function ZV(e,t){let n=new Set([...vF,...XV(e),...t.above.flatMap(e=>Object.keys(lr.default.parse(r.readFileSync(e,`utf8`)).presets??{}))].map(zw));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(zw(e)))}function QV(e,t,n,r,i,a){let o=oV(t.path),s=cV(o??``),c=ZV(s,t),l=[`presets`,c],u=PV(t,()=>SV(s,n)),d=[...u===null?[]:[[[...l,`root`],u.unit===null?br(o??``,u.fragment):Er(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Er(r)]]],f=i.map(([e,t])=>{let n=PE(c,e);return[_V(s,AV(n)),aV(n,t)]}),p=[...d,...f].reduce((e,[t,n])=>Br(e,t,n,wr),Br(o??``,l,`{}`,wr));return jV(e,t,o,PV(t,()=>KV(p,t.path,a.map(e=>({...e,preset:c})),qV)),MV),c}function $V(e,t,n,r){let i=oV(t.path);jV(e,t,i,Br(i??``,[`themeDefaults`,n],Er(r),wr),MV)}function eH(e,t,n){if(yF(n))throw new J(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=oV(t.path),a=cV(i??``);if(i===null||a===null||vr(a,r)===void 0)throw new J(`cannot delete preset "${n}": ${t.path} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=vr(a,[`globals`,`preset`]);jV(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>JV(e,t),i),NV)}function tH(e,t,n,r){let i=kV(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=oV(t.path),o=r.op===`remove`?r.target:r.anchor,s=PV(t,()=>TV(cV(a??``),i.preset,o)),c=OV(a??``,s),{after:l,placed:u}=nH(c,s.path,r,()=>{let e=HV(t,c).config;return Wh(e.presets).map(t=>qh(e,t).node)});if(l===null)throw new J(`${s.path.join(`.`)} in ${t.path} has no placement "${o}" — the bar you clicked is stale (it reloads on the next render), or the action names a placement the layout never held`);return jV(e,t,a,l,MV),u}function nH(e,t,n,r){switch(n.op){case`remove`:return{after:Zr(e,t,n.target),placed:null};case`insert`:{let i=fA(n.segment,n.anchor,r());return{after:Qr(e,t,i,n.anchor,n.relation),placed:i}}}}const rH={load:()=>({}),save:()=>{}},iH=new Set(pa.map(e=>e.sessionKey)),aH=e=>iH.has(e)||e.startsWith(qE),oH=8*1024*1024,sH={past:[],future:[]},cH=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var lH=class{state=new Map;constructor(e,t,n=rH){this.sessionState=e,this.logger=t,this.storage=n,this.state=new Map(Object.entries(n.load()))}useStorage(e){this.storage=e,this.state=new Map(Object.entries(e.load()))}depth(e){let{past:t,future:n,savepoint:r}=this.state.get(e)??sH;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??sH}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(cH(n));r.set(cH(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:ZB(this.sessionState,e=>aH(e)||e===`edit.mode`,(e,r,i,a)=>{if(r===`edit.mode`){let t=n.get(e);n.set(e,{before:t===void 0?i:t.before,after:a});return}t(e,{kind:`session`,key:r,before:i,after:a})}),file:(e,n,r,i)=>t(e,{kind:`file`,file:n,before:r,after:i}),commit:()=>{let t=new Map(e),r=new Map(n);e.clear(),n.clear();for(let e of new Set([...t.keys(),...r.keys()])){let n=[...t.get(e)?.values()??[]].filter(e=>e.before!==e.after),i=this.history(e),a=n.length===0?i:_H(i,n),o=r.get(e),s=o===void 0?a:xH(a,o);s!==i&&this.put(e,s)}}}}undo(e){let t=this.history(e),n=t.past.at(-1);if(n===void 0)throw new J(`undo: nothing to undo`);return this.apply(e,n,`before`,`undo`,yH(t,n)),n}rewind(e){let t=this.history(e),{savepoint:n}=t;if(n===void 0)throw new J(`rewind: edit mode has no savepoint — nothing to cancel`);let r=n.net.filter(t=>this.read(e,t)!==t.after),i=new Set(r.map(cH)),a=n.net.filter(e=>!i.has(cH(e))),o=fH(SH(bH(t,n),i));if(this.apply(e,a,`before`,`rewind`,{past:o,future:[],savepoint:{at:o.length,net:[],below:[]}}),r.length>0)throw new J(`rewind: ${r.map(wH).join(`, `)} changed since edit mode opened — kept as it is; everything else edit mode changed was put back`);return a}redo(e){let t=this.history(e),{past:n,future:r}=t,i=r.at(-1);if(i===void 0)throw new J(`redo: nothing to redo`);let a=[...n,i],o=fH(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...mH(t.savepoint,a.length-o.length,i)}),i}apply(e,t,n,r,i){let a=n===`before`?`after`:`before`,o=t.filter(t=>this.read(e,t)!==t[a]);if(o.length>0){let t=new Set(o.map(cH)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:SH(n,t),future:SH(i,t),...a!==void 0&&{savepoint:{at:SH([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(cH(e))),below:SH(a.below,t)}}}),new J(`${r}: ${o.map(wH).join(`, `)} changed since that edit — refusing to overwrite it; this session's undo history no longer steps it`)}let s=[];try{for(let r of t)this.write(e,r,r[n]),s.push(r);this.put(e,i)}catch(t){try{for(let t of s.reverse())this.write(e,t,t[a])}catch(e){throw Error(`${t.message}; and putting the step back failed, so it is half-applied: ${e.message}`)}throw t}}read(e,t){return t.kind===`session`?this.sessionState.get(e,t.key):oV(t.file)}write(e,t,n){t.kind===`file`?sV(t.file,n,this.logger):n===null?this.sessionState.clear(e,t.key):this.sessionState.set(e,t.key,n)}put(e,t){let n=new Map(this.state);for(n.delete(e),(t.past.length>0||t.future.length>0||t.savepoint!==void 0)&&n.set(e,t);n.size>32||uH(n)>oH;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,dH(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${oH} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function uH(e){let t=0;for(let{past:n,future:r,savepoint:i}of e.values())for(let e of[...n,...r,...i===void 0?[]:[i.net,...i.below]])for(let n of e)t+=(n.before?.length??0)+(n.after?.length??0);return t}function dH({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...mH(n,1,[])}:{past:e,future:t.slice(1),...mH(n,0,[])}}function fH(e){return e.slice(-50)}const pH=e=>e===YE.member;function mH(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:hH(e.net,n),below:e.below}}}function hH(e,t){let n=new Map(e.map(e=>[cH(e),e]));for(let e of t){let t=n.get(cH(e));n.set(cH(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const gH=e=>e.map(e=>({...e,before:e.after,after:e.before}));function _H(e,t){let n=[...e.past,t],r=fH(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...mH(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...vH(e.future,a),...i.below]},n.length-r.length,t)}}function vH(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function yH(e,t){return{past:e.past.slice(0,-1),future:fH([...e.future,t]),...mH(e.savepoint,0,gH(t))}}function bH(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...vH(r,t.at-i.length),...t.below]}function xH(e,t){if(pH(t.after)&&!pH(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!pH(t.after)&&pH(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function SH(e,t){return e.map(e=>e.filter(e=>!t.has(cH(e)))).filter(e=>e.length>0)}function CH(e){return e.map(wH).join(`, `)}function wH(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function TH(e){if(typeof e!=`object`||!e)return!1;let t=e,n=e=>e===null||typeof e==`string`;return(t.kind===`session`&&typeof t.key==`string`||t.kind===`file`&&typeof t.file==`string`)&&n(t.before)&&n(t.after)}function EH(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(TH))}function DH(e){if(typeof e!=`object`||!e)return!1;let t=e;return Number.isInteger(t.at)&&t.at>=0&&Array.isArray(t.net)&&t.net.every(TH)&&EH(t.below)}function OH(e){if(typeof e!=`object`||!e)return!1;let t=e;return EH(t.past)&&EH(t.future)&&(t.savepoint===void 0||DH(t.savepoint))}function kH(e,t){let n=e=>e.kind===`file`||aH(e.key)?!0:(t.add(e.key),!1),r=e=>e.map(e=>e.filter(n)).filter(e=>e.length>0),{savepoint:i}=e,a=r(e.past),o=r(e.future);return i===void 0?{past:a,future:o}:{past:a,future:o,savepoint:{at:r(e.past.slice(0,i.at)).length,net:i.net.filter(n),below:r(i.below)}}}function AH(e,t){return{load:()=>{let n;try{n=r.readFileSync(e,`utf8`)}catch(e){let n=e.code;return n!==`ENOENT`&&t(`warn`,`settings-history read failed (${n}); starting empty`),{}}try{let e=JSON.parse(n);if(typeof e==`object`&&e&&!Array.isArray(e)&&Object.values(e).every(OH)){let n=new Set,r=Object.fromEntries(Object.entries(e).map(([e,t])=>[e,kH(t,n)]));return n.size>0&&t(`warn`,`settings-history load: dropped the changes to ${[...n].map(e=>`"${e}"`).join(`, `)}, no longer a setting`),r}}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(l.dirname(e),{recursive:!0}),Me(e,JSON.stringify(n),384)}catch(e){let n=`settings-history write failed — the change landed but is not undoable: ${e.message}`;throw t(`error`,n),Error(n)}}}}const jH=e=>!aH(e)&&!ID(e)&&e!==`update.dismissed`;var MH=class{past=new Map;depth(e,t,n){return this.restorable(e,t,n).length}restorable(e,t,n){let r=new Map,i=n=>r.has(n)?r.get(n):t.get(e,n),a=[];for(let t of[...this.past.get(e)??[]].reverse())if(t.every(e=>i(e.key)===e.after&&(e.before===null||n.validate(e.key,e.before).ok))){a.unshift(t);for(let e of t)r.set(e.key,e.before)}return a}begin(e){let t=new Map;return{sessionState:ZB(e,jH,(e,n,r,i)=>{let a=t.get(e)??new Map,o=a.get(n);a.set(n,{key:n,before:o?o.before:r,after:i}),t.set(e,a)}),commit:()=>{for(let[e,n]of t){let t=[...n.values()].filter(e=>e.before!==e.after);t.length>0&&this.push(e,t)}t.clear()}}}back(e,t,n){let r=this.past.get(e)??[],i=this.restorable(e,t,n),a=i.at(-1),o=r.length-i.length;if(a===void 0)throw this.put(e,i),new J(`back: nothing to go back to${o>0?` (${o} step(s) over a view since gone, discarded)`:``}`);return(0,kg.runInAction)(()=>{let n=a.flatMap(({key:e,before:t})=>t===null?[]:[{key:e,value:t}]);n.length>0&&t.setBatch(e,n);for(let{key:n,before:r}of a)r===null&&t.clear(e,n)}),this.put(e,i.slice(0,-1)),{step:a,discarded:o}}push(e,t){let n=this.past.get(e)??[];this.put(e,[...n,t].slice(-20))}put(e,t){for(this.past.delete(e),t.length>0&&this.past.set(e,t);this.past.size>32;)this.past.delete(this.past.keys().next().value)}};function NH(e){let t=bR(e,`doctor.tmux`,[`display`,`-p`,`-t`,e.pane,`#{client_termfeatures}`]);return t.kind===`ok`?{kind:`ok`,value:t.stdout.trim().split(`,`).filter(e=>e!==``)}:{kind:`failed`,reason:t.reason}}function PH(e){return{probeTmux:NH,loadConfig:e}}function FH(e){let t={layers:e.layers,warnings:e.warning===null?[]:e.warning.split(`
205
+ `)};return e.error===null?{...t,kind:`loaded`,unused:e.unused}:{...t,kind:`failed`,error:e.error}}function IH(e){let{env:t,statusLine:n}=ai(e);if(t!==void 0&&!oi(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t??{},statusLine:n===void 0?{kind:`absent`}:oi(n)?{kind:`present`,refreshInterval:n.refreshInterval}:{kind:`not-an-object`,value:n}}}function LH(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function RH(e){return{kind:`arrived`,handler:e,bar:xt}}function zH(e,t,n){let r=new Map;for(let i of ch(qh(e,t).node)){if(i.kind!==`segment`)continue;let t=xh(e.segments[i.name])[yh],a=Dh(i,yh,t,e=>n(e.key));a===`bar`||a===`none`||r.set(i.drafts?.effect?.id??ih(i),a)}return[...r].map(([e,t])=>({placement:e,effect:t}))}function BH(e,t,n,r){let i=e.loadConfig(n),a=XF(i.config,r,()=>!1);return{tmux:LH(e,t.tmux),config:FH(i),effect:a.effect,placementEffects:zH(i.config,a.preset,r),transitions:a.transitions,claudeSettings:IH(ni(ti(t.claudeConfigDir)))}}function VH(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings`:{let i=Br(ii(n),e.path,JSON.stringify(e.value),Tr);return r.mkdirSync(l.dirname(n),{recursive:!0}),Me(n,i),{...t,claudeSettings:IH(n)}}default:return e.kind}}const HH={connectMs:200,budgetMs:500};async function UH(e){let n=e.includes(`--json`),r=await WH();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${bt(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
206
+ `);return}t.stdout.write(JH(r.value))}function WH(){return mt({kind:`stats`},HH,e=>`stats`in e?e.stats:void 0)}function GH(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function KH(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function qH(e){return e<60?`${e}s`:e<3600?`${Math.floor(e/60)}m${e%60}s`:`${Math.floor(e/3600)}h${Math.floor(e%3600/60)}m`}function JH(e){let t=[];t.push(`cc-candybar daemon stats`),t.push(``),t.push(`process`),t.push(` pid ${e.pid}`),t.push(` version ${e.version}`),t.push(` protocol ${e.protocolVersion}`),t.push(` startedAt ${e.startedAt}`),t.push(` uptime ${qH(e.uptimeSec)}`),t.push(` rss ${GH(e.rssBytes)}`),t.push(` heapUsed ${GH(e.heapUsedBytes)}`),t.push(` heapTotal ${GH(e.heapTotalBytes)}`),t.push(` external ${GH(e.externalBytes)}`),t.push(` arrayBuffers ${GH(e.arrayBuffersBytes)}`),t.push(``),t.push(`requests`),t.push(` total ${e.requests.total}`),t.push(` errored ${e.requests.errored}`),t.push(` timedOut ${e.requests.timedOut}`),t.push(` inFlight ${e.requests.inFlight}`),t.push(``),t.push(`gitCache`),t.push(` size ${e.gitCache.size}`),t.push(` hit rate ${KH(e.gitCache.hits,e.gitCache.misses)} (${e.gitCache.hits} / ${e.gitCache.hits+e.gitCache.misses})`),t.push(` invalidations ${e.gitCache.invalidations}`),t.push(``),t.push(`usageCache`),t.push(` size ${e.usageCache.size}`),t.push(` hit rate ${KH(e.usageCache.hits,e.usageCache.misses)} (${e.usageCache.hits} / ${e.usageCache.hits+e.usageCache.misses})`),t.push(` sweeps ${e.usageCache.sweeps}`),t.push(``),t.push(`renderCache`),t.push(` size ${e.renderCache.size}`),t.push(``),t.push(`effectCache`),t.push(` sessions ${e.effectCache.sessions}`),t.push(` effects ${e.effectCache.effects}`),t.push(``),t.push(`watchers`),t.push(` active ${e.watchers.active}`),t.push(` opened ${e.watchers.opened}`),t.push(` closed ${e.watchers.closed}`),t.push(` evicted ${e.watchers.evicted}`),t.push(``),t.push(`subprocesses`),t.push(` total ${e.subprocesses.total}`),t.push(` inFlight ${e.subprocesses.inFlight}`),t.push(` lastMinute ${e.subprocesses.lastMinute}`);let n=Object.entries(e.subprocesses.byCategory),r=n.reduce((e,[t])=>Math.max(e,t.length),13);for(let[i,a]of n){let n=e.subprocesses.p50DurationMs[i],o=e.subprocesses.p99DurationMs[i],s=n!==void 0&&o!==void 0?` (p50 ${n}ms · p99 ${o}ms)`:``;t.push(` ${i.padEnd(r)} ${a}${s}`)}return e.nextRestartReason&&(t.push(``),t.push(`nextRestart ${e.nextRestartReason}`)),t.join(`
207
207
  `)+`
208
- `}const GH=e=>({kind:`ok`,value:e}),KH=e=>({kind:`failed`,reason:e});var qH=class{arrivals=[];arrive(e){this.arrivals=[...this.arrivals,e].slice(-16)}list(){return this.arrivals}};const JH=/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/;function YH(e){return JH.test(e)?e:null}function XH(e){let t=e.opener();if(t.kind===`failed`)return t;if(t.value===null)return GH(null);let n=t.value,r=e.script(n);if(r.kind===`failed`)return GH({app:n,missing:KH(`its script could not be read (${r.reason})`)});let i=ZM(r.value);return GH({app:n,missing:i===null?KH("its script is not one `cc-candybar install` wrote"):GH([i.node,i.script].filter(t=>!e.exists(t)))})}async function ZH(e,t){let n=e.now()+5e3;for(;e.now()<n;){await e.pause();let n=await e.daemon(),r=n.kind===`ok`?n.value.arrivals.find(e=>e.nonce===t):void 0;if(n.kind===`ok`&&r!==void 0)return{kind:`arrived`,handler:r.handler,bar:n.value.version}}return null}async function QH(e){if(e.platform!==`darwin`)return{kind:`unsupported`};if(e.sockets.own!==e.sockets.handler)return{kind:`unprobed`,reason:`this shell's daemon is at ${e.sockets.own} (CC_CANDYBAR_SOCKET); the URL handler delivers links to ${e.sockets.handler}`};let t=await e.daemon();if(t.kind===`failed`)return{kind:`unprobed`,reason:`the daemon could not be asked whether a link arrives: ${t.reason}`};let n=e.nonce(),r=e.open(`${Yj}://${yM}/${n}`);return(r===null?await ZH(e,n):null)??{kind:`lost`,unopened:r,opener:XH(e)}}function $H(e,t,n){let r=O({bin:t,args:[...n],category:e,timeoutMs:5e3});return r.ok?GH(r.stdout):KH(r.stderr.trim()||r.error||r.reason)}const eU=`ObjC.import("AppKit");var u = $.NSWorkspace.sharedWorkspace.URLForApplicationToOpenURL($.NSURL.URLWithString("${Yj}://probe"));u.isNil() ? "" : u.path.js`;async function tU(){let e=await BH();if(e.kind!==`ok`)return KH(oj(e).split(`
209
- `).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?GH({version:t,arrivals:n}):KH(`the running daemon (${t}) predates this check`)}function nU(){return{platform:process.platform,sockets:{own:ze(),handler:Be()},now:Date.now,nonce:ce,daemon:tU,open:e=>{let t=$H(`doctor.open`,`/usr/bin/open`,[`-g`,e]);return t.kind===`ok`?null:t.reason},pause:()=>new Promise(e=>setTimeout(e,100)),opener:()=>{let e=$H(`doctor.launch-services`,`/usr/bin/osascript`,[`-l`,`JavaScript`,`-e`,eU]);if(e.kind===`failed`)return e;let t=e.value.trim();return GH(t===``?null:t)},script:e=>$H(`doctor.osadecompile`,`/usr/bin/osadecompile`,[QM(e)]),exists:r.existsSync}}const rU=/^─{20,}/,iU=/^❯(\s|$)/,aU=/›\s*stashed$/;function oU(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>rU.test(e)?[t]:[]).at(-2);return n===void 0||!iU.test(t[n+1]??``)?{kind:`no-prompt`}:aU.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const sU={"in-mode":`the Claude Code pane is in tmux copy mode — leave it (q) and click again`,stashed:`Claude Code is holding a stashed prompt (ctrl+s) — restore or send it, then click again`,"no-prompt":`Claude Code is not at its prompt (a dialog or picker is open) — close it and click again`};function cU(e,t,n){if(t===void 0)return{kind:`refused`,reason:`this session's statusline client reports no tmux facts (it predates this daemon) — rebuild or reinstall cc-candybar`};if(t===null)return{kind:`refused`,reason:`this Claude Code is not running inside tmux — the bar can only type into a tmux pane`};let r=oU(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:sU[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const lU=`cc-candybar-slash`;function uU(e,t,n,r){let i=gR(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function dU(e){let t=uU(e,`claude-input.read`,[`display`,`-p`,`-t`,e.pane,`#{pane_in_mode}`,`;`,`capture-pane`,`-p`,`-t`,e.pane]);if(t.kind===`rate-limited`)throw Error(t.reason);let[n=``,...r]=t.stdout.split(`
210
- `);return{inMode:n!==`0`,screen:r}}function fU(e,t){let n=uU(e,`claude-input.type`,[`load-buffer`,`-b`,lU,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,lU,`-t`,e.pane,`;`,`send-keys`,`-t`,e.pane,`Enter`],t);return n.kind===`ok`?{kind:`typed`}:{kind:`refused`,reason:`cc-candybar typed a command moments ago — click again in a second (${n.reason})`}}function pU(){return{read:dU,type:fU}}function mU(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function hU(e){return gU(()=>decodeURIComponent(e))}function gU(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function _U(e,t){let n=O({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const vU=(e,t)=>_U(hU(e),t),yU=(e,t)=>{let n=O({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,hU(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},bU=(e,t)=>_U(hU(e),t),xU=(e,t)=>_U(hU(e),t),SU=(e,t)=>{let n=mU(hU(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},CU=(e,t)=>{let[n=``,...r]=gU(()=>CM(e)),i=mU(n),a=$I(FU(t,i));if(r.length===0)throw new $(`set-state: <key>/<value> is required (have keys: ${a.listKeys().join(`, `)})`);if(r.length%2!=0)throw new $(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${a.listKeys().join(`, `)})`);let o=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new $(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=a.validate(t,n);if(!i.ok)throw new $(`set-state: pair ${e/2+1}: ${i.reason}`);o.push({key:t,value:i.value})}DU(t,i,`set-state`,o),t.navigating.setBatch(i,o);let s=o.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${s} (session=${i})`)},wU=/^-?\d+$/;function TU(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const EU=(e,t)=>{let[n=``,r=``,i=``]=gU(()=>CM(e)),a=mU(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!wU.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=FU(t,a),c=$I(s),l=c.rangeParamsFor(r);if(!l)throw new $(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${c.listKeys().join(`, `)})`);let u=t.sessionState.get(a,r),d=u&&wU.test(u)?OU(l,parseInt(u,10)):kU(`step-state`,r,l,nL(s,e=>t.sessionState.get(a,e),r)),f=TU(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new $(`step-state: ${p.reason}`);DU(t,a,`step-state`,[{key:r,value:p.value}]),t.navigating.set(a,r,p.value),t.dlog(`info`,`step-state: ${r} ${d}→${p.value} (by ${o}, session=${a})`)};function DU(e,t,n,r){let i=r.filter(e=>e.key.startsWith(ix));if(i.length===0)return;let a=MI(FU(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new $(`${n}: refused — ${a.join(`; `)}`)}function OU(e,t){return Math.max(e.min,Math.min(e.max,t))}function kU(e,t,n,r){if(r===null)return n.min;if(!wU.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return OU(n,parseInt(r,10))}const AU=`render-origin`;function jU(e){return JSON.stringify(e)}function MU(e){let t;try{t=JSON.parse(e)}catch{throw new $(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new $(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new $(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function NU(e,t){let n=e.sessionState.get(t,AU);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return MU(n)}function PU(e,t,n){let r=e.sessionState.get(t,AU);if(r===null)return;let i=MU(r),{path:a}=IU(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function FU(e,t){return e.configFor(NU(e,t))}function IU(e){return Gk(e.projectDir,e.cwd,e.configFile??void 0)}function LU(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const RU=(e,t)=>{let[n=``,r=``,i=``]=gU(()=>CM(e)),a=mU(n),o=NU(t,a),s=t.configFor(o),c=XP(s);if(!r)throw new $(`set-config: <key>/<value> is required (have keys: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new $(`set-config: ${l.reason}`);let u=IU(o),d=AI(s,e=>t.sessionState.get(a,e),r);BV(LU(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u.path} (session=${a})`)},zU=(e,t)=>{let[n=``,r=``,i=``]=gU(()=>CM(e)),a=mU(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!wU.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=NU(t,a),c=t.configFor(s),l=XP(c),u=l.rangeParamsFor(r);if(!u)throw new $(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${l.listKeys().join(`, `)})`);let d=IU(s),f=AI(c,e=>t.sessionState.get(a,e),r),p=zV(d.path,f.key),m=typeof p==`number`?OU(u,p):kU(`step-config`,r,u,QP(f.globals,r)),h=TU(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new $(`step-config: ${g.reason}`);BV(LU(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d.path} (session=${a})`)},BU=(e,t)=>{let[n=``]=gU(()=>CM(e)),r=mU(n),i=NU(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=OI(a,o),c=jI(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=$I(a),u=s.map(e=>{let t=l.validate(e.sessionKey,e.value);if(!t.ok)throw new $(`save: ${t.reason}`);return[e.target,t.value]});HU(`save`,l,c);let d=IU(i);VV(LU(t,r),d,u,c),t.reloadConfig(i);for(let e of[...s.map(e=>e.sessionKey),...c.map(e=>e.key)])t.sessionState.clear(r,e);t.dlog(`info`,`save: ${[...u.map(([e,t])=>`${e}=${t}`),...c.map(VU)].join(` `)} → ${d.path} (session=${r})`)},VU=e=>`${e.preset}/${e.id}.settings.${e.setting}=${Uu(e.value)}`;function HU(e,t,n){for(let r of n){let n=t.validate(r.key,Uu(r.value));if(!n.ok)throw new $(`${e}: ${n.reason}`)}}const UU=(e,t)=>{let[n=``]=gU(()=>CM(e)),r=mU(n),i=NU(t,r),a=t.configFor(i),o=FI(a,e=>t.sessionState.get(r,e)),s=$I(a),c=o.picks.map(e=>{let t=s.validate(e.sessionKey,e.value);if(!t.ok)throw new $(`save-preset: ${t.reason}`);return[e.configKey,t.value]});HU(`save-preset`,s,o.placements);let l=IU(i),u=JV(LU(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...nw.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,tw.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(VU)].join(` `)} → ${l.path} (session=${r})`)},WU=(e,t)=>{let[n=``]=gU(()=>CM(e)),r=mU(n),i=NU(t,r),a=LI(t.configFor(i),e=>t.sessionState.get(r,e));if(a.kind===`rule`)throw new $(`save-theme-default: the theme is chosen by a rule (globals.palette), so there is no name to save as a theme's default — pick one in the menu first`);let o=IU(i);YV(LU(t,r),o,a.theme,a.look),t.reloadConfig(i);let s=new Set(OI(t.configFor(i),e=>t.sessionState.get(r,e)).map(e=>e.sessionKey)),c=ju.map(e=>tw[e].sessionKey).filter(e=>!s.has(e));for(let e of c)t.sessionState.clear(r,e);t.dlog(`info`,`save-theme-default: ${a.theme} ${ju.map(e=>`${e}=${a.look[e]}`).join(` `)} → ${o.path} (session=${r})`)},GU=(e,t)=>{let[n=``,r=``]=gU(()=>CM(e)),i=mU(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=NU(t,i),o=IU(a);XV(LU(t,i),o,r),t.reloadConfig(a);let s=tw.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o.path} (session=${i})`)},KU=(e,t)=>{let[n=``,...r]=gU(()=>CM(e)),i=mU(n),a=NU(t,i),o=XP(t.configFor(a)).listKeys(),s=r.length===0?[``]:r.filter(e=>!o.includes(e));if(s.length>0)throw new $(`reset-config: unknown config key "${s.join(`", "`)}" (have: ${o.join(`, `)})`);let c=IU(a),l=r.map(RI),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);GV(LU(t,i),c,u),t.reloadConfig(a);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c.path} (session=${i})`)};function qU(e,t){let n=(e,t)=>[...Eu(Lb(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(Pb(t.presets).flatMap(e=>n(t,e).map(t=>ax(Sp(e),Su(t)))));return Pb(e.presets).flatMap(t=>n(e,t).map(e=>({member:ax(Sp(t),Su(e)),node:e})).filter(({member:e})=>!r.has(e)))}function JU(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[$b]:[]])}const YU=(e,t)=>{let[n=``,r=``,i=``]=gU(()=>CM(e)),a=mU(n),o=NU(t,a),s=t.configFor(o),c=XP(s);if(!r)throw new $(`apply-layout-op: <key>/<op> is required (have: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new $(`apply-layout-op: ${l.reason}`);let u=IP(l.value);if(u===null)throw new $(`apply-layout-op: "${l.value}" is not a layout op token`);let d=IU(o),f=ZV(LU(t,a),d,r,u);t.reloadConfig(o);let p=JU(qU(s,t.configFor(o)),t.sessionState.get(a,$b)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of p)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${l.value} → ${d.path} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},XU=(e,t)=>{let[n=``]=gU(()=>CM(e)),r=mU(n);t.journal.commit();let i=t.history.undo(r);PU(t,r,i),t.dlog(`info`,`undo: restored ${yH(i)} (session=${r})`)},ZU=(e,t)=>{let n=mU(hU(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,$I(FU(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},QU=(e,t)=>{let n=mU(hU(e));t.journal.commit();let r=t.history.rewind(n);PU(t,n,r),t.dlog(`info`,`rewind: put back ${yH(r)||`nothing`} as edit mode found it (session=${n})`)},$U=(e,t)=>{let[n=``]=gU(()=>CM(e)),r=mU(n);t.journal.commit();let i=t.history.redo(r);PU(t,r,i),t.dlog(`info`,`redo: re-applied ${yH(i)} (session=${r})`)},eW=(e,t)=>{mU(hU(e)),t.applyUpdate()},tW=`client-hints`;function nW(e,t){let n=e.sessionState.get(t,tW);if(n===null)throw new $(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new $(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new $(`client hints record is not an object: ${n}`);return VA(r)}function rW(e,t,n){let r=gT(n);e.sessionState.setBatch(t,xT(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed(${1+(e.verdict.more?.length??0)})`}`).join(` `)} (session=${t})`)}function iW(e,t){return{...IH(e.doctor,nW(e,t),NU(e,t),n=>e.sessionState.get(t,n)),urlHandler:PH(e.clientVersion)}}const aW=(e,t)=>{let n=mU(hU(e));rW(t,n,iW(t,n))},oW=(e,t)=>{let n=YH(hU(e));if(n===null)throw new $(`doctor-probe: the value is not a probe nonce`);t.probes.arrive({nonce:n,handler:t.clientVersion}),t.dlog(`info`,`doctor-probe: arrived nonce=${n} handler=${t.clientVersion??`unreported`}`)},sW=(e,t)=>{let[n=``,r=``]=gU(()=>CM(e)),i=mU(n),a=_T(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=iW(t,i),s=a.probe(o);if(s.ok||s.fix===void 0)throw new $(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=LH(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.path.join(`.`)}=${JSON.stringify(s.fix.value)} (session=${i})`),rW(t,i,c)},cW=(e,t)=>{let[n=``,...r]=gU(()=>CM(e)),i=mU(n),a=NU(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=uO(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new $(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`},c=NF({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},nW(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},lW=(e,t)=>{let[n=``,r=``]=gU(()=>CM(e)),i=mU(n),a=Object.values(t.configFor(NU(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new $(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=cU(t.claudeInput,nW(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new $(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},uW=`config-override`,dW=new Map([[$j,vU],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=mU(gU(()=>decodeURIComponent(e.slice(0,n)))),i=gU(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new $(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new $(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,uW),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,uW,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[eM,yU],[Zj,CU],[Qj,EU],[iM,RU],[aM,zU],[uM,KU],[oM,BU],[sM,UU],[cM,WU],[lM,GU],[dM,YU],[fM,XU],[pM,$U],[mM,ZU],[hM,QU],[nM,bU],[rM,xU],[tM,SU],[gM,eW],[_M,aW],[vM,sW],[yM,oW],[bM,cW],[xM,lW]]),fW=new Set([Zj,Qj,iM,aM,uM,oM,sM,cM,lM,dM,fM,pM,mM,hM,tM,gM,_M,vM,bM,xM]),pW=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of DM(TM(e))){if(!i&&fW.has(a)){let e=CM(o);e.length>0&&e[0]&&(i=e[0])}let e=dW.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof $||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
211
- `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function mW(e){return(t,n)=>{let r=n.history.begin(),i=n.navigation.begin(r.sessionState),a=[];try{e(t,{...n,sessionState:r.sessionState,journal:r,navigating:i.sessionState})}catch(e){a.push(e)}i.commit();try{r.commit()}catch(e){a.push(e)}if(a.length===1)throw a[0];if(a.length>1)throw Error(a.map(e=>String(e.message??e)).join(`; `))}}const hW=new Map([...dW,[Xj,pW]].map(([e,t])=>[e,mW(t)]));Object.freeze([...hW.keys()]);const gW=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),_W=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]],vW=[[`workspace.added_dirs`,`string-list`]];function yW(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of _W){let i=SW(n,e);if(i==null)t.missingRequired.push(e);else{let n=bW(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of vW){let i=SW(n,e),a=i===void 0?r:xW(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))gW.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function bW(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function xW(e){return Array.isArray(e)&&e.every(e=>bW(e)===`string`)?`string-list`:bW(e)}function SW(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function CW(e,t){switch(e){case`vars`:return{what:e,vars:wW(t)};case`segments`:return{what:e,segments:kW(t)};case`config`:return{what:e,config:NW(t)}}}function wW(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=DW(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=TW(r),s=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...a,lastError:s===void 0?null:{timestampMs:s.timestamp,message:s.message},ageMs:EW(r.lastUpdatedMs())})}return o}function TW(e){if(e.kind!==`document`)try{return{type:e.type,value:e.read()}}catch(t){return{type:e.type,value:t instanceof Error?t.message:String(t)}}let t=e.read();switch(t.kind){case`ok`:return{type:`document`,value:JSON.stringify(t.value)};case`absent`:return{type:`document`,value:`(not yet scanned)`};case`failed`:return{type:`document`,value:t.reason}}}function EW(e){return e===null?null:Math.max(0,Date.now()-e)}function DW(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,OW(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,OW(i));return t}function OW(e){return e.kind}function kW(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=jW(n),o=AW(n),s=[];for(let e of a){let t=n.segments[e];t&&s.push({name:e,description:t.description??null,template:t.template,referencedVars:MW(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function AW(e){let t=new Map;for(let n of Pb(e.presets))for(let r of Eu(Lb(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=Su(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function jW(e){let t=[],n=new Set;for(let r of Eu(Nd(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function MW(e,t,n){let r=new Set;for(let i of wx(e,t).keys()){if(n.has(i)){r.add(i);continue}let e=i.split(`.`);for(;e.length>1;){e.pop();let t=e.join(`.`);if(n.has(t)){r.add(t);break}}}return Array.from(r).sort()}function NW(e){return e===null?null:e.config}const PW=[`vars`,`segments`,`config`];function FW(e){return typeof e==`string`&&PW.includes(e)}function IW(e){return Math.max(1,e-2)}var LW=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return l.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const RW=new KB,zW=new qH;ke(RW.launchStats);const BW=new gC({counters:RW,logger:Z}),VW=SR({watchers:BW,logger:Z}),{gitProvider:HW,usageStore:UW,mementoProvider:WW}=VW,GW=new YB,KW=new aH(GW,Z),qW=new OH,JW=new nP,YW=new LW(Ze()),XW=new WB({gitService:HW,sessionState:GW,watchers:BW},{observers:{onReload:e=>Z(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} files=${e.configLayers.join(` < `)||`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),ZW=60*1e3;function QW(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(E(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){Z(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),mG(0);return}}catch(e){Z(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,ZW),a.unref())},checkNow:o}}const $W=QW(),eG=xL({entryUrl:import.meta.url,intervalMs:ZW,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>$W.checkNow(),log:Z});let tG=null,nG=null,rG=0;function iG(){t.on(`uncaughtException`,e=>{Z(`error`,`uncaughtException: ${e.stack||e.message}`),mG(1)}),t.on(`unhandledRejection`,e=>{Z(`error`,`unhandledRejection: ${String(e)}`),mG(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{Z(`info`,`received ${e}, shutting down`),mG(0)});try{rG=Sj(t.env)}catch(e){Z(`error`,`refusing to boot: ${e.message}`),mG(1);return}tG=CN(t.pid);let e=NN(FN(tG));if(!e.decision.allow){Z(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),mG(1);return}nG=e.registryPath,r.mkdirSync(Re(),{recursive:!0}),He(ze()),GW.useStorage(new ZB(Ge(),500,Z)),KW.useStorage(EH(Ke(),Z)),EN({anchor:TN(t.env),isAlive:DN,onOrphaned:e=>{Z(`info`,`parent watchdog: ${e}; shutting down`),mG(0)}}),aG(x.createServer({allowHalfOpen:!1},e=>{hG(e)}),ze(),!1)}function aG(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){Z(`error`,`server error: ${i.message}`),mG(1);return}if(r){Z(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}oG(e,n)}),e.listen(n,()=>sG(n))}function oG(e,n){let i=pN(mN(Ue(n)),(e,t)=>SN(e,t,{readStartTime:xN,pidAlive:DN}));if(i.kind===`attach-and-exit`){Z(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}Z(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){Z(`error`,`cannot unlink stale socket ${n}: ${e.message}`),mG(1);return}}aG(e,n,!0)}function sG(e){let n=_N(e);if(n.kind!==`present`){Z(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),mG(0);return}dG(e);try{r.chmodSync(e,384)}catch(e){Z(`warn`,`chmod socket failed: ${e.message}`)}Z(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(re.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(rG/1048576)}MB`),zj();let i=YW.reset();i!==null&&Z(`warn`,`diagnostic dump wipe failed: ${i}`),$W.arm(),eG.arm(),uG(),cG(e,n.identity)}function cG(e,n){bN({bound:n,myPid:t.pid,readIdentity:()=>_N(e),readLease:()=>mN(Ue(e)),shutdown:e=>mG(e),log:Z}).arm()}let lG=null;function uG(){lG=Ej(Aj(RW.startedAt.getTime(),e=>mG(e),{rssLimitBytes:rG})),lG.arm()}function dG(e){let n=hN(Ue(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:tG});n!==null&&Z(`warn`,`lease write failed: ${n}`)}let fG=0,pG=!1;function mG(e){if(!pG){pG=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{HW.close()}catch(e){Z(`warn`,`gitService close failed: ${e.message}`)}try{UW.close()}catch(e){Z(`warn`,`usageStore close failed: ${e.message}`)}try{BW.closeAll()}catch(e){Z(`warn`,`watcherRegistry close failed: ${e.message}`)}try{GW.flush()}catch(e){Z(`warn`,`sessionState flush failed: ${e.message}`)}gN(We(),t.pid),nG!==null&&PN(nG,t.pid,jN,e=>r.unlinkSync(e)),t.exit(e)}}function hG(e){fG++,RW.inFlight=fG;let t=!1,n=(n,r)=>{if(t){r!==null&&Z(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>mG(r);try{e.end(ZA(n),i)}catch(e){Z(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{RW.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=QA(e=>{_G(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{Z(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{Z(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{Z(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),fG=Math.max(0,fG-1),RW.inFlight=fG})}const gG=e=>({resp:e,exitAfterFlush:null});async function _G(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return gG({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?Z(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):Z(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return gG({ok:!0,stats:RW.snapshot({gitCache:HW.getStats(),usageCache:UW.getStats(),renderCacheSize:XW.size,effectCache:JW.getStats(),watchersActive:BW.size(),nextRestartReason:lG?.describeNextRestart()??null,handlerProbes:zW.list()})});if(e.kind===`render`){RW.requestsTotal++;let t=new Date,n=OC(t),r=t.getTime();try{let{report:t}=yW(e.hookData);for(let e of t.unknownTopLevelFields)Z(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let i=[];for(let e of t.missingRequired)i.push(`missing required field '${e}'`);for(let{path:e,expected:n,got:r}of t.typeMismatches)i.push(`field '${e}' expected ${n}, got ${r}`);if(e.cwd===``&&i.push(`request 'cwd' is empty`),i.length>0)return RW.requestsErrored++,Z(`warn`,`BAD_REQUEST: ${i.join(`; `)}`),gG({ok:!1,error:`malformed hookData: ${i.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let a=e.hookData.workspace.project_dir,{configFile:o,unknownFlagsError:s}=vG(e.args),c=e.hookData.session_id,l=VA(e),u=JSON.stringify(l);GW.get(c,`client-hints`)!==u&&GW.set(c,tW,u);let d=GW.get(c,`config-override`)??o??l.configEnv,f=XW.getOrCreate(a,e.cwd,d),p=jU({projectDir:a,cwd:e.cwd,configFile:d??null});GW.get(c,`render-origin`)!==p&&GW.set(c,AU,p);let m=l.termCols,h=IW(m??120),g=mP(l.termRows),{authoredRoots:_}=f.state,v=t=>GW.get(e.hookData.session_id,t),y=KF(f.state.config,v,e=>_.has(e)),b=await lI(e.hookData,n,{...CG,navigation:e=>qW.depth(e,GW,$I(f.state.config))},e.cwd,f.state.neededInputPaths(y.preset),y,l,{...BI(f.state.config,f.state.fileHeldSettings,v),configPath:f.configLayers.includes(f.configHome)?f.configHome:null}),x=[],S=qF(y,h),C=JW.of(c),ee=CB(f.state.config,f.state.compiled,f.state.store,f.state.registry,b,n,S,{perSegmentSink:f.state.lastRenderCellsBySegment,onRenderWarning:e=>x.push(e)},{...JF(y),effects:C}),w=GW.get(e.hookData.session_id,`click.error`);w&&GW.clear(e.hookData.session_id,`click.error`);let te=[s,f.lastError,w].filter(Boolean).join(`
212
- `),ne=eG.notice({sessionId:c,dismissed:GW.get(c,aL),enabled:y.updateNotice}),re=f.lastError===null?null:f.failedFile,ie=[...f.lastWarning===null?[]:[{kind:`load`,message:f.lastWarning}],...x],T=yP(te,ne,ie.map(e=>e.message).join(`
213
- `)),E=YW.sync(c,T===null?null:xP(T));E!==null&&Z(`warn`,`diagnostic dump failed: ${E}`);let ae=SP(ee,T,{fullText:E===null?{kind:`file`,path:YW.pathFor(c)}:{kind:`unavailable`,reason:E},failedConfigFile:re},{width:h,rowCap:g,colorCompatibility:y.colorCompatibility}),oe=Date.now()-r,se=HW.getStats(),ce=UW.getStats(),le=C.lastFrame(),ue=le.own.map(e=>`${e.placement}:${e.effect}@${e.t.toFixed(3)}`).join(`,`)||`-`,de=e=>e.map(e=>`${e.placement}@${e.t.toFixed(3)}`).join(`,`)||`-`,fe=ie.map(e=>e.kind).join(`,`)||`-`;return Z(`info`,`render sid=${e.hookData.session_id??`?`} at=${n.toFixed(3)} took=${oe}ms termCols=${m??`?`} termRows=${l.termRows??`?`} width=${h} git=${se.size}/${se.hits}h/${se.misses}m usage=${ce.size}/${ce.hits}h/${ce.misses}m effect=${le.effect} effectT=${le.t.toFixed(3)} effectRows=${le.made}made/${le.reused}reused effectOwn=${ue} fadeBasis=${le.basis} stateRev=${le.revision} fades=${de(le.fades)} leaves=${de(le.leaves)} prompts=${b.metrics?.messageCount??`-`} nonPrompts=${b.metrics?.nonPrompts??`-`} err=${te?`Y`:`N`} upd=${ne.length} warn=${fe}`),gG({ok:!0,output:ae+`
214
- `})}catch(e){throw RW.requestsErrored++,e}}if(e.kind===`click`)return gG(wG(e.verb,e.value,YA(e.clientVersion)));if(e.kind===`debug`){if(!FW(e.what))return gG({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${PW.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=XW.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?SG(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):xG};return gG({ok:!0,debug:CW(e.what,n)})}return gG({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function vG(e){let{values:t,tokens:n}=y({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),r=[...new Set((n??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:WA(t.config),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const yG={sessionState:GW,dlog:Z,applyUpdate:()=>eG.act(),doctor:AH(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];XW.reload(...t);let n=XW.getOrCreate(...t);return{layers:n.configLayers,error:n.lastError,warning:n.lastWarning,unused:n.state.unused,config:n.state.config}}),probes:zW,memento:WW,claudeInput:pU(),history:KW,navigation:qW,configFor:e=>XW.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>XW.reload(e.projectDir,e.cwd,e.configFile??void 0)};yG.reloadConfig;const bG={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:al,width:1/0},xG=new Map;function SG(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,pP(a,{...bG,charset:t,colorCompatibility:n}));return r}const CG={...VW,history:e=>KW.depth(e)};function wG(e,t,n){let r=hW.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...yG,clientVersion:n}),{ok:!0,output:``}}catch(e){let t=e instanceof $?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const TG={connectMs:200,budgetMs:500};async function EG(e,n){let r=n.includes(`--json`),i=await DG(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${oj(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
215
- `);return}t.stdout.write(OG(i.value))}function DG(e){return ej({kind:`debug`,what:e},TG,e=>`debug`in e?e.debug:void 0)}function OG(e){switch(e.what){case`vars`:return kG(e.vars);case`segments`:return AG(e.segments);case`config`:return jG(e.config);default:return e}}function kG(e){if(e.length===0)return`no variables (DSL not active)
216
- `;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6),i=e.reduce((e,t)=>Math.max(e,t.type.length),4);for(let a of e){let e=a.ageMs===null?``:` ${NG(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${MG(a.value)}${e}${o}`)}return t.join(`
208
+ `}const YH=e=>({kind:`ok`,value:e}),XH=e=>({kind:`failed`,reason:e});var ZH=class{arrivals=[];arrive(e){this.arrivals=[...this.arrivals,e].slice(-16)}list(){return this.arrivals}};const QH=/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/;function $H(e){return QH.test(e)?e:null}function eU(e){let t=e.opener();if(t.kind===`failed`)return t;if(t.value===null)return YH(null);let n=t.value,r=e.script(n);if(r.kind===`failed`)return YH({app:n,missing:XH(`its script could not be read (${r.reason})`)});let i=Di(r.value);return YH({app:n,missing:i===null?XH("its script is not one `cc-candybar install` wrote"):YH([i.node,i.script].filter(t=>!e.exists(t)))})}async function tU(e,t){let n=e.now()+5e3;for(;e.now()<n;){await e.pause();let n=await e.daemon(),r=n.kind===`ok`?n.value.arrivals.find(e=>e.nonce===t):void 0;if(n.kind===`ok`&&r!==void 0)return{kind:`arrived`,handler:r.handler,bar:n.value.version}}return null}async function nU(e){if(e.platform!==`darwin`)return{kind:`unsupported`};if(e.sockets.own!==e.sockets.handler)return{kind:`unprobed`,reason:`this shell's daemon is at ${e.sockets.own} (CC_CANDYBAR_SOCKET); the URL handler delivers links to ${e.sockets.handler}`};let t=await e.daemon();if(t.kind===`failed`)return{kind:`unprobed`,reason:`the daemon could not be asked whether a link arrives: ${t.reason}`};let n=e.nonce(),r=e.open(`${fn}://${Pn}/${n}`);return(r===null?await tU(e,n):null)??{kind:`lost`,unopened:r,opener:eU(e)}}function rU(e,t,n){let r=A({bin:t,args:[...n],category:e,timeoutMs:5e3});return r.ok?YH(r.stdout):XH(r.stderr.trim()||r.error||r.reason)}const iU=`ObjC.import("AppKit");var u = $.NSWorkspace.sharedWorkspace.URLForApplicationToOpenURL($.NSURL.URLWithString("${fn}://probe"));u.isNil() ? "" : u.path.js`;async function aU(){let e=await WH();if(e.kind!==`ok`)return XH(bt(e).split(`
209
+ `).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?YH({version:t,arrivals:n}):XH(`the running daemon (${t}) predates this check`)}function oU(){return{platform:process.platform,sockets:{own:Le(),handler:Re()},now:Date.now,nonce:ie,daemon:aU,open:e=>{let t=rU(`doctor.open`,`/usr/bin/open`,[`-g`,e]);return t.kind===`ok`?null:t.reason},pause:()=>new Promise(e=>setTimeout(e,100)),opener:()=>{let e=rU(`doctor.launch-services`,`/usr/bin/osascript`,[`-l`,`JavaScript`,`-e`,iU]);if(e.kind===`failed`)return e;let t=e.value.trim();return YH(t===``?null:t)},script:e=>rU(`doctor.osadecompile`,`/usr/bin/osadecompile`,[Oi(e)]),exists:r.existsSync}}const sU=/^─{20,}/,cU=/^❯(\s|$)/,lU=/›\s*stashed$/;function uU(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>sU.test(e)?[t]:[]).at(-2);return n===void 0||!cU.test(t[n+1]??``)?{kind:`no-prompt`}:lU.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const dU={"in-mode":`the Claude Code pane is in tmux copy mode — leave it (q) and click again`,stashed:`Claude Code is holding a stashed prompt (ctrl+s) — restore or send it, then click again`,"no-prompt":`Claude Code is not at its prompt (a dialog or picker is open) — close it and click again`};function fU(e,t,n){if(t===void 0)return{kind:`refused`,reason:`this session's statusline client reports no tmux facts (it predates this daemon) — rebuild or reinstall cc-candybar`};if(t===null)return{kind:`refused`,reason:`this Claude Code is not running inside tmux — the bar can only type into a tmux pane`};let r=uU(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:dU[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const pU=`cc-candybar-slash`;function mU(e,t,n,r){let i=bR(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function hU(e){let t=mU(e,`claude-input.read`,[`display`,`-p`,`-t`,e.pane,`#{pane_in_mode}`,`;`,`capture-pane`,`-p`,`-t`,e.pane]);if(t.kind===`rate-limited`)throw Error(t.reason);let[n=``,...r]=t.stdout.split(`
210
+ `);return{inMode:n!==`0`,screen:r}}function gU(e,t){let n=mU(e,`claude-input.type`,[`load-buffer`,`-b`,pU,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,pU,`-t`,e.pane,`;`,`send-keys`,`-t`,e.pane,`Enter`],t);return n.kind===`ok`?{kind:`typed`}:{kind:`refused`,reason:`cc-candybar typed a command moments ago — click again in a second (${n.reason})`}}function _U(){return{read:hU,type:gU}}function vU(e){if(!e)throw new J(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new J(`invalid session id "${e}"`);return e}function yU(e){return bU(()=>decodeURIComponent(e))}function bU(e){try{return e()}catch(e){throw e instanceof URIError?new J(`malformed wire encoding: ${e.message}`):e}}function xU(e,t){let n=A({bin:`/usr/bin/pbcopy`,stdinInput:e,category:`click.pbcopy`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.pbcopy rate-limited: ${n.error??``}`);return}throw Error(`pbcopy failed (${n.reason}, exit ${n.exitCode??`null`})`)}}const SU=(e,t)=>xU(yU(e),t),CU=(e,t)=>{let n=A({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,yU(e)],category:`click.open`});if(!n.ok){if(n.reason===`rate-limited`){t.dlog(`warn`,`click.open rate-limited: ${n.error??``}`);return}throw Error(`open -a "Visual Studio Code" failed (${n.reason}, exit ${n.exitCode??`null`})`)}},wU=(e,t)=>xU(yU(e),t),TU=(e,t)=>xU(yU(e),t),EU=(e,t)=>{let n=vU(yU(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},DU=(e,t)=>{let[n=``,...r]=bU(()=>I(e)),i=vU(n),a=rL(zU(t,i));if(r.length===0)throw new J(`set-state: <key>/<value> is required (have keys: ${a.listKeys().join(`, `)})`);if(r.length%2!=0)throw new J(`set-state: expected even-count <key>/<value> pairs, got ${r.length} segment(s) after session id (have keys: ${a.listKeys().join(`, `)})`);let o=[];for(let e=0;e<r.length;e+=2){let t=r[e],n=r[e+1];if(!t)throw new J(`set-state: empty key at pair ${e/2+1} (expected <sessionId>/<key>/<value>[/<key>/<value>...] segments)`);let i=a.validate(t,n);if(!i.ok)throw new J(`set-state: pair ${e/2+1}: ${i.reason}`);o.push({key:t,value:i.value})}jU(t,i,`set-state`,o),t.navigating.setBatch(i,o);let s=o.map(e=>`${e.key}=${e.value}`).join(` `);t.dlog(`info`,`set-state: ${s} (session=${i})`)},OU=/^-?\d+$/;function kU(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const AU=(e,t)=>{let[n=``,r=``,i=``]=bU(()=>I(e)),a=vU(n);if(!r)throw new J(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!OU.test(i))throw new J(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=zU(t,a),c=rL(s),l=c.rangeParamsFor(r);if(!l)throw new J(`step-state: key "${r}" is not a bounded (range) state key (have keys: ${c.listKeys().join(`, `)})`);let u=t.sessionState.get(a,r),d=u&&OU.test(u)?MU(l,parseInt(u,10)):NU(`step-state`,r,l,oL(s,e=>t.sessionState.get(a,e),r)),f=kU(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new J(`step-state: ${p.reason}`);jU(t,a,`step-state`,[{key:r,value:p.value}]),t.navigating.set(a,r,p.value),t.dlog(`info`,`step-state: ${r} ${d}→${p.value} (by ${o}, session=${a})`)};function jU(e,t,n,r){let i=r.filter(e=>e.key.startsWith(qE));if(i.length===0)return;let a=II(zU(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new J(`${n}: refused — ${a.join(`; `)}`)}function MU(e,t){return Math.max(e.min,Math.min(e.max,t))}function NU(e,t,n,r){if(r===null)return n.min;if(!OU.test(r))throw new J(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return MU(n,parseInt(r,10))}const PU=`render-origin`;function FU(e){return JSON.stringify(e)}function IU(e){let t;try{t=JSON.parse(e)}catch{throw new J(`render origin is not JSON: ${e}`)}if(typeof t!=`object`||!t)throw new J(`render origin is not an object: ${e}`);let{projectDir:n,cwd:r,configFile:i}=t;if(typeof n!=`string`||typeof r!=`string`||i!==null&&typeof i!=`string`)throw new J(`render origin has the wrong shape: ${e}`);return{projectDir:n,cwd:r,configFile:i}}function LU(e,t){let n=e.sessionState.get(t,PU);if(n===null)throw new J(`session ${t} has not rendered yet — no config to act on`);return IU(n)}function RU(e,t,n){let r=e.sessionState.get(t,PU);if(r===null)return;let i=IU(r),{path:a}=BU(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function zU(e,t){return e.configFor(LU(e,t))}function BU(e){return RP(e.projectDir,e.cwd,e.configFile??void 0)}function VU(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const HU=(e,t)=>{let[n=``,r=``,i=``]=bU(()=>I(e)),a=vU(n),o=LU(t,a),s=t.configFor(o),c=TA(s);if(!r)throw new J(`set-config: <key>/<value> is required (have keys: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new J(`set-config: ${l.reason}`);let u=BU(o),d=PI(s,e=>t.sessionState.get(a,e),r);WV(VU(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u.path} (session=${a})`)},UU=(e,t)=>{let[n=``,r=``,i=``]=bU(()=>I(e)),a=vU(n);if(!r)throw new J(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!OU.test(i))throw new J(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=LU(t,a),c=t.configFor(s),l=TA(c),u=l.rangeParamsFor(r);if(!u)throw new J(`step-config: key "${r}" is not a bounded (range) config key (have keys: ${l.listKeys().join(`, `)})`);let d=BU(s),f=PI(c,e=>t.sessionState.get(a,e),r),p=UV(d.path,f.key),m=typeof p==`number`?MU(u,p):NU(`step-config`,r,u,DA(f.globals,r)),h=kU(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new J(`step-config: ${g.reason}`);WV(VU(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d.path} (session=${a})`)},WU=(e,t)=>{let[n=``]=bU(()=>I(e)),r=vU(n),i=LU(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=MI(a,o),c=FI(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=rL(a),u=s.map(e=>{let t=l.validate(e.sessionKey,e.value);if(!t.ok)throw new J(`save: ${t.reason}`);return[e.target,t.value]});KU(`save`,l,c);let d=BU(i);GV(VU(t,r),d,u,c),t.reloadConfig(i);for(let e of[...s.map(e=>e.sessionKey),...c.map(e=>e.key)])t.sessionState.clear(r,e);t.dlog(`info`,`save: ${[...u.map(([e,t])=>`${e}=${t}`),...c.map(GU)].join(` `)} → ${d.path} (session=${r})`)},GU=e=>`${e.preset}/${e.id}.settings.${e.setting}=${Th(e.value)}`;function KU(e,t,n){for(let r of n){let n=t.validate(r.key,Th(r.value));if(!n.ok)throw new J(`${e}: ${n.reason}`)}}const qU=(e,t)=>{let[n=``]=bU(()=>I(e)),r=vU(n),i=LU(t,r),a=t.configFor(i),o=zI(a,e=>t.sessionState.get(r,e)),s=rL(a),c=o.picks.map(e=>{let t=s.validate(e.sessionKey,e.value);if(!t.ok)throw new J(`save-preset: ${t.reason}`);return[e.configKey,t.value]});KU(`save-preset`,s,o.placements);let l=BU(i),u=QV(VU(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...pa.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,fa.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(GU)].join(` `)} → ${l.path} (session=${r})`)},JU=(e,t)=>{let[n=``]=bU(()=>I(e)),r=vU(n),i=LU(t,r),a=VI(t.configFor(i),e=>t.sessionState.get(r,e));if(a.kind===`rule`)throw new J(`save-theme-default: the theme is chosen by a rule (globals.palette), so there is no name to save as a theme's default — pick one in the menu first`);let o=BU(i);$V(VU(t,r),o,a.theme,a.look),t.reloadConfig(i);let s=new Set(MI(t.configFor(i),e=>t.sessionState.get(r,e)).map(e=>e.sessionKey)),c=ph.map(e=>fa[e].sessionKey).filter(e=>!s.has(e));for(let e of c)t.sessionState.clear(r,e);t.dlog(`info`,`save-theme-default: ${a.theme} ${ph.map(e=>`${e}=${a.look[e]}`).join(` `)} → ${o.path} (session=${r})`)},YU=(e,t)=>{let[n=``,r=``]=bU(()=>I(e)),i=vU(n);if(!r)throw new J(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=LU(t,i),o=BU(a);eH(VU(t,i),o,r),t.reloadConfig(a);let s=fa.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o.path} (session=${i})`)},XU=(e,t)=>{let[n=``,...r]=bU(()=>I(e)),i=vU(n),a=LU(t,i),o=TA(t.configFor(a)).listKeys(),s=r.length===0?[``]:r.filter(e=>!o.includes(e));if(s.length>0)throw new J(`reset-config: unknown config key "${s.join(`", "`)}" (have: ${o.join(`, `)})`);let c=BU(a),l=r.map(HI),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);YV(VU(t,i),c,u),t.reloadConfig(a);for(let e of d)t.sessionState.clear(i,e);t.dlog(`info`,`reset-config: ${[...u,...d.map(e=>`session:${e}`)].join(` `)} ← ${c.path} (session=${i})`)};function ZU(e,t){let n=(e,t)=>[...ch(qh(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(Wh(t.presets).flatMap(e=>n(t,e).map(t=>JE(zw(e),ih(t)))));return Wh(e.presets).flatMap(t=>n(e,t).map(e=>({member:JE(zw(t),ih(e)),node:e})).filter(({member:e})=>!r.has(e)))}function QU(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[HE]:[]])}const $U=(e,t)=>{let[n=``,r=``,i=``]=bU(()=>I(e)),a=vU(n),o=LU(t,a),s=t.configFor(o),c=TA(s);if(!r)throw new J(`apply-layout-op: <key>/<op> is required (have: ${c.listKeys().join(`, `)})`);let l=c.validate(r,i);if(!l.ok)throw new J(`apply-layout-op: ${l.reason}`);let u=dA(l.value);if(u===null)throw new J(`apply-layout-op: "${l.value}" is not a layout op token`);let d=BU(o),f=tH(VU(t,a),d,r,u);t.reloadConfig(o);let p=QU(ZU(s,t.configFor(o)),t.sessionState.get(a,HE)).filter(e=>t.sessionState.get(a,e)!==null);for(let e of p)t.sessionState.clear(a,e);t.dlog(`info`,`apply-layout-op: ${r} ${l.value} → ${d.path} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},eW=(e,t)=>{let[n=``]=bU(()=>I(e)),r=vU(n);t.journal.commit();let i=t.history.undo(r);RU(t,r,i),t.dlog(`info`,`undo: restored ${CH(i)} (session=${r})`)},tW=(e,t)=>{let n=vU(yU(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,rL(zU(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},nW=(e,t)=>{let n=vU(yU(e));t.journal.commit();let r=t.history.rewind(n);RU(t,n,r),t.dlog(`info`,`rewind: put back ${CH(r)||`nothing`} as edit mode found it (session=${n})`)},rW=(e,t)=>{let[n=``]=bU(()=>I(e)),r=vU(n);t.journal.commit();let i=t.history.redo(r);RU(t,r,i),t.dlog(`info`,`redo: re-applied ${CH(i)} (session=${r})`)},iW=(e,t)=>{vU(yU(e)),t.applyUpdate()},aW=`client-hints`;function oW(e,t){let n=e.sessionState.get(t,aW);if(n===null)throw new J(`session ${t} has not rendered yet — no client facts are recorded for it`);let r;try{r=JSON.parse(n)}catch{throw new J(`client hints record is not JSON: ${n}`)}if(typeof r!=`object`||!r)throw new J(`client hints record is not an object: ${n}`);return et(r)}function sW(e,t,n){let r=TD(n);e.sessionState.setBatch(t,AD(r)),e.dlog(`info`,`doctor: ${r.map(e=>`${e.check.name}=${e.verdict.ok?`ok`:`failed(${1+(e.verdict.more?.length??0)})`}`).join(` `)} (session=${t})`)}function cW(e,t){return{...BH(e.doctor,oW(e,t),LU(e,t),n=>e.sessionState.get(t,n)),urlHandler:RH(e.clientVersion)}}const lW=(e,t)=>{let n=vU(yU(e));sW(t,n,cW(t,n))},uW=(e,t)=>{let n=$H(yU(e));if(n===null)throw new J(`doctor-probe: the value is not a probe nonce`);t.probes.arrive({nonce:n,handler:t.clientVersion}),t.dlog(`info`,`doctor-probe: arrived nonce=${n} handler=${t.clientVersion??`unreported`}`)},dW=(e,t)=>{let[n=``,r=``]=bU(()=>I(e)),i=vU(n),a=ED(r);if(a===void 0)throw new J(`doctor-fix: unknown check "${r}"`);let o=cW(t,i),s=a.probe(o);if(s.ok||s.fix===void 0)throw new J(`doctor-fix: ${a.label} — ${s.ok?`nothing to fix`:s.reason}`);let c=VH(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.path.join(`.`)}=${JSON.stringify(s.fix.value)} (session=${i})`),sW(t,i,c)},fW=(e,t)=>{let[n=``,...r]=bU(()=>I(e)),i=vU(n),a=LU(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=DM(e);return t.length===r.length&&t.every((e,t)=>e===r[t])});if(o===void 0)throw new J(`ceiling: "${r.join(` `)}" is not a move this config declares`);let s=o.ceiling===`set`?{kind:`set`,to:o.to}:{kind:`clear`},c=LF({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},oW(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},pW=(e,t)=>{let[n=``,r=``]=bU(()=>I(e)),i=vU(n),a=Object.values(t.configFor(LU(t,i)).actions).filter(e=>`slash`in e),o=a.find(e=>e.slash===r);if(o===void 0)throw new J(`${JSON.stringify(r)} is not a command this config declares (it declares: ${[...new Set(a.map(e=>e.slash))].join(`, `)||`none`})`);let s=fU(t.claudeInput,oW(t,i).tmux,o.slash);if(s.kind===`refused`)throw t.dlog(`warn`,`slash: ${r} refused — ${s.reason} (session=${i})`),new J(`${r} was not typed: ${s.reason}`);t.dlog(`info`,`slash: typed ${r} into ${s.pane} (session=${i})`)},mW=`config-override`,hW=new Map([[P,SU],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new J(`load-config: expected <sessionId>/<path> (missing separator)`);let r=vU(bU(()=>decodeURIComponent(e.slice(0,n)))),i=bU(()=>decodeURIComponent(e.slice(n+1))).trim();if(i!==``){if(!i.startsWith(`/`))throw new J(`load-config: path must be absolute, got "${i}"`);if(!/\.(json5?|json)$/.test(i))throw new J(`load-config: path must end with .json5 or .json, got "${i}"`)}i===``?(t.sessionState.clear(r,mW),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,mW,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[gn,CU],[mn,DU],[hn,AU],[bn,HU],[xn,UU],[Tn,XU],[Sn,WU],[Cn,qU],[F,JU],[wn,YU],[En,$U],[Dn,eW],[On,rW],[kn,tW],[An,nW],[vn,wU],[yn,TU],[_n,EU],[jn,iW],[Mn,lW],[Nn,dW],[Pn,uW],[Fn,fW],[In,pW]]),gW=new Set([mn,hn,bn,xn,Tn,Sn,Cn,F,wn,En,Dn,On,kn,An,_n,jn,Mn,Nn,Fn,In]),_W=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of Vn(zn(e))){if(!i&&gW.has(a)){let e=I(o);e.length>0&&e[0]&&(i=e[0])}let e=hW.get(a);if(!e){n.push(`unknown effect verb "${a}"`);continue}try{e(o,t)}catch(e){e instanceof J||(r=!0),n.push(`${a}: ${e instanceof Error?e.message:String(e)}`)}}if(n.length>0){i&&t.sessionState.set(i,`click.error`,n.join(`
211
+ `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new J(e)}};function vW(e){return(t,n)=>{let r=n.history.begin(),i=n.navigation.begin(r.sessionState),a=[];try{e(t,{...n,sessionState:r.sessionState,journal:r,navigating:i.sessionState})}catch(e){a.push(e)}i.commit();try{r.commit()}catch(e){a.push(e)}if(a.length===1)throw a[0];if(a.length>1)throw Error(a.map(e=>String(e.message??e)).join(`; `))}}const yW=new Map([...hW,[pn,_W]].map(([e,t])=>[e,vW(t)]));Object.freeze([...yW.keys()]);const bW=new Set([`hook_event_name`,`session_id`,`session_name`,`transcript_path`,`cwd`,`model`,`workspace`,`version`,`output_style`,`cost`,`context_window`,`exceeds_200k_tokens`,`effort`,`thinking`,`rate_limits`,`vim`,`agent`,`worktree`]),xW=[[`session_id`,`string`],[`transcript_path`,`string`],[`cwd`,`string`],[`model`,`object`],[`model.id`,`string`],[`model.display_name`,`string`],[`workspace`,`object`],[`workspace.current_dir`,`string`],[`workspace.project_dir`,`string`]],SW=[[`workspace.added_dirs`,`string-list`]];function CW(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of xW){let i=EW(n,e);if(i==null)t.missingRequired.push(e);else{let n=wW(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of SW){let i=EW(n,e),a=i===void 0?r:TW(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))bW.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function wW(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function TW(e){return Array.isArray(e)&&e.every(e=>wW(e)===`string`)?`string-list`:wW(e)}function EW(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n||Array.isArray(n))return;n=n[e]}return n}function DW(e,t){switch(e){case`vars`:return{what:e,vars:OW(t)};case`segments`:return{what:e,segments:NW(t)};case`config`:return{what:e,config:LW(t)}}}function OW(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=jW(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=kW(r),s=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...a,lastError:s===void 0?null:{timestampMs:s.timestamp,message:s.message},ageMs:AW(r.lastUpdatedMs())})}return o}function kW(e){if(e.kind!==`document`)try{return{type:e.type,value:e.read()}}catch(t){return{type:e.type,value:t instanceof Error?t.message:String(t)}}let t=e.read();switch(t.kind){case`ok`:return{type:`document`,value:JSON.stringify(t.value)};case`absent`:return{type:`document`,value:`(not yet scanned)`};case`failed`:return{type:`document`,value:t.reason}}}function AW(e){return e===null?null:Math.max(0,Date.now()-e)}function jW(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,MW(r));for(let[n,r]of Object.entries(e.segments))if(r.vars)for(let[e,i]of Object.entries(r.vars))t.set(`${n}.${e}`,MW(i));return t}function MW(e){return e.kind}function NW(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=FW(n),o=PW(n),s=[];for(let e of a){let t=n.segments[e];t&&s.push({name:e,description:t.description??null,template:t.template,referencedVars:IW(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function PW(e){let t=new Map;for(let n of Wh(e.presets))for(let r of ch(qh(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=ih(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function FW(e){let t=[],n=new Set;for(let r of ch(Lh(e.root)))r.kind===`segment`&&e.segments[r.name]&&!n.has(r.name)&&(t.push(r.name),n.add(r.name));for(let r of Object.keys(e.segments))n.has(r)||(t.push(r),n.add(r));return t}function IW(e,t,n){let r=new Set;for(let i of hg(e,t).keys()){if(n.has(i)){r.add(i);continue}let e=i.split(`.`);for(;e.length>1;){e.pop();let t=e.join(`.`);if(n.has(t)){r.add(t);break}}}return Array.from(r).sort()}function LW(e){return e===null?null:e.config}const RW=[`vars`,`segments`,`config`];function zW(e){return typeof e==`string`&&RW.includes(e)}function BW(e){return Math.max(1,e-2)}var VW=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return l.join(this.dir,`${encodeURIComponent(e)}.txt`)}sync(e,t){let n=this.pathFor(e);if(t===(this.written.get(e)??null))return null;try{return t===null?(r.rmSync(n,{force:!0}),this.written.delete(e)):(r.mkdirSync(this.dir,{recursive:!0,mode:448}),r.writeFileSync(n,t,{mode:384}),this.written.set(e,t)),null}catch(e){return`${n}: ${e.message}`}}reset(){this.written.clear();try{return r.rmSync(this.dir,{recursive:!0,force:!0}),null}catch(e){return`${this.dir}: ${e.message}`}}};const HW=new XB,UW=new ZH;De(HW.launchStats);const WW=new QC({counters:HW,logger:j}),GW=ER({watchers:WW,logger:j}),{gitProvider:KW,usageStore:qW,mementoProvider:JW}=GW,YW=new $B,XW=new lH(YW,j),ZW=new MH,QW=new pm,$W=new VW(Ye()),eG=new JB({gitService:KW,sessionState:YW,watchers:WW},{observers:{onReload:e=>j(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} files=${e.configLayers.join(` < `)||`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),tG=60*1e3;function nG(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(w(e)),t.argv[1]&&n.push(t.argv[1]);let i=new Map;for(let e of n)try{i.set(e,r.statSync(e).mtimeMs)}catch{}let a=null,o=()=>{for(let[e,t]of i)try{if(r.statSync(e).mtimeMs!==t){j(`info`,`binary mtime changed (${e}); shutting down`),a&&clearInterval(a),vG(0);return}}catch(e){j(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,tG),a.unref())},checkNow:o}}const rG=nG(),iG=TL({entryUrl:import.meta.url,intervalMs:tG,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>rG.checkNow(),log:j});let aG=null,oG=null,sG=0;function cG(){t.on(`uncaughtException`,e=>{j(`error`,`uncaughtException: ${e.stack||e.message}`),vG(1)}),t.on(`unhandledRejection`,e=>{j(`error`,`unhandledRejection: ${String(e)}`),vG(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{j(`info`,`received ${e}, shutting down`),vG(0)});try{sG=zt(t.env)}catch(e){j(`error`,`refusing to boot: ${e.message}`),vG(1);return}aG=$i(t.pid);let e=la(da(aG));if(!e.decision.allow){j(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),vG(1);return}oG=e.registryPath,r.mkdirSync(Ie(),{recursive:!0}),Be(Le()),YW.useStorage(new tV(Ue(),500,j)),XW.useStorage(AH(We(),j)),na({anchor:ta(t.env),isAlive:ra,onOrphaned:e=>{j(`info`,`parent watchdog: ${e}; shutting down`),vG(0)}}),lG(x.createServer({allowHalfOpen:!1},e=>{yG(e)}),Le(),!1)}function lG(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){j(`error`,`server error: ${i.message}`),vG(1);return}if(r){j(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}uG(e,n)}),e.listen(n,()=>dG(n))}function uG(e,n){let i=Ui(Wi(Ve(n)),(e,t)=>Qi(e,t,{readStartTime:Zi,pidAlive:ra}));if(i.kind===`attach-and-exit`){j(`info`,`EADDRINUSE: ${i.reason} — exiting`),t.exit(0);return}j(`warn`,`EADDRINUSE: ${i.reason} — unlinking stale socket and rebinding`);try{r.unlinkSync(n)}catch(e){if(e.code!==`ENOENT`){j(`error`,`cannot unlink stale socket ${n}: ${e.message}`),vG(1);return}}lG(e,n,!0)}function dG(e){let n=qi(e);if(n.kind!==`present`){j(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),vG(0);return}hG(e);try{r.chmodSync(e,384)}catch(e){j(`warn`,`chmod socket failed: ${e.message}`)}j(`info`,`daemon up: pid=${t.pid} v=3 sock=${e} heapCap=${Math.round(S.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(sG/1048576)}MB`),nn();let i=$W.reset();i!==null&&j(`warn`,`diagnostic dump wipe failed: ${i}`),rG.arm(),iG.arm(),mG(),fG(e,n.identity)}function fG(e,n){Xi({bound:n,myPid:t.pid,readIdentity:()=>qi(e),readLease:()=>Wi(Ve(e)),shutdown:e=>vG(e),log:j}).arm()}let pG=null;function mG(){pG=Ut(qt(HW.startedAt.getTime(),e=>vG(e),{rssLimitBytes:sG})),pG.arm()}function hG(e){let n=Gi(Ve(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:aG});n!==null&&j(`warn`,`lease write failed: ${n}`)}let gG=0,_G=!1;function vG(e){if(!_G){_G=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{KW.close()}catch(e){j(`warn`,`gitService close failed: ${e.message}`)}try{qW.close()}catch(e){j(`warn`,`usageStore close failed: ${e.message}`)}try{WW.closeAll()}catch(e){j(`warn`,`watcherRegistry close failed: ${e.message}`)}try{YW.flush()}catch(e){j(`warn`,`sessionState flush failed: ${e.message}`)}Ki(He(),t.pid),oG!==null&&ua(oG,t.pid,sa,e=>r.unlinkSync(e)),t.exit(e)}}function yG(e){gG++,HW.inFlight=gG;let t=!1,n=(n,r)=>{if(t){r!==null&&j(`warn`,`exit-after-flush dropped: an earlier responder settled this socket`);return}t=!0;let i=r===null?void 0:()=>vG(r);try{e.end(dt(n),i)}catch(e){j(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{HW.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=ft(e=>{xG(e).then(e=>n(e.resp,e.exitAfterFlush)).catch(e=>{j(`error`,`handler threw: ${e?.stack||e}`),n({ok:!1,error:String(e?.message||e),code:`RENDER_FAILED`,daemonV:3},null)})},e=>{j(`warn`,`frame parse failed: ${e.message}`),n({ok:!1,error:e.message,code:`BAD_REQUEST`,daemonV:3},null)});e.on(`data`,i),e.on(`error`,e=>{j(`warn`,`socket error: ${e.message}`)}),e.on(`close`,()=>{clearTimeout(r),gG=Math.max(0,gG-1),HW.inFlight=gG})}const bG=e=>({resp:e,exitAfterFlush:null});async function xG(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return bG({ok:!1,error:`malformed request`,code:`BAD_REQUEST`,daemonV:3});if(e.v!==3)return e.v>3?j(`info`,`version mismatch: client=${e.v} > daemon=3; binary likely upgraded — exiting after the response flushes`):j(`info`,`version mismatch: client=${e.v} < daemon=3; client is stale — staying up`),{resp:{ok:!1,error:`protocol v${e.v} not supported (daemon at v3)`,code:`VERSION_MISMATCH`,daemonV:3},exitAfterFlush:e.v>3?0:null};if(e.kind===`shutdown`)return{resp:{ok:!0,output:``},exitAfterFlush:0};if(e.kind===`stats`)return bG({ok:!0,stats:HW.snapshot({gitCache:KW.getStats(),usageCache:qW.getStats(),renderCacheSize:eG.size,effectCache:QW.getStats(),watchersActive:WW.size(),nextRestartReason:pG?.describeNextRestart()??null,handlerProbes:UW.list()})});if(e.kind===`render`){HW.requestsTotal++;let t=new Date,n=uw(t),r=t.getTime();try{let{report:t}=CW(e.hookData);for(let e of t.unknownTopLevelFields)j(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let i=[];for(let e of t.missingRequired)i.push(`missing required field '${e}'`);for(let{path:e,expected:n,got:r}of t.typeMismatches)i.push(`field '${e}' expected ${n}, got ${r}`);if(f(e.cwd)||i.push(`request 'cwd' is not an absolute path: "${e.cwd}"`),i.length>0)return HW.requestsErrored++,j(`warn`,`BAD_REQUEST: ${i.join(`; `)}`),bG({ok:!1,error:`malformed hookData: ${i.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let a=e.hookData.workspace.project_dir,{configFile:o,unknownFlagsError:s}=SG(e.args,e.cwd),c=e.hookData.session_id,l=et(e),u=tt(e,l),d=nt(u),p=JSON.stringify(l);YW.get(c,`client-hints`)!==p&&YW.set(c,aW,p);let m=YW.get(c,`config-override`)??o??l.configEnv,h=eG.getOrCreate(a,e.cwd,m),g=FU({projectDir:a,cwd:e.cwd,configFile:m??null});YW.get(c,`render-origin`)!==g&&YW.set(c,PU,g);let _=l.termCols,v=BW(_??120),y=Tm(l.termRows),{authoredRoots:b}=h.state,x=t=>YW.get(e.hookData.session_id,t),S=XF(h.state.config,x,e=>b.has(e)),C=await pI(e.hookData,n,{...DG,navigation:e=>ZW.depth(e,YW,rL(h.state.config))},e.cwd,h.state.neededInputPaths(S.preset),S,l,{...WI(h.state.config,h.state.fileHeldSettings,x),configPath:h.configLayers.includes(h.configHome)?h.configHome:null}),ee=[],w=ZF(S,v),te=QW.of(c),ne=DB(h.state.config,h.state.compiled,h.state.store,h.state.registry,C,n,w,{perSegmentSink:h.state.lastRenderCellsBySegment,onRenderWarning:e=>ee.push(e)},{...QF(S),effects:te}),re=YW.get(e.hookData.session_id,`click.error`);re&&YW.clear(e.hookData.session_id,`click.error`);let ie=[s,d,h.lastError,re].filter(Boolean).join(`
212
+ `),T=iG.notice({sessionId:c,dismissed:YW.get(c,lL),enabled:S.updateNotice}),E=h.lastError===null?null:h.failedFile,ae=[...h.lastWarning===null?[]:[{kind:`load`,message:h.lastWarning}],...ee],oe=Am(ie,T,ae.map(e=>e.message).join(`
213
+ `)),D=$W.sync(c,oe===null?null:Mm(oe));D!==null&&j(`warn`,`diagnostic dump failed: ${D}`);let se=Nm(ne,oe,{fullText:D===null?{kind:`file`,path:$W.pathFor(c)}:{kind:`unavailable`,reason:D},failedConfigFile:E},{width:v,rowCap:y,colorCompatibility:S.colorCompatibility}),ce=Date.now()-r,O=KW.getStats(),le=qW.getStats(),ue=te.lastFrame(),de=ue.own.map(e=>`${e.placement}:${e.effect}@${e.t.toFixed(3)}`).join(`,`)||`-`,fe=e=>e.map(e=>`${e.placement}@${e.t.toFixed(3)}`).join(`,`)||`-`,pe=ae.map(e=>e.kind).join(`,`)||`-`;return j(`info`,`render sid=${e.hookData.session_id??`?`} at=${n.toFixed(3)} took=${ce}ms termCols=${_??`?`} termRows=${l.termRows??`?`} width=${v} git=${O.size}/${O.hits}h/${O.misses}m usage=${le.size}/${le.hits}h/${le.misses}m effect=${ue.effect} effectT=${ue.t.toFixed(3)} effectRows=${ue.made}made/${ue.reused}reused effectOwn=${de} fadeBasis=${ue.basis} stateRev=${ue.revision} fades=${fe(ue.fades)} leaves=${fe(ue.leaves)} prompts=${C.metrics?.messageCount??`-`} nonPrompts=${C.metrics?.nonPrompts??`-`} err=${ie?`Y`:`N`} refused=${u.map(e=>e.hint).join(`,`)||`-`} upd=${T.length} warn=${pe}`),bG({ok:!0,output:se+`
214
+ `})}catch(e){throw HW.requestsErrored++,e}}if(e.kind===`click`)return bG(OG(e.verb,e.value,lt(e.clientVersion)));if(e.kind===`debug`){if(!zW(e.what))return bG({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${RW.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=eG.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?EG(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):TG};return bG({ok:!0,debug:DW(e.what,n)})}return bG({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function SG(e,t){let{values:n,tokens:r}=y({args:e.slice(1),options:{config:{type:`string`}},strict:!1,tokens:!0,allowPositionals:!0}),i=[...new Set((r??[]).filter(e=>e.kind===`option`&&e.name!==`config`).map(e=>`--${e.name}`))];return{configFile:rP(t,n.config),unknownFlagsError:i.length>0?`Unknown flags: ${i.join(`, `)}`:null}}const CG={sessionState:YW,dlog:j,applyUpdate:()=>iG.act(),doctor:PH(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];eG.reload(...t);let n=eG.getOrCreate(...t);return{layers:n.configLayers,error:n.lastError,warning:n.lastWarning,unused:n.state.unused,config:n.state.config}}),probes:UW,memento:JW,claudeInput:_U(),history:XW,navigation:ZW,configFor:e=>eG.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>eG.reload(e.projectDir,e.cwd,e.configFile??void 0)};CG.reloadConfig;const wG={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:Fp,width:1/0},TG=new Map;function EG(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,wm(a,{...wG,charset:t,colorCompatibility:n}));return r}const DG={...GW,history:e=>XW.depth(e)};function OG(e,t,n){let r=yW.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...CG,clientVersion:n}),{ok:!0,output:``}}catch(e){let t=e instanceof J?`BAD_REQUEST`:`RENDER_FAILED`;return{ok:!1,error:String(e instanceof Error?e.message:e),code:t,daemonV:3}}}const kG={connectMs:200,budgetMs:500};async function AG(e,n){let r=n.includes(`--json`),i=await jG(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${bt(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
215
+ `);return}t.stdout.write(MG(i.value))}function jG(e){return mt({kind:`debug`,what:e},kG,e=>`debug`in e?e.debug:void 0)}function MG(e){switch(e.what){case`vars`:return NG(e.vars);case`segments`:return PG(e.segments);case`config`:return FG(e.config);default:return e}}function NG(e){if(e.length===0)return`no variables (DSL not active)
216
+ `;let t=[`variables (${e.length})`,``],n=e.reduce((e,t)=>Math.max(e,t.name.length),4),r=e.reduce((e,t)=>Math.max(e,(t.source??`—`).length),6),i=e.reduce((e,t)=>Math.max(e,t.type.length),4);for(let a of e){let e=a.ageMs===null?``:` ${LG(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${IG(a.value)}${e}${o}`)}return t.join(`
217
217
  `)+`
218
- `}function AG(e){if(e.length===0)return`no segments (DSL not active)
218
+ `}function PG(e){if(e.length===0)return`no segments (DSL not active)
219
219
  `;let t=[`segments (${e.length})`,``];for(let n of e){t.push(` ${n.name}`),n.description!==null&&t.push(` shows ${n.description}`),t.push(` template ${n.template}`),n.referencedVars.length>0&&t.push(` vars ${n.referencedVars.join(`, `)}`);for(let{id:e,lastRender:r}of n.placements)r!==null&&t.push(` last ${e}: ${r}`)}return t.join(`
220
220
  `)+`
221
- `}function jG(e){return e===null?`config: DSL not active
221
+ `}function FG(e){return e===null?`config: DSL not active
222
222
  `:JSON.stringify(e,null,2)+`
223
- `}function MG(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function NG(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function PG(){let e=IG();return e===null?null:r.readFileSync(e,`utf-8`)}function FG(){let e;try{e=PG()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function IG(){let e=l.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=l.dirname(l.resolve(n));for(;;){let t=l.join(i,e);if(r.existsSync(t))return t;let n=l.dirname(i);if(n===i)return null;i=n}}function LG(e){let t=e.CC_CANDYBAR_CONFIG??``;return t===``?void 0:t}const RG=5e3;function zG(e,t,n){let r=`/home/tester`,i=Math.floor(n),a=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,o={current_dir:`${r}/code/cc-candybar/src`,project_dir:`${r}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:a,version:`1.15.0`,home:r,cwd:`${r}/code/cc-candybar/src`,transcript_path:`${r}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:o,git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:i+2*3600},weekly:{percentage:21,resetsAt:i+5*86400},cache:{expiresAt:i+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:qT(4e5,1e6),...YF(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:sw(()=>!0),themeDefault:{differs:!0,theme:`<theme>`},resumeCommand:GF(o,a,void 0),configPath:t??`${r}/.config/cc-candybar/config.json5`}}function BG(e,t){let n=Uk(e,e),r=Kk(n);return r!==null&&t.push(r),n.kind===`chain`?n.layers:[]}async function VG(e,n=t.cwd()){let i=[],a=e===void 0?null:l.resolve(Bk(e)),o=a===null?BG(n,i):[a];if(a!==null){let e;try{e=r.statSync(a,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:a,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:a,message:`not a file`}}let s=Jk(n,n);s!==null&&i.push(s);try{return{kind:`clean`,layers:o,warnings:i,rendered:await WG(o,n,i)}}catch(e){let t=e;return typeof t==`object`&&t&&typeof t.code==`string`&&typeof t.path==`string`&&o.includes(t.path)&&typeof t.message==`string`?{kind:`unreadable`,path:t.path,message:t.message}:(e instanceof hu&&i.push(...e.warnings),{kind:`fatal`,layers:o,message:e instanceof hu||e instanceof Error?e.message:String(e),warnings:i})}}async function HG(e,t,n){let r=kA(e,pF,{entered:()=>{},warned:e=>n.push(...e)},{projectDir:t,cwd:t}),{config:i}=r,a=new FB,o=new QC(a,i.globals.default_empty_value??``,void 0,new YB);try{let s=vB(i,o,{cwd:t});n.push(...s.loadWarnings);let c=await o.settled(RG);return c.length>0&&n.push(`source${c.length===1?``:`s`} still running after ${RG} ms, rendered with fallback values: ${c.join(`, `)}`),{layers:e,droppedPlugins:[...r.installed.dropped,...r.layers.flatMap(e=>e.plugins.dropped)],config:i,compiled:s,store:a,registry:o}}catch(e){throw o.dispose(),e}}function UG({layers:e,config:t,compiled:n,store:r,registry:i},a,o,s){let c=new Map,l=new Set,u={"theme-rule":e=>c.set(`theme rule`,e),"band-floor":e=>l.add(e)};return{rendered:CB(t,n,r,i,zG(a,e.at(-1)??null,s),s,qF(a,o),{onSegmentError:(e,t)=>c.set(`segment "${e}"`,t),onRenderWarning:({kind:e,message:t})=>u[e](t)},JF(a)),failures:c,advisories:l}}async function WG(e,t,n){let r=await HG(e,t,n),{config:i}=r,a=OC(new Date);try{let e=bL();try{$I(i),XP(i)}finally{e()}let t=Fb(null,i.globals.preset,i.presets),o=(e,t)=>{let n=KF(i,t=>t===`preset`?e:null,()=>t),o;try{o=UG(r,n,200,a)}catch(e){o={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]]),advisories:new Set}}return{preset:e,customized:t,...o}},s=o(t,!1),c=[s,o(t,!0),...Pb(i.presets).filter(e=>e!==t).flatMap(e=>[o(e,!1),o(e,!0)])],l=e=>{let n=new Map;for(let t of c)for(let r of e(t)){let e=n.get(r)??new Map;e.set(t.preset,(e.get(t.preset)??new Set).add(t.customized)),n.set(r,e)}return[...n].map(([e,n])=>n.get(t)?.has(!1)?e:`${e} (under ${[...n].map(([e,n])=>[...e===t?[]:[`preset "${e}"`],...n.has(!1)?[]:[`.preset.customized = true`]].join(`, `)).join(`; `)})`)};n.push(...l(e=>e.advisories));let u=l(e=>[...e.failures].map(([e,t])=>`${e}: ${t}`)),d=s.rendered,f=r.droppedPlugins.length,p=[...f>0?[`${f} plugin${f===1?``:`s`} did not load (named in the warnings)`]:[],...u.length>0||d===void 0?[`config renders with ${u.length} render error${u.length===1?``:`s`} (the daemon would show them on the bar):\n`+u.map(e=>` ${e}`).join(`
223
+ `}function IG(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function LG(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function RG(){let e=BG();return e===null?null:r.readFileSync(e,`utf-8`)}function zG(){let e;try{e=RG()}catch(e){t.stderr.write(`schema: cannot read bundled schema: ${e instanceof Error?e.message:String(e)}\n`),t.exit(2)}e===null&&(t.stderr.write("schema: bundled schema not found (expected schema/cc-candybar.schema.json). Run `pnpm gen:schema` from a source checkout.\n"),t.exit(2)),t.stdout.write(e),t.exit(0)}function BG(){let e=l.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=l.dirname(l.resolve(n));for(;;){let t=l.join(i,e);if(r.existsSync(t))return t;let n=l.dirname(i);if(n===i)return null;i=n}}function VG(e,t){return rP(t,e.CC_CANDYBAR_CONFIG)}const HG=5e3;function UG(e,t,n){let r=`/home/tester`,i=Math.floor(n),a=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,o={current_dir:`${r}/code/cc-candybar/src`,project_dir:`${r}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:a,version:`1.15.0`,home:r,cwd:`${r}/code/cc-candybar/src`,transcript_path:`${r}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:o,git:{repoName:`cc-candybar`,repoUrl:`https://github.com/promptctl/cc-candybar`,branch:`main`,sha:`abc1234`,ahead:2,behind:1,staged:3,unstaged:2,untracked:1,conflicts:0,upstream:`origin/main`,stash:1,status:`dirty`,operation:`rebase`,timeSinceCommit:780},session:{cost:.39,tokens:241400},today:{cost:12.5,tokens:34e5},context:{totalTokens:48487,contextLeft:24},metrics:{lastResponseTime:8.2,responseTime:4.2,sessionDuration:930,messageCount:8,linesAdded:512,linesRemoved:88},block:{nativeUtilization:63,resetsAt:i+2*3600},weekly:{percentage:21,resetsAt:i+5*86400},cache:{expiresAt:i+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:JD(4e5,1e6),...$F(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:va(()=>!0),themeDefault:{differs:!0,theme:`<theme>`},resumeCommand:YF(o,a,void 0),configPath:t??`${r}/.config/cc-candybar/config.json5`}}function WG(e,t){let n=IP(e,e),r=zP(n);return r!==null&&t.push(r),n.kind===`chain`?n.layers:[]}async function GG(e,n=t.cwd()){let i=[],a=rP(n,e)??null,o=a===null?WG(n,i):[a];if(a!==null){let e;try{e=r.statSync(a,{throwIfNoEntry:!1})}catch(e){return{kind:`unreadable`,path:a,message:e instanceof Error?e.message:String(e)}}if(e!==void 0&&!e.isFile())return{kind:`unreadable`,path:a,message:`not a file`}}let s=VP(n,n);s!==null&&i.push(s);try{return{kind:`clean`,layers:o,warnings:i,rendered:await JG(o,n,i)}}catch(e){let t=e;return typeof t==`object`&&t&&typeof t.code==`string`&&typeof t.path==`string`&&o.includes(t.path)&&typeof t.message==`string`?{kind:`unreadable`,path:t.path,message:t.message}:(e instanceof Bw&&i.push(...e.warnings),{kind:`fatal`,layers:o,message:e instanceof Bw||e instanceof Error?e.message:String(e),warnings:i})}}async function KG(e,t,n){let r=JP(e,_F,{entered:()=>{},warned:e=>n.push(...e)},{projectDir:t,cwd:t}),{config:i}=r,a=new zB,o=new Pw(a,i.globals.default_empty_value??``,void 0,new $B);try{let s=SB(i,o,{cwd:t});n.push(...s.loadWarnings);let c=await o.settled(HG);return c.length>0&&n.push(`source${c.length===1?``:`s`} still running after ${HG} ms, rendered with fallback values: ${c.join(`, `)}`),{layers:e,droppedPlugins:[...r.installed.dropped,...r.layers.flatMap(e=>e.plugins.dropped)],config:i,compiled:s,store:a,registry:o}}catch(e){throw o.dispose(),e}}function qG({layers:e,config:t,compiled:n,store:r,registry:i},a,o,s){let c=new Map,l=new Set,u={"theme-rule":e=>c.set(`theme rule`,e),"band-floor":e=>l.add(e)};return{rendered:DB(t,n,r,i,UG(a,e.at(-1)??null,s),s,ZF(a,o),{onSegmentError:(e,t)=>c.set(`segment "${e}"`,t),onRenderWarning:({kind:e,message:t})=>u[e](t)},QF(a)),failures:c,advisories:l}}async function JG(e,t,n){let r=await KG(e,t,n),{config:i}=r,a=uw(new Date);try{let e=wL();try{rL(i),TA(i)}finally{e()}let t=Gh(null,i.globals.preset,i.presets),o=(e,t)=>{let n=XF(i,t=>t===`preset`?e:null,()=>t),o;try{o=qG(r,n,200,a)}catch(e){o={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]]),advisories:new Set}}return{preset:e,customized:t,...o}},s=o(t,!1),c=[s,o(t,!0),...Wh(i.presets).filter(e=>e!==t).flatMap(e=>[o(e,!1),o(e,!0)])],l=e=>{let n=new Map;for(let t of c)for(let r of e(t)){let e=n.get(r)??new Map;e.set(t.preset,(e.get(t.preset)??new Set).add(t.customized)),n.set(r,e)}return[...n].map(([e,n])=>n.get(t)?.has(!1)?e:`${e} (under ${[...n].map(([e,n])=>[...e===t?[]:[`preset "${e}"`],...n.has(!1)?[]:[`.preset.customized = true`]].join(`, `)).join(`; `)})`)};n.push(...l(e=>e.advisories));let u=l(e=>[...e.failures].map(([e,t])=>`${e}: ${t}`)),d=s.rendered,f=r.droppedPlugins.length,p=[...f>0?[`${f} plugin${f===1?``:`s`} did not load (named in the warnings)`]:[],...u.length>0||d===void 0?[`config renders with ${u.length} render error${u.length===1?``:`s`} (the daemon would show them on the bar):\n`+u.map(e=>` ${e}`).join(`
224
224
  `)]:[]];if(p.length>0||d===void 0)throw Error(p.join(`
225
- `));return d}finally{r.registry.dispose()}}function GG(e){return e.map(e=>`warning: ${e}\n`).join(``)}function KG(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.layers.join(` < `)||`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`+(t?`${e.rendered}\n`:``),stderr:GG(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:GG(e.warnings)+`✗ ${e.layers.join(` < `)||`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const qG=`--render`,JG=`Usage: cc-candybar check [${qG}] [config-file]\n`;function YG(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==qG);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${JG}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${JG}`}:{kind:`run`,target:n[0],render:t.includes(qG)}}async function XG(e){let n=YG(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:KG(await VG(n.target??LG(t.env)),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const ZG=`${BN}${zN}`;function QG(e){return`${ZG}⚠ cc-candybar: ${$G(e)}\n`}function $G(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${RN(e.message,60)}`;case`render_failed`:return`render failed: ${RN(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${RN(e.message,60)}`}}function eK(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
226
- `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:QG(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function tK(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}const nK=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function rK(e,t,n){return{termCols:tK(e.COLUMNS,n.columns),termRows:tK(e.LINES,n.rows),ssh:nK.some(t=>(e[t]??``)!==``),tmux:sT(e),configEnv:LG(e),claudeConfigDir:FT(e,t),mementoEnv:et(e,t)}}const iK=` (fix: click the settings menu (${Ud} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function aK({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:iK}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function oK(e){let t={sessionState:new YB},n=HB(e.projectDir,e.cwd,e.configFile??void 0,t),r=n.state??UB(e.cwd,e.projectDir,t);return r.registry.dispose(),{layers:n.layers,error:n.error,warning:n.warning,unused:r.unused,config:r.config}}async function sK(e,t,n,r,i=void 0){let a;try{a={...IH(e,{tmux:sT(n),claudeConfigDir:FT(n,r)},{projectDir:r,cwd:r,configFile:WA(i??LG(n))??null},()=>null),urlHandler:await QH(t)}}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let o=gT(a);return{stdout:o.map(aK).join(``),stderr:``,code:+!o.every(e=>e.verdict.ok)}}async function cK(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
225
+ `));return d}finally{r.registry.dispose()}}function YG(e){return e.map(e=>`warning: ${e}\n`).join(``)}function XG(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.layers.join(` < `)||`bundled default (no config file found)`}: config OK${e.warnings.length>0?` (${e.warnings.length} warning${e.warnings.length===1?``:`s`})`:``}\n`+(t?`${e.rendered}\n`:``),stderr:YG(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:YG(e.warnings)+`✗ ${e.layers.join(` < `)||`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const ZG=`--render`,QG=`Usage: cc-candybar check [${ZG}] [config-file]\n`;function $G(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==ZG);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${QG}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${QG}`}:{kind:`run`,target:n[0],render:t.includes(ZG)}}async function eK(e){let n=$G(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:XG(await GG(n.target??VG(t.env,t.cwd())),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const tK=`${Wd}${Ud}`;function nK(e){return`${tK}⚠ cc-candybar: ${rK(e)}\n`}function rK(e){switch(e.cause){case`version_mismatch`:{let t=e.daemonV===0?`unknown`:`v${e.daemonV}`;return`protocol mismatch (client v${e.clientV} ≠ daemon ${t})`}case`bad_request`:return`daemon rejected request: ${Hd(e.message,60)}`;case`render_failed`:return`render failed: ${Hd(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${Hd(e.message,60)}`}}function iK(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
226
+ `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:nK(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function aK(e,t){if(e!==void 0&&/^\+?\d+$/.test(e)){let t=Number(e);if(t>0&&t<=4294967295)return t}if(t&&t>0)return t}const oK=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function sK(e,t,n){return{termCols:aK(e.COLUMNS,n.columns),termRows:aK(e.LINES,n.rows),ssh:oK.some(t=>(e[t]??``)!==``),tmux:gD(e),configEnv:VG(e,t),claudeConfigDir:ei(e,t),mementoEnv:Qe(e,t)}}const cK=` (fix: click the settings menu (${L} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function lK({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:cK}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function uK(e){let t={sessionState:new $B},n=KB(e.projectDir,e.cwd,e.configFile??void 0,t),r=n.state??qB(e.cwd,e.projectDir,t);return r.registry.dispose(),{layers:n.layers,error:n.error,warning:n.warning,unused:r.unused,config:r.config}}async function dK(e,t,n,r,i=void 0){let a;try{a={...BH(e,{tmux:gD(n),claudeConfigDir:ei(n,r)},{projectDir:r,cwd:r,configFile:rP(r,i)??VG(n,r)??null},()=>null),urlHandler:await nU(t)}}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let o=TD(a);return{stdout:o.map(lK).join(``),stderr:``,code:+!o.every(e=>e.verdict.ok)}}async function fK(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
227
227
  Usage: cc-candybar doctor [config-file]
228
- `),t.exit(2));let n=t.cwd(),r=await sK(AH(oK),nU(),t.env,n,e[0]===void 0?void 0:l.resolve(n,Bk(e[0])));t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const lK=e=>e.some(e=>t.argv.includes(e));function uK(){console.log(iT)}async function dK(){try{lK(nT.help)&&(uK(),t.exit(0)),lK(nT.version)&&(console.log(`cc-candybar ${sj}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await dN(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(oN(),t.exit(0)),e===`url-handle`){await cN(t.argv[3]);return}if(e===`daemon`){iG();return}if(e===`daemon-stats`&&(await zH(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await XG(t.argv.slice(3));return}if(e===`schema`){FG();return}if(e===`doctor`){await cK(t.argv.slice(3));return}FW(e)&&(await EG(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
228
+ `),t.exit(2));let n=t.cwd(),r=await dK(PH(uK),oU(),t.env,n,e[0]);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const pK=e=>e.some(e=>t.argv.includes(e));function mK(){console.log(pD)}async function hK(){try{pK(dD.help)&&(mK(),t.exit(0)),pK(dD.version)&&(console.log(`cc-candybar ${xt}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await Vi(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(Ii(),t.exit(0)),e===`url-handle`){await Ri(t.argv[3]);return}if(e===`daemon`){cG();return}if(e===`daemon-stats`&&(await UH(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await eK(t.argv.slice(3));return}if(e===`schema`){zG();return}if(e===`doctor`){await fK(t.argv.slice(3));return}zW(e)&&(await AG(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
229
229
 
230
230
  cc-candybar is designed to be used as a Claude Code statusLine command.
231
231
  It reads hook data from stdin and outputs formatted statusline.
@@ -241,4 +241,4 @@ Add to ~/.claude/settings.json:
241
241
  Run with --help for more options.
242
242
 
243
243
  To test output manually:
244
- echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar`),t.exit(1)),D(`Working directory: ${t.cwd()}`),D(`Process args:`,t.argv);let r=await n(t.stdin);D(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),uK(),t.exit(1));let i=eK(await dj(r,t.argv,t.cwd(),rK(t.env,t.cwd(),t.stderr)));i.debug!==null&&D(i.debug),i.kick&&jj(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}dK();export{};
244
+ echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar`),t.exit(1)),k(`Working directory: ${t.cwd()}`),k(`Process args:`,t.argv);let r=await n(t.stdin);k(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),mK(),t.exit(1));let i=iK(await Tt(r,t.argv,t.cwd(),sK(t.env,t.cwd(),t.stderr)));i.debug!==null&&k(i.debug),i.kick&&Jt(),t.stdout.write(i.output),t.exit(0)}catch(e){let n=e instanceof Error?e.message:String(e);console.error(`Error generating statusline:`,n),t.exit(1)}}hK();export{};