@promptctl/cc-candybar 1.115.1 → 1.116.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -1,69 +1,69 @@
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,statSync as o,watch as s}from"node:fs";import c,{basename as l,dirname as u,isAbsolute as d,join as f,sep as p}from"node:path";import m,{homedir as h}from"node:os";import{spawn as g,spawnSync as _}from"node:child_process";import{parseArgs as v,types as y}from"node:util";import b from"node:net";import{open as x,readFile as S,readdir as C,stat as w}from"node:fs/promises";import{clearInterval as T,setInterval as ee}from"node:timers";import te from"node:v8";import{URL as E,URLSearchParams as ne,fileURLToPath as D,pathToFileURL as O}from"node:url";import re,{createHash as ie}from"node:crypto";import{get as ae}from"node:https";import{setTimeout as oe}from"node:timers/promises";import{createInterface as se}from"node:readline";var ce=Object.create,le=Object.defineProperty,ue=Object.getOwnPropertyDescriptor,de=Object.getOwnPropertyNames,fe=Object.getPrototypeOf,pe=Object.prototype.hasOwnProperty,me=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),he=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=de(t),a=0,o=i.length,s;a<o;a++)s=i[a],!pe.call(e,s)&&s!==n&&le(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=ue(t,s))||r.enumerable});return e},ge=(e,t,n)=>(n=e==null?{}:ce(fe(e)),he(t||!e||!e.__esModule?le(n,`default`,{value:e,enumerable:!0}):n,e));function k(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function _e(e,t){return y.isNativeError(e)?e.code===`ENOENT`&&t!==void 0&&!a(t)?`working directory does not exist: ${t}`:e.message:String(e)}const ve={"click.pbcopy":1e3,"click.open":1e3,"doctor.tmux":1e3,"claude-input.type":1e3},ye=new Map;function be(e){let t=ve[e];if(t===void 0)return{allowed:!0};let n=ye.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 xe(e){ye.set(e,Date.now())}function Se(e){return e.env??process.env}function Ce(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 we=null;function Te(e){we=e}function Ee(e,t){try{process.kill(-e,t)}catch(e){if(e.code!==`ESRCH`)throw e}}async function De(e){if(e.signal?.aborted)return{ok:!1,reason:`aborted`,stdout:``,stderr:``,exitCode:null,signal:null};let t=be(e.category);if(!t.allowed)return Ce(e.category,t.minIntervalMs,t.sinceLastMs);xe(e.category);let n=Date.now();return we?.onStart(e.category),new Promise(t=>{let r;try{r=g(e.bin,e.args??[],{cwd:e.cwd,env:Se(e),stdio:[`pipe`,`pipe`,`pipe`],detached:!0})}catch(r){we?.onEnd(e.category,Date.now()-n),t({ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:_e(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),we?.onEnd(e.category,Date.now()-n),t())},f=e=>d(()=>t(e)),p=(e,t)=>{try{Ee(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:_e(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 Oe(e){let t=be(e.category);if(!t.allowed)return Ce(e.category,t.minIntervalMs,t.sinceLastMs);xe(e.category);let n=Date.now();we?.onStart(e.category);let r=[`pipe`,`pipe`,`pipe`];try{let t=_(e.bin,e.args??[],{cwd:e.cwd,env:Se(e),input:e.stdinInput,timeout:e.timeoutMs&&e.timeoutMs>0?e.timeoutMs:void 0,stdio:r,encoding:`utf8`});we?.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:_e(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 we?.onEnd(e.category,Date.now()-n),{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:_e(t,e.cwd)}}}function ke(e){let t=be(e.category);if(!t.allowed)return Ce(e.category,t.minIntervalMs,t.sinceLastMs);xe(e.category);let n=Date.now();we?.onStart(e.category);let r=A(e);return we?.onEnd(e.category,Date.now()-n),r}function A(e){let t;try{t=g(e.bin,e.args??[],{cwd:e.cwd,env:Se(e),detached:!0,stdio:`ignore`})}catch(t){return{ok:!1,reason:`spawn-error`,stdout:``,stderr:``,exitCode:null,signal:null,error:_e(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 Ae(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 je(e,t){let n=e[t];return n&&n.length>0?n:void 0}function Me(e=process.env){let t=je(e,`XDG_STATE_HOME`)??c.join(m.homedir(),`.local`,`state`);return c.join(t,`cc-candybar`)}function Ne(){let e=je(process.env,`XDG_CACHE_HOME`)??c.join(m.homedir(),`.cache`);return c.join(e,`cc-candybar`)}function Pe(){return Me()}function Fe(){let e=process.env.CC_CANDYBAR_SOCKET;if(e)return e;let t=m.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`socket`)}function Ie(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=m.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 Le(e){Ie(c.dirname(e));for(let t of[e,Re(e)])try{if(r.lstatSync(t).isSymbolicLink())throw Error(`path is a symlink: ${t}`)}catch(e){if(e.code!==`ENOENT`)throw e}}function Re(e){return`${e}.lease`}function ze(){return Re(Fe())}function Be(){return c.join(Me(),`session-state.json`)}function Ve(){return c.join(Me(),`settings-history.json`)}function He(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=m.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ue(){return c.join(Me(),`spawn.lock`)}function We(){return c.join(Me(),`spawn.cooldown`)}function Ge(){return c.join(Me(),`spawn.backoff`)}function Ke(){return c.join(Me(),`diagnostics`)}function qe(e=process.env){return c.join(Me(e),`daemon.log`)}const Je=[`MEMENTO_CONFIG_HOME`,`XDG_CONFIG_HOME`];function Ye(e,t){return Object.fromEntries(Je.flatMap(n=>{let r=e[n]??``;return r===``?[]:[[n,c.resolve(t,r)]]}))}var Xe=me(((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]/})),Ze=me(((e,t)=>{let n=Xe();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)}}})),Qe=me(((e,t)=>{let n=Ze(),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(),te[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,statSync as o,watch as s}from"node:fs";import c,{basename as l,dirname as u,isAbsolute as d,join as f,sep as p}from"node:path";import m,{homedir as h}from"node:os";import{spawn as g,spawnSync as _}from"node:child_process";import{parseArgs as v,types as y}from"node:util";import b from"node:net";import{open as x,readFile as S,readdir as C,stat as w}from"node:fs/promises";import{clearInterval as ee,setInterval as te}from"node:timers";import ne from"node:v8";import{URL as re,URLSearchParams as ie,fileURLToPath as T,pathToFileURL as E}from"node:url";import ae,{createHash as oe,randomUUID as se}from"node:crypto";import{get as ce}from"node:https";import{setTimeout as D}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 O(e,...t){process.env.CC_CANDYBAR_DEBUG&&console.error(`[DEBUG] ${e}`,...t)}function ye(e,t){return y.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=g(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 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=[`pipe`,`pipe`,`pipe`];try{let t=_(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 k(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=g(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`)??c.join(m.homedir(),`.local`,`state`);return c.join(t,`cc-candybar`)}function Fe(){let e=Ne(process.env,`XDG_CACHE_HOME`)??c.join(m.homedir(),`.cache`);return c.join(e,`cc-candybar`)}function Ie(){return Pe()}function Le(){return process.env.CC_CANDYBAR_SOCKET||Re()}function Re(){let e=m.userInfo().uid;return c.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=m.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(c.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 c.join(Pe(),`session-state.json`)}function We(){return c.join(Pe(),`settings-history.json`)}function Ge(){let e=process.env.CC_CANDYBAR_DAEMON_REGISTRY_DIR;if(e)return e;let t=m.userInfo().uid;return c.join(`/tmp`,`cc-candybar-${t}`,`daemons`)}function Ke(){return c.join(Pe(),`spawn.lock`)}function qe(){return c.join(Pe(),`spawn.cooldown`)}function Je(){return c.join(Pe(),`spawn.backoff`)}function Ye(){return c.join(Pe(),`diagnostics`)}function Xe(e=process.env){return c.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,c.resolve(t,r)]]}))}var $e=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]/})),et=ge(((e,t)=>{let n=$e();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)}}})),tt=ge(((e,t)=>{let n=et(),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
3
  `?(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
- `: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 D(b())},multiLineComment(){switch(_){case`*`:b(),p=`multiLineCommentAsterisk`;return;case void 0:throw D(b())}b()},multiLineCommentAsterisk(){switch(_){case`*`:b();return;case`/`:b(),p=`default`;return;case void 0:throw D(b())}b(),p=`multiLineComment`},singleLineComment(){switch(_){case`
5
- `: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 D(b())},identifierNameStartEscape(){if(_!==`u`)throw D(b());b();let e=ee();switch(e){case`$`:case`_`:break;default:if(!n.isIdStartChar(e))throw re();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 D(b());b();let e=ee();switch(e){case`$`:case`_`:case`‌`:case`‍`:break;default:if(!n.isIdContinueChar(e))throw re();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 D(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 D(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 D(b())},decimalExponentSign(){if(n.isDigit(_)){m+=b(),p=`decimalExponentInteger`;return}throw D(b())},decimalExponentInteger(){if(n.isDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},hexadecimal(){if(n.isHexDigit(_)){m+=b(),p=`hexadecimalInteger`;return}throw D(b())},hexadecimalInteger(){if(n.isHexDigit(_)){m+=b();return}return S(`numeric`,g*Number(m))},string(){switch(_){case`\\`:b(),m+=w();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
- `:case`\r`:throw D(b());case`\u2028`:case`\u2029`:ie(_);break;case void 0:throw D(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 D(b())},afterPropertyName(){if(_===`:`)return S(`punctuator`,b());throw D(b())},beforePropertyValue(){p=`value`},afterPropertyValue(){switch(_){case`,`:case`}`:return S(`punctuator`,b())}throw D(b())},beforeArrayValue(){if(_===`]`)return S(`punctuator`,b());p=`value`},afterArrayValue(){switch(_){case`,`:case`]`:return S(`punctuator`,b())}throw D(b())},end(){throw D(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 D(b());b()}}function w(){switch(y()){case`b`:return b(),`\b`;case`f`:return b(),`\f`;case`n`:return b(),`
7
- `;case`r`:return b(),`\r`;case`t`:return b(),` `;case`v`:return b(),`\v`;case`0`:if(b(),n.isDigit(y()))throw D(b());return`\0`;case`x`:return b(),T();case`u`:return b(),ee();case`
4
+ `: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
+ `: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+=w();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
+ `: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 w(){switch(y()){case`b`:return b(),`\b`;case`f`:return b(),`\f`;case`n`:return b(),`
7
+ `;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(),ee();case`u`:return b(),te();case`
8
8
  `: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 D(b());case void 0:throw D(b())}return b()}function T(){let e=``,t=y();if(!n.isHexDigit(t)||(e+=b(),t=y(),!n.isHexDigit(t)))throw D(b());return e+=b(),String.fromCodePoint(parseInt(e,16))}function ee(){let e=``,t=4;for(;t-- >0;){let t=y();if(!n.isHexDigit(t))throw D(b());e+=b()}return String.fromCodePoint(parseInt(e,16))}let te={start(){if(l.type===`eof`)throw O();E()},beforePropertyName(){switch(l.type){case`identifier`:case`string`:u=l.value,i=`afterPropertyName`;return;case`punctuator`:ne();return;case`eof`:throw O()}},afterPropertyName(){if(l.type===`eof`)throw O();i=`beforePropertyValue`},beforePropertyValue(){if(l.type===`eof`)throw O();E()},beforeArrayValue(){if(l.type===`eof`)throw O();if(l.type===`punctuator`&&l.value===`]`){ne();return}E()},afterPropertyValue(){if(l.type===`eof`)throw O();switch(l.value){case`,`:i=`beforePropertyName`;return;case`}`:ne()}},afterArrayValue(){if(l.type===`eof`)throw O();switch(l.value){case`,`:i=`beforeArrayValue`;return;case`]`:ne()}},end(){}};function E(){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 ne(){a.pop();let e=a[a.length-1];i=e==null?`end`:Array.isArray(e)?`afterArrayValue`:`afterPropertyValue`}function D(e){return oe(e===void 0?`JSON5: invalid end of input at ${s}:${c}`:`JSON5: invalid character '${ae(e)}' at ${s}:${c}`)}function O(){return oe(`JSON5: invalid end of input at ${s}:${c}`)}function re(){return c-=5,oe(`JSON5: invalid identifier character at ${s}:${c}`)}function ie(e){console.warn(`JSON5: '${ae(e)}' in strings is not valid ECMAScript; consider escaping`)}function ae(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 oe(e){let t=SyntaxError(e);return t.lineNumber=s,t.columnNumber=c,t}})),$e=me(((e,t)=>{let n=Ze();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=`,
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 ee(){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}})),nt=ge(((e,t)=>{let n=et();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
10
  `+a;e=r.join(n),s=`{
11
11
  `+a+e+`,
12
12
  `+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
13
  `+a,i=n.join(e);r=`[
14
14
  `+a+i+`,
15
- `+t+`]`}return i.pop(),a=t,r}}})),et=ge(me(((e,t)=>{t.exports={parse:Qe(),stringify:$e()}}))(),1);function tt({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 nt=tt();function rt(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(nt,``)}const it=[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],at=[12288,12288,65281,65376,65504,65510],ot=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],st=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],ct=[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],lt=(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},ut=it[0],dt=it.at(-1),ft=at[0],pt=at.at(-1);ot[0],ot.at(-1),st[0],st.at(-1);const mt=ct[0],ht=ct.at(-1),gt=19968,[_t,vt]=yt(ct);function yt(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(gt>=i&&gt<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const bt=e=>e<ut||e>dt?!1:lt(it,e),xt=e=>e<ft||e>pt?!1:lt(at,e),St=e=>e>=_t&&e<=vt?!0:e<mt||e>ht?!1:lt(ct,e);function Ct(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function wt(e,{ambiguousAsWide:t=!1}={}){return Ct(e),xt(e)||St(e)||t&&bt(e)?2:1}const Tt=new Intl.Segmenter,Et=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),Dt=RegExp(`\\p{Spacing_Mark}`,`v`),Ot=RegExp(`^\\p{RGI_Emoji}$`,`v`),kt=/^[\d#*]\u20E3$/,At=/\p{Extended_Pictographic}/gu;function jt(e){if(e.length>50)return!1;if(kt.test(e))return!0;if(e.includes(`‍`)){let t=e.match(At);return t!==null&&t.length>=2}return!1}function Mt(e){let t=e.search(Et);return t===-1?void 0:e.slice(t)}function Nt(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function Pt(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function j(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Ft(e){return Nt(e)||Pt(e)||j(e)}function M(e,t){let n=[];for(let t of e)Et.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(!Ft(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=wt(n[i],t);return r}if(Nt(i)&&Pt(n[e+1])){r+=2,e+=j(n[e+2])?2:1;continue}r+=wt(i,t)}return r}function It(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(Dt.test(i)||i>=`＀`&&i<=`￯`)&&(n+=wt(i.codePointAt(0),t))}return n}function Lt(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=rt(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 Tt.segment(i)){let t=Mt(e);if(t===void 0)continue;if(Ot.test(e)||jt(e)){a+=2;continue}let n=M(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=wt(r,o),a+=It(t,o)}return a}const Rt=new Map;function N(e){if(e.length===0)return 0;if(e.length<=64){let t=Rt.get(e);if(t!==void 0)return t}let t=Lt(e);return e.length<=64&&(Rt.size>=4096&&Rt.clear(),Rt.set(e,t)),t}function zt(e){return e}function Bt(e){return e}function Vt(e){return e>0?Math.floor(e):0}function Ht(e,t){if(t<=0)return[``,e];if(t>=N(e))return[e,``];let n=0,r=0;for(let i of e){let e=N(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=e.slice(r);return n<t?[i+` `.repeat(t-n),a]:[i,a]}function Ut(e,t){if(t<=0||e.length===0)return[e];let n=[],r=Bt(0);for(;r<e.length;){let i=Xt(e,r,t);n.push(e.slice(r,i)),r=i}return n}let Wt;function Gt(e){return Wt??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),Array.from(Wt.segment(e),e=>e.segment)}function Kt(e,t){return Jt(Gt(e),t).join(``)}function qt(e,t){return Jt(Gt(e).reverse(),t).reverse().join(``)}function Jt(e,t){let n=0,r=0;for(let i of e){let e=N(i);if(n+e>t)break;n+=e,r++}return e.slice(0,r)}function Yt(e,t,n){let r=0,i=t;for(;i<e.length;){let t=e.codePointAt(i),a=String.fromCodePoint(t),o=N(a);if(r+o>n)break;r+=o,i=Bt(i+a.length)}return i}function Xt(e,t,n){return Bt(Math.max(Yt(e,t,n),Zt(e,t)))}function Zt(e,t){return t>=e.length?Bt(e.length):Bt(t+(e.codePointAt(t)>65535?2:1))}var Qt=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t,this.vars=new Map(n)}get(e){return this.vars.get(e)}};function $t(e){return e.toString(16).padStart(2,`0`)}function en(e){return Number.isInteger(e)&&e>=0&&e<=255}function tn(e,t){if(!en(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var P=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,tn(`red`,e),tn(`green`,t),tn(`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=`#`+$t(this.red)+$t(this.green)+$t(this.blue);return this.alpha===1?e:e+$t(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 nn=new P(0,0,0);function rn(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 an(e,t){return on(rn(e),rn(t))}function on(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function sn(e,t,n){return e.size>=4096&&e.clear(),e.set(t,n),n}function cn(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 ln=class{colors;firstIndex;matchCache=new Map;readableCache=new Map;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(rn),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`,n=this.matchCache.get(t);if(n!==void 0)return n;let r=0,i=1/0;for(let t=0;t<this.colors.length;t++){let n=this.colors[t],a=cn(n,e);a<i&&(i=a,r=t)}return sn(this.matchCache,t,this.firstIndex+r)}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`,i=this.readableCache.get(r);if(i!==void 0)return i;let a=rn(t),o=0,s=!1,c=-1/0;for(let t=0;t<this.colors.length;t++){let r=this.colors[t],i=this.luminances()[t],l=on(i,a),u=l>=n,d=u?-cn(r,e):l;(u&&!s||u===s&&d>c)&&(o=t,s=u,c=d)}return sn(this.readableCache,r,this.firstIndex+o)}matchWhere(e,t){let n=this.colors.map(t=>cn(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||={});const un={truecolor:F.TRUECOLOR,256:F.EIGHT_BIT,ansi:F.STANDARD,none:null,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 dn(e={}){let t=pn(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=fn(pn(e));return n===void 0?I(e):n}function fn(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=un[t];return n===void 0?F.STANDARD:n}function pn(e){return e.env??(typeof process<`u`?process.env:{})}function I(e){let t=pn(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1)))return null;let n=t.TERM??``;if(n===`dumb`||n===`unknown`)return null;let r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return F.TRUECOLOR;let i=un[n];if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=un[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 mn(e,t){return e===`auto`?{colorSystem:dn(t),hyperlinks:(fn(pn(t??{}))??null)!==null||I(t??{})!==null}:{colorSystem:typeof e==`string`?hn(e):e,hyperlinks:!0}}function hn(e,t){if(e===`auto`)return dn(t);if(Object.hasOwn(un,e))return un[e];throw new gn(`Unknown color depth spec: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var gn=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const _n=new Map;var vn=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:Mn.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)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?(e??Pn).ansiColors.get(this.number):Mn.get(this.number);case F.STANDARD:return(e??Pn).ansiColors.get(this.number);case F.DEFAULT:{let n=e??Pn;return t?n.foregroundColor:n.backgroundColor}case F.WINDOWS:return(e??Pn).ansiColors.get(this.number)}}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 P(t,n,r))}static parse(e){let t=e.toLowerCase().trim(),n=_n.get(t);if(n)return n;let r=Sn(t);return _n.set(t,r),r}performDowngrade(t){let n=this.getTruecolor();switch(t){case F.EIGHT_BIT:{let t=Nn.match(n);return e.fromAnsi(t)}case F.STANDARD:{let t=jn.match(n);return new e(`color(${t})`,F.STANDARD,t)}case F.WINDOWS:case F.TRUECOLOR:return this;case F.DEFAULT:return e.default()}}};const yn=/^#([0-9a-f]{6})$/,bn=/^#([0-9a-f]{8})$/,xn=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,L=/^color\((\d+)\)$/;function Sn(e){if(e===`default`||e===``)return vn.default();let t=R[e];if(t!==void 0)return new vn(e,t<16?F.STANDARD:F.EIGHT_BIT,t);let n=bn.exec(e);if(n)return new vn(e,F.TRUECOLOR,void 0,Tn(n[1]));let r=yn.exec(e);if(r)return new vn(e,F.TRUECOLOR,void 0,wn(r[1]));let i=xn.exec(e);if(i){let t=Cn(e,i[1],`red`),n=Cn(e,i[2],`green`),r=Cn(e,i[3],`blue`);return new vn(e,F.TRUECOLOR,void 0,new P(t,n,r))}let a=L.exec(e);if(a){let t=Cn(e,a[1],`number`);return new vn(e,t<16?F.STANDARD:F.EIGHT_BIT,t)}throw new gn(`Failed to parse color: "${e}"`)}function Cn(e,t,n){let r=parseInt(t,10);if(!en(r))throw new gn(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}function wn(e){return new P(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16))}function Tn(e){return new P(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),parseInt(e.slice(6,8),16)/255)}function En(e,t,n=.5){return new P(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 Dn=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r}};function On(){return[new P(0,0,0),new P(128,0,0),new P(0,128,0),new P(128,128,0),new P(0,0,128),new P(128,0,128),new P(0,128,128),new P(192,192,192),new P(128,128,128),new P(255,0,0),new P(0,255,0),new P(255,255,0),new P(0,0,255),new P(255,0,255),new P(0,255,255),new P(255,255,255)]}function kn(){let e=On(),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 P(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new P(n,n,n))}return e}function An(){return[new P(0,0,0),new P(0,0,128),new P(0,128,0),new P(0,128,128),new P(128,0,0),new P(128,0,128),new P(128,128,0),new P(192,192,192),new P(128,128,128),new P(0,0,255),new P(0,255,0),new P(0,255,255),new P(255,0,0),new P(255,0,255),new P(255,255,0),new P(255,255,255)]}const jn=new ln(On()),Mn=new ln(kn()),Nn=new ln(kn().slice(16),16);new ln(An());const Pn=new Dn(new P(0,0,0),new P(255,255,255),jn,new Qt(`default`,!0,new Map));function Fn(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 R=Fn({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}),In=[`default`,...Object.keys(R)];var Ln;const Rn=[`l`,`c`,`h`,`alpha`],zn=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function Bn(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function Vn(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Hn(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function z(e){return e<0?0:e>1?1:e}const Un=1e-4,Wn=1e-7,Gn=(e,t)=>e<Wn?0:t,Kn=(e,t,n)=>e*(1-n)+t*n,qn=e=>{let t=e%360;return t<0?t+360:t};function Jn(e,t,n){return e>=-Un&&e<=1+Un&&t>=-Un&&t<=1+Un&&n>=-Un&&n<=1+Un}var Yn=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=Vn(t),o=Vn(n),s=Vn(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=qn(180/Math.PI*Math.atan2(g,h));return new Ln(m,_,Gn(_,v),i)}toRgba(){let e=z(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 P(Math.round(z(Hn(r))*255),Math.round(z(Hn(i))*255),Math.round(z(Hn(a))*255),this.alpha)}applyKey(e){if(Bn(e))return this;let t=z(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=qn(this.h+e.hueShift);return new Ln(t,n,Gn(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 Rn){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>=Wn,o=e.c>=Wn,s=qn(a?this.h:o?e.h:0),c=qn(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=Kn(this.c,e.c,n);return new Ln(Kn(this.l,e.l,t),f,Gn(f,qn(Kn(u,d,r))),Kn(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(Jn(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);Jn(r.r,r.g,r.b)?i=t:a=t}return i}};Ln=Yn;var Xn=class extends Error{ref;constructor(e,t){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`),this.ref=e,this.name=`ColorRefError`}};const Zn=/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/;function Qn(e){let t=e.trim();if(!Zn.test(t))throw new Xn(e,`expected #RRGGBB or #RRGGBBAA`);let n=t.slice(1);return t.length>7?Tn(n):wn(n)}function $n(e,t){let n=t.trim();if(n.startsWith(`#`))return Qn(n);let r=e.get(n);if(r===void 0)throw new Xn(t,`no such variable in palette ${JSON.stringify(e.name)}`+er(e,n));return r}function er(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 tr(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 nr(e){let t=Math.round(e);return t<0?0:t>255?255:t}function rr(e){let{h:t,s:n,l:r}=e;if(n===0){let e=nr(r*255);return new P(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 P(nr((s+u)*255),nr((c+u)*255),nr((l+u)*255))}function ir(e){return e<0?0:e>1?1:e}function ar(e,t){let n=tr(e);return n.l=ir(n.l-.1*t),rr(n)}function or(e,t=nn){return rn(ur(e,t))>.179?new P(0,0,0):new P(255,255,255)}function sr(e,t,n=4.5,r=F.TRUECOLOR,i=nn){let a=ur(t,i),o=fr(e,a,n),s=dr[r];if(s===void 0)return o;let c=lr(a,r,i);return an(lr(o,r,i),c)>=n?o:s.get(s.matchReadable(o,c,n))}function cr(e,t,n,r=nn){let i=ur(e,r),a=e=>lr(e,t,r);if(n(a(i),a))return i;let o=dr[t],s=o?.matchWhere(i,e=>n(e,a));return s===void 0?void 0:o.get(s)}function lr(e,t,n=nn){let r=ur(e,n),i=dr[t];return i===void 0?r:i.get(i.match(r))}function ur(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)}const dr={[F.EIGHT_BIT]:Nn,[F.STANDARD]:jn};function fr(e,t,n){let r=e.compositeOver(t);if(an(r,t)>=n)return r;let i=Yn.fromRgba(r),a=rn(t)>.179?0:1;if(an(new Yn(a,i.c,i.h,i.alpha).toRgba(),t)<n)return or(t);let o=i.l,s=a;for(let e=0;e<20;e++){let e=(o+s)/2;an(new Yn(e,i.c,i.h,i.alpha).toRgba(),t)>=n?s=e:o=e}return new Yn(s,i.c,i.h,i.alpha).toRgba()}const pr={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`}},mr={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`}},gr={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`}},_r={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`}},vr={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`}},yr=Object.fromEntries([`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`].map((e,t)=>[e,jn.get(t).hex])),br={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`},xr={"atom-one-dark":pr,"atom-one-light":mr,"catppuccin-frappe":hr,"catppuccin-latte":gr,"catppuccin-macchiato":_r,"catppuccin-mocha":vr,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:br,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:yr,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:yr,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:br,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`}}},Sr=Object.freeze(Object.keys(xr).sort()),Cr=new Map;function wr(){return Sr}function Tr(e){if(!Er(e))return null;let t=Cr.get(e);if(t!==void 0)return t;let n=Dr(xr[e]);return Cr.set(e,n),n}function Er(e){return Object.hasOwn(xr,e)}function Dr(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,kr(r,e.name,n));return new Qt(e.name,e.dark,t)}const Or=/^[0-9a-fA-F]+$/;function kr(e,t,n){let r=e.startsWith(`#`)?e.slice(1):e;if(r.length!==6&&r.length!==8||!Or.test(r))throw Error(`Theme ${t}: var ${n} has invalid hex ${JSON.stringify(e)} (expected #RRGGBB or #RRGGBBAA)`);return r.length===6?wn(r):Tn(r)}const Ar=new Set([`error`,`success`,`warning`]);function jr(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function Mr(e){return Ar.has(jr(e))}function Nr(e,t,n){if(Bn(t))return new Qt(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=Mr(n)?r:t;i.set(n,Yn.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=Yn.fromRgba(a).l<.5;return new Qt(n??e.name,o,i)}const Pr={linear:e=>e,step:()=>0},Fr=Object.keys(Pr);function Ir(e){if(!Object.hasOwn(Pr,e))throw RangeError(`unknown ramp easing ${JSON.stringify(e)}; expected one of `+Fr.map(e=>JSON.stringify(e)).join(`, `));return e}var Lr=class{easing;stops;constructor(e,t){if(this.easing=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=Pr[this.easing]((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:Yn.fromRgba(r.color).mix(Yn.fromRgba(i.color),a).toRgba()}};function Rr(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&Rr(e.inner,t)}}const zr=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],Br={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},Vr={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Hr=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Ur=new Map;var B=class e{color;bgcolor;bold;dim;italic;underline;blink;blink2;reverse;conceal;strike;underline2;frame;encircle;overline;link;meta;anchor;constructor(e={}){this.color=$r(e.color),this.bgcolor=$r(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(Rr(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&&ni(this.anchor,e.anchor)}drawnColors(e){let t=nn,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[...zr.filter(e=>this[e]===!0).map(e=>`${Br[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of zr)this[t]===!1&&e.push(`not ${t}`);for(let t of zr)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 Wr}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=Wr;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);if(n===``||n===`none`)return Wr;let r=Ur.get(n);if(r)return r;let i=Qr(n);return Ur.set(n,i),i}};const Wr=new B,Gr=/^[a-z][a-z0-9._-]*$/;var Kr=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(ei))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Gr.test(t))throw Error(`Invalid style name: "${t}" (must be lowercase, start with letter, contain only letters, digits, ".", "-", "_")`);this.styles.set(t,B.parse(n))}}get(e){return this.styles.get(e)}resolve(e){return e instanceof B?e:this.styles.get(e)??B.parse(e)}has(e){return this.styles.has(e)}};const qr=new Set(zr),Jr=[`not`,`on`,`link`,...zr,...In];function Yr(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 Xr(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:Yr(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 Zr(e,t,n){try{return vn.parse(e)}catch(r){throw new Hr(`${t} "${e}"${Xr(e,n)}: ${String(r)}`,{cause:r})}}function Qr(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 Hr(`Expected attribute after "not" in style definition`);let i=Vr[e]??e;if(!qr.has(i))throw new Hr(`Invalid attribute: "${e}"${Xr(e,zr)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Hr(`Expected color after "on" in style definition`);n.bgcolor=Zr(e,`Invalid background color`,In),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Vr[e]??e;if(qr.has(i)){n[i]=!0,r++;continue}n.color=Zr(e,`Invalid style definition`,Jr),r++}return new B(n)}function $r(e){if(e!==void 0)return e instanceof vn?e:vn.parse(e)}const ei={none:Wr,reset:new B({color:vn.default(),bgcolor:vn.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 B({bold:!0}),dim:new B({dim:!0}),italic:new B({italic:!0}),underline:new B({underline:!0}),blink:new B({blink:!0}),blink2:new B({blink2:!0}),reverse:new B({reverse:!0}),conceal:new B({conceal:!0}),strike:new B({strike:!0}),underline2:new B({underline2:!0}),frame:new B({frame:!0}),encircle:new B({encircle:!0}),overline:new B({overline:!0}),"table.header":new B({bold:!0}),"table.footer":new B({bold:!0}),"table.cell":Wr,"table.title":new B({italic:!0}),"table.caption":new B({italic:!0,dim:!0}),"repr.str":B.parse(`green`),"repr.number":B.parse(`cyan`),"repr.bool":B.parse(`italic bright_magenta`),"repr.none":B.parse(`italic magenta`),"repr.url":B.parse(`not italic underline bright_blue`),"repr.uuid":B.parse(`bright_yellow`),"repr.error":B.parse(`bold red`),"repr.indent":B.parse(`dim green`),"repr.attrib_name":B.parse(`yellow`),"repr.attrib_value":B.parse(`magenta`),"repr.attrib_equal":B.parse(`bold`),"repr.tag_start":B.parse(`bold`),"repr.tag_name":B.parse(`bright_magenta`),"repr.tag_contents":B.parse(`default`),"repr.tag_end":B.parse(`bold`),"log.time":B.parse(`cyan dim`),"log.message":Wr,"log.path":B.parse(`dim`),"log.line_no":B.parse(`cyan`),"log.level":Wr,"rule.line":B.parse(`green`),"rule.text":B.parse(`bold`),"json.brace":B.parse(`bold`),"json.bool_true":B.parse(`italic bright_green`),"json.bool_false":B.parse(`italic bright_red`),"json.key":B.parse(`bold blue`),"json.null":B.parse(`italic magenta`),"json.number":B.parse(`bold not italic cyan`),"json.str":B.parse(`not bold not italic green`),"markdown.h1":B.parse(`bold underline`),"markdown.h2":B.parse(`bold`),"markdown.h3":B.parse(`bold dim`),"markdown.h4":B.parse(`bold dim italic`),"markdown.code":B.parse(`cyan on grey11`),"markdown.hr":B.parse(`yellow`),"markdown.link":B.parse(`bright_blue`),"markdown.link_url":B.parse(`blue`),"progress.description":Wr,"progress.percentage":B.parse(`cyan`),"progress.remaining":B.parse(`cyan`),"progress.elapsed":B.parse(`cyan`),"progress.spinner":B.parse(`green`),"progress.download":B.parse(`green`),"progress.filesize":B.parse(`green`),"progress.filesize.total":B.parse(`green`),"progress.data.speed":B.parse(`red`),"bar.back":B.parse(`grey23`),"bar.complete":B.parse(`magenta`),"bar.finished":B.parse(`green`),"bar.pulse":B.parse(`magenta`),"scrollbar.thumb":Wr,"scrollbar.track":B.parse(`grey37`),tree:Wr,"tree.guide":Wr,"status.spinner":B.parse(`green`),"status.message":Wr,prompt:B.parse(`bold`),"prompt.choices":B.parse(`magenta`),"prompt.default":B.parse(`cyan`),"inspect.attr":B.parse(`yellow italic`),"inspect.attr.dunder":B.parse(`yellow italic dim`),"inspect.callable":B.parse(`bold magenta`),"inspect.error":B.parse(`bold red`),"inspect.help":B.parse(`cyan`),"inspect.doc":B.parse(`dim`),"inspect.value.border":B.parse(`green`),"traceback.border":B.parse(`red`),"traceback.text":B.parse(`red`),"traceback.title":B.parse(`bold red`),"traceback.exc_type":B.parse(`bold bright_red`),"traceback.exc_value":Wr,"traceback.offset":B.parse(`bold bright_red`),"scope.border":B.parse(`blue`),"scope.key":B.parse(`italic`),"scope.key.special":B.parse(`dim italic`),pretty:Wr,"iso8601.date":B.parse(`cyan`),"iso8601.time":B.parse(`cyan`),"iso8601.timezone":B.parse(`bright_blue`)},ti=new Kr;function ni(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&ni(e.inner,t.inner)}var ri;(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`})(ri||={});var V=class e{text;style;control;constructor(e,t,n){this.text=e,this.style=t,this.control=n}get cellLength(){return this.control?0:N(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){let n=this.cellLength;if(t>=n)return[this,new e(``)];if(t<=0)return[new e(``),this];let[r,i]=Ht(this.text,t);return[new e(r,this.style),new e(i,this.style?.shiftedBy(n-N(i)))]}static _line;static line(){return e._line??=new e(`
16
- `)}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??B.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&&Rr(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(`
15
+ `+t+`]`}return i.pop(),a=t,r}}})),rt=ve(ge(((e,t)=>{t.exports={parse:tt(),stringify:nt()}}))(),1);function it({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 at=it();function ot(e){if(typeof e!=`string`)throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes(`\x1B`)&&!e.includes(`›`)?e:e.replace(at,``)}const st=[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],ct=[12288,12288,65281,65376,65504,65510],lt=[8361,8361,65377,65470,65474,65479,65482,65487,65490,65495,65498,65500,65512,65518],ut=[32,126,162,163,165,166,172,172,175,175,10214,10221,10629,10630],dt=[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],ft=(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},pt=st[0],mt=st.at(-1),ht=ct[0],gt=ct.at(-1);lt[0],lt.at(-1),ut[0],ut.at(-1);const _t=dt[0],vt=dt.at(-1),yt=19968,[bt,xt]=St(dt);function St(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(yt>=i&&yt<=a)return[i,a];a-i>n-t&&(t=i,n=a)}return[t,n]}const Ct=e=>e<pt||e>mt?!1:ft(st,e),wt=e=>e<ht||e>gt?!1:ft(ct,e),Tt=e=>e>=bt&&e<=xt?!0:e<_t||e>vt?!1:ft(dt,e);function Et(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function Dt(e,{ambiguousAsWide:t=!1}={}){return Et(e),wt(e)||Tt(e)||t&&Ct(e)?2:1}const Ot=new Intl.Segmenter,kt=RegExp(`[^\\p{Default_Ignorable_Code_Point}\\p{Control}\\p{Format}\\p{Nonspacing_Mark}\\p{Enclosing_Mark}\\p{Surrogate}]`,`v`),At=RegExp(`\\p{Spacing_Mark}`,`v`),jt=RegExp(`^\\p{RGI_Emoji}$`,`v`),Mt=/^[\d#*]\u20E3$/,Nt=/\p{Extended_Pictographic}/gu;function Pt(e){if(e.length>50)return!1;if(Mt.test(e))return!0;if(e.includes(`‍`)){let t=e.match(Nt);return t!==null&&t.length>=2}return!1}function Ft(e){let t=e.search(kt);return t===-1?void 0:e.slice(t)}function A(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function It(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function j(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function Lt(e){return A(e)||It(e)||j(e)}function Rt(e,t){let n=[];for(let t of e)kt.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(!Lt(i)){if(r===0)return;for(let i=e;i<n.length;i++)r+=Dt(n[i],t);return r}if(A(i)&&It(n[e+1])){r+=2,e+=j(n[e+2])?2:1;continue}r+=Dt(i,t)}return r}function zt(e,t){let n=0,r=!0;for(let i of e){if(r){r=!1;continue}(At.test(i)||i>=`＀`&&i<=`￯`)&&(n+=Dt(i.codePointAt(0),t))}return n}function Bt(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=ot(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 Ot.segment(i)){let t=Ft(e);if(t===void 0)continue;if(jt.test(e)||Pt(e)){a+=2;continue}let n=Rt(t,o);if(n!==void 0){a+=n;continue}let r=t.codePointAt(0);a+=Dt(r,o),a+=zt(t,o)}return a}const Vt=new Map;function M(e){if(e.length===0)return 0;if(e.length<=64){let t=Vt.get(e);if(t!==void 0)return t}let t=Bt(e);return e.length<=64&&(Vt.size>=4096&&Vt.clear(),Vt.set(e,t)),t}function Ht(e){return e}function Ut(e){return e}function Wt(e){return e>0?Math.floor(e):0}function Gt(e,t){if(t<=0)return[``,e];if(t>=M(e))return[e,``];let n=0,r=0;for(let i of e){let e=M(i);if(n+e>t)break;n+=e,r+=i.length}let i=e.slice(0,r),a=e.slice(r);return n<t?[i+` `.repeat(t-n),a]:[i,a]}function Kt(e,t){if(t<=0||e.length===0)return[e];let n=[],r=Ut(0);for(;r<e.length;){let i=$t(e,r,t);n.push(e.slice(r,i)),r=i}return n}let qt;function Jt(e){return qt??=new Intl.Segmenter(void 0,{granularity:`grapheme`}),Array.from(qt.segment(e),e=>e.segment)}function Yt(e,t){return Zt(Jt(e),t).join(``)}function Xt(e,t){return Zt(Jt(e).reverse(),t).reverse().join(``)}function Zt(e,t){let n=0,r=0;for(let i of e){let e=M(i);if(n+e>t)break;n+=e,r++}return e.slice(0,r)}function Qt(e,t,n){let r=0,i=t;for(;i<e.length;){let t=e.codePointAt(i),a=String.fromCodePoint(t),o=M(a);if(r+o>n)break;r+=o,i=Ut(i+a.length)}return i}function $t(e,t,n){return Ut(Math.max(Qt(e,t,n),en(e,t)))}function en(e,t){return t>=e.length?Ut(e.length):Ut(t+(e.codePointAt(t)>65535?2:1))}var tn=class{name;dark;vars;constructor(e,t,n){this.name=e,this.dark=t,this.vars=new Map(n)}get(e){return this.vars.get(e)}};function nn(e){return e.toString(16).padStart(2,`0`)}function N(e){return Number.isInteger(e)&&e>=0&&e<=255}function rn(e,t){if(!N(t))throw RangeError(`ColorRgba.${e} must be an integer in [0, 255]; got ${t}`)}var P=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,rn(`red`,e),rn(`green`,t),rn(`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=`#`+nn(this.red)+nn(this.green)+nn(this.blue);return this.alpha===1?e:e+nn(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 an=new P(0,0,0);function on(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 sn(e,t){return cn(on(e),on(t))}function cn(e,t){return(Math.max(e,t)+.05)/(Math.min(e,t)+.05)}function ln(e,t,n){return e.size>=4096&&e.clear(),e.set(t,n),n}function un(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 dn=class{colors;firstIndex;matchCache=new Map;readableCache=new Map;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(on),this.luminanceCache}get size(){return this.colors.length}match(e){let t=`${e.red},${e.green},${e.blue},${e.alpha}`,n=this.matchCache.get(t);if(n!==void 0)return n;let r=0,i=1/0;for(let t=0;t<this.colors.length;t++){let n=this.colors[t],a=un(n,e);a<i&&(i=a,r=t)}return ln(this.matchCache,t,this.firstIndex+r)}matchReadable(e,t,n){let r=`${e.red},${e.green},${e.blue}|${t.red},${t.green},${t.blue}|${n}`,i=this.readableCache.get(r);if(i!==void 0)return i;let a=on(t),o=0,s=!1,c=-1/0;for(let t=0;t<this.colors.length;t++){let r=this.colors[t],i=this.luminances()[t],l=cn(i,a),u=l>=n,d=u?-un(r,e):l;(u&&!s||u===s&&d>c)&&(o=t,s=u,c=d)}return ln(this.readableCache,r,this.firstIndex+o)}matchWhere(e,t){let n=this.colors.map(t=>un(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||={});const fn={truecolor:F.TRUECOLOR,256:F.EIGHT_BIT,ansi:F.STANDARD,none:null,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 pn(e={}){let t=mn(e).NO_COLOR;if(t!==void 0&&t!==``)return null;let n=I(mn(e));return n===void 0?hn(e):n}function I(e){let t=e.FORCE_COLOR;if(t===void 0||t===``)return;let n=fn[t];return n===void 0?F.STANDARD:n}function mn(e){return e.env??(typeof process<`u`?process.env:{})}function hn(e){let t=mn(e);if(!(e.isTTY??(typeof process<`u`?process.stdout?.isTTY??!1:!1)))return null;let n=t.TERM??``;if(n===`dumb`||n===`unknown`)return null;let r=t.COLORTERM;if(r===`truecolor`||r===`24bit`)return F.TRUECOLOR;let i=fn[n];if(i!==void 0)return i;let a=t.TERM_PROGRAM;if(a!==void 0){let e=fn[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 gn(e,t){return e===`auto`?{colorSystem:pn(t),hyperlinks:(I(mn(t??{}))??null)!==null||hn(t??{})!==null}:{colorSystem:typeof e==`string`?_n(e):e,hyperlinks:!0}}function _n(e,t){if(e===`auto`)return pn(t);if(Object.hasOwn(fn,e))return fn[e];throw new vn(`Unknown color depth spec: ${JSON.stringify(e)} (expected "auto", "truecolor", "256", "ansi", or "none")`)}var vn=class extends Error{constructor(e){super(e),this.name=`ColorParseError`}};const yn=new Map;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:Nn.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)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?(e??z).ansiColors.get(this.number):Nn.get(this.number);case F.STANDARD:return(e??z).ansiColors.get(this.number);case F.DEFAULT:{let n=e??z;return t?n.foregroundColor:n.backgroundColor}case F.WINDOWS:return(e??z).ansiColors.get(this.number)}}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 P(t,n,r))}static parse(e){let t=e.toLowerCase().trim(),n=yn.get(t);if(n)return n;let r=Cn(t);return yn.set(t,r),r}performDowngrade(t){let n=this.getTruecolor();switch(t){case F.EIGHT_BIT:{let t=Pn.match(n);return e.fromAnsi(t)}case F.STANDARD:{let t=Mn.match(n);return new e(`color(${t})`,F.STANDARD,t)}case F.WINDOWS:case F.TRUECOLOR:return this;case F.DEFAULT:return e.default()}}};const bn=/^#([0-9a-f]{6})$/,R=/^#([0-9a-f]{8})$/,xn=/^rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/,Sn=/^color\((\d+)\)$/;function Cn(e){if(e===`default`||e===``)return L.default();let t=In[e];if(t!==void 0)return new L(e,t<16?F.STANDARD:F.EIGHT_BIT,t);let n=R.exec(e);if(n)return new L(e,F.TRUECOLOR,void 0,En(n[1]));let r=bn.exec(e);if(r)return new L(e,F.TRUECOLOR,void 0,Tn(r[1]));let i=xn.exec(e);if(i){let t=wn(e,i[1],`red`),n=wn(e,i[2],`green`),r=wn(e,i[3],`blue`);return new L(e,F.TRUECOLOR,void 0,new P(t,n,r))}let a=Sn.exec(e);if(a){let t=wn(e,a[1],`number`);return new L(e,t<16?F.STANDARD:F.EIGHT_BIT,t)}throw new vn(`Failed to parse color: "${e}"`)}function wn(e,t,n){let r=parseInt(t,10);if(!N(r))throw new vn(`ColorSpec "${e}": ${n} ${t} is out of range (0-255)`);return r}function Tn(e){return new P(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16))}function En(e){return new P(parseInt(e.slice(0,2),16),parseInt(e.slice(2,4),16),parseInt(e.slice(4,6),16),parseInt(e.slice(6,8),16)/255)}function Dn(e,t,n=.5){return new P(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 On=class{backgroundColor;foregroundColor;ansiColors;palette;constructor(e,t,n,r){this.backgroundColor=e,this.foregroundColor=t,this.ansiColors=n,this.palette=r}};function kn(){return[new P(0,0,0),new P(128,0,0),new P(0,128,0),new P(128,128,0),new P(0,0,128),new P(128,0,128),new P(0,128,128),new P(192,192,192),new P(128,128,128),new P(255,0,0),new P(0,255,0),new P(255,255,0),new P(0,0,255),new P(255,0,255),new P(0,255,255),new P(255,255,255)]}function An(){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 P(t[n],t[r],t[i]));for(let t=0;t<24;t++){let n=8+10*t;e.push(new P(n,n,n))}return e}function jn(){return[new P(0,0,0),new P(0,0,128),new P(0,128,0),new P(0,128,128),new P(128,0,0),new P(128,0,128),new P(128,128,0),new P(192,192,192),new P(128,128,128),new P(0,0,255),new P(0,255,0),new P(0,255,255),new P(255,0,0),new P(255,0,255),new P(255,255,0),new P(255,255,255)]}const Mn=new dn(kn()),Nn=new dn(An()),Pn=new dn(An().slice(16),16);new dn(jn());const z=new On(new P(0,0,0),new P(255,255,255),Mn,new tn(`default`,!0,new Map));function Fn(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 In=Fn({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}),Ln=[`default`,...Object.keys(In)];var Rn;const zn=[`l`,`c`,`h`,`alpha`],Bn=Object.freeze({hueShift:0,chromaScale:1,lightnessScale:1,lightnessShift:0});Object.freeze({hueShift:0,chromaScale:1,lightnessScale:-1,lightnessShift:1});function Vn(e){return e.hueShift%360==0&&e.chromaScale===1&&e.lightnessScale===1&&e.lightnessShift===0}function B(e){return e<=.04045?e/12.92:((e+.055)/1.055)**2.4}function Hn(e){return e<=.0031308?12.92*e:1.055*e**(1/2.4)-.055}function Un(e){return e<0?0:e>1?1:e}const Wn=1e-4,Gn=1e-7,Kn=(e,t)=>e<Gn?0:t,qn=(e,t,n)=>e*(1-n)+t*n,Jn=e=>{let t=e%360;return t<0?t+360:t};function Yn(e,t,n){return e>=-Wn&&e<=1+Wn&&t>=-Wn&&t<=1+Wn&&n>=-Wn&&n<=1+Wn}var Xn=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=B(t),o=B(n),s=B(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=Jn(180/Math.PI*Math.atan2(g,h));return new Rn(m,_,Kn(_,v),i)}toRgba(){let e=Un(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 P(Math.round(Un(Hn(r))*255),Math.round(Un(Hn(i))*255),Math.round(Un(Hn(a))*255),this.alpha)}applyKey(e){if(Vn(e))return this;let t=Un(this.l*e.lightnessScale+e.lightnessShift),n=Math.max(0,this.c*e.chromaScale),r=Jn(this.h+e.hueShift);return new Rn(t,n,Kn(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 zn){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>=Gn,o=e.c>=Gn,s=Jn(a?this.h:o?e.h:0),c=Jn(o?e.h:s),l=c-s,u=l<-180?s-360:s,d=l>180?c-360:c,f=qn(this.c,e.c,n);return new Rn(qn(this.l,e.l,t),f,Kn(f,Jn(qn(u,d,r))),qn(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(Yn(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);Yn(r.r,r.g,r.b)?i=t:a=t}return i}};Rn=Xn;var Zn=class extends Error{ref;constructor(e,t){super(`color reference ${JSON.stringify(e)} did not resolve — ${t}`),this.ref=e,this.name=`ColorRefError`}};const Qn=/^#[0-9a-fA-F]{6}([0-9a-fA-F]{2})?$/;function $n(e){let t=e.trim();if(!Qn.test(t))throw new Zn(e,`expected #RRGGBB or #RRGGBBAA`);let n=t.slice(1);return t.length>7?En(n):Tn(n)}function er(e,t){let n=t.trim();if(n.startsWith(`#`))return $n(n);let r=e.get(n);if(r===void 0)throw new Zn(t,`no such variable in palette ${JSON.stringify(e.name)}`+tr(e,n));return r}function tr(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 nr(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 rr(e){let t=Math.round(e);return t<0?0:t>255?255:t}function ir(e){let{h:t,s:n,l:r}=e;if(n===0){let e=rr(r*255);return new P(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 P(rr((s+u)*255),rr((c+u)*255),rr((l+u)*255))}function ar(e){return e<0?0:e>1?1:e}function or(e,t){let n=nr(e);return n.l=ar(n.l-.1*t),ir(n)}function sr(e,t=an){return on(dr(e,t))>.179?new P(0,0,0):new P(255,255,255)}function cr(e,t,n=4.5,r=F.TRUECOLOR,i=an){let a=dr(t,i),o=pr(e,a,n),s=fr[r];if(s===void 0)return o;let c=ur(a,r,i);return sn(ur(o,r,i),c)>=n?o:s.get(s.matchReadable(o,c,n))}function lr(e,t,n,r=an){let i=dr(e,r),a=e=>ur(e,t,r);if(n(a(i),a))return i;let o=fr[t],s=o?.matchWhere(i,e=>n(e,a));return s===void 0?void 0:o.get(s)}function ur(e,t,n=an){let r=dr(e,n),i=fr[t];return i===void 0?r:i.get(i.match(r))}function dr(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)}const fr={[F.EIGHT_BIT]:Pn,[F.STANDARD]:Mn};function pr(e,t,n){let r=e.compositeOver(t);if(sn(r,t)>=n)return r;let i=Xn.fromRgba(r),a=on(t)>.179?0:1;if(sn(new Xn(a,i.c,i.h,i.alpha).toRgba(),t)<n)return sr(t);let o=i.l,s=a;for(let e=0;e<20;e++){let e=(o+s)/2;sn(new Xn(e,i.c,i.h,i.alpha).toRgba(),t)>=n?s=e:o=e}return new Xn(s,i.c,i.h,i.alpha).toRgba()}const mr={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`}},hr={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`}},gr={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`}},_r={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`}},vr={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`}},yr={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`}},br=Object.fromEntries([`black`,`red`,`green`,`yellow`,`blue`,`magenta`,`cyan`,`white`,`brightBlack`,`brightRed`,`brightGreen`,`brightYellow`,`brightBlue`,`brightMagenta`,`brightCyan`,`brightWhite`].map((e,t)=>[e,Mn.get(t).hex])),xr={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`},Sr={"atom-one-dark":mr,"atom-one-light":hr,"catppuccin-frappe":gr,"catppuccin-latte":_r,"catppuccin-macchiato":vr,"catppuccin-mocha":yr,cyberpunk:{name:`cyberpunk`,dark:!0,ansi:xr,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:br,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:br,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:xr,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`}}},Cr=Object.freeze(Object.keys(Sr).sort()),wr=new Map;function Tr(){return Cr}function Er(e){if(!Dr(e))return null;let t=wr.get(e);if(t!==void 0)return t;let n=Or(Sr[e]);return wr.set(e,n),n}function Dr(e){return Object.hasOwn(Sr,e)}function Or(e){let t=new Map;for(let[n,r]of Object.entries(e.vars))t.set(n,Ar(r,e.name,n));return new tn(e.name,e.dark,t)}const kr=/^[0-9a-fA-F]+$/;function Ar(e,t,n){let r=e.startsWith(`#`)?e.slice(1):e;if(r.length!==6&&r.length!==8||!kr.test(r))throw Error(`Theme ${t}: var ${n} has invalid hex ${JSON.stringify(e)} (expected #RRGGBB or #RRGGBBAA)`);return r.length===6?Tn(r):En(r)}const jr=new Set([`error`,`success`,`warning`]);function Mr(e){let t=e.indexOf(`-`);return t===-1?e:e.slice(0,t)}function Nr(e){return jr.has(Mr(e))}function Pr(e,t,n){if(Vn(t))return new tn(n??e.name,e.dark,e.vars);let r={...t,hueShift:0},i=new Map;for(let[n,a]of e.vars){let e=Nr(n)?r:t;i.set(n,Xn.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=Xn.fromRgba(a).l<.5;return new tn(n??e.name,o,i)}const Fr={linear:e=>e,step:()=>0},Ir=Object.keys(Fr);function Lr(e){if(!Object.hasOwn(Fr,e))throw RangeError(`unknown ramp easing ${JSON.stringify(e)}; expected one of `+Ir.map(e=>JSON.stringify(e)).join(`, `));return e}var Rr=class{easing;stops;constructor(e,t){if(this.easing=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=Fr[this.easing]((e-r.at)/(i.at-r.at));return a<=0?r.color:a>=1?i.color:Xn.fromRgba(r.color).mix(Xn.fromRgba(i.color),a).toRgba()}};function zr(e,t){return{owner:e.owner,row:e.row,col:e.col+t,inner:e.inner&&zr(e.inner,t)}}const Br=[`bold`,`dim`,`italic`,`underline`,`blink`,`blink2`,`reverse`,`conceal`,`strike`,`underline2`,`frame`,`encircle`,`overline`],Vr={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},Hr={b:`bold`,d:`dim`,i:`italic`,u:`underline`,s:`strike`,r:`reverse`,o:`overline`,uu:`underline2`};var Ur=class extends Error{constructor(e,t){super(e,t),this.name=`StyleSyntaxError`}};const Wr=new Map;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=ei(e.color),this.bgcolor=ei(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(zr(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&&ri(this.anchor,e.anchor)}drawnColors(e){let t=an,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[...Br.filter(e=>this[e]===!0).map(e=>`${Vr[e]}`),...t.color?.getAnsiCodes(!0)??[],...t.bgcolor?.getAnsiCodes(!1)??[]].join(`;`)}toString(){if(this.isNull)return`none`;let e=[];for(let t of Br)this[t]===!1&&e.push(`not ${t}`);for(let t of Br)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 Gr}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=Gr;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);if(n===``||n===`none`)return Gr;let r=Wr.get(n);if(r)return r;let i=$r(n);return Wr.set(n,i),i}};const Gr=new V,Kr=/^[a-z][a-z0-9._-]*$/;var qr=class{styles;constructor(e={},t){if(this.styles=new Map,t?.inherit!==!1)for(let[e,t]of Object.entries(ti))this.styles.set(e,t);for(let[t,n]of Object.entries(e)){if(!Kr.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:this.styles.get(e)??V.parse(e)}has(e){return this.styles.has(e)}};const Jr=new Set(Br),Yr=[`not`,`on`,`link`,...Br,...Ln];function Xr(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 Zr(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:Xr(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 Qr(e,t,n){try{return L.parse(e)}catch(r){throw new Ur(`${t} "${e}"${Zr(e,n)}: ${String(r)}`,{cause:r})}}function $r(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 Ur(`Expected attribute after "not" in style definition`);let i=Hr[e]??e;if(!Jr.has(i))throw new Ur(`Invalid attribute: "${e}"${Zr(e,Br)}`);n[i]=!1,r++;continue}if(e===`on`){r++;let e=t[r];if(!e)throw new Ur(`Expected color after "on" in style definition`);n.bgcolor=Qr(e,`Invalid background color`,Ln),r++;continue}if(e===`link`){r++;let e=t[r];e&&(n.link=e),r++;continue}let i=Hr[e]??e;if(Jr.has(i)){n[i]=!0,r++;continue}n.color=Qr(e,`Invalid style definition`,Yr),r++}return new V(n)}function ei(e){if(e!==void 0)return e instanceof L?e:L.parse(e)}const ti={none:Gr,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":Gr,"table.title":new V({italic:!0}),"table.caption":new V({italic:!0,dim:!0}),"repr.str":V.parse(`green`),"repr.number":V.parse(`cyan`),"repr.bool":V.parse(`italic bright_magenta`),"repr.none":V.parse(`italic magenta`),"repr.url":V.parse(`not italic underline bright_blue`),"repr.uuid":V.parse(`bright_yellow`),"repr.error":V.parse(`bold red`),"repr.indent":V.parse(`dim green`),"repr.attrib_name":V.parse(`yellow`),"repr.attrib_value":V.parse(`magenta`),"repr.attrib_equal":V.parse(`bold`),"repr.tag_start":V.parse(`bold`),"repr.tag_name":V.parse(`bright_magenta`),"repr.tag_contents":V.parse(`default`),"repr.tag_end":V.parse(`bold`),"log.time":V.parse(`cyan dim`),"log.message":Gr,"log.path":V.parse(`dim`),"log.line_no":V.parse(`cyan`),"log.level":Gr,"rule.line":V.parse(`green`),"rule.text":V.parse(`bold`),"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`),"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(`cyan on grey11`),"markdown.hr":V.parse(`yellow`),"markdown.link":V.parse(`bright_blue`),"markdown.link_url":V.parse(`blue`),"progress.description":Gr,"progress.percentage":V.parse(`cyan`),"progress.remaining":V.parse(`cyan`),"progress.elapsed":V.parse(`cyan`),"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(`magenta`),"bar.finished":V.parse(`green`),"bar.pulse":V.parse(`magenta`),"scrollbar.thumb":Gr,"scrollbar.track":V.parse(`grey37`),tree:Gr,"tree.guide":Gr,"status.spinner":V.parse(`green`),"status.message":Gr,prompt:V.parse(`bold`),"prompt.choices":V.parse(`magenta`),"prompt.default":V.parse(`cyan`),"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":Gr,"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:Gr,"iso8601.date":V.parse(`cyan`),"iso8601.time":V.parse(`cyan`),"iso8601.timezone":V.parse(`bright_blue`)},ni=new qr;function ri(e,t){return e===t?!0:!e||!t?!1:e.owner===t.owner&&e.row===t.row&&e.col===t.col&&ri(e.inner,t.inner)}var ii;(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`})(ii||={});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:M(this.text)}get hasText(){return this.text.length>0}get isControl(){return this.control!==void 0}splitCells(t){let n=this.cellLength;if(t>=n)return[this,new e(``)];if(t<=0)return[new e(``),this];let[r,i]=Gt(this.text,t);return[new e(r,this.style),new e(i,this.style?.shiftedBy(n-M(i)))]}static _line;static line(){return e._line??=new e(`
16
+ `)}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&&zr(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(`
17
17
  `)){r.push(i);continue}let a=t.split(`
18
- `);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(zt(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(`
19
- `);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=Ht(t[e],zt(r-i));i+=N(n),t[e]=n}let a=t.join(`
20
- `);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}ii(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;)a.isControl?t.push(a):(t.push(a),i+=a.cellLength),r++,a=e[r];if(a&&!a.isControl&&i<o){let e=zt(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 ii(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const ai=/^[\x00-\x7F]*$/;function oi(e,t,n,r=String){return e.asciiOnly===!0&&!ai.test(r(t))?n:t}function si(e,t){return(e.theme??ti).resolve(t)}function ci(e){return{...e,maxWidth:Vt(e.maxWidth)}}function li(e){return{...e,onDraw:void 0}}function ui(e,t){let n=ci(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(li(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:Vt(r)}}function*di(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function fi(e,t){let n=Ut(e,t);return N(n[0])>t?[``,...n]:n}function pi(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(zt(e))},a=0,o=0;for(let r of di(e)){let e=N(r.trimEnd());if(t-a>=e)a+=N(r);else if(n.fold&&e>t){let e=fi(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=N(r):n+=N(r)}}else i(o),a=N(r);o+=N(r)}return r}const mi=`\\x1b\\x07\\x9c`,hi=RegExp(`[${mi}]`,`g`);function gi(e){return e.replace(hi,``)}const _i=new TextEncoder;function vi(e){let t=2166136261;for(let n of _i.encode(e))t^=n,t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,`0`)}function yi(e){let t=gi(e);return`\x1b]8;id=${vi(t)};${t}\x1b\\`}const bi=RegExp(`\\x1b\\]8;([^;${mi}]*);([^${mi}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(bi.source,`g`);const xi=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Si(e){return e.replace(xi,``)}const Ci=/\s+$/;function wi(e){return e.map(e=>e.text).join(``)}function Ti(e){return N(Ci.exec(wi(e))?.[0]??``)}function Ei(e){let t=e.link;if(!t)return e;let n=gi(t);return n===t?e:e.withLink(n)}function Di(e){return e instanceof B?Ei(e.anchor?e.withAnchor(void 0):e):e}function Oi(e){return e instanceof B?e.isNull:e===``}function ki(e,t){return Ei(t instanceof B?t:Ai(e,t))}function Ai(e,t){try{return si(e,t)}catch(n){if(!(n instanceof Hr))throw n;return e.onStyleError?.(n,t),Wr}}var ji=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)}},H=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Si(e):``,this._spans=[],this._style=Di(t?.style??Wr),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
21
- `,this._tabSize=t?.tabSize??8,this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Si(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new ji(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return N(this._text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=Di(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 ki(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(ki(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=Si(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 ji(t,n,e.style))}return l}_addSpan(e,t,n){let r=Di(n);Oi(r)||this._spans.push(new ji(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??`
22
- `,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}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;let n=t?.mode??`right`,r=Vt(e),i=Kt(t?.marker??`…`,r),a=zt(r-N(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=zt(Math.floor(a/2)),s=zt(a-o),c=Kt(this._text,o).length,l=this._text.length-qt(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 ji(e.start,f,e.style)),e.end>p&&h.push(new ji(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=Kt(this._text,e)}_cropLeftTo(e){let t=this._text.length-qt(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new ji(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;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=this._expandTabs(this._text),n=this.resolvedStyle(e),r=this._buildSegments(t,n,e),i=V.splitLines(r),a=Vt(ui(e,this).maxWidth),o=this._overflow??e.overflow??`fold`,s=this._noWrap||(e.noWrap??!1),c=o===`ignore`?Vt(1/0):a,l=s?Vt(1/0):c,u=o===`ignore`?void 0:this._justify??e.justify,d=oi(e,`…`,`.`),f=t.endsWith(`
23
- `);for(let e=0;e<i.length;e+=1){let t=i[e],r=e<i.length-1||f,s=pi(wi(t),l,{fold:o===`fold`}),p=V.divide(t,s),m=this._justifyLines(p.map(e=>[...this._fitLine(e,c,o,d)]),a,n,u);for(let e=0;e<m.length;e+=1)yield*m[e],(e<m.length-1||r)&&(yield V.line())}this._end&&(yield new V(this._end))}measure(e){let t=this._expandTabs(this._text).split(`
24
- `),n=0,r=0;for(let e of t){let t=N(e);n=Math.max(n,t);let i=e.split(/\s+/);for(let e of i)e.length>0&&(r=Math.max(r,N(e)))}let i=Vt(e.maxWidth);return{minimum:Math.min(r,i),maximum:Math.min(n,i)}}_expandTabs(e){return e.includes(` `)?e.replace(/\t/g,` `.repeat(this._tabSize)):e}_buildSegments(e,t,n){let r=t=>Math.max(0,Math.min(t,e.length)),i=new Set([0,e.length]);for(let e of this._spans)i.add(r(e.start)),i.add(r(e.end));let a=[...i].sort((e,t)=>e-t),o=new Map(a.map((e,t)=>[e,t])),s=a.slice(0,-1).map(()=>t);for(let e of this._spans){let t=r(e.end),i=ki(n,e.style),c=o.get(r(e.start));for(let e=c;a[e]<t;e++)s[e]=s[e].add(i)}return s.map((t,n)=>new V(e.slice(a[n],a[n+1]),t.isNull?void 0:t))}_justifyLines(e,t,n,r){return r===`full`?e.map((r,i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,r)])}*_justifyLine(e,t,n){switch(n){case`center`:case`right`:{let r=V.adjustLineLength(e,V.getLineLength(e)-Ti(e),void 0,!1),i=Math.max(t-V.getLineLength(r),0),a=n===`center`?Math.floor(i/2):i;a>0&&(yield new V(` `.repeat(a))),yield*r;let o=i-a;o>0&&(yield new V(` `.repeat(o)));break}case`left`:yield*V.adjustLineLength(e,Math.max(t,V.getLineLength(e)));break;default:yield*e;break}}_fillLine(e,t,n){let r=wi(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+N(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+=N(i[e]),c.push(l),l+=1,e<a&&c.push(l);let u=V.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 V(` `.repeat(o[e]),i.isNull?void 0:i))}return f}*_fitLine(e,t,n,r){let i=V.getLineLength(e);if(i-Ti(e)<=t){yield*V.adjustLineLength(e,Math.min(i,t),void 0,!1);return}if(n===`ellipsis`&&t>0){yield*V.adjustLineLength(e,t-1,void 0,!1),yield new V(r);return}yield*V.adjustLineLength(e,t,void 0,!1)}},U=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length!==0){yield*this.joiner.join(null,t[0]).render(e);for(let n=0;n<t.length;n++){let r=t[n];yield*r.render(e);let i=n+1<t.length?t[n+1]:null;yield*this.joiner.join(r,i).render(e)}yield V.line()}}};const Mi={*render(e){}};function Ni(e){return{render:e}}function Pi(e){return new B({color:e.bgcolor})}function Fi(e){return e!==void 0&&!e.isDefault?e:void 0}function Ii(e){return new B({bgcolor:e}).drawnColors().bgcolor}function*Li(e,t){e!==``&&(yield new V(e,new B({color:Ii(t)})))}function Ri(e,t){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?Yn.fromRgba(i).deltaE(Yn.fromRgba(a))<.04:n.number===r.number}const zi=Object.freeze({glyph:``,divider:``,lead:``,tail:``}),Bi=Object.freeze({glyph:`>`,divider:`>`,lead:``,tail:`>`}),Vi=({glyph:e,divider:t,lead:n,tail:r})=>e+t+n+r;var Hi=class{_glyphs;constructor(e=zi){this._glyphs=e}join(e,t){let n=this._glyphs;return Ni(function*(r){let{glyph:i,divider:a,lead:o,tail:s}=oi(r,n,Bi,Vi),c=e?.edgeStyle(`right`,r),l=Fi(c?.bgcolor),u=Fi(t?.edgeStyle(`left`,r).bgcolor);if(l===void 0){u!==void 0&&(yield*Li(o,u));return}if(u===void 0){yield*Li(s,l);return}let d=new B({color:Ii(l),bgcolor:u});yield Ri(d,r.colorSystem)?new V(a,new B({color:c?.color,bgcolor:l})):new V(i,d)})}};const Ui={left:`(`,right:`)`},Wi=({left:e,right:t})=>e+t;var Gi=class{_caps;_separator;constructor(e){this._caps={left:e?.left??``,right:e?.right??``},this._separator=e?.separator??` `}*_emit(e,t,n){let r=oi(n,this._caps,Ui,Wi),i=oi(n,this._separator,` `);if(!(e===null&&t===null)){if(e===null){yield new V(r.left,Pi(t.edgeStyle(`left`,n)));return}if(t===null){yield new V(r.right,Pi(e.edgeStyle(`right`,n)));return}yield new V(r.right,Pi(e.edgeStyle(`right`,n))),i.length>0&&(yield new V(i)),yield new V(r.left,Pi(t.edgeStyle(`left`,n)))}}join(e,t){return Ni(n=>this._emit(e,t,n))}},Ki=class{_separator;_style;constructor(e){this._separator=e?.separator??` | `,this._style=e?.style??B.parse(`dim`)}join(e,t){if(e===null||t===null)return Mi;let n=this._separator,r=this._style;return Ni(e=>[new V(oi(e,n,` | `),r)])}};function qi(e,t){if(e.isControl||e.text.length===0)return;let n=e.style;return!n||n.isNull?{text:e.text,sgrCodes:``,link:void 0}:{text:e.text,sgrCodes:t.colorSystem===null?``:n.toSgrCodes(t.colorSystem),link:t.hyperlinks?n.link:void 0}}function Ji(e,t){let n=[];for(let r of e){let e=qi(r,t);e&&n.push(e)}if(n.length===0)return``;let r=[],i=0;for(;i<n.length;){let e=n[i].sgrCodes,t=i+1;for(;t<n.length&&n[t].sgrCodes===e;)t++;e.length>0&&r.push(`\x1b[${e}m`);let a=i;for(;a<t;){let e=n[a].link,i=a+1;for(;i<t&&n[i].link===e;)i++;if(e){r.push(yi(e));for(let e=a;e<i;e++)r.push(n[e].text);r.push(`\x1B]8;;\x1B\\`)}else for(let e=a;e<i;e++)r.push(n[e].text);a=i}e.length>0&&r.push(`\x1B[0m`),i=t}return r.join(``)}function Yi(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=mn(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,onStyleError:t?.onStyleError,colorSystem:o.colorSystem};return Ji(e.render(s),o)}function Xi(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Zi={segments:[],width:0},Qi={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function $i(e,t){return Qi[e](t)}function ea(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 ta=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=>Xi(t,e)),o=n=>i?Xi(i.join(null,t[n]),e):Zi,s=n=>i?Xi(i.join(t[n],null),e):Zi,c=(n,r)=>i?Xi(i.join(t[n],t[r]),e):Zi,l=[],u=null,d=r>0?{segments:[new V(` `.repeat(r))],width:r}:Zi;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=$i(p,i),o=ea(p,r,i,t.itemBlockIndices.length),s=new Map;t.itemBlockIndices.forEach((e,t)=>s.set(e,t)),a>0&&(yield new V(` `.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 V(` `.repeat(e)))}yield*t.blocks[e].segments}yield V.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=Xi(t[i],e).width,o=this.joiner?Xi(this.joiner.join(null,t[i]),e).width:0,s=this.joiner?Xi(this.joiner.join(t[i],null),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Xi(this.joiner.join(t[i-1],t[i]),e).width))}return this.joiner&&(r+=Xi(this.joiner.join(null,t[0]),e).width,r+=Xi(this.joiner.join(t[t.length-1],null),e).width),{minimum:n,maximum:r}}};const na=[`primary`,`secondary`,`accent`],ra=[0,.5,1],ia=1/0,aa={accent:{hues:[`secondary`,`accent`],run:ia},duo:{hues:[`primary`,`secondary`],run:ia},mono:{hues:[`primary`],run:ia},alt:{hues:[`secondary`,`accent`],run:3}},oa=`accent`,sa=e=>e.flatMap(e=>ra.map(t=>({hue:e,tone:t}))),ca=sa(na.filter(e=>Object.values(aa).some(({hues:t})=>t.includes(e)))),la=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},ua=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],da=e=>typeof e==`string`&&ua.includes(e),fa={"van-der-corput":la,"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},pa=e=>fa[e??`van-der-corput`];function ma(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 ha=(e,t)=>Math.floor(e*t),ga=(e,t)=>Math.round(e*t)%t;function _a(e){return e===void 0?0:e.distribution(e.index,e.count)}function va(e,t,n){let r=e[n(_a(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function ya(e,t){let n=t.findIndex(e=>e.axis===`cell`),r=n===-1?t:t.slice(0,n),i=t[r.length],{hues:a,run:o}=e,s=a[(ha(_a(r.at(-1)),a.length)+(i===void 0?0:Math.floor(i.index/o)))%a.length];if(s===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:s,tone:va(ra,i,ga)}}function ba(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}function xa(e,t){let n=Sa.get(e);n===void 0&&(n=new Map,Sa.set(e,n));let r=`${t.hue}|${t.tone}`,i=n.get(r);if(i!==void 0)return i;let a=Yn.fromRgba(ba(e,t.hue)),o=Yn.fromRgba(ba(e,`surface`)),s=(e,t)=>e.mixAxes(a,{l:t,c:.8,h:1,alpha:0}),c=s(o.mixAxes(Yn.fromRgba(ba(e,`background`)),{l:.5,c:0,h:0,alpha:0}),0).mixAxes(s(o,.35),{l:t.tone,c:t.tone,h:t.tone,alpha:0}).toRgba();return n.set(r,c),c}const Sa=new WeakMap,Ca=(e,t,n)=>xa(e,ya(t,n)),wa=2.2;function Ta(e,t,n){let r=Ea(e,t,n);if(`refused`in r)throw Error(r.refused);return r.state}function Ea(e,t,n){let r=Da.get(e);r===void 0&&(r=new Map,Da.set(e,r));let i=`${t}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=Oa(e,t,n);return r.set(i,o),o}const Da=new WeakMap;function Oa(e,t,n){let r=ca.map(t=>lr(xa(e,t),F.TRUECOLOR)),i=En(ba(e,`surface`),ba(e,t),.92),a=ba(e,`foreground`),o=r.reduce((e,t)=>sr(e,t,wa),a),s=[...Array.from({length:13},(e,t)=>En(i,a,t/12)),o].find(e=>r.every(t=>an(lr(e,F.TRUECOLOR),t)>=wa));if(s===void 0)return{refused:`palette "${e.name}": "${t}" cannot clear the ${wa} state floor even beyond foreground`};let c=cr(s,n,(e,t)=>r.every(n=>an(e,t(n))>=wa));return c===void 0?{refused:`palette "${e.name}": "${t}" cannot clear the ${wa} state floor on the colours drawn at depth ${F[n]}`}:{state:c}}const ka=4.5;function Aa(e,t,n){let r=ja.get(e);r===void 0&&(r=new Map,ja.set(e,r));let i=`${t.hex}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=or(t),s=sr([`background`,`foreground`].map(t=>ba(e,t)).reduce((e,t)=>an(o,t)<an(o,e)?t:e),t,ka,n);return r.set(i,s),s}const ja=new WeakMap,Ma={base:.42,perDepth:.14,cap:.75},Na={floor:.12,span:.8};function Pa(e,t){return na[(na.indexOf(e)+t)%na.length]}const Fa={triggerPlane:.1,nestedPlane:.035,nestedTriggerPlane:.08};function Ia(e,t,n){let r=`${t.hue}|${t.depth}|${n}`,i=Ha.get(e);i===void 0&&(i=new Map,Ha.set(e,i));let a=i.get(r);if(a!==void 0)return a;let o=Ta(e,Pa(t.hue,t.depth),n),s=Va(e,t,o,n),c=cr(Ra(e,t).plane,n,(e,t)=>s.every(([n,r])=>La(e,t(n))>=r));if(c===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 l={state:o,plane:c};return i.set(r,l),l}const La=(e,t)=>Yn.fromRgba(e).deltaE(Yn.fromRgba(t));function Ra(e,t){let n=`${t.hue}|${t.depth}`,r=za.get(e);r===void 0&&(r=new Map,za.set(e,r));let i=r.get(n);if(i!==void 0)return i;let a=Ba(e,t);return r.set(n,a),a}const za=new WeakMap;function Ba(e,t){let n=Ta(e,Pa(t.hue,t.depth),F.TRUECOLOR),r=Math.min(Ma.cap,Ma.base+Ma.perDepth*t.depth);return{state:n,plane:En(n,ba(e,`background`),r)}}function Va(e,t,n,r){let{hue:i,depth:a}=t,o=t=>Ra(e,{hue:i,depth:t}).state,s=t=>Ra(e,{hue:i,depth:t}).plane,c=e=>lr(e,F.TRUECOLOR),l=s(a),u=(e,t)=>La(c(l),c(t))>=e?e:0,d=Pa(i,a+1),f=Ea(e,d,r),p=Ea(e,d,F.TRUECOLOR);return[[n,u(Fa.triggerPlane,o(a))],...`state`in f&&`state`in p?[[f.state,u(Fa.nestedTriggerPlane,p.state)]]:[],...a>0?[[Ia(e,{hue:i,depth:a-1},r).plane,u(Fa.nestedPlane,s(a-1))]]:[]]}const Ha=new WeakMap;function Ua(e,t,n,r){let i=Ia(e,t,r),a=Ra(e,t),o=cr(En(a.plane,a.state,Na.floor+Na.span*ma(n)),r,(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex);if(o===void 0)throw Error(`palette "${e.name}": a ${t.hue} band item at depth ${t.depth} is drawn as its plane or its trigger at depth ${F[r]}, and nothing that depth draws is neither`);return o}const Wa=e=>({kind:`bar`,variation:e,address:[]}),Ga=(e,t)=>({...e,address:[...e.address,t]}),Ka=e=>({kind:`band`,band:e,address:[]});function qa(e,t,n){switch(t.kind){case`bar`:return{tint:Ca(e,t.variation,t.address),disclosure:{hue:oa,depth:0}};case`band`:return{tint:Ua(e,t.band,t.address,n),disclosure:{hue:t.band.hue,depth:t.band.depth+1}}}}const Ja=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function Ya(e){let t=typeof e==`string`?Ja.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const Xa=`textual-dark`;function Za(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function Qa(){return wr()}function $a(){return[`bar`,...Qa()]}let eo;function to(e){return eo??=new Set($a()),eo.has(e)}function no(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return Za(e===void 0?null:a(e),t,a(n??r),r,a)}const ro=[`style`,`palette`];function io(e){return e!==void 0&&e.includes(`{{`)}function ao(e,t,n,r,i){let a=io(n)?{kind:`expression`,source:n}:i(n??r.name);return Za(e===void 0?null:i(e),t,a,r,i)}function oo(e,t){return e.kind===`decided`?e:t(e.source)}const so=`none`;function co(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function lo(e,t){return co(e,t)??co(`none`,t)??{kind:`decided`,name:`none`,value:zn}}function uo(e,t,n,r){return ao(e,t,n,lo(so,r),e=>co(e,r))}const fo=[`powerline`,`capsule`,`plain`];function po(e){return fo.includes(e)}function mo(e,t,n){return Za(e,t,n,`powerline`,e=>po(e)?e:null)}const ho=[`unicode`,`ascii`],go=`unicode`,_o=[`truecolor`,`256`,`ansi`,`none`];function vo(e){return hn(e)??F.DEFAULT}const yo=Object.keys(aa);function bo(e){return yo.includes(e)}function xo(e,t,n){return Za(e,t,n,`accent`,e=>bo(e)?e:null)}const So=`true`,Co=`false`,wo=[So,Co],To={min:0,max:16};function Eo(e){return e===`true`?!0:e===`false`?!1:null}function Do(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function Oo(e){return Do(e,To)}function ko(e,t,n){return Za(e,t,n,!0,Eo)}function Ao(e,t,n){return Za(e,t,n,!0,Eo)}function jo(e,t,n){return Za(e,t,n,1,Oo)}var Mo=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const No=/[A-Za-z_$\p{L}]/u,Po=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,Fo=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,Io=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var Lo=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new Mo(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(Io.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
25
- `,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&&Fo.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 et.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new Mo(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
+ `);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(Ht(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(`
19
+ `);for(let e=0;e<t.length;e++){e>0&&(i=0);let[n]=Gt(t[e],Ht(r-i));i+=M(n),t[e]=n}let a=t.join(`
20
+ `);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}ai(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;)a.isControl?t.push(a):(t.push(a),i+=a.cellLength),r++,a=e[r];if(a&&!a.isControl&&i<o){let e=Ht(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 ai(e,t){return e===t?!0:!e||!t?!1:e.equals(t)}const oi=/^[\x00-\x7F]*$/;function si(e,t,n,r=String){return e.asciiOnly===!0&&!oi.test(r(t))?n:t}function ci(e,t){return(e.theme??ni).resolve(t)}function li(e){return{...e,maxWidth:Wt(e.maxWidth)}}function ui(e){return{...e,onDraw:void 0}}function di(e,t){let n=li(e);if(Number.isFinite(n.maxWidth))return n;let r=t.measure(ui(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:Wt(r)}}function*fi(e){let t=/\s*\S+\s*/y;for(let n=t.exec(e);n!==null;n=t.exec(e))yield n[0]}function pi(e,t){let n=Kt(e,t);return M(n[0])>t?[``,...n]:n}function mi(e,t,n){if(t<=0)return[];let r=[],i=e=>{e>0&&r.push(Ht(e))},a=0,o=0;for(let r of fi(e)){let e=M(r.trimEnd());if(t-a>=e)a+=M(r);else if(n.fold&&e>t){let e=pi(r,t),n=o;for(let t=0;t<e.length;t+=1){i(n);let r=e[t];t===e.length-1?a=M(r):n+=M(r)}}else i(o),a=M(r);o+=M(r)}return r}const hi=`\\x1b\\x07\\x9c`,gi=RegExp(`[${hi}]`,`g`);function _i(e){return e.replace(gi,``)}const vi=new TextEncoder;function yi(e){let t=2166136261;for(let n of vi.encode(e))t^=n,t=Math.imul(t,16777619);return(t>>>0).toString(16).padStart(8,`0`)}function bi(e){let t=_i(e);return`\x1b]8;id=${yi(t)};${t}\x1b\\`}const xi=RegExp(`\\x1b\\]8;([^;${hi}]*);([^${hi}]*)(?:\\x1b\\\\|\\x07|\\x9c)`);new RegExp(xi.source,`g`);const Si=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F]/g;function Ci(e){return e.replace(Si,``)}const wi=/\s+$/;function Ti(e){return e.map(e=>e.text).join(``)}function Ei(e){return M(wi.exec(Ti(e))?.[0]??``)}function Di(e){let t=e.link;if(!t)return e;let n=_i(t);return n===t?e:e.withLink(n)}function Oi(e){return e instanceof V?Di(e.anchor?e.withAnchor(void 0):e):e}function ki(e){return e instanceof V?e.isNull:e===``}function Ai(e,t){return Di(t instanceof V?t:ji(e,t))}function ji(e,t){try{return ci(e,t)}catch(n){if(!(n instanceof Ur))throw n;return e.onStyleError?.(n,t),Gr}}var U=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)}},W=class e{_text;_spans;_style;_justify;_overflow;_end;_tabSize;_noWrap;constructor(e,t){this._text=e?Ci(e):``,this._spans=[],this._style=Oi(t?.style??Gr),this._justify=t?.justify,this._overflow=t?.overflow,this._end=t?.end??`
21
+ `,this._tabSize=t?.tabSize??8,this._noWrap=t?.noWrap??!1}get plain(){return this._text}set plain(e){let t=Ci(e);this._text=t;let n=t.length;this._spans=this._spans.map(e=>e.end>n?new U(e.start,Math.min(e.end,n),e.style):e).filter(e=>e.start<n)}get length(){return this._text.length}get cellLength(){return M(this._text)}get hasContent(){return this._text.length>0}get style(){return this._style}set style(e){this._style=Oi(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 Ai(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(Ai(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=Ci(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 U(t,n,e.style))}return l}_addSpan(e,t,n){let r=Oi(n);ki(r)||this._spans.push(new U(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??`
22
+ `,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}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;let n=t?.mode??`right`,r=Wt(e),i=Yt(t?.marker??`…`,r),a=Ht(r-M(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=Ht(Math.floor(a/2)),s=Ht(a-o),c=Yt(this._text,o).length,l=this._text.length-Xt(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 U(e.start,f,e.style)),e.end>p&&h.push(new U(p+m,e.end+m,e.style)));return this._text=u+i+d,this._spans=h,this}_cropRightTo(e){this.plain=Yt(this._text,e)}_cropLeftTo(e){let t=this._text.length-Xt(this._text,e).length,n=-t;this._spans=this._spans.map(e=>{if(!(e.end<=t))return new U(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;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=this._expandTabs(this._text),n=this.resolvedStyle(e),r=this._buildSegments(t,n,e),i=H.splitLines(r),a=Wt(di(e,this).maxWidth),o=this._overflow??e.overflow??`fold`,s=this._noWrap||(e.noWrap??!1),c=o===`ignore`?Wt(1/0):a,l=s?Wt(1/0):c,u=o===`ignore`?void 0:this._justify??e.justify,d=si(e,`…`,`.`),f=t.endsWith(`
23
+ `);for(let e=0;e<i.length;e+=1){let t=i[e],r=e<i.length-1||f,s=mi(Ti(t),l,{fold:o===`fold`}),p=H.divide(t,s),m=this._justifyLines(p.map(e=>[...this._fitLine(e,c,o,d)]),a,n,u);for(let e=0;e<m.length;e+=1)yield*m[e],(e<m.length-1||r)&&(yield H.line())}this._end&&(yield new H(this._end))}measure(e){let t=this._expandTabs(this._text).split(`
24
+ `),n=0,r=0;for(let e of t){let t=M(e);n=Math.max(n,t);let i=e.split(/\s+/);for(let e of i)e.length>0&&(r=Math.max(r,M(e)))}let i=Wt(e.maxWidth);return{minimum:Math.min(r,i),maximum:Math.min(n,i)}}_expandTabs(e){return e.includes(` `)?e.replace(/\t/g,` `.repeat(this._tabSize)):e}_buildSegments(e,t,n){let r=t=>Math.max(0,Math.min(t,e.length)),i=new Set([0,e.length]);for(let e of this._spans)i.add(r(e.start)),i.add(r(e.end));let a=[...i].sort((e,t)=>e-t),o=new Map(a.map((e,t)=>[e,t])),s=a.slice(0,-1).map(()=>t);for(let e of this._spans){let t=r(e.end),i=Ai(n,e.style),c=o.get(r(e.start));for(let e=c;a[e]<t;e++)s[e]=s[e].add(i)}return s.map((t,n)=>new H(e.slice(a[n],a[n+1]),t.isNull?void 0:t))}_justifyLines(e,t,n,r){return r===`full`?e.map((r,i)=>i===e.length-1?r:this._fillLine(r,t,n)):e.map(e=>[...this._justifyLine(e,t,r)])}*_justifyLine(e,t,n){switch(n){case`center`:case`right`:{let r=H.adjustLineLength(e,H.getLineLength(e)-Ei(e),void 0,!1),i=Math.max(t-H.getLineLength(r),0),a=n===`center`?Math.floor(i/2):i;a>0&&(yield new H(` `.repeat(a))),yield*r;let o=i-a;o>0&&(yield new H(` `.repeat(o)));break}case`left`:yield*H.adjustLineLength(e,Math.max(t,H.getLineLength(e)));break;default:yield*e;break}}_fillLine(e,t,n){let r=Ti(e),i=r.split(` `);r.endsWith(` `)&&i.pop();let a=i.length-1,o=Array(a).fill(1),s=i.reduce((e,t)=>e+M(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+=M(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-Ei(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)}},Mi=class{items;joiner;constructor(e,t){this.items=e,this.joiner=t}*render(e){let t=this.items;if(t.length!==0){yield*this.joiner.join(null,t[0]).render(e);for(let n=0;n<t.length;n++){let r=t[n];yield*r.render(e);let i=n+1<t.length?t[n+1]:null;yield*this.joiner.join(r,i).render(e)}yield H.line()}}};const Ni={*render(e){}};function Pi(e){return{render:e}}function Fi(e){return new V({color:e.bgcolor})}function Ii(e){return e!==void 0&&!e.isDefault?e:void 0}function Li(e){return new V({bgcolor:e}).drawnColors().bgcolor}function*Ri(e,t){e!==``&&(yield new H(e,new V({color:Li(t)})))}function zi(e,t){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?Xn.fromRgba(i).deltaE(Xn.fromRgba(a))<.04:n.number===r.number}const Bi=Object.freeze({glyph:``,divider:``,lead:``,tail:``}),Vi=Object.freeze({glyph:`>`,divider:`>`,lead:``,tail:`>`}),Hi=({glyph:e,divider:t,lead:n,tail:r})=>e+t+n+r;var Ui=class{_glyphs;constructor(e=Bi){this._glyphs=e}join(e,t){let n=this._glyphs;return Pi(function*(r){let{glyph:i,divider:a,lead:o,tail:s}=si(r,n,Vi,Hi),c=e?.edgeStyle(`right`,r),l=Ii(c?.bgcolor),u=Ii(t?.edgeStyle(`left`,r).bgcolor);if(l===void 0){u!==void 0&&(yield*Ri(o,u));return}if(u===void 0){yield*Ri(s,l);return}let d=new V({color:Li(l),bgcolor:u});yield zi(d,r.colorSystem)?new H(a,new V({color:c?.color,bgcolor:l})):new H(i,d)})}};const Wi={left:`(`,right:`)`},Gi=({left:e,right:t})=>e+t;var Ki=class{_caps;_separator;constructor(e){this._caps={left:e?.left??``,right:e?.right??``},this._separator=e?.separator??` `}*_emit(e,t,n){let r=si(n,this._caps,Wi,Gi),i=si(n,this._separator,` `);if(!(e===null&&t===null)){if(e===null){yield new H(r.left,Fi(t.edgeStyle(`left`,n)));return}if(t===null){yield new H(r.right,Fi(e.edgeStyle(`right`,n)));return}yield new H(r.right,Fi(e.edgeStyle(`right`,n))),i.length>0&&(yield new H(i)),yield new H(r.left,Fi(t.edgeStyle(`left`,n)))}}join(e,t){return Pi(n=>this._emit(e,t,n))}},qi=class{_separator;_style;constructor(e){this._separator=e?.separator??` | `,this._style=e?.style??V.parse(`dim`)}join(e,t){if(e===null||t===null)return Ni;let n=this._separator,r=this._style;return Pi(e=>[new H(si(e,n,` | `),r)])}};function Ji(e,t){if(e.isControl||e.text.length===0)return;let n=e.style;return!n||n.isNull?{text:e.text,sgrCodes:``,link:void 0}:{text:e.text,sgrCodes:t.colorSystem===null?``:n.toSgrCodes(t.colorSystem),link:t.hyperlinks?n.link:void 0}}function Yi(e,t){let n=[];for(let r of e){let e=Ji(r,t);e&&n.push(e)}if(n.length===0)return``;let r=[],i=0;for(;i<n.length;){let e=n[i].sgrCodes,t=i+1;for(;t<n.length&&n[t].sgrCodes===e;)t++;e.length>0&&r.push(`\x1b[${e}m`);let a=i;for(;a<t;){let e=n[a].link,i=a+1;for(;i<t&&n[i].link===e;)i++;if(e){r.push(bi(e));for(let e=a;e<i;e++)r.push(n[e].text);r.push(`\x1B]8;;\x1B\\`)}else for(let e=a;e<i;e++)r.push(n[e].text);a=i}e.length>0&&r.push(`\x1B[0m`),i=t}return r.join(``)}function Xi(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=gn(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,onStyleError:t?.onStyleError,colorSystem:o.colorSystem};return Yi(e.render(s),o)}function Zi(e,t){let n=[...e.render(t)],r=0;for(let e of n)r+=e.cellLength;return{segments:n,width:r}}const Qi={segments:[],width:0},$i={left:()=>0,justify:()=>0,center:e=>Math.floor(e/2),right:e=>e};function ea(e,t){return $i[e](t)}function ta(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 na=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=>Zi(t,e)),o=n=>i?Zi(i.join(null,t[n]),e):Qi,s=n=>i?Zi(i.join(t[n],null),e):Qi,c=(n,r)=>i?Zi(i.join(t[n],t[r]),e):Qi,l=[],u=null,d=r>0?{segments:[new H(` `.repeat(r))],width:r}:Qi;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=ea(p,i),o=ta(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=Zi(t[i],e).width,o=this.joiner?Zi(this.joiner.join(null,t[i]),e).width:0,s=this.joiner?Zi(this.joiner.join(t[i],null),e).width:0;n=Math.max(n,a+o+s),r+=a,i>0&&(r+=this.gap*2,this.joiner&&(r+=Zi(this.joiner.join(t[i-1],t[i]),e).width))}return this.joiner&&(r+=Zi(this.joiner.join(null,t[0]),e).width,r+=Zi(this.joiner.join(t[t.length-1],null),e).width),{minimum:n,maximum:r}}};const ra=[`primary`,`secondary`,`accent`],ia=[0,.5,1],aa=1/0,oa={accent:{hues:[`secondary`,`accent`],run:aa},duo:{hues:[`primary`,`secondary`],run:aa},mono:{hues:[`primary`],run:aa},alt:{hues:[`secondary`,`accent`],run:3}},sa=`accent`,ca=e=>e.flatMap(e=>ia.map(t=>({hue:e,tone:t}))),la=ca(ra.filter(e=>Object.values(oa).some(({hues:t})=>t.includes(e)))),ua=e=>{let t=0,n=.5;for(let r=e;r>0;r>>=1,n/=2)t+=n*(r&1);return t},da=[`van-der-corput`,`golden-angle`,`ends-interleaved`,`monotonic`,`uniform`],fa=e=>typeof e==`string`&&da.includes(e),pa={"van-der-corput":ua,"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},ma=e=>pa[e??`van-der-corput`];function ha(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 ga=(e,t)=>Math.floor(e*t),_a=(e,t)=>Math.round(e*t)%t;function va(e){return e===void 0?0:e.distribution(e.index,e.count)}function ya(e,t,n){let r=e[n(va(t),e.length)];if(r===void 0)throw Error(`vocabularySelect: empty vocabulary`);return r}function ba(e,t){let n=t.findIndex(e=>e.axis===`cell`),r=n===-1?t:t.slice(0,n),i=t[r.length],{hues:a,run:o}=e,s=a[(ga(va(r.at(-1)),a.length)+(i===void 0?0:Math.floor(i.index/o)))%a.length];if(s===void 0)throw Error(`decorEntryFor: empty variation`);return{hue:s,tone:ya(ia,i,_a)}}function xa(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}function Sa(e,t){let n=Ca.get(e);n===void 0&&(n=new Map,Ca.set(e,n));let r=`${t.hue}|${t.tone}`,i=n.get(r);if(i!==void 0)return i;let a=Xn.fromRgba(xa(e,t.hue)),o=Xn.fromRgba(xa(e,`surface`)),s=(e,t)=>e.mixAxes(a,{l:t,c:.8,h:1,alpha:0}),c=s(o.mixAxes(Xn.fromRgba(xa(e,`background`)),{l:.5,c:0,h:0,alpha:0}),0).mixAxes(s(o,.35),{l:t.tone,c:t.tone,h:t.tone,alpha:0}).toRgba();return n.set(r,c),c}const Ca=new WeakMap,wa=(e,t,n)=>Sa(e,ba(t,n)),Ta=2.2;function Ea(e,t,n){let r=Da(e,t,n);if(`refused`in r)throw Error(r.refused);return r.state}function Da(e,t,n){let r=Oa.get(e);r===void 0&&(r=new Map,Oa.set(e,r));let i=`${t}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=ka(e,t,n);return r.set(i,o),o}const Oa=new WeakMap;function ka(e,t,n){let r=la.map(t=>ur(Sa(e,t),F.TRUECOLOR)),i=Dn(xa(e,`surface`),xa(e,t),.92),a=xa(e,`foreground`),o=r.reduce((e,t)=>cr(e,t,Ta),a),s=[...Array.from({length:13},(e,t)=>Dn(i,a,t/12)),o].find(e=>r.every(t=>sn(ur(e,F.TRUECOLOR),t)>=Ta));if(s===void 0)return{refused:`palette "${e.name}": "${t}" cannot clear the ${Ta} state floor even beyond foreground`};let c=lr(s,n,(e,t)=>r.every(n=>sn(e,t(n))>=Ta));return c===void 0?{refused:`palette "${e.name}": "${t}" cannot clear the ${Ta} state floor on the colours drawn at depth ${F[n]}`}:{state:c}}const Aa=4.5;function ja(e,t,n){let r=Ma.get(e);r===void 0&&(r=new Map,Ma.set(e,r));let i=`${t.hex}|${n}`,a=r.get(i);if(a!==void 0)return a;let o=sr(t),s=cr([`background`,`foreground`].map(t=>xa(e,t)).reduce((e,t)=>sn(o,t)<sn(o,e)?t:e),t,Aa,n);return r.set(i,s),s}const Ma=new WeakMap,Na={base:.42,perDepth:.14,cap:.75},Pa={floor:.12,span:.8};function Fa(e,t){return ra[(ra.indexOf(e)+t)%ra.length]}const Ia={triggerPlane:.1,nestedPlane:.035,nestedTriggerPlane:.08};function La(e,t,n){let r=`${t.hue}|${t.depth}|${n}`,i=Ua.get(e);i===void 0&&(i=new Map,Ua.set(e,i));let a=i.get(r);if(a!==void 0)return a;let o=Ea(e,Fa(t.hue,t.depth),n),s=Ha(e,t,o,n),c=lr(za(e,t).plane,n,(e,t)=>s.every(([n,r])=>Ra(e,t(n))>=r));if(c===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 l={state:o,plane:c};return i.set(r,l),l}const Ra=(e,t)=>Xn.fromRgba(e).deltaE(Xn.fromRgba(t));function za(e,t){let n=`${t.hue}|${t.depth}`,r=Ba.get(e);r===void 0&&(r=new Map,Ba.set(e,r));let i=r.get(n);if(i!==void 0)return i;let a=Va(e,t);return r.set(n,a),a}const Ba=new WeakMap;function Va(e,t){let n=Ea(e,Fa(t.hue,t.depth),F.TRUECOLOR),r=Math.min(Na.cap,Na.base+Na.perDepth*t.depth);return{state:n,plane:Dn(n,xa(e,`background`),r)}}function Ha(e,t,n,r){let{hue:i,depth:a}=t,o=t=>za(e,{hue:i,depth:t}).state,s=t=>za(e,{hue:i,depth:t}).plane,c=e=>ur(e,F.TRUECOLOR),l=s(a),u=(e,t)=>Ra(c(l),c(t))>=e?e:0,d=Fa(i,a+1),f=Da(e,d,r),p=Da(e,d,F.TRUECOLOR);return[[n,u(Ia.triggerPlane,o(a))],...`state`in f&&`state`in p?[[f.state,u(Ia.nestedTriggerPlane,p.state)]]:[],...a>0?[[La(e,{hue:i,depth:a-1},r).plane,u(Ia.nestedPlane,s(a-1))]]:[]]}const Ua=new WeakMap;function Wa(e,t,n,r){let i=La(e,t,r),a=za(e,t),o=lr(Dn(a.plane,a.state,Pa.floor+Pa.span*ha(n)),r,(e,t)=>e.hex!==t(i.plane).hex&&e.hex!==t(i.state).hex);if(o===void 0)throw Error(`palette "${e.name}": a ${t.hue} band item at depth ${t.depth} is drawn as its plane or its trigger at depth ${F[r]}, and nothing that depth draws is neither`);return o}const Ga=e=>({kind:`bar`,variation:e,address:[]}),Ka=(e,t)=>({...e,address:[...e.address,t]}),qa=e=>({kind:`band`,band:e,address:[]});function Ja(e,t,n){switch(t.kind){case`bar`:return{tint:wa(e,t.variation,t.address),disclosure:{hue:sa,depth:0}};case`band`:return{tint:Wa(e,t.band,t.address,n),disclosure:{hue:t.band.hue,depth:t.band.depth+1}}}}const Ya=new Map([[`dark`,`textual-dark`],[`light`,`textual-light`]]);function Xa(e){let t=typeof e==`string`?Ya.get(e):void 0;return t===void 0?``:` — "${e}" was retired; write "${t}", the same palette`}const Za=`textual-dark`;function Qa(e,t,n,r,i){let a=t===null?null:i(t);return e??a??n??r}function $a(){return Tr()}function eo(){return[`bar`,...$a()]}let to;function no(e){return to??=new Set(eo()),to.has(e)}function ro(e,t,n,r,i){let a=e=>Object.prototype.hasOwnProperty.call(i,e)?e:null;return Qa(e===void 0?null:a(e),t,a(n??r),r,a)}const io=[`style`,`palette`];function ao(e){return e!==void 0&&e.includes(`{{`)}function oo(e,t,n,r,i){let a=ao(n)?{kind:`expression`,source:n}:i(n??r.name);return Qa(e===void 0?null:i(e),t,a,r,i)}function so(e,t){return e.kind===`decided`?e:t(e.source)}const co=`none`;function lo(e,t){let n=t[e];return n===void 0?null:{kind:`decided`,name:e,value:n}}function uo(e,t){return lo(e,t)??lo(`none`,t)??{kind:`decided`,name:`none`,value:Bn}}function fo(e,t,n,r){return oo(e,t,n,uo(co,r),e=>lo(e,r))}const po=[`powerline`,`capsule`,`plain`];function mo(e){return po.includes(e)}function ho(e,t,n){return Qa(e,t,n,`powerline`,e=>mo(e)?e:null)}const go=[`unicode`,`ascii`],_o=`unicode`,vo=[`truecolor`,`256`,`ansi`,`none`];function yo(e){return _n(e)??F.DEFAULT}const bo=Object.keys(oa);function xo(e){return bo.includes(e)}function So(e,t,n){return Qa(e,t,n,`accent`,e=>xo(e)?e:null)}const Co=`true`,wo=`false`,To=[Co,wo],Eo={min:0,max:16};function Do(e){return e===`true`?!0:e===`false`?!1:null}function Oo(e,t){let n=Number(e);return Number.isInteger(n)&&String(n)===e&&n>=t.min&&n<=t.max?n:null}function ko(e){return Oo(e,Eo)}function Ao(e,t,n){return Qa(e,t,n,!0,Do)}function jo(e,t,n){return Qa(e,t,n,!0,Do)}function Mo(e,t,n){return Qa(e,t,n,1,ko)}var No=class extends Error{constructor(e,t){super(`${e} (at offset ${t})`),this.reason=e,this.offset=t,this.name=`Json5EditError`}};const Po=/[A-Za-z_$\p{L}]/u,Fo=/[A-Za-z0-9_$\u200C\u200D\p{L}\p{N}]/u,Io=/[A-Za-z0-9_$.+\-\p{L}\p{N}]/u,Lo=/[\t\n\v\f\r \u00A0\uFEFF\u2028\u2029\p{Zs}]/u;var Ro=class{pos=0;constructor(e){this.text=e}peek(){return this.text[this.pos]??``}fail(e){throw new No(e,this.pos)}skipTrivia(){for(;;){let e=this.peek();if(e===``)return;if(Lo.test(e))this.pos++;else if(e===`/`&&this.text[this.pos+1]===`/`){let e=this.text.indexOf(`
25
+ `,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&&Io.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 rt.default.parse(this.text.slice(e.start,e.end))}catch(t){throw new No(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
26
26
  `,this.pos+1);this.pos+=e?3:2;continue}if(this.pos++,n===t)return{start:e,end:this.pos};n===`
27
- `&&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(No.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&Po.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 Mo(`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 Ro(e){let t=new Lo(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function zo(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function Bo(e,t){let n=e;for(let e of t)n=n===void 0?void 0:zo(n,e)?.value;return n}function Vo(e,t){return e.slice(t.span.start,t.span.end)}function Ho(e,t){let n=ts(e,t.span.start),r=Uo(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return Vo(e,t).split(`
27
+ `&&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(Po.test(e)||this.fail(`expected an object key`);this.pos<this.text.length&&Fo.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 No(`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 zo(e){let t=new Ro(e),n=t.value();return t.skipTrivia(),t.pos!==e.length&&t.fail(`trailing content after the document`),n}function Bo(e,t){return e.kind===`object`?e.entries.find(e=>e.key===t):void 0}function Vo(e,t){let n=e;for(let e of t)n=n===void 0?void 0:Bo(n,e)?.value;return n}function Ho(e,t){return e.slice(t.span.start,t.span.end)}function Uo(e,t){let n=ns(e,t.span.start),r=Wo(t),i=e=>r.some(t=>t.start<e&&e<t.end),a=t.span.start;return Ho(e,t).split(`
28
28
  `).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(`
29
- `)}function Uo(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...Uo(e.value)]);case`array`:return e.elements.flatMap(Uo);case`string`:return[e.span];default:return[]}}const Wo=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Go(e){return Wo.test(e)?e:JSON.stringify(e)}const Ko={key:Go,trailingComma:`,`,parse:e=>et.default.parse(e)},qo={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Jo(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Xo(Jo(e),` `,`
29
+ `)}function Wo(e){switch(e.kind){case`object`:return e.entries.flatMap(e=>[e.keySpan,...Wo(e.value)]);case`array`:return e.elements.flatMap(Wo);case`string`:return[e.span];default:return[]}}const Go=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Ko(e){return Go.test(e)?e:JSON.stringify(e)}const qo={key:Ko,trailingComma:`,`,parse:e=>rt.default.parse(e)},Jo={key:e=>JSON.stringify(e),trailingComma:``,parse:e=>JSON.parse(e)};function Yo(e){if(Array.isArray(e))return e.length===0?`[]`:`[\n${e.map(e=>` ${Zo(Yo(e),` `,`
30
30
  `)},`).join(`
31
- `)}\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])=>` ${Go(e)}: ${Xo(Jo(t),` `,`
31
+ `)}\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])=>` ${Ko(e)}: ${Zo(Yo(t),` `,`
32
32
  `)},`).join(`
33
- `)}\n}`}return JSON.stringify(e)}function Yo(e){return e.includes(`\r
33
+ `)}\n}`}return JSON.stringify(e)}function Xo(e){return e.includes(`\r
34
34
  `)?`\r
35
35
  `:`
36
- `}function Xo(e,t,n){return e.split(`
37
- `).join(`${n}${t}`)}function Zo(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Xo(Zo(i,t,n),` `,`
38
- `)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function Qo(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function $o(e,t){return e.lastIndexOf(`
39
- `,t-1)+1}function es(e){return/^[ \t]*$/.test(e)}function ts(e,t){let n=$o(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function ns(e,t){return es(e.slice($o(e,t),t))}const rs=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function is(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++;rs.lastIndex=n;let i=rs.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 as(e,t){let{commaEnd:n,line:r}=is(e,t.end);if(ns(e,t.start)&&r!==null)return Qo(e,$o(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return Qo(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?Qo(e,i-1,t.end,``):Qo(e,t.start,t.end,``)}function os(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:Qo(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=Yo(e);return Qo(o,s,s,`${c}${i}${Xo(r,i,c)}${a?`,`:``}`)}function ss(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=ts(e,t.span.start);if(a===void 0){let i=o+` `,a=Yo(e);return Qo(e,t.span.start+1,t.span.end-1,`${a}${i}${Xo(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=is(e,a.span.end);if(ns(e,a.span.start)&&c!==null){let t=e.slice($o(e,a.span.start),a.span.start);return os(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return Qo(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function cs(e,t,n,r){if(t.length===0)throw new Mo(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=Yo(e);return`{${i} ${Xo(Zo(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return ls(e,Ro(e),t,n,r)}function ls(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new Mo(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=zo(a,n[t]);if(o===void 0)return ss(e,a,Zo(n.slice(t),r,i),i);if(t===n.length-1){let t=ts(e,o.keySpan.start);return Qo(e,o.value.span.start,o.value.span.end,Xo(r,t,Yo(e)))}a=o.value}throw new Mo(`unreachable: path exhausted`,0)}function us(e,t,n=0){if(t.length===0)throw new Mo(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=Bo(Ro(e),r),a=i===void 0?void 0:zo(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=as(e,a.span);return r.length>n&&i.entries.length===1?us(o,r,n):o}const ds=[`h`,`v`,`children`];function fs(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=zo(e,`seg`)?.value,n=zo(e,`kind`)?.value,r=zo(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=zo(e,`id`)?.value;return a?.kind===`string`?a.value:i}function ps(e){return e.kind===`object`?ds.map(t=>zo(e,t)?.value).filter(e=>e?.kind===`array`):[]}function ms(e){let t=zo(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function hs(e){if(e.kind!==`object`)return!0;let t=ms(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*gs(e,t){yield{node:e,bareAt:t};for(let t of ps(e))for(let e of t.elements)yield*gs(e,null);for(let n of ms(e)??[])yield*gs(n.value,t===null?null:[...t,`rows`,n.key])}function _s(e,t){for(let{node:n}of gs(e,null))if(fs(n)===t)return!0;return!1}function vs(e,t,n){let r=Bo(Ro(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of gs(r,t))if(fs(i)===n)return a===null?{text:e,ref:i}:vs(cs(e,a,`{ h: [${Vo(e,i)}] }`,Ko),t,n);return null}function ys(e,t,n){let r=vs(e,t,n);return r===null?null:as(r.text,r.ref.span)}function bs(e,t,n,r,i){let a=vs(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}=is(o,s.span.end);if(ns(o,s.span.start)&&u!==null){let e=o.slice($o(o,s.span.start),s.span.start);return i===`after`?os(o,s.span,{commaEnd:l,line:u},c,e):Qo(o,s.span.start,s.span.start,`${c},${Yo(o)}${e}`)}let d=Vo(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return Qo(o,s.span.start,s.span.end,f)}function xs(e,t,n,r,i){let a=vs(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${Go(r)}: ${i} }`;return s.kind===`string`?Qo(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):zo(s,`settings`)===void 0?ls(o,s,[`settings`],c,Ko):ls(o,s,[`settings`,r],i,Ko)}var Ss=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(Es(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=Cs(e,n,i);if(t===-1)return r===void 0?void 0:ws(e,r);n=t,r=t}return r===void 0?void 0:ws(e,r)}function Cs(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 ws(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function Ts(e,t){try{return Ro(t),null}catch(n){if(!(n instanceof Mo))throw n;return`${e}:${ws(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function Es(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(`
40
- `)}const Ds=[`vertical`,`horizontal`],Os={vertical:`row`,horizontal:`cell`};function ks(e){return e.id??e.name}function As(e){return[...Ns(e)].flatMap(e=>e.kind===`segment`?[ks(e)]:[])}function js(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function Ms(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*Ns(e){yield e;for(let t of Ls(e))yield*Ns(t)}const Ps=(e,t)=>`${e}.children[${t}]`,Fs=e=>`${e}.opens.body`;function*Is(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*Is(r,Ps(t,n));else e.opens!==void 0&&(yield*Is(e.opens.body,Fs(t)))}function Ls(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}function Rs(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const zs=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function Bs(e){return e.kind!==`literal`&&e.kind!==`input`&&e.kind!==`env`&&e.kind!==`git`&&e.kind!==`state`}const Vs=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],Hs=`theme`;function Us(e){return{...e.settings,[Hs]:{label:Hs,domain:`theme`,default:e.palette??`bar`}}}function Ws(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Gs(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Ws(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 Ks(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&to(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function qs(e){return String(e)}function Js(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return Do(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return Ks(e,r)?r:void 0}function Ys(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 Xs=[`left`,`center`,`right`],Zs=[`right`,`left`,`middle`];function Qs(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 ${ic(i)}`,line:W(e.source,[...t.split(`.`),r])}),null)}function $s(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 ${ic(i)}`,line:W(e.source,[...t.split(`.`),`default`])});return}return i}}function ec(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 ${ic(i)}`,line:W(e.source,[...t.split(`.`),r])});return}return i}}function tc(e,t,n){let r=ec(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${Ya(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:W(e.source,[...t.split(`.`),`palette`])});return}return r}}function nc(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 rc(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ic(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 ac(e,t,n,r){return rc(r)?(lc(e,n,r,t.noun,new Set(Object.keys(t.fields)),oc(e,t.removed??{},n,r)),sc(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${ic(r)}`,line:W(e.source,n.split(`.`))}),null)}function oc(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)uc(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function sc(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 cc=new Set;function lc(e,t,n,r,i,a=cc){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 uc(e,t,n){return e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))}),null}function dc(e,t,n,r){if(!rc(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${ic(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 fc(e,t,n,r){if(!rc(r))return e.issues.push({path:n,message:`${n} must be an object, got ${ic(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 ${ic(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 lc(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function pc(e,t,n){return{json:Dc(Tc(n),e,t),keys:new Set([e,...Object.keys(n)])}}function mc(e){return(...t)=>e()(...t)}function hc(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 gc(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>ec(e,t,r,n)}}function _c(){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 ${ic(i)}`,line:W(e.source,[n])});return}return i}}}}function vc(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 yc(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 bc(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>tc(e,t,r)}}function xc(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>Qs(e,t,r,n)??void 0}}function Sc(e,t){return d(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function Cc(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=Qs(e,t,r,n);if(i===null)return;let a=Sc(`${t}.${n}`,i);return a===null?i:uc(e,`${t}.${n}`,a)??void 0}}}function wc(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>nc(t,n,i,r,e)}}function Tc(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 Ec(e){return Tc(e.fields)}function Dc(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function Oc(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function kc(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const Ac=/^[A-Za-z_][A-Za-z0-9_]*$/;function jc(e){return`#${e+1}`}const Mc={rows:{}};function Nc(e){return`rows`in e}function Pc(e){return Object.fromEntries(e.map((e,t)=>[jc(t),e]))}function Fc(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Pc(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Pc([n])}}function Ic(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Lc(e){return Nc(e)?Ic(e):e}function*Rc(e,t){if(!Nc(e)){yield*Is(e,t);return}yield[Ic(e),t];for(let[n,r]of Object.entries(e.rows))yield*Is(r,`${t}.rows.${n}`)}function zc(e,t){return Nc(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Fc(e)}function Bc(e){if(!Nc(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function Vc(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:Wc(t.segments,Hc(t.segments,e.segments??{})),root:zc(e.root??Mc,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:Wc(t.presets,Uc(t.presets,e.presets??{})),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function Hc(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 Uc(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 Wc(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const Gc=`closed`,Kc=`🍫`;function qc(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 Jc(e,t,n,r){let i=qc(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Yc(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Xc(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Zc(e,...t){return`{{ and ${[e,...t].map(Qc).join(` `)} }}`}function Qc(e){return`(eq .${e.variable} "${Yc(e.member)}")`}function $c(e,t,n){return`{{ ${el(e,tl(t),tl(n))} }}`}function el(e,t,n){return`action "${e}" ${t} ${n}`}function tl(e){return`"${Yc(e)}"`}function nl(e,t){return{kind:`state`,key:e,default:t}}function rl(e,t){return{set:e,cycle:[Gc,t]}}const il={required:!1,json:{enum:[..._o]},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: ${_o.join(`, `)}`,line:W(e.source,[...t.split(`.`),n])});return}return nc(e,t,r,n,_o)}},al={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=ec(e,t,r,n);return io(i)?i:tc(e,t,r)}},ol=/^[^\r\n]*\S[^\r\n]*$/u,sl=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),cl={required:!1,json:{type:`string`,pattern:ol.source,not:{pattern:sl.source}},parse:(e,t,n,r)=>{let i=ec(e,t,r,n);if(i===void 0||ol.test(i)&&!sl.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 ll(e){return{spec:wc(e),domain:{from:e}}}function ul(){return{spec:_c(),domain:`bool`}}function dl(e){return{spec:e,domain:`text`}}const fl={default_empty_value:dl(gc()),default_separator:dl(gc()),palette:{spec:al,domain:{from:`themes`}},style:{spec:gc(),domain:{from:`styles`}},preset:{spec:gc(),domain:{from:`presets`}},endcaps:ll(fo),variation:ll(yo),autoWrap:ul(),padding:{spec:vc(To),domain:{...To,step:1}},charset:ll(ho),updateNotice:ul(),colorCompatibility:{spec:il,domain:{from:_o}},menuGlyph:dl(cl)},pl=Object.fromEntries(Object.entries(fl).map(([e,t])=>[e,t.spec]));function ml(e){return fl[e].domain}function hl(e){let t=ml(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 gl(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 _l(e){return gl(`${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 vl(e){return gl(`${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 yl(e,t){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(n,r,i,a)=>{let o=a[i];if(typeof o==`string`&&io(o)){n.issues.push({path:`${r}.${i}`,message:`${r}.${i}: a rule is not allowed here — ${t} is decided later than any rule could be settled, so it names a value. Write the rule in globals.${i} (or a preset's globals.${i}) instead.`,line:W(n.source,[...r.split(`.`),i])});return}return e.parse(n,r,i,a)}}}const bl={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)`},xl={noun:`globals key`,fields:pl,removed:bl},Sl={preset:_l(`a preset`),menuGlyph:vl(`a preset`)},Cl={noun:`preset globals key`,fields:{...pl,...Sl},removed:bl};function wl(e){return jl(e)&&!(e in Sl)}const Tl={noun:`editGlobals key`,removed:bl,fields:{...pl,preset:_l(`the editGlobals fragment`),menuGlyph:vl(`the editGlobals fragment`),palette:yl(pl.palette,`the editGlobals fragment`),style:yl(pl.style,`the editGlobals fragment`)}};function El(e,t,n){return n===void 0?{}:ac(e,xl,t,n)??{}}function Dl(e,t,n){return ac(e,Cl,t,n)??{}}function Ol(){return Ec(Cl)}function kl(e,t,n){return ac(e,Tl,t,n)??{}}const Al=new Set(Object.keys(pl));function jl(e){return Al.has(e)}function Ml(){return[...Al]}const Nl={padding:1};function Pl(e){let t=new Map;for(let[n,r]of Object.entries(Nl)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function Fl(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: ${zs.join(`, `)})`,line:W(e.source,t.split(`.`))}),null):Bl(e,`${t}.cache`,n.cache)}function Il(e,t,n){if(n.cache!==void 0)return Bl(e,`${t}.cache`,n.cache)??void 0}function Ll(e){return{required:!0,json:Ul(),parse:(t,n,r,i)=>Fl(t,n,i,e)??void 0}}function Rl(){return{required:!1,json:Ul(),parse:(e,t,n,r)=>Il(e,t,r)}}const zl={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&Gl(n)?{ttl:n}:uc(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 uc(e,t,`cache.watch_file must be a path string, got ${G(n)}`);let r=Sc(`cache.watch_file`,n);return r===null?{watch_file:n}:uc(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}:uc(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}:uc(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}:uc(e,t,`cache.never must be the literal boolean true, got ${G(n)}`)}}};function Bl(e,t,n){return dc(e,zl,t,n)}const Vl={noun:`time-variable cache`,arms:{ttl:zl.arms.ttl}};function Hl(){return{required:!1,json:kc(Vl),parse:(e,t,n,r)=>r.cache===void 0?void 0:dc(e,Vl,`${t}.cache`,r.cache)??void 0}}function Ul(){return kc(zl)}const Wl=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function Gl(e){return Wl.test(e)}function Kl(e,t,n){if(n===void 0)return{};if(!rc(n))return e.issues.push({path:t,message:`${t} must be an object, got ${ic(n)}`,line:W(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=fc(e,hu,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function ql(){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 ${ic(i)}`,line:W(e.source,t.split(`.`))});return}return i}}}function Jl(){return{required:!0,json:{enum:[...Vs]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!Vs.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${Vs.join(`, `)}, got ${JSON.stringify(i)}`,line:W(e.source,[...t.split(`.`),`field`])});return}return i}}}function Yl(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return $s(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Xl={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:uc(e,t,`parse.text must be the literal boolean true, got ${G(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?Zl(e,t,n):uc(e,t,`parse.regex must be a pattern string, got ${G(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:uc(e,t,`parse.json must be the literal boolean true, got ${G(n)}`)}}};function Zl(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return uc(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:uc(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function Ql(){return{required:!1,json:kc(Xl),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:dc(e,Xl,`${t}.parse`,r.parse)??void 0)}}function $l(){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)=>rc(r.parse)&&`json`in r.parse?eu(e,t,r.default):ec(e,t,r,`default`)}}function eu(e,t,n){if(n!==void 0)return tu(n)?n:uc(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${G(n)}`)??void 0}function tu(e){return e!==null&&nu(e)}function nu(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(nu);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(nu)}default:return!1}}const ru={value:ql(),default:gc()},iu={path:xc(),type:wc([`string`,`number`,`boolean`]),default:Yl()},au={name:xc(),default:gc()},ou={path:Cc(),readMode:wc([`whole`,`first-line`]),parse:Ql(),cache:Ll(`file`),default:$l()},su={command:xc(),parse:Ql(),cache:Ll(`shell`),default:$l()},cu={template:xc(),cache:Rl(),default:gc()},lu={layout:xc(),cache:Hl(),default:gc()},uu={field:Jl(),default:gc()},du={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},fu={key:xc(),default:gc()},pu=`kind`;function mu(e,t,n={}){return{...pc(pu,e,t),parse:(r,i,a)=>{oc(r,n,i,a);let o=sc(r,t,i,a);return o===null?null:{kind:e,...o}}}}const hu={tag:pu,noun:`source kind`,memberNoun:`variable`,arms:{literal:mu(`literal`,ru),input:mu(`input`,iu),env:mu(`env`,au),file:mu(`file`,ou),shell:mu(`shell`,su),template:mu(`template`,cu),time:mu(`time`,lu),git:mu(`git`,uu,du),state:mu(`state`,fu)}};function gu(){return Oc(hu)}function _u(){return{type:`object`,additionalProperties:gu()}}const vu=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],yu=[...vu,`other`],bu={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`};function xu(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const Su=`groups.`,Cu=`menus.`,wu=`edit.`,K=`candybar.`,Tu=[Su,Cu,wu,K];function Eu(e){return Tu.some(t=>e.startsWith(t))}function Du(e){let t=xu(e);return Tu.find(e=>t.startsWith(xu(e)))}function Ou(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 ku=new Map([[`gitTaculous`,`gitaculous`],[`git`,`gitaculous`],[`settings.menu`,`candybar.menu`]]);function Au(e){let t=ku.get(e);return t===void 0?``:` (the built-in segment "${e}" was renamed to "${t}" — update this reference)`}const ju=/^[A-Za-z_][A-Za-z0-9_]*$/,Mu={pattern:ju.source},Nu={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Pu={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`,...Mu}}}]},default:Nu}},Fu=[`label`,`domain`,`default`],Iu=[`min`,`max`,`step`,`atLeast`];function Lu(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,t.split(`.`))})}function Ru(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 Lu(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 Lu(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?Lu(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(rc(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!Iu.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}}:Lu(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 Lu(e,t,`domain must be "bool", a list of words, or { min, max }, got ${G(n)}`)}function zu(e,t,n){if(!rc(n))return Lu(e,t,`${t} must be { label, domain, default }, got ${ic(n)}`);for(let r of Object.keys(n))Fu.includes(r)||Lu(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Fu.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||Lu(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=Ru(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Bu(n.default)||!Ks(o,n.default)?Lu(e,`${t}.default`,`default must be ${Ys(o)}, got ${G(n.default)}`):o}function Bu(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}function Vu(){return{required:!1,json:{type:`object`,propertyNames:{...Mu,not:{const:Hs}},additionalProperties:Pu},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!rc(i))return Lu(e,a,`${a} must be an object of name → { label, domain, default }, got ${ic(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!ju.test(t)){Lu(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(t===`theme`){Lu(e,`${a}.${t}`,`setting "${Hs}" is one every placement already has — its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${Hs}: "<theme>" }`);continue}let r=zu(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}function Hu(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)?i:Lu(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", got ${G(i)}`)}}}function Uu(){return{required:!1,json:{type:`object`,propertyNames:Mu,additionalProperties:Nu},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!rc(i))return Lu(e,a,`a placement's "settings" must be an object of setting name → value, got ${ic(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Bu(n)?o[t]=n:Lu(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${ic(n)}`);return o}}}function Wu(e){return new Set(Object.keys(e.segments).filter(e=>!Eu(e)))}function Gu(e,t,n){if(t===void 0)return{};if(!rc(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${ic(t)}`,line:W(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=ac(e,n.has(i)?Zu:Xu,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function Ku(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?uc(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${Au(t.slice(9))}`)??void 0:Qs(e,t,r,n)??void 0}}function qu(){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 Ju(){return{required:!1,json:_u(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return Kl(e,`${t}.${n}`,i)}}}const Yu={template:Ku(),description:gc(),group:wc(vu),width:qu(),justify:wc(Xs),truncate:wc(Zs),bg:gc(),fg:gc(),when:gc(),palette:bc(),vars:Ju(),settings:Vu()},Xu={noun:`segment key`,fields:Yu},Zu={noun:`segment key`,fields:{...Yu,template:gc()}},Qu=`#/definitions/LayoutNode`,$u={kind:`container`,direction:`vertical`,children:[]};function ed(e){return{required:!0,json:{const:e},parse:()=>e}}function td(){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 nd(){return{required:!0,json:{enum:[...Ds]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&Ds.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${Ds.join(`, `)} (got ${JSON.stringify(i)})`,line:W(e.source,[`root`])}),`vertical`)}}}function rd(e){return{required:!0,json:{type:`array`,items:{$ref:Qu}},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 ${ic(a)}`,line:W(t.source,[`root`])}),[])}}}const id={noun:`layout-node key`,fields:{kind:ed(`segment`),name:td(),when:gc(),id:Hu(),settings:Uu()}},ad=()=>wc(ua),od={noun:`layout-node key`,fields:{kind:ed(`container`),direction:nd(),children:rd(mc(()=>dd)),when:gc(),distribution:ad()}};function sd(){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 cd={noun:`layout-node key`,fields:{seg:sd(),when:gc(),id:Hu(),settings:Uu()}},ld={noun:`layout-node key`,fields:{h:rd(mc(()=>dd)),when:gc(),distribution:ad()}},ud={noun:`layout-node key`,fields:{v:rd(mc(()=>dd)),when:gc(),distribution:ad()}},dd=(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`])}),$u):{kind:`segment`,name:n};if(!rc(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 ${ic(n)}`,line:W(e.source,[`root`])}),$u;if(n.kind===`container`)return ac(e,od,t,n)??$u;if(n.kind===`segment`)return ac(e,id,t,n)??$u;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
36
+ `}function Zo(e,t,n){return e.split(`
37
+ `).join(`${n}${t}`)}function Qo(e,t,n){let[r,...i]=e,a=i.length===0?t:`{\n ${Zo(Qo(i,t,n),` `,`
38
+ `)}${n.trailingComma}\n}`;return`${n.key(r)}: ${a}`}function $o(e,t,n,r){return e.slice(0,t)+r+e.slice(n)}function es(e,t){return e.lastIndexOf(`
39
+ `,t-1)+1}function ts(e){return/^[ \t]*$/.test(e)}function ns(e,t){let n=es(e,t);return/^[ \t]*/.exec(e.slice(n))[0]}function rs(e,t){return ts(e.slice(es(e,t),t))}const is=/(?:\/\/[^\n]*?)?(\r\n|\n|$)/y;function as(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++;is.lastIndex=n;let i=is.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 os(e,t){let{commaEnd:n,line:r}=as(e,t.end);if(rs(e,t.start)&&r!==null)return $o(e,es(e,t.start),r.next,``);if(n!==-1){let r=n;for(;r<e.length&&e[r]===` `;)r++;return $o(e,t.start,r,``)}let i=t.start;for(;i>0&&(e[i-1]===` `||e[i-1]===` `);)i--;return e[i-1]===`,`?$o(e,i-1,t.end,``):$o(e,t.start,t.end,``)}function ss(e,t,n,r,i){let a=n.commaEnd!==-1,o=a?e:$o(e,t.end,t.end,`,`),s=n.line.at+ +!a,c=Xo(e);return $o(o,s,s,`${c}${i}${Zo(r,i,c)}${a?`,`:``}`)}function cs(e,t,n,r){let i=t.kind===`object`?t.entries:t.elements,a=i[i.length-1],o=ns(e,t.span.start);if(a===void 0){let i=o+` `,a=Xo(e);return $o(e,t.span.start+1,t.span.end-1,`${a}${i}${Zo(n,i,a)}${r.trailingComma}${a}${o}`)}let{commaEnd:s,line:c}=as(e,a.span.end);if(rs(e,a.span.start)&&c!==null){let t=e.slice(es(e,a.span.start),a.span.start);return ss(e,a.span,{commaEnd:s,line:c},n,t)}let l=s===-1?a.span.end:s;return $o(e,l,l,`${s===-1?`, `:` `}${n}${s===-1?``:`,`}`)}function ls(e,t,n,r){if(t.length===0)throw new No(`setValue needs a non-empty path`,0);if(/^\s*$/.test(e)){let i=Xo(e);return`{${i} ${Zo(Qo(t,n,r),` `,i)}${r.trailingComma}${i}}${i}`}return us(e,zo(e),t,n,r)}function us(e,t,n,r,i){let a=t;for(let t=0;t<n.length;t++){if(a.kind!==`object`)throw new No(`cannot set ${n.join(`.`)}: ${n.slice(0,t).join(`.`)||`the document`} is not an object`,a.span.start);let o=Bo(a,n[t]);if(o===void 0)return cs(e,a,Qo(n.slice(t),r,i),i);if(t===n.length-1){let t=ns(e,o.keySpan.start);return $o(e,o.value.span.start,o.value.span.end,Zo(r,t,Xo(e)))}a=o.value}throw new No(`unreachable: path exhausted`,0)}function ds(e,t,n=0){if(t.length===0)throw new No(`deleteValue needs a non-empty path`,0);if(/^\s*$/.test(e))return e;let r=t.slice(0,-1),i=Vo(zo(e),r),a=i===void 0?void 0:Bo(i,t[t.length-1]);if(a===void 0||i?.kind!==`object`)return e;let o=os(e,a.span);return r.length>n&&i.entries.length===1?ds(o,r,n):o}const fs=[`h`,`v`,`children`];function ps(e){if(e.kind===`string`)return e.value;if(e.kind!==`object`)return;let t=Bo(e,`seg`)?.value,n=Bo(e,`kind`)?.value,r=Bo(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=Bo(e,`id`)?.value;return a?.kind===`string`?a.value:i}function ms(e){return e.kind===`object`?fs.map(t=>Bo(e,t)?.value).filter(e=>e?.kind===`array`):[]}function hs(e){let t=Bo(e,`rows`)?.value;return t?.kind===`object`?t.entries:null}function gs(e){if(e.kind!==`object`)return!0;let t=hs(e);return t===null||t.length>0||e.entries.some(e=>e.key!==`rows`)}function*_s(e,t){yield{node:e,bareAt:t};for(let t of ms(e))for(let e of t.elements)yield*_s(e,null);for(let n of hs(e)??[])yield*_s(n.value,t===null?null:[...t,`rows`,n.key])}function vs(e,t){for(let{node:n}of _s(e,null))if(ps(n)===t)return!0;return!1}function ys(e,t,n){let r=Vo(zo(e),t);if(r===void 0)return null;for(let{node:i,bareAt:a}of _s(r,t))if(ps(i)===n)return a===null?{text:e,ref:i}:ys(ls(e,a,`{ h: [${Ho(e,i)}] }`,qo),t,n);return null}function bs(e,t,n){let r=ys(e,t,n);return r===null?null:os(r.text,r.ref.span)}function xs(e,t,n,r,i){let a=ys(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}=as(o,s.span.end);if(rs(o,s.span.start)&&u!==null){let e=o.slice(es(o,s.span.start),s.span.start);return i===`after`?ss(o,s.span,{commaEnd:l,line:u},c,e):$o(o,s.span.start,s.span.start,`${c},${Xo(o)}${e}`)}let d=Ho(o,s),f=i===`before`?`${c}, ${d}`:`${d}, ${c}`;return $o(o,s.span.start,s.span.end,f)}function Ss(e,t,n,r,i){let a=ys(e,t,n);if(a===null)return null;let{text:o,ref:s}=a,c=`{ ${Ko(r)}: ${i} }`;return s.kind===`string`?$o(o,s.span.start,s.span.end,`{ seg: ${JSON.stringify(s.value)}, settings: ${c} }`):Bo(s,`settings`)===void 0?us(o,s,[`settings`],c,qo):us(o,s,[`settings`,r],i,qo)}var Cs=class extends Error{file;issues;warnings;constructor(e,t,n=[]){super(Ds(e,t)),this.name=`ConfigError`,this.file=e,this.issues=t,this.warnings=n}};function G(e,t){let n=0,r;for(let i of t){if(i===``||/^\d+$/.test(i))continue;let t=ws(e,n,i);if(t===-1)return r===void 0?void 0:Ts(e,r);n=t,r=t}return r===void 0?void 0:Ts(e,r)}function ws(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 Ts(e,t){let n=1;for(let r=0;r<t&&r<e.length;r++)e.charCodeAt(r)===10&&n++;return n}function Es(e,t){try{return zo(t),null}catch(n){if(!(n instanceof No))throw n;return`${e}:${Ts(t,n.offset)}: ${n.reason} — the settings menu cannot edit this file until it is fixed`}}function Ds(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(`
40
+ `)}const Os=[`vertical`,`horizontal`],ks={vertical:`row`,horizontal:`cell`};function As(e){return e.id??e.name}function js(e){return[...Ps(e)].flatMap(e=>e.kind===`segment`?[As(e)]:[])}function Ms(e,t){if(!t.has(e))return e;let n=2;for(;t.has(`${e}-${n}`);)n++;return`${e}-${n}`}function Ns(e,t){return e.opens===void 0?e:{...e,opens:{...e.opens,body:t(e.opens.body)}}}function*Ps(e){yield e;for(let t of Rs(e))yield*Ps(t)}const Fs=(e,t)=>`${e}.children[${t}]`,Is=e=>`${e}.opens.body`;function*Ls(e,t){if(yield[e,t],e.kind===`container`)for(let[n,r]of e.children.entries())yield*Ls(r,Fs(t,n));else e.opens!==void 0&&(yield*Ls(e.opens.body,Is(t)))}function Rs(e){return e.kind===`container`?e.children:e.opens===void 0?[]:[e.opens.body]}function zs(e){return e===void 0||`text`in e?`text`:`regex`in e?`regex`:`json`}const Bs=[`ttl`,`watch_file`,`depends_on`,`key`,`never`];function Vs(e){return e.kind!==`literal`&&e.kind!==`input`&&e.kind!==`env`&&e.kind!==`git`&&e.kind!==`state`}const Hs=[`branch`,`sha`,`dirty`,`ahead`,`behind`,`stash`],Us=`theme`;function Ws(e){return{...e.settings,[Us]:{label:Us,domain:`theme`,default:e.palette??`bar`}}}function Gs(e){let t=e?.domain;return typeof t==`object`&&`min`in t?t:void 0}function Ks(e,t){return Object.entries(e).flatMap(([n,r])=>{let i=Gs(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 qs(e,t){let{domain:n}=e;return n===`bool`?typeof t==`boolean`:n===`theme`?typeof t==`string`&&no(t):`min`in n?typeof t==`number`&&Number.isInteger(t)&&t>=n.min&&t<=n.max:typeof t==`string`&&n.includes(t)}function Js(e){return String(e)}function Ys(e,t){let{domain:n}=e;if(typeof n==`object`&&`min`in n)return Oo(t,n)??void 0;let r=n===`bool`?t===`true`?!0:t===`false`?!1:t:t;return qs(e,r)?r:void 0}function Xs(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 Zs=[`left`,`center`,`right`],Qs=[`right`,`left`,`middle`];function $s(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 ${ac(i)}`,line:G(e.source,[...t.split(`.`),r])}),null)}function ec(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 ${ac(i)}`,line:G(e.source,[...t.split(`.`),`default`])});return}return i}}function tc(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 ${ac(i)}`,line:G(e.source,[...t.split(`.`),r])});return}return i}}function nc(e,t,n){let r=tc(e,t,n,`palette`);if(r!==void 0){if(!e.allowedPalettes.has(r)){e.issues.push({path:`${t}.palette`,message:`Unknown palette "${r}"${Xa(r)}. Expected one of: ${[...e.allowedPalettes].sort().join(`, `)}`,line:G(e.source,[...t.split(`.`),`palette`])});return}return r}}function rc(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 ${K(a)}`,line:G(e.source,[...t.split(`.`),r])});return}return a}}function ic(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ac(e){return e===null?`null`:Array.isArray(e)?`array`:typeof e}function K(e){return typeof e==`string`?JSON.stringify(e):e===void 0?`undefined`:String(e)}function oc(e,t,n,r){return ic(r)?(uc(e,n,r,t.noun,new Set(Object.keys(t.fields)),sc(e,t.removed??{},n,r)),cc(e,t.fields,n,r)):(e.issues.push({path:n,message:`${n} must be an object, got ${ac(r)}`,line:G(e.source,n.split(`.`))}),null)}function sc(e,t,n,r){let i=Object.entries(t).filter(([e])=>r[e]!==void 0);for(let[t,r]of i)dc(e,`${n}.${t}`,`${n}.${t} was removed: ${r}`);return new Set(i.map(([e])=>`${n}.${e}`))}function cc(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 lc=new Set;function uc(e,t,n,r,i,a=lc){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:G(e.source,[...t.split(`.`),o])})}function dc(e,t,n){return e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))}),null}function fc(e,t,n,r){if(!ic(r))return e.issues.push({path:n,message:`${t.noun} must be an object, got ${ac(r)}`,line:G(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:G(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:G(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:G(e.source,n.split(`.`))}),null;let c=o[0];return i[c].parse(e,`${n}.${c}`,r[c])}function pc(e,t,n,r){if(!ic(r))return e.issues.push({path:n,message:`${n} must be an object, got ${ac(r)}`,line:G(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 ${ac(i)}`,line:G(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:G(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 uc(e,n,r,`${i} ${t.memberNoun} key`,o.keys,l),c}function mc(e,t,n){return{json:Oc(Ec(n),e,t),keys:new Set([e,...Object.keys(n)])}}function hc(e){return(...t)=>e()(...t)}function gc(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:G(n.source,o.split(`.`))}),null}return a}}function _c(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>tc(e,t,r,n)}}function vc(){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 ${ac(i)}`,line:G(e.source,[n])});return}return i}}}}function yc(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 ${K(o)}`,line:G(e.source,[i])});return}return o}}}}function bc(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 ${K(a)}`,line:G(e.source,[r])});return}return a}}}}function xc(){return{required:!1,json:{type:`string`},parse:(e,t,n,r)=>nc(e,t,r)}}function Sc(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>$s(e,t,r,n)??void 0}}function Cc(e,t){return d(t)?null:`${e} must be an absolute path (\`~\` and relative paths are not expanded), got ${JSON.stringify(t)}`}function wc(){return{required:!0,json:{type:`string`,pattern:`^/`},parse:(e,t,n,r)=>{let i=$s(e,t,r,n);if(i===null)return;let a=Cc(`${t}.${n}`,i);return a===null?i:dc(e,`${t}.${n}`,a)??void 0}}}function Tc(e){return{required:!1,json:{enum:[...e]},parse:(t,n,r,i)=>rc(t,n,i,r,e)}}function Ec(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 Dc(e){return Ec(e.fields)}function Oc(e,t,n){let r=e,i={[t]:{const:n},...r.properties},a=[t,...r.required??[]];return{...r,properties:i,required:a}}function kc(e){let t=e.arms;return{anyOf:Object.values(t).map(e=>e.json)}}function Ac(e){let t=e.arms;return{anyOf:Object.entries(t).map(([e,t])=>({type:`object`,properties:{[e]:t.json},required:[e],additionalProperties:!1}))}}const jc=/^[A-Za-z_][A-Za-z0-9_]*$/;function Mc(e){return`#${e+1}`}const Nc={rows:{}};function Pc(e){return`rows`in e}function Fc(e){return Object.fromEntries(e.map((e,t)=>[Mc(t),e]))}function Ic(e){if(e.kind===`container`&&e.direction===`vertical`){let{kind:t,direction:n,children:r,...i}=e;return{...i,rows:Fc(r)}}let{when:t,...n}=e;return{...t!==void 0&&{when:t},rows:Fc([n])}}function Lc(e){let{rows:t,...n}=e;return{kind:`container`,direction:`vertical`,children:Object.values(t),...n}}function Rc(e){return Pc(e)?Lc(e):e}function*zc(e,t){if(!Pc(e)){yield*Ls(e,t);return}yield[Lc(e),t];for(let[n,r]of Object.entries(e.rows))yield*Ls(r,`${t}.rows.${n}`)}function Bc(e,t){return Pc(e)?{...t,...e,rows:{...t.rows,...e.rows}}:Ic(e)}function Vc(e){if(!Pc(e))return!0;let{rows:t,...n}=e;return Object.values(n).some(e=>e!==void 0)||Object.keys(t).length>0}function Hc(e,t){return{globals:{...t.globals,...e.globals??{}},variables:{...t.variables,...e.variables??{}},segments:Gc(t.segments,Uc(t.segments,e.segments??{})),root:Bc(e.root??Nc,t.root),actions:{...t.actions,...e.actions??{}},styles:{...t.styles,...e.styles??{}},presets:Gc(t.presets,Wc(t.presets,e.presets??{})),editGlobals:{...t.editGlobals,...e.editGlobals??{}},helpers:{...t.helpers,...e.helpers??{}}}}function Uc(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 Wc(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 Gc(e,t){return{...e,...Object.fromEntries(Object.entries(t).map(([t,n])=>[t,{...e[t],...n}]))}}const Kc=`closed`,qc=`🍫`;function Jc(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 Yc(e,t,n,r){let i=Jc(e,t.length,n);if(i!==void 0)throw Error(i);return t.length===1?t[0]:t[r]}function Xc(e){return e.replace(/\\/g,`\\\\`).replace(/"/g,`\\"`)}function Zc(e,t,n,r,i){return{kind:`segment`,name:e,opens:{ref:t,body:n,placement:r},...i!==void 0&&{when:i}}}function Qc(e,...t){return`{{ and ${[e,...t].map($c).join(` `)} }}`}function $c(e){return`(eq .${e.variable} "${Xc(e.member)}")`}function el(e,t,n){return`{{ ${tl(e,nl(t),nl(n))} }}`}function tl(e,t,n){return`action "${e}" ${t} ${n}`}function nl(e){return`"${Xc(e)}"`}function rl(e,t){return{kind:`state`,key:e,default:t}}function il(e,t){return{set:e,cycle:[Kc,t]}}const al={required:!1,json:{enum:[...vo]},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: ${vo.join(`, `)}`,line:G(e.source,[...t.split(`.`),n])});return}return rc(e,t,r,n,vo)}},ol={required:!1,json:{type:`string`},parse:(e,t,n,r)=>{let i=tc(e,t,r,n);return ao(i)?i:nc(e,t,r)}},sl=/^[^\r\n]*\S[^\r\n]*$/u,cl=RegExp(`^(?:✖|✕)[\\uFE0E\\uFE0F]?$`,`u`),ll={required:!1,json:{type:`string`,pattern:sl.source,not:{pattern:cl.source}},parse:(e,t,n,r)=>{let i=tc(e,t,r,n);if(i===void 0||sl.test(i)&&!cl.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:G(e.source,[...t.split(`.`),n])})}};function ul(e){return{spec:Tc(e),domain:{from:e}}}function dl(){return{spec:vc(),domain:`bool`}}function fl(e){return{spec:e,domain:`text`}}const pl={default_empty_value:fl(_c()),default_separator:fl(_c()),palette:{spec:ol,domain:{from:`themes`}},style:{spec:_c(),domain:{from:`styles`}},preset:{spec:_c(),domain:{from:`presets`}},endcaps:ul(po),variation:ul(bo),autoWrap:dl(),padding:{spec:yc(Eo),domain:{...Eo,step:1}},charset:ul(go),updateNotice:dl(),colorCompatibility:{spec:al,domain:{from:vo}},menuGlyph:fl(ll)},ml=Object.fromEntries(Object.entries(pl).map(([e,t])=>[e,t.spec]));function hl(e){return pl[e].domain}function gl(e){let t=hl(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 _l(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:G(e.source,[...n.split(`.`),r])})}}}function vl(e){return _l(`${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 yl(e){return _l(`${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 bl(e,t){return{...e,json:{...e.json,not:{pattern:`\\{\\{`}},parse:(n,r,i,a)=>{let o=a[i];if(typeof o==`string`&&ao(o)){n.issues.push({path:`${r}.${i}`,message:`${r}.${i}: a rule is not allowed here — ${t} is decided later than any rule could be settled, so it names a value. Write the rule in globals.${i} (or a preset's globals.${i}) instead.`,line:G(n.source,[...r.split(`.`),i])});return}return e.parse(n,r,i,a)}}}const xl={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)`},Sl={noun:`globals key`,fields:ml,removed:xl},Cl={preset:vl(`a preset`),menuGlyph:yl(`a preset`)},wl={noun:`preset globals key`,fields:{...ml,...Cl},removed:xl};function Tl(e){return Ml(e)&&!(e in Cl)}const El={noun:`editGlobals key`,removed:xl,fields:{...ml,preset:vl(`the editGlobals fragment`),menuGlyph:yl(`the editGlobals fragment`),palette:bl(ml.palette,`the editGlobals fragment`),style:bl(ml.style,`the editGlobals fragment`)}};function Dl(e,t,n){return n===void 0?{}:oc(e,Sl,t,n)??{}}function Ol(e,t,n){return oc(e,wl,t,n)??{}}function kl(){return Dc(wl)}function Al(e,t,n){return oc(e,El,t,n)??{}}const jl=new Set(Object.keys(ml));function Ml(e){return jl.has(e)}function Nl(){return[...jl]}const Pl={padding:1};function Fl(e){let t=new Map;for(let[n,r]of Object.entries(Pl)){let i=e[n];t.set(n,typeof i==`number`?i:r)}return t}function Il(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: ${Bs.join(`, `)})`,line:G(e.source,t.split(`.`))}),null):Vl(e,`${t}.cache`,n.cache)}function Ll(e,t,n){if(n.cache!==void 0)return Vl(e,`${t}.cache`,n.cache)??void 0}function Rl(e){return{required:!0,json:Wl(),parse:(t,n,r,i)=>Il(t,n,i,e)??void 0}}function zl(){return{required:!1,json:Wl(),parse:(e,t,n,r)=>Ll(e,t,r)}}const Bl={noun:`cache`,arms:{ttl:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&Kl(n)?{ttl:n}:dc(e,t,`cache.ttl must be a duration string like "5s", "100ms", "2m", "1h"; got ${K(n)}`)},watch_file:{json:{type:`string`,pattern:`^/`},parse:(e,t,n)=>{if(typeof n!=`string`)return dc(e,t,`cache.watch_file must be a path string, got ${K(n)}`);let r=Cc(`cache.watch_file`,n);return r===null?{watch_file:n}:dc(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}:dc(e,t,`cache.depends_on must be an array of variable-name strings, got ${K(n)}`)},key:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`&&n!==``?{key:n}:dc(e,t,`cache.key must be a non-empty template string, got ${K(n)}`)},never:{json:{const:!0},parse:(e,t,n)=>n===!0?{never:!0}:dc(e,t,`cache.never must be the literal boolean true, got ${K(n)}`)}}};function Vl(e,t,n){return fc(e,Bl,t,n)}const Hl={noun:`time-variable cache`,arms:{ttl:Bl.arms.ttl}};function Ul(){return{required:!1,json:Ac(Hl),parse:(e,t,n,r)=>r.cache===void 0?void 0:fc(e,Hl,`${t}.cache`,r.cache)??void 0}}function Wl(){return Ac(Bl)}const Gl=/^(\d+(?:\.\d+)?)(ms|s|m|h)$/;function Kl(e){return Gl.test(e)}function ql(e,t,n){if(n===void 0)return{};if(!ic(n))return e.issues.push({path:t,message:`${t} must be an object, got ${ac(n)}`,line:G(e.source,t.split(`.`))}),{};let r={};for(let[i,a]of Object.entries(n)){let n=pc(e,gu,`${t}.${i}`,a);n!==null&&(r[i]=n)}return r}function Jl(){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 ${ac(i)}`,line:G(e.source,t.split(`.`))});return}return i}}}function Yl(){return{required:!0,json:{enum:[...Hs]},parse:(e,t,n,r)=>{let i=r.field;if(typeof i!=`string`||!Hs.includes(i)){e.issues.push({path:`${t}.field`,message:`git field must be one of: ${Hs.join(`, `)}, got ${JSON.stringify(i)}`,line:G(e.source,[...t.split(`.`),`field`])});return}return i}}}function Xl(){return{required:!1,json:{type:[`string`,`number`,`boolean`]},parse:(e,t,n,r)=>{let i=r.type;return ec(e,t,r,i===`number`||i===`boolean`||i===`string`?i:`string`)}}}const Zl={noun:`parse`,arms:{text:{json:{const:!0},parse:(e,t,n)=>n===!0?{text:!0}:dc(e,t,`parse.text must be the literal boolean true, got ${K(n)}`)},regex:{json:{type:`string`},parse:(e,t,n)=>typeof n==`string`?Ql(e,t,n):dc(e,t,`parse.regex must be a pattern string, got ${K(n)}`)},json:{json:{const:!0},parse:(e,t,n)=>n===!0?{json:!0}:dc(e,t,`parse.json must be the literal boolean true, got ${K(n)}`)}}};function Ql(e,t,n){let r;try{new RegExp(n),r=RegExp(`${n}|`).exec(``).length-1}catch(n){return dc(e,t,`parse.regex is not a valid regular expression: ${n.message}`)}return r>=1?{regex:n}:dc(e,t,`parse.regex must contain a capture group — its group 1 is the value; got ${JSON.stringify(n)}`)}function $l(){return{required:!1,json:Ac(Zl),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:G(e.source,[...t.split(`.`),`regex`])}),r.parse===void 0?void 0:fc(e,Zl,`${t}.parse`,r.parse)??void 0)}}function eu(){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)=>ic(r.parse)&&`json`in r.parse?tu(e,t,r.default):tc(e,t,r,`default`)}}function tu(e,t,n){if(n!==void 0)return nu(n)?n:dc(e,`${t}.default`,`${t}.default must be a JSON value (a json-parsed source's document), got ${K(n)}`)??void 0}function nu(e){return e!==null&&ru(e)}function ru(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(ru);let t=Object.getPrototypeOf(e);return(t===Object.prototype||t===null)&&Object.values(e).every(ru)}default:return!1}}const iu={value:Jl(),default:_c()},au={path:Sc(),type:Tc([`string`,`number`,`boolean`]),default:Xl()},ou={name:Sc(),default:_c()},su={path:wc(),readMode:Tc([`whole`,`first-line`]),parse:$l(),cache:Rl(`file`),default:eu()},cu={command:Sc(),parse:$l(),cache:Rl(`shell`),default:eu()},lu={template:Sc(),cache:zl(),default:_c()},uu={layout:Sc(),cache:Ul(),default:_c()},du={field:Yl(),default:_c()},fu={cache:`a git variable is refreshed by the daemon's own watch on the repository, so it takes no cache policy — delete the key`},pu={key:Sc(),default:_c()},mu=`kind`;function hu(e,t,n={}){return{...mc(mu,e,t),parse:(r,i,a)=>{sc(r,n,i,a);let o=cc(r,t,i,a);return o===null?null:{kind:e,...o}}}}const gu={tag:mu,noun:`source kind`,memberNoun:`variable`,arms:{literal:hu(`literal`,iu),input:hu(`input`,au),env:hu(`env`,ou),file:hu(`file`,su),shell:hu(`shell`,cu),template:hu(`template`,lu),time:hu(`time`,uu),git:hu(`git`,du,fu),state:hu(`state`,pu)}};function _u(){return kc(gu)}function vu(){return{type:`object`,additionalProperties:_u()}}const yu=[`location`,`git`,`model-context`,`cost-limits`,`activity`,`session-tools`],bu=[...yu,`other`],xu={location:`location`,git:`git`,"model-context":`model & context`,"cost-limits":`cost & limits`,activity:`activity`,"session-tools":`session tools`,other:`other`};function Su(e){return e.replace(/[^A-Za-z0-9]+/g,`_`)}const Cu=`groups.`,wu=`menus.`,Tu=`edit.`,Eu=`candybar.`,Du=[Cu,wu,Tu,Eu];function Ou(e){return Du.some(t=>e.startsWith(t))}function ku(e){let t=Su(e);return Du.find(e=>t.startsWith(Su(e)))}function Au(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:G(e.source,[`root`])})}const ju=new Map([[`gitTaculous`,`gitaculous`],[`git`,`gitaculous`],[`settings.menu`,`candybar.menu`]]);function Mu(e){let t=ju.get(e);return t===void 0?``:` (the built-in segment "${e}" was renamed to "${t}" — update this reference)`}const Nu=/^[A-Za-z_][A-Za-z0-9_]*$/,Pu={pattern:Nu.source},Fu={anyOf:[{type:`boolean`},{type:`string`},{type:`integer`}]},Iu={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`,...Pu}}}]},default:Fu}},Lu=[`label`,`domain`,`default`],Ru=[`min`,`max`,`step`,`atLeast`];function zu(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))})}function Bu(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 zu(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 zu(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?zu(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(ic(n)){let{min:r,max:i,step:a=1,atLeast:o}=n;return Object.keys(n).filter(e=>!Ru.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}}:zu(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 zu(e,t,`domain must be "bool", a list of words, or { min, max }, got ${K(n)}`)}function Vu(e,t,n){if(!ic(n))return zu(e,t,`${t} must be { label, domain, default }, got ${ac(n)}`);for(let r of Object.keys(n))Lu.includes(r)||zu(e,`${t}.${r}`,`Unknown setting key "${r}". Expected one of: ${Lu.join(`, `)}`);let{label:r}=n,i=typeof r==`string`&&r.length>0&&!/[\n\r]/.test(r);i||zu(e,`${t}.label`,`a setting needs a one-line, non-empty "label" — the name its control shows, spliced into a synthesized template string — got ${K(r)}`);let a=Bu(e,`${t}.domain`,n.domain);if(!i||a===void 0)return;let o={label:r,domain:a,default:n.default};return!Hu(n.default)||!qs(o,n.default)?zu(e,`${t}.default`,`default must be ${Xs(o)}, got ${K(n.default)}`):o}function Hu(e){return typeof e==`boolean`||typeof e==`string`||typeof e==`number`}function Uu(){return{required:!1,json:{type:`object`,propertyNames:{...Pu,not:{const:Us}},additionalProperties:Iu},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!ic(i))return zu(e,a,`${a} must be an object of name → { label, domain, default }, got ${ac(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i)){if(!Nu.test(t)){zu(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(t===`theme`){zu(e,`${a}.${t}`,`setting "${Us}" is one every placement already has — its default for this segment is segments.<name>.palette, and a placement sets its own with settings: { ${Us}: "<theme>" }`);continue}let r=Vu(e,`${a}.${t}`,n);r!==void 0&&(o[t]=r)}return o}}}function Wu(){return{required:!1,json:{type:`string`,minLength:1,pattern:`^[^:/]+$`},parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return typeof i==`string`&&i.length>0&&!/[:/]/.test(i)?i:zu(e,`${t}.${n}`,`a placement "id" must be a non-empty string without "/" or ":", got ${K(i)}`)}}}function Gu(){return{required:!1,json:{type:`object`,propertyNames:Pu,additionalProperties:Fu},parse:(e,t,n,r)=>{let i=r[n];if(i===void 0)return;let a=`${t}.${n}`;if(!ic(i))return zu(e,a,`a placement's "settings" must be an object of setting name → value, got ${ac(i)}`);let o=Object.create(null);for(let[t,n]of Object.entries(i))Hu(n)?o[t]=n:zu(e,`${a}.${t}`,`setting "${t}" must be a boolean, a word, or a number, got ${ac(n)}`);return o}}}function Ku(e){return new Set(Object.keys(e.segments).filter(e=>!Ou(e)))}function qu(e,t,n){if(t===void 0)return{};if(!ic(t))return e.issues.push({path:`segments`,message:`segments must be an object, got ${ac(t)}`,line:G(e.source,[`segments`])}),{};let r={};for(let[i,a]of Object.entries(t)){let t=oc(e,n.has(i)?$u:Qu,`segments.${i}`,a);t!==null&&(r[i]=t)}return r}function Ju(){return{required:!0,json:{type:`string`},parse:(e,t,n,r)=>r[n]===void 0?dc(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${Mu(t.slice(9))}`)??void 0:$s(e,t,r,n)??void 0}}function Yu(){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 ${K(i)}`,line:G(e.source,[...t.split(`.`),n])})}}}}function Xu(){return{required:!1,json:vu(),parse:(e,t,n,r)=>{let i=r[n];if(i!==void 0)return ql(e,`${t}.${n}`,i)}}}const Zu={template:Ju(),description:_c(),group:Tc(yu),width:Yu(),justify:Tc(Zs),truncate:Tc(Qs),bg:_c(),fg:_c(),when:_c(),palette:xc(),vars:Xu(),settings:Uu()},Qu={noun:`segment key`,fields:Zu},$u={noun:`segment key`,fields:{...Zu,template:_c()}},ed=`#/definitions/LayoutNode`,td={kind:`container`,direction:`vertical`,children:[]};function nd(e){return{required:!0,json:{const:e},parse:()=>e}}function rd(){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 ${K(i)}`,line:G(e.source,[`root`])}),``)}}}function id(){return{required:!0,json:{enum:[...Os]},parse:(e,t,n,r)=>{let i=r[n];return typeof i==`string`&&Os.includes(i)?i:(e.issues.push({path:`${t}.${n}`,message:`a container "direction" must be one of: ${Os.join(`, `)} (got ${JSON.stringify(i)})`,line:G(e.source,[`root`])}),`vertical`)}}}function ad(e){return{required:!0,json:{type:`array`,items:{$ref:ed}},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 ${ac(a)}`,line:G(t.source,[`root`])}),[])}}}const od={noun:`layout-node key`,fields:{kind:nd(`segment`),name:rd(),when:_c(),id:Wu(),settings:Gu()}},sd=()=>Tc(da),cd={noun:`layout-node key`,fields:{kind:nd(`container`),direction:id(),children:ad(hc(()=>pd)),when:_c(),distribution:sd()}};function ld(){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 ${K(i)}`,line:G(e.source,[`root`])}),``)}}}const ud={noun:`layout-node key`,fields:{seg:ld(),when:_c(),id:Wu(),settings:Gu()}},dd={noun:`layout-node key`,fields:{h:ad(hc(()=>pd)),when:_c(),distribution:sd()}},fd={noun:`layout-node key`,fields:{v:ad(hc(()=>pd)),when:_c(),distribution:sd()}},pd=(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:G(e.source,[`root`])}),td):{kind:`segment`,name:n};if(!ic(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 ${ac(n)}`,line:G(e.source,[`root`])}),td;if(n.kind===`container`)return oc(e,cd,t,n)??td;if(n.kind===`segment`)return oc(e,od,t,n)??td;if(n.kind===`cells`)return e.issues.push({path:t,message:`kind: "cells" is no longer supported — use the h-arm spelling instead:
41
41
  Old: { kind: "cells", segments: ["seg1", "seg2"] }
42
- New: { h: ["seg1", "seg2"] }`,line:W(e.source,[`root`])}),$u;if(n.kind===`group`){let r=ac(e,vd,t,n);return r===null?$u:(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}),bd(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`])}),$u}if(a){let r=ac(e,cd,t,n);return r===null?$u:{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=ac(e,ld,t,n);return r===null?$u:{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=ac(e,ud,t,n);return r===null?$u:{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`])}),$u};function fd(){return{required:!0,json:{type:`object`,propertyNames:{pattern:Ac.source},additionalProperties:{$ref:Qu}},parse:(e,t,n,r)=>{let i=r[n];if(!rc(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${ic(i)}`,line:W(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!Ac.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]=dd(e,`${t}.${n}.${r}`,o)}return a}}}const pd={noun:`root key`,fields:{rows:fd(),when:gc(),distribution:ad()}};function md(e,t,n){return rc(n)&&`rows`in n?ac(e,pd,t,n)??{rows:{}}:dd(e,t,n)}function hd(){return{required:!0,json:{type:`string`,pattern:Ac.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!Ac.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 "${Gc}", got ${G(i)}`,line:W(e.source,[`root`])});return}return i}}}function gd(){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 _d(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=Qs(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 vd={noun:`layout-node key`,fields:{kind:ed(`group`),name:hd(),label:_d(),open:_c(),direction:wc(Ds),key:gd(),bg:gc(),fg:gc(),when:gc(),distribution:ad(),children:rd(mc(()=>dd))}};function yd(e){return e.key??`groups.`+e.name}function bd(e){let t=Su+e.name;return Xc(t,{variable:t,key:yd(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function xd(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function Sd(e,t){Ou(e,t,Su,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&xd(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}.`)&&yd(t)===yd(r)&&xd(e,t.path,`group "${t.name}" shares key "${yd(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=yd(t);if(i.has(n)||i.set(n,Gc),t.open===!0){let r=i.get(n);r!==`closed`&&xd(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=Su+e.name,r=yd(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=nl(r,i.get(r)),o[t]=rl(r,e.name),s[t]={template:$c(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 Cd=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?Md(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}},wd=class extends Cd{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},Td=class extends Cd{name=`EvalError`;kind=`EvalError`},Ed=class extends Td{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Nd(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}},Dd=class extends Td{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}},Od=class extends Td{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}},kd=class extends Od{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)}`}},Ad=class extends Td{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},jd=class extends Td{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function Md(e,t){let n=e.split(`
42
+ New: { h: ["seg1", "seg2"] }`,line:G(e.source,[`root`])}),td;if(n.kind===`group`){let r=oc(e,bd,t,n);return r===null?td:(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}),Sd(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:G(e.source,[`root`])}),td}if(a){let r=oc(e,ud,t,n);return r===null?td:{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=oc(e,dd,t,n);return r===null?td:{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=oc(e,fd,t,n);return r===null?td:{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:G(e.source,[`root`])}),td};function md(){return{required:!0,json:{type:`object`,propertyNames:{pattern:jc.source},additionalProperties:{$ref:ed}},parse:(e,t,n,r)=>{let i=r[n];if(!ic(i))return e.issues.push({path:`${t}.${n}`,message:`"rows" must be an object of row name → layout node, got ${ac(i)}`,line:G(e.source,[...t.split(`.`),n])}),{};let a={};for(let[r,o]of Object.entries(i)){if(!jc.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:G(e.source,[...t.split(`.`),n,r])});continue}a[r]=pd(e,`${t}.${n}.${r}`,o)}return a}}}const hd={noun:`root key`,fields:{rows:md(),when:_c(),distribution:sd()}};function gd(e,t,n){return ic(n)&&`rows`in n?oc(e,hd,t,n)??{rows:{}}:pd(e,t,n)}function _d(){return{required:!0,json:{type:`string`,pattern:jc.source},parse:(e,t,n,r)=>{let i=r[n];if(typeof i!=`string`||!jc.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 "${Kc}", got ${K(i)}`,line:G(e.source,[`root`])});return}return i}}}function vd(){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 ${K(i)}`,line:G(e.source,[`root`])});return}return i}}}}function yd(){return{required:!0,json:{type:`string`,pattern:`^[^\\n\\r]*$`},parse:(e,t,n,r)=>{let i=$s(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:G(e.source,[...t.split(`.`),n])});return}return i}}}}const bd={noun:`layout-node key`,fields:{kind:nd(`group`),name:_d(),label:yd(),open:vc(),direction:Tc(Os),key:vd(),bg:_c(),fg:_c(),when:_c(),distribution:sd(),children:ad(hc(()=>pd))}};function xd(e){return e.key??`groups.`+e.name}function Sd(e){let t=Cu+e.name;return Zc(t,{variable:t,key:xd(e),member:e.name},{kind:`container`,direction:e.direction??`vertical`,children:e.children,...e.distribution!==void 0&&{distribution:e.distribution}},`drop`,e.when)}function Cd(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,[`root`])})}function wd(e,t){Au(e,t,Cu,`group nodes`);let n=e.groups;if(n.length===0)return;let r=new Set;for(let t of n)r.has(t.name)&&Cd(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}.`)&&xd(t)===xd(r)&&Cd(e,t.path,`group "${t.name}" shares key "${xd(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=xd(t);if(i.has(n)||i.set(n,Kc),t.open===!0){let r=i.get(n);r!==`closed`&&Cd(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=Cu+e.name,r=xd(e),c=n.filter(t=>t!==e&&e.path.startsWith(t.path+`.`)).length,l=` `.repeat(c);a[t]=rl(r,i.get(r)),o[t]=il(r,e.name),s[t]={template:el(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 Td=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?Pd(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}},Ed=class extends Td{name=`ParseError`;kind=`ParseError`;expected;found;constructor(e,t,n={}){super(e,t,n),this.expected=n.expected,this.found=n.found}},Dd=class extends Td{name=`EvalError`;kind=`EvalError`},Od=class extends Dd{name=`FuncNotFoundError`;kind=`FuncNotFoundError`;funcName;suggestions;constructor(e,t,n={}){let r=Fd(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}},kd=class extends Dd{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}},Ad=class extends Dd{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}},jd=class extends Ad{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)}`}},Md=class extends Dd{name=`MissingFieldError`;kind=`MissingFieldError`;path;constructor(e,t,n={}){super(`field "${e.join(`.`)}" not found on receiver`,t,n),this.path=e}},Nd=class extends Dd{name=`FailError`;kind=`FailError`;constructor(e,t={line:0,column:0,offset:0},n={}){super(e,t,n)}};function Pd(e,t){let n=e.split(`
43
43
  `),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(`
44
- `)}function Nd(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Pd(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 Pd(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 Fd(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const Id=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`]]),Ld={left:`{{`,right:`}}`};var Rd=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=Ld){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 wd(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&&zd(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);zd(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);zd(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(;zd(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`;zd(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&&(Vd(e)||Bd(e)&&Vd(this.src[this.offset+1]??``)||e===`.`&&Vd(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&Kd(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===`
44
+ `)}function Fd(e,t){if(t.length===0)return[];let n=t.map(t=>({name:t,dist:Id(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 Id(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 Ld(e){throw Error(`unhandled node kind: ${JSON.stringify(e)}`)}const Rd=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`]]),zd={left:`{{`,right:`}}`};var Bd=class{src;leftDelim;rightDelim;offset=0;line=1;column=1;mode=`text`;pending;constructor(e,t=zd){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 Ed(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&&Vd(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);Vd(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);Vd(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(;Vd(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`;Vd(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&&(Ud(e)||Hd(e)&&Ud(this.src[this.offset+1]??``)||e===`.`&&Ud(this.src[this.offset+1]??``)))return this.readNumber(t);if(e===`.`)return this.readDotOrField(t);if(e!==void 0&&Jd(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===`
45
45
  `)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===`
46
- `)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(Bd(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);Hd(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);Ud(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);Wd(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;Vd(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);Vd(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),Bd(this.src[this.offset]??``)&&this.advanceBy(1);Vd(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return Hd(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);qd(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&Kd(this.src[this.offset+1]??``);)for(this.advanceBy(1);qd(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),!Kd(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;qd(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&Kd(this.src[this.offset+1]??``);)for(this.advanceBy(1);qd(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(;qd(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=Id.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===`
46
+ `)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(Hd(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);Wd(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);Gd(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);Kd(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);return this.finishNumber(t,e)}}for(;Ud(this.src[this.offset]??``)||this.src[this.offset]===`_`;)this.advanceBy(1);if(this.src[this.offset]===`.`)for(this.advanceBy(1);Ud(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),Hd(this.src[this.offset]??``)&&this.advanceBy(1);Ud(this.src[this.offset]??``);)this.advanceBy(1);return this.src[this.offset]===`i`&&this.advanceBy(1),this.finishNumber(t,e)}isHexFloatTail(e){return Wd(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);Yd(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&Jd(this.src[this.offset+1]??``);)for(this.advanceBy(1);Yd(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),!Jd(this.src[this.offset]??``))return this.makeToken(`Dot`,`.`,e);for(;Yd(this.src[this.offset]??``);)this.advanceBy(1);for(;this.src[this.offset]===`.`&&Jd(this.src[this.offset+1]??``);)for(this.advanceBy(1);Yd(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(;Yd(this.src[this.offset]??``);)this.advanceBy(1);let n=this.src.slice(t,this.offset),r=Rd.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===`
47
47
  `)this.advanceBy(1);else return}}advanceBy(e){for(let t=0;t<e;t++){let e=this.src[this.offset];this.offset+=1,e===`
48
- `?(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 zd(e){return e===` `||e===` `||e===`\r`||e===`
49
- `}function Bd(e){return e===`+`||e===`-`}function Vd(e){return e>=`0`&&e<=`9`}function Hd(e){return Vd(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function Ud(e){return e>=`0`&&e<=`7`}function Wd(e){return e===`0`||e===`1`}function Gd(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function Kd(e){return Gd(e)||e===`_`}function qd(e){return Kd(e)||Vd(e)}let Jd,Yd;function Xd(e,t){return Yd(e,t)}var Zd=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{Jd=(t,n)=>new e(t,n),Yd=(e,t)=>e.#e.get(t)??(e.#t&&Yd(e.#t,t))}has(e){return Yd(this,e)!==void 0}};function Qd(e,t,n=Zd.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 Rd(e,t):new Rd(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:nf(n)});return n}errAt(e,t,n={}){return new wd(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 ${nf(e)}`,{found:nf(e)})}return{root:e,defines:Jd(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=tf(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 ef(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${nf(n)} at top level`,{found:nf(n)})}return ef(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 wd(`{{${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 wd(`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:nf(e)});return df(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(!rf(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:nf(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=[af(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(af(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;rf(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 af(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:df(e.value,e.pos,this.source)};case`Number`:return sf(e);case`Char`:return cf(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 ${nf(e)}`,{expected:`command argument`,found:nf(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 ef(e,t){return{type:`List`,pos:e,nodes:t}}function tf(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function nf(e){return e.type===`EOF`?`end of input`:e.value||e.type}function rf(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 af(e){return{type:`Variable`,pos:e.pos,idents:of(e.value)}}function of(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function sf(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=lf(i);return{...s,intValue:e}}if(a){let e=uf(i);return{...s,floatValue:e}}let c=uf(i);return{...s,complexValue:[0,c]}}function cf(e,t){let n=ff(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 lf(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 uf(e){return Number(e)}function df(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+=`
50
- `;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 wd(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function ff(e,t,n){let r=df(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new wd(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function pf(e,t){if(t(e)!==!1)for(let n of mf(e))pf(n,t)}function mf(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 Fd(e)}}const hf=Symbol(`go-template-js.MISSING`);function gf(e,t){if(e==null)return hf;if(e instanceof Map)return e.has(t)?e.get(t):hf;if(Array.isArray(e))return hf;if(typeof e==`object`){let n=e;return t in n?n[t]:hf}return hf}function _f(e,t){let n=e;for(let e of t){if(n===hf)return hf;n=gf(n,e)}return n}function vf(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)=>vf(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)||!vf(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=>vf(e[n],t[n])):!1}return!1}const yf=new WeakSet;function bf(e){return yf.add(e),e}function xf(e){return yf.has(e)}function Sf(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 Cf(e,t){return{eq:{fn:(e,...t)=>t.some(t=>Ef(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!Ef(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>Df(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>Df(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>Df(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>Df(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>Of(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=kf(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>jf(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>Pf(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${Pf(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>Uf(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>Kf(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>Kf(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>Lf(Pf(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>Bf(Pf(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>Hf(Pf(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!Sf(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function wf(){return{and:bf({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!Sf(t))return t;return t}}),or:bf({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),Sf(t))return t;return t}})}}function Tf(e,t){return{...Cf(e,t),...wf()}}function Ef(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):vf(e,t)}function Df(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 Of(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function kf(e,t){if(Array.isArray(e)||typeof e==`string`){let n=Af(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 ${Mf(t)}`);return e[t]}throw Error(`index: cannot index ${Mf(e)}`)}function Af(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 ${Nf(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function jf(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]=Af(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 Mf(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Nf(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 Pf(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+=Ff(a,t),r=o}return n}function Ff(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const If={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function Lf(e){return e.replace(/[\0"'&<>]/g,e=>If[e]??e)}const Rf={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},zf=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Bf(e){let t=``;for(let n of e){let e=Rf[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!zf.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Vf=new TextEncoder;function Hf(e){let t=``,n=Vf.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 Uf(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+=Wf(l??``,u,d,n,r),o=c+1}return i}function Wf(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?Gf(t,n):Gf(t,Ff(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Nf(n)}=${Ff(n,r)})`:Gf(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return Gf(t,Kf(n,r,i));case`q`:return Gf(t,JSON.stringify(Ff(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${Nf(n)}=${Ff(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return Gf(t,Number(n).toFixed(i))}case`t`:return Gf(t,Sf(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 Gf(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Nf(n)}=${Ff(n,r)})`:typeof n==`bigint`?Gf(t,n.toString(16)):Gf(t,Math.trunc(n).toString(16));default:return`%!${e}(${Nf(n)}=${Ff(n,r)})`}}function Gf(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 Kf(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>Kf(e,t,n)).join(` `)}]`:e instanceof Map?qf([...e.entries()],t,n):Jf(e)?qf(Object.entries(e),t,n):String(e)}function qf(e,t,n){let r=e=>Kf(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 Jf(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 Yf(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function Xf(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function Zf(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 Qf(e,t,n){e.vars.set(t,n)}const $f=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],ep=new Set([`default`,`zero`,`error`]);function tp(e){if(e===void 0)return`default`;if(ep.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${np(e)}`)}function np(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 rp(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${np(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${np(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${np(e.right)}`);return{left:e.left,right:e.right}}}function ip(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function ap(e){let t=new Set($f);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 ${$f.join(`, `)}`)}),ip(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 op=Object.freeze({kind:`break`}),sp=Object.freeze({kind:`continue`}),cp={kind:`none`};let lp;(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{lp=(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 up(e){let t=new Set,n=e=>{pf(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 dp={kind:`dynamic`};function fp(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=Np(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:dp}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return dp;let t=e.cmds[0];if(t===void 0)return dp;let n=t.args[0];return n===void 0||n.type!==`Identifier`?dp:{kind:`call`,name:n.ident,args:t.args.slice(1).map(fp)}}default:return dp}}function pp(e){let t=[],n=e=>{pf(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(fp);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 mp=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??Sp,this.isT=e.isT??hp,this.missingKey=tp(e.missingKey),this.delims=rp(e.delims),this.funcs=ap({...Tf(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=Qd(e,this.delims,t);return lp(n.source,e=>this.evalParsed(n,e),n.defines,up(n),pp(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=Yf(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 op;case`Continue`:throw sp;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 Td(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Fd(e)}}evalIf(e,t,n){Sf(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(Sf(r)){let i=Xf(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=Ap(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=Xf(t,o);if(i.length===1)Qf(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;Qf(a,e,r),Qf(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===sp)continue;throw e}}}catch(e){if(e===op)return;throw e}}evalTemplateInvoke(e,t,n){let r=Xd(n.defines,e.name);if(!r)throw new Td(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=Xf(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=Xf(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=Xd(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 Td(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,cp);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)Qf(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 Td(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Td(`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 Ed(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=xf(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){_p(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof Od?new Od(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof jd?new jd(t.message,r,{source:i.source}):t instanceof Cd?t:new Td(`error calling ${e}: ${Op(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 Np(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 Ed(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 Td(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=_f(e,t);if(i!==hf)return i;if(this.missingKey===`error`)throw new Ad(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=Zf(t,i);if(!a.found)throw new Td(`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(Kf(e,this.toString,this.isT)))}};const hp=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function gp(e){return new mp(e)}function _p(e,t,n,r,i,a=Sp,o=xp,s=hp){let{argTypes:c,arity:l}=t,u=vp(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new Dd(e,u,n.length,r,{source:i});let d=yp(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!bp(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new kd(e,t+1,l,r,{source:i}):new Od(e,t+1,Dp(c),kp(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(!wp(n[f],l))throw new Od(e,t+1,`${Dp(`ordered`)} of the same kind as ${kp(n[f])}`,kp(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!Tp(n[p],l))throw new Od(e,t+1,`${Dp(`comparable`)} of the same kind as ${kp(n[p])}`,kp(l),r,{source:i})}}}function vp(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 yp(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 bp(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 Jf(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||Jf(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||Jf(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||Jf(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 Cp(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function xp(e){return e}function Sp(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 Od(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,kp(e),{line:0,column:0,offset:0})}function Cp(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function wp(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Tp(e,t){let n=Ep(e),r=Ep(t);return n===`nil`||r===`nil`?!0:n===r}function Ep(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 Dp(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 Op(e){return e instanceof Error?e.message:String(e)}function kp(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Ap(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?jp([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?jp(Object.entries(e)):[]}function jp(e){return[...e].sort((e,t)=>Mp(e[0],t[0]))}function Mp(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 Np(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 Pp(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Fp(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 Ip(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 Lp(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=Ip(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 Rp(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Ip(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 zp(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 Bp(e){return JSON.stringify(e)??`null`}function Vp(){return{atoi:{fn:e=>Pp(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>Lp(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>Rp(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Fp(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>zp(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>Bp(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const Hp={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Up(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*Hp[a],n=n.slice(e[0].length)}return t?-r:r}function Wp(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Hp.us?`${Math.floor(n)}ns`:n<Hp.ms?Gp(n,Hp.us,3,`µs`):n<Hp.s?Gp(n,Hp.ms,6,`ms`):Kp(n),t?`-${r}`:r}function Gp(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 Kp(e){let t=Math.floor(e/Hp.h);e-=t*Hp.h;let n=Math.floor(e/Hp.m);e-=n*Hp.m;let r=Math.floor(e/Hp.s),i=e-r*Hp.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 qp(e){return e*Hp.s}function Jp(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 Yp(e,t){let n=t().getTime()-Jp(e).getTime();return Wp(Math.round(n/1e3)*1e9)}const Xp=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Zp=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Qp=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],$p=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function em(e){return e<10?`0${e}`:String(e)}function tm(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function nm(e){return e<10?` ${e}`:String(e)}function rm(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${em(Math.floor(n/60))}${em(n%60)}`}function im(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${em(Math.floor(n/60))}:${em(n%60)}`}function am(e){return`${e>=0?`+`:`-`}${em(Math.floor(Math.abs(e)/60))}`}function om(e){return e===0?`Z`:rm(e)}function sm(e){return e===0?`Z`:im(e)}function cm(e){return e===0?`Z`:am(e)}function lm(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const um=[[`.000000000`,e=>`.${lm(e.ms,9,!1)}`],[`.999999999`,e=>{let t=lm(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${lm(e.ms,6,!1)}`],[`.999999`,e=>{let t=lm(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${tm(e.ms)}`],[`.999`,e=>{let t=tm(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>Xp[e.month-1]??`January`],[`Monday`,e=>Qp[e.weekday]??`Monday`],[`Z07:00`,e=>sm(e.offsetMinutes)],[`-07:00`,e=>im(e.offsetMinutes)],[`Z0700`,e=>om(e.offsetMinutes)],[`-0700`,e=>rm(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>Zp[e.month-1]??`Jan`],[`Mon`,e=>$p[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>am(e.offsetMinutes)],[`Z07`,e=>cm(e.offsetMinutes)],[`15`,e=>em(e.hour)],[`01`,e=>em(e.month)],[`02`,e=>em(e.day)],[`_2`,e=>nm(e.day)],[`03`,e=>em(e.hour12)],[`04`,e=>em(e.minute)],[`05`,e=>em(e.second)],[`06`,e=>em(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 dm(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of um)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const fm={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function pm(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const mm=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function hm(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=pm(new Intl.DateTimeFormat(`en-US`,{...fm,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=pm(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=gm(pm(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=mm.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 gm(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 _m(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function vm(e,t){return dm(e,hm(Jp(t),_m()))}function ym(e,t,n){return dm(e,hm(Jp(t),n))}function bm(e,t){let n=Jp(t),r=Up(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function xm(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Wp(qp(t))}return typeof e==`bigint`?Wp(qp(Number(e))):typeof e==`number`?Wp(qp(e)):`0s`}const Sm=36e11*24*365,Cm=36e11*24*30,wm=36e11*24,Tm=36e11,Em=6e10,Dm=1e9;function Om(e){let t=Up(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>Sm?`${Math.floor(n/Sm)}y`:n>Cm?`${Math.floor(n/Cm)}mo`:n>wm?`${Math.floor(n/wm)}d`:n>Tm?`${Math.floor(n/Tm)}h`:n>Em?`${Math.floor(n/Em)}m`:n>Dm?`${Math.floor(n/Dm)}s`:`0s`}function km(e){let t=hm(Jp(e),_m());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function Am(e,t){let n=hm(Jp(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function jm(e){return e()}const Mm=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Nm=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Pm(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Fm(e,t,n){return[e.slice(t,t+n),t+n]}function Im(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 Lm(e,t){for(let[n,r]of Mm.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function Rm(e,t){for(let[n,r]of Nm.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function zm(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 Bm(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 Vm(e,t){if(e[t]===` `){let[n,r]=Im(e,t+1,1,1);return[n,r]}return Im(e,t,1,2)}function Hm(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]=Im(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=Im(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=Im(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function Um(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]=Im(e,t+1,2,2);return[n*r*60,i]}return Hm(e,t,n)}function Wm(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 Gm(e,t,n){let[r,i]=Fm(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function Km(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=Lm(t,n);return i.month=e,[r,i]}case`Monday`:return[zm(t,n),i];case`Jan`:{let[e,r]=Rm(t,n);return i.month=e,[r,i]}case`Mon`:return[Bm(t,n),i];case`2006`:{let[e,r]=Im(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=Im(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=Im(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=Im(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=Vm(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=Im(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=Im(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=Im(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=Im(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=Im(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=Im(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=Im(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=Im(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=Im(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[Wm(t,n),i];case`-0700`:{let[e,r]=Hm(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=Hm(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]=Im(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=Um(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=Um(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=Um(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]=Gm(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]=Gm(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]=Gm(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 qm=`.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 Jm(e,t){let n=0,r=0,i=Pm();for(;n<e.length;){let a=!1;for(let o of qm)if(e.startsWith(o,n)){let[e,s]=Km(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 Ym(e,t){return Jm(e,t)}function Xm(e){return String(Math.floor(Jp(e).getTime()/1e3))}function Zm(e=()=>new Date){return{now:{fn:()=>jm(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>vm(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>ym(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>bm(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>km(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>Am(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>xm(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>Om(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>Ym(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>Yp(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>Xm(e),argTypes:[`value`],arity:{kind:`exact`}}}}function Qm(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 $m(...e){for(let t of e)if(!Qm(t))return t}function eh(e,t){return Qm(t)?e:t}function th(e){return JSON.parse(e)}function nh(e,t,n){return Sf(n)?e:t}function rh(e){return JSON.stringify(e)??`null`}function ih(e){return JSON.stringify(e,null,2)??`null`}function ah(){return{default:{fn:(e,t)=>eh(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>Qm(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>$m(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>nh(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>th(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>rh(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>ih(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function oh(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function sh(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 oh(...t)}function ch(e,t){return e[t]}function lh(e,t){return t in e}function uh(e){return Object.keys(e)}function dh(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 fh(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function ph(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 mh(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function hh(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function gh(e,t,n){return e[t]=n,e}function _h(e,t){return delete e[t],e}function vh(e){return Object.values(e)}function yh(){return{dict:{fn:(...e)=>oh(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>ch(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>gh(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>_h(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>uh(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>vh(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>hh(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>mh(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>ph(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>lh(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>dh(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>fh(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function bh(...e){for(let t of e)if(Qm(t))return!1;return!0}function xh(...e){for(let t of e)if(!Qm(t))return!0;return!1}function Sh(e,t){return[...e,t]}function Ch(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 wh(e){return e.filter(e=>!Qm(e))}function Th(...e){let t=[];for(let n of e)t.push(...n);return t}const Eh={line:0,column:0,offset:0};function Dh(e,t,n,r){return new Od(e,t,n,r,Eh)}function Oh(...e){if(e.length<3)throw Dh(`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(!Ah(t))throw Dh(`dig`,e.length-1,`dict`,jh(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw Dh(`dig`,e,`string`,jh(r[e]));return kh(t,n,r,e.length)}function kh(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(!Ah(a))throw Dh(`dig`,r-1,`dict at intermediate key`,jh(a));return kh(a,t,n.slice(1),r)}function Ah(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function jh(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Mh(e){return e[0]}function Nh(e,t){return t.some(t=>vf(t,e))}function Ph(e){return e.slice(0,-1)}function Fh(e){return e[e.length-1]}function Ih(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function Lh(...e){return e}function Rh(e,t){return[t,...e]}function zh(e){return e.slice(1)}function Bh(e){return[...e].reverse()}function Vh(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function Hh(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Uh(e){let t=[];for(let n of e)t.some(e=>vf(e,n))||t.push(n);return t}function Wh(e,...t){return e.filter(e=>!t.some(t=>vf(t,e)))}function Gh(){return{list:{fn:(...e)=>Lh(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Mh(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>Fh(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>zh(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>Ph(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>Ih(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>Bh(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>Uh(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>Wh(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Nh(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>wh(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>Vh(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>Th(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>Ch(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>Rh(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>Sh(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>Hh(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>Sh(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>Lh(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Oh(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>bh(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>xh(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function Kh(...e){return e.reduce((e,t)=>e+t,0)}function qh(e){return e+1}function Jh(e){return e+1}function Yh(...e){return e.reduce((e,t)=>e+t,0)}function Xh(e){return Math.ceil(e)}function Zh(e,t){return Math.trunc(e/t)}function Qh(e,...t){return t.reduce((e,t)=>e/t,e)}function $h(e){return Math.floor(e)}function eg(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function tg(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function ng(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function rg(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function ig(e,t){return e%t}function ag(...e){return e.reduce((e,t)=>e*t,1)}function og(...e){return e.reduce((e,t)=>e*t,1)}function sg(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function cg(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 lg(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),cg(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return cg(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:cg(n,i+t,r).join(` `)}default:return``}}function ug(e,t){return e-t}function dg(e,...t){return t.reduce((e,t)=>e-t,e)}function fg(e){return cg(0,e,e<0?-1:1)}function pg(){return{add:{fn:(...e)=>Kh(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>ug(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>ag(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>Zh(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>ig(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>ng(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>eg(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>$h(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>Xh(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>sg(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>Yh(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>dg(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>og(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>Qh(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>qh(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>Jh(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>tg(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>rg(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>eg(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>lg(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>fg(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>cg(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function mg(e){return Array.from(e)}function hg(e,t){return e===``?mg(t):t.split(e)}function gg(e,t){let n=mg(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function _g(e,t,n){let r=mg(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},vg=/^[-_\s]$/,yg=/^\p{P}$/u,bg=/^\p{L}$/u,xg=/^\p{Lu}$/u,Sg=/^\p{N}$/u;function Cg(e){return e!==void 0&&vg.test(e)}function wg(e){return e!==void 0&&bg.test(e)}function Tg(e){return e!==void 0&&xg.test(e)}function Eg(e){return e!==void 0&&Sg.test(e)}function Dg(e){return e!==void 0&&yg.test(e)}function Og(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(Cg(n)){for(;r<e.length&&Cg(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(Dg(n)){for(;r<e.length&&Dg(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(Tg(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(Tg(e[r])){let n=r;for(;n<e.length&&Tg(e[n]);)n++;return n<e.length&&wg(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(wg(e[r])){let n=r+1;for(;n<e.length&&wg(e[n])&&!Tg(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(wg(n)){for(;r<e.length&&wg(e[r])&&!Tg(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(Eg(n)){for(;r<e.length&&Eg(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!Cg(e[r])&&!wg(e[r])&&!Eg(e[r])&&!Dg(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function kg(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)Cg(r)?e.push(n):Tg(r)?e.push(r.toLowerCase()):e.push(r)}function Ag(e,t){if(e.length===0)return``;let n=mg(e),r=[],{word:i,next:a}=Og(n,0);for(;a<n.length;){i.wt!==q.Connector&&kg(r,i,t);let e=i,o=i;if({word:i,next:a}=Og(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)kg(r,i,t),{word:i,next:a}=Og(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){kg(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}=Og(n,a),i.wt!==q.Alphabet){kg(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),kg(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)kg(r,i,t),{word:i,next:a}=Og(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return kg(r,i,t),r.join(``).toLowerCase()}function jg(e){if(e.length===0)return``;let t=mg(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!Cg(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++,Cg(i)&&Cg(e)){n.push(e);continue}Cg(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Mg(e){return jg(e)}function Ng(...e){return e.join(` `)}function Pg(e,t){return t.includes(e)}function Fg(e,t){return t.startsWith(e)}function Ig(e,t){return t.endsWith(e)}function Lg(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
48
+ `?(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 Vd(e){return e===` `||e===` `||e===`\r`||e===`
49
+ `}function Hd(e){return e===`+`||e===`-`}function Ud(e){return e>=`0`&&e<=`9`}function Wd(e){return Ud(e)||e>=`a`&&e<=`f`||e>=`A`&&e<=`F`}function Gd(e){return e>=`0`&&e<=`7`}function Kd(e){return e===`0`||e===`1`}function qd(e){return e>=`a`&&e<=`z`||e>=`A`&&e<=`Z`}function Jd(e){return qd(e)||e===`_`}function Yd(e){return Jd(e)||Ud(e)}let Xd,Zd;function Qd(e,t){return Zd(e,t)}var $d=class e{static EMPTY=new e(new Map,void 0);#e;#t;constructor(e,t){this.#e=e,this.#t=t}static{Xd=(t,n)=>new e(t,n),Zd=(e,t)=>e.#e.get(t)??(e.#t&&Zd(e.#t,t))}has(e){return Zd(this,e)!==void 0}};function ef(e,t,n=$d.EMPTY){return new tf(e,t,n).parseTemplate()}var tf=class{lex;buf=[];defines=new Map;inherit;source;rangeDepth=0;constructor(e,t,n){this.source=e,this.inherit=n,this.lex=t?new Bd(e,t):new Bd(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:af(n)});return n}errAt(e,t,n={}){return new Ed(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 ${af(e)}`,{found:af(e)})}return{root:e,defines:Xd(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=rf(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 nf(e,t);let r=this.parseAction();r!==null&&t.push(r);continue}throw this.errAt(n,`unexpected ${af(n)} at top level`,{found:af(n)})}return nf(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 Ed(`{{${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 Ed(`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:af(e)});return pf(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(!of(e.type))throw this.errAt(e,"missing command after `|`",{expected:`command`,found:af(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=[sf(this.next())];for(;this.peek().type===`Comma`;)this.next(),n.push(sf(this.expect(`Variable`,`$variable`)));return{vars:n,isAssign:this.next().type===`Assign`}}parseCommand(){let e=this.peek().pos,t=[this.parsePrimary()];for(;of(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 sf(e);case`Identifier`:return{type:`Identifier`,pos:e.pos,ident:e.value};case`String`:return{type:`String`,pos:e.pos,raw:e.value,value:pf(e.value,e.pos,this.source)};case`Number`:return lf(e);case`Char`:return uf(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 ${af(e)}`,{expected:`command argument`,found:af(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 nf(e,t){return{type:`List`,pos:e,nodes:t}}function rf(e){return{trimLeft:e.trimLeft===!0,trimRight:e.trimRight===!0}}function af(e){return e.type===`EOF`?`end of input`:e.value||e.type}function of(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 sf(e){return{type:`Variable`,pos:e.pos,idents:cf(e.value)}}function cf(e){let t=e.indexOf(`.`);return t===-1?[e]:[e.slice(0,t),...e.slice(t+1).split(`.`)]}function lf(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=df(i);return{...s,intValue:e}}if(a){let e=ff(i);return{...s,floatValue:e}}let c=ff(i);return{...s,complexValue:[0,c]}}function uf(e,t){let n=mf(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 df(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 ff(e){return Number(e)}function pf(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+=`
50
+ `;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 Ed(`bad escape sequence \\${o}`,t,{expected:`valid escape sequence`,found:`\\${o}`,source:n})}}return r}function mf(e,t,n){let r=pf(`"${e.slice(1,-1).replace(/"/g,`\\"`)}"`,t,n);if(r.length===0)throw new Ed(`empty rune literal`,t,{source:n});return r.codePointAt(0)??0}function hf(e,t){if(t(e)!==!1)for(let n of gf(e))hf(n,t)}function gf(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 Ld(e)}}const _f=Symbol(`go-template-js.MISSING`);function vf(e,t){if(e==null)return _f;if(e instanceof Map)return e.has(t)?e.get(t):_f;if(Array.isArray(e))return _f;if(typeof e==`object`){let n=e;return t in n?n[t]:_f}return _f}function yf(e,t){let n=e;for(let e of t){if(n===_f)return _f;n=vf(n,e)}return n}function bf(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)=>bf(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)||!bf(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=>bf(e[n],t[n])):!1}return!1}const xf=new WeakSet;function Sf(e){return xf.add(e),e}function Cf(e){return xf.has(e)}function wf(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 Tf(e,t){return{eq:{fn:(e,...t)=>t.some(t=>Of(e,t)),argTypes:[`comparable`,`comparable`],arity:{kind:`variadic`}},ne:{fn:(e,t)=>!Of(e,t),argTypes:[`comparable`,`comparable`],arity:{kind:`exact`}},lt:{fn:(e,t)=>kf(e,t)<0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},le:{fn:(e,t)=>kf(e,t)<=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},gt:{fn:(e,t)=>kf(e,t)>0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},ge:{fn:(e,t)=>kf(e,t)>=0,argTypes:[`ordered`,`ordered`],arity:{kind:`exact`}},len:{fn:e=>Af(e),argTypes:[`sized`],arity:{kind:`exact`}},index:{fn:(e,...t)=>{let n=e;for(let e of t)n=jf(n,e);return n},argTypes:[`collection`,`index-key`],arity:{kind:`variadic`}},slice:{fn:(e,...t)=>Nf(e,t),argTypes:[`sliceable`,`int`],arity:{kind:`variadic`}},print:{fn:(...t)=>If(t,e),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},println:{fn:(...t)=>`${If(t,e)}\n`,argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},printf:{fn:(n,...r)=>Gf(n,r,e,t),argTypes:[`string`,`stringifiable`],arity:{kind:`variadic`},returnType:`string`},toString:{fn:n=>Jf(n,e,t),argTypes:[`value`],arity:{kind:`exact`},returnType:`string`},toStrings:{fn:n=>n.map(n=>Jf(n,e,t)),argTypes:[`list`],arity:{kind:`exact`}},call:{fn:(e,...t)=>e(...t),argTypes:[`callable`,`value`],arity:{kind:`variadic`}},html:{fn:(...t)=>zf(If(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},js:{fn:(...t)=>Hf(If(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},urlquery:{fn:(...t)=>Wf(If(t,e)),argTypes:[`stringifiable`],arity:{kind:`variadic`},returnType:`string`},not:{fn:e=>!wf(e),argTypes:[`truthy`],arity:{kind:`exact`}}}}function Ef(){return{and:Sf({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!0;for(let n of e)if(t=n(),!wf(t))return t;return t}}),or:Sf({argTypes:[`truthy`,`truthy`],arity:{kind:`variadic`},fn:(...e)=>{let t=!1;for(let n of e)if(t=n(),wf(t))return t;return t}})}}function Df(e,t){return{...Tf(e,t),...Ef()}}function Of(e,t){return typeof e==`number`&&typeof t==`bigint`?BigInt(e)===t:typeof e==`bigint`&&typeof t==`number`?e===BigInt(t):bf(e,t)}function kf(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 Af(e){return typeof e==`string`||Array.isArray(e)?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function jf(e,t){if(Array.isArray(e)||typeof e==`string`){let n=Mf(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 ${Pf(t)}`);return e[t]}throw Error(`index: cannot index ${Pf(e)}`)}function Mf(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 ${Ff(e)}`);if(n<0||n>t)throw Error(`index out of range: ${String(e)}`);return n}function Nf(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]=Mf(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 Pf(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Ff(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 If(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+=Lf(a,t),r=o}return n}function Lf(e,t){return e==null?`<nil>`:typeof e==`string`?e:t(e)}const Rf={"\0":`�`,'"':`&#34;`,"'":`&#39;`,"&":`&amp;`,"<":`&lt;`,">":`&gt;`};function zf(e){return e.replace(/[\0"'&<>]/g,e=>Rf[e]??e)}const Bf={"\\":`\\\\`,"'":`\\'`,'"':`\\"`,"<":`\\u003C`,">":`\\u003E`,"&":`\\u0026`,"=":`\\u003D`},Vf=/^[\p{L}\p{M}\p{N}\p{P}\p{S}]$/u;function Hf(e){let t=``;for(let n of e){let e=Bf[n];if(e!==void 0){t+=e;continue}let r=n.codePointAt(0);if(r<32||r>=128&&!Vf.test(n)){t+=`\\u${r.toString(16).toUpperCase().padStart(4,`0`)}`;continue}t+=n}return t}const Uf=new TextEncoder;function Wf(e){let t=``,n=Uf.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 Gf(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+=Kf(l??``,u,d,n,r),o=c+1}return i}function Kf(e,t,n,r,i){switch(e){case`s`:return typeof n==`string`?qf(t,n):qf(t,Lf(n,r));case`d`:return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Ff(n)}=${Lf(n,r)})`:qf(t,String(typeof n==`bigint`?n:Math.trunc(n)));case`v`:return qf(t,Jf(n,r,i));case`q`:return qf(t,JSON.stringify(Lf(n,r)));case`f`:{if(typeof n!=`number`&&typeof n!=`bigint`)return`%!${e}(${Ff(n)}=${Lf(n,r)})`;let i=t.includes(`.`)?Number(t.split(`.`)[1]):6;return qf(t,Number(n).toFixed(i))}case`t`:return qf(t,wf(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 qf(t,r)}return typeof n!=`number`&&typeof n!=`bigint`?`%!${e}(${Ff(n)}=${Lf(n,r)})`:typeof n==`bigint`?qf(t,n.toString(16)):qf(t,Math.trunc(n).toString(16));default:return`%!${e}(${Ff(n)}=${Lf(n,r)})`}}function qf(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 Jf(e,t,n){return e==null?`<nil>`:typeof e==`string`?e:n(e)?t(e):Array.isArray(e)?`[${e.map(e=>Jf(e,t,n)).join(` `)}]`:e instanceof Map?Yf([...e.entries()],t,n):Xf(e)?Yf(Object.entries(e),t,n):String(e)}function Yf(e,t,n){let r=e=>Jf(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 Xf(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 Zf(e){return{dot:e,root:e,parent:void 0,vars:new Map}}function Qf(e,t){return{dot:t,root:e.root,parent:e,vars:new Map}}function $f(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 ep(e,t,n){e.vars.set(t,n)}const tp=[`string`,`int`,`truncating-int`,`float`,`bool`,`T`,`ordered`,`list`,`dict`,`sized`,`comparable`,`stringifiable`,`liftable`,`callable`,`collection`,`index-key`,`sliceable`,`truthy`,`reflective`,`value`,`serializable`],np=new Set([`default`,`zero`,`error`]);function rp(e){if(e===void 0)return`default`;if(np.has(e))return e;throw Error(`EngineConfig.missingKey: expected "default" | "zero" | "error", got ${ip(e)}`)}function ip(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 ap(e){if(e!==void 0){if(typeof e!=`object`||!e)throw Error(`EngineConfig.delims: expected { left, right } object, got ${ip(e)}`);if(typeof e.left!=`string`||e.left.length===0)throw Error(`EngineConfig.delims.left: expected non-empty string, got ${ip(e.left)}`);if(typeof e.right!=`string`||e.right.length===0)throw Error(`EngineConfig.delims.right: expected non-empty string, got ${ip(e.right)}`);return{left:e.left,right:e.right}}}function op(e){switch(e.kind){case`exact`:return!1;case`variadic`:return!0;case`alternating`:return!0}}function sp(e){let t=new Set(tp);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 ${tp.join(`, `)}`)}),op(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 cp=Object.freeze({kind:`break`}),lp=Object.freeze({kind:`continue`}),up={kind:`none`};let dp;(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{dp=(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 fp(e){let t=new Set,n=e=>{hf(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 pp={kind:`dynamic`};function mp(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=Fp(e);return typeof t==`number`||typeof t==`bigint`?{kind:`literal`,value:t}:pp}case`Pipe`:{if(e.decls.length!==0||e.cmds.length!==1)return pp;let t=e.cmds[0];if(t===void 0)return pp;let n=t.args[0];return n===void 0||n.type!==`Identifier`?pp:{kind:`call`,name:n.ident,args:t.args.slice(1).map(mp)}}default:return pp}}function hp(e){let t=[],n=e=>{hf(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(mp);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 gp=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??wp,this.isT=e.isT??_p,this.missingKey=rp(e.missingKey),this.delims=ap(e.delims),this.funcs=sp({...Df(this.toString,this.isT),...e.funcs??{}})}parse(e,t){let n=ef(e,this.delims,t);return dp(n.source,e=>this.evalParsed(n,e),n.defines,fp(n),hp(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=Zf(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 cp;case`Continue`:throw lp;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 Dd(`unexpected ${e.type} at statement position`,e.pos,{source:n.source});default:Ld(e)}}evalIf(e,t,n){wf(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(wf(r)){let i=Qf(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=Mp(r);try{if(a.length===0){e.elseList&&this.evalList(e.elseList,t,n);return}for(let[r,o]of a){let a=Qf(t,o);if(i.length===1)ep(a,i[0]?.idents[0]??`$`,o);else if(i.length>=2){let e=i[0]?.idents[0]??`$`,t=i[1]?.idents[0]??`$`;ep(a,e,r),ep(a,t,o)}try{this.evalList(e.list,a,n)}catch(e){if(e===lp)continue;throw e}}}catch(e){if(e===cp)return;throw e}}evalTemplateInvoke(e,t,n){let r=Qd(n.defines,e.name);if(!r)throw new Dd(`template ${JSON.stringify(e.name)} is not defined`,e.pos,{source:n.source});let i=Qf(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=Qf(t,e.pipe?this.evalPipe(e.pipe,t,n):t.dot),i=Qd(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 Dd(`empty pipeline`,e.pos,{source:n.source});let r=this.evalCommand(e.cmds[0],t,n,up);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)ep(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 Dd(`empty command`,e.pos,{source:n.source});let i=e.args[0];if(i.type!==`Identifier`){if(e.args.length>1)throw new Dd(`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 Od(i.ident,i.pos,{source:n.source,available:Object.keys(this.funcs)});let o=e.args.slice(1),s=Cf(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){yp(e,t,n,r,i.source,this.toString,this.fromString,this.isT);try{return t.fn(...n)}catch(t){throw t instanceof Ad?new Ad(t.funcName,t.argIndex,t.expected,t.receivedSummary,r,{source:i.source}):t instanceof Nd?new Nd(t.message,r,{source:i.source}):t instanceof Td?t:new Dd(`error calling ${e}: ${Ap(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 Fp(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 Od(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 Dd(`cannot evaluate ${e.type} as a value`,e.pos,{source:n.source})}}resolveFieldChain(e,t,n,r){let i=yf(e,t);if(i!==_f)return i;if(this.missingKey===`error`)throw new Md(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=$f(t,i);if(!a.found)throw new Dd(`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(Jf(e,this.toString,this.isT)))}};const _p=e=>typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map);function vp(e){return new gp(e)}function yp(e,t,n,r,i,a=wp,o=Cp,s=_p){let{argTypes:c,arity:l}=t,u=bp(c,l);if(n.length<u.minimum||n.length>u.maximum)throw new kd(e,u,n.length,r,{source:i});let d=xp(c,l),f=-1,p=-1;for(let t=0;t<n.length;t++){let c=d(t),l=n[t];if(!Sp(c,l,a,s))throw(c===`int`||c===`truncating-int`)&&(typeof l==`number`||typeof l==`bigint`)?new jd(e,t+1,l,r,{source:i}):new Ad(e,t+1,kp(c),jp(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(!Ep(n[f],l))throw new Ad(e,t+1,`${kp(`ordered`)} of the same kind as ${jp(n[f])}`,jp(l),r,{source:i})}if(c===`comparable`){if(p===-1)p=t;else if(!Dp(n[p],l))throw new Ad(e,t+1,`${kp(`comparable`)} of the same kind as ${jp(n[p])}`,jp(l),r,{source:i})}}}function bp(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 xp(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 Sp(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 Xf(t);case`sized`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||t instanceof Set||Xf(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||Xf(t);case`callable`:return typeof t==`function`;case`collection`:return typeof t==`string`||Array.isArray(t)||t instanceof Map||Xf(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 Tp(t);default:throw Error(`invalid ArgType: ${String(e)}`)}}function Cp(e){return e}function wp(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 Ad(`<engine.toString>`,1,`string (or a consumer-supplied toString that flattens T)`,jp(e),{line:0,column:0,offset:0})}function Tp(e){try{return JSON.stringify(e)!==void 0}catch{return!1}}function Ep(e,t){return typeof e==typeof t||typeof e==`number`&&typeof t==`bigint`||typeof e==`bigint`&&typeof t==`number`}function Dp(e,t){let n=Op(e),r=Op(t);return n===`nil`||r===`nil`?!0:n===r}function Op(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 kp(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 Ap(e){return e instanceof Error?e.message:String(e)}function jp(e){return e===null?`null`:e===void 0?`undefined`:Array.isArray(e)?`array`:e instanceof Map?`Map`:typeof e}function Mp(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?Np([...e.entries()]):e instanceof Set?[...e.values()].map((e,t)=>[t,e]):typeof e==`object`?Np(Object.entries(e)):[]}function Np(e){return[...e].sort((e,t)=>Pp(e[0],t[0]))}function Pp(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 Fp(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 Ip(e){if(!/^[+-]?\d+$/.test(e))return 0;let t=Number.parseInt(e,10);return Number.isSafeInteger(t)?t:0}function Lp(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 Rp(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 zp(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=Rp(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 Bp(e){if(typeof e==`bigint`)return e;if(typeof e==`number`)return BigInt(Math.trunc(e));if(typeof e==`string`){let t=Rp(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 Vp(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 Hp(e){return JSON.stringify(e)??`null`}function Up(){return{atoi:{fn:e=>Ip(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},int:{fn:e=>zp(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`int`},int64:{fn:e=>Bp(e),argTypes:[`value`],arity:{kind:`exact`}},float64:{fn:e=>Lp(e),argTypes:[`value`],arity:{kind:`exact`},returnType:`float`},toDecimal:{fn:e=>Vp(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`int`},toRawJson:{fn:e=>Hp(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}const Wp={h:36e11,m:6e10,s:1e9,ms:1e6,us:1e3,µs:1e3,ns:1};function Gp(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*Wp[a],n=n.slice(e[0].length)}return t?-r:r}function Kp(e){if(e===0)return`0s`;let t=!1,n=e;n<0&&(t=!0,n=-n);let r;return r=n<Wp.us?`${Math.floor(n)}ns`:n<Wp.ms?qp(n,Wp.us,3,`µs`):n<Wp.s?qp(n,Wp.ms,6,`ms`):Jp(n),t?`-${r}`:r}function qp(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 Jp(e){let t=Math.floor(e/Wp.h);e-=t*Wp.h;let n=Math.floor(e/Wp.m);e-=n*Wp.m;let r=Math.floor(e/Wp.s),i=e-r*Wp.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 Yp(e){return e*Wp.s}function Xp(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 Zp(e,t){let n=t().getTime()-Xp(e).getTime();return Kp(Math.round(n/1e3)*1e9)}const Qp=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],$p=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],em=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],tm=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function nm(e){return e<10?`0${e}`:String(e)}function rm(e){return e<10?`00${e}`:e<100?`0${e}`:String(e)}function im(e){return e<10?` ${e}`:String(e)}function am(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${nm(Math.floor(n/60))}${nm(n%60)}`}function om(e){let t=e>=0?`+`:`-`,n=Math.abs(e);return`${t}${nm(Math.floor(n/60))}:${nm(n%60)}`}function sm(e){return`${e>=0?`+`:`-`}${nm(Math.floor(Math.abs(e)/60))}`}function cm(e){return e===0?`Z`:am(e)}function lm(e){return e===0?`Z`:om(e)}function um(e){return e===0?`Z`:sm(e)}function dm(e,t,n){let r=e*1e6,i=String(r).padStart(9,`0`).slice(0,t);return n?i.replace(/0+$/,``):i}const fm=[[`.000000000`,e=>`.${dm(e.ms,9,!1)}`],[`.999999999`,e=>{let t=dm(e.ms,9,!0);return t?`.${t}`:``}],[`.000000`,e=>`.${dm(e.ms,6,!1)}`],[`.999999`,e=>{let t=dm(e.ms,6,!0);return t?`.${t}`:``}],[`.000`,e=>`.${rm(e.ms)}`],[`.999`,e=>{let t=rm(e.ms).replace(/0+$/,``);return t?`.${t}`:``}],[`January`,e=>Qp[e.month-1]??`January`],[`Monday`,e=>em[e.weekday]??`Monday`],[`Z07:00`,e=>lm(e.offsetMinutes)],[`-07:00`,e=>om(e.offsetMinutes)],[`Z0700`,e=>cm(e.offsetMinutes)],[`-0700`,e=>am(e.offsetMinutes)],[`2006`,e=>String(e.year)],[`Jan`,e=>$p[e.month-1]??`Jan`],[`Mon`,e=>tm[e.weekday]??`Mon`],[`MST`,e=>e.tzAbbr],[`-07`,e=>sm(e.offsetMinutes)],[`Z07`,e=>um(e.offsetMinutes)],[`15`,e=>nm(e.hour)],[`01`,e=>nm(e.month)],[`02`,e=>nm(e.day)],[`_2`,e=>im(e.day)],[`03`,e=>nm(e.hour12)],[`04`,e=>nm(e.minute)],[`05`,e=>nm(e.second)],[`06`,e=>nm(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 pm(e,t){let n=``,r=0;for(;r<e.length;){let i=!1;for(let[a,o]of fm)if(e.startsWith(a,r)){n+=o(t),r+=a.length,i=!0;break}i||(n+=e[r++])}return n}const mm={year:`numeric`,month:`2-digit`,day:`2-digit`,weekday:`long`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1};function hm(e){let t=new Map;for(let n of e)t.set(n.type,n.value);return t}const gm=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`];function _m(e,t){let n;try{new Intl.DateTimeFormat(`en-US`,{timeZone:t}),n=t}catch{n=`UTC`}let r=hm(new Intl.DateTimeFormat(`en-US`,{...mm,timeZone:n}).formatToParts(e)),i=parseInt(r.get(`hour`)??`0`,10)%24,a=hm(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`short`}).formatToParts(e)).get(`timeZoneName`)??n,o=vm(hm(new Intl.DateTimeFormat(`en-US`,{timeZone:n,timeZoneName:`shortOffset`}).formatToParts(e)).get(`timeZoneName`)??`GMT`),s=gm.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 vm(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 ym(){return Intl.DateTimeFormat().resolvedOptions().timeZone}function bm(e,t){return pm(e,_m(Xp(t),ym()))}function xm(e,t,n){return pm(e,_m(Xp(t),n))}function Sm(e,t){let n=Xp(t),r=Gp(e);return Number.isNaN(r)?n:new Date(n.getTime()+r/1e6)}function Cm(e){if(typeof e==`string`){let t=parseInt(e,10);return Number.isNaN(t)?`0s`:Kp(Yp(t))}return typeof e==`bigint`?Kp(Yp(Number(e))):typeof e==`number`?Kp(Yp(e)):`0s`}const wm=36e11*24*365,Tm=36e11*24*30,Em=36e11*24,Dm=36e11,Om=6e10,km=1e9;function Am(e){let t=Gp(String(e));if(Number.isNaN(t))return`0s`;let n=Math.abs(t);return n>wm?`${Math.floor(n/wm)}y`:n>Tm?`${Math.floor(n/Tm)}mo`:n>Em?`${Math.floor(n/Em)}d`:n>Dm?`${Math.floor(n/Dm)}h`:n>Om?`${Math.floor(n/Om)}m`:n>km?`${Math.floor(n/km)}s`:`0s`}function jm(e){let t=_m(Xp(e),ym());return`${t.year}-${String(t.month).padStart(2,`0`)}-${String(t.day).padStart(2,`0`)}`}function Mm(e,t){let n=_m(Xp(e),t);return`${n.year}-${String(n.month).padStart(2,`0`)}-${String(n.day).padStart(2,`0`)}`}function Nm(e){return e()}const Pm=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Fm=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`];function Im(){return{year:2e3,month:1,day:1,hour:0,minute:0,second:0,ms:0,offsetMinutes:0,isPM:!1,hour12:!1}}function Lm(e,t,n){return[e.slice(t,t+n),t+n]}function Rm(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 zm(e,t){for(let[n,r]of Pm.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected month name at pos ${t}`)}function Bm(e,t){for(let[n,r]of Fm.entries())if(e.startsWith(r,t))return[n+1,t+r.length];throw Error(`sprig toDate: expected short month name at pos ${t}`)}function Vm(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 Hm(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 Um(e,t){if(e[t]===` `){let[n,r]=Rm(e,t+1,1,1);return[n,r]}return Rm(e,t,1,2)}function Wm(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]=Rm(e,i,2,2);i=o;let s=0;if(n&&e[i]===`:`){let[t,n]=Rm(e,i+1,2,2);s=t,i=n}else if(!n){let[t,n]=Rm(e,i,2,2);s=t,i=n}return[r*(a*60+s),i]}function Gm(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]=Rm(e,t+1,2,2);return[n*r*60,i]}return Wm(e,t,n)}function Km(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 qm(e,t,n){let[r,i]=Lm(e,t,n),a=parseInt(r.padEnd(9,`0`),10);return[Math.round(a/1e6),i]}function Jm(e,t,n,r){let i={...r};switch(e){case`January`:{let[e,r]=zm(t,n);return i.month=e,[r,i]}case`Monday`:return[Vm(t,n),i];case`Jan`:{let[e,r]=Bm(t,n);return i.month=e,[r,i]}case`Mon`:return[Hm(t,n),i];case`2006`:{let[e,r]=Rm(t,n,4,4);return i.year=e,[r,i]}case`06`:{let[e,r]=Rm(t,n,2,2);return i.year=e<70?2e3+e:1900+e,[r,i]}case`01`:{let[e,r]=Rm(t,n,2,2);return i.month=e,[r,i]}case`1`:{let[e,r]=Rm(t,n,1,2);return i.month=e,[r,i]}case`_2`:{let[e,r]=Um(t,n);return i.day=e,[r,i]}case`02`:{let[e,r]=Rm(t,n,2,2);return i.day=e,[r,i]}case`2`:{let[e,r]=Rm(t,n,1,2);return i.day=e,[r,i]}case`15`:{let[e,r]=Rm(t,n,2,2);return i.hour=e,[r,i]}case`03`:{let[e,r]=Rm(t,n,2,2);return i.hour=e,i.hour12=!0,[r,i]}case`3`:{let[e,r]=Rm(t,n,1,2);return i.hour=e,i.hour12=!0,[r,i]}case`04`:{let[e,r]=Rm(t,n,2,2);return i.minute=e,[r,i]}case`4`:{let[e,r]=Rm(t,n,1,2);return i.minute=e,[r,i]}case`05`:{let[e,r]=Rm(t,n,2,2);return i.second=e,[r,i]}case`5`:{let[e,r]=Rm(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[Km(t,n),i];case`-0700`:{let[e,r]=Wm(t,n,!1);return i.offsetMinutes=e,[r,i]}case`-07:00`:{let[e,r]=Wm(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]=Rm(t,n+1,2,2);return i.offsetMinutes=e*r*60,[a,i]}case`Z0700`:{let[e,r]=Gm(t,n,!1,!1);return i.offsetMinutes=e,[r,i]}case`Z07:00`:{let[e,r]=Gm(t,n,!0,!1);return i.offsetMinutes=e,[r,i]}case`Z07`:{let[e,r]=Gm(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]=qm(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]=qm(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]=qm(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 Ym=`.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 Xm(e,t){let n=0,r=0,i=Im();for(;n<e.length;){let a=!1;for(let o of Ym)if(e.startsWith(o,n)){let[e,s]=Jm(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 Zm(e,t){return Xm(e,t)}function Qm(e){return String(Math.floor(Xp(e).getTime()/1e3))}function $m(e=()=>new Date){return{now:{fn:()=>Nm(e),argTypes:[],arity:{kind:`exact`}},date:{fn:(e,t)=>bm(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},dateInZone:{fn:(e,t,n)=>xm(e,t,n),argTypes:[`string`,`value`,`string`],arity:{kind:`exact`}},dateModify:{fn:(e,t)=>Sm(e,t),argTypes:[`string`,`value`],arity:{kind:`exact`}},htmlDate:{fn:e=>jm(e),argTypes:[`value`],arity:{kind:`exact`}},htmlDateInZone:{fn:(e,t)=>Mm(e,t),argTypes:[`value`,`string`],arity:{kind:`exact`}},duration:{fn:e=>Cm(e),argTypes:[`value`],arity:{kind:`exact`}},durationRound:{fn:e=>Am(e),argTypes:[`value`],arity:{kind:`exact`}},toDate:{fn:(e,t)=>Zm(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},ago:{fn:t=>Zp(t,e),argTypes:[`value`],arity:{kind:`exact`}},unixEpoch:{fn:e=>Qm(e),argTypes:[`value`],arity:{kind:`exact`}}}}function eh(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 th(...e){for(let t of e)if(!eh(t))return t}function nh(e,t){return eh(t)?e:t}function rh(e){return JSON.parse(e)}function ih(e,t,n){return wf(n)?e:t}function ah(e){return JSON.stringify(e)??`null`}function oh(e){return JSON.stringify(e,null,2)??`null`}function sh(){return{default:{fn:(e,t)=>nh(e,t),argTypes:[`value`,`truthy`],arity:{kind:`variadic`}},empty:{fn:e=>eh(e),argTypes:[`truthy`],arity:{kind:`exact`}},coalesce:{fn:(...e)=>th(...e),argTypes:[`truthy`],arity:{kind:`variadic`}},ternary:{fn:(e,t,n)=>ih(e,t,n),argTypes:[`value`,`value`,`truthy`],arity:{kind:`exact`}},fromJson:{fn:e=>rh(e),argTypes:[`string`],arity:{kind:`exact`}},toJson:{fn:e=>ah(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`},toPrettyJson:{fn:e=>oh(e),argTypes:[`serializable`],arity:{kind:`exact`},returnType:`string`}}}function ch(...e){let t={};for(let n=0;n<e.length;n+=2)t[e[n]]=e[n+1];return t}function lh(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 ch(...t)}function uh(e,t){return e[t]}function dh(e,t){return t in e}function fh(e){return Object.keys(e)}function ph(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 mh(e,...t){let n={...e};for(let e of t)Object.assign(n,e);return n}function hh(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 gh(e,...t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function _h(e,...t){let n=[];for(let r of t)e in r&&n.push(r[e]);return n}function vh(e,t,n){return e[t]=n,e}function yh(e,t){return delete e[t],e}function bh(e){return Object.values(e)}function xh(){return{dict:{fn:(...e)=>ch(...e),argTypes:[`string`,`value`],arity:{kind:`alternating`,minimum:0}},get:{fn:(e,t)=>uh(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},set:{fn:(e,t,n)=>vh(e,t,n),argTypes:[`dict`,`string`,`value`],arity:{kind:`exact`}},unset:{fn:(e,t)=>yh(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},keys:{fn:e=>fh(e),argTypes:[`dict`],arity:{kind:`variadic`}},values:{fn:e=>bh(e),argTypes:[`dict`],arity:{kind:`exact`}},pluck:{fn:(e,...t)=>_h(e,...t),argTypes:[`string`,`dict`],arity:{kind:`variadic`}},pick:{fn:(e,...t)=>gh(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},omit:{fn:(e,...t)=>hh(e,...t),argTypes:[`dict`,`string`],arity:{kind:`variadic`}},hasKey:{fn:(e,t)=>dh(e,t),argTypes:[`dict`,`string`],arity:{kind:`exact`}},merge:{fn:(e,...t)=>ph(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}},mergeOverwrite:{fn:(e,...t)=>mh(e,...t),argTypes:[`dict`,`dict`],arity:{kind:`variadic`}}}}new TextEncoder,new Map(Array.from(`ABCDEFGHIJKLMNOPQRSTUVWXYZ234567`).map((e,t)=>[e,t])),new TextDecoder,new TextEncoder,new TextDecoder,new TextEncoder;function Sh(...e){for(let t of e)if(eh(t))return!1;return!0}function Ch(...e){for(let t of e)if(!eh(t))return!0;return!1}function wh(e,t){return[...e,t]}function Th(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 Eh(e){return e.filter(e=>!eh(e))}function Dh(...e){let t=[];for(let n of e)t.push(...n);return t}const Oh={line:0,column:0,offset:0};function kh(e,t,n,r){return new Ad(e,t,n,r,Oh)}function Ah(...e){if(e.length<3)throw kh(`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(!Mh(t))throw kh(`dig`,e.length-1,`dict`,Nh(t));for(let e=0;e<r.length;e++)if(typeof r[e]!=`string`)throw kh(`dig`,e,`string`,Nh(r[e]));return jh(t,n,r,e.length)}function jh(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(!Mh(a))throw kh(`dig`,r-1,`dict at intermediate key`,Nh(a));return jh(a,t,n.slice(1),r)}function Mh(e){return typeof e==`object`&&!!e&&!Array.isArray(e)&&!(e instanceof Map)&&!(e instanceof Set)}function Nh(e){return e===null?`null`:Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:typeof e}function Ph(e){return e[0]}function Fh(e,t){return t.some(t=>bf(t,e))}function Ih(e){return e.slice(0,-1)}function Lh(e){return e[e.length-1]}function Rh(e){return Array.isArray(e)||typeof e==`string`?e.length:e instanceof Map||e instanceof Set?e.size:Object.keys(e).length}function zh(...e){return e}function Bh(e,t){return[t,...e]}function Vh(e){return e.slice(1)}function Hh(e){return[...e].reverse()}function Uh(e,t,n){let r=t===void 0?0:t,i=n===void 0?e.length:n;return e.slice(r,i)}function Wh(e){let t=[];for(let n of e)n!=null&&t.push(String(n));return t.sort()}function Gh(e){let t=[];for(let n of e)t.some(e=>bf(e,n))||t.push(n);return t}function Kh(e,...t){return e.filter(e=>!t.some(t=>bf(t,e)))}function qh(){return{list:{fn:(...e)=>zh(...e),argTypes:[`value`],arity:{kind:`variadic`}},first:{fn:e=>Ph(e),argTypes:[`list`],arity:{kind:`exact`}},last:{fn:e=>Lh(e),argTypes:[`list`],arity:{kind:`exact`}},rest:{fn:e=>Vh(e),argTypes:[`list`],arity:{kind:`exact`}},initial:{fn:e=>Ih(e),argTypes:[`list`],arity:{kind:`exact`}},len:{fn:e=>Rh(e),argTypes:[`sized`],arity:{kind:`exact`}},reverse:{fn:e=>Hh(e),argTypes:[`list`],arity:{kind:`exact`}},uniq:{fn:e=>Gh(e),argTypes:[`list`],arity:{kind:`exact`}},without:{fn:(e,...t)=>Kh(e,...t),argTypes:[`list`,`value`],arity:{kind:`variadic`}},has:{fn:(e,t)=>Fh(e,t),argTypes:[`value`,`list`],arity:{kind:`exact`}},compact:{fn:e=>Eh(e),argTypes:[`list`],arity:{kind:`exact`}},slice:{fn:(e,t,n)=>Uh(e,t,n),argTypes:[`list`,`truncating-int`],arity:{kind:`variadic`}},concat:{fn:(...e)=>Dh(...e),argTypes:[`list`],arity:{kind:`variadic`}},chunk:{fn:(e,t)=>Th(e,t),argTypes:[`int`,`list`],arity:{kind:`exact`}},prepend:{fn:(e,t)=>Bh(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},append:{fn:(e,t)=>wh(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},sortAlpha:{fn:e=>Wh(e),argTypes:[`list`],arity:{kind:`exact`},returnType:`list`},push:{fn:(e,t)=>wh(e,t),argTypes:[`list`,`value`],arity:{kind:`exact`}},tuple:{fn:(...e)=>zh(...e),argTypes:[`value`],arity:{kind:`variadic`}},dig:{fn:(...e)=>Ah(...e),argTypes:[`value`],arity:{kind:`variadic`}},all:{fn:(...e)=>Sh(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`},any:{fn:(...e)=>Ch(...e),argTypes:[`truthy`],arity:{kind:`variadic`},returnType:`bool`}}}function Jh(...e){return e.reduce((e,t)=>e+t,0)}function Yh(e){return e+1}function Xh(e){return e+1}function Zh(...e){return e.reduce((e,t)=>e+t,0)}function Qh(e){return Math.ceil(e)}function $h(e,t){return Math.trunc(e/t)}function eg(e,...t){return t.reduce((e,t)=>e/t,e)}function tg(e){return Math.floor(e)}function ng(...e){return e.reduce((e,t)=>t>e?t:e,-1/0)}function rg(...e){return e.reduce((e,t)=>Math.max(e,t),-1/0)}function ig(...e){return e.reduce((e,t)=>t<e?t:e,1/0)}function ag(...e){return e.reduce((e,t)=>Math.min(e,t),1/0)}function og(e,t){return e%t}function sg(...e){return e.reduce((e,t)=>e*t,1)}function cg(...e){return e.reduce((e,t)=>e*t,1)}function lg(e,t=0){let n=10**t;return Math.sign(e)*Math.round(Math.abs(e)*n)/n}function ug(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 dg(...e){let t=1;switch(e.length){case 0:return``;case 1:{let n=e[0];return n<1&&(t=-1),ug(1,n+t,t).join(` `)}case 2:{let t=e[0],n=e[1],r=n<t?-1:1;return ug(t,n+r,r).join(` `)}case 3:{let n=e[0],r=e[1],i=e[2];return i<n&&(t=-1,r>0)?``:ug(n,i+t,r).join(` `)}default:return``}}function fg(e,t){return e-t}function pg(e,...t){return t.reduce((e,t)=>e-t,e)}function mg(e){return ug(0,e,e<0?-1:1)}function hg(){return{add:{fn:(...e)=>Jh(...e),argTypes:[`truncating-int`],arity:{kind:`variadic`}},sub:{fn:(e,t)=>fg(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mul:{fn:(...e)=>sg(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},div:{fn:(e,t)=>$h(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},mod:{fn:(e,t)=>og(e,t),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`exact`}},min:{fn:(...e)=>ig(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},max:{fn:(...e)=>ng(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},floor:{fn:e=>tg(e),argTypes:[`float`],arity:{kind:`exact`}},ceil:{fn:e=>Qh(e),argTypes:[`float`],arity:{kind:`exact`}},round:{fn:(e,t)=>lg(e,t),argTypes:[`float`,`int`,`float`],arity:{kind:`variadic`}},addf:{fn:(...e)=>Zh(...e),argTypes:[`float`],arity:{kind:`variadic`}},subf:{fn:(e,...t)=>pg(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},mulf:{fn:(...e)=>cg(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},divf:{fn:(e,...t)=>eg(e,...t),argTypes:[`float`,`float`],arity:{kind:`variadic`}},add1:{fn:e=>Yh(e),argTypes:[`truncating-int`],arity:{kind:`exact`}},add1f:{fn:e=>Xh(e),argTypes:[`float`],arity:{kind:`exact`}},maxf:{fn:(...e)=>rg(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},minf:{fn:(...e)=>ag(...e),argTypes:[`float`,`float`],arity:{kind:`variadic`}},biggest:{fn:(...e)=>ng(...e),argTypes:[`truncating-int`,`truncating-int`],arity:{kind:`variadic`}},seq:{fn:(...e)=>dg(...e),argTypes:[`int`],arity:{kind:`variadic`},returnType:`string`},until:{fn:e=>mg(e),argTypes:[`int`],arity:{kind:`exact`},returnType:`list`},untilStep:{fn:(e,t,n)=>ug(e,t,n),argTypes:[`int`,`int`,`int`],arity:{kind:`exact`},returnType:`list`}}}Array.from({length:95},(e,t)=>String.fromCharCode(t+32)).join(``);function gg(e){return Array.from(e)}function _g(e,t){return e===``?gg(t):t.split(e)}function vg(e,t){let n=gg(t);return n.length<=e||e<4?t:`${n.slice(0,e-3).join(``)}...`}function yg(e,t,n){let r=gg(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},bg=/^[-_\s]$/,xg=/^\p{P}$/u,Sg=/^\p{L}$/u,Cg=/^\p{Lu}$/u,wg=/^\p{N}$/u;function Tg(e){return e!==void 0&&bg.test(e)}function Eg(e){return e!==void 0&&Sg.test(e)}function Dg(e){return e!==void 0&&Cg.test(e)}function Og(e){return e!==void 0&&wg.test(e)}function kg(e){return e!==void 0&&xg.test(e)}function Ag(e,t){if(t>=e.length)return{word:{wt:q.Invalid,text:``},next:t};let n=e[t],r=t+1;if(Tg(n)){for(;r<e.length&&Tg(e[r]);)r++;return{word:{wt:q.Connector,text:e.slice(t,r).join(``)},next:r}}if(kg(n)){for(;r<e.length&&kg(e[r]);)r++;return{word:{wt:q.Punct,text:e.slice(t,r).join(``)},next:r}}if(Dg(n)){if(r>=e.length)return{word:{wt:q.UpperCase,text:n},next:r};if(Dg(e[r])){let n=r;for(;n<e.length&&Dg(e[n]);)n++;return n<e.length&&Eg(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(Eg(e[r])){let n=r+1;for(;n<e.length&&Eg(e[n])&&!Dg(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(Eg(n)){for(;r<e.length&&Eg(e[r])&&!Dg(e[r]);)r++;return{word:{wt:q.Alphabet,text:e.slice(t,r).join(``)},next:r}}if(Og(n)){for(;r<e.length&&Og(e[r]);)r++;return{word:{wt:q.Number,text:e.slice(t,r).join(``)},next:r}}for(;r<e.length&&!Tg(e[r])&&!Eg(e[r])&&!Og(e[r])&&!kg(e[r]);)r++;return{word:{wt:q.Other,text:e.slice(t,r).join(``)},next:r}}function jg(e,t,n){if(t.wt!==q.UpperCase&&t.wt!==q.Connector){e.push(t.text);return}for(let r of t.text)Tg(r)?e.push(n):Dg(r)?e.push(r.toLowerCase()):e.push(r)}function Mg(e,t){if(e.length===0)return``;let n=gg(e),r=[],{word:i,next:a}=Ag(n,0);for(;a<n.length;){i.wt!==q.Connector&&jg(r,i,t);let e=i,o=i;if({word:i,next:a}=Ag(n,a),e.wt===q.Number){for(;i.wt===q.Alphabet||i.wt===q.Number;)jg(r,i,t),{word:i,next:a}=Ag(n,a);i.wt!==q.Invalid&&i.wt!==q.Punct&&i.wt!==q.Connector&&r.push(t);continue}if(e.wt===q.Connector){jg(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}=Ag(n,a),i.wt!==q.Alphabet){jg(r,s,t),i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t);continue}for(r.push(t),jg(r,s,t);i.wt===q.Alphabet||i.wt===q.Number;)jg(r,i,t),{word:i,next:a}=Ag(n,a);i.wt!==q.Invalid&&i.wt!==q.Connector&&i.wt!==q.Punct&&r.push(t)}return jg(r,i,t),r.join(``).toLowerCase()}function Ng(e){if(e.length===0)return``;let t=gg(e),n=[],r=0,i=``;for(;r<t.length;){if(i=t[r],r++,!Tg(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++,Tg(i)&&Tg(e)){n.push(e);continue}Tg(e)?i=i.toUpperCase():(i=i.toLowerCase(),n.push(e))}return n.push(i),n.join(``)}function Pg(e){return Ng(e)}function Fg(...e){return e.join(` `)}function Ig(e,t){return t.includes(e)}function Lg(e,t){return t.startsWith(e)}function Rg(e,t){return t.endsWith(e)}function zg(e,t){let n=` `.repeat(Math.max(0,e));return t.split(`
51
51
  `).map(e=>n+e).join(`
52
- `)}function Rg(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 zg(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw Dh(`join`,2,`list of strings/primitives`,`list element of type ${Bg(e)}`);n.push(String(e))}return n.join(e)}function Bg(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function Vg(e){return Ag(e,`-`)}function Hg(e){return e.toLowerCase()}function Ug(e,t){return`\n${Lg(e,t)}`}function Wg(e){return e.replace(/\s+/g,``)}function Gg(e,t,n){return n===1?e:t}function Kg(...e){return e.map(e=>`"${e}"`).join(` `)}function qg(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function Jg(e,t){return t.repeat(Math.max(0,e))}function Yg(e,t,n){return hg(e,n).join(t)}function Xg(e){return Ag(e,`_`)}function Zg(e,t){let n=hg(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function Qg(e,t){return hg(e,t)}function $g(e,t,n){let r=e_(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function e_(e,t,n){if(n===0)return[];let r=hg(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 t_(...e){return e.map(e=>`'${e}'`).join(` `)}function n_(e,t,n){let r=mg(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 r_(e){let t=``;for(let n of e)i_(n)?t+=n.toLowerCase():a_(n)?t+=n.toUpperCase():t+=n;return t}function i_(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function a_(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function o_(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function s_(e){return e.trim()}function c_(e,t){if(e.length===0)return t;let n=new Set(mg(e)),r=mg(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 l_(e,t){return t.startsWith(e)?t.slice(e.length):t}function u_(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function d_(e,t){let n=mg(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 f_(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function p_(e){return e.toUpperCase()}function m_(e,t){return h_(e,`
53
- `,t)}function h_(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
54
- `)){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 g_(e,t,n){return h_(e,t,n)}function __(){return{abbrev:{fn:(e,t)=>gg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>_g(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Mg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Ng(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>Pg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>Fg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>Ig(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>Lg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>Rg(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>zg(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>Vg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>Hg(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>Ug(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>Wg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>Gg(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>Kg(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>qg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>Jg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>Yg(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>Xg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>Zg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>Qg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>$g(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>t_(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>n_(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>r_(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>o_(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>s_(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>c_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>l_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>u_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>d_(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>f_(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>p_(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>m_(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>g_(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function v_(e){return e}function y_(e,t,n){return n===void 0?Cu+xu(e)+`.`+xu(t):b_(n)}function b_(e){return Cu+xu(e)}function x_(e,t){return e+`.`+t}function S_(e){return e+`.page`}const C_=[`closeOnPick`,`paged`,`key`,`distribution`],w_=e=>C_.includes(e),T_=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${ua.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function E_(e){for(let t of Object.keys(e))if(!w_(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${T_}`);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&&!da(r))throw Error(`{{ menu }} option "distribution" must be one of: ${ua.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:pa(r)}}const D_=`default`,O_={};function k_(e){return[...new Set([D_,...Object.keys(e)])]}function A_(e,t,n){return no(void 0,e,t,D_,n)}function j_(e,t){let n={[D_]:O_,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${D_}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function M_(e,t){let n=j_(e.presets,t).root??Mc;return{node:Ic(zc(n,e.root)),path:Bc(n)?`presets.${t}.root`:`root`}}function N_(e,t){return{...e.globals,...j_(e.presets,t).globals}}const P_=`menu`,F_=`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`,I_=e=>e.kind===`call`&&e.name===`dict`,L_=e=>e.kind===`literal`&&typeof e.value!=`object`,R_=e=>qc(``,e,2)===void 0;function z_(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&&I_(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(I_))return t(`whose options (dict …) is not its last argument — ${F_}`);if(i!==void 0&&a===void 0&&!L_(i)&&R_(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=qc(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${F_}`);let c=a===void 0?{}:sh(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=E_(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=Du(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 "${b_(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 B_(e){let t=gp({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===P_).map(z_)}catch{return`parse-failed`}}function V_(e){let t=gp({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(P_)}catch{return!1}}function H_(e,t,n){e.issues.push({path:t,message:n,line:W(e.source,[`root`])})}function U_(e,t){Ou(e,t,Cu,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))V_(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`&&V_(i)&&H_(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 Ns(Lc(t.root)))typeof n.when==`string`&&V_(n.when)&&H_(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||!V_(r))continue;let n=B_(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:W_(r.apply);n!==void 0&&H_(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function W_(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(v_(e)===`closed`)return`whose apply action is named "${Gc}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function G_(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 k_(e.presets)){let a=new Map,s=new Map;for(let c of Ns(M_(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,B_(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=ks(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||W_(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=v_(i),f=y_(u,i,l.key),p=S_(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=x_(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]=rl(f,d),n[f]=nl(f,Gc),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 K_=gp({fromString:e=>e}),q_=`edit.mode`,J_=`edit.configure`,Y_=`edit.toggle`,X_=`edit.unconfigure`,Z_=[Y_,X_],Q_=`arrange`,$_=`${wu}draft.`;function ev(e,t){return`${e}:${t}`}const tv={variable:q_,key:q_,member:Q_},nv=Zc(tv);function rv(e){try{return K_.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function iv(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`&&rv(e))return!0;return!1}function av(e,t){if(Ou(e,t,wu,`edit mode`),!iv(t))return;let{variables:n,actions:r}=ov();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function ov(){return{variables:{[q_]:nl(q_,Gc),[J_]:nl(J_,Gc)},actions:{[Y_]:rl(q_,Q_),[X_]:{set:J_,to:Gc}}}}const sv=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*cv(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 lv=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,uv=RegExp(`^(?:(\\$)(?:\\.(${lv}))?|\\.(${lv})?)(?=[\\s)]|$)`);function dv(e,t,n){let r=uv.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 fv=/^(\w+)\b\s*([\s\S]*)$/;function*pv(e,t){let n=[t];for(let r of cv(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=fv.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:dv(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(dv(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const mv=/(?<![.$])\btemplate\s+$/;function*hv(e,t,n){let r=0;for(let i of[...e.matchAll(sv)]){let a=i.index+i[0].length;mv.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:dv(e.slice(a),t,n)}),r=a}}function*gv(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...pv(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[...hv(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 _v=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${lv})`,`g`);function*vv({code:e,dot:t,root:n}){let r=e.replace(sv,``);for(let e of[...r.matchAll(_v)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function yv(e,t){let n=new Map;for(let r of gv(e,t))for(let e of vv(r))n.has(e)||n.set(e,r.via);return n}const bv=/(?<![.$])\b(action|picker|menu|carousel)\s+$/,xv={action:1,picker:2,menu:1,carousel:2};function*Sv(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(sv)]){let o=e.slice(t,a.index),s=bv.exec(o);if(s!==null)n=xv[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 Cv(e,t){let n=new Map;for(let{code:r,via:i}of gv(e,t))for(let{name:e,site:t}of Sv(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function wv(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of gv(e,t))for(let{name:e}of hv(r,i,a))Object.hasOwn(t,e)&&n.add(e);return n}function Tv(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 Ev(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),Dv(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 Dv(e){return(e.kind===`shell`||e.kind===`file`)&&Rs(e.parse)===`json`}var Ov=me((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:tn}function r(){cn||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()===ln}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){rn(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){rn(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 an.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(te())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&E(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,ne(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.
55
- In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(){return(w=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 T(e){return(T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function ee(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,E(e,t)}function te(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch{}return(te=function(){return!!e})()}function E(e,t){return(E=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function ne(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 D(e){var t=typeof Map==`function`?new Map:void 0;return(D=function(e){function n(){return b(e,arguments,T(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}}),E(n,e)})(e)}function O(e){return Object.assign((function(t,n){if(ie(n))return e.t(t,n);re(t,n,e)}),e)}function re(e,t,n){g(e,pn)||u(e,pn,w({},e[pn])),function(e){return e.i===`override`}(n)||(e[pn][t]=n)}function ie(e){return typeof e==`object`&&typeof e.kind==`string`}function ae(e,t,n){t===void 0&&(t=F),n===void 0&&(n=F);var r=new mn(e);return t!==F&&lt(r,t),n!==F&&ut(r,n),r}function oe(e,t,n){return yt(e)?e:Array.isArray(e)?Tn.array(e,{name:n}):c(e)?Tn.object(e,void 0,{name:n}):p(e)?Tn.map(e,{name:n}):m(e)?Tn.set(e,{name:n}):typeof e!=`function`||ot(e)||gt(e)?e:l(e)?rr(e):Zn(n,e)}function se(e){return e}function ce(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:(rn(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+`):
56
- '`+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=z.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:(rn(r,t,k(e,0,0,n,!1,!1)),2)}function he(e,t,n,r){var i=k(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=rr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function k(e,t,n,r,i,a){a===void 0&&(a=z.safeDescriptors);var o=r.value;return gt(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 _e(e,t){return{i:e,u:t,o:ve,s:ye,t:be}}function ve(e,t,n){return this.s(e,t,n,!1)===null?0:1}function ye(e,t,n,r){return e.m(t,w({},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=zt(this)[I],i=w({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Fn(i))})),function(){return this[I].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??oe,r)}function we(e,t){function n(e,t){var n=zt(e)[I],i=new Nn(t,r.u?.enhancer??oe,`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[I].O(a)},set:function(e){return o.has(this)||n(this,e),this[I].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 On.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:!z.safeDescriptors||e.p,set:s})===null?0:2:(rn(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?Tn.ref:Tn;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?On.s(e,t,n,r):n.set?e.l(t,{configurable:!z.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?Tn.ref:Tn).s(e,t,n,r))}function Oe(){t(`'`+this.i+`' cannot be used as a decorator`)}function ke(e){return e||yn}function A(e){return!0===e.deep?oe:!1===e.deep?se:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:oe;var t,n,r}function Ae(e,t,n){return ie(t)?bn.t(e,t):o(t)?void re(e,t,bn):yt(e)?e:c(e)?Tn.object(e,t,n):Array.isArray(e)?Tn.array(e,t):p(e)?Tn.map(e,t):m(e)?Tn.set(e,t):typeof e==`object`&&e?e:Tn.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()},jn&&(Mn.value=e,rn(i,`name`,Mn)),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=z.trackingDerivation,r=!t||!n;Ze();var i=z.allowStateChanges;r&&(Ue(),i=Ie(!0));var a={A:r,k:n,M:i,V:Ge(!0),R:!1,N:0,T:An++,C:kn};return kn=a.T,a}function Pe(e){kn!==e.T&&t(30),kn=e.C,e._!==void 0&&(z.suppressReactionErrors=!0),Le(e.M),Ke(e.V),Qe(),e.A&&We(e.k),z.suppressReactionErrors=!1}function Fe(e,t){var n=Ie(e);try{return t()}finally{Le(n)}}function Ie(e){var t=z.allowStateChanges;return z.allowStateChanges=e,t}function Le(e){z.allowStateChanges=e}function Re(e){return e instanceof Rn}function ze(e){switch(e.I){case R.L:return!1;case R.P:case R.K:return!0;case R.B:for(var t=Ge(!0),n=Ue(),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 We(n),Ke(t),!0}if(e.I===R.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=++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&&Ye(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Je(l,e))}r!==R.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=R.P}function He(e){var t=Ue();try{return e()}finally{We(t)}}function Ue(){var e=z.trackingDerivation;return z.trackingDerivation=null,e}function We(e){z.trackingDerivation=e}function Ge(e){var t=z.allowStateReads;return z.allowStateReads=e,t}function Ke(e){z.allowStateReads=e}function qe(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 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,z.pendingUnobservations.push(e))}function Ze(){z.inBatch++}function Qe(){if(--z.inBatch==0){tt();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 $e(e){var t=z.trackingDerivation;return t===null?(e.F.size===0&&z.inBatch>0&&Xe(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 et(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 tt(){z.inBatch>0||z.isRunningReactions||Wn(nt)}function nt(){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 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):ie(n)?(e?Jn:Kn).t(t,n):o(n)?re(t,n,e?Jn:Kn):o(t)?O(ce(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=sn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=ct(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 ct(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Qn}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`?qt(t,n):qt(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=fn(t);return Xt((function(){var t=zt(e,r)[I];dn(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?Ln(e):!1===Vt(e)||!e[I].j.has(t)?!1:Ln(qt(e,t))}function vt(e,t){return!!e&&(t===void 0?Vt(e)||!!e[I]||hn(e)||Gn(e)||Ln(e):!!Vt(e)&&e[I].j.has(t))}function yt(e){return vt(e)}function bt(e){return Vt(e)?e[I].nt():gr(e)||yr(e)?Array.from(e.keys()):Lt(e)?e.map((function(e,t){return t})):void t(5)}function xt(e,n){return Vt(e)?e[I].it(n):gr(e)||yr(e)?e.has(n):Lt(e)?n>=0&&n<e.length:void t(10)}function St(e){if(Vt(e))return e[I].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[I].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,w({},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[I]}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 jt(e){return e.ut!==void 0&&e.ut.length>0}function Mt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Nt(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 Pt(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Xt((function(){var r=new cr(n,t,i,!1);d(r.j,I,r);var a=new Proxy(r.j,sr);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function j(e,t){typeof Array.prototype[e]==`function`&&(lr[e]=t(e))}function Ft(e){return function(){var t=this[I];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[I];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[I];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)&&fr(e[I])}function Rt(e){return e[Symbol.toStringTag]=`MapIterator`,$t(e)}function N(e){return e[Symbol.toStringTag]=`SetIterator`,$t(e)}function zt(e,t){if(g(e,I))return e;var n=t?.name??`ObservableObject`;return u(e,I,new xr(e,new Map,String(n),function(e){return e?e.defaultDecorator??Te(e):void 0}(t))),e}function Bt(e){return br[e]||(br[e]={get:function(){return this[I].O(e)},set:function(t){return this[I].S(e,t)}})}function Vt(e){return!!s(e)&&Sr(e[I])}function Ht(e,t,n){var r;(r=e.h[pn])==null||delete r[n]}function Ut(e){return{enumerable:!1,configurable:!0,get:function(){return this[I].ct(e)},set:function(t){this[I].ht(e,t)}}}function Wt(e){rn(Dr.prototype,``+e,Ut(e))}function Gt(e){if(e>Tr){for(var t=Tr;t<e+100;t++)Wt(t);Tr=e}}function Kt(e,t,n){return new Dr(e,t,n)}function qt(e,n){if(typeof e==`object`&&e){if(Lt(e))return n!==void 0&&t(23),e[I].st;if(yr(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,Yt(e)),r}if(Vt(e)){if(!n)return t(26);var i=e[I].j.get(n);return i||t(27,n,Yt(e)),i}if(hn(e)||Ln(e)||Gn(e))return e}else if(a(e)&&Gn(e[I]))return e[I];t(28)}function Jt(e,n){return e||t(29),n===void 0?hn(e)||Ln(e)||Gn(e)||gr(e)||yr(e)?e:e[I]?e[I]:void t(24,e):Jt(qt(e,n))}function Yt(e,t){var n;if(t!==void 0)n=qt(e,t);else{if(ot(e))return e.name;n=Vt(e)||gr(e)||yr(e)?Jt(e):qt(e)}return n.tt}function Xt(e){var t=Ue(),n=Ie(!0);Ze();try{return e()}finally{Qe(),Le(n),We(t)}}function Zt(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=Or.call(t);if(c!==Or.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=Qt(t),n=Qt(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 Qt(e){return Lt(e)?e.slice():p(e)||gr(e)||m(e)||yr(e)?Array.from(e.entries()):e}function $t(e){return e[Symbol.iterator]=en,Object.assign(Object.create(kr),e)}function en(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var tn={},P=Object.assign,nn=Object.getOwnPropertyDescriptor,rn=Object.defineProperty,an=Object.prototype,on=[];Object.freeze(on);var sn={};Object.freeze(sn);var cn=typeof Proxy<`u`,ln=Object.toString(),F=function(){},un=Object.getOwnPropertySymbols!==void 0,dn=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:un?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,fn=Object.getOwnPropertyDescriptors||function(e){var t={};return dn(e).forEach((function(n){t[n]=nn(e,n)})),t},pn=Symbol(`mobx-stored-annotations`),I=Symbol(`mobx administration`),mn=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 $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)}}])}();mn.pt=1,mn.yt=2,mn.wt=4;var hn=f(`Atom`,mn),gn={identity:function(e,t){return e===t},structural:function(e,t){return Zt(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 Zt(e,t,1)}},_n=O({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`)}}),vn=Te(),yn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(yn);var bn=xe(`observable`),xn=xe(`observable.ref`,{enhancer:se}),L=xe(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Vt(e)||Lt(e)||gr(e)||yr(e)?e:Array.isArray(e)?Tn.array(e,{name:n,deep:!1}):c(e)?Tn.object(e,void 0,{name:n,deep:!1}):p(e)?Tn.map(e,{name:n,deep:!1}):m(e)?Tn.set(e,{name:n,deep:!1}):void 0}}),Sn=xe(`observable.struct`,{enhancer:function(e,t){return Zt(e,t)?t:e}}),Cn=O(bn);P(Ae,Cn);var wn,Tn=P(Ae,{box:function(e,t){var n=ke(t);return new Nn(e,A(n),n.name,!0,n.equals)},array:function(e,t){var n=ke(t);return(!1===z.useProxies||!1===n.proxy?Kt:Pt)(e,A(n),n.name)},map:function(e,t){var n=ke(t);return new hr(e,A(n),n.name)},set:function(e,t){var n=ke(t);return new vr(e,A(n),n.name)},object:function(e,t,n){return Xt((function(){return ft(!1===z.useProxies||!1===n?.proxy?zt({},n):function(e,t){var n;return r(),(n=(e=zt(e,t))[I]).v??(n.v=new Proxy(e,ir))}({},n),e,t)}))},ref:O(xn),shallow:O(L),deep:Cn,struct:O(Sn)}),En=_e(`computed`),Dn=_e(`computed.struct`,{equals:gn.structural}),On=function(e,t){if(ie(t))return En.t(e,t);if(o(t))return re(e,t,En);if(c(e))return O(_e(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Fn(n)};Object.assign(On,En),On.struct=O(Dn);var kn=0,An=1,jn=(wn=nn((function(){}),`name`)?.configurable)!=null&&wn,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=gn.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}ee(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(Ot(this)){var t=At(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(),jt(this)&&Nt(this,{type:or,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:or,newValue:this.Ot,oldValue:void 0}),Mt(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}(mn),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=je(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?gn.structural:gn.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($e(this),ze(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 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===R.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===z.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Rn(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:or,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)}}])}();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),tt())},t.J=function(){if(!this.isDisposed){Ze(),this.isScheduled=!1;var e=z.trackingContext;if(z.trackingContext=this,ze(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}z.trackingContext=e,Qe()}},t.track=function(e){if(!this.isDisposed){Ze(),this.isRunning=!0;var t=z.trackingContext;z.trackingContext=this;var n=Be(this,e,void 0);z.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(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||(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[I]=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=ce(`action`),qn=ce(`action.bound`,{bound:!0}),Jn=ce(`autoAction`,{autoAction:!0}),Yn=ce(`autoAction.bound`,{autoAction:!0,bound:!0}),Xn=it(!1);Object.assign(Xn,Kn);var Zn=it(!0);Object.assign(Zn,Jn),Xn.bound=O(qn),Zn.bound=O(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 ee(t,e),t.prototype.toString=function(){return`Error: `+this.message},t}(D(Error)),tr=pe(`flow`),nr=pe(`flow.bound`,{bound:!0}),rr=Object.assign((function(e,t){if(ie(t))return tr.t(e,t);if(o(t))return re(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&&ht(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(F,F),ht(n),e(new er)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),tr);rr.bound=O(nr);var ir={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)}},ar=Symbol(`mobx-keys`),or=`update`,sr={get:function(e,t){var n=e[I];return t===I?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[I];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 mn(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}),Mt(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&&Gt(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=on),Ot(this)){var a=At(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return on;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=jt(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&&Nt(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=jt(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&&Nt(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: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[I];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[I];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[I].ot(e,t,n)},push:function(){for(var e=this[I],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[I].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[I],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[I],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};j(`at`,Ft),j(`concat`,Ft),j(`flat`,Ft),j(`includes`,Ft),j(`indexOf`,Ft),j(`join`,Ft),j(`lastIndexOf`,Ft),j(`slice`,Ft),j(`toString`,Ft),j(`toLocaleString`,Ft),j(`toSorted`,Ft),j(`toSpliced`,Ft),j(`with`,Ft),j(`every`,M),j(`filter`,M),j(`find`,M),j(`findIndex`,M),j(`findLast`,M),j(`findLastIndex`,M),j(`flatMap`,M),j(`forEach`,M),j(`map`,M),j(`some`,M),j(`toReversed`,M),j(`reduce`,It),j(`reduceRight`,It);var ur,dr,fr=f(`ObservableArrayAdministration`,cr),pr={},mr=`add`,hr=function(){function e(e,n,r){var i=this;n===void 0&&(n=oe),r===void 0&&(r=`ObservableMap`),this.Jt=void 0,this.tt=void 0,this[I]=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),Xt((function(){i.lt=ae(`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),se,`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?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(Ot(this)&&!At(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=jt(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&&Nt(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=jt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:or,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Nt(this,i)}},n.en=function(e,t){var n=this;wt((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=jt(this);r&&Nt(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 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 gr(e)&&(e=new Map(e)),wt((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!un)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return an.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)||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 Mt(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`}}])}(),gr=f(`ObservableMap`,hr),_r={},vr=function(){function e(e,n,r){var i=this;n===void 0&&(n=oe),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[I]=_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)},Xt((function(){i.st=ae(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:mr,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=jt(this);r&&Nt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:mr,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=jt(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&&Nt(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 N({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 N({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)&&!yr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!yr(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)&&!yr(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)&&!yr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return yr(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 Mt(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`}}])}(),yr=f(`ObservableSet`,vr),br=Object.create(null),xr=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=vn),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 mn(`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(Ot(this)){var r=At(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=jt(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&&Nt(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,se,`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[pn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==an;){var a=nn(i,e);if(a){var o=n.o(this,e,a,i);if(o===0)return;if(o===1)break}i=Object.getPrototypeOf(i)}Ht(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&&Ht(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:mr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=w({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else rn(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:mr,newValue:t});if(!a)return null;t=a.newValue}var o=Bt(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 rn(this.h,e,s);var c=new Nn(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:mr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=Bt(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 rn(this.h,e,a);this.j.set(e,new Fn(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=jt(this),i=this.j.get(e),a=void 0;if(!i&&r&&(a=nn(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),et(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Nt(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 Mt(this,e)},n.St=function(e){return kt(this,e)},n.fn=function(e,t){var n,r=jt(this);r&&r&&Nt(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(),dn(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),Sr=f(`ObservableObjectAdministration`,xr),Cr=Ut(0),wr=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,!1===e}(),Tr=0,Er=function(){};ur=Er,dr=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(ur.prototype,dr):ur.prototype.__proto__===void 0?ur.prototype=dr:ur.prototype.__proto__=dr;var Dr=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,Xt((function(){var e=new cr(r,n,i,!0);e.v=a,d(a,I,e),t&&t.length&&a.spliceWithArray(0,0,t),wr&&Object.defineProperty(a,`0`,Cr)})),a}ee(t,e);var n=t.prototype;return n.concat=function(){this[I].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 $t({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},S(t,[{key:`length`,get:function(){return this[I].Ft()},set:function(e){this[I].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Er);Object.entries(lr).forEach((function(e){var t=e[0];t!==`concat`&&u(Dr.prototype,t,e[1])})),Gt(1e3);var Or=an.toString,kr=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:Yt},$mobx:I}),e.$mobx=I,e.FlowCancellationError=er,e.ObservableMap=hr,e.ObservableSet=vr,e.Reaction=Un,e._allowStateChanges=Fe,e._allowStateChangesInsideComputed=at,e._allowStateReadsEnd=Ke,e._allowStateReadsStart=Ge,e._autoAction=Zn,e._endAction=Pe,e._getAdministration=Jt,e._getGlobalState=function(){return z},e._interceptReads=function(e,t,n){var r;return gr(e)||Lt(e)||Pn(e)?r=Jt(e):Vt(e)&&(r=Jt(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=Ne,e.action=Xn,e.autorun=st,e.comparer=gn,e.computed=On,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=ae,e.defineProperty=function(e,n,r){if(Vt(e))return e[I].l(n,r);t(39)},e.entries=function(e){return Vt(e)?bt(e).map((function(t){return[t,e[t]]})):gr(e)?bt(e).map((function(t){return[t,e.get(t)]})):yr(e)?Array.from(e.entries()):Lt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=ft,e.flow=rr,e.flowResult=function(e){return e},e.get=function(e,n){if(xt(e,n))return Vt(e)?e[I].ct(n):gr(e)?e.get(n):Lt(e)?e[n]:void t(11)},e.getAtom=qt,e.getDebugName=Yt,e.getDependencyTree=function(e,t){return pt(qt(e,t))},e.getObserverTree=function(e,t){return mt(qt(e,t))},e.has=xt,e.intercept=function(e,t,n){return a(n)?function(e,t,n){return Jt(e,t).St(n)}(e,t,n):function(e,t){return Jt(e).St(t)}(e,t)},e.isAction=ot,e.isBoxedObservable=Pn,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 er},e.isObservable=yt,e.isObservableArray=Lt,e.isObservableMap=gr,e.isObservableObject=Vt,e.isObservableProp=function(e,t){return vt(e,t)},e.isObservableSet=yr,e.keys=bt,e.makeAutoObservable=function(e,t,n){return c(e)?ft(e,e,t,n):(Xt((function(){var r=zt(e,n)[I];if(!e[ar]){var i=Object.getPrototypeOf(e),a=new Set([].concat(dn(e),dn(i)));a.delete(`constructor`),a.delete(I),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 Xt((function(){var r=zt(e,n)[I];t??=function(e){return g(e,pn)||u(e,pn,w({},e[pn])),e[pn]}(e),dn(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=Tn,e.observe=function(e,t,n,r){return a(n)?function(e,t,n,r){return Jt(e,t)._t(n,r)}(e,t,n,r):function(e,t,n){return Jt(e)._t(t,n)}(e,t,n)},e.onBecomeObserved=lt,e.onBecomeUnobserved=ut,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=_n,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=sn);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=ct(n),f=!0,p=!1,m=n.compareStructural?gn.structural:n.equals||gn.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){Vt(e)?e[I].Ut(n):gr(e)||yr(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||yr(n))Vt(n)?n[I].ht(r,i):gr(n)?n.set(r,i):yr(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(Pn(t)||Ln(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(yr(t)){var i=Ct(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(gr(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){an.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 Vt(e)?bt(e).map((function(t){return e[t]})):gr(e)?bt(e).map((function(t){return e.get(t)})):yr(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||{})}})),kv=me((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){L.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++L.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 w(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function T(e,t){var n=`isMobX`+e;return t.prototype[n]=!0,function(e){return b(e)&&e[n]===!0}}function ee(e){return e!=null&&Object.prototype.toString.call(e)===`[object Map]`}function te(e){return Object.getPrototypeOf(Object.getPrototypeOf(Object.getPrototypeOf(e)))===null}function E(e){return e!=null&&Object.prototype.toString.call(e)===`[object Set]`}var ne=Object.getOwnPropertySymbols!==void 0;function D(e){var t=Object.keys(e);if(!ne)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter(function(t){return c.propertyIsEnumerable.call(e,t)})):t}var O=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:ne?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames;function re(e){return typeof e==`string`?e:typeof e==`symbol`?e.toString():new String(e).toString()}function ie(e){return e===null?null:typeof e==`object`?``+e:e}function ae(e,t){return c.hasOwnProperty.call(e,t)}var oe=Object.getOwnPropertyDescriptors||function(e){var t={};return O(e).forEach(function(n){t[n]=o(e,n)}),t};function se(e,t){return!!(e&t)}function ce(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(_e())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ve(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.
57
- 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,ve(e,t)}function k(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function _e(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(_e=function(){return!!e})()}function ve(e,t){return ve=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ve(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||!k(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}}),ve(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){ae(e,Ce)||C(e,Ce,me({},e[Ce])),We(r)&&!ae(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)&&ae(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+`':`+(`
52
+ `)}function Bg(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 Vg(e,t){let n=[];for(let e of t){if(typeof e==`object`&&e)throw kh(`join`,2,`list of strings/primitives`,`list element of type ${Hg(e)}`);n.push(String(e))}return n.join(e)}function Hg(e){return Array.isArray(e)?`array`:e instanceof Map?`Map`:e instanceof Set?`Set`:`object`}function Ug(e){return Mg(e,`-`)}function Wg(e){return e.toLowerCase()}function Gg(e,t){return`\n${zg(e,t)}`}function Kg(e){return e.replace(/\s+/g,``)}function qg(e,t,n){return n===1?e:t}function Jg(...e){return e.map(e=>`"${e}"`).join(` `)}function Yg(e){return e.replace(/[\\.+*?()|[\]{}^$]/g,`\\$&`)}function Xg(e,t){return t.repeat(Math.max(0,e))}function Zg(e,t,n){return _g(e,n).join(t)}function Qg(e){return Mg(e,`_`)}function $g(e,t){let n=_g(e,t),r={};for(let e=0;e<n.length;e++)r[`_${e}`]=n[e];return r}function e_(e,t){return _g(e,t)}function t_(e,t,n){let r=n_(n,e,t),i={};for(let e=0;e<r.length;e++)i[`_${e}`]=r[e]??``;return i}function n_(e,t,n){if(n===0)return[];let r=_g(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 r_(...e){return e.map(e=>`'${e}'`).join(` `)}function i_(e,t,n){let r=gg(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 a_(e){let t=``;for(let n of e)o_(n)?t+=n.toLowerCase():s_(n)?t+=n.toUpperCase():t+=n;return t}function o_(e){return e!==e.toLowerCase()&&e===e.toUpperCase()}function s_(e){return e!==e.toUpperCase()&&e===e.toLowerCase()}function c_(e){return e.replace(/\b([a-zA-Z])/g,e=>e.toUpperCase())}function l_(e){return e.trim()}function u_(e,t){if(e.length===0)return t;let n=new Set(gg(e)),r=gg(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 d_(e,t){return t.startsWith(e)?t.slice(e.length):t}function f_(e,t){return t.endsWith(e)?t.slice(0,t.length-e.length):t}function p_(e,t){let n=gg(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 m_(e){return e.replace(/\b([A-Z])/g,e=>e.toLowerCase())}function h_(e){return e.toUpperCase()}function g_(e,t){return __(e,`
53
+ `,t)}function __(e,t,n){if(e<=0)return n;let r=[];for(let t of n.split(`
54
+ `)){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 v_(e,t,n){return __(e,t,n)}function y_(){return{abbrev:{fn:(e,t)=>vg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},abbrevboth:{fn:(e,t,n)=>yg(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},camelcase:{fn:e=>Pg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},cat:{fn:(...e)=>Fg(...e),argTypes:[`string`],arity:{kind:`variadic`}},contains:{fn:(e,t)=>Ig(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasPrefix:{fn:(e,t)=>Lg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},hasSuffix:{fn:(e,t)=>Rg(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},indent:{fn:(e,t)=>zg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},initials:{fn:e=>Bg(e),argTypes:[`string`],arity:{kind:`exact`}},join:{fn:(e,t)=>Vg(e,t),argTypes:[`string`,`list`],arity:{kind:`exact`}},kebabcase:{fn:e=>Ug(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},lower:{fn:e=>Wg(e),argTypes:[`string`],arity:{kind:`exact`}},nindent:{fn:(e,t)=>Gg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},nospace:{fn:e=>Kg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},plural:{fn:(e,t,n)=>qg(e,t,n),argTypes:[`string`,`string`,`int`],arity:{kind:`exact`},returnType:`string`},quote:{fn:(...e)=>Jg(...e),argTypes:[`string`],arity:{kind:`variadic`}},regexQuoteMeta:{fn:e=>Yg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},repeat:{fn:(e,t)=>Xg(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},replace:{fn:(e,t,n)=>Zg(e,t,n),argTypes:[`string`,`string`,`string`],arity:{kind:`exact`}},snakecase:{fn:e=>Qg(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},split:{fn:(e,t)=>$g(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitList:{fn:(e,t)=>e_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},splitn:{fn:(e,t,n)=>t_(e,t,n),argTypes:[`string`,`int`,`string`],arity:{kind:`exact`},returnType:`dict`},squote:{fn:(...e)=>r_(...e),argTypes:[`string`],arity:{kind:`variadic`}},substr:{fn:(e,t,n)=>i_(e,t,n),argTypes:[`int`,`int`,`string`],arity:{kind:`exact`}},swapcase:{fn:e=>a_(e),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},title:{fn:e=>c_(e),argTypes:[`string`],arity:{kind:`exact`}},trim:{fn:e=>l_(e),argTypes:[`string`],arity:{kind:`exact`}},trimAll:{fn:(e,t)=>u_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimPrefix:{fn:(e,t)=>d_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trimSuffix:{fn:(e,t)=>f_(e,t),argTypes:[`string`,`string`],arity:{kind:`exact`}},trunc:{fn:(e,t)=>p_(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},untitle:{fn:e=>m_(e),argTypes:[`string`],arity:{kind:`exact`}},upper:{fn:e=>h_(e),argTypes:[`string`],arity:{kind:`exact`}},wrap:{fn:(e,t)=>g_(e,t),argTypes:[`int`,`string`],arity:{kind:`exact`}},wrapWith:{fn:(e,t,n)=>v_(e,t,n),argTypes:[`int`,`string`,`string`],arity:{kind:`exact`}}}}function b_(e){return e}function x_(e,t,n){return n===void 0?wu+Su(e)+`.`+Su(t):S_(n)}function S_(e){return wu+Su(e)}function C_(e,t){return e+`.`+t}function w_(e){return e+`.page`}const T_=[`closeOnPick`,`paged`,`key`,`distribution`],E_=e=>T_.includes(e),D_=`"closeOnPick" (bool, default false), "paged" (bool, default true), "key" (string, accordion grouping), "distribution" (one of ${da.map(e=>`"${e}"`).join(`, `)}; default "van-der-corput")`;function O_(e){for(let t of Object.keys(e))if(!E_(t))throw Error(`unknown {{ menu }} option "${t}" — the options dict takes ${D_}`);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&&!fa(r))throw Error(`{{ menu }} option "distribution" must be one of: ${da.join(`, `)}; got ${JSON.stringify(r)}`);return{closeOnPick:t(`closeOnPick`,!1),paged:t(`paged`,!0),key:n,distribution:ma(r)}}const k_=`default`,A_={};function j_(e){return[...new Set([k_,...Object.keys(e)])]}function M_(e,t,n){return ro(void 0,e,t,k_,n)}function N_(e,t){let n={[k_]:A_,...e}[t];if(n===void 0)throw Error(`Preset "${t}" is not declared in this config — effectivePresetName collapses unknown names to "${k_}", which always resolves; a miss here means a raw name reached this function without going through that resolution`);return n}function P_(e,t){let n=N_(e.presets,t).root??Nc;return{node:Lc(Bc(n,e.root)),path:Vc(n)?`presets.${t}.root`:`root`}}function F_(e,t){return{...e.globals,...N_(e.presets,t).globals}}const I_=`menu`,L_=`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`,R_=e=>e.kind===`call`&&e.name===`dict`,z_=e=>e.kind===`literal`&&typeof e.value!=`object`,B_=e=>Jc(``,e,2)===void 0;function V_(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&&R_(i)?i:void 0,o=a===void 0?r:r.slice(0,-1);if(o.some(R_))return t(`whose options (dict …) is not its last argument — ${L_}`);if(i!==void 0&&a===void 0&&!z_(i)&&B_(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=Jc(`whose trigger`,o.length,2);if(s!==void 0)return t(`${s} — ${L_}`);let c=a===void 0?{}:lh(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=O_(c)}catch(e){return t(`with invalid options — ${e.message}`)}let u=l.key;if(u!==void 0){let e=ku(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 "${S_(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 H_(e){let t=vp({fromString:e=>e});try{return t.parse(e).referencedCalls().filter(e=>e.name===I_).map(V_)}catch{return`parse-failed`}}function U_(e){let t=vp({fromString:e=>e});try{return t.parse(e).referencedFunctions().has(I_)}catch{return!1}}function W_(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,[`root`])})}function G_(e,t){Au(e,t,wu,`{{ menu }} helpers`);for(let[n,r]of Object.entries(t.helpers??{}))U_(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:G(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`&&U_(i)&&W_(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 Ps(Rc(t.root)))typeof n.when==`string`&&U_(n.when)&&W_(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||!U_(r))continue;let n=H_(r);if(n!==`parse-failed`)for(let r of n){let n=r.kind===`issue`?r.message:K_(r.apply);n!==void 0&&W_(e,`segments.${t}`,`segment "${t}" has a {{ menu }} ${n}.`)}}}function K_(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(b_(e)===`closed`)return`whose apply action is named "${Kc}", which collides with the menu's closed-state sentinel and leaves it unopenable. Rename the action`}function q_(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 j_(e.presets)){let a=new Map,s=new Map;for(let c of Ps(P_(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,H_(t.template));let l=i.get(c.name);if(l===`parse-failed`)continue;let u=As(c);for(let[e,t]of l.entries()){if(t.kind===`issue`||K_(t.apply)!==void 0)continue;let{apply:i,options:l}=t,d=b_(i),f=x_(u,i,l.key),p=w_(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=C_(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]=il(f,d),n[f]=rl(f,Kc),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 J_=vp({fromString:e=>e}),Y_=`edit.mode`,X_=`edit.configure`,Z_=`edit.toggle`,Q_=`edit.unconfigure`,$_=[Z_,Q_],ev=`arrange`,tv=`${Tu}draft.`;function nv(e,t){return`${e}:${t}`}const rv={variable:Y_,key:Y_,member:ev},iv=Qc(rv);function av(e){try{return J_.parse(e).referencedCalls().some(e=>e.name===`action`&&e.args[0]===`edit.toggle`)}catch{return!1}}function ov(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`&&av(e))return!0;return!1}function sv(e,t){if(Au(e,t,Tu,`edit mode`),!ov(t))return;let{variables:n,actions:r}=cv();t.variables={...t.variables??{},...n},t.actions={...t.actions??{},...r}}function cv(){return{variables:{[Y_]:rl(Y_,Kc),[X_]:rl(X_,Kc)},actions:{[Z_]:il(Y_,ev),[Q_]:{set:X_,to:Kc}}}}const lv=/"(?:[^"\\]|\\.)*"|'(?:[^'\\]|\\.)*'|`[^`]*`/g;function*uv(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 dv=`[A-Za-z_]\\w*(?:\\.[A-Za-z_]\\w*)*`,fv=RegExp(`^(?:(\\$)(?:\\.(${dv}))?|\\.(${dv})?)(?=[\\s)]|$)`);function pv(e,t,n){let r=fv.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 mv=/^(\w+)\b\s*([\s\S]*)$/;function*hv(e,t){let n=[t];for(let r of uv(e)){let e=r.replace(/^-(?=\s)/,``).trim(),[,i=``,a=``]=mv.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:pv(r[1],s,t);continue}yield{code:e,dot:o},i===`if`&&n.push(o),i===`with`&&n.push(pv(a,o,t)),(i===`range`||i===`define`||i===`block`)&&n.push(null)}}const gv=/(?<![.$])\btemplate\s+$/;function*_v(e,t,n){let r=0;for(let i of[...e.matchAll(lv)]){let a=i.index+i[0].length;gv.test(e.slice(r,i.index))&&(yield{name:i[0].slice(1,-1),at:pv(e.slice(a),t,n)}),r=a}}function*vv(e,t){let n=new Set;function*r(e,i,a,o){for(let{code:s,dot:c}of[...hv(e,i)]){yield{code:s,dot:c,root:i,via:a};for(let e of[..._v(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 yv=RegExp(`(?<![A-Za-z0-9_)$])(\\$?)\\.(${dv})`,`g`);function*bv({code:e,dot:t,root:n}){let r=e.replace(lv,``);for(let e of[...r.matchAll(yv)]){let r=e[1]===`$`?n:t;r!==null&&(yield`${r}${e[2]}`)}}function xv(e,t){let n=new Map;for(let r of vv(e,t))for(let e of bv(r))n.has(e)||n.set(e,r.via);return n}const Sv=/(?<![.$])\b(action|picker|menu|carousel)\s+$/,Cv={action:1,picker:2,menu:1,carousel:2};function*wv(e){let t=0,n=0,r=0,i=`action`;for(let a of[...e.matchAll(lv)]){let o=e.slice(t,a.index),s=Sv.exec(o);if(s!==null)n=Cv[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 Tv(e,t){let n=new Map;for(let{code:r,via:i}of vv(e,t))for(let{name:e,site:t}of wv(r)){let r=`${e}\0${i??`\0`}`;n.has(r)||n.set(r,{name:e,site:t,via:i})}return[...n.values()]}function Ev(e,t){let n=new Set;for(let{code:r,dot:i,root:a}of vv(e,t))for(let{name:e}of _v(r,i,a))Object.hasOwn(t,e)&&n.add(e);return n}function Dv(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 Ov(e){let t=new Set,n=new Set,r=(e,r)=>{t.add(e),kv(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 kv(e){return(e.kind===`shell`||e.kind===`file`)&&zs(e.parse)===`json`}var Av=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(){cn||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()===ln}function l(e){var t=e?.constructor;return!!t&&(t.name===`GeneratorFunction`||t.displayName===`GeneratorFunction`)}function u(e,t,n){P(e,t,{enumerable:!1,writable:!0,configurable:!0,value:n})}function d(e,t,n){P(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 an.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.
55
+ In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function w(){return(w=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 ee(e){return(ee=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,ee(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,pn)||u(e,pn,w({},e[pn])),function(e){return e.i===`override`}(n)||(e[pn][t]=n)}function oe(e){return typeof e==`object`&&typeof e.kind==`string`}function se(e,t,n){t===void 0&&(t=un),n===void 0&&(n=un);var r=new mn(e);return t!==un&&ut(r,t),n!==un&&dt(r,n),r}function ce(e,t,n){return bt(e)?e:Array.isArray(e)?wn.array(e,{name:n}):c(e)?wn.object(e,void 0,{name:n}):p(e)?wn.map(e,{name:n}):m(e)?wn.set(e,{name:n}):typeof e!=`function`||st(e)||_t(e)?e:l(e)?nr(e):Xn(n,e)}function D(e){return e}function le(e,t){return{i:e,u:t,o:ue,s:de,t:fe}}function ue(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:st(n.value)?1:(P(r,t,pe(e,this,t,n,!1)),2)}function de(e,t,n,r){var i=pe(e,this,t,n);return e.l(t,i,r)}function fe(e,n){var r,i=n.kind,a=n.name,o=n.addInitializer,s=this,c=function(e){var t;return Me(s.u?.name??a.toString(),e,(t=s.u?.autoAction)!=null&&t)};return i==`field`?function(e){var t,n=e;return st(n)||(n=c(n)),(t=s.u)!=null&&t.bound&&((n=n.bind(this)).isMobxAction=!0),n}:i==`method`?(st(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+`):
56
+ '`+s.i+`' can only be used on properties with a function value.`)}function pe(e,t,n,r,i){var a,o,s;i===void 0&&(i=B.safeDescriptors);var c=r.value;return(a=t.u)!=null&&a.bound&&(c=c.bind(e.v??e.h)),{value:Me(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 me(e,t){return{i:e,u:t,o:he,s:ge,t:_e}}function he(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)||!_t(e.h[t]))&&this.s(e,t,n,!1)===null?0:_t(n.value)?1:(P(r,t,ve(e,0,0,n,!1,!1)),2)}function ge(e,t,n,r){var i=ve(e,0,0,n,this.u?.bound);return e.l(t,i,r)}function _e(e,t){var n,r=t.name,i=t.addInitializer;return _t(e)||(e=nr(e)),(n=this.u)!=null&&n.bound&&i((function(){var e=this[r].bind(this);e.isMobXFlow=!0,this[r]=e})),e}function ve(e,t,n,r,i,a){a===void 0&&(a=B.safeDescriptors);var o=r.value;return _t(o)||(o=nr(o)),i&&((o=o.bind(e.v??e.h)).isMobXFlow=!0),{value:o,configurable:!a||e.p,enumerable:!1,writable:!a}}function O(e,t){return{i:e,u:t,o:ye,s:be,t:xe}}function ye(e,t,n){return this.s(e,t,n,!1)===null?0:1}function be(e,t,n,r){return e.m(t,w({},this.u,{get:n.get,set:n.set}),r)}function xe(e,t){var n=this,r=t.name;return(0,t.addInitializer)((function(){var t=Vt(this)[I],i=w({},n.u,{get:e,context:this});i.name||=`ObservableObject.`+r.toString(),t.j.set(r,new Pn(i))})),function(){return this[I].O(r)}}function Se(e,t){return{i:e,u:t,o:Ce,s:we,t:Te}}function Ce(e,t,n){return this.s(e,t,n,!1)===null?0:1}function we(e,t,n,r){return e.g(t,n.value,this.u?.enhancer??ce,r)}function Te(e,t){function n(e,t){var n=Vt(e)[I],i=new Mn(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[I].O(a)},set:function(e){return o.has(this)||n(this,e),this[I].S(a,e)},init:function(e){return o.has(this)||n(this,e),e}}}function Ee(e){return{i:`true`,u:e,o:De,s:Oe,t:ke}}function De(e,t,n,r){var i,a,o;if(n.get)return Dn.o(e,t,n,r);if(n.set){var s=st(n.set)?n.set:Me(t.toString(),n.set);return r===e.h?e.l(t,{configurable:!B.safeDescriptors||e.p,set:s})===null?0:2:(P(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?nr.bound:nr).o(e,t,n,r):((a=this.u)!=null&&a.autoBind?Xn.bound:Xn).o(e,t,n,r);var c=!1===this.u?.deep?wn.ref:wn;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 Oe(e,t,n,r){var i;return n.get?Dn.s(e,t,n,r):n.set?e.l(t,{configurable:!B.safeDescriptors||e.p,set:Me(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?wn.ref:wn).s(e,t,n,r))}function ke(){t(`'`+this.i+`' cannot be used as a decorator`)}function Ae(e){return e||yn}function k(e){return!0===e.deep?ce:!1===e.deep?D:(t=e.defaultDecorator)&&(n=(r=t.u)?.enhancer)!=null?n:ce;var t,n,r}function je(e,t,n){return oe(t)?L.t(e,t):o(t)?void ae(e,t,L):bt(e)?e:c(e)?wn.object(e,t,n):Array.isArray(e)?wn.array(e,t):p(e)?wn.map(e,t):m(e)?wn.set(e,t):typeof e==`object`&&e?e:wn.box(e,t)}function Me(e,t,n,r){function i(){return Ne(0,n,t,r||this,arguments)}return n===void 0&&(n=!1),i.isMobxAction=!0,i.toString=function(){return t.toString()},An&&(jn.value=e,P(i,`name`,jn)),i}function Ne(e,t,n,r,i){var a=Pe(0,t);try{return n.apply(r,i)}catch(e){throw a._=e,e}finally{Fe(a)}}function Pe(e,t){var n=B.trackingDerivation,r=!t||!n;Qe();var i=B.allowStateChanges;r&&(We(),i=Le(!0));var a={A:r,k:n,M:i,V:Ke(!0),R:!1,N:0,T:kn++,C:On};return On=a.T,a}function Fe(e){On!==e.T&&t(30),On=e.C,e._!==void 0&&(B.suppressReactionErrors=!0),Re(e.M),qe(e.V),$e(),e.A&&Ge(e.k),B.suppressReactionErrors=!1}function Ie(e,t){var n=Le(e);try{return t()}finally{Re(n)}}function Le(e){var t=B.allowStateChanges;return B.allowStateChanges=e,t}function Re(e){B.allowStateChanges=e}function ze(e){return e instanceof Ln}function Be(e){switch(e.I){case z.L:return!1;case z.P:case z.K:return!0;case z.B:for(var t=Ke(!0),n=We(),r=e.D,i=r.length,a=0;a<i;a++){var o=r[a];if(In(o)){if(B.disableErrorBoundaries)o.get();else try{o.get()}catch{return Ge(n),qe(t),!0}if(e.I===z.K)return Ge(n),qe(t),!0}}return Je(e),Ge(n),qe(t),!1}}function Ve(e,t,n){var r=Ke(!0);Je(e),e.W=Array(e.q===0?100:e.D.length),e.G=0,e.q=++B.runId;var i,a=B.trackingDerivation;if(B.trackingDerivation=e,B.inBatch++,!0===B.disableErrorBoundaries)i=t.call(n);else try{i=t.call(n)}catch(e){i=new Ln(e)}return B.inBatch--,B.trackingDerivation=a,function(e){for(var t=e.D,n=e.D=e.W,r=z.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&&Xe(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Ye(l,e))}r!==z.L&&(e.I=r,e.H())}(e),qe(r),i}function He(e){var t=e.D;e.D=[];for(var n=t.length;n--;)Xe(t[n],e);e.I=z.P}function Ue(e){var t=We();try{return e()}finally{Ge(t)}}function We(){var e=B.trackingDerivation;return B.trackingDerivation=null,e}function Ge(e){B.trackingDerivation=e}function Ke(e){var t=B.allowStateReads;return B.allowStateReads=e,t}function qe(e){B.allowStateReads=e}function Je(e){if(e.I!==z.L){e.I=z.L;for(var t=e.D,n=t.length;n--;)t[n].U=z.L}}function Ye(e,t){e.F.add(t),e.U>t.I&&(e.U=t.I)}function Xe(e,t){e.F.delete(t),e.F.size===0&&Ze(e)}function Ze(e){!1===e.isPendingUnobservation&&(e.isPendingUnobservation=!0,B.pendingUnobservations.push(e))}function Qe(){B.inBatch++}function $e(){if(--B.inBatch==0){nt();for(var e=B.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 Pn&&n.X())}B.pendingUnobservations=[]}}function et(e){var t=B.trackingDerivation;return t===null?(e.F.size===0&&B.inBatch>0&&Ze(e),!1):(t.q!==e.$&&(e.$=t.q,t.W[t.G++]=e,!e.isBeingObserved&&B.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function tt(e){e.U!==z.K&&(e.U=z.K,e.F.forEach((function(e){e.I===z.L&&e.H(),e.I=z.K})))}function nt(){B.inBatch>0||B.isRunningReactions||Un(rt)}function rt(){B.isRunningReactions=!0;for(var e=B.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()}B.isRunningReactions=!1}function it(){return console.warn(`[mobx.spy] Is a no-op in production builds`),function(){}}function at(e){return function(t,n){return a(t)?Me(t.name||`<unnamed action>`,t,e):a(n)?Me(t,n,e):oe(n)?(e?qn:Gn).t(t,n):o(n)?ae(t,n,e?qn:Gn):o(t)?E(le(e?`autoAction`:`action`,{name:t,autoAction:e})):void 0}}function ot(e){return Ne(0,!1,e,this,void 0)}function st(e){return a(e)&&!0===e.isMobxAction}function ct(e,t){function n(){e(i)}var r;t===void 0&&(t=sn);var i,a=t?.name??`Autorun`;if(t.scheduler||t.delay){var o=lt(t),s=!1;i=new Hn(a,(function(){s||(s=!0,o((function(){s=!1,i.isDisposed||i.track(n)})))}),t.onError,t.requiresObservable)}else i=new Hn(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 lt(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:Zn}function ut(e,t,n){return ft(`onBO`,e,t,n)}function dt(e,t,n){return ft(`onBUO`,e,t,n)}function ft(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 pt(e,t,n,r){var i=fn(t);return Zt((function(){var t=Vt(e,r)[I];F(i).forEach((function(e){t.s(e,i[e],!n||!(e in n)||n[e])}))})),e}function mt(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(mt)),n}function ht(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(ht)),t}function gt(e){a(e.cancel)&&e.cancel()}function _t(e){return!0===e?.isMobXFlow}function vt(e,t){return t===void 0?In(e):!1===Ht(e)||!e[I].j.has(t)?!1:In(Jt(e,t))}function yt(e,t){return!!e&&(t===void 0?Ht(e)||!!e[I]||hn(e)||Wn(e)||In(e):!!Ht(e)&&e[I].j.has(t))}function bt(e){return yt(e)}function xt(e){return Ht(e)?e[I].nt():hr(e)||vr(e)?Array.from(e.keys()):Rt(e)?e.map((function(e,t){return t})):void t(5)}function St(e,n){return Ht(e)?e[I].it(n):hr(e)||vr(e)?e.has(n):Rt(e)?n>=0&&n<e.length:void t(10)}function Ct(e){if(Ht(e))return e[I].rt();t(38)}function wt(e,t,n){return e.set(t,n),n}function Tt(e,t){t===void 0&&(t=void 0),Qe();try{return e.apply(t)}finally{$e()}}function Et(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout((function(){if(!o[I].isDisposed){if(o(),!n.onError)throw i;n.onError(i)}}),n.timeout)}n.name=`When`;var a=Me(`When-effect`,t),o=ct((function(t){Ie(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())}),n);return o}function Dt(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=Et(e,n,w({},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 Ot(e){return e[I]}function kt(e){return e.et!==void 0&&e.et.length>0}function At(e,t){var n=e.et||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function jt(e,n){var r=We();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{Ge(r)}}function Mt(e){return e.ut!==void 0&&e.ut.length>0}function Nt(e,t){var n=e.ut||=[];return n.push(t),i((function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)}))}function Pt(e,t){var n=We(),r=e.ut;if(r){for(var i=0,a=(r=r.slice()).length;i<a;i++)r[i](t);Ge(n)}}function Ft(e,t,n,i){return n===void 0&&(n=`ObservableArray`),i===void 0&&(i=!1),r(),Zt((function(){var r=new sr(n,t,i,!1);d(r.j,I,r);var a=new Proxy(r.j,or);return r.v=a,e&&e.length&&r.ot(0,0,e),a}))}function A(e,t){typeof Array.prototype[e]==`function`&&(cr[e]=t(e))}function It(e){return function(){var t=this[I];t.st.reportObserved();var n=t.ft(t.j);return n[e].apply(n,arguments)}}function j(e){return function(t,n){var r=this,i=this[I];return i.st.reportObserved(),i.ft(i.j)[e]((function(e,i){return t.call(n,e,i,r)}))}}function Lt(e){return function(){var t=this,n=this[I];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 Rt(e){return s(e)&&dr(e[I])}function zt(e){return e[Symbol.toStringTag]=`MapIterator`,en(e)}function Bt(e){return e[Symbol.toStringTag]=`SetIterator`,en(e)}function Vt(e,t){if(g(e,I))return e;var n=t?.name??`ObservableObject`;return u(e,I,new br(e,new Map,String(n),function(e){return e?e.defaultDecorator??Ee(e):void 0}(t))),e}function M(e){return yr[e]||(yr[e]={get:function(){return this[I].O(e)},set:function(t){return this[I].S(e,t)}})}function Ht(e){return!!s(e)&&xr(e[I])}function Ut(e,t,n){var r;(r=e.h[pn])==null||delete r[n]}function Wt(e){return{enumerable:!1,configurable:!0,get:function(){return this[I].ct(e)},set:function(t){this[I].ht(e,t)}}}function Gt(e){P(Er.prototype,``+e,Wt(e))}function Kt(e){if(e>wr){for(var t=wr;t<e+100;t++)Gt(t);wr=e}}function qt(e,t,n){return new Er(e,t,n)}function Jt(e,n){if(typeof e==`object`&&e){if(Rt(e))return n!==void 0&&t(23),e[I].st;if(vr(e))return e.st;if(hr(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[I].j.get(n);return i||t(27,n,Xt(e)),i}if(hn(e)||In(e)||Wn(e))return e}else if(a(e)&&Wn(e[I]))return e[I];t(28)}function Yt(e,n){return e||t(29),n===void 0?hn(e)||In(e)||Wn(e)||hr(e)||vr(e)?e:e[I]?e[I]:void t(24,e):Yt(Jt(e,n))}function Xt(e,t){var n;if(t!==void 0)n=Jt(e,t);else{if(st(e))return e.name;n=Ht(e)||hr(e)||vr(e)?Yt(e):Jt(e)}return n.tt}function Zt(e){var t=We(),n=Le(!0);Qe();try{return e()}finally{$e(),Re(n),Ge(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=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=$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 Rt(e)?e.slice():p(e)||hr(e)||m(e)||vr(e)?Array.from(e.entries()):e}function en(e){return e[Symbol.iterator]=tn,Object.assign(Object.create(Or),e)}function tn(){return this}Object.defineProperty(e,`__esModule`,{value:!0});var nn={},N=Object.assign,rn=Object.getOwnPropertyDescriptor,P=Object.defineProperty,an=Object.prototype,on=[];Object.freeze(on);var sn={};Object.freeze(sn);var cn=typeof Proxy<`u`,ln=Object.toString(),un=function(){},dn=Object.getOwnPropertySymbols!==void 0,F=typeof Reflect<`u`&&Reflect.ownKeys?Reflect.ownKeys:dn?function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Object.getOwnPropertyNames,fn=Object.getOwnPropertyDescriptors||function(e){var t={};return F(e).forEach((function(n){t[n]=rn(e,n)})),t},pn=Symbol(`mobx-stored-annotations`),I=Symbol(`mobx administration`),mn=function(){function e(e){e===void 0&&(e=`Atom`),this.tt=void 0,this.bt=0,this.F=new Set,this.$=0,this.U=z.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 et(this)},t.reportChanged=function(){Qe(),tt(this),$e()},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)}}])}();mn.pt=1,mn.yt=2,mn.wt=4;var hn=f(`Atom`,mn),gn={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)}},_n=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`)}}),vn=Ee(),yn={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(yn);var L=Se(`observable`),bn=Se(`observable.ref`,{enhancer:D}),R=Se(`observable.shallow`,{enhancer:function(e,t,n){return e==null||Ht(e)||Rt(e)||hr(e)||vr(e)?e:Array.isArray(e)?wn.array(e,{name:n,deep:!1}):c(e)?wn.object(e,void 0,{name:n,deep:!1}):p(e)?wn.map(e,{name:n,deep:!1}):m(e)?wn.set(e,{name:n,deep:!1}):void 0}}),xn=Se(`observable.struct`,{enhancer:function(e,t){return Qt(e,t)?t:e}}),Sn=E(L);N(je,Sn);var Cn,wn=N(je,{box:function(e,t){var n=Ae(t);return new Mn(e,k(n),n.name,!0,n.equals)},array:function(e,t){var n=Ae(t);return(!1===B.useProxies||!1===n.proxy?qt:Ft)(e,k(n),n.name)},map:function(e,t){var n=Ae(t);return new mr(e,k(n),n.name)},set:function(e,t){var n=Ae(t);return new _r(e,k(n),n.name)},object:function(e,t,n){return Zt((function(){return pt(!1===B.useProxies||!1===n?.proxy?Vt({},n):function(e,t){var n;return r(),(n=(e=Vt(e,t))[I]).v??(n.v=new Proxy(e,rr))}({},n),e,t)}))},ref:E(bn),shallow:E(R),deep:Sn,struct:E(xn)}),Tn=O(`computed`),En=O(`computed.struct`,{equals:gn.structural}),Dn=function(e,t){if(oe(t))return Tn.t(e,t);if(o(t))return ae(e,t,Tn);if(c(e))return E(O(`computed`,e));var n=c(t)?t:{};return n.get=e,n.name||=e.name||``,new Pn(n)};Object.assign(Dn,Tn),Dn.struct=E(En);var On=0,kn=1,An=(Cn=rn((function(){}),`name`)?.configurable)!=null&&Cn,jn={value:`action`,configurable:!0,writable:!1,enumerable:!1},Mn=function(e){function t(t,n,r,i,a){var o;return r===void 0&&(r=`ObservableValue`),a===void 0&&(a=gn.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))!==B.UNCHANGED&&this.gt(e)},n.xt=function(e){if(kt(this)){var t=jt(this,{object:this,type:ar,newValue:e});if(!t)return B.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.Ot,this.tt),this.equals(this.Ot,e)?B.UNCHANGED:e},n.gt=function(e){var t=this.Ot;this.Ot=e,this.reportChanged(),Mt(this)&&Pt(this,{type:ar,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.Ot)},n.St=function(e){return At(this,e)},n._t=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.tt,object:this,type:ar,newValue:this.Ot,oldValue:void 0}),Nt(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}(mn),Nn=f(`ObservableValue`,Mn),Pn=function(){function e(e){this.I=z.P,this.D=[],this.W=null,this.F=new Set,this.q=0,this.$=0,this.U=z.L,this.G=0,this.Ot=new Ln(null),this.tt=void 0,this.At=void 0,this.bt=0,this.derivation=void 0,this.kt=void 0,this.Mt=Fn.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=Me(`ComputedValue-setter`,e.set)),this.Vt=e.equals||(e.compareStructural||e.struct?gn.structural:gn.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===z.L&&(e.U=z.B,e.F.forEach((function(e){e.I===z.L&&(e.I=z.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),B.inBatch!==0||this.F.size!==0||this.Nt){if(et(this),Be(this)){var e=B.trackingContext;this.Nt&&!e&&(B.trackingContext=this),this.trackAndCompute()&&function(e){e.U!==z.K&&(e.U=z.K,e.F.forEach((function(t){t.I===z.B?t.I=z.K:t.I===z.L&&(e.U=z.L)})))}(this),B.trackingContext=e}}else Be(this)&&(this.Tt(),Qe(),this.Ot=this.Ct(!1),$e());var n=this.Ot;if(ze(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===z.P,n=this.Ct(!0),r=t||ze(e)||ze(n)||!this.Vt(e,n);return r&&(this.Ot=n),r},n.Ct=function(e){this.isComputing=!0;var t,n=Le(!1);if(e)t=Ve(this,this.derivation,this.Et);else if(!0===B.disableErrorBoundaries)t=this.derivation.call(this.Et);else try{t=this.derivation.call(this.Et)}catch(e){t=new Ln(e)}return Re(n),this.isComputing=!1,t},n.X=function(){this.Nt||(He(this),this.Ot=void 0)},n._t=function(e,t){var n=this,r=!0,i=void 0;return ct((function(){var a=n.get();if(!r||t){var o=We();e({observableKind:`computed`,debugObjectName:n.tt,type:ar,object:n,newValue:a,oldValue:i}),Ge(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)}}])}();Pn.It=1,Pn.Lt=2,Pn.pt=4,Pn.yt=8,Pn.wt=16;var z,Fn,In=f(`ComputedValue`,Pn);(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_`})(z||={}),function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`}(Fn||={});var Ln=function(e){this.cause=void 0,this.cause=e},Rn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],zn=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},Bn=!0,Vn=!1,B=function(){var e=n();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(Bn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new zn().version&&(Bn=!1),Bn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new zn):(setTimeout((function(){Vn||t(35)}),1),new zn)}(),Hn=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=z.P,this.q=0,this.G=0,this.bt=0,this.Mt=Fn.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,B.pendingReactions.push(this),nt())},t.J=function(){if(!this.isDisposed){Qe(),this.isScheduled=!1;var e=B.trackingContext;if(B.trackingContext=this,Be(this)){this.isTrackPending=!0;try{this.Pt()}catch(e){this.Dt(e)}}B.trackingContext=e,$e()}},t.track=function(e){if(!this.isDisposed){Qe(),this.isRunning=!0;var t=B.trackingContext;B.trackingContext=this;var n=Ve(this,e,void 0);B.trackingContext=t,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&He(this),ze(n)&&this.Dt(n.cause),$e()}},t.Dt=function(e){var t=this;if(this.Kt)this.Kt(e,this);else{if(B.disableErrorBoundaries)throw e;B.suppressReactionErrors||console.error(`[mobx] uncaught error in '`+this+`'`,e),B.globalReactionErrorHandlers.forEach((function(n){return n(e,t)}))}},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(Qe(),He(this),$e()))},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[I]=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)}}])}();Hn.Wt=1,Hn.qt=2,Hn.Gt=4,Hn.Ht=8,Hn.wt=16;var Un=function(e){return e()},Wn=f(`Reaction`,Hn),Gn=le(`action`),Kn=le(`action.bound`,{bound:!0}),qn=le(`autoAction`,{autoAction:!0}),Jn=le(`autoAction.bound`,{autoAction:!0,bound:!0}),Yn=at(!1);Object.assign(Yn,Gn);var Xn=at(!0);Object.assign(Xn,qn),Yn.bound=E(Kn),Xn.bound=E(Jn);var Zn=function(e){return e()},Qn=0,$n=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)),er=me(`flow`),tr=me(`flow.bound`,{bound:!0}),nr=Object.assign((function(e,t){if(oe(t))return er.t(e,t);if(o(t))return ae(e,t,er);var n=e,r=n.name||`<unnamed flow>`,i=function(){var e,t=this,i=arguments,o=++Qn,s=Yn(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=Yn(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=Yn(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=Yn(r+` - runid: `+o+` - cancel`,(function(){try{c&&gt(c);var t=s.return(void 0),n=Promise.resolve(t.value);n.then(un,un),gt(n),e(new $n)}catch(t){e(t)}})),l};return i.isMobXFlow=!0,i}),er);nr.bound=E(tr);var rr={has:function(e,t){return Ot(e).it(t)},get:function(e,t){return Ot(e).ct(t)},set:function(e,t,n){var r;return!!o(t)&&((r=Ot(e).ht(t,n,!0))==null||r)},deleteProperty:function(e,t){var n;return!!o(t)&&((n=Ot(e).Ut(t,!0))==null||n)},defineProperty:function(e,t,n){var r;return(r=Ot(e).l(t,n))==null||r},ownKeys:function(e){return Ot(e).rt()},preventExtensions:function(){t(13)}},ir=Symbol(`mobx-keys`),ar=`update`,or={get:function(e,t){var n=e[I];return t===I?n:t===`length`?n.Ft():typeof t!=`string`||isNaN(t)?g(cr,t)?cr[t]:e[t]:n.ct(parseInt(t))},set:function(e,t,n){var r=e[I];return t===`length`&&r.Xt(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.ht(parseInt(t),n),!0},preventExtensions:function(){t(15)}},sr=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 mn(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 At(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}),Nt(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=on),kt(this)){var a=jt(this,{object:this.v,type:`splice`,index:e,removedCount:t,added:n});if(!a)return on;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=Mt(this),a=i||r?{observableKind:`array`,object:this.v,type:ar,debugObjectName:this.st.tt,index:e,newValue:t,oldValue:n}:null;this.st.reportChanged(),i&&Pt(this,a)},n.nn=function(e,t,n){var r=!this.zt&&!1,i=Mt(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&&Pt(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(kt(this)){var a=jt(this,{type:ar,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}(),cr={clear:function(){return this.splice(0)},replace:function(e){var t=this[I];return t.ot(0,t.j.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[I];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[I].ot(e,t,n)},push:function(){for(var e=this[I],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[I].j.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){for(var e=this[I],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 B.trackingDerivation&&t(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){B.trackingDerivation&&t(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[I],n=t.ft(t.j).indexOf(e);return n>-1&&(this.splice(n,1),!0)}};A(`at`,It),A(`concat`,It),A(`flat`,It),A(`includes`,It),A(`indexOf`,It),A(`join`,It),A(`lastIndexOf`,It),A(`slice`,It),A(`toString`,It),A(`toLocaleString`,It),A(`toSorted`,It),A(`toSpliced`,It),A(`with`,It),A(`every`,j),A(`filter`,j),A(`find`,j),A(`findIndex`,j),A(`findLast`,j),A(`findLastIndex`,j),A(`flatMap`,j),A(`forEach`,j),A(`map`,j),A(`some`,j),A(`toReversed`,j),A(`reduce`,Lt),A(`reduceRight`,Lt);var lr,ur,dr=f(`ObservableArrayAdministration`,sr),fr={},pr=`add`,mr=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[I]=fr,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=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(!B.trackingDerivation)return this.it(e);var n=this.dt.get(e);if(!n){var r=n=new Mn(this.it(e),D,`ObservableMap.key?`,!1);this.dt.set(e,r),dt(r,(function(){return t.dt.delete(e)}))}return n.get()},n.set=function(e,t){var n=this.it(e);if(kt(this)){var r=jt(this,{type:n?ar:pr,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(kt(this)&&!jt(this,{type:`delete`,object:this,name:e}))return!1;if(this.it(e)){var n=Mt(this),r=n?{observableKind:`map`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:this.vt.get(e).Ot,name:e}:null;return Tt((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&&Pt(this,r),!0}return!1},n.rn=function(e,t){var n=this.vt.get(e);if((t=n.xt(t))!==B.UNCHANGED){var r=Mt(this),i=r?{observableKind:`map`,debugObjectName:this.tt,type:ar,object:this,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),r&&Pt(this,i)}},n.en=function(e,t){var n=this;Tt((function(){var r,i=new Mn(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=Mt(this);r&&Pt(this,r?{observableKind:`map`,debugObjectName:this.tt,type:pr,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 zt({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 zt({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 hr(e)&&(e=new Map(e)),Tt((function(){var r,i;c(e)?function(e){var t=Object.keys(e);if(!dn)return t;var n=Object.getOwnPropertySymbols(e);return n.length?[].concat(t,n.filter((function(t){return an.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;Tt((function(){Ue((function(){for(var t,n=C(e.keys());!(t=n()).done;)e.delete(t.value)}))}))},n.replace=function(e){var n=this;return Tt((function(){for(var r,i=function(e){if(p(e)||hr(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 Nt(this,e)},n.St=function(e){return At(this,e)},S(e,[{key:`size`,get:function(){return this.lt.reportObserved(),this.vt.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),hr=f(`ObservableMap`,mr),gr={},_r=function(){function e(e,n,r){var i=this;n===void 0&&(n=ce),r===void 0&&(r=`ObservableSet`),this.tt=void 0,this[I]=gr,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=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;Tt((function(){Ue((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(kt(this)){var n=jt(this,{type:pr,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){Tt((function(){t.vt.add(t.Jt(e,void 0)),t.st.reportChanged()}));var r=Mt(this);r&&Pt(this,r?{observableKind:`set`,debugObjectName:this.tt,type:pr,object:this,newValue:e}:null)}return this},n.delete=function(e){var t=this;if(kt(this)&&!jt(this,{type:`delete`,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Mt(this),r=n?{observableKind:`set`,debugObjectName:this.tt,type:`delete`,object:this,oldValue:e}:null;return Tt((function(){t.st.reportChanged(),t.vt.delete(e)})),n&&Pt(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 Bt({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 Bt({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)&&!vr(e)?e.intersection(this):new Set(this).intersection(e)},n.union=function(e){return m(e)&&!vr(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)&&!vr(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)&&!vr(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},n.replace=function(e){var n=this;return vr(e)&&(e=new Set(e)),Tt((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 Nt(this,e)},n.St=function(e){return At(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`}}])}(),vr=f(`ObservableSet`,_r),yr=Object.create(null),br=function(){function e(e,t,n,r){t===void 0&&(t=new Map),r===void 0&&(r=vn),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 mn(`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 Pn)return n.set(t),!0;if(kt(this)){var r=jt(this,{type:ar,object:this.v||this.h,name:e,newValue:t});if(!r)return null;t=r.newValue}if((t=n.xt(t))!==B.UNCHANGED){var i=Mt(this),a=i?{type:ar,observableKind:`object`,debugObjectName:this.tt,object:this.v||this.h,oldValue:n.Ot,name:e,newValue:t}:null;n.gt(t),i&&Pt(this,a)}return!0},n.ct=function(e){return B.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(!B.trackingDerivation)return e in this.h;this.sn||=new Map;var t=this.sn.get(e);return t||(t=new Mn(e in this.h,D,`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[pn])!=null&&r[e])return;t(1,n.i,this.tt+`.`+e.toString())}for(var i=this.h;i&&i!==an;){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{Qe();var r=this.Ut(e);if(!r)return r;if(kt(this)){var i=jt(this,{object:this.v||this.h,name:e,type:pr,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=w({},t,{value:a}))}if(n){if(!Reflect.defineProperty(this.h,e,t))return!1}else P(this.h,e,t);this.fn(e,t.value)}finally{$e()}return!0},n.g=function(e,t,n,r){r===void 0&&(r=!1);try{Qe();var i=this.Ut(e);if(!i)return i;if(kt(this)){var a=jt(this,{object:this.v||this.h,name:e,type:pr,newValue:t});if(!a)return null;t=a.newValue}var o=M(e),s={configurable:!B.safeDescriptors||this.p,enumerable:!0,get:o.get,set:o.set};if(r){if(!Reflect.defineProperty(this.h,e,s))return!1}else P(this.h,e,s);var c=new Mn(t,n,`ObservableObject.key`,!1);this.j.set(e,c),this.fn(e,c.Ot)}finally{$e()}return!0},n.m=function(e,t,n){n===void 0&&(n=!1);try{Qe();var r=this.Ut(e);if(!r)return r;if(kt(this)&&!jt(this,{object:this.v||this.h,name:e,type:pr,newValue:void 0}))return null;t.name||=`ObservableObject.key`,t.context=this.v||this.h;var i=M(e),a={configurable:!B.safeDescriptors||this.p,enumerable:!1,get:i.get,set:i.set};if(n){if(!Reflect.defineProperty(this.h,e,a))return!1}else P(this.h,e,a);this.j.set(e,new Pn(t)),this.fn(e,void 0)}finally{$e()}return!0},n.Ut=function(e,t){if(t===void 0&&(t=!1),!g(this.h,e))return!0;if(kt(this)&&!jt(this,{object:this.v||this.h,name:e,type:`remove`}))return null;try{var n;Qe();var r=Mt(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 Mn&&(a=i.Ot),tt(i)),this.lt.reportChanged(),(n=this.sn)==null||(n=n.get(e))==null||n.set(e in this.h),r&&r&&Pt(this,{type:`remove`,observableKind:`object`,object:this.v||this.h,debugObjectName:this.tt,oldValue:a,name:e})}finally{$e()}return!0},n._t=function(e){return Nt(this,e)},n.St=function(e){return At(this,e)},n.fn=function(e,t){var n,r=Mt(this);r&&r&&Pt(this,r?{type:pr,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(),F(this.h)},n.nt=function(){return this.lt.reportObserved(),Object.keys(this.h)},e}(),xr=f(`ObservableObjectAdministration`,br),Sr=Wt(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(){};lr=Tr,ur=Array.prototype,Object.setPrototypeOf?Object.setPrototypeOf(lr.prototype,ur):lr.prototype.__proto__===void 0?lr.prototype=ur:lr.prototype.__proto__=ur;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,Zt((function(){var e=new sr(r,n,i,!0);e.v=a,d(a,I,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[I].st.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map((function(e){return Rt(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[I].Ft()},set:function(e){this[I].Xt(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(Tr);Object.entries(cr).forEach((function(e){var t=e[0];t!==`concat`&&u(Er.prototype,t,e[1])})),Kt(1e3);var Dr=an.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:it,extras:{getDebugName:Xt},$mobx:I}),e.$mobx=I,e.FlowCancellationError=$n,e.ObservableMap=mr,e.ObservableSet=_r,e.Reaction=Hn,e._allowStateChanges=Ie,e._allowStateChangesInsideComputed=ot,e._allowStateReadsEnd=qe,e._allowStateReadsStart=Ke,e._autoAction=Xn,e._endAction=Fe,e._getAdministration=Yt,e._getGlobalState=function(){return B},e._interceptReads=function(e,t,n){var r;return hr(e)||Rt(e)||Nn(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 B.trackingDerivation!==null},e._resetGlobalState=function(){var e=new zn;for(var t in e)Rn.indexOf(t)===-1&&(B[t]=e[t]);B.allowStateChanges=!B.enforceActions},e._startAction=Pe,e.action=Yn,e.autorun=ct,e.comparer=gn,e.computed=Dn,e.configure=function(e){!0===e.isolateGlobalState&&function(){if((B.pendingReactions.length||B.inBatch||B.isRunningReactions)&&t(36),Vn=!0,Bn){var e=n();--e.__mobxInstanceCount==0&&(e.__mobxGlobals=void 0),B=new zn}}();var r,i,a=e.useProxies,o=e.enforceActions;if(a!==void 0&&(B.useProxies=a===`always`||a!==`never`&&typeof Proxy<`u`),a===`ifavailable`&&(B.verifyProxies=!0),o!==void 0){var s=o===`always`?`always`:o===`observed`;B.enforceActions=s,B.allowStateChanges=!0!==s&&s!==`always`}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach((function(t){t in e&&(B[t]=!!e[t])})),B.allowStateReads=!B.observableRequiresReaction,e.reactionScheduler&&(r=e.reactionScheduler,i=Un,Un=function(e){return r((function(){return i(e)}))})},e.createAtom=se,e.defineProperty=function(e,n,r){if(Ht(e))return e[I].l(n,r);t(39)},e.entries=function(e){return Ht(e)?xt(e).map((function(t){return[t,e[t]]})):hr(e)?xt(e).map((function(t){return[t,e.get(t)]})):vr(e)?Array.from(e.entries()):Rt(e)?e.map((function(e,t){return[t,e]})):void t(7)},e.extendObservable=pt,e.flow=nr,e.flowResult=function(e){return e},e.get=function(e,n){if(St(e,n))return Ht(e)?e[I].ct(n):hr(e)?e.get(n):Rt(e)?e[n]:void t(11)},e.getAtom=Jt,e.getDebugName=Xt,e.getDependencyTree=function(e,t){return mt(Jt(e,t))},e.getObserverTree=function(e,t){return ht(Jt(e,t))},e.has=St,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=st,e.isBoxedObservable=Nn,e.isComputed=function(e){return vt(e)},e.isComputedProp=function(e,t){return vt(e,t)},e.isFlow=_t,e.isFlowCancellationError=function(e){return e instanceof $n},e.isObservable=bt,e.isObservableArray=Rt,e.isObservableMap=hr,e.isObservableObject=Ht,e.isObservableProp=function(e,t){return yt(e,t)},e.isObservableSet=vr,e.keys=xt,e.makeAutoObservable=function(e,t,n){return c(e)?pt(e,e,t,n):(Zt((function(){var r=Vt(e,n)[I];if(!e[ir]){var i=Object.getPrototypeOf(e),a=new Set([].concat(F(e),F(i)));a.delete(`constructor`),a.delete(I),u(i,ir,a)}e[ir].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=Vt(e,n)[I];t??=function(e){return g(e,pn)||u(e,pn,w({},e[pn])),e[pn]}(e),F(t).forEach((function(e){return r.o(e,t[e])}))})),e},e.observable=wn,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=ut,e.onBecomeUnobserved=dt,e.onReactionError=function(e){return B.globalReactionErrorHandlers.push(e),function(){var t=B.globalReactionErrorHandlers.indexOf(e);t>=0&&B.globalReactionErrorHandlers.splice(t,1)}},e.override=_n,e.ownKeys=Ct,e.reaction=function(e,t,n){function r(){if(p=!1,!h.isDisposed){var t=!1,r=s;h.track((function(){var n=Ie(!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=sn);var a,o,s,c=n.name??`Reaction`,l=Yn(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=lt(n),f=!0,p=!1,m=n.compareStructural?gn.structural:n.equals||gn.default,h=new Hn(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[I].Ut(n):hr(e)||vr(e)?e.delete(n):Rt(e)?(typeof n!=`number`&&(n=parseInt(n,10)),e.splice(n,1)):t(9)},e.runInAction=ot,e.set=function e(n,r,i){if(arguments.length!==2||vr(n))Ht(n)?n[I].ht(r,i):hr(n)?n.set(r,i):vr(n)?n.add(r):Rt(n)?(typeof r!=`number`&&(r=parseInt(r,10)),r<0&&t(`Invalid index: '`+r+`'`),Qe(),r>=n.length&&(n.length=r+1),n[r]=i,$e()):t(8);else{Qe();var a=r;try{for(var o in a)e(n,o,a[o])}finally{$e()}}},e.spy=it,e.toJS=function(e){return function e(t,n){if(typeof t!=`object`||!t||t instanceof Date||!bt(t))return t;if(Nn(t)||In(t))return e(t.get(),n);if(n.has(t))return n.get(t);if(Rt(t)){var r=wt(n,t,Array(t.length));return t.forEach((function(t,i){r[i]=e(t,n)})),r}if(vr(t)){var i=wt(n,t,new Set);return t.forEach((function(t){i.add(e(t,n))})),i}if(hr(t)){var a=wt(n,t,new Map);return t.forEach((function(t,r){a.set(r,e(t,n))})),a}var o=wt(n,t,{});return Ct(t).forEach((function(r){an.propertyIsEnumerable.call(t,r)&&(o[r]=e(t[r],n))})),o}(e,new Map)},e.trace=function(){},e.transaction=Tt,e.untracked=Ue,e.values=function(e){return Ht(e)?xt(e).map((function(t){return e[t]})):hr(e)?xt(e).map((function(t){return e.get(t)})):vr(e)?Array.from(e.values()):Rt(e)?e.slice():void t(6)},e.when=function(e,t,n){return arguments.length===1||t&&typeof t==`object`?Dt(e,t):Et(e,t,n||{})}})),jv=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){R.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++R.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 w(e,t,n){s(e,t,{enumerable:!1,writable:!1,configurable:!0,value:n})}function ee(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 D(e,t){return!!(e&t)}function le(e,t,n){return n?e|=t:e&=~t,e}function ue(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 de(e,t,n){if(O())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,t);var i=new(e.bind.apply(e,r));return n&&ye(i,n.prototype),i}function fe(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,xe(r.key),r)}}function pe(e,t,n){return t&&fe(e.prototype,t),n&&fe(e,n),Object.defineProperty(e,`prototype`,{writable:!1}),e}function me(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=Se(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 he(){return he=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},he.apply(null,arguments)}function ge(e){return ge=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},ge(e)}function _e(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,ye(e,t)}function ve(e){try{return Function.toString.call(e).indexOf(`[native code]`)!==-1}catch{return typeof e==`function`}}function O(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(O=function(){return!!e})()}function ye(e,t){return ye=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},ye(e,t)}function be(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 xe(e){var t=be(e,`string`);return typeof t==`symbol`?t:t+``}function Se(e,t){if(e){if(typeof e==`string`)return ue(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)?ue(e,t):void 0}}function Ce(e){var t=typeof Map==`function`?new Map:void 0;return Ce=function(e){if(e===null||!ve(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 de(e,arguments,ge(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),ye(n,e)},Ce(e)}var we=Symbol(`mobx-stored-annotations`);function Te(e){function t(t,n){if(ke(n))return e.decorate_20223_(t,n);Ee(t,n,e)}return Object.assign(t,e)}function Ee(e,t,r){se(e,we)||C(e,we,he({},e[we])),Ge(r)&&!se(e[we],t)&&n(`'`+(e.constructor.name+`.prototype.`+t.toString())+`' is decorated with 'override', but no such decorated member was found on prototype.`),De(e,r,t),Ge(r)||(e[we][t]=r)}function De(e,t,r){if(!Ge(t)&&se(e[we],r)){var i=e.constructor.name+`.prototype.`+r.toString(),a=e[we][r].annotationType_,o=t.annotationType_;n(`Cannot apply '@`+o+`' to '`+i+`':`+(`
58
58
  The field is already decorated with '@`+a+`'.`)+`
59
59
  Re-decorating fields is not allowed.
60
- Use '@override' decorator for methods overridden by subclass.`)}}function De(e){return ae(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_=P.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(){An(),Nn(this),jn()},t.toString=function(){return this.name_},fe(e,[{key:`isBeingObserved`,get:function(){return se(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ce(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return se(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ce(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!se(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ce(this.flags_,e.diffValueMask_,t===1)}}])}();Ae.isBeingObservedMask_=1,Ae.isPendingUnobservationMask_=2,Ae.diffValueMask_=4;var je=T(`Atom`,Ae);function Me(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new Ae(e);return t!==_&&_r(r,t),n!==_&&vr(r,n),r}function Ne(e,t){return e===t}function Pe(e,t){return va(e,t)}function Fe(e,t){return va(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 Kr(e)?e:Array.isArray(e)?M.array(e,{name:n}):x(e)?M.object(e,void 0,{name:n}):ee(e)?M.map(e,{name:n}):E(e)?M.set(e,{name:n}):typeof e==`function`&&!lr(e)&&!Rr(e)?S(e)?Fr(e):sr(n,e):e}function ze(e,t,r){if(e==null||ea(e)||Ii(e)||Vi(e)||Ki(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(ee(e))return M.map(e,{name:r,deep:!1});if(E(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 Kr(e)&&n(`observable.struct should not be used with observable values`),va(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()+`':`+(`
61
- '`+this.annotationType_+`' cannot be used on plain objects.`)),ae(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:lr(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 Wt(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+`):`+(`
62
- '`+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()+`':`+(`
63
- '`+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=L.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:Wt(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&&(!ae(e.target_,t)||!Rr(e.target_[t]))&&this.extend_(e,t,n,!1)===null?0:Rr(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 Rr(e)||(e=Fr(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()+`':`+(`
64
- '`+a+`' can only be used on properties with a generator function value.`))}function at(e,t,n,r,i,a){a===void 0&&(a=L.safeDescriptors),it(e,t,n,r);var o=r.value;return Rr(o)||(o=Fr(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=Zi(this)[A],i=me({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new en(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()+`':`+(`
65
- '`+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=Zi(e)[A],i=new Qt(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()+`':`+(`
66
- '`+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 zt.make_(e,t,n,r);if(n.set){var a=lr(n.set)?n.set:Wt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:L.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?Fr.bound:Fr).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?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?zt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:L.safeDescriptors?e.isPlainObject_:!0,set:Wt(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}),jt=dt(Tt,{enhancer:Ve}),Mt=we(Ot);function Nt(e){return e.deep===!0?Re:e.deep===!1?Be:j(e.defaultDecorator)}function Pt(e){return e?e.defaultDecorator??vt(e):void 0}function j(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 Kr(e)?e:x(e)?M.object(e,t,n):Array.isArray(e)?M.array(e,t):ee(e)?M.map(e,t):E(e)?M.set(e,t):typeof e==`object`&&e?e:M.box(e,t)}a(Ft,Mt);var M=a(Ft,{box:function(e,t){var n=Dt(t);return new Qt(e,Nt(n),n.name,!0,n.equals)},array:function(e,t){var n=Dt(t);return(L.useProxies===!1||n.proxy===!1?fa:ji)(e,Nt(n),n.name)},map:function(e,t){var n=Dt(t);return new Bi(e,Nt(n),n.name)},set:function(e,t){var n=Dt(t);return new Gi(e,Nt(n),n.name)},object:function(e,t,n){return ga(function(){return wr(L.useProxies===!1||n?.proxy===!1?Zi({},n):gi({},n),e,t)})},ref:we(kt),shallow:we(At),deep:Mt,struct:we(jt)}),It=`computed`,Lt=`computed.struct`,Rt=ot(It),N=ot(Lt,{equals:Le.structural}),zt=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 en(r)};Object.assign(zt,Rt),zt.struct=we(N);var Bt=0,Vt=1,Ht=o(function(){},`name`)?.configurable??!1,Ut={value:`action`,configurable:!0,writable:!1,enumerable:!1};function Wt(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 Gt(e,r,t,i||this,arguments)}return a.isMobxAction=!0,a.toString=function(){return t.toString()},Ht&&(Ut.value=e,s(a,`name`,Ut)),a}function Gt(e,t,n,r,i){var a=Kt(e,t,r,i);try{return n.apply(r,i)}catch(e){throw a.error_=e,e}finally{qt(a)}}function Kt(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=L.trackingDerivation,s=!t||!o;An();var c=L.allowStateChanges;s&&(I(),c=Yt(!0));var u=hn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Vt++,parentActionId_:Bt};return Bt=d.actionId_,d}function qt(e){Bt!==e.actionId_&&n(30),Bt=e.parentActionId_,e.error_!==void 0&&(L.suppressReactionErrors=!0),Xt(e.prevAllowStateChanges_),gn(e.prevAllowStateReads_),jn(),e.runAsAction_&&mn(e.prevDerivation_),e.notifySpy_&&Jn({time:Date.now()-e.startTime_}),L.suppressReactionErrors=!1}function Jt(e,t){var n=Yt(e);try{return t()}finally{Xt(n)}}function Yt(e){var t=L.allowStateChanges;return L.allowStateChanges=e,t}function Xt(e){L.allowStateChanges=e}var Zt=`create`,Qt=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&&Wn()&&Gn({type:Zt,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!==L.UNCHANGED){var n=Wn();n&&Kn({type:Di,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&Jn()}},n.prepareNewValue_=function(e){if(cn(this),_i(this)){var t=yi(this,{object:this,type:Di,newValue:e});if(!t)return L.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?L.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),bi(this)&&Si(this,{type:Di,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return vi(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Di,newValue:this.value_,oldValue:void 0}),xi(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 ie(this.get())},n[Symbol.toPrimitive]=function(){return this.valueOf()},t}(Ae),$t=T(`ObservableValue`,Qt),en=function(){function e(e){this.dependenciesState_=P.NOT_TRACKING_,this.observing_=[],this.newObserving_=null,this.observers_=new Set,this.runId_=0,this.lastAccessedBy_=0,this.lowestObserverState_=P.UP_TO_DATE_,this.unboundDepsCount_=0,this.value_=new rn(null),this.name_=void 0,this.triggeredBy_=void 0,this.flags_=0,this.derivation=void 0,this.setter_=void 0,this.isTracing_=nn.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_=Wt(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(){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),L.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)on(this)&&(this.warnAboutUntrackedRead_(),An(),this.value_=this.computeValue_(!1),jn());else if(Mn(this),on(this)){var e=L.trackingContext;this.keepAlive_&&!e&&(L.trackingContext=this),this.trackAndCompute()&&Pn(this),L.trackingContext=e}var t=this.value_;if(an(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_===P.NOT_TRACKING_,n=this.computeValue_(!0),r=t||an(e)||an(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=Yt(!1),n;if(e)n=F(this,this.derivation,this.scope_);else if(L.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new rn(e)}return Xt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(fn(this),this.value_=void 0,this.isTracing_!==nn.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=I();e({observableKind:`computed`,debugObjectName:n.name_,type:Di,object:n,newValue:a,oldValue:i}),mn(o)}r=!1,i=a})},t.warnAboutUntrackedRead_=function(){this.isTracing_!==nn.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_:L.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 ie(this.get())},t[Symbol.toPrimitive]=function(){return this.valueOf()},fe(e,[{key:`isComputing`,get:function(){return se(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=ce(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return se(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=ce(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return se(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=ce(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return se(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=ce(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!se(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ce(this.flags_,e.diffValueMask_,t===1)}}])}();en.isComputingMask_=1,en.isRunningSetterMask_=2,en.isBeingObservedMask_=4,en.isPendingUnobservationMask_=8,en.diffValueMask_=16;var tn=T(`ComputedValue`,en),P;(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_`})(P||={});var nn;(function(e){e[e.NONE=0]=`NONE`,e[e.LOG=1]=`LOG`,e[e.BREAK=2]=`BREAK`})(nn||={});var rn=function(e){this.cause=void 0,this.cause=e};function an(e){return e instanceof rn}function on(e){switch(e.dependenciesState_){case P.UP_TO_DATE_:return!1;case P.NOT_TRACKING_:case P.STALE_:return!0;case P.POSSIBLY_STALE_:for(var t=hn(!0),n=I(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(tn(o)){if(L.disableErrorBoundaries)o.get();else try{o.get()}catch{return mn(n),gn(t),!0}if(e.dependenciesState_===P.STALE_)return mn(n),gn(t),!0}}return _n(e),mn(n),gn(t),!1}}function sn(){return L.trackingDerivation!==null}function cn(e){var t=e.observers_.size>0;!L.allowStateChanges&&(t||L.enforceActions===`always`)&&console.warn(`[MobX] `+(L.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 ln(e){!L.allowStateReads&&L.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function F(e,t,n){var r=hn(!0);_n(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++L.runId;var i=L.trackingDerivation;L.trackingDerivation=e,L.inBatch++;var a;if(L.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new rn(e)}return L.inBatch--,L.trackingDerivation=i,dn(e),un(e),gn(r),a}function un(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:L.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function dn(e){for(var t=e.observing_,n=e.observing_=e.newObserving_,r=P.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&&On(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,Dn(l,e))}r!==P.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function fn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)On(t[n],e);e.dependenciesState_=P.NOT_TRACKING_}function pn(e){var t=I();try{return e()}finally{mn(t)}}function I(){var e=L.trackingDerivation;return L.trackingDerivation=null,e}function mn(e){L.trackingDerivation=e}function hn(e){var t=L.allowStateReads;return L.allowStateReads=e,t}function gn(e){L.allowStateReads=e}function _n(e){if(e.dependenciesState_!==P.UP_TO_DATE_){e.dependenciesState_=P.UP_TO_DATE_;for(var t=e.observing_,n=t.length;n--;)t[n].lowestObserverState_=P.UP_TO_DATE_}}var vn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],yn=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},bn=!0,xn=!1,L=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(bn=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new yn().version&&(bn=!1),bn?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new yn):(setTimeout(function(){xn||n(35)},1),new yn)}();function Sn(){if((L.pendingReactions.length||L.inBatch||L.isRunningReactions)&&n(36),xn=!0,bn){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),L=new yn}}function Cn(){return L}function wn(){var e=new yn;for(var t in e)vn.indexOf(t)===-1&&(L[t]=e[t]);L.allowStateChanges=!L.enforceActions}function Tn(e){return e.observers_&&e.observers_.size>0}function En(e){return e.observers_}function Dn(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function On(e,t){e.observers_.delete(t),e.observers_.size===0&&kn(e)}function kn(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,L.pendingUnobservations.push(e))}function An(){L.inBatch++}function jn(){if(--L.inBatch===0){Vn();for(var e=L.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 en&&n.suspend_())}L.pendingUnobservations=[]}}function Mn(e){ln(e);var t=L.trackingDerivation;return t===null?(e.observers_.size===0&&L.inBatch>0&&kn(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&L.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Nn(e){e.lowestObserverState_!==P.STALE_&&(e.lowestObserverState_=P.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===P.UP_TO_DATE_&&(t.isTracing_!==nn.NONE&&R(t,e),t.onBecomeStale_()),t.dependenciesState_=P.STALE_}))}function Pn(e){e.lowestObserverState_!==P.STALE_&&(e.lowestObserverState_=P.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===P.POSSIBLY_STALE_?(t.dependenciesState_=P.STALE_,t.isTracing_!==nn.NONE&&R(t,e)):t.dependenciesState_===P.UP_TO_DATE_&&(e.lowestObserverState_=P.UP_TO_DATE_)}))}function Fn(e){e.lowestObserverState_===P.UP_TO_DATE_&&(e.lowestObserverState_=P.POSSIBLY_STALE_,e.observers_.forEach(function(e){e.dependenciesState_===P.UP_TO_DATE_&&(e.dependenciesState_=P.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_===nn.BREAK){var n=[];In(Tr(e),n,1),Function(`debugger;
60
+ Use '@override' decorator for methods overridden by subclass.`)}}function Oe(e){return se(e,we)||C(e,we,he({},e[we])),e[we]}function ke(e){return typeof e==`object`&&typeof e.kind==`string`}function Ae(e,t){t.includes(e.kind)||n(`The decorator applied to '`+String(e.name)+`' cannot be used on a `+e.kind+` element`)}var k=Symbol(`mobx administration`),je=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 jn(this)},t.reportChanged=function(){kn(),Mn(this),An()},t.toString=function(){return this.name_},pe(e,[{key:`isBeingObserved`,get:function(){return D(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return D(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!D(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();je.isBeingObservedMask_=1,je.isPendingUnobservationMask_=2,je.diffValueMask_=4;var Me=ee(`Atom`,je);function Ne(e,t,n){t===void 0&&(t=_),n===void 0&&(n=_);var r=new je(e);return t!==_&&gr(r,t),n!==_&&_r(r,n),r}function Pe(e,t){return e===t}function Fe(e,t){return _a(e,t)}function Ie(e,t){return _a(e,t,1)}function Le(e,t){return Object.is?Object.is(e,t):e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Re={identity:Pe,structural:Fe,default:Le,shallow:Ie};function ze(e,t,n){return Gr(e)?e:Array.isArray(e)?j.array(e,{name:n}):x(e)?j.object(e,void 0,{name:n}):te(e)?j.map(e,{name:n}):re(e)?j.set(e,{name:n}):typeof e==`function`&&!cr(e)&&!Lr(e)?S(e)?Pr(e):or(n,e):e}function Be(e,t,r){if(e==null||$i(e)||Fi(e)||Bi(e)||Gi(e))return e;if(Array.isArray(e))return j.array(e,{name:r,deep:!1});if(x(e))return j.object(e,void 0,{name:r,deep:!1});if(te(e))return j.map(e,{name:r,deep:!1});if(re(e))return j.set(e,{name:r,deep:!1});n(`The shallow modifier / decorator can only used in combination with arrays, objects, maps and sets`)}function Ve(e){return e}function He(e,t){return Gr(e)&&n(`observable.struct should not be used with observable values`),_a(e,t)?t:e}var Ue=`override`,We=Te({annotationType_:Ue,make_:Ke,extend_:qe,decorate_20223_:Je});function Ge(e){return e.annotationType_===Ue}function Ke(e,t){return e.isPlainObject_&&n(`Cannot apply '`+this.annotationType_+`' to '`+e.name_+`.`+t.toString()+`':`+(`
61
+ '`+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 qe(e,t,r,i){n(`'`+this.annotationType_+`' can only be used with 'makeObservable'`)}function Je(e,t){console.warn(`'`+this.annotationType_+`' cannot be used with decorators - this is a no-op`)}function Ye(e,t){return{annotationType_:e,options_:t,make_:Xe,extend_:Ze,decorate_20223_:Qe}}function Xe(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:cr(n.value)?1:(s(r,t,et(e,this,t,n,!1)),2)}function Ze(e,t,n,r){var i=et(e,this,t,n);return e.defineProperty_(t,i,r)}function Qe(e,t){Ae(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 cr(n)||(n=s(n)),(t=o.options_)!=null&&t.bound&&(n=n.bind(this),n.isMobxAction=!0),n};if(r==`method`){var c;return cr(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+`):`+(`
62
+ '`+o.annotationType_+`' can only be used on properties with a function value.`))}function $e(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
63
+ '`+a+`' can only be used on properties with a function value.`))}function et(e,t,n,r,i){var a,o;i===void 0&&(i=R.safeDescriptors),$e(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 tt(e,t){return{annotationType_:e,options_:t,make_:nt,extend_:rt,decorate_20223_:it}}function nt(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,ot(e,this,t,n,!1,!1)),2)}function rt(e,t,n,r){var i=ot(e,this,t,n,this.options_?.bound);return e.defineProperty_(t,i,r)}function it(e,t){var n;Ae(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 at(e,t,r,i){var a=t.annotationType_,o=i.value;v(o)||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
64
+ '`+a+`' can only be used on properties with a generator function value.`))}function ot(e,t,n,r,i,a){a===void 0&&(a=R.safeDescriptors),at(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 st(e,t){return{annotationType_:e,options_:t,make_:ct,extend_:lt,decorate_20223_:ut}}function ct(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function lt(e,t,n,r){return dt(e,this,t,n),e.defineComputedProperty_(t,he({},this.options_,{get:n.get,set:n.set}),r)}function ut(e,t){Ae(t,[`getter`]);var n=this,r=t.name,i=t.addInitializer;return i(function(){var t=Xi(this)[k],i=he({},n.options_,{get:e,context:this});i.name||=t.name_+`.`+r.toString(),t.values_.set(r,new tn(i))}),function(){return this[k].getObservablePropValue_(r)}}function dt(e,t,r,i){var a=t.annotationType_;i.get||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
65
+ '`+a+`' can only be used on getter(+setter) properties.`))}function ft(e,t){return{annotationType_:e,options_:t,make_:pt,extend_:mt,decorate_20223_:ht}}function pt(e,t,n){return this.extend_(e,t,n,!1)===null?0:1}function mt(e,t,n,r){return gt(e,this,t,n),e.defineObservableProperty_(t,n.value,this.options_?.enhancer??ze,r)}function ht(e,t){if(t.kind===`field`)throw n("Please use `@observable accessor "+String(t.name)+"` instead of `@observable "+String(t.name)+"`");Ae(t,[`accessor`]);var r=this,i=t.kind,a=t.name,o=new WeakSet;function s(e,t){var n=Xi(e)[k],i=new $t(t,r.options_?.enhancer??ze,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[k].getObservablePropValue_(a)},set:function(e){return o.has(this)||s(this,e),this[k].setObservablePropValue_(a,e)},init:function(e){return o.has(this)||s(this,e),e}}}function gt(e,t,r,i){var a=t.annotationType_;`value`in i||n(`Cannot apply '`+a+`' to '`+e.name_+`.`+r.toString()+`':`+(`
66
+ '`+a+`' cannot be used on getter/setter properties`))}var _t=`true`,vt=yt();function yt(e){return{annotationType_:_t,options_:e,make_:bt,extend_:xt,decorate_20223_:St}}function bt(e,t,n,r){var i;if(n.get)return Vt.make_(e,t,n,r);if(n.set){var a=cr(n.set)?n.set:Gt(t.toString(),n.set);return r===e.target_?e.defineProperty_(t,{configurable:R.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?or.bound:or).make_(e,t,n,r)}var l=this.options_?.deep===!1?j.ref:j;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 xt(e,t,n,r){var i;return n.get?Vt.extend_(e,t,n,r):n.set?e.defineProperty_(t,{configurable:R.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?j.ref:j).extend_(e,t,n,r))}function St(e,t){n(`'`+this.annotationType_+`' cannot be used as a decorator`)}var Ct=`observable`,wt=`observable.ref`,Tt=`observable.shallow`,Et=`observable.struct`,Dt={deep:!0,name:void 0,defaultDecorator:void 0,proxy:!0};Object.freeze(Dt);function Ot(e){return e||Dt}var kt=ft(Ct),At=ft(wt,{enhancer:Ve}),jt=ft(Tt,{enhancer:Be}),Mt=ft(Et,{enhancer:He}),Nt=Te(kt);function Pt(e){return e.deep===!0?ze:e.deep===!1?Ve:A(e.defaultDecorator)}function Ft(e){return e?e.defaultDecorator??yt(e):void 0}function A(e){return e?e.options_?.enhancer??ze:ze}function It(e,t,n){if(ke(t))return kt.decorate_20223_(e,t);if(y(t)){Ee(e,t,kt);return}return Gr(e)?e:x(e)?j.object(e,t,n):Array.isArray(e)?j.array(e,t):te(e)?j.map(e,t):re(e)?j.set(e,t):typeof e==`object`&&e?e:j.box(e,t)}a(It,Nt);var j=a(It,{box:function(e,t){var n=Ot(t);return new $t(e,Pt(n),n.name,!0,n.equals)},array:function(e,t){var n=Ot(t);return(R.useProxies===!1||n.proxy===!1?da:Ai)(e,Pt(n),n.name)},map:function(e,t){var n=Ot(t);return new zi(e,Pt(n),n.name)},set:function(e,t){var n=Ot(t);return new Wi(e,Pt(n),n.name)},object:function(e,t,n){return ha(function(){return Cr(R.useProxies===!1||n?.proxy===!1?Xi({},n):hi({},n),e,t)})},ref:Te(At),shallow:Te(jt),deep:Nt,struct:Te(Mt)}),Lt=`computed`,Rt=`computed.struct`,zt=st(Lt),Bt=st(Rt,{equals:Re.structural}),Vt=function(e,t){if(ke(t))return zt.decorate_20223_(e,t);if(y(t))return Ee(e,t,zt);if(x(e))return Te(st(Lt,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(Vt,zt),Vt.struct=Te(Bt);var M=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=Un()&&!!e,a=0;i&&(a=Date.now(),Gn({type:Yn,name:e,object:n,arguments:r?Array.from(r):l}));var o=R.trackingDerivation,s=!t||!o;kn();var c=R.allowStateChanges;s&&(I(),c=Xt(!0));var u=hn(!0),d={runAsAction_:s,prevDerivation_:o,prevAllowStateChanges_:c,prevAllowStateReads_:u,notifySpy_:i,startTime_:a,actionId_:Ht++,parentActionId_:M};return M=d.actionId_,d}function Jt(e){M!==e.actionId_&&n(30),M=e.parentActionId_,e.error_!==void 0&&(R.suppressReactionErrors=!0),Zt(e.prevAllowStateChanges_),gn(e.prevAllowStateReads_),An(),e.runAsAction_&&mn(e.prevDerivation_),e.notifySpy_&&qn({time:Date.now()-e.startTime_}),R.suppressReactionErrors=!1}function Yt(e,t){var n=Xt(e);try{return t()}finally{Zt(n)}}function Xt(e){var t=R.allowStateChanges;return R.allowStateChanges=e,t}function Zt(e){R.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=Re.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&&Un()&&Wn({type:Qt,object:o,observableKind:`value`,debugObjectName:o.name_,newValue:``+o.value_?.toString()}),o}_e(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!==R.UNCHANGED){var n=Un();n&&Gn({type:Ei,object:this,observableKind:`value`,debugObjectName:this.name_,newValue:e,oldValue:t}),this.setNewValue_(e),n&&qn()}},n.prepareNewValue_=function(e){if(cn(this),gi(this)){var t=vi(this,{object:this,type:Ei,newValue:e});if(!t)return R.UNCHANGED;e=t.newValue}return e=this.enhancer(e,this.value_,this.name_),this.equals(this.value_,e)?R.UNCHANGED:e},n.setNewValue_=function(e){var t=this.value_;this.value_=e,this.reportChanged(),yi(this)&&xi(this,{type:Ei,object:this,newValue:e,oldValue:t})},n.get=function(){return this.reportObserved(),this.dehanceValue(this.value_)},n.intercept_=function(e){return _i(this,e)},n.observe_=function(e,t){return t&&e({observableKind:`value`,debugObjectName:this.name_,object:this,type:Ei,newValue:this.value_,oldValue:void 0}),bi(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}(je),en=ee(`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 P(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?Re.structural:Re.default),this.scope_=e.context,this.requiresReaction_=e.requiresReaction,this.keepAlive_=!!e.keepAlive}var t=e.prototype;return t.onBecomeStale_=function(){Pn(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),R.inBatch===0&&this.observers_.size===0&&!this.keepAlive_)on(this)&&(this.warnAboutUntrackedRead_(),kn(),this.value_=this.computeValue_(!1),An());else if(jn(this),on(this)){var e=R.trackingContext;this.keepAlive_&&!e&&(R.trackingContext=this),this.trackAndCompute()&&Nn(this),R.trackingContext=e}var t=this.value_;if(an(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||an(e)||an(n)||!this.equals_(e,n);return r&&(this.value_=n,Un()&&Wn({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=un(this,this.derivation,this.scope_);else if(R.disableErrorBoundaries===!0)n=this.derivation.call(this.scope_);else try{n=this.derivation.call(this.scope_)}catch(e){n=new P(e)}return Zt(t),this.isComputing=!1,n},t.suspend_=function(){this.keepAlive_||(fn(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 lr(function(){var a=n.get();if(!r||t){var o=I();e({observableKind:`computed`,debugObjectName:n.name_,type:Ei,object:n,newValue:a,oldValue:i}),mn(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_:R.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()},pe(e,[{key:`isComputing`,get:function(){return D(this.flags_,e.isComputingMask_)},set:function(t){this.flags_=le(this.flags_,e.isComputingMask_,t)}},{key:`isRunningSetter`,get:function(){return D(this.flags_,e.isRunningSetterMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningSetterMask_,t)}},{key:`isBeingObserved`,get:function(){return D(this.flags_,e.isBeingObservedMask_)},set:function(t){this.flags_=le(this.flags_,e.isBeingObservedMask_,t)}},{key:`isPendingUnobservation`,get:function(){return D(this.flags_,e.isPendingUnobservationMask_)},set:function(t){this.flags_=le(this.flags_,e.isPendingUnobservationMask_,t)}},{key:`diffValue`,get:function(){return+!!D(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();tn.isComputingMask_=1,tn.isRunningSetterMask_=2,tn.isBeingObservedMask_=4,tn.isPendingUnobservationMask_=8,tn.diffValueMask_=16;var nn=ee(`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 P=function(e){this.cause=void 0,this.cause=e};function an(e){return e instanceof P}function on(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=hn(!0),n=I(),r=e.observing_,i=r.length,a=0;a<i;a++){var o=r[a];if(nn(o)){if(R.disableErrorBoundaries)o.get();else try{o.get()}catch{return mn(n),gn(t),!0}if(e.dependenciesState_===N.STALE_)return mn(n),gn(t),!0}}return _n(e),mn(n),gn(t),!1}}function sn(){return R.trackingDerivation!==null}function cn(e){var t=e.observers_.size>0;!R.allowStateChanges&&(t||R.enforceActions===`always`)&&console.warn(`[MobX] `+(R.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 ln(e){!R.allowStateReads&&R.observableRequiresReaction&&console.warn(`[mobx] Observable '`+e.name_+`' being read outside a reactive context.`)}function un(e,t,n){var r=hn(!0);_n(e),e.newObserving_=Array(e.runId_===0?100:e.observing_.length),e.unboundDepsCount_=0,e.runId_=++R.runId;var i=R.trackingDerivation;R.trackingDerivation=e,R.inBatch++;var a;if(R.disableErrorBoundaries===!0)a=t.call(n);else try{a=t.call(n)}catch(e){a=new P(e)}return R.inBatch--,R.trackingDerivation=i,F(e),dn(e),gn(r),a}function dn(e){e.observing_.length===0&&(typeof e.requiresObservable_==`boolean`?e.requiresObservable_:R.reactionRequiresObservable)&&console.warn(`[mobx] Derivation '`+e.name_+`' is created/updated without reading any observable value.`)}function F(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&&Dn(c,e),c.diffValue=0}for(;i--;){var l=n[i];l.diffValue===1&&(l.diffValue=0,En(l,e))}r!==N.UP_TO_DATE_&&(e.dependenciesState_=r,e.onBecomeStale_())}function fn(e){var t=e.observing_;e.observing_=[];for(var n=t.length;n--;)Dn(t[n],e);e.dependenciesState_=N.NOT_TRACKING_}function pn(e){var t=I();try{return e()}finally{mn(t)}}function I(){var e=R.trackingDerivation;return R.trackingDerivation=null,e}function mn(e){R.trackingDerivation=e}function hn(e){var t=R.allowStateReads;return R.allowStateReads=e,t}function gn(e){R.allowStateReads=e}function _n(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 vn=[`mobxGuid`,`spyListeners`,`enforceActions`,`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`allowStateReads`,`disableErrorBoundaries`,`runId`,`UNCHANGED`,`useProxies`],yn=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},L=!0,bn=!1,R=function(){var e=i();return e.__mobxInstanceCount>0&&!e.__mobxGlobals&&(L=!1),e.__mobxGlobals&&e.__mobxGlobals.version!==new yn().version&&(L=!1),L?e.__mobxGlobals?(e.__mobxInstanceCount+=1,e.__mobxGlobals.UNCHANGED||(e.__mobxGlobals.UNCHANGED={}),e.__mobxGlobals):(e.__mobxInstanceCount=1,e.__mobxGlobals=new yn):(setTimeout(function(){bn||n(35)},1),new yn)}();function xn(){if((R.pendingReactions.length||R.inBatch||R.isRunningReactions)&&n(36),bn=!0,L){var e=i();--e.__mobxInstanceCount===0&&(e.__mobxGlobals=void 0),R=new yn}}function Sn(){return R}function Cn(){var e=new yn;for(var t in e)vn.indexOf(t)===-1&&(R[t]=e[t]);R.allowStateChanges=!R.enforceActions}function wn(e){return e.observers_&&e.observers_.size>0}function Tn(e){return e.observers_}function En(e,t){e.observers_.add(t),e.lowestObserverState_>t.dependenciesState_&&(e.lowestObserverState_=t.dependenciesState_)}function Dn(e,t){e.observers_.delete(t),e.observers_.size===0&&On(e)}function On(e){e.isPendingUnobservation===!1&&(e.isPendingUnobservation=!0,R.pendingUnobservations.push(e))}function kn(){R.inBatch++}function An(){if(--R.inBatch===0){Bn();for(var e=R.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_())}R.pendingUnobservations=[]}}function jn(e){ln(e);var t=R.trackingDerivation;return t===null?(e.observers_.size===0&&R.inBatch>0&&On(e),!1):(t.runId_!==e.lastAccessedBy_&&(e.lastAccessedBy_=t.runId_,t.newObserving_[t.unboundDepsCount_++]=e,!e.isBeingObserved&&R.trackingContext&&(e.isBeingObserved=!0,e.onBO())),e.isBeingObserved)}function Mn(e){e.lowestObserverState_!==N.STALE_&&(e.lowestObserverState_=N.STALE_,e.observers_.forEach(function(t){t.dependenciesState_===N.UP_TO_DATE_&&(t.isTracing_!==rn.NONE&&z(t,e),t.onBecomeStale_()),t.dependenciesState_=N.STALE_}))}function Nn(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&&z(t,e)):t.dependenciesState_===N.UP_TO_DATE_&&(e.lowestObserverState_=N.UP_TO_DATE_)}))}function Pn(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 z(e,t){if(console.log(`[mobx.trace] '`+e.name_+`' is invalidated due to a change in: '`+t.name_+`'`),e.isTracing_===rn.BREAK){var n=[];Fn(wr(e),n,1),Function(`debugger;
67
67
  /*
68
68
  Tracing '`+e.name_+`'
69
69
 
@@ -71,30 +71,30 @@ You are entering this break point because derivation '`+e.name_+`' is being trac
71
71
  Just follow the stacktrace you should now see in the devtools to see precisely what piece of your code is causing this update
72
72
  The stackframe you are looking for is at least ~6-8 stack-frames up.
73
73
 
74
- `+(e instanceof en?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
74
+ `+(e instanceof tn?e.derivation.toString().replace(/[*]\//g,`/`):``)+`
75
75
 
76
76
  The dependencies for this derivation are:
77
77
 
78
78
  `+n.join(`
79
79
  `)+`
80
80
  */
81
- `)()}}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_=P.NOT_TRACKING_,this.runId_=0,this.unboundDepsCount_=0,this.flags_=0,this.isTracing_=nn.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,L.pendingReactions.push(this),Vn())},t.runReaction_=function(){if(!this.isDisposed){An(),this.isScheduled=!1;var e=L.trackingContext;if(L.trackingContext=this,on(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Wn()&&Gn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}L.trackingContext=e,jn()}},t.track=function(e){if(!this.isDisposed){An();var t=Wn(),n;t&&(n=Date.now(),Kn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=L.trackingContext;L.trackingContext=this;var i=F(this,e,void 0);L.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&fn(this),an(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(L.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;L.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}),L.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(An(),fn(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[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),ci(this,e)},fe(e,[{key:`isDisposed`,get:function(){return se(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=ce(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return se(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=ce(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return se(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=ce(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return se(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=ce(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!se(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=ce(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 L.globalReactionErrorHandlers.push(e),function(){var t=L.globalReactionErrorHandlers.indexOf(e);t>=0&&L.globalReactionErrorHandlers.splice(t,1)}}var zn=100,Bn=function(e){return e()};function Vn(){L.inBatch>0||L.isRunningReactions||Bn(Hn)}function Hn(){L.isRunningReactions=!0;for(var e=L.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_()}L.isRunningReactions=!1}var z=T(`Reaction`,Ln);function Un(e){var t=Bn;Bn=function(n){return e(function(){return t(n)})}}function Wn(){return!!L.spyListeners.length}function Gn(e){if(L.spyListeners.length)for(var t=L.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Kn(e){Gn(me({},e,{spyReportStart:!0}))}var qn={type:`report-end`,spyReportEnd:!0};function Jn(e){Gn(e?me({},e,{type:`report-end`,spyReportEnd:!0}):qn)}function Yn(e){return L.spyListeners.push(e),g(function(){L.spyListeners=L.spyListeners.filter(function(t){return t!==e})})}var Xn=`action`,Zn=`action.bound`,Qn=`autoAction`,$n=`autoAction.bound`,er=`<unnamed action>`,tr=Je(Xn),nr=Je(Zn,{bound:!0}),rr=Je(Qn,{autoAction:!0}),ir=Je($n,{autoAction:!0,bound:!0});function ar(e){return function(t,r){if(v(t))return Wt(t.name||er,t,e);if(v(r))return Wt(t,r,e);if(Oe(r))return(e?rr:tr).decorate_20223_(t,r);if(y(r))return Te(t,r,e?rr:tr);if(y(t))return we(Je(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=we(nr),sr.bound=we(ir);function cr(e){return Gt(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?Le.structural:r.equals||Le.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=Jt(!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 yr(hr,e,t,n)}function vr(e,t,n){return yr(gr,e,t,n)}function yr(e,t,n,r){var i=typeof r==`function`?pa(t,n):pa(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 br=`never`,xr=`always`,Sr=`observed`;function Cr(e){e.isolateGlobalState===!0&&Sn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(L.useProxies=t===xr?!0:t===br?!1:typeof Proxy<`u`),t===`ifavailable`&&(L.verifyProxies=!0),n!==void 0){var r=n===xr?xr:n===Sr;L.enforceActions=r,L.allowStateChanges=!(r===!0||r===xr)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(L[t]=!!e[t])}),L.allowStateReads=!L.observableRequiresReaction,L.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Un(e.reactionScheduler)}function wr(e,t,r,i){arguments.length>4&&n(`'extendObservable' expected 2-4 arguments`),typeof e!=`object`&&n(`'extendObservable' expects an object as first argument`),Vi(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=oe(t);return ga(function(){var t=Zi(e,i)[A];O(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function Tr(e,t){return Er(pa(e,t))}function Er(e){var t={name:e.name_};return e.observing_&&e.observing_.length>0&&(t.dependencies=kr(e.observing_).map(Er)),t}function Dr(e,t){return Or(pa(e,t))}function Or(e){var t={name:e.name_};return Tn(e)&&(t.observers=Array.from(En(e)).map(Or)),t}function kr(e){return Array.from(new Set(e))}var Ar=0,jr=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 Mr(e){return e instanceof jr}var Nr=et(`flow`),Pr=et(`flow.bound`,{bound:!0}),Fr=Object.assign(function(e,t){if(Oe(t))return Nr.decorate_20223_(e,t);if(y(t))return Te(e,t,Nr);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=++Ar,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&&Ir(s);var e=a.return(void 0),t=Promise.resolve(e.value);t.then(_,_),Ir(t),o(new jr)}catch(e){o(e)}}),c};return a.isMobXFlow=!0,a},Nr);Fr.bound=we(Pr);function Ir(e){v(e.cancel)&&e.cancel()}function Lr(e){return e}function Rr(e){return e?.isMobXFlow===!0}function zr(e,t,r){var i;if(Vi(e)||Ii(e)||$t(e))i=ma(e);else if(ea(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=ma(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 Br(e,t,n){return v(n)?Hr(e,t,n):Vr(e,t)}function Vr(e,t){return ma(e).intercept_(t)}function Hr(e,t,n){return ma(e,t).intercept_(n)}function Ur(e,t){return t===void 0?tn(e):ea(e)===!1||!e[A].values_.has(t)?!1:tn(pa(e,t))}function B(e){return arguments.length>1?n(`isComputed expects only 1 argument. Use isComputedProp to inspect the observability of a property`):Ur(e)}function Wr(e,t){return y(t)?Ur(e,t):n(`isComputed expected a property name as second argument`)}function Gr(e,t){return e?t===void 0?ea(e)||!!e[A]||je(e)||z(e)||tn(e):Vi(e)||Ii(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):ea(e)?e[A].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(ea(e))return e[A].keys_();if(Vi(e)||Ki(e))return Array.from(e.keys());if(Ii(e))return e.map(function(e,t){return t});n(5)}function Yr(e){if(ea(e))return Jr(e).map(function(t){return e[t]});if(Vi(e))return Jr(e).map(function(t){return e.get(t)});if(Ki(e))return Array.from(e.values());if(Ii(e))return e.slice();n(6)}function Xr(e){if(ea(e))return Jr(e).map(function(t){return[t,e[t]]});if(Vi(e))return Jr(e).map(function(t){return[t,e.get(t)]});if(Ki(e))return Array.from(e.entries());if(Ii(e))return e.map(function(e,t){return[t,e]});n(7)}function Zr(e,t,r){if(arguments.length===2&&!Ki(e)){An();var i=t;try{for(var a in i)Zr(e,a,i[a])}finally{jn()}return}ea(e)?e[A].set_(t,r):Vi(e)?e.set(t,r):Ki(e)?e.add(t):Ii(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),An(),t>=e.length&&(e.length=t+1),e[t]=r,jn()):n(8)}function Qr(e,t){ea(e)?e[A].delete_(t):Vi(e)||Ki(e)?e.delete(t):Ii(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function $r(e,t){if(ea(e))return e[A].has_(t);if(Vi(e)||Ki(e))return e.has(t);if(Ii(e))return t>=0&&t<e.length;n(10)}function ei(e,t){if($r(e,t)){if(ea(e))return e[A].get_(t);if(Vi(e))return e.get(t);if(Ii(e))return e[t];n(11)}}function ti(e,t,r){if(ea(e))return e[A].defineProperty_(t,r);n(39)}function ni(e){if(ea(e))return e[A].ownKeys_();n(38)}function ri(e,t,n,r){return v(n)?ii(e,t,n,r):V(e,t,n)}function V(e,t,n){return ma(e).observe_(t,n)}function ii(e,t,n,r){return ma(e,t).observe_(n,r)}function ai(e,t,n){return e.set(t,n),n}function oi(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Kr(e))return e;if($t(e)||tn(e))return oi(e.get(),t);if(t.has(e))return t.get(e);if(Ii(e)){var n=ai(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=oi(e,t)}),n}if(Ki(e)){var r=ai(t,e,new Set);return e.forEach(function(e){r.add(oi(e,t))}),r}if(Vi(e)){var i=ai(t,e,new Map);return e.forEach(function(e,n){i.set(n,oi(e,t))}),i}else{var a=ai(t,e,{});return ni(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=oi(e[n],t))}),a}}function si(e,t){return t&&n(`toJS no longer supports options`),oi(e,new Map)}function ci(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=li(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_===nn.NONE&&console.log(`[mobx.trace] '`+r.name_+`' tracing enabled`),r.isTracing_=e?nn.BREAK:nn.LOG}function li(e){switch(e.length){case 0:return L.trackingDerivation;case 1:return pa(e[0]);case 2:return pa(e[0],e[1])}}function ui(e,t){t===void 0&&(t=void 0),An();try{return e.apply(t)}finally{jn()}}function di(e,t,n){return arguments.length===1||t&&typeof t==`object`?pi(e,t):fi(e,t,n||{})}function fi(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=Wt(n.name+`-effect`,t),o=ur(function(t){Jt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function pi(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=fi(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 mi(e){return e[A]}var hi={has:function(e,t){return L.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),mi(e).has_(t)},get:function(e,t){return mi(e).get_(t)},set:function(e,t,n){return y(t)?(mi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),mi(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)?mi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),mi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return L.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),mi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function gi(e,t){var n;return p(),e=Zi(e,t),(n=e[A]).proxy_??(n.proxy_=new Proxy(e,hi))}function _i(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function vi(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function yi(e,t){var r=I();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{mn(r)}}function bi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function xi(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function Si(e,t){var n=I(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);mn(n)}}function Ci(e,t,r){return ga(function(){var i=Zi(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),O(t).forEach(function(e){return i.make_(e,t[e])})}),e}var wi=Symbol(`mobx-keys`);function Ti(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),ea(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?wr(e,e,t,r):(ga(function(){var n=Zi(e,r)[A];if(!e[wi]){var i=Object.getPrototypeOf(e),a=new Set([].concat(O(e),O(i)));a.delete(`constructor`),a.delete(A),C(i,wi,a)}e[wi].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Ei=`splice`,Di=`update`,Oi=1e4,ki={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)):ae(H,t)?H[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)}},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 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 vi(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}),xi(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&&da(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;cn(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),_i(this)){var a=yi(this,{object:this.proxy_,type:Ei,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=bi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Di,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Si(this,a),r&&Jn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Wn(),i=bi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Ei,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Kn(a),this.atom_.reportChanged(),i&&Si(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){cn(this.atom_);var i=r[e];if(_i(this)){var a=yi(this,{type:Di,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(),ga(function(){var i=new Ai(n,t,r,!1);w(i.values_,A,i);var a=new Proxy(i.values_,ki);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var H={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 L.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){L.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}};U(`at`,Mi),U(`concat`,Mi),U(`flat`,Mi),U(`includes`,Mi),U(`indexOf`,Mi),U(`join`,Mi),U(`lastIndexOf`,Mi),U(`slice`,Mi),U(`toString`,Mi),U(`toLocaleString`,Mi),U(`toSorted`,Mi),U(`toSpliced`,Mi),U(`with`,Mi),U(`every`,Ni),U(`filter`,Ni),U(`find`,Ni),U(`findIndex`,Ni),U(`findLast`,Ni),U(`findLastIndex`,Ni),U(`flatMap`,Ni),U(`forEach`,Ni),U(`map`,Ni),U(`some`,Ni),U(`toReversed`,Ni),U(`reduce`,Pi),U(`reduceRight`,Pi);function U(e,t){typeof Array.prototype[e]==`function`&&(H[e]=t(e))}function Mi(e){return function(){var t=this[A];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Ni(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 Pi(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 Fi=T(`ObservableArrayAdministration`,Ai);function Ii(e){return b(e)&&Fi(e[A])}var Li={},Ri=`add`,zi=`delete`,Bi=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]=Li,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),ga(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(!L.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new Qt(this.has_(e),Be,this.name_+`.`+re(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(_i(this)){var r=yi(this,{type:n?Di:Ri,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(cn(this.keysAtom_),_i(this)&&!yi(this,{type:zi,object:this,name:e}))return!1;if(this.has_(e)){var n=Wn(),r=bi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:zi,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Kn(i),ui(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&&Si(this,i),n&&Jn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==L.UNCHANGED){var r=Wn(),i=bi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Di,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Kn(a),n.setNewValue_(t),i&&Si(this,a),r&&Jn()}},t.addValue_=function(e,t){var n=this;cn(this.keysAtom_),ui(function(){var r,i=new Qt(t,n.enhancer_,n.name_+`.`+re(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=bi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ri,object:this,name:e,newValue:t}:null;r&&Kn(a),i&&Si(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 Hi({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 Hi({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 Vi(e)&&(e=new Map(e)),ui(function(){x(e)?D(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)}):ee(e)?(te(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;ui(function(){pn(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 ui(function(){for(var n=Ui(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."),xi(this,e)},t.intercept_=function(e){return vi(this,e)},fe(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Vi=T(`ObservableMap`,Bi);function Hi(e){return e[Symbol.toStringTag]=`MapIterator`,Sa(e)}function Ui(e){if(ee(e)||Vi(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 Wi={},Gi=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]=Wi,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)},ga(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;ui(function(){pn(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(cn(this.atom_),_i(this)){var n=yi(this,{type:Ri,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){ui(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Wn(),i=bi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Ri,object:this,newValue:e}:null;r&&Kn(a),i&&Si(this,a),r&&Jn()}return this},t.delete=function(e){var t=this;if(_i(this)&&!yi(this,{type:zi,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Wn(),r=bi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:zi,object:this,oldValue:e}:null;return n&&Kn(i),ui(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&Si(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 qi({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 qi({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 E(e)&&!Ki(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return E(e)&&!Ki(e)?e.union(this):new Set(this).union(e)},t.difference=function(e){return new Set(this).difference(e)},t.symmetricDifference=function(e){return E(e)&&!Ki(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 E(e)&&!Ki(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Ki(e)&&(e=new Set(e)),ui(function(){Array.isArray(e)||E(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."),xi(this,e)},t.intercept_=function(e){return vi(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`}}])}(),Ki=T(`ObservableSet`,Gi);function qi(e){return e[Symbol.toStringTag]=`SetIterator`,Sa(e)}var Ji=Object.create(null),Yi=`remove`,Xi=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_),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 en)return n.set(t),!0;if(_i(this)){var r=yi(this,{type:Di,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==L.UNCHANGED){var i=bi(this),a=Wn(),o=i||a?{type:Di,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&&Si(this,o),a&&Jn()}return!0},t.get_=function(e){return L.trackingDerivation&&!ae(this.target_,e)&&this.has_(e),this.target_[e]},t.set_=function(e,t,n){return n===void 0&&(n=!1),ae(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(!L.trackingDerivation)return e in this.target_;this.pendingKeys_||=new Map;var t=this.pendingKeys_.get(e);return t||(t=new Qt(e in this.target_,Be,this.name_+`.`+re(e)+`?`,!1),this.pendingKeys_.set(e,t)),t.get()},t.make_=function(e,t){if(t===!0&&(t=this.defaultAnnotation_),t!==!1){if(na(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)}ta(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);na(this,n,e);var i=n.extend_(this,e,t,r);return i&&ta(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),cn(this.keysAtom_);try{An();var r=this.delete_(e);if(!r)return r;if(_i(this)){var i=yi(this,{object:this.proxy_||this.target_,name:e,type:Ri,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{jn()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),cn(this.keysAtom_);try{An();var i=this.delete_(e);if(!i)return i;if(_i(this)){var a=yi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:t});if(!a)return null;t=a.newValue}var o=$i(e),c={configurable:L.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 Qt(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),cn(this.keysAtom_);try{An();var r=this.delete_(e);if(!r)return r;if(_i(this)&&!yi(this,{object:this.proxy_||this.target_,name:e,type:Ri,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=$i(e),a={configurable:L.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 en(t)),this.notifyPropertyAddition_(e,void 0)}finally{jn()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),cn(this.keysAtom_),!ae(this.target_,e))return!0;if(_i(this)&&!yi(this,{object:this.proxy_||this.target_,name:e,type:Yi}))return null;try{var n;An();var r=bi(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 Qt&&(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:Yi,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Kn(c),r&&Si(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."),xi(this,e)},t.intercept_=function(e){return vi(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=bi(this),i=Wn();if(r||i){var a=r||i?{type:Ri,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Kn(a),r&&Si(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(),O(this.target_)},t.keys_=function(){return this.keysAtom_.reportObserved(),Object.keys(this.target_)},e}();function Zi(e,t){if(t&&ea(e)&&n(`Options can't be provided for already observable objects.`),ae(e,A))return ma(e)instanceof Xi||n(`Cannot convert '`+ha(e)+`' into observable object:
81
+ `)()}}function Fn(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 Fn(e,t,n+1)})}var In=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,R.pendingReactions.push(this),Bn())},t.runReaction_=function(){if(!this.isDisposed){kn(),this.isScheduled=!1;var e=R.trackingContext;if(R.trackingContext=this,on(this)){this.isTrackPending=!0;try{this.onInvalidate_(),this.isTrackPending&&Un()&&Wn({name:this.name_,type:`scheduled-reaction`})}catch(e){this.reportExceptionInDerivation_(e)}}R.trackingContext=e,An()}},t.track=function(e){if(!this.isDisposed){kn();var t=Un(),n;t&&(n=Date.now(),Gn({name:this.name_,type:`reaction`})),this.isRunning=!0;var r=R.trackingContext;R.trackingContext=this;var i=un(this,e,void 0);R.trackingContext=r,this.isRunning=!1,this.isTrackPending=!1,this.isDisposed&&fn(this),an(i)&&this.reportExceptionInDerivation_(i.cause),t&&qn({time:Date.now()-n}),An()}},t.reportExceptionInDerivation_=function(e){var t=this;if(this.errorHandler_){this.errorHandler_(e,this);return}if(R.disableErrorBoundaries)throw e;var n=`[mobx] Encountered an uncaught exception that was thrown by a reaction or observer component, in: '`+this+`'`;R.suppressReactionErrors?console.warn(`[mobx] (error in reaction '`+this.name_+`' suppressed, fix error of causing action below)`):console.error(n,e),Un()&&Wn({type:`error`,name:this.name_,message:n,error:``+e}),R.globalReactionErrorHandlers.forEach(function(n){return n(e,t)})},t.dispose=function(){this.isDisposed||(this.isDisposed=!0,this.isRunning||(kn(),fn(this),An()))},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[k]=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),si(this,e)},pe(e,[{key:`isDisposed`,get:function(){return D(this.flags_,e.isDisposedMask_)},set:function(t){this.flags_=le(this.flags_,e.isDisposedMask_,t)}},{key:`isScheduled`,get:function(){return D(this.flags_,e.isScheduledMask_)},set:function(t){this.flags_=le(this.flags_,e.isScheduledMask_,t)}},{key:`isTrackPending`,get:function(){return D(this.flags_,e.isTrackPendingMask_)},set:function(t){this.flags_=le(this.flags_,e.isTrackPendingMask_,t)}},{key:`isRunning`,get:function(){return D(this.flags_,e.isRunningMask_)},set:function(t){this.flags_=le(this.flags_,e.isRunningMask_,t)}},{key:`diffValue`,get:function(){return+!!D(this.flags_,e.diffValueMask_)},set:function(t){this.flags_=le(this.flags_,e.diffValueMask_,t===1)}}])}();In.isDisposedMask_=1,In.isScheduledMask_=2,In.isTrackPendingMask_=4,In.isRunningMask_=8,In.diffValueMask_=16;function Ln(e){return R.globalReactionErrorHandlers.push(e),function(){var t=R.globalReactionErrorHandlers.indexOf(e);t>=0&&R.globalReactionErrorHandlers.splice(t,1)}}var Rn=100,zn=function(e){return e()};function Bn(){R.inBatch>0||R.isRunningReactions||zn(Vn)}function Vn(){R.isRunningReactions=!0;for(var e=R.pendingReactions,t=0;e.length>0;){++t===Rn&&(console.error(`Reaction doesn't converge to a stable state after `+Rn+` 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_()}R.isRunningReactions=!1}var B=ee(`Reaction`,In);function Hn(e){var t=zn;zn=function(n){return e(function(){return t(n)})}}function Un(){return!!R.spyListeners.length}function Wn(e){if(R.spyListeners.length)for(var t=R.spyListeners,n=0,r=t.length;n<r;n++)t[n](e)}function Gn(e){Wn(he({},e,{spyReportStart:!0}))}var Kn={type:`report-end`,spyReportEnd:!0};function qn(e){Wn(e?he({},e,{type:`report-end`,spyReportEnd:!0}):Kn)}function Jn(e){return R.spyListeners.push(e),g(function(){R.spyListeners=R.spyListeners.filter(function(t){return t!==e})})}var Yn=`action`,Xn=`action.bound`,Zn=`autoAction`,Qn=`autoAction.bound`,$n=`<unnamed action>`,er=Ye(Yn),tr=Ye(Xn,{bound:!0}),nr=Ye(Zn,{autoAction:!0}),rr=Ye(Qn,{autoAction:!0,bound:!0});function ir(e){return function(t,r){if(v(t))return Gt(t.name||$n,t,e);if(v(r))return Gt(t,r,e);if(ke(r))return(e?nr:er).decorate_20223_(t,r);if(y(r))return Ee(t,r,e?nr:er);if(y(t))return Te(Ye(e?Zn:Yn,{name:t,autoAction:e}));n("Invalid arguments for `action`")}}var ar=ir(!1);Object.assign(ar,er);var or=ir(!0);Object.assign(or,nr),ar.bound=Te(tr),or.bound=Te(rr);function sr(e){return Kt(e.name||$n,!1,e,this,void 0)}function cr(e){return v(e)&&e.isMobxAction===!0}function lr(e,t){var r;t===void 0&&(t=u),v(e)||n(`Autorun expects a function as first argument`),cr(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 In(i,function(){this.track(l)},t.onError,t.requiresObservable);else{var s=dr(t),c=!1;o=new In(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 ur=function(e){return e()};function dr(e){return e.scheduler?e.scheduler:e.delay?function(t){return setTimeout(t,e.delay)}:ur}function fr(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=ar(a,r.onError?pr(r.onError,t):t),s=!r.scheduler&&!r.delay,c=dr(r),l=!0,d=!1,f,p=r.compareStructural?Re.structural:r.equals||Re.default,m=new In(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 pr(e,t){return function(){try{return t.apply(this,arguments)}catch(t){e.call(this,t)}}}var mr=`onBO`,hr=`onBUO`;function gr(e,t,n){return vr(mr,e,t,n)}function _r(e,t,n){return vr(hr,e,t,n)}function vr(e,t,n,r){var i=typeof r==`function`?fa(t,n):fa(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&&xn();var t=e.useProxies,n=e.enforceActions;if(t!==void 0&&(R.useProxies=t===br?!0:t===yr?!1:typeof Proxy<`u`),t===`ifavailable`&&(R.verifyProxies=!0),n!==void 0){var r=n===br?br:n===xr;R.enforceActions=r,R.allowStateChanges=!(r===!0||r===br)}[`computedRequiresReaction`,`reactionRequiresObservable`,`observableRequiresReaction`,`disableErrorBoundaries`,`safeDescriptors`].forEach(function(t){t in e&&(R[t]=!!e[t])}),R.allowStateReads=!R.observableRequiresReaction,R.disableErrorBoundaries===!0&&console.warn("WARNING: Debug feature only. MobX will NOT recover from errors when `disableErrorBoundaries` is enabled."),e.reactionScheduler&&Hn(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`),Bi(e)&&n(`'extendObservable' should not be used on maps, use map.merge instead`),x(t)||n(`'extendObservable' only accepts plain objects as second argument`),(Gr(t)||Gr(r))&&n(`Extending an object with another observable (object) is not supported`);var a=ce(t);return ha(function(){var t=Xi(e,i)[k];E(a).forEach(function(e){t.extend_(e,a[e],r&&e in r?r[e]:!0)})}),e}function wr(e,t){return Tr(fa(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(fa(e,t))}function Dr(e){var t={name:e.name_};return wn(e)&&(t.observers=Array.from(Tn(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}_e(t,e);var n=t.prototype;return n.toString=function(){return`Error: `+this.message},t}(Ce(Error));function jr(e){return e instanceof Ar}var Mr=tt(`flow`),Nr=tt(`flow.bound`,{bound:!0}),Pr=Object.assign(function(e,t){if(ke(t))return Mr.decorate_20223_(e,t);if(y(t))return Ee(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=ar(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=ar(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=ar(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=ar(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=Te(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(Bi(e)||Fi(e)||en(e))i=pa(e);else if($i(e)){if(!y(t))return n(`InterceptReads can only be used with a specific property, not with an object in general`);i=pa(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 pa(e).intercept_(t)}function Vr(e,t,n){return pa(e,t).intercept_(n)}function Hr(e,t){return t===void 0?nn(e):$i(e)===!1||!e[k].values_.has(t)?!1:nn(fa(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 V(e,t){return e?t===void 0?$i(e)||!!e[k]||Me(e)||B(e)||nn(e):Bi(e)||Fi(e)?n(`isObservable(object, propertyName) is not supported for arrays and maps. Use map.has or array.length instead.`):$i(e)?e[k].values_.has(t):!1:!1}function Gr(e){return arguments.length!==1&&n(`isObservable expects only 1 argument. Use isObservableProp to inspect the observability of a property`),V(e)}function Kr(e,t){return y(t)?V(e,t):n(`expected a property name as second argument`)}function qr(e){if($i(e))return e[k].keys_();if(Bi(e)||Gi(e))return Array.from(e.keys());if(Fi(e))return e.map(function(e,t){return t});n(5)}function Jr(e){if($i(e))return qr(e).map(function(t){return e[t]});if(Bi(e))return qr(e).map(function(t){return e.get(t)});if(Gi(e))return Array.from(e.values());if(Fi(e))return e.slice();n(6)}function Yr(e){if($i(e))return qr(e).map(function(t){return[t,e[t]]});if(Bi(e))return qr(e).map(function(t){return[t,e.get(t)]});if(Gi(e))return Array.from(e.entries());if(Fi(e))return e.map(function(e,t){return[t,e]});n(7)}function Xr(e,t,r){if(arguments.length===2&&!Gi(e)){kn();var i=t;try{for(var a in i)Xr(e,a,i[a])}finally{An()}return}$i(e)?e[k].set_(t,r):Bi(e)?e.set(t,r):Gi(e)?e.add(t):Fi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),t<0&&n(`Invalid index: '`+t+`'`),kn(),t>=e.length&&(e.length=t+1),e[t]=r,An()):n(8)}function Zr(e,t){$i(e)?e[k].delete_(t):Bi(e)||Gi(e)?e.delete(t):Fi(e)?(typeof t!=`number`&&(t=parseInt(t,10)),e.splice(t,1)):n(9)}function Qr(e,t){if($i(e))return e[k].has_(t);if(Bi(e)||Gi(e))return e.has(t);if(Fi(e))return t>=0&&t<e.length;n(10)}function $r(e,t){if(Qr(e,t)){if($i(e))return e[k].get_(t);if(Bi(e))return e.get(t);if(Fi(e))return e[t];n(11)}}function ei(e,t,r){if($i(e))return e[k].defineProperty_(t,r);n(39)}function ti(e){if($i(e))return e[k].ownKeys_();n(38)}function ni(e,t,n,r){return v(n)?ii(e,t,n,r):ri(e,t,n)}function ri(e,t,n){return pa(e).observe_(t,n)}function ii(e,t,n,r){return pa(e,t).observe_(n,r)}function H(e,t,n){return e.set(t,n),n}function ai(e,t){if(typeof e!=`object`||!e||e instanceof Date||!Gr(e))return e;if(en(e)||nn(e))return ai(e.get(),t);if(t.has(e))return t.get(e);if(Fi(e)){var n=H(t,e,Array(e.length));return e.forEach(function(e,r){n[r]=ai(e,t)}),n}if(Gi(e)){var r=H(t,e,new Set);return e.forEach(function(e){r.add(ai(e,t))}),r}if(Bi(e)){var i=H(t,e,new Map);return e.forEach(function(e,n){i.set(n,ai(e,t))}),i}else{var a=H(t,e,{});return ti(e).forEach(function(n){c.propertyIsEnumerable.call(e,n)&&(a[n]=ai(e[n],t))}),a}}function oi(e,t){return t&&n(`toJS no longer supports options`),ai(e,new Map)}function si(){var e=!1,t=[...arguments];typeof t[t.length-1]==`boolean`&&(e=t.pop());var r=ci(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 ci(e){switch(e.length){case 0:return R.trackingDerivation;case 1:return fa(e[0]);case 2:return fa(e[0],e[1])}}function li(e,t){t===void 0&&(t=void 0),kn();try{return e.apply(t)}finally{An()}}function ui(e,t,n){return arguments.length===1||t&&typeof t==`object`?fi(e,t):di(e,t,n||{})}function di(e,t,n){var r;if(typeof n.timeout==`number`){var i=Error(`WHEN_TIMEOUT`);r=setTimeout(function(){if(!o[k].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=lr(function(t){Yt(!1,e)&&(t.dispose(),r&&clearTimeout(r),a())},n);return o}function fi(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=di(e,n,he({},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 pi(e){return e[k]}var mi={has:function(e,t){return R.trackingDerivation&&m(`detect new properties using the 'in' operator. Use 'has' from 'mobx' instead.`),pi(e).has_(t)},get:function(e,t){return pi(e).get_(t)},set:function(e,t,n){return y(t)?(pi(e).values_.has(t)||m(`add a new observable property through direct assignment. Use 'set' from 'mobx' instead.`),pi(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)?pi(e).delete_(t,!0)??!0:!1},defineProperty:function(e,t,n){return m(`define property on an observable object. Use 'defineProperty' from 'mobx' instead.`),pi(e).defineProperty_(t,n)??!0},ownKeys:function(e){return R.trackingDerivation&&m(`iterate keys to detect added / removed properties. Use 'keys' from 'mobx' instead.`),pi(e).ownKeys_()},preventExtensions:function(e){n(13)}};function hi(e,t){var n;return p(),e=Xi(e,t),(n=e[k]).proxy_??(n.proxy_=new Proxy(e,mi))}function gi(e){return e.interceptors_!==void 0&&e.interceptors_.length>0}function _i(e,t){var n=e.interceptors_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function vi(e,t){var r=I();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{mn(r)}}function yi(e){return e.changeListeners_!==void 0&&e.changeListeners_.length>0}function bi(e,t){var n=e.changeListeners_||=[];return n.push(t),g(function(){var e=n.indexOf(t);e!==-1&&n.splice(e,1)})}function xi(e,t){var n=I(),r=e.changeListeners_;if(r){r=r.slice();for(var i=0,a=r.length;i<a;i++)r[i](t);mn(n)}}function Si(e,t,r){return ha(function(){var i=Xi(e,r)[k];t&&e[we]&&n(`makeObservable second arg must be nullish when using decorators. Mixing @decorator syntax with annotations is not supported.`),t??=Oe(e),E(t).forEach(function(e){return i.make_(e,t[e])})}),e}var Ci=Symbol(`mobx-keys`);function wi(e,t,r){return!x(e)&&!x(Object.getPrototypeOf(e))&&n(`'makeAutoObservable' can only be used for classes that don't have a superclass`),$i(e)&&n(`makeAutoObservable can only be used on objects not already made observable`),x(e)?Cr(e,e,t,r):(ha(function(){var n=Xi(e,r)[k];if(!e[Ci]){var i=Object.getPrototypeOf(e),a=new Set([].concat(E(e),E(i)));a.delete(`constructor`),a.delete(k),C(i,Ci,a)}e[Ci].forEach(function(e){return n.make_(e,t&&e in t?t[e]:!0)})}),e)}var Ti=`splice`,Ei=`update`,Di=1e4,Oi={get:function(e,t){var n=e[k];return t===k?n:t===`length`?n.getArrayLength_():typeof t==`string`&&!isNaN(t)?n.get_(parseInt(t)):se(ji,t)?ji[t]:e[t]},set:function(e,t,n){var r=e[k];return t===`length`&&r.setArrayLength_(n),typeof t==`symbol`||isNaN(t)?e[t]=n:r.set_(parseInt(t),n),!0},preventExtensions:function(){n(15)}},ki=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 je(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 _i(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}),bi(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&&ua(e+t+1)},t.spliceWithArray_=function(e,t,n){var r=this;cn(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),gi(this)){var a=vi(this,{object:this.proxy_,type:Ti,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<Di){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_&&Un(),i=yi(this),a=i||r?{observableKind:`array`,object:this.proxy_,type:Ei,debugObjectName:this.atom_.name_,index:e,newValue:t,oldValue:n}:null;r&&Gn(a),this.atom_.reportChanged(),i&&xi(this,a),r&&qn()},t.notifyArraySplice_=function(e,t,n){var r=!this.owned_&&Un(),i=yi(this),a=i||r?{observableKind:`array`,object:this.proxy_,debugObjectName:this.atom_.name_,type:Ti,index:e,removed:n,added:t,removedCount:n.length,addedCount:t.length}:null;r&&Gn(a),this.atom_.reportChanged(),i&&xi(this,a),r&&qn()},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){cn(this.atom_);var i=r[e];if(gi(this)){var a=vi(this,{type:Ei,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 Ai(e,t,n,r){return n===void 0&&(n=`ObservableArray@`+h()),r===void 0&&(r=!1),p(),ha(function(){var i=new ki(n,t,r,!1);w(i.values_,k,i);var a=new Proxy(i.values_,Oi);return i.proxy_=a,e&&e.length&&i.spliceWithArray_(0,0,e),a})}var ji={clear:function(){return this.splice(0)},replace:function(e){var t=this[k];return t.spliceWithArray_(0,t.values_.length,e)},toJSON:function(){return this.slice()},splice:function(e,t){var n=[...arguments].slice(2),r=this[k];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[k].spliceWithArray_(e,t,n)},push:function(){var e=this[k],t=[...arguments];return e.spliceWithArray_(e.values_.length,0,t),e.values_.length},pop:function(){return this.splice(Math.max(this[k].values_.length-1,0),1)[0]},shift:function(){return this.splice(0,1)[0]},unshift:function(){var e=this[k],t=[...arguments];return e.spliceWithArray_(0,0,t),e.values_.length},reverse:function(){return R.trackingDerivation&&n(37,`reverse`),this.replace(this.slice().reverse()),this},sort:function(){R.trackingDerivation&&n(37,`sort`);var e=this.slice();return e.sort.apply(e,arguments),this.replace(e),this},remove:function(e){var t=this[k],n=t.dehanceValues_(t.values_).indexOf(e);return n>-1?(this.splice(n,1),!0):!1}};U(`at`,W),U(`concat`,W),U(`flat`,W),U(`includes`,W),U(`indexOf`,W),U(`join`,W),U(`lastIndexOf`,W),U(`slice`,W),U(`toString`,W),U(`toLocaleString`,W),U(`toSorted`,W),U(`toSpliced`,W),U(`with`,W),U(`every`,Mi),U(`filter`,Mi),U(`find`,Mi),U(`findIndex`,Mi),U(`findLast`,Mi),U(`findLastIndex`,Mi),U(`flatMap`,Mi),U(`forEach`,Mi),U(`map`,Mi),U(`some`,Mi),U(`toReversed`,Mi),U(`reduce`,Ni),U(`reduceRight`,Ni);function U(e,t){typeof Array.prototype[e]==`function`&&(ji[e]=t(e))}function W(e){return function(){var t=this[k];t.atom_.reportObserved();var n=t.dehanceValues_(t.values_);return n[e].apply(n,arguments)}}function Mi(e){return function(t,n){var r=this,i=this[k];return i.atom_.reportObserved(),i.dehanceValues_(i.values_)[e](function(e,i){return t.call(n,e,i,r)})}}function Ni(e){return function(){var t=this,n=this[k];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 Pi=ee(`ObservableArrayAdministration`,ki);function Fi(e){return b(e)&&Pi(e[k])}var Ii={},Li=`add`,Ri=`delete`,zi=function(){function e(e,t,r){var i=this;t===void 0&&(t=ze),r===void 0&&(r=`ObservableMap@`+h()),this.enhancer_=void 0,this.name_=void 0,this[k]=Ii,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),ha(function(){i.keysAtom_=Ne(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(!R.trackingDerivation)return this.has_(e);var n=this.hasMap_.get(e);if(!n){var r=n=new $t(this.has_(e),Ve,this.name_+`.`+ae(e)+`?`,!1);this.hasMap_.set(e,r),_r(r,function(){return t.hasMap_.delete(e)})}return n.get()},t.set=function(e,t){var n=this.has_(e);if(gi(this)){var r=vi(this,{type:n?Ei:Li,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(cn(this.keysAtom_),gi(this)&&!vi(this,{type:Ri,object:this,name:e}))return!1;if(this.has_(e)){var n=Un(),r=yi(this),i=r||n?{observableKind:`map`,debugObjectName:this.name_,type:Ri,object:this,oldValue:this.data_.get(e).value_,name:e}:null;return n&&Gn(i),li(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&&xi(this,i),n&&qn(),!0}return!1},t.updateValue_=function(e,t){var n=this.data_.get(e);if(t=n.prepareNewValue_(t),t!==R.UNCHANGED){var r=Un(),i=yi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Ei,object:this,oldValue:n.value_,name:e,newValue:t}:null;r&&Gn(a),n.setNewValue_(t),i&&xi(this,a),r&&qn()}},t.addValue_=function(e,t){var n=this;cn(this.keysAtom_),li(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=Un(),i=yi(this),a=i||r?{observableKind:`map`,debugObjectName:this.name_,type:Li,object:this,name:e,newValue:t}:null;r&&Gn(a),i&&xi(this,a),r&&qn()},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 Vi({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 Vi({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=me(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 Bi(e)&&(e=new Map(e)),li(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;li(function(){pn(function(){for(var t=me(e.keys()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.replace=function(e){var t=this;return li(function(){for(var n=Hi(e),r=new Map,i=!1,a=me(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=me(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."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},pe(e,[{key:`size`,get:function(){return this.keysAtom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Map`}}])}(),Bi=ee(`ObservableMap`,zi);function Vi(e){return e[Symbol.toStringTag]=`MapIterator`,xa(e)}function Hi(e){if(te(e)||Bi(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 Ui={},Wi=function(){function e(e,t,r){var i=this;t===void 0&&(t=ze),r===void 0&&(r=`ObservableSet@`+h()),this.name_=void 0,this[k]=Ui,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)},ha(function(){i.atom_=Ne(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;li(function(){pn(function(){for(var t=me(e.data_.values()),n;!(n=t()).done;){var r=n.value;e.delete(r)}})})},t.forEach=function(e,t){for(var n=me(this),r;!(r=n()).done;){var i=r.value;e.call(t,i,i,this)}},t.add=function(e){var t=this;if(cn(this.atom_),gi(this)){var n=vi(this,{type:Li,object:this,newValue:e});if(!n)return this;e=n.newValue}if(!this.has(e)){li(function(){t.data_.add(t.enhancer_(e,void 0)),t.atom_.reportChanged()});var r=Un(),i=yi(this),a=i||r?{observableKind:`set`,debugObjectName:this.name_,type:Li,object:this,newValue:e}:null;r&&Gn(a),i&&xi(this,a),r&&qn()}return this},t.delete=function(e){var t=this;if(gi(this)&&!vi(this,{type:Ri,object:this,oldValue:e}))return!1;if(this.has(e)){var n=Un(),r=yi(this),i=r||n?{observableKind:`set`,debugObjectName:this.name_,type:Ri,object:this,oldValue:e}:null;return n&&Gn(i),li(function(){t.atom_.reportChanged(),t.data_.delete(e)}),r&&xi(this,i),n&&qn(),!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 Ki({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 Ki({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)&&!Gi(e)?e.intersection(this):new Set(this).intersection(e)},t.union=function(e){return re(e)&&!Gi(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)&&!Gi(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)&&!Gi(e)?e.isDisjointFrom(this):new Set(this).isDisjointFrom(e)},t.replace=function(e){var t=this;return Gi(e)&&(e=new Set(e)),li(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."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},t.toJSON=function(){return Array.from(this)},t.toString=function(){return`[object ObservableSet]`},t[Symbol.iterator]=function(){return this.values()},pe(e,[{key:`size`,get:function(){return this.atom_.reportObserved(),this.data_.size}},{key:Symbol.toStringTag,get:function(){return`Set`}}])}(),Gi=ee(`ObservableSet`,Wi);function Ki(e){return e[Symbol.toStringTag]=`SetIterator`,xa(e)}var qi=Object.create(null),Ji=`remove`,Yi=function(){function e(e,t,r,i){t===void 0&&(t=new Map),i===void 0&&(i=vt),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 je(this.name_+`.keys`),this.isPlainObject_=x(this.target_),Ca(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(gi(this)){var r=vi(this,{type:Ei,object:this.proxy_||this.target_,name:e,newValue:t});if(!r)return null;t=r.newValue}if(t=n.prepareNewValue_(t),t!==R.UNCHANGED){var i=yi(this),a=Un(),o=i||a?{type:Ei,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,oldValue:n.value_,name:e,newValue:t}:null;a&&Gn(o),n.setNewValue_(t),i&&xi(this,o),a&&qn()}return!0},t.get_=function(e){return R.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(!R.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_,Ve,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(ta(this,t,e),!(e in this.target_)){var r;if((r=this.target_[we])!=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)}ea(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);ta(this,n,e);var i=n.extend_(this,e,t,r);return i&&ea(this,n,e),i},t.defineProperty_=function(e,t,n){n===void 0&&(n=!1),cn(this.keysAtom_);try{kn();var r=this.delete_(e);if(!r)return r;if(gi(this)){var i=vi(this,{object:this.proxy_||this.target_,name:e,type:Li,newValue:t.value});if(!i)return null;var a=i.newValue;t.value!==a&&(t=he({},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{An()}return!0},t.defineObservableProperty_=function(e,t,n,r){r===void 0&&(r=!1),cn(this.keysAtom_);try{kn();var i=this.delete_(e);if(!i)return i;if(gi(this)){var a=vi(this,{object:this.proxy_||this.target_,name:e,type:Li,newValue:t});if(!a)return null;t=a.newValue}var o=Qi(e),c={configurable:R.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{An()}return!0},t.defineComputedProperty_=function(e,t,n){n===void 0&&(n=!1),cn(this.keysAtom_);try{kn();var r=this.delete_(e);if(!r)return r;if(gi(this)&&!vi(this,{object:this.proxy_||this.target_,name:e,type:Li,newValue:void 0}))return null;t.name||=this.name_+`.`+e.toString(),t.context=this.proxy_||this.target_;var i=Qi(e),a={configurable:R.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{An()}return!0},t.delete_=function(e,t){if(t===void 0&&(t=!1),cn(this.keysAtom_),!se(this.target_,e))return!0;if(gi(this)&&!vi(this,{object:this.proxy_||this.target_,name:e,type:Ji}))return null;try{var n;kn();var r=yi(this),i=Un(),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_),Mn(a)),this.keysAtom_.reportChanged(),(n=this.pendingKeys_)==null||(n=n.get(e))==null||n.set(e in this.target_),r||i){var c={type:Ji,observableKind:`object`,object:this.proxy_||this.target_,debugObjectName:this.name_,oldValue:s,name:e};i&&Gn(c),r&&xi(this,c),i&&qn()}}finally{An()}return!0},t.observe_=function(e,t){return t===!0&&n("`observe` doesn't support the fire immediately property for observable objects."),bi(this,e)},t.intercept_=function(e){return _i(this,e)},t.notifyPropertyAddition_=function(e,t){var n,r=yi(this),i=Un();if(r||i){var a=r||i?{type:Li,observableKind:`object`,debugObjectName:this.name_,object:this.proxy_||this.target_,name:e,newValue:t}:null;i&&Gn(a),r&&xi(this,a),i&&qn()}(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 Xi(e,t){if(t&&$i(e)&&n(`Options can't be provided for already observable objects.`),se(e,k))return pa(e)instanceof Yi||n(`Cannot convert '`+ma(e)+`' into observable object:
82
82
  The target is already observable of different type.
83
- 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 Xi(e,new Map,String(r),Pt(t))),e}var Qi=T(`ObservableObjectAdministration`,Xi);function $i(e){return Ji[e]||(Ji[e]={get:function(){return this[A].getObservablePropValue_(e)},set:function(t){return this[A].setObservablePropValue_(e,t)}})}function ea(e){return b(e)?Qi(e[A]):!1}function ta(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[Ce])==null||delete r[n]}function na(e,t,r){if(wa(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!We(t)&&ae(e.appliedAnnotations_,r)){var i=e.name_+`.`+r.toString(),a=e.appliedAnnotations_[r].annotationType_,o=t.annotationType_;n(`Cannot apply '`+o+`' to '`+i+`':`+(`
83
+ 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,k,new Yi(e,new Map,String(r),Ft(t))),e}var Zi=ee(`ObservableObjectAdministration`,Yi);function Qi(e){return qi[e]||(qi[e]={get:function(){return this[k].getObservablePropValue_(e)},set:function(t){return this[k].setObservablePropValue_(e,t)}})}function $i(e){return b(e)?Zi(e[k]):!1}function ea(e,t,n){var r;e.appliedAnnotations_[n]=t,(r=e.target_[we])==null||delete r[n]}function ta(e,t,r){if(Ca(t)||n(`Cannot annotate '`+e.name_+`.`+r.toString()+`': Invalid annotation.`),!Ge(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+`':`+(`
84
84
  The field is already annotated with '`+a+`'.`)+`
85
85
  Re-annotating fields is not allowed.
86
- Use 'override' annotation for methods overridden by subclass.`)}}var ra=la(0),ia=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),aa=0,oa=function(){};function sa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}sa(oa,Array.prototype);var ca=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,ga(function(){var e=new Ai(r,n,i,!0);e.proxy_=a,w(a,A,e),t&&t.length&&a.spliceWithArray(0,0,t),ia&&Object.defineProperty(a,`0`,ra)}),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 Ii(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return Sa({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`}}])}(oa);Object.entries(H).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(ca.prototype,t,n)});function la(e){return{enumerable:!1,configurable:!0,get:function(){return this[A].get_(e)},set:function(t){this[A].set_(e,t)}}}function ua(e){s(ca.prototype,``+e,la(e))}function da(e){if(e>aa){for(var t=aa;t<e+100;t++)ua(t);aa=e}}da(1e3);function fa(e,t,n){return new ca(e,t,n)}function pa(e,t){if(typeof e==`object`&&e){if(Ii(e))return t!==void 0&&n(23),e[A].atom_;if(Ki(e))return e.atom_;if(Vi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ha(e)),r}if(ea(e)){if(!t)return n(26);var i=e[A].values_.get(t);return i||n(27,t,ha(e)),i}if(je(e)||tn(e)||z(e))return e}else if(v(e)&&z(e[A]))return e[A];n(28)}function ma(e,t){if(e||n(29),t!==void 0)return ma(pa(e,t));if(je(e)||tn(e)||z(e)||Vi(e)||Ki(e))return e;if(e[A])return e[A];n(24,e)}function ha(e,t){var n;if(t!==void 0)n=pa(e,t);else if(lr(e))return e.name;else n=ea(e)||Vi(e)||Ki(e)?ma(e):pa(e);return n.name_}function ga(e){var t=I(),n=Yt(!0);An();try{return e()}finally{jn(),Xt(n),mn(t)}}var _a=c.toString;function va(e,t,n){return n===void 0&&(n=-1),ya(e,t,n)}function ya(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=_a.call(e);if(o!==_a.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=ba(e),t=ba(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(!ya(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(!(ae(t,m)&&ya(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function ba(e){return Ii(e)?e.slice():ee(e)||Vi(e)||E(e)||Ki(e)?Array.from(e.entries()):e}var xa=i().Iterator?.prototype||{};function Sa(e){return e[Symbol.iterator]=Ca,Object.assign(Object.create(xa),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:ha},$mobx:A}),e.$mobx=A,e.FlowCancellationError=jr,e.ObservableMap=Bi,e.ObservableSet=Gi,e.Reaction=Ln,e._allowStateChanges=Jt,e._allowStateChangesInsideComputed=cr,e._allowStateReadsEnd=gn,e._allowStateReadsStart=hn,e._autoAction=sr,e._endAction=qt,e._getAdministration=ma,e._getGlobalState=Cn,e._interceptReads=zr,e._isComputingDerivation=sn,e._resetGlobalState=wn,e._startAction=Kt,e.action=or,e.autorun=ur,e.comparer=Le,e.computed=zt,e.configure=Cr,e.createAtom=Me,e.defineProperty=ti,e.entries=Xr,e.extendObservable=wr,e.flow=Fr,e.flowResult=Lr,e.get=ei,e.getAtom=pa,e.getDebugName=ha,e.getDependencyTree=Tr,e.getObserverTree=Dr,e.has=$r,e.intercept=Br,e.isAction=lr,e.isBoxedObservable=$t,e.isComputed=B,e.isComputedProp=Wr,e.isFlow=Rr,e.isFlowCancellationError=Mr,e.isObservable=Kr,e.isObservableArray=Ii,e.isObservableMap=Vi,e.isObservableObject=ea,e.isObservableProp=qr,e.isObservableSet=Ki,e.keys=Jr,e.makeAutoObservable=Ti,e.makeObservable=Ci,e.observable=M,e.observe=ri,e.onBecomeObserved=_r,e.onBecomeUnobserved=vr,e.onReactionError=Rn,e.override=Ue,e.ownKeys=ni,e.reaction=pr,e.remove=Qr,e.runInAction=cr,e.set=Zr,e.spy=Yn,e.toJS=si,e.trace=ci,e.transaction=ui,e.untracked=pn,e.values=Yr,e.when=di})),Av=me(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Ov():t.exports=kv()}))();function jv(e){if(Array.isArray(e))return Object.freeze(e.map(jv));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]=jv(r);return Object.freeze(t)}return e}function Mv(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 Nv(e){return typeof e==`string`?e:String(e)}function Pv(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 Fv(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 Iv(e,t){if(!(e instanceof H))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=Lv(e.style).add(t),n}function Lv(e){if(e instanceof B)return e;try{return B.parse(e)}catch(t){throw t instanceof Hr?TypeError(`template function cannot style a fragment whose base style "${e}" is not a style definition: a style name resolves only against the theme of a render`,{cause:t}):t}}function Rv(e){return{fn:(t=>Iv(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function zv(e){return{fn:((t,n)=>Iv(n,new B({[e]:vn.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function Bv(e,t){return new B({[e]:t})}function Vv(){let e={};for(let t of zr)e[t]=Rv(Bv(t,!0)),e[`not_${t}`]=Rv(Bv(t,!1));for(let[t,n]of Object.entries(Vr))e[t]=Rv(Bv(n,!0));return e}const Hv={fn:((e,t)=>Iv(t,B.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},Uv={fn:((e,t)=>Iv(t,new B({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function Wv(){return{fg:zv(`color`),bg:zv(`bgcolor`),...Vv(),link:Uv,style:Hv}}function Gv(e,t){if(!Zn.test(e.trim()))throw 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)}) …`);return Qn(e)}function Kv(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function qv(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 Jv=Kv([`string`,`int`],((e,t)=>ar(Gv(e,`darken`),t).hex)),Yv=Kv([`string`,`int`],((e,t)=>ar(Gv(e,`lighten`),-t).hex)),Xv={min:0,max:100,note:`0 = from, 100 = toward`},Zv=Kv([`string`,`string`,`float`],((e,t,n)=>En(Gv(e,`mix`),Gv(t,`mix`),qv(n,`mix`,`percentage`,Xv)/100).hex)),Qv={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},$v=Kv([`string`],(e=>or(Gv(e,`contrastOn`)).hex)),ey=e=>Kv([`string`,`string`,`float`],((t,n,r)=>sr(Gv(t,`readableOn`),Gv(n,`readableOn`),qv(r,`readableOn`,`ratio`,Qv),e()).hex)),ty={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function ny(){let e={};for(let[t,n]of Object.entries(ty)){let r=t;e[n]=Kv([`string`,`float`],((e,t)=>{let i={...zn,[r]:qv(t,n,`amount`)};return Yn.fromRgba(Gv(e,n)).applyKey(i).toRgba().hex}))}return e}function ry(e=()=>F.TRUECOLOR){return{darken:Jv,lighten:Yv,mix:Zv,contrastOn:$v,readableOn:ey(e),...ny()}}function iy(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:$n(t,e[r+1])});return n}function ay(e){return{color:{fn:(t=>$n(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new Lr(Ir(n),iy(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function oy(e){return{...Wv(),...ry(e)}}new B({color:`red`,dim:!0});const sy=/^(?:(?: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,cy=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function ly(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(sy);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(cy);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 uy(e){let t=e.match(cy);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 dy(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 fy(e){return e.toLocaleString()}function py(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 my(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 hy=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],gy=hy.length;function _y(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*(gy-1));o+=hy[t]}return o}function vy(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 yy(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 by=Qa(),xy=[...fo];function Sy(){return{basename:{fn:e=>l(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>dy(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(Pv(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Nv(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Fv(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>by,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>xy,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(yy(`sparkline`,[`width`],n),_y(vy(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>my(e,py(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function Cy(e=()=>new Date){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>fy(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>ly(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>uy(e),argTypes:[`string`],arity:{kind:`exact`}}}}function wy(e,t=()=>new Date,n){return gp({fromString:e=>new H(e),toString:e=>e.plain,isT:e=>e instanceof H,clock:t,missingKey:`error`,funcs:{...ah(),...__(),...Gh(),...pg(),...Zm(t),...Vp(),...yh(),...oy(n),...Sy(),...Cy(t),...e??{}}})}function Ty(e){return Ey(e,new Set(e.names()),``)}function Ey(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`?Oy(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return Ey(e,t,a)}})}function Dy(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 Oy(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 ky(e,t){return e?.kind===`ok`?e.value:t}function Ay(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??jy(t.stderr)].filter(Boolean).join(`, `)}`)}function jy(e){return e.trim().split(`
87
- `,1)[0]??``}function My(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?Y:J(n)}function Ny(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?J(t):Y}const Py=/^[A-Za-z]:[\\/]/;function Fy(e){let t=e.trim();if(Py.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 Iy(e){return Fy(e)?.host||null}function Ly(e){let t=Iy(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function Ry(e){let t=new Map;for(let n of e.split(`
88
- `)){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 zy(e){return e.urls.find(e=>Wy(e)!==null)??e.urls[0]??null}function By(e){return e.find(e=>e.name===`origin`)??e[0]??null}function Vy(e){let t=By(e);return t?zy(t):null}function Hy(e){let t=By(e);return t?t.urls.find(e=>Ly(e)!==null)??zy(t):null}function Uy(e){let t=(Fy(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function Wy(e){let t=Fy(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 Gy(e){let t=Vy(e);return t===null?null:Wy(t)}function Ky(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??jy(t.stderr)].filter(Boolean).join(`, `)}`)}function qy(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Jy(e){let t=`detached`,n=Y,r=Y,i=Y,a=0,o=0,s=0,c=0;for(let l of e.split(`
89
- `)){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 Yy(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(!qy(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 Xy(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(!qy(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 Zy(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var Qy=class{isGitRepo(e){try{return r.existsSync(c.join(e,`.git`))}catch{return!1}}async execGitAsync(e,t){return De({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=c.resolve(e);for(;;){if(this.isGitRepo(t))return J(t);let e=c.dirname(t);if(e===t)return Y;t=e}}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=My(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.timeSinceCommit=await this.timeSinceCommit(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=My(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=My(s,Gy)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),J(o)}resolveGitDir(e){let t=c.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 c.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(c.join(t,`MERGE_HEAD`))?J(`MERGE`):r.existsSync(c.join(t,`CHERRY_PICK_HEAD`))?J(`CHERRY-PICK`):r.existsSync(c.join(t,`REVERT_HEAD`))?J(`REVERT`):r.existsSync(c.join(t,`BISECT_LOG`))?J(`BISECT`):r.existsSync(c.join(t,`rebase-merge`))||r.existsSync(c.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 Ny(Ay(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async timeSinceCommit(e,t){return t.kind===`ok`?My(await this.commitTimestampMs(e,t.value),e=>Math.floor((Date.now()-e)/1e3)):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=Ny(Ay(`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(c.join(t,`commondir`),`utf-8`).trim();if(e)return c.resolve(t,e)}catch{}return t}getStashCount(e){let t=c.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(`
90
- `).length:0)}async getRemotesAsync(e){let t=Zy(c.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=Ay(`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`?Ry(t.value):[])}repoNameFrom(e,t){let n=Vy(e);return(n===null?null:Uy(n))??c.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=Hy(t.value);return n===null?Y:J(n)}async execForgeAsync(e,t,n){return De({bin:e,args:[...t],cwd:n.cwd,env:{...process.env},timeoutMs:n.timeout,category:`forge`})}async resolvePullRequest(e,t){let n=Ly(t);return n===`github`?Ky(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,Yy):n===`gitlab`?Ky(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,Xy):Y}isWorktree(e){try{let t=c.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=Ay(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(Jy(t.value)):t}};let $y=null;function eb(e){if($y!==null)return $y;r.mkdirSync(c.dirname(e),{recursive:!0});try{$y=r.statSync(e).size}catch{$y=0}return $y}function tb(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{}$y=0}const nb=(e,t)=>k(t);function Z(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=qe(),t=eb(e);r.appendFileSync(e,n),$y=t+Buffer.byteLength(n,`utf8`),$y>=5242880&&tb(e)}catch(e){$y=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const rb=(e,t)=>k(t);var ib=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??rb}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()}},ab=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 ob={showSha:!0,showStashCount:!0};function sb(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function cb(e){let t=t=>{try{return r.statSync(c.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function lb(e,t){return e.head!==t.head||e.index!==t.index}function ub(e){let t=[],n=c.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[c.join(e,`HEAD`),c.join(e,`index`)],dirs:t}}var db=class extends Qy{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new ab;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new Qy,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??nb,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new ib({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}|${sb(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=cb(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}`,ub(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}`,ub(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,{...ob});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,{...ob}),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=cb(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),lb(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 fb=/\r\n|\r|\n/g,pb=e=>J(e.replace(fb,` `).trim());function mb(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace(fb,` `))}}const hb=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}};function gb(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 _b(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 vb=`session.id`;function yb(e,t,n){return{where:`output of "${e}" in ${t}`,read:async()=>{let r=await De({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 bb(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await S(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 xb(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 Sb=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Cb=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],wb=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Tb=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Eb(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>Sb[e.getMonth()]],[`Monday`,e=>wb[e.getDay()]],[`Jan`,e=>Cb[e.getMonth()]],[`Mon`,e=>Tb[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 Db={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function Ob(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=Db[t];try{return Mb(r,e)}catch{return Nb(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return ky(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return ky(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return ky(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return ky(e.stashCount,0)}}var kb=class{watchers=new Map;subscribe(e,t){let n=this.watchers.get(e);if(!n){let t=new Set,r;try{r=s(e,()=>{for(let e of t)e()})}catch{return()=>{}}n={watcher:r,callbacks:t},this.watchers.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.callbacks.delete(t),n.callbacks.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}},Ab=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:ee(()=>{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&&(T(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())T(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function jb(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Mb(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`?Nv(e):t===`number`?Pv(e):Fv(e)}function Nb(e){return e===`number`?0:e===`boolean`?!1:``}var Pb=class{inputMetas=new Map;lastErrors=new Map;watchMgr=new kb;ttlMgr=new Ab;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new ab;abort=new AbortController;drawn=Av.observable.box(F.TRUECOLOR);drawnAt=()=>this.drawn.get();engine=wy(void 0,void 0,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 db({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,Mv(t),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,yb(t,n.cwd,this.abort.signal),gb(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,bb(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,pb,t.default,n);case`regex`:return this.scalarPublisher(e,mb(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=xb(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,ky(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);return this.store.defineDocument(e,r),i=>{let a=xb(i,hb,n);this.noteOutcome(e,a),this.store.setDocument(e,a.kind===`ok`||t===void 0?a:r)}}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.store.defineComputed(e,`string`,t=>{let i=Ty(this.store);try{let t=r.evaluate(i).map(e=>e.plain).join(``);return this.lastErrors.delete(e),t}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n.varDefault===void 0)throw Error(`variable "${e}": ${r}`);return n.varDefault}});try{this.store.read(e)}catch{}}declareTime(e,t){let n=t.ttlMs??1e3;this.store.defineBox(e,`string`,(e=>{try{return Eb(t.format,e)}catch{return this.stringInitial(t.varDefault)}})(new Date));let r=this.ttlMgr.subscribe(n,()=>{try{this.store.setBox(e,Eb(t.format,new Date)),this.lastErrors.delete(e)}catch(n){this.applyFallback(e,`string`,t.varDefault,n instanceof Error?n.message:String(n))}});this.cleanups.push(r)}declareGit(e,t){let n=Db[t.field],r=t.varDefault===void 0?Nb(n):Mb(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,Ob(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(vb);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=jb(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,Mb(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))}getLastError(e){return this.lastErrors.get(e)}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 e=this.watchMgr.subscribe(t.path,n);this.cleanups.push(e);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Av.reaction)(()=>{let t=Ty(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,Av.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,Mb(this.defaultEmptyValue,t))}catch{this.store.setBox(e,Nb(t))}}defaultFor(e){try{return Mb(this.defaultEmptyValue,e)}catch{return Nb(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 Fb={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[vb]:{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:``},"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:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"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:``}},Ib=`ne .tmux.pane ""`,Lb={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},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`}},Rb=Object.values(Lb),zb=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],Bb=new Set(zb.map(e=>e.configKey)),Vb=new Map([...Rb,...zb].map(e=>[e.configKey,e.effectiveVar])),Hb=new Map(Rb.map(e=>[e.sessionKey,e.effectiveVar]));function Ub(e){return Object.fromEntries(Object.keys(Lb).map(t=>[t,e(t)]))}const Wb=new Map(Object.keys(Lb).map(e=>[Lb[e].sessionKey,e]));function Gb(e,t,n){let r=new Set,i=e=>{for(let t of yv(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 Ns(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(vb);for(let t of Object.values(e.actions)){r.add(vb),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?Hb.get(t.set):void 0,n=`persist`in t?Vb.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function Kb(e,t,n){let r=Ev({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of Gb(e,t,n.helpers)){if(Tv(a,r))continue;let e=Fb[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 qb=new Map,Jb=new Map;function Yb(e){let t=Zb(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 Xb(e,t){return e===`bar`?t:Yb(e)}function Zb(e){let t=qb.get(e);if(t!==void 0)return t;let n=Tr(e);return n===null?null:(qb.set(e,n),n)}function Qb(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=Jb.get(n);if(r!==void 0)return r;let i=Nr(e,t);return Jb.set(n,i),i}function $b(e){let t=Zb(e);return t===null?null:{kind:`decided`,name:e,value:t}}function ex(e,t,n){let r=$b(e);return r===null?(n(`${t} rendered "${Xa}": "${e}" names no installed theme${Ya(e)}`),nx()):r}function tx(e,t,n){return ao(e,t,n,nx(),$b)}function nx(){return $b(Xa)}function rx(e){return oo(tx(void 0,null,e),nx).value}const ix=new Map;function ax(e,t,n){ix.set(e,{permanent:!0,resolve:t,paletteOf:n})}ax(`themes`,()=>Qa(),e=>Yb(e));const ox=`placementThemes`;ax(ox,$a,(e,t)=>Xb(e,t.palette)),ax(`endcaps`,()=>fo),ax(`variations`,()=>yo),ax(`charsets`,()=>ho),ax(`colorCompatibilities`,()=>_o);function sx(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>Qb(n.basePalette,e.styles[t])}],[`presets`,{members:k_(e.presets)}]])}function cx(e){return[...new Set([...ix.keys(),...e.keys()])]}function lx(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=ix.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(`unknown option domain "${e}" (have: ${cx(t).join(`, `)})`)}function ux(e,t,n){return e===`bool`?Eo(t)!==null:`from`in e?lx(e.from,n).members.includes(t):Do(t,e)!==null}function dx(e,t){if(e===`bool`)return wo.join(` or `);if(`from`in e){let{members:n}=lx(e.from,t),r=n.map(e=>JSON.stringify(e));if(n.length<=8)return`one of ${r.join(`, `)}`;let i=typeof e.from==`string`?` "${e.from}"`:``;return`one of the ${n.length}${i} names, such as ${r.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function fx(e){return{label:e.label,domain:px(e.domain)}}function px(e){return e===`theme`?{from:ox}:e===`bool`||`min`in e?e:{from:e}}function mx(e,t,n,r,i){let a=Yc(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...wo]}},variables:{}};if(`from`in o)return hx(a,t,r,i,o.from);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 hx(e,t,n,r,i){let a={variable:r,key:r,member:n},o=x_(r,n),s=`${n}.open`,c=S_(r),l=`${c}.first`;return{kind:`picker`,template:`{{ "${e}" }} {{ carousel "${n}" 0 "${s}" }}`,actions:{[n]:{set:t,from:i},[o]:rl(r,n),[c]:{set:c,int:!0},[l]:{set:c,to:`0`},[s]:{do:[o,l]}},variables:{[r]:nl(r,Gc),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,template:`{{ picker "${n}" "${c}" false true true }}`}}}const gx=/^segments\.([^.]+)\.palette$/,_x=/^presets\.(.+)\.root$/,vx=/^presets\.(.+)\.globals\.([^.]+)$/;function yx(e){return`presets.${e}.root`}function bx(e,t){return`presets.${e}.globals.${t}`}function xx(e){if(jl(e))return{scope:`globals`,field:e};let t=gx.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=vx.exec(e);if(n&&wl(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=_x.exec(e);return r?{scope:`preset-root`,preset:r[1]}:null}function Sx(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`]}}const Cx=`open`;function wx(e,t,n,r){let i={variable:e,key:e,member:Cx};return r.variables[e]=nl(e,Gc),r.actions[e]=rl(e,Cx),r.segments[e]={template:$c(e,`(?)`,`✕`),...Tx(n)},Xc(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 Tx(e){let[t,...n]=e;return t===void 0?{}:{when:Zc(t,...n)}}const Ex=`none`;var Dx=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function Ox(e,t,n,r,i){let{palette:a,tint:o}=e,s=kx(n,i),c=s!==Ex,l=c?s===void 0?o:Ax(a,s,`bg`):Ax(a,`background`,`bg`);e.bg=l;let u=kx(r,i),d=u===void 0?c?Aa(a,l,t):void 0:Ax(a,u,`fg`);return new B({...c&&{bgcolor:vn.fromRgba(l)},...d!==void 0&&{color:vn.fromRgba(d)}})}function kx(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function Ax(e,t,n){try{return $n(e,t)}catch(e){throw e instanceof Xn?new Dx(t,n,e.message):e}}const jx={help:[`-h`,`--help`],version:[`-V`,`--version`]},Mx=[`✚ inserts`,`✖ removes`,`⚙️ configures`,`↺ resets layout`],Nx=`
86
+ Use 'override' annotation for methods overridden by subclass.`)}}var na=ca(0),ra=function(){var e=!1,t={};return Object.defineProperty(t,`0`,{set:function(){e=!0}}),Object.create(t)[0]=1,e===!1}(),ia=0,aa=function(){};function oa(e,t){Object.setPrototypeOf?Object.setPrototypeOf(e.prototype,t):e.prototype.__proto__===void 0?e.prototype=t:e.prototype.__proto__=t}oa(aa,Array.prototype);var sa=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,ha(function(){var e=new ki(r,n,i,!0);e.proxy_=a,w(a,k,e),t&&t.length&&a.spliceWithArray(0,0,t),ra&&Object.defineProperty(a,`0`,na)}),a}_e(t,e);var n=t.prototype;return n.concat=function(){this[k].atom_.reportObserved();var e=[...arguments];return Array.prototype.concat.apply(this.slice(),e.map(function(e){return Fi(e)?e.slice():e}))},n[Symbol.iterator]=function(){var e=this,t=0;return xa({next:function(){return t<e.length?{value:e[t++],done:!1}:{done:!0,value:void 0}}})},pe(t,[{key:`length`,get:function(){return this[k].getArrayLength_()},set:function(e){this[k].setArrayLength_(e)}},{key:Symbol.toStringTag,get:function(){return`Array`}}])}(aa);Object.entries(ji).forEach(function(e){var t=e[0],n=e[1];t!==`concat`&&C(sa.prototype,t,n)});function ca(e){return{enumerable:!1,configurable:!0,get:function(){return this[k].get_(e)},set:function(t){this[k].set_(e,t)}}}function la(e){s(sa.prototype,``+e,ca(e))}function ua(e){if(e>ia){for(var t=ia;t<e+100;t++)la(t);ia=e}}ua(1e3);function da(e,t,n){return new sa(e,t,n)}function fa(e,t){if(typeof e==`object`&&e){if(Fi(e))return t!==void 0&&n(23),e[k].atom_;if(Gi(e))return e.atom_;if(Bi(e)){if(t===void 0)return e.keysAtom_;var r=e.data_.get(t)||e.hasMap_.get(t);return r||n(25,t,ma(e)),r}if($i(e)){if(!t)return n(26);var i=e[k].values_.get(t);return i||n(27,t,ma(e)),i}if(Me(e)||nn(e)||B(e))return e}else if(v(e)&&B(e[k]))return e[k];n(28)}function pa(e,t){if(e||n(29),t!==void 0)return pa(fa(e,t));if(Me(e)||nn(e)||B(e)||Bi(e)||Gi(e))return e;if(e[k])return e[k];n(24,e)}function ma(e,t){var n;if(t!==void 0)n=fa(e,t);else if(cr(e))return e.name;else n=$i(e)||Bi(e)||Gi(e)?pa(e):fa(e);return n.name_}function ha(e){var t=I(),n=Xt(!0);kn();try{return e()}finally{An(),Zt(n),mn(t)}}var ga=c.toString;function _a(e,t,n){return n===void 0&&(n=-1),va(e,t,n)}function va(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=ga.call(e);if(o!==ga.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=ya(e),t=ya(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(!va(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)&&va(e[m],t[m],n-1,r,i)))return!1}}return r.pop(),i.pop(),!0}function ya(e){return Fi(e)?e.slice():te(e)||Bi(e)||re(e)||Gi(e)?Array.from(e.entries()):e}var ba=i().Iterator?.prototype||{};function xa(e){return e[Symbol.iterator]=Sa,Object.assign(Object.create(ba),e)}function Sa(){return this}function Ca(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:Jn,extras:{getDebugName:ma},$mobx:k}),e.$mobx=k,e.FlowCancellationError=Ar,e.ObservableMap=zi,e.ObservableSet=Wi,e.Reaction=In,e._allowStateChanges=Yt,e._allowStateChangesInsideComputed=sr,e._allowStateReadsEnd=gn,e._allowStateReadsStart=hn,e._autoAction=or,e._endAction=Jt,e._getAdministration=pa,e._getGlobalState=Sn,e._interceptReads=Rr,e._isComputingDerivation=sn,e._resetGlobalState=Cn,e._startAction=qt,e.action=ar,e.autorun=lr,e.comparer=Re,e.computed=Vt,e.configure=Sr,e.createAtom=Ne,e.defineProperty=ei,e.entries=Yr,e.extendObservable=Cr,e.flow=Pr,e.flowResult=Ir,e.get=$r,e.getAtom=fa,e.getDebugName=ma,e.getDependencyTree=wr,e.getObserverTree=Er,e.has=Qr,e.intercept=zr,e.isAction=cr,e.isBoxedObservable=en,e.isComputed=Ur,e.isComputedProp=Wr,e.isFlow=Lr,e.isFlowCancellationError=jr,e.isObservable=Gr,e.isObservableArray=Fi,e.isObservableMap=Bi,e.isObservableObject=$i,e.isObservableProp=Kr,e.isObservableSet=Gi,e.keys=qr,e.makeAutoObservable=wi,e.makeObservable=Si,e.observable=j,e.observe=ni,e.onBecomeObserved=gr,e.onBecomeUnobserved=_r,e.onReactionError=Ln,e.override=We,e.ownKeys=ti,e.reaction=fr,e.remove=Zr,e.runInAction=sr,e.set=Xr,e.spy=Jn,e.toJS=oi,e.trace=si,e.transaction=li,e.untracked=pn,e.values=Jr,e.when=ui})),Mv=ge(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=Av():t.exports=jv()}))();function Nv(e){if(Array.isArray(e))return Object.freeze(e.map(Nv));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]=Nv(r);return Object.freeze(t)}return e}function Pv(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 Fv(e){return typeof e==`string`?e:String(e)}function Iv(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 Lv(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 Rv(e,t){if(!(e instanceof W))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=zv(e.style).add(t),n}function zv(e){if(e instanceof V)return e;try{return V.parse(e)}catch(t){throw t instanceof Ur?TypeError(`template function cannot style a fragment whose base style "${e}" is not a style definition: a style name resolves only against the theme of a render`,{cause:t}):t}}function Bv(e){return{fn:(t=>Rv(t,e)),argTypes:[`liftable`],arity:{kind:`exact`},returnType:`T`}}function Vv(e){return{fn:((t,n)=>Rv(n,new V({[e]:L.parse(t)}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`}}function Hv(e,t){return new V({[e]:t})}function Uv(){let e={};for(let t of Br)e[t]=Bv(Hv(t,!0)),e[`not_${t}`]=Bv(Hv(t,!1));for(let[t,n]of Object.entries(Hr))e[t]=Bv(Hv(n,!0));return e}const Wv={fn:((e,t)=>Rv(t,V.parse(e))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`},Gv={fn:((e,t)=>Rv(t,new V({link:e}))),argTypes:[`string`,`liftable`],arity:{kind:`exact`},returnType:`T`};function Kv(){return{fg:Vv(`color`),bg:Vv(`bgcolor`),...Uv(),link:Gv,style:Wv}}function qv(e,t){if(!Qn.test(e.trim()))throw 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)}) …`);return $n(e)}function Jv(e,t){return{fn:t,argTypes:e,arity:{kind:`exact`},returnType:`string`}}function Yv(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 Xv=Jv([`string`,`int`],((e,t)=>or(qv(e,`darken`),t).hex)),Zv=Jv([`string`,`int`],((e,t)=>or(qv(e,`lighten`),-t).hex)),Qv={min:0,max:100,note:`0 = from, 100 = toward`},$v=Jv([`string`,`string`,`float`],((e,t,n)=>Dn(qv(e,`mix`),qv(t,`mix`),Yv(n,`mix`,`percentage`,Qv)/100).hex)),ey={min:1,max:21,note:`4.5 = AA body text, 3 = AA large text`},ty=Jv([`string`],(e=>sr(qv(e,`contrastOn`)).hex)),ny=e=>Jv([`string`,`string`,`float`],((t,n,r)=>cr(qv(t,`readableOn`),qv(n,`readableOn`),Yv(r,`readableOn`,`ratio`,ey),e()).hex)),ry={hueShift:`shiftHue`,chromaScale:`scaleChroma`,lightnessScale:`scaleLightness`,lightnessShift:`shiftLightness`};function iy(){let e={};for(let[t,n]of Object.entries(ry)){let r=t;e[n]=Jv([`string`,`float`],((e,t)=>{let i={...Bn,[r]:Yv(t,n,`amount`)};return Xn.fromRgba(qv(e,n)).applyKey(i).toRgba().hex}))}return e}function ay(e=()=>F.TRUECOLOR){return{darken:Xv,lighten:Zv,mix:$v,contrastOn:ty,readableOn:ny(e),...iy()}}function oy(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:er(t,e[r+1])});return n}function sy(e){return{color:{fn:(t=>er(e(),t).hex),argTypes:[`string`],arity:{kind:`exact`},returnType:`string`},ramp:{fn:((t,n,...r)=>new Rr(Lr(n),oy(r,e())).at(t).hex),argTypes:[`float`,`string`],arity:{kind:`alternating`,minimum:4},returnType:`string`}}}function cy(e){return{...Kv(),...ay(e)}}new V({color:`red`,dim:!0});const ly=/^(?:(?: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,uy=/^(?<family>opus|sonnet|haiku)\s+(?<major>\d+)(?:\.(?<minor>\d))?$/i;function dy(e){if(!e)return`Claude`;let t=e.trim().replace(/\s*\([^)]*\)\s*$/,``).replace(/\s*\[[^\]]*\]\s*$/,``).trim(),n=t.match(ly);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(uy);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 fy(e){let t=e.match(uy);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 py(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 my(e){return e.toLocaleString()}function hy(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 gy(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 _y=[`▁`,`▂`,`▃`,`▄`,`▅`,`▆`,`▇`,`█`],vy=_y.length;function yy(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*(vy-1));o+=_y[t]}return o}function by(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 xy(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 Sy=$a(),Cy=[...po];function wy(){return{basename:{fn:e=>l(e),argTypes:[`string`],arity:{kind:`exact`}},dirname:{fn:e=>u(e),argTypes:[`string`],arity:{kind:`exact`}},abbreviatePath:{fn:e=>py(e),argTypes:[`string`],arity:{kind:`exact`}},int:{fn:e=>Math.trunc(Iv(e)),argTypes:[`value`],arity:{kind:`exact`}},string:{fn:e=>Fv(e),argTypes:[`value`],arity:{kind:`exact`}},bool:{fn:e=>Lv(e),argTypes:[`value`],arity:{kind:`exact`}},urlEncode:{fn:e=>encodeURIComponent(e),argTypes:[`string`],arity:{kind:`exact`}},themes:{fn:()=>Sy,argTypes:[],arity:{kind:`exact`}},endcaps:{fn:()=>Cy,argTypes:[],arity:{kind:`exact`}},sparkline:{fn:(e,t,...n)=>(xy(`sparkline`,[`width`],n),yy(by(e),t)),argTypes:[`string`,`int`],arity:{kind:`variadic`}},cascade:{fn:(e,...t)=>gy(e,hy(t)),argTypes:[`float`,`string`],arity:{kind:`variadic`}}}}function Ty(e=()=>new Date){return{minutesUntilReset:{fn:t=>Math.round(Math.max(0,t*1e3-e().getTime())/6e4),argTypes:[`int`],arity:{kind:`exact`}},formatInteger:{fn:e=>my(e),argTypes:[`int`],arity:{kind:`exact`}},round:{fn:e=>Math.round(e),argTypes:[`float`],arity:{kind:`exact`}},formatModelName:{fn:e=>dy(e),argTypes:[`string`],arity:{kind:`exact`}},shortenModelName:{fn:e=>fy(e),argTypes:[`string`],arity:{kind:`exact`}}}}function Ey(e,t=()=>new Date,n){return vp({fromString:e=>new W(e),toString:e=>e.plain,isT:e=>e instanceof W,clock:t,missingKey:`error`,funcs:{...sh(),...y_(),...qh(),...hg(),...$m(t),...Up(),...xh(),...cy(n),...wy(),...Ty(t),...e??{}}})}function Dy(e){return Oy(e,new Set(e.names()),``)}function Oy(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`?Ay(a,e.readDocument(a)):e.read(a);let o=`${a}.`;for(let n of t)if(n.startsWith(o))return Oy(e,t,a)}})}function ky(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 Ay(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 jy(e,t){return e?.kind===`ok`?e.value:t}function My(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??Ny(t.stderr)].filter(Boolean).join(`, `)}`)}function Ny(e){return e.trim().split(`
87
+ `,1)[0]??``}function Py(e,t){if(e.kind!==`ok`)return e;let n=t(e.value);return n===null?Y:J(n)}function Fy(e){if(e.kind!==`ok`)return e;let t=e.value.trim();return t?J(t):Y}const Iy=/^[A-Za-z]:[\\/]/;function Ly(e){let t=e.trim();if(Iy.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 Ry(e){return Ly(e)?.host||null}function zy(e){let t=Ry(e);return t?t===`github.com`||t.endsWith(`.github.com`)?`github`:/(^|\.)gitlab\./.test(t)?`gitlab`:null:null}function By(e){let t=new Map;for(let n of e.split(`
88
+ `)){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 Vy(e){return e.urls.find(e=>Ky(e)!==null)??e.urls[0]??null}function Hy(e){return e.find(e=>e.name===`origin`)??e[0]??null}function Uy(e){let t=Hy(e);return t?Vy(t):null}function Wy(e){let t=Hy(e);return t?t.urls.find(e=>zy(e)!==null)??Vy(t):null}function Gy(e){let t=(Ly(e)?.path??e.replace(/[\\/]+$/,``)).split(`/`);return(t[t.length-1]??``).replace(/\.git$/,``)||null}function Ky(e){let t=Ly(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 qy(e){let t=Uy(e);return t===null?null:Ky(t)}function Jy(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??Ny(t.stderr)].filter(Boolean).join(`, `)}`)}function Yy(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Xy(e){let t=`detached`,n=Y,r=Y,i=Y,a=0,o=0,s=0,c=0;for(let l of e.split(`
89
+ `)){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 Zy(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(!Yy(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 Qy(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(!Yy(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 $y(e){try{let t=r.statSync(e);return{key:`${t.dev}:${t.ino}`,stamp:`${t.mtimeMs}:${t.size}`}}catch{return null}}var eb=class{isGitRepo(e){try{return r.existsSync(c.join(e,`.git`))}catch{return!1}}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)?J(e):t&&this.isGitRepo(t)?J(t):this.isGitRepo(e)?J(e):this.findGitRoot(e)}async findGitRoot(e){let t=c.resolve(e);for(;;){if(this.isGitRepo(t))return J(t);let e=c.dirname(t);if(e===t)return Y;t=e}}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=Py(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.timeSinceCommit=await this.timeSinceCommit(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=Py(s,e=>this.repoNameFrom(e,r)),o.isWorktree=i),s!==void 0&&t.showRepoUrl&&(o.repoUrl=Py(s,qy)),t.showOperation&&(o.operation=this.getOngoingOperation(r)),J(o)}resolveGitDir(e){let t=c.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 c.resolve(e,n[1].trim())}}catch{}return t}getOngoingOperation(e){try{let t=this.resolveGitDir(e);return r.existsSync(c.join(t,`MERGE_HEAD`))?J(`MERGE`):r.existsSync(c.join(t,`CHERRY_PICK_HEAD`))?J(`CHERRY-PICK`):r.existsSync(c.join(t,`REVERT_HEAD`))?J(`REVERT`):r.existsSync(c.join(t,`BISECT_LOG`))?J(`BISECT`):r.existsSync(c.join(t,`rebase-merge`))||r.existsSync(c.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 Fy(My(`git describe --tags`,await this.execGitAsync([`describe`,`--tags`,`--abbrev=0`],{cwd:e,timeout:2e3}),`absent`))}async timeSinceCommit(e,t){return t.kind===`ok`?Py(await this.commitTimestampMs(e,t.value),e=>Math.floor((Date.now()-e)/1e3)):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=Fy(My(`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(c.join(t,`commondir`),`utf-8`).trim();if(e)return c.resolve(t,e)}catch{}return t}getStashCount(e){let t=c.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(`
90
+ `).length:0)}async getRemotesAsync(e){let t=$y(c.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=My(`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`?By(t.value):[])}repoNameFrom(e,t){let n=Uy(e);return(n===null?null:Gy(n))??c.basename(t)}async getRepoRemoteUrl(e){let t=await this.getRemotesAsync(e);if(t.kind!==`ok`)return t;let n=Wy(t.value);return n===null?Y:J(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=zy(t);return n===`github`?Jy(`gh pr view`,await this.execForgeAsync(`gh`,[`pr`,`view`,`--json`,`number,state,url`],{cwd:e,timeout:5e3}),/no (open )?pull requests? found/i,Zy):n===`gitlab`?Jy(`glab mr view`,await this.execForgeAsync(`glab`,[`mr`,`view`,`--output`,`json`],{cwd:e,timeout:5e3}),/no (open )?merge requests? (found|available)/i,Qy):Y}isWorktree(e){try{let t=c.join(e,`.git`);return!!(r.existsSync(t)&&r.statSync(t).isFile())}catch{return!1}}async getCoreAsync(e){O(`[GIT-EXEC] Running git status --porcelain=v2 in ${e}`);let t=My(`git status --porcelain=v2 --branch`,await this.execGitAsync([`status`,`--porcelain=v2`,`--branch`],{cwd:e,timeout:2e3}),`failed`);return t.kind===`ok`?J(Xy(t.value)):t}};let tb=null;function nb(e){if(tb!==null)return tb;r.mkdirSync(c.dirname(e),{recursive:!0});try{tb=r.statSync(e).size}catch{tb=0}return tb}function rb(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{}tb=0}const ib=(e,t)=>O(t);function Z(e,t){let n=`${new Date().toISOString()} [${e}] ${t}\n`;try{let e=Xe(),t=nb(e);r.appendFileSync(e,n),tb=t+Buffer.byteLength(n,`utf8`),tb>=5242880&&rb(e)}catch(e){tb=null;try{process.stderr.write(`${n}cc-candybar: daemon.log unwritable: ${e.message}\n`)}catch{}}}const ab=(e,t)=>O(t);var ob=class{slots=new Map;maxWatchers;counters;logger;closed=!1;constructor(e={}){this.maxWatchers=e.maxWatchers??128,this.counters=e.counters,this.logger=e.logger??ab}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()}},sb=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 cb={showSha:!0,showStashCount:!0};function lb(e){let t=Object.keys(e).sort(),n={};for(let r of t)n[r]=e[r];return JSON.stringify(n)}function ub(e){let t=t=>{try{return r.statSync(c.join(e,t)).mtimeMs}catch{return 0}};return{head:t(`HEAD`),index:t(`index`)}}function db(e,t){return e.head!==t.head||e.index!==t.index}function fb(e){let t=[],n=c.join(e,`refs/heads`);try{r.statSync(n).isDirectory()&&t.push({path:n})}catch{}return{files:[c.join(e,`HEAD`),c.join(e,`index`)],dirs:t}}var pb=class extends eb{entries=new Map;subscribersByRepo=new Map;fetchInFlight=new Map;resolutions=new Map;prCache=new Map;prFetchInFlight=new Map;refreshes=new sb;hits=0;misses=0;invalidations=0;inner;ttlMs;maxEntries;watchers;ownsWatchers;logger;sanityTimer=null;constructor(e={}){super(),this.inner=e.inner??new eb,this.ttlMs=e.ttlMs??3e4,this.maxEntries=e.maxEntries??64,this.logger=e.logger??ib,e.watchers?(this.watchers=e.watchers,this.ownsWatchers=!1):(this.watchers=new ob({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}|${lb(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=ub(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}`,fb(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}`,fb(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,{...cb});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,{...cb}),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=ub(this.inner.resolveGitDir(t.repoRoot)),e.set(t.repoRoot,n)),db(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 mb=/\r\n|\r|\n/g,hb=e=>J(e.replace(mb,` `).trim());function gb(e){return t=>{let n=e.exec(t)?.[1];return n===void 0?X(`regex no-match`):J(n.replace(mb,` `))}}const _b=e=>{try{return J(JSON.parse(e))}catch(e){return X(`JSON parse failed: ${e.message}`)}};function vb(e,t){return t.kind!==`ttl`||t.durationMs>=500?t:(O(`declareShell "${e}": ttl ${t.durationMs}ms below floor 500ms; clamping`),{kind:`ttl`,durationMs:500})}function yb(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 bb=`session.id`;function xb(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?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 Sb(e,t,n){return{where:`"${e}"`,read:async()=>{try{let r=await S(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 Cb(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 wb=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Tb=[`Jan`,`Feb`,`Mar`,`Apr`,`May`,`Jun`,`Jul`,`Aug`,`Sep`,`Oct`,`Nov`,`Dec`],Eb=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],Db=[`Sun`,`Mon`,`Tue`,`Wed`,`Thu`,`Fri`,`Sat`];function Ob(e,t){let n=[[`2006`,e=>String(e.getFullYear())],[`January`,e=>wb[e.getMonth()]],[`Monday`,e=>Eb[e.getDay()]],[`Jan`,e=>Tb[e.getMonth()]],[`Mon`,e=>Db[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 kb={branch:`string`,sha:`string`,dirty:`boolean`,ahead:`number`,behind:`number`,stash:`number`};function Ab(e,t,n,r){if(e===null){if(n!==void 0)return n;let e=kb[t];try{return Pb(r,e)}catch{return Fb(e)}}switch(t){case`branch`:return e.branch===`detached`?``:e.branch;case`sha`:return jy(e.sha,``);case`dirty`:return e.status!==`clean`;case`ahead`:return jy(e.aheadBehind,{ahead:0,behind:0}).ahead;case`behind`:return jy(e.aheadBehind,{ahead:0,behind:0}).behind;case`stash`:return jy(e.stashCount,0)}}var jb=class{watchers=new Map;subscribe(e,t){let n=this.watchers.get(e);if(!n){let t=new Set,r;try{r=s(e,()=>{for(let e of t)e()})}catch{return()=>{}}n={watcher:r,callbacks:t},this.watchers.set(e,n)}return n.callbacks.add(t),()=>this.unsubscribe(e,t)}unsubscribe(e,t){let n=this.watchers.get(e);n&&(n.callbacks.delete(t),n.callbacks.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}},Mb=class{buckets=new Map;subscribe(e,t){let n=this.buckets.get(e);if(!n){let t=new Set;n={timer:te(()=>{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&&(ee(n.timer),this.buckets.delete(e)))}dispose(){for(let{timer:e}of this.buckets.values())ee(e);this.buckets.clear()}bucketCount(){return this.buckets.size}};function Nb(e,t){let n=e;for(let e of t.split(`.`)){if(typeof n!=`object`||!n)return;n=n[e]}return n}function Pb(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`?Fv(e):t===`number`?Iv(e):Lv(e)}function Fb(e){return e===`number`?0:e===`boolean`?!1:``}var Ib=class{inputMetas=new Map;lastErrors=new Map;watchMgr=new jb;ttlMgr=new Mb;gitSubscriptions=new Map;cleanups=[];inFlight=new Map;reads=new sb;abort=new AbortController;drawn=Mv.observable.box(F.TRUECOLOR);drawnAt=()=>this.drawn.get();engine=Ey(void 0,void 0,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 pb({sanityIntervalMs:0}),this.ownsGitProvider=!0),this.sessionState=r}get variableStore(){return this.store}declareLiteral(e,t){this.store.defineBox(e,Pv(t),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,xb(t,n.cwd,this.abort.signal),vb(e,n.cache),n.parse)}declareFile(e,t,n){this.declareSource(e,Sb(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,hb,t.default,n);case`regex`:return this.scalarPublisher(e,gb(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=Cb(n,t,r);this.noteOutcome(e,a),this.store.setBox(e,jy(a,i))}}documentPublisher(e,t,n){let r=t===void 0?Y:J(t);return this.store.defineDocument(e,r),i=>{let a=Cb(i,_b,n);this.noteOutcome(e,a),this.store.setDocument(e,a.kind===`ok`||t===void 0?a:r)}}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.store.defineComputed(e,`string`,t=>{let i=Dy(this.store);try{let t=r.evaluate(i).map(e=>e.plain).join(``);return this.lastErrors.delete(e),t}catch(t){let r=t instanceof Error?t.message:String(t);if(this.recordError(e,r),n.varDefault===void 0)throw Error(`variable "${e}": ${r}`);return n.varDefault}});try{this.store.read(e)}catch{}}declareTime(e,t){let n=t.ttlMs??1e3;this.store.defineBox(e,`string`,(e=>{try{return Ob(t.format,e)}catch{return this.stringInitial(t.varDefault)}})(new Date));let r=this.ttlMgr.subscribe(n,()=>{try{this.store.setBox(e,Ob(t.format,new Date)),this.lastErrors.delete(e)}catch(n){this.applyFallback(e,`string`,t.varDefault,n instanceof Error?n.message:String(n))}});this.cleanups.push(r)}declareGit(e,t){let n=kb[t.field],r=t.varDefault===void 0?Fb(n):Pb(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,Ab(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(bb);if(typeof i!=`string`||!i)return r;let a=n.get(i,t.key);return a===null?r:a})}applyInput(e){this.store.runInAction(()=>{for(let[t,n]of this.inputMetas){let r=Nb(e,n.path),i=this.store.getType(t);if(r!==void 0)try{this.store.setBox(t,Pb(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))}getLastError(e){return this.lastErrors.get(e)}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 e=this.watchMgr.subscribe(t.path,n);this.cleanups.push(e);break}case`key`:{let e=this.engine.parse(t.template),r=(0,Mv.reaction)(()=>{let t=Dy(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,Mv.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,Pb(this.defaultEmptyValue,t))}catch{this.store.setBox(e,Fb(t))}}defaultFor(e){try{return Pb(this.defaultEmptyValue,e)}catch{return Fb(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 Lb={project_dir:{kind:`input`,path:`workspace.project_dir`,default:``},[bb]:{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:``},"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:``},"charset.effective":{kind:`input`,path:`charset.effective`,default:``},"colorCompatibility.effective":{kind:`input`,path:`colorCompatibility.effective`,default:``},"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:``}},Rb=`ne .tmux.pane ""`,zb={theme:{configKey:`palette`,sessionKey:`theme`,effectiveVar:`theme.effective`,label:`🎨`},preset:{configKey:`preset`,sessionKey:`preset`,effectiveVar:`preset.effective`,label:`▦`},style:{configKey:`style`,sessionKey:`style`,effectiveVar:`style.effective`,label:`◐`},endcaps:{configKey:`endcaps`,sessionKey:`endcaps`,effectiveVar:`endcaps.effective`,label:`✦`},variation:{configKey:`variation`,sessionKey:`variation`,effectiveVar:`variation.effective`,label:`🎼`},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`}},Bb=Object.values(zb),Vb=[{configKey:`charset`,effectiveVar:`charset.effective`},{configKey:`colorCompatibility`,effectiveVar:`colorCompatibility.effective`}],Hb=new Set(Vb.map(e=>e.configKey)),Ub=new Map([...Bb,...Vb].map(e=>[e.configKey,e.effectiveVar])),Wb=new Map(Bb.map(e=>[e.sessionKey,e.effectiveVar]));function Gb(e){return Object.fromEntries(Object.keys(zb).map(t=>[t,e(t)]))}const Kb=new Map(Object.keys(zb).map(e=>[zb[e].sessionKey,e]));function qb(e,t,n){let r=new Set,i=e=>{for(let t of xv(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 Ps(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(bb);for(let t of Object.values(e.actions)){r.add(bb),`copy`in t&&i(t.copy),`open`in t&&i(t.open);let e=`set`in t?Wb.get(t.set):void 0,n=`persist`in t?Ub.get(t.persist):void 0;e!==void 0&&r.add(e),n!==void 0&&r.add(n)}return r}function Jb(e,t,n){let r=Ov({...n,variables:{...n.variables,...e.variables},segments:{...n.segments,...e.segments}}),i={};for(let a of qb(e,t,n.helpers)){if(Dv(a,r))continue;let e=Lb[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 Yb=new Map,Xb=new Map;function Zb(e){let t=$b(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 Qb(e,t){return e===`bar`?t:Zb(e)}function $b(e){let t=Yb.get(e);if(t!==void 0)return t;let n=Er(e);return n===null?null:(Yb.set(e,n),n)}function ex(e,t){let n=`${e.name} ${t.hueShift} ${t.chromaScale} ${t.lightnessScale} ${t.lightnessShift}`,r=Xb.get(n);if(r!==void 0)return r;let i=Pr(e,t);return Xb.set(n,i),i}function tx(e){let t=$b(e);return t===null?null:{kind:`decided`,name:e,value:t}}function nx(e,t,n){let r=tx(e);return r===null?(n(`${t} rendered "${Za}": "${e}" names no installed theme${Xa(e)}`),ix()):r}function rx(e,t,n){return oo(e,t,n,ix(),tx)}function ix(){return tx(Za)}function ax(e){return so(rx(void 0,null,e),ix).value}const ox=new Map;function sx(e,t,n){ox.set(e,{permanent:!0,resolve:t,paletteOf:n})}sx(`themes`,()=>$a(),e=>Zb(e));const cx=`placementThemes`;sx(cx,eo,(e,t)=>Qb(e,t.palette)),sx(`endcaps`,()=>po),sx(`variations`,()=>bo),sx(`charsets`,()=>go),sx(`colorCompatibilities`,()=>vo);function lx(e){return new Map([[`styles`,{members:Object.keys(e.styles),paletteOf:(t,n)=>ex(n.basePalette,e.styles[t])}],[`presets`,{members:j_(e.presets)}]])}function ux(e){return[...new Set([...ox.keys(),...e.keys()])]}function dx(e,t){if(typeof e!=`string`)return{members:e};let n=t.get(e);if(n)return n;let r=ox.get(e);if(r)return{members:r.resolve(),paletteOf:r.paletteOf};throw Error(`unknown option domain "${e}" (have: ${ux(t).join(`, `)})`)}function fx(e,t,n){return e===`bool`?Do(t)!==null:`from`in e?dx(e.from,n).members.includes(t):Oo(t,e)!==null}function px(e,t){if(e===`bool`)return To.join(` or `);if(`from`in e){let{members:n}=dx(e.from,t),r=n.map(e=>JSON.stringify(e));if(n.length<=8)return`one of ${r.join(`, `)}`;let i=typeof e.from==`string`?` "${e.from}"`:``;return`one of the ${n.length}${i} names, such as ${r.slice(0,3).join(`, `)}`}return`an integer from ${e.min} to ${e.max}`}function mx(e){return{label:e.label,domain:hx(e.domain)}}function hx(e){return e===`theme`?{from:cx}:e===`bool`||`min`in e?e:{from:e}}function gx(e,t,n,r,i){let a=Xc(e.label),{domain:o}=e;if(o===`bool`)return{kind:`inline`,template:`{{ action "${r}" "☑ ${a}" "☐ ${a}" }}`,actions:{[r]:{set:t,cycle:[...To]}},variables:{}};if(`from`in o)return _x(a,t,r,i,o.from);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 _x(e,t,n,r,i){let a={variable:r,key:r,member:n},o=C_(r,n),s=`${n}.open`,c=w_(r),l=`${c}.first`;return{kind:`picker`,template:`{{ "${e}" }} {{ carousel "${n}" 0 "${s}" }}`,actions:{[n]:{set:t,from:i},[o]:il(r,n),[c]:{set:c,int:!0},[l]:{set:c,to:`0`},[s]:{do:[o,l]}},variables:{[r]:rl(r,Kc),[c]:{kind:`state`,key:c,default:`0`}},list:{ref:a,template:`{{ picker "${n}" "${c}" false true true }}`}}}const vx=/^segments\.([^.]+)\.palette$/,yx=/^presets\.(.+)\.root$/,bx=/^presets\.(.+)\.globals\.([^.]+)$/;function xx(e){return`presets.${e}.root`}function Sx(e,t){return`presets.${e}.globals.${t}`}function Cx(e){if(Ml(e))return{scope:`globals`,field:e};let t=vx.exec(e);if(t)return{scope:`segment-palette`,segment:t[1]};let n=bx.exec(e);if(n&&Tl(n[2]))return{scope:`preset-globals`,preset:n[1],field:n[2]};let r=yx.exec(e);return r?{scope:`preset-root`,preset:r[1]}:null}function wx(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`]}}const Tx=`open`;function Ex(e,t,n,r){let i={variable:e,key:e,member:Tx};return r.variables[e]=rl(e,Kc),r.actions[e]=il(e,Tx),r.segments[e]={template:el(e,`(?)`,`✕`),...Dx(n)},Zc(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 Dx(e){let[t,...n]=e;return t===void 0?{}:{when:Qc(t,...n)}}const Ox=`none`;var kx=class extends Error{constructor(e,t,n){super(`Invalid ${t} color ${JSON.stringify(e)}: ${n}`),this.name=`ColorSpecError`}};function Ax(e,t,n,r,i){let{palette:a,tint:o}=e,s=jx(n,i),c=s!==Ox,l=c?s===void 0?o:Mx(a,s,`bg`):Mx(a,`background`,`bg`);e.bg=l;let u=jx(r,i),d=u===void 0?c?ja(a,l,t):void 0:Mx(a,u,`fg`);return new V({...c&&{bgcolor:L.fromRgba(l)},...d!==void 0&&{color:L.fromRgba(d)}})}function jx(e,t){if(e!==void 0)return e.evaluate(t).map(e=>e.plain).join(``)}function Mx(e,t,n){try{return er(e,t)}catch(e){throw e instanceof Zn?new kx(t,n,e.message):e}}const Nx={help:[`-h`,`--help`],version:[`-V`,`--version`]},Px=[`✚ inserts`,`✖ removes`,`⚙️ configures`,`↺ resets layout`],Fx=`
91
91
  cc-candybar - Beautiful powerline statusline for Claude Code
92
92
 
93
93
  Usage: cc-candybar [options]
94
94
 
95
95
  Standalone Commands:
96
- ${jx.help.join(`, `).padEnd(25)}Show this help
97
- ${jx.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
96
+ ${Nx.help.join(`, `).padEnd(25)}Show this help
97
+ ${Nx.version.join(`, `).padEnd(25)}Print the version of this runtime (cc-candybar <version>)
98
98
 
99
99
  Debugging:
100
100
  CC_CANDYBAR_DEBUG=1 Enable debug logging for troubleshooting
@@ -107,7 +107,7 @@ Configuration:
107
107
 
108
108
  Every bar carries a settings menu, whatever your config says — no config
109
109
  needed, and writing your own \`root\` cannot delete it. Click
110
- it on the bar (${Kc} by default; globals.menuGlyph changes it) for
110
+ it on the bar (${qc} by default; globals.menuGlyph changes it) for
111
111
  preset switching and five tabs: ⚡ session (quick actions and commands),
112
112
  🎨 look (theme/style/variation/endcaps), 📐 layout (new preset, edit mode,
113
113
  wrap, padding), ⚙ config (update notice) and
@@ -117,7 +117,7 @@ Configuration:
117
117
  failed row's [fix] to repair it (the same checks \`cc-candybar doctor\` runs).
118
118
 
119
119
  Anywhere the bar shows (?), clicking it reveals these same instructions
120
- in place. In edit mode: ${Mx.join(`, `)}.
120
+ in place. In edit mode: ${Px.join(`, `)}.
121
121
 
122
122
  Subcommands:
123
123
  install One-shot setup: stages the runtime (native render
@@ -158,27 +158,27 @@ Config tooling:
158
158
  config [--json] The effective merged config. (All three query the
159
159
  running daemon; none spawn one.)
160
160
 
161
- `,Px=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,Fx={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function Ix(e){let t=e[Fx.socket]??``,n=e[Fx.pane]??``;if(t===``||n===``)return null;let r=e[Fx.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function Lx(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const Rx=Fx.truecolor,zx={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[Rx];return typeof n==`string`&&n!==``?{ok:!1,reason:`${Rx} 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-env`,name:Rx,value:`1`}}}}}},Bx={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},Vx=[{name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
162
- `).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return Lx([...e.warnings,...e.shadowed.map(t=>`${t} is never read — ${e.path??`another config`} is found first`),...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${Bx[e]}`)])}}},zx];function Hx(e){return Vx.map(t=>({check:t,verdict:t.probe(e)}))}function Ux(e){return Vx.find(t=>t.name===e)}const Wx=`${K}doctor.`;function Gx(e){let t=`${Wx}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function Kx(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function qx(e){return e.flatMap(({check:e,verdict:t})=>{let n=Gx(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:Co}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:Kx(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?Co:So}]})}const Jx={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function Yx(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(Jx).map(([t,n])=>[`${e}${t}`,n]))}}const Xx=`armed`,Zx=`disarmed`,Qx=`.armed`,$x=e=>e.endsWith(Qx);function eS(e,t,n){let r=`${e}${Qx}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${Xx}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:Xx},[a]:{set:r,to:Zx},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:Zx}},disarm:a}}const tS=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function nS(e){return typeof e==`string`&&tS.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 rS(e){let t=nS(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const iS=[`/compact`,`/model`],aS=`/clear`;function oS(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=eS(`${e}clear`,{arm:aS,confirm:`${aS} ✓ confirm`},[n]);return{template:iS.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${Ib} }}`,actions:{...Object.fromEntries(iS.map(e=>[t(e),{slash:rS(e)}])),...r.actions,[n]:{slash:rS(aS)}},variables:r.variables,disarm:r.disarm}}function sS(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:c.resolve(t,n)}function cS(e){return e??c.join(m.homedir(),`.claude`)}function lS(e){return c.join(e,`settings.json`)}function uS(e){return c.join(e,`plugins`,`installed_plugins.json`)}function dS(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function fS(e){let t;try{let n=dS(e);if(/^\s*$/.test(n))return{};t=qo.parse(n)}catch(t){throw Error(`cannot read ${e}: ${pS(t)}`,{cause:t})}if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const pS=e=>e instanceof Error?e.message:String(e),mS=Array.from({length:10},(e,t)=>(t+1)*1e5),hS=mS[0],gS=mS[mS.length-1];function _S(e){let t;try{t=fS(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>=hS&&n<=gS?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${hS}–${gS} tokens)`)}function vS(e,t){let n=Math.min(t??gS,gS),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:mS.filter(e=>e<r).at(-1)??0,higher:mS.find(e=>e>r&&e<=n)??0}}function yS(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${Ib} }}{{ 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:rS(`/autocompact auto`)},...Object.fromEntries(mS.map(t=>[`${e}${t}`,{slash:rS(`/autocompact ${t}`)}]))}}}const bS=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 }}`,xS=`${K}menu`,SS=`open`,CS=`${K}edit`,wS=`${K}toolbar`,TS=Yx(K),ES=`${K}commands`,DS=oS(`${ES}.`),OS=`${K}autocompact`,kS=yS(`${OS}.`,bS),AS=e=>({kind:`segment`,name:e}),jS=`${K}tab`,MS=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],NS=e=>`${jS}.${e}`,PS=e=>`${NS(e)}.toggle`,FS=e=>({variable:jS,key:jS,member:e}),IS=`${K}save`,LS=`${K}preset.save`,RS=`${K}preset.delete`,zS=`${K}resetAll`,BS=`${xS}.toggle`,VS={variable:xS,key:xS,member:SS},HS=`${K}undo`,US=`${K}back`,WS=`${US}.step`,GS=`${K}navigation.back`,KS=US,qS={template:`{{ if gt .${GS} 0 }}{{ action "${US}" "◁" }}{{ else }}{{ fg (${Px}) "◁" }}{{ end }}`},JS=`${K}redo`,YS=`${K}doctor`,XS=`${YS}.run`,ZS=e=>`${YS}.fix.${e}`,QS=e=>`${YS}.${e}`,$S=b_(`${K}pickers`),eC=[{template:`{{ themePreview }}`}],tC={template:`{{ layoutPreview }}`},nC={preset:[tC,{when:`{{ not .preset.bundled }}`,template:`{{ action "${RS}" (printf "🗑 delete %s" .${Lb.preset.effectiveVar}) }}`}],theme:eC,style:eC,variation:[tC]},rC=e=>`${K}${e}`,iC=e=>`${K}apply.${e}`,aC=e=>`${K}reset.${e}`,oC=e=>`${K}list.${e}`,sC=(e,t)=>`${oC(e)}.${t}`,cC=e=>`${K}resettable.${e}`,lC=e=>e.length===0?`false`:`(or ${e.map(e=>`.${cC(e)}`).join(` `)})`,uC=Object.keys(Lb).map(e=>{let t=Lb[e],n=hl(t.configKey),r=mx({label:t.label,domain:n},t.sessionKey,t.effectiveVar,iC(e),$S);return{...t,name:e,control:r,beneath:nC[e]??[]}}),dC={preset:`door`,theme:`look`,style:`look`,variation:`look`,endcaps:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},fC=e=>uC.filter(t=>dC[t.name]===e),pC=e=>fC(e).map(TC);new Set(uC.flatMap(e=>[e.sessionKey,e.configKey]));const mC=eS(zS,{arm:`⟲`,confirm:`⟲ reset all?`},uC.map(e=>aC(e.name))),hC=[`unsaved`,`history.undo`,`history.redo`],gC=e=>`${K}${e}`,_C=gC(`unsaved`),vC=(e,t)=>({body:t,shown:`(gt .${gC(e)} 0)`}),yC=[vC(`unsaved`,`{{ action "${IS}" (printf "💾 save %d" .${_C}) }}`),vC(`history.undo`,`{{ action "${HS}" "↶" }}`),vC(`history.redo`,`{{ action "${JS}" "↷" }}`),{body:mC.template,shown:`(or ${lC(uC.map(e=>e.name))} ${mC.armed})`}],bC={when:`{{ or ${yC.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+yC.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},xC=[{step:mC,place:`door`},{step:DS,place:`session`}],SC=e=>e.map(e=>e.step.disarm),CC=SC(xC),wC=SC(xC.filter(e=>e.place!==`door`));function TC(e){let t=rC(e.name);return e.control.kind===`inline`?AS(t):Xc(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[AS(oC(e.name)),...e.beneath.map((t,n)=>AS(sC(e.name,n)))]},`drop`)}function EC(e){return e===xS}function DC(e){let t=AS(xS);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[DC(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 OC(e){return kC(e)>0?e:DC(e)}function kC(e){let t=0;for(let n of Ns(e))n.kind===`segment`&&EC(n.name)&&(t+=1);return t}function AC(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&EC(e.name)||e.opens!==void 0&&AC(e.opens.body,!0):e.children.some(e=>AC(e,n))}const jC={session:{direction:`vertical`,content:[AS(wS),{kind:`container`,direction:`horizontal`,children:[AS(ES),AS(OS)]}]},look:{direction:`horizontal`,content:[]},layout:{direction:`horizontal`,content:[AS(LS),AS(CS)]},config:{direction:`horizontal`,content:[]},tools:{direction:`vertical`,content:[AS(YS),...Vx.map(e=>AS(QS(e.name)))]}},MC=e=>({kind:`container`,direction:jC[e].direction,children:[...jC[e].content,...pC(e)]});function NC(e){return e.kind===`segment`?EC(e.name)?Xc(e.name,VS,FC,`above`):e:LC(e)}function PC(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[AS(KS),...pC(`door`),AS(IS)]},{kind:`container`,direction:`horizontal`,children:MS.map(({member:e})=>Xc(NS(e),FS(e),MC(e),`drop`))}]}}const FC=PC();function IC(e){let t=new Map;for(let e of Ns(FC))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=`${xS}.fold.${xu(t)}`;return e.actions[i]={set:t,to:r.default},i})}function LC(e){return{...e,children:e.children.map(e=>NC(e))}}function RC(e){let t={variables:{[xS]:nl(xS,Gc)},actions:{[BS]:rl(xS,SS),[XS]:{doctor:`run`},[CS]:{do:[...Z_]},...TS.actions,...DS.actions,...kS.actions,[IS]:{save:!0},[HS]:{undo:!0},[WS]:{back:!0},[US]:{do:[WS,...CC]},[JS]:{redo:!0},[LS]:{preset:`save`},[RS]:{preset:`delete`,name:`{{ .${Lb.preset.effectiveVar} }}`}},segments:{[xS]:{template:`{{ $door := ${el(xS,tl(e),tl(`✖`))} }}{{ if ${Qc(VS)} }}{{ fg (color "error") $door }}{{ else }}{{ $door }}{{ end }}`},[wS]:{template:TS.template},[ES]:{template:DS.template,when:DS.when},[OS]:{template:kS.template,bg:kS.bg,when:kS.when},[KS]:qS,[IS]:bC,[LS]:{template:`{{ action "${LS}" "+ preset" }}`},[YS]:{template:`{{ action "${XS}" "🩺 doctor" }}`},[CS]:{template:`{{ action "${CS}" "✎ arrange" "✎ done" }}`}}};t.variables[GS]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of hC)t.variables[gC(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[jS]=nl(jS,`session`);for(let{member:e,label:n}of MS){t.actions[PS(e)]=rl(jS,e),t.actions[NS(e)]={do:[PS(e),...wC]};let r=lC(fC(e).map(e=>e.name)),i=`(ternary ${tl(` •`)} "" ${r})`,a=e=>`(print ${tl(e)} ${i})`;t.segments[NS(e)]={template:`{{ ${el(NS(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,DS.variables,mC.variables),BC(t),zC(t),t.actions[xS]={do:[BS,...CC,...IC(t)]},t}function zC(e){for(let t of Vx){let n=Gx(t.name),r=ZS(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[QS(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${So}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function BC(e){for(let t of uC){Object.assign(e.actions,t.control.actions);let n=aC(t.name);e.actions[n]={reset:t.configKey},e.variables[cC(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${cC(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[rC(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&(e.segments[oC(t.name)]={template:t.control.list.template}),t.beneath.forEach((n,r)=>{e.segments[sC(t.name,r)]=n})}Object.assign(e.actions,mC.actions)}function VC(e){let{variables:t,actions:n}=ov();Object.assign(e.variables,t),Object.assign(e.actions,n)}function HC(e){let t=RC(e.globals.menuGlyph??`🍫`);VC(t);let n={...e.presets},r=[];for(let t of k_(e.presets)){let{node:i}=M_(e,t),a=NC(OC(i));r.push(a),n[t]={...j_(e.presets,t),root:a}}let i=Kb(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const UC=`${wu}live`,WC=[`☐ live`,`☑ live`],GC=`${wu}done`,KC=`${wu}cancel`,qC=`${wu}rewind`,JC=`${wu}changes`,YC=`(gt .${JC} 0)`,XC=`(or ${YC} (gt .${_C} 0))`,ZC={variable:UC,key:UC,member:`open`};function QC(e){return`${wu}configuring.p${e}`}function $C(e){return`and ${Qc(tv)} (not ${Qc(ZC)}) (ne .${QC(e)} "true")`}function ew(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${J_} "${Yc(e)}")`).join(` `)} false }}`}}function tw(e,t,n){return`{{ if ${$C(e)} }}${t}{{ else }}${n}{{ end }}`}const nw=`{{ and ${Qc(tv)} .preset.customized }}`,rw=Eu,iw=`${wu}addable`;function aw(e){return new Map([[iw,{members:Object.keys(e.segments).filter(e=>!rw(e)),library:{groups:yu.map(e=>({id:e,label:bu[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function ow(e,t,n){return n.segments[e]={template:t,when:nv,bg:Ex},{kind:`segment`,name:e}}function sw(e,t,n){let r=`${wu}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${ka}`}) (action "${r}" "✖") }}`}function cw(e){return`{{ if ${Qc(tv)} }}${e}{{ end }}`}function lw(e,t){return e.reduce((e,t)=>`{{ if and ${Qc(tv)} ${Qc(t)} }}true{{ else }}${e}{{ end }}`,t)}function uw(e){return e.flatMap(e=>[...Ns(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function dw(e,t,n){return`${$_}${e}.${t}.${n}`}function fw(e,t,n,r){let i=ks(n),a=`${wu}${e.presetIdent}`,o=ev(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=b_(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:Gc},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:J_,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=dw(e.presetIdent,i,r),l=`${$_}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:qs(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=mx(fx(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};let p=`${d}.list`;return e.artifacts.segments[d]={template:f.template},e.artifacts.segments[p]={template:f.list.template},Xc(d,f.list.ref,{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:p}]},`drop`)});return{term:`{{ action "${s}" "⚙️" }}`,ref:{variable:J_,key:J_,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const pw=`${wu}label:`;function mw(e){if(e.startsWith(pw)){let t=e.slice(pw.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function hw(e,t,n,r){let{artifacts:i}=n,a=ks(e),o=`${pw}${a}:${e.name}`;i.segments[o]={template:`{{ "${Yc(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=e.settings?.[Hs];return{...Xc(o,r.ref,r.body,`drop`,lw([r.ref],`{{ ${$C(n.presetIdent)} }}`)),...s!==void 0&&{settings:{theme:s}},drafts:{[Hs]:r.drafts[Hs]}}}function gw(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${wu}${i}.insert.${t}`,s=`${wu}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:iw,anchor:n,relation:r};let c=v_(o),l=y_(s,o,void 0),u=S_(l),d=x_(l,c);return a.variables[l]=nl(l,Gc),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=rl(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${Qc({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${ka}`}) $m }}{{ end }}`}}function _w(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!rw(e.name)),i=e=>_w(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=Ms(o,i);if(rw(o.name)){n.push(s);continue}let c=ks(o),l=a===r?[gw(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=gw(t,u,c,`after`),f=sw(t,u,c),p=t.segments[o.name],m=fw(t,u,o,Us(p)),h=cw(f),g=cw(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>ow(e.host,e.template,t.artifacts)),{...hw(o,p,t,m),lead:h,trail:g},{...s,when:tw(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},ow(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:lw(uw(n),tw(t.presetIdent,`true`,e.when))}}}function vw(e,t,n,r,i,a,o){let s=`${wu}${t}.resetLayout`,c=`${wu}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:nw},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},yw(e,o)]}}function yw(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),yw(n,t)]}:{...e,children:[...e.children,t]}}function bw(e,t,n,r,i,a){let{node:o}=M_(e,t),s={presetIdent:xu(t),rootKey:yx(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=_w(o,s);return n.variables[QC(s.presetIdent)]=ew(s.configured),vw(c,s.presetIdent,s.rootKey,n,r,i,a)}function xw(e){let t={variables:{},actions:{},segments:{}},n=wx(`${wu}help`,Mx,[tv],t);t.variables[UC]=nl(UC,Gc),t.actions[UC]=rl(UC,ZC.member),t.segments[UC]={template:$c(UC,...WC),when:nv};let r={kind:`segment`,name:UC},i=n;t.variables[JC]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[GC]={do:[IS,...Z_]},t.segments[GC]={template:`{{ if ${XC} }}{{ action "${GC}" "✓ save" }}{{ else }}{{ action "${GC}" "✓ done" }}{{ end }}`,when:nv},t.actions[qC]={rewind:!0},t.actions[KC]={do:[qC,...Z_]},t.segments[KC]={template:`{{ action "${KC}" "↩ cancel" }}`,when:`{{ and ${Qc(tv)} ${YC} }}`};let a=[{kind:`segment`,name:GC},{kind:`segment`,name:KC}],o={...e.presets},s=[];for(let n of k_(e.presets)){let c=bw(e,n,t,a,r,i);s.push(c),o[n]={...j_(e.presets,n),root:c}}let c=Kb(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}const Sw=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`doctor`,`ceiling`,`slash`,`do`];function Cw(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function ww(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function Tw(e,t){if(t===void 0)return{};if(!rc(t))return Q(e,`actions`,`actions must be an object, got ${ic(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=Ew(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 Ew(e,t,n){if(!rc(n))return Q(e,t,`${t} must be an action object, got ${ic(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=Sw.filter(e=>e in n);return r.length===1?Dw[r[0]](e,t,n):(Q(e,t,`action must declare exactly one of: ${Sw.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const Dw={set:(e,t,n)=>aT(e,t,n,`set`,tT),persist:(e,t,n)=>aT(e,t,n,`persist`,nT),copy:Ow(`copy`),open:Ow(`open`),reset:kw,undo:jw(`undo`),redo:jw(`redo`),back:jw(`back`),rewind:jw(`rewind`),save:jw(`save`),preset:Mw,doctor:Nw,ceiling:Pw,slash:Fw,do:Iw};function Ow(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=Qs(t,n,r,e);return i===null?null:{[e]:i}}}function kw(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=Lw(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 Aw={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 jw(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 — ${Aw[e]}), got ${G(r[e])}`),null)}}function Mw(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=Qs(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function Nw(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`||Ux(a)===void 0?(Q(e,`${t}.check`,`doctor fix must name a check (have: ${Vx.map(e=>e.name).join(`, `)}), got ${G(a)}`),null):{doctor:`fix`,check:a}}function Pw(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 Fw(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=nS(n.slash);return r.kind===`refused`?(Q(e,`${t}.slash`,r.reason),null):{slash:r.line}}function Iw(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 Lw(e,t,n,r,i,a){let o=Qs(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 Rw={set:`the SessionState key to write`,persist:`the config globals field to write`};function zw(e,t,n,r){let i=Rw[r],a=Lw(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 Bw(e){return e===`set`?`set-state`:`set-config`}const Vw={to:oT(`set`)},Hw={to:oT(`persist`)},Uw={from:sT(`set`)},Ww={from:sT(`persist`)},Gw={min:fT(),max:fT(),by:fT()},Kw={int:lT()},qw={cycle:cT(`set`)},Jw={cycle:cT(`persist`)},Yw={removeSegment:uT(`removeSegment`)},Xw={insertSegment:uT(`insertSegment`),anchor:uT(`anchor`),relation:dT()},Zw={insertSegmentFrom:sT(`persist`),anchor:uT(`anchor`),relation:dT()},Qw={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},$w={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function eT(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>sc(e,t,n,r),c=Tc(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?hc(s,...n):s}}const tT=[eT(`set`,Vw),eT(`set`,Uw),eT(`set`,Gw,[Qw,$w]),eT(`set`,Kw),eT(`set`,qw)],nT=[eT(`persist`,Hw),eT(`persist`,Ww),eT(`persist`,Gw,[Qw,$w]),eT(`persist`,Jw),eT(`persist`,Yw),eT(`persist`,Xw,[],[`insertSegment`]),eT(`persist`,Zw,[],[`insertSegmentFrom`])];function rT(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 iT(e){let t=rT(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 aT(e,t,n,r,i){let a=zw(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Q(e,t,`${iT(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 oT(e){let t=Bw(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>Lw(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 sT(e){let t=Bw(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 cT(e){let t=Bw(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 ${ic(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 lT(){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 uT(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=Qs(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 dT(){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 fT(){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 pT(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const mT={noun:`style key`,fields:{hueShift:yc(),chromaScale:yc({min:0}),lightnessScale:yc(),lightnessShift:yc()}};function hT(e,t){if(!rc(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${ic(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(po(r)){e.issues.push({path:`styles.${r}`,message:pT(`styles.${r}`,r,`globals.endcaps`),line:W(e.source,[`styles`,r])});continue}let t=ac(e,mT,`styles.${r}`,i);t!==null&&(n[r]={...zn,...t})}return n}const gT={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:md(e,`${t}.${n}`,r[n])},globals:{required:!1,json:Ol(),parse:(e,t,n,r)=>r[n]===void 0?void 0:Dl(e,`${t}.${n}`,r[n])}}};function _T(e,t){if(!rc(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${ic(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=ac(e,gT,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function vT(e,t){if(t===void 0)return{};if(!rc(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${ic(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 yT=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 bT(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 xT(e){let t=yT.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${bT(t)}`}function ST(e){let t=yT.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${bT(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function CT(e,t){let n=new Map;for(let e of Object.keys(t)){let t=xu(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 wT(e,t,n){let r=[[[`globals`],t.globals.style],[[`editGlobals`],t.editGlobals.style],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style])];for(let[n,i]of r){if(i===void 0||io(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:po(i)?pT(r,i,`${n.join(`.`)}.endcaps`):`${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`])}),CT(e,t.presets);let i=sx(t),a=cx(i);for(let[n,r]of Object.entries(t.actions)){if(!(`set`in r))continue;if(Bb.has(r.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${r.set}", which has no session pick — globals.${r.set} is set in the config file only, so a click would change nothing; write it with { persist: "${r.set}", … } instead`,line:W(e.source,[`actions`,n,`set`])}),`from`in r&&typeof r.from==`string`&&!a.includes(r.from)){e.issues.push({path:`actions.${n}.from`,message:`actions.${n} from: references unknown option domain "${r.from}" (have: ${a.join(`, `)})`,line:W(e.source,[`actions`,n,`from`])});continue}let t=Wb.get(r.set);t!==void 0&&VT(e,n,r,t,i)}for(let[n,r]of Object.entries(t.actions))`do`in r&&r.do.forEach((i,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,i)?t.actions[i]:void 0,s=o===void 0?`references unknown action "${i}"`:`do`in o?`"${i}" is itself a do action — list its members here instead`:r.do.indexOf(i)===a?a>0&&ww(o)?`"${i}" 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:`"${i}" 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,r]of Object.entries(t.actions)){let i=`persist`in r?r.persist:`reset`in r?r.reset:null;if(i===null)continue;let a=`persist`in r?`persist`:`reset`,o=xx(i);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a config globals field (have: ${Ml().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, or a "presets.<name>.root" target`,line:W(e.source,[`actions`,n,a])});continue}let s=TT.filter(e=>e in r);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" 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`){ET(e,t,n,a,i,o.preset,r);continue}if(o.scope===`preset-globals`&&!k_(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names preset "${o.preset}" which is not declared (have: ${k_(t.presets).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}: "${i}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${Au(o.segment)}`,line:W(e.source,[`actions`,n,a])});continue}`min`in r&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" 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])})}}let o=Ev(t);for(let t of o.names)t!==`settings`&&!t.startsWith(DT)||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 s=(t,n,r)=>{kC(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${xS}" ${kC(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}),AC(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${xS}" 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}),c(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 tone, 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 Ns(t)){if(e.kind!==`segment`)continue;let t=ks(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=js(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 c(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>c(n,t||Os[e.direction]===`cell`))}let l=(n,r)=>{for(let[i,a]of Rc(n,r)){let n=W(e.source,a.split(`.`));if(i.when!==void 0&&(zT(e,`${a}.when`,i.when,o,{line:n}),RT(e,`${a}.when`,i.when,n)),i.kind===`segment`){if(EC(i.name)){(i.id!==void 0||i.settings!==void 0)&&e.issues.push({path:a,message:`${r} gives the global settings menu anchor "${xS}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${xS}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,i.name)||e.issues.push({path:a,message:`${r} entry "${i.name}" does not match any declared segment${Au(i.name)}`,line:n}),FT(e,t,i,a,n)}}};n.root!==void 0&&l(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&l(t.root,`presets.${e}.root`);let u=new Map([[`root`,Ic(t.root)]]);for(let e of k_(t.presets)){let{node:n,path:r}=M_(t,e);u.set(r,n)}for(let[t,n]of u)s(n,t,W(e.source,t.split(`.`)));for(let[n,r]of Object.entries(t.variables)){IT(e,`variables.${n}`,r,o);let t=xT(n);t!==void 0&&e.issues.push({path:`variables.${n}`,message:t,line:W(e.source,[`variables`,n])})}for(let[n,r]of Object.entries(t.segments)){if(r.vars)for(let[t,i]of Object.entries(r.vars))IT(e,`segments.${n}.vars.${t}`,i,o,n);let i=Us(r);kT(e,n,i);let a=OT(o,i);for(let o of[`template`,`bg`,`fg`,`when`]){let s=r[o];if(typeof s==`string`){zT(e,`segments.${n}.${o}`,s,a,{segCtx:n,settings:i});for(let{name:r,site:i,via:a}of Cv(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=i===`options`?` (in a picker, menu or carousel)`:``;if(a!==null){BT(e,a,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${n}.${o}`,message:`${o} references unknown action "${r}"${s}`,line:W(e.source,[`segments`,n,o])})}}}}for(let[n,r]of Object.entries(t.variables))LT(e,`variables.${n}`,r,o);for(let[n,r]of Object.entries(t.segments))if(r.vars)for(let[t,i]of Object.entries(r.vars))LT(e,`segments.${n}.vars.${t}`,i,o,n)}const TT=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function ET(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=W(e.source,[`actions`,n,r]);if(!k_(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${k_(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(`, `)})${Au(i)}`,line:c})},p=new Set(As(M_(t,a).node)),m=(r,i)=>{!ku.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${Au(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 DT=`settings.`;function OT(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>DT+e)])}}function kT(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=MT(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Gs(n,jT(n)))i(e,`the defaults do not stand together: ${t}`)}function AT(e){return MT(e).length>0||Gs(e,jT(e)).length>0}function jT(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function MT(e){let t=t=>Ws(NT(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Ws(NT(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${PT(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 NT(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function PT(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Ws(n)!==void 0).map(([e])=>e)}function FT(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=Us(a),s=`${r}: placement "${ks(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(`, `)})`:Ks(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?Ya(a):``}, but it must be ${Ys(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])=>Ks(o[e],t))||AT(o)))for(let{message:t}of Gs(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function IT(e,t,n,r,i){n.kind===`template`&&zT(e,`${t}.template`,n.template,r,{segCtx:i}),Bs(n)&&n.cache&&`key`in n.cache&&zT(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function LT(e,t,n,r,i){if(Bs(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 RT(e,t,n,r){try{K_.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function zT(e,t,n,r,i){for(let[a,o]of yv(n,r.helpers)){if(Tv(a,r))continue;if(a.startsWith(DT)){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){BT(e,o,`Template references unknown variable ".${a}"${ST(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&Tv(n,r)?` (segment-local vars are namespaced — write ".${n}")`:ST(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??W(e.source,t.split(`.`))})}}function BT(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 VT(e,t,n,r,i){let a=n.set,o=hl(Lb[r].configKey),s=`${a} takes ${dx(o,i)}`;if(`min`in n&&(o===`bool`||`from`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=WT(n,i);if(c===UT){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=>!ux(o,e.value,i));if(l.length!==0){if(a===Lb.style.sessionKey&&c.every(e=>po(e.value))){let r=Lb.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:pT(`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<=HT?r.join(`, `):`${r.slice(0,HT).join(`, `)} and ${r.length-HT} 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 HT=3,UT=Symbol(`any integer`);function WT(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?lx(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)}]:UT}function GT(e,t){let{graph:n,nodeInfo:r}=KT(t),i=new Map,a=[];for(let e of n.keys())i.set(e,0);for(let e of n.keys())if(i.get(e)===0&&o(e))return;function o(t){i.set(t,1),a.push(t);for(let s of n.get(t)??[]){let t=i.get(s);if(t===1){let t=a.indexOf(s),n=[...a.slice(t),s],i=n[0],o=r.get(i);return e.issues.push({path:o?.declarationPath??`variables.${i}`,message:`Dependency cycle: ${n.join(` → `)}`,line:W(e.source,o?.linePathParts??[`variables`,i])}),!0}if(t===0&&o(s))return!0}return i.set(t,2),a.pop(),!1}}function KT(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 yv(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),Bs(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 qT=[`json5`,`json`];function JT(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function YT(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?m.homedir()+e.slice(1):e}function XT(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?qT.map(t=>c.join(e,`.cc-candybar.${t}`)):[],...qT.map(e=>c.join(r,`.cc-candybar.${e}`)),...qT.map(e=>`${ZT()}.${e}`)])]}function ZT(){let e=process.env.XDG_CONFIG_HOME??c.join(m.homedir(),`.config`);return c.join(e,`cc-candybar`,`config`)}function QT(e,t,n){let r=[];for(let i of XT(e,t,n)){let e=JT(i);if(e===`present`)return{kind:`file`,path:i,unchecked:r};e!==`absent`&&r.push(e)}if(n===void 0)return{kind:`default`,unchecked:r};let[i]=r;return i===void 0?{kind:`missing`,path:n}:{kind:`unreadable`,...i}}function $T(e,t,n){let r=QT(e,t,n);return r.kind===`default`?`${ZT()}.${qT[0]}`:r.path}function eE(e){return tE(e).join(`
163
- `)||null}function tE(e){switch(e.kind){case`file`:case`default`: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 nE(e,t,n){let i=new Map;for(let a of XT(e,t,n)){if(JT(a)!==`present`)continue;let e=r.realpathSync(c.dirname(a));i.has(e)||i.set(e,a)}return[...i.values()].slice(1)}function rE(e,t){let n=XT(e,t).filter(e=>JT(e)===`present`),r=new Map;for(let e of n){let t=c.dirname(e),n=c.basename(e).replace(/\.(json5|json)$/,``),i=c.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 iE(e,t,n){return e===null?{...oE,config:Vc(oE.raw,t)}:aE(e,r.readFileSync(e,`utf-8`),t,n)}function aE(e,t,n,r){let i={source:t,...lE(e,t,r,Wu(n))};return{...i,config:Vc(i.raw,n)}}const oE={raw:{},source:``,warnings:[]};function sE({config:e,raw:t,source:n},r=`<config>`,i=new Set(Qa())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(wT(o,e,t),GT(o,e),a.length>0)throw new Ss(r,a);let s=G_(e,a);if(a.length>0)throw new Ss(r,a);return xw(HC(s))}function cE(e,t,n=new Set(Qa()),r=uE){return lE(e,t,n,r).raw}function lE(e,t,n,r){let i=dE(e,t),a=Ts(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set(Qa()),groups:[]};if(!rc(i))throw new Ss(e,[{path:``,message:`Config root must be an object, got ${ic(i)}`}],o);let l=fE(c,i,r);if(s.length>0)throw new Ss(e,s,o);return{raw:l,warnings:o}}const uE=new Set;function dE(e,t){try{return et.default.parse(t)}catch(t){let n=t;throw new Ss(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function fE(e,t,n){for(let n of Object.keys(t))pE.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...pE].join(`, `)}`,line:W(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=El(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=Kl(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=Gu(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.
161
+ `,Ix=`readableOn (mix (color "foreground") (bgOf) 60) (bgOf) 3`,Lx={socket:`TMUX`,pane:`TMUX_PANE`,truecolor:`CLAUDE_CODE_TMUX_TRUECOLOR`};function Rx(e){let t=e[Lx.socket]??``,n=e[Lx.pane]??``;if(t===``||n===``)return null;let r=e[Lx.truecolor]??``;return{socket:t.split(`,`)[0],pane:n,truecolor:r===``?null:r}}function zx(e){let[t,...n]=e;return t===void 0?{ok:!0}:{ok:!1,reason:t,more:n}}const Bx=Lx.truecolor,Vx={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[Bx];return typeof n==`string`&&n!==``?{ok:!1,reason:`${Bx} 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-env`,name:Bx,value:`1`}}}}}},Hx={variable:`is never read`,action:`is never clicked`,helper:`is never called`,segment:`is in no preset`},Ux={name:`config`,label:`config`,probe:({config:e})=>{switch(e.kind){case`failed`:{let[t=`the config failed to load`,...n]=[...e.error.split(`
162
+ `).map(e=>e.trim()).filter(e=>e!==``),...e.warnings];return{ok:!1,reason:t,more:n}}case`loaded`:return zx([...e.warnings,...e.shadowed.map(t=>`${t} is never read — ${e.path??`another config`} is found first`),...e.unused.map(({kind:e,name:t})=>`${e} "${t}" ${Hx[e]}`)])}}},Wx="re-run `cc-candybar install`";function Gx(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:// — ${Wx}`];let{app:t,missing:n}=e.value;return n.kind===`failed`?[`${t} opens cc-candybar://, but ${n.reason} — ${Wx}`]:n.value.map(e=>`${e} is missing, and ${t} runs it — ${Wx}`)}const Kx=[Ux,{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}) — ${Wx}`:`the URL handler runs cc-candybar ${e.handler}; the bar runs ${e.bar} — ${Wx}`};case`lost`:return zx([...Gx(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}`])}}},Vx];function qx(e){return Kx.map(t=>({check:t,verdict:t.probe(e)}))}function Jx(e){return Kx.find(t=>t.name===e)}const Yx=`${Eu}doctor.`;function Xx(e){let t=`${Yx}${e}.`;return{verdict:`${t}verdict`,reason:`${t}reason`,fixable:`${t}fixable`}}function Zx(e,t=[]){return t.length===0?e:`${e} (+${t.length} more — run \`cc-candybar doctor\`)`}function Qx(e){return e.flatMap(({check:e,verdict:t})=>{let n=Xx(e.name);return t.ok?[{key:n.verdict,value:`ok`},{key:n.reason,value:``},{key:n.fixable,value:wo}]:[{key:n.verdict,value:`failed`},{key:n.reason,value:Zx(t.reason,t.more)},{key:n.fixable,value:t.fix===void 0?wo:Co}]})}const $x={copySession:{copy:`{{ .session.id }}`},copyResume:{copy:`{{ .resume_command }}`},openProject:{open:`{{ .project_dir }}`},openTranscript:{open:`{{ .transcript_path }}`},openConfig:{open:`{{ .config_path }}`}};function eS(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($x).map(([t,n])=>[`${e}${t}`,n]))}}const tS=`armed`,nS=`disarmed`,rS=`.armed`,iS=e=>e.endsWith(rS);function aS(e,t,n){let r=`${e}${rS}`,i=`${e}.arm`,a=`${e}.disarm`,o=`(eq .${e} "${tS}")`;return{template:`{{ if ${o} }}{{ action "${e}" "${t.confirm}" }} {{ action "${a}" "✕" }}{{ else }}{{ action "${i}" "${t.arm}" }}{{ end }}`,actions:{[i]:{set:r,to:tS},[a]:{set:r,to:nS},[e]:{do:[a,...n]}},armed:o,variables:{[e]:{kind:`state`,key:r,default:nS}},disarm:a}}const oS=RegExp(`^/[^\\s\\x00-\\x1f\\x7f-\\x9f/][^\\x00-\\x1f\\x7f-\\x9f]*$`);function sS(e){return typeof e==`string`&&oS.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 cS(e){let t=sS(e);if(t.kind===`refused`)throw Error(t.reason);return t.line}const lS=[`/compact`,`/model`],uS=`/clear`;function dS(e){let t=t=>`${e}${t.slice(1)}`,n=`${e}clear.slash`,r=aS(`${e}clear`,{arm:uS,confirm:`${uS} ✓ confirm`},[n]);return{template:lS.map(e=>`{{ action "${t(e)}" "${e}" }} `).join(``)+r.template,when:`{{ ${Rb} }}`,actions:{...Object.fromEntries(lS.map(e=>[t(e),{slash:cS(e)}])),...r.actions,[n]:{slash:cS(uS)}},variables:r.variables,disarm:r.disarm}}function fS(e,t){let n=(e.CLAUDE_CONFIG_DIR??``).split(`,`)[0].trim();return n===``?void 0:c.resolve(t,n)}function pS(e){return e??c.join(m.homedir(),`.claude`)}function mS(e){return c.join(e,`settings.json`)}function hS(e){return c.join(e,`plugins`,`installed_plugins.json`)}function gS(e){return r.existsSync(e)?r.readFileSync(e,`utf8`):``}function _S(e){let t;try{let n=gS(e);if(/^\s*$/.test(n))return{};t=Jo.parse(n)}catch(t){throw Error(`cannot read ${e}: ${vS(t)}`,{cause:t})}if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: not a JSON object`);return t}const vS=e=>e instanceof Error?e.message:String(e),yS=Array.from({length:10},(e,t)=>(t+1)*1e5),bS=yS[0],xS=yS[yS.length-1];function SS(e){let t;try{t=_S(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>=bS&&n<=xS?J(n):X(`${e}: autoCompactWindow is ${JSON.stringify(n)}, not a window /autocompact accepts (${bS}–${xS} tokens)`)}function CS(e,t){let n=Math.min(t??xS,xS),r=e===`auto`?n:Math.min(e,n);return{window:e===`auto`?0:e,applied:e===`auto`?0:r,lower:yS.filter(e=>e<r).at(-1)??0,higher:yS.find(e=>e>r&&e<=n)??0}}function wS(e,t){return{template:`{{ if ne .autocompact.error "" }}⇲ ⚠ {{ .autocompact.error }}{{ else }}⇲ {{ if eq .autocompact.window 0 }}auto{{ else }}${t(`.autocompact.applied`)}{{ end }}{{ if ${Rb} }}{{ 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:cS(`/autocompact auto`)},...Object.fromEntries(yS.map(t=>[`${e}${t}`,{slash:cS(`/autocompact ${t}`)}]))}}}const TS=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 }}`,ES=`${Eu}menu`,DS=`open`,OS=`${Eu}edit`,kS=`${Eu}toolbar`,AS=eS(Eu),jS=`${Eu}commands`,MS=dS(`${jS}.`),NS=`${Eu}autocompact`,PS=wS(`${NS}.`,TS),FS=e=>({kind:`segment`,name:e}),IS=`${Eu}tab`,LS=[{member:`session`,label:`⚡ session`},{member:`look`,label:`🎨 look`},{member:`layout`,label:`📐 layout`},{member:`config`,label:`⚙ config`},{member:`tools`,label:`🧰 tools`}],RS=e=>`${IS}.${e}`,zS=e=>`${RS(e)}.toggle`,BS=e=>({variable:IS,key:IS,member:e}),VS=`${Eu}save`,HS=`${Eu}preset.save`,US=`${Eu}preset.delete`,WS=`${Eu}resetAll`,GS=`${ES}.toggle`,KS={variable:ES,key:ES,member:DS},qS=`${Eu}undo`,JS=`${Eu}back`,YS=`${JS}.step`,XS=`${Eu}navigation.back`,ZS=JS,QS={template:`{{ if gt .${XS} 0 }}{{ action "${JS}" "◁" }}{{ else }}{{ fg (${Ix}) "◁" }}{{ end }}`},$S=`${Eu}redo`,eC=`${Eu}doctor`,tC=`${eC}.run`,nC=e=>`${eC}.fix.${e}`,rC=e=>`${eC}.${e}`,iC=S_(`${Eu}pickers`),aC=[{template:`{{ themePreview }}`}],oC={template:`{{ layoutPreview }}`},sC={preset:[oC,{when:`{{ not .preset.bundled }}`,template:`{{ action "${US}" (printf "🗑 delete %s" .${zb.preset.effectiveVar}) }}`}],theme:aC,style:aC,variation:[oC]},cC=e=>`${Eu}${e}`,lC=e=>`${Eu}apply.${e}`,uC=e=>`${Eu}reset.${e}`,dC=e=>`${Eu}list.${e}`,fC=(e,t)=>`${dC(e)}.${t}`,pC=e=>`${Eu}resettable.${e}`,mC=e=>e.length===0?`false`:`(or ${e.map(e=>`.${pC(e)}`).join(` `)})`,hC=Object.keys(zb).map(e=>{let t=zb[e],n=gl(t.configKey),r=gx({label:t.label,domain:n},t.sessionKey,t.effectiveVar,lC(e),iC);return{...t,name:e,control:r,beneath:sC[e]??[]}}),gC={preset:`door`,theme:`look`,style:`look`,variation:`look`,endcaps:`look`,autoWrap:`layout`,padding:`layout`,updateNotice:`config`},_C=e=>hC.filter(t=>gC[t.name]===e),vC=e=>_C(e).map(AC);new Set(hC.flatMap(e=>[e.sessionKey,e.configKey]));const yC=aS(WS,{arm:`⟲`,confirm:`⟲ reset all?`},hC.map(e=>uC(e.name))),bC=[`unsaved`,`history.undo`,`history.redo`],xC=e=>`${Eu}${e}`,SC=xC(`unsaved`),CC=(e,t)=>({body:t,shown:`(gt .${xC(e)} 0)`}),wC=[CC(`unsaved`,`{{ action "${VS}" (printf "💾 save %d" .${SC}) }}`),CC(`history.undo`,`{{ action "${qS}" "↶" }}`),CC(`history.redo`,`{{ action "${$S}" "↷" }}`),{body:yC.template,shown:`(or ${mC(hC.map(e=>e.name))} ${yC.armed})`}],TC={when:`{{ or ${wC.map(e=>e.shown).join(` `)} }}`,template:`{{ $sep := "" }}`+wC.map(e=>`{{ if ${e.shown} }}{{ $sep }}${e.body}{{ $sep = " " }}{{ end }}`).join(``)},EC=[{step:yC,place:`door`},{step:MS,place:`session`}],DC=e=>e.map(e=>e.step.disarm),OC=DC(EC),kC=DC(EC.filter(e=>e.place!==`door`));function AC(e){let t=cC(e.name);return e.control.kind===`inline`?FS(t):Zc(t,e.control.list.ref,{kind:`container`,direction:`vertical`,children:[FS(dC(e.name)),...e.beneath.map((t,n)=>FS(fC(e.name,n)))]},`drop`)}function jC(e){return e===ES}function MC(e){let t=FS(ES);if(e.kind===`container`&&e.direction===`vertical`){let[n,...r]=e.children;return e.when===void 0&&n!==void 0?{...e,children:[MC(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 NC(e){return PC(e)>0?e:MC(e)}function PC(e){let t=0;for(let n of Ps(e))n.kind===`segment`&&jC(n.name)&&(t+=1);return t}function FC(e,t=!1){let n=t||e.when!==void 0;return e.kind===`segment`?n&&jC(e.name)||e.opens!==void 0&&FC(e.opens.body,!0):e.children.some(e=>FC(e,n))}const IC={session:{direction:`vertical`,content:[FS(kS),{kind:`container`,direction:`horizontal`,children:[FS(jS),FS(NS)]}]},look:{direction:`horizontal`,content:[]},layout:{direction:`horizontal`,content:[FS(HS),FS(OS)]},config:{direction:`horizontal`,content:[]},tools:{direction:`vertical`,content:[FS(eC),...Kx.map(e=>FS(rC(e.name)))]}},LC=e=>({kind:`container`,direction:IC[e].direction,children:[...IC[e].content,...vC(e)]});function RC(e){return e.kind===`segment`?jC(e.name)?Zc(e.name,KS,BC,`above`):e:HC(e)}function zC(){return{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[FS(ZS),...vC(`door`),FS(VS)]},{kind:`container`,direction:`horizontal`,children:LS.map(({member:e})=>Zc(RS(e),BS(e),LC(e),`drop`))}]}}const BC=zC();function VC(e){let t=new Map;for(let e of Ps(BC))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=`${ES}.fold.${Su(t)}`;return e.actions[i]={set:t,to:r.default},i})}function HC(e){return{...e,children:e.children.map(e=>RC(e))}}function UC(e){let t={variables:{[ES]:rl(ES,Kc)},actions:{[GS]:il(ES,DS),[tC]:{doctor:`run`},[OS]:{do:[...$_]},...AS.actions,...MS.actions,...PS.actions,[VS]:{save:!0},[qS]:{undo:!0},[YS]:{back:!0},[JS]:{do:[YS,...OC]},[$S]:{redo:!0},[HS]:{preset:`save`},[US]:{preset:`delete`,name:`{{ .${zb.preset.effectiveVar} }}`}},segments:{[ES]:{template:`{{ $door := ${tl(ES,nl(e),nl(`✖`))} }}{{ if ${$c(KS)} }}{{ fg (color "error") $door }}{{ else }}{{ $door }}{{ end }}`},[kS]:{template:AS.template},[jS]:{template:MS.template,when:MS.when},[NS]:{template:PS.template,bg:PS.bg,when:PS.when},[ZS]:QS,[VS]:TC,[HS]:{template:`{{ action "${HS}" "+ preset" }}`},[eC]:{template:`{{ action "${tC}" "🩺 doctor" }}`},[OS]:{template:`{{ action "${OS}" "✎ arrange" "✎ done" }}`}}};t.variables[XS]={kind:`input`,path:`navigation.back`,type:`number`,default:0};for(let e of bC)t.variables[xC(e)]={kind:`input`,path:e,type:`number`,default:0};t.variables[IS]=rl(IS,`session`);for(let{member:e,label:n}of LS){t.actions[zS(e)]=il(IS,e),t.actions[RS(e)]={do:[zS(e),...kC]};let r=mC(_C(e).map(e=>e.name)),i=`(ternary ${nl(` •`)} "" ${r})`,a=e=>`(print ${nl(e)} ${i})`;t.segments[RS(e)]={template:`{{ ${tl(RS(e),a(n),a(`▾ ${n}`))} }}`}}return Object.assign(t.variables,MS.variables,yC.variables),GC(t),WC(t),t.actions[ES]={do:[GS,...OC,...VC(t)]},t}function WC(e){for(let t of Kx){let n=Xx(t.name),r=nC(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[rC(t.name)]={when:`{{ ne .${n.verdict} "" }}`,template:`{{ if eq .${n.verdict} "ok" }}✓ ${t.label}{{ else }}✗ ${t.label} — {{ .${n.reason} }}{{ if eq .${n.fixable} "${Co}" }} {{ action "${r}" "[fix]" }}{{ end }}{{ end }}`}}}function GC(e){for(let t of hC){Object.assign(e.actions,t.control.actions);let n=uC(t.name);e.actions[n]={reset:t.configKey},e.variables[pC(t.name)]={kind:`input`,path:`resettable.${t.name}`,type:`boolean`,default:!1};let r=`{{ if .${pC(t.name)} }} {{ action "${n}" "↺" }}{{ end }}`;Object.assign(e.variables,t.control.variables),e.segments[cC(t.name)]={template:`${t.control.template}${r}`},t.control.kind===`picker`&&(e.segments[dC(t.name)]={template:t.control.list.template}),t.beneath.forEach((n,r)=>{e.segments[fC(t.name,r)]=n})}Object.assign(e.actions,yC.actions)}function KC(e){let{variables:t,actions:n}=cv();Object.assign(e.variables,t),Object.assign(e.actions,n)}function qC(e){let t=UC(e.globals.menuGlyph??`🍫`);KC(t);let n={...e.presets},r=[];for(let t of j_(e.presets)){let{node:i}=P_(e,t),a=RC(NC(i));r.push(a),n[t]={...N_(e.presets,t),root:a}}let i=Jb(t,r,e);return{...e,variables:{...i,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:n}}const JC=`${Tu}live`,YC=[`☐ live`,`☑ live`],XC=`${Tu}done`,ZC=`${Tu}cancel`,QC=`${Tu}rewind`,$C=`${Tu}changes`,ew=`(gt .${$C} 0)`,tw=`(or ${ew} (gt .${SC} 0))`,nw={variable:JC,key:JC,member:`open`};function rw(e){return`${Tu}configuring.p${e}`}function iw(e){return`and ${$c(rv)} (not ${$c(nw)}) (ne .${rw(e)} "true")`}function aw(e){return{kind:`template`,template:`{{ or ${e.map(e=>`(eq .${X_} "${Xc(e)}")`).join(` `)} false }}`}}function ow(e,t,n){return`{{ if ${iw(e)} }}${t}{{ else }}${n}{{ end }}`}const sw=`{{ and ${$c(rv)} .preset.customized }}`,cw=Ou,lw=`${Tu}addable`;function uw(e){return new Map([[lw,{members:Object.keys(e.segments).filter(e=>!cw(e)),library:{groups:bu.map(e=>({id:e,label:xu[e]})),entry:t=>{let n=e.segments[t];return{group:n.group??`other`,...n.description!==void 0&&{description:n.description}}}}}]])}function dw(e,t,n){return n.segments[e]={template:t,when:iv,bg:Ox},{kind:`segment`,name:e}}function fw(e,t,n){let r=`${Tu}${e.presetIdent}.remove.${t}`;return e.artifacts.actions[r]={persist:e.rootKey,removeSegment:n},`{{ fg (${`readableOn (color "error") (bgOf) ${Aa}`}) (action "${r}" "✖") }}`}function pw(e){return`{{ if ${$c(rv)} }}${e}{{ end }}`}function mw(e,t){return e.reduce((e,t)=>`{{ if and ${$c(rv)} ${$c(t)} }}true{{ else }}${e}{{ end }}`,t)}function hw(e){return e.flatMap(e=>[...Ps(e)].flatMap(e=>e.kind===`segment`&&e.opens?.ref.key===`edit.configure`?[e.opens.ref]:[]))}function gw(e,t,n){return`${tv}${e}.${t}.${n}`}function _w(e,t,n,r){let i=As(n),a=`${Tu}${e.presetIdent}`,o=nv(e.presetIdent,i);e.configured.push(o);let s=`${a}.configure.${t}`,c=S_(s),l=`${s}.fold`;e.artifacts.actions[l]={set:c,to:Kc},e.artifacts.actions[s]={do:[`${s}.open`,l]},e.artifacts.actions[`${s}.open`]={set:X_,to:o};let u={},d=Object.entries(r).map(([r,o])=>{let s=gw(e.presetIdent,i,r),l=`${tv}p${e.presetIdent}.d${t}.${r}`;e.artifacts.variables[l]={kind:`state`,key:s,default:Js(n.settings?.[r]??o.default)},u[r]={id:i,key:s,variable:l};let d=`${a}.setting.${t}.${r}`,f=gx(mx(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};let p=`${d}.list`;return e.artifacts.segments[d]={template:f.template},e.artifacts.segments[p]={template:f.list.template},Zc(d,f.list.ref,{kind:`container`,direction:`vertical`,children:[{kind:`segment`,name:p}]},`drop`)});return{term:`{{ action "${s}" "⚙️" }}`,ref:{variable:X_,key:X_,member:o},body:{kind:`container`,direction:`vertical`,children:d},drafts:u}}const vw=`${Tu}label:`;function yw(e){if(e.startsWith(vw)){let t=e.slice(vw.length);return t.slice(t.indexOf(`:`)+1)}return e.startsWith(`edit.`)?void 0:e}function bw(e,t,n,r){let{artifacts:i}=n,a=As(e),o=`${vw}${a}:${e.name}`;i.segments[o]={template:`{{ "${Xc(a)}" }}`,...t.palette!==void 0&&{palette:t.palette}};let s=e.settings?.[Us];return{...Zc(o,r.ref,r.body,`drop`,mw([r.ref],`{{ ${iw(n.presetIdent)} }}`)),...s!==void 0&&{settings:{theme:s}},drafts:{[Us]:r.drafts[Us]}}}function xw(e,t,n,r){let{presetIdent:i,artifacts:a}=e,o=`${Tu}${i}.insert.${t}`,s=`${Tu}${i}.insertSeg.${t}`;a.actions[o]={persist:e.rootKey,insertSegmentFrom:lw,anchor:n,relation:r};let c=b_(o),l=x_(s,o,void 0),u=w_(l),d=C_(l,c);return a.variables[l]=rl(l,Kc),a.variables[u]={kind:`state`,key:u,default:`0`},a.actions[d]=il(l,c),a.actions[u]={set:u,int:!0},{host:s,template:`{{ $m := menu "${o}" "✚" "✕" }}{{ if ${$c({variable:l,key:l,member:c})} }}{{ $m }}{{ else }}{{ fg (${`readableOn (color "success") (bgOf) ${Aa}`}) $m }}{{ end }}`}}function Sw(e,t){let n=[],r=e.children.findIndex(e=>e.kind===`segment`&&!cw(e.name)),i=e=>Sw(e,t);for(let[a,o]of e.children.entries()){if(o.kind===`container`){n.push(i(o));continue}let s=Ns(o,i);if(cw(o.name)){n.push(s);continue}let c=As(o),l=a===r?[xw(t,String(t.posCounter.n++),c,`before`)]:[],u=String(t.posCounter.n++),d=xw(t,u,c,`after`),f=fw(t,u,c),p=t.segments[o.name],m=_w(t,u,o,Ws(p)),h=pw(f),g=pw(m.term),_={kind:`container`,direction:`horizontal`,children:[...l.map(e=>dw(e.host,e.template,t.artifacts)),{...bw(o,p,t,m),lead:h,trail:g},{...s,when:ow(t.presetIdent,`false`,o.when??`true`),lead:h,trail:g,drafts:m.drafts},dw(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:mw(hw(n),ow(t.presetIdent,`true`,e.when))}}}function Cw(e,t,n,r,i,a,o){let s=`${Tu}${t}.resetLayout`,c=`${Tu}${t}.customized`;return r.actions[s]={reset:n},r.segments[c]={template:`{{ action "${s}" "↺ reset layout" }}`,when:sw},{kind:`container`,direction:`vertical`,children:[{kind:`container`,direction:`horizontal`,children:[...i,{kind:`segment`,name:c},a]},ww(e,o)]}}function ww(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),ww(n,t)]}:{...e,children:[...e.children,t]}}function Tw(e,t,n,r,i,a){let{node:o}=P_(e,t),s={presetIdent:Su(t),rootKey:xx(t),segments:e.segments,artifacts:n,posCounter:{n:0},configured:[]},c=Sw(o,s);return n.variables[rw(s.presetIdent)]=aw(s.configured),Cw(c,s.presetIdent,s.rootKey,n,r,i,a)}function Ew(e){let t={variables:{},actions:{},segments:{}},n=Ex(`${Tu}help`,Px,[rv],t);t.variables[JC]=rl(JC,Kc),t.actions[JC]=il(JC,nw.member),t.segments[JC]={template:el(JC,...YC),when:iv};let r={kind:`segment`,name:JC},i=n;t.variables[$C]={kind:`input`,path:`history.sinceEdit`,type:`number`,default:0},t.actions[XC]={do:[VS,...$_]},t.segments[XC]={template:`{{ if ${tw} }}{{ action "${XC}" "✓ save" }}{{ else }}{{ action "${XC}" "✓ done" }}{{ end }}`,when:iv},t.actions[QC]={rewind:!0},t.actions[ZC]={do:[QC,...$_]},t.segments[ZC]={template:`{{ action "${ZC}" "↩ cancel" }}`,when:`{{ and ${$c(rv)} ${ew} }}`};let a=[{kind:`segment`,name:XC},{kind:`segment`,name:ZC}],o={...e.presets},s=[];for(let n of j_(e.presets)){let c=Tw(e,n,t,a,r,i);s.push(c),o[n]={...N_(e.presets,n),root:c}}let c=Jb(t,s,e);return{...e,variables:{...c,...e.variables,...t.variables},actions:{...e.actions,...t.actions},segments:{...e.segments,...t.segments},presets:o}}const Dw=[`set`,`persist`,`copy`,`open`,`reset`,`undo`,`redo`,`back`,`rewind`,`save`,`preset`,`doctor`,`ceiling`,`slash`,`do`];function Ow(e){return e.ceiling===`set`?[`set`,e.to]:[`clear`]}function kw(e){return`from`in e||`int`in e||`insertSegmentFrom`in e}function Aw(e,t){if(t===void 0)return{};if(!ic(t))return Q(e,`actions`,`actions must be an object, got ${ac(t)}`),{};let n=Object.create(null);for(let[r,i]of Object.entries(t)){let t=jw(e,`actions.${r}`,i);t!==null&&(n[r]=t)}return n}function Q(e,t,n){e.issues.push({path:t,message:n,line:G(e.source,t.split(`.`))})}function jw(e,t,n){if(!ic(n))return Q(e,t,`${t} must be an action object, got ${ac(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=Dw.filter(e=>e in n);return r.length===1?Mw[r[0]](e,t,n):(Q(e,t,`action must declare exactly one of: ${Dw.join(`, `)}${r.length>1?` (found: ${r.join(`, `)})`:``}`),null)}const Mw={set:(e,t,n)=>uT(e,t,n,`set`,oT),persist:(e,t,n)=>uT(e,t,n,`persist`,sT),copy:Nw(`copy`),open:Nw(`open`),reset:Pw,undo:Iw(`undo`),redo:Iw(`redo`),back:Iw(`back`),rewind:Iw(`rewind`),save:Iw(`save`),preset:Lw,doctor:Rw,ceiling:zw,slash:Bw,do:Vw};function Nw(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=$s(t,n,r,e);return i===null?null:{[e]:i}}}function Pw(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=Hw(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 Fw={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 Iw(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 — ${Fw[e]}), got ${K(r[e])}`),null)}}function Lw(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 ${K(r)}`),null;if(r===`save`)return{preset:`save`};let a=$s(e,t,n,`name`);return a===null?null:{preset:`delete`,name:a}}function Rw(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 ${K(r)}`),null;if(r===`run`)return{doctor:`run`};let a=n.check;return typeof a!=`string`||Jx(a)===void 0?(Q(e,`${t}.check`,`doctor fix must name a check (have: ${Kx.map(e=>e.name).join(`, `)}), got ${K(a)}`),null):{doctor:`fix`,check:a}}function zw(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 ${K(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 ${K(a)}`),null):{ceiling:`set`,to:a}}function Bw(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=sS(n.slash);return r.kind===`refused`?(Q(e,`${t}.slash`,r.reason),null):{slash:r.line}}function Vw(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 ${K(r)}`),null):{do:r}}function Hw(e,t,n,r,i,a){let o=$s(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 Uw={set:`the SessionState key to write`,persist:`the config globals field to write`};function Ww(e,t,n,r){let i=Uw[r],a=Hw(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 Gw(e){return e===`set`?`set-state`:`set-config`}const Kw={to:dT(`set`)},qw={to:dT(`persist`)},Jw={from:fT(`set`)},Yw={from:fT(`persist`)},Xw={min:_T(),max:_T(),by:_T()},Zw={int:mT()},Qw={cycle:pT(`set`)},$w={cycle:pT(`persist`)},eT={removeSegment:hT(`removeSegment`)},tT={insertSegment:hT(`insertSegment`),anchor:hT(`anchor`),relation:gT()},nT={insertSegmentFrom:fT(`persist`),anchor:hT(`anchor`),relation:gT()},rT={ok:e=>e.min<e.max,issue:e=>({field:`min`,message:`min (${e.min}) must be less than max (${e.max})`})},iT={ok:e=>e.by!==0,issue:()=>({field:`by`,message:`by must be a non-zero integer (the per-click increment; negative steps down)`})};function aT(e,t,n=[],r){let i=Object.keys(t),a=r??i,o=[e],s=(e,n,r)=>cc(e,t,n,r),c=Ec(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?gc(s,...n):s}}const oT=[aT(`set`,Kw),aT(`set`,Jw),aT(`set`,Xw,[rT,iT]),aT(`set`,Zw),aT(`set`,Qw)],sT=[aT(`persist`,qw),aT(`persist`,Yw),aT(`persist`,Xw,[rT,iT]),aT(`persist`,$w),aT(`persist`,eT),aT(`persist`,tT,[],[`insertSegment`]),aT(`persist`,nT,[],[`insertSegmentFrom`])];function cT(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 lT(e){let t=cT(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 uT(e,t,n,r,i){let a=Ww(e,t,n,r),o=i.filter(e=>e.detect.some(e=>e in n));if(o.length!==1)return Q(e,t,`${lT(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 dT(e){let t=Gw(e);return{required:!0,json:{type:`string`},parse:(n,r,i,a)=>Hw(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 fT(e){let t=Gw(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 ${K(o)}`)}}}function pT(e){let t=Gw(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 ${ac(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 mT(){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 ${K(r[n])}`);return}return!0}}}function hT(e){return{required:!0,json:{type:`string`},parse:(t,n,r,i)=>{let a=$s(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 gT(){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 ${K(i)}`);return}return i}}}function _T(){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 ${K(i)}`);return}return i}}}function vT(e,t,n){return`${e}: "${t}" is an endcaps shape, not a style — endcaps were renamed from "style" to "endcaps"; write ${n}: "${t}"`}const yT={noun:`style key`,fields:{hueShift:bc(),chromaScale:bc({min:0}),lightnessScale:bc(),lightnessShift:bc()}};function bT(e,t){if(!ic(t))return e.issues.push({path:`styles`,message:`styles must be an object mapping style names to adaptation objects, got ${ac(t)}`,line:G(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:G(e.source,[`styles`,r])});continue}if(mo(r)){e.issues.push({path:`styles.${r}`,message:vT(`styles.${r}`,r,`globals.endcaps`),line:G(e.source,[`styles`,r])});continue}let t=oc(e,yT,`styles.${r}`,i);t!==null&&(n[r]={...Bn,...t})}return n}const xT={noun:`preset key`,fields:{root:{required:!1,json:{$ref:`#/definitions/RootFragment`},parse:(e,t,n,r)=>r[n]===void 0?void 0:gd(e,`${t}.${n}`,r[n])},globals:{required:!1,json:kl(),parse:(e,t,n,r)=>r[n]===void 0?void 0:Ol(e,`${t}.${n}`,r[n])}}};function ST(e,t){if(!ic(t))return e.issues.push({path:`presets`,message:`presets must be an object mapping preset names to config fragments, got ${ac(t)}`,line:G(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:G(e.source,[`presets`,r])});continue}let t=oc(e,xT,`presets.${r}`,i);t!==null&&(n[r]=t)}return n}function CT(e,t){if(t===void 0)return{};if(!ic(t))return e.issues.push({path:`helpers`,message:`helpers must be an object, got ${ac(t)}`,line:G(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 ${K(i)}`,line:G(e.source,[`helpers`,r])});continue}n[r]=i}return n}const wT=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 TT(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 ET(e){let t=wT.get(e);return t===void 0?void 0:`variables.${e} is no longer read: ${TT(t)}`}function DT(e){let t=wT.get(e);return t===void 0?``:` — ".${e}" is no longer a variable: ${TT(t)}; a "${t.segment}" template reads it as ".settings.${t.setting}"`}function OT(e,t){let n=new Map;for(let e of Object.keys(t)){let t=Su(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:G(e.source,[`presets`])})}function kT(e,t,n){let r=[[[`globals`],t.globals.style],[[`editGlobals`],t.editGlobals.style],...Object.entries(t.presets).map(([e,t])=>[[`presets`,e,`globals`],t.globals?.style])];for(let[n,i]of r){if(i===void 0||ao(i)||Object.prototype.hasOwnProperty.call(t.styles,i))continue;let r=`${n.join(`.`)}.style`;e.issues.push({path:r,message:mo(i)?vT(r,i,`${n.join(`.`)}.endcaps`):`${r} "${i}" does not match any declared style (have: ${Object.keys(t.styles).join(`, `)})`,line:G(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:G(e.source,[`globals`,`preset`])}),OT(e,t.presets);let i=lx(t),a=ux(i);for(let[n,r]of Object.entries(t.actions)){if(!(`set`in r))continue;if(Hb.has(r.set)&&e.issues.push({path:`actions.${n}.set`,message:`actions.${n} sets "${r.set}", which has no session pick — globals.${r.set} is set in the config file only, so a click would change nothing; write it with { persist: "${r.set}", … } instead`,line:G(e.source,[`actions`,n,`set`])}),`from`in r&&typeof r.from==`string`&&!a.includes(r.from)){e.issues.push({path:`actions.${n}.from`,message:`actions.${n} from: references unknown option domain "${r.from}" (have: ${a.join(`, `)})`,line:G(e.source,[`actions`,n,`from`])});continue}let t=Kb.get(r.set);t!==void 0&&KT(e,n,r,t,i)}for(let[n,r]of Object.entries(t.actions))`do`in r&&r.do.forEach((i,a)=>{let o=Object.prototype.hasOwnProperty.call(t.actions,i)?t.actions[i]:void 0,s=o===void 0?`references unknown action "${i}"`:`do`in o?`"${i}" is itself a do action — list its members here instead`:r.do.indexOf(i)===a?a>0&&kw(o)?`"${i}" 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:`"${i}" 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:G(e.source,[`actions`,n,`do`])})});for(let[n,r]of Object.entries(t.actions)){let i=`persist`in r?r.persist:`reset`in r?r.reset:null;if(i===null)continue;let a=`persist`in r?`persist`:`reset`,o=Cx(i);if(o===null){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a config globals field (have: ${Nl().join(`, `)}), a "segments.<name>.palette" target, a "presets.<name>.globals.<field>" target, or a "presets.<name>.root" target`,line:G(e.source,[`actions`,n,a])});continue}let s=AT.filter(e=>e in r);if(o.scope!==`preset-root`&&s.length>0){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is not a "presets.<name>.root" target — ${s.map(e=>`"${e}"`).join(`/`)} is a tree op and applies only to one`,line:G(e.source,[`actions`,n,a])});continue}if(o.scope===`preset-root`){jT(e,t,n,a,i,o.preset,r);continue}if(o.scope===`preset-globals`&&!j_(t.presets).includes(o.preset)){e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" names preset "${o.preset}" which is not declared (have: ${j_(t.presets).join(`, `)})`,line:G(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}: "${i}" names segment "${o.segment}" which is not declared (have segments: ${Object.keys(t.segments).join(`, `)})${Mu(o.segment)}`,line:G(e.source,[`actions`,n,a])});continue}`min`in r&&e.issues.push({path:`actions.${n}.${a}`,message:`actions.${n}: "${i}" is a segment palette target and cannot use a bounded stepper (min/max/by) — use "to", "from", or "cycle" instead`,line:G(e.source,[`actions`,n,a])})}}let o=Ov(t);for(let t of o.names)t!==`settings`&&!t.startsWith(MT)||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:G(e.source,[`variables`,t])});let s=(t,n,r)=>{PC(t)>1&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${ES}" ${PC(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}),FC(t)&&e.issues.push({path:n,message:`${n} places the global settings menu anchor "${ES}" 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}),c(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 tone, 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 Ps(t)){if(e.kind!==`segment`)continue;let t=As(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=Ms(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 c(e,t=!1){return e.kind===`segment`?!1:t&&e.distribution!==void 0||e.children.some(n=>c(n,t||ks[e.direction]===`cell`))}let l=(n,r)=>{for(let[i,a]of zc(n,r)){let n=G(e.source,a.split(`.`));if(i.when!==void 0&&(WT(e,`${a}.when`,i.when,o,{line:n}),UT(e,`${a}.when`,i.when,n)),i.kind===`segment`){if(jC(i.name)){(i.id!==void 0||i.settings!==void 0)&&e.issues.push({path:a,message:`${r} gives the global settings menu anchor "${ES}" an id or settings — the anchor only marks where the menu goes, so place it as the bare name "${ES}"`,line:n});continue}Object.prototype.hasOwnProperty.call(t.segments,i.name)||e.issues.push({path:a,message:`${r} entry "${i.name}" does not match any declared segment${Mu(i.name)}`,line:n}),BT(e,t,i,a,n)}}};n.root!==void 0&&l(n.root,`root`);for(let[e,t]of Object.entries(n.presets??{}))t.root!==void 0&&l(t.root,`presets.${e}.root`);let u=new Map([[`root`,Lc(t.root)]]);for(let e of j_(t.presets)){let{node:n,path:r}=P_(t,e);u.set(r,n)}for(let[t,n]of u)s(n,t,G(e.source,t.split(`.`)));for(let[n,r]of Object.entries(t.variables)){VT(e,`variables.${n}`,r,o);let t=ET(n);t!==void 0&&e.issues.push({path:`variables.${n}`,message:t,line:G(e.source,[`variables`,n])})}for(let[n,r]of Object.entries(t.segments)){if(r.vars)for(let[t,i]of Object.entries(r.vars))VT(e,`segments.${n}.vars.${t}`,i,o,n);let i=Ws(r);PT(e,n,i);let a=NT(o,i);for(let o of[`template`,`bg`,`fg`,`when`]){let s=r[o];if(typeof s==`string`){WT(e,`segments.${n}.${o}`,s,a,{segCtx:n,settings:i});for(let{name:r,site:i,via:a}of Tv(s,t.helpers)){if(Object.prototype.hasOwnProperty.call(t.actions,r))continue;let s=i===`options`?` (in a picker, menu or carousel)`:``;if(a!==null){GT(e,a,`Template references unknown action "${r}"${s}`);continue}e.issues.push({path:`segments.${n}.${o}`,message:`${o} references unknown action "${r}"${s}`,line:G(e.source,[`segments`,n,o])})}}}}for(let[n,r]of Object.entries(t.variables))HT(e,`variables.${n}`,r,o);for(let[n,r]of Object.entries(t.segments))if(r.vars)for(let[t,i]of Object.entries(r.vars))HT(e,`segments.${n}.vars.${t}`,i,o,n)}const AT=[`removeSegment`,`insertSegment`,`insertSegmentFrom`];function jT(e,t,n,r,i,a,o){let s=`actions.${n}.${r}`,c=G(e.source,[`actions`,n,r]);if(!j_(t.presets).includes(a)){e.issues.push({path:s,message:`actions.${n}: "${i}" names preset "${a}" which is not declared (have: ${j_(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(`, `)})${Mu(i)}`,line:c})},p=new Set(js(P_(t,a).node)),m=(r,i)=>{!ju.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${Mu(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 MT=`settings.`;function NT(e,t){return{...e,names:new Set([...e.names,...Object.keys(t).map(e=>MT+e)])}}function PT(e,t,n){let r=e=>`segments.${t}.settings.${e}`,i=(n,i)=>{e.issues.push({path:r(n),message:`${r(n)}: ${i}`,line:G(e.source,[`segments`,t,`settings`,n])})},a=LT(n);for(let{setting:e,message:t}of a)i(e,t);if(!(a.length>0))for(let{setting:e,message:t}of Ks(n,IT(n)))i(e,`the defaults do not stand together: ${t}`)}function FT(e){return LT(e).length>0||Ks(e,IT(e)).length>0}function IT(e){return Object.fromEntries(Object.entries(e).map(([e,t])=>[e,t.default]))}function LT(e){let t=t=>Gs(RT(e,t))?.atLeast;return Object.keys(e).flatMap(n=>{let r=t(n);if(r===void 0)return[];if(r===n||Gs(RT(e,r))===void 0)return[{setting:n,message:`atLeast "${r}" must name another range setting of this segment (its range settings: ${zT(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 RT(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function zT(e,t){return Object.entries(e).filter(([e,n])=>e!==t&&Gs(n)!==void 0).map(([e])=>e)}function BT(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=Ws(a),s=`${r}: placement "${As(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(`, `)})`:qs(c,a)?void 0:`sets "${t}" to ${JSON.stringify(a)}${c.domain===`theme`?Xa(a):``}, but it must be ${Xs(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])=>qs(o[e],t))||FT(o)))for(let{message:t}of Ks(o,c))e.issues.push({path:r,message:`${s}: ${t}`,line:i})}function VT(e,t,n,r,i){n.kind===`template`&&WT(e,`${t}.template`,n.template,r,{segCtx:i}),Vs(n)&&n.cache&&`key`in n.cache&&WT(e,`${t}.cache.key`,n.cache.key,r,{segCtx:i})}function HT(e,t,n,r,i){if(Vs(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:G(e.source,[...t.split(`.`),`cache`,`depends_on`])})}}function UT(e,t,n,r){try{J_.parse(n)}catch(n){e.issues.push({path:t,message:`Template parse error in ${t}: ${n.message}`,line:r})}}function WT(e,t,n,r,i){for(let[a,o]of xv(n,r.helpers)){if(Dv(a,r))continue;if(a.startsWith(MT)){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??G(e.source,t.split(`.`))});continue}if(o!==null){GT(e,o,`Template references unknown variable ".${a}"${DT(a)}`);continue}let n=i?.segCtx===void 0?void 0:`${i.segCtx}.${a}`,s=n!==void 0&&Dv(n,r)?` (segment-local vars are namespaced — write ".${n}")`:DT(a);e.issues.push({path:t,message:`Template references unknown variable ".${a}"${s}`,line:i?.line??G(e.source,t.split(`.`))})}}function GT(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:G(e.source,[`helpers`,t])})}function KT(e,t,n,r,i){let a=n.set,o=gl(zb[r].configKey),s=`${a} takes ${px(o,i)}`;if(`min`in n&&(o===`bool`||`from`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:G(e.source,[`actions`,t,`min`])});return}let c=YT(n,i);if(c===JT){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:G(e.source,[`actions`,t,`int`])});return}let l=c.filter(e=>!fx(o,e.value,i));if(l.length!==0){if(a===zb.style.sessionKey&&c.every(e=>mo(e.value))){let r=zb.endcaps.sessionKey;e.issues.push(`to`in n?{path:`actions.${t}.to`,message:vT(`actions.${t}.to`,n.to,`set: "${r}", to`),line:G(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:G(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<=qT?r.join(`, `):`${r.slice(0,qT).join(`, `)} and ${r.length-qT} 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:G(e.source,[`actions`,t,n])})}}}const qT=3,JT=Symbol(`any integer`);function YT(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?dx(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)}]:JT}function XT(e,t){let{graph:n,nodeInfo:r}=ZT(t),i=new Map,a=[];for(let e of n.keys())i.set(e,0);for(let e of n.keys())if(i.get(e)===0&&o(e))return;function o(t){i.set(t,1),a.push(t);for(let s of n.get(t)??[]){let t=i.get(s);if(t===1){let t=a.indexOf(s),n=[...a.slice(t),s],i=n[0],o=r.get(i);return e.issues.push({path:o?.declarationPath??`variables.${i}`,message:`Dependency cycle: ${n.join(` → `)}`,line:G(e.source,o?.linePathParts??[`variables`,i])}),!0}if(t===0&&o(s))return!0}return i.set(t,2),a.pop(),!1}}function ZT(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 xv(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),Vs(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 QT=[`json5`,`json`];function $T(e){try{return r.statSync(e,{throwIfNoEntry:!1})===void 0?`absent`:`present`}catch(t){return{path:e,error:t.message}}}function eE(e){return e===`~`||e.startsWith(`~/`)||e.startsWith(`~\\`)?m.homedir()+e.slice(1):e}function tE(e,t,n){if(n!==void 0)return[n];let r=t??process.cwd();return[...new Set([...e?QT.map(t=>c.join(e,`.cc-candybar.${t}`)):[],...QT.map(e=>c.join(r,`.cc-candybar.${e}`)),...QT.map(e=>`${nE()}.${e}`)])]}function nE(){let e=process.env.XDG_CONFIG_HOME??c.join(m.homedir(),`.config`);return c.join(e,`cc-candybar`,`config`)}function rE(e,t,n){let r=[];for(let i of tE(e,t,n)){let e=$T(i);if(e===`present`)return{kind:`file`,path:i,unchecked:r};e!==`absent`&&r.push(e)}if(n===void 0)return{kind:`default`,unchecked:r};let[i]=r;return i===void 0?{kind:`missing`,path:n}:{kind:`unreadable`,...i}}function iE(e,t,n){let r=rE(e,t,n);return r.kind===`default`?`${nE()}.${QT[0]}`:r.path}function aE(e){return oE(e).join(`
163
+ `)||null}function oE(e){switch(e.kind){case`file`:case`default`: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 sE(e,t,n){let i=new Map;for(let a of tE(e,t,n)){if($T(a)!==`present`)continue;let e=r.realpathSync(c.dirname(a));i.has(e)||i.set(e,a)}return[...i.values()].slice(1)}function cE(e,t){let n=tE(e,t).filter(e=>$T(e)===`present`),r=new Map;for(let e of n){let t=c.dirname(e),n=c.basename(e).replace(/\.(json5|json)$/,``),i=c.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 lE(e,t,n){return e===null?{...dE,config:Hc(dE.raw,t)}:uE(e,r.readFileSync(e,`utf-8`),t,n)}function uE(e,t,n,r){let i={source:t,...mE(e,t,r,Ku(n))};return{...i,config:Hc(i.raw,n)}}const dE={raw:{},source:``,warnings:[]};function fE({config:e,raw:t,source:n},r=`<config>`,i=new Set($a())){let a=[],o={source:n,issues:a,allowedPalettes:i,groups:[]};if(kT(o,e,t),XT(o,e),a.length>0)throw new Cs(r,a);let s=q_(e,a);if(a.length>0)throw new Cs(r,a);return Ew(qC(s))}function pE(e,t,n=new Set($a()),r=hE){return mE(e,t,n,r).raw}function mE(e,t,n,r){let i=gE(e,t),a=Es(e,t),o=a===null?[]:[a],s=[],c={source:t,issues:s,allowedPalettes:n??new Set($a()),groups:[]};if(!ic(i))throw new Cs(e,[{path:``,message:`Config root must be an object, got ${ac(i)}`}],o);let l=_E(c,i,r);if(s.length>0)throw new Cs(e,s,o);return{raw:l,warnings:o}}const hE=new Set;function gE(e,t){try{return rt.default.parse(t)}catch(t){let n=t;throw new Cs(e,[{path:``,message:`JSON5 syntax error: ${n.message}`,line:n.lineNumber,col:n.columnNumber}])}}function _E(e,t,n){for(let n of Object.keys(t))vE.has(n)||e.issues.push({path:n,message:`Unknown top-level key "${n}". Expected one of: ${[...vE].join(`, `)}`,line:G(e.source,[n])});let r={};return t.globals!==void 0&&(r.globals=Dl(e,`globals`,t.globals)),t.variables!==void 0&&(r.variables=ql(e,`variables`,t.variables)),t.segments!==void 0&&(r.segments=qu(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.
164
164
  Replace: layout: [["seg1", "seg2"], ["seg3"]]
165
165
  With: root: { v: [{ h: ["seg1", "seg2"] }, "seg3"] }
166
- Single-row example: root: { h: ["seg1", "seg2"] }`,line:W(e.source,[`layout`])}),t.root!==void 0&&(r.root=md(e,`root`,t.root)),t.actions!==void 0&&(r.actions=Tw(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=hT(e,t.styles)),t.presets!==void 0&&(r.presets=_T(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=kl(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=vT(e,t.helpers)),Sd(e,r),U_(e,r),av(e,r),Ou(e,r,K,`the global settings menu`),r}const pE=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`presets`,`editGlobals`,`helpers`]);function mE(e){let t=bE(e.termCols),n=bE(e.termRows),r=xE(e.ssh),i=vE(e.tmux),a=_E(e.configEnv),o=gE(e.claudeConfigDir),s=hE(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 hE(e){if(typeof e!=`object`||!e||Array.isArray(e))return;let t=e,n=Je.filter(e=>t[e]!==void 0);return n.every(e=>gE(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function gE(e){return typeof e==`string`&&c.isAbsolute(e)?e:void 0}function _E(e){return typeof e==`string`&&e!==``?YT(e):void 0}function vE(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 yE=1e4;function bE(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>yE?yE:t}function xE(e){return typeof e==`boolean`?e:void 0}var SE=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function CE(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function wE(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 SE(`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 SE(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function TE(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=wE(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(CE(t))})}async function EE(e,t,n){let r=null;try{r=await jE(Fe(),t.connectMs);let i=await TE(r,{v:3,...e},t.budgetMs);return kE(e.kind,i,n)}catch(e){return AE(e)}finally{r&&r.destroy()}}function DE(e,t){return typeof e==`string`?e:t}function OE(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function kE(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=DE(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:OE(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 AE(e){if(e instanceof SE||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 jE(e,t){return new Promise((n,r)=>{let i=b.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 ME(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 NE={connectMs:50,budgetMs:150},PE={connectMs:50,budgetMs:200};function FE(e){let t=e.output;return typeof t==`string`?t:void 0}function IE(e,t,n,r){return EE({kind:`render`,hookData:e,args:t,cwd:n,...r},NE,FE)}function LE(e,t){return EE({kind:`click`,verb:e,value:t},PE,FE)}function RE(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(`
167
- `)}function zE(e,t){return e===`darwin`?[BE(`footprint`,[`-p`,String(t)]),BE(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[VE(`/proc/self/smaps_rollup`),VE(`/proc/self/status`)]:[]}function BE(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=Oe({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}`}${HE(n.stderr)}`}}}}function VE(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 HE(e){let t=e.split(`
168
- `).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const UE=`CC_CANDYBAR_RSS_LIMIT_MB`;function WE(e){let t=e[UE];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${UE} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function GE(e){return WE(e)*2}const KE=1024*1024;function qE(e){return WE(e)*KE}const JE={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function YE(e,t,n){let{prefix:r,suffix:i}=JE[t];return c.join(e,`${r}${n}${i}`)}function XE(e){for(let t of Object.keys(JE)){let{prefix:n,suffix:r}=JE[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function ZE(e){let t=e.rssLimitBytes??512*KE,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 QE(e.log,`memory report`,()=>{let t=YE(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),QE(e.log,`heap snapshot`,()=>{let t=YE(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),QE(e.log,`artifact rotation`,()=>{eD(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 QE(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function $E(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=XE(t);if(n===null)return t;let{prefix:r,suffix:i}=JE[n];return t.slice(r.length,t.length-i.length)}function eD(e,t,n){let r=new Map;for(let t of e){let e=$E(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 tD(e,t,n={}){let i=Pe();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:Z,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>RE(zE(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>te.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>XE(e)!==null).map(e=>c.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function nD(e={}){if(vD()!==null)return;let n=e.spawn??yD,r=hD();if(r.kind===`contended`){let e=iD();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),rD(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),rD(n);return}try{rD(n)}finally{_D()}}function rD(e){dD()&&aD(e)}function iD(){try{let e=r.statSync(Ue());return Date.now()-e.mtimeMs}catch{return null}}function aD(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
169
- `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function oD(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function sD(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function cD(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 lD(e,n){try{r.mkdirSync(c.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 uD(){try{r.unlinkSync(Ge())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function dD(){let e=We(),n=Ge(),r=cD(n),i=oD(fD(e),sD(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`),pD(e),lD(n,Math.min(r+1,5)),!0)}function fD(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function pD(e){try{r.mkdirSync(c.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 mD=null;function hD(){let e=Ue();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 mD={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(!gD(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 gD(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function _D(){if(!mD)return;let{fd:e,path:t}=mD;mD=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function vD(){try{return r.mkdirSync(Pe(),{recursive:!0}),null}catch(e){return`mkdir ${Pe()}: ${e.message}`}}function yD(){let e=t.execPath,n=t.argv[1];return n?ke({bin:e,args:[`--max-old-space-size=${GE(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const bD=`cc-candybar`,xD=`dispatch`,SD=`set-state`,CD=`step-state`,wD=`copy`,TD=`open-vscode`,ED=`toolbar-toggle`,DD=`show-config-error`,OD=`show-config-warning`,kD=`set-config`,AD=`step-config`,jD=`save`,MD=`save-preset`,ND=`delete-preset`,PD=`reset-config`,FD=`apply-layout-op`,ID=`undo`,LD=`redo`,RD=`back`,zD=`rewind`,BD=`apply-update`,VD=`doctor-run`,HD=`doctor-fix`,UD=`ceiling`,WD=`slash`;function GD(e){return e.map(encodeURIComponent).join(`/`)}function KD(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function qD(e){return`${bD}://${xD}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${GD(e.args)}`)}`).join(`&`)}`}function JD(e){return new ne(e).getAll(`e`).map(QD)}const YD=new Set([SD,PD]);function XD(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&ZD(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function ZD(e,t){if(e.verb!==t.verb||!YD.has(e.verb))return;let[n,r]=[QD(e.value),QD(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function QD(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const $D=`1.115.1`,eO=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function tO(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function nO(e){return eO.test(e)?e:tO(e)}const rO=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function iO(e){let t=rO.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 aO(e){return e.join(`.`)}function oO([e,t,n],[r,i,a]){return e-r||t-i||n-a}const sO=`@promptctl/cc-candybar`;async function cO(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`?iO(n.latest):Y}catch(e){return X(e instanceof Error?e.message:String(e))}}function lO(e,t){let n=iO(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=oO(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 uO(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${aO(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${aO(t.installed)} is newer than the registry's latest release (${aO(t.latest)}): an unpublished build.\n`};case`stale`:{let n=aO(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${aO(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 dO=`CCCandybarURLHandler`,fO=[],pO={"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 mO(e,t){return[e,...t].map(nO).join(` `)}function hO(){return c.join(m.homedir(),`Applications`,`${dO}.app`)}function gO(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function _O(){if(process.platform===`darwin`)return c.join(m.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??c.join(m.homedir(),`.local`,`share`);return c.join(e,`cc-candybar`)}function vO(){return c.join(_O(),`bin`,`cc-candybar`)}function yO(){return c.join(_O(),`dist`,`index.mjs`)}function bO(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(`
170
- `)}function xO(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:c.resolve(c.dirname(e),`..`,`dist`,`index.mjs`)}function SO(t){let n=pO[`${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:c.resolve(c.dirname(t),`..`,`bin`,`cc-candybar`)}}function CO(e,t){c.resolve(e)!==c.resolve(t)&&r.copyFileSync(e,t)}function wO(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 ${sO}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function TO(){let e=xO(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=SO(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(c.dirname(yO()),{recursive:!0}),r.mkdirSync(c.dirname(vO()),{recursive:!0}),CO(e,yO()),CO(t.sourcePath,vO()),r.chmodSync(vO(),493),r.rmSync(c.join(_O(),`url-handler.mjs`),{force:!0});let n=wO(vO());return process.stdout.write(`Staged cc-candybar v${$D} runtime at ${_O()}\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:vO(),distPath:yO(),entryKind:n}}function EO(){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>${bD}</string>`,` </array>`,` </dict>`,`</array>`].join(`
171
- `)}]}function DO(e){let t=hO();r.mkdirSync(c.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=Oe({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,bO(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=c.join(t,`Contents`,`Info.plist`);for(let{key:e}of EO())Oe({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of EO()){let n=Oe({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 ${bD}:// with Launch Services\n`);let a=Oe({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(`✓ ${dO}.app installed and registered.\n`),process.stdout.write(` Test: open '${bD}://hello-world' && pbpaste\n`)}function OO(){gO(),DO(TO().distPath)}function kO(e,t=bD){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:wD,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function AO(e){e||(process.stderr.write(`url-handle: missing URL argument.
172
- `),process.exit(1));let t;try{t=kO(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await LE(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(nD(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(jO(n)+`
173
- `),process.exit(1)}function jO(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 MO(){return`✓ install complete.
166
+ Single-row example: root: { h: ["seg1", "seg2"] }`,line:G(e.source,[`layout`])}),t.root!==void 0&&(r.root=gd(e,`root`,t.root)),t.actions!==void 0&&(r.actions=Aw(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:G(e.source,[`looks`])}),t.styles!==void 0&&(r.styles=bT(e,t.styles)),t.presets!==void 0&&(r.presets=ST(e,t.presets)),t.editGlobals!==void 0&&(r.editGlobals=Al(e,`editGlobals`,t.editGlobals)),t.helpers!==void 0&&(r.helpers=CT(e,t.helpers)),wd(e,r),G_(e,r),sv(e,r),Au(e,r,Eu,`the global settings menu`),r}const vE=new Set([`globals`,`variables`,`segments`,`layout`,`looks`,`root`,`actions`,`styles`,`presets`,`editGlobals`,`helpers`]);function yE(e){let t=TE(e.termCols),n=TE(e.termRows),r=EE(e.ssh),i=CE(e.tmux),a=SE(e.configEnv),o=xE(e.claudeConfigDir),s=bE(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 bE(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=>xE(t[e])!==void 0)?Object.fromEntries(n.map(e=>[e,t[e]])):void 0}function xE(e){return typeof e==`string`&&c.isAbsolute(e)?e:void 0}function SE(e){return typeof e==`string`&&e!==``?eE(e):void 0}function CE(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 wE=1e4;function TE(e){if(typeof e!=`number`||!Number.isFinite(e))return;let t=Math.floor(e);if(!(t<=0))return t>wE?wE:t}function EE(e){return typeof e==`boolean`?e:void 0}function DE(e){return typeof e==`string`&&e!==``&&e.length<=64?e:null}var OE=class extends Error{constructor(e){super(e),this.name=`ProtocolError`}};function kE(e){let t=Buffer.from(JSON.stringify(e),`utf8`),n=Buffer.alloc(4);return n.writeUInt32BE(t.length,0),Buffer.concat([n,t])}function AE(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 OE(`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 OE(e instanceof Error?e.message:String(e));e instanceof Error&&(n.cause=e),t(n);return}}}}function jE(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=AE(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(kE(t))})}async function ME(e,t,n){let r=null;try{r=await LE(Le(),t.connectMs);let i=await jE(r,{v:3,...e},t.budgetMs);return FE(e.kind,i,n)}catch(e){return IE(e)}finally{r&&r.destroy()}}function NE(e,t){return typeof e==`string`?e:t}function PE(e){return typeof e==`number`&&Number.isInteger(e)&&e>=0?e:0}function FE(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=NE(r.error,`(no error message)`);switch(r.code){case`VERSION_MISMATCH`:return{kind:`permanent`,cause:`version_mismatch`,clientV:3,daemonV:PE(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 IE(e){if(e instanceof OE||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 LE(e,t){return new Promise((n,r)=>{let i=b.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 RE(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 zE=`1.116.0`,BE={connectMs:50,budgetMs:150},VE={connectMs:50,budgetMs:200};function HE(e){let t=e.output;return typeof t==`string`?t:void 0}function UE(e,t,n,r){return ME({kind:`render`,hookData:e,args:t,cwd:n,...r},BE,HE)}function WE(e,t){return ME({kind:`click`,verb:e,value:t,clientVersion:zE},VE,HE)}function GE(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(`
167
+ `)}function KE(e,t){return e===`darwin`?[qE(`footprint`,[`-p`,String(t)]),qE(`vmmap`,[`--summary`,String(t)])]:e===`linux`?[JE(`/proc/self/smaps_rollup`),JE(`/proc/self/status`)]:[]}function qE(e,t){return{name:`${e} ${t.join(` `)}`,read:()=>{let n=Ae({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}`}${YE(n.stderr)}`}}}}function JE(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 YE(e){let t=e.split(`
168
+ `).map(e=>e.trim()).find(e=>e.length>0);return t===void 0?``:` (${t})`}const XE=`CC_CANDYBAR_RSS_LIMIT_MB`;function ZE(e){let t=e[XE];if(t===void 0)return 512;let n=/^\d+$/.test(t)?Number(t):NaN;if(!Number.isSafeInteger(n)||n<=0)throw Error(`${XE} must be a positive integer (MB), got ${JSON.stringify(t)}`);return n}function QE(e){return ZE(e)*2}const $E=1024*1024;function eD(e){return ZE(e)*$E}const tD={memoryReport:{prefix:`memory-`,suffix:`.txt`},heapSnapshot:{prefix:`heap-`,suffix:`.heapsnapshot`}};function nD(e,t,n){let{prefix:r,suffix:i}=tD[t];return c.join(e,`${r}${n}${i}`)}function rD(e){for(let t of Object.keys(tD)){let{prefix:n,suffix:r}=tD[t];if(e.startsWith(n)&&e.endsWith(r))return t}return null}function iD(e){let t=e.rssLimitBytes??512*$E,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 aD(e.log,`memory report`,()=>{let t=nD(e.snapshotDir,`memoryReport`,o);e.writeMemoryReport(t,e.captureMemoryReport()),e.log(`info`,`memory report written: ${t}`)}),aD(e.log,`heap snapshot`,()=>{let t=nD(e.snapshotDir,`heapSnapshot`,o);e.log(`info`,`heap snapshot written: ${e.writeHeapSnapshot(t)}`)}),aD(e.log,`artifact rotation`,()=>{sD(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 aD(e,t,n){try{n()}catch(n){e(`warn`,`${t} failed: ${n.message}`)}}function oD(e){let t=e.slice(e.lastIndexOf(`/`)+1),n=rD(t);if(n===null)return t;let{prefix:r,suffix:i}=tD[n];return t.slice(r.length,t.length-i.length)}function sD(e,t,n){let r=new Map;for(let t of e){let e=oD(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 cD(e,t,n={}){let i=Ie();return{now:()=>Date.now(),pid:process.pid,snapshotDir:i,log:Z,memoryBytes:()=>{let e=process.memoryUsage();return{rss:e.rss,heapTotal:e.heapTotal}},captureMemoryReport:()=>GE(KE(process.platform,process.pid)),writeMemoryReport:(e,t)=>r.writeFileSync(e,t,{mode:384}),writeHeapSnapshot:e=>ne.writeHeapSnapshot(e),listArtifacts:()=>{try{return r.readdirSync(i).filter(e=>rD(e)!==null).map(e=>c.join(i,e))}catch{return[]}},removeFile:e=>r.unlinkSync(e),shutdown:t,startedAtMs:e,...n}}function lD(e={}){if(TD()!==null)return;let n=e.spawn??ED,r=SD();if(r.kind===`contended`){let e=dD();e!==null&&e>2e3&&(t.stderr.write(`cc-candybar: spawn-lock held ${e}ms (likely crashed holder) — spawning unlocked\n`),uD(n));return}if(r.kind===`error`){t.stderr.write(`cc-candybar: spawn-lock unavailable (${r.reason}) — spawning unlocked\n`),uD(n);return}try{uD(n)}finally{wD()}}function uD(e){vD()&&fD(e)}function dD(){try{let e=r.statSync(Ke());return Date.now()-e.mtimeMs}catch{return null}}function fD(e){try{e()||t.stderr.write(`cc-candybar: daemon spawn returned false (unable to resolve script path?)
169
+ `)}catch(e){t.stderr.write(`cc-candybar: daemon spawn failed: ${e.message}\n`)}}function pD(e,t){return e===null?{kind:`allow`}:e<-1e4?{kind:`allow-future-garbage`,futureMs:-e}:e<t?{kind:`deny`}:{kind:`allow`}}function mD(e){return Math.min(3e3*2**Math.min(Math.max(e,0),5),6e4)}function hD(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 gD(e,n){try{r.mkdirSync(c.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 _D(){try{r.unlinkSync(Je())}catch(e){e.code!==`ENOENT`&&t.stderr.write(`cc-candybar: could not reset spawn.backoff: ${e.message}\n`)}}function vD(){let e=qe(),n=Je(),r=hD(n),i=pD(yD(e),mD(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`),bD(e),gD(n,Math.min(r+1,5)),!0)}function yD(e){try{return Date.now()-r.statSync(e).mtimeMs}catch{return null}}function bD(e){try{r.mkdirSync(c.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 xD=null;function SD(){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 xD={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(!CD(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 CD(e){try{let t=r.statSync(e);return Date.now()-t.mtimeMs>1e4}catch{return!0}}function wD(){if(!xD)return;let{fd:e,path:t}=xD;xD=null;try{r.closeSync(e)}catch{}try{r.unlinkSync(t)}catch{}}function TD(){try{return r.mkdirSync(Ie(),{recursive:!0}),null}catch(e){return`mkdir ${Ie()}: ${e.message}`}}function ED(){let e=t.execPath,n=t.argv[1];return n?k({bin:e,args:[`--max-old-space-size=${QE(t.env)}`,n,`daemon`],category:`daemon-spawn`}).ok:!1}const DD=`cc-candybar`,OD=`dispatch`,kD=`set-state`,AD=`step-state`,jD=`copy`,MD=`open-vscode`,ND=`toolbar-toggle`,PD=`show-config-error`,FD=`show-config-warning`,ID=`set-config`,LD=`step-config`,RD=`save`,zD=`save-preset`,BD=`delete-preset`,VD=`reset-config`,HD=`apply-layout-op`,UD=`undo`,WD=`redo`,GD=`back`,KD=`rewind`,qD=`apply-update`,JD=`doctor-run`,YD=`doctor-fix`,XD=`doctor-probe`,ZD=`ceiling`,QD=`slash`;function $D(e){return e.map(encodeURIComponent).join(`/`)}function eO(e){return e.length===0?[]:e.split(`/`).map(decodeURIComponent)}function tO(e){return`${DD}://${OD}/${e.map(e=>`e=${encodeURIComponent(`${e.verb}/${$D(e.args)}`)}`).join(`&`)}`}function nO(e){return new ie(e).getAll(`e`).map(oO)}const rO=new Set([kD,VD]);function iO(e){return e.reduce((e,t)=>{let n=e.at(-1),r=n&&aO(n,t);return r?[...e.slice(0,-1),r]:[...e,t]},[])}function aO(e,t){if(e.verb!==t.verb||!rO.has(e.verb))return;let[n,r]=[oO(e.value),oO(t.value)];return n.verb===r.verb?{verb:e.verb,value:`${n.verb}/${n.value}/${r.value}`}:void 0}function oO(e){let t=e.indexOf(`/`);return t===-1?{verb:e,value:``}:{verb:e.slice(0,t),value:e.slice(t+1)}}const sO=/^[A-Za-z0-9_./,:@%+-][A-Za-z0-9_./,:@%+=-]*$/;function cO(e){return`'${e.replaceAll(`'`,`'\\''`)}'`}function lO(e){return sO.test(e)?e:cO(e)}const uO=/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)$/;function dO(e){let t=uO.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 fO(e){return e.join(`.`)}function pO([e,t,n],[r,i,a]){return e-r||t-i||n-a}const mO=`@promptctl/cc-candybar`;async function hO(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`?dO(n.latest):Y}catch(e){return X(e instanceof Error?e.message:String(e))}}function gO(e,t){let n=dO(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=pO(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 _O(e,t){switch(t.kind){case`current`:return{stream:`stdout`,text:`✓ cc-candybar ${fO(t.installed)} is the latest release.\n`};case`ahead`:return{stream:`stdout`,text:`cc-candybar ${fO(t.installed)} is newer than the registry's latest release (${fO(t.latest)}): an unpublished build.\n`};case`stale`:{let n=fO(t.latest);return{stream:`stderr`,text:`⚠ cc-candybar ${fO(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 vO=`CCCandybarURLHandler`,yO=[],bO={"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 xO(e,t){return[e,...t].map(lO).join(` `)}function SO(){return c.join(m.homedir(),`Applications`,`${vO}.app`)}function CO(){if(process.platform!==`darwin`)throw Error(`URL handler installation requires macOS (found platform: ${process.platform}).`)}function wO(){if(process.platform===`darwin`)return c.join(m.homedir(),`Library`,`Application Support`,`CCCandybar`);let e=process.env.XDG_DATA_HOME??c.join(m.homedir(),`.local`,`share`);return c.join(e,`cc-candybar`)}function TO(){return c.join(wO(),`bin`,`cc-candybar`)}function EO(){return c.join(wO(),`dist`,`index.mjs`)}function DO(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(`
170
+ `)}function OO(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 kO(e){return c.join(e,`Contents`,`Resources`,`Scripts`,`main.scpt`)}function AO(e){if(!e)throw Error(`install: process.argv[1] not set`);return e.endsWith(`.mjs`)||e.endsWith(`.js`)?e:c.resolve(c.dirname(e),`..`,`dist`,`index.mjs`)}function jO(t){let n=bO[`${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:c.resolve(c.dirname(t),`..`,`bin`,`cc-candybar`)}}function MO(e,t){c.resolve(e)!==c.resolve(t)&&r.copyFileSync(e,t)}function NO(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 ${mO}@latest install`);return n.toString(`latin1`)===`#!`?`node-shim`:`native`}finally{r.closeSync(t)}}function PO(){let e=AO(process.argv[1]);if(!r.existsSync(e))throw Error(`install: bundled dist not found at ${e}. Reinstall the package.`);let t=jO(e);if(!r.existsSync(t.sourcePath))throw Error(`install: render entry not found at ${t.sourcePath}. Reinstall the package.`);r.mkdirSync(c.dirname(EO()),{recursive:!0}),r.mkdirSync(c.dirname(TO()),{recursive:!0}),MO(e,EO()),MO(t.sourcePath,TO()),r.chmodSync(TO(),493),r.rmSync(c.join(wO(),`url-handler.mjs`),{force:!0});let n=NO(TO());return process.stdout.write(`Staged cc-candybar v${zE} runtime at ${wO()}\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:TO(),distPath:EO(),entryKind:n}}function FO(){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>${DD}</string>`,` </array>`,` </dict>`,`</array>`].join(`
171
+ `)}]}function IO(e){let t=SO();r.mkdirSync(c.dirname(t),{recursive:!0}),r.existsSync(t)&&r.rmSync(t,{recursive:!0,force:!0}),process.stdout.write(`Building ${t}\n`);let n=Ae({bin:`/usr/bin/osacompile`,args:[`-o`,t,`-e`,DO(process.execPath,e)],category:`install.osacompile`});if(!n.ok)throw process.stderr.write(n.stderr),Error(`osacompile failed (${n.reason})`);let i=c.join(t,`Contents`,`Info.plist`);for(let{key:e}of FO())Ae({bin:`/usr/bin/plutil`,args:[`-remove`,e,i],category:`install.plutil`});for(let{key:e,xml:t}of FO()){let n=Ae({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 ${DD}:// with Launch Services\n`);let a=Ae({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(`✓ ${vO}.app installed and registered.\n`),process.stdout.write(` Test: open '${DD}://hello-world' && pbpaste\n`)}function LO(){CO(),IO(PO().distPath)}function RO(e,t=DD){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:jD,value:r}:{verb:decodeURIComponent(r.slice(0,i)),value:r.slice(i+1)}}async function zO(e){e||(process.stderr.write(`url-handle: missing URL argument.
172
+ `),process.exit(1));let t;try{t=RO(e)}catch(e){process.stderr.write(`url-handle: ${e instanceof Error?e.message:String(e)}\n`),process.exit(1)}let n=await WE(t.verb,t.value);n.kind===`ok`&&process.exit(0),n.kind===`transient`&&(lD(),process.stderr.write(`url-handle: daemon unavailable (${n.cause}: ${n.message})\n`),process.exit(1)),process.stderr.write(BO(n)+`
173
+ `),process.exit(1)}function BO(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 VO(){return`✓ install complete.
174
174
  Restart Claude Code to pick up the new statusline.
175
- Tip: every bar carries a settings menu — click it (${Kc} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/endcaps/wrap/padding controls.\n`}async function NO(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...fO],i=TO();process.platform===`darwin`?DO(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
176
- `),PO(i.binPath,r,t),process.stdout.write(MO());let a=uO(sO,lO($D,await cO(sO,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function PO(e,t,n,i){let a=i??lS(cS(sS(process.env,process.cwd())));r.mkdirSync(c.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,l=[e,nO(e),tO(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||l.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}o.statusLine={type:`command`,command:mO(e,t)},Ae(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function FO(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 IO(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 LO(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 RO(e,t){let n=IO(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function zO(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 BO(e,t,n,r){let i=VO(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 VO(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 HO(e){let t=!1;function n(){let n=BO(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 UO(e,t=Oe){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 WO(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 GO(e,t=UO){let n=t(e);return n.kind===`start`?n.token:null}const KO=`CC_CANDYBAR_PARENT_PID`;function qO(e){let t=e[KO];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${KO} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function JO(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 YO(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function XO(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function ZO(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 QO(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>c.join(e,t))}catch{return[]}}function $O(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 ek(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 tk(e){if(!e.isolated)return{decision:ZO(!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=ZO(!0,ek(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=c.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function nk(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function rk(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:He(),ceiling:XO(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>WO(e,t,{readStartTime:UO,pidAlive:YO}),listFiles:QO,readEntry:$O,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?Ie:e=>{Ie(c.dirname(e)),Ie(e)},...t}}function ik(e){return e<32||e===127||e>=128&&e<=159}function ak(e){let t=``;for(let n of e)t+=ik(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function ok(e,t){let n=ak(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const sk=`\x1B[38;2;255;255;255m`,ck=`\x1B[48;2;200;40;40m`;function lk(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 uk={fg:lk(sk),bg:lk(ck)},dk={fg:lk(`\x1B[38;2;0;0;0m`),bg:lk(`\x1B[48;2;220;160;40m`)},fk={unicode:zi,ascii:{glyph:`>`,divider:`|`,lead:`<`,tail:`>`}},pk={unicode:{},ascii:{left:`(`,right:`)`}};function mk(e,t,n){switch(e){case`capsule`:return new Gi(pk[t]);case`plain`:return new Ki(n===void 0?{}:{separator:n});case`powerline`:return new Hi(fk[t]);default:return e}}const hk=new Map;function gk(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=hk.get(t);if(n!==void 0)return n;let r=mk(e.endcaps,e.charset,e.separator),i=e=>new H(`x`,{end:``,overflow:`ignore`,style:new B({bgcolor:e})}),a=e=>new H(Yi(new U(e,r),{colorSystem:null}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return hk.set(t,s),s}function _k(e){return gk(e).chrome}function vk(e){return gk(e).seam}function yk(e,t){if(e.length===0)return``;let n=mk(t.endcaps,t.charset,t.separator),r=t.colorCompatibility,i=t.wrap&&Number.isFinite(t.width)?Yi(new ta([...e],{joiner:n}),{width:t.width,colorSystem:r}):Yi(new U([...e],n),{colorSystem:r});if(!i.endsWith(`
177
- `))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return i.slice(0,-1)}function bk(e){return Math.min(20,e??20)}const xk={heading:`ERROR`,glyph:`⚠`,colors:uk},Sk={heading:`WARNING`,glyph:`⚠`,colors:dk},Ck={heading:`UPDATE`,glyph:`⬆`,colors:dk};function wk(e,t){return{text:ak(e),link:t}}function Tk(e,t,n){let[r,...i]=[Ek(e,xk,DD),t,Ek(n,Sk,OD)].flat();return r===void 0?null:{channels:[r,...i]}}function Ek(e,t,n){let r=qD([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>wk(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function Dk(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
178
- `)}function Ok(e,t,n,r){if(t===null)return e;let i=kk(r),a=t.channels.flatMap(e=>Ak(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[jk(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
179
- `);return e?`${l}\n${e}`:l}function kk(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function Ak(e,t){let n=new B({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=zt(Math.max(2,t.width-1)),i=(e,t)=>new H(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>yk([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=>Ut(e,r)).map(e=>i(e,t))})],t).split(`
180
- `))}function jk(e,t,n,r){let{colors:i}=e.channels[0].severity,{fullText:a,failedConfigFile:o}=t,s=new B({bgcolor:i.bg,color:i.fg}),c=(e,t)=>new H(e,{style:t,end:``,overflow:`ignore`}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(O(a.path).href)):c(`full text unavailable: ${ak(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(ak(o),s.withLink(O(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=H.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,yk([m],r)}const Mk=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function Nk(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function Pk(e,t){return r.readdirSync(t).filter(Mk).sort().flatMap(n=>{let i=c.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?Pk(e,i):[[c.relative(e,i).split(c.sep).join(`/`),Nk(i,a)]]})}function Fk(e){let t=re.createHash(`sha256`);for(let[n,r]of Pk(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const Ik=e=>e.slice(0,7);function Lk(e){return c.dirname(c.dirname(e))}function Rk(){return{version:$D,digest:`35d2158039c20ae51469d167353980a3cf358ccf44eb0ff270003718a2f4f235`}}function zk(e){let t=JSON.parse(r.readFileSync(c.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${c.join(e,`package.json`)} has no version string`);return n}function Bk(e,t){try{let n=Lk(D(e)),i=c.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=Fk(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:zk(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 Vk(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function Hk(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 Uk(e,t,n){let r=js(e,new Set(n.map(As).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const Wk=/^-?\d+$/;function Gk(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 Kk(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!Wk.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 qk(e,t,n){return r=>r?Wk.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 Jk(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=>!Wk.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 Yk(e){return e===`config`?`set-config`:`set-state`}function Xk(e,t,n){return t.kind===`int`?Kk(`menu page "${e}"`):t.kind===`range`?qk(t.min,t.max,`${n} stepper "${e}"`):Gk(t.allowed,`${n} "${e}"`,Yk(n))}function Zk(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:Jk(e,n,t)}))}function Qk(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 Zk(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,Xk(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 $k(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};Qk(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=Qk(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const eA=$k({},`config`,sA);function tA(e,t){return eA.register(e,t)}function nA(e){return eA.gateFor(e)}function rA(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:lx(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:[Vk({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[Vk({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:lx(e.insertSegmentFrom,t).members.map(t=>Vk({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function iA(e,t){let n=Pl(e).get(t);return n===void 0?null:String(n)}function aA(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?xx(n.persist):null;e?.scope===`preset-root`&&t.add(yx(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function oA(e){let t=new Map([...sx(e),...aw(e)]);return[...aA(e),...Object.values(e.actions).flatMap(e=>rA(e,t))]}function sA(e){return Zk(oA(e),`config`)}const cA=oS(`commands.`),lA=yS(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),uA=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,dA=`{{ \$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 (${uA}) (basename .project_dir) (ne (${uA}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,fA=`{{ ${Px} }}`,pA={min:0,max:100,step:5},mA={warnAt:{label:`warning at %`,domain:pA,default:50},errorAt:{label:`error at %`,domain:{...pA,atLeast:`warnAt`},default:80}};function hA(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:pA,default:80}}}const gA={globals:{palette:`tokyo-night`},variables:{...cA.variables,...Fb,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:dA},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:fA,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:Yx(``).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:cA.template,when:cA.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:hA(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:hA(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:mA,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:mA,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) ${ka} }}`,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:lA.template,bg:lA.bg,when:lA.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:{...Yx(``).actions,...cA.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`},...lA.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}},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) ${ka}) .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:bS(`.`),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 .)) }}`}},_A=new Set([gA.globals.palette,...Object.values(gA.segments).map(e=>e.palette)].filter(e=>e!==void 0)),vA=Vc(cE(`<default>`,JSON.stringify(gA),_A),gA),yA=k_(vA.presets);function bA(e){return yA.includes(e)}function xA(e){if(!e)return 0;try{return o(e).mtimeMs}catch{return 0}}const SA=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 CA(e){return((...t)=>SA.run(()=>e(...t)))}const wA=CA(C),TA=CA(S),EA=CA(w);async function DA(e,t){return SA.run(async()=>{let n=null;try{n=await x(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return J({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return J({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?Y:X(`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 OA(e,t){return SA.run(async()=>{let n=null;try{n=await x(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=>{k(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const kA=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function AA(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 jA(e){let t=await MA(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function MA(e){for(let t of[65536,1048576]){let n=await OA(e,t);if(n.kind!==`ok`)return n;let r=NA(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function NA(e,t){let n=e.toString(`utf8`).split(`
181
- `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!kA.test(t))continue;let r=AA(t);if(r!=null)return r}return null}function PA(e,t){return{...e,claudeConfigDir:cS(t.claudeConfigDir),env:t.mementoEnv}}const FA=c.join(`lib`,`ceiling_config.py`),IA=c.join(`skills`,`ceiling`,`bin`,`ceiling`);function LA(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 RA(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 zA(e,t){if(!r.existsSync(e))return Y;let n;try{n=LA(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=RA([c.join(c.dirname(c.dirname(e)),`settings.json`),c.join(t,`.claude`,`settings.json`),c.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[FA,IA].filter(e=>!r.existsSync(c.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 BA(e,t=process.env){let n=new Set([`CLAUDE_PROJECT_DIR`,`CLAUDE_CODE_SESSION_ID`,...e.env===void 0?[]:Je]);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 VA(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function HA(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 UA(e,t){let n=await De({bin:`python3`,args:[`-c`,`
175
+ Tip: every bar carries a settings menu — click it (${qc} by\n default) for quick actions, preset switching, edit mode, and clickable\n theme/style/variation/endcaps/wrap/padding controls.\n`}async function HO(e){let t=e.includes(`--force`),n=e.filter(e=>e!==`--force`),r=n.length>0?n:[...yO],i=PO();process.platform===`darwin`?IO(i.distPath):process.stdout.write(`Skipping URL handler (cmd-click verbs are macOS-only).
176
+ `),UO(i.binPath,r,t),process.stdout.write(VO());let a=_O(mO,gO(zE,await hO(mO,fetch,`https://registry.npmjs.org`)));process[a.stream].write(a.text)}function UO(e,t,n,i){let a=i??mS(pS(fS(process.env,process.cwd())));r.mkdirSync(c.dirname(a),{recursive:!0});let o={};if(r.existsSync(a))try{o=JSON.parse(r.readFileSync(a,`utf-8`))}catch(e){throw Error(`Could not parse ${a}: ${e instanceof Error?e.message:String(e)}`)}let s=o.statusLine?.command,l=[e,lO(e),cO(e)],u=typeof s==`string`&&(s.startsWith(`pnpm dlx @promptctl/cc-candybar@`)||l.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}o.statusLine={type:`command`,command:xO(e,t)},Me(a,JSON.stringify(o,null,2)),process.stdout.write(`Updated ${a}\n`)}function WO(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 GO(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 KO(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 qO(e,t){let n=GO(e);if(n.kind===`owned`&&n.pid===t)try{r.unlinkSync(e)}catch{}}function JO(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 YO(e,t,n,r){let i=XO(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 XO(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 ZO(e){let t=!1;function n(){let n=YO(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 QO(e,t=Ae){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 $O(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 ek(e,t=QO){let n=t(e);return n.kind===`start`?n.token:null}const tk=`CC_CANDYBAR_PARENT_PID`;function nk(e){let t=e[tk];if(t===void 0)return{kind:`outlives-nobody`};let n=Number.parseInt(t,10);if(!Number.isInteger(n)||n<=0)throw Error(`${tk} must be a positive integer pid, got ${JSON.stringify(t)}`);return{kind:`anchored`,pid:n}}function rk(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 ik(e){try{return t.kill(e,0),!0}catch(e){return e.code===`EPERM`}}function ak(){let e=Number(process.env.CC_CANDYBAR_DAEMON_CEILING??``);return Number.isInteger(e)&&e>0?e:16}function ok(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 sk(e){try{return r.readdirSync(e).filter(e=>e.endsWith(`.json`)).map(t=>c.join(e,t))}catch{return[]}}function ck(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 lk(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 uk(e){if(!e.isolated)return{decision:ok(!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=ok(!0,lk(t,e.isSameLiveProcess,e.removeFile),e.ceiling);if(!n.allow)return{decision:n,registryPath:null};let r=c.join(e.registryDir,`pid-${e.pid}.json`);return e.writeEntry(r,{pid:e.pid,startTime:e.startTime}),{decision:n,registryPath:r}}function dk(e,t,n,r){let i=n(e);if(i!==null&&i.pid===t)try{r(e)}catch{}}function fk(e,t={}){return{isolated:!!process.env.CC_CANDYBAR_SOCKET,registryDir:Ge(),ceiling:ak(),pid:process.pid,startTime:e,isSameLiveProcess:(e,t)=>$O(e,t,{readStartTime:QO,pidAlive:ik}),listFiles:sk,readEntry:ck,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(c.dirname(e)),ze(e)},...t}}function pk(e){return e<32||e===127||e>=128&&e<=159}function mk(e){let t=``;for(let n of e)t+=pk(n.codePointAt(0)??0)?` `:n;return t.replace(/\s+/g,` `).trim()}function hk(e,t){let n=mk(e),r=``,i=0;for(let e of n){if(i===t)return r.replace(/.$/u,`…`);r+=e,i++}return r}const gk=`\x1B[38;2;255;255;255m`,_k=`\x1B[48;2;200;40;40m`;function vk(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 yk={fg:vk(gk),bg:vk(_k)},bk={fg:vk(`\x1B[38;2;0;0;0m`),bg:vk(`\x1B[48;2;220;160;40m`)},xk={unicode:Bi,ascii:{glyph:`>`,divider:`|`,lead:`<`,tail:`>`}},Sk={unicode:{},ascii:{left:`(`,right:`)`}};function Ck(e,t,n){switch(e){case`capsule`:return new Ki(Sk[t]);case`plain`:return new qi(n===void 0?{}:{separator:n});case`powerline`:return new Ui(xk[t]);default:return e}}const wk=new Map;function Tk(e){let t=JSON.stringify([e.endcaps,e.charset,e.separator??null]),n=wk.get(t);if(n!==void 0)return n;let r=Ck(e.endcaps,e.charset,e.separator),i=e=>new W(`x`,{end:``,overflow:`ignore`,style:new V({bgcolor:e})}),a=e=>new W(Xi(new Mi(e,r),{colorSystem:null}).replace(/\n$/,``)).cellLength,o=a([i(`#101010`)]),s={chrome:o-1,seam:a([i(`#101010`),i(`#202020`)])-o-1};return wk.set(t,s),s}function Ek(e){return Tk(e).chrome}function Dk(e){return Tk(e).seam}function Ok(e,t){if(e.length===0)return``;let n=Ck(t.endcaps,t.charset,t.separator),r=t.colorCompatibility,i=t.wrap&&Number.isFinite(t.width)?Xi(new na([...e],{joiner:n}),{width:t.width,colorSystem:r}):Xi(new Mi([...e],n),{colorSystem:r});if(!i.endsWith(`
177
+ `))throw Error(`renderStripCells: rich-js strip output did not end its last line`);return i.slice(0,-1)}function kk(e){return Math.min(20,e??20)}const Ak={heading:`ERROR`,glyph:`⚠`,colors:yk},jk={heading:`WARNING`,glyph:`⚠`,colors:bk},Mk={heading:`UPDATE`,glyph:`⬆`,colors:bk};function Nk(e,t){return{text:mk(e),link:t}}function Pk(e,t,n){let[r,...i]=[Fk(e,Ak,PD),t,Fk(n,jk,FD)].flat();return r===void 0?null:{channels:[r,...i]}}function Fk(e,t,n){let r=tO([{verb:n,args:[e]}]),[i,...a]=e.split(/\r\n|\r|\n/).map(e=>Nk(e,r)).filter(e=>e.text!==``).map(e=>[e]);return i===void 0?[]:[{severity:t,message:e,lines:[i,...a]}]}function Ik(e){return e.channels.map(e=>`${e.severity.heading}\n${e.message}\n`).join(`
178
+ `)}function Lk(e,t,n,r){if(t===null)return e;let i=Rk(r),a=t.channels.flatMap(e=>zk(e,i)),o=n.failedConfigFile!==null||a.length>r.rowCap,s=a.slice(0,r.rowCap-Number(o)),c=o?[Bk(t,n,a.length-s.length,i)]:[],l=[...s,...c].join(`
179
+ `);return e?`${l}\n${e}`:l}function Rk(e){return{endcaps:`plain`,separator:``,width:e.width,wrap:!0,padding:0,charset:`unicode`,colorCompatibility:e.colorCompatibility}}function zk(e,t){let n=new V({bgcolor:e.severity.colors.bg,color:e.severity.colors.fg}),r=Ht(Math.max(2,t.width-1)),i=(e,t)=>new W(`${e} `,{style:t,end:``,overflow:`ignore`});return e.lines.flatMap((a,o)=>Ok([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=>Kt(e,r)).map(e=>i(e,t))})],t).split(`
180
+ `))}function Bk(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 W(e,{style:t,end:``,overflow:`ignore`}),l=n>0?[c(`${n} more rows · `,s),a.kind===`file`?c(`open full text`,s.withLink(E(a.path).href)):c(`full text unavailable: ${mk(a.reason)}`,s)]:[],u=o===null?[]:[c(`${l.length>0?` · `:``}open `,s),c(mk(o),s.withLink(E(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=W.fromFragments([...d,...p]).truncate(r.width);return m.overflow=`ignore`,Ok([m],r)}const Vk=e=>!e.startsWith(`.`)&&!e.endsWith(`~`);function Hk(e,t){return t.isSymbolicLink()?Buffer.from(r.readlinkSync(e)):r.readFileSync(e)}function Uk(e,t){return r.readdirSync(t).filter(Vk).sort().flatMap(n=>{let i=c.join(t,n),a=r.lstatSync(i,{throwIfNoEntry:!1});return a===void 0?[]:a.isDirectory()?Uk(e,i):[[c.relative(e,i).split(c.sep).join(`/`),Hk(i,a)]]})}function Wk(e){let t=ae.createHash(`sha256`);for(let[n,r]of Uk(e,e))t.update(n).update(`\0`).update(r).update(`\0`);return t.digest(`hex`)}const Gk=e=>e.slice(0,7);function Kk(e){return c.dirname(c.dirname(e))}function qk(){return{version:zE,digest:`9a98822c1a5e5e374bf3e2ca33787cb120cff2446f1aedad8b1561ec895514fd`}}function Jk(e){let t=JSON.parse(r.readFileSync(c.join(e,`package.json`),`utf8`)),n=typeof t==`object`&&t?t.version:void 0;if(typeof n!=`string`)throw Error(`${c.join(e,`package.json`)} has no version string`);return n}function Yk(e,t){try{let n=Kk(T(e)),i=c.join(n,`src`);if(!r.existsSync(i))return{kind:`not-source-checkout`};let a=t(),o=Wk(i);return o===a.digest?{kind:`current`,root:n,stamp:a}:{kind:`stale`,root:n,source:{version:Jk(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 Xk(e){return e.op===`remove`?`remove:${e.target}`:`insert:${e.segment}:${e.anchor}:${e.relation}`}function Zk(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 Qk(e,t,n){let r=Ms(e,new Set(n.map(js).filter(e=>e.includes(t)).flat()));return r===e?{seg:e}:{seg:e,id:r}}const $k=/^-?\d+$/;function eA(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 tA(e){return t=>{if(!t)return{ok:!1,reason:`${e} value is required`};if(!$k.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 nA(e,t,n){return r=>r?$k.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 rA(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=>!$k.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 iA(e){return e===`config`?`set-config`:`set-state`}function aA(e,t,n){return t.kind===`int`?tA(`menu page "${e}"`):t.kind===`range`?nA(t.min,t.max,`${n} stepper "${e}"`):eA(t.allowed,`${n} "${e}"`,iA(n))}function oA(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:rA(e,n,t)}))}function sA(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 oA(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,aA(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 cA(e,t,n){let r=[],i=0,a=new WeakMap;return{register(n,a){let o={key:n,allowed:a};sA(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=sA(e,r,n(o),t);return a.set(o,{epoch:i,gate:c}),c}}}const lA=cA({},`config`,gA);function uA(e,t){return lA.register(e,t)}function dA(e){return lA.gateFor(e)}function fA(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:dx(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:[Xk({op:`remove`,target:e.removeSegment})]}}]:`insertSegment`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:[Xk({op:`insert`,segment:e.insertSegment,anchor:e.anchor,relation:e.relation})]}}]:`insertSegmentFrom`in e?[{key:e.persist,spec:{kind:`allow-list`,allowed:dx(e.insertSegmentFrom,t).members.map(t=>Xk({op:`insert`,segment:t,anchor:e.anchor,relation:e.relation}))}}]:[{key:e.persist,spec:{kind:`range`,min:e.min,max:e.max}}]:[]}function pA(e,t){let n=Fl(e).get(t);return n===void 0?null:String(n)}function mA(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?Cx(n.persist):null;e?.scope===`preset-root`&&t.add(xx(e.preset))}return[...t].map(e=>({key:e,spec:{kind:`allow-list`,allowed:[]}}))}function hA(e){let t=new Map([...lx(e),...uw(e)]);return[...mA(e),...Object.values(e.actions).flatMap(e=>fA(e,t))]}function gA(e){return oA(hA(e),`config`)}const _A=dS(`commands.`),vA=wS(`autocompact.`,e=>`{{ template "formatTokenCount" ${e} }}`),yA=`trimPrefix "/" (trimPrefix .project_dir .current_dir)`,bA=`{{ \$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 (${yA}) (basename .project_dir) (ne (${yA}) "") }}{{ end }}{{ end }}{{ action "copyDir" (abbreviatePath \$dir) }}`,xA=`{{ ${Ix} }}`,SA={min:0,max:100,step:5},CA={warnAt:{label:`warning at %`,domain:SA,default:50},errorAt:{label:`error at %`,domain:{...SA,atLeast:`warnAt`},default:80}};function wA(e){return{budget:{label:`budget $`,domain:{min:0,max:1e4,step:5},default:e},warnAt:{label:`warning at %`,domain:SA,default:80}}}const TA={globals:{palette:`tokyo-night`},variables:{..._A.variables,...Lb,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:bA},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:xA,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:eS(``).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:_A.template,when:_A.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:wA(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:wA(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:CA,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:CA,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) ${Aa} }}`,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:vA.template,bg:vA.bg,when:vA.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:{...eS(``).actions,..._A.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`},...vA.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}},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) ${Aa}) .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:TS(`.`),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 .)) }}`}},EA=new Set([TA.globals.palette,...Object.values(TA.segments).map(e=>e.palette)].filter(e=>e!==void 0)),DA=Hc(pE(`<default>`,JSON.stringify(TA),EA),TA),OA=j_(DA.presets);function kA(e){return OA.includes(e)}function AA(e){if(!e)return 0;try{return o(e).mtimeMs}catch{return 0}}const jA=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 MA(e){return((...t)=>jA.run(()=>e(...t)))}const NA=MA(C),PA=MA(S),FA=MA(w);async function IA(e,t){return jA.run(async()=>{let n=null;try{n=await x(e,`r`);let{size:r,mtimeMs:i,ino:a}=await n.stat(),o=t!==void 0&&(a!==t.ino||r<t.offset),s=o||t===void 0?0:t.offset;if(s>=r)return J({buf:Buffer.alloc(0),start:s,size:r,mtimeMs:i,ino:a,reset:o});let c=Buffer.alloc(r-s),l=0;for(;l<c.length;){let{bytesRead:e}=await n.read(c,l,c.length-l,s+l);if(e===0)break;l+=e}return J({buf:l===c.length?c:c.subarray(0,l),start:s,size:r,mtimeMs:i,ino:a,reset:o})}catch(t){return t.code===`ENOENT`?Y:X(`readAppended ${e}: ${t instanceof Error?t.message:String(t)}`)}finally{await n?.close().catch(e=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}async function LA(e,t){return jA.run(async()=>{let n=null;try{n=await x(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=>{O(`transcript-fs: close failed: ${e instanceof Error?e.message:String(e)}`)})}})}const RA=/"(?:cache_read_input_tokens|cache_creation_input_tokens)":[1-9]/;function zA(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 BA(e){let t=await VA(e);return t.kind===`ok`?J(Math.floor((t.value+36e5)/1e3)):t}async function VA(e){for(let t of[65536,1048576]){let n=await LA(e,t);if(n.kind!==`ok`)return n;let r=HA(n.value.buf,n.value.fromStart);if(r!=null)return J(r);if(n.value.fromStart)return Y}return Y}function HA(e,t){let n=e.toString(`utf8`).split(`
181
+ `),r=+!t;for(let e=n.length-1;e>=r;e--){let t=n[e];if(!t||!RA.test(t))continue;let r=zA(t);if(r!=null)return r}return null}function UA(e,t){return{...e,claudeConfigDir:pS(t.claudeConfigDir),env:t.mementoEnv}}const WA=c.join(`lib`,`ceiling_config.py`),GA=c.join(`skills`,`ceiling`,`bin`,`ceiling`);function KA(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 qA(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 JA(e,t){if(!r.existsSync(e))return Y;let n;try{n=KA(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=qA([c.join(c.dirname(c.dirname(e)),`settings.json`),c.join(t,`.claude`,`settings.json`),c.join(t,`.claude`,`settings.local.json`)],i.key);if(a.kind!==`ok`)return a;if(!a.value)return Y;let o=[WA,GA].filter(e=>!r.existsSync(c.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 YA(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 XA(e){return e.stderr.trim()||e.error||`${e.reason}${e.exitCode===null?``:` (exit ${e.exitCode})`}`}function ZA(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 QA(e,t){let n=await ke({bin:`python3`,args:[`-c`,`
182
182
  import json, math, sys
183
183
  sys.path.insert(0, sys.argv[1])
184
184
  from ceiling_config import CONFIG_NAME, anchored, ceiling_in, in_force, session_directory
@@ -187,39 +187,40 @@ ceiling = in_force(directory, anchored(sys.argv[3]))
187
187
  layer = ceiling_in(directory / CONFIG_NAME)
188
188
  print(json.dumps({"ceiling": "off" if ceiling == math.inf else ceiling,
189
189
  "session": layer.text if layer else None}))
190
- `,c.join(e,`lib`),t.sessionId,t.cwd],env:BA(t),timeoutMs:3e3,category:`memento.read`});return n.ok?HA(n.stdout):X(VA(n))}function WA(e,t,n){let r=Oe({bin:c.join(e,IA),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:BA(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(VA(r))}function GA(){return{locate:e=>zA(uS(e.claudeConfigDir),e.projectDir),read:UA,move:WA}}function KA(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${nO(n)} `,i=e.added_dirs.map(e=>` --add-dir ${nO(e)}`).join(``);return`cd ${nO(e.project_dir)} && ${r}claude --resume ${nO(t)}${i}`}function qA(e,t,n){let r=A_(t(`preset`),e.globals.preset,e.presets),i=N_(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{};return{preset:r,presetCustomized:n(r),theme:tx(a.palette,t(`theme`),i.palette),style:uo(a.style,t(`style`),i.style,e.styles),endcaps:mo(a.endcaps,t(`endcaps`),i.endcaps),variation:xo(a.variation,t(`variation`),i.variation),separator:a.default_separator??i.default_separator,autoWrap:ko(a.autoWrap,t(`autoWrap`),i.autoWrap),padding:jo(a.padding,t(`padding`),i.padding),charset:a.charset??i.charset??`unicode`,updateNotice:Ao(a.updateNotice,t(`updateNotice`),i.updateNotice),colorCompatibility:a.colorCompatibility??i.colorCompatibility??`truecolor`}}function JA(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function YA(e){return{theme:e.theme,style:e.style,preset:e.preset,variation:e.variation}}function XA(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:bA(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice}}}const ZA=10*1e3;function QA(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 $A(e,t){if(!(t<60))return e*3600/t}function ej(e,t,n,r){let i=r-t;if(i<50||i>ZA)return;let a=n-e;if(!(a<=0))return a*1e3/i}function tj(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=ej(t.input,t.atMs,n.input,n.atMs),i=ej(t.output,t.atMs,n.output,n.atMs),a=ej(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 nj(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>ZA)continue;let o=ej(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function rj(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function ij(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`,()=>rj(m.hostname())),i=n(`user`,()=>m.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function aj(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=>yv(t,e.helpers).keys(),o=N_(e,t);for(let e of ro){let t=o[e];if(io(t))for(let e of a(t))r.push(e)}for(let n of Ns(M_(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 sj(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 oj(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=aj(e,n);return t.set(n,i),i}}function sj(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 cj(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function lj(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 uj(e,t,n,r,i,a,{configPath:o,...s}){let c=e=>cj(r,e),l=(t.clock??(()=>new Date))().getTime(),u=a.tmux??null,d=(e,t,n)=>t?n().catch(t=>X(`${e}: ${String(t)}`)):Promise.resolve(Y),[f,p,m,h,g,_,v,y,b,x,S]=await Promise.all([d(`git`,c(`git`),()=>t.gitProvider.getGitInfo(n??e.workspace?.current_dir,lj(r),e.workspace?.project_dir)),d(`session`,c(`session.cost`)||c(`session.tokens`)||c(`burn`),()=>t.usageStore.getUsageInfo(e.session_id,e)),d(`today`,c(`today`),()=>t.usageStore.getTodayInfo(e,a.claudeConfigDir)),d(`context`,c(`context`)||c(`autocompact`),()=>t.contextProvider.getContextInfo(e)),d(`metrics`,c(`metrics`)||c(`burn`),()=>t.metricsProvider.getMetricsInfo(e.session_id,e)),d(`activity`,c(`activity`),()=>t.activityProvider.getActivityInfo(e.session_id,e)),d(`tmux`,c(`tmux.session`),()=>u===null?Promise.resolve(Y):t.tmuxService.getSessionName(u)),d(`cache`,c(`cache`),()=>jA(e.transcript_path)),d(`speed`,c(`speed`),()=>t.usageStore.observeSpeed(e.session_id,e.transcript_path,l)),d(`memento`,c(`memento`),()=>t.mementoProvider.getCeiling(PA({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:n??e.workspace?.current_dir??``},a))),d(`autocompact`,c(`autocompact`),()=>Promise.resolve(t.autoCompact(lS(cS(a.claudeConfigDir)))))]),C=[],w=e=>{if(e.kind===`failed`){C.push(e.reason);return}return e.kind===`ok`?e.value:void 0},T=vj(f);C.push(...T.failures);let ee=ij(a);C.push(...ee.failures);let te=w(p),E=w(m),ne=w(h),D=w(g),O=w(_),re=w(v),ie=w(y),ae=pj(x);x.kind===`failed`&&C.push(`memento: ${x.reason}`);let oe=dj(S,ne?.maxTokens);S.kind===`failed`&&C.push(`autocompact: ${S.reason}`);for(let e of C)t.log(`warn`,`provider fetch failed: ${e}`);let se=e.rate_limits?.five_hour,ce=e.rate_limits?.seven_day,le=se?QA(se.used_percentage,se.resets_at,18e6,l):void 0,ue=ce?QA(ce.used_percentage,ce.resets_at,6048e5,l):void 0,de=te?.session.cost,fe=D?.sessionDuration,pe=c(`burn`)&&de!=null&&fe!=null?$A(de,fe):void 0,me=w(b),he=me===void 0?void 0:tj(me),ge=me===void 0?void 0:nj(me),k=he!==void 0||ge!==void 0?{...he,...ge!==void 0&&{history:ge}}:void 0,_e=_j(process.env.HOME??process.env.USERPROFILE),ve=e.workspace?{...e.workspace,current_dir:_j(e.workspace.current_dir)??``,project_dir:_j(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>_j(e)??e)}:e.workspace,ye=te===void 0?void 0:gj({cost:te.session.cost,tokens:te.session.tokens}),be=E===void 0?void 0:{cost:E.cost,tokens:E.tokens},xe=D===void 0?void 0:gj({lastResponseTime:D.lastResponseTime,responseTime:D.responseTime,sessionDuration:D.sessionDuration,messageCount:D.messageCount,linesAdded:D.linesAdded,linesRemoved:D.linesRemoved}),Se=O===void 0?void 0:mj(O);return{...e,...ve!==void 0&&{workspace:ve},..._e!==void 0&&{home:_e},...T.git!==void 0&&{git:T.git},...u!==null&&{tmux:{pane:u.pane,...re!==void 0&&{session:re}}},host:ee.host,...XA(i),history:t.history(e.session_id),navigation:{back:t.navigation(e.session_id)},...s,...o!==null&&{configPath:o},resumeCommand:KA(ve,e.session_id,a.claudeConfigDir),...ye!==void 0&&{session:ye},...be!==void 0&&{today:be},...pe!==void 0&&{burn:{costPerHour:pe}},...k!==void 0&&{speed:k},...c(`block`)&&se!==void 0&&{block:{nativeUtilization:se.used_percentage,resetsAt:se.resets_at,...le!==void 0&&{etaMinutes:le}}},...ce!==void 0&&{weekly:{percentage:ce.used_percentage,resetsAt:ce.resets_at,...ue!==void 0&&{etaMinutes:ue}}},...ie!==void 0&&{cache:{expiresAt:ie}},...ne!==void 0&&{context:{totalTokens:ne.totalTokens,contextLeft:ne.contextLeftPercentage}},...xe!==void 0&&{metrics:xe},...Se!==void 0&&{activity:Se},...ae!==void 0&&{memento:ae},...oe!==void 0&&{autocompact:oe}}}function dj(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return vS(e.value,t)}}const fj=e=>e.trim().split(`
191
- `).at(-1).trim();function pj(e){switch(e.kind){case`absent`:return;case`failed`:return{error:fj(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function mj(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=hj(e.running),i=hj(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 hj(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function gj(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 _j(e){return e===void 0||e.length===0||c.sep!==`\\`?e:e.replace(/\\/g,`/`)}function vj(e){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let t=e.value,n=[],r=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){n.push(`git.${e}: ${t.reason}`);return}return t.value}},i=r(`aheadBehind`,t.aheadBehind),a=r(`sha`,t.sha),o=r(`operation`,t.operation),s=r(`timeSinceCommit`,t.timeSinceCommit),c=r(`stash`,t.stashCount),l=r(`upstream`,t.upstream),u=r(`repoName`,t.repoName),d=r(`repoUrl`,t.repoUrl),f=t.pullRequest,p={};return f?.kind===`ok`?(p.prNumber=f.value.number,p.prState=f.value.state,p.prUrl=f.value.url):f?.kind===`failed`&&(n.push(`git.pr: ${f.reason}`),p.prError=f.reason),{git:{branch:t.branch,status:t.status,...i!==void 0&&{ahead:i.ahead,behind:i.behind},...t.workingTree!==void 0&&{staged:t.workingTree.staged,unstaged:t.workingTree.unstaged,untracked:t.workingTree.untracked,conflicts:t.workingTree.conflicts},...a!==void 0&&{sha:a},...o!==void 0&&{operation:o},...s!==void 0&&{timeSinceCommit:s},...c!==void 0&&{stash:c},...l!==void 0&&{upstream:l},...u!==void 0&&{repoName:u},...d!==void 0&&{repoUrl:d},...p},failures:n}}const yj={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,autoWrap:e=>e.autoWrap?So:Co,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?So:Co},bj=Object.entries(Lb),xj=new Set(Rb.map(e=>e.sessionKey)),Sj=()=>!1;function Cj(e,t){return qA(e,e=>xj.has(e)?t(e):null,Sj)}function wj(e,t,n,r){return e.flatMap(([e,i])=>{let a=yj[e](t);return a===null||a===yj[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function Tj(e,t,n){return yj[n](Cj(e,t))}function Ej(e,t){let n=Cj(e,t),r=qA(e,()=>null,Sj),i=qA(e,e=>e===Lb.preset.sessionKey?n.preset:null,Sj);return wj(bj,n,e=>e===`preset`?r:i,t=>Dj(e,n.preset,t.configKey))}function Dj(e,t,n){return n in(j_(e.presets,t).globals??{})?bx(t,n):n}function Oj(e,t,n){let r=A_(t(Lb.preset.sessionKey),e.globals.preset,e.presets),i=xx(n);return{key:i?.scope===`globals`?Dj(e,r,i.field):n,globals:N_(e,r)}}function kj(e,t){let{preset:n}=Cj(e,t);return Mj(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Js(a,s);return c===void 0||qs(c)===qs(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function Aj(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return k_(e.presets).flatMap(n=>{let i=Mj(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 Gs(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:Js(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const jj=new WeakMap;function Mj(e,t){let n=jj.get(e)??new Map;jj.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...Ns(M_(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=Us(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 Nj(e,t){let n=Cj(e,t),r=qA(e,e=>e===Lb.preset.sessionKey?n.preset:null,Sj);return{from:n.preset,globals:j_(e.presets,n.preset).globals??{},picks:wj(bj.filter(([e])=>e!==`preset`),n,()=>r,e=>e.configKey),placements:kj(e,t)}}function Pj(e){return{sessionKeys:Rb.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...wl(e)?yA.map(t=>bx(t,e)):[]]}}function Fj(e){return new Set(Rb.map(e=>e.configKey).filter(t=>Pj(t).fileKeys.some(t=>Rj(e,Lj(t)))))}function Ij(e,t,n){let r=Ej(e,n),i=new Set(r.map(e=>e.configKey)),a=Ub(e=>i.has(Lb[e].configKey)||t.has(Lb[e].configKey));return{unsaved:r.length+kj(e,n).length,resettable:a}}function Lj(e){let t=xx(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return Sx(t)}function Rj(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&Rj(e[n],r)}const zj=Qa(),Bj=new Set(zj),Vj=new Set(fo),Hj=e=>e?Bj.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${zj.join(`, `)})`}:{ok:!1,reason:`theme name is required`},Uj=e=>e?Vj.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${fo.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},Wj=new Set([`1`,`true`]),Gj=new Set([`0`,`false`]),Kj={endcaps:Uj,theme:Hj,"toolbar-expanded":e=>Wj.has(e)?{ok:!0,value:`1`}:Gj.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},qj=$k(Kj,`state`,eM);function Jj(e,t){return qj.register(e,t)}function Yj(e){return qj.gateFor(e)}function Xj(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:lx(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 Zj(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(Kj,e.key))}function Qj(e,t,n){let r=Wb.get(n);if(r!==void 0)return Tj(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 $j(e){let t=sx(e);return Zj(Object.values(e.actions).flatMap(e=>Xj(e,t)))}function eM(e){return Zk($j(e))}const tM=`update.dismissed`,nM=`updateNotice`,rM=Lb.updateNotice.sessionKey;function iM(e){return e.kind===`source`?e.newer.digest:aO(e.newer)}const aM=e=>`${e.version} [${Ik(e.digest)}]`;function oM(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:aM(e.newer),running:aM(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:aO(e.newer),running:aO(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${sO}@${aO(e.newer)}`,`install`]}}}}const sM={kind:`idle`},cM={kind:`running`};function lM(e,t,n){if(e===null)return[];let r=iM(e);if(!n.enabled||n.dismissed===r)return[];let i=oM(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(`
192
- `),c=qD([{verb:OD,args:[s]}]),l=t.kind===`running`?wk(`[${i.busy}]`,c):wk(`[${i.act}]`,qD([{verb:BD,args:[n.sessionId]}]));return[{severity:Ck,message:s,lines:[[wk(a,c),l,wk(`[dismiss]`,qD([{verb:SD,args:[n.sessionId,tM,r]}])),wk(`[disable]`,qD([{verb:kD,args:[n.sessionId,nM,`false`]},{verb:SD,args:[n.sessionId,rM,`false`]}]))],...o.map(e=>[wk(e,c)])]}]}function uM(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 dM(e){switch(e.kind){case`current`:return[`info`,`build: current ${aM(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${aM(e.source)}, running ${aM(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function fM(e){switch(e.kind){case`current`:return[`info`,`release: current ${aO(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${aO(e.latest)}, running ${aO(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${aO(e.installed)}, latest ${aO(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function pM(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const mM=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function hM(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=mM(e.stderr)??e.error??mM(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function gM(){let e=[tA(nM,[`false`]),Jj(rM,[`false`]),Jj(tM,[])];return()=>e.forEach(e=>e())}function _M(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=sM,d=null,f=pM(s),p=pM(s),m=()=>uM(c,l);function h(){let e=m(),t=e===null?null:iM(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:Jj(tM,[t])})}function g(){c=Bk(t,Rk),f(dM(c)),h()}async function _(){l=lO($D,await cO(sO,a,i)),p(fM(l)),h()}return{arm(){gM(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>lM(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=oM(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=cM,s(`info`,`apply-update: ${t.act} — ${t.command.bin} ${t.command.args?.join(` `)??``}`),De({...t.command,category:`update.apply`,timeoutMs:6e5}).then(n=>{if(n.ok){u=sM,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=hM(n);u={kind:`failed`,identity:iM(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var vM=class{static CACHE_DIR=Ne();static USAGE_CACHE_DIR=c.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=c.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=c.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=c.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 oe(50);else throw e}return k(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=c.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 ie(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=c.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 oe(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 oe(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=c.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 yM={"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 bM=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 vM.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await vM.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new E(this.GITHUB_PRICING_URL),n=ae({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(yM).length} models`),this.executionCache=yM,k(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(yM).length} models`),yM)}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 xM=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function SM(e){if(typeof e==`string`)return xM.exec(e)?.[1]}function CM(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 wM(e){let t=e.message?.content,n=e.type===`user`,r=[],i=[],a,o;if(typeof t==`string`)o=t;else if(Array.isArray(t))for(let e of t){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=CM(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}case`text`:o??=t.text;break;default:break}}let s=n?SM(o):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&s===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...s!==void 0&&{command:s}}}function TM(e){if(e!==void 0)return[e];let t=h();return[f(t,`.config`,`claude`),f(t,`.claude`)].filter(e=>a(e))}async function EM(e){let t=[];for(let n of e){let e=f(n,`projects`);if(a(e))try{let n=await wA(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=f(e,r.name);t.push(n)}}catch(t){k(`Failed to read projects directory ${e}:`,t)}}return t}async function DM(e,t,n){let r=[],i=f(t,e,`subagents`);try{let t=(await wA(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=f(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await TA(t,`utf-8`)).split(`
193
- `)[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 OM(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}const kM=new Map;async function AM(e){try{let t=await EA(e),n=t.size,r=kM.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return k(`[parse-cache] hit ${e}`),kM.delete(e),kM.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 FM(e)):i=await NM(e),k(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(kM.delete(e),kM.size>=16&&kM.delete(kM.keys().next().value),kM.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 jM(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;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,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,activity:wM(e),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 MM(e){let t=[];for(let n of e.split(`
194
- `))if(n.trim())try{let e=jM(JSON.parse(n));e&&t.push(e)}catch(e){k(`Failed to parse JSONL line: ${e}`);continue}return t}async function NM(e){return MM(await TA(e,`utf-8`))}async function PM(e,t){let n=await DA(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return J(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:MM(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function FM(e){return new Promise((t,n)=>{let r=[],a=i(e,{encoding:`utf8`}),o=se({input:a,crlfDelay:1/0});o.on(`line`,e=>{let t=e.trim();if(t)try{let e=jM(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 IM=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 LM(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 RM=new Map,zM={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},BM={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function VM(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function HM(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function UM(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function WM(e,t,n,r){let i=VM(new Date(HM())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:UM(),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 bM.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=VM(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...zM};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 GM(e){let t=0,n=0,r=UM(),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)??{...zM};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:BM,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 KM(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 qM=class{entries=new Map;flight=new IM;seeded=new Map;seededDay=``;speedRings=new Map;speedFlight=new IM;maxEntries;staleAgeMs;log;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.log=e.logger??nb,this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:BM,i=t?.cost?.total_cost_usd??null;return J({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t){let n=VM(new Date),r=TM(t);try{await this.ensureSeeded(n,r)}catch(e){return X(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let i=await this.ingest(e?.session_id??``,e?.transcript_path);if(i.kind===`failed`)return i;let a=r.map(e=>f(e,`projects`)+p),o={...zM},s=!1;for(let[t,r]of this.entries){let i=r.transcriptPath??``,c=t===e?.session_id||a.some(e=>i.startsWith(e))?r.days:RM;s||=c.has(n);let l=c.get(n)??zM;o.cost+=l.cost,o.input+=l.input,o.output+=l.output,o.cacheCreation+=l.cacheCreation,o.cacheRead+=l.cacheRead}return s?J({cost:o.cost,tokens:o.input+o.output+o.cacheCreation+o.cacheRead,tokenBreakdown:{input:o.input,output:o.output,cacheCreation:o.cacheCreation,cacheRead:o.cacheRead},date:n}):Y}async observeSpeed(e,t,n){let r=xA(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=LM(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(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(),this.speedRings.set(e,o),J({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return Y;let r=n??xA(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,J(i);if(!t)return i?J(i):Y;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return X(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),J(o)}async refold(e,t,n){let r=await DM(e,u(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await PM(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 WM(r,l,s,c)),e===t&&(a=c.mtimeMs)}return J({files:i,...GM(i),mainMtime:a})}ensureSeeded(e,t){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let n=t.join(`\0`),r=this.seeded.get(n);if(r)return r;let i=this.seed(t);return this.seeded.set(n,i),i.catch(()=>{this.seeded.get(n)===i&&this.seeded.delete(n)}),i}async seed(e){let t=HM(),n=await EM(e),r=[];for(let e of n){let n;try{n=await wA(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=f(e,i),a;try{a=(await EA(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await KM(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&this.log(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,this.log(`info`,`usageStore seed sessions=${r.length} dirs=${e.join(`,`)}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,this.log(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),this.log(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}},JM=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 AM(e);if(n.length===0)return k(`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,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})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return k(`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)}},YM=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=xA(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await PM(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 XM={messageCount:0,recent:[]};function ZM(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +!!OM(t),recent:n.length>20?n.slice(-20):n}}function QM(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(OM(r))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 $M=class{fold=new YM(XM,ZM);async getMetricsInfo(e,t){if(k(`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:QM(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const eN={command:null,todos:[],pending:[],done:[]};function tN(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 nN(e,t){if(t.isSidechain)return e;let n=OM(t)?{...e,command:t.activity?.command??null,pending:[],done:[]}:e,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=tN(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 rN(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>tN(e,t.name),[]),done:e.done}}var iN=class{fold=new YM(eN,nN);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(rN(n.value))}};function aN(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function oN(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 sN(e,t,n,r){return oN(Oe(aN(e,t,n,r)),n)}async function cN(e,t,n){return oN(await De(aN(e,t,n)),n)}const lN=e=>`${e.socket}\n${e.pane}`;var uN=class{names=new Map;asking=new IM;constructor(e=Date.now){this.now=e}getSessionName(e){let t=lN(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 cN(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 dN=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:Je.map(t=>e.env?.[t]??null)]);var fN=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=dN(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=dN(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function pN(e){return{gitProvider:new db({watchers:e.watchers,logger:e.logger}),usageStore:new qM({logger:e.logger}),contextProvider:new JM,metricsProvider:new $M,activityProvider:new iN,tmuxService:new uN,mementoProvider:new fN(GA()),autoCompact:_S,log:e.logger}}function mN(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function hN(e,t){let n=H.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function gN(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function _N({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function vN(e){let t=_N(e);if(t.length===1)return e.text;let n=hN(t);return n.style=e.text.style,n}function yN(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,lead:s=[],trail:c=[]}=t;if(e.length===0)return[];let l=hN(e,a).pad(o),u=new H(` `.repeat(o)),d={...s.length>0&&{lead:hN([u,...s],a)},...c.length>0&&{trail:hN([...c,u],a)}};if(n===`auto`)return[{text:l,...d}];let f={justify:r,truncate:i};return n===`fill`?[{text:l,fill:f,...d}]:(gN(l,n,f),[{text:l,...d}])}const bN=RegExp(`\\x1b\\[[0-9;]*m|${bi.source}`,`g`);function xN(e){return N(e.replace(bN,``))}function SN(e,t){let n=e.map(vN),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=yk(n,t).split(`
195
- `);if(i.length>1)return n;let a=Math.max(0,t.width-xN(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:i},a)=>{let c=o+(a===r.length-1?s:0),{text:l}=e[t];gN(l,l.cellLength+c,i),n[t]=vN(e[t])}),n}function CN(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=wN(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e)if(EN(a.style).link){i();let e=wN([a],t);e.plain.length>0&&n.push(e)}else r.push(a);return i(),n}function wN(e,t){let n=t!==void 0&&!t.isNull?e.map(e=>TN(e,t)):e,r=H.fromFragments(n);return r.end=``,r.overflow=`ignore`,n.length===1?r.style=n[0].style:t!==void 0&&!t.isNull&&(r.style=t),r}function TN(e,t){let n=e.copy();return n.style=t.add(EN(e.style)),n}function EN(e){return e instanceof B?e:B.parse(e)}function DN(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,ON(e,t,o,n,r,i));return i}function ON(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=lx(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=Vb.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=lx(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=lx(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:jN(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:jN(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:Cw(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:jN(e,n.name,t)};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 kN(e){return e.kind===`do`?kN(e.head):e}function AN(e){switch(kN(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`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function jN(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function MN(e,t){return e.has(t)?Nv(e.read(t)):``}function NN(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function PN(e,t,n,r){let i=new H(e,{style:B.combine([r,new B({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function FN(e,t){return Math.max(e.members.indexOf(MN(t,e.stateVar)),0)}function IN(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=MN(r,e.stateVar);return{effects:[{verb:SD,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=MN(r,e.stateVar);return{effects:[{verb:SD,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=MN(r,e.stateVar);return{effects:[{verb:SD,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(FN(e,r)+1)%e.members.length];return{effects:[{verb:SD,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:CD,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:wD,args:[NN(e.text,Ty(r))]}],active:!1};case`open`:return{effects:[{verb:TD,args:[NN(e.target,Ty(r))]}],active:!1};case`persist-literal`:{let t=MN(r,e.stateVar);return{effects:[{verb:kD,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=MN(r,e.stateVar);return{effects:[{verb:kD,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(FN(e,r)+1)%e.members.length];return{effects:[{verb:kD,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:AD,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:PD,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:ID,args:[i]}],active:!1};case`redo`:return{effects:[{verb:LD,args:[i]}],active:!1};case`back`:return{effects:[{verb:RD,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:zD,args:[i]}],active:!1};case`save`:return{effects:[{verb:jD,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:MD,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:ND,args:[i,NN(e.name,Ty(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:VD,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:HD,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:UD,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:WD,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:FD,args:[i,e.key,Vk(e.op)]}],active:!1};case`do`:{let a=IN(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>IN(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:FD,args:[i,e.key,Vk(r)]}],active:!1}}}}function LN(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:Jc(`action "${e}"`,n,t.members.length,FN(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]}}function RN(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}=LN(e,kN(r),t,i),{effects:s,active:c}=IN(r,a,o,i,MN(i,`session.id`));return PN(a,qD(s),c)}function zN(e){return{action:{fn:(t,...n)=>RN(t,n,e),argTypes:[`string`,`string`],arity:{kind:`variadic`},returnType:`T`}}}function BN(e,t){return PN(`✕`,qD([{verb:SD,args:[MN(e,`session.id`),t,Gc]}]),!1)}function VN(e,t,n){return new B({bgcolor:vn.fromRgba(t),color:vn.fromRgba(Aa(e,t,n))})}function HN(e,t,n){return new B({color:vn.fromRgba(sr(ba(e,`warning`),t,ka,n))})}function UN(e,t,n){return B.combine([VN(e,t,n),HN(e,t,n)])}function WN(e,t,n){return VN(e.palette,Ua(e.palette,e.disclosure,[t],n),n)}function GN(e,t,n,r,i,a){return r===void 0?n=>WN(e,{...n,distribution:t},i):(e,t)=>KN(r(t,n),a,i)}function KN(e,t,n){return new B({bgcolor:vn.fromRgba(t),color:vn.fromRgba(sr(ba(e,`primary`),t,4.5,n))})}function qN(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=>JN(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function JN(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function YN(e,t){return new H(e).truncate(t,{marker:`…`}).plain}function XN(e){return{current:null,drawnAt:e}}function ZN(e,t,n,r,i,a){let o={segName:t,placementId:n,palette:r,disclosure:i,tint:a,bg:void 0,drops:[]};return e.current=o,o}function QN(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 $N(e){return new H(e).cellLength}function eP(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function tP(e){return Math.max(1,eP(e)-($N(`✕`)+2*e.padding+e.seamCols))}function nP(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 rP(e,t,n){let r=$N(`←`)+1+$N(`→`)+1,i=nP(e,t,n);return(i.length>1?nP(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function iP(e,t){let n=[];for(let t of e)n.length>0&&n.push(new H(` `)),n.push(t);let r=H.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function aP(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function oP(e,t,n){let r=e.compiled.get(t),i=r&&kN(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 sP(e,t,n,r,i,a,o){let s=oP(i,e,`picker`),c=i.compiled.get(e),l=i.store,u=MN(l,`session.id`),d=`stateVar`in s?MN(l,s.stateVar):void 0,f=r?n.kind===`led`?tP(i):eP(i):1/0,p=n.kind===`led`?0:$N(`✕`)+1,m=s.library&&{groups:s.library.groups,entries:s.options.map(s.library.entry)},h=m===void 0?rP(s.options.map($N),f,p):qN(m.entries,m.groups,r),g=parseInt(MN(l,t.stateVar),10),_=Number.isInteger(g)?Math.max(0,Math.min(g,h.length-1)):0,v=h[_]??[],y=e=>qD([{verb:SD,args:[u,t.key,String(e)]}]),b=n.kind===`led`?[]:[{verb:SD,args:[u,...n.writes.flatMap(([e,t])=>[e,t])]}],x=n.kind===`own`&&n.onPick?b:[],S=e=>qD([...IN(c,e,e,l,u).effects,...x]),C=(e,t)=>{let n=s.options[e];return PN(t,S(n),n===d,a({index:e,count:s.options.length},n))},w=n.kind===`led`?[]:[PN(`✕`,qD(b),!1,o)];_>0&&w.push(PN(`←`,y(_-1),!1));let T=_<h.length-1?[PN(`→`,y(_+1),!1)]:[];if(m===void 0){let e=v.flatMap(e=>e.indices);return[iP([...w,...e.map(e=>C(e,s.options[e])),...T],r)]}let ee=new B({bold:!0}),te=h.length>1?` ${_+1}/${h.length}`:``,E=v.length===1?[new H(`${v[0].label}${te}`,{style:ee})]:[],ne=[iP([...w,...E,...T],r)];for(let e of v){v.length>1&&ne.push(iP([new H(e.label,{style:ee})],r));let t=Math.max(...e.indices.map(e=>$N(s.options[e])));for(let n of e.indices){let e=s.options[n],i=m.entries[n].description,a=i===void 0?void 0:ak(i),o=` `.repeat(t-$N(e)+2),c=a===void 0?e:`${e}${o}${a}`;ne.push(iP([C(n,YN(c,f))],r))}}return ne}function cP(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{yy(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=aP(e,r,`set-int`,`an int action ({ set, int: true })`);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=oP(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=QN(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]=sP(n,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,GN(u,pa(void 0),e,l.paletteOf,t.drawnAt(),u.bg),HN(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function lP(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+$N(e(-(s+1)))+1+$N(e(s+1))+1;if(t>r)break;o=t,s+=1}return s}function uP(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=MN(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return iP([],!0);let d=MN(o,t.stateVar),f=Math.max(l.indexOf(d),0),p=e=>((f+e)%u+u)%u,m=e=>l[p(e)],h=new Map,g=e=>{let t=h.get(e);if(t!==void 0)return t;let n=qD(IN(s,m(e),m(e),o,c).effects);return h.set(e,n),n},_=e=>PN(m(e),g(e),m(e)===d,r({index:p(e),count:u},m(e))),v=a===void 0?_(0):PN(m(0),qD(IN(n.compiled.get(a),m(0),void 0,o,c).effects),!1),y=lP(m,u,$N(`◀`)+1+v.cellLength+1+$N(`▶`),tP(n),i),b=e=>Array.from({length:y},(t,n)=>_(e*(n+1)));return iP([...b(-1).reverse(),PN(`◀`,g(-1),!1),v,PN(`▶`,g(1),!1),...b(1)],!0)}function dP(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(yy(`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&&AN(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=oP(e,n,`carousel`),l=QN(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 uP(n,c,e,GN(l,pa(void 0),e,c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}const fP=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function pP(e,t,n){let r=Ia(e,{hue:oa,depth:0},n);return[sa(t.hues).map((t,n)=>({text:fP[n%fP.length],colour:xa(e,t)})),[{text:`▾ open`,colour:r.state},{text:`menu`,colour:r.plane}],[{text:`warn`,colour:ba(e,`warning`)},{text:`error`,colour:ba(e,`error`)}]]}function mP(e,t,n,r){let i=pP(e,t,n).flatMap((t,r)=>t.map(({text:t,colour:i},a)=>({gap:r>0&&a===0?` `:``,cell:new H(` ${t} `,{style:VN(e,i,n)})}))),a=[],o=0;for(let{gap:e,cell:t}of i){if(o+=e.length+t.cellLength,o>r)break;e!==``&&a.push(new H(e)),a.push(t)}let s=H.fromFragments(a);return s.overflow=`ignore`,s.end=``,s}function hP(e,t){return{themePreview:{fn:()=>mP(e.palette,e.variation,t.drawnAt(),tP(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}const gP=e=>e.slice(e.lastIndexOf(`.`)+1),_P=(e,t)=>{let n=new H(gP(e));return n.truncate(t,{marker:`…`}),n.plain};function vP(e,t){let n=e.map(e=>e.map(({name:e})=>$N(gP(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 yP(e,t,n,r){let i=vP(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new H(` ${_P(s,i)} `,{style:VN(l,qa(l,{kind:`bar`,variation:t,address:c},n).tint,n)});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=H.fromFragments(a.flatMap((e,t)=>t===0?e:[new H(`
196
- `),...e]));return o.overflow=`ignore`,o.end=``,o}function bP(e,t){return{layoutPreview:{fn:()=>yP(e.layout(),e.variation,t.drawnAt(),tP(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function xP(e,t,n,r){let i=QN(r.activeSegment,`{{ menu }}`),a=r.action,o=y_(i.placementId,e,n.key),s=S_(o),c=v_(e),l=MN(a.store,o)===c,u=MN(a.store,`session.id`),d=l?Gc:c,f=PN(Jc(`{{ menu "${e}" }}`,t,2,+!!l),qD([{verb:SD,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=Ia(i.palette,i.disclosure,t).plane;return sP(e,{key:s,stateVar:s},{kind:`own`,writes:[[o,Gc],[s,`0`]],onPick:n.closeOnPick},n.paged,a,GN(i,n.distribution,a,oP(a,e,`menu`).paletteOf,t,c),HN(i.palette,c,t))})():[]),f}const SP=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function CP(e,t){let n=t[t.length-1],r=SP(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:E_(r??{})}}function wP(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=CP(t,n);return xP(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function TP(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=EP(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 H(t?i:a,{style:l===void 0?void 0:new B({color:l})}))}let l=H.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function EP(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 DP(e){let t={fn:(()=>{let t=QN(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:(()=>QN(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r=ay(()=>QN(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),i={fn:((e,t,n,i,a,o,...s)=>{let c=o===void 0?void 0:[o,...OP(s)];return TP({value:e,max:t,width:n,filled:i,empty:a,colourAt:c===void 0?void 0:e=>String(r.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...r,bgOf:t,tint:n,gauge:i}}function OP(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 kP(e){let t=[],n=[];for(let r of e){if(!r.contains(`
190
+ `,c.join(e,`lib`),t.sessionId,t.cwd],env:YA(t),timeoutMs:3e3,category:`memento.read`});return n.ok?ZA(n.stdout):X(XA(n))}function $A(e,t,n){let r=Ae({bin:c.join(e,GA),args:n.kind===`set`?[`set`,`session`,n.to]:[`clear`,`session`],env:YA(t),timeoutMs:5e3,category:`memento.move`});if(!r.ok)throw Error(XA(r))}function ej(){return{locate:e=>JA(hS(e.claudeConfigDir),e.projectDir),read:QA,move:$A}}function tj(e,t,n){let r=n===void 0?``:`CLAUDE_CONFIG_DIR=${lO(n)} `,i=e.added_dirs.map(e=>` --add-dir ${lO(e)}`).join(``);return`cd ${lO(e.project_dir)} && ${r}claude --resume ${lO(t)}${i}`}function nj(e,t,n){let r=M_(t(`preset`),e.globals.preset,e.presets),i=F_(e,r),a=t(`edit.mode`)===`arrange`?e.editGlobals:{};return{preset:r,presetCustomized:n(r),theme:rx(a.palette,t(`theme`),i.palette),style:fo(a.style,t(`style`),i.style,e.styles),endcaps:ho(a.endcaps,t(`endcaps`),i.endcaps),variation:So(a.variation,t(`variation`),i.variation),separator:a.default_separator??i.default_separator,autoWrap:Ao(a.autoWrap,t(`autoWrap`),i.autoWrap),padding:Mo(a.padding,t(`padding`),i.padding),charset:a.charset??i.charset??`unicode`,updateNotice:jo(a.updateNotice,t(`updateNotice`),i.updateNotice),colorCompatibility:a.colorCompatibility??i.colorCompatibility??`truecolor`}}function rj(e,t){return{endcaps:e.endcaps,separator:e.separator,colorCompatibility:e.colorCompatibility,wrap:e.autoWrap,padding:e.padding,charset:e.charset,width:t}}function ij(e){return{theme:e.theme,style:e.style,preset:e.preset,variation:e.variation}}function aj(e){return{preset:{effective:e.preset,customized:e.presetCustomized,bundled:kA(e.preset)},endcaps:{effective:e.endcaps},variation:{effective:e.variation},charset:{effective:e.charset},colorCompatibility:{effective:e.colorCompatibility},autoWrap:{effective:e.autoWrap},padding:{effective:e.padding},updateNotice:{effective:e.updateNotice}}}const oj=10*1e3;function sj(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 cj(e,t){if(!(t<60))return e*3600/t}function lj(e,t,n,r){let i=r-t;if(i<50||i>oj)return;let a=n-e;if(!(a<=0))return a*1e3/i}function uj(e){let{prev:t,cur:n}=e;if(t===void 0)return;let r=lj(t.input,t.atMs,n.input,n.atMs),i=lj(t.output,t.atMs,n.output,n.atMs),a=lj(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 dj(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>oj)continue;let o=lj(r.total,r.atMs,i.total,i.atMs);n.push(o??0)}if(n.length!==0)return n.join(`,`)}function fj(e){let t=e.indexOf(`.`);return t<0?e:e.slice(0,t)}function pj(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`,()=>fj(m.hostname())),i=n(`user`,()=>m.userInfo().username);return{host:{...r!==void 0&&{name:r},...i!==void 0&&{user:i},...e.ssh!==void 0&&{ssh:e.ssh}},failures:t}}function mj(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=>xv(t,e.helpers).keys(),o=F_(e,t);for(let e of io){let t=o[e];if(ao(t))for(let e of a(t))r.push(e)}for(let n of Ps(P_(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 gj(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 hj(e){let t=new Map;return n=>{let r=t.get(n);if(r!==void 0)return r;let i=mj(e,n);return t.set(n,i),i}}function gj(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 _j(e,t){for(let n of e)if(n===t||n.startsWith(t+`.`))return!0;return!1}function vj(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 yj(e,t,n,r,i,a,{configPath:o,...s}){let c=e=>_j(r,e),l=(t.clock??(()=>new Date))().getTime(),u=a.tmux??null,d=(e,t,n)=>t?n().catch(t=>X(`${e}: ${String(t)}`)):Promise.resolve(Y),[f,p,m,h,g,_,v,y,b,x,S]=await Promise.all([d(`git`,c(`git`),()=>t.gitProvider.getGitInfo(n??e.workspace?.current_dir,vj(r),e.workspace?.project_dir)),d(`session`,c(`session.cost`)||c(`session.tokens`)||c(`burn`),()=>t.usageStore.getUsageInfo(e.session_id,e)),d(`today`,c(`today`),()=>t.usageStore.getTodayInfo(e,a.claudeConfigDir)),d(`context`,c(`context`)||c(`autocompact`),()=>t.contextProvider.getContextInfo(e)),d(`metrics`,c(`metrics`)||c(`burn`),()=>t.metricsProvider.getMetricsInfo(e.session_id,e)),d(`activity`,c(`activity`),()=>t.activityProvider.getActivityInfo(e.session_id,e)),d(`tmux`,c(`tmux.session`),()=>u===null?Promise.resolve(Y):t.tmuxService.getSessionName(u)),d(`cache`,c(`cache`),()=>BA(e.transcript_path)),d(`speed`,c(`speed`),()=>t.usageStore.observeSpeed(e.session_id,e.transcript_path,l)),d(`memento`,c(`memento`),()=>t.mementoProvider.getCeiling(UA({sessionId:e.session_id,projectDir:e.workspace?.project_dir??``,cwd:n??e.workspace?.current_dir??``},a))),d(`autocompact`,c(`autocompact`),()=>Promise.resolve(t.autoCompact(mS(pS(a.claudeConfigDir)))))]),C=[],w=e=>{if(e.kind===`failed`){C.push(e.reason);return}return e.kind===`ok`?e.value:void 0},ee=Dj(f);C.push(...ee.failures);let te=pj(a);C.push(...te.failures);let ne=w(p),re=w(m),ie=w(h),T=w(g),E=w(_),ae=w(v),oe=w(y),se=Sj(x);x.kind===`failed`&&C.push(`memento: ${x.reason}`);let ce=bj(S,ie?.maxTokens);S.kind===`failed`&&C.push(`autocompact: ${S.reason}`);for(let e of C)t.log(`warn`,`provider fetch failed: ${e}`);let D=e.rate_limits?.five_hour,le=e.rate_limits?.seven_day,ue=D?sj(D.used_percentage,D.resets_at,18e6,l):void 0,de=le?sj(le.used_percentage,le.resets_at,6048e5,l):void 0,fe=ne?.session.cost,pe=T?.sessionDuration,me=c(`burn`)&&fe!=null&&pe!=null?cj(fe,pe):void 0,he=w(b),ge=he===void 0?void 0:uj(he),_e=he===void 0?void 0:dj(he),ve=ge!==void 0||_e!==void 0?{...ge,..._e!==void 0&&{history:_e}}:void 0,O=Ej(process.env.HOME??process.env.USERPROFILE),ye=e.workspace?{...e.workspace,current_dir:Ej(e.workspace.current_dir)??``,project_dir:Ej(e.workspace.project_dir)??``,added_dirs:(e.workspace.added_dirs??[]).map(e=>Ej(e)??e)}:e.workspace,be=ne===void 0?void 0:Tj({cost:ne.session.cost,tokens:ne.session.tokens}),xe=re===void 0?void 0:{cost:re.cost,tokens:re.tokens},Se=T===void 0?void 0:Tj({lastResponseTime:T.lastResponseTime,responseTime:T.responseTime,sessionDuration:T.sessionDuration,messageCount:T.messageCount,linesAdded:T.linesAdded,linesRemoved:T.linesRemoved}),Ce=E===void 0?void 0:Cj(E);return{...e,...ye!==void 0&&{workspace:ye},...O!==void 0&&{home:O},...ee.git!==void 0&&{git:ee.git},...u!==null&&{tmux:{pane:u.pane,...ae!==void 0&&{session:ae}}},host:te.host,...aj(i),history:t.history(e.session_id),navigation:{back:t.navigation(e.session_id)},...s,...o!==null&&{configPath:o},resumeCommand:tj(ye,e.session_id,a.claudeConfigDir),...be!==void 0&&{session:be},...xe!==void 0&&{today:xe},...me!==void 0&&{burn:{costPerHour:me}},...ve!==void 0&&{speed:ve},...c(`block`)&&D!==void 0&&{block:{nativeUtilization:D.used_percentage,resetsAt:D.resets_at,...ue!==void 0&&{etaMinutes:ue}}},...le!==void 0&&{weekly:{percentage:le.used_percentage,resetsAt:le.resets_at,...de!==void 0&&{etaMinutes:de}}},...oe!==void 0&&{cache:{expiresAt:oe}},...ie!==void 0&&{context:{totalTokens:ie.totalTokens,contextLeft:ie.contextLeftPercentage}},...Se!==void 0&&{metrics:Se},...Ce!==void 0&&{activity:Ce},...se!==void 0&&{memento:se},...ce!==void 0&&{autocompact:ce}}}function bj(e,t){switch(e.kind){case`absent`:return;case`failed`:return{error:e.reason};case`ok`:return CS(e.value,t)}}const xj=e=>e.trim().split(`
191
+ `).at(-1).trim();function Sj(e){switch(e.kind){case`absent`:return;case`failed`:return{error:xj(e.reason)};case`ok`:{let{ceiling:t,session:n}=e.value;return{ceiling:t===`off`?0:t,off:t===`off`,session:n??``}}}}function Cj(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=wj(e.running),i=wj(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 wj(e){return e.length===0?void 0:e.map(e=>`${e.name}:${e.count}`).join(`,`)}function Tj(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 Ej(e){return e===void 0||e.length===0||c.sep!==`\\`?e:e.replace(/\\/g,`/`)}function Dj(e){if(e.kind===`absent`)return{failures:[]};if(e.kind===`failed`)return{failures:[e.reason]};let t=e.value,n=[],r=(e,t)=>{if(!(t===void 0||t.kind===`absent`)){if(t.kind===`failed`){n.push(`git.${e}: ${t.reason}`);return}return t.value}},i=r(`aheadBehind`,t.aheadBehind),a=r(`sha`,t.sha),o=r(`operation`,t.operation),s=r(`timeSinceCommit`,t.timeSinceCommit),c=r(`stash`,t.stashCount),l=r(`upstream`,t.upstream),u=r(`repoName`,t.repoName),d=r(`repoUrl`,t.repoUrl),f=t.pullRequest,p={};return f?.kind===`ok`?(p.prNumber=f.value.number,p.prState=f.value.state,p.prUrl=f.value.url):f?.kind===`failed`&&(n.push(`git.pr: ${f.reason}`),p.prError=f.reason),{git:{branch:t.branch,status:t.status,...i!==void 0&&{ahead:i.ahead,behind:i.behind},...t.workingTree!==void 0&&{staged:t.workingTree.staged,unstaged:t.workingTree.unstaged,untracked:t.workingTree.untracked,conflicts:t.workingTree.conflicts},...a!==void 0&&{sha:a},...o!==void 0&&{operation:o},...s!==void 0&&{timeSinceCommit:s},...c!==void 0&&{stash:c},...l!==void 0&&{upstream:l},...u!==void 0&&{repoName:u},...d!==void 0&&{repoUrl:d},...p},failures:n}}const Oj={theme:e=>e.theme.kind===`decided`?e.theme.name:null,preset:e=>e.preset,style:e=>e.style.kind===`decided`?e.style.name:null,endcaps:e=>e.endcaps,variation:e=>e.variation,autoWrap:e=>e.autoWrap?Co:wo,padding:e=>String(e.padding),updateNotice:e=>e.updateNotice?Co:wo},kj=Object.entries(zb),Aj=new Set(Bb.map(e=>e.sessionKey)),jj=()=>!1;function Mj(e,t){return nj(e,e=>Aj.has(e)?t(e):null,jj)}function Nj(e,t,n,r){return e.flatMap(([e,i])=>{let a=Oj[e](t);return a===null||a===Oj[e](n(e))?[]:[{...i,value:a,target:r(i)}]})}function Pj(e,t,n){return Oj[n](Mj(e,t))}function Fj(e,t){let n=Mj(e,t),r=nj(e,()=>null,jj),i=nj(e,e=>e===zb.preset.sessionKey?n.preset:null,jj);return Nj(kj,n,e=>e===`preset`?r:i,t=>Ij(e,n.preset,t.configKey))}function Ij(e,t,n){return n in(N_(e.presets,t).globals??{})?Sx(t,n):n}function Lj(e,t,n){let r=M_(t(zb.preset.sessionKey),e.globals.preset,e.presets),i=Cx(n);return{key:i?.scope===`globals`?Ij(e,r,i.field):n,globals:F_(e,r)}}function Rj(e,t){let{preset:n}=Mj(e,t);return Vj(e,n).flatMap(({id:e,setting:r,key:i,decl:a,saved:o})=>{let s=t(i),c=s===null?void 0:Ys(a,s);return c===void 0||Js(c)===Js(o)?[]:[{preset:n,id:e,setting:r,key:i,value:c}]})}function zj(e,t,n){let r=new Map(n.map(e=>[e.key,e.value]));return j_(e.presets).flatMap(n=>{let i=Vj(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 Ks(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:Ys(e.decl,n);return[e.setting,i??e.saved]}))).map(({message:t})=>`placement "${e}": ${t}`)})})}const Bj=new WeakMap;function Vj(e,t){let n=Bj.get(e)??new Map;Bj.set(e,n);let r=n.get(t);if(r!==void 0)return r;let i=[...Ps(P_(e,t).node)].flatMap(t=>t.kind!==`segment`||t.drafts===void 0?[]:Object.entries(t.drafts).map(([n,{id:r,key:i}])=>{let a=Ws(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 Hj(e,t){let n=Mj(e,t),r=nj(e,e=>e===zb.preset.sessionKey?n.preset:null,jj);return{from:n.preset,globals:N_(e.presets,n.preset).globals??{},picks:Nj(kj.filter(([e])=>e!==`preset`),n,()=>r,e=>e.configKey),placements:Rj(e,t)}}function Uj(e){return{sessionKeys:Bb.filter(t=>t.configKey===e).map(e=>e.sessionKey),fileKeys:[e,...Tl(e)?OA.map(t=>Sx(t,e)):[]]}}function Wj(e){return new Set(Bb.map(e=>e.configKey).filter(t=>Uj(t).fileKeys.some(t=>qj(e,Kj(t)))))}function Gj(e,t,n){let r=Fj(e,n),i=new Set(r.map(e=>e.configKey)),a=Gb(e=>i.has(zb[e].configKey)||t.has(zb[e].configKey));return{unsaved:r.length+Rj(e,n).length,resettable:a}}function Kj(e){let t=Cx(e);if(t===null||t.scope===`preset-root`)throw Error(`reset layer "${e}" is not a value path`);return wx(t)}function qj(e,t){let[n,...r]=t;return n===void 0?e!==void 0:typeof e==`object`&&!!e&&qj(e[n],r)}const Jj=$a(),Yj=new Set(Jj),Xj=new Set(po),Zj=e=>e?Yj.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown theme "${e}" (have: ${Jj.join(`, `)})`}:{ok:!1,reason:`theme name is required`},Qj=e=>e?Xj.has(e)?{ok:!0,value:e}:{ok:!1,reason:`unknown endcaps "${e}" (have: ${po.join(`, `)})`}:{ok:!1,reason:`endcaps name is required`},$j=new Set([`1`,`true`]),eM=new Set([`0`,`false`]),tM={endcaps:Qj,theme:Zj,"toolbar-expanded":e=>$j.has(e)?{ok:!0,value:`1`}:eM.has(e)?{ok:!0,value:``}:{ok:!1,reason:`expected boolean-ish (1, 0, true, false), got "${e}"`}},nM=cA(tM,`state`,lM);function rM(e,t){return nM.register(e,t)}function iM(e){return nM.gateFor(e)}function aM(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:dx(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 oM(e){return e.filter(e=>e.spec.kind!==`allow-list`||!Object.hasOwn(tM,e.key))}function sM(e,t,n){let r=Kb.get(n);if(r!==void 0)return Pj(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 cM(e){let t=lx(e);return oM(Object.values(e.actions).flatMap(e=>aM(e,t)))}function lM(e){return oA(cM(e))}const uM=`update.dismissed`,dM=`updateNotice`,fM=zb.updateNotice.sessionKey;function pM(e){return e.kind===`source`?e.newer.digest:fO(e.newer)}const mM=e=>`${e.version} [${Gk(e.digest)}]`;function hM(e){switch(e.kind){case`source`:return{headline:`Newer source`,newer:mM(e.newer),running:mM(e.running),act:`rebuild`,busy:`rebuilding…`,command:{bin:`pnpm`,args:[`build`],cwd:e.root}};case`release`:return{headline:`Newer release`,newer:fO(e.newer),running:fO(e.running),act:`upgrade`,busy:`upgrading…`,command:{bin:`pnpm`,args:[`dlx`,`${mO}@${fO(e.newer)}`,`install`]}}}}const gM={kind:`idle`},_M={kind:`running`};function vM(e,t,n){if(e===null)return[];let r=pM(e);if(!n.enabled||n.dismissed===r)return[];let i=hM(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(`
192
+ `),c=tO([{verb:FD,args:[s]}]),l=t.kind===`running`?Nk(`[${i.busy}]`,c):Nk(`[${i.act}]`,tO([{verb:qD,args:[n.sessionId]}]));return[{severity:Mk,message:s,lines:[[Nk(a,c),l,Nk(`[dismiss]`,tO([{verb:kD,args:[n.sessionId,uM,r]}])),Nk(`[disable]`,tO([{verb:ID,args:[n.sessionId,dM,`false`]},{verb:kD,args:[n.sessionId,fM,`false`]}]))],...o.map(e=>[Nk(e,c)])]}]}function yM(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 bM(e){switch(e.kind){case`current`:return[`info`,`build: current ${mM(e.stamp)}`];case`stale`:return[`info`,`build: stale — source ${mM(e.source)}, running ${mM(e.running)}`];case`not-source-checkout`:return[`info`,`build: not a source checkout`];case`unchecked`:return[`warn`,`build: unchecked: ${e.reason}`]}}function xM(e){switch(e.kind){case`current`:return[`info`,`release: current ${fO(e.installed)}`];case`stale`:return[`info`,`release: stale — latest ${fO(e.latest)}, running ${fO(e.installed)}`];case`ahead`:return[`info`,`release: ahead — running ${fO(e.installed)}, latest ${fO(e.latest)}`];case`unchecked`:return[`warn`,`release: unchecked: ${e.reason}`]}}function SM(e){let t=null;return([n,r])=>{r!==t&&(t=r,e(n,r))}}const CM=e=>e.split(/\r?\n/).map(e=>e.trim()).filter(e=>e!==``).at(-1);function wM(e){let t=e.exitCode===null?``:` (exit ${e.exitCode})`,n=CM(e.stderr)??e.error??CM(e.stdout)??`no output`;return`${e.reason}${t}: ${n}`}function TM(){let e=[uA(dM,[`false`]),rM(fM,[`false`]),rM(uM,[])];return()=>e.forEach(e=>e())}function EM(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=gM,d=null,f=SM(s),p=SM(s),m=()=>yM(c,l);function h(){let e=m(),t=e===null?null:pM(e);(d===null?null:d.identity)!==t&&(d?.dispose(),d=t===null?null:{identity:t,dispose:rM(uM,[t])})}function g(){c=Yk(t,qk),f(bM(c)),h()}async function _(){l=gO(zE,await hO(mO,a,i)),p(xM(l)),h()}return{arm(){TM(),g(),setInterval(g,n).unref(),c.kind===`not-source-checkout`&&(_(),setInterval(()=>void _(),r).unref())},notice:e=>vM(m(),u,e),act(){let e=m();if(e===null)throw new $(`apply-update: nothing newer is known to apply`);let t=hM(e);if(u.kind===`running`)throw new $(`apply-update: already ${t.busy}`);u=_M,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=gM,s(`info`,`apply-update: ${t.act} succeeded`),g(),o();return}let r=wM(n);u={kind:`failed`,identity:pM(e),reason:r},s(`error`,`apply-update: ${t.act} failed: ${r}`)})}}}var DM=class{static CACHE_DIR=Fe();static USAGE_CACHE_DIR=c.join(this.CACHE_DIR,`usage`);static LOCKS_DIR=c.join(this.CACHE_DIR,`locks`);static isLocked(e){let t=c.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 O(`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`?(O(`Removing stale lock file ${e} for dead process ${i}`),r.unlinkSync(t),!1):(O(`Error checking process ${i} for lock ${e}:`,n),!0)}}catch(t){return O(`Error reading lock file ${e}:`,t),!0}}static async acquireLock(e,t=5e3){await this.ensureCacheDirectories();let n=c.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`}),O(`Lock acquired for ${e}`),!0}catch(e){if(e.code===`EEXIST`)await D(50);else throw e}return O(`Failed to acquire lock for ${e} within ${t}ms`),!1}static async releaseLock(e){let t=c.join(this.LOCKS_DIR,e);try{await r.promises.unlink(t),O(`Lock released for ${e}`)}catch(t){t.code!==`ENOENT`&&O(`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){O(`Failed to create cache directories:`,e)}}static createProjectHash(e){return oe(`md5`).update(e).digest(`hex`).substring(0,8)}static async getUsageCache(e,t){await this.ensureCacheDirectories();let n=c.join(this.USAGE_CACHE_DIR,`${e}.json`),i=`${e}.usage.lock`;for(let a=0;a<3;a++){if(this.isLocked(i)){O(`Cache for ${e} is locked, waiting...`),await D(75);continue}try{let i=await r.promises.readFile(n,`utf-8`),a=JSON.parse(i);return!t||a.timestamp>=t?(O(`[CACHE-HIT] ${e} disk cache: found`),this.deserializeDates(a.data)):(O(`${e} cache outdated: cache=${a.timestamp}, latest=${t}`),null)}catch(t){if(t.code===`ENOENT`)return O(`No shared ${e} usage cache found`),null;O(`Attempt ${a+1} failed to read ${e} cache: ${t.message}. Retrying...`),await D(75)}}return O(`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)){O(`Could not acquire lock to set usage cache for ${e}`);return}try{await this.ensureCacheDirectories();let i=c.join(this.USAGE_CACHE_DIR,`${e}.json`),a=JSON.stringify({data:t,timestamp:n||Date.now()});await r.promises.writeFile(i,a,`utf-8`),O(`[CACHE-SET] ${e} disk cache stored`)}catch(t){O(`Failed to save ${e} usage cache:`,t)}finally{await this.releaseLock(i)}}};const OM={"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 kM=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 DM.getUsageCache(`pricing`,e)}static async saveDiskCache(e){await DM.setUsageCache(`pricing`,e)}static async fetchPricingData(){return new Promise(e=>{let t=new re(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){O(`HTTP ${t.statusCode}: ${t.statusMessage}`),e(null);return}let r=``,i=0;t.on(`data`,t=>{if(i+=t.length,i>1048576){O(`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)?(O(`Fetched fresh pricing from GitHub for ${Object.keys(i).length} models`),O(`Pricing last updated: ${n?.updated||`unknown`}`),e(i)):(O(`Invalid pricing data structure`),e(null))}catch(t){O(`Failed to parse JSON:`,t),e(null)}}),t.on(`error`,t=>{O(`Response error:`,t),e(null)})});n.on(`error`,t=>{O(`Request error:`,t),e(null)}),n.on(`timeout`,()=>{O(`Request timeout`),n.destroy(),e(null)}),n.end()})}static async getCurrentPricing(){if(this.executionCache!==null)return O(`[CACHE-HIT] Pricing execution cache: ${Object.keys(this.executionCache).length} models`),this.executionCache;let e=await this.loadDiskCache();if(e)return O(`[CACHE-HIT] Pricing disk cache: ${Object.keys(e).length} models`),this.executionCache=e,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(e).length} models`),e;let t=await this.fetchPricingData();return t?(await this.saveDiskCache(t),O(`[CACHE-SET] Pricing disk cache stored: ${Object.keys(t).length} models`),this.executionCache=t,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(t).length} models`),t):(O(`[CACHE-FALLBACK] Using offline pricing data: ${Object.keys(OM).length} models`),this.executionCache=OM,O(`[CACHE-SET] Pricing execution cache stored: ${Object.keys(OM).length} models`),OM)}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 O(`[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),O(`[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 AM=/<command-name>\s*([^<\s][^<]*?)\s*<\/command-name>/;function jM(e){if(typeof e==`string`)return AM.exec(e)?.[1]}function MM(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 NM(e){let t=e.message?.content,n=e.type===`user`,r=[],i=[],a,o;if(typeof t==`string`)o=t;else if(Array.isArray(t))for(let e of t){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=MM(t.input)??a);break}case`tool_result`:{let e=t.tool_use_id;typeof e==`string`&&i.push(e);break}case`text`:o??=t.text;break;default:break}}let s=n?jM(o):void 0;if(!(r.length===0&&i.length===0&&a===void 0&&s===void 0))return{...r.length>0&&{started:r},...i.length>0&&{finished:i},...a!==void 0&&{todos:a},...s!==void 0&&{command:s}}}function PM(e){if(e!==void 0)return[e];let t=h();return[f(t,`.config`,`claude`),f(t,`.claude`)].filter(e=>a(e))}async function FM(e){let t=[];for(let n of e){let e=f(n,`projects`);if(a(e))try{let n=await NA(e,{withFileTypes:!0});for(let r of n)if(r.isDirectory()){let n=f(e,r.name);t.push(n)}}catch(t){O(`Failed to read projects directory ${e}:`,t)}}return t}async function IM(e,t,n){let r=[],i=f(t,e,`subagents`);try{let t=(await NA(i)).filter(e=>e.startsWith(`agent-`)&&e.endsWith(`.jsonl`));for(let a of t){let t=f(i,a);if(n?.has(t)){r.push(t);continue}try{let n=(await PA(t,`utf-8`)).split(`
193
+ `)[0];n&&JSON.parse(n).sessionId===e&&r.push(t)}catch{O(`Failed to check agent file ${t}`)}}}catch(e){O(`Failed to read subagents directory ${i}:`,e)}return r}function LM(e){let t=e.type||e.message?.role||e.message?.type,n=e.type===`user`&&e.message?.firstContentType===`tool_result`;return t===`user`&&!n}const RM=new Map;async function zM(e){try{let t=await FA(e),n=t.size,r=RM.get(e);if(r&&r.mtime===t.mtimeMs&&r.size===n)return O(`[parse-cache] hit ${e}`),RM.delete(e),RM.set(e,r),r.entries;let i;return n>1048576?(O(`Using streaming parser for large file ${e} (${Math.round(n/1024)}KB)`),i=await WM(e)):i=await HM(e),O(`Parsed ${i.length} entries from ${e}`),n>5242880?i:(RM.delete(e),RM.size>=16&&RM.delete(RM.keys().next().value),RM.set(e,{mtime:t.mtimeMs,size:n,entries:i}),i)}catch(t){if(t.code===`ENOENT`)return O(`Transcript not present yet: ${e}`),[];throw t}}function BM(e){if(!e.timestamp)return null;let t=e.message,n=t?.usage,r=t?.content,i=Array.isArray(r)&&typeof r[0]==`object`&&r[0]?r[0]:void 0;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,firstContentType:typeof i?.type==`string`?i.type:void 0}:void 0,costUSD:typeof e.costUSD==`number`?e.costUSD:void 0,isSidechain:e.isSidechain===!0,activity:NM(e),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 VM(e){let t=[];for(let n of e.split(`
194
+ `))if(n.trim())try{let e=BM(JSON.parse(n));e&&t.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`);continue}return t}async function HM(e){return VM(await PA(e,`utf-8`))}async function UM(e,t){let n=await IA(e,t===void 0?void 0:{offset:t.offset,ino:t.ino});if(n.kind!==`ok`)return n;let{buf:r,start:i,mtimeMs:a,ino:o,reset:s}=n.value,c=r.lastIndexOf(10);return J(c<0?{entries:[],cursor:{offset:i,mtimeMs:a,ino:o},reset:s}:{entries:VM(r.subarray(0,c+1).toString(`utf-8`)),cursor:{offset:i+c+1,mtimeMs:a,ino:o},reset:s})}async function WM(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=BM(JSON.parse(t));e&&r.push(e)}catch(e){O(`Failed to parse JSONL line: ${e}`)}}),o.on(`close`,()=>{t(r)}),o.on(`error`,t=>{O(`Streaming parser error for ${e}:`,t),n(t)}),a.on(`error`,t=>{O(`File stream error for ${e}:`,t),n(t)})})}var GM=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 KM(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 qM=new Map,JM={cost:0,input:0,output:0,cacheCreation:0,cacheRead:0},YM={cost:null,calculatedCost:null,officialCost:null,tokens:null,tokenBreakdown:null};function XM(e){return`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,`0`)}-${String(e.getDate()).padStart(2,`0`)}`}function ZM(){let e=new Date;return e.setHours(0,0,0,0),e.setDate(e.getDate()-1),e.getTime()}function QM(){return{input:0,output:0,cacheCreation:0,cacheRead:0}}async function $M(e,t,n,r){let i=XM(new Date(ZM())),a=e&&!t?e:void 0,o=a?.entries??0,s=a?.cost??0,c=a?{...a.breakdown}:QM(),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 kM.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=XM(new Date(e.timestamp));if(r<i)continue;let a=l.get(r)??{...JM};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 eN(e){let t=0,n=0,r=QM(),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)??{...JM};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:YM,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 tN(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 nN=class{entries=new Map;flight=new GM;seeded=new Map;seededDay=``;speedRings=new Map;speedFlight=new GM;maxEntries;staleAgeMs;log;hits=0;misses=0;sweeps=0;seeds=0;sweepTimer=null;constructor(e={}){this.log=e.logger??ib,this.maxEntries=e.maxEntries??256,this.staleAgeMs=e.staleAgeMs??864e5;let t=e.sweepIntervalMs??3e5;t>0&&(this.sweepTimer=setInterval(()=>this.sweepStale(),t),this.sweepTimer.unref())}getStats(){return{size:this.entries.size,hits:this.hits,misses:this.misses,sweeps:this.sweeps,seeds:this.seeds}}async getUsageInfo(e,t){let n=await this.ingest(e,t?.transcript_path);if(n.kind===`failed`)return n;let r=n.kind===`ok`?n.value.sessionInfo:YM,i=t?.cost?.total_cost_usd??null;return J({session:{...r,cost:i??r.cost,officialCost:i}})}async getTodayInfo(e,t){let n=XM(new Date),r=PM(t);try{await this.ensureSeeded(n,r)}catch(e){return X(`usage seed: ${e instanceof Error?e.message:String(e)}`)}let i=await this.ingest(e?.session_id??``,e?.transcript_path);if(i.kind===`failed`)return i;let a=r.map(e=>f(e,`projects`)+p),o={...JM},s=!1;for(let[t,r]of this.entries){let i=r.transcriptPath??``,c=t===e?.session_id||a.some(e=>i.startsWith(e))?r.days:qM;s||=c.has(n);let l=c.get(n)??JM;o.cost+=l.cost,o.input+=l.input,o.output+=l.output,o.cacheCreation+=l.cacheCreation,o.cacheRead+=l.cacheRead}return s?J({cost:o.cost,tokens:o.input+o.output+o.cacheCreation+o.cacheRead,tokenBreakdown:{input:o.input,output:o.output,cacheCreation:o.cacheCreation,cacheRead:o.cacheRead},date:n}):Y}async observeSpeed(e,t,n){let r=AA(t);return this.speedFlight.run(`${e}:${r}`,async()=>{let i=await this.ingest(e,t,r);if(i.kind===`failed`)return i;let a=KM(i.kind===`ok`?i.value.sessionInfo.tokenBreakdown:null,n),o=this.speedRings.get(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(),this.speedRings.set(e,o),J({...s!==void 0&&{prev:s},cur:a,samples:[...o]})})}async ingest(e,t,n){if(!e)return Y;let r=n??AA(t),i=this.entries.get(e);if(i&&r!==0&&i.transcriptMtime===r)return i.lastSeenAt=Date.now(),this.entries.delete(e),this.entries.set(e,i),this.hits++,J(i);if(!t)return i?J(i):Y;this.misses++;let a;try{a=await this.flight.run(`${e}:${r}`,()=>this.refold(e,t,this.entries.get(e)))}catch(t){return X(`usage refold (${e}): ${t instanceof Error?t.message:String(t)}`)}if(a.kind!==`ok`)return a;let o={files:a.value.files,sessionInfo:a.value.sessionInfo,days:a.value.days,transcriptMtime:a.value.mainMtime,transcriptPath:t,lastSeenAt:Date.now()};return this.entries.delete(e),this.entries.set(e,o),this.evictIfNeeded(),J(o)}async refold(e,t,n){let r=await IM(e,u(t),n===void 0?void 0:new Set(n.files.keys())),i=new Map,a=0;for(let e of[t,...r]){let r=n?.files.get(e),o=await UM(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 $M(r,l,s,c)),e===t&&(a=c.mtimeMs)}return J({files:i,...eN(i),mainMtime:a})}ensureSeeded(e,t){this.seededDay!==e&&(this.seeded.clear(),this.seededDay=e);let n=t.join(`\0`),r=this.seeded.get(n);if(r)return r;let i=this.seed(t);return this.seeded.set(n,i),i.catch(()=>{this.seeded.get(n)===i&&this.seeded.delete(n)}),i}async seed(e){let t=ZM(),n=await FM(e),r=[];for(let e of n){let n;try{n=await NA(e)}catch{continue}for(let i of n){if(!i.endsWith(`.jsonl`))continue;let n=f(e,i),a;try{a=(await FA(n)).mtimeMs}catch{continue}a<t||r.push({sessionId:i.slice(0,-6),path:n,mtime:a})}}await tN(r,8,async e=>{let t=await this.ingest(e.sessionId,e.path,e.mtime);t.kind===`failed`&&this.log(`warn`,`usageStore seed: ${t.reason}`)}),this.seeds++,this.log(`info`,`usageStore seed sessions=${r.length} dirs=${e.join(`,`)}`)}sweepStale(){let e=Date.now(),t=0;for(let[n,r]of this.entries)e-r.lastSeenAt>this.staleAgeMs&&(this.entries.delete(n),this.speedRings.delete(n),t++);return t>0&&(this.sweeps++,this.log(`info`,`usageStore sweep dropped=${t}`)),t}evictIfNeeded(){for(;this.entries.size>this.maxEntries;){let e=this.entries.keys().next().value;if(e===void 0)break;this.entries.delete(e),this.speedRings.delete(e),this.log(`info`,`usageStore evict ${e}`)}}close(){this.sweepTimer&&=(clearInterval(this.sweepTimer),null),this.entries.clear(),this.seeded.clear(),this.speedRings.clear()}},rN=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 O(`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);O(`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{O(`Calculating context tokens from transcript: ${e}`);let n=await zM(e);if(n.length===0)return O(`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,O(`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 O(`Most recent main chain context: ${n} tokens (limit: ${t})`),J({totalTokens:n,maxTokens:t,...this.ratioPercentages(n,t)})}return O(`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)}},iN=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=AA(t);if(n&&r!==0&&n.cursor.mtimeMs===r)return this.touch(e,n),{kind:`ok`,value:n.value};let i=await UM(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 aN={messageCount:0,recent:[]};function oN(e,t){if(t.isSidechain)return e;let n=[...e.recent,t];return{messageCount:e.messageCount+ +!!LM(t),recent:n.length>20?n.slice(-20):n}}function sN(e){let t=null,n=null;for(let r of e){let e=r.type||r.message?.role||r.message?.type;if(LM(r))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 cN=class{fold=new iN(aN,oN);async getMetricsInfo(e,t){if(O(`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:sN(n.value.recent),sessionDuration:t.cost.total_duration_ms/1e3,messageCount:n.value.messageCount,linesAdded:t.cost.total_lines_added,linesRemoved:t.cost.total_lines_removed})}};const lN={command:null,todos:[],pending:[],done:[]};function uN(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 dN(e,t){if(t.isSidechain)return e;let n=LM(t)?{...e,command:t.activity?.command??null,pending:[],done:[]}:e,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=uN(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 fN(e){return{command:e.command,todos:e.todos,running:e.pending.reduce((e,t)=>uN(e,t.name),[]),done:e.done}}var pN=class{fold=new iN(lN,dN);async getActivityInfo(e,t){let n=await this.fold.read(e,t.transcript_path);return n.kind===`failed`?X(`activity (${e}): ${n.reason}`):J(fN(n.value))}};function mN(e,t,n,r){return{bin:`tmux`,args:[`-S`,e.socket,...n],timeoutMs:2e3,category:t,stdinInput:r}}function hN(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 gN(e,t,n,r){return hN(Ae(mN(e,t,n,r)),n)}async function _N(e,t,n){return hN(await ke(mN(e,t,n)),n)}const vN=e=>`${e.socket}\n${e.pane}`;var yN=class{names=new Map;asking=new GM;constructor(e=Date.now){this.now=e}getSessionName(e){let t=vN(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){O(`Getting tmux session name for pane ${t.pane} on ${t.socket}`);let n=await _N(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 bN=e=>JSON.stringify([e.sessionId,e.projectDir,e.cwd,e.claudeConfigDir,e.env===void 0?null:Ze.map(t=>e.env?.[t]??null)]);var xN=class{readings=new Map;inFlight=new Map;constructor(e,t=Date.now){this.edge=e,this.now=t}getCeiling(e){let t=bN(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=bN(e);try{this.edge.move(n.value,e,t)}finally{this.readings.delete(r),this.inFlight.delete(r),this.fetch(r,e)}}};function SN(e){return{gitProvider:new pb({watchers:e.watchers,logger:e.logger}),usageStore:new nN({logger:e.logger}),contextProvider:new rN,metricsProvider:new cN,activityProvider:new pN,tmuxService:new yN,mementoProvider:new xN(ej()),autoCompact:SS,log:e.logger}}function CN(e,t){return e===void 0?!0:e.evaluate(t).map(e=>e.plain).join(``)!==`false`}function wN(e,t){let n=W.fromFragments(e);return n.end=``,n.overflow=`ignore`,t!==void 0&&!t.isNull&&(n.style=t),n}function TN(e,t,n){e.cellLength>t?e.truncate(t,{mode:n.truncate,marker:`…`}):e.cellLength<t&&e.align(n.justify,t)}function EN({lead:e,text:t,trail:n}){return[...e===void 0?[]:[e],t,...n===void 0?[]:[n]]}function DN(e){let t=EN(e);if(t.length===1)return e.text;let n=wN(t);return n.style=e.text.style,n}function ON(e,t){let{width:n,justify:r,truncate:i,baseStyle:a,padding:o,lead:s=[],trail:c=[]}=t;if(e.length===0)return[];let l=wN(e,a).pad(o),u=new W(` `.repeat(o)),d={...s.length>0&&{lead:wN([u,...s],a)},...c.length>0&&{trail:wN([...c,u],a)}};if(n===`auto`)return[{text:l,...d}];let f={justify:r,truncate:i};return n===`fill`?[{text:l,fill:f,...d}]:(TN(l,n,f),[{text:l,...d}])}const kN=RegExp(`\\x1b\\[[0-9;]*m|${xi.source}`,`g`);function AN(e){return M(e.replace(kN,``))}function jN(e,t){let n=e.map(DN),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=Ok(n,t).split(`
195
+ `);if(i.length>1)return n;let a=Math.max(0,t.width-AN(i[0]??``)),o=Math.floor(a/r.length),s=a-o*r.length;return r.forEach(({at:t,how:i},a)=>{let c=o+(a===r.length-1?s:0),{text:l}=e[t];TN(l,l.cellLength+c,i),n[t]=DN(e[t])}),n}function MN(e,t){let n=[],r=[],i=()=>{if(!r.length)return;let e=NN(r,t);e.plain.length>0&&n.push(e),r=[]};for(let a of e)if(FN(a.style).link){i();let e=NN([a],t);e.plain.length>0&&n.push(e)}else r.push(a);return i(),n}function NN(e,t){let n=t!==void 0&&!t.isNull?e.map(e=>PN(e,t)):e,r=W.fromFragments(n);return r.end=``,r.overflow=`ignore`,n.length===1?r.style=n[0].style:t!==void 0&&!t.isNull&&(r.style=t),r}function PN(e,t){let n=e.copy();return n.style=t.add(FN(e.style)),n}function FN(e){return e instanceof V?e:V.parse(e)}function IN(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,LN(e,t,o,n,r,i));return i}function LN(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=dx(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=Ub.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=dx(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=dx(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:BN(e,n.copy,t)};if(`open`in n)return{kind:`open`,target:BN(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:Ow(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:BN(e,n.name,t)};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 RN(e){return e.kind===`do`?RN(e.head):e}function zN(e){switch(RN(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`doctor-run`:case`doctor-fix`:case`ceiling`:case`slash`:case`do`:return!1}}function BN(e,t,n){try{return e(t)}catch(e){throw Error(`Template parse error in actions.${n}: ${e.message}`,{cause:e})}}function VN(e,t){return e.has(t)?Fv(e.read(t)):``}function HN(e,t){return e.evaluate(t).map(e=>e.plain).join(``)}function UN(e,t,n,r){let i=new W(e,{style:V.combine([r,new V({link:t,bold:n})])});return i.overflow=`ignore`,i.end=``,i}function WN(e,t){return Math.max(e.members.indexOf(VN(t,e.stateVar)),0)}function GN(e,t,n,r,i){switch(e.kind){case`set-literal`:{let t=VN(r,e.stateVar);return{effects:[{verb:kD,args:[i,e.key,e.value]}],active:t===e.value}}case`set-option`:{let a=n??t,o=VN(r,e.stateVar);return{effects:[{verb:kD,args:[i,e.key,a]}],active:o===a}}case`set-int`:{let a=n??t,o=VN(r,e.stateVar);return{effects:[{verb:kD,args:[i,e.key,a]}],active:o===a}}case`set-cycle`:{let t=e.members[(WN(e,r)+1)%e.members.length];return{effects:[{verb:kD,args:[i,e.key,t]}],active:!1}}case`set-bounded`:return{effects:[{verb:AD,args:[i,e.key,String(e.by)]}],active:!1};case`copy`:return{effects:[{verb:jD,args:[HN(e.text,Dy(r))]}],active:!1};case`open`:return{effects:[{verb:MD,args:[HN(e.target,Dy(r))]}],active:!1};case`persist-literal`:{let t=VN(r,e.stateVar);return{effects:[{verb:ID,args:[i,e.key,e.value]}],active:t===e.value}}case`persist-option`:{let a=n??t,o=VN(r,e.stateVar);return{effects:[{verb:ID,args:[i,e.key,a]}],active:o===a}}case`persist-cycle`:{let t=e.members[(WN(e,r)+1)%e.members.length];return{effects:[{verb:ID,args:[i,e.key,t]}],active:!1}}case`persist-bounded`:return{effects:[{verb:LD,args:[i,e.key,String(e.by)]}],active:!1};case`reset`:return{effects:[{verb:VD,args:[i,e.key]}],active:!1};case`undo`:return{effects:[{verb:UD,args:[i]}],active:!1};case`redo`:return{effects:[{verb:WD,args:[i]}],active:!1};case`back`:return{effects:[{verb:GD,args:[i]}],active:!1};case`rewind`:return{effects:[{verb:KD,args:[i]}],active:!1};case`save`:return{effects:[{verb:RD,args:[i]}],active:!1};case`preset-save`:return{effects:[{verb:zD,args:[i]}],active:!1};case`preset-delete`:return{effects:[{verb:BD,args:[i,HN(e.name,Dy(r))]}],active:!1};case`doctor-run`:return{effects:[{verb:JD,args:[i]}],active:!1};case`doctor-fix`:return{effects:[{verb:YD,args:[i,e.check]}],active:!1};case`ceiling`:return{effects:[{verb:ZD,args:[i,...e.args]}],active:!1};case`slash`:return{effects:[{verb:QD,args:[i,e.line]}],active:!1};case`layout-op`:return{effects:[{verb:HD,args:[i,e.key,Xk(e.op)]}],active:!1};case`do`:{let a=GN(e.head,t,n,r,i);return{effects:[...a.effects,...e.rest.flatMap(e=>GN(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:HD,args:[i,e.key,Xk(r)]}],active:!1}}}}function KN(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:Yc(`action "${e}"`,n,t.members.length,WN(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]}}function qN(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}=KN(e,RN(r),t,i),{effects:s,active:c}=GN(r,a,o,i,VN(i,`session.id`));return UN(a,tO(s),c)}function JN(e){return{action:{fn:(t,...n)=>qN(t,n,e),argTypes:[`string`,`string`],arity:{kind:`variadic`},returnType:`T`}}}function YN(e,t){return UN(`✕`,tO([{verb:kD,args:[VN(e,`session.id`),t,Kc]}]),!1)}function XN(e,t,n){return new V({bgcolor:L.fromRgba(t),color:L.fromRgba(ja(e,t,n))})}function ZN(e,t,n){return new V({color:L.fromRgba(cr(xa(e,`warning`),t,Aa,n))})}function QN(e,t,n){return V.combine([XN(e,t,n),ZN(e,t,n)])}function $N(e,t,n){return XN(e.palette,Wa(e.palette,e.disclosure,[t],n),n)}function eP(e,t,n,r,i,a){return r===void 0?n=>$N(e,{...n,distribution:t},i):(e,t)=>tP(r(t,n),a,i)}function tP(e,t,n){return new V({bgcolor:L.fromRgba(t),color:L.fromRgba(cr(xa(e,`primary`),t,4.5,n))})}function nP(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=>rP(e.indices,8).map(t=>[{label:e.label,indices:t}])):[r]}function rP(e,t){return Array.from({length:Math.ceil(e.length/t)},(n,r)=>e.slice(r*t,(r+1)*t))}function iP(e,t){return new W(e).truncate(t,{marker:`…`}).plain}function aP(e){return{current:null,drawnAt:e}}function oP(e,t,n,r,i,a){let o={segName:t,placementId:n,palette:r,disclosure:i,tint:a,bg:void 0,drops:[]};return e.current=o,o}function sP(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 cP(e){return new W(e).cellLength}function lP(e){return Math.max(1,e.width-e.chromeCols-2*e.padding)}function uP(e){return Math.max(1,lP(e)-(cP(`✕`)+2*e.padding+e.seamCols))}function dP(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 fP(e,t,n){let r=cP(`←`)+1+cP(`→`)+1,i=dP(e,t,n);return(i.length>1?dP(e,t,n+r):i).map(e=>[{label:``,indices:e}])}function pP(e,t){let n=[];for(let t of e)n.length>0&&n.push(new W(` `)),n.push(t);let r=W.fromFragments(n);return r.overflow=t?`ignore`:void 0,r.end=``,r}function mP(e,t,n,r){let i=e.compiled.get(t);if(!i||i.kind!==n)throw Error(`picker references action "${t}" which must be ${r}, got ${i?`a ${i.kind} action`:`no such action`}`);return i}function hP(e,t,n){let r=e.compiled.get(t),i=r&&RN(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 gP(e,t,n,r,i,a,o){let s=hP(i,e,`picker`),c=i.compiled.get(e),l=i.store,u=VN(l,`session.id`),d=`stateVar`in s?VN(l,s.stateVar):void 0,f=r?n.kind===`led`?uP(i):lP(i):1/0,p=n.kind===`led`?0:cP(`✕`)+1,m=s.library&&{groups:s.library.groups,entries:s.options.map(s.library.entry)},h=m===void 0?fP(s.options.map(cP),f,p):nP(m.entries,m.groups,r),g=parseInt(VN(l,t.stateVar),10),_=Number.isInteger(g)?Math.max(0,Math.min(g,h.length-1)):0,v=h[_]??[],y=e=>tO([{verb:kD,args:[u,t.key,String(e)]}]),b=n.kind===`led`?[]:[{verb:kD,args:[u,...n.writes.flatMap(([e,t])=>[e,t])]}],x=n.kind===`own`&&n.onPick?b:[],S=e=>tO([...GN(c,e,e,l,u).effects,...x]),C=(e,t)=>{let n=s.options[e];return UN(t,S(n),n===d,a({index:e,count:s.options.length},n))},w=n.kind===`led`?[]:[UN(`✕`,tO(b),!1,o)];_>0&&w.push(UN(`←`,y(_-1),!1));let ee=_<h.length-1?[UN(`→`,y(_+1),!1)]:[];if(m===void 0){let e=v.flatMap(e=>e.indices);return[pP([...w,...e.map(e=>C(e,s.options[e])),...ee],r)]}let te=new V({bold:!0}),ne=h.length>1?` ${_+1}/${h.length}`:``,re=v.length===1?[new W(`${v[0].label}${ne}`,{style:te})]:[],ie=[pP([...w,...re,...ee],r)];for(let e of v){v.length>1&&ie.push(pP([new W(e.label,{style:te})],r));let t=Math.max(...e.indices.map(e=>cP(s.options[e])));for(let n of e.indices){let e=s.options[n],i=m.entries[n].description,a=i===void 0?void 0:mk(i),o=` `.repeat(t-cP(e)+2),c=a===void 0?e:`${e}${o}${a}`;ie.push(pP([C(n,iP(c,f))],r))}}return ie}function _P(e,t){return{picker:{fn:(n,r,i,a,o,...s)=>{xy(`picker "${n}"`,[`closeOnPick`,`paged`,`inBody`],s);let c=mP(e,r,`set-int`,`an int action ({ set, int: true })`);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=hP(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=sP(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]=gP(n,{key:c.key,stateVar:c.stateVar},o===!0?{kind:`led`}:{kind:`own`,writes:[[c.key,`-1`]],onPick:i===!0},a===!0,e,eP(u,ma(void 0),e,l.paletteOf,t.drawnAt(),u.bg),ZN(u.palette,u.bg,t.drawnAt()));return d},argTypes:[`string`,`string`,`bool`],arity:{kind:`variadic`},returnType:`T`}}}function vP(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+cP(e(-(s+1)))+1+cP(e(s+1))+1;if(t>r)break;o=t,s+=1}return s}function yP(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=VN(o,`session.id`),{options:l}=t,u=l.length;if(u===0)return pP([],!0);let d=VN(o,t.stateVar),f=Math.max(l.indexOf(d),0),p=e=>((f+e)%u+u)%u,m=e=>l[p(e)],h=new Map,g=e=>{let t=h.get(e);if(t!==void 0)return t;let n=tO(GN(s,m(e),m(e),o,c).effects);return h.set(e,n),n},_=e=>UN(m(e),g(e),m(e)===d,r({index:p(e),count:u},m(e))),v=a===void 0?_(0):UN(m(0),tO(GN(n.compiled.get(a),m(0),void 0,o,c).effects),!1),y=vP(m,u,cP(`◀`)+1+v.cellLength+1+cP(`▶`),uP(n),i),b=e=>Array.from({length:y},(t,n)=>_(e*(n+1)));return pP([...b(-1).reverse(),UN(`◀`,g(-1),!1),v,UN(`▶`,g(1),!1),...b(1)],!0)}function bP(e,t){return{carousel:{fn:(n,...r)=>{let[i,a,...o]=r;if(xy(`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&&zN(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=hP(e,n,`carousel`),l=sP(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 yP(n,c,e,eP(l,ma(void 0),e,c.paletteOf,t.drawnAt(),l.bg),s,a)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}const xP=[`~/code`,`main`,`opus`,`42%`,`5m`,`$1.20`];function SP(e,t,n){let r=La(e,{hue:sa,depth:0},n);return[ca(t.hues).map((t,n)=>({text:xP[n%xP.length],colour:Sa(e,t)})),[{text:`▾ open`,colour:r.state},{text:`menu`,colour:r.plane}],[{text:`warn`,colour:xa(e,`warning`)},{text:`error`,colour:xa(e,`error`)}]]}function CP(e,t,n,r){let i=SP(e,t,n).flatMap((t,r)=>t.map(({text:t,colour:i},a)=>({gap:r>0&&a===0?` `:``,cell:new W(` ${t} `,{style:XN(e,i,n)})}))),a=[],o=0;for(let{gap:e,cell:t}of i){if(o+=e.length+t.cellLength,o>r)break;e!==``&&a.push(new W(e)),a.push(t)}let s=W.fromFragments(a);return s.overflow=`ignore`,s.end=``,s}function wP(e,t){return{themePreview:{fn:()=>CP(e.palette,e.variation,t.drawnAt(),uP(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}const TP=e=>e.slice(e.lastIndexOf(`.`)+1),EP=(e,t)=>{let n=new W(TP(e));return n.truncate(t,{marker:`…`}),n.plain};function DP(e,t){let n=e.map(e=>e.map(({name:e})=>cP(TP(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 OP(e,t,n,r){let i=DP(e,r),a=e.map(e=>{let a=[],o=0;for(let{name:s,address:c,palette:l}of e){let e=new W(` ${EP(s,i)} `,{style:XN(l,Ja(l,{kind:`bar`,variation:t,address:c},n).tint,n)});if(o+=e.cellLength,o>r)break;a.push(e)}return a}),o=W.fromFragments(a.flatMap((e,t)=>t===0?e:[new W(`
196
+ `),...e]));return o.overflow=`ignore`,o.end=``,o}function kP(e,t){return{layoutPreview:{fn:()=>OP(e.layout(),e.variation,t.drawnAt(),uP(e)),argTypes:[],arity:{kind:`exact`},returnType:`T`}}}function AP(e,t,n,r){let i=sP(r.activeSegment,`{{ menu }}`),a=r.action,o=x_(i.placementId,e,n.key),s=w_(o),c=b_(e),l=VN(a.store,o)===c,u=VN(a.store,`session.id`),d=l?Kc:c,f=UN(Yc(`{{ menu "${e}" }}`,t,2,+!!l),tO([{verb:kD,args:[u,o,d,s,`0`]}]),!1);return i.drops.push(...l?(()=>{let t=r.activeSegment.drawnAt(),c=La(i.palette,i.disclosure,t).plane;return gP(e,{key:s,stateVar:s},{kind:`own`,writes:[[o,Kc],[s,`0`]],onPick:n.closeOnPick},n.paged,a,eP(i,n.distribution,a,hP(a,e,`menu`).paletteOf,t,c),ZN(i.palette,c,t))})():[]),f}const jP=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function MP(e,t){let n=t[t.length-1],r=jP(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:O_(r??{})}}function NP(e){return{menu:{fn:(t,...n)=>{let{displays:r,options:i}=MP(t,n);return AP(t,r,i,e)},argTypes:[`string`,`value`],arity:{kind:`variadic`},returnType:`T`}}}function PP(e){let{value:t,max:n,width:r,filled:i,empty:a,colourAt:o}=e,s=FP(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 W(t?i:a,{style:l===void 0?void 0:new V({color:l})}))}let l=W.fromFragments(c);return l.end=``,l.overflow=`ignore`,l}function FP(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 IP(e){let t={fn:(()=>{let t=sP(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:(()=>sP(e,`{{ tint }}`).tint.hex),argTypes:[],arity:{kind:`exact`},returnType:`string`},r=sy(()=>sP(e,`{{ color }} / {{ ramp }} / {{ gauge }}`).palette),i={fn:((e,t,n,i,a,o,...s)=>{let c=o===void 0?void 0:[o,...LP(s)];return PP({value:e,max:t,width:n,filled:i,empty:a,colourAt:c===void 0?void 0:e=>String(r.ramp.fn(e,...c))})}),argTypes:[`float`,`float`,`int`,`string`,`string`,`string`],arity:{kind:`variadic`},returnType:`T`};return{...r,bgOf:t,tint:n,gauge:i}}function LP(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 RP(e){let t=[],n=[];for(let r of e){if(!r.contains(`
197
197
  `)){n.push(r);continue}let e=r.split(`
198
- `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function AP(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,...jP(e,r)]}function jP(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 MP(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:AP(e.direction,e.children.map((t,i)=>n(t,[...r,NP(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function NP(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:Os[e.direction]}}const PP={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:pa(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,Ps(t.path,n)))}},render(e,t){return AP(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,NP(e,r))))}},FP={drop:e=>e.place,above:()=>`above`},IP={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},LP={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:ks(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Zc(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,Fs(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){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=Dy(t.scope,e.settings);try{if(!mN(i.when,a))return[];let n=Xb(e.settings.theme,t.palette),o=e.opens!==void 0&&mN(e.opens.open,t.scope),{styles:s,fragments:c,lead:l,trail:u,drops:d,open:f}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},o),p=f?s.trigger:s.closed,m={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:p,padding:t.padding},h=e.opens,g=h===void 0?[]:t.renderBody(h.body,o,s.disclosure).map(e=>({...e,place:FP[h.placement](e)})),_=kP(CN(c,p)).map((e,t)=>({cells:yN(e,{...m,lead:t===0?CN(l,p):[],trail:t===0?CN(u,p):[]}),band:`own`,place:`flow`})),v=d.map(e=>({cells:yN(CN([e],s.band),{...m,baseStyle:s.band}),band:`deeper`,place:`flow`})),y=(e,t,n)=>yN(CN([e],t),{...m,width:`auto`,baseStyle:t,padding:n}),b=g.findIndex(e=>e.band===`own`),{lead:x,stays:S}=h!==void 0&&b!==-1?IP[h.placement](_,()=>y(t.closeDisclosure(h.key),s.close,t.padding)):{lead:[],stays:_},C=x.flatMap(e=>y(new H(` `.repeat(_N(e).reduce((e,t)=>e+t.cellLength,0))),s.trigger,0)),w=(e,t)=>e.band===`own`?t===b?x:C:[],T=g.map((e,t)=>({cells:[...w(e,t),...e.cells],band:`deeper`,place:e.place})),ee=[...S,...v];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...ee.flatMap(e=>e.cells),...g.flatMap(w)].flatMap(_N)),[...ee,...T]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:yN([new H(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,lead:RP(e.lead,e,a,t),trail:RP(e.trail,e,a,t)}),band:`own`,place:`flow`}]}}};function RP(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 zP={container:PP,segment:LP};function BP(e){return zP[e]}function VP(e){if(`ttl`in e)return{kind:`ttl`,durationMs:_b(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 HP(e,t){switch(Rs(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 UP(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);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:VP(n.cache),parse:HP(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:VP(n.cache),parse:HP(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,ttlMs:n.cache?_b(n.cache.ttl):void 0,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 WP(e,t){let n=Zd.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 GP=e=>xo(void 0,null,e.globals.variation);function KP(e,t,n){let r=n.cwd,i=rx(e.globals.palette),a={store:t.variableStore,compiled:new Map,chromeCols:_k({endcaps:`powerline`,charset:go}),width:80,basePalette:i,palette:i,variation:aa[GP(e)],padding:1,seamCols:vk({endcaps:`powerline`,charset:go}),layout:()=>[]},o=XN(t.drawnAt),s={action:a,activeSegment:o},c=Object.keys(e.styles),l=k_(e.presets),u=new Map([...sx(e),...aw(e)]),d=wy({...zN(a),...cP(a,o),...dP(a,o),...hP(a,o),...bP(a,o),...wP(s),...DP(o),styles:{fn:()=>c,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>l,argTypes:[],arity:{kind:`exact`}}},n.clock,t.drawnAt),f=WP(d,e.helpers),p=e=>d.parse(e,f),m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=p(e);return m.set(e,n),n},g=new Map;for(let[t,n]of Hb)n in e.variables&&g.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!g.has(n.key)&&g.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`&&!g.has(r.key)&&g.set(r.key,`${t}.${e}`);a.compiled=DN(p,e.actions,g,u);let _=[];for(let[n,i]of Object.entries(e.variables))try{UP(t,n,i,r)}catch(e){_.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{UP(t,`${n}.${e}`,a,r)}catch(t){_.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let v=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=p)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};v[t]={when:n.when===void 0?void 0:e(n.when,`when`,h),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 y=(e,t,n)=>{try{return h(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},b=t.variableStore,x=t=>{let n=Us(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n)){let n=t.settings?.[e]??i.default,a=t.drafts?.[e];Object.defineProperty(r,e,{enumerable:!0,get:a===void 0?()=>n:()=>Js(i,String(b.read(a.variable)))??n})}return Object.freeze(r)},S=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:y(e.when,t,`when`),parse:(e,n)=>y(e,t,n),compileChild:S,placementSettings:x};return BP(e.kind).compile(e,n)},C=new Map;for(let t of l){let{node:n,path:r}=M_(e,t);C.set(t,S(n,r))}let w=new Map(ro.map(e=>[e,new Map])),T=[[`globals`,e.globals],...Object.entries(e.presets).map(([e,t])=>[`presets.${e}.globals`,t.globals??{}])];for(let[e,t]of T)for(let n of ro){let r=t[n];if(!io(r))continue;let i=`${e}.${n}`,a=w.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:qP(p,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:v,roots:C,activeSegment:o,menuRuntime:s,globalExpressions:w,loadWarnings:_}}function qP(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 JP(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 YP(e,t){return e.template.evaluate(t).map(e=>e.plain).join(``)}function XP(e,t){return e.kind===`decided`?e.name:t}function ZP(e,t,n,r,i,a,o,s){let{perSegmentSink:c,onSegmentError:l,onRenderWarning:u}=o??{};r.drawAt(vo(a.colorCompatibility));let{preset:d=D_}=s??{},f=N_(e,d),p=aa[s?.variation??xo(void 0,null,f.variation)];t.menuRuntime.action.variation=p;let m=s?.style??lo(`none`,e.styles),h=s?.theme??tx(void 0,null,f.palette),g=(e,t)=>({...i,term:{cols:a.width},theme:{effective:e},style:{effective:t}});r.applyInput(g(XP(h,Xa),XP(m,so))),t.menuRuntime.action.chromeCols=_k(a),t.menuRuntime.action.padding=a.padding,t.menuRuntime.action.width=a.width,t.menuRuntime.action.seamCols=vk(a);let _=Ty(n),v=oo(h,e=>{let n=JP(t,`palette`,e);return ex(YP(n,_),n.where,e=>u?.(e))}),y=oo(m,n=>lo(YP(JP(t,`style`,n),_),e.styles));(v!==h||y!==m)&&r.applyInput(g(v.name,y.name));let b=v.value;t.menuRuntime.action.basePalette=b;let x=Qb(b,y.value);t.menuRuntime.action.palette=x,c?.clear();let S=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},C=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,disclosure:u}=qa(i,a,c),d=ZN(t.activeSegment,e.name,e.id,i,u,l),f=Ox(d,c,o.bg,o.fg,n),p=()=>Ia(i,u,c).state;s&&(d.bg=p());let m=o.body.evaluate(n),h=d.drops.length>0||s;h&&(d.bg=p());let g=o.lead?.evaluate(n)??[],_=o.trail?.evaluate(n)??[];return{styles:{closed:f,get trigger(){return VN(i,p(),c)},get band(){return VN(i,Ia(i,u,c).plane,c)},get close(){return UN(i,p(),c)},disclosure:u},fragments:m,lead:g,trail:_,drops:d.drops,open:h}}finally{t.activeSegment.current=null}},w=(e,t,r)=>{let i=t&&mN(e.when,_),o={scope:_,palette:x,visible:i,padding:a.padding,region:r,perSegmentSink:c,onSegmentError:l,evaluateSegment:C,lookupSegment:S,renderChild:(e,t,n)=>w(e,t,Ga(r,n)),renderBody:(e,t,n)=>w(e,i&&t,Ka(n)),closeDisclosure:e=>BN(n,e)};return BP(e.kind).render(e,o)},T=t.roots.get(d);if(T===void 0)throw Error(`Preset "${d}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${D_}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let ee=e=>{if(!mN(e.when,_))return!1;if(e.kind===`container`)return!0;if(mw(e.name)===void 0)return!1;try{return mN(t.segments[e.name].when,Dy(_,e.settings))}catch{return!0}};return t.menuRuntime.action.layout=()=>MP(T,ee).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=mw(e);return r===void 0?[]:[{name:r,address:t,palette:Xb(n.theme,x)}]})),w(T,!0,Wa(p)).map(e=>yk(SN(e.cells,a),a)).join(`
199
- `)}function*QP(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*$P(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 k_(e.presets)){for(let n of Ns(M_(e,t).node))n.when!==void 0&&(yield n.when);let n=N_(e,t);for(let e of ro){let t=n[e];io(t)&&(yield t)}}for(let[,t]of QP(e))t.kind===`template`&&(yield t.template),Bs(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 eF(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function tF(e,t){let n=new Set,r=new Set,i=new Set;for(let e of $P(t)){for(let r of yv(e,t.helpers).keys())n.add(r);for(let{name:n}of Cv(e,t.helpers))r.add(n);for(let n of wv(e,t.helpers))i.add(n)}for(let[,e]of QP(t))if(Bs(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 k_(t.presets))for(let n of Ns(M_(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>eF(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!Eu(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(QP(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 nF=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,cF(e,t,n,`initial value`),this.cell=Av.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){cF(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}},rF=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,Av.computed)(()=>{let e=n();return cF(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},iF=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=Av.observable.box(sF(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=sF(e);oF(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function aF(e){return JSON.stringify(e)}function oF(e,t){return aF(e)===aF(t)}function sF(e){return e.kind===`ok`?{kind:`ok`,value:jv(e.value)}:e}function cF(e,t,n,r){let i=Mv(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var lF=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new nF(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new iF(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new rF(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,Av.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,Av.runInAction)(()=>n.set(t))}runInAction(e){(0,Av.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 aF(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 uF(e,t,n){return e+`\0`+t+`\0`+(n??``)}function dF(e,t){return new Set(k_(e.presets).filter(n=>M_(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function fF(e){let t=c.basename(e),n=c.dirname(e);for(;!r.existsSync(n);)t=c.basename(n),n=c.dirname(n);return{dir:n,name:t}}function pF(e,t){let n=new Map;for(let t of XT(e.projectDir,e.cwd,e.configFile)){let{dir:e,name:r}=fF(t);n.has(e)||n.set(e,new Set),n.get(e).add(r)}return{files:t===null?[]:[t],dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({path:e,filenames:[...t].sort()}))}}function mF(e){return e.filter(Boolean).join(`
200
- `)||null}function hF(e,t,n,r){let i=iE(t,vA),{config:a,raw:o}=i;n.push(...i.warnings);let s=sE(i,t??`<default>`),c=new lF,l=new Pb(c,s.globals.default_empty_value??``,r.gitService,r.sessionState),u;try{u=KP(s,l,{cwd:e}),n.push(...u.loadWarnings),Yj(s),nA(s)}catch(e){throw l.dispose(),e}return{config:s,store:c,registry:l,compiled:u,neededInputPaths:oj(s),lastRenderCellsBySegment:new Map,authoredRoots:dF(a,o),fileHeldSettings:Fj(o),unused:tF(o,a)}}function gF(e,t,n,r){let i=QT(e,t,n),a=i.kind===`file`?i.path:null,o=[rE(e,t),eE(i)],s;try{s=hF(t,a,o,r)}catch(e){return e instanceof Ss&&o.push(...e.warnings),{resolvedPath:a,warning:mF(o),state:null,error:e instanceof Ss||e instanceof Error?e.message:String(e)}}return{resolvedPath:a,warning:mF(o),state:s,error:null}}var _F=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=uF(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=gF(e,t,n,this.deps),o={projectDir:e,cwd:t,configFile:n,configFilePath:null,lastError:a.error,lastWarning:a.warning,state:a.state??hF(t,null,[],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.resolvedPath),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=gF(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t.resolvedPath),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configFilePath=t;let n=pF(e,t),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 vF=16384;var yF=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<vF){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%vF}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:$D,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},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null}}};function bF(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),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 xF={load:()=>({}),save:()=>{},flush:()=>{}};function SF(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var CF=class{sessions;storage;atom=(0,Av.createAtom)(`SessionState`);constructor(e=xF,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=SF(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Av.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Av.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Av.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,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};function wF(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 TF=class{timer=null;pending=null;constructor(e,t=500,n=nb){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 wF(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(c.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 EF={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,preset:`string`,endcaps:`string`,variation:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},DF=new Set([`1`,`true`]),OF=new Set([`0`,`false`,``]);function kF(e,t){let n=eI(e),r=n.scope===`segment-palette`?`string`:EF[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(DF.has(t))return`true`;if(OF.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function AF(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function jF(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(c.dirname(e),{recursive:!0}),Ae(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function MF(e){return/^\s*$/.test(e)?null:Ro(e)}function NF(e,t){return e!==null&&Bo(e,t)!==void 0}function PF(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(PF),...i}}return e}function FF(e){if(!Nc(e))return PF(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,PF(t)])),...n}}const IF=gA,LF=IF.segments,RF=IF.presets,zF=IF.root;function BF(e,t,n,r){if(!NF(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function VF(e,t){let n=Sx(t);return t.scope===`segment-palette`&&BF(e,[`segments`,t.segment],LF[t.segment],n.join(`.`)),n}function HF(e){return Ro(Jo(e))}function UF(){return Object.entries(zF.rows).map(([e,t])=>{let n=PF(t);return{path:[`root`],fragment:HF({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function WF(e,t){let n=e===null?void 0:Bo(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function GF(e,t){if(t===void 0)return null;let n=FF(t);return{path:e,fragment:HF(n),unit:{path:e,value:n}}}function KF(e,t){let n=[`presets`,t],r=[...n,`root`],i=RF[t];BF(e,n,i,r.join(`.`));let a=WF(e,r)??GF(r,i?.root);return a!==null&&hs(a.fragment)?a:null}function qF(e,t){let n=ms(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 JF(e,t){return[...UF(),WF(e,[`root`]),KF(e,t)].filter(e=>e!==null).reduce(qF,new Map)}function YF(e,t,n){for(let{node:r,...i}of JF(e,t).values())if(_s(r,n))return i;throw new $(`${XF(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 XF(e,t){return KF(e,t)?.path??[`root`]}function ZF(e,t){return t.scope===`preset-root`?XF(e,t.preset):Sx(t)}function QF(e,{unit:t}){return t===null?e:cs(e,t.path,Jo(t.value),Ko)}function $F(e){let t=xx(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function eI(e){let t=$F(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function tI(e,t,n,r){nI(t,r),jF(t,r,e.logger),e.record(t,n,r)}function nI(e,t){try{return sE(aE(e,t,vA),e)}catch(e){throw e instanceof Ss?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function rI(e,t){let n=eI(t),r=MF(AF(e)??``),i=r===null?void 0:Bo(r,Sx(n));return i!==void 0&&`value`in i?i.value:void 0}function iI(e,t,n){aI(e,t,n,[])}function aI(e,t,n,r){let i=AF(t);tI(e,t,i,oI(n.reduce((e,[t,n])=>cs(e,VF(MF(e),eI(t)),kF(t,n),Ko),i??``),t,r,e=>e))}function oI(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=YF(MF(s),n,i),l=xs(QF(s,c),c.path,i,a,Jo(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 sI(e,t,n){let r=MF(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of JF(r,t)){if(!_s(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?Ho(e,c):Jo(s.value);if(a!==`#`)return cs(e,[...i,`rows`,a],l,Ko);if(KF(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 cs(e,i,l,Ko)}return e}function cI(e,t){return us(e,t,t[0]===`presets`&&t.length>2&&!bA(t[1])?2:0)}function lI(e,t,n){let r=n.map($F),i=AF(t);if(i===null)return;let a=r.reduce((e,t)=>cI(e,ZF(MF(e),t)),i);a!==i&&tI(e,t,i,a)}function uI(e){let t=e===null?void 0:Bo(e,[`presets`]),n=new Set([...yA,...t?.kind===`object`?t.entries.map(e=>e.key):[]].map(xu));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(xu(e)))}function dI(e,t,n,r,i,a){let o=AF(t),s=MF(o??``),c=uI(s),l=[`presets`,c],u=KF(s,n),d=[...u===null?[]:[[[...l,`root`],u.unit===null?Ho(o??``,u.fragment):Jo(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Jo(r)]]],f=i.map(([e,t])=>{let n=bx(c,e);return[VF(s,eI(n)),kF(n,t)]});return tI(e,t,o,oI([...d,...f].reduce((e,[t,n])=>cs(e,t,n,Ko),cs(o??``,l,`{}`,Ko)),t,a.map(e=>({...e,preset:c})),sI)),c}function fI(e,t,n){if(bA(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=AF(t),a=MF(i??``);if(i===null||a===null||Bo(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=Bo(a,[`globals`,`preset`]);tI(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>cI(e,t),i))}function pI(e,t,n,r){let i=$F(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=AF(t),o=r.op===`remove`?r.target:r.anchor,s=YF(MF(a??``),i.preset,o),c=QF(a??``,s),{after:l,placed:u}=mI(c,s.path,r,()=>{let e=nI(t,c);return k_(e.presets).map(t=>M_(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t} 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 tI(e,t,a,l),u}function mI(e,t,n,r){switch(n.op){case`remove`:return{after:ys(e,t,n.target),placed:null};case`insert`:{let i=Uk(n.segment,n.anchor,r());return{after:bs(e,t,i,n.anchor,n.relation),placed:i}}}}const hI={load:()=>({}),save:()=>{}},gI=new Set(Rb.map(e=>e.sessionKey)),_I=e=>gI.has(e)||e.startsWith($_),vI=8*1024*1024,yI={past:[],future:[]},bI=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var xI=class{state=new Map;constructor(e,t,n=hI){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)??yI;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??yI}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(bI(n));r.set(bI(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:bF(this.sessionState,e=>_I(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:kI(i,n),o=r.get(e),s=o===void 0?a:NI(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`,jI(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(bI)),a=n.net.filter(e=>!i.has(bI(e))),o=wI(PI(MI(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(II).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=wI(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...EI(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(bI)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:PI(n,t),future:PI(i,t),...a!==void 0&&{savepoint:{at:PI([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(bI(e))),below:PI(a.below,t)}}}),new $(`${r}: ${o.map(II).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):AF(t.file)}write(e,t,n){t.kind===`file`?jF(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||SI(n)>vI;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,CI(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${vI} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function SI(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 CI({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...EI(n,1,[])}:{past:e,future:t.slice(1),...EI(n,0,[])}}function wI(e){return e.slice(-50)}const TI=e=>e===tv.member;function EI(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:DI(e.net,n),below:e.below}}}function DI(e,t){let n=new Map(e.map(e=>[bI(e),e]));for(let e of t){let t=n.get(bI(e));n.set(bI(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const OI=e=>e.map(e=>({...e,before:e.after,after:e.before}));function kI(e,t){let n=[...e.past,t],r=wI(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...EI(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...AI(e.future,a),...i.below]},n.length-r.length,t)}}function AI(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function jI(e,t){return{past:e.past.slice(0,-1),future:wI([...e.future,t]),...EI(e.savepoint,0,OI(t))}}function MI(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...AI(r,t.at-i.length),...t.below]}function NI(e,t){if(TI(t.after)&&!TI(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!TI(t.after)&&TI(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function PI(e,t){return e.map(e=>e.filter(e=>!t.has(bI(e)))).filter(e=>e.length>0)}function FI(e){return e.map(II).join(`, `)}function II(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function LI(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 RI(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(LI))}function zI(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(LI)&&RI(t.below)}function BI(e){if(typeof e!=`object`||!e)return!1;let t=e;return RI(t.past)&&RI(t.future)&&(t.savepoint===void 0||zI(t.savepoint))}function VI(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(BI))return e}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(c.dirname(e),{recursive:!0}),Ae(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 HI=e=>!_I(e)&&!$x(e)&&e!==`update.dismissed`;var UI=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:bF(e,HI,(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,Av.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 WI(e){let t=sN(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 GI(e){return{probeTmux:WI,loadConfig:e}}function KI(e,t){let n=e.loadConfig(t),r={path:n.path,warnings:n.warning===null?[]:n.warning.split(`
201
- `)};return n.error===null?{...r,kind:`loaded`,shadowed:nE(t.projectDir,t.cwd,t.configFile??void 0),unused:n.unused}:{...r,kind:`failed`,error:n.error}}function qI(e){let t=fS(e).env;if(t===void 0)return{path:e,env:{}};if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t}}function JI(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function YI(e,t,n){return{tmux:JI(e,t.tmux),config:KI(e,n),claudeSettings:qI(lS(cS(t.claudeConfigDir)))}}function XI(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings-env`:{let i=cs(dS(n),[`env`,e.name],JSON.stringify(e.value),qo);return r.mkdirSync(c.dirname(n),{recursive:!0}),Ae(n,i),{...t,claudeSettings:qI(n)}}default:return e.kind}}const ZI=/^─{20,}/,QI=/^❯(\s|$)/,$I=/›\s*stashed$/;function eL(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>ZI.test(e)?[t]:[]).at(-2);return n===void 0||!QI.test(t[n+1]??``)?{kind:`no-prompt`}:$I.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const tL={"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 nL(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=eL(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:tL[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const rL=`cc-candybar-slash`;function iL(e,t,n,r){let i=sN(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function aL(e){let t=iL(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(`
202
- `);return{inMode:n!==`0`,screen:r}}function oL(e,t){let n=iL(e,`claude-input.type`,[`load-buffer`,`-b`,rL,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,rL,`-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 sL(){return{read:aL,type:oL}}function cL(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function lL(e){return uL(()=>decodeURIComponent(e))}function uL(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function dL(e,t){let n=Oe({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 fL=(e,t)=>dL(lL(e),t),pL=(e,t)=>{let n=Oe({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,lL(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`})`)}},mL=(e,t)=>dL(lL(e),t),hL=(e,t)=>dL(lL(e),t),gL=(e,t)=>{let n=cL(lL(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},_L=(e,t)=>{let[n=``,...r]=uL(()=>KD(e)),i=cL(n),a=Yj(kL(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})}xL(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})`)},vL=/^-?\d+$/;function yL(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const bL=(e,t)=>{let[n=``,r=``,i=``]=uL(()=>KD(e)),a=cL(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!vL.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=kL(t,a),c=Yj(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&&vL.test(u)?SL(l,parseInt(u,10)):CL(`step-state`,r,l,Qj(s,e=>t.sessionState.get(a,e),r)),f=yL(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new $(`step-state: ${p.reason}`);xL(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 xL(e,t,n,r){let i=r.filter(e=>e.key.startsWith($_));if(i.length===0)return;let a=Aj(kL(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new $(`${n}: refused — ${a.join(`; `)}`)}function SL(e,t){return Math.max(e.min,Math.min(e.max,t))}function CL(e,t,n,r){if(r===null)return n.min;if(!vL.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return SL(n,parseInt(r,10))}const wL=`render-origin`;function TL(e){return JSON.stringify(e)}function EL(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 DL(e,t){let n=e.sessionState.get(t,wL);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return EL(n)}function OL(e,t,n){let r=e.sessionState.get(t,wL);if(r===null)return;let i=EL(r),a=AL(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function kL(e,t){return e.configFor(DL(e,t))}function AL(e){return $T(e.projectDir,e.cwd,e.configFile??void 0)}function jL(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const ML=(e,t)=>{let[n=``,r=``,i=``]=uL(()=>KD(e)),a=cL(n),o=DL(t,a),s=t.configFor(o),c=nA(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=AL(o),d=Oj(s,e=>t.sessionState.get(a,e),r);iI(jL(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u} (session=${a})`)},NL=(e,t)=>{let[n=``,r=``,i=``]=uL(()=>KD(e)),a=cL(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!vL.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=DL(t,a),c=t.configFor(s),l=nA(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=AL(s),f=Oj(c,e=>t.sessionState.get(a,e),r),p=rI(d,f.key),m=typeof p==`number`?SL(u,p):CL(`step-config`,r,u,iA(f.globals,r)),h=yL(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new $(`step-config: ${g.reason}`);iI(jL(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d} (session=${a})`)},PL=(e,t)=>{let[n=``]=uL(()=>KD(e)),r=cL(n),i=DL(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=Ej(a,o),c=kj(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=Yj(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]});IL(`save`,l,c);let d=AL(i);aI(jL(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(FL)].join(` `)} → ${d} (session=${r})`)},FL=e=>`${e.preset}/${e.id}.settings.${e.setting}=${qs(e.value)}`;function IL(e,t,n){for(let r of n){let n=t.validate(r.key,qs(r.value));if(!n.ok)throw new $(`${e}: ${n.reason}`)}}const LL=(e,t)=>{let[n=``]=uL(()=>KD(e)),r=cL(n),i=DL(t,r),a=t.configFor(i),o=Nj(a,e=>t.sessionState.get(r,e)),s=Yj(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]});IL(`save-preset`,s,o.placements);let l=AL(i),u=dI(jL(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...Rb.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,Lb.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(FL)].join(` `)} → ${l} (session=${r})`)},RL=(e,t)=>{let[n=``,r=``]=uL(()=>KD(e)),i=cL(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=DL(t,i),o=AL(a);fI(jL(t,i),o,r),t.reloadConfig(a);let s=Lb.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o} (session=${i})`)},zL=(e,t)=>{let[n=``,...r]=uL(()=>KD(e)),i=cL(n),a=DL(t,i),o=nA(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=AL(a),l=r.map(Pj),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);lI(jL(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} (session=${i})`)};function BL(e,t){let n=(e,t)=>[...Ns(M_(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(k_(t.presets).flatMap(e=>n(t,e).map(t=>ev(xu(e),ks(t)))));return k_(e.presets).flatMap(t=>n(e,t).map(e=>({member:ev(xu(t),ks(e)),node:e})).filter(({member:e})=>!r.has(e)))}function VL(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[J_]:[]])}const HL=(e,t)=>{let[n=``,r=``,i=``]=uL(()=>KD(e)),a=cL(n),o=DL(t,a),s=t.configFor(o),c=nA(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=Hk(l.value);if(u===null)throw new $(`apply-layout-op: "${l.value}" is not a layout op token`);let d=AL(o),f=pI(jL(t,a),d,r,u);t.reloadConfig(o);let p=VL(BL(s,t.configFor(o)),t.sessionState.get(a,J_)).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} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},UL=(e,t)=>{let[n=``]=uL(()=>KD(e)),r=cL(n);t.journal.commit();let i=t.history.undo(r);OL(t,r,i),t.dlog(`info`,`undo: restored ${FI(i)} (session=${r})`)},WL=(e,t)=>{let n=cL(lL(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,Yj(kL(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},GL=(e,t)=>{let n=cL(lL(e));t.journal.commit();let r=t.history.rewind(n);OL(t,n,r),t.dlog(`info`,`rewind: put back ${FI(r)||`nothing`} as edit mode found it (session=${n})`)},KL=(e,t)=>{let[n=``]=uL(()=>KD(e)),r=cL(n);t.journal.commit();let i=t.history.redo(r);OL(t,r,i),t.dlog(`info`,`redo: re-applied ${FI(i)} (session=${r})`)},qL=(e,t)=>{cL(lL(e)),t.applyUpdate()},JL=`client-hints`;function YL(e,t){let n=e.sessionState.get(t,JL);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 mE(r)}function XL(e,t,n){let r=Hx(n);e.sessionState.setBatch(t,qx(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})`)}const ZL=(e,t)=>{let n=cL(lL(e));XL(t,n,YI(t.doctor,YL(t,n),DL(t,n)))},QL=(e,t)=>{let[n=``,r=``]=uL(()=>KD(e)),i=cL(n),a=Ux(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=YI(t.doctor,YL(t,i),DL(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=XI(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.name}=${s.fix.value} (session=${i})`),XL(t,i,c)},$L=(e,t)=>{let[n=``,...r]=uL(()=>KD(e)),i=cL(n),a=DL(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=Cw(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=PA({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},YL(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},eR=(e,t)=>{let[n=``,r=``]=uL(()=>KD(e)),i=cL(n),a=Object.values(t.configFor(DL(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=nL(t.claudeInput,YL(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})`)},tR=`config-override`,nR=new Map([[wD,fL],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=cL(uL(()=>decodeURIComponent(e.slice(0,n)))),i=uL(()=>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,tR),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,tR,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[TD,pL],[SD,_L],[CD,bL],[kD,ML],[AD,NL],[PD,zL],[jD,PL],[MD,LL],[ND,RL],[FD,HL],[ID,UL],[LD,KL],[RD,WL],[zD,GL],[DD,mL],[OD,hL],[ED,gL],[BD,qL],[VD,ZL],[HD,QL],[UD,$L],[WD,eR]]),rR=new Set([SD,CD,kD,AD,PD,jD,MD,ND,FD,ID,LD,RD,zD,ED,BD,VD,HD,UD,WD]),iR=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of XD(JD(e))){if(!i&&rR.has(a)){let e=KD(o);e.length>0&&e[0]&&(i=e[0])}let e=nR.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(`
203
- `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function aR(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 oR=new Map([...nR,[xD,iR]].map(([e,t])=>[e,aR(t)]));Object.freeze([...oR.keys()]);const sR=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`]),cR=[[`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`]],lR=[[`workspace.added_dirs`,`string-list`]];function uR(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of cR){let i=pR(n,e);if(i==null)t.missingRequired.push(e);else{let n=dR(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of lR){let i=pR(n,e),a=i===void 0?r:fR(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))sR.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function dR(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function fR(e){return Array.isArray(e)&&e.every(e=>dR(e)===`string`)?`string-list`:dR(e)}function pR(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 mR(e,t){switch(e){case`vars`:return{what:e,vars:hR(t)};case`segments`:return{what:e,segments:bR(t)};case`config`:return{what:e,config:wR(t)}}}function hR(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=vR(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...gR(r),lastError:a===void 0?null:{timestampMs:a.timestamp,message:a.message},ageMs:_R(r.lastUpdatedMs())})}return o}function gR(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 _R(e){return e===null?null:Math.max(0,Date.now()-e)}function vR(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,yR(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}`,yR(i));return t}function yR(e){return e.kind}function bR(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=SR(n),o=xR(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:CR(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function xR(e){let t=new Map;for(let n of k_(e.presets))for(let r of Ns(M_(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=ks(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function SR(e){let t=[],n=new Set;for(let r of Ns(Ic(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 CR(e,t,n){let r=new Set;for(let i of yv(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 wR(e){return e===null?null:e.config}const TR=[`vars`,`segments`,`config`];function ER(e){return typeof e==`string`&&TR.includes(e)}function DR(e){return Math.max(1,e-2)}var OR=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return c.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 kR=new yF;Te(kR.launchStats);const AR=new ib({counters:kR,logger:Z}),jR=pN({watchers:AR,logger:Z}),{gitProvider:MR,usageStore:NR,mementoProvider:PR}=jR,FR=new CF,IR=new xI(FR,Z),LR=new UI,RR=new OR(Ke()),zR=new _F({gitService:MR,sessionState:FR,watchers:AR},{observers:{onReload:e=>Z(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} file=${e.configFilePath??`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),BR=60*1e3;function VR(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(D(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),rz(0);return}}catch(e){Z(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,BR),a.unref())},checkNow:o}}const HR=VR(),UR=_M({entryUrl:import.meta.url,intervalMs:BR,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>HR.checkNow(),log:Z});let WR=null,GR=null,KR=0;function qR(){t.on(`uncaughtException`,e=>{Z(`error`,`uncaughtException: ${e.stack||e.message}`),rz(1)}),t.on(`unhandledRejection`,e=>{Z(`error`,`unhandledRejection: ${String(e)}`),rz(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{Z(`info`,`received ${e}, shutting down`),rz(0)});try{KR=qE(t.env)}catch(e){Z(`error`,`refusing to boot: ${e.message}`),rz(1);return}WR=GO(t.pid);let e=tk(rk(WR));if(!e.decision.allow){Z(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),rz(1);return}GR=e.registryPath,r.mkdirSync(Pe(),{recursive:!0}),Le(Fe()),FR.useStorage(new TF(Be(),500,Z)),IR.useStorage(VI(Ve(),Z)),JO({anchor:qO(t.env),isAlive:YO,onOrphaned:e=>{Z(`info`,`parent watchdog: ${e}; shutting down`),rz(0)}}),JR(b.createServer({allowHalfOpen:!1},e=>{iz(e)}),Fe(),!1)}function JR(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){Z(`error`,`server error: ${i.message}`),rz(1);return}if(r){Z(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}YR(e,n)}),e.listen(n,()=>XR(n))}function YR(e,n){let i=FO(IO(Re(n)),(e,t)=>WO(e,t,{readStartTime:UO,pidAlive:YO}));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}`),rz(1);return}}JR(e,n,!0)}function XR(e){let n=zO(e);if(n.kind!==`present`){Z(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),rz(0);return}ez(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(te.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(KR/1048576)}MB`),uD();let i=RR.reset();i!==null&&Z(`warn`,`diagnostic dump wipe failed: ${i}`),HR.arm(),UR.arm(),$R(),ZR(e,n.identity)}function ZR(e,n){HO({bound:n,myPid:t.pid,readIdentity:()=>zO(e),readLease:()=>IO(Re(e)),shutdown:e=>rz(e),log:Z}).arm()}let QR=null;function $R(){QR=ZE(tD(kR.startedAt.getTime(),e=>rz(e),{rssLimitBytes:KR})),QR.arm()}function ez(e){let n=LO(Re(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:WR});n!==null&&Z(`warn`,`lease write failed: ${n}`)}let tz=0,nz=!1;function rz(e){if(!nz){nz=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{MR.close()}catch(e){Z(`warn`,`gitService close failed: ${e.message}`)}try{NR.close()}catch(e){Z(`warn`,`usageStore close failed: ${e.message}`)}try{AR.closeAll()}catch(e){Z(`warn`,`watcherRegistry close failed: ${e.message}`)}try{FR.flush()}catch(e){Z(`warn`,`sessionState flush failed: ${e.message}`)}RO(ze(),t.pid),GR!==null&&nk(GR,t.pid,$O,e=>r.unlinkSync(e)),t.exit(e)}}function iz(e){tz++,kR.inFlight=tz;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:()=>rz(r);try{e.end(CE(n),i)}catch(e){Z(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{kR.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=wE(e=>{oz(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),tz=Math.max(0,tz-1),kR.inFlight=tz})}const az=e=>({resp:e,exitAfterFlush:null});async function oz(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return az({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 az({ok:!0,stats:kR.snapshot({gitCache:MR.getStats(),usageCache:NR.getStats(),renderCacheSize:zR.size,watchersActive:AR.size(),nextRestartReason:QR?.describeNextRestart()??null})});if(e.kind===`render`){kR.requestsTotal++;let t=Date.now();try{let{report:n}=uR(e.hookData);for(let e of n.unknownTopLevelFields)Z(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let r=[];for(let e of n.missingRequired)r.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:i}of n.typeMismatches)r.push(`field '${e}' expected ${t}, got ${i}`);if(e.cwd===``&&r.push(`request 'cwd' is empty`),r.length>0)return kR.requestsErrored++,Z(`warn`,`BAD_REQUEST: ${r.join(`; `)}`),az({ok:!1,error:`malformed hookData: ${r.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let i=e.hookData.workspace.project_dir,{configFile:a,unknownFlagsError:o}=sz(e.args),s=e.hookData.session_id,c=mE(e),l=JSON.stringify(c);FR.get(s,`client-hints`)!==l&&FR.set(s,JL,l);let u=FR.get(s,`config-override`)??a??c.configEnv,d=zR.getOrCreate(i,e.cwd,u),f=TL({projectDir:i,cwd:e.cwd,configFile:u??null});FR.get(s,`render-origin`)!==f&&FR.set(s,wL,f);let p=c.termCols,m=DR(p??120),h=bk(c.termRows),{authoredRoots:g}=d.state,_=t=>FR.get(e.hookData.session_id,t),v=qA(d.state.config,_,e=>g.has(e)),y=await uj(e.hookData,{...fz,navigation:e=>LR.depth(e,FR,Yj(d.state.config))},e.cwd,d.state.neededInputPaths(v.preset),v,c,{...Ij(d.state.config,d.state.fileHeldSettings,_),configPath:d.configFilePath}),b=[],x=JA(v,m),S=ZP(d.state.config,d.state.compiled,d.state.store,d.state.registry,y,x,{perSegmentSink:d.state.lastRenderCellsBySegment,onRenderWarning:e=>b.push(e)},YA(v)),C=FR.get(e.hookData.session_id,`click.error`);C&&FR.clear(e.hookData.session_id,`click.error`);let w=[o,d.lastError,C].filter(Boolean).join(`
204
- `),T=UR.notice({sessionId:s,dismissed:FR.get(s,tM),enabled:v.updateNotice}),ee=d.lastError===null?null:d.configFilePath,te=Tk(w,T,[d.lastWarning??``,...b].filter(Boolean).join(`
205
- `)),E=RR.sync(s,te===null?null:Dk(te));E!==null&&Z(`warn`,`diagnostic dump failed: ${E}`);let ne=Ok(S,te,{fullText:E===null?{kind:`file`,path:RR.pathFor(s)}:{kind:`unavailable`,reason:E},failedConfigFile:ee},{width:m,rowCap:h,colorCompatibility:v.colorCompatibility}),D=Date.now()-t,O=MR.getStats(),re=NR.getStats();return Z(`info`,`render sid=${e.hookData.session_id??`?`} took=${D}ms termCols=${p??`?`} termRows=${c.termRows??`?`} width=${m} git=${O.size}/${O.hits}h/${O.misses}m usage=${re.size}/${re.hits}h/${re.misses}m err=${w?`Y`:`N`} upd=${T.length} warn=${d.lastWarning?`Y`:`N`}`),az({ok:!0,output:ne+`
206
- `})}catch(e){throw kR.requestsErrored++,e}}if(e.kind===`click`)return az(await pz(e.verb,e.value));if(e.kind===`debug`){if(!ER(e.what))return az({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${TR.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=zR.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?dz(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):uz};return az({ok:!0,debug:mR(e.what,n)})}return az({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function sz(e){let{values:t,tokens:n}=v({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:_E(t.config),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const cz={sessionState:FR,dlog:Z,applyUpdate:()=>UR.act(),doctor:GI(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];zR.reload(...t);let n=zR.getOrCreate(...t);return{path:n.configFilePath,error:n.lastError,warning:n.lastWarning,unused:n.state.unused}}),memento:PR,claudeInput:sL(),history:IR,navigation:LR,configFor:e=>zR.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>zR.reload(e.projectDir,e.cwd,e.configFile??void 0)};cz.reloadConfig;const lz={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:go,width:1/0},uz=new Map;function dz(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,yk(a,{...lz,charset:t,colorCompatibility:n}));return r}const fz={...jR,clock:()=>new Date,history:e=>IR.depth(e)};function pz(e,t){let n=oR.get(e);if(!n)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return n(t,cz),{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 mz={connectMs:200,budgetMs:500};async function hz(e){let n=e.includes(`--json`),r=await gz();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${ME(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
207
- `);return}t.stdout.write(bz(r.value))}function gz(){return EE({kind:`stats`},mz,e=>`stats`in e?e.stats:void 0)}function _z(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function vz(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function yz(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 bz(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 ${yz(e.uptimeSec)}`),t.push(` rss ${_z(e.rssBytes)}`),t.push(` heapUsed ${_z(e.heapUsedBytes)}`),t.push(` heapTotal ${_z(e.heapTotalBytes)}`),t.push(` external ${_z(e.externalBytes)}`),t.push(` arrayBuffers ${_z(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 ${vz(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 ${vz(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(`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(`
198
+ `);n.push(e[0]);for(let r=1;r<e.length;r++)t.push(n),n=[e[r]]}return t.push(n),t}function zP(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,...BP(e,r)]}function BP(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 VP(e,t){let n=(e,r)=>t(e)?e.kind===`segment`?[{cells:[{name:e.name,address:r,settings:e.settings}],band:`own`,place:`flow`}]:zP(e.direction,e.children.map((t,i)=>n(t,[...r,HP(e,i)]))):[];return n(e,[]).map(e=>[...e.cells])}function HP(e,t){return{index:t,count:e.children.length,distribution:e.distribution,axis:ks[e.direction]}}const UP={compile(e,t){return{kind:`container`,direction:e.direction,when:t.when,distribution:ma(e.distribution),children:e.children.map((e,n)=>t.compileChild(e,Fs(t.path,n)))}},render(e,t){return zP(e.direction,e.children.map((n,r)=>t.renderChild(n,t.visible,HP(e,r))))}},WP={drop:e=>e.place,above:()=>`above`},GP={drop:(e,t)=>({lead:t(),stays:e}),above:e=>({lead:e.slice(0,1).flatMap(e=>e.cells),stays:e.slice(1)})},KP={compile(e,t){return{kind:`segment`,when:t.when,name:e.name,id:As(e),settings:t.placementSettings(e),...e.opens!==void 0&&{opens:{open:t.parse(Qc(e.opens.ref),`opens`),body:t.compileChild(e.opens.body,Is(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){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=ky(t.scope,e.settings);try{if(!CN(i.when,a))return[];let n=Qb(e.settings.theme,t.palette),o=e.opens!==void 0&&CN(e.opens.open,t.scope),{styles:s,fragments:c,lead:l,trail:u,drops:d,open:f}=t.evaluateSegment(e,a,n,t.region,{bg:i.bg,fg:i.fg,body:i.template,lead:e.lead,trail:e.trail},o),p=f?s.trigger:s.closed,m={width:r.width??`auto`,justify:r.justify??`left`,truncate:r.truncate??`right`,baseStyle:p,padding:t.padding},h=e.opens,g=h===void 0?[]:t.renderBody(h.body,o,s.disclosure).map(e=>({...e,place:WP[h.placement](e)})),_=RP(MN(c,p)).map((e,t)=>({cells:ON(e,{...m,lead:t===0?MN(l,p):[],trail:t===0?MN(u,p):[]}),band:`own`,place:`flow`})),v=d.map(e=>({cells:ON(MN([e],s.band),{...m,baseStyle:s.band}),band:`deeper`,place:`flow`})),y=(e,t,n)=>ON(MN([e],t),{...m,width:`auto`,baseStyle:t,padding:n}),b=g.findIndex(e=>e.band===`own`),{lead:x,stays:S}=h!==void 0&&b!==-1?GP[h.placement](_,()=>y(t.closeDisclosure(h.key),s.close,t.padding)):{lead:[],stays:_},C=x.flatMap(e=>y(new W(` `.repeat(EN(e).reduce((e,t)=>e+t.cellLength,0))),s.trigger,0)),w=(e,t)=>e.band===`own`?t===b?x:C:[],ee=g.map((e,t)=>({cells:[...w(e,t),...e.cells],band:`deeper`,place:e.place})),te=[...S,...v];return t.perSegmentSink!==void 0&&t.perSegmentSink.set(e.id,[...te.flatMap(e=>e.cells),...g.flatMap(w)].flatMap(EN)),[...te,...ee]}catch(n){let r=n.message??String(n);t.onSegmentError?.(e.id,r);let i=r.replace(/\s*\n\s*/g,` `);return[{cells:ON([new W(`⚠ ${e.id}: ${i}`,{end:``})],{width:`auto`,justify:`left`,truncate:`right`,padding:0,lead:qP(e.lead,e,a,t),trail:qP(e.trail,e,a,t)}),band:`own`,place:`flow`}]}}};function qP(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 JP={container:UP,segment:KP};function YP(e){return JP[e]}function XP(e){if(`ttl`in e)return{kind:`ttl`,durationMs:yb(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 ZP(e,t){switch(zs(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 QP(e,t,n,r){switch(n.kind){case`literal`:e.declareLiteral(t,n.value);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:XP(n.cache),parse:ZP(n.parse,n.default)});break;case`shell`:e.declareShell(t,n.command,{cwd:r,cache:XP(n.cache),parse:ZP(n.parse,n.default)});break;case`template`:e.declareTemplate(t,n.template,{varDefault:n.default});break;case`time`:e.declareTime(t,{format:n.layout,ttlMs:n.cache?yb(n.cache.ttl):void 0,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 $P(e,t){let n=$d.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 eF=e=>So(void 0,null,e.globals.variation);function tF(e,t,n){let r=n.cwd,i=ax(e.globals.palette),a={store:t.variableStore,compiled:new Map,chromeCols:Ek({endcaps:`powerline`,charset:_o}),width:80,basePalette:i,palette:i,variation:oa[eF(e)],padding:1,seamCols:Dk({endcaps:`powerline`,charset:_o}),layout:()=>[]},o=aP(t.drawnAt),s={action:a,activeSegment:o},c=Object.keys(e.styles),l=j_(e.presets),u=new Map([...lx(e),...uw(e)]),d=Ey({...JN(a),..._P(a,o),...bP(a,o),...wP(a,o),...kP(a,o),...NP(s),...IP(o),styles:{fn:()=>c,argTypes:[],arity:{kind:`exact`}},presets:{fn:()=>l,argTypes:[],arity:{kind:`exact`}}},n.clock,t.drawnAt),f=$P(d,e.helpers),p=e=>d.parse(e,f),m=new Map,h=e=>{let t=m.get(e);if(t!==void 0)return t;let n=p(e);return m.set(e,n),n},g=new Map;for(let[t,n]of Wb)n in e.variables&&g.set(t,n);for(let[t,n]of Object.entries(e.variables))n.kind===`state`&&!g.has(n.key)&&g.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`&&!g.has(r.key)&&g.set(r.key,`${t}.${e}`);a.compiled=IN(p,e.actions,g,u);let _=[];for(let[n,i]of Object.entries(e.variables))try{QP(t,n,i,r)}catch(e){_.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{QP(t,`${n}.${e}`,a,r)}catch(t){_.push(`Variable "${n}.${e}": ${t.message??String(t)}`)}let v=Object.create(null);for(let[t,n]of Object.entries(e.segments)){let e=(e,n,r=p)=>{try{return r(e)}catch(e){throw Error(`Template parse error in segments.${t}.${n}: ${e.message}`,{cause:e})}};v[t]={when:n.when===void 0?void 0:e(n.when,`when`,h),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 y=(e,t,n)=>{try{return h(e)}catch(e){throw Error(`Template parse error in ${t}.${n}: ${e.message}`,{cause:e})}},b=t.variableStore,x=t=>{let n=Ws(e.segments[t.name]),r=Object.create(null);for(let[e,i]of Object.entries(n)){let n=t.settings?.[e]??i.default,a=t.drafts?.[e];Object.defineProperty(r,e,{enumerable:!0,get:a===void 0?()=>n:()=>Ys(i,String(b.read(a.variable)))??n})}return Object.freeze(r)},S=(e,t)=>{let n={path:t,when:e.when===void 0?void 0:y(e.when,t,`when`),parse:(e,n)=>y(e,t,n),compileChild:S,placementSettings:x};return YP(e.kind).compile(e,n)},C=new Map;for(let t of l){let{node:n,path:r}=P_(e,t);C.set(t,S(n,r))}let w=new Map(io.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 io){let r=t[n];if(!ao(r))continue;let i=`${e}.${n}`,a=w.get(n),o=a.get(r);a.set(r,o===void 0?{where:i,template:nF(p,i,r)}:{where:`${o.where}, ${i}`,template:o.template})}return{segments:v,roots:C,activeSegment:o,menuRuntime:s,globalExpressions:w,loadWarnings:_}}function nF(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 rF(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 iF(e,t){return e.template.evaluate(t).map(e=>e.plain).join(``)}function aF(e,t){return e.kind===`decided`?e.name:t}function oF(e,t,n,r,i,a,o,s){let{perSegmentSink:c,onSegmentError:l,onRenderWarning:u}=o??{};r.drawAt(yo(a.colorCompatibility));let{preset:d=k_}=s??{},f=F_(e,d),p=oa[s?.variation??So(void 0,null,f.variation)];t.menuRuntime.action.variation=p;let m=s?.style??uo(`none`,e.styles),h=s?.theme??rx(void 0,null,f.palette),g=(e,t)=>({...i,term:{cols:a.width},theme:{effective:e},style:{effective:t}});r.applyInput(g(aF(h,Za),aF(m,co))),t.menuRuntime.action.chromeCols=Ek(a),t.menuRuntime.action.padding=a.padding,t.menuRuntime.action.width=a.width,t.menuRuntime.action.seamCols=Dk(a);let _=Dy(n),v=so(h,e=>{let n=rF(t,`palette`,e);return nx(iF(n,_),n.where,e=>u?.(e))}),y=so(m,n=>uo(iF(rF(t,`style`,n),_),e.styles));(v!==h||y!==m)&&r.applyInput(g(v.name,y.name));let b=v.value;t.menuRuntime.action.basePalette=b;let x=ex(b,y.value);t.menuRuntime.action.palette=x,c?.clear();let S=n=>{let r=e.segments[n],i=t.segments[n];return r!==void 0&&i!==void 0?{seg:r,compiled:i}:void 0},C=(e,n,i,a,o,s)=>{try{let c=r.drawnAt(),{tint:l,disclosure:u}=Ja(i,a,c),d=oP(t.activeSegment,e.name,e.id,i,u,l),f=Ax(d,c,o.bg,o.fg,n),p=()=>La(i,u,c).state;s&&(d.bg=p());let m=o.body.evaluate(n),h=d.drops.length>0||s;h&&(d.bg=p());let g=o.lead?.evaluate(n)??[],_=o.trail?.evaluate(n)??[];return{styles:{closed:f,get trigger(){return XN(i,p(),c)},get band(){return XN(i,La(i,u,c).plane,c)},get close(){return QN(i,p(),c)},disclosure:u},fragments:m,lead:g,trail:_,drops:d.drops,open:h}}finally{t.activeSegment.current=null}},w=(e,t,r)=>{let i=t&&CN(e.when,_),o={scope:_,palette:x,visible:i,padding:a.padding,region:r,perSegmentSink:c,onSegmentError:l,evaluateSegment:C,lookupSegment:S,renderChild:(e,t,n)=>w(e,t,Ka(r,n)),renderBody:(e,t,n)=>w(e,i&&t,qa(n)),closeDisclosure:e=>YN(n,e)};return YP(e.kind).render(e,o)},ee=t.roots.get(d);if(ee===void 0)throw Error(`Preset "${d}" has no compiled layout — registerDslConfig compiles one per declared preset and effectivePresetName collapses unknown names to "${k_}"; a miss here is merge/policy drift (have: ${[...t.roots.keys()].join(`, `)})`);let te=e=>{if(!CN(e.when,_))return!1;if(e.kind===`container`)return!0;if(yw(e.name)===void 0)return!1;try{return CN(t.segments[e.name].when,ky(_,e.settings))}catch{return!0}};return t.menuRuntime.action.layout=()=>VP(ee,te).map(e=>e.flatMap(({name:e,address:t,settings:n})=>{let r=yw(e);return r===void 0?[]:[{name:r,address:t,palette:Qb(n.theme,x)}]})),w(ee,!0,Ga(p)).map(e=>Ok(jN(e.cells,a),a)).join(`
199
+ `)}function*sF(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*cF(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 j_(e.presets)){for(let n of Ps(P_(e,t).node))n.when!==void 0&&(yield n.when);let n=F_(e,t);for(let e of io){let t=n[e];ao(t)&&(yield t)}}for(let[,t]of sF(e))t.kind===`template`&&(yield t.template),Vs(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 lF(e,t){return e===t||t.startsWith(`${e}.`)||e.startsWith(`${t}.`)}function uF(e,t){let n=new Set,r=new Set,i=new Set;for(let e of cF(t)){for(let r of xv(e,t.helpers).keys())n.add(r);for(let{name:n}of Tv(e,t.helpers))r.add(n);for(let n of Ev(e,t.helpers))i.add(n)}for(let[,e]of sF(t))if(Vs(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 j_(t.presets))for(let n of Ps(P_(t,e).node))n.kind===`segment`&&s.add(n.name);let c=(e,t)=>[...n].some(t=>lF(t,e))||t.kind===`state`&&o.has(t.key),l=e=>[...e].filter(e=>!Ou(e)),u=(e,t,n)=>l(t).filter(e=>!n(e)).map(t=>({kind:e,name:t})),d=new Map(sF(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 dF=class{kind=`box`;cell;lastChangedAt;constructor(e,t,n){this.name=e,this.type=t,_F(e,t,n,`initial value`),this.cell=Mv.observable.box(n,{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){_F(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}},fF=class{kind=`computed`;cell;constructor(e,t,n){this.name=e,this.type=t,this.cell=(0,Mv.computed)(()=>{let e=n();return _F(this.name,this.type,e,`computed result`),e},{keepAlive:!0})}read(){return this.cell.get()}lastUpdatedMs(){return null}},pF=class{kind=`document`;cell;lastChangedAt;constructor(e,t){this.name=e,this.cell=Mv.observable.box(gF(t),{deep:!1}),this.lastChangedAt=Date.now()}read(){return this.cell.get()}set(e){let t=gF(e);hF(this.cell.get(),t)||(this.cell.set(t),this.lastChangedAt=Date.now())}lastUpdatedMs(){return this.lastChangedAt}};function mF(e){return JSON.stringify(e)}function hF(e,t){return mF(e)===mF(t)}function gF(e){return e.kind===`ok`?{kind:`ok`,value:Nv(e.value)}:e}function _F(e,t,n,r){let i=Pv(n);if(i!==t)throw TypeError(`Variable "${e}": ${r} type ${i} does not match declared type ${t}`)}var vF=class{nodes=new Map;defineBox(e,t,n){this.assertNotDefined(e),this.nodes.set(e,new dF(e,t,n))}defineDocument(e,t){this.assertNotDefined(e),this.nodes.set(e,new pF(e,t))}defineComputed(e,t,n){this.assertNotDefined(e);let r=e=>this.read(e);this.nodes.set(e,new fF(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,Mv.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,Mv.runInAction)(()=>n.set(t))}runInAction(e){(0,Mv.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 mF(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 yF(e,t,n){return e+`\0`+t+`\0`+(n??``)}function bF(e,t){return new Set(j_(e.presets).filter(n=>P_(e,n).path===`root`?t.root!==void 0:t.presets?.[n]?.root!==void 0))}function xF(e){let t=c.basename(e),n=c.dirname(e);for(;!r.existsSync(n);)t=c.basename(n),n=c.dirname(n);return{dir:n,name:t}}function SF(e,t){let n=new Map;for(let t of tE(e.projectDir,e.cwd,e.configFile)){let{dir:e,name:r}=xF(t);n.has(e)||n.set(e,new Set),n.get(e).add(r)}return{files:t===null?[]:[t],dirs:[...n.entries()].sort(([e],[t])=>e.localeCompare(t)).map(([e,t])=>({path:e,filenames:[...t].sort()}))}}function CF(e){return e.filter(Boolean).join(`
200
+ `)||null}function wF(e,t,n,r){let i=lE(t,DA),{config:a,raw:o}=i;n.push(...i.warnings);let s=fE(i,t??`<default>`),c=new vF,l=new Ib(c,s.globals.default_empty_value??``,r.gitService,r.sessionState),u;try{u=tF(s,l,{cwd:e}),n.push(...u.loadWarnings),iM(s),dA(s)}catch(e){throw l.dispose(),e}return{config:s,store:c,registry:l,compiled:u,neededInputPaths:hj(s),lastRenderCellsBySegment:new Map,authoredRoots:bF(a,o),fileHeldSettings:Wj(o),unused:uF(o,a)}}function TF(e,t,n,r){let i=rE(e,t,n),a=i.kind===`file`?i.path:null,o=[cE(e,t),aE(i)],s;try{s=wF(t,a,o,r)}catch(e){return e instanceof Cs&&o.push(...e.warnings),{resolvedPath:a,warning:CF(o),state:null,error:e instanceof Cs||e instanceof Error?e.message:String(e)}}return{resolvedPath:a,warning:CF(o),state:s,error:null}}var EF=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=yF(e,t,n),i=this.entries.get(r);if(i)return this.entries.delete(r),this.entries.set(r,i),i;let a=TF(e,t,n,this.deps),o={projectDir:e,cwd:t,configFile:n,configFilePath:null,lastError:a.error,lastWarning:a.warning,state:a.state??wF(t,null,[],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.resolvedPath),this.observers.onReload?.(o),o}reload(e,t,n){this.reloadInto(this.getOrCreate(e,t,n))}reloadInto(e){let t=TF(e.projectDir,e.cwd,e.configFile,this.deps);e.lastWarning=t.warning,e.lastError=t.error,t.state!==null&&(e.state.registry.dispose(),e.state=t.state),this.refreshWatcher(e,t.resolvedPath),this.observers.onReload?.(e)}refreshWatcher(e,t){e.configFilePath=t;let n=SF(e,t),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 DF=16384;var OF=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<DF){this.rollingTimestamps.push(e);return}this.rollingTimestamps[this.rollingHead]=e,this.rollingHead=(this.rollingHead+1)%DF}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:zE,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},watchers:{active:e.watchersActive,opened:this.watchersOpened,closed:this.watchersClosed,evicted:this.watchersEvicted},subprocesses:this.snapshotSubprocesses(),nextRestartReason:e.nextRestartReason??null,handlerProbes:e.handlerProbes}}};function kF(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),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 AF={load:()=>({}),save:()=>{},flush:()=>{}};function jF(e){let t=new Map;for(let[n,r]of Object.entries(e))t.set(n,new Map(Object.entries(r)));return t}var MF=class{sessions;storage;atom=(0,Mv.createAtom)(`SessionState`);constructor(e=AF,t=256){this.maxSessions=t,this.storage=e,this.sessions=new Map,this.hydrateFromStorage()}useStorage(e){this.storage=e,this.hydrateFromStorage()}hydrateFromStorage(){this.sessions=jF(this.storage.load()),this.evictOldest(),this.persist()}get(e,t){this.atom.reportObserved();let n=this.sessions.get(e);return n?(this.touch(e,n),n.get(t)??null):null}set(e,t,n){this.setBatch(e,[{key:t,value:n}])}setBatch(e,t){t.length!==0&&(0,Mv.runInAction)(()=>{let n=this.sessions.get(e)??new Map;for(let{key:e,value:r}of t)n.set(e,r);this.touch(e,n),this.evictOldest(),this.persist(),this.atom.reportChanged()})}clear(e,t){(0,Mv.runInAction)(()=>{let n=this.sessions.get(e);n&&(n.delete(t),n.size===0?this.sessions.delete(e):this.touch(e,n)),this.persist(),this.atom.reportChanged()})}prune(e){(0,Mv.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,n]of this.sessions)e[t]=Object.fromEntries(n);return e}};function NF(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 PF=class{timer=null;pending=null;constructor(e,t=500,n=ib){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 NF(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(c.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 FF={default_empty_value:`string`,default_separator:`string`,palette:`string`,style:`string`,preset:`string`,endcaps:`string`,variation:`string`,autoWrap:`boolean`,padding:`number`,charset:`string`,updateNotice:`boolean`,colorCompatibility:`string`,menuGlyph:`string`},IF=new Set([`1`,`true`]),LF=new Set([`0`,`false`,``]);function RF(e,t){let n=lI(e),r=n.scope===`segment-palette`?`string`:FF[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(IF.has(t))return`true`;if(LF.has(t))return`false`;throw Error(`persistValueText: "${e}" expects boolean-ish (1, 0, true, false), got "${t}"`)}function zF(e){try{return r.readFileSync(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return null;throw e}}function BF(e,t,n){try{if(t===null){r.rmSync(e,{force:!0});return}r.mkdirSync(c.dirname(e),{recursive:!0}),Me(e,t)}catch(t){let r=`config write failed (${e}): ${t.message}`;throw n(`error`,r),Error(r)}}function VF(e){return/^\s*$/.test(e)?null:zo(e)}function HF(e,t){return e!==null&&Vo(e,t)!==void 0}function UF(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(UF),...i}}return e}function WF(e){if(!Pc(e))return UF(e);let{rows:t,...n}=e;return{rows:Object.fromEntries(Object.entries(t).map(([e,t])=>[e,UF(t)])),...n}}const GF=TA,KF=GF.segments,qF=GF.presets,JF=GF.root;function YF(e,t,n,r){if(!HF(e,t)&&n===void 0)throw new $(`cannot edit ${r}: neither the config file nor the bundled default declares ${t.join(`.`)}`)}function XF(e,t){let n=wx(t);return t.scope===`segment-palette`&&YF(e,[`segments`,t.segment],KF[t.segment],n.join(`.`)),n}function ZF(e){return zo(Yo(e))}function QF(){return Object.entries(JF.rows).map(([e,t])=>{let n=UF(t);return{path:[`root`],fragment:ZF({rows:{[e]:n}}),unit:{path:[`root`,`rows`,e],value:n}}})}function $F(e,t){let n=e===null?void 0:Vo(e,t);return n===void 0?null:{path:t,fragment:n,unit:null}}function eI(e,t){if(t===void 0)return null;let n=WF(t);return{path:e,fragment:ZF(n),unit:{path:e,value:n}}}function tI(e,t){let n=[`presets`,t],r=[...n,`root`],i=qF[t];YF(e,n,i,r.join(`.`));let a=$F(e,r)??eI(r,i?.root);return a!==null&&gs(a.fragment)?a:null}function nI(e,t){let n=hs(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 rI(e,t){return[...QF(),$F(e,[`root`]),tI(e,t)].filter(e=>e!==null).reduce(nI,new Map)}function iI(e,t,n){for(let{node:r,...i}of rI(e,t).values())if(vs(r,n))return i;throw new $(`${aI(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 aI(e,t){return tI(e,t)?.path??[`root`]}function oI(e,t){return t.scope===`preset-root`?aI(e,t.preset):wx(t)}function sI(e,{unit:t}){return t===null?e:ls(e,t.path,Yo(t.value),qo)}function cI(e){let t=Cx(e);if(t===null)throw Error(`"${e}" is not a valid persist target`);return t}function lI(e){let t=cI(e);if(t.scope===`preset-root`)throw Error(`"${e}" names a layout, not a value`);return t}function uI(e,t,n,r){dI(t,r),BF(t,r,e.logger),e.record(t,n,r)}function dI(e,t){try{return fE(uE(e,t,DA),e)}catch(e){throw e instanceof Cs?new $(`refused: the config file would not load after this click — ${e.message}`):e}}function fI(e,t){let n=lI(t),r=VF(zF(e)??``),i=r===null?void 0:Vo(r,wx(n));return i!==void 0&&`value`in i?i.value:void 0}function pI(e,t,n){mI(e,t,n,[])}function mI(e,t,n,r){let i=zF(t);uI(e,t,i,hI(n.reduce((e,[t,n])=>ls(e,XF(VF(e),lI(t)),RF(t,n),qo),i??``),t,r,e=>e))}function hI(e,t,n,r){return n.reduce((e,{preset:n,id:i,setting:a,value:o})=>{let s=r(e,n,i),c=iI(VF(s),n,i),l=Ss(sI(s,c),c.path,i,a,Yo(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 gI(e,t,n){let r=VF(e),i=[`presets`,t,`root`];for(let[a,{path:o,unit:s,node:c}]of rI(r,t)){if(!vs(c,n))continue;if(i.every((e,t)=>o[t]===e))return e;let l=s===null?Uo(e,c):Yo(s.value);if(a!==`#`)return ls(e,[...i,`rows`,a],l,qo);if(tI(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 ls(e,i,l,qo)}return e}function _I(e,t){return ds(e,t,t[0]===`presets`&&t.length>2&&!kA(t[1])?2:0)}function vI(e,t,n){let r=n.map(cI),i=zF(t);if(i===null)return;let a=r.reduce((e,t)=>_I(e,oI(VF(e),t)),i);a!==i&&uI(e,t,i,a)}function yI(e){let t=e===null?void 0:Vo(e,[`presets`]),n=new Set([...OA,...t?.kind===`object`?t.entries.map(e=>e.key):[]].map(Su));return Array.from({length:n.size+1},(e,t)=>`custom-${t+1}`).find(e=>!n.has(Su(e)))}function bI(e,t,n,r,i,a){let o=zF(t),s=VF(o??``),c=yI(s),l=[`presets`,c],u=tI(s,n),d=[...u===null?[]:[[[...l,`root`],u.unit===null?Uo(o??``,u.fragment):Yo(u.unit.value)]],...Object.keys(r).length===0?[]:[[[...l,`globals`],Yo(r)]]],f=i.map(([e,t])=>{let n=Sx(c,e);return[XF(s,lI(n)),RF(n,t)]});return uI(e,t,o,hI([...d,...f].reduce((e,[t,n])=>ls(e,t,n,qo),ls(o??``,l,`{}`,qo)),t,a.map(e=>({...e,preset:c})),gI)),c}function xI(e,t,n){if(kA(n))throw new $(`cannot delete preset "${n}": it is bundled — reset its settings instead`);let r=[`presets`,n],i=zF(t),a=VF(i??``);if(i===null||a===null||Vo(a,r)===void 0)throw new $(`cannot delete preset "${n}": ${t} declares no ${r.join(`.`)} — the bar you clicked is stale; it reloads on the next render`);let o=Vo(a,[`globals`,`preset`]);uI(e,t,i,[r,...o?.kind===`string`&&o.value===n?[[`globals`,`preset`]]:[]].reduce((e,t)=>_I(e,t),i))}function SI(e,t,n,r){let i=cI(n);if(i.scope!==`preset-root`)throw Error(`"${n}" is not a "presets.<name>.root" target`);let a=zF(t),o=r.op===`remove`?r.target:r.anchor,s=iI(VF(a??``),i.preset,o),c=sI(a??``,s),{after:l,placed:u}=CI(c,s.path,r,()=>{let e=dI(t,c);return j_(e.presets).map(t=>P_(e,t).node)});if(l===null)throw new $(`${s.path.join(`.`)} in ${t} 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 uI(e,t,a,l),u}function CI(e,t,n,r){switch(n.op){case`remove`:return{after:bs(e,t,n.target),placed:null};case`insert`:{let i=Qk(n.segment,n.anchor,r());return{after:xs(e,t,i,n.anchor,n.relation),placed:i}}}}const wI={load:()=>({}),save:()=>{}},TI=new Set(Bb.map(e=>e.sessionKey)),EI=e=>TI.has(e)||e.startsWith(tv),DI=8*1024*1024,OI={past:[],future:[]},kI=e=>e.kind===`session`?`session:${e.key}`:`file:${e.file}`;var AI=class{state=new Map;constructor(e,t,n=wI){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)??OI;return{undo:t.length,redo:n.length,sinceEdit:r?.net.length??0}}history(e){return this.state.get(e)??OI}begin(){let e=new Map,t=(t,n)=>{let r=e.get(t)??new Map,i=r.get(kI(n));r.set(kI(n),i===void 0?n:{...n,before:i.before}),e.set(t,r)},n=new Map;return{sessionState:kF(this.sessionState,e=>EI(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:RI(i,n),o=r.get(e),s=o===void 0?a:HI(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`,BI(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(kI)),a=n.net.filter(e=>!i.has(kI(e))),o=NI(UI(VI(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(GI).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=NI(a);return this.apply(e,i,`after`,`redo`,{past:o,future:r.slice(0,-1),...FI(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(kI)),{past:n,future:i,savepoint:a}=this.history(e);throw this.put(e,{past:UI(n,t),future:UI(i,t),...a!==void 0&&{savepoint:{at:UI([...n,...[...i].reverse()].slice(0,a.at),t).length,net:a.net.filter(e=>!t.has(kI(e))),below:UI(a.below,t)}}}),new $(`${r}: ${o.map(GI).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):zF(t.file)}write(e,t,n){t.kind===`file`?BF(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||jI(n)>DI;){let[e,t]=n.entries().next().value;n.size>1?n.delete(e):t.past.length+t.future.length>0?n.set(e,MI(t)):(this.logger(`warn`,`settings-history: edit mode's changes for session ${e} exceed ${DI} bytes; cancel is no longer available`),n.delete(e))}this.storage.save(Object.fromEntries(n)),this.state=n}};function jI(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 MI({past:e,future:t,savepoint:n}){return e.length>0?{past:e.slice(1),future:t,...FI(n,1,[])}:{past:e,future:t.slice(1),...FI(n,0,[])}}function NI(e){return e.slice(-50)}const PI=e=>e===rv.member;function FI(e,t,n){return e===void 0?{}:{savepoint:{at:Math.max(0,e.at-t),net:II(e.net,n),below:e.below}}}function II(e,t){let n=new Map(e.map(e=>[kI(e),e]));for(let e of t){let t=n.get(kI(e));n.set(kI(e),t===void 0?e:{...t,after:e.after})}return[...n.values()].filter(e=>e.before!==e.after)}const LI=e=>e.map(e=>({...e,before:e.after,after:e.before}));function RI(e,t){let n=[...e.past,t],r=NI(n),{savepoint:i}=e,a=i===void 0?0:Math.max(0,i.at-e.past.length);return{past:r,future:[],...FI(i&&{at:Math.min(i.at,e.past.length),net:i.net,below:[...zI(e.future,a),...i.below]},n.length-r.length,t)}}function zI(e,t){let n=Math.min(t,e.length);return e.slice(e.length-n).reverse()}function BI(e,t){return{past:e.past.slice(0,-1),future:NI([...e.future,t]),...FI(e.savepoint,0,LI(t))}}function VI(e,t){let{past:n,future:r}=e,i=n.slice(0,t.at);return[...i,...zI(r,t.at-i.length),...t.below]}function HI(e,t){if(PI(t.after)&&!PI(t.before))return{...e,savepoint:{at:e.past.length,net:[],below:[]}};if(!PI(t.after)&&PI(t.before)){let{past:t,future:n}=e;return{past:t,future:n}}return e}function UI(e,t){return e.map(e=>e.filter(e=>!t.has(kI(e)))).filter(e=>e.length>0)}function WI(e){return e.map(GI).join(`, `)}function GI(e){return e.kind===`session`?`session setting "${e.key}"`:e.file}function KI(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 qI(e){return Array.isArray(e)&&e.every(e=>Array.isArray(e)&&e.every(KI))}function JI(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(KI)&&qI(t.below)}function YI(e){if(typeof e!=`object`||!e)return!1;let t=e;return qI(t.past)&&qI(t.future)&&(t.savepoint===void 0||JI(t.savepoint))}function XI(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(YI))return e}catch{}return t(`warn`,`settings-history load: unexpected shape, starting empty`),{}},save:n=>{try{r.mkdirSync(c.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 ZI=e=>!EI(e)&&!iS(e)&&e!==`update.dismissed`;var QI=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:kF(e,ZI,(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,Mv.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 $I(e){let t=gN(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 eL(e){return{probeTmux:$I,loadConfig:e}}function tL(e,t){let n=e.loadConfig(t),r={path:n.path,warnings:n.warning===null?[]:n.warning.split(`
201
+ `)};return n.error===null?{...r,kind:`loaded`,shadowed:sE(t.projectDir,t.cwd,t.configFile??void 0),unused:n.unused}:{...r,kind:`failed`,error:n.error}}function nL(e){let t=_S(e).env;if(t===void 0)return{path:e,env:{}};if(typeof t!=`object`||!t||Array.isArray(t))throw Error(`cannot read ${e}: \`env\` is not an object`);return{path:e,env:t}}function rL(e,t){return t===void 0?{kind:`unreported`}:t===null?{kind:`outside`}:{kind:`inside`,hint:t,termfeatures:e.probeTmux(t)}}function iL(e){return{kind:`arrived`,handler:e,bar:zE}}function aL(e,t,n){return{tmux:rL(e,t.tmux),config:tL(e,n),claudeSettings:nL(mS(pS(t.claudeConfigDir)))}}function oL(e,t){let n=t.claudeSettings.path;switch(e.kind){case`claude-settings-env`:{let i=ls(gS(n),[`env`,e.name],JSON.stringify(e.value),Jo);return r.mkdirSync(c.dirname(n),{recursive:!0}),Me(n,i),{...t,claudeSettings:nL(n)}}default:return e.kind}}const sL={connectMs:200,budgetMs:500};async function cL(e){let n=e.includes(`--json`),r=await lL();if(r.kind!==`ok`&&(t.stderr.write(`daemon-stats: ${RE(r)}\n`),t.exit(1)),n){t.stdout.write(JSON.stringify(r.value,null,2)+`
202
+ `);return}t.stdout.write(pL(r.value))}function lL(){return ME({kind:`stats`},sL,e=>`stats`in e?e.stats:void 0)}function uL(e){return e<1024?`${e}B`:e<1024*1024?`${(e/1024).toFixed(1)}KB`:`${(e/1024/1024).toFixed(1)}MB`}function dL(e,t){let n=e+t;return n===0?`n/a`:`${(e/n*100).toFixed(1)}%`}function fL(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 pL(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 ${fL(e.uptimeSec)}`),t.push(` rss ${uL(e.rssBytes)}`),t.push(` heapUsed ${uL(e.heapUsedBytes)}`),t.push(` heapTotal ${uL(e.heapTotalBytes)}`),t.push(` external ${uL(e.externalBytes)}`),t.push(` arrayBuffers ${uL(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 ${dL(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 ${dL(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(`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(`
208
203
  `)+`
209
- `}const xz={connectMs:200,budgetMs:500};async function Sz(e,n){let r=n.includes(`--json`),i=await Cz(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${ME(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
210
- `);return}t.stdout.write(wz(i.value))}function Cz(e){return EE({kind:`debug`,what:e},xz,e=>`debug`in e?e.debug:void 0)}function wz(e){switch(e.what){case`vars`:return Tz(e.vars);case`segments`:return Ez(e.segments);case`config`:return Dz(e.config);default:return e}}function Tz(e){if(e.length===0)return`no variables (DSL not active)
211
- `;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?``:` ${kz(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${Oz(a.value)}${e}${o}`)}return t.join(`
204
+ `}const mL=e=>({kind:`ok`,value:e}),hL=e=>({kind:`failed`,reason:e});var gL=class{arrivals=[];arrive(e){this.arrivals=[...this.arrivals,e].slice(-16)}list(){return this.arrivals}};const _L=/^[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/;function vL(e){return _L.test(e)?e:null}function yL(e){let t=e.opener();if(t.kind===`failed`)return t;if(t.value===null)return mL(null);let n=t.value,r=e.script(n);if(r.kind===`failed`)return mL({app:n,missing:hL(`its script could not be read (${r.reason})`)});let i=OO(r.value);return mL({app:n,missing:i===null?hL("its script is not one `cc-candybar install` wrote"):mL([i.node,i.script].filter(t=>!e.exists(t)))})}async function bL(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 xL(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(`${DD}://${XD}/${n}`);return(r===null?await bL(e,n):null)??{kind:`lost`,unopened:r,opener:yL(e)}}function SL(e,t,n){let r=Ae({bin:t,args:[...n],category:e,timeoutMs:5e3});return r.ok?mL(r.stdout):hL(r.stderr.trim()||r.error||r.reason)}const CL=`ObjC.import("AppKit");var u = $.NSWorkspace.sharedWorkspace.URLForApplicationToOpenURL($.NSURL.URLWithString("${DD}://probe"));u.isNil() ? "" : u.path.js`;async function wL(){let e=await lL();if(e.kind!==`ok`)return hL(RE(e).split(`
205
+ `).join(` — `));let{version:t,handlerProbes:n}=e.value;return Array.isArray(n)?mL({version:t,arrivals:n}):hL(`the running daemon (${t}) predates this check`)}function TL(){return{platform:process.platform,sockets:{own:Le(),handler:Re()},now:Date.now,nonce:se,daemon:wL,open:e=>{let t=SL(`doctor.open`,`/usr/bin/open`,[`-g`,e]);return t.kind===`ok`?null:t.reason},pause:()=>new Promise(e=>setTimeout(e,100)),opener:()=>{let e=SL(`doctor.launch-services`,`/usr/bin/osascript`,[`-l`,`JavaScript`,`-e`,CL]);if(e.kind===`failed`)return e;let t=e.value.trim();return mL(t===``?null:t)},script:e=>SL(`doctor.osadecompile`,`/usr/bin/osadecompile`,[kO(e)]),exists:r.existsSync}}const EL=/^─{20,}/,DL=/^❯(\s|$)/,OL=/›\s*stashed$/;function kL(e){if(e.inMode)return{kind:`in-mode`};let t=e.screen.map(e=>e.trimEnd()),n=t.flatMap((e,t)=>EL.test(e)?[t]:[]).at(-2);return n===void 0||!DL.test(t[n+1]??``)?{kind:`no-prompt`}:OL.test(t[n-1]??``)?{kind:`stashed`}:{kind:`ready`}}const AL={"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 jL(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=kL(e.read(t));if(r.kind!==`ready`)return{kind:`refused`,reason:AL[r.kind]};let i=e.type(t,n);return i.kind===`typed`?{kind:`typed`,pane:t.pane}:i}const ML=`cc-candybar-slash`;function NL(e,t,n,r){let i=gN(e,t,n,r);if(i.kind===`failed`)throw Error(i.reason);return i}function PL(e){let t=NL(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(`
206
+ `);return{inMode:n!==`0`,screen:r}}function FL(e,t){let n=NL(e,`claude-input.type`,[`load-buffer`,`-b`,ML,`-`,`;`,`send-keys`,`-t`,e.pane,`C-s`,`;`,`paste-buffer`,`-p`,`-d`,`-b`,ML,`-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 IL(){return{read:PL,type:FL}}function LL(e){if(!e)throw new $(`session id is required`);if(e.includes(`/`)||e.includes(`..`))throw new $(`invalid session id "${e}"`);return e}function RL(e){return zL(()=>decodeURIComponent(e))}function zL(e){try{return e()}catch(e){throw e instanceof URIError?new $(`malformed wire encoding: ${e.message}`):e}}function BL(e,t){let n=Ae({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 VL=(e,t)=>BL(RL(e),t),HL=(e,t)=>{let n=Ae({bin:`/usr/bin/open`,args:[`-a`,`Visual Studio Code`,RL(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`})`)}},UL=(e,t)=>BL(RL(e),t),WL=(e,t)=>BL(RL(e),t),GL=(e,t)=>{let n=LL(RL(e));t.navigating.get(n,`toolbar-expanded`)?t.navigating.clear(n,`toolbar-expanded`):t.navigating.set(n,`toolbar-expanded`,`1`)},KL=(e,t)=>{let[n=``,...r]=zL(()=>eO(e)),i=LL(n),a=iM(iR(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})}XL(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})`)},qL=/^-?\d+$/;function JL(e,t,n,r){let i=e+t;return i>r?e===r?n:r:i<n?e===n?r:n:i}const YL=(e,t)=>{let[n=``,r=``,i=``]=zL(()=>eO(e)),a=LL(n);if(!r)throw new $(`step-state: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!qL.test(i))throw new $(`step-state: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=iR(t,a),c=iM(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&&qL.test(u)?ZL(l,parseInt(u,10)):QL(`step-state`,r,l,sM(s,e=>t.sessionState.get(a,e),r)),f=JL(d,o,l.min,l.max),p=c.validate(r,String(f));if(!p.ok)throw new $(`step-state: ${p.reason}`);XL(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 XL(e,t,n,r){let i=r.filter(e=>e.key.startsWith(tv));if(i.length===0)return;let a=zj(iR(e,t),n=>e.sessionState.get(t,n),i);if(a.length>0)throw new $(`${n}: refused — ${a.join(`; `)}`)}function ZL(e,t){return Math.max(e.min,Math.min(e.max,t))}function QL(e,t,n,r){if(r===null)return n.min;if(!qL.test(r))throw new $(`${e}: "${t}" shows ${JSON.stringify(r)} before any click, not an integer to step`);return ZL(n,parseInt(r,10))}const $L=`render-origin`;function eR(e){return JSON.stringify(e)}function tR(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 nR(e,t){let n=e.sessionState.get(t,$L);if(n===null)throw new $(`session ${t} has not rendered yet — no config to act on`);return tR(n)}function rR(e,t,n){let r=e.sessionState.get(t,$L);if(r===null)return;let i=tR(r),a=aR(i);n.some(e=>e.kind===`file`&&e.file===a)&&e.reloadConfig(i)}function iR(e,t){return e.configFor(nR(e,t))}function aR(e){return iE(e.projectDir,e.cwd,e.configFile??void 0)}function oR(e,t){return{record:(n,r,i)=>e.journal.file(t,n,r,i),logger:e.dlog}}const sR=(e,t)=>{let[n=``,r=``,i=``]=zL(()=>eO(e)),a=LL(n),o=nR(t,a),s=t.configFor(o),c=dA(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=aR(o),d=Lj(s,e=>t.sessionState.get(a,e),r);pI(oR(t,a),u,[[d.key,l.value]]),t.reloadConfig(o),t.dlog(`info`,`set-config: ${d.key}=${l.value} → ${u} (session=${a})`)},cR=(e,t)=>{let[n=``,r=``,i=``]=zL(()=>eO(e)),a=LL(n);if(!r)throw new $(`step-config: <key> is required (shape: <sessionId>/<key>/<by>)`);if(!qL.test(i))throw new $(`step-config: delta must be an integer, got "${i}"`);let o=parseInt(i,10),s=nR(t,a),c=t.configFor(s),l=dA(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=aR(s),f=Lj(c,e=>t.sessionState.get(a,e),r),p=fI(d,f.key),m=typeof p==`number`?ZL(u,p):QL(`step-config`,r,u,pA(f.globals,r)),h=JL(m,o,u.min,u.max),g=l.validate(r,String(h));if(!g.ok)throw new $(`step-config: ${g.reason}`);pI(oR(t,a),d,[[f.key,g.value]]),t.reloadConfig(s),t.dlog(`info`,`step-config: ${f.key} ${m}→${g.value} (by ${o}) → ${d} (session=${a})`)},lR=(e,t)=>{let[n=``]=zL(()=>eO(e)),r=LL(n),i=nR(t,r),a=t.configFor(i),o=e=>t.sessionState.get(r,e),s=Fj(a,o),c=Rj(a,o);if(s.length+c.length===0){t.dlog(`info`,`save: nothing unsaved (session=${r})`);return}let l=iM(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]});dR(`save`,l,c);let d=aR(i);mI(oR(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(uR)].join(` `)} → ${d} (session=${r})`)},uR=e=>`${e.preset}/${e.id}.settings.${e.setting}=${Js(e.value)}`;function dR(e,t,n){for(let r of n){let n=t.validate(r.key,Js(r.value));if(!n.ok)throw new $(`${e}: ${n.reason}`)}}const fR=(e,t)=>{let[n=``]=zL(()=>eO(e)),r=LL(n),i=nR(t,r),a=t.configFor(i),o=Hj(a,e=>t.sessionState.get(r,e)),s=iM(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]});dR(`save-preset`,s,o.placements);let l=aR(i),u=bI(oR(t,r),l,o.from,o.globals,c,o.placements);t.reloadConfig(i);for(let e of[...Bb.map(e=>e.sessionKey),...o.placements.map(e=>e.key)])t.sessionState.clear(r,e);t.sessionState.set(r,zb.preset.sessionKey,u),t.dlog(`info`,`save-preset: ${[`${u} from=${o.from}`,...c.map(([e,t])=>`${e}=${t}`),...o.placements.map(uR)].join(` `)} → ${l} (session=${r})`)},pR=(e,t)=>{let[n=``,r=``]=zL(()=>eO(e)),i=LL(n);if(!r)throw new $(`delete-preset: <name> is required (shape: <sessionId>/<name>)`);let a=nR(t,i),o=aR(a);xI(oR(t,i),o,r),t.reloadConfig(a);let s=zb.preset.sessionKey;t.sessionState.get(i,s)===r&&t.sessionState.clear(i,s),t.dlog(`info`,`delete-preset: ${r} ← ${o} (session=${i})`)},mR=(e,t)=>{let[n=``,...r]=zL(()=>eO(e)),i=LL(n),a=nR(t,i),o=dA(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=aR(a),l=r.map(Uj),u=l.flatMap(e=>e.fileKeys),d=l.flatMap(e=>e.sessionKeys);vI(oR(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} (session=${i})`)};function hR(e,t){let n=(e,t)=>[...Ps(P_(e,t).node)].filter(e=>e.kind===`segment`),r=new Set(j_(t.presets).flatMap(e=>n(t,e).map(t=>nv(Su(e),As(t)))));return j_(e.presets).flatMap(t=>n(e,t).map(e=>({member:nv(Su(t),As(e)),node:e})).filter(({member:e})=>!r.has(e)))}function gR(e,t){return e.flatMap(({member:e,node:n})=>[...Object.values(n.drafts??{}).map(e=>e.key),...e===t?[X_]:[]])}const _R=(e,t)=>{let[n=``,r=``,i=``]=zL(()=>eO(e)),a=LL(n),o=nR(t,a),s=t.configFor(o),c=dA(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=Zk(l.value);if(u===null)throw new $(`apply-layout-op: "${l.value}" is not a layout op token`);let d=aR(o),f=SI(oR(t,a),d,r,u);t.reloadConfig(o);let p=gR(hR(s,t.configFor(o)),t.sessionState.get(a,X_)).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} placed=${JSON.stringify(f)} released=${JSON.stringify(p)} (session=${a})`)},vR=(e,t)=>{let[n=``]=zL(()=>eO(e)),r=LL(n);t.journal.commit();let i=t.history.undo(r);rR(t,r,i),t.dlog(`info`,`undo: restored ${WI(i)} (session=${r})`)},yR=(e,t)=>{let n=LL(RL(e)),{step:r,discarded:i}=t.navigation.back(n,t.sessionState,iM(iR(t,n))),a=r.map(e=>`${e.key}=${e.before??`∅`}`).join(` `);t.dlog(`info`,`back: ${a} discarded=${i} (session=${n})`)},bR=(e,t)=>{let n=LL(RL(e));t.journal.commit();let r=t.history.rewind(n);rR(t,n,r),t.dlog(`info`,`rewind: put back ${WI(r)||`nothing`} as edit mode found it (session=${n})`)},xR=(e,t)=>{let[n=``]=zL(()=>eO(e)),r=LL(n);t.journal.commit();let i=t.history.redo(r);rR(t,r,i),t.dlog(`info`,`redo: re-applied ${WI(i)} (session=${r})`)},SR=(e,t)=>{LL(RL(e)),t.applyUpdate()},CR=`client-hints`;function wR(e,t){let n=e.sessionState.get(t,CR);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 yE(r)}function TR(e,t,n){let r=qx(n);e.sessionState.setBatch(t,Qx(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 ER(e,t){return{...aL(e.doctor,wR(e,t),nR(e,t)),urlHandler:iL(e.clientVersion)}}const DR=(e,t)=>{let n=LL(RL(e));TR(t,n,ER(t,n))},OR=(e,t)=>{let n=vL(RL(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`}`)},kR=(e,t)=>{let[n=``,r=``]=zL(()=>eO(e)),i=LL(n),a=Jx(r);if(a===void 0)throw new $(`doctor-fix: unknown check "${r}"`);let o=ER(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=oL(s.fix,o);t.dlog(`info`,`doctor-fix: ${a.name} → ${s.fix.kind} ${s.fix.name}=${s.fix.value} (session=${i})`),TR(t,i,c)},AR=(e,t)=>{let[n=``,...r]=zL(()=>eO(e)),i=LL(n),a=nR(t,i),o=Object.values(t.configFor(a).actions).filter(e=>`ceiling`in e).find(e=>{let t=Ow(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=UA({sessionId:i,projectDir:a.projectDir,cwd:a.cwd},wR(t,i));t.memento.move(c,s),t.dlog(`info`,`ceiling: ${r.join(` `)} (session=${i} claudeConfigDir=${c.claudeConfigDir})`)},jR=(e,t)=>{let[n=``,r=``]=zL(()=>eO(e)),i=LL(n),a=Object.values(t.configFor(nR(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=jL(t.claudeInput,wR(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})`)},MR=`config-override`,NR=new Map([[jD,VL],[`load-config`,(e,t)=>{let n=e.indexOf(`/`);if(n===-1)throw new $(`load-config: expected <sessionId>/<path> (missing separator)`);let r=LL(zL(()=>decodeURIComponent(e.slice(0,n)))),i=zL(()=>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,MR),t.dlog(`info`,`load-config: override cleared (session=${r})`)):(t.sessionState.set(r,MR,i),t.dlog(`info`,`load-config: ${i} (session=${r})`))}],[MD,HL],[kD,KL],[AD,YL],[ID,sR],[LD,cR],[VD,mR],[RD,lR],[zD,fR],[BD,pR],[HD,_R],[UD,vR],[WD,xR],[GD,yR],[KD,bR],[PD,UL],[FD,WL],[ND,GL],[qD,SR],[JD,DR],[YD,kR],[XD,OR],[ZD,AR],[QD,jR]]),PR=new Set([kD,AD,ID,LD,VD,RD,zD,BD,HD,UD,WD,GD,KD,ND,qD,JD,YD,ZD,QD]),FR=(e,t)=>{let n=[],r=!1,i=null;for(let{verb:a,value:o}of iO(nO(e))){if(!i&&PR.has(a)){let e=eO(o);e.length>0&&e[0]&&(i=e[0])}let e=NR.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(`
207
+ `));let e=`dispatch: ${n.join(`; `)}`;throw r?Error(e):new $(e)}};function IR(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 LR=new Map([...NR,[OD,FR]].map(([e,t])=>[e,IR(t)]));Object.freeze([...LR.keys()]);const RR=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`]),zR=[[`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`]],BR=[[`workspace.added_dirs`,`string-list`]];function VR(e){let t={missingRequired:[],typeMismatches:[],unknownTopLevelFields:[]},n=typeof e==`object`&&e&&!Array.isArray(e)?e:{};for(let[e,r]of zR){let i=WR(n,e);if(i==null)t.missingRequired.push(e);else{let n=HR(i);n!==r&&t.typeMismatches.push({path:e,expected:r,got:n})}}for(let[e,r]of BR){let i=WR(n,e),a=i===void 0?r:UR(i);a!==r&&t.typeMismatches.push({path:e,expected:r,got:a})}for(let e of Object.keys(n))RR.has(e)||t.unknownTopLevelFields.push(e);return{data:e,report:t}}function HR(e){return Array.isArray(e)?`array`:typeof e==`string`&&!e.isWellFormed()?`ill-formed string`:typeof e}function UR(e){return Array.isArray(e)&&e.every(e=>HR(e)===`string`)?`string-list`:HR(e)}function WR(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 GR(e,t){switch(e){case`vars`:return{what:e,vars:KR(t)};case`segments`:return{what:e,segments:ZR(t)};case`config`:return{what:e,config:tz(t)}}}function KR(e){if(e===null)return[];let{store:t,registry:n,config:r}=e,i=YR(r),a=t.names().sort(),o=[];for(let e of a){let r=t.getNode(e),a=n.getLastError(e);o.push({name:e,source:i.get(e)??null,...qR(r),lastError:a===void 0?null:{timestampMs:a.timestamp,message:a.message},ageMs:JR(r.lastUpdatedMs())})}return o}function qR(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 JR(e){return e===null?null:Math.max(0,Date.now()-e)}function YR(e){let t=new Map;for(let[n,r]of Object.entries(e.variables))t.set(n,XR(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}`,XR(i));return t}function XR(e){return e.kind}function ZR(e){if(e===null)return[];let{store:t,config:n,lastRenderBySegment:r}=e,i=new Set(t.names()),a=$R(n),o=QR(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:ez(t.template,n.helpers,i),placements:(o.get(e)??[]).map(e=>({id:e,lastRender:r.get(e)??null}))})}return s}function QR(e){let t=new Map;for(let n of j_(e.presets))for(let r of Ps(P_(e,n).node)){if(r.kind!==`segment`)continue;let e=t.get(r.name)??[],n=As(r);e.includes(n)||t.set(r.name,[...e,n])}return t}function $R(e){let t=[],n=new Set;for(let r of Ps(Lc(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 ez(e,t,n){let r=new Set;for(let i of xv(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 tz(e){return e===null?null:e.config}const nz=[`vars`,`segments`,`config`];function rz(e){return typeof e==`string`&&nz.includes(e)}function iz(e){return Math.max(1,e-2)}var az=class{written=new Map;constructor(e){this.dir=e}pathFor(e){return c.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 oz=new OF,sz=new gL;De(oz.launchStats);const cz=new ob({counters:oz,logger:Z}),lz=SN({watchers:cz,logger:Z}),{gitProvider:uz,usageStore:dz,mementoProvider:fz}=lz,pz=new MF,mz=new AI(pz,Z),hz=new QI,gz=new az(Ye()),_z=new EF({gitService:uz,sessionState:pz,watchers:cz},{observers:{onReload:e=>Z(`info`,`config loaded projectDir=${e.projectDir} cwd=${e.cwd} file=${e.configFilePath??`<bundled default>`} error=${e.lastError===null?`none`:JSON.stringify(e.lastError)} warning=${e.lastWarning===null?`none`:JSON.stringify(e.lastWarning)}`)}}),vz=60*1e3;function yz(){let e=import.meta.url,n=[];e.startsWith(`file://`)&&n.push(T(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),Fz(0);return}}catch(e){Z(`warn`,`bin stat failed: ${e.message}`)}};return{arm(){i.size!==0&&(a=setInterval(o,vz),a.unref())},checkNow:o}}const bz=yz(),xz=EM({entryUrl:import.meta.url,intervalMs:vz,releaseIntervalMs:216e5,registryUrl:t.env.CC_CANDYBAR_REGISTRY_URL??`https://registry.npmjs.org`,fetchImpl:fetch,onApplied:()=>bz.checkNow(),log:Z});let Sz=null,Cz=null,wz=0;function Tz(){t.on(`uncaughtException`,e=>{Z(`error`,`uncaughtException: ${e.stack||e.message}`),Fz(1)}),t.on(`unhandledRejection`,e=>{Z(`error`,`unhandledRejection: ${String(e)}`),Fz(1)});for(let e of[`SIGINT`,`SIGTERM`,`SIGHUP`])t.on(e,()=>{Z(`info`,`received ${e}, shutting down`),Fz(0)});try{wz=eD(t.env)}catch(e){Z(`error`,`refusing to boot: ${e.message}`),Fz(1);return}Sz=ek(t.pid);let e=uk(fk(Sz));if(!e.decision.allow){Z(`warn`,`fork-bomb breaker: ${e.decision.reason}; refusing to boot`),Fz(1);return}Cz=e.registryPath,r.mkdirSync(Ie(),{recursive:!0}),Be(Le()),pz.useStorage(new PF(Ue(),500,Z)),mz.useStorage(XI(We(),Z)),rk({anchor:nk(t.env),isAlive:ik,onOrphaned:e=>{Z(`info`,`parent watchdog: ${e}; shutting down`),Fz(0)}}),Ez(b.createServer({allowHalfOpen:!1},e=>{Iz(e)}),Le(),!1)}function Ez(e,n,r){e.removeAllListeners(`error`),e.removeAllListeners(`listening`),e.once(`error`,i=>{if(i.code!==`EADDRINUSE`){Z(`error`,`server error: ${i.message}`),Fz(1);return}if(r){Z(`info`,`lost rebind race; another daemon is alive — exiting`),t.exit(0);return}Dz(e,n)}),e.listen(n,()=>Oz(n))}function Dz(e,n){let i=WO(GO(Ve(n)),(e,t)=>$O(e,t,{readStartTime:QO,pidAlive:ik}));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}`),Fz(1);return}}Ez(e,n,!0)}function Oz(e){let n=JO(e);if(n.kind!==`present`){Z(`warn`,`no ownable socket at bind callback (${n.kind}); exiting`),Fz(0);return}Mz(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(ne.getHeapStatistics().heap_size_limit/1048576)}MB rssLimit=${Math.round(wz/1048576)}MB`),_D();let i=gz.reset();i!==null&&Z(`warn`,`diagnostic dump wipe failed: ${i}`),bz.arm(),xz.arm(),jz(),kz(e,n.identity)}function kz(e,n){ZO({bound:n,myPid:t.pid,readIdentity:()=>JO(e),readLease:()=>GO(Ve(e)),shutdown:e=>Fz(e),log:Z}).arm()}let Az=null;function jz(){Az=iD(cD(oz.startedAt.getTime(),e=>Fz(e),{rssLimitBytes:wz})),Az.arm()}function Mz(e){let n=KO(Ve(e),{pid:t.pid,version:3,binPath:t.argv[1],startTime:Sz});n!==null&&Z(`warn`,`lease write failed: ${n}`)}let Nz=0,Pz=!1;function Fz(e){if(!Pz){Pz=!0,setTimeout(()=>t.kill(t.pid,`SIGKILL`),500);try{uz.close()}catch(e){Z(`warn`,`gitService close failed: ${e.message}`)}try{dz.close()}catch(e){Z(`warn`,`usageStore close failed: ${e.message}`)}try{cz.closeAll()}catch(e){Z(`warn`,`watcherRegistry close failed: ${e.message}`)}try{pz.flush()}catch(e){Z(`warn`,`sessionState flush failed: ${e.message}`)}qO(He(),t.pid),Cz!==null&&dk(Cz,t.pid,ck,e=>r.unlinkSync(e)),t.exit(e)}}function Iz(e){Nz++,oz.inFlight=Nz;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:()=>Fz(r);try{e.end(kE(n),i)}catch(e){Z(`warn`,`response write failed: ${e.message}`),i?.()}},r=setTimeout(()=>{oz.requestsTimedOut++,n({ok:!1,error:`request exceeded 200ms`,code:`TIMEOUT`,daemonV:3},null)},200),i=AE(e=>{Rz(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),Nz=Math.max(0,Nz-1),oz.inFlight=Nz})}const Lz=e=>({resp:e,exitAfterFlush:null});async function Rz(e){if(!e||typeof e!=`object`||typeof e.v!=`number`)return Lz({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 Lz({ok:!0,stats:oz.snapshot({gitCache:uz.getStats(),usageCache:dz.getStats(),renderCacheSize:_z.size,watchersActive:cz.size(),nextRestartReason:Az?.describeNextRestart()??null,handlerProbes:sz.list()})});if(e.kind===`render`){oz.requestsTotal++;let t=Date.now();try{let{report:n}=VR(e.hookData);for(let e of n.unknownTopLevelFields)Z(`info`,`schema: unknown field '${e}' — Anthropic may have added it`);let r=[];for(let e of n.missingRequired)r.push(`missing required field '${e}'`);for(let{path:e,expected:t,got:i}of n.typeMismatches)r.push(`field '${e}' expected ${t}, got ${i}`);if(e.cwd===``&&r.push(`request 'cwd' is empty`),r.length>0)return oz.requestsErrored++,Z(`warn`,`BAD_REQUEST: ${r.join(`; `)}`),Lz({ok:!1,error:`malformed hookData: ${r.join(`; `)}`,code:`BAD_REQUEST`,daemonV:3});let i=e.hookData.workspace.project_dir,{configFile:a,unknownFlagsError:o}=zz(e.args),s=e.hookData.session_id,c=yE(e),l=JSON.stringify(c);pz.get(s,`client-hints`)!==l&&pz.set(s,CR,l);let u=pz.get(s,`config-override`)??a??c.configEnv,d=_z.getOrCreate(i,e.cwd,u),f=eR({projectDir:i,cwd:e.cwd,configFile:u??null});pz.get(s,`render-origin`)!==f&&pz.set(s,$L,f);let p=c.termCols,m=iz(p??120),h=kk(c.termRows),{authoredRoots:g}=d.state,_=t=>pz.get(e.hookData.session_id,t),v=nj(d.state.config,_,e=>g.has(e)),y=await yj(e.hookData,{...Wz,navigation:e=>hz.depth(e,pz,iM(d.state.config))},e.cwd,d.state.neededInputPaths(v.preset),v,c,{...Gj(d.state.config,d.state.fileHeldSettings,_),configPath:d.configFilePath}),b=[],x=rj(v,m),S=oF(d.state.config,d.state.compiled,d.state.store,d.state.registry,y,x,{perSegmentSink:d.state.lastRenderCellsBySegment,onRenderWarning:e=>b.push(e)},ij(v)),C=pz.get(e.hookData.session_id,`click.error`);C&&pz.clear(e.hookData.session_id,`click.error`);let w=[o,d.lastError,C].filter(Boolean).join(`
208
+ `),ee=xz.notice({sessionId:s,dismissed:pz.get(s,uM),enabled:v.updateNotice}),te=d.lastError===null?null:d.configFilePath,ne=Pk(w,ee,[d.lastWarning??``,...b].filter(Boolean).join(`
209
+ `)),re=gz.sync(s,ne===null?null:Ik(ne));re!==null&&Z(`warn`,`diagnostic dump failed: ${re}`);let ie=Lk(S,ne,{fullText:re===null?{kind:`file`,path:gz.pathFor(s)}:{kind:`unavailable`,reason:re},failedConfigFile:te},{width:m,rowCap:h,colorCompatibility:v.colorCompatibility}),T=Date.now()-t,E=uz.getStats(),ae=dz.getStats();return Z(`info`,`render sid=${e.hookData.session_id??`?`} took=${T}ms termCols=${p??`?`} termRows=${c.termRows??`?`} width=${m} git=${E.size}/${E.hits}h/${E.misses}m usage=${ae.size}/${ae.hits}h/${ae.misses}m err=${w?`Y`:`N`} upd=${ee.length} warn=${d.lastWarning?`Y`:`N`}`),Lz({ok:!0,output:ie+`
210
+ `})}catch(e){throw oz.requestsErrored++,e}}if(e.kind===`click`)return Lz(Gz(e.verb,e.value,DE(e.clientVersion)));if(e.kind===`debug`){if(!rz(e.what))return Lz({ok:!1,error:`unknown debug 'what': ${String(e.what)} (have: ${nz.join(`, `)})`,code:`BAD_REQUEST`,daemonV:3});let t=_z.firstState(),n=t===null?null:{store:t.store,registry:t.registry,config:t.config,compiled:t.compiled,lastRenderBySegment:e.what===`segments`?Uz(t.lastRenderCellsBySegment,t.config.globals.charset??`unicode`,t.config.globals.colorCompatibility??`truecolor`):Hz};return Lz({ok:!0,debug:GR(e.what,n)})}return Lz({ok:!1,error:`unknown kind`,code:`BAD_REQUEST`,daemonV:3})}function zz(e){let{values:t,tokens:n}=v({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:SE(t.config),unknownFlagsError:r.length>0?`Unknown flags: ${r.join(`, `)}`:null}}const Bz={sessionState:pz,dlog:Z,applyUpdate:()=>xz.act(),doctor:eL(e=>{let t=[e.projectDir,e.cwd,e.configFile??void 0];_z.reload(...t);let n=_z.getOrCreate(...t);return{path:n.configFilePath,error:n.lastError,warning:n.lastWarning,unused:n.state.unused}}),probes:sz,memento:fz,claudeInput:IL(),history:mz,navigation:hz,configFor:e=>_z.getOrCreate(e.projectDir,e.cwd,e.configFile??void 0).state.config,reloadConfig:e=>_z.reload(e.projectDir,e.cwd,e.configFile??void 0)};Bz.reloadConfig;const Vz={endcaps:`powerline`,colorCompatibility:`truecolor`,wrap:!0,padding:1,charset:_o,width:1/0},Hz=new Map;function Uz(e,t,n){let r=new Map;for(let[i,a]of e)r.set(i,Ok(a,{...Vz,charset:t,colorCompatibility:n}));return r}const Wz={...lz,clock:()=>new Date,history:e=>mz.depth(e)};function Gz(e,t,n){let r=LR.get(e);if(!r)return{ok:!1,error:`unknown click verb: ${e}`,code:`BAD_REQUEST`,daemonV:3};try{return r(t,{...Bz,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 Kz={connectMs:200,budgetMs:500};async function qz(e,n){let r=n.includes(`--json`),i=await Jz(e);if(i.kind!==`ok`&&(t.stderr.write(`${e}: ${RE(i)}\n`),t.exit(1)),r){t.stdout.write(JSON.stringify(i.value,null,2)+`
211
+ `);return}t.stdout.write(Yz(i.value))}function Jz(e){return ME({kind:`debug`,what:e},Kz,e=>`debug`in e?e.debug:void 0)}function Yz(e){switch(e.what){case`vars`:return Xz(e.vars);case`segments`:return Zz(e.segments);case`config`:return Qz(e.config);default:return e}}function Xz(e){if(e.length===0)return`no variables (DSL not active)
212
+ `;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?``:` ${eB(a.ageMs)}`,o=a.lastError?` ✗ ${a.lastError.message}`:``;t.push(` ${a.name.padEnd(n)} ${(a.source??`—`).padEnd(r)} ${a.type.padEnd(i)} ${$z(a.value)}${e}${o}`)}return t.join(`
212
213
  `)+`
213
- `}function Ez(e){if(e.length===0)return`no segments (DSL not active)
214
+ `}function Zz(e){if(e.length===0)return`no segments (DSL not active)
214
215
  `;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(`
215
216
  `)+`
216
- `}function Dz(e){return e===null?`config: DSL not active
217
+ `}function Qz(e){return e===null?`config: DSL not active
217
218
  `:JSON.stringify(e,null,2)+`
218
- `}function Oz(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function kz(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function Az(){let e=Mz();return e===null?null:r.readFileSync(e,`utf-8`)}function jz(){let e;try{e=Az()}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 Mz(){let e=c.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=c.dirname(c.resolve(n));for(;;){let t=c.join(i,e);if(r.existsSync(t))return t;let n=c.dirname(i);if(n===i)return null;i=n}}function Nz(e){let t=e.CC_CANDYBAR_CONFIG??``;return t===``?void 0:t}const Pz=5e3;function Fz(e,t){let n=`/home/tester`,r=Math.floor(Date.now()/1e3),i=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,a={current_dir:`${n}/code/cc-candybar/src`,project_dir:`${n}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:i,version:`1.15.0`,home:n,cwd:`${n}/code/cc-candybar/src`,transcript_path:`${n}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:a,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:r+2*3600},weekly:{percentage:21,resetsAt:r+5*86400},cache:{expiresAt:r+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:vS(4e5,1e6),...XA(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:Ub(()=>!0),resumeCommand:KA(a,i,void 0),configPath:t??`${n}/.config/cc-candybar/config.json5`}}function Iz(e,t){let n=QT(e,e),r=eE(n);return r!==null&&t.push(r),n.kind===`file`?n.path:null}async function Lz(e,n=t.cwd()){let i=[],a=e===void 0?Iz(n,i):c.resolve(YT(e));if(e!==void 0&&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 o=rE(n,n);o!==null&&i.push(o);try{return{kind:`clean`,configPath:a,warnings:i,rendered:await Bz(a,n,i)}}catch(e){let t=e;return a!==null&&typeof t==`object`&&t&&typeof t.code==`string`&&t.path===a&&typeof t.message==`string`?{kind:`unreadable`,path:a,message:t.message}:(e instanceof Ss&&i.push(...e.warnings),{kind:`fatal`,configPath:a,message:e instanceof Ss||e instanceof Error?e.message:String(e),warnings:i})}}async function Rz(e,t,n){let r=iE(e,vA);n.push(...r.warnings);let i=sE(r,e??`<default>`),a=new lF,o=new Pb(a,i.globals.default_empty_value??``,void 0,new CF);try{let r=KP(i,o,{cwd:t});n.push(...r.loadWarnings);let s=await o.settled(Pz);return s.length>0&&n.push(`source${s.length===1?``:`s`} still running after ${Pz} ms, rendered with fallback values: ${s.join(`, `)}`),{configPath:e,config:i,compiled:r,store:a,registry:o}}catch(e){throw o.dispose(),e}}function zz({configPath:e,config:t,compiled:n,store:r,registry:i},a,o){let s=new Map;return{rendered:ZP(t,n,r,i,Fz(a,e),JA(a,o),{onSegmentError:(e,t)=>s.set(`segment "${e}"`,t),onRenderWarning:e=>s.set(`theme rule`,e)},YA(a)),failures:s}}async function Bz(e,t,n){let r=await Rz(e,t,n),{config:i}=r;try{let e=gM();try{Yj(i),nA(i)}finally{e()}let t=A_(null,i.globals.preset,i.presets),n=(e,t)=>{let n=qA(i,t=>t===`preset`?e:null,()=>t),a;try{a=zz(r,n,200)}catch(e){a={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]])}}return{preset:e,customized:t,...a}},a=n(t,!1),o=[a,n(t,!0),...k_(i.presets).filter(e=>e!==t).flatMap(e=>[n(e,!1),n(e,!0)])],s=new Map;for(let{preset:e,customized:t,failures:n}of o)for(let[r,i]of n){let n=`${r}: ${i}`,a=s.get(n)??new Map;a.set(e,(a.get(e)??new Set).add(t)),s.set(n,a)}let c=[...s].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(`; `)})`),l=a.rendered;if(c.length>0||l===void 0)throw Error(`config renders with ${c.length} render error${c.length===1?``:`s`} (the daemon would show them on the bar):\n`+c.map(e=>` ${e}`).join(`
219
- `));return l}finally{r.registry.dispose()}}function Vz(e){return e.map(e=>`warning: ${e}\n`).join(``)}function Hz(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.configPath??`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:Vz(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:Vz(e.warnings)+`✗ ${e.configPath??`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const Uz=`--render`,Wz=`Usage: cc-candybar check [${Uz}] [config-file]\n`;function Gz(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==Uz);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${Wz}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${Wz}`}:{kind:`run`,target:n[0],render:t.includes(Uz)}}async function Kz(e){let n=Gz(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:Hz(await Lz(n.target??Nz(t.env)),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const qz=`${ck}${sk}`;function Jz(e){return`${qz}⚠ cc-candybar: ${Yz(e)}\n`}function Yz(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: ${ok(e.message,60)}`;case`render_failed`:return`render failed: ${ok(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${ok(e.message,60)}`}}function Xz(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
220
- `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:Jz(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function Zz(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 Qz=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function $z(e,t,n){return{termCols:Zz(e.COLUMNS,n.columns),termRows:Zz(e.LINES,n.rows),ssh:Qz.some(t=>(e[t]??``)!==``),tmux:Ix(e),configEnv:Nz(e),claudeConfigDir:sS(e,t),mementoEnv:Ye(e,t)}}const eB=` (fix: click the settings menu (${Kc} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function tB({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:eB}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function nB(e){let t=gF(e.projectDir,e.cwd,e.configFile??void 0,{sessionState:new CF});return t.state?.registry.dispose(),{path:t.resolvedPath,error:t.error,warning:t.warning,unused:t.state?.unused??[]}}function rB(e,t,n,r=void 0){let i;try{i=YI(e,{tmux:Ix(t),claudeConfigDir:sS(t,n)},{projectDir:n,cwd:n,configFile:_E(r??Nz(t))??null})}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let a=Hx(i);return{stdout:a.map(tB).join(``),stderr:``,code:+!a.every(e=>e.verdict.ok)}}function iB(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
219
+ `}function $z(e){let t=typeof e==`string`?e:JSON.stringify(e);return t.length>60?t.slice(0,57)+`…`:t}function eB(e){return e<1e3?`${e}ms`:e<6e4?`${(e/1e3).toFixed(1)}s`:`${Math.floor(e/6e4)}m`}function tB(){let e=rB();return e===null?null:r.readFileSync(e,`utf-8`)}function nB(){let e;try{e=tB()}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 rB(){let e=c.join(`schema`,`cc-candybar.schema.json`),n=t.argv[1];if(n===void 0)return null;let i=c.dirname(c.resolve(n));for(;;){let t=c.join(i,e);if(r.existsSync(t))return t;let n=c.dirname(i);if(n===i)return null;i=n}}function iB(e){let t=e.CC_CANDYBAR_CONFIG??``;return t===``?void 0:t}const aB=5e3;function oB(e,t){let n=`/home/tester`,r=Math.floor(Date.now()/1e3),i=`test0a1b-2c3d-4e5f-6a7b-8c9d0e1f2a3b`,a={current_dir:`${n}/code/cc-candybar/src`,project_dir:`${n}/code/cc-candybar`,added_dirs:[]};return{hook_event_name:`Status`,session_id:i,version:`1.15.0`,home:n,cwd:`${n}/code/cc-candybar/src`,transcript_path:`${n}/.claude/projects/x/test.jsonl`,model:{id:`claude-opus-4-8`,display_name:`Opus 4.8`},workspace:a,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:r+2*3600},weekly:{percentage:21,resetsAt:r+5*86400},cache:{expiresAt:r+900},tmux:{pane:`%0`,session:`work`},host:{name:`tester-box`,user:`tester`,ssh:!0},autocompact:CS(4e5,1e6),...aj(e),history:{undo:1,redo:1,sinceEdit:1},navigation:{back:1},unsaved:1,resettable:Gb(()=>!0),resumeCommand:tj(a,i,void 0),configPath:t??`${n}/.config/cc-candybar/config.json5`}}function sB(e,t){let n=rE(e,e),r=aE(n);return r!==null&&t.push(r),n.kind===`file`?n.path:null}async function cB(e,n=t.cwd()){let i=[],a=e===void 0?sB(n,i):c.resolve(eE(e));if(e!==void 0&&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 o=cE(n,n);o!==null&&i.push(o);try{return{kind:`clean`,configPath:a,warnings:i,rendered:await dB(a,n,i)}}catch(e){let t=e;return a!==null&&typeof t==`object`&&t&&typeof t.code==`string`&&t.path===a&&typeof t.message==`string`?{kind:`unreadable`,path:a,message:t.message}:(e instanceof Cs&&i.push(...e.warnings),{kind:`fatal`,configPath:a,message:e instanceof Cs||e instanceof Error?e.message:String(e),warnings:i})}}async function lB(e,t,n){let r=lE(e,DA);n.push(...r.warnings);let i=fE(r,e??`<default>`),a=new vF,o=new Ib(a,i.globals.default_empty_value??``,void 0,new MF);try{let r=tF(i,o,{cwd:t});n.push(...r.loadWarnings);let s=await o.settled(aB);return s.length>0&&n.push(`source${s.length===1?``:`s`} still running after ${aB} ms, rendered with fallback values: ${s.join(`, `)}`),{configPath:e,config:i,compiled:r,store:a,registry:o}}catch(e){throw o.dispose(),e}}function uB({configPath:e,config:t,compiled:n,store:r,registry:i},a,o){let s=new Map;return{rendered:oF(t,n,r,i,oB(a,e),rj(a,o),{onSegmentError:(e,t)=>s.set(`segment "${e}"`,t),onRenderWarning:e=>s.set(`theme rule`,e)},ij(a)),failures:s}}async function dB(e,t,n){let r=await lB(e,t,n),{config:i}=r;try{let e=TM();try{iM(i),dA(i)}finally{e()}let t=M_(null,i.globals.preset,i.presets),n=(e,t)=>{let n=nj(i,t=>t===`preset`?e:null,()=>t),a;try{a=uB(r,n,200)}catch(e){a={failures:new Map([[`render`,e instanceof Error?e.message:String(e)]])}}return{preset:e,customized:t,...a}},a=n(t,!1),o=[a,n(t,!0),...j_(i.presets).filter(e=>e!==t).flatMap(e=>[n(e,!1),n(e,!0)])],s=new Map;for(let{preset:e,customized:t,failures:n}of o)for(let[r,i]of n){let n=`${r}: ${i}`,a=s.get(n)??new Map;a.set(e,(a.get(e)??new Set).add(t)),s.set(n,a)}let c=[...s].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(`; `)})`),l=a.rendered;if(c.length>0||l===void 0)throw Error(`config renders with ${c.length} render error${c.length===1?``:`s`} (the daemon would show them on the bar):\n`+c.map(e=>` ${e}`).join(`
220
+ `));return l}finally{r.registry.dispose()}}function fB(e){return e.map(e=>`warning: ${e}\n`).join(``)}function pB(e,t=!1){switch(e.kind){case`clean`:return{stdout:`✓ ${e.configPath??`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:fB(e.warnings),code:0};case`fatal`:return{stdout:``,stderr:fB(e.warnings)+`✗ ${e.configPath??`<default>`}\n${e.message}\n`,code:1};case`unreadable`:return{stdout:``,stderr:`check: cannot read ${e.path}: ${e.message}\n`,code:2}}}const mB=`--render`,hB=`Usage: cc-candybar check [${mB}] [config-file]\n`;function gB(e){let t=e.filter(e=>e.startsWith(`--`)),n=e.filter(e=>!e.startsWith(`--`)),r=t.filter(e=>e!==mB);return r.length>0?{kind:`usage`,message:`check: unknown option ${r.join(` `)}\n${hB}`}:n.length>1||n[0]===``?{kind:`usage`,message:`check: expected at most one non-empty path\n${hB}`}:{kind:`run`,target:n[0],render:t.includes(mB)}}async function _B(e){let n=gB(e),r=n.kind===`usage`?{stdout:``,stderr:n.message,code:2}:pB(await cB(n.target??iB(t.env)),n.render);t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const vB=`${_k}${gk}`;function yB(e){return`${vB}⚠ cc-candybar: ${bB(e)}\n`}function bB(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: ${hk(e.message,60)}`;case`render_failed`:return`render failed: ${hk(e.message,60)}`;case`malformed_response`:return`malformed daemon response: ${hk(e.message,60)}`}}function xB(e){switch(e.kind){case`ok`:return{output:e.value,kick:!1,debug:null};case`transient`:return{output:`
221
+ `,kick:!0,debug:`daemon unavailable (transient: ${e.cause}: ${e.message}) — kicking daemon`};case`permanent`:return{output:yB(e),kick:!1,debug:`daemon refused request (permanent: ${e.cause}) — not kicking`}}}function SB(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 CB=[`SSH_CONNECTION`,`SSH_CLIENT`,`SSH_TTY`];function wB(e,t,n){return{termCols:SB(e.COLUMNS,n.columns),termRows:SB(e.LINES,n.rows),ssh:CB.some(t=>(e[t]??``)!==``),tmux:Rx(e),configEnv:iB(e),claudeConfigDir:fS(e,t),mementoEnv:Qe(e,t)}}const TB=` (fix: click the settings menu (${qc} by default) › 🧰 tools › 🩺 doctor, then [fix] on the bar)`;function EB({check:e,verdict:t}){return t.ok?`✓ ${e.label}\n`:`✗ ${e.label} — ${t.reason}${t.fix===void 0?``:TB}\n`+(t.more??[]).map(e=>` ${e}\n`).join(``)}function DB(e){let t=TF(e.projectDir,e.cwd,e.configFile??void 0,{sessionState:new MF});return t.state?.registry.dispose(),{path:t.resolvedPath,error:t.error,warning:t.warning,unused:t.state?.unused??[]}}async function OB(e,t,n,r,i=void 0){let a;try{a={...aL(e,{tmux:Rx(n),claudeConfigDir:fS(n,r)},{projectDir:r,cwd:r,configFile:SE(i??iB(n))??null}),urlHandler:await xL(t)}}catch(e){return{stdout:``,stderr:`doctor: ${e instanceof Error?e.message:String(e)}\n`,code:2}}let o=qx(a);return{stdout:o.map(EB).join(``),stderr:``,code:+!o.every(e=>e.verdict.ok)}}async function kB(e){(e.length>1||e[0]===``||e[0]?.startsWith(`--`))&&(t.stderr.write(`doctor: expected at most one config file
221
222
  Usage: cc-candybar doctor [config-file]
222
- `),t.exit(2));let n=t.cwd(),r=rB(GI(nB),t.env,n,e[0]===void 0?void 0:c.resolve(n,YT(e[0])));t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const aB=e=>e.some(e=>t.argv.includes(e));function oB(){console.log(Nx)}async function sB(){try{aB(jx.help)&&(oB(),t.exit(0)),aB(jx.version)&&(console.log(`cc-candybar ${$D}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await NO(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(OO(),t.exit(0)),e===`url-handle`){await AO(t.argv[3]);return}if(e===`daemon`){qR();return}if(e===`daemon-stats`&&(await hz(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await Kz(t.argv.slice(3));return}if(e===`schema`){jz();return}if(e===`doctor`){iB(t.argv.slice(3));return}ER(e)&&(await Sz(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
223
+ `),t.exit(2));let n=t.cwd(),r=await OB(eL(DB),TL(),t.env,n,e[0]===void 0?void 0:c.resolve(n,eE(e[0])));t.stdout.write(r.stdout),t.stderr.write(r.stderr),t.exit(r.code)}const AB=e=>e.some(e=>t.argv.includes(e));function jB(){console.log(Fx)}async function MB(){try{AB(Nx.help)&&(jB(),t.exit(0)),AB(Nx.version)&&(console.log(`cc-candybar ${zE}`),t.exit(0));let e=t.argv[2];if(e===`install`&&(await HO(t.argv.slice(3)),t.exit(0)),e===`install-url-handler`&&(LO(),t.exit(0)),e===`url-handle`){await zO(t.argv[3]);return}if(e===`daemon`){Tz();return}if(e===`daemon-stats`&&(await cL(t.argv.slice(3)),t.exit(0)),e===`check`||e===`lint`){await _B(t.argv.slice(3));return}if(e===`schema`){nB();return}if(e===`doctor`){await kB(t.argv.slice(3));return}rz(e)&&(await qz(e,t.argv.slice(3)),t.exit(0)),t.stdin.isTTY===!0&&(console.error(`Error: This tool requires input from Claude Code
223
224
 
224
225
  cc-candybar is designed to be used as a Claude Code statusLine command.
225
226
  It reads hook data from stdin and outputs formatted statusline.
@@ -235,4 +236,4 @@ Add to ~/.claude/settings.json:
235
236
  Run with --help for more options.
236
237
 
237
238
  To test output manually:
238
- echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar --style=powerline`),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`),oB(),t.exit(1));let i=Xz(await IE(r,t.argv,t.cwd(),$z(t.env,t.cwd(),t.stderr)));i.debug!==null&&k(i.debug),i.kick&&nD(),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)}}sB();export{};
239
+ echo '{"session_id":"test-session","workspace":{"project_dir":"/path/to/project"},"model":{"id":"claude-sonnet-4-5","display_name":"Claude"}}' | cc-candybar --style=powerline`),t.exit(1)),O(`Working directory: ${t.cwd()}`),O(`Process args:`,t.argv);let r=await n(t.stdin);O(`Received hook data:`,JSON.stringify(r,null,2)),r||(console.error(`Error: No input data received from stdin`),jB(),t.exit(1));let i=xB(await UE(r,t.argv,t.cwd(),wB(t.env,t.cwd(),t.stderr)));i.debug!==null&&O(i.debug),i.kick&&lD(),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)}}MB();export{};