just-bash-nx 3.0.6 → 3.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{B as Hn,C as Un,D as ue,E as Ue,F as ee,G as Se,H as Lt,I as Zn,J as I,K as qn,L as Gn,M as Ae,N as As,O as Ft,P as j,a as Ln,b as ws,c as Fn,d as It,e as Q,f as V,g as $e,h as se,i as Ce,j as Fe,k as vs,l as Rt,m as Wn,n as bs,o as Mn,p as ye,q as Te,r as zn,s as Vn,t as $s,u as Es,v as We,w as Bn,x as jn,y as Ee,z as Ss}from"./chunks/chunk-PPE7NSB2.js";import{a as Je,b as et,c as Le}from"./chunks/chunk-NTW6IA45.js";import{c as gs}from"./chunks/chunk-LIYVQA3X.js";import{a as On,b as Dn}from"./chunks/chunk-OOJCYVYF.js";import{a as Re,b as me,c as ys}from"./chunks/chunk-4PRVMER6.js";import{a as yt,b as Rn}from"./chunks/chunk-MO4RPBN2.js";import{a as Qe,b as ve}from"./chunks/chunk-YU6OGPZR.js";import{a as mt}from"./chunks/chunk-C6FRS5UB.js";import{b as je,d as Tn,e as ms}from"./chunks/chunk-63XSH3IT.js";import{a as de,b as he,c as le,d as pe,e as xn,f as B,g as He,h as Ot,i as Dt,j as In,k as Y,l as Tt,m as Ie,n as xt,o as be}from"./chunks/chunk-DHC3ILJI.js";import"./chunks/chunk-OBH7XN5N.js";import{a as ce}from"./chunks/chunk-RLNOQILG.js";import{a as De}from"./chunks/chunk-4VDEBYW7.js";import{a as Nn}from"./chunks/chunk-KGOUQS5A.js";import{readFile as ll}from"node:fs/promises";import{dirname as cl,resolve as kn}from"node:path";import{fileURLToPath as ul}from"node:url";var tt=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-3TMJDECR.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-3YAF3PBF.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-BM7J6BEI.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-YX6MELZ5.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-KTXPMRYY.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-UPQTBQZR.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-7JYCZG23.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-VEM6BYZZ.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-ES3NRFJA.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-2KXDTNDX.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-YZHVF2XN.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-MWPHE25M.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7MEIW3PG.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-A6IXSBQX.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-6LTZEDBA.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XLPXDHHK.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-QC27S46O.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-47QQBMM5.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-UCJETXUX.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-YGI6HF5M.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-QFBCCUR5.js")).split},{name:"column",load:async()=>(await import("./chunks/column-MTXKQLJH.js")).column},{name:"join",load:async()=>(await import("./chunks/join-5J5VA3I7.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-XKJM7HV7.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-O2KKT6KZ.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NK55NKL6.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NK55NKL6.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-EWL5DXR3.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-AS2FKJCV.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-I3CXGD2Q.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-EINZHDTZ.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-4QMASFQG.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-RPVNTV72.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-VPJ77DR7.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-GVZ66MRR.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-HFI2SRA4.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-N44D3OCP.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-G2FXKDLR.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-IQXNQFG3.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-HWXFWOGO.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-CRBL7ZML.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(tt.push({name:"tar",load:async()=>(await import("./chunks/tar-UO62YC6N.js")).tarCommand}),tt.push({name:"yq",load:async()=>(await import("./chunks/yq-R7XLL765.js")).yqCommand}),tt.push({name:"xan",load:async()=>(await import("./chunks/xan-LKZQYS27.js")).xanCommand}),tt.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-V4SEWTIR.js")).sqlite3Command}));var _s=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(_s.push({name:"python3",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).python3Command}),_s.push({name:"python",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).pythonCommand}));var Cs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Cs.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).jsExecCommand}),Cs.push({name:"node",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).nodeStubCommand}));var Gi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Kn=new Map;function Wt(e){return{name:e.name,async execute(t,s){let n=Kn.get(e.name);if(n||(n=await ve.runTrustedAsync(()=>e.load()),Kn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-Z2EIMOXJ.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function Xn(e){return(e?tt.filter(s=>e.includes(s.name)):tt).map(Wt)}function Yn(){return Gi.map(Wt)}function Qn(){return _s.map(Wt)}function Jn(){return Cs.map(Wt)}function er(e){return"load"in e&&typeof e.load=="function"}function tr(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}function L(e){if(!e||e==="/")return"/";let t=e.endsWith("/")&&e!=="/"?e.slice(0,-1):e;t.startsWith("/")||(t=`/${t}`);let s=t.split("/").filter(r=>r&&r!=="."),n=[];for(let r of s)r===".."?n.pop():n.push(r);return`/${n.join("/")}`||"/"}function M(e,t){if(e.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function Ze(e){let t=L(e);if(t==="/")return"/";let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}function Mt(e,t){if(t.startsWith("/"))return L(t);let s=e==="/"?`/${t}`:`${e}/${t}`;return L(s)}function gt(e,t){return e==="/"?`/${t}`:`${e}/${t}`}function st(e,t){if(t.startsWith("/"))return L(t);let s=Ze(e);return L(gt(s,t))}var nt=new TextEncoder;function Ki(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var wt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Ki(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=Ze(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){M(t,"write");let i=L(t);this.ensureParentDirs(i);let o=Le(n),a=Je(s,o);this.data.set(i,{type:"file",content:a,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){M(t,"write");let r=L(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?nt.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Le(s);return et(n,r)}async readFileBytes(t){let s=await this.readFileBuffer(t);return et(s,"binary")}async readFileBuffer(t){M(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:nt.encode(r.content)}return n.content instanceof Uint8Array?n.content:nt.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){M(t,"append");let r=L(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let o=Le(n),a=Je(s,o);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:nt.encode("content"in l?l.content:""),u=new Uint8Array(c.length+a.length);u.set(c),u.set(a,c.length),this.data.set(r,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){M(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){M(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let o=0;o<n.length-1;o++){let a=n[o];r=`${r}/${a}`;let l=this.data.get(r),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=st(r,l.target),l=this.data.get(r),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let o of n){r=`${r}/${o}`;let a=this.data.get(r),l=0,c=40;for(;a&&a.type==="symlink"&&l<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=st(r,a.target),a=this.data.get(r),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){M(t,"mkdir");let n=L(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=Ze(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){M(t,"scandir");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=st(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,o=new Map;for(let[a,l]of this.data.entries())if(a!==s&&a.startsWith(i)){let c=a.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!o.has(u)&&o.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(o.values()).sort((a,l)=>a.name<l.name?-1:a.name>l.name?1:0)}async rm(t,s){M(t,"rm");let n=L(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of i){let a=gt(n,o);await this.rm(a,s)}}}this.data.delete(n)}async cp(t,s,n){M(t,"cp"),M(s,"cp");let r=L(t),i=L(s),o=this.data.get(r);if(!o)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(o.type==="file")if(this.ensureParentDirs(i),"content"in o){let a=o.content instanceof Uint8Array?new Uint8Array(o.content):o.content;this.data.set(i,{...o,content:a})}else this.data.set(i,{...o});else if(o.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...o});else if(o.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let a=await this.readdir(r);for(let l of a){let c=gt(r,l),u=gt(i,l);await this.cp(c,u,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Mt(t,s)}async chmod(t,s){M(t,"chmod");let n=L(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){M(s,"symlink");let n=L(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){M(t,"link"),M(s,"link");let n=L(t),r=L(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let o=i;"lazy"in o&&(o=await this.materializeLazy(n,o)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:o.content,mode:o.mode,mtime:o.mtime})}async readlink(t){M(t,"readlink");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){M(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){M(t,"utimes");let r=L(t),i=this.resolvePathWithSymlinks(r),o=this.data.get(i);if(!o)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);o.mtime=n}};function Xi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Yi(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function Qi(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function Ji(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Ln}
2
+ import{B as Hn,C as Un,D as ue,E as Ue,F as ee,G as Se,H as Lt,I as Zn,J as I,K as qn,L as Gn,M as Ae,N as As,O as Ft,P as j,a as Ln,b as ws,c as Fn,d as It,e as Q,f as V,g as $e,h as se,i as Ce,j as Fe,k as vs,l as Rt,m as Wn,n as bs,o as Mn,p as ye,q as Te,r as zn,s as Vn,t as $s,u as Es,v as We,w as Bn,x as jn,y as Ee,z as Ss}from"./chunks/chunk-O3SBI3K7.js";import{a as Je,b as et,c as Le}from"./chunks/chunk-NTW6IA45.js";import{c as gs}from"./chunks/chunk-LIYVQA3X.js";import{a as On,b as Dn}from"./chunks/chunk-OOJCYVYF.js";import{a as Re,b as me,c as ys}from"./chunks/chunk-4PRVMER6.js";import{a as yt,b as Rn}from"./chunks/chunk-MO4RPBN2.js";import{a as Qe,b as ve}from"./chunks/chunk-YU6OGPZR.js";import{a as mt}from"./chunks/chunk-C6FRS5UB.js";import{b as je,d as Tn,e as ms}from"./chunks/chunk-63XSH3IT.js";import{a as de,b as he,c as le,d as pe,e as xn,f as B,g as He,h as Ot,i as Dt,j as In,k as Y,l as Tt,m as Ie,n as xt,o as be}from"./chunks/chunk-DHC3ILJI.js";import"./chunks/chunk-OBH7XN5N.js";import{a as ce}from"./chunks/chunk-RLNOQILG.js";import{a as De}from"./chunks/chunk-4VDEBYW7.js";import{a as Nn}from"./chunks/chunk-KGOUQS5A.js";import{readFile as ll}from"node:fs/promises";import{dirname as cl,resolve as kn}from"node:path";import{fileURLToPath as ul}from"node:url";var tt=[{name:"echo",load:async()=>(await import("./chunks/echo-2MUAOGUE.js")).echoCommand},{name:"cat",load:async()=>(await import("./chunks/cat-3TMJDECR.js")).catCommand},{name:"printf",load:async()=>(await import("./chunks/printf-3YAF3PBF.js")).printfCommand},{name:"ls",load:async()=>(await import("./chunks/ls-WONXDVOX.js")).lsCommand},{name:"mkdir",load:async()=>(await import("./chunks/mkdir-Z47OISSR.js")).mkdirCommand},{name:"rmdir",load:async()=>(await import("./chunks/rmdir-5KLM4EA6.js")).rmdirCommand},{name:"touch",load:async()=>(await import("./chunks/touch-DWKSZGOQ.js")).touchCommand},{name:"rm",load:async()=>(await import("./chunks/rm-L3NZOLLG.js")).rmCommand},{name:"cp",load:async()=>(await import("./chunks/cp-XH2ZB7WT.js")).cpCommand},{name:"mv",load:async()=>(await import("./chunks/mv-OY7X62QC.js")).mvCommand},{name:"ln",load:async()=>(await import("./chunks/ln-EGC4HRXZ.js")).lnCommand},{name:"chmod",load:async()=>(await import("./chunks/chmod-N5CQATDW.js")).chmodCommand},{name:"pwd",load:async()=>(await import("./chunks/pwd-6VBAPL3Y.js")).pwdCommand},{name:"readlink",load:async()=>(await import("./chunks/readlink-BD5VFOC5.js")).readlinkCommand},{name:"head",load:async()=>(await import("./chunks/head-BM7J6BEI.js")).headCommand},{name:"tail",load:async()=>(await import("./chunks/tail-YX6MELZ5.js")).tailCommand},{name:"wc",load:async()=>(await import("./chunks/wc-KTXPMRYY.js")).wcCommand},{name:"stat",load:async()=>(await import("./chunks/stat-XS2LXYS2.js")).statCommand},{name:"grep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).grepCommand},{name:"fgrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).fgrepCommand},{name:"egrep",load:async()=>(await import("./chunks/grep-3X5B47DW.js")).egrepCommand},{name:"rg",load:async()=>(await import("./chunks/rg-UPQTBQZR.js")).rgCommand},{name:"sed",load:async()=>(await import("./chunks/sed-7JYCZG23.js")).sedCommand},{name:"awk",load:async()=>(await import("./chunks/awk2-VEM6BYZZ.js")).awkCommand2},{name:"sort",load:async()=>(await import("./chunks/sort-ES3NRFJA.js")).sortCommand},{name:"uniq",load:async()=>(await import("./chunks/uniq-2KXDTNDX.js")).uniqCommand},{name:"comm",load:async()=>(await import("./chunks/comm-YZHVF2XN.js")).commCommand},{name:"cut",load:async()=>(await import("./chunks/cut-MWPHE25M.js")).cutCommand},{name:"paste",load:async()=>(await import("./chunks/paste-7MEIW3PG.js")).pasteCommand},{name:"tr",load:async()=>(await import("./chunks/tr-A6IXSBQX.js")).trCommand},{name:"rev",load:async()=>(await import("./chunks/rev-6LTZEDBA.js")).rev},{name:"nl",load:async()=>(await import("./chunks/nl-XLPXDHHK.js")).nl},{name:"fold",load:async()=>(await import("./chunks/fold-QC27S46O.js")).fold},{name:"expand",load:async()=>(await import("./chunks/expand-47QQBMM5.js")).expand},{name:"unexpand",load:async()=>(await import("./chunks/unexpand-UCJETXUX.js")).unexpand},{name:"strings",load:async()=>(await import("./chunks/strings-YGI6HF5M.js")).strings},{name:"split",load:async()=>(await import("./chunks/split-QFBCCUR5.js")).split},{name:"column",load:async()=>(await import("./chunks/column-MTXKQLJH.js")).column},{name:"join",load:async()=>(await import("./chunks/join-5J5VA3I7.js")).join},{name:"tee",load:async()=>(await import("./chunks/tee-XKJM7HV7.js")).teeCommand},{name:"find",load:async()=>(await import("./chunks/find-O2KKT6KZ.js")).findCommand},{name:"basename",load:async()=>(await import("./chunks/basename-KBUKWB2E.js")).basenameCommand},{name:"dirname",load:async()=>(await import("./chunks/dirname-5FAOMLBL.js")).dirnameCommand},{name:"tree",load:async()=>(await import("./chunks/tree-HEKABARE.js")).treeCommand},{name:"du",load:async()=>(await import("./chunks/du-LDAPXSGF.js")).duCommand},{name:"env",load:async()=>(await import("./chunks/env-NK55NKL6.js")).envCommand},{name:"printenv",load:async()=>(await import("./chunks/env-NK55NKL6.js")).printenvCommand},{name:"alias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).aliasCommand},{name:"unalias",load:async()=>(await import("./chunks/alias-3GODYSFD.js")).unaliasCommand},{name:"history",load:async()=>(await import("./chunks/history-UUKG55YW.js")).historyCommand},{name:"xargs",load:async()=>(await import("./chunks/xargs-EWL5DXR3.js")).xargsCommand},{name:"true",load:async()=>(await import("./chunks/true-DP5UZP52.js")).trueCommand},{name:"false",load:async()=>(await import("./chunks/true-DP5UZP52.js")).falseCommand},{name:"clear",load:async()=>(await import("./chunks/clear-KRGKPFOI.js")).clearCommand},{name:"bash",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).bashCommand},{name:"sh",load:async()=>(await import("./chunks/bash-UYSJL7VA.js")).shCommand},{name:"jq",load:async()=>(await import("./chunks/jq-AS2FKJCV.js")).jqCommand},{name:"base64",load:async()=>(await import("./chunks/base64-I3CXGD2Q.js")).base64Command},{name:"diff",load:async()=>(await import("./chunks/diff-EINZHDTZ.js")).diffCommand},{name:"date",load:async()=>(await import("./chunks/date-WUPBL2TL.js")).dateCommand},{name:"sleep",load:async()=>(await import("./chunks/sleep-ND6FZRZ4.js")).sleepCommand},{name:"timeout",load:async()=>(await import("./chunks/timeout-4QMASFQG.js")).timeoutCommand},{name:"time",load:async()=>(await import("./chunks/time-RPVNTV72.js")).timeCommand},{name:"seq",load:async()=>(await import("./chunks/seq-V7KBLSQ7.js")).seqCommand},{name:"expr",load:async()=>(await import("./chunks/expr-VPJ77DR7.js")).exprCommand},{name:"md5sum",load:async()=>(await import("./chunks/md5sum-GVZ66MRR.js")).md5sumCommand},{name:"sha1sum",load:async()=>(await import("./chunks/sha1sum-HFI2SRA4.js")).sha1sumCommand},{name:"sha256sum",load:async()=>(await import("./chunks/sha256sum-N44D3OCP.js")).sha256sumCommand},{name:"file",load:async()=>(await import("./chunks/file-MMSHRWCJ.js")).fileCommand},{name:"html-to-markdown",load:async()=>(await import("./chunks/html-to-markdown-G2FXKDLR.js")).htmlToMarkdownCommand},{name:"help",load:async()=>(await import("./chunks/help-DVG4AAGE.js")).helpCommand},{name:"which",load:async()=>(await import("./chunks/which-IQXNQFG3.js")).whichCommand},{name:"tac",load:async()=>(await import("./chunks/tac-HWXFWOGO.js")).tac},{name:"hostname",load:async()=>(await import("./chunks/hostname-WY6RKE32.js")).hostname},{name:"whoami",load:async()=>(await import("./chunks/whoami-E7PN2UWC.js")).whoami},{name:"od",load:async()=>(await import("./chunks/od-CRBL7ZML.js")).od},{name:"gzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gzipCommand},{name:"gunzip",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).gunzipCommand},{name:"zcat",load:async()=>(await import("./chunks/gzip-VYBZGPTA.js")).zcatCommand}];(typeof __BROWSER__>"u"||!__BROWSER__)&&(tt.push({name:"tar",load:async()=>(await import("./chunks/tar-UO62YC6N.js")).tarCommand}),tt.push({name:"yq",load:async()=>(await import("./chunks/yq-R7XLL765.js")).yqCommand}),tt.push({name:"xan",load:async()=>(await import("./chunks/xan-LKZQYS27.js")).xanCommand}),tt.push({name:"sqlite3",load:async()=>(await import("./chunks/sqlite3-V4SEWTIR.js")).sqlite3Command}));var _s=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(_s.push({name:"python3",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).python3Command}),_s.push({name:"python",load:async()=>(await import("./chunks/python3-BBQ4SVHU.js")).pythonCommand}));var Cs=[];(typeof __BROWSER__>"u"||!__BROWSER__)&&(Cs.push({name:"js-exec",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).jsExecCommand}),Cs.push({name:"node",load:async()=>(await import("./chunks/js-exec-LZPKIZ5V.js")).nodeStubCommand}));var Gi=[{name:"curl",load:async()=>(await import("./chunks/curl-2DCNBIKJ.js")).curlCommand}],Kn=new Map;function Wt(e){return{name:e.name,async execute(t,s){let n=Kn.get(e.name);if(n||(n=await ve.runTrustedAsync(()=>e.load()),Kn.set(e.name,n)),s.coverage&&(typeof __BROWSER__>"u"||!__BROWSER__)){let{emitFlagCoverage:r}=await import("./chunks/flag-coverage-Z2EIMOXJ.js");r(s.coverage,e.name,t)}return n.execute(t,s)}}}function Xn(e){return(e?tt.filter(s=>e.includes(s.name)):tt).map(Wt)}function Yn(){return Gi.map(Wt)}function Qn(){return _s.map(Wt)}function Jn(){return Cs.map(Wt)}function er(e){return"load"in e&&typeof e.load=="function"}function tr(e){let t=null;return{name:e.name,trusted:!0,async execute(s,n){return t||(t=await e.load()),t.execute(s,n)}}}function L(e){if(!e||e==="/")return"/";let t=e.endsWith("/")&&e!=="/"?e.slice(0,-1):e;t.startsWith("/")||(t=`/${t}`);let s=t.split("/").filter(r=>r&&r!=="."),n=[];for(let r of s)r===".."?n.pop():n.push(r);return`/${n.join("/")}`||"/"}function M(e,t){if(e.includes("\0"))throw new Error(`ENOENT: path contains null byte, ${t} '${e}'`)}function Ze(e){let t=L(e);if(t==="/")return"/";let s=t.lastIndexOf("/");return s===0?"/":t.slice(0,s)}function Mt(e,t){if(t.startsWith("/"))return L(t);let s=e==="/"?`/${t}`:`${e}/${t}`;return L(s)}function gt(e,t){return e==="/"?`/${t}`:`${e}/${t}`}function st(e,t){if(t.startsWith("/"))return L(t);let s=Ze(e);return L(gt(s,t))}var nt=new TextEncoder;function Ki(e){return typeof e=="object"&&e!==null&&!(e instanceof Uint8Array)&&"content"in e}var wt=class{data=new Map;constructor(t){if(this.data.set("/",{type:"directory",mode:493,mtime:new Date}),t)for(let[s,n]of Object.entries(t))typeof n=="function"?this.writeFileLazy(s,n):Ki(n)?this.writeFileSync(s,n.content,void 0,{mode:n.mode,mtime:n.mtime}):this.writeFileSync(s,n)}ensureParentDirs(t){let s=Ze(t);s!=="/"&&(this.data.has(s)||(this.ensureParentDirs(s),this.data.set(s,{type:"directory",mode:493,mtime:new Date})))}writeFileSync(t,s,n,r){M(t,"write");let i=L(t);this.ensureParentDirs(i);let o=Le(n),a=Je(s,o);this.data.set(i,{type:"file",content:a,mode:r?.mode??420,mtime:r?.mtime??new Date})}writeFileLazy(t,s,n){M(t,"write");let r=L(t);this.ensureParentDirs(r),this.data.set(r,{type:"file",lazy:s,mode:n?.mode??420,mtime:n?.mtime??new Date})}async materializeLazy(t,s){let n=await s.lazy(),i={type:"file",content:typeof n=="string"?nt.encode(n):n,mode:s.mode,mtime:s.mtime};return this.data.set(t,i),i}async readFile(t,s){let n=await this.readFileBuffer(t),r=Le(s);return et(n,r)}async readFileBytes(t){let s=await this.readFileBuffer(t);return et(s,"binary")}async readFileBuffer(t){M(t,"open");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, open '${t}'`);if(n.type!=="file")throw new Error(`EISDIR: illegal operation on a directory, read '${t}'`);if("lazy"in n){let r=await this.materializeLazy(s,n);return r.content instanceof Uint8Array?r.content:nt.encode(r.content)}return n.content instanceof Uint8Array?n.content:nt.encode(n.content)}async writeFile(t,s,n){this.writeFileSync(t,s,n)}async appendFile(t,s,n){M(t,"append");let r=L(t),i=this.data.get(r);if(i&&i.type==="directory")throw new Error(`EISDIR: illegal operation on a directory, write '${t}'`);let o=Le(n),a=Je(s,o);if(i?.type==="file"){let l=i;"lazy"in l&&(l=await this.materializeLazy(r,l));let c="content"in l&&l.content instanceof Uint8Array?l.content:nt.encode("content"in l?l.content:""),u=new Uint8Array(c.length+a.length);u.set(c),u.set(a,c.length),this.data.set(r,{type:"file",content:u,mode:l.mode,mtime:new Date})}else this.writeFileSync(t,s,n)}async exists(t){if(t.includes("\0"))return!1;try{let s=this.resolvePathWithSymlinks(t);return this.data.has(s)}catch{return!1}}async stat(t){M(t,"stat");let s=this.resolvePathWithSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, stat '${t}'`);n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}async lstat(t){M(t,"lstat");let s=this.resolveIntermediateSymlinks(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${t}'`);if(n.type==="symlink")return{isFile:!1,isDirectory:!1,isSymbolicLink:!0,mode:n.mode,size:n.target.length,mtime:n.mtime||new Date};n.type==="file"&&"lazy"in n&&(n=await this.materializeLazy(s,n));let r=0;return n.type==="file"&&"content"in n&&n.content&&(n.content instanceof Uint8Array?r=n.content.length:r=nt.encode(n.content).length),{isFile:n.type==="file",isDirectory:n.type==="directory",isSymbolicLink:!1,mode:n.mode,size:r,mtime:n.mtime||new Date}}resolveIntermediateSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/");if(n.length<=1)return s;let r="",i=new Set;for(let o=0;o<n.length-1;o++){let a=n[o];r=`${r}/${a}`;let l=this.data.get(r),c=0,u=40;for(;l&&l.type==="symlink"&&c<u;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`);i.add(r),r=st(r,l.target),l=this.data.get(r),c++}if(c>=u)throw new Error(`ELOOP: too many levels of symbolic links, lstat '${t}'`)}return`${r}/${n[n.length-1]}`}resolvePathWithSymlinks(t){let s=L(t);if(s==="/")return"/";let n=s.slice(1).split("/"),r="",i=new Set;for(let o of n){r=`${r}/${o}`;let a=this.data.get(r),l=0,c=40;for(;a&&a.type==="symlink"&&l<c;){if(i.has(r))throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`);i.add(r),r=st(r,a.target),a=this.data.get(r),l++}if(l>=c)throw new Error(`ELOOP: too many levels of symbolic links, open '${t}'`)}return r}async mkdir(t,s){this.mkdirSync(t,s)}mkdirSync(t,s){M(t,"mkdir");let n=L(t);if(this.data.has(n)){if(this.data.get(n)?.type==="file")throw new Error(`EEXIST: file already exists, mkdir '${t}'`);if(!s?.recursive)throw new Error(`EEXIST: directory already exists, mkdir '${t}'`);return}let r=Ze(n);if(r!=="/"&&!this.data.has(r))if(s?.recursive)this.mkdirSync(r,{recursive:!0});else throw new Error(`ENOENT: no such file or directory, mkdir '${t}'`);this.data.set(n,{type:"directory",mode:493,mtime:new Date})}async readdir(t){return(await this.readdirWithFileTypes(t)).map(n=>n.name)}async readdirWithFileTypes(t){M(t,"scandir");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);let r=new Set;for(;n&&n.type==="symlink";){if(r.has(s))throw new Error(`ELOOP: too many levels of symbolic links, scandir '${t}'`);r.add(s),s=st(s,n.target),n=this.data.get(s)}if(!n)throw new Error(`ENOENT: no such file or directory, scandir '${t}'`);if(n.type!=="directory")throw new Error(`ENOTDIR: not a directory, scandir '${t}'`);let i=s==="/"?"/":`${s}/`,o=new Map;for(let[a,l]of this.data.entries())if(a!==s&&a.startsWith(i)){let c=a.slice(i.length),u=c.split("/")[0];u&&!c.includes("/",u.length)&&!o.has(u)&&o.set(u,{name:u,isFile:l.type==="file",isDirectory:l.type==="directory",isSymbolicLink:l.type==="symlink"})}return Array.from(o.values()).sort((a,l)=>a.name<l.name?-1:a.name>l.name?1:0)}async rm(t,s){M(t,"rm");let n=L(t),r=this.data.get(n);if(!r){if(s?.force)return;throw new Error(`ENOENT: no such file or directory, rm '${t}'`)}if(r.type==="directory"){let i=await this.readdir(n);if(i.length>0){if(!s?.recursive)throw new Error(`ENOTEMPTY: directory not empty, rm '${t}'`);for(let o of i){let a=gt(n,o);await this.rm(a,s)}}}this.data.delete(n)}async cp(t,s,n){M(t,"cp"),M(s,"cp");let r=L(t),i=L(s),o=this.data.get(r);if(!o)throw new Error(`ENOENT: no such file or directory, cp '${t}'`);if(o.type==="file")if(this.ensureParentDirs(i),"content"in o){let a=o.content instanceof Uint8Array?new Uint8Array(o.content):o.content;this.data.set(i,{...o,content:a})}else this.data.set(i,{...o});else if(o.type==="symlink")this.ensureParentDirs(i),this.data.set(i,{...o});else if(o.type==="directory"){if(!n?.recursive)throw new Error(`EISDIR: is a directory, cp '${t}'`);await this.mkdir(i,{recursive:!0});let a=await this.readdir(r);for(let l of a){let c=gt(r,l),u=gt(i,l);await this.cp(c,u,n)}}}async mv(t,s){await this.cp(t,s,{recursive:!0}),await this.rm(t,{recursive:!0})}getAllPaths(){return Array.from(this.data.keys())}resolvePath(t,s){return Mt(t,s)}async chmod(t,s){M(t,"chmod");let n=L(t),r=this.data.get(n);if(!r)throw new Error(`ENOENT: no such file or directory, chmod '${t}'`);r.mode=s}async symlink(t,s){M(s,"symlink");let n=L(s);if(this.data.has(n))throw new Error(`EEXIST: file already exists, symlink '${s}'`);this.ensureParentDirs(n),this.data.set(n,{type:"symlink",target:t,mode:511,mtime:new Date})}async link(t,s){M(t,"link"),M(s,"link");let n=L(t),r=L(s),i=this.data.get(n);if(!i)throw new Error(`ENOENT: no such file or directory, link '${t}'`);if(i.type!=="file")throw new Error(`EPERM: operation not permitted, link '${t}'`);if(this.data.has(r))throw new Error(`EEXIST: file already exists, link '${s}'`);let o=i;"lazy"in o&&(o=await this.materializeLazy(n,o)),this.ensureParentDirs(r),this.data.set(r,{type:"file",content:o.content,mode:o.mode,mtime:o.mtime})}async readlink(t){M(t,"readlink");let s=L(t),n=this.data.get(s);if(!n)throw new Error(`ENOENT: no such file or directory, readlink '${t}'`);if(n.type!=="symlink")throw new Error(`EINVAL: invalid argument, readlink '${t}'`);return n.target}async realpath(t){M(t,"realpath");let s=this.resolvePathWithSymlinks(t);if(!this.data.has(s))throw new Error(`ENOENT: no such file or directory, realpath '${t}'`);return s}async utimes(t,s,n){M(t,"utimes");let r=L(t),i=this.resolvePathWithSymlinks(r),o=this.data.get(i);if(!o)throw new Error(`ENOENT: no such file or directory, utimes '${t}'`);o.mtime=n}};function Xi(e){let t=e;return typeof t.mkdirSync=="function"&&typeof t.writeFileSync=="function"}function Yi(e,t){e.mkdirSync("/bin",{recursive:!0}),e.mkdirSync("/usr/bin",{recursive:!0}),t&&(e.mkdirSync("/home/user",{recursive:!0}),e.mkdirSync("/tmp",{recursive:!0}))}function Qi(e){e.mkdirSync("/dev",{recursive:!0}),e.writeFileSync("/dev/null",""),e.writeFileSync("/dev/zero",new Uint8Array(0)),e.writeFileSync("/dev/stdin",""),e.writeFileSync("/dev/stdout",""),e.writeFileSync("/dev/stderr","")}function Ji(e,t){e.mkdirSync("/proc/self/fd",{recursive:!0}),e.writeFileSync("/proc/version",`${Ln}
3
3
  `),e.writeFileSync("/proc/self/exe","/bin/bash"),e.writeFileSync("/proc/self/cmdline","bash\0"),e.writeFileSync("/proc/self/comm",`bash
4
4
  `),e.writeFileLazy?e.writeFileLazy("/proc/self/status",()=>ws(t)):e.writeFileSync("/proc/self/status",ws(t)),e.writeFileSync("/proc/self/fd/0","/dev/stdin"),e.writeFileSync("/proc/self/fd/1","/dev/stdout"),e.writeFileSync("/proc/self/fd/2","/dev/stderr")}function nr(e,t,s={pid:1,ppid:0,uid:1e3,gid:1e3}){Xi(e)&&(Yi(e,t),Qi(e),Ji(e,s))}var eo=["allexport","errexit","noglob","noclobber","noexec","nounset","pipefail","posix","verbose","xtrace"],to=["braceexpand","hashall","interactive-comments"];function ks(e){let t=[],s=[...to.map(n=>({name:n,enabled:!0})),...eo.map(n=>({name:n,enabled:e[n]}))].sort((n,r)=>n.name.localeCompare(r.name));for(let n of s)n.enabled&&t.push(n.name);return t.join(":")}function it(e){e.state.env.set("SHELLOPTS",ks(e.state.options))}var so=["dotglob","expand_aliases","extglob","failglob","globskipdots","globstar","lastpipe","nocaseglob","nocasematch","nullglob","xpg_echo"];function Ns(e){let t=[];for(let s of so)e[s]&&t.push(s);return t.join(":")}function Os(e){e.state.env.set("BASHOPTS",Ns(e.state.shoptOptions))}var no="BASH_ALIAS_";function rr(e){return e.parts.length!==1?!1:e.parts[0].type==="Literal"}function ir(e){if(e.parts.length!==1)return null;let t=e.parts[0];return t.type==="Literal"?t.value:null}function or(e,t){return e.env.get(`${no}${t}`)}function Ds(e,t,s){if(!t.name||!rr(t.name))return t;let n=ir(t.name);if(!n)return t;let r=or(e,n);if(!r||s.has(n))return t;try{s.add(n);let i=new V,o=r,a=r.endsWith(" ");if(!a)for(let f of t.args){let d=lr(f);o+=` ${d}`}let l;try{l=i.parse(o)}catch(f){if(f instanceof It)throw f;return t}if(l.statements.length!==1||l.statements[0].pipelines.length!==1||l.statements[0].pipelines[0].commands.length!==1)return ar(t,r);let c=l.statements[0].pipelines[0].commands[0];if(c.type!=="SimpleCommand")return ar(t,r);let u={...c,assignments:[...t.assignments,...c.assignments],redirections:[...c.redirections,...t.redirections],line:t.line};if(a&&t.args.length>0&&(u={...u,args:[...u.args,...t.args]},u.args.length>0)){let f=u.args[0];if(rr(f)){let d=ir(f);if(d&&or(e,d)){let h={type:"SimpleCommand",name:f,args:u.args.slice(1),assignments:[],redirections:[]},m=Ds(e,h,s);m!==h&&(u={...u,name:m.name,args:[...m.args]})}}}return u}catch(i){throw s.delete(n),i}}function ar(e,t){let s=t;for(let o of e.args){let a=lr(o);s+=` ${a}`}let n=new V,r=n.parseWordFromString("eval",!1,!1),i=n.parseWordFromString(`'${s.replace(/'/g,"'\\''")}'`,!1,!1);return{type:"SimpleCommand",name:r,args:[i],assignments:e.assignments,redirections:e.redirections,line:e.line}}function lr(e){let t="";for(let s of e.parts)switch(s.type){case"Literal":t+=s.value.replace(/([\s"'$`\\*?[\]{}()<>|&;#!])/g,"\\$1");break;case"SingleQuoted":t+=`'${s.value}'`;break;case"DoubleQuoted":t+=`"${s.parts.map(n=>n.type==="Literal"?n.value:`$${n.type}`).join("")}"`;break;case"ParameterExpansion":t+=`\${${s.parameter}}`;break;case"CommandSubstitution":t+="$(...)";break;case"ArithmeticExpansion":t+=`$((${s.expression}))`;break;case"Glob":t+=s.pattern;break;default:break}return t}async function cr(e,t){let s=t.parts.map(u=>u.type==="Literal"?u.value:"\0").join(""),n=s.match(/^([a-zA-Z_][a-zA-Z0-9_]*)=\(/);if(!n||!s.endsWith(")"))return null;let r=n[1],i=[],o=!1,a="",l=!1;for(let u of t.parts)if(u.type==="Literal"){let f=u.value;if(!o){let d=f.indexOf("=(");d!==-1&&(o=!0,f=f.slice(d+2))}if(o){f.endsWith(")")&&(f=f.slice(0,-1));let d=f.split(/(\s+)/);for(let h of d)/^\s+$/.test(h)?(a||l)&&(i.push(a),a="",l=!1):h&&(a+=h)}}else if(o)if(u.type==="BraceExpansion")if(/^\[.+\]=/.test(a))a+=Rt({type:"Word",parts:[u]});else{(a||l)&&(i.push(a),a="",l=!1);let d=await Ae(e,{type:"Word",parts:[u]});i.push(...d.values)}else{(u.type==="SingleQuoted"||u.type==="DoubleQuoted"||u.type==="Escaped")&&(l=!0);let f=await I(e,{type:"Word",parts:[u]});a+=f}(a||l)&&i.push(a);let c=i.map(u=>/^\[.+\]=/.test(u)?u:u===""?"''":/[\s"'\\$`!*?[\]{}|&;<>()]/.test(u)&&!u.startsWith("'")&&!u.startsWith('"')?`'${u.replace(/'/g,"'\\''")}'`:u);return`${r}=(${c.join(" ")})`}async function ur(e,t){let s=-1,n=-1,r=!1;for(let p=0;p<t.parts.length;p++){let g=t.parts[p];if(g.type==="Literal"){let w=g.value.indexOf("+=");if(w!==-1){let v=g.value.slice(0,w);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v)){s=p,n=w,r=!0;break}if(/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(v)){s=p,n=w,r=!0;break}}let y=g.value.indexOf("=");if(y!==-1&&(y===0||g.value[y-1]!=="+")){let v=g.value.slice(0,y);if(/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(v)||/^[a-zA-Z_][a-zA-Z0-9_]*\[[^\]]+\]$/.test(v)){s=p,n=y;break}}}}if(s===-1)return null;let i=t.parts.slice(0,s),o=t.parts[s];if(o.type!=="Literal")return null;let a=r?2:1,l=o.value.slice(0,n),c=o.value.slice(n+a),u=t.parts.slice(s+1),f="";for(let p of i)f+=await I(e,{type:"Word",parts:[p]});f+=l;let d={type:"Word",parts:c!==""?[{type:"Literal",value:c},...u]:u},h=d.parts.length>0?await I(e,d):"";return`${f}${r?"+=":"="}${h}`}var ro=["tar","yq","xan","sqlite3","python3","python"];function fr(e){return ro.includes(e)}var F=Object.freeze({stdout:"",stderr:"",exitCode:0});function W(e=""){return{stdout:e,stderr:"",exitCode:0}}function P(e,t=1){return{stdout:"",stderr:e,exitCode:t}}function k(e,t,s){return{stdout:e,stderr:t,exitCode:s}}function X(e){return{stdout:"",stderr:"",exitCode:e?0:1}}function Pe(e,t,s="",n=""){throw new Y(e,t,s,n)}function ie(e){let t=e.state.fileDescriptors;if(t&&t.size>=e.limits.maxFileDescriptors)throw new Y(`too many open file descriptors (max ${e.limits.maxFileDescriptors})`,"file_descriptors")}function Ts(e,t){if(e.state.loopDepth===0){if(e.state.parentHasLoopContext)throw new Ie;return F}if(t.length>1)throw new B(1,"",`bash: break: too many arguments
5
5
  `);let s=1;if(t.length>0){let n=Number.parseInt(t[0],10);if(Number.isNaN(n)||n<1)throw new B(128,"",`bash: break: ${t[0]}: numeric argument required
@@ -549,10 +549,10 @@ ${os}`;if(e.state.options.posix)throw new be(1,"",i);return P(i)}jr(e,zr.get(r)?
549
549
  ${os}`;if(e.state.options.posix)throw new be(1,"",a);return P(a)}jr(e,Mr.get(o)??null,r)}s++;continue}if(n==="--")return mn(e,t.slice(s+1)),F;if(n==="-"){if(e.state.options.xtrace=!1,e.state.options.verbose=!1,it(e),s+1<t.length)return mn(e,t.slice(s+1)),F;s++;continue}if(n==="+"){s++;continue}if(n.startsWith("-")||n.startsWith("+")){let r=`bash: set: ${n}: invalid option
550
550
  ${os}`;if(e.state.options.posix)throw new be(1,"",r);return P(r)}return mn(e,t.slice(s)),F}return F}function mn(e,t){let s=1;for(;e.state.env.has(String(s));)e.state.env.delete(String(s)),s++;for(let n=0;n<t.length;n++)e.state.env.set(String(n+1),t[n]);e.state.env.set("#",String(t.length)),e.state.env.set("@",t.join(" ")),e.state.env.set("*",t.join(" "))}function gn(e,t){let s=1;if(t.length>0){let o=Number.parseInt(t[0],10);if(Number.isNaN(o)||o<0){let a=`bash: shift: ${t[0]}: numeric argument required
551
551
  `;if(e.state.options.posix)throw new be(1,"",a);return P(a)}s=o}let n=Number.parseInt(e.state.env.get("#")||"0",10);if(s>n){let o=`bash: shift: shift count out of range
552
- `;if(e.state.options.posix)throw new be(1,"",o);return P(o)}if(s===0)return F;let r=[];for(let o=1;o<=n;o++)r.push(e.state.env.get(String(o))||"");let i=r.slice(s);for(let o=1;o<=n;o++)e.state.env.delete(String(o));for(let o=0;o<i.length;o++)e.state.env.set(String(o+1),i[o]);return e.state.env.set("#",String(i.length)),e.state.env.set("@",i.join(" ")),F}async function wn(e,t){let s=t;if(s.length>0&&s[0]==="--"&&(s=s.slice(1)),s.length===0)return k("",`bash: source: filename argument required
553
- `,2);let n=s[0],r=null,i=null;if(n.includes("/")){let c=e.fs.resolvePath(e.state.cwd,n);try{i=await e.fs.readFile(c),r=c}catch{}}else{let u=(e.state.env.get("PATH")||"").split(":").filter(f=>f);for(let f of u){let d=e.fs.resolvePath(e.state.cwd,`${f}/${n}`);try{if((await e.fs.stat(d)).isDirectory)continue;i=await e.fs.readFile(d),r=d;break}catch{}}if(i===null){let f=e.fs.resolvePath(e.state.cwd,n);try{i=await e.fs.readFile(f),r=f}catch{}}}if(i===null)return P(`bash: ${n}: No such file or directory
554
- `);let o=new Map;if(s.length>1){for(let u=1;u<=9;u++)o.set(String(u),e.state.env.get(String(u)));o.set("#",e.state.env.get("#")),o.set("@",e.state.env.get("@"));let c=s.slice(1);e.state.env.set("#",String(c.length)),e.state.env.set("@",c.join(" "));for(let u=0;u<c.length&&u<9;u++)e.state.env.set(String(u+1),c[u]);for(let u=c.length+1;u<=9;u++)e.state.env.delete(String(u))}let a=e.state.currentSource,l=()=>{if(e.state.sourceDepth--,e.state.currentSource=a,s.length>1)for(let[c,u]of o)u===void 0?e.state.env.delete(c):e.state.env.set(c,u)};if(e.state.sourceDepth++,e.state.sourceDepth>e.limits.maxSourceDepth)throw e.state.sourceDepth--,new Y(`source: maximum nesting depth (${e.limits.maxSourceDepth}) exceeded, increase executionLimits.maxSourceDepth`,"recursion");e.state.currentSource=n;try{let c=$e(i),u=await e.executeScript(c);return l(),u}catch(c){if(l(),c instanceof B)throw c;if(c instanceof le)return k(c.stdout,c.stderr,c.exitCode);if(c.name==="ParseException")return P(`bash: ${n}: ${c.message}
555
- `);throw c}}function Hr(e){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)}function Yo(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')}async function Ur(e,t){if(Yo(t))return null;try{let s=new V,n=Q(s,t);return await j(e,n.expression)}catch{let s=parseInt(t,10);return Number.isNaN(s)?0:s}}function Zr(e,t){if(e.state.localVarStack?.has(t)){let n=es(e,t);if(n){n.value===void 0?e.state.env.delete(t):e.state.env.set(t,n.value);let r=e.state.localVarStack?.get(t);if(!r||r.length===0)Jt(e,t),e.state.localVarStack?.delete(t),e.state.fullyUnsetLocals=e.state.fullyUnsetLocals||new Map,e.state.fullyUnsetLocals.set(t,n.scopeIndex),vn(e,t);else{let i=r[r.length-1];e.state.localVarDepth=e.state.localVarDepth||new Map,e.state.localVarDepth.set(t,i.scopeIndex+1)}return!0}return e.state.env.delete(t),Jt(e,t),e.state.localVarStack?.delete(t),e.state.fullyUnsetLocals=e.state.fullyUnsetLocals||new Map,e.state.fullyUnsetLocals.set(t,0),!0}for(let n=e.state.localScopes.length-1;n>=0;n--){let r=e.state.localScopes[n];if(r.has(t)){let i=r.get(t);i===void 0?e.state.env.delete(t):e.state.env.set(t,i),r.delete(t);let o=!1;for(let a=n-1;a>=0;a--)if(e.state.localScopes[a].has(t)){e.state.localVarDepth&&e.state.localVarDepth.set(t,a+1),o=!0;break}return o||Jt(e,t),!0}}return!1}function vn(e,t){if(!e.state.tempEnvBindings||e.state.tempEnvBindings.length===0)return!1;for(let s=e.state.tempEnvBindings.length-1;s>=0;s--){let n=e.state.tempEnvBindings[s];if(n.has(t)){let r=n.get(t);return r===void 0?e.state.env.delete(t):e.state.env.set(t,r),n.delete(t),!0}}return!1}async function qr(e,t){if(t.startsWith("'")&&t.endsWith("'"))return t.slice(1,-1);if(t.startsWith('"')&&t.endsWith('"')){let s=t.slice(1,-1),r=new V().parseWordFromString(s,!0,!1);return I(e,r)}if(t.includes("$")){let n=new V().parseWordFromString(t,!1,!1);return I(e,n)}return t}async function bn(e,t){let s="both",n="",r=0;for(let i of t){if(i==="-v"){s="variable";continue}if(i==="-f"){s="function";continue}if(s==="function"){e.state.functions.delete(i);continue}if(s==="variable"){let c=i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(c){let d=c[1],h=c[2];if(h==="@"||h==="*"){let v=Ee(e,d);for(let[b]of v)e.state.env.delete(`${d}_${b}`);e.state.env.delete(d);continue}let m=e.state.associativeArrays?.has(d);if(m){let v=await qr(e,h);e.state.env.delete(`${d}_${v}`);continue}let p=Ss(e,d),g=e.state.declaredVars?.has(d);if((e.state.env.has(d)||g)&&!p&&!m){n+=`bash: unset: ${d}: not an array variable
552
+ `;if(e.state.options.posix)throw new be(1,"",o);return P(o)}if(s===0)return F;let r=[];for(let o=1;o<=n;o++)r.push(e.state.env.get(String(o))||"");let i=r.slice(s);for(let o=1;o<=n;o++)e.state.env.delete(String(o));for(let o=0;o<i.length;o++)e.state.env.set(String(o+1),i[o]);return e.state.env.set("#",String(i.length)),e.state.env.set("@",i.join(" ")),F}async function wn(e,t,s){let n=t;if(n.length>0&&n[0]==="--"&&(n=n.slice(1)),n.length===0)return k("",`bash: source: filename argument required
553
+ `,2);let r=n[0],i=null,o=null;if(r.includes("/")){let d=e.fs.resolvePath(e.state.cwd,r);try{o=await e.fs.readFile(d),i=d}catch{}}else{let h=(e.state.env.get("PATH")||"").split(":").filter(m=>m);for(let m of h){let p=e.fs.resolvePath(e.state.cwd,`${m}/${r}`);try{if((await e.fs.stat(p)).isDirectory)continue;o=await e.fs.readFile(p),i=p;break}catch{}}if(o===null){let m=e.fs.resolvePath(e.state.cwd,r);try{o=await e.fs.readFile(m),i=m}catch{}}}if(o===null)return P(`bash: ${r}: No such file or directory
554
+ `);let a=new Map;if(n.length>1){for(let h=1;h<=9;h++)a.set(String(h),e.state.env.get(String(h)));a.set("#",e.state.env.get("#")),a.set("@",e.state.env.get("@"));let d=n.slice(1);e.state.env.set("#",String(d.length)),e.state.env.set("@",d.join(" "));for(let h=0;h<d.length&&h<9;h++)e.state.env.set(String(h+1),d[h]);for(let h=d.length+1;h<=9;h++)e.state.env.delete(String(h))}let l=e.state.currentSource,c=()=>{if(e.state.sourceDepth--,e.state.currentSource=l,n.length>1)for(let[d,h]of a)h===void 0?e.state.env.delete(d):e.state.env.set(d,h)};if(e.state.sourceDepth++,e.state.sourceDepth>e.limits.maxSourceDepth)throw e.state.sourceDepth--,new Y(`source: maximum nesting depth (${e.limits.maxSourceDepth}) exceeded, increase executionLimits.maxSourceDepth`,"recursion");e.state.currentSource=r;let u=e.state.groupStdin,f=s??e.state.groupStdin;f!==void 0&&(e.state.groupStdin=f);try{let d=$e(o),h=await e.executeScript(d);return c(),h}catch(d){if(c(),d instanceof B)throw d;if(d instanceof le)return k(d.stdout,d.stderr,d.exitCode);if(d.name==="ParseException")return P(`bash: ${r}: ${d.message}
555
+ `);throw d}finally{e.state.groupStdin=u}}function Hr(e){return/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(e)}function Yo(e){return e.startsWith("'")&&e.endsWith("'")||e.startsWith('"')&&e.endsWith('"')}async function Ur(e,t){if(Yo(t))return null;try{let s=new V,n=Q(s,t);return await j(e,n.expression)}catch{let s=parseInt(t,10);return Number.isNaN(s)?0:s}}function Zr(e,t){if(e.state.localVarStack?.has(t)){let n=es(e,t);if(n){n.value===void 0?e.state.env.delete(t):e.state.env.set(t,n.value);let r=e.state.localVarStack?.get(t);if(!r||r.length===0)Jt(e,t),e.state.localVarStack?.delete(t),e.state.fullyUnsetLocals=e.state.fullyUnsetLocals||new Map,e.state.fullyUnsetLocals.set(t,n.scopeIndex),vn(e,t);else{let i=r[r.length-1];e.state.localVarDepth=e.state.localVarDepth||new Map,e.state.localVarDepth.set(t,i.scopeIndex+1)}return!0}return e.state.env.delete(t),Jt(e,t),e.state.localVarStack?.delete(t),e.state.fullyUnsetLocals=e.state.fullyUnsetLocals||new Map,e.state.fullyUnsetLocals.set(t,0),!0}for(let n=e.state.localScopes.length-1;n>=0;n--){let r=e.state.localScopes[n];if(r.has(t)){let i=r.get(t);i===void 0?e.state.env.delete(t):e.state.env.set(t,i),r.delete(t);let o=!1;for(let a=n-1;a>=0;a--)if(e.state.localScopes[a].has(t)){e.state.localVarDepth&&e.state.localVarDepth.set(t,a+1),o=!0;break}return o||Jt(e,t),!0}}return!1}function vn(e,t){if(!e.state.tempEnvBindings||e.state.tempEnvBindings.length===0)return!1;for(let s=e.state.tempEnvBindings.length-1;s>=0;s--){let n=e.state.tempEnvBindings[s];if(n.has(t)){let r=n.get(t);return r===void 0?e.state.env.delete(t):e.state.env.set(t,r),n.delete(t),!0}}return!1}async function qr(e,t){if(t.startsWith("'")&&t.endsWith("'"))return t.slice(1,-1);if(t.startsWith('"')&&t.endsWith('"')){let s=t.slice(1,-1),r=new V().parseWordFromString(s,!0,!1);return I(e,r)}if(t.includes("$")){let n=new V().parseWordFromString(t,!1,!1);return I(e,n)}return t}async function bn(e,t){let s="both",n="",r=0;for(let i of t){if(i==="-v"){s="variable";continue}if(i==="-f"){s="function";continue}if(s==="function"){e.state.functions.delete(i);continue}if(s==="variable"){let c=i.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);if(c){let d=c[1],h=c[2];if(h==="@"||h==="*"){let v=Ee(e,d);for(let[b]of v)e.state.env.delete(`${d}_${b}`);e.state.env.delete(d);continue}let m=e.state.associativeArrays?.has(d);if(m){let v=await qr(e,h);e.state.env.delete(`${d}_${v}`);continue}let p=Ss(e,d),g=e.state.declaredVars?.has(d);if((e.state.env.has(d)||g)&&!p&&!m){n+=`bash: unset: ${d}: not an array variable
556
556
  `,r=1;continue}let y=await Ur(e,h);if(y===null&&p){n+=`bash: unset: ${h}: not a valid identifier
557
557
  `,r=1;continue}if(y===null)continue;if(y<0){let v=Ee(e,d),b=v.length,S=e.state.currentLine;if(b===0){n+=`bash: line ${S}: unset: [${y}]: bad array subscript
558
558
  `,r=1;continue}let $=b+y;if($<0){n+=`bash: line ${S}: unset: [${y}]: bad array subscript
@@ -616,7 +616,7 @@ ${e} ()
616
616
  `),o=1)}else if(e.commands.has(a)){let u=(e.state.env.get("PATH")??"/usr/bin:/bin").split(":"),f=null;for(let d of u){if(!d)continue;let h=`${d}/${a}`;try{let m=await e.fs.stat(h);if(!m.isDirectory&&(m.mode&73)!==0){f=h;break}}catch{}}f||(f=`/usr/bin/${a}`),n?r+=`${a} is ${f}
617
617
  `:r+=`${f}
618
618
  `}else n&&(i+=`${a}: not found
619
- `),o=1}return k(r,i,o)}async function si(e,t){if(t.includes("/")){let r=e.fs.resolvePath(e.state.cwd,t);if(await e.fs.exists(r)){try{let i=await e.fs.stat(r);if(i.isDirectory||!((i.mode&73)!==0))return null}catch{return null}return t}return null}let n=(e.state.env.get("PATH")??"/usr/bin:/bin").split(":");for(let r of n){if(!r)continue;let o=`${r.startsWith("/")?r:e.fs.resolvePath(e.state.cwd,r)}/${t}`;if(await e.fs.exists(o)){try{if((await e.fs.stat(o)).isDirectory)continue}catch{continue}return`${r}/${t}`}}if(e.commands.has(t)){for(let r of n)if(r==="/usr/bin"||r==="/bin")return`${r}/${t}`;return`/usr/bin/${t}`}return null}async function ni(e,t,s,n,r,i,o,a){let{ctx:l,runCommand:c}=e;if(l.coverage&&lt.has(t)&&l.coverage.hit(`bash:builtin:${t}`),t==="export")return an(l,s);if(t==="unset")return bn(l,s);if(t==="exit")return on(l,s);if(t==="local")return fn(l,s);if(t==="set")return yn(l,s);if(t==="break")return Ts(l,s);if(t==="continue")return Us(l,s);if(t==="return")return pn(l,s);if(t==="eval"&&l.state.options.posix)return rs(l,s,r);if(t==="shift")return gn(l,s);if(t==="getopts")return is(l,s);if(t==="compgen")return Vs(l,s);if(t==="complete")return js(l,s);if(t==="compopt")return Hs(l,s);if(t==="pushd")return await sn(l,s);if(t==="popd")return nn(l,s);if(t==="dirs")return rn(l,s);if(t==="source"||t===".")return wn(l,s);if(t==="read")return hn(l,s,r,a);if(t==="mapfile"||t==="readarray")return dn(l,s,r);if(t==="declare"||t==="typeset")return Js(l,s);if(t==="readonly")return en(l,s);if(!i){let u=l.state.functions.get(t);if(u)return ss(l,u,s,r)}if(t==="eval")return rs(l,s,r);if(t==="cd")return await xs(l,s);if(t===":"||t==="true")return F;if(t==="false")return X(!1);if(t==="let")return un(l,s);if(t==="command")return ra(e,s,r);if(t==="builtin")return ia(e,s,r);if(t==="shopt")return Gr(l,s);if(t==="exec"){if(s.length===0)return F;let[u,...f]=s;return c(u,f,[],r,!1,!1,-1)}if(t==="wait")return F;if(t==="type")return await ei(l,s,u=>si(l,u),u=>ls(l,u));if(t==="hash")return ln(l,s);if(t==="help")return cn(l,s);if(t==="["||t==="test"){let u=s;if(t==="["){if(s[s.length-1]!=="]")return P("[: missing `]'\n",2);u=s.slice(0,-1)}return bt(l,u)}return null}async function ra(e,t,s){let{ctx:n,runCommand:r}=e;if(t.length===0)return F;let i=!1,o=!1,a=!1,l=t;for(;l.length>0&&l[0].startsWith("-");){let f=l[0];if(f==="--"){l=l.slice(1);break}for(let d of f.slice(1))d==="p"?i=!0:d==="V"?o=!0:d==="v"&&(a=!0);l=l.slice(1)}if(l.length===0)return F;if(a||o)return await ti(n,l,a,o);let[c,...u]=l;return r(c,u,[],s,!0,i,-1)}async function ia(e,t,s){let{runCommand:n}=e;if(t.length===0)return F;let r=t;if(r[0]==="--"&&(r=r.slice(1),r.length===0))return F;let i=r[0];if(!lt.has(i))return P(`bash: builtin: ${i}: not a shell builtin
619
+ `),o=1}return k(r,i,o)}async function si(e,t){if(t.includes("/")){let r=e.fs.resolvePath(e.state.cwd,t);if(await e.fs.exists(r)){try{let i=await e.fs.stat(r);if(i.isDirectory||!((i.mode&73)!==0))return null}catch{return null}return t}return null}let n=(e.state.env.get("PATH")??"/usr/bin:/bin").split(":");for(let r of n){if(!r)continue;let o=`${r.startsWith("/")?r:e.fs.resolvePath(e.state.cwd,r)}/${t}`;if(await e.fs.exists(o)){try{if((await e.fs.stat(o)).isDirectory)continue}catch{continue}return`${r}/${t}`}}if(e.commands.has(t)){for(let r of n)if(r==="/usr/bin"||r==="/bin")return`${r}/${t}`;return`/usr/bin/${t}`}return null}async function ni(e,t,s,n,r,i,o,a){let{ctx:l,runCommand:c}=e;if(l.coverage&&lt.has(t)&&l.coverage.hit(`bash:builtin:${t}`),t==="export")return an(l,s);if(t==="unset")return bn(l,s);if(t==="exit")return on(l,s);if(t==="local")return fn(l,s);if(t==="set")return yn(l,s);if(t==="break")return Ts(l,s);if(t==="continue")return Us(l,s);if(t==="return")return pn(l,s);if(t==="eval"&&l.state.options.posix)return rs(l,s,r);if(t==="shift")return gn(l,s);if(t==="getopts")return is(l,s);if(t==="compgen")return Vs(l,s);if(t==="complete")return js(l,s);if(t==="compopt")return Hs(l,s);if(t==="pushd")return await sn(l,s);if(t==="popd")return nn(l,s);if(t==="dirs")return rn(l,s);if(t==="source"||t===".")return wn(l,s,r);if(t==="read")return hn(l,s,r,a);if(t==="mapfile"||t==="readarray")return dn(l,s,r);if(t==="declare"||t==="typeset")return Js(l,s);if(t==="readonly")return en(l,s);if(!i){let u=l.state.functions.get(t);if(u)return ss(l,u,s,r)}if(t==="eval")return rs(l,s,r);if(t==="cd")return await xs(l,s);if(t===":"||t==="true")return F;if(t==="false")return X(!1);if(t==="let")return un(l,s);if(t==="command")return ra(e,s,r);if(t==="builtin")return ia(e,s,r);if(t==="shopt")return Gr(l,s);if(t==="exec"){if(s.length===0)return F;let[u,...f]=s;return c(u,f,[],r,!1,!1,-1)}if(t==="wait")return F;if(t==="type")return await ei(l,s,u=>si(l,u),u=>ls(l,u));if(t==="hash")return ln(l,s);if(t==="help")return cn(l,s);if(t==="["||t==="test"){let u=s;if(t==="["){if(s[s.length-1]!=="]")return P("[: missing `]'\n",2);u=s.slice(0,-1)}return bt(l,u)}return null}async function ra(e,t,s){let{ctx:n,runCommand:r}=e;if(t.length===0)return F;let i=!1,o=!1,a=!1,l=t;for(;l.length>0&&l[0].startsWith("-");){let f=l[0];if(f==="--"){l=l.slice(1);break}for(let d of f.slice(1))d==="p"?i=!0:d==="V"?o=!0:d==="v"&&(a=!0);l=l.slice(1)}if(l.length===0)return F;if(a||o)return await ti(n,l,a,o);let[c,...u]=l;return r(c,u,[],s,!0,i,-1)}async function ia(e,t,s){let{runCommand:n}=e;if(t.length===0)return F;let r=t;if(r[0]==="--"&&(r=r.slice(1),r.length===0))return F;let i=r[0];if(!lt.has(i))return P(`bash: builtin: ${i}: not a shell builtin
620
620
  `);let[,...o]=r;return n(i,o,[],s,!0,!1,-1)}async function ri(e,t,s,n,r){let{ctx:i,buildExportedEnv:o,executeUserScript:a}=e,c=await Kr(i,t,r?"/usr/bin:/bin":void 0);if(!c)return fr(t)?P(`bash: ${t}: command not available in browser environments. Exclude '${t}' from your commands or use the Node.js bundle.
621
621
  `,127):P(`bash: ${t}: command not found
622
622
  `,127);if("error"in c)return c.error==="permission_denied"?P(`bash: ${t}: Permission denied
@@ -652,7 +652,7 @@ sys 0m0.000s
652
652
  `,1)}}if(r=Math.max(...i.map(([a])=>typeof a=="number"?a:0))+1+r,r<0){let a=e.state.currentLine;return{index:0,error:k("",`bash: line ${a}: ${t}[${s}]: bad array subscript
653
653
  `,1)}}}return{index:r}}async function ma(e,t,s,n,r,i){let o="",a=s,l=null;if(ye(e,s)){let f=jn(e,s,n);if(f===void 0)return{continueToNext:!1,xtraceOutput:"",error:k("",`bash: ${s}: circular name reference
654
654
  `,1)};if(f===null)return{continueToNext:!0,xtraceOutput:""};a=f;let d=a.match(/^([a-zA-Z_][a-zA-Z0-9_]*)\[(.+)\]$/);d&&(l={arrayName:d[1],subscriptExpr:d[2]},a=d[1])}if(Ue(e,a)){if(t.name)return o+=`bash: ${a}: readonly variable
655
- `,{continueToNext:!0,xtraceOutput:o};let f=ee(e,a);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if($t(e,a))try{let f=new V;if(r){let h=`(${e.state.env.get(a)||"0"}) + (${n})`,m=Q(f,h);c=String(await j(e,m.expression))}else{let d=Q(f,n);c=String(await j(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-FIY4KMS5.js"),d=f(e,a)?`${a}_0`:a;c=r?(e.state.env.get(d)||"")+n:n}c=ut(e,a,c),o+=await mi(e,a,c);let u=a;if(l)u=await ya(e,l);else{let{isArray:f}=await import("./chunks/expansion-FIY4KMS5.js");f(e,a)&&(u=`${a}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(a)),e.state.tempEnvBindings?.some(f=>f.has(a))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(a))),{continueToNext:!1,xtraceOutput:o}}async function ya(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return vi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let o=new V,a=Q(o,n);i=await j(e,a.expression,!1)}catch{let o=e.state.env.get(n);i=o?Number.parseInt(o,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let o=Ee(e,s);o.length>0&&(i=Math.max(...o.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function bi(e,t,s,n){let r=await Ne(e,t.redirections);if(r)return r;let i=new Map(e.state.env),o=e.state.cwd,a={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,O]of u.entries())e.state.localVarStack.set(E,O.map(_=>({..._})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let p=e.state.lastArg,g=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let w=e.state.groupStdin;s&&(e.state.groupStdin=s);let y="",v="",b=0,S=()=>{e.state.env=i,e.state.cwd=o,e.state.options=a,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=m,e.state.groupStdin=w,e.state.bashPid=g,e.state.lastArg=p};try{for(let E of t.body){let O=await n(E);y+=O.stdout,v+=O.stderr,b=O.exitCode}}catch(E){if(S(),E instanceof Y)throw E;if(E instanceof Ie){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof de||E instanceof he){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof B){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof le){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof pe){let _=k(y+E.stdout,v+E.stderr,E.exitCode);return q(e,_,t.redirections)}let O=k(y,`${v}${De(E)}
655
+ `,{continueToNext:!0,xtraceOutput:o};let f=ee(e,a);if(f)return{continueToNext:!1,xtraceOutput:"",error:f}}let c;if($t(e,a))try{let f=new V;if(r){let h=`(${e.state.env.get(a)||"0"}) + (${n})`,m=Q(f,h);c=String(await j(e,m.expression))}else{let d=Q(f,n);c=String(await j(e,d.expression))}}catch{c="0"}else{let{isArray:f}=await import("./chunks/expansion-E23BQBTL.js"),d=f(e,a)?`${a}_0`:a;c=r?(e.state.env.get(d)||"")+n:n}c=ut(e,a,c),o+=await mi(e,a,c);let u=a;if(l)u=await ya(e,l);else{let{isArray:f}=await import("./chunks/expansion-E23BQBTL.js");f(e,a)&&(u=`${a}_0`)}return t.name?(i.set(u,e.state.env.get(u)),e.state.env.set(u,c)):(e.state.env.set(u,c),e.state.options.allexport&&(e.state.exportedVars=e.state.exportedVars||new Set,e.state.exportedVars.add(a)),e.state.tempEnvBindings?.some(f=>f.has(a))&&(e.state.mutatedTempEnvVars=e.state.mutatedTempEnvVars||new Set,e.state.mutatedTempEnvVars.add(a))),{continueToNext:!1,xtraceOutput:o}}async function ya(e,t){let{arrayName:s,subscriptExpr:n}=t;if(e.state.associativeArrays?.has(s))return vi(e,s,n);let i;if(/^-?\d+$/.test(n))i=Number.parseInt(n,10);else{try{let o=new V,a=Q(o,n);i=await j(e,a.expression,!1)}catch{let o=e.state.env.get(n);i=o?Number.parseInt(o,10):0}Number.isNaN(i)&&(i=0)}if(i<0){let o=Ee(e,s);o.length>0&&(i=Math.max(...o.map(l=>l[0]))+1+i)}return`${s}_${i}`}async function bi(e,t,s,n){let r=await Ne(e,t.redirections);if(r)return r;let i=new Map(e.state.env),o=e.state.cwd,a={...e.state.options},l=new Map(e.state.functions),c=e.state.localScopes,u=e.state.localVarStack,f=e.state.localVarDepth,d=e.state.fullyUnsetLocals;if(e.state.localScopes=c.map(E=>new Map(E)),u){e.state.localVarStack=new Map;for(let[E,O]of u.entries())e.state.localVarStack.set(E,O.map(_=>({..._})))}f&&(e.state.localVarDepth=new Map(f)),d&&(e.state.fullyUnsetLocals=new Map(d));let h=e.state.loopDepth,m=e.state.parentHasLoopContext;e.state.parentHasLoopContext=h>0,e.state.loopDepth=0;let p=e.state.lastArg,g=e.state.bashPid;e.state.bashPid=e.state.nextVirtualPid++;let w=e.state.groupStdin;s&&(e.state.groupStdin=s);let y="",v="",b=0,S=()=>{e.state.env=i,e.state.cwd=o,e.state.options=a,e.state.functions=l,e.state.localScopes=c,e.state.localVarStack=u,e.state.localVarDepth=f,e.state.fullyUnsetLocals=d,e.state.loopDepth=h,e.state.parentHasLoopContext=m,e.state.groupStdin=w,e.state.bashPid=g,e.state.lastArg=p};try{for(let E of t.body){let O=await n(E);y+=O.stdout,v+=O.stderr,b=O.exitCode}}catch(E){if(S(),E instanceof Y)throw E;if(E instanceof Ie){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof de||E instanceof he){y+=E.stdout,v+=E.stderr;let _=k(y,v,0);return q(e,_,t.redirections)}if(E instanceof B){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof le){y+=E.stdout,v+=E.stderr;let _=k(y,v,E.exitCode);return q(e,_,t.redirections)}if(E instanceof pe){let _=k(y+E.stdout,v+E.stderr,E.exitCode);return q(e,_,t.redirections)}let O=k(y,`${v}${De(E)}
656
656
  `,1);return q(e,O,t.redirections)}S();let $=k(y,v,b);return q(e,$,t.redirections)}async function $i(e,t,s,n){let r="",i="",o=0,a=await ts(e,t.redirections);if(a)return a;let l=s;for(let f of t.redirections)if((f.operator==="<<"||f.operator==="<<-")&&f.target.type==="HereDoc"){let d=f.target,h=await I(e,d.content);d.stripTabs&&(h=h.split(`
657
657
  `).map(p=>p.replace(/^\t+/,"")).join(`
658
658
  `));let m=f.fd??0;m!==0?(e.state.fileDescriptors||(e.state.fileDescriptors=new Map),ie(e),e.state.fileDescriptors.set(m,h)):l=h}else if(f.operator==="<<<"&&f.target.type==="Word")l=`${await I(e,f.target)}