{"version":3,"file":"index.node.cjs","names":["n","e","t","r","Promise","TypeError","i","ep","code","ignoreErrors","sync","o","options","env","process","cwd","s","chdir","disabled","ed","command","path","ef","pathExt","eL","delimiter","resolve","a","replace","tU","c","l","Buffer","alloc","ej","openSync","readSync","closeSync","ey","toString","d","file","el","eg","args","unshift","u","tF","tM","test","forceShell","tD","normalize","em","map","eh","concat","join","comspec","windowsVerbatimArguments","p","Array","isArray","slice","Object","assign","original","shell","f","Error","errno","syscall","spawnargs","m","tq","emit","h","call","apply","arguments","g","y","ec","eN","spawn","eE","hookChildProcess","b","spawnSync","error","verifyENOENTSync","status","E","charCodeAt","length","x","platform","keys","reverse","find","toUpperCase","v","eB","execPath","URL","eU","fileURLToPath","e_","push","w","S","ignoreNonConfigurable","name","Reflect","ownKeys","tH","tX","tZ","T","pipe","I","writable","_write","_writableState","C","readable","_read","_readableState","O","P","_transform","A","maxBuffer","eC","getBufferedLength","eT","MAX_LENGTH","bufferedData","getBufferedValue","rN","on","rU","$","na","r3","r8","ni","rL","ek","ChildProcess","rz","reject","ri","stdout","stderr","all","escapedCommand","parsed","timedOut","isCanceled","killed","rJ","rj","rR","kill","rI","bind","cancel","r$","ex","exitCode","signal","rV","nc","aborted","failed","rH","rW","rB","G","rD","input","j","ne","nd","L","r9","R","_","rc","execArgv","filter","startsWith","nodePath","nodeOptions","stdin","stdio","k","z","nothrow","B","getuid","CI","N","U","F","np","D","M","q","H","W","X","systemdrive","K","nf","V","SUDO_USER","statSync","isDirectory","Q","et","er","en","ei","eo","es","ew","eI","eO","eA","isSymbolicLink","isFile","PATHEXT","split","indexOf","toLowerCase","substr","stat","exports","mode","uid","gid","getgid","parseInt","promises","access","eJ","appendFile","eQ","chmod","e0","chown","e1","copyFile","e2","lchmod","e3","lchown","e8","link","e5","lstat","e9","mkdir","e4","mkdtemp","e6","open","e7","readdir","te","readFile","tt","readlink","tr","realpath","tn","rename","ti","rmdir","to","ts","symlink","ta","truncate","tc","unlink","tl","utimes","td","writeFile","tu","tp","tm","tf","th","groups","getgroups","Set","has","tg","tE","ty","tb","substring","tx","_ISEXE_TEST_PLATFORM_","tv","ee","J","tw","isexe","tS","sep","posix","tT","tI","RegExp","tC","source","tO","tP","PATH","match","flatMap","includes","pathEnv","pathExtExe","tA","t$","tG","tj","OSTYPE","tL","ez","eV","TESTING_WINDOWS","eu","tR","t_","colon","tk","then","tB","tN","default","eb","pop","verifyENOENT","notFoundError","ea","_parse","_enoent","getOwnPropertyDescriptor","tW","defineProperty","configurable","enumerable","value","getPrototypeOf","setPrototypeOf","tK","tV","Function","prototype","tY","trim","tz","WeakMap","tJ","displayName","set","throw","callCount","get","tQ","from","t2","t1","t0","number","action","description","standard","t3","forced","t8","t5","signals","eF","constants","supported","t9","fromEntries","t4","t6","t7","re","rt","rr","rn","timeout","errorCode","signalDescription","message","Boolean","originalMessage","shortMessage","ro","rs","some","ra","Math","max","rl","removeListener","reallyExit","listeners","pid","rd","ru","eM","rp","rf","rm","eD","EventEmitter","__signal_exit_emitter__","count","emitted","infinite","setMaxListeners","rh","rb","forEach","ry","rw","rx","ev","equal","rE","alwaysLast","unload","rg","rS","rv","load","rT","rC","rO","setTimeout","rA","unref","forceKillAfterTimeout","rP","SIGTERM","Number","isFinite","rG","killSignal","race","finally","clearTimeout","cleanup","detached","r_","rk","eq","createWriteStream","pipeStdout","pipeStderr","pipeAll","eH","eX","promisify","eW","PassThrough","array","encoding","objectMode","setEncoding","pipeline","constructor","eS","buffer","MaxBufferError","eP","once","end","add","isEmpty","rF","rM","inputFile","readFileSync","rq","createReadStream","rX","destroy","rK","rY","rZ","rQ","r0","r1","r2","r5","endsWith","r4","String","eR","isBuffer","r6","r7","templates","expressions","tokens","index","template","raw","entries","nt","eK","debuglog","enabled","nr","padStart","nn","Date","getHours","getMinutes","getSeconds","getMilliseconds","verbose","write","no","ns","extendEnv","preferLocal","localDir","stripFinalNewline","windowsHide","basename","nl","nu","nm"],"sources":["../<anon>","../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/windows.js","../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/mode.js","../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/signals.js","../src/index.mts","../src/root.mts","../node_modules/.pnpm/which@4.0.0/node_modules/which/lib/index.js","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/mjs/index.js","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/index.ts","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/mjs/posix.js","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/posix.ts","../src/compat/fs/promises.mts","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/dist/mjs/win32.js","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/win32.ts","../node_modules/.pnpm/isexe@3.1.1/node_modules/isexe/src/options.ts","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/index.js","../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/index.js","../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/parse.js","../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/resolveCommand.js","../node_modules/.pnpm/which@2.0.2/node_modules/which/which.js","../node_modules/.pnpm/isexe@2.0.0/node_modules/isexe/index.js","../node_modules/.pnpm/path-key@3.1.1/node_modules/path-key/index.js","../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/escape.js","../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/util/readShebang.js","../node_modules/.pnpm/shebang-command@2.0.0/node_modules/shebang-command/index.js","../node_modules/.pnpm/shebang-regex@3.0.0/node_modules/shebang-regex/index.js","../node_modules/.pnpm/cross-spawn@7.0.3/node_modules/cross-spawn/lib/enoent.js","../node_modules/.pnpm/strip-final-newline@3.0.0/node_modules/strip-final-newline/index.js","../node_modules/.pnpm/npm-run-path@5.2.0/node_modules/npm-run-path/index.js","../node_modules/.pnpm/path-key@4.0.0/node_modules/path-key/index.js","../node_modules/.pnpm/onetime@6.0.0/node_modules/onetime/index.js","../node_modules/.pnpm/mimic-fn@4.0.0/node_modules/mimic-fn/index.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/error.js","../node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/main.js","../node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/realtime.js","../node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/signals.js","../node_modules/.pnpm/human-signals@4.3.1/node_modules/human-signals/build/src/core.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/stdio.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/kill.js","../node_modules/.pnpm/signal-exit@3.0.7/node_modules/signal-exit/index.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/pipe.js","../node_modules/.pnpm/is-stream@3.0.0/node_modules/is-stream/index.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/stream.js","../node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/index.js","../node_modules/.pnpm/get-stream@6.0.1/node_modules/get-stream/buffer-stream.js","../node_modules/.pnpm/merge-stream@2.0.0/node_modules/merge-stream/index.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/promise.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/command.js","../node_modules/.pnpm/execa@7.2.0/node_modules/execa/lib/verbose.js","../src/admin.mts","../src/is-admin.mts","../src/user-access.mts"],"sourcesContent":["var $dtrkX$fs = require(\"fs\");\nvar $dtrkX$path = require(\"path\");\nvar $dtrkX$nodebuffer = require(\"node:buffer\");\nvar $dtrkX$nodepath = require(\"node:path\");\nvar $dtrkX$nodechild_process = require(\"node:child_process\");\nvar $dtrkX$nodeprocess = require(\"node:process\");\nvar $dtrkX$child_process = require(\"child_process\");\nvar $dtrkX$nodeurl = require(\"node:url\");\nvar $dtrkX$nodeos = require(\"node:os\");\nvar $dtrkX$assert = require(\"assert\");\nvar $dtrkX$events = require(\"events\");\nvar $dtrkX$nodefs = require(\"node:fs\");\nvar $dtrkX$buffer = require(\"buffer\");\nvar $dtrkX$stream = require(\"stream\");\nvar $dtrkX$util = require(\"util\");\nvar $dtrkX$nodeutil = require(\"node:util\");\n\n\nfunction $parcel$exportWildcard(dest, source) {\n  Object.keys(source).forEach(function(key) {\n    if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n      return;\n    }\n\n    Object.defineProperty(dest, key, {\n      enumerable: true,\n      get: function get() {\n        return source[key];\n      }\n    });\n  });\n\n  return dest;\n}\n\nfunction $parcel$interopDefault(a) {\n  return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n  Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n      var $parcel$global = globalThis;\n    \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequireb51e\"];\n\nif (parcelRequire == null) {\n  parcelRequire = function(id) {\n    if (id in $parcel$modules) {\n      return $parcel$modules[id].exports;\n    }\n    if (id in $parcel$inits) {\n      var init = $parcel$inits[id];\n      delete $parcel$inits[id];\n      var module = {id: id, exports: {}};\n      $parcel$modules[id] = module;\n      init.call(module.exports, module, module.exports);\n      return module.exports;\n    }\n    var err = new Error(\"Cannot find module '\" + id + \"'\");\n    err.code = 'MODULE_NOT_FOUND';\n    throw err;\n  };\n\n  parcelRequire.register = function register(id, init) {\n    $parcel$inits[id] = init;\n  };\n\n  $parcel$global[\"parcelRequireb51e\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"ftrAD\", function(module, exports) {\nmodule.exports = $b43ef73900290537$var$isexe;\n$b43ef73900290537$var$isexe.sync = $b43ef73900290537$var$sync;\n\nfunction $b43ef73900290537$var$checkPathExt(path, options) {\n    var pathext = options.pathExt !== undefined ? options.pathExt : process.env.PATHEXT;\n    if (!pathext) return true;\n    pathext = pathext.split(\";\");\n    if (pathext.indexOf(\"\") !== -1) return true;\n    for(var i = 0; i < pathext.length; i++){\n        var p = pathext[i].toLowerCase();\n        if (p && path.substr(-p.length).toLowerCase() === p) return true;\n    }\n    return false;\n}\nfunction $b43ef73900290537$var$checkStat(stat, path, options) {\n    if (!stat.isSymbolicLink() && !stat.isFile()) return false;\n    return $b43ef73900290537$var$checkPathExt(path, options);\n}\nfunction $b43ef73900290537$var$isexe(path, options, cb) {\n    $dtrkX$fs.stat(path, function(er, stat) {\n        cb(er, er ? false : $b43ef73900290537$var$checkStat(stat, path, options));\n    });\n}\nfunction $b43ef73900290537$var$sync(path, options) {\n    return $b43ef73900290537$var$checkStat($dtrkX$fs.statSync(path), path, options);\n}\n\n});\n\nparcelRegister(\"9yF3I\", function(module, exports) {\nmodule.exports = $6f57237f32b1c8cb$var$isexe;\n$6f57237f32b1c8cb$var$isexe.sync = $6f57237f32b1c8cb$var$sync;\n\nfunction $6f57237f32b1c8cb$var$isexe(path, options, cb) {\n    $dtrkX$fs.stat(path, function(er, stat) {\n        cb(er, er ? false : $6f57237f32b1c8cb$var$checkStat(stat, options));\n    });\n}\nfunction $6f57237f32b1c8cb$var$sync(path, options) {\n    return $6f57237f32b1c8cb$var$checkStat($dtrkX$fs.statSync(path), options);\n}\nfunction $6f57237f32b1c8cb$var$checkStat(stat, options) {\n    return stat.isFile() && $6f57237f32b1c8cb$var$checkMode(stat, options);\n}\nfunction $6f57237f32b1c8cb$var$checkMode(stat, options) {\n    var mod = stat.mode;\n    var uid = stat.uid;\n    var gid = stat.gid;\n    var myUid = options.uid !== undefined ? options.uid : process.getuid && process.getuid();\n    var myGid = options.gid !== undefined ? options.gid : process.getgid && process.getgid();\n    var u = parseInt(\"100\", 8);\n    var g = parseInt(\"010\", 8);\n    var o = parseInt(\"001\", 8);\n    var ug = u | g;\n    var ret = mod & o || mod & g && gid === myGid || mod & u && uid === myUid || mod & ug && myUid === 0;\n    return ret;\n}\n\n});\n\nparcelRegister(\"bJALw\", function(module, exports) {\n// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems.  Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL.  It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\nmodule.exports = [\n    \"SIGABRT\",\n    \"SIGALRM\",\n    \"SIGHUP\",\n    \"SIGINT\",\n    \"SIGTERM\"\n];\nif (process.platform !== \"win32\") module.exports.push(\"SIGVTALRM\", \"SIGXCPU\", \"SIGXFSZ\", \"SIGUSR2\", \"SIGTRAP\", \"SIGSYS\", \"SIGQUIT\", \"SIGIOT\");\nif (process.platform === \"linux\") module.exports.push(\"SIGIO\", \"SIGPOLL\", \"SIGPWR\", \"SIGSTKFLT\", \"SIGUNUSED\");\n\n});\n\nvar $794e319dbcdb5a2b$exports = {};\n\n$parcel$export($794e319dbcdb5a2b$exports, \"hasSudo\", () => $794e319dbcdb5a2b$export$7683bf1311d8252);\n$parcel$export($794e319dbcdb5a2b$exports, \"isRoot\", () => $794e319dbcdb5a2b$export$e3140dc7d0c35e48);\n$parcel$export($794e319dbcdb5a2b$exports, \"isSudo\", () => $794e319dbcdb5a2b$export$316200228f28b8ce);\n$parcel$export($794e319dbcdb5a2b$exports, \"prependSudo\", () => $794e319dbcdb5a2b$export$d976d47922ae9667);\n$parcel$export($794e319dbcdb5a2b$exports, \"defaultExecOptions\", () => $794e319dbcdb5a2b$export$151aeb0ade3989e1);\n$parcel$export($794e319dbcdb5a2b$exports, \"execRootSync\", () => $794e319dbcdb5a2b$export$58f152936f209932);\n$parcel$export($794e319dbcdb5a2b$exports, \"execRoot\", () => $794e319dbcdb5a2b$export$351270479e2eef26);\nvar $e354e8ac503df91c$exports = {};\nvar $0d005acc9f1cecf2$exports = {};\n\n$parcel$export($0d005acc9f1cecf2$exports, \"isexe\", () => $0d005acc9f1cecf2$export$35888d6059c232d4);\n$parcel$export($0d005acc9f1cecf2$exports, \"sync\", () => $0d005acc9f1cecf2$export$92d6409d68f0739a);\n/**\n * This is the Posix implementation of isexe, which uses the file\n * mode and uid/gid values.\n *\n * @module\n */ \n\nvar $559628a144c91ac9$export$2e2bcd8739ae039 = (0, $dtrkX$fs.promises);\nconst { access: $559628a144c91ac9$export$9bb0e144ba4929ca, appendFile: $559628a144c91ac9$export$31f54b44f813a103, chmod: $559628a144c91ac9$export$fe07cae62e774a05, chown: $559628a144c91ac9$export$86560bc0b866a003, copyFile: $559628a144c91ac9$export$c763efb2c06e223f, lchmod: $559628a144c91ac9$export$4d4374c7ea08c49f, lchown: $559628a144c91ac9$export$b34a65c440b523a2, link: $559628a144c91ac9$export$9c30223ca0a664fb, lstat: $559628a144c91ac9$export$c29f07eab13966a4, mkdir: $559628a144c91ac9$export$d9fa9670717a639d, mkdtemp: $559628a144c91ac9$export$bb440dc863a3b46a, open: $559628a144c91ac9$export$3ce6949f20cea765, readdir: $559628a144c91ac9$export$b1e07c405f785337, readFile: $559628a144c91ac9$export$72c04af63de9061a, readlink: $559628a144c91ac9$export$3d3ca76659ee9f39, realpath: $559628a144c91ac9$export$9f2c45015a422c45, rename: $559628a144c91ac9$export$7ac989ec0c9c279, rmdir: $559628a144c91ac9$export$3f660f6332b9a01d, stat: $559628a144c91ac9$export$f82f04a91eb6144a, symlink: $559628a144c91ac9$export$ed42c6f39f07f97, truncate: $559628a144c91ac9$export$6a506b36fdea397d, unlink: $559628a144c91ac9$export$5e0808041271ce04, utimes: $559628a144c91ac9$export$d85d919a687a608f, writeFile: $559628a144c91ac9$export$552bfb764b5cd2b4 } = (0, $dtrkX$fs.promises); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbWlzZXMubWpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2NvbXBhdC9mcy9wcm9taXNlcy5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUM3QixlQUFlLFFBQVEsQ0FBQTtBQUV2QixNQUFNLENBQUMsTUFBTSxFQUNYLE1BQU0sRUFDTixVQUFVLEVBQ1YsS0FBSyxFQUNMLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxFQUNMLEtBQUssRUFDTCxPQUFPLEVBQ1AsSUFBSSxFQUNKLE9BQU8sRUFDUCxRQUFRLEVBQ1IsUUFBUSxFQUNSLFFBQVEsRUFDUixNQUFNLEVBQ04sS0FBSyxFQUNMLElBQUksRUFDSixPQUFPLEVBQ1AsUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sU0FBUyxHQUNWLEdBQUcsUUFBUSxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgcHJvbWlzZXMgfSBmcm9tIFwiZnNcIlxuZXhwb3J0IGRlZmF1bHQgcHJvbWlzZXNcblxuZXhwb3J0IGNvbnN0IHtcbiAgYWNjZXNzLFxuICBhcHBlbmRGaWxlLFxuICBjaG1vZCxcbiAgY2hvd24sXG4gIGNvcHlGaWxlLFxuICBsY2htb2QsXG4gIGxjaG93bixcbiAgbGluayxcbiAgbHN0YXQsXG4gIG1rZGlyLFxuICBta2R0ZW1wLFxuICBvcGVuLFxuICByZWFkZGlyLFxuICByZWFkRmlsZSxcbiAgcmVhZGxpbmssXG4gIHJlYWxwYXRoLFxuICByZW5hbWUsXG4gIHJtZGlyLFxuICBzdGF0LFxuICBzeW1saW5rLFxuICB0cnVuY2F0ZSxcbiAgdW5saW5rLFxuICB1dGltZXMsXG4gIHdyaXRlRmlsZSxcbn0gPSBwcm9taXNlc1xuIl19\n\n\nconst $0d005acc9f1cecf2$export$35888d6059c232d4 = async (path, options = {})=>{\n    const { ignoreErrors: ignoreErrors = false } = options;\n    try {\n        return $0d005acc9f1cecf2$var$checkStat(await (0, $559628a144c91ac9$export$f82f04a91eb6144a)(path), options);\n    } catch (e) {\n        const er = e;\n        if (ignoreErrors || er.code === \"EACCES\") return false;\n        throw er;\n    }\n};\nconst $0d005acc9f1cecf2$export$92d6409d68f0739a = (path, options = {})=>{\n    const { ignoreErrors: ignoreErrors = false } = options;\n    try {\n        return $0d005acc9f1cecf2$var$checkStat((0, $dtrkX$fs.statSync)(path), options);\n    } catch (e) {\n        const er = e;\n        if (ignoreErrors || er.code === \"EACCES\") return false;\n        throw er;\n    }\n};\nconst $0d005acc9f1cecf2$var$checkStat = (stat, options)=>stat.isFile() && $0d005acc9f1cecf2$var$checkMode(stat, options);\nconst $0d005acc9f1cecf2$var$checkMode = (stat, options)=>{\n    var _process_getuid, _process, _process_getgroups, _process1, _process_getgid, _process2;\n    var _options_uid;\n    const myUid = (_options_uid = options.uid) !== null && _options_uid !== void 0 ? _options_uid : (_process_getuid = (_process = process).getuid) === null || _process_getuid === void 0 ? void 0 : _process_getuid.call(_process);\n    var _options_groups, _ref;\n    const myGroups = (_ref = (_options_groups = options.groups) !== null && _options_groups !== void 0 ? _options_groups : (_process_getgroups = (_process1 = process).getgroups) === null || _process_getgroups === void 0 ? void 0 : _process_getgroups.call(_process1)) !== null && _ref !== void 0 ? _ref : [];\n    var _options_gid, _ref1;\n    const myGid = (_ref1 = (_options_gid = options.gid) !== null && _options_gid !== void 0 ? _options_gid : (_process_getgid = (_process2 = process).getgid) === null || _process_getgid === void 0 ? void 0 : _process_getgid.call(_process2)) !== null && _ref1 !== void 0 ? _ref1 : myGroups[0];\n    if (myUid === undefined || myGid === undefined) throw new Error(\"cannot get uid or gid\");\n    const groups = new Set([\n        myGid,\n        ...myGroups\n    ]);\n    const mod = stat.mode;\n    const uid = stat.uid;\n    const gid = stat.gid;\n    const u = parseInt(\"100\", 8);\n    const g = parseInt(\"010\", 8);\n    const o = parseInt(\"001\", 8);\n    const ug = u | g;\n    return !!(mod & o || mod & g && groups.has(gid) || mod & u && uid === myUid || mod & ug && myUid === 0);\n};\n\n\nvar $03c16384f532a838$exports = {};\n\n$parcel$export($03c16384f532a838$exports, \"isexe\", () => $03c16384f532a838$export$35888d6059c232d4);\n$parcel$export($03c16384f532a838$exports, \"sync\", () => $03c16384f532a838$export$92d6409d68f0739a);\n/**\n * This is the Windows implementation of isexe, which uses the file\n * extension and PATHEXT setting.\n *\n * @module\n */ \n\nconst $03c16384f532a838$export$35888d6059c232d4 = async (path, options = {})=>{\n    const { ignoreErrors: ignoreErrors = false } = options;\n    try {\n        return $03c16384f532a838$var$checkStat(await (0, $559628a144c91ac9$export$f82f04a91eb6144a)(path), path, options);\n    } catch (e) {\n        const er = e;\n        if (ignoreErrors || er.code === \"EACCES\") return false;\n        throw er;\n    }\n};\nconst $03c16384f532a838$export$92d6409d68f0739a = (path, options = {})=>{\n    const { ignoreErrors: ignoreErrors = false } = options;\n    try {\n        return $03c16384f532a838$var$checkStat((0, $dtrkX$fs.statSync)(path), path, options);\n    } catch (e) {\n        const er = e;\n        if (ignoreErrors || er.code === \"EACCES\") return false;\n        throw er;\n    }\n};\nconst $03c16384f532a838$var$checkPathExt = (path, options)=>{\n    const { pathExt: pathExt = process.env.PATHEXT || \"\" } = options;\n    const peSplit = pathExt.split(\";\");\n    if (peSplit.indexOf(\"\") !== -1) return true;\n    for(let i = 0; i < peSplit.length; i++){\n        const p = peSplit[i].toLowerCase();\n        const ext = path.substring(path.length - p.length).toLowerCase();\n        if (p && ext === p) return true;\n    }\n    return false;\n};\nconst $03c16384f532a838$var$checkStat = (stat, path, options)=>stat.isFile() && $03c16384f532a838$var$checkPathExt(path, options);\n\n\n\n\nconst $8135b918ae2698c2$var$platform = process.env._ISEXE_TEST_PLATFORM_ || process.platform;\nconst $8135b918ae2698c2$var$impl = $8135b918ae2698c2$var$platform === \"win32\" ? $03c16384f532a838$exports : $0d005acc9f1cecf2$exports;\nconst $8135b918ae2698c2$export$35888d6059c232d4 = $8135b918ae2698c2$var$impl.isexe;\nconst $8135b918ae2698c2$export$92d6409d68f0739a = $8135b918ae2698c2$var$impl.sync;\n\n\nvar $e354e8ac503df91c$require$isexe = $8135b918ae2698c2$export$35888d6059c232d4;\nvar $e354e8ac503df91c$require$isexeSync = $8135b918ae2698c2$export$92d6409d68f0739a;\n\nvar $e354e8ac503df91c$require$join = $dtrkX$path.join;\nvar $e354e8ac503df91c$require$delimiter = $dtrkX$path.delimiter;\nvar $e354e8ac503df91c$require$sep = $dtrkX$path.sep;\nvar $e354e8ac503df91c$require$posix = $dtrkX$path.posix;\nconst $e354e8ac503df91c$var$isWindows = process.platform === \"win32\";\n// used to check for slashed in commands passed in. always checks for the posix\n// seperator on all platforms, and checks for the current separator when not on\n// a posix platform. don't use the isWindows check for this since that is mocked\n// in tests but we still need the code to actually work when called. that is also\n// why it is ignored from coverage.\n/* istanbul ignore next */ const $e354e8ac503df91c$var$rSlash = new RegExp(`[${$e354e8ac503df91c$require$posix.sep}${$e354e8ac503df91c$require$sep === $e354e8ac503df91c$require$posix.sep ? \"\" : $e354e8ac503df91c$require$sep}]`.replace(/(\\\\)/g, \"\\\\$1\"));\nconst $e354e8ac503df91c$var$rRel = new RegExp(`^\\\\.${$e354e8ac503df91c$var$rSlash.source}`);\nconst $e354e8ac503df91c$var$getNotFoundError = (cmd)=>Object.assign(new Error(`not found: ${cmd}`), {\n        code: \"ENOENT\"\n    });\nconst $e354e8ac503df91c$var$getPathInfo = (cmd, { path: optPath = process.env.PATH, pathExt: optPathExt = process.env.PATHEXT, delimiter: optDelimiter = $e354e8ac503df91c$require$delimiter })=>{\n    // If it has a slash, then we don't bother searching the pathenv.\n    // just check the file itself, and that's it.\n    const pathEnv = cmd.match($e354e8ac503df91c$var$rSlash) ? [\n        \"\"\n    ] : [\n        // windows always checks the cwd first\n        ...$e354e8ac503df91c$var$isWindows ? [\n            process.cwd()\n        ] : [],\n        ...(optPath || /* istanbul ignore next: very unusual */ \"\").split(optDelimiter)\n    ];\n    if ($e354e8ac503df91c$var$isWindows) {\n        const pathExtExe = optPathExt || [\n            \".EXE\",\n            \".CMD\",\n            \".BAT\",\n            \".COM\"\n        ].join(optDelimiter);\n        const pathExt = pathExtExe.split(optDelimiter).flatMap((item)=>[\n                item,\n                item.toLowerCase()\n            ]);\n        if (cmd.includes(\".\") && pathExt[0] !== \"\") pathExt.unshift(\"\");\n        return {\n            pathEnv: pathEnv,\n            pathExt: pathExt,\n            pathExtExe: pathExtExe\n        };\n    }\n    return {\n        pathEnv: pathEnv,\n        pathExt: [\n            \"\"\n        ]\n    };\n};\nconst $e354e8ac503df91c$var$getPathPart = (raw, cmd)=>{\n    const pathPart = /^\".*\"$/.test(raw) ? raw.slice(1, -1) : raw;\n    const prefix = !pathPart && $e354e8ac503df91c$var$rRel.test(cmd) ? cmd.slice(0, 2) : \"\";\n    return prefix + $e354e8ac503df91c$require$join(pathPart, cmd);\n};\nconst $e354e8ac503df91c$var$which = async (cmd, opt = {})=>{\n    const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $e354e8ac503df91c$var$getPathInfo(cmd, opt);\n    const found = [];\n    for (const envPart of pathEnv){\n        const p = $e354e8ac503df91c$var$getPathPart(envPart, cmd);\n        for (const ext of pathExt){\n            const withExt = p + ext;\n            const is = await $e354e8ac503df91c$require$isexe(withExt, {\n                pathExt: pathExtExe,\n                ignoreErrors: true\n            });\n            if (is) {\n                if (!opt.all) return withExt;\n                found.push(withExt);\n            }\n        }\n    }\n    if (opt.all && found.length) return found;\n    if (opt.nothrow) return null;\n    throw $e354e8ac503df91c$var$getNotFoundError(cmd);\n};\nconst $e354e8ac503df91c$var$whichSync = (cmd, opt = {})=>{\n    const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $e354e8ac503df91c$var$getPathInfo(cmd, opt);\n    const found = [];\n    for (const pathEnvPart of pathEnv){\n        const p = $e354e8ac503df91c$var$getPathPart(pathEnvPart, cmd);\n        for (const ext of pathExt){\n            const withExt = p + ext;\n            const is = $e354e8ac503df91c$require$isexeSync(withExt, {\n                pathExt: pathExtExe,\n                ignoreErrors: true\n            });\n            if (is) {\n                if (!opt.all) return withExt;\n                found.push(withExt);\n            }\n        }\n    }\n    if (opt.all && found.length) return found;\n    if (opt.nothrow) return null;\n    throw $e354e8ac503df91c$var$getNotFoundError(cmd);\n};\n$e354e8ac503df91c$exports = $e354e8ac503df91c$var$which;\n$e354e8ac503df91c$var$which.sync = $e354e8ac503df91c$var$whichSync;\n\n\n\n\n\n\nvar $338cd3297632d74f$exports = {};\n\"use strict\";\n\nvar $9cf15e4f01e764e1$exports = {};\n\"use strict\";\n\nvar $51d58653c6048ffd$exports = {};\n\"use strict\";\n\nvar $4ca03dc05bbe4be0$exports = {};\nconst $4ca03dc05bbe4be0$var$isWindows = process.platform === \"win32\" || process.env.OSTYPE === \"cygwin\" || process.env.OSTYPE === \"msys\";\n\nconst $4ca03dc05bbe4be0$var$COLON = $4ca03dc05bbe4be0$var$isWindows ? \";\" : \":\";\nvar $1d8d028d9c47b73d$exports = {};\n\nvar $1d8d028d9c47b73d$var$core;\n\n\nif (process.platform === \"win32\" || $parcel$global.TESTING_WINDOWS) $1d8d028d9c47b73d$var$core = (parcelRequire(\"ftrAD\"));\nelse $1d8d028d9c47b73d$var$core = (parcelRequire(\"9yF3I\"));\n$1d8d028d9c47b73d$exports = $1d8d028d9c47b73d$var$isexe;\n$1d8d028d9c47b73d$var$isexe.sync = $1d8d028d9c47b73d$var$sync;\nfunction $1d8d028d9c47b73d$var$isexe(path, options, cb) {\n    if (typeof options === \"function\") {\n        cb = options;\n        options = {};\n    }\n    if (!cb) {\n        if (typeof Promise !== \"function\") throw new TypeError(\"callback not provided\");\n        return new Promise(function(resolve, reject) {\n            $1d8d028d9c47b73d$var$isexe(path, options || {}, function(er, is) {\n                if (er) reject(er);\n                else resolve(is);\n            });\n        });\n    }\n    $1d8d028d9c47b73d$var$core(path, options || {}, function(er, is) {\n        // ignore EACCES because that just means we aren't allowed to run it\n        if (er) {\n            if (er.code === \"EACCES\" || options && options.ignoreErrors) {\n                er = null;\n                is = false;\n            }\n        }\n        cb(er, is);\n    });\n}\nfunction $1d8d028d9c47b73d$var$sync(path, options) {\n    // my kingdom for a filtered catch\n    try {\n        return $1d8d028d9c47b73d$var$core.sync(path, options || {});\n    } catch (er) {\n        if (options && options.ignoreErrors || er.code === \"EACCES\") return false;\n        else throw er;\n    }\n}\n\n\nconst $4ca03dc05bbe4be0$var$getNotFoundError = (cmd)=>Object.assign(new Error(`not found: ${cmd}`), {\n        code: \"ENOENT\"\n    });\nconst $4ca03dc05bbe4be0$var$getPathInfo = (cmd, opt)=>{\n    const colon = opt.colon || $4ca03dc05bbe4be0$var$COLON;\n    // If it has a slash, then we don't bother searching the pathenv.\n    // just check the file itself, and that's it.\n    const pathEnv = cmd.match(/\\//) || $4ca03dc05bbe4be0$var$isWindows && cmd.match(/\\\\/) ? [\n        \"\"\n    ] : [\n        // windows always checks the cwd first\n        ...$4ca03dc05bbe4be0$var$isWindows ? [\n            process.cwd()\n        ] : [],\n        ...(opt.path || process.env.PATH || /* istanbul ignore next: very unusual */ \"\").split(colon)\n    ];\n    const pathExtExe = $4ca03dc05bbe4be0$var$isWindows ? opt.pathExt || process.env.PATHEXT || \".EXE;.CMD;.BAT;.COM\" : \"\";\n    const pathExt = $4ca03dc05bbe4be0$var$isWindows ? pathExtExe.split(colon) : [\n        \"\"\n    ];\n    if ($4ca03dc05bbe4be0$var$isWindows) {\n        if (cmd.indexOf(\".\") !== -1 && pathExt[0] !== \"\") pathExt.unshift(\"\");\n    }\n    return {\n        pathEnv: pathEnv,\n        pathExt: pathExt,\n        pathExtExe: pathExtExe\n    };\n};\nconst $4ca03dc05bbe4be0$var$which = (cmd, opt, cb)=>{\n    if (typeof opt === \"function\") {\n        cb = opt;\n        opt = {};\n    }\n    if (!opt) opt = {};\n    const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $4ca03dc05bbe4be0$var$getPathInfo(cmd, opt);\n    const found = [];\n    const step = (i)=>new Promise((resolve, reject)=>{\n            if (i === pathEnv.length) return opt.all && found.length ? resolve(found) : reject($4ca03dc05bbe4be0$var$getNotFoundError(cmd));\n            const ppRaw = pathEnv[i];\n            const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;\n            const pCmd = $dtrkX$path.join(pathPart, cmd);\n            const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;\n            resolve(subStep(p, i, 0));\n        });\n    const subStep = (p, i, ii)=>new Promise((resolve, reject)=>{\n            if (ii === pathExt.length) return resolve(step(i + 1));\n            const ext = pathExt[ii];\n            $1d8d028d9c47b73d$exports(p + ext, {\n                pathExt: pathExtExe\n            }, (er, is)=>{\n                if (!er && is) {\n                    if (opt.all) found.push(p + ext);\n                    else return resolve(p + ext);\n                }\n                return resolve(subStep(p, i, ii + 1));\n            });\n        });\n    return cb ? step(0).then((res)=>cb(null, res), cb) : step(0);\n};\nconst $4ca03dc05bbe4be0$var$whichSync = (cmd, opt)=>{\n    opt = opt || {};\n    const { pathEnv: pathEnv, pathExt: pathExt, pathExtExe: pathExtExe } = $4ca03dc05bbe4be0$var$getPathInfo(cmd, opt);\n    const found = [];\n    for(let i = 0; i < pathEnv.length; i++){\n        const ppRaw = pathEnv[i];\n        const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw;\n        const pCmd = $dtrkX$path.join(pathPart, cmd);\n        const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd : pCmd;\n        for(let j = 0; j < pathExt.length; j++){\n            const cur = p + pathExt[j];\n            try {\n                const is = $1d8d028d9c47b73d$exports.sync(cur, {\n                    pathExt: pathExtExe\n                });\n                if (is) {\n                    if (opt.all) found.push(cur);\n                    else return cur;\n                }\n            } catch (ex) {}\n        }\n    }\n    if (opt.all && found.length) return found;\n    if (opt.nothrow) return null;\n    throw $4ca03dc05bbe4be0$var$getNotFoundError(cmd);\n};\n$4ca03dc05bbe4be0$exports = $4ca03dc05bbe4be0$var$which;\n$4ca03dc05bbe4be0$var$which.sync = $4ca03dc05bbe4be0$var$whichSync;\n\n\nvar $e9929770d50e0ca3$exports = {};\n\"use strict\";\nconst $e9929770d50e0ca3$var$pathKey = (options = {})=>{\n    const environment = options.env || process.env;\n    const platform = options.platform || process.platform;\n    if (platform !== \"win32\") return \"PATH\";\n    return Object.keys(environment).reverse().find((key)=>key.toUpperCase() === \"PATH\") || \"Path\";\n};\n$e9929770d50e0ca3$exports = $e9929770d50e0ca3$var$pathKey;\n// TODO: Remove this for the next major release\n$e9929770d50e0ca3$exports.default = $e9929770d50e0ca3$var$pathKey;\n\n\nfunction $51d58653c6048ffd$var$resolveCommandAttempt(parsed, withoutPathExt) {\n    const env = parsed.options.env || process.env;\n    const cwd = process.cwd();\n    const hasCustomCwd = parsed.options.cwd != null;\n    // Worker threads do not have process.chdir()\n    const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n    // If a custom `cwd` was specified, we need to change the process cwd\n    // because `which` will do stat calls but does not support a custom cwd\n    if (shouldSwitchCwd) try {\n        process.chdir(parsed.options.cwd);\n    } catch (err) {\n    /* Empty */ }\n    let resolved;\n    try {\n        resolved = $4ca03dc05bbe4be0$exports.sync(parsed.command, {\n            path: env[$e9929770d50e0ca3$exports({\n                env: env\n            })],\n            pathExt: withoutPathExt ? $dtrkX$path.delimiter : undefined\n        });\n    } catch (e) {\n    /* Empty */ } finally{\n        if (shouldSwitchCwd) process.chdir(cwd);\n    }\n    // If we successfully resolved, ensure that an absolute path is returned\n    // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n    if (resolved) resolved = $dtrkX$path.resolve(hasCustomCwd ? parsed.options.cwd : \"\", resolved);\n    return resolved;\n}\nfunction $51d58653c6048ffd$var$resolveCommand(parsed) {\n    return $51d58653c6048ffd$var$resolveCommandAttempt(parsed) || $51d58653c6048ffd$var$resolveCommandAttempt(parsed, true);\n}\n$51d58653c6048ffd$exports = $51d58653c6048ffd$var$resolveCommand;\n\n\nvar $14642610717c66e2$export$ae50443ffc990749;\nvar $14642610717c66e2$export$6ea29ee575e3f5ff;\n\"use strict\";\n// See http://www.robvanderwoude.com/escapechars.php\nconst $14642610717c66e2$var$metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\nfunction $14642610717c66e2$var$escapeCommand(arg) {\n    // Escape meta chars\n    arg = arg.replace($14642610717c66e2$var$metaCharsRegExp, \"^$1\");\n    return arg;\n}\nfunction $14642610717c66e2$var$escapeArgument(arg, doubleEscapeMetaChars) {\n    // Convert to string\n    arg = `${arg}`;\n    // Algorithm below is based on https://qntm.org/cmd\n    // Sequence of backslashes followed by a double quote:\n    // double up all the backslashes and escape the double quote\n    arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n    // Sequence of backslashes followed by the end of the string\n    // (which will become a double quote later):\n    // double up all the backslashes\n    arg = arg.replace(/(\\\\*)$/, \"$1$1\");\n    // All other backslashes occur literally\n    // Quote the whole thing:\n    arg = `\"${arg}\"`;\n    // Escape meta chars\n    arg = arg.replace($14642610717c66e2$var$metaCharsRegExp, \"^$1\");\n    // Double escape meta chars if necessary\n    if (doubleEscapeMetaChars) arg = arg.replace($14642610717c66e2$var$metaCharsRegExp, \"^$1\");\n    return arg;\n}\n$14642610717c66e2$export$ae50443ffc990749 = $14642610717c66e2$var$escapeCommand;\n$14642610717c66e2$export$6ea29ee575e3f5ff = $14642610717c66e2$var$escapeArgument;\n\n\nvar $572e9b86f5fc3342$exports = {};\n\"use strict\";\n\nvar $58ccbcc4db2ecd48$exports = {};\n\"use strict\";\nvar $70842f99e7c30891$exports = {};\n\"use strict\";\n$70842f99e7c30891$exports = /^#!(.*)/;\n\n\n$58ccbcc4db2ecd48$exports = (string = \"\")=>{\n    const match = string.match($70842f99e7c30891$exports);\n    if (!match) return null;\n    const [path, argument] = match[0].replace(/#! ?/, \"\").split(\" \");\n    const binary = path.split(\"/\").pop();\n    if (binary === \"env\") return argument;\n    return argument ? `${binary} ${argument}` : binary;\n};\n\n\nfunction $572e9b86f5fc3342$var$readShebang(command) {\n    // Read the first 150 bytes from the file\n    const size = 150;\n    const buffer = Buffer.alloc(size);\n    let fd;\n    try {\n        fd = $dtrkX$fs.openSync(command, \"r\");\n        $dtrkX$fs.readSync(fd, buffer, 0, size, 0);\n        $dtrkX$fs.closeSync(fd);\n    } catch (e) {}\n    // Attempt to extract shebang (null is returned if not a shebang)\n    return $58ccbcc4db2ecd48$exports(buffer.toString());\n}\n$572e9b86f5fc3342$exports = $572e9b86f5fc3342$var$readShebang;\n\n\nconst $9cf15e4f01e764e1$var$isWin = process.platform === \"win32\";\nconst $9cf15e4f01e764e1$var$isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst $9cf15e4f01e764e1$var$isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\nfunction $9cf15e4f01e764e1$var$detectShebang(parsed) {\n    parsed.file = $51d58653c6048ffd$exports(parsed);\n    const shebang = parsed.file && $572e9b86f5fc3342$exports(parsed.file);\n    if (shebang) {\n        parsed.args.unshift(parsed.file);\n        parsed.command = shebang;\n        return $51d58653c6048ffd$exports(parsed);\n    }\n    return parsed.file;\n}\nfunction $9cf15e4f01e764e1$var$parseNonShell(parsed) {\n    if (!$9cf15e4f01e764e1$var$isWin) return parsed;\n    // Detect & add support for shebangs\n    const commandFile = $9cf15e4f01e764e1$var$detectShebang(parsed);\n    // We don't need a shell if the command filename is an executable\n    const needsShell = !$9cf15e4f01e764e1$var$isExecutableRegExp.test(commandFile);\n    // If a shell is required, use cmd.exe and take care of escaping everything correctly\n    // Note that `forceShell` is an hidden option used only in tests\n    if (parsed.options.forceShell || needsShell) {\n        // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n        // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n        // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n        // we need to double escape them\n        const needsDoubleEscapeMetaChars = $9cf15e4f01e764e1$var$isCmdShimRegExp.test(commandFile);\n        // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n        // This is necessary otherwise it will always fail with ENOENT in those cases\n        parsed.command = $dtrkX$path.normalize(parsed.command);\n        // Escape command & arguments\n        parsed.command = $14642610717c66e2$export$ae50443ffc990749(parsed.command);\n        parsed.args = parsed.args.map((arg)=>$14642610717c66e2$export$6ea29ee575e3f5ff(arg, needsDoubleEscapeMetaChars));\n        const shellCommand = [\n            parsed.command\n        ].concat(parsed.args).join(\" \");\n        parsed.args = [\n            \"/d\",\n            \"/s\",\n            \"/c\",\n            `\"${shellCommand}\"`\n        ];\n        parsed.command = process.env.comspec || \"cmd.exe\";\n        parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n    }\n    return parsed;\n}\nfunction $9cf15e4f01e764e1$var$parse(command, args, options) {\n    // Normalize arguments, similar to nodejs\n    if (args && !Array.isArray(args)) {\n        options = args;\n        args = null;\n    }\n    args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n    options = Object.assign({}, options); // Clone object to avoid changing the original\n    // Build our parsed object\n    const parsed = {\n        command: command,\n        args: args,\n        options: options,\n        file: undefined,\n        original: {\n            command: command,\n            args: args\n        }\n    };\n    // Delegate further parsing to shell or non-shell\n    return options.shell ? parsed : $9cf15e4f01e764e1$var$parseNonShell(parsed);\n}\n$9cf15e4f01e764e1$exports = $9cf15e4f01e764e1$var$parse;\n\n\nvar $cee8c79eb01cd876$exports = {};\n\"use strict\";\nconst $cee8c79eb01cd876$var$isWin = process.platform === \"win32\";\nfunction $cee8c79eb01cd876$var$notFoundError(original, syscall) {\n    return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n        code: \"ENOENT\",\n        errno: \"ENOENT\",\n        syscall: `${syscall} ${original.command}`,\n        path: original.command,\n        spawnargs: original.args\n    });\n}\nfunction $cee8c79eb01cd876$var$hookChildProcess(cp, parsed) {\n    if (!$cee8c79eb01cd876$var$isWin) return;\n    const originalEmit = cp.emit;\n    cp.emit = function(name, arg1) {\n        // If emitting \"exit\" event and exit code is 1, we need to check if\n        // the command exists and emit an \"error\" instead\n        // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n        if (name === \"exit\") {\n            const err = $cee8c79eb01cd876$var$verifyENOENT(arg1, parsed, \"spawn\");\n            if (err) return originalEmit.call(cp, \"error\", err);\n        }\n        return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n    };\n}\nfunction $cee8c79eb01cd876$var$verifyENOENT(status, parsed) {\n    if ($cee8c79eb01cd876$var$isWin && status === 1 && !parsed.file) return $cee8c79eb01cd876$var$notFoundError(parsed.original, \"spawn\");\n    return null;\n}\nfunction $cee8c79eb01cd876$var$verifyENOENTSync(status, parsed) {\n    if ($cee8c79eb01cd876$var$isWin && status === 1 && !parsed.file) return $cee8c79eb01cd876$var$notFoundError(parsed.original, \"spawnSync\");\n    return null;\n}\n$cee8c79eb01cd876$exports = {\n    hookChildProcess: $cee8c79eb01cd876$var$hookChildProcess,\n    verifyENOENT: $cee8c79eb01cd876$var$verifyENOENT,\n    verifyENOENTSync: $cee8c79eb01cd876$var$verifyENOENTSync,\n    notFoundError: $cee8c79eb01cd876$var$notFoundError\n};\n\n\nfunction $338cd3297632d74f$var$spawn(command, args, options) {\n    // Parse the arguments\n    const parsed = $9cf15e4f01e764e1$exports(command, args, options);\n    // Spawn the child process\n    const spawned = $dtrkX$child_process.spawn(parsed.command, parsed.args, parsed.options);\n    // Hook into child process \"exit\" event to emit an error if the command\n    // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    $cee8c79eb01cd876$exports.hookChildProcess(spawned, parsed);\n    return spawned;\n}\nfunction $338cd3297632d74f$var$spawnSync(command, args, options) {\n    // Parse the arguments\n    const parsed = $9cf15e4f01e764e1$exports(command, args, options);\n    // Spawn the child process\n    const result = $dtrkX$child_process.spawnSync(parsed.command, parsed.args, parsed.options);\n    // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    result.error = result.error || $cee8c79eb01cd876$exports.verifyENOENTSync(result.status, parsed);\n    return result;\n}\n$338cd3297632d74f$exports = $338cd3297632d74f$var$spawn;\n$338cd3297632d74f$exports.spawn = $338cd3297632d74f$var$spawn;\n$338cd3297632d74f$exports.sync = $338cd3297632d74f$var$spawnSync;\n$338cd3297632d74f$exports._parse = $9cf15e4f01e764e1$exports;\n$338cd3297632d74f$exports._enoent = $cee8c79eb01cd876$exports;\n\n\nfunction $ee7a5bcd6c625a3d$export$2e2bcd8739ae039(input) {\n    const LF = typeof input === \"string\" ? \"\\n\" : \"\\n\".charCodeAt();\n    const CR = typeof input === \"string\" ? \"\\r\" : \"\\r\".charCodeAt();\n    if (input[input.length - 1] === LF) input = input.slice(0, -1);\n    if (input[input.length - 1] === CR) input = input.slice(0, -1);\n    return input;\n}\n\n\n\n\n\nfunction $24a6dd14ab43103a$export$2e2bcd8739ae039(options = {}) {\n    const { env: env = process.env, platform: platform = process.platform } = options;\n    if (platform !== \"win32\") return \"PATH\";\n    return Object.keys(env).reverse().find((key)=>key.toUpperCase() === \"PATH\") || \"Path\";\n}\n\n\nfunction $3cb9811b7539583d$export$62a298cbef08d65c(options = {}) {\n    const { cwd: cwd = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).cwd(), path: path_ = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).env[(0, $24a6dd14ab43103a$export$2e2bcd8739ae039)()], execPath: execPath = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).execPath } = options;\n    let previous;\n    const execPathString = execPath instanceof URL ? (0, ($parcel$interopDefault($dtrkX$nodeurl))).fileURLToPath(execPath) : execPath;\n    const cwdString = cwd instanceof URL ? (0, ($parcel$interopDefault($dtrkX$nodeurl))).fileURLToPath(cwd) : cwd;\n    let cwdPath = (0, ($parcel$interopDefault($dtrkX$nodepath))).resolve(cwdString);\n    const result = [];\n    while(previous !== cwdPath){\n        result.push((0, ($parcel$interopDefault($dtrkX$nodepath))).join(cwdPath, \"node_modules/.bin\"));\n        previous = cwdPath;\n        cwdPath = (0, ($parcel$interopDefault($dtrkX$nodepath))).resolve(cwdPath, \"..\");\n    }\n    // Ensure the running `node` binary is used.\n    result.push((0, ($parcel$interopDefault($dtrkX$nodepath))).resolve(cwdString, execPathString, \"..\"));\n    return [\n        ...result,\n        path_\n    ].join((0, ($parcel$interopDefault($dtrkX$nodepath))).delimiter);\n}\nfunction $3cb9811b7539583d$export$340e1fbaac04248b({ env: env = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).env, ...options } = {}) {\n    env = {\n        ...env\n    };\n    const path = (0, $24a6dd14ab43103a$export$2e2bcd8739ae039)({\n        env: env\n    });\n    options.path = env[path];\n    env[path] = $3cb9811b7539583d$export$62a298cbef08d65c(options);\n    return env;\n}\n\n\nconst $9b3fe0562d17e106$var$copyProperty = (to, from, property, ignoreNonConfigurable)=>{\n    // `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n    // `Function#prototype` is non-writable and non-configurable so can never be modified.\n    if (property === \"length\" || property === \"prototype\") return;\n    // `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n    if (property === \"arguments\" || property === \"caller\") return;\n    const toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n    const fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n    if (!$9b3fe0562d17e106$var$canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) return;\n    Object.defineProperty(to, property, fromDescriptor);\n};\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst $9b3fe0562d17e106$var$canCopyProperty = function(toDescriptor, fromDescriptor) {\n    return toDescriptor === undefined || toDescriptor.configurable || toDescriptor.writable === fromDescriptor.writable && toDescriptor.enumerable === fromDescriptor.enumerable && toDescriptor.configurable === fromDescriptor.configurable && (toDescriptor.writable || toDescriptor.value === fromDescriptor.value);\n};\nconst $9b3fe0562d17e106$var$changePrototype = (to, from)=>{\n    const fromPrototype = Object.getPrototypeOf(from);\n    if (fromPrototype === Object.getPrototypeOf(to)) return;\n    Object.setPrototypeOf(to, fromPrototype);\n};\nconst $9b3fe0562d17e106$var$wrappedToString = (withName, fromBody)=>`/* Wrapped ${withName}*/\\n${fromBody}`;\nconst $9b3fe0562d17e106$var$toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, \"toString\");\nconst $9b3fe0562d17e106$var$toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, \"name\");\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst $9b3fe0562d17e106$var$changeToString = (to, from, name)=>{\n    const withName = name === \"\" ? \"\" : `with ${name.trim()}() `;\n    const newToString = $9b3fe0562d17e106$var$wrappedToString.bind(null, withName, from.toString());\n    // Ensure `to.toString.toString` is non-enumerable and has the same `same`\n    Object.defineProperty(newToString, \"name\", $9b3fe0562d17e106$var$toStringName);\n    Object.defineProperty(to, \"toString\", {\n        ...$9b3fe0562d17e106$var$toStringDescriptor,\n        value: newToString\n    });\n};\nfunction $9b3fe0562d17e106$export$2e2bcd8739ae039(to, from, { ignoreNonConfigurable: ignoreNonConfigurable = false } = {}) {\n    const { name: name } = to;\n    for (const property of Reflect.ownKeys(from))$9b3fe0562d17e106$var$copyProperty(to, from, property, ignoreNonConfigurable);\n    $9b3fe0562d17e106$var$changePrototype(to, from);\n    $9b3fe0562d17e106$var$changeToString(to, from, name);\n    return to;\n}\n\n\nconst $c984d454db4cce26$var$calledFunctions = new WeakMap();\nconst $c984d454db4cce26$var$onetime = (function_, options = {})=>{\n    if (typeof function_ !== \"function\") throw new TypeError(\"Expected a function\");\n    let returnValue;\n    let callCount = 0;\n    const functionName = function_.displayName || function_.name || \"<anonymous>\";\n    const onetime = function(...arguments_) {\n        $c984d454db4cce26$var$calledFunctions.set(onetime, ++callCount);\n        if (callCount === 1) {\n            returnValue = function_.apply(this, arguments_);\n            function_ = null;\n        } else if (options.throw === true) throw new Error(`Function \\`${functionName}\\` can only be called once`);\n        return returnValue;\n    };\n    (0, $9b3fe0562d17e106$export$2e2bcd8739ae039)(onetime, function_);\n    $c984d454db4cce26$var$calledFunctions.set(onetime, callCount);\n    return onetime;\n};\n$c984d454db4cce26$var$onetime.callCount = (function_)=>{\n    if (!$c984d454db4cce26$var$calledFunctions.has(function_)) throw new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n    return $c984d454db4cce26$var$calledFunctions.get(function_);\n};\nvar $c984d454db4cce26$export$2e2bcd8739ae039 = $c984d454db4cce26$var$onetime;\n\n\n\n\nconst $7af4a19d4aafa4ec$export$e221a98f4fd84d36 = ()=>{\n    const length = $7af4a19d4aafa4ec$export$dc8812f2f8882ff4 - $7af4a19d4aafa4ec$var$SIGRTMIN + 1;\n    return Array.from({\n        length: length\n    }, $7af4a19d4aafa4ec$var$getRealtimeSignal);\n};\nconst $7af4a19d4aafa4ec$var$getRealtimeSignal = (value, index)=>({\n        name: `SIGRT${index + 1}`,\n        number: $7af4a19d4aafa4ec$var$SIGRTMIN + index,\n        action: \"terminate\",\n        description: \"Application-specific signal (realtime)\",\n        standard: \"posix\"\n    });\nconst $7af4a19d4aafa4ec$var$SIGRTMIN = 34;\nconst $7af4a19d4aafa4ec$export$dc8812f2f8882ff4 = 64;\n\n\n\nconst $70775642a267d3c9$export$a43bf6822cc694af = [\n    {\n        name: \"SIGHUP\",\n        number: 1,\n        action: \"terminate\",\n        description: \"Terminal closed\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGINT\",\n        number: 2,\n        action: \"terminate\",\n        description: \"User interruption with CTRL-C\",\n        standard: \"ansi\"\n    },\n    {\n        name: \"SIGQUIT\",\n        number: 3,\n        action: \"core\",\n        description: \"User interruption with CTRL-\\\\\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGILL\",\n        number: 4,\n        action: \"core\",\n        description: \"Invalid machine instruction\",\n        standard: \"ansi\"\n    },\n    {\n        name: \"SIGTRAP\",\n        number: 5,\n        action: \"core\",\n        description: \"Debugger breakpoint\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGABRT\",\n        number: 6,\n        action: \"core\",\n        description: \"Aborted\",\n        standard: \"ansi\"\n    },\n    {\n        name: \"SIGIOT\",\n        number: 6,\n        action: \"core\",\n        description: \"Aborted\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGBUS\",\n        number: 7,\n        action: \"core\",\n        description: \"Bus error due to misaligned, non-existing address or paging error\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGEMT\",\n        number: 7,\n        action: \"terminate\",\n        description: \"Command should be emulated but is not implemented\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGFPE\",\n        number: 8,\n        action: \"core\",\n        description: \"Floating point arithmetic error\",\n        standard: \"ansi\"\n    },\n    {\n        name: \"SIGKILL\",\n        number: 9,\n        action: \"terminate\",\n        description: \"Forced termination\",\n        standard: \"posix\",\n        forced: true\n    },\n    {\n        name: \"SIGUSR1\",\n        number: 10,\n        action: \"terminate\",\n        description: \"Application-specific signal\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGSEGV\",\n        number: 11,\n        action: \"core\",\n        description: \"Segmentation fault\",\n        standard: \"ansi\"\n    },\n    {\n        name: \"SIGUSR2\",\n        number: 12,\n        action: \"terminate\",\n        description: \"Application-specific signal\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGPIPE\",\n        number: 13,\n        action: \"terminate\",\n        description: \"Broken pipe or socket\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGALRM\",\n        number: 14,\n        action: \"terminate\",\n        description: \"Timeout or timer\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGTERM\",\n        number: 15,\n        action: \"terminate\",\n        description: \"Termination\",\n        standard: \"ansi\"\n    },\n    {\n        name: \"SIGSTKFLT\",\n        number: 16,\n        action: \"terminate\",\n        description: \"Stack is empty or overflowed\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGCHLD\",\n        number: 17,\n        action: \"ignore\",\n        description: \"Child process terminated, paused or unpaused\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGCLD\",\n        number: 17,\n        action: \"ignore\",\n        description: \"Child process terminated, paused or unpaused\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGCONT\",\n        number: 18,\n        action: \"unpause\",\n        description: \"Unpaused\",\n        standard: \"posix\",\n        forced: true\n    },\n    {\n        name: \"SIGSTOP\",\n        number: 19,\n        action: \"pause\",\n        description: \"Paused\",\n        standard: \"posix\",\n        forced: true\n    },\n    {\n        name: \"SIGTSTP\",\n        number: 20,\n        action: \"pause\",\n        description: 'Paused using CTRL-Z or \"suspend\"',\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGTTIN\",\n        number: 21,\n        action: \"pause\",\n        description: \"Background process cannot read terminal input\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGBREAK\",\n        number: 21,\n        action: \"terminate\",\n        description: \"User interruption with CTRL-BREAK\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGTTOU\",\n        number: 22,\n        action: \"pause\",\n        description: \"Background process cannot write to terminal output\",\n        standard: \"posix\"\n    },\n    {\n        name: \"SIGURG\",\n        number: 23,\n        action: \"ignore\",\n        description: \"Socket received out-of-band data\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGXCPU\",\n        number: 24,\n        action: \"core\",\n        description: \"Process timed out\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGXFSZ\",\n        number: 25,\n        action: \"core\",\n        description: \"File too big\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGVTALRM\",\n        number: 26,\n        action: \"terminate\",\n        description: \"Timeout or timer\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGPROF\",\n        number: 27,\n        action: \"terminate\",\n        description: \"Timeout or timer\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGWINCH\",\n        number: 28,\n        action: \"ignore\",\n        description: \"Terminal window size changed\",\n        standard: \"bsd\"\n    },\n    {\n        name: \"SIGIO\",\n        number: 29,\n        action: \"terminate\",\n        description: \"I/O is available\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGPOLL\",\n        number: 29,\n        action: \"terminate\",\n        description: \"Watched event\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGINFO\",\n        number: 29,\n        action: \"ignore\",\n        description: \"Request for process information\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGPWR\",\n        number: 30,\n        action: \"terminate\",\n        description: \"Device running out of power\",\n        standard: \"systemv\"\n    },\n    {\n        name: \"SIGSYS\",\n        number: 31,\n        action: \"core\",\n        description: \"Invalid system call\",\n        standard: \"other\"\n    },\n    {\n        name: \"SIGUNUSED\",\n        number: 31,\n        action: \"terminate\",\n        description: \"Invalid system call\",\n        standard: \"other\"\n    }\n];\n\n\n\nconst $cd6bff0b4eba0f9d$export$c50078d4faa171f0 = ()=>{\n    const realtimeSignals = (0, $7af4a19d4aafa4ec$export$e221a98f4fd84d36)();\n    const signals = [\n        ...(0, $70775642a267d3c9$export$a43bf6822cc694af),\n        ...realtimeSignals\n    ].map($cd6bff0b4eba0f9d$var$normalizeSignal);\n    return signals;\n};\nconst $cd6bff0b4eba0f9d$var$normalizeSignal = ({ name: name, number: defaultNumber, description: description, action: action, forced: forced = false, standard: standard })=>{\n    const { signals: { [name]: constantSignal } } = (0, $dtrkX$nodeos.constants);\n    const supported = constantSignal !== undefined;\n    const number = supported ? constantSignal : defaultNumber;\n    return {\n        name: name,\n        number: number,\n        description: description,\n        supported: supported,\n        action: action,\n        forced: forced,\n        standard: standard\n    };\n};\n\n\nconst $be7531ef10340828$var$getSignalsByName = ()=>{\n    const signals = (0, $cd6bff0b4eba0f9d$export$c50078d4faa171f0)();\n    return Object.fromEntries(signals.map($be7531ef10340828$var$getSignalByName));\n};\nconst $be7531ef10340828$var$getSignalByName = ({ name: name, number: number, description: description, supported: supported, action: action, forced: forced, standard: standard })=>[\n        name,\n        {\n            name: name,\n            number: number,\n            description: description,\n            supported: supported,\n            action: action,\n            forced: forced,\n            standard: standard\n        }\n    ];\nconst $be7531ef10340828$export$c3fcb39d6848c78d = $be7531ef10340828$var$getSignalsByName();\nconst $be7531ef10340828$var$getSignalsByNumber = ()=>{\n    const signals = (0, $cd6bff0b4eba0f9d$export$c50078d4faa171f0)();\n    const length = (0, $7af4a19d4aafa4ec$export$dc8812f2f8882ff4) + 1;\n    const signalsA = Array.from({\n        length: length\n    }, (value, number)=>$be7531ef10340828$var$getSignalByNumber(number, signals));\n    return Object.assign({}, ...signalsA);\n};\nconst $be7531ef10340828$var$getSignalByNumber = (number, signals)=>{\n    const signal = $be7531ef10340828$var$findSignalByNumber(number, signals);\n    if (signal === undefined) return {};\n    const { name: name, description: description, supported: supported, action: action, forced: forced, standard: standard } = signal;\n    return {\n        [number]: {\n            name: name,\n            number: number,\n            description: description,\n            supported: supported,\n            action: action,\n            forced: forced,\n            standard: standard\n        }\n    };\n};\nconst $be7531ef10340828$var$findSignalByNumber = (number, signals)=>{\n    const signal = signals.find(({ name: name })=>(0, $dtrkX$nodeos.constants).signals[name] === number);\n    if (signal !== undefined) return signal;\n    return signals.find((signalA)=>signalA.number === number);\n};\nconst $be7531ef10340828$export$12f57f97a08d2468 = $be7531ef10340828$var$getSignalsByNumber();\n\n\nconst $8c592378123445eb$var$getErrorPrefix = ({ timedOut: timedOut, timeout: timeout, errorCode: errorCode, signal: signal, signalDescription: signalDescription, exitCode: exitCode, isCanceled: isCanceled })=>{\n    if (timedOut) return `timed out after ${timeout} milliseconds`;\n    if (isCanceled) return \"was canceled\";\n    if (errorCode !== undefined) return `failed with ${errorCode}`;\n    if (signal !== undefined) return `was killed with ${signal} (${signalDescription})`;\n    if (exitCode !== undefined) return `failed with exit code ${exitCode}`;\n    return \"failed\";\n};\nconst $8c592378123445eb$export$5a4bb2b1c89bdce7 = ({ stdout: stdout, stderr: stderr, all: all, error: error, signal: signal, exitCode: exitCode, command: command, escapedCommand: escapedCommand, timedOut: timedOut, isCanceled: isCanceled, killed: killed, parsed: { options: { timeout: timeout, cwd: cwd = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).cwd() } } })=>{\n    // `signal` and `exitCode` emitted on `spawned.on('exit')` event can be `null`.\n    // We normalize them to `undefined`\n    exitCode = exitCode === null ? undefined : exitCode;\n    signal = signal === null ? undefined : signal;\n    const signalDescription = signal === undefined ? undefined : (0, $be7531ef10340828$export$c3fcb39d6848c78d)[signal].description;\n    const errorCode = error && error.code;\n    const prefix = $8c592378123445eb$var$getErrorPrefix({\n        timedOut: timedOut,\n        timeout: timeout,\n        errorCode: errorCode,\n        signal: signal,\n        signalDescription: signalDescription,\n        exitCode: exitCode,\n        isCanceled: isCanceled\n    });\n    const execaMessage = `Command ${prefix}: ${command}`;\n    const isError = Object.prototype.toString.call(error) === \"[object Error]\";\n    const shortMessage = isError ? `${execaMessage}\\n${error.message}` : execaMessage;\n    const message = [\n        shortMessage,\n        stderr,\n        stdout\n    ].filter(Boolean).join(\"\\n\");\n    if (isError) {\n        error.originalMessage = error.message;\n        error.message = message;\n    } else error = new Error(message);\n    error.shortMessage = shortMessage;\n    error.command = command;\n    error.escapedCommand = escapedCommand;\n    error.exitCode = exitCode;\n    error.signal = signal;\n    error.signalDescription = signalDescription;\n    error.stdout = stdout;\n    error.stderr = stderr;\n    error.cwd = cwd;\n    if (all !== undefined) error.all = all;\n    if (\"bufferedData\" in error) delete error.bufferedData;\n    error.failed = true;\n    error.timedOut = Boolean(timedOut);\n    error.isCanceled = isCanceled;\n    error.killed = killed && !timedOut;\n    return error;\n};\n\n\nconst $b69cfd947fb0b8d1$var$aliases = [\n    \"stdin\",\n    \"stdout\",\n    \"stderr\"\n];\nconst $b69cfd947fb0b8d1$var$hasAlias = (options)=>$b69cfd947fb0b8d1$var$aliases.some((alias)=>options[alias] !== undefined);\nconst $b69cfd947fb0b8d1$export$a581401a57fac02e = (options)=>{\n    if (!options) return;\n    const { stdio: stdio } = options;\n    if (stdio === undefined) return $b69cfd947fb0b8d1$var$aliases.map((alias)=>options[alias]);\n    if ($b69cfd947fb0b8d1$var$hasAlias(options)) throw new Error(`It's not possible to provide \\`stdio\\` in combination with one of ${$b69cfd947fb0b8d1$var$aliases.map((alias)=>`\\`${alias}\\``).join(\", \")}`);\n    if (typeof stdio === \"string\") return stdio;\n    if (!Array.isArray(stdio)) throw new TypeError(`Expected \\`stdio\\` to be of type \\`string\\` or \\`Array\\`, got \\`${typeof stdio}\\``);\n    const length = Math.max(stdio.length, $b69cfd947fb0b8d1$var$aliases.length);\n    return Array.from({\n        length: length\n    }, (value, index)=>stdio[index]);\n};\nconst $b69cfd947fb0b8d1$export$889423b478ae2ba = (options)=>{\n    const stdio = $b69cfd947fb0b8d1$export$a581401a57fac02e(options);\n    if (stdio === \"ipc\") return \"ipc\";\n    if (stdio === undefined || typeof stdio === \"string\") return [\n        stdio,\n        stdio,\n        stdio,\n        \"ipc\"\n    ];\n    if (stdio.includes(\"ipc\")) return stdio;\n    return [\n        ...stdio,\n        \"ipc\"\n    ];\n};\n\n\n\nvar $6a176bc6f7b604f3$exports = {};\n// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar $6a176bc6f7b604f3$var$process = $parcel$global.process;\nconst $6a176bc6f7b604f3$var$processOk = function(process) {\n    return process && typeof process === \"object\" && typeof process.removeListener === \"function\" && typeof process.emit === \"function\" && typeof process.reallyExit === \"function\" && typeof process.listeners === \"function\" && typeof process.kill === \"function\" && typeof process.pid === \"number\" && typeof process.on === \"function\";\n};\n\n\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */ if (!$6a176bc6f7b604f3$var$processOk($6a176bc6f7b604f3$var$process)) $6a176bc6f7b604f3$exports = function() {\n    return function() {};\n};\nelse {\n    var $6a176bc6f7b604f3$var$assert = $dtrkX$assert;\n    var $6a176bc6f7b604f3$var$signals = (parcelRequire(\"bJALw\"));\n    var $6a176bc6f7b604f3$var$isWin = /^win/i.test($6a176bc6f7b604f3$var$process.platform);\n    var $6a176bc6f7b604f3$var$EE = $dtrkX$events;\n    /* istanbul ignore if */ if (typeof $6a176bc6f7b604f3$var$EE !== \"function\") $6a176bc6f7b604f3$var$EE = $6a176bc6f7b604f3$var$EE.EventEmitter;\n    var $6a176bc6f7b604f3$var$emitter;\n    if ($6a176bc6f7b604f3$var$process.__signal_exit_emitter__) $6a176bc6f7b604f3$var$emitter = $6a176bc6f7b604f3$var$process.__signal_exit_emitter__;\n    else {\n        $6a176bc6f7b604f3$var$emitter = $6a176bc6f7b604f3$var$process.__signal_exit_emitter__ = new $6a176bc6f7b604f3$var$EE();\n        $6a176bc6f7b604f3$var$emitter.count = 0;\n        $6a176bc6f7b604f3$var$emitter.emitted = {};\n    }\n    // Because this emitter is a global, we have to check to see if a\n    // previous version of this library failed to enable infinite listeners.\n    // I know what you're about to say.  But literally everything about\n    // signal-exit is a compromise with evil.  Get used to it.\n    if (!$6a176bc6f7b604f3$var$emitter.infinite) {\n        $6a176bc6f7b604f3$var$emitter.setMaxListeners(Infinity);\n        $6a176bc6f7b604f3$var$emitter.infinite = true;\n    }\n    $6a176bc6f7b604f3$exports = function(cb, opts) {\n        /* istanbul ignore if */ if (!$6a176bc6f7b604f3$var$processOk($parcel$global.process)) return function() {};\n        $6a176bc6f7b604f3$var$assert.equal(typeof cb, \"function\", \"a callback must be provided for exit handler\");\n        if ($6a176bc6f7b604f3$var$loaded === false) $6a176bc6f7b604f3$var$load();\n        var ev = \"exit\";\n        if (opts && opts.alwaysLast) ev = \"afterexit\";\n        var remove = function() {\n            $6a176bc6f7b604f3$var$emitter.removeListener(ev, cb);\n            if ($6a176bc6f7b604f3$var$emitter.listeners(\"exit\").length === 0 && $6a176bc6f7b604f3$var$emitter.listeners(\"afterexit\").length === 0) $6a176bc6f7b604f3$var$unload();\n        };\n        $6a176bc6f7b604f3$var$emitter.on(ev, cb);\n        return remove;\n    };\n    var $6a176bc6f7b604f3$var$unload = function unload() {\n        if (!$6a176bc6f7b604f3$var$loaded || !$6a176bc6f7b604f3$var$processOk($parcel$global.process)) return;\n        $6a176bc6f7b604f3$var$loaded = false;\n        $6a176bc6f7b604f3$var$signals.forEach(function(sig) {\n            try {\n                $6a176bc6f7b604f3$var$process.removeListener(sig, $6a176bc6f7b604f3$var$sigListeners[sig]);\n            } catch (er) {}\n        });\n        $6a176bc6f7b604f3$var$process.emit = $6a176bc6f7b604f3$var$originalProcessEmit;\n        $6a176bc6f7b604f3$var$process.reallyExit = $6a176bc6f7b604f3$var$originalProcessReallyExit;\n        $6a176bc6f7b604f3$var$emitter.count -= 1;\n    };\n    $6a176bc6f7b604f3$exports.unload = $6a176bc6f7b604f3$var$unload;\n    var $6a176bc6f7b604f3$var$emit = function emit(event, code, signal) {\n        /* istanbul ignore if */ if ($6a176bc6f7b604f3$var$emitter.emitted[event]) return;\n        $6a176bc6f7b604f3$var$emitter.emitted[event] = true;\n        $6a176bc6f7b604f3$var$emitter.emit(event, code, signal);\n    };\n    // { <signal>: <listener fn>, ... }\n    var $6a176bc6f7b604f3$var$sigListeners = {};\n    $6a176bc6f7b604f3$var$signals.forEach(function(sig) {\n        $6a176bc6f7b604f3$var$sigListeners[sig] = function listener() {\n            /* istanbul ignore if */ if (!$6a176bc6f7b604f3$var$processOk($parcel$global.process)) return;\n            // If there are no other listeners, an exit is coming!\n            // Simplest way: remove us and then re-send the signal.\n            // We know that this will kill the process, so we can\n            // safely emit now.\n            var listeners = $6a176bc6f7b604f3$var$process.listeners(sig);\n            if (listeners.length === $6a176bc6f7b604f3$var$emitter.count) {\n                $6a176bc6f7b604f3$var$unload();\n                $6a176bc6f7b604f3$var$emit(\"exit\", null, sig);\n                /* istanbul ignore next */ $6a176bc6f7b604f3$var$emit(\"afterexit\", null, sig);\n                /* istanbul ignore next */ if ($6a176bc6f7b604f3$var$isWin && sig === \"SIGHUP\") // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n                // so use a supported signal instead\n                sig = \"SIGINT\";\n                /* istanbul ignore next */ $6a176bc6f7b604f3$var$process.kill($6a176bc6f7b604f3$var$process.pid, sig);\n            }\n        };\n    });\n    $6a176bc6f7b604f3$exports.signals = function() {\n        return $6a176bc6f7b604f3$var$signals;\n    };\n    var $6a176bc6f7b604f3$var$loaded = false;\n    var $6a176bc6f7b604f3$var$load = function load() {\n        if ($6a176bc6f7b604f3$var$loaded || !$6a176bc6f7b604f3$var$processOk($parcel$global.process)) return;\n        $6a176bc6f7b604f3$var$loaded = true;\n        // This is the number of onSignalExit's that are in play.\n        // It's important so that we can count the correct number of\n        // listeners on signals, and don't wait for the other one to\n        // handle it instead of us.\n        $6a176bc6f7b604f3$var$emitter.count += 1;\n        $6a176bc6f7b604f3$var$signals = $6a176bc6f7b604f3$var$signals.filter(function(sig) {\n            try {\n                $6a176bc6f7b604f3$var$process.on(sig, $6a176bc6f7b604f3$var$sigListeners[sig]);\n                return true;\n            } catch (er) {\n                return false;\n            }\n        });\n        $6a176bc6f7b604f3$var$process.emit = $6a176bc6f7b604f3$var$processEmit;\n        $6a176bc6f7b604f3$var$process.reallyExit = $6a176bc6f7b604f3$var$processReallyExit;\n    };\n    $6a176bc6f7b604f3$exports.load = $6a176bc6f7b604f3$var$load;\n    var $6a176bc6f7b604f3$var$originalProcessReallyExit = $6a176bc6f7b604f3$var$process.reallyExit;\n    var $6a176bc6f7b604f3$var$processReallyExit = function processReallyExit(code) {\n        /* istanbul ignore if */ if (!$6a176bc6f7b604f3$var$processOk($parcel$global.process)) return;\n        $6a176bc6f7b604f3$var$process.exitCode = code || /* istanbul ignore next */ 0;\n        $6a176bc6f7b604f3$var$emit(\"exit\", $6a176bc6f7b604f3$var$process.exitCode, null);\n        /* istanbul ignore next */ $6a176bc6f7b604f3$var$emit(\"afterexit\", $6a176bc6f7b604f3$var$process.exitCode, null);\n        /* istanbul ignore next */ $6a176bc6f7b604f3$var$originalProcessReallyExit.call($6a176bc6f7b604f3$var$process, $6a176bc6f7b604f3$var$process.exitCode);\n    };\n    var $6a176bc6f7b604f3$var$originalProcessEmit = $6a176bc6f7b604f3$var$process.emit;\n    var $6a176bc6f7b604f3$var$processEmit = function processEmit(ev, arg) {\n        if (ev === \"exit\" && $6a176bc6f7b604f3$var$processOk($parcel$global.process)) {\n            /* istanbul ignore else */ if (arg !== undefined) $6a176bc6f7b604f3$var$process.exitCode = arg;\n            var ret = $6a176bc6f7b604f3$var$originalProcessEmit.apply(this, arguments);\n            /* istanbul ignore next */ $6a176bc6f7b604f3$var$emit(\"exit\", $6a176bc6f7b604f3$var$process.exitCode, null);\n            /* istanbul ignore next */ $6a176bc6f7b604f3$var$emit(\"afterexit\", $6a176bc6f7b604f3$var$process.exitCode, null);\n            /* istanbul ignore next */ return ret;\n        } else return $6a176bc6f7b604f3$var$originalProcessEmit.apply(this, arguments);\n    };\n}\n\n\nconst $18727f3f5cea80c3$var$DEFAULT_FORCE_KILL_TIMEOUT = 5000;\nconst $18727f3f5cea80c3$export$971fa1b57c7f00b = (kill, signal = \"SIGTERM\", options = {})=>{\n    const killResult = kill(signal);\n    $18727f3f5cea80c3$var$setKillTimeout(kill, signal, options, killResult);\n    return killResult;\n};\nconst $18727f3f5cea80c3$var$setKillTimeout = (kill, signal, options, killResult)=>{\n    if (!$18727f3f5cea80c3$var$shouldForceKill(signal, options, killResult)) return;\n    const timeout = $18727f3f5cea80c3$var$getForceKillAfterTimeout(options);\n    const t = setTimeout(()=>{\n        kill(\"SIGKILL\");\n    }, timeout);\n    // Guarded because there's no `.unref()` when `execa` is used in the renderer\n    // process in Electron. This cannot be tested since we don't run tests in\n    // Electron.\n    // istanbul ignore else\n    if (t.unref) t.unref();\n};\nconst $18727f3f5cea80c3$var$shouldForceKill = (signal, { forceKillAfterTimeout: forceKillAfterTimeout }, killResult)=>$18727f3f5cea80c3$var$isSigterm(signal) && forceKillAfterTimeout !== false && killResult;\nconst $18727f3f5cea80c3$var$isSigterm = (signal)=>signal === (0, ($parcel$interopDefault($dtrkX$nodeos))).constants.signals.SIGTERM || typeof signal === \"string\" && signal.toUpperCase() === \"SIGTERM\";\nconst $18727f3f5cea80c3$var$getForceKillAfterTimeout = ({ forceKillAfterTimeout: forceKillAfterTimeout = true })=>{\n    if (forceKillAfterTimeout === true) return $18727f3f5cea80c3$var$DEFAULT_FORCE_KILL_TIMEOUT;\n    if (!Number.isFinite(forceKillAfterTimeout) || forceKillAfterTimeout < 0) throw new TypeError(`Expected the \\`forceKillAfterTimeout\\` option to be a non-negative integer, got \\`${forceKillAfterTimeout}\\` (${typeof forceKillAfterTimeout})`);\n    return forceKillAfterTimeout;\n};\nconst $18727f3f5cea80c3$export$667e13cd9b70ca17 = (spawned, context)=>{\n    const killResult = spawned.kill();\n    if (killResult) context.isCanceled = true;\n};\nconst $18727f3f5cea80c3$var$timeoutKill = (spawned, signal, reject)=>{\n    spawned.kill(signal);\n    reject(Object.assign(new Error(\"Timed out\"), {\n        timedOut: true,\n        signal: signal\n    }));\n};\nconst $18727f3f5cea80c3$export$6bcc98999eb82896 = (spawned, { timeout: timeout, killSignal: killSignal = \"SIGTERM\" }, spawnedPromise)=>{\n    if (timeout === 0 || timeout === undefined) return spawnedPromise;\n    let timeoutId;\n    const timeoutPromise = new Promise((resolve, reject)=>{\n        timeoutId = setTimeout(()=>{\n            $18727f3f5cea80c3$var$timeoutKill(spawned, killSignal, reject);\n        }, timeout);\n    });\n    const safeSpawnedPromise = spawnedPromise.finally(()=>{\n        clearTimeout(timeoutId);\n    });\n    return Promise.race([\n        timeoutPromise,\n        safeSpawnedPromise\n    ]);\n};\nconst $18727f3f5cea80c3$export$3186f8866f616f9f = ({ timeout: timeout })=>{\n    if (timeout !== undefined && (!Number.isFinite(timeout) || timeout < 0)) throw new TypeError(`Expected the \\`timeout\\` option to be a non-negative integer, got \\`${timeout}\\` (${typeof timeout})`);\n};\nconst $18727f3f5cea80c3$export$79fc3056c9ca4ada = async (spawned, { cleanup: cleanup, detached: detached }, timedPromise)=>{\n    if (!cleanup || detached) return timedPromise;\n    const removeExitHandler = (0, (/*@__PURE__*/$parcel$interopDefault($6a176bc6f7b604f3$exports)))(()=>{\n        spawned.kill();\n    });\n    return timedPromise.finally(()=>{\n        removeExitHandler();\n    });\n};\n\n\n\n\nfunction $f2f7667534589a53$export$294a92d8f7b3979(stream) {\n    return stream !== null && typeof stream === \"object\" && typeof stream.pipe === \"function\";\n}\nfunction $f2f7667534589a53$export$b58a61c52edb4f66(stream) {\n    return $f2f7667534589a53$export$294a92d8f7b3979(stream) && stream.writable !== false && typeof stream._write === \"function\" && typeof stream._writableState === \"object\";\n}\nfunction $f2f7667534589a53$export$ac613ff475b69d05(stream) {\n    return $f2f7667534589a53$export$294a92d8f7b3979(stream) && stream.readable !== false && typeof stream._read === \"function\" && typeof stream._readableState === \"object\";\n}\nfunction $f2f7667534589a53$export$f92d8ccfaec172d4(stream) {\n    return $f2f7667534589a53$export$b58a61c52edb4f66(stream) && $f2f7667534589a53$export$ac613ff475b69d05(stream);\n}\nfunction $f2f7667534589a53$export$3053cdc6f2e088fd(stream) {\n    return $f2f7667534589a53$export$f92d8ccfaec172d4(stream) && typeof stream._transform === \"function\";\n}\n\n\nconst $82b93146a5d3dcf5$var$isExecaChildProcess = (target)=>target instanceof (0, $dtrkX$nodechild_process.ChildProcess) && typeof target.then === \"function\";\nconst $82b93146a5d3dcf5$var$pipeToTarget = (spawned, streamName, target)=>{\n    if (typeof target === \"string\") {\n        spawned[streamName].pipe((0, $dtrkX$nodefs.createWriteStream)(target));\n        return spawned;\n    }\n    if ((0, $f2f7667534589a53$export$b58a61c52edb4f66)(target)) {\n        spawned[streamName].pipe(target);\n        return spawned;\n    }\n    if (!$82b93146a5d3dcf5$var$isExecaChildProcess(target)) throw new TypeError(\"The second argument must be a string, a stream or an Execa child process.\");\n    if (!(0, $f2f7667534589a53$export$b58a61c52edb4f66)(target.stdin)) throw new TypeError(\"The target child process's stdin must be available.\");\n    spawned[streamName].pipe(target.stdin);\n    return target;\n};\nconst $82b93146a5d3dcf5$export$14becf8d91886424 = (spawned)=>{\n    if (spawned.stdout !== null) spawned.pipeStdout = $82b93146a5d3dcf5$var$pipeToTarget.bind(undefined, spawned, \"stdout\");\n    if (spawned.stderr !== null) spawned.pipeStderr = $82b93146a5d3dcf5$var$pipeToTarget.bind(undefined, spawned, \"stderr\");\n    if (spawned.all !== undefined) spawned.pipeAll = $82b93146a5d3dcf5$var$pipeToTarget.bind(undefined, spawned, \"all\");\n};\n\n\n\n\nvar $3f8980e86d9447d4$exports = {};\n\"use strict\";\n\nvar $3f8980e86d9447d4$require$BufferConstants = $dtrkX$buffer.constants;\n\n\nvar $3f8980e86d9447d4$require$promisify = $dtrkX$util.promisify;\nvar $2791e057b208c733$exports = {};\n\"use strict\";\n\nvar $2791e057b208c733$require$PassThroughStream = $dtrkX$stream.PassThrough;\n$2791e057b208c733$exports = (options)=>{\n    options = {\n        ...options\n    };\n    const { array: array } = options;\n    let { encoding: encoding } = options;\n    const isBuffer = encoding === \"buffer\";\n    let objectMode = false;\n    if (array) objectMode = !(encoding || isBuffer);\n    else encoding = encoding || \"utf8\";\n    if (isBuffer) encoding = null;\n    const stream = new $2791e057b208c733$require$PassThroughStream({\n        objectMode: objectMode\n    });\n    if (encoding) stream.setEncoding(encoding);\n    let length = 0;\n    const chunks = [];\n    stream.on(\"data\", (chunk)=>{\n        chunks.push(chunk);\n        if (objectMode) length = chunks.length;\n        else length += chunk.length;\n    });\n    stream.getBufferedValue = ()=>{\n        if (array) return chunks;\n        return isBuffer ? Buffer.concat(chunks, length) : chunks.join(\"\");\n    };\n    stream.getBufferedLength = ()=>length;\n    return stream;\n};\n\n\nconst $3f8980e86d9447d4$var$streamPipelinePromisified = $3f8980e86d9447d4$require$promisify($dtrkX$stream.pipeline);\nclass $3f8980e86d9447d4$var$MaxBufferError extends Error {\n    constructor(){\n        super(\"maxBuffer exceeded\");\n        this.name = \"MaxBufferError\";\n    }\n}\nasync function $3f8980e86d9447d4$var$getStream(inputStream, options) {\n    if (!inputStream) throw new Error(\"Expected a stream\");\n    options = {\n        maxBuffer: Infinity,\n        ...options\n    };\n    const { maxBuffer: maxBuffer } = options;\n    const stream = $2791e057b208c733$exports(options);\n    await new Promise((resolve, reject)=>{\n        const rejectPromise = (error)=>{\n            // Don't retrieve an oversized buffer.\n            if (error && stream.getBufferedLength() <= $3f8980e86d9447d4$require$BufferConstants.MAX_LENGTH) error.bufferedData = stream.getBufferedValue();\n            reject(error);\n        };\n        (async ()=>{\n            try {\n                await $3f8980e86d9447d4$var$streamPipelinePromisified(inputStream, stream);\n                resolve();\n            } catch (error) {\n                rejectPromise(error);\n            }\n        })();\n        stream.on(\"data\", ()=>{\n            if (stream.getBufferedLength() > maxBuffer) rejectPromise(new $3f8980e86d9447d4$var$MaxBufferError());\n        });\n    });\n    return stream.getBufferedValue();\n}\n$3f8980e86d9447d4$exports = $3f8980e86d9447d4$var$getStream;\n$3f8980e86d9447d4$exports.buffer = (stream, options)=>$3f8980e86d9447d4$var$getStream(stream, {\n        ...options,\n        encoding: \"buffer\"\n    });\n$3f8980e86d9447d4$exports.array = (stream, options)=>$3f8980e86d9447d4$var$getStream(stream, {\n        ...options,\n        array: true\n    });\n$3f8980e86d9447d4$exports.MaxBufferError = $3f8980e86d9447d4$var$MaxBufferError;\n\n\nvar $093c506afc3bd46a$exports = {};\n\"use strict\";\n\nvar $093c506afc3bd46a$require$PassThrough = $dtrkX$stream.PassThrough;\n$093c506afc3bd46a$exports = function() {\n    var sources = [];\n    var output = new $093c506afc3bd46a$require$PassThrough({\n        objectMode: true\n    });\n    output.setMaxListeners(0);\n    output.add = add;\n    output.isEmpty = isEmpty;\n    output.on(\"unpipe\", remove);\n    Array.prototype.slice.call(arguments).forEach(add);\n    return output;\n    function add(source) {\n        if (Array.isArray(source)) {\n            source.forEach(add);\n            return this;\n        }\n        sources.push(source);\n        source.once(\"end\", remove.bind(null, source));\n        source.once(\"error\", output.emit.bind(output, \"error\"));\n        source.pipe(output, {\n            end: false\n        });\n        return this;\n    }\n    function isEmpty() {\n        return sources.length == 0;\n    }\n    function remove(source) {\n        sources = sources.filter(function(it) {\n            return it !== source;\n        });\n        if (!sources.length && output.readable) output.end();\n    }\n};\n\n\nconst $76c1688a524531aa$var$validateInputOptions = (input)=>{\n    if (input !== undefined) throw new TypeError(\"The `input` and `inputFile` options cannot be both set.\");\n};\nconst $76c1688a524531aa$var$getInputSync = ({ input: input, inputFile: inputFile })=>{\n    if (typeof inputFile !== \"string\") return input;\n    $76c1688a524531aa$var$validateInputOptions(input);\n    return (0, $dtrkX$nodefs.readFileSync)(inputFile);\n};\nconst $76c1688a524531aa$export$7f2f9b6457412b41 = (options)=>{\n    const input = $76c1688a524531aa$var$getInputSync(options);\n    if ((0, $f2f7667534589a53$export$294a92d8f7b3979)(input)) throw new TypeError(\"The `input` option cannot be a stream in sync mode\");\n    return input;\n};\nconst $76c1688a524531aa$var$getInput = ({ input: input, inputFile: inputFile })=>{\n    if (typeof inputFile !== \"string\") return input;\n    $76c1688a524531aa$var$validateInputOptions(input);\n    return (0, $dtrkX$nodefs.createReadStream)(inputFile);\n};\nconst $76c1688a524531aa$export$412508d679148d5c = (spawned, options)=>{\n    const input = $76c1688a524531aa$var$getInput(options);\n    if (input === undefined) return;\n    if ((0, $f2f7667534589a53$export$294a92d8f7b3979)(input)) input.pipe(spawned.stdin);\n    else spawned.stdin.end(input);\n};\nconst $76c1688a524531aa$export$41f5c0c12dadd6ae = (spawned, { all: all })=>{\n    if (!all || !spawned.stdout && !spawned.stderr) return;\n    const mixed = (0, (/*@__PURE__*/$parcel$interopDefault($093c506afc3bd46a$exports)))();\n    if (spawned.stdout) mixed.add(spawned.stdout);\n    if (spawned.stderr) mixed.add(spawned.stderr);\n    return mixed;\n};\n// On failure, `result.stdout|stderr|all` should contain the currently buffered stream\nconst $76c1688a524531aa$var$getBufferedData = async (stream, streamPromise)=>{\n    // When `buffer` is `false`, `streamPromise` is `undefined` and there is no buffered data to retrieve\n    if (!stream || streamPromise === undefined) return;\n    stream.destroy();\n    try {\n        return await streamPromise;\n    } catch (error) {\n        return error.bufferedData;\n    }\n};\nconst $76c1688a524531aa$var$getStreamPromise = (stream, { encoding: encoding, buffer: buffer, maxBuffer: maxBuffer })=>{\n    if (!stream || !buffer) return;\n    if (encoding) return (0, (/*@__PURE__*/$parcel$interopDefault($3f8980e86d9447d4$exports)))(stream, {\n        encoding: encoding,\n        maxBuffer: maxBuffer\n    });\n    return (0, (/*@__PURE__*/$parcel$interopDefault($3f8980e86d9447d4$exports))).buffer(stream, {\n        maxBuffer: maxBuffer\n    });\n};\nconst $76c1688a524531aa$export$67b768ac9e1c70fa = async ({ stdout: stdout, stderr: stderr, all: all }, { encoding: encoding, buffer: buffer, maxBuffer: maxBuffer }, processDone)=>{\n    const stdoutPromise = $76c1688a524531aa$var$getStreamPromise(stdout, {\n        encoding: encoding,\n        buffer: buffer,\n        maxBuffer: maxBuffer\n    });\n    const stderrPromise = $76c1688a524531aa$var$getStreamPromise(stderr, {\n        encoding: encoding,\n        buffer: buffer,\n        maxBuffer: maxBuffer\n    });\n    const allPromise = $76c1688a524531aa$var$getStreamPromise(all, {\n        encoding: encoding,\n        buffer: buffer,\n        maxBuffer: maxBuffer * 2\n    });\n    try {\n        return await Promise.all([\n            processDone,\n            stdoutPromise,\n            stderrPromise,\n            allPromise\n        ]);\n    } catch (error) {\n        return Promise.all([\n            {\n                error: error,\n                signal: error.signal,\n                timedOut: error.timedOut\n            },\n            $76c1688a524531aa$var$getBufferedData(stdout, stdoutPromise),\n            $76c1688a524531aa$var$getBufferedData(stderr, stderrPromise),\n            $76c1688a524531aa$var$getBufferedData(all, allPromise)\n        ]);\n    }\n};\n\n\n// eslint-disable-next-line unicorn/prefer-top-level-await\nconst $2576d303eec689e3$var$nativePromisePrototype = (async ()=>{})().constructor.prototype;\nconst $2576d303eec689e3$var$descriptors = [\n    \"then\",\n    \"catch\",\n    \"finally\"\n].map((property)=>[\n        property,\n        Reflect.getOwnPropertyDescriptor($2576d303eec689e3$var$nativePromisePrototype, property)\n    ]);\nconst $2576d303eec689e3$export$e6eb0007fd542aba = (spawned, promise)=>{\n    for (const [property, descriptor] of $2576d303eec689e3$var$descriptors){\n        // Starting the main `promise` is deferred to avoid consuming streams\n        const value = typeof promise === \"function\" ? (...args)=>Reflect.apply(descriptor.value, promise(), args) : descriptor.value.bind(promise);\n        Reflect.defineProperty(spawned, property, {\n            ...descriptor,\n            value: value\n        });\n    }\n};\nconst $2576d303eec689e3$export$6e3a9b5342d42997 = (spawned)=>new Promise((resolve, reject)=>{\n        spawned.on(\"exit\", (exitCode, signal)=>{\n            resolve({\n                exitCode: exitCode,\n                signal: signal\n            });\n        });\n        spawned.on(\"error\", (error)=>{\n            reject(error);\n        });\n        if (spawned.stdin) spawned.stdin.on(\"error\", (error)=>{\n            reject(error);\n        });\n    });\n\n\n\n\nconst $e6a747eb964f6e69$var$normalizeArgs = (file, args = [])=>{\n    if (!Array.isArray(args)) return [\n        file\n    ];\n    return [\n        file,\n        ...args\n    ];\n};\nconst $e6a747eb964f6e69$var$NO_ESCAPE_REGEXP = /^[\\w.-]+$/;\nconst $e6a747eb964f6e69$var$DOUBLE_QUOTES_REGEXP = /\"/g;\nconst $e6a747eb964f6e69$var$escapeArg = (arg)=>{\n    if (typeof arg !== \"string\" || $e6a747eb964f6e69$var$NO_ESCAPE_REGEXP.test(arg)) return arg;\n    return `\"${arg.replace($e6a747eb964f6e69$var$DOUBLE_QUOTES_REGEXP, '\\\\\"')}\"`;\n};\nconst $e6a747eb964f6e69$export$ab3db8fe5ebf3a1 = (file, args)=>$e6a747eb964f6e69$var$normalizeArgs(file, args).join(\" \");\nconst $e6a747eb964f6e69$export$9d3099014bd914f8 = (file, args)=>$e6a747eb964f6e69$var$normalizeArgs(file, args).map((arg)=>$e6a747eb964f6e69$var$escapeArg(arg)).join(\" \");\nconst $e6a747eb964f6e69$var$SPACES_REGEXP = / +/g;\nconst $e6a747eb964f6e69$export$78bcee23e0849f6a = (command)=>{\n    const tokens = [];\n    for (const token of command.trim().split($e6a747eb964f6e69$var$SPACES_REGEXP)){\n        // Allow spaces to be escaped by a backslash if not meant as a delimiter\n        const previousToken = tokens[tokens.length - 1];\n        if (previousToken && previousToken.endsWith(\"\\\\\")) // Merge previous token with current one\n        tokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n        else tokens.push(token);\n    }\n    return tokens;\n};\nconst $e6a747eb964f6e69$var$parseExpression = (expression)=>{\n    const typeOfExpression = typeof expression;\n    if (typeOfExpression === \"string\") return expression;\n    if (typeOfExpression === \"number\") return String(expression);\n    if (typeOfExpression === \"object\" && expression !== null && !(expression instanceof (0, $dtrkX$nodechild_process.ChildProcess)) && \"stdout\" in expression) {\n        const typeOfStdout = typeof expression.stdout;\n        if (typeOfStdout === \"string\") return expression.stdout;\n        if ((0, $dtrkX$nodebuffer.Buffer).isBuffer(expression.stdout)) return expression.stdout.toString();\n        throw new TypeError(`Unexpected \"${typeOfStdout}\" stdout in template expression`);\n    }\n    throw new TypeError(`Unexpected \"${typeOfExpression}\" in template expression`);\n};\nconst $e6a747eb964f6e69$var$concatTokens = (tokens, nextTokens, isNew)=>isNew || tokens.length === 0 || nextTokens.length === 0 ? [\n        ...tokens,\n        ...nextTokens\n    ] : [\n        ...tokens.slice(0, -1),\n        `${tokens[tokens.length - 1]}${nextTokens[0]}`,\n        ...nextTokens.slice(1)\n    ];\nconst $e6a747eb964f6e69$var$parseTemplate = ({ templates: templates, expressions: expressions, tokens: tokens, index: index, template: template })=>{\n    const templateString = template !== null && template !== void 0 ? template : templates.raw[index];\n    const templateTokens = templateString.split($e6a747eb964f6e69$var$SPACES_REGEXP).filter(Boolean);\n    const newTokens = $e6a747eb964f6e69$var$concatTokens(tokens, templateTokens, templateString.startsWith(\" \"));\n    if (index === expressions.length) return newTokens;\n    const expression = expressions[index];\n    const expressionTokens = Array.isArray(expression) ? expression.map((expression)=>$e6a747eb964f6e69$var$parseExpression(expression)) : [\n        $e6a747eb964f6e69$var$parseExpression(expression)\n    ];\n    return $e6a747eb964f6e69$var$concatTokens(newTokens, expressionTokens, templateString.endsWith(\" \"));\n};\nconst $e6a747eb964f6e69$export$4a6ee54de9b0f25d = (templates, expressions)=>{\n    let tokens = [];\n    for (const [index, template] of templates.entries())tokens = $e6a747eb964f6e69$var$parseTemplate({\n        templates: templates,\n        expressions: expressions,\n        tokens: tokens,\n        index: index,\n        template: template\n    });\n    return tokens;\n};\n\n\n\n\nconst $8eebaaa7bb15f5cd$export$38bb3c1fbaa0bdcf = (0, $dtrkX$nodeutil.debuglog)(\"execa\").enabled;\nconst $8eebaaa7bb15f5cd$var$padField = (field, padding)=>String(field).padStart(padding, \"0\");\nconst $8eebaaa7bb15f5cd$var$getTimestamp = ()=>{\n    const date = new Date();\n    return `${$8eebaaa7bb15f5cd$var$padField(date.getHours(), 2)}:${$8eebaaa7bb15f5cd$var$padField(date.getMinutes(), 2)}:${$8eebaaa7bb15f5cd$var$padField(date.getSeconds(), 2)}.${$8eebaaa7bb15f5cd$var$padField(date.getMilliseconds(), 3)}`;\n};\nconst $8eebaaa7bb15f5cd$export$3bb886c4c1352118 = (escapedCommand, { verbose: verbose })=>{\n    if (!verbose) return;\n    (0, ($parcel$interopDefault($dtrkX$nodeprocess))).stderr.write(`[${$8eebaaa7bb15f5cd$var$getTimestamp()}] ${escapedCommand}\\n`);\n};\n\n\nconst $f4ee3a29e1d521be$var$DEFAULT_MAX_BUFFER = 100000000;\nconst $f4ee3a29e1d521be$var$getEnv = ({ env: envOption, extendEnv: extendEnv, preferLocal: preferLocal, localDir: localDir, execPath: execPath })=>{\n    const env = extendEnv ? {\n        ...(0, ($parcel$interopDefault($dtrkX$nodeprocess))).env,\n        ...envOption\n    } : envOption;\n    if (preferLocal) return (0, $3cb9811b7539583d$export$340e1fbaac04248b)({\n        env: env,\n        cwd: localDir,\n        execPath: execPath\n    });\n    return env;\n};\nconst $f4ee3a29e1d521be$var$handleArguments = (file, args, options = {})=>{\n    const parsed = (0, (/*@__PURE__*/$parcel$interopDefault($338cd3297632d74f$exports)))._parse(file, args, options);\n    file = parsed.command;\n    args = parsed.args;\n    options = parsed.options;\n    options = {\n        maxBuffer: $f4ee3a29e1d521be$var$DEFAULT_MAX_BUFFER,\n        buffer: true,\n        stripFinalNewline: true,\n        extendEnv: true,\n        preferLocal: false,\n        localDir: options.cwd || (0, ($parcel$interopDefault($dtrkX$nodeprocess))).cwd(),\n        execPath: (0, ($parcel$interopDefault($dtrkX$nodeprocess))).execPath,\n        encoding: \"utf8\",\n        reject: true,\n        cleanup: true,\n        all: false,\n        windowsHide: true,\n        verbose: (0, $8eebaaa7bb15f5cd$export$38bb3c1fbaa0bdcf),\n        ...options\n    };\n    options.env = $f4ee3a29e1d521be$var$getEnv(options);\n    options.stdio = (0, $b69cfd947fb0b8d1$export$a581401a57fac02e)(options);\n    if ((0, ($parcel$interopDefault($dtrkX$nodeprocess))).platform === \"win32\" && (0, ($parcel$interopDefault($dtrkX$nodepath))).basename(file, \".exe\") === \"cmd\") // #116\n    args.unshift(\"/q\");\n    return {\n        file: file,\n        args: args,\n        options: options,\n        parsed: parsed\n    };\n};\nconst $f4ee3a29e1d521be$var$handleOutput = (options, value, error)=>{\n    if (typeof value !== \"string\" && !(0, $dtrkX$nodebuffer.Buffer).isBuffer(value)) // When `execaSync()` errors, we normalize it to '' to mimic `execa()`\n    return error === undefined ? undefined : \"\";\n    if (options.stripFinalNewline) return (0, $ee7a5bcd6c625a3d$export$2e2bcd8739ae039)(value);\n    return value;\n};\nfunction $f4ee3a29e1d521be$export$db6b1668e3758717(file, args, options) {\n    const parsed = $f4ee3a29e1d521be$var$handleArguments(file, args, options);\n    const command = (0, $e6a747eb964f6e69$export$ab3db8fe5ebf3a1)(file, args);\n    const escapedCommand = (0, $e6a747eb964f6e69$export$9d3099014bd914f8)(file, args);\n    (0, $8eebaaa7bb15f5cd$export$3bb886c4c1352118)(escapedCommand, parsed.options);\n    (0, $18727f3f5cea80c3$export$3186f8866f616f9f)(parsed.options);\n    let spawned;\n    try {\n        spawned = (0, ($parcel$interopDefault($dtrkX$nodechild_process))).spawn(parsed.file, parsed.args, parsed.options);\n    } catch (error) {\n        // Ensure the returned error is always both a promise and a child process\n        const dummySpawned = new (0, ($parcel$interopDefault($dtrkX$nodechild_process))).ChildProcess();\n        const errorPromise = Promise.reject((0, $8c592378123445eb$export$5a4bb2b1c89bdce7)({\n            error: error,\n            stdout: \"\",\n            stderr: \"\",\n            all: \"\",\n            command: command,\n            escapedCommand: escapedCommand,\n            parsed: parsed,\n            timedOut: false,\n            isCanceled: false,\n            killed: false\n        }));\n        (0, $2576d303eec689e3$export$e6eb0007fd542aba)(dummySpawned, errorPromise);\n        return dummySpawned;\n    }\n    const spawnedPromise = (0, $2576d303eec689e3$export$6e3a9b5342d42997)(spawned);\n    const timedPromise = (0, $18727f3f5cea80c3$export$6bcc98999eb82896)(spawned, parsed.options, spawnedPromise);\n    const processDone = (0, $18727f3f5cea80c3$export$79fc3056c9ca4ada)(spawned, parsed.options, timedPromise);\n    const context = {\n        isCanceled: false\n    };\n    spawned.kill = (0, $18727f3f5cea80c3$export$971fa1b57c7f00b).bind(null, spawned.kill.bind(spawned));\n    spawned.cancel = (0, $18727f3f5cea80c3$export$667e13cd9b70ca17).bind(null, spawned, context);\n    const handlePromise = async ()=>{\n        const [{ error: error, exitCode: exitCode, signal: signal, timedOut: timedOut }, stdoutResult, stderrResult, allResult] = await (0, $76c1688a524531aa$export$67b768ac9e1c70fa)(spawned, parsed.options, processDone);\n        const stdout = $f4ee3a29e1d521be$var$handleOutput(parsed.options, stdoutResult);\n        const stderr = $f4ee3a29e1d521be$var$handleOutput(parsed.options, stderrResult);\n        const all = $f4ee3a29e1d521be$var$handleOutput(parsed.options, allResult);\n        if (error || exitCode !== 0 || signal !== null) {\n            const returnedError = (0, $8c592378123445eb$export$5a4bb2b1c89bdce7)({\n                error: error,\n                exitCode: exitCode,\n                signal: signal,\n                stdout: stdout,\n                stderr: stderr,\n                all: all,\n                command: command,\n                escapedCommand: escapedCommand,\n                parsed: parsed,\n                timedOut: timedOut,\n                isCanceled: context.isCanceled || (parsed.options.signal ? parsed.options.signal.aborted : false),\n                killed: spawned.killed\n            });\n            if (!parsed.options.reject) return returnedError;\n            throw returnedError;\n        }\n        return {\n            command: command,\n            escapedCommand: escapedCommand,\n            exitCode: 0,\n            stdout: stdout,\n            stderr: stderr,\n            all: all,\n            failed: false,\n            timedOut: false,\n            isCanceled: false,\n            killed: false\n        };\n    };\n    const handlePromiseOnce = (0, $c984d454db4cce26$export$2e2bcd8739ae039)(handlePromise);\n    (0, $76c1688a524531aa$export$412508d679148d5c)(spawned, parsed.options);\n    spawned.all = (0, $76c1688a524531aa$export$41f5c0c12dadd6ae)(spawned, parsed.options);\n    (0, $82b93146a5d3dcf5$export$14becf8d91886424)(spawned);\n    (0, $2576d303eec689e3$export$e6eb0007fd542aba)(spawned, handlePromiseOnce);\n    return spawned;\n}\nfunction $f4ee3a29e1d521be$export$28823a701bb5a12d(file, args, options) {\n    const parsed = $f4ee3a29e1d521be$var$handleArguments(file, args, options);\n    const command = (0, $e6a747eb964f6e69$export$ab3db8fe5ebf3a1)(file, args);\n    const escapedCommand = (0, $e6a747eb964f6e69$export$9d3099014bd914f8)(file, args);\n    (0, $8eebaaa7bb15f5cd$export$3bb886c4c1352118)(escapedCommand, parsed.options);\n    const input = (0, $76c1688a524531aa$export$7f2f9b6457412b41)(parsed.options);\n    let result;\n    try {\n        result = (0, ($parcel$interopDefault($dtrkX$nodechild_process))).spawnSync(parsed.file, parsed.args, {\n            ...parsed.options,\n            input: input\n        });\n    } catch (error) {\n        throw (0, $8c592378123445eb$export$5a4bb2b1c89bdce7)({\n            error: error,\n            stdout: \"\",\n            stderr: \"\",\n            all: \"\",\n            command: command,\n            escapedCommand: escapedCommand,\n            parsed: parsed,\n            timedOut: false,\n            isCanceled: false,\n            killed: false\n        });\n    }\n    const stdout = $f4ee3a29e1d521be$var$handleOutput(parsed.options, result.stdout, result.error);\n    const stderr = $f4ee3a29e1d521be$var$handleOutput(parsed.options, result.stderr, result.error);\n    if (result.error || result.status !== 0 || result.signal !== null) {\n        const error = (0, $8c592378123445eb$export$5a4bb2b1c89bdce7)({\n            stdout: stdout,\n            stderr: stderr,\n            error: result.error,\n            signal: result.signal,\n            exitCode: result.status,\n            command: command,\n            escapedCommand: escapedCommand,\n            parsed: parsed,\n            timedOut: result.error && result.error.code === \"ETIMEDOUT\",\n            isCanceled: false,\n            killed: result.signal !== null\n        });\n        if (!parsed.options.reject) return error;\n        throw error;\n    }\n    return {\n        command: command,\n        escapedCommand: escapedCommand,\n        exitCode: 0,\n        stdout: stdout,\n        stderr: stderr,\n        failed: false,\n        timedOut: false,\n        isCanceled: false,\n        killed: false\n    };\n}\nconst $f4ee3a29e1d521be$var$normalizeScriptStdin = ({ input: input, inputFile: inputFile, stdio: stdio })=>input === undefined && inputFile === undefined && stdio === undefined ? {\n        stdin: \"inherit\"\n    } : {};\nconst $f4ee3a29e1d521be$var$normalizeScriptOptions = (options = {})=>({\n        preferLocal: true,\n        ...$f4ee3a29e1d521be$var$normalizeScriptStdin(options),\n        ...options\n    });\nfunction $f4ee3a29e1d521be$var$create$(options) {\n    function $(templatesOrOptions, ...expressions) {\n        if (!Array.isArray(templatesOrOptions)) return $f4ee3a29e1d521be$var$create$({\n            ...options,\n            ...templatesOrOptions\n        });\n        const [file, ...args] = (0, $e6a747eb964f6e69$export$4a6ee54de9b0f25d)(templatesOrOptions, expressions);\n        return $f4ee3a29e1d521be$export$db6b1668e3758717(file, args, $f4ee3a29e1d521be$var$normalizeScriptOptions(options));\n    }\n    $.sync = (templates, ...expressions)=>{\n        if (!Array.isArray(templates)) throw new TypeError(\"Please use $(options).sync`command` instead of $.sync(options)`command`.\");\n        const [file, ...args] = (0, $e6a747eb964f6e69$export$4a6ee54de9b0f25d)(templates, expressions);\n        return $f4ee3a29e1d521be$export$28823a701bb5a12d(file, args, $f4ee3a29e1d521be$var$normalizeScriptOptions(options));\n    };\n    return $;\n}\nconst $f4ee3a29e1d521be$export$3d8c2f653ac9d0b9 = $f4ee3a29e1d521be$var$create$();\nfunction $f4ee3a29e1d521be$export$eb9ed1222071f2f6(command, options) {\n    const [file, ...args] = (0, $e6a747eb964f6e69$export$78bcee23e0849f6a)(command);\n    return $f4ee3a29e1d521be$export$db6b1668e3758717(file, args, options);\n}\nfunction $f4ee3a29e1d521be$export$5c60dbe76a54db4(command, options) {\n    const [file, ...args] = (0, $e6a747eb964f6e69$export$78bcee23e0849f6a)(command);\n    return $f4ee3a29e1d521be$export$28823a701bb5a12d(file, args, options);\n}\nfunction $f4ee3a29e1d521be$export$c004ac68fdb98119(scriptPath, args, options = {}) {\n    if (args && !Array.isArray(args) && typeof args === \"object\") {\n        options = args;\n        args = [];\n    }\n    const stdio = (0, $b69cfd947fb0b8d1$export$889423b478ae2ba)(options);\n    const defaultExecArgv = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).execArgv.filter((arg)=>!arg.startsWith(\"--inspect\"));\n    const { nodePath: nodePath = (0, ($parcel$interopDefault($dtrkX$nodeprocess))).execPath, nodeOptions: nodeOptions = defaultExecArgv } = options;\n    return $f4ee3a29e1d521be$export$db6b1668e3758717(nodePath, [\n        ...nodeOptions,\n        scriptPath,\n        ...Array.isArray(args) ? args : []\n    ], {\n        ...options,\n        stdin: undefined,\n        stdout: undefined,\n        stderr: undefined,\n        stdio: stdio,\n        shell: false\n    });\n}\n\n\nfunction $794e319dbcdb5a2b$export$7683bf1311d8252() {\n    return (0, (/*@__PURE__*/$parcel$interopDefault($e354e8ac503df91c$exports))).sync(\"sudo\", {\n        nothrow: true\n    }) !== null;\n}\nfunction $794e319dbcdb5a2b$export$e3140dc7d0c35e48() {\n    var _process_getuid, _process;\n    // TODO not all CI systems are root\n    return ((_process_getuid = (_process = process).getuid) === null || _process_getuid === void 0 ? void 0 : _process_getuid.call(_process)) === 0 || Boolean(process.env.CI);\n}\nfunction $794e319dbcdb5a2b$export$316200228f28b8ce() {\n    return $794e319dbcdb5a2b$export$e3140dc7d0c35e48() && $794e319dbcdb5a2b$export$7683bf1311d8252();\n}\nfunction $794e319dbcdb5a2b$export$d976d47922ae9667(command) {\n    if ($794e319dbcdb5a2b$export$316200228f28b8ce()) return `sudo ${command}`;\n    return command;\n}\nconst $794e319dbcdb5a2b$export$151aeb0ade3989e1 = {\n    stdio: \"inherit\",\n    shell: true\n};\nfunction $794e319dbcdb5a2b$export$58f152936f209932(program, args = [], execOptions = $794e319dbcdb5a2b$export$151aeb0ade3989e1) {\n    if ($794e319dbcdb5a2b$export$316200228f28b8ce()) {\n        const command = $794e319dbcdb5a2b$var$getSudoCommand(program, args);\n        return (0, $f4ee3a29e1d521be$export$5c60dbe76a54db4)(command, execOptions);\n    } else return (0, $f4ee3a29e1d521be$export$28823a701bb5a12d)(program, args, execOptions);\n}\nfunction $794e319dbcdb5a2b$export$351270479e2eef26(program, args = [], execOptions = $794e319dbcdb5a2b$export$151aeb0ade3989e1) {\n    if ($794e319dbcdb5a2b$export$316200228f28b8ce()) {\n        const command = $794e319dbcdb5a2b$var$getSudoCommand(program, args);\n        return (0, $f4ee3a29e1d521be$export$eb9ed1222071f2f6)(command, execOptions);\n    } else return (0, $f4ee3a29e1d521be$export$db6b1668e3758717)(program, args, execOptions);\n}\nfunction $794e319dbcdb5a2b$var$getSudoCommand(program, args) {\n    return `sudo ${$794e319dbcdb5a2b$var$quote([\n        program,\n        ...args\n    ]).join(\" \")}`;\n}\nfunction $794e319dbcdb5a2b$var$quote(strings) {\n    return strings.map((str)=>$794e319dbcdb5a2b$var$isQuoted(str) ? str : `'${str}'`);\n}\nfunction $794e319dbcdb5a2b$var$isQuoted(str) {\n    if (str.length < 2) return false;\n    const first = str[0];\n    const last = str[str.length - 1];\n    return first === \"'\" && last === \"'\" || first === '\"' && last === '\"';\n} //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9vdC5tanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJzcmMvcm9vdC5tdHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFDTCxLQUFLLEVBQ0wsWUFBWSxFQUNaLGdCQUFnQixFQUNoQixTQUFTLEdBS1YsTUFBTSxPQUFPLENBQUE7QUFFZCxrQ0FBa0M7QUFDbEMsTUFBTSxVQUFVLE9BQU87SUFDckIsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQTtBQUN2RCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7R0FhRztBQUNILE1BQU0sVUFBVSxNQUFNO0lBQ3BCLG1DQUFtQztJQUNuQyxPQUFPLE9BQU8sQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM1RCxDQUFDO0FBRUQsbUVBQW1FO0FBQ25FLE1BQU0sVUFBVSxNQUFNO0lBQ3BCLE9BQU8sTUFBTSxFQUFFLElBQUksT0FBTyxFQUFFLENBQUE7QUFDOUIsQ0FBQztBQUVELHlEQUF5RDtBQUN6RCxNQUFNLFVBQVUsV0FBVyxDQUFDLE9BQWU7SUFDekMsSUFBSSxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ2IsT0FBTyxRQUFRLE9BQU8sRUFBRSxDQUFBO0lBQzFCLENBQUM7SUFDRCxPQUFPLE9BQU8sQ0FBQTtBQUNoQixDQUFDO0FBRUQsK0RBQStEO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFxQjtJQUNsRCxLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUE7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FDMUIsT0FBZSxFQUNmLE9BQWlCLEVBQUUsRUFDbkIsY0FBZ0Msa0JBQWtCO0lBRWxELElBQUksTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUNiLE1BQU0sT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDN0MsT0FBTyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDL0MsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFNBQVMsQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFBO0lBQzlDLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxRQUFRLENBQ3RCLE9BQWUsRUFDZixPQUFpQixFQUFFLEVBQ25CLGNBQTRCLGtCQUFrQjtJQUU5QyxJQUFJLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDYixNQUFNLE9BQU8sR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQzdDLE9BQU8sWUFBWSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQTtJQUMzQyxDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLENBQUE7SUFDMUMsQ0FBQztBQUNILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxPQUFlLEVBQUUsSUFBYztJQUNyRCxPQUFPLFFBQVEsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQTtBQUN0RCxDQUFDO0FBRUQsU0FBUyxLQUFLLENBQUMsT0FBaUI7SUFDOUIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUNqRSxDQUFDO0FBRUQsU0FBUyxRQUFRLENBQUMsR0FBVztJQUMzQixJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDbkIsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ3BCLE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO0lBQ2hDLE9BQU8sQ0FBQyxLQUFLLEtBQUssR0FBRyxJQUFJLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssS0FBSyxHQUFHLElBQUksSUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFBO0FBQzNFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgd2hpY2ggZnJvbSBcIndoaWNoXCJcbmltcG9ydCB7XG4gIGV4ZWNhLFxuICBleGVjYUNvbW1hbmQsXG4gIGV4ZWNhQ29tbWFuZFN5bmMsXG4gIGV4ZWNhU3luYyxcbiAgdHlwZSBTeW5jT3B0aW9ucyBhcyBFeGVjYVN5bmNPcHRpb25zLFxuICB0eXBlIEV4ZWNhU3luY1JldHVyblZhbHVlLFxuICB0eXBlIE9wdGlvbnMgYXMgRXhlY2FPcHRpb25zLFxuICB0eXBlIEV4ZWNhQ2hpbGRQcm9jZXNzLFxufSBmcm9tIFwiZXhlY2FcIlxuXG4vKiogRGV0ZWN0IGlmIHN1ZG8gaXMgYXZhaWxhYmxlICovXG5leHBvcnQgZnVuY3Rpb24gaGFzU3VkbygpOiBib29sZWFuIHtcbiAgcmV0dXJuIHdoaWNoLnN5bmMoXCJzdWRvXCIsIHsgbm90aHJvdzogdHJ1ZSB9KSAhPT0gbnVsbFxufVxuXG4vKipcbiAqIERldGVjdCBpZiB0aGUgcHJvY2VzcyBoYXMgcm9vdCBwcml2aWxlZ2Ugb24gUG9zaXguXG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiBgYGBqc1xuICogaW1wb3J0IHsgaXNSb290IH0gZnJvbSBcImFkbWluYVwiXG4gKlxuICogY29uc29sZS5sb2coaXNSb290KCkpXG4gKiAvLz0+IGZhbHNlXG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcgYXMgcm9vdC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzUm9vdCgpOiBib29sZWFuIHtcbiAgLy8gVE9ETyBub3QgYWxsIENJIHN5c3RlbXMgYXJlIHJvb3RcbiAgcmV0dXJuIHByb2Nlc3MuZ2V0dWlkPy4oKSA9PT0gMCB8fCBCb29sZWFuKHByb2Nlc3MuZW52LkNJKVxufVxuXG4vKiogRGV0ZWN0IGlmIHN1ZG8gaXMgYXZhaWxhYmxlIGFuZCB0aGUgdXNlciBoYXMgcm9vdCBwcml2aWxlZ2VzICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdWRvKCk6IGJvb2xlYW4ge1xuICByZXR1cm4gaXNSb290KCkgJiYgaGFzU3VkbygpXG59XG5cbi8qKiBQcmVwZW5kIGBzdWRvYCB0byB0aGUgY29tbWFuZCBpZiBzdWRvIGlzIGF2YWlsYWJsZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXBlbmRTdWRvKGNvbW1hbmQ6IHN0cmluZykge1xuICBpZiAoaXNTdWRvKCkpIHtcbiAgICByZXR1cm4gYHN1ZG8gJHtjb21tYW5kfWBcbiAgfVxuICByZXR1cm4gY29tbWFuZFxufVxuXG4vKiogRGVmYXVsdCBleGVjIG9wdGlvbnMgYHsgc3RkaW86IFwiaW5oZXJpdFwiLCBzaGVsbDogdHJ1ZSB9YCAqL1xuZXhwb3J0IGNvbnN0IGRlZmF1bHRFeGVjT3B0aW9uczogRXhlY2FTeW5jT3B0aW9ucyA9IHtcbiAgc3RkaW86IFwiaW5oZXJpdFwiLFxuICBzaGVsbDogdHJ1ZSxcbn1cblxuLyoqXG4gKiBFeGVjdXRlIGEgY29tbWFuZCBhcyByb290IGlmIHN1ZG8gaXMgYXZhaWxhYmxlLiBPdGhlcndpc2UgZXhlY3V0ZXMgdGhlIGNvbW1hbmQgbm9ybWFsbHkgd2l0aG91dCBzdWRvLlxuICpcbiAqIEBwYXJhbSBwcm9ncmFtIFRoZSBwcm9ncmFtIHRvIHNwYXduXG4gKiBAcGFyYW0gYXJncyBUaGUgY29tbWFuZCBhcmd1bWVudHNcbiAqIEBwYXJhbSBleGVjT3B0aW9ucyBUaGUgb3B0aW9ucyBwYXNzZWQgdG8gYGV4ZWNhYC4gRGVmYXVsdHMgdG8gYHsgc3RkaW86IFwiaW5oZXJpdFwiLCBzaGVsbDogdHJ1ZSB9YFxuICogQHJldHVybnMgVGhlIGV4ZWN1dGlvbiByZXN1bHRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4ZWNSb290U3luYyhcbiAgcHJvZ3JhbTogc3RyaW5nLFxuICBhcmdzOiBzdHJpbmdbXSA9IFtdLFxuICBleGVjT3B0aW9uczogRXhlY2FTeW5jT3B0aW9ucyA9IGRlZmF1bHRFeGVjT3B0aW9ucyxcbik6IEV4ZWNhU3luY1JldHVyblZhbHVlPHN0cmluZz4ge1xuICBpZiAoaXNTdWRvKCkpIHtcbiAgICBjb25zdCBjb21tYW5kID0gZ2V0U3Vkb0NvbW1hbmQocHJvZ3JhbSwgYXJncylcbiAgICByZXR1cm4gZXhlY2FDb21tYW5kU3luYyhjb21tYW5kLCBleGVjT3B0aW9ucylcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZXhlY2FTeW5jKHByb2dyYW0sIGFyZ3MsIGV4ZWNPcHRpb25zKVxuICB9XG59XG5cbi8qKlxuICogQXN5bmNocm9ub3VzbHkgZXhlY3V0ZSBhIGNvbW1hbmQgYXMgcm9vdCBpZiBzdWRvIGlzIGF2YWlsYWJsZS4gT3RoZXJ3aXNlIGV4ZWN1dGVzIHRoZSBjb21tYW5kIG5vcm1hbGx5IHdpdGhvdXQgc3Vkby5cbiAqXG4gKiBAcGFyYW0gcHJvZ3JhbSBUaGUgcHJvZ3JhbSB0byBzcGF3blxuICogQHBhcmFtIGFyZ3MgVGhlIGNvbW1hbmQgYXJndW1lbnRzXG4gKiBAcGFyYW0gZXhlY09wdGlvbnMgVGhlIG9wdGlvbnMgcGFzc2VkIHRvIGBleGVjYWAuIERlZmF1bHRzIHRvIGB7IHN0ZGlvOiBcImluaGVyaXRcIiwgc2hlbGw6IHRydWUgfWBcbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0byB0aGUgZXhlY3V0aW9uIHJlc3VsdFxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhlY1Jvb3QoXG4gIHByb2dyYW06IHN0cmluZyxcbiAgYXJnczogc3RyaW5nW10gPSBbXSxcbiAgZXhlY09wdGlvbnM6IEV4ZWNhT3B0aW9ucyA9IGRlZmF1bHRFeGVjT3B0aW9ucyxcbik6IEV4ZWNhQ2hpbGRQcm9jZXNzPHN0cmluZz4ge1xuICBpZiAoaXNTdWRvKCkpIHtcbiAgICBjb25zdCBjb21tYW5kID0gZ2V0U3Vkb0NvbW1hbmQocHJvZ3JhbSwgYXJncylcbiAgICByZXR1cm4gZXhlY2FDb21tYW5kKGNvbW1hbmQsIGV4ZWNPcHRpb25zKVxuICB9IGVsc2Uge1xuICAgIHJldHVybiBleGVjYShwcm9ncmFtLCBhcmdzLCBleGVjT3B0aW9ucylcbiAgfVxufVxuXG5mdW5jdGlvbiBnZXRTdWRvQ29tbWFuZChwcm9ncmFtOiBzdHJpbmcsIGFyZ3M6IHN0cmluZ1tdKSB7XG4gIHJldHVybiBgc3VkbyAke3F1b3RlKFtwcm9ncmFtLCAuLi5hcmdzXSkuam9pbihcIiBcIil9YFxufVxuXG5mdW5jdGlvbiBxdW90ZShzdHJpbmdzOiBzdHJpbmdbXSkge1xuICByZXR1cm4gc3RyaW5ncy5tYXAoKHN0cikgPT4gKGlzUXVvdGVkKHN0cikgPyBzdHIgOiBgJyR7c3RyfSdgKSlcbn1cblxuZnVuY3Rpb24gaXNRdW90ZWQoc3RyOiBzdHJpbmcpIHtcbiAgaWYgKHN0ci5sZW5ndGggPCAyKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cbiAgY29uc3QgZmlyc3QgPSBzdHJbMF1cbiAgY29uc3QgbGFzdCA9IHN0cltzdHIubGVuZ3RoIC0gMV1cbiAgcmV0dXJuIChmaXJzdCA9PT0gXCInXCIgJiYgbGFzdCA9PT0gXCInXCIpIHx8IChmaXJzdCA9PT0gJ1wiJyAmJiBsYXN0ID09PSAnXCInKVxufVxuIl19\n\n\nvar $d16c075ed1f61848$exports = {};\n\n$parcel$export($d16c075ed1f61848$exports, \"isAdminWindows\", () => $d16c075ed1f61848$export$36ad181701cee597);\n$parcel$export($d16c075ed1f61848$exports, \"isAdminPosix\", () => $d16c075ed1f61848$export$2ebf12717e6b5bb8);\n$parcel$export($d16c075ed1f61848$exports, \"isAdmin\", () => $d16c075ed1f61848$export$fc970ed23da99565);\n// From `is-admin`: updated execa\n\n// https://stackoverflow.com/a/28268802\nasync function $670b7ed2a3db56ef$var$testFltmc() {\n    try {\n        await (0, $f4ee3a29e1d521be$export$db6b1668e3758717)(\"fltmc\");\n        return true;\n    } catch  {\n        return false;\n    }\n}\nasync function $670b7ed2a3db56ef$export$2e2bcd8739ae039() {\n    if (process.platform !== \"win32\") return false;\n    try {\n        var _process_env_systemdrive;\n        // https://stackoverflow.com/a/21295806/1641422\n        await (0, $f4ee3a29e1d521be$export$db6b1668e3758717)(\"fsutil\", [\n            \"dirty\",\n            \"query\",\n            (_process_env_systemdrive = process.env.systemdrive) !== null && _process_env_systemdrive !== void 0 ? _process_env_systemdrive : \"\"\n        ]);\n        return true;\n    } catch (error) {\n        if (error.code === \"ENOENT\") return $670b7ed2a3db56ef$var$testFltmc();\n        return false;\n    }\n} //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtYWRtaW4ubWpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2lzLWFkbWluLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQ0FBaUM7QUFFakMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUU3Qix1Q0FBdUM7QUFDdkMsS0FBSyxVQUFVLFNBQVM7SUFDdEIsSUFBSSxDQUFDO1FBQ0gsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUE7UUFDcEIsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxVQUFVLE9BQU87SUFDbkMsSUFBSSxPQUFPLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ2pDLE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVELElBQUksQ0FBQztRQUNILCtDQUErQztRQUMvQyxNQUFNLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDeEUsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDO0lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztRQUNmLElBQUssS0FBMkIsQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbkQsT0FBTyxTQUFTLEVBQUUsQ0FBQTtRQUNwQixDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEZyb20gYGlzLWFkbWluYDogdXBkYXRlZCBleGVjYVxuXG5pbXBvcnQgeyBleGVjYSB9IGZyb20gXCJleGVjYVwiXG5cbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yODI2ODgwMlxuYXN5bmMgZnVuY3Rpb24gdGVzdEZsdG1jKCkge1xuICB0cnkge1xuICAgIGF3YWl0IGV4ZWNhKFwiZmx0bWNcIilcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBpc0FkbWluKCkge1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gXCJ3aW4zMlwiKSB7XG4gICAgcmV0dXJuIGZhbHNlXG4gIH1cblxuICB0cnkge1xuICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8yMTI5NTgwNi8xNjQxNDIyXG4gICAgYXdhaXQgZXhlY2EoXCJmc3V0aWxcIiwgW1wiZGlydHlcIiwgXCJxdWVyeVwiLCBwcm9jZXNzLmVudi5zeXN0ZW1kcml2ZSA/PyBcIlwiXSlcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGlmICgoZXJyb3IgYXMgeyBjb2RlPzogc3RyaW5nIH0pLmNvZGUgPT09IFwiRU5PRU5UXCIpIHtcbiAgICAgIHJldHVybiB0ZXN0Rmx0bWMoKVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG4iXX0=\n\n\n\nconst $d16c075ed1f61848$export$36ad181701cee597 = (0, $670b7ed2a3db56ef$export$2e2bcd8739ae039);\nconst $d16c075ed1f61848$export$2ebf12717e6b5bb8 = (0, $794e319dbcdb5a2b$export$e3140dc7d0c35e48);\nfunction $d16c075ed1f61848$export$fc970ed23da99565() {\n    if (process.platform === \"win32\") return $d16c075ed1f61848$export$36ad181701cee597();\n    else return (0, $794e319dbcdb5a2b$export$e3140dc7d0c35e48)();\n} //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4ubWpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2FkbWluLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxJQUFJLGtCQUFrQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUVuQzs7Ozs7Ozs7Ozs7OztHQWFHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGtCQUFrQixDQUFBO0FBRWhEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFBO0FBRWxDOzs7Ozs7Ozs7Ozs7Ozs7R0FlRztBQUNILE1BQU0sVUFBVSxPQUFPO0lBQ3JCLElBQUksT0FBTyxDQUFDLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQztRQUNqQyxPQUFPLGNBQWMsRUFBRSxDQUFBO0lBQ3pCLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxNQUFNLEVBQUUsQ0FBQTtJQUNqQixDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlZmF1bHQgYXMgaXNBZG1pbldpbmRvd3NPcmlnIH0gZnJvbSBcIi4vaXMtYWRtaW4ubWpzXCJcbmltcG9ydCB7IGlzUm9vdCB9IGZyb20gXCIuL3Jvb3QubWpzXCJcblxuLyoqXG4gKiBDaGVjayBpZiB0aGUgcHJvY2VzcyBpcyBydW5uaW5nIGFzIGFkbWluaXN0cmF0b3Igb24gV2luZG93cy5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc0FkbWluV2luZG93cyB9IGZyb20gXCJhZG1pbmFcIlxuICpcbiAqIGNvbnNvbGUubG9nKGF3YWl0IGlzQWRtaW5XaW5kb3dzKCkpXG4gKiAvLz0+IGZhbHNlXG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwcm9jZXNzIGlzIHJ1bm5pbmcgYXMgYWRtaW5pc3RyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzQWRtaW5XaW5kb3dzID0gaXNBZG1pbldpbmRvd3NPcmlnXG5cbi8qKlxuICogRGV0ZWN0IGlmIHRoZSBwcm9jZXNzIGhhcyByb290IHByaXZpbGVnZSBvbiBQb3NpeC5cbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc0FkbWluUG9zaXggfSBmcm9tIFwiYWRtaW5hXCJcbiAqXG4gKiBjb25zb2xlLmxvZyhpc0FkbWluUG9zaXgoKSlcbiAqIC8vPT4gZmFsc2VcbiAqIGBgYFxuICpcbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHByb2Nlc3MgaXMgcnVubmluZyBhcyByb290LlxuICovXG5leHBvcnQgY29uc3QgaXNBZG1pblBvc2l4ID0gaXNSb290XG5cbi8qKlxuICogRGV0ZWN0IGlmIHRoZSBjb2RlIGlzIHJ1bm5pbmcgYXMgYWRtaW4vcm9vdFxuICpcbiAqIE9uIFdpbmRvd3MsIGl0IGNoZWNrcyBmb3IgYWRtaW4gYWNjZXNzLCBhbmQgb24gUG9zaXgsIGl0IGNoZWNrcyBmb3Igcm9vdCBhY2Nlc3NcbiAqXG4gKiBAZXhhbXBsZVxuICpcbiAqIGBgYGpzXG4gKiBpbXBvcnQgeyBpc0FkbWluIH0gZnJvbSBcImFkbWluYVwiXG4gKlxuICogY29uc29sZS5sb2coaXNBZG1pbigpKVxuICogLy89PiBmYWxzZVxuICogYGBgXG4gKlxuICogQHJldHVybnMgV2hldGhlciB0aGUgcHJvY2VzcyBpcyBydW5uaW5nIGFzIHJvb3Qgb3IgYWRtaW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0FkbWluKCkge1xuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJ3aW4zMlwiKSB7XG4gICAgcmV0dXJuIGlzQWRtaW5XaW5kb3dzKClcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gaXNSb290KClcbiAgfVxufVxuIl19\n\n\nvar $0b108777763b8103$exports = {};\n\n$parcel$export($0b108777763b8103$exports, \"grantUserWriteAccess\", () => $0b108777763b8103$export$4718e061a205eab);\n\n\nasync function $0b108777763b8103$export$4718e061a205eab(path) {\n    if ((process.platform === \"linux\" || process.platform === \"darwin\") && (0, $794e319dbcdb5a2b$export$316200228f28b8ce)() && process.env.SUDO_USER !== undefined) {\n        const isDirectory = (0, ($parcel$interopDefault($dtrkX$fs))).statSync(path).isDirectory();\n        await (0, $794e319dbcdb5a2b$export$351270479e2eef26)(\"chown\", [\n            ...isDirectory ? [\n                \"-R\"\n            ] : [],\n            process.env.SUDO_USER,\n            path\n        ], (0, $794e319dbcdb5a2b$export$151aeb0ade3989e1));\n    }\n} //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hY2Nlc3MubWpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL3VzZXItYWNjZXNzLm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUNqRSxPQUFPLEVBQUUsTUFBTSxJQUFJLENBQUE7QUFFbkI7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLG9CQUFvQixDQUFDLElBQVk7SUFDckQsSUFDRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEtBQUssT0FBTyxJQUFJLE9BQU8sQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDO1FBQy9ELE1BQU0sRUFBRTtRQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsU0FBUyxLQUFLLFNBQVMsRUFDbkMsQ0FBQztRQUNELE1BQU0sV0FBVyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUE7UUFDbkQsTUFBTSxRQUFRLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUM1RyxDQUFDO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzU3VkbywgZXhlY1Jvb3QsIGRlZmF1bHRFeGVjT3B0aW9ucyB9IGZyb20gXCIuL3Jvb3QubWpzXCJcbmltcG9ydCBmcyBmcm9tIFwiZnNcIlxuXG4vKipcbiAqIEdpdmUgdGhlIHVzZXIgYWNjZXNzIHRvIHRoZSBnaXZlbiBwYXRoIChhbmQgaXRzIHN1Yi1kaXJlY3RvcmllcyBpZiBhIGRpcmVjdG9yeSkuIEl0IGNoYW5nZXMgdGhlIG93bmVyIHRvIHRoZVxuICogU1VET19VU0VSLiBUaGlzIGFsbG93cyB0aGUgdXNlciB0byB1c2UgdGhlIGZvbGRlciB3aXRob3V0IHN1ZG9cbiAqXG4gKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCB0byBnaXZlIHRoZSB1c2VyIGFjY2VzcyB0b1xuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ3JhbnRVc2VyV3JpdGVBY2Nlc3MocGF0aDogc3RyaW5nKSB7XG4gIGlmIChcbiAgICAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gXCJsaW51eFwiIHx8IHByb2Nlc3MucGxhdGZvcm0gPT09IFwiZGFyd2luXCIpICYmXG4gICAgaXNTdWRvKCkgJiZcbiAgICBwcm9jZXNzLmVudi5TVURPX1VTRVIgIT09IHVuZGVmaW5lZFxuICApIHtcbiAgICBjb25zdCBpc0RpcmVjdG9yeSA9IGZzLnN0YXRTeW5jKHBhdGgpLmlzRGlyZWN0b3J5KClcbiAgICBhd2FpdCBleGVjUm9vdChcImNob3duXCIsIFsuLi4oaXNEaXJlY3RvcnkgPyBbXCItUlwiXSA6IFtdKSwgcHJvY2Vzcy5lbnYuU1VET19VU0VSLCBwYXRoXSwgZGVmYXVsdEV4ZWNPcHRpb25zKVxuICB9XG59XG4iXX0=\n\n\n //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgubWpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsic3JjL2luZGV4Lm10cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLGFBQWEsQ0FBQTtBQUMzQixjQUFjLG1CQUFtQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vcm9vdC5tanNcIlxuZXhwb3J0ICogZnJvbSBcIi4vYWRtaW4ubWpzXCJcbmV4cG9ydCAqIGZyb20gXCIuL3VzZXItYWNjZXNzLm1qc1wiXG4iXX0=\n$parcel$exportWildcard(module.exports, $794e319dbcdb5a2b$exports);\n$parcel$exportWildcard(module.exports, $d16c075ed1f61848$exports);\n$parcel$exportWildcard(module.exports, $0b108777763b8103$exports);\n\n\n//# sourceMappingURL=index.node.cjs.map\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction checkPathExt (path, options) {\n  var pathext = options.pathExt !== undefined ?\n    options.pathExt : process.env.PATHEXT\n\n  if (!pathext) {\n    return true\n  }\n\n  pathext = pathext.split(';')\n  if (pathext.indexOf('') !== -1) {\n    return true\n  }\n  for (var i = 0; i < pathext.length; i++) {\n    var p = pathext[i].toLowerCase()\n    if (p && path.substr(-p.length).toLowerCase() === p) {\n      return true\n    }\n  }\n  return false\n}\n\nfunction checkStat (stat, path, options) {\n  if (!stat.isSymbolicLink() && !stat.isFile()) {\n    return false\n  }\n  return checkPathExt(path, options)\n}\n\nfunction isexe (path, options, cb) {\n  fs.stat(path, function (er, stat) {\n    cb(er, er ? false : checkStat(stat, path, options))\n  })\n}\n\nfunction sync (path, options) {\n  return checkStat(fs.statSync(path), path, options)\n}\n","module.exports = isexe\nisexe.sync = sync\n\nvar fs = require('fs')\n\nfunction isexe (path, options, cb) {\n  fs.stat(path, function (er, stat) {\n    cb(er, er ? false : checkStat(stat, options))\n  })\n}\n\nfunction sync (path, options) {\n  return checkStat(fs.statSync(path), options)\n}\n\nfunction checkStat (stat, options) {\n  return stat.isFile() && checkMode(stat, options)\n}\n\nfunction checkMode (stat, options) {\n  var mod = stat.mode\n  var uid = stat.uid\n  var gid = stat.gid\n\n  var myUid = options.uid !== undefined ?\n    options.uid : process.getuid && process.getuid()\n  var myGid = options.gid !== undefined ?\n    options.gid : process.getgid && process.getgid()\n\n  var u = parseInt('100', 8)\n  var g = parseInt('010', 8)\n  var o = parseInt('001', 8)\n  var ug = u | g\n\n  var ret = (mod & o) ||\n    (mod & g) && gid === myGid ||\n    (mod & u) && uid === myUid ||\n    (mod & ug) && myUid === 0\n\n  return ret\n}\n","// This is not the set of all possible signals.\n//\n// It IS, however, the set of all signals that trigger\n// an exit on either Linux or BSD systems.  Linux is a\n// superset of the signal names supported on BSD, and\n// the unknown signals just fail to register, so we can\n// catch that easily enough.\n//\n// Don't bother with SIGKILL.  It's uncatchable, which\n// means that we can't fire any callbacks anyway.\n//\n// If a user does happen to register a handler on a non-\n// fatal signal like SIGWINCH or something, and then\n// exit, it'll end up firing `process.emit('exit')`, so\n// the handler will be fired anyway.\n//\n// SIGBUS, SIGFPE, SIGSEGV and SIGILL, when not raised\n// artificially, inherently leave the process in a\n// state from which it is not safe to try and enter JS\n// listeners.\nmodule.exports = [\n  'SIGABRT',\n  'SIGALRM',\n  'SIGHUP',\n  'SIGINT',\n  'SIGTERM'\n]\n\nif (process.platform !== 'win32') {\n  module.exports.push(\n    'SIGVTALRM',\n    'SIGXCPU',\n    'SIGXFSZ',\n    'SIGUSR2',\n    'SIGTRAP',\n    'SIGSYS',\n    'SIGQUIT',\n    'SIGIOT'\n    // should detect profiler and enable/disable accordingly.\n    // see #21\n    // 'SIGPROF'\n  )\n}\n\nif (process.platform === 'linux') {\n  module.exports.push(\n    'SIGIO',\n    'SIGPOLL',\n    'SIGPWR',\n    'SIGSTKFLT',\n    'SIGUNUSED'\n  )\n}\n","export * from \"./root.mjs\"\nexport * from \"./admin.mjs\"\nexport * from \"./user-access.mjs\"\n","import which from \"which\"\nimport {\n  execa,\n  execaCommand,\n  execaCommandSync,\n  execaSync,\n  type SyncOptions as ExecaSyncOptions,\n  type ExecaSyncReturnValue,\n  type Options as ExecaOptions,\n  type ExecaChildProcess,\n} from \"execa\"\n\n/** Detect if sudo is available */\nexport function hasSudo(): boolean {\n  return which.sync(\"sudo\", { nothrow: true }) !== null\n}\n\n/**\n * Detect if the process has root privilege on Posix.\n *\n * @example\n *\n * ```js\n * import { isRoot } from \"admina\"\n *\n * console.log(isRoot())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as root.\n */\nexport function isRoot(): boolean {\n  // TODO not all CI systems are root\n  return process.getuid?.() === 0 || Boolean(process.env.CI)\n}\n\n/** Detect if sudo is available and the user has root privileges */\nexport function isSudo(): boolean {\n  return isRoot() && hasSudo()\n}\n\n/** Prepend `sudo` to the command if sudo is available */\nexport function prependSudo(command: string) {\n  if (isSudo()) {\n    return `sudo ${command}`\n  }\n  return command\n}\n\n/** Default exec options `{ stdio: \"inherit\", shell: true }` */\nexport const defaultExecOptions: ExecaSyncOptions = {\n  stdio: \"inherit\",\n  shell: true,\n}\n\n/**\n * Execute a command as root if sudo is available. Otherwise executes the command normally without sudo.\n *\n * @param program The program to spawn\n * @param args The command arguments\n * @param execOptions The options passed to `execa`. Defaults to `{ stdio: \"inherit\", shell: true }`\n * @returns The execution result\n */\nexport function execRootSync(\n  program: string,\n  args: string[] = [],\n  execOptions: ExecaSyncOptions = defaultExecOptions,\n): ExecaSyncReturnValue<string> {\n  if (isSudo()) {\n    const command = getSudoCommand(program, args)\n    return execaCommandSync(command, execOptions)\n  } else {\n    return execaSync(program, args, execOptions)\n  }\n}\n\n/**\n * Asynchronously execute a command as root if sudo is available. Otherwise executes the command normally without sudo.\n *\n * @param program The program to spawn\n * @param args The command arguments\n * @param execOptions The options passed to `execa`. Defaults to `{ stdio: \"inherit\", shell: true }`\n * @returns A promise to the execution result\n */\nexport function execRoot(\n  program: string,\n  args: string[] = [],\n  execOptions: ExecaOptions = defaultExecOptions,\n): ExecaChildProcess<string> {\n  if (isSudo()) {\n    const command = getSudoCommand(program, args)\n    return execaCommand(command, execOptions)\n  } else {\n    return execa(program, args, execOptions)\n  }\n}\n\nfunction getSudoCommand(program: string, args: string[]) {\n  return `sudo ${quote([program, ...args]).join(\" \")}`\n}\n\nfunction quote(strings: string[]) {\n  return strings.map((str) => (isQuoted(str) ? str : `'${str}'`))\n}\n\nfunction isQuoted(str: string) {\n  if (str.length < 2) {\n    return false\n  }\n  const first = str[0]\n  const last = str[str.length - 1]\n  return (first === \"'\" && last === \"'\") || (first === '\"' && last === '\"')\n}\n","const { isexe, sync: isexeSync } = require('isexe')\nconst { join, delimiter, sep, posix } = require('path')\n\nconst isWindows = process.platform === 'win32'\n\n// used to check for slashed in commands passed in. always checks for the posix\n// seperator on all platforms, and checks for the current separator when not on\n// a posix platform. don't use the isWindows check for this since that is mocked\n// in tests but we still need the code to actually work when called. that is also\n// why it is ignored from coverage.\n/* istanbul ignore next */\nconst rSlash = new RegExp(`[${posix.sep}${sep === posix.sep ? '' : sep}]`.replace(/(\\\\)/g, '\\\\$1'))\nconst rRel = new RegExp(`^\\\\.${rSlash.source}`)\n\nconst getNotFoundError = (cmd) =>\n  Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, {\n  path: optPath = process.env.PATH,\n  pathExt: optPathExt = process.env.PATHEXT,\n  delimiter: optDelimiter = delimiter,\n}) => {\n  // If it has a slash, then we don't bother searching the pathenv.\n  // just check the file itself, and that's it.\n  const pathEnv = cmd.match(rSlash) ? [''] : [\n    // windows always checks the cwd first\n    ...(isWindows ? [process.cwd()] : []),\n    ...(optPath || /* istanbul ignore next: very unusual */ '').split(optDelimiter),\n  ]\n\n  if (isWindows) {\n    const pathExtExe = optPathExt ||\n      ['.EXE', '.CMD', '.BAT', '.COM'].join(optDelimiter)\n    const pathExt = pathExtExe.split(optDelimiter).flatMap((item) => [item, item.toLowerCase()])\n    if (cmd.includes('.') && pathExt[0] !== '') {\n      pathExt.unshift('')\n    }\n    return { pathEnv, pathExt, pathExtExe }\n  }\n\n  return { pathEnv, pathExt: [''] }\n}\n\nconst getPathPart = (raw, cmd) => {\n  const pathPart = /^\".*\"$/.test(raw) ? raw.slice(1, -1) : raw\n  const prefix = !pathPart && rRel.test(cmd) ? cmd.slice(0, 2) : ''\n  return prefix + join(pathPart, cmd)\n}\n\nconst which = async (cmd, opt = {}) => {\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (const envPart of pathEnv) {\n    const p = getPathPart(envPart, cmd)\n\n    for (const ext of pathExt) {\n      const withExt = p + ext\n      const is = await isexe(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n      if (is) {\n        if (!opt.all) {\n          return withExt\n        }\n        found.push(withExt)\n      }\n    }\n  }\n\n  if (opt.all && found.length) {\n    return found\n  }\n\n  if (opt.nothrow) {\n    return null\n  }\n\n  throw getNotFoundError(cmd)\n}\n\nconst whichSync = (cmd, opt = {}) => {\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (const pathEnvPart of pathEnv) {\n    const p = getPathPart(pathEnvPart, cmd)\n\n    for (const ext of pathExt) {\n      const withExt = p + ext\n      const is = isexeSync(withExt, { pathExt: pathExtExe, ignoreErrors: true })\n      if (is) {\n        if (!opt.all) {\n          return withExt\n        }\n        found.push(withExt)\n      }\n    }\n  }\n\n  if (opt.all && found.length) {\n    return found\n  }\n\n  if (opt.nothrow) {\n    return null\n  }\n\n  throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n",null,"import * as posix from './posix.js'\nimport * as win32 from './win32.js'\nexport * from './options.js'\nexport { win32, posix }\n\nconst platform = process.env._ISEXE_TEST_PLATFORM_ || process.platform\nconst impl = platform === 'win32' ? win32 : posix\n\n/**\n * Determine whether a path is executable on the current platform.\n */\nexport const isexe = impl.isexe\n/**\n * Synchronously determine whether a path is executable on the\n * current platform.\n */\nexport const sync = impl.sync\n",null,"/**\n * This is the Posix implementation of isexe, which uses the file\n * mode and uid/gid values.\n *\n * @module\n */\n\nimport { Stats, statSync } from 'fs'\nimport { stat } from 'fs/promises'\nimport { IsexeOptions } from './options'\n\n/**\n * Determine whether a path is executable according to the mode and\n * current (or specified) user and group IDs.\n */\nexport const isexe = async (\n  path: string,\n  options: IsexeOptions = {}\n): Promise<boolean> => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(await stat(path), options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\n/**\n * Synchronously determine whether a path is executable according to\n * the mode and current (or specified) user and group IDs.\n */\nexport const sync = (\n  path: string,\n  options: IsexeOptions = {}\n): boolean => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(statSync(path), options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\nconst checkStat = (stat: Stats, options: IsexeOptions) =>\n  stat.isFile() && checkMode(stat, options)\n\nconst checkMode = (stat: Stats, options: IsexeOptions) => {\n  const myUid = options.uid ?? process.getuid?.()\n  const myGroups = options.groups ?? process.getgroups?.() ?? []\n  const myGid = options.gid ?? process.getgid?.() ?? myGroups[0]\n  if (myUid === undefined || myGid === undefined) {\n    throw new Error('cannot get uid or gid')\n  }\n\n  const groups = new Set([myGid, ...myGroups])\n\n  const mod = stat.mode\n  const uid = stat.uid\n  const gid = stat.gid\n\n  const u = parseInt('100', 8)\n  const g = parseInt('010', 8)\n  const o = parseInt('001', 8)\n  const ug = u | g\n\n  return !!(\n    mod & o ||\n    (mod & g && groups.has(gid)) ||\n    (mod & u && uid === myUid) ||\n    (mod & ug && myUid === 0)\n  )\n}\n","import { promises } from \"fs\"\nexport default promises\n\nexport const {\n  access,\n  appendFile,\n  chmod,\n  chown,\n  copyFile,\n  lchmod,\n  lchown,\n  link,\n  lstat,\n  mkdir,\n  mkdtemp,\n  open,\n  readdir,\n  readFile,\n  readlink,\n  realpath,\n  rename,\n  rmdir,\n  stat,\n  symlink,\n  truncate,\n  unlink,\n  utimes,\n  writeFile,\n} = promises\n",null,"/**\n * This is the Windows implementation of isexe, which uses the file\n * extension and PATHEXT setting.\n *\n * @module\n */\n\nimport { Stats, statSync } from 'fs'\nimport { stat } from 'fs/promises'\nimport { IsexeOptions } from './options'\n\n/**\n * Determine whether a path is executable based on the file extension\n * and PATHEXT environment variable (or specified pathExt option)\n */\nexport const isexe = async (\n  path: string,\n  options: IsexeOptions = {}\n): Promise<boolean> => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(await stat(path), path, options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\n/**\n * Synchronously determine whether a path is executable based on the file\n * extension and PATHEXT environment variable (or specified pathExt option)\n */\nexport const sync = (\n  path: string,\n  options: IsexeOptions = {}\n): boolean => {\n  const { ignoreErrors = false } = options\n  try {\n    return checkStat(statSync(path), path, options)\n  } catch (e) {\n    const er = e as NodeJS.ErrnoException\n    if (ignoreErrors || er.code === 'EACCES') return false\n    throw er\n  }\n}\n\nconst checkPathExt = (path: string, options: IsexeOptions) => {\n  const { pathExt = process.env.PATHEXT || '' } = options\n  const peSplit = pathExt.split(';')\n  if (peSplit.indexOf('') !== -1) {\n    return true\n  }\n\n  for (let i = 0; i < peSplit.length; i++) {\n    const p = peSplit[i].toLowerCase()\n    const ext = path.substring(path.length - p.length).toLowerCase()\n\n    if (p && ext === p) {\n      return true\n    }\n  }\n  return false\n}\n\nconst checkStat = (stat: Stats, path: string, options: IsexeOptions) =>\n  stat.isFile() && checkPathExt(path, options)\n","export interface IsexeOptions {\n  /**\n   * Ignore errors arising from attempting to get file access status\n   * Note that EACCES is always ignored, because that just means\n   * it's not executable. If this is not set, then attempting to check\n   * the executable-ness of a nonexistent file will raise ENOENT, for\n   * example.\n   */\n  ignoreErrors?: boolean\n\n  /**\n   * effective uid when checking executable mode flags on posix\n   * Defaults to process.getuid()\n   */\n  uid?: number\n\n  /**\n   * effective gid when checking executable mode flags on posix\n   * Defaults to process.getgid()\n   */\n  gid?: number\n\n  /**\n   * effective group ID list to use when checking executable mode flags\n   * on posix\n   * Defaults to process.getgroups()\n   */\n  groups?: number[]\n\n  /**\n   * The ;-delimited path extension list for win32 implementation.\n   * Defaults to process.env.PATHEXT\n   */\n  pathExt?: string\n}\n","import {Buffer} from 'node:buffer';\nimport path from 'node:path';\nimport childProcess from 'node:child_process';\nimport process from 'node:process';\nimport crossSpawn from 'cross-spawn';\nimport stripFinalNewline from 'strip-final-newline';\nimport {npmRunPathEnv} from 'npm-run-path';\nimport onetime from 'onetime';\nimport {makeError} from './lib/error.js';\nimport {normalizeStdio, normalizeStdioNode} from './lib/stdio.js';\nimport {spawnedKill, spawnedCancel, setupTimeout, validateTimeout, setExitHandler} from './lib/kill.js';\nimport {addPipeMethods} from './lib/pipe.js';\nimport {handleInput, getSpawnedResult, makeAllStream, handleInputSync} from './lib/stream.js';\nimport {mergePromise, getSpawnedPromise} from './lib/promise.js';\nimport {joinCommand, parseCommand, parseTemplates, getEscapedCommand} from './lib/command.js';\nimport {logCommand, verboseDefault} from './lib/verbose.js';\n\nconst DEFAULT_MAX_BUFFER = 1000 * 1000 * 100;\n\nconst getEnv = ({env: envOption, extendEnv, preferLocal, localDir, execPath}) => {\n\tconst env = extendEnv ? {...process.env, ...envOption} : envOption;\n\n\tif (preferLocal) {\n\t\treturn npmRunPathEnv({env, cwd: localDir, execPath});\n\t}\n\n\treturn env;\n};\n\nconst handleArguments = (file, args, options = {}) => {\n\tconst parsed = crossSpawn._parse(file, args, options);\n\tfile = parsed.command;\n\targs = parsed.args;\n\toptions = parsed.options;\n\n\toptions = {\n\t\tmaxBuffer: DEFAULT_MAX_BUFFER,\n\t\tbuffer: true,\n\t\tstripFinalNewline: true,\n\t\textendEnv: true,\n\t\tpreferLocal: false,\n\t\tlocalDir: options.cwd || process.cwd(),\n\t\texecPath: process.execPath,\n\t\tencoding: 'utf8',\n\t\treject: true,\n\t\tcleanup: true,\n\t\tall: false,\n\t\twindowsHide: true,\n\t\tverbose: verboseDefault,\n\t\t...options,\n\t};\n\n\toptions.env = getEnv(options);\n\n\toptions.stdio = normalizeStdio(options);\n\n\tif (process.platform === 'win32' && path.basename(file, '.exe') === 'cmd') {\n\t\t// #116\n\t\targs.unshift('/q');\n\t}\n\n\treturn {file, args, options, parsed};\n};\n\nconst handleOutput = (options, value, error) => {\n\tif (typeof value !== 'string' && !Buffer.isBuffer(value)) {\n\t\t// When `execaSync()` errors, we normalize it to '' to mimic `execa()`\n\t\treturn error === undefined ? undefined : '';\n\t}\n\n\tif (options.stripFinalNewline) {\n\t\treturn stripFinalNewline(value);\n\t}\n\n\treturn value;\n};\n\nexport function execa(file, args, options) {\n\tconst parsed = handleArguments(file, args, options);\n\tconst command = joinCommand(file, args);\n\tconst escapedCommand = getEscapedCommand(file, args);\n\tlogCommand(escapedCommand, parsed.options);\n\n\tvalidateTimeout(parsed.options);\n\n\tlet spawned;\n\ttry {\n\t\tspawned = childProcess.spawn(parsed.file, parsed.args, parsed.options);\n\t} catch (error) {\n\t\t// Ensure the returned error is always both a promise and a child process\n\t\tconst dummySpawned = new childProcess.ChildProcess();\n\t\tconst errorPromise = Promise.reject(makeError({\n\t\t\terror,\n\t\t\tstdout: '',\n\t\t\tstderr: '',\n\t\t\tall: '',\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t}));\n\t\tmergePromise(dummySpawned, errorPromise);\n\t\treturn dummySpawned;\n\t}\n\n\tconst spawnedPromise = getSpawnedPromise(spawned);\n\tconst timedPromise = setupTimeout(spawned, parsed.options, spawnedPromise);\n\tconst processDone = setExitHandler(spawned, parsed.options, timedPromise);\n\n\tconst context = {isCanceled: false};\n\n\tspawned.kill = spawnedKill.bind(null, spawned.kill.bind(spawned));\n\tspawned.cancel = spawnedCancel.bind(null, spawned, context);\n\n\tconst handlePromise = async () => {\n\t\tconst [{error, exitCode, signal, timedOut}, stdoutResult, stderrResult, allResult] = await getSpawnedResult(spawned, parsed.options, processDone);\n\t\tconst stdout = handleOutput(parsed.options, stdoutResult);\n\t\tconst stderr = handleOutput(parsed.options, stderrResult);\n\t\tconst all = handleOutput(parsed.options, allResult);\n\n\t\tif (error || exitCode !== 0 || signal !== null) {\n\t\t\tconst returnedError = makeError({\n\t\t\t\terror,\n\t\t\t\texitCode,\n\t\t\t\tsignal,\n\t\t\t\tstdout,\n\t\t\t\tstderr,\n\t\t\t\tall,\n\t\t\t\tcommand,\n\t\t\t\tescapedCommand,\n\t\t\t\tparsed,\n\t\t\t\ttimedOut,\n\t\t\t\tisCanceled: context.isCanceled || (parsed.options.signal ? parsed.options.signal.aborted : false),\n\t\t\t\tkilled: spawned.killed,\n\t\t\t});\n\n\t\t\tif (!parsed.options.reject) {\n\t\t\t\treturn returnedError;\n\t\t\t}\n\n\t\t\tthrow returnedError;\n\t\t}\n\n\t\treturn {\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\texitCode: 0,\n\t\t\tstdout,\n\t\t\tstderr,\n\t\t\tall,\n\t\t\tfailed: false,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t};\n\t};\n\n\tconst handlePromiseOnce = onetime(handlePromise);\n\n\thandleInput(spawned, parsed.options);\n\n\tspawned.all = makeAllStream(spawned, parsed.options);\n\n\taddPipeMethods(spawned);\n\tmergePromise(spawned, handlePromiseOnce);\n\treturn spawned;\n}\n\nexport function execaSync(file, args, options) {\n\tconst parsed = handleArguments(file, args, options);\n\tconst command = joinCommand(file, args);\n\tconst escapedCommand = getEscapedCommand(file, args);\n\tlogCommand(escapedCommand, parsed.options);\n\n\tconst input = handleInputSync(parsed.options);\n\n\tlet result;\n\ttry {\n\t\tresult = childProcess.spawnSync(parsed.file, parsed.args, {...parsed.options, input});\n\t} catch (error) {\n\t\tthrow makeError({\n\t\t\terror,\n\t\t\tstdout: '',\n\t\t\tstderr: '',\n\t\t\tall: '',\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: false,\n\t\t\tisCanceled: false,\n\t\t\tkilled: false,\n\t\t});\n\t}\n\n\tconst stdout = handleOutput(parsed.options, result.stdout, result.error);\n\tconst stderr = handleOutput(parsed.options, result.stderr, result.error);\n\n\tif (result.error || result.status !== 0 || result.signal !== null) {\n\t\tconst error = makeError({\n\t\t\tstdout,\n\t\t\tstderr,\n\t\t\terror: result.error,\n\t\t\tsignal: result.signal,\n\t\t\texitCode: result.status,\n\t\t\tcommand,\n\t\t\tescapedCommand,\n\t\t\tparsed,\n\t\t\ttimedOut: result.error && result.error.code === 'ETIMEDOUT',\n\t\t\tisCanceled: false,\n\t\t\tkilled: result.signal !== null,\n\t\t});\n\n\t\tif (!parsed.options.reject) {\n\t\t\treturn error;\n\t\t}\n\n\t\tthrow error;\n\t}\n\n\treturn {\n\t\tcommand,\n\t\tescapedCommand,\n\t\texitCode: 0,\n\t\tstdout,\n\t\tstderr,\n\t\tfailed: false,\n\t\ttimedOut: false,\n\t\tisCanceled: false,\n\t\tkilled: false,\n\t};\n}\n\nconst normalizeScriptStdin = ({input, inputFile, stdio}) => input === undefined && inputFile === undefined && stdio === undefined\n\t? {stdin: 'inherit'}\n\t: {};\n\nconst normalizeScriptOptions = (options = {}) => ({\n\tpreferLocal: true,\n\t...normalizeScriptStdin(options),\n\t...options,\n});\n\nfunction create$(options) {\n\tfunction $(templatesOrOptions, ...expressions) {\n\t\tif (!Array.isArray(templatesOrOptions)) {\n\t\t\treturn create$({...options, ...templatesOrOptions});\n\t\t}\n\n\t\tconst [file, ...args] = parseTemplates(templatesOrOptions, expressions);\n\t\treturn execa(file, args, normalizeScriptOptions(options));\n\t}\n\n\t$.sync = (templates, ...expressions) => {\n\t\tif (!Array.isArray(templates)) {\n\t\t\tthrow new TypeError('Please use $(options).sync`command` instead of $.sync(options)`command`.');\n\t\t}\n\n\t\tconst [file, ...args] = parseTemplates(templates, expressions);\n\t\treturn execaSync(file, args, normalizeScriptOptions(options));\n\t};\n\n\treturn $;\n}\n\nexport const $ = create$();\n\nexport function execaCommand(command, options) {\n\tconst [file, ...args] = parseCommand(command);\n\treturn execa(file, args, options);\n}\n\nexport function execaCommandSync(command, options) {\n\tconst [file, ...args] = parseCommand(command);\n\treturn execaSync(file, args, options);\n}\n\nexport function execaNode(scriptPath, args, options = {}) {\n\tif (args && !Array.isArray(args) && typeof args === 'object') {\n\t\toptions = args;\n\t\targs = [];\n\t}\n\n\tconst stdio = normalizeStdioNode(options);\n\tconst defaultExecArgv = process.execArgv.filter(arg => !arg.startsWith('--inspect'));\n\n\tconst {\n\t\tnodePath = process.execPath,\n\t\tnodeOptions = defaultExecArgv,\n\t} = options;\n\n\treturn execa(\n\t\tnodePath,\n\t\t[\n\t\t\t...nodeOptions,\n\t\t\tscriptPath,\n\t\t\t...(Array.isArray(args) ? args : []),\n\t\t],\n\t\t{\n\t\t\t...options,\n\t\t\tstdin: undefined,\n\t\t\tstdout: undefined,\n\t\t\tstderr: undefined,\n\t\t\tstdio,\n\t\t\tshell: false,\n\t\t},\n\t);\n}\n","'use strict';\n\nconst cp = require('child_process');\nconst parse = require('./lib/parse');\nconst enoent = require('./lib/enoent');\n\nfunction spawn(command, args, options) {\n    // Parse the arguments\n    const parsed = parse(command, args, options);\n\n    // Spawn the child process\n    const spawned = cp.spawn(parsed.command, parsed.args, parsed.options);\n\n    // Hook into child process \"exit\" event to emit an error if the command\n    // does not exists, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    enoent.hookChildProcess(spawned, parsed);\n\n    return spawned;\n}\n\nfunction spawnSync(command, args, options) {\n    // Parse the arguments\n    const parsed = parse(command, args, options);\n\n    // Spawn the child process\n    const result = cp.spawnSync(parsed.command, parsed.args, parsed.options);\n\n    // Analyze if the command does not exist, see: https://github.com/IndigoUnited/node-cross-spawn/issues/16\n    result.error = result.error || enoent.verifyENOENTSync(result.status, parsed);\n\n    return result;\n}\n\nmodule.exports = spawn;\nmodule.exports.spawn = spawn;\nmodule.exports.sync = spawnSync;\n\nmodule.exports._parse = parse;\nmodule.exports._enoent = enoent;\n","'use strict';\n\nconst path = require('path');\nconst resolveCommand = require('./util/resolveCommand');\nconst escape = require('./util/escape');\nconst readShebang = require('./util/readShebang');\n\nconst isWin = process.platform === 'win32';\nconst isExecutableRegExp = /\\.(?:com|exe)$/i;\nconst isCmdShimRegExp = /node_modules[\\\\/].bin[\\\\/][^\\\\/]+\\.cmd$/i;\n\nfunction detectShebang(parsed) {\n    parsed.file = resolveCommand(parsed);\n\n    const shebang = parsed.file && readShebang(parsed.file);\n\n    if (shebang) {\n        parsed.args.unshift(parsed.file);\n        parsed.command = shebang;\n\n        return resolveCommand(parsed);\n    }\n\n    return parsed.file;\n}\n\nfunction parseNonShell(parsed) {\n    if (!isWin) {\n        return parsed;\n    }\n\n    // Detect & add support for shebangs\n    const commandFile = detectShebang(parsed);\n\n    // We don't need a shell if the command filename is an executable\n    const needsShell = !isExecutableRegExp.test(commandFile);\n\n    // If a shell is required, use cmd.exe and take care of escaping everything correctly\n    // Note that `forceShell` is an hidden option used only in tests\n    if (parsed.options.forceShell || needsShell) {\n        // Need to double escape meta chars if the command is a cmd-shim located in `node_modules/.bin/`\n        // The cmd-shim simply calls execute the package bin file with NodeJS, proxying any argument\n        // Because the escape of metachars with ^ gets interpreted when the cmd.exe is first called,\n        // we need to double escape them\n        const needsDoubleEscapeMetaChars = isCmdShimRegExp.test(commandFile);\n\n        // Normalize posix paths into OS compatible paths (e.g.: foo/bar -> foo\\bar)\n        // This is necessary otherwise it will always fail with ENOENT in those cases\n        parsed.command = path.normalize(parsed.command);\n\n        // Escape command & arguments\n        parsed.command = escape.command(parsed.command);\n        parsed.args = parsed.args.map((arg) => escape.argument(arg, needsDoubleEscapeMetaChars));\n\n        const shellCommand = [parsed.command].concat(parsed.args).join(' ');\n\n        parsed.args = ['/d', '/s', '/c', `\"${shellCommand}\"`];\n        parsed.command = process.env.comspec || 'cmd.exe';\n        parsed.options.windowsVerbatimArguments = true; // Tell node's spawn that the arguments are already escaped\n    }\n\n    return parsed;\n}\n\nfunction parse(command, args, options) {\n    // Normalize arguments, similar to nodejs\n    if (args && !Array.isArray(args)) {\n        options = args;\n        args = null;\n    }\n\n    args = args ? args.slice(0) : []; // Clone array to avoid changing the original\n    options = Object.assign({}, options); // Clone object to avoid changing the original\n\n    // Build our parsed object\n    const parsed = {\n        command,\n        args,\n        options,\n        file: undefined,\n        original: {\n            command,\n            args,\n        },\n    };\n\n    // Delegate further parsing to shell or non-shell\n    return options.shell ? parsed : parseNonShell(parsed);\n}\n\nmodule.exports = parse;\n","'use strict';\n\nconst path = require('path');\nconst which = require('which');\nconst getPathKey = require('path-key');\n\nfunction resolveCommandAttempt(parsed, withoutPathExt) {\n    const env = parsed.options.env || process.env;\n    const cwd = process.cwd();\n    const hasCustomCwd = parsed.options.cwd != null;\n    // Worker threads do not have process.chdir()\n    const shouldSwitchCwd = hasCustomCwd && process.chdir !== undefined && !process.chdir.disabled;\n\n    // If a custom `cwd` was specified, we need to change the process cwd\n    // because `which` will do stat calls but does not support a custom cwd\n    if (shouldSwitchCwd) {\n        try {\n            process.chdir(parsed.options.cwd);\n        } catch (err) {\n            /* Empty */\n        }\n    }\n\n    let resolved;\n\n    try {\n        resolved = which.sync(parsed.command, {\n            path: env[getPathKey({ env })],\n            pathExt: withoutPathExt ? path.delimiter : undefined,\n        });\n    } catch (e) {\n        /* Empty */\n    } finally {\n        if (shouldSwitchCwd) {\n            process.chdir(cwd);\n        }\n    }\n\n    // If we successfully resolved, ensure that an absolute path is returned\n    // Note that when a custom `cwd` was used, we need to resolve to an absolute path based on it\n    if (resolved) {\n        resolved = path.resolve(hasCustomCwd ? parsed.options.cwd : '', resolved);\n    }\n\n    return resolved;\n}\n\nfunction resolveCommand(parsed) {\n    return resolveCommandAttempt(parsed) || resolveCommandAttempt(parsed, true);\n}\n\nmodule.exports = resolveCommand;\n","const isWindows = process.platform === 'win32' ||\n    process.env.OSTYPE === 'cygwin' ||\n    process.env.OSTYPE === 'msys'\n\nconst path = require('path')\nconst COLON = isWindows ? ';' : ':'\nconst isexe = require('isexe')\n\nconst getNotFoundError = (cmd) =>\n  Object.assign(new Error(`not found: ${cmd}`), { code: 'ENOENT' })\n\nconst getPathInfo = (cmd, opt) => {\n  const colon = opt.colon || COLON\n\n  // If it has a slash, then we don't bother searching the pathenv.\n  // just check the file itself, and that's it.\n  const pathEnv = cmd.match(/\\//) || isWindows && cmd.match(/\\\\/) ? ['']\n    : (\n      [\n        // windows always checks the cwd first\n        ...(isWindows ? [process.cwd()] : []),\n        ...(opt.path || process.env.PATH ||\n          /* istanbul ignore next: very unusual */ '').split(colon),\n      ]\n    )\n  const pathExtExe = isWindows\n    ? opt.pathExt || process.env.PATHEXT || '.EXE;.CMD;.BAT;.COM'\n    : ''\n  const pathExt = isWindows ? pathExtExe.split(colon) : ['']\n\n  if (isWindows) {\n    if (cmd.indexOf('.') !== -1 && pathExt[0] !== '')\n      pathExt.unshift('')\n  }\n\n  return {\n    pathEnv,\n    pathExt,\n    pathExtExe,\n  }\n}\n\nconst which = (cmd, opt, cb) => {\n  if (typeof opt === 'function') {\n    cb = opt\n    opt = {}\n  }\n  if (!opt)\n    opt = {}\n\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  const step = i => new Promise((resolve, reject) => {\n    if (i === pathEnv.length)\n      return opt.all && found.length ? resolve(found)\n        : reject(getNotFoundError(cmd))\n\n    const ppRaw = pathEnv[i]\n    const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n    const pCmd = path.join(pathPart, cmd)\n    const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n      : pCmd\n\n    resolve(subStep(p, i, 0))\n  })\n\n  const subStep = (p, i, ii) => new Promise((resolve, reject) => {\n    if (ii === pathExt.length)\n      return resolve(step(i + 1))\n    const ext = pathExt[ii]\n    isexe(p + ext, { pathExt: pathExtExe }, (er, is) => {\n      if (!er && is) {\n        if (opt.all)\n          found.push(p + ext)\n        else\n          return resolve(p + ext)\n      }\n      return resolve(subStep(p, i, ii + 1))\n    })\n  })\n\n  return cb ? step(0).then(res => cb(null, res), cb) : step(0)\n}\n\nconst whichSync = (cmd, opt) => {\n  opt = opt || {}\n\n  const { pathEnv, pathExt, pathExtExe } = getPathInfo(cmd, opt)\n  const found = []\n\n  for (let i = 0; i < pathEnv.length; i ++) {\n    const ppRaw = pathEnv[i]\n    const pathPart = /^\".*\"$/.test(ppRaw) ? ppRaw.slice(1, -1) : ppRaw\n\n    const pCmd = path.join(pathPart, cmd)\n    const p = !pathPart && /^\\.[\\\\\\/]/.test(cmd) ? cmd.slice(0, 2) + pCmd\n      : pCmd\n\n    for (let j = 0; j < pathExt.length; j ++) {\n      const cur = p + pathExt[j]\n      try {\n        const is = isexe.sync(cur, { pathExt: pathExtExe })\n        if (is) {\n          if (opt.all)\n            found.push(cur)\n          else\n            return cur\n        }\n      } catch (ex) {}\n    }\n  }\n\n  if (opt.all && found.length)\n    return found\n\n  if (opt.nothrow)\n    return null\n\n  throw getNotFoundError(cmd)\n}\n\nmodule.exports = which\nwhich.sync = whichSync\n","var fs = require('fs')\nvar core\nif (process.platform === 'win32' || global.TESTING_WINDOWS) {\n  core = require('./windows.js')\n} else {\n  core = require('./mode.js')\n}\n\nmodule.exports = isexe\nisexe.sync = sync\n\nfunction isexe (path, options, cb) {\n  if (typeof options === 'function') {\n    cb = options\n    options = {}\n  }\n\n  if (!cb) {\n    if (typeof Promise !== 'function') {\n      throw new TypeError('callback not provided')\n    }\n\n    return new Promise(function (resolve, reject) {\n      isexe(path, options || {}, function (er, is) {\n        if (er) {\n          reject(er)\n        } else {\n          resolve(is)\n        }\n      })\n    })\n  }\n\n  core(path, options || {}, function (er, is) {\n    // ignore EACCES because that just means we aren't allowed to run it\n    if (er) {\n      if (er.code === 'EACCES' || options && options.ignoreErrors) {\n        er = null\n        is = false\n      }\n    }\n    cb(er, is)\n  })\n}\n\nfunction sync (path, options) {\n  // my kingdom for a filtered catch\n  try {\n    return core.sync(path, options || {})\n  } catch (er) {\n    if (options && options.ignoreErrors || er.code === 'EACCES') {\n      return false\n    } else {\n      throw er\n    }\n  }\n}\n","'use strict';\n\nconst pathKey = (options = {}) => {\n\tconst environment = options.env || process.env;\n\tconst platform = options.platform || process.platform;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(environment).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n};\n\nmodule.exports = pathKey;\n// TODO: Remove this for the next major release\nmodule.exports.default = pathKey;\n","'use strict';\n\n// See http://www.robvanderwoude.com/escapechars.php\nconst metaCharsRegExp = /([()\\][%!^\"`<>&|;, *?])/g;\n\nfunction escapeCommand(arg) {\n    // Escape meta chars\n    arg = arg.replace(metaCharsRegExp, '^$1');\n\n    return arg;\n}\n\nfunction escapeArgument(arg, doubleEscapeMetaChars) {\n    // Convert to string\n    arg = `${arg}`;\n\n    // Algorithm below is based on https://qntm.org/cmd\n\n    // Sequence of backslashes followed by a double quote:\n    // double up all the backslashes and escape the double quote\n    arg = arg.replace(/(\\\\*)\"/g, '$1$1\\\\\"');\n\n    // Sequence of backslashes followed by the end of the string\n    // (which will become a double quote later):\n    // double up all the backslashes\n    arg = arg.replace(/(\\\\*)$/, '$1$1');\n\n    // All other backslashes occur literally\n\n    // Quote the whole thing:\n    arg = `\"${arg}\"`;\n\n    // Escape meta chars\n    arg = arg.replace(metaCharsRegExp, '^$1');\n\n    // Double escape meta chars if necessary\n    if (doubleEscapeMetaChars) {\n        arg = arg.replace(metaCharsRegExp, '^$1');\n    }\n\n    return arg;\n}\n\nmodule.exports.command = escapeCommand;\nmodule.exports.argument = escapeArgument;\n","'use strict';\n\nconst fs = require('fs');\nconst shebangCommand = require('shebang-command');\n\nfunction readShebang(command) {\n    // Read the first 150 bytes from the file\n    const size = 150;\n    const buffer = Buffer.alloc(size);\n\n    let fd;\n\n    try {\n        fd = fs.openSync(command, 'r');\n        fs.readSync(fd, buffer, 0, size, 0);\n        fs.closeSync(fd);\n    } catch (e) { /* Empty */ }\n\n    // Attempt to extract shebang (null is returned if not a shebang)\n    return shebangCommand(buffer.toString());\n}\n\nmodule.exports = readShebang;\n","'use strict';\nconst shebangRegex = require('shebang-regex');\n\nmodule.exports = (string = '') => {\n\tconst match = string.match(shebangRegex);\n\n\tif (!match) {\n\t\treturn null;\n\t}\n\n\tconst [path, argument] = match[0].replace(/#! ?/, '').split(' ');\n\tconst binary = path.split('/').pop();\n\n\tif (binary === 'env') {\n\t\treturn argument;\n\t}\n\n\treturn argument ? `${binary} ${argument}` : binary;\n};\n","'use strict';\nmodule.exports = /^#!(.*)/;\n","'use strict';\n\nconst isWin = process.platform === 'win32';\n\nfunction notFoundError(original, syscall) {\n    return Object.assign(new Error(`${syscall} ${original.command} ENOENT`), {\n        code: 'ENOENT',\n        errno: 'ENOENT',\n        syscall: `${syscall} ${original.command}`,\n        path: original.command,\n        spawnargs: original.args,\n    });\n}\n\nfunction hookChildProcess(cp, parsed) {\n    if (!isWin) {\n        return;\n    }\n\n    const originalEmit = cp.emit;\n\n    cp.emit = function (name, arg1) {\n        // If emitting \"exit\" event and exit code is 1, we need to check if\n        // the command exists and emit an \"error\" instead\n        // See https://github.com/IndigoUnited/node-cross-spawn/issues/16\n        if (name === 'exit') {\n            const err = verifyENOENT(arg1, parsed, 'spawn');\n\n            if (err) {\n                return originalEmit.call(cp, 'error', err);\n            }\n        }\n\n        return originalEmit.apply(cp, arguments); // eslint-disable-line prefer-rest-params\n    };\n}\n\nfunction verifyENOENT(status, parsed) {\n    if (isWin && status === 1 && !parsed.file) {\n        return notFoundError(parsed.original, 'spawn');\n    }\n\n    return null;\n}\n\nfunction verifyENOENTSync(status, parsed) {\n    if (isWin && status === 1 && !parsed.file) {\n        return notFoundError(parsed.original, 'spawnSync');\n    }\n\n    return null;\n}\n\nmodule.exports = {\n    hookChildProcess,\n    verifyENOENT,\n    verifyENOENTSync,\n    notFoundError,\n};\n","export default function stripFinalNewline(input) {\n\tconst LF = typeof input === 'string' ? '\\n' : '\\n'.charCodeAt();\n\tconst CR = typeof input === 'string' ? '\\r' : '\\r'.charCodeAt();\n\n\tif (input[input.length - 1] === LF) {\n\t\tinput = input.slice(0, -1);\n\t}\n\n\tif (input[input.length - 1] === CR) {\n\t\tinput = input.slice(0, -1);\n\t}\n\n\treturn input;\n}\n","import process from 'node:process';\nimport path from 'node:path';\nimport url from 'node:url';\nimport pathKey from 'path-key';\n\nexport function npmRunPath(options = {}) {\n\tconst {\n\t\tcwd = process.cwd(),\n\t\tpath: path_ = process.env[pathKey()],\n\t\texecPath = process.execPath,\n\t} = options;\n\n\tlet previous;\n\tconst execPathString = execPath instanceof URL ? url.fileURLToPath(execPath) : execPath;\n\tconst cwdString = cwd instanceof URL ? url.fileURLToPath(cwd) : cwd;\n\tlet cwdPath = path.resolve(cwdString);\n\tconst result = [];\n\n\twhile (previous !== cwdPath) {\n\t\tresult.push(path.join(cwdPath, 'node_modules/.bin'));\n\t\tprevious = cwdPath;\n\t\tcwdPath = path.resolve(cwdPath, '..');\n\t}\n\n\t// Ensure the running `node` binary is used.\n\tresult.push(path.resolve(cwdString, execPathString, '..'));\n\n\treturn [...result, path_].join(path.delimiter);\n}\n\nexport function npmRunPathEnv({env = process.env, ...options} = {}) {\n\tenv = {...env};\n\n\tconst path = pathKey({env});\n\toptions.path = env[path];\n\tenv[path] = npmRunPath(options);\n\n\treturn env;\n}\n","export default function pathKey(options = {}) {\n\tconst {\n\t\tenv = process.env,\n\t\tplatform = process.platform\n\t} = options;\n\n\tif (platform !== 'win32') {\n\t\treturn 'PATH';\n\t}\n\n\treturn Object.keys(env).reverse().find(key => key.toUpperCase() === 'PATH') || 'Path';\n}\n","import mimicFunction from 'mimic-fn';\n\nconst calledFunctions = new WeakMap();\n\nconst onetime = (function_, options = {}) => {\n\tif (typeof function_ !== 'function') {\n\t\tthrow new TypeError('Expected a function');\n\t}\n\n\tlet returnValue;\n\tlet callCount = 0;\n\tconst functionName = function_.displayName || function_.name || '<anonymous>';\n\n\tconst onetime = function (...arguments_) {\n\t\tcalledFunctions.set(onetime, ++callCount);\n\n\t\tif (callCount === 1) {\n\t\t\treturnValue = function_.apply(this, arguments_);\n\t\t\tfunction_ = null;\n\t\t} else if (options.throw === true) {\n\t\t\tthrow new Error(`Function \\`${functionName}\\` can only be called once`);\n\t\t}\n\n\t\treturn returnValue;\n\t};\n\n\tmimicFunction(onetime, function_);\n\tcalledFunctions.set(onetime, callCount);\n\n\treturn onetime;\n};\n\nonetime.callCount = function_ => {\n\tif (!calledFunctions.has(function_)) {\n\t\tthrow new Error(`The given function \\`${function_.name}\\` is not wrapped by the \\`onetime\\` package`);\n\t}\n\n\treturn calledFunctions.get(function_);\n};\n\nexport default onetime;\n","const copyProperty = (to, from, property, ignoreNonConfigurable) => {\n\t// `Function#length` should reflect the parameters of `to` not `from` since we keep its body.\n\t// `Function#prototype` is non-writable and non-configurable so can never be modified.\n\tif (property === 'length' || property === 'prototype') {\n\t\treturn;\n\t}\n\n\t// `Function#arguments` and `Function#caller` should not be copied. They were reported to be present in `Reflect.ownKeys` for some devices in React Native (#41), so we explicitly ignore them here.\n\tif (property === 'arguments' || property === 'caller') {\n\t\treturn;\n\t}\n\n\tconst toDescriptor = Object.getOwnPropertyDescriptor(to, property);\n\tconst fromDescriptor = Object.getOwnPropertyDescriptor(from, property);\n\n\tif (!canCopyProperty(toDescriptor, fromDescriptor) && ignoreNonConfigurable) {\n\t\treturn;\n\t}\n\n\tObject.defineProperty(to, property, fromDescriptor);\n};\n\n// `Object.defineProperty()` throws if the property exists, is not configurable and either:\n// - one its descriptors is changed\n// - it is non-writable and its value is changed\nconst canCopyProperty = function (toDescriptor, fromDescriptor) {\n\treturn toDescriptor === undefined || toDescriptor.configurable || (\n\t\ttoDescriptor.writable === fromDescriptor.writable &&\n\t\ttoDescriptor.enumerable === fromDescriptor.enumerable &&\n\t\ttoDescriptor.configurable === fromDescriptor.configurable &&\n\t\t(toDescriptor.writable || toDescriptor.value === fromDescriptor.value)\n\t);\n};\n\nconst changePrototype = (to, from) => {\n\tconst fromPrototype = Object.getPrototypeOf(from);\n\tif (fromPrototype === Object.getPrototypeOf(to)) {\n\t\treturn;\n\t}\n\n\tObject.setPrototypeOf(to, fromPrototype);\n};\n\nconst wrappedToString = (withName, fromBody) => `/* Wrapped ${withName}*/\\n${fromBody}`;\n\nconst toStringDescriptor = Object.getOwnPropertyDescriptor(Function.prototype, 'toString');\nconst toStringName = Object.getOwnPropertyDescriptor(Function.prototype.toString, 'name');\n\n// We call `from.toString()` early (not lazily) to ensure `from` can be garbage collected.\n// We use `bind()` instead of a closure for the same reason.\n// Calling `from.toString()` early also allows caching it in case `to.toString()` is called several times.\nconst changeToString = (to, from, name) => {\n\tconst withName = name === '' ? '' : `with ${name.trim()}() `;\n\tconst newToString = wrappedToString.bind(null, withName, from.toString());\n\t// Ensure `to.toString.toString` is non-enumerable and has the same `same`\n\tObject.defineProperty(newToString, 'name', toStringName);\n\tObject.defineProperty(to, 'toString', {...toStringDescriptor, value: newToString});\n};\n\nexport default function mimicFunction(to, from, {ignoreNonConfigurable = false} = {}) {\n\tconst {name} = to;\n\n\tfor (const property of Reflect.ownKeys(from)) {\n\t\tcopyProperty(to, from, property, ignoreNonConfigurable);\n\t}\n\n\tchangePrototype(to, from);\n\tchangeToString(to, from, name);\n\n\treturn to;\n}\n","import process from 'node:process';\nimport {signalsByName} from 'human-signals';\n\nconst getErrorPrefix = ({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled}) => {\n\tif (timedOut) {\n\t\treturn `timed out after ${timeout} milliseconds`;\n\t}\n\n\tif (isCanceled) {\n\t\treturn 'was canceled';\n\t}\n\n\tif (errorCode !== undefined) {\n\t\treturn `failed with ${errorCode}`;\n\t}\n\n\tif (signal !== undefined) {\n\t\treturn `was killed with ${signal} (${signalDescription})`;\n\t}\n\n\tif (exitCode !== undefined) {\n\t\treturn `failed with exit code ${exitCode}`;\n\t}\n\n\treturn 'failed';\n};\n\nexport const makeError = ({\n\tstdout,\n\tstderr,\n\tall,\n\terror,\n\tsignal,\n\texitCode,\n\tcommand,\n\tescapedCommand,\n\ttimedOut,\n\tisCanceled,\n\tkilled,\n\tparsed: {options: {timeout, cwd = process.cwd()}},\n}) => {\n\t// `signal` and `exitCode` emitted on `spawned.on('exit')` event can be `null`.\n\t// We normalize them to `undefined`\n\texitCode = exitCode === null ? undefined : exitCode;\n\tsignal = signal === null ? undefined : signal;\n\tconst signalDescription = signal === undefined ? undefined : signalsByName[signal].description;\n\n\tconst errorCode = error && error.code;\n\n\tconst prefix = getErrorPrefix({timedOut, timeout, errorCode, signal, signalDescription, exitCode, isCanceled});\n\tconst execaMessage = `Command ${prefix}: ${command}`;\n\tconst isError = Object.prototype.toString.call(error) === '[object Error]';\n\tconst shortMessage = isError ? `${execaMessage}\\n${error.message}` : execaMessage;\n\tconst message = [shortMessage, stderr, stdout].filter(Boolean).join('\\n');\n\n\tif (isError) {\n\t\terror.originalMessage = error.message;\n\t\terror.message = message;\n\t} else {\n\t\terror = new Error(message);\n\t}\n\n\terror.shortMessage = shortMessage;\n\terror.command = command;\n\terror.escapedCommand = escapedCommand;\n\terror.exitCode = exitCode;\n\terror.signal = signal;\n\terror.signalDescription = signalDescription;\n\terror.stdout = stdout;\n\terror.stderr = stderr;\n\terror.cwd = cwd;\n\n\tif (all !== undefined) {\n\t\terror.all = all;\n\t}\n\n\tif ('bufferedData' in error) {\n\t\tdelete error.bufferedData;\n\t}\n\n\terror.failed = true;\n\terror.timedOut = Boolean(timedOut);\n\terror.isCanceled = isCanceled;\n\terror.killed = killed && !timedOut;\n\n\treturn error;\n};\n","import{constants}from\"node:os\";\n\nimport{SIGRTMAX}from\"./realtime.js\";\nimport{getSignals}from\"./signals.js\";\n\n\n\nconst getSignalsByName=()=>{\nconst signals=getSignals();\nreturn Object.fromEntries(signals.map(getSignalByName));\n};\n\nconst getSignalByName=({\nname,\nnumber,\ndescription,\nsupported,\naction,\nforced,\nstandard\n})=>[name,{name,number,description,supported,action,forced,standard}];\n\nexport const signalsByName=getSignalsByName();\n\n\n\n\nconst getSignalsByNumber=()=>{\nconst signals=getSignals();\nconst length=SIGRTMAX+1;\nconst signalsA=Array.from({length},(value,number)=>\ngetSignalByNumber(number,signals));\n\nreturn Object.assign({},...signalsA);\n};\n\nconst getSignalByNumber=(number,signals)=>{\nconst signal=findSignalByNumber(number,signals);\n\nif(signal===undefined){\nreturn{};\n}\n\nconst{name,description,supported,action,forced,standard}=signal;\nreturn{\n[number]:{\nname,\nnumber,\ndescription,\nsupported,\naction,\nforced,\nstandard\n}\n};\n};\n\n\n\nconst findSignalByNumber=(number,signals)=>{\nconst signal=signals.find(({name})=>constants.signals[name]===number);\n\nif(signal!==undefined){\nreturn signal;\n}\n\nreturn signals.find((signalA)=>signalA.number===number);\n};\n\nexport const signalsByNumber=getSignalsByNumber();","\nexport const getRealtimeSignals=()=>{\nconst length=SIGRTMAX-SIGRTMIN+1;\nreturn Array.from({length},getRealtimeSignal);\n};\n\nconst getRealtimeSignal=(value,index)=>({\nname:`SIGRT${index+1}`,\nnumber:SIGRTMIN+index,\naction:\"terminate\",\ndescription:\"Application-specific signal (realtime)\",\nstandard:\"posix\"\n});\n\nconst SIGRTMIN=34;\nexport const SIGRTMAX=64;","import{constants}from\"node:os\";\n\nimport{SIGNALS}from\"./core.js\";\nimport{getRealtimeSignals}from\"./realtime.js\";\n\n\n\nexport const getSignals=()=>{\nconst realtimeSignals=getRealtimeSignals();\nconst signals=[...SIGNALS,...realtimeSignals].map(normalizeSignal);\nreturn signals;\n};\n\n\n\n\n\n\n\nconst normalizeSignal=({\nname,\nnumber:defaultNumber,\ndescription,\naction,\nforced=false,\nstandard\n})=>{\nconst{\nsignals:{[name]:constantSignal}\n}=constants;\nconst supported=constantSignal!==undefined;\nconst number=supported?constantSignal:defaultNumber;\nreturn{name,number,description,supported,action,forced,standard};\n};","\n\nexport const SIGNALS=[\n{\nname:\"SIGHUP\",\nnumber:1,\naction:\"terminate\",\ndescription:\"Terminal closed\",\nstandard:\"posix\"\n},\n{\nname:\"SIGINT\",\nnumber:2,\naction:\"terminate\",\ndescription:\"User interruption with CTRL-C\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGQUIT\",\nnumber:3,\naction:\"core\",\ndescription:\"User interruption with CTRL-\\\\\",\nstandard:\"posix\"\n},\n{\nname:\"SIGILL\",\nnumber:4,\naction:\"core\",\ndescription:\"Invalid machine instruction\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGTRAP\",\nnumber:5,\naction:\"core\",\ndescription:\"Debugger breakpoint\",\nstandard:\"posix\"\n},\n{\nname:\"SIGABRT\",\nnumber:6,\naction:\"core\",\ndescription:\"Aborted\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGIOT\",\nnumber:6,\naction:\"core\",\ndescription:\"Aborted\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGBUS\",\nnumber:7,\naction:\"core\",\ndescription:\n\"Bus error due to misaligned, non-existing address or paging error\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGEMT\",\nnumber:7,\naction:\"terminate\",\ndescription:\"Command should be emulated but is not implemented\",\nstandard:\"other\"\n},\n{\nname:\"SIGFPE\",\nnumber:8,\naction:\"core\",\ndescription:\"Floating point arithmetic error\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGKILL\",\nnumber:9,\naction:\"terminate\",\ndescription:\"Forced termination\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGUSR1\",\nnumber:10,\naction:\"terminate\",\ndescription:\"Application-specific signal\",\nstandard:\"posix\"\n},\n{\nname:\"SIGSEGV\",\nnumber:11,\naction:\"core\",\ndescription:\"Segmentation fault\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGUSR2\",\nnumber:12,\naction:\"terminate\",\ndescription:\"Application-specific signal\",\nstandard:\"posix\"\n},\n{\nname:\"SIGPIPE\",\nnumber:13,\naction:\"terminate\",\ndescription:\"Broken pipe or socket\",\nstandard:\"posix\"\n},\n{\nname:\"SIGALRM\",\nnumber:14,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"posix\"\n},\n{\nname:\"SIGTERM\",\nnumber:15,\naction:\"terminate\",\ndescription:\"Termination\",\nstandard:\"ansi\"\n},\n{\nname:\"SIGSTKFLT\",\nnumber:16,\naction:\"terminate\",\ndescription:\"Stack is empty or overflowed\",\nstandard:\"other\"\n},\n{\nname:\"SIGCHLD\",\nnumber:17,\naction:\"ignore\",\ndescription:\"Child process terminated, paused or unpaused\",\nstandard:\"posix\"\n},\n{\nname:\"SIGCLD\",\nnumber:17,\naction:\"ignore\",\ndescription:\"Child process terminated, paused or unpaused\",\nstandard:\"other\"\n},\n{\nname:\"SIGCONT\",\nnumber:18,\naction:\"unpause\",\ndescription:\"Unpaused\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGSTOP\",\nnumber:19,\naction:\"pause\",\ndescription:\"Paused\",\nstandard:\"posix\",\nforced:true\n},\n{\nname:\"SIGTSTP\",\nnumber:20,\naction:\"pause\",\ndescription:\"Paused using CTRL-Z or \\\"suspend\\\"\",\nstandard:\"posix\"\n},\n{\nname:\"SIGTTIN\",\nnumber:21,\naction:\"pause\",\ndescription:\"Background process cannot read terminal input\",\nstandard:\"posix\"\n},\n{\nname:\"SIGBREAK\",\nnumber:21,\naction:\"terminate\",\ndescription:\"User interruption with CTRL-BREAK\",\nstandard:\"other\"\n},\n{\nname:\"SIGTTOU\",\nnumber:22,\naction:\"pause\",\ndescription:\"Background process cannot write to terminal output\",\nstandard:\"posix\"\n},\n{\nname:\"SIGURG\",\nnumber:23,\naction:\"ignore\",\ndescription:\"Socket received out-of-band data\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGXCPU\",\nnumber:24,\naction:\"core\",\ndescription:\"Process timed out\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGXFSZ\",\nnumber:25,\naction:\"core\",\ndescription:\"File too big\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGVTALRM\",\nnumber:26,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGPROF\",\nnumber:27,\naction:\"terminate\",\ndescription:\"Timeout or timer\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGWINCH\",\nnumber:28,\naction:\"ignore\",\ndescription:\"Terminal window size changed\",\nstandard:\"bsd\"\n},\n{\nname:\"SIGIO\",\nnumber:29,\naction:\"terminate\",\ndescription:\"I/O is available\",\nstandard:\"other\"\n},\n{\nname:\"SIGPOLL\",\nnumber:29,\naction:\"terminate\",\ndescription:\"Watched event\",\nstandard:\"other\"\n},\n{\nname:\"SIGINFO\",\nnumber:29,\naction:\"ignore\",\ndescription:\"Request for process information\",\nstandard:\"other\"\n},\n{\nname:\"SIGPWR\",\nnumber:30,\naction:\"terminate\",\ndescription:\"Device running out of power\",\nstandard:\"systemv\"\n},\n{\nname:\"SIGSYS\",\nnumber:31,\naction:\"core\",\ndescription:\"Invalid system call\",\nstandard:\"other\"\n},\n{\nname:\"SIGUNUSED\",\nnumber:31,\naction:\"terminate\",\ndescription:\"Invalid system call\",\nstandard:\"other\"\n}];","const aliases = ['stdin', 'stdout', 'stderr'];\n\nconst hasAlias = options => aliases.some(alias => options[alias] !== undefined);\n\nexport const normalizeStdio = options => {\n\tif (!options) {\n\t\treturn;\n\t}\n\n\tconst {stdio} = options;\n\n\tif (stdio === undefined) {\n\t\treturn aliases.map(alias => options[alias]);\n\t}\n\n\tif (hasAlias(options)) {\n\t\tthrow new Error(`It's not possible to provide \\`stdio\\` in combination with one of ${aliases.map(alias => `\\`${alias}\\``).join(', ')}`);\n\t}\n\n\tif (typeof stdio === 'string') {\n\t\treturn stdio;\n\t}\n\n\tif (!Array.isArray(stdio)) {\n\t\tthrow new TypeError(`Expected \\`stdio\\` to be of type \\`string\\` or \\`Array\\`, got \\`${typeof stdio}\\``);\n\t}\n\n\tconst length = Math.max(stdio.length, aliases.length);\n\treturn Array.from({length}, (value, index) => stdio[index]);\n};\n\n// `ipc` is pushed unless it is already present\nexport const normalizeStdioNode = options => {\n\tconst stdio = normalizeStdio(options);\n\n\tif (stdio === 'ipc') {\n\t\treturn 'ipc';\n\t}\n\n\tif (stdio === undefined || typeof stdio === 'string') {\n\t\treturn [stdio, stdio, stdio, 'ipc'];\n\t}\n\n\tif (stdio.includes('ipc')) {\n\t\treturn stdio;\n\t}\n\n\treturn [...stdio, 'ipc'];\n};\n","import os from 'node:os';\nimport onExit from 'signal-exit';\n\nconst DEFAULT_FORCE_KILL_TIMEOUT = 1000 * 5;\n\n// Monkey-patches `childProcess.kill()` to add `forceKillAfterTimeout` behavior\nexport const spawnedKill = (kill, signal = 'SIGTERM', options = {}) => {\n\tconst killResult = kill(signal);\n\tsetKillTimeout(kill, signal, options, killResult);\n\treturn killResult;\n};\n\nconst setKillTimeout = (kill, signal, options, killResult) => {\n\tif (!shouldForceKill(signal, options, killResult)) {\n\t\treturn;\n\t}\n\n\tconst timeout = getForceKillAfterTimeout(options);\n\tconst t = setTimeout(() => {\n\t\tkill('SIGKILL');\n\t}, timeout);\n\n\t// Guarded because there's no `.unref()` when `execa` is used in the renderer\n\t// process in Electron. This cannot be tested since we don't run tests in\n\t// Electron.\n\t// istanbul ignore else\n\tif (t.unref) {\n\t\tt.unref();\n\t}\n};\n\nconst shouldForceKill = (signal, {forceKillAfterTimeout}, killResult) => isSigterm(signal) && forceKillAfterTimeout !== false && killResult;\n\nconst isSigterm = signal => signal === os.constants.signals.SIGTERM\n\t\t|| (typeof signal === 'string' && signal.toUpperCase() === 'SIGTERM');\n\nconst getForceKillAfterTimeout = ({forceKillAfterTimeout = true}) => {\n\tif (forceKillAfterTimeout === true) {\n\t\treturn DEFAULT_FORCE_KILL_TIMEOUT;\n\t}\n\n\tif (!Number.isFinite(forceKillAfterTimeout) || forceKillAfterTimeout < 0) {\n\t\tthrow new TypeError(`Expected the \\`forceKillAfterTimeout\\` option to be a non-negative integer, got \\`${forceKillAfterTimeout}\\` (${typeof forceKillAfterTimeout})`);\n\t}\n\n\treturn forceKillAfterTimeout;\n};\n\n// `childProcess.cancel()`\nexport const spawnedCancel = (spawned, context) => {\n\tconst killResult = spawned.kill();\n\n\tif (killResult) {\n\t\tcontext.isCanceled = true;\n\t}\n};\n\nconst timeoutKill = (spawned, signal, reject) => {\n\tspawned.kill(signal);\n\treject(Object.assign(new Error('Timed out'), {timedOut: true, signal}));\n};\n\n// `timeout` option handling\nexport const setupTimeout = (spawned, {timeout, killSignal = 'SIGTERM'}, spawnedPromise) => {\n\tif (timeout === 0 || timeout === undefined) {\n\t\treturn spawnedPromise;\n\t}\n\n\tlet timeoutId;\n\tconst timeoutPromise = new Promise((resolve, reject) => {\n\t\ttimeoutId = setTimeout(() => {\n\t\t\ttimeoutKill(spawned, killSignal, reject);\n\t\t}, timeout);\n\t});\n\n\tconst safeSpawnedPromise = spawnedPromise.finally(() => {\n\t\tclearTimeout(timeoutId);\n\t});\n\n\treturn Promise.race([timeoutPromise, safeSpawnedPromise]);\n};\n\nexport const validateTimeout = ({timeout}) => {\n\tif (timeout !== undefined && (!Number.isFinite(timeout) || timeout < 0)) {\n\t\tthrow new TypeError(`Expected the \\`timeout\\` option to be a non-negative integer, got \\`${timeout}\\` (${typeof timeout})`);\n\t}\n};\n\n// `cleanup` option handling\nexport const setExitHandler = async (spawned, {cleanup, detached}, timedPromise) => {\n\tif (!cleanup || detached) {\n\t\treturn timedPromise;\n\t}\n\n\tconst removeExitHandler = onExit(() => {\n\t\tspawned.kill();\n\t});\n\n\treturn timedPromise.finally(() => {\n\t\tremoveExitHandler();\n\t});\n};\n","// Note: since nyc uses this module to output coverage, any lines\n// that are in the direct sync flow of nyc's outputCoverage are\n// ignored, since we can never get coverage for them.\n// grab a reference to node's real process object right away\nvar process = global.process\n\nconst processOk = function (process) {\n  return process &&\n    typeof process === 'object' &&\n    typeof process.removeListener === 'function' &&\n    typeof process.emit === 'function' &&\n    typeof process.reallyExit === 'function' &&\n    typeof process.listeners === 'function' &&\n    typeof process.kill === 'function' &&\n    typeof process.pid === 'number' &&\n    typeof process.on === 'function'\n}\n\n// some kind of non-node environment, just no-op\n/* istanbul ignore if */\nif (!processOk(process)) {\n  module.exports = function () {\n    return function () {}\n  }\n} else {\n  var assert = require('assert')\n  var signals = require('./signals.js')\n  var isWin = /^win/i.test(process.platform)\n\n  var EE = require('events')\n  /* istanbul ignore if */\n  if (typeof EE !== 'function') {\n    EE = EE.EventEmitter\n  }\n\n  var emitter\n  if (process.__signal_exit_emitter__) {\n    emitter = process.__signal_exit_emitter__\n  } else {\n    emitter = process.__signal_exit_emitter__ = new EE()\n    emitter.count = 0\n    emitter.emitted = {}\n  }\n\n  // Because this emitter is a global, we have to check to see if a\n  // previous version of this library failed to enable infinite listeners.\n  // I know what you're about to say.  But literally everything about\n  // signal-exit is a compromise with evil.  Get used to it.\n  if (!emitter.infinite) {\n    emitter.setMaxListeners(Infinity)\n    emitter.infinite = true\n  }\n\n  module.exports = function (cb, opts) {\n    /* istanbul ignore if */\n    if (!processOk(global.process)) {\n      return function () {}\n    }\n    assert.equal(typeof cb, 'function', 'a callback must be provided for exit handler')\n\n    if (loaded === false) {\n      load()\n    }\n\n    var ev = 'exit'\n    if (opts && opts.alwaysLast) {\n      ev = 'afterexit'\n    }\n\n    var remove = function () {\n      emitter.removeListener(ev, cb)\n      if (emitter.listeners('exit').length === 0 &&\n          emitter.listeners('afterexit').length === 0) {\n        unload()\n      }\n    }\n    emitter.on(ev, cb)\n\n    return remove\n  }\n\n  var unload = function unload () {\n    if (!loaded || !processOk(global.process)) {\n      return\n    }\n    loaded = false\n\n    signals.forEach(function (sig) {\n      try {\n        process.removeListener(sig, sigListeners[sig])\n      } catch (er) {}\n    })\n    process.emit = originalProcessEmit\n    process.reallyExit = originalProcessReallyExit\n    emitter.count -= 1\n  }\n  module.exports.unload = unload\n\n  var emit = function emit (event, code, signal) {\n    /* istanbul ignore if */\n    if (emitter.emitted[event]) {\n      return\n    }\n    emitter.emitted[event] = true\n    emitter.emit(event, code, signal)\n  }\n\n  // { <signal>: <listener fn>, ... }\n  var sigListeners = {}\n  signals.forEach(function (sig) {\n    sigListeners[sig] = function listener () {\n      /* istanbul ignore if */\n      if (!processOk(global.process)) {\n        return\n      }\n      // If there are no other listeners, an exit is coming!\n      // Simplest way: remove us and then re-send the signal.\n      // We know that this will kill the process, so we can\n      // safely emit now.\n      var listeners = process.listeners(sig)\n      if (listeners.length === emitter.count) {\n        unload()\n        emit('exit', null, sig)\n        /* istanbul ignore next */\n        emit('afterexit', null, sig)\n        /* istanbul ignore next */\n        if (isWin && sig === 'SIGHUP') {\n          // \"SIGHUP\" throws an `ENOSYS` error on Windows,\n          // so use a supported signal instead\n          sig = 'SIGINT'\n        }\n        /* istanbul ignore next */\n        process.kill(process.pid, sig)\n      }\n    }\n  })\n\n  module.exports.signals = function () {\n    return signals\n  }\n\n  var loaded = false\n\n  var load = function load () {\n    if (loaded || !processOk(global.process)) {\n      return\n    }\n    loaded = true\n\n    // This is the number of onSignalExit's that are in play.\n    // It's important so that we can count the correct number of\n    // listeners on signals, and don't wait for the other one to\n    // handle it instead of us.\n    emitter.count += 1\n\n    signals = signals.filter(function (sig) {\n      try {\n        process.on(sig, sigListeners[sig])\n        return true\n      } catch (er) {\n        return false\n      }\n    })\n\n    process.emit = processEmit\n    process.reallyExit = processReallyExit\n  }\n  module.exports.load = load\n\n  var originalProcessReallyExit = process.reallyExit\n  var processReallyExit = function processReallyExit (code) {\n    /* istanbul ignore if */\n    if (!processOk(global.process)) {\n      return\n    }\n    process.exitCode = code || /* istanbul ignore next */ 0\n    emit('exit', process.exitCode, null)\n    /* istanbul ignore next */\n    emit('afterexit', process.exitCode, null)\n    /* istanbul ignore next */\n    originalProcessReallyExit.call(process, process.exitCode)\n  }\n\n  var originalProcessEmit = process.emit\n  var processEmit = function processEmit (ev, arg) {\n    if (ev === 'exit' && processOk(global.process)) {\n      /* istanbul ignore else */\n      if (arg !== undefined) {\n        process.exitCode = arg\n      }\n      var ret = originalProcessEmit.apply(this, arguments)\n      /* istanbul ignore next */\n      emit('exit', process.exitCode, null)\n      /* istanbul ignore next */\n      emit('afterexit', process.exitCode, null)\n      /* istanbul ignore next */\n      return ret\n    } else {\n      return originalProcessEmit.apply(this, arguments)\n    }\n  }\n}\n","import {createWriteStream} from 'node:fs';\nimport {ChildProcess} from 'node:child_process';\nimport {isWritableStream} from 'is-stream';\n\nconst isExecaChildProcess = target => target instanceof ChildProcess && typeof target.then === 'function';\n\nconst pipeToTarget = (spawned, streamName, target) => {\n\tif (typeof target === 'string') {\n\t\tspawned[streamName].pipe(createWriteStream(target));\n\t\treturn spawned;\n\t}\n\n\tif (isWritableStream(target)) {\n\t\tspawned[streamName].pipe(target);\n\t\treturn spawned;\n\t}\n\n\tif (!isExecaChildProcess(target)) {\n\t\tthrow new TypeError('The second argument must be a string, a stream or an Execa child process.');\n\t}\n\n\tif (!isWritableStream(target.stdin)) {\n\t\tthrow new TypeError('The target child process\\'s stdin must be available.');\n\t}\n\n\tspawned[streamName].pipe(target.stdin);\n\treturn target;\n};\n\nexport const addPipeMethods = spawned => {\n\tif (spawned.stdout !== null) {\n\t\tspawned.pipeStdout = pipeToTarget.bind(undefined, spawned, 'stdout');\n\t}\n\n\tif (spawned.stderr !== null) {\n\t\tspawned.pipeStderr = pipeToTarget.bind(undefined, spawned, 'stderr');\n\t}\n\n\tif (spawned.all !== undefined) {\n\t\tspawned.pipeAll = pipeToTarget.bind(undefined, spawned, 'all');\n\t}\n};\n","export function isStream(stream) {\n\treturn stream !== null\n\t\t&& typeof stream === 'object'\n\t\t&& typeof stream.pipe === 'function';\n}\n\nexport function isWritableStream(stream) {\n\treturn isStream(stream)\n\t\t&& stream.writable !== false\n\t\t&& typeof stream._write === 'function'\n\t\t&& typeof stream._writableState === 'object';\n}\n\nexport function isReadableStream(stream) {\n\treturn isStream(stream)\n\t\t&& stream.readable !== false\n\t\t&& typeof stream._read === 'function'\n\t\t&& typeof stream._readableState === 'object';\n}\n\nexport function isDuplexStream(stream) {\n\treturn isWritableStream(stream)\n\t\t&& isReadableStream(stream);\n}\n\nexport function isTransformStream(stream) {\n\treturn isDuplexStream(stream)\n\t\t&& typeof stream._transform === 'function';\n}\n","import {createReadStream, readFileSync} from 'node:fs';\nimport {isStream} from 'is-stream';\nimport getStream from 'get-stream';\nimport mergeStream from 'merge-stream';\n\nconst validateInputOptions = input => {\n\tif (input !== undefined) {\n\t\tthrow new TypeError('The `input` and `inputFile` options cannot be both set.');\n\t}\n};\n\nconst getInputSync = ({input, inputFile}) => {\n\tif (typeof inputFile !== 'string') {\n\t\treturn input;\n\t}\n\n\tvalidateInputOptions(input);\n\treturn readFileSync(inputFile);\n};\n\n// `input` and `inputFile` option in sync mode\nexport const handleInputSync = options => {\n\tconst input = getInputSync(options);\n\n\tif (isStream(input)) {\n\t\tthrow new TypeError('The `input` option cannot be a stream in sync mode');\n\t}\n\n\treturn input;\n};\n\nconst getInput = ({input, inputFile}) => {\n\tif (typeof inputFile !== 'string') {\n\t\treturn input;\n\t}\n\n\tvalidateInputOptions(input);\n\treturn createReadStream(inputFile);\n};\n\n// `input` and `inputFile` option in async mode\nexport const handleInput = (spawned, options) => {\n\tconst input = getInput(options);\n\n\tif (input === undefined) {\n\t\treturn;\n\t}\n\n\tif (isStream(input)) {\n\t\tinput.pipe(spawned.stdin);\n\t} else {\n\t\tspawned.stdin.end(input);\n\t}\n};\n\n// `all` interleaves `stdout` and `stderr`\nexport const makeAllStream = (spawned, {all}) => {\n\tif (!all || (!spawned.stdout && !spawned.stderr)) {\n\t\treturn;\n\t}\n\n\tconst mixed = mergeStream();\n\n\tif (spawned.stdout) {\n\t\tmixed.add(spawned.stdout);\n\t}\n\n\tif (spawned.stderr) {\n\t\tmixed.add(spawned.stderr);\n\t}\n\n\treturn mixed;\n};\n\n// On failure, `result.stdout|stderr|all` should contain the currently buffered stream\nconst getBufferedData = async (stream, streamPromise) => {\n\t// When `buffer` is `false`, `streamPromise` is `undefined` and there is no buffered data to retrieve\n\tif (!stream || streamPromise === undefined) {\n\t\treturn;\n\t}\n\n\tstream.destroy();\n\n\ttry {\n\t\treturn await streamPromise;\n\t} catch (error) {\n\t\treturn error.bufferedData;\n\t}\n};\n\nconst getStreamPromise = (stream, {encoding, buffer, maxBuffer}) => {\n\tif (!stream || !buffer) {\n\t\treturn;\n\t}\n\n\tif (encoding) {\n\t\treturn getStream(stream, {encoding, maxBuffer});\n\t}\n\n\treturn getStream.buffer(stream, {maxBuffer});\n};\n\n// Retrieve result of child process: exit code, signal, error, streams (stdout/stderr/all)\nexport const getSpawnedResult = async ({stdout, stderr, all}, {encoding, buffer, maxBuffer}, processDone) => {\n\tconst stdoutPromise = getStreamPromise(stdout, {encoding, buffer, maxBuffer});\n\tconst stderrPromise = getStreamPromise(stderr, {encoding, buffer, maxBuffer});\n\tconst allPromise = getStreamPromise(all, {encoding, buffer, maxBuffer: maxBuffer * 2});\n\n\ttry {\n\t\treturn await Promise.all([processDone, stdoutPromise, stderrPromise, allPromise]);\n\t} catch (error) {\n\t\treturn Promise.all([\n\t\t\t{error, signal: error.signal, timedOut: error.timedOut},\n\t\t\tgetBufferedData(stdout, stdoutPromise),\n\t\t\tgetBufferedData(stderr, stderrPromise),\n\t\t\tgetBufferedData(all, allPromise),\n\t\t]);\n\t}\n};\n","'use strict';\nconst {constants: BufferConstants} = require('buffer');\nconst stream = require('stream');\nconst {promisify} = require('util');\nconst bufferStream = require('./buffer-stream');\n\nconst streamPipelinePromisified = promisify(stream.pipeline);\n\nclass MaxBufferError extends Error {\n\tconstructor() {\n\t\tsuper('maxBuffer exceeded');\n\t\tthis.name = 'MaxBufferError';\n\t}\n}\n\nasync function getStream(inputStream, options) {\n\tif (!inputStream) {\n\t\tthrow new Error('Expected a stream');\n\t}\n\n\toptions = {\n\t\tmaxBuffer: Infinity,\n\t\t...options\n\t};\n\n\tconst {maxBuffer} = options;\n\tconst stream = bufferStream(options);\n\n\tawait new Promise((resolve, reject) => {\n\t\tconst rejectPromise = error => {\n\t\t\t// Don't retrieve an oversized buffer.\n\t\t\tif (error && stream.getBufferedLength() <= BufferConstants.MAX_LENGTH) {\n\t\t\t\terror.bufferedData = stream.getBufferedValue();\n\t\t\t}\n\n\t\t\treject(error);\n\t\t};\n\n\t\t(async () => {\n\t\t\ttry {\n\t\t\t\tawait streamPipelinePromisified(inputStream, stream);\n\t\t\t\tresolve();\n\t\t\t} catch (error) {\n\t\t\t\trejectPromise(error);\n\t\t\t}\n\t\t})();\n\n\t\tstream.on('data', () => {\n\t\t\tif (stream.getBufferedLength() > maxBuffer) {\n\t\t\t\trejectPromise(new MaxBufferError());\n\t\t\t}\n\t\t});\n\t});\n\n\treturn stream.getBufferedValue();\n}\n\nmodule.exports = getStream;\nmodule.exports.buffer = (stream, options) => getStream(stream, {...options, encoding: 'buffer'});\nmodule.exports.array = (stream, options) => getStream(stream, {...options, array: true});\nmodule.exports.MaxBufferError = MaxBufferError;\n","'use strict';\nconst {PassThrough: PassThroughStream} = require('stream');\n\nmodule.exports = options => {\n\toptions = {...options};\n\n\tconst {array} = options;\n\tlet {encoding} = options;\n\tconst isBuffer = encoding === 'buffer';\n\tlet objectMode = false;\n\n\tif (array) {\n\t\tobjectMode = !(encoding || isBuffer);\n\t} else {\n\t\tencoding = encoding || 'utf8';\n\t}\n\n\tif (isBuffer) {\n\t\tencoding = null;\n\t}\n\n\tconst stream = new PassThroughStream({objectMode});\n\n\tif (encoding) {\n\t\tstream.setEncoding(encoding);\n\t}\n\n\tlet length = 0;\n\tconst chunks = [];\n\n\tstream.on('data', chunk => {\n\t\tchunks.push(chunk);\n\n\t\tif (objectMode) {\n\t\t\tlength = chunks.length;\n\t\t} else {\n\t\t\tlength += chunk.length;\n\t\t}\n\t});\n\n\tstream.getBufferedValue = () => {\n\t\tif (array) {\n\t\t\treturn chunks;\n\t\t}\n\n\t\treturn isBuffer ? Buffer.concat(chunks, length) : chunks.join('');\n\t};\n\n\tstream.getBufferedLength = () => length;\n\n\treturn stream;\n};\n","'use strict';\n\nconst { PassThrough } = require('stream');\n\nmodule.exports = function (/*streams...*/) {\n  var sources = []\n  var output  = new PassThrough({objectMode: true})\n\n  output.setMaxListeners(0)\n\n  output.add = add\n  output.isEmpty = isEmpty\n\n  output.on('unpipe', remove)\n\n  Array.prototype.slice.call(arguments).forEach(add)\n\n  return output\n\n  function add (source) {\n    if (Array.isArray(source)) {\n      source.forEach(add)\n      return this\n    }\n\n    sources.push(source);\n    source.once('end', remove.bind(null, source))\n    source.once('error', output.emit.bind(output, 'error'))\n    source.pipe(output, {end: false})\n    return this\n  }\n\n  function isEmpty () {\n    return sources.length == 0;\n  }\n\n  function remove (source) {\n    sources = sources.filter(function (it) { return it !== source })\n    if (!sources.length && output.readable) { output.end() }\n  }\n}\n","// eslint-disable-next-line unicorn/prefer-top-level-await\nconst nativePromisePrototype = (async () => {})().constructor.prototype;\n\nconst descriptors = ['then', 'catch', 'finally'].map(property => [\n\tproperty,\n\tReflect.getOwnPropertyDescriptor(nativePromisePrototype, property),\n]);\n\n// The return value is a mixin of `childProcess` and `Promise`\nexport const mergePromise = (spawned, promise) => {\n\tfor (const [property, descriptor] of descriptors) {\n\t\t// Starting the main `promise` is deferred to avoid consuming streams\n\t\tconst value = typeof promise === 'function'\n\t\t\t? (...args) => Reflect.apply(descriptor.value, promise(), args)\n\t\t\t: descriptor.value.bind(promise);\n\n\t\tReflect.defineProperty(spawned, property, {...descriptor, value});\n\t}\n};\n\n// Use promises instead of `child_process` events\nexport const getSpawnedPromise = spawned => new Promise((resolve, reject) => {\n\tspawned.on('exit', (exitCode, signal) => {\n\t\tresolve({exitCode, signal});\n\t});\n\n\tspawned.on('error', error => {\n\t\treject(error);\n\t});\n\n\tif (spawned.stdin) {\n\t\tspawned.stdin.on('error', error => {\n\t\t\treject(error);\n\t\t});\n\t}\n});\n","import {Buffer} from 'node:buffer';\nimport {ChildProcess} from 'node:child_process';\n\nconst normalizeArgs = (file, args = []) => {\n\tif (!Array.isArray(args)) {\n\t\treturn [file];\n\t}\n\n\treturn [file, ...args];\n};\n\nconst NO_ESCAPE_REGEXP = /^[\\w.-]+$/;\nconst DOUBLE_QUOTES_REGEXP = /\"/g;\n\nconst escapeArg = arg => {\n\tif (typeof arg !== 'string' || NO_ESCAPE_REGEXP.test(arg)) {\n\t\treturn arg;\n\t}\n\n\treturn `\"${arg.replace(DOUBLE_QUOTES_REGEXP, '\\\\\"')}\"`;\n};\n\nexport const joinCommand = (file, args) => normalizeArgs(file, args).join(' ');\n\nexport const getEscapedCommand = (file, args) => normalizeArgs(file, args).map(arg => escapeArg(arg)).join(' ');\n\nconst SPACES_REGEXP = / +/g;\n\n// Handle `execaCommand()`\nexport const parseCommand = command => {\n\tconst tokens = [];\n\tfor (const token of command.trim().split(SPACES_REGEXP)) {\n\t\t// Allow spaces to be escaped by a backslash if not meant as a delimiter\n\t\tconst previousToken = tokens[tokens.length - 1];\n\t\tif (previousToken && previousToken.endsWith('\\\\')) {\n\t\t\t// Merge previous token with current one\n\t\t\ttokens[tokens.length - 1] = `${previousToken.slice(0, -1)} ${token}`;\n\t\t} else {\n\t\t\ttokens.push(token);\n\t\t}\n\t}\n\n\treturn tokens;\n};\n\nconst parseExpression = expression => {\n\tconst typeOfExpression = typeof expression;\n\n\tif (typeOfExpression === 'string') {\n\t\treturn expression;\n\t}\n\n\tif (typeOfExpression === 'number') {\n\t\treturn String(expression);\n\t}\n\n\tif (\n\t\ttypeOfExpression === 'object'\n\t\t&& expression !== null\n\t\t&& !(expression instanceof ChildProcess)\n\t\t&& 'stdout' in expression\n\t) {\n\t\tconst typeOfStdout = typeof expression.stdout;\n\n\t\tif (typeOfStdout === 'string') {\n\t\t\treturn expression.stdout;\n\t\t}\n\n\t\tif (Buffer.isBuffer(expression.stdout)) {\n\t\t\treturn expression.stdout.toString();\n\t\t}\n\n\t\tthrow new TypeError(`Unexpected \"${typeOfStdout}\" stdout in template expression`);\n\t}\n\n\tthrow new TypeError(`Unexpected \"${typeOfExpression}\" in template expression`);\n};\n\nconst concatTokens = (tokens, nextTokens, isNew) => isNew || tokens.length === 0 || nextTokens.length === 0\n\t? [...tokens, ...nextTokens]\n\t: [\n\t\t...tokens.slice(0, -1),\n\t\t`${tokens[tokens.length - 1]}${nextTokens[0]}`,\n\t\t...nextTokens.slice(1),\n\t];\n\nconst parseTemplate = ({templates, expressions, tokens, index, template}) => {\n\tconst templateString = template ?? templates.raw[index];\n\tconst templateTokens = templateString.split(SPACES_REGEXP).filter(Boolean);\n\tconst newTokens = concatTokens(\n\t\ttokens,\n\t\ttemplateTokens,\n\t\ttemplateString.startsWith(' '),\n\t);\n\n\tif (index === expressions.length) {\n\t\treturn newTokens;\n\t}\n\n\tconst expression = expressions[index];\n\tconst expressionTokens = Array.isArray(expression)\n\t\t? expression.map(expression => parseExpression(expression))\n\t\t: [parseExpression(expression)];\n\treturn concatTokens(\n\t\tnewTokens,\n\t\texpressionTokens,\n\t\ttemplateString.endsWith(' '),\n\t);\n};\n\nexport const parseTemplates = (templates, expressions) => {\n\tlet tokens = [];\n\n\tfor (const [index, template] of templates.entries()) {\n\t\ttokens = parseTemplate({templates, expressions, tokens, index, template});\n\t}\n\n\treturn tokens;\n};\n\n","import {debuglog} from 'node:util';\nimport process from 'node:process';\n\nexport const verboseDefault = debuglog('execa').enabled;\n\nconst padField = (field, padding) => String(field).padStart(padding, '0');\n\nconst getTimestamp = () => {\n\tconst date = new Date();\n\treturn `${padField(date.getHours(), 2)}:${padField(date.getMinutes(), 2)}:${padField(date.getSeconds(), 2)}.${padField(date.getMilliseconds(), 3)}`;\n};\n\nexport const logCommand = (escapedCommand, {verbose}) => {\n\tif (!verbose) {\n\t\treturn;\n\t}\n\n\tprocess.stderr.write(`[${getTimestamp()}] ${escapedCommand}\\n`);\n};\n","import { default as isAdminWindowsOrig } from \"./is-admin.mjs\"\nimport { isRoot } from \"./root.mjs\"\n\n/**\n * Check if the process is running as administrator on Windows.\n *\n * @example\n *\n * ```js\n * import { isAdminWindows } from \"admina\"\n *\n * console.log(await isAdminWindows())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as administrator.\n */\nexport const isAdminWindows = isAdminWindowsOrig\n\n/**\n * Detect if the process has root privilege on Posix.\n *\n * @example\n *\n * ```js\n * import { isAdminPosix } from \"admina\"\n *\n * console.log(isAdminPosix())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as root.\n */\nexport const isAdminPosix = isRoot\n\n/**\n * Detect if the code is running as admin/root\n *\n * On Windows, it checks for admin access, and on Posix, it checks for root access\n *\n * @example\n *\n * ```js\n * import { isAdmin } from \"admina\"\n *\n * console.log(isAdmin())\n * //=> false\n * ```\n *\n * @returns Whether the process is running as root or admin.\n */\nexport function isAdmin() {\n  if (process.platform === \"win32\") {\n    return isAdminWindows()\n  } else {\n    return isRoot()\n  }\n}\n","// From `is-admin`: updated execa\n\nimport { execa } from \"execa\"\n\n// https://stackoverflow.com/a/28268802\nasync function testFltmc() {\n  try {\n    await execa(\"fltmc\")\n    return true\n  } catch {\n    return false\n  }\n}\n\nexport default async function isAdmin() {\n  if (process.platform !== \"win32\") {\n    return false\n  }\n\n  try {\n    // https://stackoverflow.com/a/21295806/1641422\n    await execa(\"fsutil\", [\"dirty\", \"query\", process.env.systemdrive ?? \"\"])\n    return true\n  } catch (error) {\n    if ((error as { code?: string }).code === \"ENOENT\") {\n      return testFltmc()\n    }\n\n    return false\n  }\n}\n","import { isSudo, execRoot, defaultExecOptions } from \"./root.mjs\"\nimport fs from \"fs\"\n\n/**\n * Give the user access to the given path (and its sub-directories if a directory). It changes the owner to the\n * SUDO_USER. This allows the user to use the folder without sudo\n *\n * @param path The path to give the user access to\n */\nexport async function grantUserWriteAccess(path: string) {\n  if (\n    (process.platform === \"linux\" || process.platform === \"darwin\") &&\n    isSudo() &&\n    process.env.SUDO_USER !== undefined\n  ) {\n    const isDirectory = fs.statSync(path).isDirectory()\n    await execRoot(\"chown\", [...(isDirectory ? [\"-R\"] : []), process.env.SUDO_USER, path], defaultExecOptions)\n  }\n}\n"],"mappings":"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","ignoreList":[]}