create-zudoku 0.79.0 → 0.80.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -69,4 +69,4 @@ var m=p(181);var g=m.Buffer;function copyProps(t,u){for(var p in t){u[p]=t[p]}}i
69
69
  *
70
70
  * Copyright (c) 2015-present, Jon Schlinkert.
71
71
  * Released under the MIT License.
72
- */const m=p(952);const toRegexRange=(t,u,p)=>{if(m(t)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(u===void 0||t===u){return String(t)}if(m(u)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let g={relaxZeros:true,...p};if(typeof g.strictZeros==="boolean"){g.relaxZeros=g.strictZeros===false}let y=String(g.relaxZeros);let v=String(g.shorthand);let b=String(g.capture);let w=String(g.wrap);let E=t+":"+u+"="+y+v+b+w;if(toRegexRange.cache.hasOwnProperty(E)){return toRegexRange.cache[E].result}let $=Math.min(t,u);let O=Math.max(t,u);if(Math.abs($-O)===1){let p=t+"|"+u;if(g.capture){return`(${p})`}if(g.wrap===false){return p}return`(?:${p})`}let R=hasPadding(t)||hasPadding(u);let P={min:t,max:u,a:$,b:O};let A=[];let x=[];if(R){P.isPadded=R;P.maxLen=String(P.max).length}if($<0){let t=O<0?Math.abs(O):1;x=splitToPatterns(t,Math.abs($),P,g);$=P.a=0}if(O>=0){A=splitToPatterns($,O,P,g)}P.negatives=x;P.positives=A;P.result=collatePatterns(x,A,g);if(g.capture===true){P.result=`(${P.result})`}else if(g.wrap!==false&&A.length+x.length>1){P.result=`(?:${P.result})`}toRegexRange.cache[E]=P;return P.result};function collatePatterns(t,u,p){let m=filterPatterns(t,u,"-",false,p)||[];let g=filterPatterns(u,t,"",false,p)||[];let y=filterPatterns(t,u,"-?",true,p)||[];let v=m.concat(y).concat(g);return v.join("|")}function splitToRanges(t,u){let p=1;let m=1;let g=countNines(t,p);let y=new Set([u]);while(t<=g&&g<=u){y.add(g);p+=1;g=countNines(t,p)}g=countZeros(u+1,m)-1;while(t<g&&g<=u){y.add(g);m+=1;g=countZeros(u+1,m)-1}y=[...y];y.sort(compare);return y}function rangeToPattern(t,u,p){if(t===u){return{pattern:t,count:[],digits:0}}let m=zip(t,u);let g=m.length;let y="";let v=0;for(let t=0;t<g;t++){let[u,g]=m[t];if(u===g){y+=u}else if(u!=="0"||g!=="9"){y+=toCharacterClass(u,g,p)}else{v++}}if(v){y+=p.shorthand===true?"\\d":"[0-9]"}return{pattern:y,count:[v],digits:g}}function splitToPatterns(t,u,p,m){let g=splitToRanges(t,u);let y=[];let v=t;let b;for(let t=0;t<g.length;t++){let u=g[t];let w=rangeToPattern(String(v),String(u),m);let E="";if(!p.isPadded&&b&&b.pattern===w.pattern){if(b.count.length>1){b.count.pop()}b.count.push(w.count[0]);b.string=b.pattern+toQuantifier(b.count);v=u+1;continue}if(p.isPadded){E=padZeros(u,p,m)}w.string=E+w.pattern+toQuantifier(w.count);y.push(w);v=u+1;b=w}return y}function filterPatterns(t,u,p,m,g){let y=[];for(let g of t){let{string:t}=g;if(!m&&!contains(u,"string",t)){y.push(p+t)}if(m&&contains(u,"string",t)){y.push(p+t)}}return y}function zip(t,u){let p=[];for(let m=0;m<t.length;m++)p.push([t[m],u[m]]);return p}function compare(t,u){return t>u?1:u>t?-1:0}function contains(t,u,p){return t.some((t=>t[u]===p))}function countNines(t,u){return Number(String(t).slice(0,-u)+"9".repeat(u))}function countZeros(t,u){return t-t%Math.pow(10,u)}function toQuantifier(t){let[u=0,p=""]=t;if(p||u>1){return`{${u+(p?","+p:"")}}`}return""}function toCharacterClass(t,u,p){return`[${t}${u-t===1?"":"-"}${u}]`}function hasPadding(t){return/^-?(0+)\d/.test(t)}function padZeros(t,u,p){if(!u.isPadded){return t}let m=Math.abs(u.maxLen-String(t).length);let g=p.relaxZeros!==false;switch(m){case 0:return"";case 1:return g?"0?":"0";case 2:return g?"0{0,2}":"00";default:{return g?`0{0,${m}}`:`0{${m}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};t.exports=toRegexRange},5059:(t,u,p)=>{const{URL:m}=p(7016);const{join:g}=p(6928);const y=p(9896);const{promisify:v}=p(9023);const{tmpdir:b}=p(857);const w=p(3805);const E=v(y.writeFile);const $=v(y.mkdir);const O=v(y.readFile);const compareVersions=(t,u)=>t.localeCompare(u,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,u)=>{const p=b();const m=g(p,"update-check");if(!y.existsSync(m)){await $(m)}let v=`${t.name}-${u}.json`;if(t.scope){v=`${t.scope}-${v}`}return g(m,v)};const evaluateCache=async(t,u,p)=>{if(y.existsSync(t)){const m=await O(t,"utf8");const{lastUpdate:g,latest:y}=JSON.parse(m);const v=g+p;if(v>u){return{shouldCheck:false,latest:y}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,u,p)=>{const m=JSON.stringify({latest:u,lastUpdate:p});await E(t,m,"utf8")};const loadPackage=(t,u)=>new Promise(((m,g)=>{const y={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(u){y.headers.authorization=`${u.type} ${u.token}`}const{get:v}=p(t.protocol==="https:"?5692:8611);v(y,(t=>{const{statusCode:u}=t;if(u!==200){const p=new Error(`Request failed with code ${u}`);p.code=u;g(p);t.resume();return}let p="";t.setEncoding("utf8");t.on("data",(t=>{p+=t}));t.on("end",(()=>{try{const t=JSON.parse(p);m(t)}catch(t){g(t)}}))})).on("error",g).on("timeout",g)}));const getMostRecent=async({full:t,scope:u},g)=>{const y=w(u);const v=new m(t,y);let b=null;try{b=await loadPackage(v)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=p(4133);const u=t(y,{recursive:true});b=await loadPackage(v,u)}else{throw t}}const E=b["dist-tags"][g];if(!E){throw new Error(`Distribution tag ${g} is not available`)}return E};const R={interval:36e5,distTag:"latest"};const getDetails=t=>{const u={full:encode(t)};if(t.includes("/")){const p=t.split("/");u.scope=p[0];u.name=p[1]}else{u.scope=null;u.name=t}return u};t.exports=async(t,u)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const p=getDetails(t.name);const m=Date.now();const{distTag:g,interval:y}=Object.assign({},R,u);const v=await getFile(p,g);let b=null;let w=true;({shouldCheck:w,latest:b}=await evaluateCache(v,m,y));if(w){b=await getMostRecent(p,g);await updateCache(v,b,m)}const E=compareVersions(t.version,b);if(E===-1){return{latest:b,fromCache:!w}}return null}},8904:(t,u,p)=>{"use strict";const m=p(6737);var g=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");var y=["node_modules","favicon.ico"];function validate(t){var u=[];var p=[];if(t===null){p.push("name cannot be null");return done(u,p)}if(t===undefined){p.push("name cannot be undefined");return done(u,p)}if(typeof t!=="string"){p.push("name must be a string");return done(u,p)}if(!t.length){p.push("name length must be greater than zero")}if(t.startsWith(".")){p.push("name cannot start with a period")}if(t.startsWith("-")){p.push("name cannot start with a hyphen")}if(t.match(/^_/)){p.push("name cannot start with an underscore")}if(t.trim()!==t){p.push("name cannot contain leading or trailing spaces")}y.forEach((function(u){if(t.toLowerCase()===u){p.push(u+" is not a valid package name")}}));if(m.includes(t.toLowerCase())){u.push(t+" is a core module name")}if(t.length>214){u.push("name can no longer contain more than 214 characters")}if(t.toLowerCase()!==t){u.push("name can no longer contain capital letters")}if(/[~'!()*]/.test(t.split("/").slice(-1)[0])){u.push('name can no longer contain special characters ("~\'!()*")')}if(encodeURIComponent(t)!==t){var v=t.match(g);if(v){var b=v[1];var w=v[2];if(w.startsWith(".")){p.push("name cannot start with a period")}if(encodeURIComponent(b)===b&&encodeURIComponent(w)===w){return done(u,p)}}p.push("name can only contain URL-friendly characters")}return done(u,p)}var done=function(t,u){var p={validForNewPackages:u.length===0&&t.length===0,validForOldPackages:u.length===0,warnings:t,errors:u};if(!p.warnings.length){delete p.warnings}if(!p.errors.length){delete p.errors}return p};t.exports=validate},1192:(t,u,p)=>{const m=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const g=p(6928);const y=m?";":":";const v=p(7105);const getNotFoundError=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"});const getPathInfo=(t,u)=>{const p=u.colon||y;const g=t.match(/\//)||m&&t.match(/\\/)?[""]:[...m?[process.cwd()]:[],...(u.path||process.env.PATH||"").split(p)];const v=m?u.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const b=m?v.split(p):[""];if(m){if(t.indexOf(".")!==-1&&b[0]!=="")b.unshift("")}return{pathEnv:g,pathExt:b,pathExtExe:v}};const which=(t,u,p)=>{if(typeof u==="function"){p=u;u={}}if(!u)u={};const{pathEnv:m,pathExt:y,pathExtExe:b}=getPathInfo(t,u);const w=[];const step=p=>new Promise(((y,v)=>{if(p===m.length)return u.all&&w.length?y(w):v(getNotFoundError(t));const b=m[p];const E=/^".*"$/.test(b)?b.slice(1,-1):b;const $=g.join(E,t);const O=!E&&/^\.[\\\/]/.test(t)?t.slice(0,2)+$:$;y(subStep(O,p,0))}));const subStep=(t,p,m)=>new Promise(((g,E)=>{if(m===y.length)return g(step(p+1));const $=y[m];v(t+$,{pathExt:b},((y,v)=>{if(!y&&v){if(u.all)w.push(t+$);else return g(t+$)}return g(subStep(t,p,m+1))}))}));return p?step(0).then((t=>p(null,t)),p):step(0)};const whichSync=(t,u)=>{u=u||{};const{pathEnv:p,pathExt:m,pathExtExe:y}=getPathInfo(t,u);const b=[];for(let w=0;w<p.length;w++){const E=p[w];const $=/^".*"$/.test(E)?E.slice(1,-1):E;const O=g.join($,t);const R=!$&&/^\.[\\\/]/.test(t)?t.slice(0,2)+O:O;for(let t=0;t<m.length;t++){const p=R+m[t];try{const t=v.sync(p,{pathExt:y});if(t){if(u.all)b.push(p);else return p}}catch(t){}}}if(u.all&&b.length)return b;if(u.nothrow)return null;throw getNotFoundError(t)};t.exports=which;which.sync=whichSync},181:t=>{"use strict";t.exports=require("buffer")},5317:t=>{"use strict";t.exports=require("child_process")},4434:t=>{"use strict";t.exports=require("events")},9896:t=>{"use strict";t.exports=require("fs")},8611:t=>{"use strict";t.exports=require("http")},5692:t=>{"use strict";t.exports=require("https")},1421:t=>{"use strict";t.exports=require("node:child_process")},8474:t=>{"use strict";t.exports=require("node:events")},3024:t=>{"use strict";t.exports=require("node:fs")},6760:t=>{"use strict";t.exports=require("node:path")},1708:t=>{"use strict";t.exports=require("node:process")},857:t=>{"use strict";t.exports=require("os")},6928:t=>{"use strict";t.exports=require("path")},3785:t=>{"use strict";t.exports=require("readline")},2203:t=>{"use strict";t.exports=require("stream")},7016:t=>{"use strict";t.exports=require("url")},9023:t=>{"use strict";t.exports=require("util")},4732:(t,u,p)=>{"use strict";const m=p(7028);const g=process.env;Object.defineProperty(u,"_vendors",{value:m.map((function(t){return t.constant}))});u.name=null;u.isPR=null;u.id=null;if(g.CI!=="false"){m.forEach((function(t){const p=Array.isArray(t.env)?t.env:[t.env];const m=p.every((function(t){return checkEnv(t)}));u[t.constant]=m;if(!m){return}u.name=t.name;u.isPR=checkPR(t);u.id=t.constant}))}u.isCI=!!(g.CI!=="false"&&(g.BUILD_ID||g.BUILD_NUMBER||g.CI||g.CI_APP_ID||g.CI_BUILD_ID||g.CI_BUILD_NUMBER||g.CI_NAME||g.CONTINUOUS_INTEGRATION||g.RUN_ID||u.name||false));function checkEnv(t){if(typeof t==="string")return!!g[t];if("env"in t){return g[t.env]&&g[t.env].includes(t.includes)}if("any"in t){return t.any.some((function(t){return!!g[t]}))}return Object.keys(t).every((function(u){return g[u]===t[u]}))}function checkPR(t){switch(typeof t.pr){case"string":return!!g[t.pr];case"object":if("env"in t.pr){if("any"in t.pr){return t.pr.any.some((function(u){return g[t.pr.env]===u}))}else{return t.pr.env in g&&g[t.pr.env]!==t.pr.ne}}else if("any"in t.pr){return t.pr.any.some((function(t){return!!g[t]}))}else{return checkEnv(t.pr)}default:return null}}},206:(t,u,p)=>{const{Argument:m}=p(1455);const{Command:g}=p(4623);const{CommanderError:y,InvalidArgumentError:v}=p(9400);const{Help:b}=p(2559);const{Option:w}=p(1033);u.DM=new g;u.gu=t=>new g(t);u.Ww=(t,u)=>new w(t,u);u.er=(t,u)=>new m(t,u);u.uB=g;u.c$=w;u.ef=m;u._V=b;u.b7=y;u.Di=v;u.a2=v},1455:(t,u,p)=>{const{InvalidArgumentError:m}=p(9400);class Argument{constructor(t,u){this.description=u||"";this.variadic=false;this.parseArg=undefined;this.defaultValue=undefined;this.defaultValueDescription=undefined;this.argChoices=undefined;switch(t[0]){case"<":this.required=true;this._name=t.slice(1,-1);break;case"[":this.required=false;this._name=t.slice(1,-1);break;default:this.required=true;this._name=t;break}if(this._name.endsWith("...")){this.variadic=true;this._name=this._name.slice(0,-3)}}name(){return this._name}_collectValue(t,u){if(u===this.defaultValue||!Array.isArray(u)){return[t]}u.push(t);return u}default(t,u){this.defaultValue=t;this.defaultValueDescription=u;return this}argParser(t){this.parseArg=t;return this}choices(t){this.argChoices=t.slice();this.parseArg=(t,u)=>{if(!this.argChoices.includes(t)){throw new m(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._collectValue(t,u)}return t};return this}argRequired(){this.required=true;return this}argOptional(){this.required=false;return this}}function humanReadableArgName(t){const u=t.name()+(t.variadic===true?"...":"");return t.required?"<"+u+">":"["+u+"]"}u.Argument=Argument;u.humanReadableArgName=humanReadableArgName},4623:(t,u,p)=>{const m=p(8474).EventEmitter;const g=p(1421);const y=p(6760);const v=p(3024);const b=p(1708);const{Argument:w,humanReadableArgName:E}=p(1455);const{CommanderError:$}=p(9400);const{Help:O,stripColor:R}=p(2559);const{Option:P,DualOptions:A}=p(1033);const{suggestSimilar:x}=p(3683);class Command extends m{constructor(t){super();this.commands=[];this.options=[];this.parent=null;this._allowUnknownOption=false;this._allowExcessArguments=false;this.registeredArguments=[];this._args=this.registeredArguments;this.args=[];this.rawArgs=[];this.processedArgs=[];this._scriptPath=null;this._name=t||"";this._optionValues={};this._optionValueSources={};this._storeOptionsAsProperties=false;this._actionHandler=null;this._executableHandler=false;this._executableFile=null;this._executableDir=null;this._defaultCommandName=null;this._exitCallback=null;this._aliases=[];this._combineFlagAndOptionalValue=true;this._description="";this._summary="";this._argsDescription=undefined;this._enablePositionalOptions=false;this._passThroughOptions=false;this._lifeCycleHooks={};this._showHelpAfterError=false;this._showSuggestionAfterError=true;this._savedState=null;this._outputConfiguration={writeOut:t=>b.stdout.write(t),writeErr:t=>b.stderr.write(t),outputError:(t,u)=>u(t),getOutHelpWidth:()=>b.stdout.isTTY?b.stdout.columns:undefined,getErrHelpWidth:()=>b.stderr.isTTY?b.stderr.columns:undefined,getOutHasColors:()=>useColor()??(b.stdout.isTTY&&b.stdout.hasColors?.()),getErrHasColors:()=>useColor()??(b.stderr.isTTY&&b.stderr.hasColors?.()),stripColor:t=>R(t)};this._hidden=false;this._helpOption=undefined;this._addImplicitHelpCommand=undefined;this._helpCommand=undefined;this._helpConfiguration={};this._helpGroupHeading=undefined;this._defaultCommandGroup=undefined;this._defaultOptionGroup=undefined}copyInheritedSettings(t){this._outputConfiguration=t._outputConfiguration;this._helpOption=t._helpOption;this._helpCommand=t._helpCommand;this._helpConfiguration=t._helpConfiguration;this._exitCallback=t._exitCallback;this._storeOptionsAsProperties=t._storeOptionsAsProperties;this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue;this._allowExcessArguments=t._allowExcessArguments;this._enablePositionalOptions=t._enablePositionalOptions;this._showHelpAfterError=t._showHelpAfterError;this._showSuggestionAfterError=t._showSuggestionAfterError;return this}_getCommandAndAncestors(){const t=[];for(let u=this;u;u=u.parent){t.push(u)}return t}command(t,u,p){let m=u;let g=p;if(typeof m==="object"&&m!==null){g=m;m=null}g=g||{};const[,y,v]=t.match(/([^ ]+) *(.*)/);const b=this.createCommand(y);if(m){b.description(m);b._executableHandler=true}if(g.isDefault)this._defaultCommandName=b._name;b._hidden=!!(g.noHelp||g.hidden);b._executableFile=g.executableFile||null;if(v)b.arguments(v);this._registerCommand(b);b.parent=this;b.copyInheritedSettings(this);if(m)return this;return b}createCommand(t){return new Command(t)}createHelp(){return Object.assign(new O,this.configureHelp())}configureHelp(t){if(t===undefined)return this._helpConfiguration;this._helpConfiguration=t;return this}configureOutput(t){if(t===undefined)return this._outputConfiguration;this._outputConfiguration={...this._outputConfiguration,...t};return this}showHelpAfterError(t=true){if(typeof t!=="string")t=!!t;this._showHelpAfterError=t;return this}showSuggestionAfterError(t=true){this._showSuggestionAfterError=!!t;return this}addCommand(t,u){if(!t._name){throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`)}u=u||{};if(u.isDefault)this._defaultCommandName=t._name;if(u.noHelp||u.hidden)t._hidden=true;this._registerCommand(t);t.parent=this;t._checkForBrokenPassThrough();return this}createArgument(t,u){return new w(t,u)}argument(t,u,p,m){const g=this.createArgument(t,u);if(typeof p==="function"){g.default(m).argParser(p)}else{g.default(p)}this.addArgument(g);return this}arguments(t){t.trim().split(/ +/).forEach((t=>{this.argument(t)}));return this}addArgument(t){const u=this.registeredArguments.slice(-1)[0];if(u?.variadic){throw new Error(`only the last argument can be variadic '${u.name()}'`)}if(t.required&&t.defaultValue!==undefined&&t.parseArg===undefined){throw new Error(`a default value for a required argument is never used: '${t.name()}'`)}this.registeredArguments.push(t);return this}helpCommand(t,u){if(typeof t==="boolean"){this._addImplicitHelpCommand=t;if(t&&this._defaultCommandGroup){this._initCommandGroup(this._getHelpCommand())}return this}const p=t??"help [command]";const[,m,g]=p.match(/([^ ]+) *(.*)/);const y=u??"display help for command";const v=this.createCommand(m);v.helpOption(false);if(g)v.arguments(g);if(y)v.description(y);this._addImplicitHelpCommand=true;this._helpCommand=v;if(t||u)this._initCommandGroup(v);return this}addHelpCommand(t,u){if(typeof t!=="object"){this.helpCommand(t,u);return this}this._addImplicitHelpCommand=true;this._helpCommand=t;this._initCommandGroup(t);return this}_getHelpCommand(){const t=this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"));if(t){if(this._helpCommand===undefined){this.helpCommand(undefined,undefined)}return this._helpCommand}return null}hook(t,u){const p=["preSubcommand","preAction","postAction"];if(!p.includes(t)){throw new Error(`Unexpected value for event passed to hook : '${t}'.\nExpecting one of '${p.join("', '")}'`)}if(this._lifeCycleHooks[t]){this._lifeCycleHooks[t].push(u)}else{this._lifeCycleHooks[t]=[u]}return this}exitOverride(t){if(t){this._exitCallback=t}else{this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync"){throw t}else{}}}return this}_exit(t,u,p){if(this._exitCallback){this._exitCallback(new $(t,u,p))}b.exit(t)}action(t){const listener=u=>{const p=this.registeredArguments.length;const m=u.slice(0,p);if(this._storeOptionsAsProperties){m[p]=this}else{m[p]=this.opts()}m.push(this);return t.apply(this,m)};this._actionHandler=listener;return this}createOption(t,u){return new P(t,u)}_callParseArg(t,u,p,m){try{return t.parseArg(u,p)}catch(t){if(t.code==="commander.invalidArgument"){const u=`${m} ${t.message}`;this.error(u,{exitCode:t.exitCode,code:t.code})}throw t}}_registerOption(t){const u=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(u){const p=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${p}'\n- already used by option '${u.flags}'`)}this._initOptionGroup(t);this.options.push(t)}_registerCommand(t){const knownBy=t=>[t.name()].concat(t.aliases());const u=knownBy(t).find((t=>this._findCommand(t)));if(u){const p=knownBy(this._findCommand(u)).join("|");const m=knownBy(t).join("|");throw new Error(`cannot add command '${m}' as already have command '${p}'`)}this._initCommandGroup(t);this.commands.push(t)}addOption(t){this._registerOption(t);const u=t.name();const p=t.attributeName();if(t.negate){const u=t.long.replace(/^--no-/,"--");if(!this._findOption(u)){this.setOptionValueWithSource(p,t.defaultValue===undefined?true:t.defaultValue,"default")}}else if(t.defaultValue!==undefined){this.setOptionValueWithSource(p,t.defaultValue,"default")}const handleOptionValue=(u,m,g)=>{if(u==null&&t.presetArg!==undefined){u=t.presetArg}const y=this.getOptionValue(p);if(u!==null&&t.parseArg){u=this._callParseArg(t,u,y,m)}else if(u!==null&&t.variadic){u=t._collectValue(u,y)}if(u==null){if(t.negate){u=false}else if(t.isBoolean()||t.optional){u=true}else{u=""}}this.setOptionValueWithSource(p,u,g)};this.on("option:"+u,(u=>{const p=`error: option '${t.flags}' argument '${u}' is invalid.`;handleOptionValue(u,p,"cli")}));if(t.envVar){this.on("optionEnv:"+u,(u=>{const p=`error: option '${t.flags}' value '${u}' from env '${t.envVar}' is invalid.`;handleOptionValue(u,p,"env")}))}return this}_optionEx(t,u,p,m,g){if(typeof u==="object"&&u instanceof P){throw new Error("To add an Option object use addOption() instead of option() or requiredOption()")}const y=this.createOption(u,p);y.makeOptionMandatory(!!t.mandatory);if(typeof m==="function"){y.default(g).argParser(m)}else if(m instanceof RegExp){const t=m;m=(u,p)=>{const m=t.exec(u);return m?m[0]:p};y.default(g).argParser(m)}else{y.default(m)}return this.addOption(y)}option(t,u,p,m){return this._optionEx({},t,u,p,m)}requiredOption(t,u,p,m){return this._optionEx({mandatory:true},t,u,p,m)}combineFlagAndOptionalValue(t=true){this._combineFlagAndOptionalValue=!!t;return this}allowUnknownOption(t=true){this._allowUnknownOption=!!t;return this}allowExcessArguments(t=true){this._allowExcessArguments=!!t;return this}enablePositionalOptions(t=true){this._enablePositionalOptions=!!t;return this}passThroughOptions(t=true){this._passThroughOptions=!!t;this._checkForBrokenPassThrough();return this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions){throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}}storeOptionsAsProperties(t=true){if(this.options.length){throw new Error("call .storeOptionsAsProperties() before adding options")}if(Object.keys(this._optionValues).length){throw new Error("call .storeOptionsAsProperties() before setting option values")}this._storeOptionsAsProperties=!!t;return this}getOptionValue(t){if(this._storeOptionsAsProperties){return this[t]}return this._optionValues[t]}setOptionValue(t,u){return this.setOptionValueWithSource(t,u,undefined)}setOptionValueWithSource(t,u,p){if(this._storeOptionsAsProperties){this[t]=u}else{this._optionValues[t]=u}this._optionValueSources[t]=p;return this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let u;this._getCommandAndAncestors().forEach((p=>{if(p.getOptionValueSource(t)!==undefined){u=p.getOptionValueSource(t)}}));return u}_prepareUserArgs(t,u){if(t!==undefined&&!Array.isArray(t)){throw new Error("first parameter to parse must be array or undefined")}u=u||{};if(t===undefined&&u.from===undefined){if(b.versions?.electron){u.from="electron"}const t=b.execArgv??[];if(t.includes("-e")||t.includes("--eval")||t.includes("-p")||t.includes("--print")){u.from="eval"}}if(t===undefined){t=b.argv}this.rawArgs=t.slice();let p;switch(u.from){case undefined:case"node":this._scriptPath=t[1];p=t.slice(2);break;case"electron":if(b.defaultApp){this._scriptPath=t[1];p=t.slice(2)}else{p=t.slice(1)}break;case"user":p=t.slice(0);break;case"eval":p=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${u.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);this._name=this._name||"program";return p}parse(t,u){this._prepareForParse();const p=this._prepareUserArgs(t,u);this._parseCommand([],p);return this}async parseAsync(t,u){this._prepareForParse();const p=this._prepareUserArgs(t,u);await this._parseCommand([],p);return this}_prepareForParse(){if(this._savedState===null){this.saveStateBeforeParse()}else{this.restoreStateBeforeParse()}}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.\n- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name;this._scriptPath=null;this.rawArgs=[];this._optionValues={...this._savedState._optionValues};this._optionValueSources={...this._savedState._optionValueSources};this.args=[];this.processedArgs=[]}_checkForMissingExecutable(t,u,p){if(v.existsSync(t))return;const m=u?`searched for local subcommand relative to directory '${u}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";const g=`'${t}' does not exist\n - if '${p}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${m}`;throw new Error(g)}_executeSubCommand(t,u){u=u.slice();let p=false;const m=[".js",".ts",".tsx",".mjs",".cjs"];function findFile(t,u){const p=y.resolve(t,u);if(v.existsSync(p))return p;if(m.includes(y.extname(u)))return undefined;const g=m.find((t=>v.existsSync(`${p}${t}`)));if(g)return`${p}${g}`;return undefined}this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();let w=t._executableFile||`${this._name}-${t._name}`;let E=this._executableDir||"";if(this._scriptPath){let t;try{t=v.realpathSync(this._scriptPath)}catch{t=this._scriptPath}E=y.resolve(y.dirname(t),E)}if(E){let u=findFile(E,w);if(!u&&!t._executableFile&&this._scriptPath){const p=y.basename(this._scriptPath,y.extname(this._scriptPath));if(p!==this._name){u=findFile(E,`${p}-${t._name}`)}}w=u||w}p=m.includes(y.extname(w));let O;if(b.platform!=="win32"){if(p){u.unshift(w);u=incrementNodeInspectorPort(b.execArgv).concat(u);O=g.spawn(b.argv[0],u,{stdio:"inherit"})}else{O=g.spawn(w,u,{stdio:"inherit"})}}else{this._checkForMissingExecutable(w,E,t._name);u.unshift(w);u=incrementNodeInspectorPort(b.execArgv).concat(u);O=g.spawn(b.execPath,u,{stdio:"inherit"})}if(!O.killed){const t=["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"];t.forEach((t=>{b.on(t,(()=>{if(O.killed===false&&O.exitCode===null){O.kill(t)}}))}))}const R=this._exitCallback;O.on("close",(t=>{t=t??1;if(!R){b.exit(t)}else{R(new $(t,"commander.executeSubCommandAsync","(close)"))}}));O.on("error",(u=>{if(u.code==="ENOENT"){this._checkForMissingExecutable(w,E,t._name)}else if(u.code==="EACCES"){throw new Error(`'${w}' not executable`)}if(!R){b.exit(1)}else{const t=new $(1,"commander.executeSubCommandAsync","(error)");t.nestedError=u;R(t)}}));this.runningCommand=O}_dispatchSubcommand(t,u,p){const m=this._findCommand(t);if(!m)this.help({error:true});m._prepareForParse();let g;g=this._chainOrCallSubCommandHook(g,m,"preSubcommand");g=this._chainOrCall(g,(()=>{if(m._executableHandler){this._executeSubCommand(m,u.concat(p))}else{return m._parseCommand(u,p)}}));return g}_dispatchHelpCommand(t){if(!t){this.help()}const u=this._findCommand(t);if(u&&!u._executableHandler){u.help()}return this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach(((t,u)=>{if(t.required&&this.args[u]==null){this.missingArgument(t.name())}}));if(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic){return}if(this.args.length>this.registeredArguments.length){this._excessArguments(this.args)}}_processArguments(){const myParseArg=(t,u,p)=>{let m=u;if(u!==null&&t.parseArg){const g=`error: command-argument value '${u}' is invalid for argument '${t.name()}'.`;m=this._callParseArg(t,u,p,g)}return m};this._checkNumberOfArguments();const t=[];this.registeredArguments.forEach(((u,p)=>{let m=u.defaultValue;if(u.variadic){if(p<this.args.length){m=this.args.slice(p);if(u.parseArg){m=m.reduce(((t,p)=>myParseArg(u,p,t)),u.defaultValue)}}else if(m===undefined){m=[]}}else if(p<this.args.length){m=this.args[p];if(u.parseArg){m=myParseArg(u,m,u.defaultValue)}}t[p]=m}));this.processedArgs=t}_chainOrCall(t,u){if(t?.then&&typeof t.then==="function"){return t.then((()=>u()))}return u()}_chainOrCallHooks(t,u){let p=t;const m=[];this._getCommandAndAncestors().reverse().filter((t=>t._lifeCycleHooks[u]!==undefined)).forEach((t=>{t._lifeCycleHooks[u].forEach((u=>{m.push({hookedCommand:t,callback:u})}))}));if(u==="postAction"){m.reverse()}m.forEach((t=>{p=this._chainOrCall(p,(()=>t.callback(t.hookedCommand,this)))}));return p}_chainOrCallSubCommandHook(t,u,p){let m=t;if(this._lifeCycleHooks[p]!==undefined){this._lifeCycleHooks[p].forEach((t=>{m=this._chainOrCall(m,(()=>t(this,u)))}))}return m}_parseCommand(t,u){const p=this.parseOptions(u);this._parseOptionsEnv();this._parseOptionsImplied();t=t.concat(p.operands);u=p.unknown;this.args=t.concat(u);if(t&&this._findCommand(t[0])){return this._dispatchSubcommand(t[0],t.slice(1),u)}if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name()){return this._dispatchHelpCommand(t[1])}if(this._defaultCommandName){this._outputHelpIfRequested(u);return this._dispatchSubcommand(this._defaultCommandName,t,u)}if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName){this.help({error:true})}this._outputHelpIfRequested(p.unknown);this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();const checkForUnknownOptions=()=>{if(p.unknown.length>0){this.unknownOption(p.unknown[0])}};const m=`command:${this.name()}`;if(this._actionHandler){checkForUnknownOptions();this._processArguments();let p;p=this._chainOrCallHooks(p,"preAction");p=this._chainOrCall(p,(()=>this._actionHandler(this.processedArgs)));if(this.parent){p=this._chainOrCall(p,(()=>{this.parent.emit(m,t,u)}))}p=this._chainOrCallHooks(p,"postAction");return p}if(this.parent?.listenerCount(m)){checkForUnknownOptions();this._processArguments();this.parent.emit(m,t,u)}else if(t.length){if(this._findCommand("*")){return this._dispatchSubcommand("*",t,u)}if(this.listenerCount("command:*")){this.emit("command:*",t,u)}else if(this.commands.length){this.unknownCommand()}else{checkForUnknownOptions();this._processArguments()}}else if(this.commands.length){checkForUnknownOptions();this.help({error:true})}else{checkForUnknownOptions();this._processArguments()}}_findCommand(t){if(!t)return undefined;return this.commands.find((u=>u._name===t||u._aliases.includes(t)))}_findOption(t){return this.options.find((u=>u.is(t)))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((t=>{t.options.forEach((u=>{if(u.mandatory&&t.getOptionValue(u.attributeName())===undefined){t.missingMandatoryOptionValue(u)}}))}))}_checkForConflictingLocalOptions(){const t=this.options.filter((t=>{const u=t.attributeName();if(this.getOptionValue(u)===undefined){return false}return this.getOptionValueSource(u)!=="default"}));const u=t.filter((t=>t.conflictsWith.length>0));u.forEach((u=>{const p=t.find((t=>u.conflictsWith.includes(t.attributeName())));if(p){this._conflictingOption(u,p)}}))}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((t=>{t._checkForConflictingLocalOptions()}))}parseOptions(t){const u=[];const p=[];let m=u;function maybeOption(t){return t.length>1&&t[0]==="-"}const negativeNumberArg=t=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(t))return false;return!this._getCommandAndAncestors().some((t=>t.options.map((t=>t.short)).some((t=>/^-\d$/.test(t)))))};let g=null;let y=null;let v=0;while(v<t.length||y){const b=y??t[v++];y=null;if(b==="--"){if(m===p)m.push(b);m.push(...t.slice(v));break}if(g&&(!maybeOption(b)||negativeNumberArg(b))){this.emit(`option:${g.name()}`,b);continue}g=null;if(maybeOption(b)){const u=this._findOption(b);if(u){if(u.required){const p=t[v++];if(p===undefined)this.optionMissingArgument(u);this.emit(`option:${u.name()}`,p)}else if(u.optional){let p=null;if(v<t.length&&(!maybeOption(t[v])||negativeNumberArg(t[v]))){p=t[v++]}this.emit(`option:${u.name()}`,p)}else{this.emit(`option:${u.name()}`)}g=u.variadic?u:null;continue}}if(b.length>2&&b[0]==="-"&&b[1]!=="-"){const t=this._findOption(`-${b[1]}`);if(t){if(t.required||t.optional&&this._combineFlagAndOptionalValue){this.emit(`option:${t.name()}`,b.slice(2))}else{this.emit(`option:${t.name()}`);y=`-${b.slice(2)}`}continue}}if(/^--[^=]+=/.test(b)){const t=b.indexOf("=");const u=this._findOption(b.slice(0,t));if(u&&(u.required||u.optional)){this.emit(`option:${u.name()}`,b.slice(t+1));continue}}if(m===u&&maybeOption(b)&&!(this.commands.length===0&&negativeNumberArg(b))){m=p}if((this._enablePositionalOptions||this._passThroughOptions)&&u.length===0&&p.length===0){if(this._findCommand(b)){u.push(b);p.push(...t.slice(v));break}else if(this._getHelpCommand()&&b===this._getHelpCommand().name()){u.push(b,...t.slice(v));break}else if(this._defaultCommandName){p.push(b,...t.slice(v));break}}if(this._passThroughOptions){m.push(b,...t.slice(v));break}m.push(b)}return{operands:u,unknown:p}}opts(){if(this._storeOptionsAsProperties){const t={};const u=this.options.length;for(let p=0;p<u;p++){const u=this.options[p].attributeName();t[u]=u===this._versionOptionName?this._version:this[u]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(((t,u)=>Object.assign(t,u.opts())),{})}error(t,u){this._outputConfiguration.outputError(`${t}\n`,this._outputConfiguration.writeErr);if(typeof this._showHelpAfterError==="string"){this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`)}else if(this._showHelpAfterError){this._outputConfiguration.writeErr("\n");this.outputHelp({error:true})}const p=u||{};const m=p.exitCode||1;const g=p.code||"commander.error";this._exit(m,g,t)}_parseOptionsEnv(){this.options.forEach((t=>{if(t.envVar&&t.envVar in b.env){const u=t.attributeName();if(this.getOptionValue(u)===undefined||["default","config","env"].includes(this.getOptionValueSource(u))){if(t.required||t.optional){this.emit(`optionEnv:${t.name()}`,b.env[t.envVar])}else{this.emit(`optionEnv:${t.name()}`)}}}}))}_parseOptionsImplied(){const t=new A(this.options);const hasCustomOptionValue=t=>this.getOptionValue(t)!==undefined&&!["default","implied"].includes(this.getOptionValueSource(t));this.options.filter((u=>u.implied!==undefined&&hasCustomOptionValue(u.attributeName())&&t.valueFromOption(this.getOptionValue(u.attributeName()),u))).forEach((t=>{Object.keys(t.implied).filter((t=>!hasCustomOptionValue(t))).forEach((u=>{this.setOptionValueWithSource(u,t.implied[u],"implied")}))}))}missingArgument(t){const u=`error: missing required argument '${t}'`;this.error(u,{code:"commander.missingArgument"})}optionMissingArgument(t){const u=`error: option '${t.flags}' argument missing`;this.error(u,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){const u=`error: required option '${t.flags}' not specified`;this.error(u,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,u){const findBestOptionFromValue=t=>{const u=t.attributeName();const p=this.getOptionValue(u);const m=this.options.find((t=>t.negate&&u===t.attributeName()));const g=this.options.find((t=>!t.negate&&u===t.attributeName()));if(m&&(m.presetArg===undefined&&p===false||m.presetArg!==undefined&&p===m.presetArg)){return m}return g||t};const getErrorMessage=t=>{const u=findBestOptionFromValue(t);const p=u.attributeName();const m=this.getOptionValueSource(p);if(m==="env"){return`environment variable '${u.envVar}'`}return`option '${u.flags}'`};const p=`error: ${getErrorMessage(t)} cannot be used with ${getErrorMessage(u)}`;this.error(p,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let u="";if(t.startsWith("--")&&this._showSuggestionAfterError){let p=[];let m=this;do{const t=m.createHelp().visibleOptions(m).filter((t=>t.long)).map((t=>t.long));p=p.concat(t);m=m.parent}while(m&&!m._enablePositionalOptions);u=x(t,p)}const p=`error: unknown option '${t}'${u}`;this.error(p,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;const u=this.registeredArguments.length;const p=u===1?"":"s";const m=this.parent?` for '${this.name()}'`:"";const g=`error: too many arguments${m}. Expected ${u} argument${p} but got ${t.length}.`;this.error(g,{code:"commander.excessArguments"})}unknownCommand(){const t=this.args[0];let u="";if(this._showSuggestionAfterError){const p=[];this.createHelp().visibleCommands(this).forEach((t=>{p.push(t.name());if(t.alias())p.push(t.alias())}));u=x(t,p)}const p=`error: unknown command '${t}'${u}`;this.error(p,{code:"commander.unknownCommand"})}version(t,u,p){if(t===undefined)return this._version;this._version=t;u=u||"-V, --version";p=p||"output the version number";const m=this.createOption(u,p);this._versionOptionName=m.attributeName();this._registerOption(m);this.on("option:"+m.name(),(()=>{this._outputConfiguration.writeOut(`${t}\n`);this._exit(0,"commander.version",t)}));return this}description(t,u){if(t===undefined&&u===undefined)return this._description;this._description=t;if(u){this._argsDescription=u}return this}summary(t){if(t===undefined)return this._summary;this._summary=t;return this}alias(t){if(t===undefined)return this._aliases[0];let u=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler){u=this.commands[this.commands.length-1]}if(t===u._name)throw new Error("Command alias can't be the same as its name");const p=this.parent?._findCommand(t);if(p){const u=[p.name()].concat(p.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${u}'`)}u._aliases.push(t);return this}aliases(t){if(t===undefined)return this._aliases;t.forEach((t=>this.alias(t)));return this}usage(t){if(t===undefined){if(this._usage)return this._usage;const t=this.registeredArguments.map((t=>E(t)));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}this._usage=t;return this}name(t){if(t===undefined)return this._name;this._name=t;return this}helpGroup(t){if(t===undefined)return this._helpGroupHeading??"";this._helpGroupHeading=t;return this}commandsGroup(t){if(t===undefined)return this._defaultCommandGroup??"";this._defaultCommandGroup=t;return this}optionsGroup(t){if(t===undefined)return this._defaultOptionGroup??"";this._defaultOptionGroup=t;return this}_initOptionGroup(t){if(this._defaultOptionGroup&&!t.helpGroupHeading)t.helpGroup(this._defaultOptionGroup)}_initCommandGroup(t){if(this._defaultCommandGroup&&!t.helpGroup())t.helpGroup(this._defaultCommandGroup)}nameFromFilename(t){this._name=y.basename(t,y.extname(t));return this}executableDir(t){if(t===undefined)return this._executableDir;this._executableDir=t;return this}helpInformation(t){const u=this.createHelp();const p=this._getOutputContext(t);u.prepareContext({error:p.error,helpWidth:p.helpWidth,outputHasColors:p.hasColors});const m=u.formatHelp(this,u);if(p.hasColors)return m;return this._outputConfiguration.stripColor(m)}_getOutputContext(t){t=t||{};const u=!!t.error;let p;let m;let g;if(u){p=t=>this._outputConfiguration.writeErr(t);m=this._outputConfiguration.getErrHasColors();g=this._outputConfiguration.getErrHelpWidth()}else{p=t=>this._outputConfiguration.writeOut(t);m=this._outputConfiguration.getOutHasColors();g=this._outputConfiguration.getOutHelpWidth()}const write=t=>{if(!m)t=this._outputConfiguration.stripColor(t);return p(t)};return{error:u,write:write,hasColors:m,helpWidth:g}}outputHelp(t){let u;if(typeof t==="function"){u=t;t=undefined}const p=this._getOutputContext(t);const m={error:p.error,write:p.write,command:this};this._getCommandAndAncestors().reverse().forEach((t=>t.emit("beforeAllHelp",m)));this.emit("beforeHelp",m);let g=this.helpInformation({error:p.error});if(u){g=u(g);if(typeof g!=="string"&&!Buffer.isBuffer(g)){throw new Error("outputHelp callback must return a string or a Buffer")}}p.write(g);if(this._getHelpOption()?.long){this.emit(this._getHelpOption().long)}this.emit("afterHelp",m);this._getCommandAndAncestors().forEach((t=>t.emit("afterAllHelp",m)))}helpOption(t,u){if(typeof t==="boolean"){if(t){if(this._helpOption===null)this._helpOption=undefined;if(this._defaultOptionGroup){this._initOptionGroup(this._getHelpOption())}}else{this._helpOption=null}return this}this._helpOption=this.createOption(t??"-h, --help",u??"display help for command");if(t||u)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===undefined){this.helpOption(undefined,undefined)}return this._helpOption}addHelpOption(t){this._helpOption=t;this._initOptionGroup(t);return this}help(t){this.outputHelp(t);let u=Number(b.exitCode??0);if(u===0&&t&&typeof t!=="function"&&t.error){u=1}this._exit(u,"commander.help","(outputHelp)")}addHelpText(t,u){const p=["beforeAll","before","after","afterAll"];if(!p.includes(t)){throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${p.join("', '")}'`)}const m=`${t}Help`;this.on(m,(t=>{let p;if(typeof u==="function"){p=u({error:t.error,command:t.command})}else{p=u}if(p){t.write(`${p}\n`)}}));return this}_outputHelpIfRequested(t){const u=this._getHelpOption();const p=u&&t.find((t=>u.is(t)));if(p){this.outputHelp();this._exit(0,"commander.helpDisplayed","(outputHelp)")}}}function incrementNodeInspectorPort(t){return t.map((t=>{if(!t.startsWith("--inspect")){return t}let u;let p="127.0.0.1";let m="9229";let g;if((g=t.match(/^(--inspect(-brk)?)$/))!==null){u=g[1]}else if((g=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null){u=g[1];if(/^\d+$/.test(g[3])){m=g[3]}else{p=g[3]}}else if((g=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null){u=g[1];p=g[3];m=g[4]}if(u&&m!=="0"){return`${u}=${p}:${parseInt(m)+1}`}return t}))}function useColor(){if(b.env.NO_COLOR||b.env.FORCE_COLOR==="0"||b.env.FORCE_COLOR==="false")return false;if(b.env.FORCE_COLOR||b.env.CLICOLOR_FORCE!==undefined)return true;return undefined}u.Command=Command;u.useColor=useColor},9400:(t,u)=>{class CommanderError extends Error{constructor(t,u,p){super(p);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.code=u;this.exitCode=t;this.nestedError=undefined}}class InvalidArgumentError extends CommanderError{constructor(t){super(1,"commander.invalidArgument",t);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}u.CommanderError=CommanderError;u.InvalidArgumentError=InvalidArgumentError},2559:(t,u,p)=>{const{humanReadableArgName:m}=p(1455);class Help{constructor(){this.helpWidth=undefined;this.minWidthToWrap=40;this.sortSubcommands=false;this.sortOptions=false;this.showGlobalOptions=false}prepareContext(t){this.helpWidth=this.helpWidth??t.helpWidth??80}visibleCommands(t){const u=t.commands.filter((t=>!t._hidden));const p=t._getHelpCommand();if(p&&!p._hidden){u.push(p)}if(this.sortSubcommands){u.sort(((t,u)=>t.name().localeCompare(u.name())))}return u}compareOptions(t,u){const getSortKey=t=>t.short?t.short.replace(/^-/,""):t.long.replace(/^--/,"");return getSortKey(t).localeCompare(getSortKey(u))}visibleOptions(t){const u=t.options.filter((t=>!t.hidden));const p=t._getHelpOption();if(p&&!p.hidden){const m=p.short&&t._findOption(p.short);const g=p.long&&t._findOption(p.long);if(!m&&!g){u.push(p)}else if(p.long&&!g){u.push(t.createOption(p.long,p.description))}else if(p.short&&!m){u.push(t.createOption(p.short,p.description))}}if(this.sortOptions){u.sort(this.compareOptions)}return u}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];const u=[];for(let p=t.parent;p;p=p.parent){const t=p.options.filter((t=>!t.hidden));u.push(...t)}if(this.sortOptions){u.sort(this.compareOptions)}return u}visibleArguments(t){if(t._argsDescription){t.registeredArguments.forEach((u=>{u.description=u.description||t._argsDescription[u.name()]||""}))}if(t.registeredArguments.find((t=>t.description))){return t.registeredArguments}return[]}subcommandTerm(t){const u=t.registeredArguments.map((t=>m(t))).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(u?" "+u:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,u){return u.visibleCommands(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleSubcommandTerm(u.subcommandTerm(p))))),0)}longestOptionTermLength(t,u){return u.visibleOptions(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleOptionTerm(u.optionTerm(p))))),0)}longestGlobalOptionTermLength(t,u){return u.visibleGlobalOptions(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleOptionTerm(u.optionTerm(p))))),0)}longestArgumentTermLength(t,u){return u.visibleArguments(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleArgumentTerm(u.argumentTerm(p))))),0)}commandUsage(t){let u=t._name;if(t._aliases[0]){u=u+"|"+t._aliases[0]}let p="";for(let u=t.parent;u;u=u.parent){p=u.name()+" "+p}return p+u+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){const u=[];if(t.argChoices){u.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){const p=t.required||t.optional||t.isBoolean()&&typeof t.defaultValue==="boolean";if(p){u.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}}if(t.presetArg!==undefined&&t.optional){u.push(`preset: ${JSON.stringify(t.presetArg)}`)}if(t.envVar!==undefined){u.push(`env: ${t.envVar}`)}if(u.length>0){const p=`(${u.join(", ")})`;if(t.description){return`${t.description} ${p}`}return p}return t.description}argumentDescription(t){const u=[];if(t.argChoices){u.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){u.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}if(u.length>0){const p=`(${u.join(", ")})`;if(t.description){return`${t.description} ${p}`}return p}return t.description}formatItemList(t,u,p){if(u.length===0)return[];return[p.styleTitle(t),...u,""]}groupItems(t,u,p){const m=new Map;t.forEach((t=>{const u=p(t);if(!m.has(u))m.set(u,[])}));u.forEach((t=>{const u=p(t);if(!m.has(u)){m.set(u,[])}m.get(u).push(t)}));return m}formatHelp(t,u){const p=u.padWidth(t,u);const m=u.helpWidth??80;function callFormatItem(t,m){return u.formatItem(t,p,m,u)}let g=[`${u.styleTitle("Usage:")} ${u.styleUsage(u.commandUsage(t))}`,""];const y=u.commandDescription(t);if(y.length>0){g=g.concat([u.boxWrap(u.styleCommandDescription(y),m),""])}const v=u.visibleArguments(t).map((t=>callFormatItem(u.styleArgumentTerm(u.argumentTerm(t)),u.styleArgumentDescription(u.argumentDescription(t)))));g=g.concat(this.formatItemList("Arguments:",v,u));const b=this.groupItems(t.options,u.visibleOptions(t),(t=>t.helpGroupHeading??"Options:"));b.forEach(((t,p)=>{const m=t.map((t=>callFormatItem(u.styleOptionTerm(u.optionTerm(t)),u.styleOptionDescription(u.optionDescription(t)))));g=g.concat(this.formatItemList(p,m,u))}));if(u.showGlobalOptions){const p=u.visibleGlobalOptions(t).map((t=>callFormatItem(u.styleOptionTerm(u.optionTerm(t)),u.styleOptionDescription(u.optionDescription(t)))));g=g.concat(this.formatItemList("Global Options:",p,u))}const w=this.groupItems(t.commands,u.visibleCommands(t),(t=>t.helpGroup()||"Commands:"));w.forEach(((t,p)=>{const m=t.map((t=>callFormatItem(u.styleSubcommandTerm(u.subcommandTerm(t)),u.styleSubcommandDescription(u.subcommandDescription(t)))));g=g.concat(this.formatItemList(p,m,u))}));return g.join("\n")}displayWidth(t){return stripColor(t).length}styleTitle(t){return t}styleUsage(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t==="[command]")return this.styleSubcommandText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleCommandText(t)})).join(" ")}styleCommandDescription(t){return this.styleDescriptionText(t)}styleOptionDescription(t){return this.styleDescriptionText(t)}styleSubcommandDescription(t){return this.styleDescriptionText(t)}styleArgumentDescription(t){return this.styleDescriptionText(t)}styleDescriptionText(t){return t}styleOptionTerm(t){return this.styleOptionText(t)}styleSubcommandTerm(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleSubcommandText(t)})).join(" ")}styleArgumentTerm(t){return this.styleArgumentText(t)}styleOptionText(t){return t}styleArgumentText(t){return t}styleSubcommandText(t){return t}styleCommandText(t){return t}padWidth(t,u){return Math.max(u.longestOptionTermLength(t,u),u.longestGlobalOptionTermLength(t,u),u.longestSubcommandTermLength(t,u),u.longestArgumentTermLength(t,u))}preformatted(t){return/\n[^\S\r\n]/.test(t)}formatItem(t,u,p,m){const g=2;const y=" ".repeat(g);if(!p)return y+t;const v=t.padEnd(u+t.length-m.displayWidth(t));const b=2;const w=this.helpWidth??80;const E=w-u-b-g;let $;if(E<this.minWidthToWrap||m.preformatted(p)){$=p}else{const t=m.boxWrap(p,E);$=t.replace(/\n/g,"\n"+" ".repeat(u+b))}return y+v+" ".repeat(b)+$.replace(/\n/g,`\n${y}`)}boxWrap(t,u){if(u<this.minWidthToWrap)return t;const p=t.split(/\r\n|\n/);const m=/[\s]*[^\s]+/g;const g=[];p.forEach((t=>{const p=t.match(m);if(p===null){g.push("");return}let y=[p.shift()];let v=this.displayWidth(y[0]);p.forEach((t=>{const p=this.displayWidth(t);if(v+p<=u){y.push(t);v+=p;return}g.push(y.join(""));const m=t.trimStart();y=[m];v=this.displayWidth(m)}));g.push(y.join(""))}));return g.join("\n")}}function stripColor(t){const u=/\x1b\[\d*(;\d*)*m/g;return t.replace(u,"")}u.Help=Help;u.stripColor=stripColor},1033:(t,u,p)=>{const{InvalidArgumentError:m}=p(9400);class Option{constructor(t,u){this.flags=t;this.description=u||"";this.required=t.includes("<");this.optional=t.includes("[");this.variadic=/\w\.\.\.[>\]]$/.test(t);this.mandatory=false;const p=splitOptionFlags(t);this.short=p.shortFlag;this.long=p.longFlag;this.negate=false;if(this.long){this.negate=this.long.startsWith("--no-")}this.defaultValue=undefined;this.defaultValueDescription=undefined;this.presetArg=undefined;this.envVar=undefined;this.parseArg=undefined;this.hidden=false;this.argChoices=undefined;this.conflictsWith=[];this.implied=undefined;this.helpGroupHeading=undefined}default(t,u){this.defaultValue=t;this.defaultValueDescription=u;return this}preset(t){this.presetArg=t;return this}conflicts(t){this.conflictsWith=this.conflictsWith.concat(t);return this}implies(t){let u=t;if(typeof t==="string"){u={[t]:true}}this.implied=Object.assign(this.implied||{},u);return this}env(t){this.envVar=t;return this}argParser(t){this.parseArg=t;return this}makeOptionMandatory(t=true){this.mandatory=!!t;return this}hideHelp(t=true){this.hidden=!!t;return this}_collectValue(t,u){if(u===this.defaultValue||!Array.isArray(u)){return[t]}u.push(t);return u}choices(t){this.argChoices=t.slice();this.parseArg=(t,u)=>{if(!this.argChoices.includes(t)){throw new m(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._collectValue(t,u)}return t};return this}name(){if(this.long){return this.long.replace(/^--/,"")}return this.short.replace(/^-/,"")}attributeName(){if(this.negate){return camelcase(this.name().replace(/^no-/,""))}return camelcase(this.name())}helpGroup(t){this.helpGroupHeading=t;return this}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class DualOptions{constructor(t){this.positiveOptions=new Map;this.negativeOptions=new Map;this.dualOptions=new Set;t.forEach((t=>{if(t.negate){this.negativeOptions.set(t.attributeName(),t)}else{this.positiveOptions.set(t.attributeName(),t)}}));this.negativeOptions.forEach(((t,u)=>{if(this.positiveOptions.has(u)){this.dualOptions.add(u)}}))}valueFromOption(t,u){const p=u.attributeName();if(!this.dualOptions.has(p))return true;const m=this.negativeOptions.get(p).presetArg;const g=m!==undefined?m:false;return u.negate===(g===t)}}function camelcase(t){return t.split("-").reduce(((t,u)=>t+u[0].toUpperCase()+u.slice(1)))}function splitOptionFlags(t){let u;let p;const m=/^-[^-]$/;const g=/^--[^-]/;const y=t.split(/[ |,]+/).concat("guard");if(m.test(y[0]))u=y.shift();if(g.test(y[0]))p=y.shift();if(!u&&m.test(y[0]))u=y.shift();if(!u&&g.test(y[0])){u=p;p=y.shift()}if(y[0].startsWith("-")){const u=y[0];const p=`option creation failed due to '${u}' in option flags '${t}'`;if(/^-[^-][^-]/.test(u))throw new Error(`${p}\n- a short flag is a single dash and a single character\n - either use a single dash and a single character (for a short flag)\n - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(m.test(u))throw new Error(`${p}\n- too many short flags`);if(g.test(u))throw new Error(`${p}\n- too many long flags`);throw new Error(`${p}\n- unrecognised flag format`)}if(u===undefined&&p===undefined)throw new Error(`option creation failed due to no flags found in '${t}'.`);return{shortFlag:u,longFlag:p}}u.Option=Option;u.DualOptions=DualOptions},3683:(t,u)=>{const p=3;function editDistance(t,u){if(Math.abs(t.length-u.length)>p)return Math.max(t.length,u.length);const m=[];for(let u=0;u<=t.length;u++){m[u]=[u]}for(let t=0;t<=u.length;t++){m[0][t]=t}for(let p=1;p<=u.length;p++){for(let g=1;g<=t.length;g++){let y=1;if(t[g-1]===u[p-1]){y=0}else{y=1}m[g][p]=Math.min(m[g-1][p]+1,m[g][p-1]+1,m[g-1][p-1]+y);if(g>1&&p>1&&t[g-1]===u[p-2]&&t[g-2]===u[p-1]){m[g][p]=Math.min(m[g][p],m[g-2][p-2]+1)}}}return m[t.length][u.length]}function suggestSimilar(t,u){if(!u||u.length===0)return"";u=Array.from(new Set(u));const m=t.startsWith("--");if(m){t=t.slice(2);u=u.map((t=>t.slice(2)))}let g=[];let y=p;const v=.4;u.forEach((u=>{if(u.length<=1)return;const p=editDistance(t,u);const m=Math.max(t.length,u.length);const b=(m-p)/m;if(b>v){if(p<y){y=p;g=[u]}else if(p===y){g.push(u)}}}));g.sort(((t,u)=>t.localeCompare(u)));if(m){g=g.map((t=>`--${t}`))}if(g.length>1){return`\n(Did you mean one of ${g.join(", ")}?)`}if(g.length===1){return`\n(Did you mean ${g[0]}?)`}return""}u.suggestSimilar=suggestSimilar},6674:(t,u,p)=>{"use strict";const{normalizeIPv6:m,removeDotSegments:g,recomposeAuthority:y,normalizePercentEncoding:v,normalizePathEncoding:b,escapePreservingEscapes:w,reescapeHostDelimiters:E,isIPv4:$,nonSimpleDomain:O}=p(8279);const{SCHEMES:R,getSchemeHandler:P}=p(9886);function normalize(t,u){if(typeof t==="string"){t=normalizeString(t,u)}else if(typeof t==="object"){t=parse(serialize(t,u),u)}return t}function resolve(t,u,p){const m=p?Object.assign({scheme:"null"},p):{scheme:"null"};const g=resolveComponent(parse(t,m),parse(u,m),m,true);m.skipEscape=true;return serialize(g,m)}function resolveComponent(t,u,p,m){const y={};if(!m){t=parse(serialize(t,p),p);u=parse(serialize(u,p),p)}p=p||{};if(!p.tolerant&&u.scheme){y.scheme=u.scheme;y.userinfo=u.userinfo;y.host=u.host;y.port=u.port;y.path=g(u.path||"");y.query=u.query}else{if(u.userinfo!==undefined||u.host!==undefined||u.port!==undefined){y.userinfo=u.userinfo;y.host=u.host;y.port=u.port;y.path=g(u.path||"");y.query=u.query}else{if(!u.path){y.path=t.path;if(u.query!==undefined){y.query=u.query}else{y.query=t.query}}else{if(u.path[0]==="/"){y.path=g(u.path)}else{if((t.userinfo!==undefined||t.host!==undefined||t.port!==undefined)&&!t.path){y.path="/"+u.path}else if(!t.path){y.path=u.path}else{y.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+u.path}y.path=g(y.path)}y.query=u.query}y.userinfo=t.userinfo;y.host=t.host;y.port=t.port}y.scheme=t.scheme}y.fragment=u.fragment;return y}function equal(t,u,p){const m=normalizeComparableURI(t,p);const g=normalizeComparableURI(u,p);return m!==undefined&&g!==undefined&&m.toLowerCase()===g.toLowerCase()}function serialize(t,u){const p={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""};const m=Object.assign({},u);const b=[];const E=P(m.scheme||p.scheme);if(E&&E.serialize)E.serialize(p,m);if(p.path!==undefined){if(!m.skipEscape){p.path=w(p.path);if(p.scheme!==undefined){p.path=p.path.split("%3A").join(":")}}else{p.path=v(p.path)}}if(m.reference!=="suffix"&&p.scheme){b.push(p.scheme,":")}const $=y(p);if($!==undefined){if(m.reference!=="suffix"){b.push("//")}b.push($);if(p.path&&p.path[0]!=="/"){b.push("/")}}if(p.path!==undefined){let t=p.path;if(!m.absolutePath&&(!E||!E.absolutePath)){t=g(t)}if($===undefined&&t[0]==="/"&&t[1]==="/"){t="/%2F"+t.slice(2)}b.push(t)}if(p.query!==undefined){b.push("?",p.query)}if(p.fragment!==undefined){b.push("#",p.fragment)}return b.join("")}const A=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function getParseError(t,u){if(u[2]!==undefined&&t.path&&t.path[0]!=="/"){return'URI path must start with "/" when authority is present.'}if(typeof t.port==="number"&&(t.port<0||t.port>65535)){return"URI port is malformed."}return undefined}function parseWithStatus(t,u){const p=Object.assign({},u);const g={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};let y=false;let v=false;if(p.reference==="suffix"){if(p.scheme){t=p.scheme+":"+t}else{t="//"+t}}const w=t.match(A);if(w){g.scheme=w[1];g.userinfo=w[3];g.host=w[4];g.port=parseInt(w[5],10);g.path=w[6]||"";g.query=w[7];g.fragment=w[8];if(isNaN(g.port)){g.port=w[5]}const u=getParseError(g,w);if(u!==undefined){g.error=g.error||u;y=true}if(g.host){const t=$(g.host);if(t===false){const t=m(g.host);g.host=t.host.toLowerCase();v=t.isIPV6}else{v=true}}if(g.scheme===undefined&&g.userinfo===undefined&&g.host===undefined&&g.port===undefined&&g.query===undefined&&!g.path){g.reference="same-document"}else if(g.scheme===undefined){g.reference="relative"}else if(g.fragment===undefined){g.reference="absolute"}else{g.reference="uri"}if(p.reference&&p.reference!=="suffix"&&p.reference!==g.reference){g.error=g.error||"URI is not a "+p.reference+" reference."}const R=P(p.scheme||g.scheme);if(!p.unicodeSupport&&(!R||!R.unicodeSupport)){if(g.host&&(p.domainHost||R&&R.domainHost)&&v===false&&O(g.host)){try{g.host=URL.domainToASCII(g.host.toLowerCase())}catch(t){g.error=g.error||"Host's domain name can not be converted to ASCII: "+t}}}if(!R||R&&!R.skipNormalize){if(t.indexOf("%")!==-1){if(g.scheme!==undefined){g.scheme=unescape(g.scheme)}if(g.host!==undefined){g.host=E(unescape(g.host),v)}}if(g.path){g.path=b(g.path)}if(g.fragment){try{g.fragment=encodeURI(decodeURIComponent(g.fragment))}catch{g.error=g.error||"URI malformed"}}}if(R&&R.parse){R.parse(g,p)}}else{g.error=g.error||"URI can not be parsed."}return{parsed:g,malformedAuthorityOrPort:y}}function parse(t,u){return parseWithStatus(t,u).parsed}function normalizeString(t,u){return normalizeStringWithStatus(t,u).normalized}function normalizeStringWithStatus(t,u){const{parsed:p,malformedAuthorityOrPort:m}=parseWithStatus(t,u);return{normalized:m?t:serialize(p,u),malformedAuthorityOrPort:m}}function normalizeComparableURI(t,u){if(typeof t==="string"){const{normalized:p,malformedAuthorityOrPort:m}=normalizeStringWithStatus(t,u);return m?undefined:p}if(typeof t==="object"){return serialize(t,u)}}const x={SCHEMES:R,normalize:normalize,resolve:resolve,resolveComponent:resolveComponent,equal:equal,serialize:serialize,parse:parse};t.exports=x;t.exports["default"]=x;t.exports.fastUri=x},9886:(t,u,p)=>{"use strict";const{isUUID:m}=p(8279);const g=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;const y=["http","https","ws","wss","urn","urn:uuid"];function isValidSchemeName(t){return y.indexOf(t)!==-1}function wsIsSecure(t){if(t.secure===true){return true}else if(t.secure===false){return false}else if(t.scheme){return t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S")}else{return false}}function httpParse(t){if(!t.host){t.error=t.error||"HTTP URIs must have a host."}return t}function httpSerialize(t){const u=String(t.scheme).toLowerCase()==="https";if(t.port===(u?443:80)||t.port===""){t.port=undefined}if(!t.path){t.path="/"}return t}function wsParse(t){t.secure=wsIsSecure(t);t.resourceName=(t.path||"/")+(t.query?"?"+t.query:"");t.path=undefined;t.query=undefined;return t}function wsSerialize(t){if(t.port===(wsIsSecure(t)?443:80)||t.port===""){t.port=undefined}if(typeof t.secure==="boolean"){t.scheme=t.secure?"wss":"ws";t.secure=undefined}if(t.resourceName){const[u,p]=t.resourceName.split("?");t.path=u&&u!=="/"?u:undefined;t.query=p;t.resourceName=undefined}t.fragment=undefined;return t}function urnParse(t,u){if(!t.path){t.error="URN can not be parsed";return t}const p=t.path.match(g);if(p){const m=u.scheme||t.scheme||"urn";t.nid=p[1].toLowerCase();t.nss=p[2];const g=`${m}:${u.nid||t.nid}`;const y=getSchemeHandler(g);t.path=undefined;if(y){t=y.parse(t,u)}}else{t.error=t.error||"URN can not be parsed."}return t}function urnSerialize(t,u){if(t.nid===undefined){throw new Error("URN without nid cannot be serialized")}const p=u.scheme||t.scheme||"urn";const m=t.nid.toLowerCase();const g=`${p}:${u.nid||m}`;const y=getSchemeHandler(g);if(y){t=y.serialize(t,u)}const v=t;const b=t.nss;v.path=`${m||u.nid}:${b}`;u.skipEscape=true;return v}function urnuuidParse(t,u){const p=t;p.uuid=p.nss;p.nss=undefined;if(!u.tolerant&&(!p.uuid||!m(p.uuid))){p.error=p.error||"UUID is not valid."}return p}function urnuuidSerialize(t){const u=t;u.nss=(t.uuid||"").toLowerCase();return u}const v={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const b={scheme:"https",domainHost:v.domainHost,parse:httpParse,serialize:httpSerialize};const w={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const E={scheme:"wss",domainHost:w.domainHost,parse:w.parse,serialize:w.serialize};const $={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const O={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const R={http:v,https:b,ws:w,wss:E,urn:$,"urn:uuid":O};Object.setPrototypeOf(R,null);function getSchemeHandler(t){return t&&(R[t]||R[t.toLowerCase()])||undefined}t.exports={wsIsSecure:wsIsSecure,SCHEMES:R,isValidSchemeName:isValidSchemeName,getSchemeHandler:getSchemeHandler}},8279:t=>{"use strict";const u=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);const p=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);const m=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);const g=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);const y=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function stringArrayToHexStripped(t){let u="";let p=0;let m=0;for(m=0;m<t.length;m++){p=t[m].charCodeAt(0);if(p===48){continue}if(!(p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102)){return""}u+=t[m];break}for(m+=1;m<t.length;m++){p=t[m].charCodeAt(0);if(!(p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102)){return""}u+=t[m]}return u}const v=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function consumeIsZone(t){t.length=0;return true}function consumeHextets(t,u,p){if(t.length){const m=stringArrayToHexStripped(t);if(m!==""){u.push(m)}else{p.error=true;return false}t.length=0}return true}function getIPV6(t){let u=0;const p={error:false,address:"",zone:""};const m=[];const g=[];let y=false;let v=false;let b=consumeHextets;for(let w=0;w<t.length;w++){const E=t[w];if(E==="["||E==="]"){continue}if(E===":"){if(y===true){v=true}if(!b(g,m,p)){break}if(++u>7){p.error=true;break}if(w>0&&t[w-1]===":"){y=true}m.push(":");continue}else if(E==="%"){if(!b(g,m,p)){break}b=consumeIsZone}else{g.push(E);continue}}if(g.length){if(b===consumeIsZone){p.zone=g.join("")}else if(v){m.push(g.join(""))}else{m.push(stringArrayToHexStripped(g))}}p.address=m.join("");return p}function normalizeIPv6(t){if(findToken(t,":")<2){return{host:t,isIPV6:false}}const u=getIPV6(t);if(!u.error){let t=u.address;let p=u.address;if(u.zone){t+="%"+u.zone;p+="%25"+u.zone}return{host:t,isIPV6:true,escapedHost:p}}else{return{host:t,isIPV6:false}}}function findToken(t,u){let p=0;for(let m=0;m<t.length;m++){if(t[m]===u)p++}return p}function removeDotSegments(t){let u=t;const p=[];let m=-1;let g=0;while(g=u.length){if(g===1){if(u==="."){break}else if(u==="/"){p.push("/");break}else{p.push(u);break}}else if(g===2){if(u[0]==="."){if(u[1]==="."){break}else if(u[1]==="/"){u=u.slice(2);continue}}else if(u[0]==="/"){if(u[1]==="."||u[1]==="/"){p.push("/");break}}}else if(g===3){if(u==="/.."){if(p.length!==0){p.pop()}p.push("/");break}}if(u[0]==="."){if(u[1]==="."){if(u[2]==="/"){u=u.slice(3);continue}}else if(u[1]==="/"){u=u.slice(2);continue}}else if(u[0]==="/"){if(u[1]==="."){if(u[2]==="/"){u=u.slice(2);continue}else if(u[2]==="."){if(u[3]==="/"){u=u.slice(3);if(p.length!==0){p.pop()}continue}}}}if((m=u.indexOf("/",1))===-1){p.push(u);break}else{p.push(u.slice(0,m));u=u.slice(m)}}return p.join("")}const b={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"};const w=/[@/?#:]/g;const E=/[@/?#]/g;function reescapeHostDelimiters(t,u){const p=u?E:w;p.lastIndex=0;return t.replace(p,(t=>b[t]))}function normalizePercentEncoding(t,u=false){if(t.indexOf("%")===-1){return t}let p="";for(let y=0;y<t.length;y++){if(t[y]==="%"&&y+2<t.length){const v=t.slice(y+1,y+3);if(m(v)){const t=v.toUpperCase();const m=String.fromCharCode(parseInt(t,16));if(u&&g(m)){p+=m}else{p+="%"+t}y+=2;continue}}p+=t[y]}return p}function normalizePathEncoding(t){let u="";for(let p=0;p<t.length;p++){if(t[p]==="%"&&p+2<t.length){const y=t.slice(p+1,p+3);if(m(y)){const t=y.toUpperCase();const m=String.fromCharCode(parseInt(t,16));if(m!=="."&&g(m)){u+=m}else{u+="%"+t}p+=2;continue}}if(y(t[p])){u+=t[p]}else{u+=escape(t[p])}}return u}function escapePreservingEscapes(t){let u="";for(let p=0;p<t.length;p++){if(t[p]==="%"&&p+2<t.length){const g=t.slice(p+1,p+3);if(m(g)){u+="%"+g.toUpperCase();p+=2;continue}}u+=escape(t[p])}return u}function recomposeAuthority(t){const u=[];if(t.userinfo!==undefined){u.push(t.userinfo);u.push("@")}if(t.host!==undefined){let m=unescape(t.host);if(!p(m)){const t=normalizeIPv6(m);if(t.isIPV6===true){m=`[${t.escapedHost}]`}else{m=reescapeHostDelimiters(m,false)}}u.push(m)}if(typeof t.port==="number"||typeof t.port==="string"){u.push(":");u.push(String(t.port))}return u.length?u.join(""):undefined}t.exports={nonSimpleDomain:v,recomposeAuthority:recomposeAuthority,reescapeHostDelimiters:reescapeHostDelimiters,normalizePercentEncoding:normalizePercentEncoding,normalizePathEncoding:normalizePathEncoding,escapePreservingEscapes:escapePreservingEscapes,removeDotSegments:removeDotSegments,isIPv4:p,isUUID:u,normalizeIPv6:normalizeIPv6,stringArrayToHexStripped:stringArrayToHexStripped}},1453:t=>{"use strict";t.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},6640:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},8578:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},5958:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},8732:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},2059:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},3179:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},6506:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},8350:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},9199:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},7028:t=>{"use strict";t.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Alpic","constant":"ALPIC","env":"ALPIC_HOST"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE","pr":{"env":"AC_GIT_PR","ne":"false"}},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN","pr":{"env":"CODEBUILD_WEBHOOK_EVENT","any":["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Cloudflare Pages","constant":"CLOUDFLARE_PAGES","env":"CF_PAGES"},{"name":"Cloudflare Workers","constant":"CLOUDFLARE_WORKERS","env":"WORKERS_CI"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')},6737:t=>{"use strict";t.exports=JSON.parse('["_http_agent","_http_client","_http_common","_http_incoming","_http_outgoing","_http_server","_stream_duplex","_stream_passthrough","_stream_readable","_stream_transform","_stream_wrap","_stream_writable","_tls_common","_tls_wrap","assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","http2","https","inspector","inspector/promises","module","net","os","path","path/posix","path/win32","perf_hooks","process","punycode","querystring","readline","readline/promises","repl","stream","stream/consumers","stream/promises","stream/web","string_decoder","sys","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib","node:sea","node:sqlite","node:test","node:test/reporters"]')}};var u={};function __nccwpck_require__(p){var m=u[p];if(m!==undefined){return m.exports}var g=u[p]={exports:{}};var y=true;try{t[p](g,g.exports,__nccwpck_require__);y=false}finally{if(y)delete u[p]}return g.exports}(()=>{__nccwpck_require__.n=t=>{var u=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(u,{a:u});return u}})();(()=>{var t=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;var u;__nccwpck_require__.t=function(p,m){if(m&1)p=this(p);if(m&8)return p;if(typeof p==="object"&&p){if(m&4&&p.__esModule)return p;if(m&16&&typeof p.then==="function")return p}var g=Object.create(null);__nccwpck_require__.r(g);var y={};u=u||[null,t({}),t([]),t(t)];for(var v=m&2&&p;typeof v=="object"&&!~u.indexOf(v);v=t(v)){Object.getOwnPropertyNames(v).forEach((t=>y[t]=()=>p[t]))}y["default"]=()=>p;__nccwpck_require__.d(g,y);return g}})();(()=>{__nccwpck_require__.d=(t,u)=>{for(var p in u){if(__nccwpck_require__.o(u,p)&&!__nccwpck_require__.o(t,p)){Object.defineProperty(t,p,{enumerable:true,get:u[p]})}}}})();(()=>{__nccwpck_require__.o=(t,u)=>Object.prototype.hasOwnProperty.call(t,u)})();(()=>{__nccwpck_require__.r=t=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(t,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var p={};(()=>{"use strict";var t=__nccwpck_require__(3024);var u=__nccwpck_require__(6760);var p=__nccwpck_require__.n(u);var m=__nccwpck_require__(4732);var g=__nccwpck_require__.n(m);var y=__nccwpck_require__(206);const{DM:v,gu:b,er:w,Ww:E,b7:$,Di:O,a2:R,uB:P,ef:A,c$:x,_V:T}=y;const C=require("node:util");var k=__nccwpck_require__(1708);const I=require("node:crypto");const N=require("node:assert");const isObject=t=>{const u=typeof t;return t!==null&&(u==="object"||u==="function")};const isEmptyObject=t=>{if(!isObject(t)){return false}for(const u in t){if(Object.hasOwn(t,u)){return false}}return true};const D=new Set(["__proto__","prototype","constructor"]);const L=1e6;const isDigit=t=>t>="0"&&t<="9";function shouldCoerceToNumber(t){if(t==="0"){return true}if(/^[1-9]\d*$/.test(t)){const u=Number.parseInt(t,10);return u<=Number.MAX_SAFE_INTEGER&&u<=L}return false}function processSegment(t,u){if(D.has(t)){return false}if(t&&shouldCoerceToNumber(t)){u.push(Number.parseInt(t,10))}else{u.push(t)}return true}function parsePath(t){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}const u=[];let p="";let m="start";let g=false;let y=0;for(const v of t){y++;if(g){p+=v;g=false;continue}if(v==="\\"){if(m==="index"){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){throw new Error(`Invalid character '${v}' after an index at position ${y}`)}g=true;m=m==="start"?"property":m;continue}switch(v){case".":{if(m==="index"){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){m="property";break}if(!processSegment(p,u)){return[]}p="";m="property";break}case"[":{if(m==="index"){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){m="index";break}if(m==="property"||m==="start"){if((p||m==="property")&&!processSegment(p,u)){return[]}p=""}m="index";break}case"]":{if(m==="index"){if(p===""){const t=u.pop()||"";p=t+"[]";m="property"}else{const t=Number.parseInt(p,10);const g=!Number.isNaN(t)&&Number.isFinite(t)&&t>=0&&t<=Number.MAX_SAFE_INTEGER&&t<=L&&p===String(t);if(g){u.push(t)}else{u.push(p)}p="";m="indexEnd"}break}if(m==="indexEnd"){throw new Error(`Invalid character '${v}' after an index at position ${y}`)}p+=v;break}default:{if(m==="index"&&!isDigit(v)){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){throw new Error(`Invalid character '${v}' after an index at position ${y}`)}if(m==="start"){m="property"}p+=v}}}if(g){p+="\\"}switch(m){case"property":{if(!processSegment(p,u)){return[]}break}case"index":{throw new Error("Index was not closed")}case"start":{u.push("");break}}return u}function normalizePath(t){if(typeof t==="string"){return parsePath(t)}if(Array.isArray(t)){const u=[];for(const[p,m]of t.entries()){if(typeof m!=="string"&&typeof m!=="number"){throw new TypeError(`Expected a string or number for path segment at index ${p}, got ${typeof m}`)}if(typeof m==="number"&&!Number.isFinite(m)){throw new TypeError(`Path segment at index ${p} must be a finite number, got ${m}`)}if(D.has(m)){return[]}if(typeof m==="string"&&shouldCoerceToNumber(m)){u.push(Number.parseInt(m,10))}else{u.push(m)}}return u}return[]}function getProperty(t,u,p){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return p===undefined?t:p}const m=normalizePath(u);if(m.length===0){return p}for(let u=0;u<m.length;u++){const g=m[u];t=t[g];if(t===undefined||t===null){if(u!==m.length-1){return p}break}}return t===undefined?p:t}function setProperty(t,u,p){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return t}const m=t;const g=normalizePath(u);if(g.length===0){return t}for(let u=0;u<g.length;u++){const m=g[u];if(u===g.length-1){t[m]=p}else if(!isObject(t[m])){const p=g[u+1];const y=typeof p==="number";t[m]=y?[]:{}}t=t[m]}return m}function deleteProperty(t,u){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return false}const p=normalizePath(u);if(p.length===0){return false}for(let u=0;u<p.length;u++){const m=p[u];if(u===p.length-1){const u=Object.hasOwn(t,m);if(!u){return false}delete t[m];return true}t=t[m];if(!isObject(t)){return false}}}function hasProperty(t,u){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return false}const p=normalizePath(u);if(p.length===0){return false}for(const u of p){if(!isObject(t)||!(u in t)){return false}t=t[u]}return true}function escapePath(t){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}return t.replaceAll(/[\\.[]/g,String.raw`\$&`)}function normalizeEntries(t){const u=Object.entries(t);if(Array.isArray(t)){return u.map((([t,u])=>{const p=shouldCoerceToNumber(t)?Number.parseInt(t,10):t;return[p,u]}))}return u}function stringifyPath(t,u={}){if(!Array.isArray(t)){throw new TypeError(`Expected an array, got ${typeof t}`)}const{preferDotForIndices:p=false}=u;const m=[];for(const[u,g]of t.entries()){if(typeof g!=="string"&&typeof g!=="number"){throw new TypeError(`Expected a string or number for path segment at index ${u}, got ${typeof g}`)}if(typeof g==="number"){if(!Number.isInteger(g)||g<0){const t=escapePath(String(g));m.push(u===0?t:`.${t}`)}else if(p&&u>0){m.push(`.${g}`)}else{m.push(`[${g}]`)}}else if(typeof g==="string"){if(g===""){if(u===0){}else{m.push(".")}}else if(shouldCoerceToNumber(g)){const t=Number.parseInt(g,10);if(p&&u>0){m.push(`.${t}`)}else{m.push(`[${t}]`)}}else{const t=escapePath(g);m.push(u===0?t:`.${t}`)}}}return m.join("")}function*deepKeysIterator(t,u=[],p=new Set){if(!isObject(t)||isEmptyObject(t)){if(u.length>0){yield stringifyPath(u)}return}if(p.has(t)){return}p.add(t);for(const[m,g]of normalizeEntries(t)){u.push(m);yield*deepKeysIterator(g,u,p);u.pop()}p.delete(t)}function deepKeys(t){return[...deepKeysIterator(t)]}function unflatten(t){const u={};if(!isObject(t)){return u}for(const[p,m]of Object.entries(t)){setProperty(u,p,m)}return u}const M=require("node:os");var j=__nccwpck_require__.n(M);const U=M.homedir();const B=M.tmpdir();const{env:H}=k;const macos=t=>{const p=u.join(U,"Library");return{data:u.join(p,"Application Support",t),config:u.join(p,"Preferences",t),cache:u.join(p,"Caches",t),log:u.join(p,"Logs",t),temp:u.join(B,t)}};const windows=t=>{const p=H.APPDATA||u.join(U,"AppData","Roaming");const m=H.LOCALAPPDATA||u.join(U,"AppData","Local");return{data:u.join(m,t,"Data"),config:u.join(p,t,"Config"),cache:u.join(m,t,"Cache"),log:u.join(m,t,"Log"),temp:u.join(B,t)}};const linux=t=>{const p=u.basename(U);return{data:u.join(H.XDG_DATA_HOME||u.join(U,".local","share"),t),config:u.join(H.XDG_CONFIG_HOME||u.join(U,".config"),t),cache:u.join(H.XDG_CACHE_HOME||u.join(U,".cache"),t),log:u.join(H.XDG_STATE_HOME||u.join(U,".local","state"),t),temp:u.join(B,p,t)}};function envPaths(t,{suffix:u="nodejs"}={}){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}if(u){t+=`-${u}`}if(k.platform==="darwin"){return macos(t)}if(k.platform==="win32"){return windows(t)}return linux(t)}var V=__nccwpck_require__(8474);const z=require("node:stream");const attemptifyAsync=(t,u)=>{const{onError:p}=u;return function attemptified(...u){return t.apply(undefined,u).catch(p)}};const G=attemptifyAsync;const attemptifySync=(t,u)=>{const{onError:p}=u;return function attemptified(...u){try{return t.apply(undefined,u)}catch(t){return p(t)}}};const W=attemptifySync;const q=250;const retryifyAsync=(t,u)=>{const{isRetriable:p}=u;return function retryified(u){const{timeout:m}=u;const g=u.interval??q;const y=Date.now()+m;return function attempt(...u){return t.apply(undefined,u).catch((t=>{if(!p(t))throw t;if(Date.now()>=y)throw t;const m=Math.round(g*Math.random());if(m>0){const t=new Promise((t=>setTimeout(t,m)));return t.then((()=>attempt.apply(undefined,u)))}else{return attempt.apply(undefined,u)}}))}}};const Y=retryifyAsync;const retryifySync=(t,u)=>{const{isRetriable:p}=u;return function retryified(u){const{timeout:m}=u;const g=Date.now()+m;return function attempt(...u){while(true){try{return t.apply(undefined,u)}catch(t){if(!p(t))throw t;if(Date.now()>=g)throw t;continue}}}}};const X=retryifySync;const Z={isChangeErrorOk:t=>{if(!Z.isNodeError(t))return false;const{code:u}=t;if(u==="ENOSYS")return true;if(!se&&(u==="EINVAL"||u==="EPERM"))return true;return false},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!Z.isNodeError(t))return false;const{code:u}=t;if(u==="EMFILE"||u==="ENFILE"||u==="EAGAIN"||u==="EBUSY"||u==="EACCESS"||u==="EACCES"||u==="EACCS"||u==="EPERM")return true;return false},onChangeError:t=>{if(!Z.isNodeError(t))throw t;if(Z.isChangeErrorOk(t))return;throw t}};const J=Z;const Q={onError:J.onChangeError};const ee={onError:()=>undefined};const se=k.getuid?!k.getuid():false;const ie={isRetriable:J.isRetriableError};const ne={attempt:{chmod:G((0,C.promisify)(t.chmod),Q),chown:G((0,C.promisify)(t.chown),Q),close:G((0,C.promisify)(t.close),ee),fsync:G((0,C.promisify)(t.fsync),ee),mkdir:G((0,C.promisify)(t.mkdir),ee),realpath:G((0,C.promisify)(t.realpath),ee),stat:G((0,C.promisify)(t.stat),ee),unlink:G((0,C.promisify)(t.unlink),ee),chmodSync:W(t.chmodSync,Q),chownSync:W(t.chownSync,Q),closeSync:W(t.closeSync,ee),existsSync:W(t.existsSync,ee),fsyncSync:W(t.fsync,ee),mkdirSync:W(t.mkdirSync,ee),realpathSync:W(t.realpathSync,ee),statSync:W(t.statSync,ee),unlinkSync:W(t.unlinkSync,ee)},retry:{close:Y((0,C.promisify)(t.close),ie),fsync:Y((0,C.promisify)(t.fsync),ie),open:Y((0,C.promisify)(t.open),ie),readFile:Y((0,C.promisify)(t.readFile),ie),rename:Y((0,C.promisify)(t.rename),ie),stat:Y((0,C.promisify)(t.stat),ie),write:Y((0,C.promisify)(t.write),ie),writeFile:Y((0,C.promisify)(t.writeFile),ie),closeSync:X(t.closeSync,ie),fsyncSync:X(t.fsyncSync,ie),openSync:X(t.openSync,ie),readFileSync:X(t.readFileSync,ie),renameSync:X(t.renameSync,ie),statSync:X(t.statSync,ie),writeSync:X(t.writeSync,ie),writeFileSync:X(t.writeFileSync,ie)}};const ae=ne;const le="utf8";const ue=438;const he=511;const de={};const fe={};const pe=k.geteuid?k.geteuid():-1;const me=k.getegid?k.getegid():-1;const ge=200;const ve=7500;const _e=1e3;const be=!!k.getuid;const we=k.getuid?!k.getuid():false;const Ee=128;const NOOP=()=>{};const lang_isException=t=>t instanceof Error&&"code"in t;const lang_isFunction=t=>typeof t==="function";const lang_isString=t=>typeof t==="string";const lang_isUndefined=t=>t===undefined;const Se={};const $e={next:t=>{const u=Se[t];if(!u)return;u.shift();const p=u[0];if(p){p((()=>$e.next(t)))}else{delete Se[t]}},schedule:t=>new Promise((u=>{let p=Se[t];if(!p)p=Se[t]=[];p.push(u);if(p.length>1)return;u((()=>$e.next(t)))}))};const Oe=null&&$e;const Re=k.platform==="linux";const Pe=k.platform==="win32";const Ae=["SIGHUP","SIGINT","SIGTERM"];if(!Pe){Ae.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(Re){Ae.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")}const xe=Ae;class Interceptor{constructor(){this.callbacks=new Set;this.exited=false;this.exit=t=>{if(this.exited)return;this.exited=true;for(const t of this.callbacks){t()}if(t){if(Pe&&(t!=="SIGINT"&&t!=="SIGTERM"&&t!=="SIGKILL")){k.kill(k.pid,"SIGTERM")}else{k.kill(k.pid,t)}}};this.hook=()=>{k.once("exit",(()=>this.exit()));for(const t of xe){try{k.once(t,(()=>this.exit(t)))}catch{}}};this.register=t=>{this.callbacks.add(t);return()=>{this.callbacks.delete(t)}};this.hook()}}const Te=new Interceptor;const Ce=Te.register;const ke=Ce;const Ie={store:{},create:t=>{const u=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6);const p=Date.now().toString().slice(-10);const m="tmp-";const g=`.${m}${p}${u}`;const y=`${t}${g}`;return y},get:(t,u,p=true)=>{const m=Ie.truncate(u(t));if(m in Ie.store)return Ie.get(t,u,p);Ie.store[m]=p;const disposer=()=>delete Ie.store[m];return[m,disposer]},purge:t=>{if(!Ie.store[t])return;delete Ie.store[t];ae.attempt.unlink(t)},purgeSync:t=>{if(!Ie.store[t])return;delete Ie.store[t];ae.attempt.unlinkSync(t)},purgeSyncAll:()=>{for(const t in Ie.store){Ie.purgeSync(t)}},truncate:t=>{const p=u.basename(t);if(p.length<=Ee)return t;const m=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(p);if(!m)return t;const g=p.length-Ee;return`${t.slice(0,-p.length)}${m[1]}${m[2].slice(0,-g)}${m[3]}`}};ke(Ie.purgeSyncAll);const Ne=Ie;function readFile(t,u=DEFAULT_READ_OPTIONS){if(isString(u))return readFile(t,{encoding:u});const p=u.timeout??DEFAULT_TIMEOUT_ASYNC;const m={timeout:p,interval:DEFAULT_INTERVAL_ASYNC};return fs.retry.readFile(m)(t,u)}function readFileSync(t,u=DEFAULT_READ_OPTIONS){if(isString(u))return readFileSync(t,{encoding:u});const p=u.timeout??DEFAULT_TIMEOUT_SYNC;const m={timeout:p};return fs.retry.readFileSync(m)(t,u)}function writeFile(t,u,p,m){if(isFunction(p))return writeFile(t,u,DEFAULT_WRITE_OPTIONS,p);const g=writeFileAsync(t,u,p);if(m)g.then(m,m);return g}async function writeFileAsync(t,u,p=DEFAULT_WRITE_OPTIONS){if(isString(p))return writeFileAsync(t,u,{encoding:p});const m=p.timeout??DEFAULT_TIMEOUT_ASYNC;const g={timeout:m,interval:DEFAULT_INTERVAL_ASYNC};let y=null;let v=null;let b=null;let w=null;let E=null;try{if(p.schedule)y=await p.schedule(t);v=await Scheduler.schedule(t);const m=await fs.attempt.realpath(t);const $=!!m;t=m||t;[w,b]=Temp.get(t,p.tmpCreate||Temp.create,!(p.tmpPurge===false));const O=IS_POSIX&&isUndefined(p.chown);const R=isUndefined(p.mode);if($&&(O||R)){const u=await fs.attempt.stat(t);if(u){p={...p};if(O){p.chown={uid:u.uid,gid:u.gid}}if(R){p.mode=u.mode}}}if(!$){const u=path.dirname(t);await fs.attempt.mkdir(u,{mode:DEFAULT_FOLDER_MODE,recursive:true})}E=await fs.retry.open(g)(w,"w",p.mode||DEFAULT_FILE_MODE);if(p.tmpCreated){p.tmpCreated(w)}if(isString(u)){await fs.retry.write(g)(E,u,0,p.encoding||DEFAULT_ENCODING)}else if(u instanceof Readable){const t=createWriteStream(w,{fd:E,autoClose:false});const p=once(t,"finish");u.pipe(t);await p}else if(!isUndefined(u)){await fs.retry.write(g)(E,u,0,u.length,0)}if(p.fsync!==false){if(p.fsyncWait!==false){await fs.retry.fsync(g)(E)}else{fs.attempt.fsync(E)}}await fs.retry.close(g)(E);E=null;if(p.chown&&(p.chown.uid!==DEFAULT_USER_UID||p.chown.gid!==DEFAULT_USER_GID)){await fs.attempt.chown(w,p.chown.uid,p.chown.gid)}if(p.mode&&p.mode!==DEFAULT_FILE_MODE){await fs.attempt.chmod(w,p.mode)}try{await fs.retry.rename(g)(w,t)}catch(u){if(!isException(u))throw u;if(u.code!=="ENAMETOOLONG")throw u;await fs.retry.rename(g)(w,Temp.truncate(t))}b();w=null}finally{if(E)await fs.attempt.close(E);if(w)Temp.purge(w);if(y)y();if(v)v()}}function writeFileSync(t,p,m=fe){if(lang_isString(m))return writeFileSync(t,p,{encoding:m});const g=m.timeout??_e;const y={timeout:g};let v=null;let b=null;let w=null;try{const g=ae.attempt.realpathSync(t);const E=!!g;t=g||t;[b,v]=Ne.get(t,m.tmpCreate||Ne.create,!(m.tmpPurge===false));const $=be&&lang_isUndefined(m.chown);const O=lang_isUndefined(m.mode);if(E&&($||O)){const u=ae.attempt.statSync(t);if(u){m={...m};if($){m.chown={uid:u.uid,gid:u.gid}}if(O){m.mode=u.mode}}}if(!E){const p=u.dirname(t);ae.attempt.mkdirSync(p,{mode:he,recursive:true})}w=ae.retry.openSync(y)(b,"w",m.mode||ue);if(m.tmpCreated){m.tmpCreated(b)}if(lang_isString(p)){ae.retry.writeSync(y)(w,p,0,m.encoding||le)}else if(!lang_isUndefined(p)){ae.retry.writeSync(y)(w,p,0,p.length,0)}if(m.fsync!==false){if(m.fsyncWait!==false){ae.retry.fsyncSync(y)(w)}else{ae.attempt.fsync(w)}}ae.retry.closeSync(y)(w);w=null;if(m.chown&&(m.chown.uid!==pe||m.chown.gid!==me)){ae.attempt.chownSync(b,m.chown.uid,m.chown.gid)}if(m.mode&&m.mode!==ue){ae.attempt.chmodSync(b,m.mode)}try{ae.retry.renameSync(y)(b,t)}catch(u){if(!lang_isException(u))throw u;if(u.code!=="ENAMETOOLONG")throw u;ae.retry.renameSync(y)(b,Ne.truncate(t))}v();b=null}finally{if(w)ae.attempt.closeSync(w);if(b)Ne.purge(b)}}var De=__nccwpck_require__(498);var Le=__nccwpck_require__(8302);const copyProperty=(t,u,p,m)=>{if(p==="length"||p==="prototype"){return}if(p==="arguments"||p==="caller"){return}const g=Object.getOwnPropertyDescriptor(t,p);const y=Object.getOwnPropertyDescriptor(u,p);if(!canCopyProperty(g,y)&&m){return}Object.defineProperty(t,p,y)};const canCopyProperty=function(t,u){return t===undefined||t.configurable||t.writable===u.writable&&t.enumerable===u.enumerable&&t.configurable===u.configurable&&(t.writable||t.value===u.value)};const changePrototype=(t,u)=>{const p=Object.getPrototypeOf(u);if(p===Object.getPrototypeOf(t)){return}Object.setPrototypeOf(t,p)};const wrappedToString=(t,u)=>`/* Wrapped ${t}*/\n${u}`;const Me=Object.getOwnPropertyDescriptor(Function.prototype,"toString");const je=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");const changeToString=(t,u,p)=>{const m=p===""?"":`with ${p.trim()}() `;const g=wrappedToString.bind(null,m,u.toString());Object.defineProperty(g,"name",je);const{writable:y,enumerable:v,configurable:b}=Me;Object.defineProperty(t,"toString",{value:g,writable:y,enumerable:v,configurable:b})};function mimicFunction(t,u,{ignoreNonConfigurable:p=false}={}){const{name:m}=t;for(const m of Reflect.ownKeys(u)){copyProperty(t,u,m,p)}changePrototype(t,u);changeToString(t,u,m);return t}const debounceFunction=(t,u={})=>{if(typeof t!=="function"){throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``)}const{wait:p=0,maxWait:m=Number.POSITIVE_INFINITY,before:g=false,after:y=true}=u;if(p<0||m<0){throw new RangeError("`wait` and `maxWait` must not be negative.")}if(!g&&!y){throw new Error("Both `before` and `after` are false, function wouldn't be called.")}let v;let b;let w;const debouncedFunction=function(...u){const E=this;const later=()=>{v=undefined;if(b){clearTimeout(b);b=undefined}if(y){w=t.apply(E,u)}};const maxLater=()=>{b=undefined;if(v){clearTimeout(v);v=undefined}if(y){w=t.apply(E,u)}};const $=g&&!v;clearTimeout(v);v=setTimeout(later,p);if(m>0&&m!==Number.POSITIVE_INFINITY&&!b){b=setTimeout(maxLater,m)}if($){w=t.apply(E,u)}return w};mimicFunction(debouncedFunction,t);debouncedFunction.cancel=()=>{if(v){clearTimeout(v);v=undefined}if(b){clearTimeout(b);b=undefined}};return debouncedFunction};const Fe=debounceFunction;var Ue=__nccwpck_require__(2766);const Be=Object.prototype.toString;const He="[object Uint8Array]";const Ve="[object ArrayBuffer]";function isType(t,u,p){if(!t){return false}if(t.constructor===u){return true}return Be.call(t)===p}function isUint8Array(t){return isType(t,Uint8Array,He)}function isArrayBuffer(t){return isType(t,ArrayBuffer,Ve)}function isUint8ArrayOrArrayBuffer(t){return isUint8Array(t)||isArrayBuffer(t)}function assertUint8Array(t){if(!isUint8Array(t)){throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof t}\``)}}function assertUint8ArrayOrArrayBuffer(t){if(!isUint8ArrayOrArrayBuffer(t)){throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}}function toUint8Array(t){if(t instanceof ArrayBuffer){return new Uint8Array(t)}if(ArrayBuffer.isView(t)){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}throw new TypeError(`Unsupported value, got \`${typeof t}\`.`)}function concatUint8Arrays(t,u){if(t.length===0){return new Uint8Array(0)}u??=t.reduce(((t,u)=>t+u.length),0);const p=new Uint8Array(u);let m=0;for(const u of t){assertUint8Array(u);p.set(u,m);m+=u.length}return p}function areUint8ArraysEqual(t,u){assertUint8Array(t);assertUint8Array(u);if(t===u){return true}if(t.length!==u.length){return false}for(let p=0;p<t.length;p++){if(t[p]!==u[p]){return false}}return true}function compareUint8Arrays(t,u){assertUint8Array(t);assertUint8Array(u);const p=Math.min(t.length,u.length);for(let m=0;m<p;m++){const p=t[m]-u[m];if(p!==0){return Math.sign(p)}}return Math.sign(t.length-u.length)}const ze={utf8:new globalThis.TextDecoder("utf8")};function uint8ArrayToString(t,u="utf8"){assertUint8ArrayOrArrayBuffer(t);ze[u]??=new globalThis.TextDecoder(u);return ze[u].decode(t)}function assertString(t){if(typeof t!=="string"){throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}}const Ge=new globalThis.TextEncoder;function stringToUint8Array(t){assertString(t);return Ge.encode(t)}function base64ToBase64Url(t){return t.replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function base64UrlToBase64(t){const u=t.replaceAll("-","+").replaceAll("_","/");const p=(4-u.length%4)%4;return u+"=".repeat(p)}const We=65535;function uint8ArrayToBase64(t,{urlSafe:u=false}={}){assertUint8Array(t);let p="";for(let u=0;u<t.length;u+=We){const m=t.subarray(u,u+We);p+=globalThis.btoa(String.fromCodePoint.apply(undefined,m))}return u?base64ToBase64Url(p):p}function base64ToUint8Array(t){assertString(t);return Uint8Array.from(globalThis.atob(base64UrlToBase64(t)),(t=>t.codePointAt(0)))}function stringToBase64(t,{urlSafe:u=false}={}){assertString(t);return uint8ArrayToBase64(stringToUint8Array(t),{urlSafe:u})}function base64ToString(t){assertString(t);return uint8ArrayToString(base64ToUint8Array(t))}const qe=Array.from({length:256},((t,u)=>u.toString(16).padStart(2,"0")));function uint8ArrayToHex(t){assertUint8Array(t);let u="";for(let p=0;p<t.length;p++){u+=qe[t[p]]}return u}const Ke={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function hexToUint8Array(t){assertString(t);if(t.length%2!==0){throw new Error("Invalid Hex string length.")}const u=t.length/2;const p=new Uint8Array(u);for(let m=0;m<u;m++){const u=Ke[t[m*2]];const g=Ke[t[m*2+1]];if(u===undefined||g===undefined){throw new Error(`Invalid Hex character encountered at position ${m*2}`)}p[m]=u<<4|g}return p}function getUintBE(t){const{byteLength:u}=t;if(u===6){return t.getUint16(0)*2**32+t.getUint32(2)}if(u===5){return t.getUint8(0)*2**32+t.getUint32(1)}if(u===4){return t.getUint32(0)}if(u===3){return t.getUint8(0)*2**16+t.getUint16(1)}if(u===2){return t.getUint16(0)}if(u===1){return t.getUint8(0)}}function indexOf(t,u){const p=t.length;const m=u.length;if(m===0){return-1}if(m>p){return-1}const g=p-m;for(let p=0;p<=g;p++){let g=true;for(let y=0;y<m;y++){if(t[p+y]!==u[y]){g=false;break}}if(g){return p}}return-1}function includes(t,u){return indexOf(t,u)!==-1}const Ye="aes-256-cbc";const Xe=new Set(["aes-256-cbc","aes-256-gcm","aes-256-ctr"]);const isSupportedEncryptionAlgorithm=t=>typeof t==="string"&&Xe.has(t);const createPlainObject=()=>Object.create(null);const isExist=t=>t!==undefined;const checkValueType=(t,u)=>{const p=new Set(["undefined","symbol","function"]);const m=typeof u;if(p.has(m)){throw new TypeError(`Setting a value of type \`${m}\` for key \`${t}\` is not allowed as it's not supported by JSON`)}};const Ze="__internal__";const Je=`${Ze}.migrations.version`;class Conf{path;events;#e;#t;#r;#s;#i={};#n=false;#o;#a;#c;constructor(t={}){const u=this.#l(t);this.#s=u;this.#u(u);this.#h(u);this.#d(u);this.events=new EventTarget;this.#t=u.encryptionKey;this.#r=u.encryptionAlgorithm??Ye;this.path=this.#f(u);this.#p(u);if(u.watch){this._watch()}}get(t,u){if(this.#s.accessPropertiesByDotNotation){return this._get(t,u)}const{store:p}=this;return t in p?p[t]:u}set(t,u){if(typeof t!=="string"&&typeof t!=="object"){throw new TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof t}`)}if(typeof t!=="object"&&u===undefined){throw new TypeError("Use `delete()` to clear values")}if(this._containsReservedKey(t)){throw new TypeError(`Please don't use the ${Ze} key, as it's used to manage this module internal operations.`)}const{store:p}=this;const set=(t,u)=>{checkValueType(t,u);if(this.#s.accessPropertiesByDotNotation){setProperty(p,t,u)}else{if(t==="__proto__"||t==="constructor"||t==="prototype"){return}p[t]=u}};if(typeof t==="object"){const u=t;for(const[t,p]of Object.entries(u)){set(t,p)}}else{set(t,u)}this.store=p}has(t){if(this.#s.accessPropertiesByDotNotation){return hasProperty(this.store,t)}return t in this.store}appendToArray(t,u){checkValueType(t,u);const p=this.#s.accessPropertiesByDotNotation?this._get(t,[]):t in this.store?this.store[t]:[];if(!Array.isArray(p)){throw new TypeError(`The key \`${t}\` is already set to a non-array value`)}this.set(t,[...p,u])}reset(...t){for(const u of t){if(isExist(this.#i[u])){this.set(u,this.#i[u])}}}delete(t){const{store:u}=this;if(this.#s.accessPropertiesByDotNotation){deleteProperty(u,t)}else{delete u[t]}this.store=u}clear(){const t=createPlainObject();for(const u of Object.keys(this.#i)){if(isExist(this.#i[u])){checkValueType(u,this.#i[u]);if(this.#s.accessPropertiesByDotNotation){setProperty(t,u,this.#i[u])}else{t[u]=this.#i[u]}}}this.store=t}onDidChange(t,u){if(typeof t!=="string"){throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof t}`)}if(typeof u!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof u}`)}return this._handleValueChange((()=>this.get(t)),u)}onDidAnyChange(t){if(typeof t!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof t}`)}return this._handleStoreChange(t)}get size(){const t=Object.keys(this.store);return t.filter((t=>!this._isReservedKeyPath(t))).length}get store(){try{const u=t.readFileSync(this.path,this.#t?null:"utf8");const p=this._decryptData(u);const parseStore=t=>{const u=this._deserialize(t);if(!this.#n){this._validate(u)}return Object.assign(createPlainObject(),u)};return parseStore(p)}catch(t){if(t?.code==="ENOENT"){this._ensureDirectory();return createPlainObject()}if(this.#s.clearInvalidConfig){const u=t;if(u.name==="SyntaxError"){return createPlainObject()}if(u.message?.startsWith("Config schema violation:")){return createPlainObject()}if(u.message==="Failed to decrypt config data."){return createPlainObject()}}throw t}}set store(u){this._ensureDirectory();if(!hasProperty(u,Ze)){try{const p=t.readFileSync(this.path,this.#t?null:"utf8");const m=this._decryptData(p);const g=this._deserialize(m);if(hasProperty(g,Ze)){setProperty(u,Ze,getProperty(g,Ze))}}catch{}}if(!this.#n){this._validate(u)}this._write(u);this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[t,u]of Object.entries(this.store)){if(!this._isReservedKeyPath(t)){yield[t,u]}}}_closeWatcher(){if(this.#o){this.#o.close();this.#o=undefined}if(this.#a){t.unwatchFile(this.path);this.#a=false}this.#c=undefined}_decryptData(t){const u=this.#t;if(!u){return typeof t==="string"?t:uint8ArrayToString(t)}const p=this.#r;const m=p==="aes-256-gcm"?16:0;const g=":".codePointAt(0);const y=typeof t==="string"?t.codePointAt(16):t[16];const v=g!==undefined&&y===g;if(!v){if(p==="aes-256-cbc"){return typeof t==="string"?t:uint8ArrayToString(t)}throw new Error("Failed to decrypt config data.")}const getEncryptedPayload=t=>{if(m===0){return{ciphertext:t}}const u=t.length-m;if(u<0){throw new Error("Invalid authentication tag length.")}return{ciphertext:t.slice(0,u),authenticationTag:t.slice(u)}};const b=t.slice(0,16);const w=t.slice(17);const E=typeof w==="string"?stringToUint8Array(w):w;const decrypt=t=>{const{ciphertext:m,authenticationTag:g}=getEncryptedPayload(E);const y=I.pbkdf2Sync(u,t,1e4,32,"sha512");const v=I.createDecipheriv(p,y,b);if(g){v.setAuthTag(g)}return uint8ArrayToString(concatUint8Arrays([v.update(m),v.final()]))};try{return decrypt(b)}catch{try{return decrypt(b.toString())}catch{}}if(p==="aes-256-cbc"){return typeof t==="string"?t:uint8ArrayToString(t)}throw new Error("Failed to decrypt config data.")}_handleStoreChange(t){let u=this.store;const onChange=()=>{const p=u;const m=this.store;if((0,C.isDeepStrictEqual)(m,p)){return}u=m;t.call(this,m,p)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_handleValueChange(t,u){let p=t();const onChange=()=>{const m=p;const g=t();if((0,C.isDeepStrictEqual)(g,m)){return}p=g;u.call(this,g,m)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_deserialize=t=>JSON.parse(t);_serialize=t=>JSON.stringify(t,undefined,"\t");_validate(t){if(!this.#e){return}const u=this.#e(t);if(u||!this.#e.errors){return}const p=this.#e.errors.map((({instancePath:t,message:u=""})=>`\`${t.slice(1)}\` ${u}`));throw new Error("Config schema violation: "+p.join("; "))}_ensureDirectory(){t.mkdirSync(u.dirname(this.path),{recursive:true})}_write(u){let p=this._serialize(u);const m=this.#t;if(m){const t=I.randomBytes(16);const u=I.pbkdf2Sync(m,t,1e4,32,"sha512");const g=I.createCipheriv(this.#r,u,t);const y=concatUint8Arrays([g.update(stringToUint8Array(p)),g.final()]);const v=[t,stringToUint8Array(":"),y];if(this.#r==="aes-256-gcm"){v.push(g.getAuthTag())}p=concatUint8Arrays(v)}if(k.env.SNAP){t.writeFileSync(this.path,p,{mode:this.#s.configFileMode})}else{try{writeFileSync(this.path,p,{mode:this.#s.configFileMode})}catch(u){if(u?.code==="EXDEV"){t.writeFileSync(this.path,p,{mode:this.#s.configFileMode});return}throw u}}}_watch(){this._ensureDirectory();if(!t.existsSync(this.path)){this._write(createPlainObject())}if(k.platform==="win32"||k.platform==="darwin"){this.#c??=Fe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:100});const p=u.dirname(this.path);const m=u.basename(this.path);this.#o=t.watch(p,{persistent:false,encoding:"utf8"},((t,u)=>{if(u&&u!==m){return}if(typeof this.#c==="function"){this.#c()}}))}else{this.#c??=Fe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:1e3});t.watchFile(this.path,{persistent:false},((t,u)=>{if(typeof this.#c==="function"){this.#c()}}));this.#a=true}}_migrate(t,u,p){let m=this._get(Je,"0.0.0");const g=Object.keys(t).filter((t=>this._shouldPerformMigration(t,m,u)));let y=structuredClone(this.store);for(const v of g){try{if(p){p(this,{fromVersion:m,toVersion:v,finalVersion:u,versions:g})}const b=t[v];b?.(this);this._set(Je,v);m=v;y=structuredClone(this.store)}catch(t){this.store=y;const u=t instanceof Error?t.message:String(t);throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${u}`)}}if(this._isVersionInRangeFormat(m)||!Ue.eq(m,u)){this._set(Je,u)}}_containsReservedKey(t){if(typeof t==="string"){return this._isReservedKeyPath(t)}if(!t||typeof t!=="object"){return false}return this._objectContainsReservedKey(t)}_objectContainsReservedKey(t){if(!t||typeof t!=="object"){return false}for(const[u,p]of Object.entries(t)){if(this._isReservedKeyPath(u)){return true}if(this._objectContainsReservedKey(p)){return true}}return false}_isReservedKeyPath(t){return t===Ze||t.startsWith(`${Ze}.`)}_isVersionInRangeFormat(t){return Ue.clean(t)===null}_shouldPerformMigration(t,u,p){if(this._isVersionInRangeFormat(t)){if(u!=="0.0.0"&&Ue.satisfies(u,t)){return false}return Ue.satisfies(p,t)}if(Ue.lte(t,u)){return false}if(Ue.gt(t,p)){return false}return true}_get(t,u){return getProperty(this.store,t,u)}_set(t,u){const{store:p}=this;setProperty(p,t,u);this.store=p}#l(t){const u={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:false,accessPropertiesByDotNotation:true,configFileMode:438,...t};u.encryptionAlgorithm??=Ye;if(!isSupportedEncryptionAlgorithm(u.encryptionAlgorithm)){throw new TypeError(`The \`encryptionAlgorithm\` option must be one of: ${[...Xe].join(", ")}`)}if(!u.cwd){if(!u.projectName){throw new Error("Please specify the `projectName` option.")}u.cwd=envPaths(u.projectName,{suffix:u.projectSuffix}).config}if(typeof u.fileExtension==="string"){u.fileExtension=u.fileExtension.replace(/^\.+/,"")}return u}#u(t){if(!(t.schema??t.ajvOptions??t.rootSchema)){return}if(t.schema&&typeof t.schema!=="object"){throw new TypeError("The `schema` option must be an object.")}const u=Le["default"];const p=new De.Ajv2020({allErrors:true,useDefaults:true,...t.ajvOptions});u(p);const m={...t.rootSchema,type:"object",properties:t.schema};this.#e=p.compile(m);this.#m(t.schema)}#m(t){const u=Object.entries(t??{});for(const[t,p]of u){if(!p||typeof p!=="object"){continue}if(!Object.hasOwn(p,"default")){continue}const{default:u}=p;if(u===undefined){continue}this.#i[t]=u}}#h(t){if(t.defaults){Object.assign(this.#i,t.defaults)}}#d(t){if(t.serialize){this._serialize=t.serialize}if(t.deserialize){this._deserialize=t.deserialize}}#f(t){const p=typeof t.fileExtension==="string"?t.fileExtension:undefined;const m=p?`.${p}`:"";return u.resolve(t.cwd,`${t.configName??"config"}${m}`)}#p(t){if(t.migrations){this.#g(t);this._validate(this.store);return}const u=this.store;const p=Object.assign(createPlainObject(),t.defaults??{},u);this._validate(p);try{N.deepEqual(u,p)}catch{this.store=p}}#g(t){const{migrations:u,projectVersion:p}=t;if(!u){return}if(!p){throw new Error("Please specify the `projectVersion` option.")}this.#n=true;try{const m=this.store;const g=Object.assign(createPlainObject(),t.defaults??{},m);try{N.deepEqual(m,g)}catch{this._write(g)}this._migrate(u,p,t.beforeEachMigration)}finally{this.#n=false}}}var Qe=__nccwpck_require__(6831);var et=__nccwpck_require__(8514);var tt=__nccwpck_require__.n(et);var rt=__nccwpck_require__(5059);var st=__nccwpck_require__.n(rt);var it=__nccwpck_require__(9642);var nt=__nccwpck_require__.n(it);const ot=require("node:stream/promises");var ct=__nccwpck_require__(4434);var ut=__nccwpck_require__(9896);const ht=require("node:string_decoder");var dt=__nccwpck_require__(6928);const ft=require("assert");var pt=__nccwpck_require__(181);const yt=require("zlib");var vt=__nccwpck_require__.t(yt,2);const _t=require("node:fs/promises");var bt=__nccwpck_require__.n(_t);var wt=Object.defineProperty;var Mr=(t,u)=>{for(var p in u)wt(t,p,{get:u[p],enumerable:!0})};var Et=typeof process=="object"&&process?process:{stdout:null,stderr:null},Pr=t=>!!t&&typeof t=="object"&&(t instanceof cr||t instanceof z||zr(t)||Ur(t)),zr=t=>!!t&&typeof t=="object"&&t instanceof V.EventEmitter&&typeof t.pipe=="function"&&t.pipe!==z.Writable.prototype.pipe,Ur=t=>!!t&&typeof t=="object"&&t instanceof V.EventEmitter&&typeof t.write=="function"&&typeof t.end=="function",St=Symbol("EOF"),$t=Symbol("maybeEmitEnd"),Ot=Symbol("emittedEnd"),Rt=Symbol("emittingEnd"),Pt=Symbol("emittedError"),At=Symbol("closed"),Tt=Symbol("read"),Ct=Symbol("flush"),kt=Symbol("flushChunk"),It=Symbol("encoding"),Dt=Symbol("decoder"),Mt=Symbol("flowing"),jt=Symbol("paused"),Ft=Symbol("resume"),Ut=Symbol("buffer"),Bt=Symbol("pipes"),Ht=Symbol("bufferLength"),Vt=Symbol("bufferPush"),zt=Symbol("bufferShift"),Gt=Symbol("objectMode"),Wt=Symbol("destroyed"),qt=Symbol("error"),Kt=Symbol("emitData"),Yt=Symbol("emitEnd"),Xt=Symbol("emitEnd2"),Zt=Symbol("async"),Jt=Symbol("abort"),Qt=Symbol("aborted"),er=Symbol("signal"),rr=Symbol("dataListeners"),sr=Symbol("discarded"),te=t=>Promise.resolve().then(t),Hr=t=>t(),Wr=t=>t==="end"||t==="finish"||t==="prefinish",Gr=t=>t instanceof ArrayBuffer||!!t&&typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Zr=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),ir=class{src;dest;opts;ondrain;constructor(t,u,p){this.src=t,this.dest=u,this.opts=p,this.ondrain=()=>t[Ft](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},nr=class extends ir{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,u,p){super(t,u,p),this.proxyErrors=t=>this.dest.emit("error",t),t.on("error",this.proxyErrors)}},Yr=t=>!!t.objectMode,Kr=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer",cr=class extends V.EventEmitter{[Mt]=!1;[jt]=!1;[Bt]=[];[Ut]=[];[Gt];[It];[Zt];[Dt];[St]=!1;[Ot]=!1;[Rt]=!1;[At]=!1;[Pt]=null;[Ht]=0;[Wt]=!1;[er];[Qt]=!1;[rr]=0;[sr]=!1;writable=!0;readable=!0;constructor(...t){let u=t[0]||{};if(super(),u.objectMode&&typeof u.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");Yr(u)?(this[Gt]=!0,this[It]=null):Kr(u)?(this[It]=u.encoding,this[Gt]=!1):(this[Gt]=!1,this[It]=null),this[Zt]=!!u.async,this[Dt]=this[It]?new ht.StringDecoder(this[It]):null,u&&u.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[Ut]}),u&&u.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[Bt]});let{signal:p}=u;p&&(this[er]=p,p.aborted?this[Jt]():p.addEventListener("abort",(()=>this[Jt]())))}get bufferLength(){return this[Ht]}get encoding(){return this[It]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Gt]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[Zt]}set async(t){this[Zt]=this[Zt]||!!t}[Jt](){this[Qt]=!0,this.emit("abort",this[er]?.reason),this.destroy(this[er]?.reason)}get aborted(){return this[Qt]}set aborted(t){}write(t,u,p){if(this[Qt])return!1;if(this[St])throw new Error("write after end");if(this[Wt])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof u=="function"&&(p=u,u="utf8"),u||(u="utf8");let m=this[Zt]?te:Hr;if(!this[Gt]&&!Buffer.isBuffer(t)){if(Zr(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(Gr(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Gt]?(this[Mt]&&this[Ht]!==0&&this[Ct](!0),this[Mt]?this.emit("data",t):this[Vt](t),this[Ht]!==0&&this.emit("readable"),p&&m(p),this[Mt]):t.length?(typeof t=="string"&&!(u===this[It]&&!this[Dt]?.lastNeed)&&(t=Buffer.from(t,u)),Buffer.isBuffer(t)&&this[It]&&(t=this[Dt].write(t)),this[Mt]&&this[Ht]!==0&&this[Ct](!0),this[Mt]?this.emit("data",t):this[Vt](t),this[Ht]!==0&&this.emit("readable"),p&&m(p),this[Mt]):(this[Ht]!==0&&this.emit("readable"),p&&m(p),this[Mt])}read(t){if(this[Wt])return null;if(this[sr]=!1,this[Ht]===0||t===0||t&&t>this[Ht])return this[$t](),null;this[Gt]&&(t=null),this[Ut].length>1&&!this[Gt]&&(this[Ut]=[this[It]?this[Ut].join(""):Buffer.concat(this[Ut],this[Ht])]);let u=this[Tt](t||null,this[Ut][0]);return this[$t](),u}[Tt](t,u){if(this[Gt])this[zt]();else{let p=u;t===p.length||t===null?this[zt]():typeof p=="string"?(this[Ut][0]=p.slice(t),u=p.slice(0,t),this[Ht]-=t):(this[Ut][0]=p.subarray(t),u=p.subarray(0,t),this[Ht]-=t)}return this.emit("data",u),!this[Ut].length&&!this[St]&&this.emit("drain"),u}end(t,u,p){return typeof t=="function"&&(p=t,t=void 0),typeof u=="function"&&(p=u,u="utf8"),t!==void 0&&this.write(t,u),p&&this.once("end",p),this[St]=!0,this.writable=!1,(this[Mt]||!this[jt])&&this[$t](),this}[Ft](){this[Wt]||(!this[rr]&&!this[Bt].length&&(this[sr]=!0),this[jt]=!1,this[Mt]=!0,this.emit("resume"),this[Ut].length?this[Ct]():this[St]?this[$t]():this.emit("drain"))}resume(){return this[Ft]()}pause(){this[Mt]=!1,this[jt]=!0,this[sr]=!1}get destroyed(){return this[Wt]}get flowing(){return this[Mt]}get paused(){return this[jt]}[Vt](t){this[Gt]?this[Ht]+=1:this[Ht]+=t.length,this[Ut].push(t)}[zt](){return this[Gt]?this[Ht]-=1:this[Ht]-=this[Ut][0].length,this[Ut].shift()}[Ct](t=!1){do{}while(this[kt](this[zt]())&&this[Ut].length);!t&&!this[Ut].length&&!this[St]&&this.emit("drain")}[kt](t){return this.emit("data",t),this[Mt]}pipe(t,u){if(this[Wt])return t;this[sr]=!1;let p=this[Ot];return u=u||{},t===Et.stdout||t===Et.stderr?u.end=!1:u.end=u.end!==!1,u.proxyErrors=!!u.proxyErrors,p?u.end&&t.end():(this[Bt].push(u.proxyErrors?new nr(this,t,u):new ir(this,t,u)),this[Zt]?te((()=>this[Ft]())):this[Ft]()),t}unpipe(t){let u=this[Bt].find((u=>u.dest===t));u&&(this[Bt].length===1?(this[Mt]&&this[rr]===0&&(this[Mt]=!1),this[Bt]=[]):this[Bt].splice(this[Bt].indexOf(u),1),u.unpipe())}addListener(t,u){return this.on(t,u)}on(t,u){let p=super.on(t,u);if(t==="data")this[sr]=!1,this[rr]++,!this[Bt].length&&!this[Mt]&&this[Ft]();else if(t==="readable"&&this[Ht]!==0)super.emit("readable");else if(Wr(t)&&this[Ot])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[Pt]){let t=u;this[Zt]?te((()=>t.call(this,this[Pt]))):t.call(this,this[Pt])}return p}removeListener(t,u){return this.off(t,u)}off(t,u){let p=super.off(t,u);return t==="data"&&(this[rr]=this.listeners("data").length,this[rr]===0&&!this[sr]&&!this[Bt].length&&(this[Mt]=!1)),p}removeAllListeners(t){let u=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[rr]=0,!this[sr]&&!this[Bt].length&&(this[Mt]=!1)),u}get emittedEnd(){return this[Ot]}[$t](){!this[Rt]&&!this[Ot]&&!this[Wt]&&this[Ut].length===0&&this[St]&&(this[Rt]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[At]&&this.emit("close"),this[Rt]=!1)}emit(t,...u){let p=u[0];if(t!=="error"&&t!=="close"&&t!==Wt&&this[Wt])return!1;if(t==="data")return!this[Gt]&&!p?!1:this[Zt]?(te((()=>this[Kt](p))),!0):this[Kt](p);if(t==="end")return this[Yt]();if(t==="close"){if(this[At]=!0,!this[Ot]&&!this[Wt])return!1;let t=super.emit("close");return this.removeAllListeners("close"),t}else if(t==="error"){this[Pt]=p,super.emit(qt,p);let t=!this[er]||this.listeners("error").length?super.emit("error",p):!1;return this[$t](),t}else if(t==="resume"){let t=super.emit("resume");return this[$t](),t}else if(t==="finish"||t==="prefinish"){let u=super.emit(t);return this.removeAllListeners(t),u}let m=super.emit(t,...u);return this[$t](),m}[Kt](t){for(let u of this[Bt])u.dest.write(t)===!1&&this.pause();let u=this[sr]?!1:super.emit("data",t);return this[$t](),u}[Yt](){return this[Ot]?!1:(this[Ot]=!0,this.readable=!1,this[Zt]?(te((()=>this[Xt]())),!0):this[Xt]())}[Xt](){if(this[Dt]){let t=this[Dt].end();if(t){for(let u of this[Bt])u.dest.write(t);this[sr]||super.emit("data",t)}}for(let t of this[Bt])t.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[Gt]||(t.dataLength=0);let u=this.promise();return this.on("data",(u=>{t.push(u),this[Gt]||(t.dataLength+=u.length)})),await u,t}async concat(){if(this[Gt])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[It]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,u)=>{this.on(Wt,(()=>u(new Error("stream destroyed")))),this.on("error",(t=>u(t))),this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[sr]=!1;let t=!1,e=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return e();let u=this.read();if(u!==null)return Promise.resolve({done:!1,value:u});if(this[St])return e();let p,m,h=t=>{this.off("data",a),this.off("end",l),this.off(Wt,c),e(),m(t)},a=t=>{this.off("error",h),this.off("end",l),this.off(Wt,c),this.pause(),p({value:t,done:!!this[St]})},l=()=>{this.off("error",h),this.off("data",a),this.off(Wt,c),e(),p({done:!0,value:void 0})},c=()=>h(new Error("stream destroyed"));return new Promise(((t,u)=>{m=u,p=t,this.once(Wt,c),this.once("error",h),this.once("end",l),this.once("data",a)}))},throw:e,return:e,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[sr]=!1;let t=!1,e=()=>(this.pause(),this.off(qt,e),this.off(Wt,e),this.off("end",e),t=!0,{done:!0,value:void 0}),i=()=>{if(t)return e();let u=this.read();return u===null?e():{done:!1,value:u}};return this.once("end",e),this.once(qt,e),this.once(Wt,e),{next:i,throw:e,return:e,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(t){if(this[Wt])return t?this.emit("error",t):this.emit(Wt),this;this[Wt]=!0,this[sr]=!0,this[Ut].length=0,this[Ht]=0;let u=this;return typeof u.close=="function"&&!this[At]&&u.close(),t?this.emit("error",t):this.emit(Wt),this}static get isStream(){return Pr}};var lr=ut.writev,ur=Symbol("_autoClose"),dr=Symbol("_close"),fr=Symbol("_ended"),pr=Symbol("_fd"),mr=Symbol("_finished"),vr=Symbol("_flags"),br=Symbol("_flush"),Er=Symbol("_handleChunk"),$r=Symbol("_makeBuf"),Or=Symbol("_mode"),Rr=Symbol("_needDrain"),Ar=Symbol("_onerror"),xr=Symbol("_onopen"),Tr=Symbol("_onread"),Cr=Symbol("_onwrite"),kr=Symbol("_open"),Nr=Symbol("_path"),Dr=Symbol("_pos"),Lr=Symbol("_queue"),jr=Symbol("_read"),Fr=Symbol("_readSize"),Br=Symbol("_reading"),Vr=Symbol("_remain"),Xr=Symbol("_size"),Jr=Symbol("_write"),Qr=Symbol("_writing"),es=Symbol("_defaultFlag"),ts=Symbol("_errored"),rs=class extends cr{[ts]=!1;[pr];[Nr];[Fr];[Br]=!1;[Xr];[Vr];[ur];constructor(t,u){if(u=u||{},super(u),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[ts]=!1,this[pr]=typeof u.fd=="number"?u.fd:void 0,this[Nr]=t,this[Fr]=u.readSize||16*1024*1024,this[Br]=!1,this[Xr]=typeof u.size=="number"?u.size:1/0,this[Vr]=this[Xr],this[ur]=typeof u.autoClose=="boolean"?u.autoClose:!0,typeof this[pr]=="number"?this[jr]():this[kr]()}get fd(){return this[pr]}get path(){return this[Nr]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[kr](){ut.open(this[Nr],"r",((t,u)=>this[xr](t,u)))}[xr](t,u){t?this[Ar](t):(this[pr]=u,this.emit("open",u),this[jr]())}[$r](){return Buffer.allocUnsafe(Math.min(this[Fr],this[Vr]))}[jr](){if(!this[Br]){this[Br]=!0;let t=this[$r]();if(t.length===0)return process.nextTick((()=>this[Tr](null,0,t)));ut.read(this[pr],t,0,t.length,null,((t,u,p)=>this[Tr](t,u,p)))}}[Tr](t,u,p){this[Br]=!1,t?this[Ar](t):this[Er](u,p)&&this[jr]()}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[Ar](t){this[Br]=!0,this[dr](),this.emit("error",t)}[Er](t,u){let p=!1;return this[Vr]-=t,t>0&&(p=super.write(t<u.length?u.subarray(0,t):u)),(t===0||this[Vr]<=0)&&(p=!1,this[dr](),super.end()),p}emit(t,...u){switch(t){case"prefinish":case"finish":return!1;case"drain":return typeof this[pr]=="number"&&this[jr](),!1;case"error":return this[ts]?!1:(this[ts]=!0,super.emit(t,...u));default:return super.emit(t,...u)}}},ss=class extends rs{[kr](){let t=!0;try{this[xr](null,ut.openSync(this[Nr],"r")),t=!1}finally{t&&this[dr]()}}[jr](){let t=!0;try{if(!this[Br]){this[Br]=!0;do{let t=this[$r](),u=t.length===0?0:ut.readSync(this[pr],t,0,t.length,null);if(!this[Er](u,t))break}while(!0);this[Br]=!1}t=!1}finally{t&&this[dr]()}}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.closeSync(t),this.emit("close")}}},is=class extends ct{readable=!1;writable=!0;[ts]=!1;[Qr]=!1;[fr]=!1;[Lr]=[];[Rr]=!1;[Nr];[Or];[ur];[pr];[es];[vr];[mr]=!1;[Dr];constructor(t,u){u=u||{},super(u),this[Nr]=t,this[pr]=typeof u.fd=="number"?u.fd:void 0,this[Or]=u.mode===void 0?438:u.mode,this[Dr]=typeof u.start=="number"?u.start:void 0,this[ur]=typeof u.autoClose=="boolean"?u.autoClose:!0;let p=this[Dr]!==void 0?"r+":"w";this[es]=u.flags===void 0,this[vr]=u.flags===void 0?p:u.flags,this[pr]===void 0&&this[kr]()}emit(t,...u){if(t==="error"){if(this[ts])return!1;this[ts]=!0}return super.emit(t,...u)}get fd(){return this[pr]}get path(){return this[Nr]}[Ar](t){this[dr](),this[Qr]=!0,this.emit("error",t)}[kr](){ut.open(this[Nr],this[vr],this[Or],((t,u)=>this[xr](t,u)))}[xr](t,u){this[es]&&this[vr]==="r+"&&t&&t.code==="ENOENT"?(this[vr]="w",this[kr]()):t?this[Ar](t):(this[pr]=u,this.emit("open",u),this[Qr]||this[br]())}end(t,u){return t&&this.write(t,u),this[fr]=!0,!this[Qr]&&!this[Lr].length&&typeof this[pr]=="number"&&this[Cr](null,0),this}write(t,u){return typeof t=="string"&&(t=Buffer.from(t,u)),this[fr]?(this.emit("error",new Error("write() after end()")),!1):this[pr]===void 0||this[Qr]||this[Lr].length?(this[Lr].push(t),this[Rr]=!0,!1):(this[Qr]=!0,this[Jr](t),!0)}[Jr](t){ut.write(this[pr],t,0,t.length,this[Dr],((t,u)=>this[Cr](t,u)))}[Cr](t,u){t?this[Ar](t):(this[Dr]!==void 0&&typeof u=="number"&&(this[Dr]+=u),this[Lr].length?this[br]():(this[Qr]=!1,this[fr]&&!this[mr]?(this[mr]=!0,this[dr](),this.emit("finish")):this[Rr]&&(this[Rr]=!1,this.emit("drain"))))}[br](){if(this[Lr].length===0)this[fr]&&this[Cr](null,0);else if(this[Lr].length===1)this[Jr](this[Lr].pop());else{let t=this[Lr];this[Lr]=[],lr(this[pr],t,this[Dr],((t,u)=>this[Cr](t,u)))}}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}},ns=class extends is{[kr](){let t;if(this[es]&&this[vr]==="r+")try{t=ut.openSync(this[Nr],this[vr],this[Or])}catch(t){if(t?.code==="ENOENT")return this[vr]="w",this[kr]();throw t}else t=ut.openSync(this[Nr],this[vr],this[Or]);this[xr](null,t)}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.closeSync(t),this.emit("close")}}[Jr](t){let u=!0;try{this[Cr](null,ut.writeSync(this[pr],t,0,t.length,this[Dr])),u=!1}finally{if(u)try{this[dr]()}catch{}}}};var os=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),As=t=>!!t.sync&&!!t.file,Is=t=>!t.sync&&!!t.file,Cs=t=>!!t.sync&&!t.file,ks=t=>!t.sync&&!t.file;var Fs=t=>!!t.file;var qr=t=>{let u=os.get(t);return u||t},re=(t={})=>{if(!t)return{};let u={};for(let[p,m]of Object.entries(t)){let t=qr(p);u[t]=m}return u.chmod===void 0&&u.noChmod===!1&&(u.chmod=!0),delete u.noChmod,u};var K=(t,u,p,m,g)=>Object.assign(((y=[],v,b)=>{Array.isArray(y)&&(v=y,y={}),typeof v=="function"&&(b=v,v=void 0),v=v?Array.from(v):[];let w=re(y);if(g?.(w,v),As(w)){if(typeof b=="function")throw new TypeError("callback not supported for sync tar functions");return t(w,v)}else if(Is(w)){let t=u(w,v);return b?t.then((()=>b()),b):t}else if(Cs(w)){if(typeof b=="function")throw new TypeError("callback not supported for sync tar functions");return p(w,v)}else if(ks(w)){if(typeof b=="function")throw new TypeError("callback only supported with file option");return m(w,v)}throw new Error("impossible options??")}),{syncFile:t,asyncFile:u,syncNoFile:p,asyncNoFile:m,validate:g});var as=yt.constants||{ZLIB_VERNUM:4736},cs=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},as));var ls=pt.Buffer.concat,hs=Object.getOwnPropertyDescriptor(pt.Buffer,"concat"),tn=t=>t,gs=hs?.writable===!0||hs?.set!==void 0?t=>{pt.Buffer.concat=t?tn:ls}:t=>{},ys=Symbol("_superWrite"),vs=class extends Error{code;errno;constructor(t,u){super("zlib: "+t.message,{cause:t}),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,u??this.constructor)}get name(){return"ZlibError"}},_s=Symbol("flushFlag"),bs=class extends cr{#y=!1;#v=!1;#_;#b;#w;#E;#S;get sawError(){return this.#y}get handle(){return this.#E}get flushFlag(){return this.#_}constructor(t,u){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");if(super(t),this.#_=t.flush??0,this.#b=t.finishFlush??0,this.#w=t.fullFlushFlag??0,typeof vt[u]!="function")throw new TypeError("Compression method not supported: "+u);try{this.#E=new vt[u](t)}catch(t){throw new vs(t,this.constructor)}this.#S=t=>{this.#y||(this.#y=!0,this.close(),this.emit("error",t))},this.#E?.on("error",(t=>this.#S(new vs(t)))),this.once("end",(()=>this.close))}close(){this.#E&&(this.#E.close(),this.#E=void 0,this.emit("close"))}reset(){if(!this.#y)return ft(this.#E,"zlib binding closed"),this.#E.reset?.()}flush(t){this.ended||(typeof t!="number"&&(t=this.#w),this.write(Object.assign(pt.Buffer.alloc(0),{[_s]:t})))}end(t,u,p){return typeof t=="function"&&(p=t,u=void 0,t=void 0),typeof u=="function"&&(p=u,u=void 0),t&&(u?this.write(t,u):this.write(t)),this.flush(this.#b),this.#v=!0,super.end(p)}get ended(){return this.#v}[ys](t){return super.write(t)}write(t,u,p){if(typeof u=="function"&&(p=u,u="utf8"),typeof t=="string"&&(t=pt.Buffer.from(t,u)),this.#y)return;ft(this.#E,"zlib binding closed");let m=this.#E._handle,g=m.close;m.close=()=>{};let y=this.#E.close;this.#E.close=()=>{},gs(!0);let v;try{let u=typeof t[_s]=="number"?t[_s]:this.#_;v=this.#E._processChunk(t,u),gs(!1)}catch(t){gs(!1),this.#S(new vs(t,this.write))}finally{this.#E&&(this.#E._handle=m,m.close=g,this.#E.close=y,this.#E.removeAllListeners("error"))}this.#E&&this.#E.on("error",(t=>this.#S(new vs(t,this.write))));let b;if(v)if(Array.isArray(v)&&v.length>0){let t=v[0];b=this[ys](pt.Buffer.from(t));for(let t=1;t<v.length;t++)b=this[ys](v[t])}else b=this[ys](pt.Buffer.from(v));return p&&p(),b}},ws=class extends bs{#y;#v;constructor(t,u){t=t||{},t.flush=t.flush||cs.Z_NO_FLUSH,t.finishFlush=t.finishFlush||cs.Z_FINISH,t.fullFlushFlag=cs.Z_FULL_FLUSH,super(t,u),this.#y=t.level,this.#v=t.strategy}params(t,u){if(!this.sawError){if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#y!==t||this.#v!==u){this.flush(cs.Z_SYNC_FLUSH),ft(this.handle,"zlib binding closed");let p=this.handle.flush;this.handle.flush=(t,u)=>{typeof t=="function"&&(u=t,t=this.flushFlag),this.flush(t),u?.()};try{this.handle.params(t,u)}finally{this.handle.flush=p}this.handle&&(this.#y=t,this.#v=u)}}}};var Es=class extends ws{#y;constructor(t){super(t,"Gzip"),this.#y=t&&!!t.portable}[ys](t){return this.#y?(this.#y=!1,t[9]=255,super[ys](t)):super[ys](t)}};var Ss=class extends ws{constructor(t){super(t,"Unzip")}},$s=class extends bs{constructor(t,u){t=t||{},t.flush=t.flush||cs.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||cs.BROTLI_OPERATION_FINISH,t.fullFlushFlag=cs.BROTLI_OPERATION_FLUSH,super(t,u)}},Os=class extends $s{constructor(t){super(t,"BrotliCompress")}},Rs=class extends $s{constructor(t){super(t,"BrotliDecompress")}},xs=class extends bs{constructor(t,u){t=t||{},t.flush=t.flush||cs.ZSTD_e_continue,t.finishFlush=t.finishFlush||cs.ZSTD_e_end,t.fullFlushFlag=cs.ZSTD_e_flush,super(t,u)}},Ts=class extends xs{constructor(t){super(t,"ZstdCompress")}},Ns=class extends xs{constructor(t){super(t,"ZstdDecompress")}};var Bs=(t,u)=>{if(Number.isSafeInteger(t))t<0?rn(t,u):sn(t,u);else throw Error("cannot encode number outside of javascript safe integer range");return u},sn=(t,u)=>{u[0]=128;for(var p=u.length;p>1;p--)u[p-1]=t&255,t=Math.floor(t/256)},rn=(t,u)=>{u[0]=255;var p=!1;t=t*-1;for(var m=u.length;m>1;m--){var g=t&255;t=Math.floor(t/256),p?u[m-1]=zs(g):g===0?u[m-1]=0:(p=!0,u[m-1]=Us(g))}},Ps=t=>{let u=t[0],p=u===128?on(t.subarray(1,t.length)):u===255?nn(t):null;if(p===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(p))throw Error("parsed number outside of javascript safe integer range");return p},nn=t=>{for(var u=t.length,p=0,m=!1,g=u-1;g>-1;g--){var y=Number(t[g]),v;m?v=zs(y):y===0?v=y:(m=!0,v=Us(y)),v!==0&&(p-=v*Math.pow(256,u-g-1))}return p},on=t=>{for(var u=t.length,p=0,m=u-1;m>-1;m--){var g=Number(t[m]);g!==0&&(p+=g*Math.pow(256,u-m-1))}return p},zs=t=>(255^t)&255,Us=t=>(255^t)+1&255;var Ds={};Mr(Ds,{code:()=>Ms,isCode:()=>oe,isName:()=>an,name:()=>Ls});var oe=t=>Ls.has(t),an=t=>Ms.has(t),Ls=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),Ms=new Map(Array.from(Ls).map((t=>[t[1],t[0]])));var js=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#y="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,u=0,p,m){Buffer.isBuffer(t)?this.decode(t,u||0,p,m):t&&this.#v(t)}decode(t,u,p,m){if(u||(u=0),!t||!(t.length>=u+512))throw new Error("need 512 bytes for header");this.path=p?.path??xt(t,u,100),this.mode=p?.mode??m?.mode??at(t,u+100,8),this.uid=p?.uid??m?.uid??at(t,u+108,8),this.gid=p?.gid??m?.gid??at(t,u+116,8),this.size=p?.size??m?.size??at(t,u+124,12),this.mtime=p?.mtime??m?.mtime??Ui(t,u+136,12),this.cksum=at(t,u+148,12),m&&this.#v(m,!0),p&&this.#v(p);let g=xt(t,u+156,1);if(oe(g)&&(this.#y=g||"0"),this.#y==="0"&&this.path.slice(-1)==="/"&&(this.#y="5"),this.#y==="5"&&(this.size=0),this.linkpath=xt(t,u+157,100),t.subarray(u+257,u+265).toString()==="ustar\x0000")if(this.uname=p?.uname??m?.uname??xt(t,u+265,32),this.gname=p?.gname??m?.gname??xt(t,u+297,32),this.devmaj=p?.devmaj??m?.devmaj??at(t,u+329,8)??0,this.devmin=p?.devmin??m?.devmin??at(t,u+337,8)??0,t[u+475]!==0){let p=xt(t,u+345,155);this.path=p+"/"+this.path}else{let g=xt(t,u+345,130);g&&(this.path=g+"/"+this.path),this.atime=p?.atime??m?.atime??Ui(t,u+476,12),this.ctime=p?.ctime??m?.ctime??Ui(t,u+488,12)}let y=256;for(let p=u;p<u+148;p++)y+=t[p];for(let p=u+156;p<u+512;p++)y+=t[p];this.cksumValid=y===this.cksum,this.cksum===void 0&&y===256&&(this.nullBlock=!0)}#v(t,u=!1){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,p])=>!(p==null||t==="path"&&u||t==="linkpath"&&u||t==="global")))))}encode(t,u=0){if(t||(t=this.block=Buffer.alloc(512)),this.#y==="Unsupported"&&(this.#y="0"),!(t.length>=u+512))throw new Error("need 512 bytes for header");let p=this.ctime||this.atime?130:155,m=ln(this.path||"",p),g=m[0],y=m[1];this.needPax=!!m[2],this.needPax=Lt(t,u,100,g)||this.needPax,this.needPax=lt(t,u+100,8,this.mode)||this.needPax,this.needPax=lt(t,u+108,8,this.uid)||this.needPax,this.needPax=lt(t,u+116,8,this.gid)||this.needPax,this.needPax=lt(t,u+124,12,this.size)||this.needPax,this.needPax=Hi(t,u+136,12,this.mtime)||this.needPax,t[u+156]=Number(this.#y.codePointAt(0)),this.needPax=Lt(t,u+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",u+257,8),this.needPax=Lt(t,u+265,32,this.uname)||this.needPax,this.needPax=Lt(t,u+297,32,this.gname)||this.needPax,this.needPax=lt(t,u+329,8,this.devmaj)||this.needPax,this.needPax=lt(t,u+337,8,this.devmin)||this.needPax,this.needPax=Lt(t,u+345,p,y)||this.needPax,t[u+475]!==0?this.needPax=Lt(t,u+345,155,y)||this.needPax:(this.needPax=Lt(t,u+345,130,y)||this.needPax,this.needPax=Hi(t,u+476,12,this.atime)||this.needPax,this.needPax=Hi(t,u+488,12,this.ctime)||this.needPax);let v=256;for(let p=u;p<u+148;p++)v+=t[p];for(let p=u+156;p<u+512;p++)v+=t[p];return this.cksum=v,lt(t,u+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#y==="Unsupported"?this.#y:Ls.get(this.#y)}get typeKey(){return this.#y}set type(t){let u=String(Ms.get(t));if(oe(u)||u==="Unsupported")this.#y=u;else if(oe(t))this.#y=t;else throw new TypeError("invalid entry type: "+t)}},ln=(t,p)=>{let m=t,g="",y,v=u.posix.parse(t).root||".";if(Buffer.byteLength(m)<100)y=[m,g,!1];else{g=u.posix.dirname(m),m=u.posix.basename(m);do{Buffer.byteLength(m)<=100&&Buffer.byteLength(g)<=p?y=[m,g,!1]:Buffer.byteLength(m)>100&&Buffer.byteLength(g)<=p?y=[m.slice(0,99),g,!0]:(m=u.posix.join(u.posix.basename(g),m),g=u.posix.dirname(g))}while(g!==v&&y===void 0);y||(y=[t.slice(0,99),"",!0])}return y},xt=(t,u,p)=>t.subarray(u,u+p).toString("utf8").replace(/\0.*/,""),Ui=(t,u,p)=>cn(at(t,u,p)),cn=t=>t===void 0?void 0:new Date(t*1e3),at=(t,u,p)=>Number(t[u])&128?Ps(t.subarray(u,u+p)):dn(t,u,p),fn=t=>isNaN(t)?void 0:t,dn=(t,u,p)=>fn(parseInt(t.subarray(u,u+p).toString("utf8").replace(/\0.*$/,"").trim(),8)),Hs={12:8589934591,8:2097151},lt=(t,u,p,m)=>m===void 0?!1:m>Hs[p]||m<0?(Bs(m,t.subarray(u,u+p)),!0):(mn(t,u,p,m),!1),mn=(t,u,p,m)=>t.write(pn(m,p),u,p,"ascii"),pn=(t,u)=>En(Math.floor(t).toString(8),u),En=(t,u)=>(t.length===u-1?t:new Array(u-t.length-1).join("0")+t+" ")+"\0",Hi=(t,u,p,m)=>m===void 0?!1:lt(t,u,p,m.getTime()/1e3),Gs=new Array(156).join("\0"),Lt=(t,u,p,m)=>m===void 0?!1:(t.write(m+Gs,u,p,"utf8"),m.length!==Buffer.byteLength(m)||m.length>p);var Ws=class s{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,u=!1){this.atime=t.atime,this.charset=t.charset,this.comment=t.comment,this.ctime=t.ctime,this.dev=t.dev,this.gid=t.gid,this.global=u,this.gname=t.gname,this.ino=t.ino,this.linkpath=t.linkpath,this.mtime=t.mtime,this.nlink=t.nlink,this.path=t.path,this.size=t.size,this.uid=t.uid,this.uname=t.uname}encode(){let t=this.encodeBody();if(t==="")return Buffer.allocUnsafe(0);let p=Buffer.byteLength(t),m=512*Math.ceil(1+p/512),g=Buffer.allocUnsafe(m);for(let t=0;t<512;t++)g[t]=0;new js({path:("PaxHeader/"+(0,u.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:p,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(g),g.write(t,512,p,"utf8");for(let t=p+512;t<g.length;t++)g[t]=0;return g}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===void 0)return"";let u=this[t],p=u instanceof Date?u.getTime()/1e3:u,m=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+p+`\n`,g=Buffer.byteLength(m),y=Math.floor(Math.log(g)/Math.log(10))+1;return g+y>=Math.pow(10,y)&&(y+=1),y+g+m}static parse(t,u,p=!1){return new s(yn(Rn(t),u),p)}},yn=(t,u)=>u?Object.assign({},u,t):t,Rn=t=>t.replace(/\n$/,"").split(`\n`).reduce(gn,Object.create(null)),gn=(t,u)=>{let p=parseInt(u,10);if(p!==Buffer.byteLength(u)+1)return t;u=u.slice((p+" ").length);let m=u.split("="),g=m.shift();if(!g)return t;let y=g.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),v=m.join("=");return t[y]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(y)?new Date(Number(v)*1e3):/^[0-9]+$/.test(v)?+v:v,t};var qs=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Ks=qs!=="win32"?t=>t:t=>t&&t.replaceAll(/\\/g,"/");var Ys=class extends cr{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,u,p){switch(super({}),this.pause(),this.extended=u,this.globalExtended=p,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=Ks(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?Ks(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,u&&this.#y(u),p&&this.#y(p,!0)}write(t){let u=t.length;if(u>this.blockRemain)throw new Error("writing more to entry than is appropriate");let p=this.remain,m=this.blockRemain;return this.remain=Math.max(0,p-u),this.blockRemain=Math.max(0,m-u),this.ignore?!0:p>=u?super.write(t):super.write(t.subarray(0,p))}#y(t,u=!1){t.path&&(t.path=Ks(t.path)),t.linkpath&&(t.linkpath=Ks(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,p])=>!(p==null||t==="path"&&u)))))}};var Nt=(t,u,p,m={})=>{t.file&&(m.file=t.file),t.cwd&&(m.cwd=t.cwd),m.code=p instanceof Error&&p.code||u,m.tarCode=u,!t.strict&&m.recoverable!==!1?(p instanceof Error&&(m=Object.assign(p,m),p=p.message),t.emit("warn",u,p,m)):p instanceof Error?t.emit("error",Object.assign(p,m)):t.emit("error",Object.assign(new Error(`${u}: ${p}`),m))};var Xs=1024*1024,Zs=Buffer.from([31,139]),Js=Buffer.from([40,181,47,253]),Qs=Math.max(Zs.length,Js.length),ei=Symbol("state"),ti=Symbol("writeEntry"),ri=Symbol("readEntry"),si=Symbol("nextEntry"),ii=Symbol("processEntry"),ni=Symbol("extendedHeader"),oi=Symbol("globalExtendedHeader"),ai=Symbol("meta"),ci=Symbol("emitMeta"),li=Symbol("buffer"),ui=Symbol("queue"),hi=Symbol("ended"),di=Symbol("emittedEnd"),fi=Symbol("emit"),mi=Symbol("unzip"),gi=Symbol("consumeChunk"),yi=Symbol("consumeChunkSub"),vi=Symbol("consumeBody"),_i=Symbol("consumeMeta"),bi=Symbol("consumeHeader"),wi=Symbol("consuming"),Ei=Symbol("bufferConcat"),Si=Symbol("maybeEnd"),Oi=Symbol("writing"),Ri=Symbol("aborted"),Pi=Symbol("onDone"),Ai=Symbol("sawValidEntry"),xi=Symbol("sawNullBlock"),Ti=Symbol("sawEOF"),Ci=Symbol("closeStream"),xn=()=>!0,ki=class extends ct.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[ui]=[];[li];[ri];[ti];[ei]="begin";[ai]="";[ni];[oi];[hi]=!1;[mi];[Ri]=!1;[Ai];[xi]=!1;[Ti]=!1;[Oi]=!1;[wi]=!1;[di]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(Pi,(()=>{(this[ei]==="begin"||this[Ai]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")})),t.ondone?this.on(Pi,t.ondone):this.on(Pi,(()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")})),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||Xs,this.filter=typeof t.filter=="function"?t.filter:xn;let u=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:u?void 0:!1;let p=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:p?!0:void 0,this.on("end",(()=>this[Ci]())),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,u,p={}){Nt(this,t,u,p)}[bi](t,u){this[Ai]===void 0&&(this[Ai]=!1);let p;try{p=new js(t,u,this[ni],this[oi])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(p.nullBlock)this[xi]?(this[Ti]=!0,this[ei]==="begin"&&(this[ei]="header"),this[fi]("eof")):(this[xi]=!0,this[fi]("nullBlock"));else if(this[xi]=!1,!p.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:p});else if(!p.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:p});else{let t=p.type;if(/^(Symbolic)?Link$/.test(t)&&!p.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:p});else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&p.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:p});else{let t=this[ti]=new Ys(p,this[ni],this[oi]);if(!this[Ai])if(t.remain){let o=()=>{t.invalid||(this[Ai]=!0)};t.on("end",o)}else this[Ai]=!0;t.meta?t.size>this.maxMetaEntrySize?(t.ignore=!0,this[fi]("ignoredEntry",t),this[ei]="ignore",t.resume()):t.size>0&&(this[ai]="",t.on("data",(t=>this[ai]+=t)),this[ei]="meta"):(this[ni]=void 0,t.ignore=t.ignore||!this.filter(t.path,t),t.ignore?(this[fi]("ignoredEntry",t),this[ei]=t.remain?"ignore":"header",t.resume()):(t.remain?this[ei]="body":(this[ei]="header",t.end()),this[ri]?this[ui].push(t):(this[ui].push(t),this[si]())))}}}[Ci](){queueMicrotask((()=>this.emit("close")))}[ii](t){let u=!0;if(!t)this[ri]=void 0,u=!1;else if(Array.isArray(t)){let[u,...p]=t;this.emit(u,...p)}else this[ri]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",(()=>this[si]())),u=!1);return u}[si](){do{}while(this[ii](this[ui].shift()));if(this[ui].length===0){let t=this[ri];!t||t.flowing||t.size===t.remain?this[Oi]||this.emit("drain"):t.once("drain",(()=>this.emit("drain")))}}[vi](t,u){let p=this[ti];if(!p)throw new Error("attempt to consume body without entry??");let m=p.blockRemain??0,g=m>=t.length&&u===0?t:t.subarray(u,u+m);return p.write(g),p.blockRemain||(this[ei]="header",this[ti]=void 0,p.end()),g.length}[_i](t,u){let p=this[ti],m=this[vi](t,u);return!this[ti]&&p&&this[ci](p),m}[fi](t,u,p){this[ui].length===0&&!this[ri]?this.emit(t,u,p):this[ui].push([t,u,p])}[ci](t){switch(this[fi]("meta",this[ai]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[ni]=Ws.parse(this[ai],this[ni],!1);break;case"GlobalExtendedHeader":this[oi]=Ws.parse(this[ai],this[oi],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let t=this[ni]??Object.create(null);this[ni]=t,t.path=this[ai].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let t=this[ni]||Object.create(null);this[ni]=t,t.linkpath=this[ai].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Ri]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t,u,p){if(typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof u=="string"?u:"utf8")),this[Ri])return p?.(),!1;if((this[mi]===void 0||this.brotli===void 0&&this[mi]===!1)&&t){if(this[li]&&(t=Buffer.concat([this[li],t]),this[li]=void 0),t.length<Qs)return this[li]=t,p?.(),!0;for(let u=0;this[mi]===void 0&&u<Zs.length;u++)t[u]!==Zs[u]&&(this[mi]=!1);let u=!1;if(this[mi]===!1&&this.zstd!==!1){u=!0;for(let p=0;p<Js.length;p++)if(t[p]!==Js[p]){u=!1;break}}let m=this.brotli===void 0&&!u;if(this[mi]===!1&&m)if(t.length<512)if(this[hi])this.brotli=!0;else return this[li]=t,p?.(),!0;else try{new js(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[mi]===void 0||this[mi]===!1&&(this.brotli||u)){let m=this[hi];this[hi]=!1,this[mi]=this[mi]===void 0?new Ss({}):u?new Ns({}):new Rs({}),this[mi].on("data",(t=>this[gi](t))),this[mi].on("error",(t=>this.abort(t))),this[mi].on("end",(()=>{this[hi]=!0,this[gi]()})),this[Oi]=!0;let g=!!this[mi][m?"end":"write"](t);return this[Oi]=!1,p?.(),g}}this[Oi]=!0,this[mi]?this[mi].write(t):this[gi](t),this[Oi]=!1;let m=this[ui].length>0?!1:this[ri]?this[ri].flowing:!0;return!m&&this[ui].length===0&&this[ri]?.once("drain",(()=>this.emit("drain"))),p?.(),m}[Ei](t){t&&!this[Ri]&&(this[li]=this[li]?Buffer.concat([this[li],t]):t)}[Si](){if(this[hi]&&!this[di]&&!this[Ri]&&!this[wi]){this[di]=!0;let t=this[ti];if(t&&t.blockRemain){let u=this[li]?this[li].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${u} available)`,{entry:t}),this[li]&&t.write(this[li]),t.end()}this[fi](Pi)}}[gi](t){if(this[wi]&&t)this[Ei](t);else if(!t&&!this[li])this[Si]();else if(t){if(this[wi]=!0,this[li]){this[Ei](t);let u=this[li];this[li]=void 0,this[yi](u)}else this[yi](t);for(;this[li]&&this[li]?.length>=512&&!this[Ri]&&!this[Ti];){let t=this[li];this[li]=void 0,this[yi](t)}this[wi]=!1}(!this[li]||this[hi])&&this[Si]()}[yi](t){let u=0,p=t.length;for(;u+512<=p&&!this[Ri]&&!this[Ti];)switch(this[ei]){case"begin":case"header":this[bi](t,u),u+=512;break;case"ignore":case"body":u+=this[vi](t,u);break;case"meta":u+=this[_i](t,u);break;default:throw new Error("invalid state: "+this[ei])}u<p&&(this[li]=this[li]?Buffer.concat([t.subarray(u),this[li]]):t.subarray(u))}end(t,u,p){return typeof t=="function"&&(p=t,u=void 0,t=void 0),typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,u)),p&&this.once("finish",p),this[Ri]||(this[mi]?(t&&this[mi].write(t),this[mi].end()):(this[hi]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[Si]())),this}};var mt=t=>{let u=t.length-1,p=-1;for(;u>-1&&t.charAt(u)==="/";)p=u,u--;return p===-1?t:t.slice(0,p)};var Dn=t=>{let u=t.onReadEntry;t.onReadEntry=u?t=>{u(t),t.resume()}:t=>t.resume()},$i=(t,u)=>{let p=new Map(u.map((t=>[mt(t),!0]))),m=t.filter,r=(t,u="")=>{let m=u||(0,dt.parse)(t).root||".",g;if(t===m)g=!1;else{let u=p.get(t);g=u!==void 0?u:r((0,dt.dirname)(t),m)}return p.set(t,g),g};t.filter=m?(t,u)=>m(t,u)&&r(mt(t)):t=>r(mt(t))},An=u=>{let p=new ki(u),m=u.file,g;try{g=t.openSync(m,"r");let y=t.fstatSync(g),v=u.maxReadSize||16*1024*1024;if(y.size<v){let u=Buffer.allocUnsafe(y.size),m=t.readSync(g,u,0,y.size,0);p.end(m===u.byteLength?u:u.subarray(0,m))}else{let u=0,m=Buffer.allocUnsafe(v);for(;u<y.size;){let y=t.readSync(g,m,0,v,u);if(y===0)break;u+=y,p.write(m.subarray(0,y))}p.end()}}finally{if(typeof g=="number")try{t.closeSync(g)}catch{}}},In=(u,p)=>{let m=new ki(u),g=u.maxReadSize||16*1024*1024,y=u.file;return new Promise(((u,p)=>{m.on("error",p),m.on("end",u),t.stat(y,((t,u)=>{if(t)p(t);else{let t=new rs(y,{readSize:g,size:u.size});t.on("error",p),t.pipe(m)}}))}))},Ii=K(An,In,(t=>new ki(t)),(t=>new ki(t)),((t,u)=>{u?.length&&$i(t,u),t.noResume||Dn(t)}));var Xi=(t,u,p)=>(t&=4095,p&&(t=(t|384)&-19),u&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t);var{isAbsolute:Ni,parse:Di}=u.win32,ce=t=>{let u="",p=Di(t);for(;Ni(t)||p.root;){let m=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":p.root;t=t.slice(m.length),u+=m,p=Di(t)}return[u,t]};var Li=["|","<",">","?",":"],Mi=Li.map((t=>String.fromCodePoint(61440+Number(t.codePointAt(0))))),ji=new Map(Li.map(((t,u)=>[t,Mi[u]]))),Fi=new Map(Mi.map(((t,u)=>[t,Li[u]]))),Qi=t=>Li.reduce(((t,u)=>t.split(u).join(ji.get(u))),t),Vs=t=>Mi.reduce(((t,u)=>t.split(u).join(Fi.get(u))),t);var tr=(t,u)=>u?(t=Ks(t).replace(/^\.(\/|$)/,""),mt(u)+"/"+t):Ks(t),Bi=16*1024*1024,Vi=Symbol("process"),zi=Symbol("file"),Gi=Symbol("directory"),Wi=Symbol("symlink"),qi=Symbol("hardlink"),Ki=Symbol("header"),Yi=Symbol("read"),Zi=Symbol("lstat"),Ji=Symbol("onlstat"),en=Symbol("onread"),un=Symbol("onreadlink"),hn=Symbol("openfile"),vn=Symbol("onopenfile"),_n=Symbol("close"),bn=Symbol("mode"),wn=Symbol("awaitDrain"),Sn=Symbol("ondrain"),$n=Symbol("prefix"),On=class extends cr{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#y=!1;constructor(t,u={}){let p=re(u);super(),this.path=Ks(t),this.portable=!!p.portable,this.maxReadSize=p.maxReadSize||Bi,this.linkCache=p.linkCache||new Map,this.statCache=p.statCache||new Map,this.preservePaths=!!p.preservePaths,this.cwd=Ks(p.cwd||process.cwd()),this.strict=!!p.strict,this.noPax=!!p.noPax,this.noMtime=!!p.noMtime,this.mtime=p.mtime,this.prefix=p.prefix?Ks(p.prefix):void 0,this.onWriteEntry=p.onWriteEntry,typeof p.onwarn=="function"&&this.on("warn",p.onwarn);let m=!1;if(!this.preservePaths){let[t,u]=ce(this.path);t&&typeof u=="string"&&(this.path=u,m=t)}this.win32=!!p.win32||process.platform==="win32",this.win32&&(this.path=Vs(this.path.replaceAll(/\\/g,"/")),t=t.replaceAll(/\\/g,"/")),this.absolute=Ks(p.absolute||dt.resolve(this.cwd,t)),this.path===""&&(this.path="./"),m&&this.warn("TAR_ENTRY_INFO",`stripping ${m} from absolute path`,{entry:this,path:m+this.path});let g=this.statCache.get(this.absolute);g?this[Ji](g):this[Zi]()}warn(t,u,p={}){return Nt(this,t,u,p)}emit(t,...u){return t==="error"&&(this.#y=!0),super.emit(t,...u)}[Zi](){ut.lstat(this.absolute,((t,u)=>{if(t)return this.emit("error",t);this[Ji](u)}))}[Ji](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=Bn(t),this.emit("stat",t),this[Vi]()}[Vi](){switch(this.type){case"File":return this[zi]();case"Directory":return this[Gi]();case"SymbolicLink":return this[Wi]();default:return this.end()}}[bn](t){return Xi(t,this.type==="Directory",this.portable)}[$n](t){return tr(t,this.prefix)}[Ki](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new js({path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,mode:this[bn](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new Ws({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error("failed to encode header");super.write(t)}[Gi](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Ki](),this.end()}[Wi](){ut.readlink(this.absolute,((t,u)=>{if(t)return this.emit("error",t);this[un](u)}))}[un](t){this.linkpath=Ks(t),this[Ki](),this.end()}[qi](t){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=Ks(dt.relative(this.cwd,t)),this.stat.size=0,this[Ki](),this.end()}[zi](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,u=this.linkCache.get(t);if(u?.indexOf(this.cwd)===0)return this[qi](u);this.linkCache.set(t,this.absolute)}if(this[Ki](),this.stat.size===0)return this.end();this[hn]()}[hn](){ut.open(this.absolute,"r",((t,u)=>{if(t)return this.emit("error",t);this[vn](u)}))}[vn](t){if(this.fd=t,this.#y)return this[_n]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let u=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(u),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Yi]()}[Yi](){let{fd:t,buf:u,offset:p,length:m,pos:g}=this;if(t===void 0||u===void 0)throw new Error("cannot read file without first opening");ut.read(t,u,p,m,g,((t,u)=>{if(t)return this[_n]((()=>this.emit("error",t)));this[en](u)}))}[_n](t=()=>{}){this.fd!==void 0&&ut.close(this.fd,t)}[en](t){if(t<=0&&this.remain>0){let t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[_n]((()=>this.emit("error",t)))}if(t>this.remain){let t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[_n]((()=>this.emit("error",t)))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(t===this.remain)for(let u=t;u<this.length&&t<this.blockRemain;u++)this.buf[u+this.offset]=0,t++,this.remain++;let u=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(u)?this[Sn]():this[wn]((()=>this[Sn]()))}[wn](t){this.once("drain",t)}write(t,u,p){if(typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof u=="string"?u:"utf8")),this.blockRemain<t.length){let t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,p)}[Sn](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[_n]((t=>t?this.emit("error",t):this.end()));if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Yi]()}},Tn=class extends On{sync=!0;[Zi](){this[Ji](ut.lstatSync(this.absolute))}[Wi](){this[un](ut.readlinkSync(this.absolute))}[hn](){this[vn](ut.openSync(this.absolute,"r"))}[Yi](){let t=!0;try{let{fd:u,buf:p,offset:m,length:g,pos:y}=this;if(u===void 0||p===void 0)throw new Error("fd and buf must be set in READ method");let v=ut.readSync(u,p,m,g,y);this[en](v),t=!1}finally{if(t)try{this[_n]((()=>{}))}catch{}}}[wn](t){t()}[_n](t=()=>{}){this.fd!==void 0&&ut.closeSync(this.fd),t()}},Cn=class extends cr{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,u,p={}){return Nt(this,t,u,p)}constructor(t,u={}){let p=re(u);super(),this.preservePaths=!!p.preservePaths,this.portable=!!p.portable,this.strict=!!p.strict,this.noPax=!!p.noPax,this.noMtime=!!p.noMtime,this.onWriteEntry=p.onWriteEntry,this.readEntry=t;let{type:m}=t;if(m==="Unsupported")throw new Error("writing entry that should be ignored");this.type=m,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=p.prefix,this.path=Ks(t.path),this.mode=t.mode!==void 0?this[bn](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:p.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?Ks(t.linkpath):void 0,typeof p.onwarn=="function"&&this.on("warn",p.onwarn);let g=!1;if(!this.preservePaths){let[t,u]=ce(this.path);t&&typeof u=="string"&&(this.path=u,g=t)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new js({path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),g&&this.warn("TAR_ENTRY_INFO",`stripping ${g} from absolute path`,{entry:this,path:g+this.path}),this.header.encode()&&!this.noPax&&super.write(new Ws({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let y=this.header?.block;if(!y)throw new Error("failed to encode header");super.write(y),t.pipe(this)}[$n](t){return tr(t,this.prefix)}[bn](t){return Xi(t,this.type==="Directory",this.portable)}write(t,u,p){typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof u=="string"?u:"utf8"));let m=t.length;if(m>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=m,super.write(t,p)}end(t,u,p){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t=="function"&&(p=t,u=void 0,t=void 0),typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,u??"utf8")),p&&this.once("finish",p),t?super.end(t,p):super.end(p),this}},Bn=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";var kn=class s{tail;head;length=0;static create(t=[]){return new s(t)}constructor(t=[]){for(let u of t)this.push(u)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");let u=t.next,p=t.prev;return u&&(u.prev=p),p&&(p.next=u),t===this.head&&(this.head=u),t===this.tail&&(this.tail=p),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,u}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let u=this.head;t.list=this,t.next=u,u&&(u.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let u=this.tail;t.list=this,t.prev=u,u&&(u.next=t),this.tail=t,this.head||(this.head=t),this.length++}push(...t){for(let u=0,p=t.length;u<p;u++)zn(this,t[u]);return this.length}unshift(...t){for(var u=0,p=t.length;u<p;u++)Un(this,t[u]);return this.length}pop(){if(!this.tail)return;let t=this.tail.value,u=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,u.list=void 0,this.length--,t}shift(){if(!this.head)return;let t=this.head.value,u=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,u.list=void 0,this.length--,t}forEach(t,u){u=u||this;for(let p=this.head,m=0;p;m++)t.call(u,p.value,m,this),p=p.next}forEachReverse(t,u){u=u||this;for(let p=this.tail,m=this.length-1;p;m--)t.call(u,p.value,m,this),p=p.prev}get(t){let u=0,p=this.head;for(;p&&u<t;u++)p=p.next;if(u===t&&p)return p.value}getReverse(t){let u=0,p=this.tail;for(;p&&u<t;u++)p=p.prev;if(u===t&&p)return p.value}map(t,u){u=u||this;let p=new s;for(let m=this.head;m;)p.push(t.call(u,m.value,this)),m=m.next;return p}mapReverse(t,u){u=u||this;var p=new s;for(let m=this.tail;m;)p.push(t.call(u,m.value,this)),m=m.prev;return p}reduce(t,u){let p,m=this.head;if(arguments.length>1)p=u;else if(this.head)m=this.head.next,p=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var g=0;m;g++)p=t(p,m.value,g),m=m.next;return p}reduceReverse(t,u){let p,m=this.tail;if(arguments.length>1)p=u;else if(this.tail)m=this.tail.prev,p=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let u=this.length-1;m;u--)p=t(p,m.value,u),m=m.prev;return p}toArray(){let t=new Array(this.length);for(let u=0,p=this.head;p;u++)t[u]=p.value,p=p.next;return t}toArrayReverse(){let t=new Array(this.length);for(let u=0,p=this.tail;p;u++)t[u]=p.value,p=p.prev;return t}slice(t=0,u=this.length){u<0&&(u+=this.length),t<0&&(t+=this.length);let p=new s;if(u<t||u<0)return p;t<0&&(t=0),u>this.length&&(u=this.length);let m=this.head,g=0;for(g=0;m&&g<t;g++)m=m.next;for(;m&&g<u;g++,m=m.next)p.push(m.value);return p}sliceReverse(t=0,u=this.length){u<0&&(u+=this.length),t<0&&(t+=this.length);let p=new s;if(u<t||u<0)return p;t<0&&(t=0),u>this.length&&(u=this.length);let m=this.length,g=this.tail;for(;g&&m>u;m--)g=g.prev;for(;g&&m>t;m--,g=g.prev)p.push(g.value);return p}splice(t,u=0,...p){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let m=this.head;for(let u=0;m&&u<t;u++)m=m.next;let g=[];for(let t=0;m&&t<u;t++)g.push(m.value),m=this.removeNode(m);m?m!==this.tail&&(m=m.prev):m=this.tail;for(let t of p)m=Pn(this,m,t);return g}reverse(){let t=this.head,u=this.tail;for(let u=t;u;u=u.prev){let t=u.prev;u.prev=u.next,u.next=t}return this.head=u,this.tail=t,this}};function Pn(t,u,p){let m=u,g=u?u.next:t.head,y=new Nn(p,m,g,t);return y.next===void 0&&(t.tail=y),y.prev===void 0&&(t.head=y),t.length++,y}function zn(t,u){t.tail=new Nn(u,t.tail,void 0,t),t.head||(t.head=t.tail),t.length++}function Un(t,u){t.head=new Nn(u,void 0,t.head,t),t.tail||(t.tail=t.head),t.length++}var Nn=class{list;next;prev;value;constructor(t,u,p,m){this.list=m,this.value=t,u?(u.next=this,this.prev=u):this.prev=void 0,p?(p.prev=this,this.next=p):this.next=void 0}};var Ln=class{path;absolute;entry;stat;readdir;pending=!1;pendingLink=!1;ignore=!1;piped=!1;constructor(t,u){this.path=t||"./",this.absolute=u}},Mn=Buffer.alloc(1024),Fn=Symbol("onStat"),Vn=Symbol("ended"),Kn=Symbol("queue"),Yn=Symbol("queue"),Xn=Symbol("current"),Jn=Symbol("process"),eo=Symbol("processing"),ro=Symbol("processJob"),io=Symbol("jobs"),no=Symbol("jobDone"),oo=Symbol("addFSEntry"),fo=Symbol("addTarEntry"),go=Symbol("stat"),vo=Symbol("readdir"),_o=Symbol("onreaddir"),bo=Symbol("pipe"),So=Symbol("entry"),$o=Symbol("entryOpt"),Oo=Symbol("writeEntryClass"),Ro=Symbol("write"),Po=Symbol("ondrain"),Ao=class extends cr{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[Oo];onWriteEntry;[Kn];[Yn]=new Map;[io]=0;[eo]=!1;[Vn]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=Ks(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[Oo]=On,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(t.gzip&&(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new Es(t.gzip)),t.brotli&&(typeof t.brotli!="object"&&(t.brotli={}),this.zip=new Os(t.brotli)),t.zstd&&(typeof t.zstd!="object"&&(t.zstd={}),this.zip=new Ts(t.zstd)),!this.zip)throw new Error("impossible");let u=this.zip;u.on("data",(t=>super.write(t))),u.on("end",(()=>super.end())),u.on("drain",(()=>this[Po]())),this.on("resume",(()=>u.resume()))}else this.on("drain",this[Po]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter=="function"?t.filter:()=>!0,this[Kn]=new kn,this[io]=0,this.jobs=Number(t.jobs)||4,this[eo]=!1,this[Vn]=!1}[Ro](t){return super.write(t)}add(t){return this.write(t),this}end(t,u,p){return typeof t=="function"&&(p=t,t=void 0),typeof u=="function"&&(p=u,u=void 0),t&&this.add(t),this[Vn]=!0,this[Jn](),p&&p(),this}write(t){if(this[Vn])throw new Error("write after end");return t instanceof Ys?this[fo](t):this[oo](t),this.flowing}[fo](t){let u=Ks(dt.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let p=new Ln(t.path,u);p.entry=new Cn(t,this[$o](p)),p.entry.on("end",(()=>this[no](p))),this[io]+=1,this[Kn].push(p)}this[Jn]()}[oo](t){let u=Ks(dt.resolve(this.cwd,t));this[Kn].push(new Ln(t,u)),this[Jn]()}[go](t){t.pending=!0,this[io]+=1;let u=this.follow?"stat":"lstat";ut[u](t.absolute,((u,p)=>{t.pending=!1,this[io]-=1,u?this.emit("error",u):this[Fn](t,p)}))}[Fn](t,u){if(this.statCache.set(t.absolute,u),t.stat=u,!this.filter(t.path,u))t.ignore=!0;else if(u.isFile()&&u.nlink>1&&!this.linkCache.get(`${u.dev}:${u.ino}`)&&!this.sync)if(t===this[Xn])this[ro](t);else{let p=`${u.dev}:${u.ino}`,m=this[Yn].get(p);m?m.push(t):this[Yn].set(p,[t]),t.pendingLink=!0,t.pending=!0}this[Jn]()}[vo](t){t.pending=!0,this[io]+=1,ut.readdir(t.absolute,((u,p)=>{if(t.pending=!1,this[io]-=1,u)return this.emit("error",u);this[_o](t,p)}))}[_o](t,u){this.readdirCache.set(t.absolute,u),t.readdir=u,this[Jn]()}[Jn](){if(!this[eo]){this[eo]=!0;for(let t=this[Kn].head;t&&this[io]<this.jobs;t=t.next)if(this[ro](t.value),t.value.ignore){let u=t.next;this[Kn].removeNode(t),t.next=u}this[eo]=!1,this[Vn]&&this[Kn].length===0&&this[io]===0&&(this.zip?this.zip.end(Mn):(super.write(Mn),super.end()))}}get[Xn](){return this[Kn]&&this[Kn].head&&this[Kn].head.value}[no](t){this[Kn].shift(),this[io]-=1;let{stat:u}=t;if(u&&u.isFile()&&u.nlink>1){let t=`${u.dev}:${u.ino}`,p=this[Yn].get(t);if(p){this[Yn].delete(t);for(let t of p)t.pending=!1,this[ro](t)}}this[Jn]()}[ro](t){if(t.pending&&t.pendingLink&&t===this[Xn]&&(t.pending=!1,t.pendingLink=!1),!t.pending){if(t.entry){t===this[Xn]&&!t.piped&&this[bo](t);return}if(!t.stat){let u=this.statCache.get(t.absolute);u?this[Fn](t,u):this[go](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let u=this.readdirCache.get(t.absolute);if(u?this[_o](t,u):this[vo](t),!t.readdir)return}if(t.entry=this[So](t),!t.entry){t.ignore=!0;return}t===this[Xn]&&!t.piped&&this[bo](t)}}}[$o](t){return{onwarn:(t,u,p)=>this.warn(t,u,p),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[So](t){this[io]+=1;try{return new this[Oo](t.path,this[$o](t)).on("end",(()=>this[no](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[Po](){this[Xn]&&this[Xn].entry&&this[Xn].entry.resume()}[bo](t){t.piped=!0,t.readdir&&t.readdir.forEach((u=>{let p=t.path,m=p==="./"?"":p.replace(/\/*$/,"/");this[oo](m+u)}));let u=t.entry,p=this.zip;if(!u)throw new Error("cannot pipe without source");p?u.on("data",(t=>{p.write(t)||u.pause()})):u.on("data",(t=>{super.write(t)||u.pause()}))}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,u,p={}){Nt(this,t,u,p)}},xo=class extends Ao{sync=!0;constructor(t){super(t),this[Oo]=Tn}pause(){}resume(){}[go](t){let u=this.follow?"statSync":"lstatSync";this[Fn](t,ut[u](t.absolute))}[vo](t){this[_o](t,ut.readdirSync(t.absolute))}[bo](t){let u=t.entry,p=this.zip;if(t.readdir&&t.readdir.forEach((u=>{let p=t.path,m=p==="./"?"":p.replace(/\/*$/,"/");this[oo](m+u)})),!u)throw new Error("Cannot pipe without source");p?u.on("data",(t=>{p.write(t)})):u.on("data",(t=>{super[Ro](t)}))}};var Hn=(t,u)=>{let p=new xo(t),m=new ns(t.file,{mode:t.mode||438});p.pipe(m),hr(p,u)},Wn=(t,u)=>{let p=new Ao(t),m=new is(t.file,{mode:t.mode||438});p.pipe(m);let g=new Promise(((t,u)=>{m.on("error",u),m.on("close",t),p.on("error",u)}));return ar(p,u).catch((t=>p.emit("error",t))),g},hr=(t,p)=>{p.forEach((p=>{p.charAt(0)==="@"?Ii({file:u.resolve(t.cwd,p.slice(1)),sync:!0,noResume:!0,onReadEntry:u=>t.add(u)}):t.add(p)})),t.end()},ar=async(t,p)=>{for(let m of p)m.charAt(0)==="@"?await Ii({file:u.resolve(String(t.cwd),m.slice(1)),noResume:!0,onReadEntry:u=>{t.add(u)}}):t.add(m);t.end()},Gn=(t,u)=>{let p=new xo(t);return hr(p,u),p},Zn=(t,u)=>{let p=new Ao(t);return ar(p,u).catch((t=>p.emit("error",t))),p},To=K(Hn,Wn,Gn,Zn,((t,u)=>{if(!u?.length)throw new TypeError("no paths specified to add to archive")}));var Co=process.env.__FAKE_PLATFORM__||process.platform,ko=Co==="win32",{O_CREAT:Io,O_NOFOLLOW:No,O_TRUNC:Do,O_WRONLY:Lo}=ut.constants,Mo=Number(process.env.__FAKE_FS_O_FILENAME__)||ut.constants.UV_FS_O_FILEMAP||0,jo=ko&&!!Mo,Fo=512*1024,Uo=Mo|Do|Io|Lo,Bo=!ko&&typeof No=="number"?No|Do|Io|Lo:null,Ho=Bo!==null?()=>Bo:jo?t=>t<Fo?Uo:"w":()=>"w";var ds=(u,p,m)=>{try{return t.lchownSync(u,p,m)}catch(t){if(t?.code!=="ENOENT")throw t}},pi=(u,p,m,g)=>{t.lchown(u,p,m,(t=>{g(t&&t?.code!=="ENOENT"?t:null)}))},qn=(t,p,m,g,y)=>{if(p.isDirectory())us(u.resolve(t,p.name),m,g,(v=>{if(v)return y(v);let b=u.resolve(t,p.name);pi(b,m,g,y)}));else{let v=u.resolve(t,p.name);pi(v,m,g,y)}},us=(u,p,m,g)=>{t.readdir(u,{withFileTypes:!0},((t,y)=>{if(t){if(t.code==="ENOENT")return g();if(t.code!=="ENOTDIR"&&t.code!=="ENOTSUP")return g(t)}if(t||!y.length)return pi(u,p,m,g);let v=y.length,b=null,a=t=>{if(!b){if(t)return g(b=t);if(--v===0)return pi(u,p,m,g)}};for(let t of y)qn(u,t,p,m,a)}))},Qn=(t,p,m,g)=>{p.isDirectory()&&ms(u.resolve(t,p.name),m,g),ds(u.resolve(t,p.name),m,g)},ms=(u,p,m)=>{let g;try{g=t.readdirSync(u,{withFileTypes:!0})}catch(t){let g=t;if(g?.code==="ENOENT")return;if(g?.code==="ENOTDIR"||g?.code==="ENOTSUP")return ds(u,p,m);throw g}for(let t of g)Qn(u,t,p,m);return ds(u,p,m)};var Vo=class extends Error{path;code;syscall="chdir";constructor(t,u){super(`${u}: Cannot cd into '${t}'`),this.path=t,this.code=u}get name(){return"CwdError"}};var zo=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,u){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=t,this.path=u}get name(){return"SymlinkError"}};var jn=(u,p)=>{t.stat(u,((t,m)=>{(t||!m.isDirectory())&&(t=new Vo(u,t?.code||"ENOTDIR")),p(t)}))},wr=(p,m,g)=>{p=Ks(p);let y=m.umask??18,v=m.mode|448,b=(v&y)!==0,w=m.uid,E=m.gid,$=typeof w=="number"&&typeof E=="number"&&(w!==m.processUid||E!==m.processGid),O=m.preserve,R=m.unlink,P=Ks(m.cwd),S=(u,m)=>{u?g(u):m&&$?us(m,w,E,(t=>S(t))):b?t.chmod(p,v,g):g()};if(p===P)return jn(p,S);if(O)return _t.mkdir(p,{mode:v,recursive:!0}).then((t=>S(null,t??void 0)),S);let A=Ks(u.relative(P,p)).split("/");ps(P,A,v,R,P,void 0,S)},ps=(p,m,g,y,v,b,w)=>{if(m.length===0)return w(null,b);let E=m.shift(),$=Ks(u.resolve(p+"/"+E));t.mkdir($,g,Sr($,m,g,y,v,b,w))},Sr=(u,p,m,g,y,v,b)=>w=>{w?t.lstat(u,((E,$)=>{if(E)E.path=E.path&&Ks(E.path),b(E);else if($.isDirectory())ps(u,p,m,g,y,v,b);else if(g)t.unlink(u,(w=>{if(w)return b(w);t.mkdir(u,m,Sr(u,p,m,g,y,v,b))}));else{if($.isSymbolicLink())return b(new zo(u,u+"/"+p.join("/")));b(w)}})):(v=v||u,ps(u,p,m,g,y,v,b))},to=u=>{let p=!1,m;try{p=t.statSync(u).isDirectory()}catch(t){m=t?.code}finally{if(!p)throw new Vo(u,m??"ENOTDIR")}},yr=(p,m)=>{p=Ks(p);let g=m.umask??18,y=m.mode|448,v=(y&g)!==0,b=m.uid,w=m.gid,E=typeof b=="number"&&typeof w=="number"&&(b!==m.processUid||w!==m.processGid),$=m.preserve,O=m.unlink,R=Ks(m.cwd),d=u=>{u&&E&&ms(u,b,w),v&&t.chmodSync(p,y)};if(p===R)return to(R),d();if($)return d(t.mkdirSync(p,{mode:y,recursive:!0})??void 0);let P=Ks(u.relative(R,p)).split("/"),A;for(let p=P.shift(),m=R;p&&(m+="/"+p);p=P.shift()){m=Ks(u.resolve(m));try{t.mkdirSync(m,y),A=A||m}catch{let u=t.lstatSync(m);if(u.isDirectory())continue;if(O){t.unlinkSync(m),t.mkdirSync(m,y),A=A||m;continue}else if(u.isSymbolicLink())return new zo(m,m+"/"+P.join("/"))}}return d(A)};var Go=Object.create(null),Wo=1e4,qo=new Set,gr=t=>{qo.has(t)?qo.delete(t):Go[t]=t.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),qo.add(t);let u=Go[t],p=qo.size-Wo;if(p>Wo/10){for(let t of qo)if(qo.delete(t),delete Go[t],--p<=0)break}return u};var Ko=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Yo=Ko==="win32",so=t=>t.split("/").slice(0,-1).reduce(((t,p)=>{let m=t.at(-1);return m!==void 0&&(p=(0,u.join)(m,p)),t.push(p||"/"),t}),[]),Xo=class{#y=new Map;#v=new Map;#_=new Set;reserve(t,p){t=Yo?["win32 parallelization disabled"]:t.map((t=>mt((0,u.join)(gr(t)))));let m=new Set(t.map((t=>so(t))).reduce(((t,u)=>t.concat(u))));this.#v.set(p,{dirs:m,paths:t});for(let u of t){let t=this.#y.get(u);t?t.push(p):this.#y.set(u,[p])}for(let t of m){let u=this.#y.get(t);if(!u)this.#y.set(t,[new Set([p])]);else{let t=u.at(-1);t instanceof Set?t.add(p):u.push(new Set([p]))}}return this.#w(p)}#b(t){let u=this.#v.get(t);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map((t=>this.#y.get(t))),dirs:[...u.dirs].map((t=>this.#y.get(t)))}}check(t){let{paths:u,dirs:p}=this.#b(t);return u.every((u=>u&&u[0]===t))&&p.every((u=>u&&u[0]instanceof Set&&u[0].has(t)))}#w(t){return this.#_.has(t)||!this.check(t)?!1:(this.#_.add(t),t((()=>this.#E(t))),!0)}#E(t){if(!this.#_.has(t))return!1;let u=this.#v.get(t);if(!u)throw new Error("invalid reservation");let{paths:p,dirs:m}=u,g=new Set;for(let u of p){let p=this.#y.get(u);if(!p||p?.[0]!==t)continue;let m=p[1];if(!m){this.#y.delete(u);continue}if(p.shift(),typeof m=="function")g.add(m);else for(let t of m)g.add(t)}for(let u of m){let p=this.#y.get(u),m=p?.[0];if(!(!p||!(m instanceof Set)))if(m.size===1&&p.length===1){this.#y.delete(u);continue}else if(m.size===1){p.shift();let t=p[0];typeof t=="function"&&g.add(t)}else m.delete(t)}return this.#_.delete(t),g.forEach((t=>this.#w(t))),!0}};var _r=()=>process.umask();var Zo=Symbol("onEntry"),Jo=Symbol("checkFs"),Qo=Symbol("checkFs2"),ea=Symbol("isReusable"),ta=Symbol("makeFs"),ra=Symbol("file"),sa=Symbol("directory"),ia=Symbol("link"),na=Symbol("symlink"),oa=Symbol("hardlink"),aa=Symbol("ensureNoSymlink"),ca=Symbol("unsupported"),la=Symbol("checkPath"),ua=Symbol("stripAbsolutePath"),ha=Symbol("mkdir"),da=Symbol("onError"),fa=Symbol("pending"),pa=Symbol("pend"),ma=Symbol("unpend"),ga=Symbol("ended"),ya=Symbol("maybeClose"),va=Symbol("skip"),_a=Symbol("doChown"),ba=Symbol("uid"),wa=Symbol("gid"),Ea=Symbol("checkedCwd"),Sa=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,$a=Sa==="win32",Oa=1024,ho=(u,p)=>{if(!$a)return t.unlink(u,p);let m=u+".DELETE."+(0,I.randomBytes)(16).toString("hex");t.rename(u,m,(u=>{if(u)return p(u);t.unlink(m,p)}))},ao=u=>{if(!$a)return t.unlinkSync(u);let p=u+".DELETE."+(0,I.randomBytes)(16).toString("hex");t.renameSync(u,p),t.unlinkSync(p)},Ir=(t,u,p)=>t!==void 0&&t===t>>>0?t:u!==void 0&&u===u>>>0?u:p,Ra=class extends ki{[ga]=!1;[Ea]=!1;[fa]=0;reservations=new Xo;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[ga]=!0,this[ya]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=t.preserveOwner===void 0&&typeof t.uid!="number"?!!(process.getuid&&process.getuid()===0):!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:Oa,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||$a,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=Ks(u.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask=="number"?t.processUmask:_r():0,this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",(t=>this[Zo](t)))}warn(t,u,p={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(p.recoverable=!1),super.warn(t,u,p)}[ya](){this[ga]&&this[fa]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[ua](t,p){let m=t[p],{type:g}=t;if(!m||this.preservePaths)return!0;let[y,v]=ce(m),b=v.replaceAll(/\\/g,"/").split("/");if(b.includes("..")||$a&&/^[a-z]:\.\.$/i.test(b[0]??"")){if(p==="path"||g==="Link")return this.warn("TAR_ENTRY_ERROR",`${p} contains '..'`,{entry:t,[p]:m}),!1;let y=u.posix.dirname(t.path),v=u.posix.normalize(u.posix.join(y,b.join("/")));if(v.startsWith("../")||v==="..")return this.warn("TAR_ENTRY_ERROR",`${p} escapes extraction directory`,{entry:t,[p]:m}),!1}return y&&(t[p]=String(v),this.warn("TAR_ENTRY_INFO",`stripping ${y} from absolute ${p}`,{entry:t,[p]:m})),!0}[la](t){let p=Ks(t.path),m=p.split("/");if(this.strip){if(m.length<this.strip)return!1;if(t.type==="Link"){let u=Ks(String(t.linkpath)).split("/");if(u.length>=this.strip)t.linkpath=u.slice(this.strip).join("/");else return!1}m.splice(0,this.strip),t.path=m.join("/")}if(isFinite(this.maxDepth)&&m.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:p,depth:m.length,maxDepth:this.maxDepth}),!1;if(!this[ua](t,"path")||!this[ua](t,"linkpath"))return!1;if(t.absolute=u.isAbsolute(t.path)?Ks(u.resolve(t.path)):Ks(u.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute=="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Ks(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:p}=u.win32.parse(String(t.absolute));t.absolute=p+Qi(String(t.absolute).slice(p.length));let{root:m}=u.win32.parse(t.path);t.path=m+Qi(t.path.slice(m.length))}return!0}[Zo](t){if(!this[la](t))return t.resume();switch(N.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Jo](t);default:return this[ca](t)}}[da](t,u){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:u}),this[ma](),u.resume())}[ha](t,u,p){wr(Ks(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:u},p)}[_a](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[ba](t){return Ir(this.uid,t.uid,this.processUid)}[wa](t){return Ir(this.gid,t.gid,this.processGid)}[ra](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.fmode,g=new is(String(u.absolute),{flags:Ho(u.size),mode:m,autoClose:!1});g.on("error",(m=>{g.fd&&t.close(g.fd,(()=>{})),g.write=()=>!0,this[da](m,u),p()}));let y=1,o=m=>{if(m){g.fd&&t.close(g.fd,(()=>{})),this[da](m,u),p();return}--y===0&&g.fd!==void 0&&t.close(g.fd,(t=>{t?this[da](t,u):this[ma](),p()}))};g.on("finish",(()=>{let p=String(u.absolute),m=g.fd;if(typeof m=="number"&&u.mtime&&!this.noMtime){y++;let g=u.atime||new Date,v=u.mtime;t.futimes(m,g,v,(u=>u?t.utimes(p,g,v,(t=>o(t&&u))):o()))}if(typeof m=="number"&&this[_a](u)){y++;let g=this[ba](u),v=this[wa](u);typeof g=="number"&&typeof v=="number"&&t.fchown(m,g,v,(u=>u?t.chown(p,g,v,(t=>o(t&&u))):o()))}o()}));let v=this.transform&&this.transform(u)||u;v!==u&&(v.on("error",(t=>{this[da](t,u),p()})),u.pipe(v)),v.pipe(g)}[sa](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.dmode;this[ha](String(u.absolute),m,(m=>{if(m){this[da](m,u),p();return}let g=1,o=()=>{--g===0&&(p(),this[ma](),u.resume())};u.mtime&&!this.noMtime&&(g++,t.utimes(String(u.absolute),u.atime||new Date,u.mtime,o)),this[_a](u)&&(g++,t.chown(String(u.absolute),Number(this[ba](u)),Number(this[wa](u)),o)),o()}))}[ca](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[na](t,p){let m=Ks(u.relative(this.cwd,u.resolve(u.dirname(String(t.absolute)),String(t.linkpath)))).split("/");this[aa](t,this.cwd,m,(()=>this[ia](t,String(t.linkpath),"symlink",p)),(u=>{this[da](u,t),p()}))}[oa](t,p){let m=Ks(u.resolve(this.cwd,String(t.linkpath))),g=Ks(String(t.linkpath)).split("/");this[aa](t,this.cwd,g,(()=>this[ia](t,m,"link",p)),(u=>{this[da](u,t),p()}))}[aa](p,m,g,y,v){let b=g.shift();if(this.preservePaths||b===void 0)return y();let w=u.resolve(m,b);t.lstat(w,((t,m)=>{if(t)return y();if(m?.isSymbolicLink())return v(new zo(w,u.resolve(w,g.join("/"))));this[aa](p,w,g,y,v)}))}[pa](){this[fa]++}[ma](){this[fa]--,this[ya]()}[va](t){this[ma](),t.resume()}[ea](t,u){return t.type==="File"&&!this.unlink&&u.isFile()&&u.nlink<=1&&!$a}[Jo](t){this[pa]();let u=[t.path];t.linkpath&&u.push(t.linkpath),this.reservations.reserve(u,(u=>this[Qo](t,u)))}[Qo](p,m){let i=t=>{m(t)},r=()=>{this[ha](this.cwd,this.dmode,(t=>{if(t){this[da](t,p),i();return}this[Ea]=!0,n()}))},n=()=>{if(p.absolute!==this.cwd){let t=Ks(u.dirname(String(p.absolute)));if(t!==this.cwd)return this[ha](t,this.dmode,(t=>{if(t){this[da](t,p),i();return}o()}))}o()},o=()=>{t.lstat(String(p.absolute),((u,m)=>{if(m&&(this.keep||this.newer&&m.mtime>(p.mtime??m.mtime))){this[va](p),i();return}if(u||this[ea](p,m))return this[ta](null,p,i);if(m.isDirectory()){if(p.type==="Directory"){let u=this.chmod&&p.mode&&(m.mode&4095)!==p.mode,c=t=>this[ta](t??null,p,i);return u?t.chmod(String(p.absolute),Number(p.mode),c):c()}if(p.absolute!==this.cwd)return t.rmdir(String(p.absolute),(t=>this[ta](t??null,p,i)))}if(p.absolute===this.cwd)return this[ta](null,p,i);ho(String(p.absolute),(t=>this[ta](t??null,p,i)))}))};this[Ea]?n():r()}[ta](t,u,p){if(t){this[da](t,u),p();return}switch(u.type){case"File":case"OldFile":case"ContiguousFile":return this[ra](u,p);case"Link":return this[oa](u,p);case"SymbolicLink":return this[na](u,p);case"Directory":case"GNUDumpDir":return this[sa](u,p)}}[ia](u,p,m,g){t[m](p,String(u.absolute),(t=>{t?this[da](t,u):(this[ma](),u.resume()),g()}))}},ye=t=>{try{return[null,t()]}catch(t){return[t,null]}},Pa=class extends Ra{sync=!0;[ta](t,u){return super[ta](t,u,(()=>{}))}[Jo](p){if(!this[Ea]){let t=this[ha](this.cwd,this.dmode);if(t)return this[da](t,p);this[Ea]=!0}if(p.absolute!==this.cwd){let t=Ks(u.dirname(String(p.absolute)));if(t!==this.cwd){let u=this[ha](t,this.dmode);if(u)return this[da](u,p)}}let[m,g]=ye((()=>t.lstatSync(String(p.absolute))));if(g&&(this.keep||this.newer&&g.mtime>(p.mtime??g.mtime)))return this[va](p);if(m||this[ea](p,g))return this[ta](null,p);if(g.isDirectory()){if(p.type==="Directory"){let u=this.chmod&&p.mode&&(g.mode&4095)!==p.mode,[m]=u?ye((()=>{t.chmodSync(String(p.absolute),Number(p.mode))})):[];return this[ta](m,p)}let[u]=ye((()=>t.rmdirSync(String(p.absolute))));this[ta](u,p)}let[y]=p.absolute===this.cwd?[]:ye((()=>ao(String(p.absolute))));this[ta](y,p)}[ra](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.fmode,r=m=>{let y;try{t.closeSync(g)}catch(t){y=t}(m||y)&&this[da](m||y,u),p()},g;try{g=t.openSync(String(u.absolute),Ho(u.size),m)}catch(t){return r(t)}let y=this.transform&&this.transform(u)||u;y!==u&&(y.on("error",(t=>this[da](t,u))),u.pipe(y)),y.on("data",(u=>{try{t.writeSync(g,u,0,u.length)}catch(t){r(t)}})),y.on("end",(()=>{let p=null;if(u.mtime&&!this.noMtime){let m=u.atime||new Date,y=u.mtime;try{t.futimesSync(g,m,y)}catch(g){try{t.utimesSync(String(u.absolute),m,y)}catch{p=g}}}if(this[_a](u)){let m=this[ba](u),y=this[wa](u);try{t.fchownSync(g,Number(m),Number(y))}catch(g){try{t.chownSync(String(u.absolute),Number(m),Number(y))}catch{p=p||g}}}r(p)}))}[sa](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.dmode,g=this[ha](String(u.absolute),m);if(g){this[da](g,u),p();return}if(u.mtime&&!this.noMtime)try{t.utimesSync(String(u.absolute),u.atime||new Date,u.mtime)}catch{}if(this[_a](u))try{t.chownSync(String(u.absolute),Number(this[ba](u)),Number(this[wa](u)))}catch{}p(),u.resume()}[ha](t,u){try{return yr(Ks(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:u})}catch(t){return t}}[aa](p,m,g,y,v){if(this.preservePaths||g.length===0)return y();let b=m;for(let p of g){b=u.resolve(b,p);let[w,E]=ye((()=>t.lstatSync(b)));if(w)return y();if(E.isSymbolicLink())return v(new zo(b,u.resolve(m,g.join("/"))))}y()}[ia](u,p,m,g){let y=`${m}Sync`;try{t[y](p,String(u.absolute)),g(),u.resume()}catch(t){return this[da](t,u)}}};var lo=u=>{let p=new Pa(u),m=u.file,g=t.statSync(m),y=u.maxReadSize||16*1024*1024;new ss(m,{readSize:y,size:g.size}).pipe(p)},co=(u,p)=>{let m=new Ra(u),g=u.maxReadSize||16*1024*1024,y=u.file;return new Promise(((u,p)=>{m.on("error",p),m.on("close",u),t.stat(y,((t,u)=>{if(t)p(t);else{let t=new rs(y,{readSize:g,size:u.size});t.on("error",p),t.pipe(m)}}))}))},Aa=K(lo,co,(t=>new Pa(t)),(t=>new Ra(t)),((t,u)=>{u?.length&&$i(t,u)}));var uo=(u,p)=>{let m=new xo(u),g=!0,y,v;try{try{y=t.openSync(u.file,"r+")}catch(p){if(p?.code==="ENOENT")y=t.openSync(u.file,"w+");else throw p}let b=t.fstatSync(y),w=Buffer.alloc(512);e:for(v=0;v<b.size;v+=512){for(let u=0,p=0;u<512;u+=p){if(p=t.readSync(y,w,u,w.length-u,v+u),v===0&&w[0]===31&&w[1]===139)throw new Error("cannot append to compressed archives");if(!p)break e}let p=new js(w);if(!p.cksumValid)break;let m=512*Math.ceil((p.size||0)/512);if(v+m+512>b.size)break;v+=m,u.mtimeCache&&p.mtime&&u.mtimeCache.set(String(p.path),p.mtime)}g=!1,mo(u,m,v,y,p)}finally{if(g)try{t.closeSync(y)}catch{}}},mo=(t,u,p,m,g)=>{let y=new ns(t.file,{fd:m,start:p});u.pipe(y),Eo(u,g)},po=(u,p)=>{p=Array.from(p);let m=new Ao(u),i=(p,m,g)=>{let a=(u,m)=>{u?t.close(p,(t=>g(u))):g(null,m)},y=0;if(m===0)return a(null,0);let v=0,b=Buffer.alloc(512),S=(g,w)=>{if(g||w===void 0)return a(g);if(v+=w,v<512&&w)return t.read(p,b,v,b.length-v,y+v,S);if(y===0&&b[0]===31&&b[1]===139)return a(new Error("cannot append to compressed archives"));if(v<512)return a(null,y);let E=new js(b);if(!E.cksumValid)return a(null,y);let $=512*Math.ceil((E.size??0)/512);if(y+$+512>m||(y+=$+512,y>=m))return a(null,y);u.mtimeCache&&E.mtime&&u.mtimeCache.set(String(E.path),E.mtime),v=0,t.read(p,b,0,512,y,S)};t.read(p,b,0,512,y,S)};return new Promise(((g,y)=>{m.on("error",y);let v="r+",a=(b,w)=>{if(b&&b.code==="ENOENT"&&v==="r+")return v="w+",t.open(u.file,v,a);if(b||!w)return y(b);t.fstat(w,((v,b)=>{if(v)return t.close(w,(()=>y(v)));i(w,b.size,((t,v)=>{if(t)return y(t);let b=new is(u.file,{fd:w,start:v});m.pipe(b),b.on("error",y),b.on("close",g),wo(m,p)}))}))};t.open(u.file,v,a)}))},Eo=(t,p)=>{p.forEach((p=>{p.charAt(0)==="@"?Ii({file:u.resolve(t.cwd,p.slice(1)),sync:!0,noResume:!0,onReadEntry:u=>t.add(u)}):t.add(p)})),t.end()},wo=async(t,p)=>{for(let m of p)m.charAt(0)==="@"?await Ii({file:u.resolve(String(t.cwd),m.slice(1)),noResume:!0,onReadEntry:u=>t.add(u)}):t.add(m);t.end()},xa=K(uo,po,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,u)=>{if(!Fs(t))throw new TypeError("file is required");if(t.gzip||t.brotli||t.zstd||t.file.endsWith(".br")||t.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!u?.length)throw new TypeError("no paths specified to add/replace")}));var Ta=K(xa.syncFile,xa.asyncFile,xa.syncNoFile,xa.asyncNoFile,((t,u=[])=>{xa.validate?.(t,u),yo(t)})),yo=t=>{let u=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=u?(p,m)=>u(p,m)&&!((t.mtimeCache?.get(p)??m.mtime??0)>(m.mtime??0)):(u,p)=>!((t.mtimeCache?.get(u)??p.mtime??0)>(p.mtime??0))};async function isUrlOk(t){try{const u=await fetch(t,{method:"HEAD"});return u.status===200}catch{return false}}async function getRepoInfo(t,u){const[,p,m,g,y,...v]=t.pathname.split("/");const b=u?u.replace(/^\//,""):v.join("/");if(g===undefined||g===""&&y===undefined){try{const t=await fetch(`https://api.github.com/repos/${p}/${m}`);if(t.status!==200){return}const u=await t.json();return{username:p,name:m,branch:u.default_branch,filePath:b}}catch{return}}const w=u?`${y}/${v.join("/")}`.replace(new RegExp(`/${b}|/$`),""):y;if(p&&m&&w&&g==="tree"){return{username:p,name:m,branch:w,filePath:b}}}function hasRepo({username:t,name:u,branch:p,filePath:m}){const g=`https://api.github.com/repos/${t}/${u}/contents`;const y=`${m?`/${m}`:""}/package.json`;return isUrlOk(`${g}${y}?ref=${p}`)}function existsInRepo(t){try{const u=new URL(t);return isUrlOk(u.href)}catch{return isUrlOk(`https://api.github.com/repos/zuplo/zudoku/contents/examples/${encodeURIComponent(t)}`)}}async function downloadTarStream(t){const u=await fetch(t);if(!u.body){throw new Error(`Failed to download: ${t}`)}return z.Readable.fromWeb(u.body)}async function downloadAndExtractRepo(t,{username:p,name:m,branch:g,filePath:y}){let v=null;await(0,ot.pipeline)(await downloadTarStream(`https://codeload.github.com/${p}/${m}/tar.gz/${g}`),Aa({cwd:t,strip:y?y.split("/").length+1:1,filter:t=>{if(v===null){const p=t.split(u.sep);v=p.length?p[0]:null}return t.startsWith(`${v}${y?`/${y}/`:"/"}`)}}))}async function downloadAndExtractExample(t,u){if(u==="__internal-testing-retry"){throw new Error("This is an internal example for testing the CLI.")}await(0,ot.pipeline)(await downloadTarStream("https://codeload.github.com/zuplo/zudoku/tar.gz/canary"),Aa({cwd:t,strip:2+u.split("/").length,filter:t=>t.includes(`zudoku-canary/examples/${u}/`)}))}var Ca=__nccwpck_require__(1421);function isInGitRepository(){try{(0,Ca.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"});return true}catch{}return false}function isInMercurialRepository(){try{(0,Ca.execSync)("hg --cwd . root",{stdio:"ignore"});return true}catch{}return false}function isDefaultBranchSet(){try{(0,Ca.execSync)("git config init.defaultBranch",{stdio:"ignore"});return true}catch{}return false}function tryGitInit(p){let m=false;try{(0,Ca.execSync)("git --version",{stdio:"ignore"});if(isInGitRepository()||isInMercurialRepository()){return false}(0,Ca.execSync)("git init",{stdio:"ignore"});m=true;if(!isDefaultBranchSet()){(0,Ca.execSync)("git checkout -b main",{stdio:"ignore"})}(0,Ca.execSync)("git add -A",{stdio:"ignore"});(0,Ca.execSync)('git commit -m "Initial commit from Create Next App"',{stdio:"ignore"});return true}catch{if(m){try{(0,t.rmSync)((0,u.join)(p,".git"),{recursive:true,force:true})}catch{}}return false}}var ka=__nccwpck_require__(670);var Ia=__nccwpck_require__.n(ka);async function install(t,u){const p=["install"];if(!u){console.log((0,Qe.yellow)("You appear to be offline.\nFalling back to the local cache."));p.push("--offline")}return new Promise(((u,m)=>{const g=Ia()(t,p,{stdio:"inherit",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}});g.on("close",(g=>{if(g!==0){m({command:`${t} ${p.join(" ")}`});return}u()}))}))}function isFolderEmpty(p,m){const g=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"];const y=(0,t.readdirSync)(p).filter((t=>!g.includes(t)&&!/\.iml$/.test(t)));if(y.length>0){console.log(`The directory ${(0,Qe.green)(m)} contains files that could conflict:`);console.log();for(const m of y){try{const g=(0,t.lstatSync)((0,u.join)(p,m));if(g.isDirectory()){console.log(` ${(0,Qe.blue)(m)}/`)}else{console.log(` ${m}`)}}catch{console.log(` ${m}`)}}console.log();console.log("Either try using a new directory name, or remove the files listed above.");console.log();return false}return true}const Na=require("node:dns/promises");const Da=require("node:url");var La=__nccwpck_require__.n(Da);function getProxy(){if(process.env.https_proxy){return process.env.https_proxy}try{const t=(0,Ca.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:undefined}catch{return}}async function getOnline(){try{await(0,Na.lookup)("registry.yarnpkg.com");return true}catch{const t=getProxy();if(!t){return false}const{hostname:u}=La().parse(t);if(!u){return false}try{await(0,Na.lookup)(u);return true}catch{return false}}}const Ma=require("node:constants");async function isWriteable(t){try{await(0,_t.access)(t,Ma.W_OK);return true}catch{return false}}var ja=__nccwpck_require__(2457);const identity=t=>t;const copy=async(t,p,{cwd:m,rename:g=identity,parents:y=true}={})=>{const v=typeof t==="string"?[t]:t;if(v.length===0||!p){throw new TypeError("`src` and `dest` are required")}const b=await(0,ja.async)(v,{cwd:m,dot:true,absolute:false,stats:false});const w=m?(0,u.resolve)(m,p):p;return Promise.all(b.map((async t=>{const p=(0,u.dirname)(t);const v=g((0,u.basename)(t));const b=m?(0,u.resolve)(m,t):t;const E=y?(0,u.join)(w,p,v):(0,u.join)(w,v);await(0,_t.mkdir)((0,u.dirname)(E),{recursive:true});return(0,_t.copyFile)(b,E)})))};const Fa=__dirname.endsWith("dist")?p().join(__dirname,"templates"):__dirname;const getTemplateFile=({template:t,mode:u,file:m})=>p().join(Fa,t,u,m);const installTemplate=async({appName:t,root:u,packageManager:m,isOnline:g,template:y,mode:v,eslint:b,skipInstall:w,zudokuVersion:E})=>{var $;console.log((0,Qe.bold)(`Using ${m}.`));console.log("\nInitializing project with template:",y,"\n");const O=p().join(Fa,y,v);const R=["**"];if(!b)R.push("!eslintrc.json");await copy(R,u,{parents:true,cwd:O,rename(t){switch(t){case"gitignore":case"eslintrc.json":{return`.${t}`}case"README-template.md":{return"README.md"}default:{return t}}}});const P=($=process.env.ZUDOKU_PRIVATE_TEST_VERSION)!==null&&$!==void 0?$:E;const A={name:t,version:"0.1.0",type:"module",private:true,scripts:{dev:"zudoku dev",build:"zudoku build",preview:"zudoku preview",lint:"eslint"},dependencies:{react:">=19.0.0","react-dom":">=19.0.0",zudoku:P},devDependencies:{}};if(v==="ts"){A.devDependencies={...A.devDependencies,"@types/node":"^22","@types/react":"^19","@types/react-dom":"^19",typescript:"^6"}}if(b){A.devDependencies={...A.devDependencies,eslint:"^8"}}if(b&&v==="ts"){A.devDependencies={...A.devDependencies,"@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8"}}const x=Object.keys(A.devDependencies).length;if(!x)delete A.devDependencies;await bt().writeFile(p().join(u,"package.json"),JSON.stringify(A,null,2)+j().EOL);if(w)return;console.log("\nInstalling dependencies:");for(const t in A.dependencies)console.log(`- ${(0,Qe.cyan)(t)}`);if(x){console.log("\nInstalling devDependencies:");for(const t in A.devDependencies)console.log(`- ${(0,Qe.cyan)(t)}`)}console.log();await install(m,g)};class DownloadError extends Error{}async function createApp({appPath:p,packageManager:m,example:g,examplePath:y,typescript:v,eslint:b,skipInstall:w,zudokuVersion:E}){let $;const O=v?"ts":"js";const R=`default`;if(g){let D;try{D=new URL(g)}catch(L){const M=L;if(M.code!=="ERR_INVALID_URL"){console.error(L);process.exit(1)}}if(D){if(D.origin!=="https://github.com"){console.error(`Invalid URL: ${(0,Qe.red)(`"${g}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}$=await getRepoInfo(D,y);if(!$){console.error(`Found invalid GitHub URL: ${(0,Qe.red)(`"${g}"`)}. Please fix the URL and try again.`);process.exit(1)}const j=await hasRepo($);if(!j){console.error(`Could not locate the repository for ${(0,Qe.red)(`"${g}"`)}. Please check that the repository exists and try again.`);process.exit(1)}}else if(g!=="__internal-testing-retry"){const U=await existsInRepo(g);if(!U){console.error(`Could not locate an example named ${(0,Qe.red)(`"${g}"`)}. It could be due to the following:\n`,`1. Your spelling of example ${(0,Qe.red)(`"${g}"`)} might be incorrect.\n`,`2. You might not be connected to the internet or you are behind a proxy.`);process.exit(1)}}}const P=(0,u.resolve)(p);if(!await isWriteable((0,u.dirname)(P))){console.error("The application path is not writable, please check folder permissions and try again.");console.error("It is likely you do not have write permissions for this folder.");process.exit(1)}const A=(0,u.basename)(P);(0,t.mkdirSync)(P,{recursive:true});if(!isFolderEmpty(P,A)){process.exit(1)}const x=m==="yarn";const T=!x||await getOnline();const C=process.cwd();console.log(`Creating a new Zudoku app in ${(0,Qe.green)(P)}.`);console.log();process.chdir(P);const k=(0,u.join)(P,"package.json");let I=false;if(g){try{if($){const H=$;console.log(`Downloading files from repo ${(0,Qe.cyan)(g)}. This might take a moment.`);console.log();await nt()((()=>downloadAndExtractRepo(P,H)),{retries:3})}else{console.log(`Downloading files for example ${(0,Qe.cyan)(g)}. This might take a moment.`);console.log();await nt()((()=>downloadAndExtractExample(P,g)),{retries:3})}}catch(V){function isErrorLike(t){return typeof t==="object"&&t!==null&&typeof t.message==="string"}throw new DownloadError(isErrorLike(V)?V.message:String(V))}const B=(0,u.join)(P,".gitignore");if(!(0,t.existsSync)(B)){(0,t.copyFileSync)(getTemplateFile({template:R,mode:O,file:"gitignore"}),B)}I=(0,t.existsSync)(k);if(!w&&I){console.log("Installing packages. This might take a couple of minutes.");console.log();await install(m,T);console.log()}}else{await installTemplate({appName:A,root:P,template:R,mode:O,packageManager:m,isOnline:T,eslint:b,skipInstall:w,zudokuVersion:E})}if(tryGitInit(P)){console.log("Initialized a git repository.");console.log()}let N;if((0,u.join)(C,A)===p){N=A}else{N=p}console.log(`${(0,Qe.green)("Success!")} Created ${A} at ${p}`);if(I){console.log("Inside that directory, you can run several commands:");console.log();console.log((0,Qe.cyan)(` ${m} ${x?"":"run "}dev`));console.log(" Starts the development server.");console.log();console.log((0,Qe.cyan)(` ${m} ${x?"":"run "}build`));console.log(" Builds the app for production.");console.log();console.log((0,Qe.cyan)(` ${m} start`));console.log(" Runs the built app in production mode.");console.log();console.log("We suggest that you begin by typing:");console.log();console.log((0,Qe.cyan)(" cd"),N);console.log(` ${(0,Qe.cyan)(`${m} ${x?"":"run "}dev`)}`)}console.log()}function getPkgManager(){var t;const u=(t=process.env.npm_config_user_agent)!==null&&t!==void 0?t:"";if(u.startsWith("yarn")){return"yarn"}if(u.startsWith("pnpm")){return"pnpm"}if(u.startsWith("bun")){return"bun"}return"npm"}var Ua=__nccwpck_require__(8904);var Ba=__nccwpck_require__.n(Ua);function validateNpmName(t){const u=Ba()(t);if(u.validForNewPackages){return{valid:true}}return{valid:false,problems:[...u.errors||[],...u.warnings||[]]}}let Ha="";const handleSigTerm=()=>process.exit(0);process.on("SIGINT",handleSigTerm);process.on("SIGTERM",handleSigTerm);const onPromptState=t=>{if(t.aborted){process.stdout.write("[?25h");process.stdout.write("\n");process.exit(1)}};const Va=JSON.parse((0,t.readFileSync)(p().resolve(__dirname,"../package.json"),"utf-8"));const za=new P(Va.name).version(Va.version,"-v, --version","Output the current version of create-zudoku.").description("Create a new Zudoku API documentation project.\n\nRun without arguments for an interactive setup, or use --yes for a quick start with sensible defaults.").argument("[directory]",'Project directory (defaults to "my-app")').usage("[directory] [options]").helpOption("-h, --help","Display this help message.").option("--ts, --typescript","Initialize as a TypeScript project (default).").option("--js, --javascript","Initialize as a JavaScript project.").option("--eslint","Initialize with ESLint config.").option("--import-alias <prefix/*>",'Specify import alias to use (default "@/*").').option("--use-npm","Use npm as the package manager.").option("--use-pnpm","Use pnpm as the package manager.").option("--use-yarn","Use Yarn as the package manager.").option("--use-bun","Use Bun as the package manager.").option("--reset, --reset-preferences","Reset the preferences saved for create-zudoku.").option("--skip-install","Skip installing packages after scaffolding.").option("-y, --yes",'Skip all prompts and use defaults (TypeScript, ESLint, directory "my-app").').option("-e, --example <example-name|github-url>","Bootstrap from an example in the Zudoku repo or a public GitHub URL.").option("--example-path <path-to-example>","Path to the example within the repo (use when the branch name contains slashes).").addHelpText("after",`\nExamples:\n $ npm create zudoku@latest\n $ npm create zudoku@latest my-docs\n $ npm create zudoku@latest my-docs --yes\n $ npm create zudoku@latest --yes --js --skip-install\n`).action((t=>{if(t&&!t.startsWith("--no-")){Ha=t}})).allowUnknownOption().parse(process.argv);const Ga=za.opts();const{args:Wa}=za;const qa=Ga.useNpm?"npm":Ga.usePnpm?"pnpm":Ga.useYarn?"yarn":Ga.useBun?"bun":getPkgManager();async function run(){const p=new Conf({projectName:"create-zudoku"});if(Ga.resetPreferences){const{resetPreferences:t}=await tt()({onState:onPromptState,type:"toggle",name:"resetPreferences",message:"Would you like to reset the saved preferences?",initial:false,active:"Yes",inactive:"No"});if(t){p.clear();console.log("The preferences have been reset successfully!")}process.exit(0)}const m=g().isCI||Ga.yes;if(typeof Ha==="string"){Ha=Ha.trim()}if(!Ha){if(m){Ha="my-app"}else{const t=await tt()({onState:onPromptState,type:"text",name:"path",message:"What is your project named?",initial:"my-app",validate:t=>{const p=validateNpmName((0,u.basename)((0,u.resolve)(t)));if(p.valid){return true}return`Invalid project name: ${p.problems[0]}`}});if(typeof t.path==="string"){Ha=t.path.trim()}}}if(!Ha){console.log("\nPlease specify the project directory:\n"+` ${(0,Qe.cyan)(Ga.name())} ${(0,Qe.green)("<project-directory>")}\n`+"For example:\n"+` ${(0,Qe.cyan)(Ga.name())} ${(0,Qe.green)("my-zudoku-app")}\n\n`+`Run ${(0,Qe.cyan)(`${Ga.name()} --help`)} to see all options.`);process.exit(1)}const y=(0,u.resolve)(Ha);const v=(0,u.basename)(y);const b=validateNpmName(v);if(!b.valid){console.error(`Could not create a project called ${(0,Qe.red)(`"${v}"`)} because of npm naming restrictions:`);b.problems.forEach((t=>console.error(` ${(0,Qe.red)((0,Qe.bold)("*"))} ${t}`)));process.exit(1)}if(Ga.example===true){console.error("Please provide an example name or url, otherwise remove the example option.");process.exit(1)}if((0,t.existsSync)(y)&&!isFolderEmpty(y,v)){process.exit(1)}const w=typeof Ga.example==="string"&&Ga.example.trim();const E=p.get("preferences")||{};if(!w){const t={typescript:true,eslint:true,empty:false};const getPrefOrDefault=u=>{var p;return(p=E[u])!==null&&p!==void 0?p:t[u]};if(!Ga.typescript&&!Ga.javascript){if(m){Ga.typescript=getPrefOrDefault("typescript")}else{const t=(0,Qe.blue)("TypeScript");const{typescript:u}=await tt()({type:"toggle",name:"typescript",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("typescript"),active:"Yes",inactive:"No"},{onCancel:()=>{console.error("Exiting.");process.exit(1)}});Ga.typescript=Boolean(u);Ga.javascript=!u;E.typescript=Boolean(u)}}if(!Ga.eslint&&!Wa.includes("--no-eslint")){if(m){Ga.eslint=getPrefOrDefault("eslint")}else{const t=(0,Qe.blue)("ESLint");const{eslint:u}=await tt()({onState:onPromptState,type:"toggle",name:"eslint",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("eslint"),active:"Yes",inactive:"No"});Ga.eslint=Boolean(u);E.eslint=Boolean(u)}}}try{await createApp({appPath:y,packageManager:qa,example:w&&w!=="default"?w:undefined,examplePath:Ga.examplePath,typescript:Ga.typescript,eslint:Ga.eslint,skipInstall:Ga.skipInstall,zudokuVersion:Va.version})}catch(t){if(!(t instanceof DownloadError)){throw t}const u=await tt()({onState:onPromptState,type:"confirm",name:"builtin",message:`Could not download "${w}" because of a connectivity issue between your machine and GitHub.\n`+`Do you want to use the default template instead?`,initial:true});if(!u.builtin){throw t}await createApp({appPath:y,packageManager:qa,typescript:Ga.typescript,eslint:Ga.eslint,skipInstall:Ga.skipInstall,zudokuVersion:Va.version})}p.set("preferences",E)}const Ka=st()(Va).catch((()=>null));async function notifyUpdate(){var t;try{if((t=await Ka)===null||t===void 0?void 0:t.latest){const t={npm:"npm i -g",yarn:"yarn global add",pnpm:"pnpm add -g",bun:"bun add -g"};const u=`${t[qa]} create-zudoku`;console.log((0,Qe.yellow)((0,Qe.bold)("A new version of `create-zudoku` is available!"))+"\n"+"You can update by running: "+(0,Qe.cyan)(u)+"\n")}process.exit(0)}catch{}}async function exit(t){console.log();console.log("Aborting installation.");if(t.command){console.log(` ${(0,Qe.cyan)(t.command)} has failed.`)}else{console.log(`${(0,Qe.red)("Unexpected error. Please report it as a bug:")}\n`,t)}console.log();await notifyUpdate();process.exit(1)}run().then(notifyUpdate).catch(exit)})();module.exports=p})();
72
+ */const m=p(952);const toRegexRange=(t,u,p)=>{if(m(t)===false){throw new TypeError("toRegexRange: expected the first argument to be a number")}if(u===void 0||t===u){return String(t)}if(m(u)===false){throw new TypeError("toRegexRange: expected the second argument to be a number.")}let g={relaxZeros:true,...p};if(typeof g.strictZeros==="boolean"){g.relaxZeros=g.strictZeros===false}let y=String(g.relaxZeros);let v=String(g.shorthand);let b=String(g.capture);let w=String(g.wrap);let E=t+":"+u+"="+y+v+b+w;if(toRegexRange.cache.hasOwnProperty(E)){return toRegexRange.cache[E].result}let $=Math.min(t,u);let O=Math.max(t,u);if(Math.abs($-O)===1){let p=t+"|"+u;if(g.capture){return`(${p})`}if(g.wrap===false){return p}return`(?:${p})`}let R=hasPadding(t)||hasPadding(u);let P={min:t,max:u,a:$,b:O};let A=[];let x=[];if(R){P.isPadded=R;P.maxLen=String(P.max).length}if($<0){let t=O<0?Math.abs(O):1;x=splitToPatterns(t,Math.abs($),P,g);$=P.a=0}if(O>=0){A=splitToPatterns($,O,P,g)}P.negatives=x;P.positives=A;P.result=collatePatterns(x,A,g);if(g.capture===true){P.result=`(${P.result})`}else if(g.wrap!==false&&A.length+x.length>1){P.result=`(?:${P.result})`}toRegexRange.cache[E]=P;return P.result};function collatePatterns(t,u,p){let m=filterPatterns(t,u,"-",false,p)||[];let g=filterPatterns(u,t,"",false,p)||[];let y=filterPatterns(t,u,"-?",true,p)||[];let v=m.concat(y).concat(g);return v.join("|")}function splitToRanges(t,u){let p=1;let m=1;let g=countNines(t,p);let y=new Set([u]);while(t<=g&&g<=u){y.add(g);p+=1;g=countNines(t,p)}g=countZeros(u+1,m)-1;while(t<g&&g<=u){y.add(g);m+=1;g=countZeros(u+1,m)-1}y=[...y];y.sort(compare);return y}function rangeToPattern(t,u,p){if(t===u){return{pattern:t,count:[],digits:0}}let m=zip(t,u);let g=m.length;let y="";let v=0;for(let t=0;t<g;t++){let[u,g]=m[t];if(u===g){y+=u}else if(u!=="0"||g!=="9"){y+=toCharacterClass(u,g,p)}else{v++}}if(v){y+=p.shorthand===true?"\\d":"[0-9]"}return{pattern:y,count:[v],digits:g}}function splitToPatterns(t,u,p,m){let g=splitToRanges(t,u);let y=[];let v=t;let b;for(let t=0;t<g.length;t++){let u=g[t];let w=rangeToPattern(String(v),String(u),m);let E="";if(!p.isPadded&&b&&b.pattern===w.pattern){if(b.count.length>1){b.count.pop()}b.count.push(w.count[0]);b.string=b.pattern+toQuantifier(b.count);v=u+1;continue}if(p.isPadded){E=padZeros(u,p,m)}w.string=E+w.pattern+toQuantifier(w.count);y.push(w);v=u+1;b=w}return y}function filterPatterns(t,u,p,m,g){let y=[];for(let g of t){let{string:t}=g;if(!m&&!contains(u,"string",t)){y.push(p+t)}if(m&&contains(u,"string",t)){y.push(p+t)}}return y}function zip(t,u){let p=[];for(let m=0;m<t.length;m++)p.push([t[m],u[m]]);return p}function compare(t,u){return t>u?1:u>t?-1:0}function contains(t,u,p){return t.some((t=>t[u]===p))}function countNines(t,u){return Number(String(t).slice(0,-u)+"9".repeat(u))}function countZeros(t,u){return t-t%Math.pow(10,u)}function toQuantifier(t){let[u=0,p=""]=t;if(p||u>1){return`{${u+(p?","+p:"")}}`}return""}function toCharacterClass(t,u,p){return`[${t}${u-t===1?"":"-"}${u}]`}function hasPadding(t){return/^-?(0+)\d/.test(t)}function padZeros(t,u,p){if(!u.isPadded){return t}let m=Math.abs(u.maxLen-String(t).length);let g=p.relaxZeros!==false;switch(m){case 0:return"";case 1:return g?"0?":"0";case 2:return g?"0{0,2}":"00";default:{return g?`0{0,${m}}`:`0{${m}}`}}}toRegexRange.cache={};toRegexRange.clearCache=()=>toRegexRange.cache={};t.exports=toRegexRange},5059:(t,u,p)=>{const{URL:m}=p(7016);const{join:g}=p(6928);const y=p(9896);const{promisify:v}=p(9023);const{tmpdir:b}=p(857);const w=p(3805);const E=v(y.writeFile);const $=v(y.mkdir);const O=v(y.readFile);const compareVersions=(t,u)=>t.localeCompare(u,"en-US",{numeric:true});const encode=t=>encodeURIComponent(t).replace(/^%40/,"@");const getFile=async(t,u)=>{const p=b();const m=g(p,"update-check");if(!y.existsSync(m)){await $(m)}let v=`${t.name}-${u}.json`;if(t.scope){v=`${t.scope}-${v}`}return g(m,v)};const evaluateCache=async(t,u,p)=>{if(y.existsSync(t)){const m=await O(t,"utf8");const{lastUpdate:g,latest:y}=JSON.parse(m);const v=g+p;if(v>u){return{shouldCheck:false,latest:y}}}return{shouldCheck:true,latest:null}};const updateCache=async(t,u,p)=>{const m=JSON.stringify({latest:u,lastUpdate:p});await E(t,m,"utf8")};const loadPackage=(t,u)=>new Promise(((m,g)=>{const y={host:t.hostname,path:t.pathname,port:t.port,headers:{accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"},timeout:2e3};if(u){y.headers.authorization=`${u.type} ${u.token}`}const{get:v}=p(t.protocol==="https:"?5692:8611);v(y,(t=>{const{statusCode:u}=t;if(u!==200){const p=new Error(`Request failed with code ${u}`);p.code=u;g(p);t.resume();return}let p="";t.setEncoding("utf8");t.on("data",(t=>{p+=t}));t.on("end",(()=>{try{const t=JSON.parse(p);m(t)}catch(t){g(t)}}))})).on("error",g).on("timeout",g)}));const getMostRecent=async({full:t,scope:u},g)=>{const y=w(u);const v=new m(t,y);let b=null;try{b=await loadPackage(v)}catch(t){if(t.code&&String(t.code).startsWith(4)){const t=p(4133);const u=t(y,{recursive:true});b=await loadPackage(v,u)}else{throw t}}const E=b["dist-tags"][g];if(!E){throw new Error(`Distribution tag ${g} is not available`)}return E};const R={interval:36e5,distTag:"latest"};const getDetails=t=>{const u={full:encode(t)};if(t.includes("/")){const p=t.split("/");u.scope=p[0];u.name=p[1]}else{u.scope=null;u.name=t}return u};t.exports=async(t,u)=>{if(typeof t!=="object"){throw new Error("The first parameter should be your package.json file content")}const p=getDetails(t.name);const m=Date.now();const{distTag:g,interval:y}=Object.assign({},R,u);const v=await getFile(p,g);let b=null;let w=true;({shouldCheck:w,latest:b}=await evaluateCache(v,m,y));if(w){b=await getMostRecent(p,g);await updateCache(v,b,m)}const E=compareVersions(t.version,b);if(E===-1){return{latest:b,fromCache:!w}}return null}},8904:(t,u,p)=>{"use strict";const m=p(6737);var g=new RegExp("^(?:@([^/]+?)[/])?([^/]+?)$");var y=["node_modules","favicon.ico"];function validate(t){var u=[];var p=[];if(t===null){p.push("name cannot be null");return done(u,p)}if(t===undefined){p.push("name cannot be undefined");return done(u,p)}if(typeof t!=="string"){p.push("name must be a string");return done(u,p)}if(!t.length){p.push("name length must be greater than zero")}if(t.startsWith(".")){p.push("name cannot start with a period")}if(t.startsWith("-")){p.push("name cannot start with a hyphen")}if(t.match(/^_/)){p.push("name cannot start with an underscore")}if(t.trim()!==t){p.push("name cannot contain leading or trailing spaces")}y.forEach((function(u){if(t.toLowerCase()===u){p.push(u+" is not a valid package name")}}));if(m.includes(t.toLowerCase())){u.push(t+" is a core module name")}if(t.length>214){u.push("name can no longer contain more than 214 characters")}if(t.toLowerCase()!==t){u.push("name can no longer contain capital letters")}if(/[~'!()*]/.test(t.split("/").slice(-1)[0])){u.push('name can no longer contain special characters ("~\'!()*")')}if(encodeURIComponent(t)!==t){var v=t.match(g);if(v){var b=v[1];var w=v[2];if(w.startsWith(".")){p.push("name cannot start with a period")}if(encodeURIComponent(b)===b&&encodeURIComponent(w)===w){return done(u,p)}}p.push("name can only contain URL-friendly characters")}return done(u,p)}var done=function(t,u){var p={validForNewPackages:u.length===0&&t.length===0,validForOldPackages:u.length===0,warnings:t,errors:u};if(!p.warnings.length){delete p.warnings}if(!p.errors.length){delete p.errors}return p};t.exports=validate},1192:(t,u,p)=>{const m=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys";const g=p(6928);const y=m?";":":";const v=p(7105);const getNotFoundError=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"});const getPathInfo=(t,u)=>{const p=u.colon||y;const g=t.match(/\//)||m&&t.match(/\\/)?[""]:[...m?[process.cwd()]:[],...(u.path||process.env.PATH||"").split(p)];const v=m?u.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"";const b=m?v.split(p):[""];if(m){if(t.indexOf(".")!==-1&&b[0]!=="")b.unshift("")}return{pathEnv:g,pathExt:b,pathExtExe:v}};const which=(t,u,p)=>{if(typeof u==="function"){p=u;u={}}if(!u)u={};const{pathEnv:m,pathExt:y,pathExtExe:b}=getPathInfo(t,u);const w=[];const step=p=>new Promise(((y,v)=>{if(p===m.length)return u.all&&w.length?y(w):v(getNotFoundError(t));const b=m[p];const E=/^".*"$/.test(b)?b.slice(1,-1):b;const $=g.join(E,t);const O=!E&&/^\.[\\\/]/.test(t)?t.slice(0,2)+$:$;y(subStep(O,p,0))}));const subStep=(t,p,m)=>new Promise(((g,E)=>{if(m===y.length)return g(step(p+1));const $=y[m];v(t+$,{pathExt:b},((y,v)=>{if(!y&&v){if(u.all)w.push(t+$);else return g(t+$)}return g(subStep(t,p,m+1))}))}));return p?step(0).then((t=>p(null,t)),p):step(0)};const whichSync=(t,u)=>{u=u||{};const{pathEnv:p,pathExt:m,pathExtExe:y}=getPathInfo(t,u);const b=[];for(let w=0;w<p.length;w++){const E=p[w];const $=/^".*"$/.test(E)?E.slice(1,-1):E;const O=g.join($,t);const R=!$&&/^\.[\\\/]/.test(t)?t.slice(0,2)+O:O;for(let t=0;t<m.length;t++){const p=R+m[t];try{const t=v.sync(p,{pathExt:y});if(t){if(u.all)b.push(p);else return p}}catch(t){}}}if(u.all&&b.length)return b;if(u.nothrow)return null;throw getNotFoundError(t)};t.exports=which;which.sync=whichSync},181:t=>{"use strict";t.exports=require("buffer")},5317:t=>{"use strict";t.exports=require("child_process")},4434:t=>{"use strict";t.exports=require("events")},9896:t=>{"use strict";t.exports=require("fs")},8611:t=>{"use strict";t.exports=require("http")},5692:t=>{"use strict";t.exports=require("https")},1421:t=>{"use strict";t.exports=require("node:child_process")},8474:t=>{"use strict";t.exports=require("node:events")},3024:t=>{"use strict";t.exports=require("node:fs")},6760:t=>{"use strict";t.exports=require("node:path")},1708:t=>{"use strict";t.exports=require("node:process")},857:t=>{"use strict";t.exports=require("os")},6928:t=>{"use strict";t.exports=require("path")},3785:t=>{"use strict";t.exports=require("readline")},2203:t=>{"use strict";t.exports=require("stream")},7016:t=>{"use strict";t.exports=require("url")},9023:t=>{"use strict";t.exports=require("util")},4732:(t,u,p)=>{"use strict";const m=p(7028);const g=process.env;Object.defineProperty(u,"_vendors",{value:m.map((function(t){return t.constant}))});u.name=null;u.isPR=null;u.id=null;if(g.CI!=="false"){m.forEach((function(t){const p=Array.isArray(t.env)?t.env:[t.env];const m=p.every((function(t){return checkEnv(t)}));u[t.constant]=m;if(!m){return}u.name=t.name;u.isPR=checkPR(t);u.id=t.constant}))}u.isCI=!!(g.CI!=="false"&&(g.BUILD_ID||g.BUILD_NUMBER||g.CI||g.CI_APP_ID||g.CI_BUILD_ID||g.CI_BUILD_NUMBER||g.CI_NAME||g.CONTINUOUS_INTEGRATION||g.RUN_ID||u.name||false));function checkEnv(t){if(typeof t==="string")return!!g[t];if("env"in t){return g[t.env]&&g[t.env].includes(t.includes)}if("any"in t){return t.any.some((function(t){return!!g[t]}))}return Object.keys(t).every((function(u){return g[u]===t[u]}))}function checkPR(t){switch(typeof t.pr){case"string":return!!g[t.pr];case"object":if("env"in t.pr){if("any"in t.pr){return t.pr.any.some((function(u){return g[t.pr.env]===u}))}else{return t.pr.env in g&&g[t.pr.env]!==t.pr.ne}}else if("any"in t.pr){return t.pr.any.some((function(t){return!!g[t]}))}else{return checkEnv(t.pr)}default:return null}}},206:(t,u,p)=>{const{Argument:m}=p(1455);const{Command:g}=p(4623);const{CommanderError:y,InvalidArgumentError:v}=p(9400);const{Help:b}=p(2559);const{Option:w}=p(1033);u.DM=new g;u.gu=t=>new g(t);u.Ww=(t,u)=>new w(t,u);u.er=(t,u)=>new m(t,u);u.uB=g;u.c$=w;u.ef=m;u._V=b;u.b7=y;u.Di=v;u.a2=v},1455:(t,u,p)=>{const{InvalidArgumentError:m}=p(9400);class Argument{constructor(t,u){this.description=u||"";this.variadic=false;this.parseArg=undefined;this.defaultValue=undefined;this.defaultValueDescription=undefined;this.argChoices=undefined;switch(t[0]){case"<":this.required=true;this._name=t.slice(1,-1);break;case"[":this.required=false;this._name=t.slice(1,-1);break;default:this.required=true;this._name=t;break}if(this._name.endsWith("...")){this.variadic=true;this._name=this._name.slice(0,-3)}}name(){return this._name}_collectValue(t,u){if(u===this.defaultValue||!Array.isArray(u)){return[t]}u.push(t);return u}default(t,u){this.defaultValue=t;this.defaultValueDescription=u;return this}argParser(t){this.parseArg=t;return this}choices(t){this.argChoices=t.slice();this.parseArg=(t,u)=>{if(!this.argChoices.includes(t)){throw new m(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._collectValue(t,u)}return t};return this}argRequired(){this.required=true;return this}argOptional(){this.required=false;return this}}function humanReadableArgName(t){const u=t.name()+(t.variadic===true?"...":"");return t.required?"<"+u+">":"["+u+"]"}u.Argument=Argument;u.humanReadableArgName=humanReadableArgName},4623:(t,u,p)=>{const m=p(8474).EventEmitter;const g=p(1421);const y=p(6760);const v=p(3024);const b=p(1708);const{Argument:w,humanReadableArgName:E}=p(1455);const{CommanderError:$}=p(9400);const{Help:O,stripColor:R}=p(2559);const{Option:P,DualOptions:A}=p(1033);const{suggestSimilar:x}=p(3683);class Command extends m{constructor(t){super();this.commands=[];this.options=[];this.parent=null;this._allowUnknownOption=false;this._allowExcessArguments=false;this.registeredArguments=[];this._args=this.registeredArguments;this.args=[];this.rawArgs=[];this.processedArgs=[];this._scriptPath=null;this._name=t||"";this._optionValues={};this._optionValueSources={};this._storeOptionsAsProperties=false;this._actionHandler=null;this._executableHandler=false;this._executableFile=null;this._executableDir=null;this._defaultCommandName=null;this._exitCallback=null;this._aliases=[];this._combineFlagAndOptionalValue=true;this._description="";this._summary="";this._argsDescription=undefined;this._enablePositionalOptions=false;this._passThroughOptions=false;this._lifeCycleHooks={};this._showHelpAfterError=false;this._showSuggestionAfterError=true;this._savedState=null;this._outputConfiguration={writeOut:t=>b.stdout.write(t),writeErr:t=>b.stderr.write(t),outputError:(t,u)=>u(t),getOutHelpWidth:()=>b.stdout.isTTY?b.stdout.columns:undefined,getErrHelpWidth:()=>b.stderr.isTTY?b.stderr.columns:undefined,getOutHasColors:()=>useColor()??(b.stdout.isTTY&&b.stdout.hasColors?.()),getErrHasColors:()=>useColor()??(b.stderr.isTTY&&b.stderr.hasColors?.()),stripColor:t=>R(t)};this._hidden=false;this._helpOption=undefined;this._addImplicitHelpCommand=undefined;this._helpCommand=undefined;this._helpConfiguration={};this._helpGroupHeading=undefined;this._defaultCommandGroup=undefined;this._defaultOptionGroup=undefined}copyInheritedSettings(t){this._outputConfiguration=t._outputConfiguration;this._helpOption=t._helpOption;this._helpCommand=t._helpCommand;this._helpConfiguration=t._helpConfiguration;this._exitCallback=t._exitCallback;this._storeOptionsAsProperties=t._storeOptionsAsProperties;this._combineFlagAndOptionalValue=t._combineFlagAndOptionalValue;this._allowExcessArguments=t._allowExcessArguments;this._enablePositionalOptions=t._enablePositionalOptions;this._showHelpAfterError=t._showHelpAfterError;this._showSuggestionAfterError=t._showSuggestionAfterError;return this}_getCommandAndAncestors(){const t=[];for(let u=this;u;u=u.parent){t.push(u)}return t}command(t,u,p){let m=u;let g=p;if(typeof m==="object"&&m!==null){g=m;m=null}g=g||{};const[,y,v]=t.match(/([^ ]+) *(.*)/);const b=this.createCommand(y);if(m){b.description(m);b._executableHandler=true}if(g.isDefault)this._defaultCommandName=b._name;b._hidden=!!(g.noHelp||g.hidden);b._executableFile=g.executableFile||null;if(v)b.arguments(v);this._registerCommand(b);b.parent=this;b.copyInheritedSettings(this);if(m)return this;return b}createCommand(t){return new Command(t)}createHelp(){return Object.assign(new O,this.configureHelp())}configureHelp(t){if(t===undefined)return this._helpConfiguration;this._helpConfiguration=t;return this}configureOutput(t){if(t===undefined)return this._outputConfiguration;this._outputConfiguration={...this._outputConfiguration,...t};return this}showHelpAfterError(t=true){if(typeof t!=="string")t=!!t;this._showHelpAfterError=t;return this}showSuggestionAfterError(t=true){this._showSuggestionAfterError=!!t;return this}addCommand(t,u){if(!t._name){throw new Error(`Command passed to .addCommand() must have a name\n- specify the name in Command constructor or using .name()`)}u=u||{};if(u.isDefault)this._defaultCommandName=t._name;if(u.noHelp||u.hidden)t._hidden=true;this._registerCommand(t);t.parent=this;t._checkForBrokenPassThrough();return this}createArgument(t,u){return new w(t,u)}argument(t,u,p,m){const g=this.createArgument(t,u);if(typeof p==="function"){g.default(m).argParser(p)}else{g.default(p)}this.addArgument(g);return this}arguments(t){t.trim().split(/ +/).forEach((t=>{this.argument(t)}));return this}addArgument(t){const u=this.registeredArguments.slice(-1)[0];if(u?.variadic){throw new Error(`only the last argument can be variadic '${u.name()}'`)}if(t.required&&t.defaultValue!==undefined&&t.parseArg===undefined){throw new Error(`a default value for a required argument is never used: '${t.name()}'`)}this.registeredArguments.push(t);return this}helpCommand(t,u){if(typeof t==="boolean"){this._addImplicitHelpCommand=t;if(t&&this._defaultCommandGroup){this._initCommandGroup(this._getHelpCommand())}return this}const p=t??"help [command]";const[,m,g]=p.match(/([^ ]+) *(.*)/);const y=u??"display help for command";const v=this.createCommand(m);v.helpOption(false);if(g)v.arguments(g);if(y)v.description(y);this._addImplicitHelpCommand=true;this._helpCommand=v;if(t||u)this._initCommandGroup(v);return this}addHelpCommand(t,u){if(typeof t!=="object"){this.helpCommand(t,u);return this}this._addImplicitHelpCommand=true;this._helpCommand=t;this._initCommandGroup(t);return this}_getHelpCommand(){const t=this._addImplicitHelpCommand??(this.commands.length&&!this._actionHandler&&!this._findCommand("help"));if(t){if(this._helpCommand===undefined){this.helpCommand(undefined,undefined)}return this._helpCommand}return null}hook(t,u){const p=["preSubcommand","preAction","postAction"];if(!p.includes(t)){throw new Error(`Unexpected value for event passed to hook : '${t}'.\nExpecting one of '${p.join("', '")}'`)}if(this._lifeCycleHooks[t]){this._lifeCycleHooks[t].push(u)}else{this._lifeCycleHooks[t]=[u]}return this}exitOverride(t){if(t){this._exitCallback=t}else{this._exitCallback=t=>{if(t.code!=="commander.executeSubCommandAsync"){throw t}else{}}}return this}_exit(t,u,p){if(this._exitCallback){this._exitCallback(new $(t,u,p))}b.exit(t)}action(t){const listener=u=>{const p=this.registeredArguments.length;const m=u.slice(0,p);if(this._storeOptionsAsProperties){m[p]=this}else{m[p]=this.opts()}m.push(this);return t.apply(this,m)};this._actionHandler=listener;return this}createOption(t,u){return new P(t,u)}_callParseArg(t,u,p,m){try{return t.parseArg(u,p)}catch(t){if(t.code==="commander.invalidArgument"){const u=`${m} ${t.message}`;this.error(u,{exitCode:t.exitCode,code:t.code})}throw t}}_registerOption(t){const u=t.short&&this._findOption(t.short)||t.long&&this._findOption(t.long);if(u){const p=t.long&&this._findOption(t.long)?t.long:t.short;throw new Error(`Cannot add option '${t.flags}'${this._name&&` to command '${this._name}'`} due to conflicting flag '${p}'\n- already used by option '${u.flags}'`)}this._initOptionGroup(t);this.options.push(t)}_registerCommand(t){const knownBy=t=>[t.name()].concat(t.aliases());const u=knownBy(t).find((t=>this._findCommand(t)));if(u){const p=knownBy(this._findCommand(u)).join("|");const m=knownBy(t).join("|");throw new Error(`cannot add command '${m}' as already have command '${p}'`)}this._initCommandGroup(t);this.commands.push(t)}addOption(t){this._registerOption(t);const u=t.name();const p=t.attributeName();if(t.negate){const u=t.long.replace(/^--no-/,"--");if(!this._findOption(u)){this.setOptionValueWithSource(p,t.defaultValue===undefined?true:t.defaultValue,"default")}}else if(t.defaultValue!==undefined){this.setOptionValueWithSource(p,t.defaultValue,"default")}const handleOptionValue=(u,m,g)=>{if(u==null&&t.presetArg!==undefined){u=t.presetArg}const y=this.getOptionValue(p);if(u!==null&&t.parseArg){u=this._callParseArg(t,u,y,m)}else if(u!==null&&t.variadic){u=t._collectValue(u,y)}if(u==null){if(t.negate){u=false}else if(t.isBoolean()||t.optional){u=true}else{u=""}}this.setOptionValueWithSource(p,u,g)};this.on("option:"+u,(u=>{const p=`error: option '${t.flags}' argument '${u}' is invalid.`;handleOptionValue(u,p,"cli")}));if(t.envVar){this.on("optionEnv:"+u,(u=>{const p=`error: option '${t.flags}' value '${u}' from env '${t.envVar}' is invalid.`;handleOptionValue(u,p,"env")}))}return this}_optionEx(t,u,p,m,g){if(typeof u==="object"&&u instanceof P){throw new Error("To add an Option object use addOption() instead of option() or requiredOption()")}const y=this.createOption(u,p);y.makeOptionMandatory(!!t.mandatory);if(typeof m==="function"){y.default(g).argParser(m)}else if(m instanceof RegExp){const t=m;m=(u,p)=>{const m=t.exec(u);return m?m[0]:p};y.default(g).argParser(m)}else{y.default(m)}return this.addOption(y)}option(t,u,p,m){return this._optionEx({},t,u,p,m)}requiredOption(t,u,p,m){return this._optionEx({mandatory:true},t,u,p,m)}combineFlagAndOptionalValue(t=true){this._combineFlagAndOptionalValue=!!t;return this}allowUnknownOption(t=true){this._allowUnknownOption=!!t;return this}allowExcessArguments(t=true){this._allowExcessArguments=!!t;return this}enablePositionalOptions(t=true){this._enablePositionalOptions=!!t;return this}passThroughOptions(t=true){this._passThroughOptions=!!t;this._checkForBrokenPassThrough();return this}_checkForBrokenPassThrough(){if(this.parent&&this._passThroughOptions&&!this.parent._enablePositionalOptions){throw new Error(`passThroughOptions cannot be used for '${this._name}' without turning on enablePositionalOptions for parent command(s)`)}}storeOptionsAsProperties(t=true){if(this.options.length){throw new Error("call .storeOptionsAsProperties() before adding options")}if(Object.keys(this._optionValues).length){throw new Error("call .storeOptionsAsProperties() before setting option values")}this._storeOptionsAsProperties=!!t;return this}getOptionValue(t){if(this._storeOptionsAsProperties){return this[t]}return this._optionValues[t]}setOptionValue(t,u){return this.setOptionValueWithSource(t,u,undefined)}setOptionValueWithSource(t,u,p){if(this._storeOptionsAsProperties){this[t]=u}else{this._optionValues[t]=u}this._optionValueSources[t]=p;return this}getOptionValueSource(t){return this._optionValueSources[t]}getOptionValueSourceWithGlobals(t){let u;this._getCommandAndAncestors().forEach((p=>{if(p.getOptionValueSource(t)!==undefined){u=p.getOptionValueSource(t)}}));return u}_prepareUserArgs(t,u){if(t!==undefined&&!Array.isArray(t)){throw new Error("first parameter to parse must be array or undefined")}u=u||{};if(t===undefined&&u.from===undefined){if(b.versions?.electron){u.from="electron"}const t=b.execArgv??[];if(t.includes("-e")||t.includes("--eval")||t.includes("-p")||t.includes("--print")){u.from="eval"}}if(t===undefined){t=b.argv}this.rawArgs=t.slice();let p;switch(u.from){case undefined:case"node":this._scriptPath=t[1];p=t.slice(2);break;case"electron":if(b.defaultApp){this._scriptPath=t[1];p=t.slice(2)}else{p=t.slice(1)}break;case"user":p=t.slice(0);break;case"eval":p=t.slice(1);break;default:throw new Error(`unexpected parse option { from: '${u.from}' }`)}if(!this._name&&this._scriptPath)this.nameFromFilename(this._scriptPath);this._name=this._name||"program";return p}parse(t,u){this._prepareForParse();const p=this._prepareUserArgs(t,u);this._parseCommand([],p);return this}async parseAsync(t,u){this._prepareForParse();const p=this._prepareUserArgs(t,u);await this._parseCommand([],p);return this}_prepareForParse(){if(this._savedState===null){this.saveStateBeforeParse()}else{this.restoreStateBeforeParse()}}saveStateBeforeParse(){this._savedState={_name:this._name,_optionValues:{...this._optionValues},_optionValueSources:{...this._optionValueSources}}}restoreStateBeforeParse(){if(this._storeOptionsAsProperties)throw new Error(`Can not call parse again when storeOptionsAsProperties is true.\n- either make a new Command for each call to parse, or stop storing options as properties`);this._name=this._savedState._name;this._scriptPath=null;this.rawArgs=[];this._optionValues={...this._savedState._optionValues};this._optionValueSources={...this._savedState._optionValueSources};this.args=[];this.processedArgs=[]}_checkForMissingExecutable(t,u,p){if(v.existsSync(t))return;const m=u?`searched for local subcommand relative to directory '${u}'`:"no directory for search for local subcommand, use .executableDir() to supply a custom directory";const g=`'${t}' does not exist\n - if '${p}' is not meant to be an executable command, remove description parameter from '.command()' and use '.description()' instead\n - if the default executable name is not suitable, use the executableFile option to supply a custom name or path\n - ${m}`;throw new Error(g)}_executeSubCommand(t,u){u=u.slice();let p=false;const m=[".js",".ts",".tsx",".mjs",".cjs"];function findFile(t,u){const p=y.resolve(t,u);if(v.existsSync(p))return p;if(m.includes(y.extname(u)))return undefined;const g=m.find((t=>v.existsSync(`${p}${t}`)));if(g)return`${p}${g}`;return undefined}this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();let w=t._executableFile||`${this._name}-${t._name}`;let E=this._executableDir||"";if(this._scriptPath){let t;try{t=v.realpathSync(this._scriptPath)}catch{t=this._scriptPath}E=y.resolve(y.dirname(t),E)}if(E){let u=findFile(E,w);if(!u&&!t._executableFile&&this._scriptPath){const p=y.basename(this._scriptPath,y.extname(this._scriptPath));if(p!==this._name){u=findFile(E,`${p}-${t._name}`)}}w=u||w}p=m.includes(y.extname(w));let O;if(b.platform!=="win32"){if(p){u.unshift(w);u=incrementNodeInspectorPort(b.execArgv).concat(u);O=g.spawn(b.argv[0],u,{stdio:"inherit"})}else{O=g.spawn(w,u,{stdio:"inherit"})}}else{this._checkForMissingExecutable(w,E,t._name);u.unshift(w);u=incrementNodeInspectorPort(b.execArgv).concat(u);O=g.spawn(b.execPath,u,{stdio:"inherit"})}if(!O.killed){const t=["SIGUSR1","SIGUSR2","SIGTERM","SIGINT","SIGHUP"];t.forEach((t=>{b.on(t,(()=>{if(O.killed===false&&O.exitCode===null){O.kill(t)}}))}))}const R=this._exitCallback;O.on("close",(t=>{t=t??1;if(!R){b.exit(t)}else{R(new $(t,"commander.executeSubCommandAsync","(close)"))}}));O.on("error",(u=>{if(u.code==="ENOENT"){this._checkForMissingExecutable(w,E,t._name)}else if(u.code==="EACCES"){throw new Error(`'${w}' not executable`)}if(!R){b.exit(1)}else{const t=new $(1,"commander.executeSubCommandAsync","(error)");t.nestedError=u;R(t)}}));this.runningCommand=O}_dispatchSubcommand(t,u,p){const m=this._findCommand(t);if(!m)this.help({error:true});m._prepareForParse();let g;g=this._chainOrCallSubCommandHook(g,m,"preSubcommand");g=this._chainOrCall(g,(()=>{if(m._executableHandler){this._executeSubCommand(m,u.concat(p))}else{return m._parseCommand(u,p)}}));return g}_dispatchHelpCommand(t){if(!t){this.help()}const u=this._findCommand(t);if(u&&!u._executableHandler){u.help()}return this._dispatchSubcommand(t,[],[this._getHelpOption()?.long??this._getHelpOption()?.short??"--help"])}_checkNumberOfArguments(){this.registeredArguments.forEach(((t,u)=>{if(t.required&&this.args[u]==null){this.missingArgument(t.name())}}));if(this.registeredArguments.length>0&&this.registeredArguments[this.registeredArguments.length-1].variadic){return}if(this.args.length>this.registeredArguments.length){this._excessArguments(this.args)}}_processArguments(){const myParseArg=(t,u,p)=>{let m=u;if(u!==null&&t.parseArg){const g=`error: command-argument value '${u}' is invalid for argument '${t.name()}'.`;m=this._callParseArg(t,u,p,g)}return m};this._checkNumberOfArguments();const t=[];this.registeredArguments.forEach(((u,p)=>{let m=u.defaultValue;if(u.variadic){if(p<this.args.length){m=this.args.slice(p);if(u.parseArg){m=m.reduce(((t,p)=>myParseArg(u,p,t)),u.defaultValue)}}else if(m===undefined){m=[]}}else if(p<this.args.length){m=this.args[p];if(u.parseArg){m=myParseArg(u,m,u.defaultValue)}}t[p]=m}));this.processedArgs=t}_chainOrCall(t,u){if(t?.then&&typeof t.then==="function"){return t.then((()=>u()))}return u()}_chainOrCallHooks(t,u){let p=t;const m=[];this._getCommandAndAncestors().reverse().filter((t=>t._lifeCycleHooks[u]!==undefined)).forEach((t=>{t._lifeCycleHooks[u].forEach((u=>{m.push({hookedCommand:t,callback:u})}))}));if(u==="postAction"){m.reverse()}m.forEach((t=>{p=this._chainOrCall(p,(()=>t.callback(t.hookedCommand,this)))}));return p}_chainOrCallSubCommandHook(t,u,p){let m=t;if(this._lifeCycleHooks[p]!==undefined){this._lifeCycleHooks[p].forEach((t=>{m=this._chainOrCall(m,(()=>t(this,u)))}))}return m}_parseCommand(t,u){const p=this.parseOptions(u);this._parseOptionsEnv();this._parseOptionsImplied();t=t.concat(p.operands);u=p.unknown;this.args=t.concat(u);if(t&&this._findCommand(t[0])){return this._dispatchSubcommand(t[0],t.slice(1),u)}if(this._getHelpCommand()&&t[0]===this._getHelpCommand().name()){return this._dispatchHelpCommand(t[1])}if(this._defaultCommandName){this._outputHelpIfRequested(u);return this._dispatchSubcommand(this._defaultCommandName,t,u)}if(this.commands.length&&this.args.length===0&&!this._actionHandler&&!this._defaultCommandName){this.help({error:true})}this._outputHelpIfRequested(p.unknown);this._checkForMissingMandatoryOptions();this._checkForConflictingOptions();const checkForUnknownOptions=()=>{if(p.unknown.length>0){this.unknownOption(p.unknown[0])}};const m=`command:${this.name()}`;if(this._actionHandler){checkForUnknownOptions();this._processArguments();let p;p=this._chainOrCallHooks(p,"preAction");p=this._chainOrCall(p,(()=>this._actionHandler(this.processedArgs)));if(this.parent){p=this._chainOrCall(p,(()=>{this.parent.emit(m,t,u)}))}p=this._chainOrCallHooks(p,"postAction");return p}if(this.parent?.listenerCount(m)){checkForUnknownOptions();this._processArguments();this.parent.emit(m,t,u)}else if(t.length){if(this._findCommand("*")){return this._dispatchSubcommand("*",t,u)}if(this.listenerCount("command:*")){this.emit("command:*",t,u)}else if(this.commands.length){this.unknownCommand()}else{checkForUnknownOptions();this._processArguments()}}else if(this.commands.length){checkForUnknownOptions();this.help({error:true})}else{checkForUnknownOptions();this._processArguments()}}_findCommand(t){if(!t)return undefined;return this.commands.find((u=>u._name===t||u._aliases.includes(t)))}_findOption(t){return this.options.find((u=>u.is(t)))}_checkForMissingMandatoryOptions(){this._getCommandAndAncestors().forEach((t=>{t.options.forEach((u=>{if(u.mandatory&&t.getOptionValue(u.attributeName())===undefined){t.missingMandatoryOptionValue(u)}}))}))}_checkForConflictingLocalOptions(){const t=this.options.filter((t=>{const u=t.attributeName();if(this.getOptionValue(u)===undefined){return false}return this.getOptionValueSource(u)!=="default"}));const u=t.filter((t=>t.conflictsWith.length>0));u.forEach((u=>{const p=t.find((t=>u.conflictsWith.includes(t.attributeName())));if(p){this._conflictingOption(u,p)}}))}_checkForConflictingOptions(){this._getCommandAndAncestors().forEach((t=>{t._checkForConflictingLocalOptions()}))}parseOptions(t){const u=[];const p=[];let m=u;function maybeOption(t){return t.length>1&&t[0]==="-"}const negativeNumberArg=t=>{if(!/^-(\d+|\d*\.\d+)(e[+-]?\d+)?$/.test(t))return false;return!this._getCommandAndAncestors().some((t=>t.options.map((t=>t.short)).some((t=>/^-\d$/.test(t)))))};let g=null;let y=null;let v=0;while(v<t.length||y){const b=y??t[v++];y=null;if(b==="--"){if(m===p)m.push(b);m.push(...t.slice(v));break}if(g&&(!maybeOption(b)||negativeNumberArg(b))){this.emit(`option:${g.name()}`,b);continue}g=null;if(maybeOption(b)){const u=this._findOption(b);if(u){if(u.required){const p=t[v++];if(p===undefined)this.optionMissingArgument(u);this.emit(`option:${u.name()}`,p)}else if(u.optional){let p=null;if(v<t.length&&(!maybeOption(t[v])||negativeNumberArg(t[v]))){p=t[v++]}this.emit(`option:${u.name()}`,p)}else{this.emit(`option:${u.name()}`)}g=u.variadic?u:null;continue}}if(b.length>2&&b[0]==="-"&&b[1]!=="-"){const t=this._findOption(`-${b[1]}`);if(t){if(t.required||t.optional&&this._combineFlagAndOptionalValue){this.emit(`option:${t.name()}`,b.slice(2))}else{this.emit(`option:${t.name()}`);y=`-${b.slice(2)}`}continue}}if(/^--[^=]+=/.test(b)){const t=b.indexOf("=");const u=this._findOption(b.slice(0,t));if(u&&(u.required||u.optional)){this.emit(`option:${u.name()}`,b.slice(t+1));continue}}if(m===u&&maybeOption(b)&&!(this.commands.length===0&&negativeNumberArg(b))){m=p}if((this._enablePositionalOptions||this._passThroughOptions)&&u.length===0&&p.length===0){if(this._findCommand(b)){u.push(b);p.push(...t.slice(v));break}else if(this._getHelpCommand()&&b===this._getHelpCommand().name()){u.push(b,...t.slice(v));break}else if(this._defaultCommandName){p.push(b,...t.slice(v));break}}if(this._passThroughOptions){m.push(b,...t.slice(v));break}m.push(b)}return{operands:u,unknown:p}}opts(){if(this._storeOptionsAsProperties){const t={};const u=this.options.length;for(let p=0;p<u;p++){const u=this.options[p].attributeName();t[u]=u===this._versionOptionName?this._version:this[u]}return t}return this._optionValues}optsWithGlobals(){return this._getCommandAndAncestors().reduce(((t,u)=>Object.assign(t,u.opts())),{})}error(t,u){this._outputConfiguration.outputError(`${t}\n`,this._outputConfiguration.writeErr);if(typeof this._showHelpAfterError==="string"){this._outputConfiguration.writeErr(`${this._showHelpAfterError}\n`)}else if(this._showHelpAfterError){this._outputConfiguration.writeErr("\n");this.outputHelp({error:true})}const p=u||{};const m=p.exitCode||1;const g=p.code||"commander.error";this._exit(m,g,t)}_parseOptionsEnv(){this.options.forEach((t=>{if(t.envVar&&t.envVar in b.env){const u=t.attributeName();if(this.getOptionValue(u)===undefined||["default","config","env"].includes(this.getOptionValueSource(u))){if(t.required||t.optional){this.emit(`optionEnv:${t.name()}`,b.env[t.envVar])}else{this.emit(`optionEnv:${t.name()}`)}}}}))}_parseOptionsImplied(){const t=new A(this.options);const hasCustomOptionValue=t=>this.getOptionValue(t)!==undefined&&!["default","implied"].includes(this.getOptionValueSource(t));this.options.filter((u=>u.implied!==undefined&&hasCustomOptionValue(u.attributeName())&&t.valueFromOption(this.getOptionValue(u.attributeName()),u))).forEach((t=>{Object.keys(t.implied).filter((t=>!hasCustomOptionValue(t))).forEach((u=>{this.setOptionValueWithSource(u,t.implied[u],"implied")}))}))}missingArgument(t){const u=`error: missing required argument '${t}'`;this.error(u,{code:"commander.missingArgument"})}optionMissingArgument(t){const u=`error: option '${t.flags}' argument missing`;this.error(u,{code:"commander.optionMissingArgument"})}missingMandatoryOptionValue(t){const u=`error: required option '${t.flags}' not specified`;this.error(u,{code:"commander.missingMandatoryOptionValue"})}_conflictingOption(t,u){const findBestOptionFromValue=t=>{const u=t.attributeName();const p=this.getOptionValue(u);const m=this.options.find((t=>t.negate&&u===t.attributeName()));const g=this.options.find((t=>!t.negate&&u===t.attributeName()));if(m&&(m.presetArg===undefined&&p===false||m.presetArg!==undefined&&p===m.presetArg)){return m}return g||t};const getErrorMessage=t=>{const u=findBestOptionFromValue(t);const p=u.attributeName();const m=this.getOptionValueSource(p);if(m==="env"){return`environment variable '${u.envVar}'`}return`option '${u.flags}'`};const p=`error: ${getErrorMessage(t)} cannot be used with ${getErrorMessage(u)}`;this.error(p,{code:"commander.conflictingOption"})}unknownOption(t){if(this._allowUnknownOption)return;let u="";if(t.startsWith("--")&&this._showSuggestionAfterError){let p=[];let m=this;do{const t=m.createHelp().visibleOptions(m).filter((t=>t.long)).map((t=>t.long));p=p.concat(t);m=m.parent}while(m&&!m._enablePositionalOptions);u=x(t,p)}const p=`error: unknown option '${t}'${u}`;this.error(p,{code:"commander.unknownOption"})}_excessArguments(t){if(this._allowExcessArguments)return;const u=this.registeredArguments.length;const p=u===1?"":"s";const m=this.parent?` for '${this.name()}'`:"";const g=`error: too many arguments${m}. Expected ${u} argument${p} but got ${t.length}.`;this.error(g,{code:"commander.excessArguments"})}unknownCommand(){const t=this.args[0];let u="";if(this._showSuggestionAfterError){const p=[];this.createHelp().visibleCommands(this).forEach((t=>{p.push(t.name());if(t.alias())p.push(t.alias())}));u=x(t,p)}const p=`error: unknown command '${t}'${u}`;this.error(p,{code:"commander.unknownCommand"})}version(t,u,p){if(t===undefined)return this._version;this._version=t;u=u||"-V, --version";p=p||"output the version number";const m=this.createOption(u,p);this._versionOptionName=m.attributeName();this._registerOption(m);this.on("option:"+m.name(),(()=>{this._outputConfiguration.writeOut(`${t}\n`);this._exit(0,"commander.version",t)}));return this}description(t,u){if(t===undefined&&u===undefined)return this._description;this._description=t;if(u){this._argsDescription=u}return this}summary(t){if(t===undefined)return this._summary;this._summary=t;return this}alias(t){if(t===undefined)return this._aliases[0];let u=this;if(this.commands.length!==0&&this.commands[this.commands.length-1]._executableHandler){u=this.commands[this.commands.length-1]}if(t===u._name)throw new Error("Command alias can't be the same as its name");const p=this.parent?._findCommand(t);if(p){const u=[p.name()].concat(p.aliases()).join("|");throw new Error(`cannot add alias '${t}' to command '${this.name()}' as already have command '${u}'`)}u._aliases.push(t);return this}aliases(t){if(t===undefined)return this._aliases;t.forEach((t=>this.alias(t)));return this}usage(t){if(t===undefined){if(this._usage)return this._usage;const t=this.registeredArguments.map((t=>E(t)));return[].concat(this.options.length||this._helpOption!==null?"[options]":[],this.commands.length?"[command]":[],this.registeredArguments.length?t:[]).join(" ")}this._usage=t;return this}name(t){if(t===undefined)return this._name;this._name=t;return this}helpGroup(t){if(t===undefined)return this._helpGroupHeading??"";this._helpGroupHeading=t;return this}commandsGroup(t){if(t===undefined)return this._defaultCommandGroup??"";this._defaultCommandGroup=t;return this}optionsGroup(t){if(t===undefined)return this._defaultOptionGroup??"";this._defaultOptionGroup=t;return this}_initOptionGroup(t){if(this._defaultOptionGroup&&!t.helpGroupHeading)t.helpGroup(this._defaultOptionGroup)}_initCommandGroup(t){if(this._defaultCommandGroup&&!t.helpGroup())t.helpGroup(this._defaultCommandGroup)}nameFromFilename(t){this._name=y.basename(t,y.extname(t));return this}executableDir(t){if(t===undefined)return this._executableDir;this._executableDir=t;return this}helpInformation(t){const u=this.createHelp();const p=this._getOutputContext(t);u.prepareContext({error:p.error,helpWidth:p.helpWidth,outputHasColors:p.hasColors});const m=u.formatHelp(this,u);if(p.hasColors)return m;return this._outputConfiguration.stripColor(m)}_getOutputContext(t){t=t||{};const u=!!t.error;let p;let m;let g;if(u){p=t=>this._outputConfiguration.writeErr(t);m=this._outputConfiguration.getErrHasColors();g=this._outputConfiguration.getErrHelpWidth()}else{p=t=>this._outputConfiguration.writeOut(t);m=this._outputConfiguration.getOutHasColors();g=this._outputConfiguration.getOutHelpWidth()}const write=t=>{if(!m)t=this._outputConfiguration.stripColor(t);return p(t)};return{error:u,write:write,hasColors:m,helpWidth:g}}outputHelp(t){let u;if(typeof t==="function"){u=t;t=undefined}const p=this._getOutputContext(t);const m={error:p.error,write:p.write,command:this};this._getCommandAndAncestors().reverse().forEach((t=>t.emit("beforeAllHelp",m)));this.emit("beforeHelp",m);let g=this.helpInformation({error:p.error});if(u){g=u(g);if(typeof g!=="string"&&!Buffer.isBuffer(g)){throw new Error("outputHelp callback must return a string or a Buffer")}}p.write(g);if(this._getHelpOption()?.long){this.emit(this._getHelpOption().long)}this.emit("afterHelp",m);this._getCommandAndAncestors().forEach((t=>t.emit("afterAllHelp",m)))}helpOption(t,u){if(typeof t==="boolean"){if(t){if(this._helpOption===null)this._helpOption=undefined;if(this._defaultOptionGroup){this._initOptionGroup(this._getHelpOption())}}else{this._helpOption=null}return this}this._helpOption=this.createOption(t??"-h, --help",u??"display help for command");if(t||u)this._initOptionGroup(this._helpOption);return this}_getHelpOption(){if(this._helpOption===undefined){this.helpOption(undefined,undefined)}return this._helpOption}addHelpOption(t){this._helpOption=t;this._initOptionGroup(t);return this}help(t){this.outputHelp(t);let u=Number(b.exitCode??0);if(u===0&&t&&typeof t!=="function"&&t.error){u=1}this._exit(u,"commander.help","(outputHelp)")}addHelpText(t,u){const p=["beforeAll","before","after","afterAll"];if(!p.includes(t)){throw new Error(`Unexpected value for position to addHelpText.\nExpecting one of '${p.join("', '")}'`)}const m=`${t}Help`;this.on(m,(t=>{let p;if(typeof u==="function"){p=u({error:t.error,command:t.command})}else{p=u}if(p){t.write(`${p}\n`)}}));return this}_outputHelpIfRequested(t){const u=this._getHelpOption();const p=u&&t.find((t=>u.is(t)));if(p){this.outputHelp();this._exit(0,"commander.helpDisplayed","(outputHelp)")}}}function incrementNodeInspectorPort(t){return t.map((t=>{if(!t.startsWith("--inspect")){return t}let u;let p="127.0.0.1";let m="9229";let g;if((g=t.match(/^(--inspect(-brk)?)$/))!==null){u=g[1]}else if((g=t.match(/^(--inspect(-brk|-port)?)=([^:]+)$/))!==null){u=g[1];if(/^\d+$/.test(g[3])){m=g[3]}else{p=g[3]}}else if((g=t.match(/^(--inspect(-brk|-port)?)=([^:]+):(\d+)$/))!==null){u=g[1];p=g[3];m=g[4]}if(u&&m!=="0"){return`${u}=${p}:${parseInt(m)+1}`}return t}))}function useColor(){if(b.env.NO_COLOR||b.env.FORCE_COLOR==="0"||b.env.FORCE_COLOR==="false")return false;if(b.env.FORCE_COLOR||b.env.CLICOLOR_FORCE!==undefined)return true;return undefined}u.Command=Command;u.useColor=useColor},9400:(t,u)=>{class CommanderError extends Error{constructor(t,u,p){super(p);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name;this.code=u;this.exitCode=t;this.nestedError=undefined}}class InvalidArgumentError extends CommanderError{constructor(t){super(1,"commander.invalidArgument",t);Error.captureStackTrace(this,this.constructor);this.name=this.constructor.name}}u.CommanderError=CommanderError;u.InvalidArgumentError=InvalidArgumentError},2559:(t,u,p)=>{const{humanReadableArgName:m}=p(1455);class Help{constructor(){this.helpWidth=undefined;this.minWidthToWrap=40;this.sortSubcommands=false;this.sortOptions=false;this.showGlobalOptions=false}prepareContext(t){this.helpWidth=this.helpWidth??t.helpWidth??80}visibleCommands(t){const u=t.commands.filter((t=>!t._hidden));const p=t._getHelpCommand();if(p&&!p._hidden){u.push(p)}if(this.sortSubcommands){u.sort(((t,u)=>t.name().localeCompare(u.name())))}return u}compareOptions(t,u){const getSortKey=t=>t.short?t.short.replace(/^-/,""):t.long.replace(/^--/,"");return getSortKey(t).localeCompare(getSortKey(u))}visibleOptions(t){const u=t.options.filter((t=>!t.hidden));const p=t._getHelpOption();if(p&&!p.hidden){const m=p.short&&t._findOption(p.short);const g=p.long&&t._findOption(p.long);if(!m&&!g){u.push(p)}else if(p.long&&!g){u.push(t.createOption(p.long,p.description))}else if(p.short&&!m){u.push(t.createOption(p.short,p.description))}}if(this.sortOptions){u.sort(this.compareOptions)}return u}visibleGlobalOptions(t){if(!this.showGlobalOptions)return[];const u=[];for(let p=t.parent;p;p=p.parent){const t=p.options.filter((t=>!t.hidden));u.push(...t)}if(this.sortOptions){u.sort(this.compareOptions)}return u}visibleArguments(t){if(t._argsDescription){t.registeredArguments.forEach((u=>{u.description=u.description||t._argsDescription[u.name()]||""}))}if(t.registeredArguments.find((t=>t.description))){return t.registeredArguments}return[]}subcommandTerm(t){const u=t.registeredArguments.map((t=>m(t))).join(" ");return t._name+(t._aliases[0]?"|"+t._aliases[0]:"")+(t.options.length?" [options]":"")+(u?" "+u:"")}optionTerm(t){return t.flags}argumentTerm(t){return t.name()}longestSubcommandTermLength(t,u){return u.visibleCommands(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleSubcommandTerm(u.subcommandTerm(p))))),0)}longestOptionTermLength(t,u){return u.visibleOptions(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleOptionTerm(u.optionTerm(p))))),0)}longestGlobalOptionTermLength(t,u){return u.visibleGlobalOptions(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleOptionTerm(u.optionTerm(p))))),0)}longestArgumentTermLength(t,u){return u.visibleArguments(t).reduce(((t,p)=>Math.max(t,this.displayWidth(u.styleArgumentTerm(u.argumentTerm(p))))),0)}commandUsage(t){let u=t._name;if(t._aliases[0]){u=u+"|"+t._aliases[0]}let p="";for(let u=t.parent;u;u=u.parent){p=u.name()+" "+p}return p+u+" "+t.usage()}commandDescription(t){return t.description()}subcommandDescription(t){return t.summary()||t.description()}optionDescription(t){const u=[];if(t.argChoices){u.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){const p=t.required||t.optional||t.isBoolean()&&typeof t.defaultValue==="boolean";if(p){u.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}}if(t.presetArg!==undefined&&t.optional){u.push(`preset: ${JSON.stringify(t.presetArg)}`)}if(t.envVar!==undefined){u.push(`env: ${t.envVar}`)}if(u.length>0){const p=`(${u.join(", ")})`;if(t.description){return`${t.description} ${p}`}return p}return t.description}argumentDescription(t){const u=[];if(t.argChoices){u.push(`choices: ${t.argChoices.map((t=>JSON.stringify(t))).join(", ")}`)}if(t.defaultValue!==undefined){u.push(`default: ${t.defaultValueDescription||JSON.stringify(t.defaultValue)}`)}if(u.length>0){const p=`(${u.join(", ")})`;if(t.description){return`${t.description} ${p}`}return p}return t.description}formatItemList(t,u,p){if(u.length===0)return[];return[p.styleTitle(t),...u,""]}groupItems(t,u,p){const m=new Map;t.forEach((t=>{const u=p(t);if(!m.has(u))m.set(u,[])}));u.forEach((t=>{const u=p(t);if(!m.has(u)){m.set(u,[])}m.get(u).push(t)}));return m}formatHelp(t,u){const p=u.padWidth(t,u);const m=u.helpWidth??80;function callFormatItem(t,m){return u.formatItem(t,p,m,u)}let g=[`${u.styleTitle("Usage:")} ${u.styleUsage(u.commandUsage(t))}`,""];const y=u.commandDescription(t);if(y.length>0){g=g.concat([u.boxWrap(u.styleCommandDescription(y),m),""])}const v=u.visibleArguments(t).map((t=>callFormatItem(u.styleArgumentTerm(u.argumentTerm(t)),u.styleArgumentDescription(u.argumentDescription(t)))));g=g.concat(this.formatItemList("Arguments:",v,u));const b=this.groupItems(t.options,u.visibleOptions(t),(t=>t.helpGroupHeading??"Options:"));b.forEach(((t,p)=>{const m=t.map((t=>callFormatItem(u.styleOptionTerm(u.optionTerm(t)),u.styleOptionDescription(u.optionDescription(t)))));g=g.concat(this.formatItemList(p,m,u))}));if(u.showGlobalOptions){const p=u.visibleGlobalOptions(t).map((t=>callFormatItem(u.styleOptionTerm(u.optionTerm(t)),u.styleOptionDescription(u.optionDescription(t)))));g=g.concat(this.formatItemList("Global Options:",p,u))}const w=this.groupItems(t.commands,u.visibleCommands(t),(t=>t.helpGroup()||"Commands:"));w.forEach(((t,p)=>{const m=t.map((t=>callFormatItem(u.styleSubcommandTerm(u.subcommandTerm(t)),u.styleSubcommandDescription(u.subcommandDescription(t)))));g=g.concat(this.formatItemList(p,m,u))}));return g.join("\n")}displayWidth(t){return stripColor(t).length}styleTitle(t){return t}styleUsage(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t==="[command]")return this.styleSubcommandText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleCommandText(t)})).join(" ")}styleCommandDescription(t){return this.styleDescriptionText(t)}styleOptionDescription(t){return this.styleDescriptionText(t)}styleSubcommandDescription(t){return this.styleDescriptionText(t)}styleArgumentDescription(t){return this.styleDescriptionText(t)}styleDescriptionText(t){return t}styleOptionTerm(t){return this.styleOptionText(t)}styleSubcommandTerm(t){return t.split(" ").map((t=>{if(t==="[options]")return this.styleOptionText(t);if(t[0]==="["||t[0]==="<")return this.styleArgumentText(t);return this.styleSubcommandText(t)})).join(" ")}styleArgumentTerm(t){return this.styleArgumentText(t)}styleOptionText(t){return t}styleArgumentText(t){return t}styleSubcommandText(t){return t}styleCommandText(t){return t}padWidth(t,u){return Math.max(u.longestOptionTermLength(t,u),u.longestGlobalOptionTermLength(t,u),u.longestSubcommandTermLength(t,u),u.longestArgumentTermLength(t,u))}preformatted(t){return/\n[^\S\r\n]/.test(t)}formatItem(t,u,p,m){const g=2;const y=" ".repeat(g);if(!p)return y+t;const v=t.padEnd(u+t.length-m.displayWidth(t));const b=2;const w=this.helpWidth??80;const E=w-u-b-g;let $;if(E<this.minWidthToWrap||m.preformatted(p)){$=p}else{const t=m.boxWrap(p,E);$=t.replace(/\n/g,"\n"+" ".repeat(u+b))}return y+v+" ".repeat(b)+$.replace(/\n/g,`\n${y}`)}boxWrap(t,u){if(u<this.minWidthToWrap)return t;const p=t.split(/\r\n|\n/);const m=/[\s]*[^\s]+/g;const g=[];p.forEach((t=>{const p=t.match(m);if(p===null){g.push("");return}let y=[p.shift()];let v=this.displayWidth(y[0]);p.forEach((t=>{const p=this.displayWidth(t);if(v+p<=u){y.push(t);v+=p;return}g.push(y.join(""));const m=t.trimStart();y=[m];v=this.displayWidth(m)}));g.push(y.join(""))}));return g.join("\n")}}function stripColor(t){const u=/\x1b\[\d*(;\d*)*m/g;return t.replace(u,"")}u.Help=Help;u.stripColor=stripColor},1033:(t,u,p)=>{const{InvalidArgumentError:m}=p(9400);class Option{constructor(t,u){this.flags=t;this.description=u||"";this.required=t.includes("<");this.optional=t.includes("[");this.variadic=/\w\.\.\.[>\]]$/.test(t);this.mandatory=false;const p=splitOptionFlags(t);this.short=p.shortFlag;this.long=p.longFlag;this.negate=false;if(this.long){this.negate=this.long.startsWith("--no-")}this.defaultValue=undefined;this.defaultValueDescription=undefined;this.presetArg=undefined;this.envVar=undefined;this.parseArg=undefined;this.hidden=false;this.argChoices=undefined;this.conflictsWith=[];this.implied=undefined;this.helpGroupHeading=undefined}default(t,u){this.defaultValue=t;this.defaultValueDescription=u;return this}preset(t){this.presetArg=t;return this}conflicts(t){this.conflictsWith=this.conflictsWith.concat(t);return this}implies(t){let u=t;if(typeof t==="string"){u={[t]:true}}this.implied=Object.assign(this.implied||{},u);return this}env(t){this.envVar=t;return this}argParser(t){this.parseArg=t;return this}makeOptionMandatory(t=true){this.mandatory=!!t;return this}hideHelp(t=true){this.hidden=!!t;return this}_collectValue(t,u){if(u===this.defaultValue||!Array.isArray(u)){return[t]}u.push(t);return u}choices(t){this.argChoices=t.slice();this.parseArg=(t,u)=>{if(!this.argChoices.includes(t)){throw new m(`Allowed choices are ${this.argChoices.join(", ")}.`)}if(this.variadic){return this._collectValue(t,u)}return t};return this}name(){if(this.long){return this.long.replace(/^--/,"")}return this.short.replace(/^-/,"")}attributeName(){if(this.negate){return camelcase(this.name().replace(/^no-/,""))}return camelcase(this.name())}helpGroup(t){this.helpGroupHeading=t;return this}is(t){return this.short===t||this.long===t}isBoolean(){return!this.required&&!this.optional&&!this.negate}}class DualOptions{constructor(t){this.positiveOptions=new Map;this.negativeOptions=new Map;this.dualOptions=new Set;t.forEach((t=>{if(t.negate){this.negativeOptions.set(t.attributeName(),t)}else{this.positiveOptions.set(t.attributeName(),t)}}));this.negativeOptions.forEach(((t,u)=>{if(this.positiveOptions.has(u)){this.dualOptions.add(u)}}))}valueFromOption(t,u){const p=u.attributeName();if(!this.dualOptions.has(p))return true;const m=this.negativeOptions.get(p).presetArg;const g=m!==undefined?m:false;return u.negate===(g===t)}}function camelcase(t){return t.split("-").reduce(((t,u)=>t+u[0].toUpperCase()+u.slice(1)))}function splitOptionFlags(t){let u;let p;const m=/^-[^-]$/;const g=/^--[^-]/;const y=t.split(/[ |,]+/).concat("guard");if(m.test(y[0]))u=y.shift();if(g.test(y[0]))p=y.shift();if(!u&&m.test(y[0]))u=y.shift();if(!u&&g.test(y[0])){u=p;p=y.shift()}if(y[0].startsWith("-")){const u=y[0];const p=`option creation failed due to '${u}' in option flags '${t}'`;if(/^-[^-][^-]/.test(u))throw new Error(`${p}\n- a short flag is a single dash and a single character\n - either use a single dash and a single character (for a short flag)\n - or use a double dash for a long option (and can have two, like '--ws, --workspace')`);if(m.test(u))throw new Error(`${p}\n- too many short flags`);if(g.test(u))throw new Error(`${p}\n- too many long flags`);throw new Error(`${p}\n- unrecognised flag format`)}if(u===undefined&&p===undefined)throw new Error(`option creation failed due to no flags found in '${t}'.`);return{shortFlag:u,longFlag:p}}u.Option=Option;u.DualOptions=DualOptions},3683:(t,u)=>{const p=3;function editDistance(t,u){if(Math.abs(t.length-u.length)>p)return Math.max(t.length,u.length);const m=[];for(let u=0;u<=t.length;u++){m[u]=[u]}for(let t=0;t<=u.length;t++){m[0][t]=t}for(let p=1;p<=u.length;p++){for(let g=1;g<=t.length;g++){let y=1;if(t[g-1]===u[p-1]){y=0}else{y=1}m[g][p]=Math.min(m[g-1][p]+1,m[g][p-1]+1,m[g-1][p-1]+y);if(g>1&&p>1&&t[g-1]===u[p-2]&&t[g-2]===u[p-1]){m[g][p]=Math.min(m[g][p],m[g-2][p-2]+1)}}}return m[t.length][u.length]}function suggestSimilar(t,u){if(!u||u.length===0)return"";u=Array.from(new Set(u));const m=t.startsWith("--");if(m){t=t.slice(2);u=u.map((t=>t.slice(2)))}let g=[];let y=p;const v=.4;u.forEach((u=>{if(u.length<=1)return;const p=editDistance(t,u);const m=Math.max(t.length,u.length);const b=(m-p)/m;if(b>v){if(p<y){y=p;g=[u]}else if(p===y){g.push(u)}}}));g.sort(((t,u)=>t.localeCompare(u)));if(m){g=g.map((t=>`--${t}`))}if(g.length>1){return`\n(Did you mean one of ${g.join(", ")}?)`}if(g.length===1){return`\n(Did you mean ${g[0]}?)`}return""}u.suggestSimilar=suggestSimilar},6674:(t,u,p)=>{"use strict";const{normalizeIPv6:m,removeDotSegments:g,recomposeAuthority:y,normalizePercentEncoding:v,normalizePathEncoding:b,escapePreservingEscapes:w,reescapeHostDelimiters:E,isIPv4:$,nonSimpleDomain:O}=p(8279);const{SCHEMES:R,getSchemeHandler:P}=p(9886);function normalize(t,u){if(typeof t==="string"){t=normalizeString(t,u)}else if(typeof t==="object"){t=parse(serialize(t,u),u)}return t}function resolve(t,u,p){const m=p?Object.assign({scheme:"null"},p):{scheme:"null"};const g=resolveComponent(parse(t,m),parse(u,m),m,true);m.skipEscape=true;return serialize(g,m)}function resolveComponent(t,u,p,m){const y={};if(!m){t=parse(serialize(t,p),p);u=parse(serialize(u,p),p)}p=p||{};if(!p.tolerant&&u.scheme){y.scheme=u.scheme;y.userinfo=u.userinfo;y.host=u.host;y.port=u.port;y.path=g(u.path||"");y.query=u.query}else{if(u.userinfo!==undefined||u.host!==undefined||u.port!==undefined){y.userinfo=u.userinfo;y.host=u.host;y.port=u.port;y.path=g(u.path||"");y.query=u.query}else{if(!u.path){y.path=t.path;if(u.query!==undefined){y.query=u.query}else{y.query=t.query}}else{if(u.path[0]==="/"){y.path=g(u.path)}else{if((t.userinfo!==undefined||t.host!==undefined||t.port!==undefined)&&!t.path){y.path="/"+u.path}else if(!t.path){y.path=u.path}else{y.path=t.path.slice(0,t.path.lastIndexOf("/")+1)+u.path}y.path=g(y.path)}y.query=u.query}y.userinfo=t.userinfo;y.host=t.host;y.port=t.port}y.scheme=t.scheme}y.fragment=u.fragment;return y}function equal(t,u,p){const m=normalizeComparableURI(t,p);const g=normalizeComparableURI(u,p);return m!==undefined&&g!==undefined&&m.toLowerCase()===g.toLowerCase()}function serialize(t,u){const p={host:t.host,scheme:t.scheme,userinfo:t.userinfo,port:t.port,path:t.path,query:t.query,nid:t.nid,nss:t.nss,uuid:t.uuid,fragment:t.fragment,reference:t.reference,resourceName:t.resourceName,secure:t.secure,error:""};const m=Object.assign({},u);const b=[];const E=P(m.scheme||p.scheme);if(E&&E.serialize)E.serialize(p,m);if(p.path!==undefined){if(!m.skipEscape){p.path=w(p.path);if(p.scheme!==undefined){p.path=p.path.split("%3A").join(":")}}else{p.path=v(p.path)}}if(m.reference!=="suffix"&&p.scheme){b.push(p.scheme,":")}const $=y(p);if($!==undefined){if(m.reference!=="suffix"){b.push("//")}b.push($);if(p.path&&p.path[0]!=="/"){b.push("/")}}if(p.path!==undefined){let t=p.path;if(!m.absolutePath&&(!E||!E.absolutePath)){t=g(t)}if($===undefined&&t[0]==="/"&&t[1]==="/"){t="/%2F"+t.slice(2)}b.push(t)}if(p.query!==undefined){b.push("?",p.query)}if(p.fragment!==undefined){b.push("#",p.fragment)}return b.join("")}const A=/^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;function getParseError(t,u){if(u[2]!==undefined&&t.path&&t.path[0]!=="/"){return'URI path must start with "/" when authority is present.'}if(typeof t.port==="number"&&(t.port<0||t.port>65535)){return"URI port is malformed."}return undefined}function parseWithStatus(t,u){const p=Object.assign({},u);const g={scheme:undefined,userinfo:undefined,host:"",port:undefined,path:"",query:undefined,fragment:undefined};let y=false;let v=false;if(p.reference==="suffix"){if(p.scheme){t=p.scheme+":"+t}else{t="//"+t}}const w=t.match(A);if(w){g.scheme=w[1];g.userinfo=w[3];g.host=w[4];g.port=parseInt(w[5],10);g.path=w[6]||"";g.query=w[7];g.fragment=w[8];if(isNaN(g.port)){g.port=w[5]}const u=getParseError(g,w);if(u!==undefined){g.error=g.error||u;y=true}if(g.host){const t=$(g.host);if(t===false){const t=m(g.host);g.host=t.host.toLowerCase();v=t.isIPV6}else{v=true}}if(g.scheme===undefined&&g.userinfo===undefined&&g.host===undefined&&g.port===undefined&&g.query===undefined&&!g.path){g.reference="same-document"}else if(g.scheme===undefined){g.reference="relative"}else if(g.fragment===undefined){g.reference="absolute"}else{g.reference="uri"}if(p.reference&&p.reference!=="suffix"&&p.reference!==g.reference){g.error=g.error||"URI is not a "+p.reference+" reference."}const R=P(p.scheme||g.scheme);if(!p.unicodeSupport&&(!R||!R.unicodeSupport)){if(g.host&&(p.domainHost||R&&R.domainHost)&&v===false&&O(g.host)){try{g.host=URL.domainToASCII(g.host.toLowerCase())}catch(t){g.error=g.error||"Host's domain name can not be converted to ASCII: "+t}}}if(!R||R&&!R.skipNormalize){if(t.indexOf("%")!==-1){if(g.scheme!==undefined){g.scheme=unescape(g.scheme)}if(g.host!==undefined){g.host=E(unescape(g.host),v)}}if(g.path){g.path=b(g.path)}if(g.fragment){try{g.fragment=encodeURI(decodeURIComponent(g.fragment))}catch{g.error=g.error||"URI malformed"}}}if(R&&R.parse){R.parse(g,p)}}else{g.error=g.error||"URI can not be parsed."}return{parsed:g,malformedAuthorityOrPort:y}}function parse(t,u){return parseWithStatus(t,u).parsed}function normalizeString(t,u){return normalizeStringWithStatus(t,u).normalized}function normalizeStringWithStatus(t,u){const{parsed:p,malformedAuthorityOrPort:m}=parseWithStatus(t,u);return{normalized:m?t:serialize(p,u),malformedAuthorityOrPort:m}}function normalizeComparableURI(t,u){if(typeof t==="string"){const{normalized:p,malformedAuthorityOrPort:m}=normalizeStringWithStatus(t,u);return m?undefined:p}if(typeof t==="object"){return serialize(t,u)}}const x={SCHEMES:R,normalize:normalize,resolve:resolve,resolveComponent:resolveComponent,equal:equal,serialize:serialize,parse:parse};t.exports=x;t.exports["default"]=x;t.exports.fastUri=x},9886:(t,u,p)=>{"use strict";const{isUUID:m}=p(8279);const g=/([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;const y=["http","https","ws","wss","urn","urn:uuid"];function isValidSchemeName(t){return y.indexOf(t)!==-1}function wsIsSecure(t){if(t.secure===true){return true}else if(t.secure===false){return false}else if(t.scheme){return t.scheme.length===3&&(t.scheme[0]==="w"||t.scheme[0]==="W")&&(t.scheme[1]==="s"||t.scheme[1]==="S")&&(t.scheme[2]==="s"||t.scheme[2]==="S")}else{return false}}function httpParse(t){if(!t.host){t.error=t.error||"HTTP URIs must have a host."}return t}function httpSerialize(t){const u=String(t.scheme).toLowerCase()==="https";if(t.port===(u?443:80)||t.port===""){t.port=undefined}if(!t.path){t.path="/"}return t}function wsParse(t){t.secure=wsIsSecure(t);t.resourceName=(t.path||"/")+(t.query?"?"+t.query:"");t.path=undefined;t.query=undefined;return t}function wsSerialize(t){if(t.port===(wsIsSecure(t)?443:80)||t.port===""){t.port=undefined}if(typeof t.secure==="boolean"){t.scheme=t.secure?"wss":"ws";t.secure=undefined}if(t.resourceName){const[u,p]=t.resourceName.split("?");t.path=u&&u!=="/"?u:undefined;t.query=p;t.resourceName=undefined}t.fragment=undefined;return t}function urnParse(t,u){if(!t.path){t.error="URN can not be parsed";return t}const p=t.path.match(g);if(p){const m=u.scheme||t.scheme||"urn";t.nid=p[1].toLowerCase();t.nss=p[2];const g=`${m}:${u.nid||t.nid}`;const y=getSchemeHandler(g);t.path=undefined;if(y){t=y.parse(t,u)}}else{t.error=t.error||"URN can not be parsed."}return t}function urnSerialize(t,u){if(t.nid===undefined){throw new Error("URN without nid cannot be serialized")}const p=u.scheme||t.scheme||"urn";const m=t.nid.toLowerCase();const g=`${p}:${u.nid||m}`;const y=getSchemeHandler(g);if(y){t=y.serialize(t,u)}const v=t;const b=t.nss;v.path=`${m||u.nid}:${b}`;u.skipEscape=true;return v}function urnuuidParse(t,u){const p=t;p.uuid=p.nss;p.nss=undefined;if(!u.tolerant&&(!p.uuid||!m(p.uuid))){p.error=p.error||"UUID is not valid."}return p}function urnuuidSerialize(t){const u=t;u.nss=(t.uuid||"").toLowerCase();return u}const v={scheme:"http",domainHost:true,parse:httpParse,serialize:httpSerialize};const b={scheme:"https",domainHost:v.domainHost,parse:httpParse,serialize:httpSerialize};const w={scheme:"ws",domainHost:true,parse:wsParse,serialize:wsSerialize};const E={scheme:"wss",domainHost:w.domainHost,parse:w.parse,serialize:w.serialize};const $={scheme:"urn",parse:urnParse,serialize:urnSerialize,skipNormalize:true};const O={scheme:"urn:uuid",parse:urnuuidParse,serialize:urnuuidSerialize,skipNormalize:true};const R={http:v,https:b,ws:w,wss:E,urn:$,"urn:uuid":O};Object.setPrototypeOf(R,null);function getSchemeHandler(t){return t&&(R[t]||R[t.toLowerCase()])||undefined}t.exports={wsIsSecure:wsIsSecure,SCHEMES:R,isValidSchemeName:isValidSchemeName,getSchemeHandler:getSchemeHandler}},8279:t=>{"use strict";const u=RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);const p=RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);const m=RegExp.prototype.test.bind(/^[\da-f]{2}$/iu);const g=RegExp.prototype.test.bind(/^[\da-z\-._~]$/iu);const y=RegExp.prototype.test.bind(/^[\da-z\-._~!$&'()*+,;=:@/]$/iu);function stringArrayToHexStripped(t){let u="";let p=0;let m=0;for(m=0;m<t.length;m++){p=t[m].charCodeAt(0);if(p===48){continue}if(!(p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102)){return""}u+=t[m];break}for(m+=1;m<t.length;m++){p=t[m].charCodeAt(0);if(!(p>=48&&p<=57||p>=65&&p<=70||p>=97&&p<=102)){return""}u+=t[m]}return u}const v=RegExp.prototype.test.bind(/[^!"$&'()*+,\-.;=_`a-z{}~]/u);function consumeIsZone(t){t.length=0;return true}function consumeHextets(t,u,p){if(t.length){const m=stringArrayToHexStripped(t);if(m!==""){u.push(m)}else{p.error=true;return false}t.length=0}return true}function getIPV6(t){let u=0;const p={error:false,address:"",zone:""};const m=[];const g=[];let y=false;let v=false;let b=consumeHextets;for(let w=0;w<t.length;w++){const E=t[w];if(E==="["||E==="]"){continue}if(E===":"){if(y===true){v=true}if(!b(g,m,p)){break}if(++u>7){p.error=true;break}if(w>0&&t[w-1]===":"){y=true}m.push(":");continue}else if(E==="%"){if(!b(g,m,p)){break}b=consumeIsZone}else{g.push(E);continue}}if(g.length){if(b===consumeIsZone){p.zone=g.join("")}else if(v){m.push(g.join(""))}else{m.push(stringArrayToHexStripped(g))}}p.address=m.join("");return p}function normalizeIPv6(t){if(findToken(t,":")<2){return{host:t,isIPV6:false}}const u=getIPV6(t);if(!u.error){let t=u.address;let p=u.address;if(u.zone){t+="%"+u.zone;p+="%25"+u.zone}return{host:t,isIPV6:true,escapedHost:p}}else{return{host:t,isIPV6:false}}}function findToken(t,u){let p=0;for(let m=0;m<t.length;m++){if(t[m]===u)p++}return p}function removeDotSegments(t){let u=t;const p=[];let m=-1;let g=0;while(g=u.length){if(g===1){if(u==="."){break}else if(u==="/"){p.push("/");break}else{p.push(u);break}}else if(g===2){if(u[0]==="."){if(u[1]==="."){break}else if(u[1]==="/"){u=u.slice(2);continue}}else if(u[0]==="/"){if(u[1]==="."||u[1]==="/"){p.push("/");break}}}else if(g===3){if(u==="/.."){if(p.length!==0){p.pop()}p.push("/");break}}if(u[0]==="."){if(u[1]==="."){if(u[2]==="/"){u=u.slice(3);continue}}else if(u[1]==="/"){u=u.slice(2);continue}}else if(u[0]==="/"){if(u[1]==="."){if(u[2]==="/"){u=u.slice(2);continue}else if(u[2]==="."){if(u[3]==="/"){u=u.slice(3);if(p.length!==0){p.pop()}continue}}}}if((m=u.indexOf("/",1))===-1){p.push(u);break}else{p.push(u.slice(0,m));u=u.slice(m)}}return p.join("")}const b={"@":"%40","/":"%2F","?":"%3F","#":"%23",":":"%3A"};const w=/[@/?#:]/g;const E=/[@/?#]/g;function reescapeHostDelimiters(t,u){const p=u?E:w;p.lastIndex=0;return t.replace(p,(t=>b[t]))}function normalizePercentEncoding(t,u=false){if(t.indexOf("%")===-1){return t}let p="";for(let y=0;y<t.length;y++){if(t[y]==="%"&&y+2<t.length){const v=t.slice(y+1,y+3);if(m(v)){const t=v.toUpperCase();const m=String.fromCharCode(parseInt(t,16));if(u&&g(m)){p+=m}else{p+="%"+t}y+=2;continue}}p+=t[y]}return p}function normalizePathEncoding(t){let u="";for(let p=0;p<t.length;p++){if(t[p]==="%"&&p+2<t.length){const y=t.slice(p+1,p+3);if(m(y)){const t=y.toUpperCase();const m=String.fromCharCode(parseInt(t,16));if(m!=="."&&g(m)){u+=m}else{u+="%"+t}p+=2;continue}}if(y(t[p])){u+=t[p]}else{u+=escape(t[p])}}return u}function escapePreservingEscapes(t){let u="";for(let p=0;p<t.length;p++){if(t[p]==="%"&&p+2<t.length){const g=t.slice(p+1,p+3);if(m(g)){u+="%"+g.toUpperCase();p+=2;continue}}u+=escape(t[p])}return u}function recomposeAuthority(t){const u=[];if(t.userinfo!==undefined){u.push(t.userinfo);u.push("@")}if(t.host!==undefined){let m=unescape(t.host);if(!p(m)){const t=normalizeIPv6(m);if(t.isIPV6===true){m=`[${t.escapedHost}]`}else{m=reescapeHostDelimiters(m,false)}}u.push(m)}if(typeof t.port==="number"||typeof t.port==="string"){u.push(":");u.push(String(t.port))}return u.length?u.join(""):undefined}t.exports={nonSimpleDomain:v,recomposeAuthority:recomposeAuthority,reescapeHostDelimiters:reescapeHostDelimiters,normalizePercentEncoding:normalizePercentEncoding,normalizePathEncoding:normalizePathEncoding,escapePreservingEscapes:escapePreservingEscapes,removeDotSegments:removeDotSegments,isIPv4:p,isUUID:u,normalizeIPv6:normalizeIPv6,stringArrayToHexStripped:stringArrayToHexStripped}},1453:t=>{"use strict";t.exports=JSON.parse('{"$id":"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#","description":"Meta-schema for $data reference (JSON AnySchema extension proposal)","type":"object","required":["$data"],"properties":{"$data":{"type":"string","anyOf":[{"format":"relative-json-pointer"},{"format":"json-pointer"}]}},"additionalProperties":false}')},6640:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/applicator","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/applicator":true},"$dynamicAnchor":"meta","title":"Applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"prefixItems":{"$ref":"#/$defs/schemaArray"},"items":{"$dynamicRef":"#meta"},"contains":{"$dynamicRef":"#meta"},"additionalProperties":{"$dynamicRef":"#meta"},"properties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"propertyNames":{"format":"regex"},"default":{}},"dependentSchemas":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"},"default":{}},"propertyNames":{"$dynamicRef":"#meta"},"if":{"$dynamicRef":"#meta"},"then":{"$dynamicRef":"#meta"},"else":{"$dynamicRef":"#meta"},"allOf":{"$ref":"#/$defs/schemaArray"},"anyOf":{"$ref":"#/$defs/schemaArray"},"oneOf":{"$ref":"#/$defs/schemaArray"},"not":{"$dynamicRef":"#meta"}},"$defs":{"schemaArray":{"type":"array","minItems":1,"items":{"$dynamicRef":"#meta"}}}}')},8578:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/content","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Content vocabulary meta-schema","type":["object","boolean"],"properties":{"contentEncoding":{"type":"string"},"contentMediaType":{"type":"string"},"contentSchema":{"$dynamicRef":"#meta"}}}')},5958:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/core","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true},"$dynamicAnchor":"meta","title":"Core vocabulary meta-schema","type":["object","boolean"],"properties":{"$id":{"$ref":"#/$defs/uriReferenceString","$comment":"Non-empty fragments not allowed.","pattern":"^[^#]*#?$"},"$schema":{"$ref":"#/$defs/uriString"},"$ref":{"$ref":"#/$defs/uriReferenceString"},"$anchor":{"$ref":"#/$defs/anchorString"},"$dynamicRef":{"$ref":"#/$defs/uriReferenceString"},"$dynamicAnchor":{"$ref":"#/$defs/anchorString"},"$vocabulary":{"type":"object","propertyNames":{"$ref":"#/$defs/uriString"},"additionalProperties":{"type":"boolean"}},"$comment":{"type":"string"},"$defs":{"type":"object","additionalProperties":{"$dynamicRef":"#meta"}}},"$defs":{"anchorString":{"type":"string","pattern":"^[A-Za-z_][-A-Za-z0-9._]*$"},"uriString":{"type":"string","format":"uri"},"uriReferenceString":{"type":"string","format":"uri-reference"}}}')},8732:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/format-annotation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/format-annotation":true},"$dynamicAnchor":"meta","title":"Format vocabulary meta-schema for annotation results","type":["object","boolean"],"properties":{"format":{"type":"string"}}}')},2059:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/meta-data","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/meta-data":true},"$dynamicAnchor":"meta","title":"Meta-data vocabulary meta-schema","type":["object","boolean"],"properties":{"title":{"type":"string"},"description":{"type":"string"},"default":true,"deprecated":{"type":"boolean","default":false},"readOnly":{"type":"boolean","default":false},"writeOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true}}}')},3179:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/unevaluated","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/unevaluated":true},"$dynamicAnchor":"meta","title":"Unevaluated applicator vocabulary meta-schema","type":["object","boolean"],"properties":{"unevaluatedItems":{"$dynamicRef":"#meta"},"unevaluatedProperties":{"$dynamicRef":"#meta"}}}')},6506:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/meta/validation","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/validation":true},"$dynamicAnchor":"meta","title":"Validation vocabulary meta-schema","type":["object","boolean"],"properties":{"type":{"anyOf":[{"$ref":"#/$defs/simpleTypes"},{"type":"array","items":{"$ref":"#/$defs/simpleTypes"},"minItems":1,"uniqueItems":true}]},"const":true,"enum":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/$defs/nonNegativeInteger"},"minLength":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"maxItems":{"$ref":"#/$defs/nonNegativeInteger"},"minItems":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"maxContains":{"$ref":"#/$defs/nonNegativeInteger"},"minContains":{"$ref":"#/$defs/nonNegativeInteger","default":1},"maxProperties":{"$ref":"#/$defs/nonNegativeInteger"},"minProperties":{"$ref":"#/$defs/nonNegativeIntegerDefault0"},"required":{"$ref":"#/$defs/stringArray"},"dependentRequired":{"type":"object","additionalProperties":{"$ref":"#/$defs/stringArray"}}},"$defs":{"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"$ref":"#/$defs/nonNegativeInteger","default":0},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}}}')},8350:t=>{"use strict";t.exports=JSON.parse('{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://json-schema.org/draft/2020-12/schema","$vocabulary":{"https://json-schema.org/draft/2020-12/vocab/core":true,"https://json-schema.org/draft/2020-12/vocab/applicator":true,"https://json-schema.org/draft/2020-12/vocab/unevaluated":true,"https://json-schema.org/draft/2020-12/vocab/validation":true,"https://json-schema.org/draft/2020-12/vocab/meta-data":true,"https://json-schema.org/draft/2020-12/vocab/format-annotation":true,"https://json-schema.org/draft/2020-12/vocab/content":true},"$dynamicAnchor":"meta","title":"Core and Validation specifications meta-schema","allOf":[{"$ref":"meta/core"},{"$ref":"meta/applicator"},{"$ref":"meta/unevaluated"},{"$ref":"meta/validation"},{"$ref":"meta/meta-data"},{"$ref":"meta/format-annotation"},{"$ref":"meta/content"}],"type":["object","boolean"],"$comment":"This meta-schema also defines keywords that have appeared in previous drafts in order to prevent incompatible extensions as they remain in common use.","properties":{"definitions":{"$comment":"\\"definitions\\" has been replaced by \\"$defs\\".","type":"object","additionalProperties":{"$dynamicRef":"#meta"},"deprecated":true,"default":{}},"dependencies":{"$comment":"\\"dependencies\\" has been split and replaced by \\"dependentSchemas\\" and \\"dependentRequired\\" in order to serve their differing semantics.","type":"object","additionalProperties":{"anyOf":[{"$dynamicRef":"#meta"},{"$ref":"meta/validation#/$defs/stringArray"}]},"deprecated":true,"default":{}},"$recursiveAnchor":{"$comment":"\\"$recursiveAnchor\\" has been replaced by \\"$dynamicAnchor\\".","$ref":"meta/core#/$defs/anchorString","deprecated":true},"$recursiveRef":{"$comment":"\\"$recursiveRef\\" has been replaced by \\"$dynamicRef\\".","$ref":"meta/core#/$defs/uriReferenceString","deprecated":true}}}')},9199:t=>{"use strict";t.exports=JSON.parse('{"$schema":"http://json-schema.org/draft-07/schema#","$id":"http://json-schema.org/draft-07/schema#","title":"Core schema meta-schema","definitions":{"schemaArray":{"type":"array","minItems":1,"items":{"$ref":"#"}},"nonNegativeInteger":{"type":"integer","minimum":0},"nonNegativeIntegerDefault0":{"allOf":[{"$ref":"#/definitions/nonNegativeInteger"},{"default":0}]},"simpleTypes":{"enum":["array","boolean","integer","null","number","object","string"]},"stringArray":{"type":"array","items":{"type":"string"},"uniqueItems":true,"default":[]}},"type":["object","boolean"],"properties":{"$id":{"type":"string","format":"uri-reference"},"$schema":{"type":"string","format":"uri"},"$ref":{"type":"string","format":"uri-reference"},"$comment":{"type":"string"},"title":{"type":"string"},"description":{"type":"string"},"default":true,"readOnly":{"type":"boolean","default":false},"examples":{"type":"array","items":true},"multipleOf":{"type":"number","exclusiveMinimum":0},"maximum":{"type":"number"},"exclusiveMaximum":{"type":"number"},"minimum":{"type":"number"},"exclusiveMinimum":{"type":"number"},"maxLength":{"$ref":"#/definitions/nonNegativeInteger"},"minLength":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"pattern":{"type":"string","format":"regex"},"additionalItems":{"$ref":"#"},"items":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/schemaArray"}],"default":true},"maxItems":{"$ref":"#/definitions/nonNegativeInteger"},"minItems":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"uniqueItems":{"type":"boolean","default":false},"contains":{"$ref":"#"},"maxProperties":{"$ref":"#/definitions/nonNegativeInteger"},"minProperties":{"$ref":"#/definitions/nonNegativeIntegerDefault0"},"required":{"$ref":"#/definitions/stringArray"},"additionalProperties":{"$ref":"#"},"definitions":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"properties":{"type":"object","additionalProperties":{"$ref":"#"},"default":{}},"patternProperties":{"type":"object","additionalProperties":{"$ref":"#"},"propertyNames":{"format":"regex"},"default":{}},"dependencies":{"type":"object","additionalProperties":{"anyOf":[{"$ref":"#"},{"$ref":"#/definitions/stringArray"}]}},"propertyNames":{"$ref":"#"},"const":true,"enum":{"type":"array","items":true,"minItems":1,"uniqueItems":true},"type":{"anyOf":[{"$ref":"#/definitions/simpleTypes"},{"type":"array","items":{"$ref":"#/definitions/simpleTypes"},"minItems":1,"uniqueItems":true}]},"format":{"type":"string"},"contentMediaType":{"type":"string"},"contentEncoding":{"type":"string"},"if":{"$ref":"#"},"then":{"$ref":"#"},"else":{"$ref":"#"},"allOf":{"$ref":"#/definitions/schemaArray"},"anyOf":{"$ref":"#/definitions/schemaArray"},"oneOf":{"$ref":"#/definitions/schemaArray"},"not":{"$ref":"#"}},"default":true}')},7028:t=>{"use strict";t.exports=JSON.parse('[{"name":"Agola CI","constant":"AGOLA","env":"AGOLA_GIT_REF","pr":"AGOLA_PULL_REQUEST_ID"},{"name":"Alpic","constant":"ALPIC","env":"ALPIC_HOST"},{"name":"Appcircle","constant":"APPCIRCLE","env":"AC_APPCIRCLE","pr":{"env":"AC_GIT_PR","ne":"false"}},{"name":"AppVeyor","constant":"APPVEYOR","env":"APPVEYOR","pr":"APPVEYOR_PULL_REQUEST_NUMBER"},{"name":"AWS CodeBuild","constant":"CODEBUILD","env":"CODEBUILD_BUILD_ARN","pr":{"env":"CODEBUILD_WEBHOOK_EVENT","any":["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{"name":"Azure Pipelines","constant":"AZURE_PIPELINES","env":"TF_BUILD","pr":{"BUILD_REASON":"PullRequest"}},{"name":"Bamboo","constant":"BAMBOO","env":"bamboo_planKey"},{"name":"Bitbucket Pipelines","constant":"BITBUCKET","env":"BITBUCKET_COMMIT","pr":"BITBUCKET_PR_ID"},{"name":"Bitrise","constant":"BITRISE","env":"BITRISE_IO","pr":"BITRISE_PULL_REQUEST"},{"name":"Buddy","constant":"BUDDY","env":"BUDDY_WORKSPACE_ID","pr":"BUDDY_EXECUTION_PULL_REQUEST_ID"},{"name":"Buildkite","constant":"BUILDKITE","env":"BUILDKITE","pr":{"env":"BUILDKITE_PULL_REQUEST","ne":"false"}},{"name":"CircleCI","constant":"CIRCLE","env":"CIRCLECI","pr":"CIRCLE_PULL_REQUEST"},{"name":"Cirrus CI","constant":"CIRRUS","env":"CIRRUS_CI","pr":"CIRRUS_PR"},{"name":"Cloudflare Pages","constant":"CLOUDFLARE_PAGES","env":"CF_PAGES"},{"name":"Cloudflare Workers","constant":"CLOUDFLARE_WORKERS","env":"WORKERS_CI"},{"name":"Codefresh","constant":"CODEFRESH","env":"CF_BUILD_ID","pr":{"any":["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{"name":"Codemagic","constant":"CODEMAGIC","env":"CM_BUILD_ID","pr":"CM_PULL_REQUEST"},{"name":"Codeship","constant":"CODESHIP","env":{"CI_NAME":"codeship"}},{"name":"Drone","constant":"DRONE","env":"DRONE","pr":{"DRONE_BUILD_EVENT":"pull_request"}},{"name":"dsari","constant":"DSARI","env":"DSARI"},{"name":"Earthly","constant":"EARTHLY","env":"EARTHLY_CI"},{"name":"Expo Application Services","constant":"EAS","env":"EAS_BUILD"},{"name":"Gerrit","constant":"GERRIT","env":"GERRIT_PROJECT"},{"name":"Gitea Actions","constant":"GITEA_ACTIONS","env":"GITEA_ACTIONS"},{"name":"GitHub Actions","constant":"GITHUB_ACTIONS","env":"GITHUB_ACTIONS","pr":{"GITHUB_EVENT_NAME":"pull_request"}},{"name":"GitLab CI","constant":"GITLAB","env":"GITLAB_CI","pr":"CI_MERGE_REQUEST_ID"},{"name":"GoCD","constant":"GOCD","env":"GO_PIPELINE_LABEL"},{"name":"Google Cloud Build","constant":"GOOGLE_CLOUD_BUILD","env":"BUILDER_OUTPUT"},{"name":"Harness CI","constant":"HARNESS","env":"HARNESS_BUILD_ID"},{"name":"Heroku","constant":"HEROKU","env":{"env":"NODE","includes":"/app/.heroku/node/bin/node"}},{"name":"Hudson","constant":"HUDSON","env":"HUDSON_URL"},{"name":"Jenkins","constant":"JENKINS","env":["JENKINS_URL","BUILD_ID"],"pr":{"any":["ghprbPullId","CHANGE_ID"]}},{"name":"LayerCI","constant":"LAYERCI","env":"LAYERCI","pr":"LAYERCI_PULL_REQUEST"},{"name":"Magnum CI","constant":"MAGNUM","env":"MAGNUM"},{"name":"Netlify CI","constant":"NETLIFY","env":"NETLIFY","pr":{"env":"PULL_REQUEST","ne":"false"}},{"name":"Nevercode","constant":"NEVERCODE","env":"NEVERCODE","pr":{"env":"NEVERCODE_PULL_REQUEST","ne":"false"}},{"name":"Prow","constant":"PROW","env":"PROW_JOB_ID"},{"name":"ReleaseHub","constant":"RELEASEHUB","env":"RELEASE_BUILD_ID"},{"name":"Render","constant":"RENDER","env":"RENDER","pr":{"IS_PULL_REQUEST":"true"}},{"name":"Sail CI","constant":"SAIL","env":"SAILCI","pr":"SAIL_PULL_REQUEST_NUMBER"},{"name":"Screwdriver","constant":"SCREWDRIVER","env":"SCREWDRIVER","pr":{"env":"SD_PULL_REQUEST","ne":"false"}},{"name":"Semaphore","constant":"SEMAPHORE","env":"SEMAPHORE","pr":"PULL_REQUEST_NUMBER"},{"name":"Sourcehut","constant":"SOURCEHUT","env":{"CI_NAME":"sourcehut"}},{"name":"Strider CD","constant":"STRIDER","env":"STRIDER"},{"name":"TaskCluster","constant":"TASKCLUSTER","env":["TASK_ID","RUN_ID"]},{"name":"TeamCity","constant":"TEAMCITY","env":"TEAMCITY_VERSION"},{"name":"Travis CI","constant":"TRAVIS","env":"TRAVIS","pr":{"env":"TRAVIS_PULL_REQUEST","ne":"false"}},{"name":"Vela","constant":"VELA","env":"VELA","pr":{"VELA_PULL_REQUEST":"1"}},{"name":"Vercel","constant":"VERCEL","env":{"any":["NOW_BUILDER","VERCEL"]},"pr":"VERCEL_GIT_PULL_REQUEST_ID"},{"name":"Visual Studio App Center","constant":"APPCENTER","env":"APPCENTER_BUILD_ID"},{"name":"Woodpecker","constant":"WOODPECKER","env":{"CI":"woodpecker"},"pr":{"CI_BUILD_EVENT":"pull_request"}},{"name":"Xcode Cloud","constant":"XCODE_CLOUD","env":"CI_XCODE_PROJECT","pr":"CI_PULL_REQUEST_NUMBER"},{"name":"Xcode Server","constant":"XCODE_SERVER","env":"XCS"}]')},6737:t=>{"use strict";t.exports=JSON.parse('["_http_agent","_http_client","_http_common","_http_incoming","_http_outgoing","_http_server","_stream_duplex","_stream_passthrough","_stream_readable","_stream_transform","_stream_wrap","_stream_writable","_tls_common","_tls_wrap","assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","http2","https","inspector","inspector/promises","module","net","os","path","path/posix","path/win32","perf_hooks","process","punycode","querystring","readline","readline/promises","repl","stream","stream/consumers","stream/promises","stream/web","string_decoder","sys","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib","node:sea","node:sqlite","node:test","node:test/reporters"]')}};var u={};function __nccwpck_require__(p){var m=u[p];if(m!==undefined){return m.exports}var g=u[p]={exports:{}};var y=true;try{t[p](g,g.exports,__nccwpck_require__);y=false}finally{if(y)delete u[p]}return g.exports}(()=>{__nccwpck_require__.n=t=>{var u=t&&t.__esModule?()=>t["default"]:()=>t;__nccwpck_require__.d(u,{a:u});return u}})();(()=>{var t=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;var u;__nccwpck_require__.t=function(p,m){if(m&1)p=this(p);if(m&8)return p;if(typeof p==="object"&&p){if(m&4&&p.__esModule)return p;if(m&16&&typeof p.then==="function")return p}var g=Object.create(null);__nccwpck_require__.r(g);var y={};u=u||[null,t({}),t([]),t(t)];for(var v=m&2&&p;typeof v=="object"&&!~u.indexOf(v);v=t(v)){Object.getOwnPropertyNames(v).forEach((t=>y[t]=()=>p[t]))}y["default"]=()=>p;__nccwpck_require__.d(g,y);return g}})();(()=>{__nccwpck_require__.d=(t,u)=>{for(var p in u){if(__nccwpck_require__.o(u,p)&&!__nccwpck_require__.o(t,p)){Object.defineProperty(t,p,{enumerable:true,get:u[p]})}}}})();(()=>{__nccwpck_require__.o=(t,u)=>Object.prototype.hasOwnProperty.call(t,u)})();(()=>{__nccwpck_require__.r=t=>{if(typeof Symbol!=="undefined"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:"Module"})}Object.defineProperty(t,"__esModule",{value:true})}})();if(typeof __nccwpck_require__!=="undefined")__nccwpck_require__.ab=__dirname+"/";var p={};(()=>{"use strict";var t=__nccwpck_require__(3024);var u=__nccwpck_require__(6760);var p=__nccwpck_require__.n(u);var m=__nccwpck_require__(4732);var g=__nccwpck_require__.n(m);var y=__nccwpck_require__(206);const{DM:v,gu:b,er:w,Ww:E,b7:$,Di:O,a2:R,uB:P,ef:A,c$:x,_V:T}=y;const C=require("node:util");var k=__nccwpck_require__(1708);const I=require("node:crypto");const N=require("node:assert");const isObject=t=>{const u=typeof t;return t!==null&&(u==="object"||u==="function")};const isEmptyObject=t=>{if(!isObject(t)){return false}for(const u in t){if(Object.hasOwn(t,u)){return false}}return true};const D=new Set(["__proto__","prototype","constructor"]);const L=1e6;const isDigit=t=>t>="0"&&t<="9";function shouldCoerceToNumber(t){if(t==="0"){return true}if(/^[1-9]\d*$/.test(t)){const u=Number.parseInt(t,10);return u<=Number.MAX_SAFE_INTEGER&&u<=L}return false}function processSegment(t,u){if(D.has(t)){return false}if(t&&shouldCoerceToNumber(t)){u.push(Number.parseInt(t,10))}else{u.push(t)}return true}function parsePath(t){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}const u=[];let p="";let m="start";let g=false;let y=0;for(const v of t){y++;if(g){p+=v;g=false;continue}if(v==="\\"){if(m==="index"){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){throw new Error(`Invalid character '${v}' after an index at position ${y}`)}g=true;m=m==="start"?"property":m;continue}switch(v){case".":{if(m==="index"){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){m="property";break}if(!processSegment(p,u)){return[]}p="";m="property";break}case"[":{if(m==="index"){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){m="index";break}if(m==="property"||m==="start"){if((p||m==="property")&&!processSegment(p,u)){return[]}p=""}m="index";break}case"]":{if(m==="index"){if(p===""){const t=u.pop()||"";p=t+"[]";m="property"}else{const t=Number.parseInt(p,10);const g=!Number.isNaN(t)&&Number.isFinite(t)&&t>=0&&t<=Number.MAX_SAFE_INTEGER&&t<=L&&p===String(t);if(g){u.push(t)}else{u.push(p)}p="";m="indexEnd"}break}if(m==="indexEnd"){throw new Error(`Invalid character '${v}' after an index at position ${y}`)}p+=v;break}default:{if(m==="index"&&!isDigit(v)){throw new Error(`Invalid character '${v}' in an index at position ${y}`)}if(m==="indexEnd"){throw new Error(`Invalid character '${v}' after an index at position ${y}`)}if(m==="start"){m="property"}p+=v}}}if(g){p+="\\"}switch(m){case"property":{if(!processSegment(p,u)){return[]}break}case"index":{throw new Error("Index was not closed")}case"start":{u.push("");break}}return u}function normalizePath(t){if(typeof t==="string"){return parsePath(t)}if(Array.isArray(t)){const u=[];for(const[p,m]of t.entries()){if(typeof m!=="string"&&typeof m!=="number"){throw new TypeError(`Expected a string or number for path segment at index ${p}, got ${typeof m}`)}if(typeof m==="number"&&!Number.isFinite(m)){throw new TypeError(`Path segment at index ${p} must be a finite number, got ${m}`)}if(D.has(m)){return[]}if(typeof m==="string"&&shouldCoerceToNumber(m)){u.push(Number.parseInt(m,10))}else{u.push(m)}}return u}return[]}function getProperty(t,u,p){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return p===undefined?t:p}const m=normalizePath(u);if(m.length===0){return p}for(let u=0;u<m.length;u++){const g=m[u];t=t[g];if(t===undefined||t===null){if(u!==m.length-1){return p}break}}return t===undefined?p:t}function setProperty(t,u,p){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return t}const m=t;const g=normalizePath(u);if(g.length===0){return t}for(let u=0;u<g.length;u++){const m=g[u];if(u===g.length-1){t[m]=p}else if(!isObject(t[m])){const p=g[u+1];const y=typeof p==="number";t[m]=y?[]:{}}t=t[m]}return m}function deleteProperty(t,u){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return false}const p=normalizePath(u);if(p.length===0){return false}for(let u=0;u<p.length;u++){const m=p[u];if(u===p.length-1){const u=Object.hasOwn(t,m);if(!u){return false}delete t[m];return true}t=t[m];if(!isObject(t)){return false}}}function hasProperty(t,u){if(!isObject(t)||typeof u!=="string"&&!Array.isArray(u)){return false}const p=normalizePath(u);if(p.length===0){return false}for(const u of p){if(!isObject(t)||!(u in t)){return false}t=t[u]}return true}function escapePath(t){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}return t.replaceAll(/[\\.[]/g,String.raw`\$&`)}function normalizeEntries(t){const u=Object.entries(t);if(Array.isArray(t)){return u.map((([t,u])=>{const p=shouldCoerceToNumber(t)?Number.parseInt(t,10):t;return[p,u]}))}return u}function stringifyPath(t,u={}){if(!Array.isArray(t)){throw new TypeError(`Expected an array, got ${typeof t}`)}const{preferDotForIndices:p=false}=u;const m=[];for(const[u,g]of t.entries()){if(typeof g!=="string"&&typeof g!=="number"){throw new TypeError(`Expected a string or number for path segment at index ${u}, got ${typeof g}`)}if(typeof g==="number"){if(!Number.isInteger(g)||g<0){const t=escapePath(String(g));m.push(u===0?t:`.${t}`)}else if(p&&u>0){m.push(`.${g}`)}else{m.push(`[${g}]`)}}else if(typeof g==="string"){if(g===""){if(u===0){}else{m.push(".")}}else if(shouldCoerceToNumber(g)){const t=Number.parseInt(g,10);if(p&&u>0){m.push(`.${t}`)}else{m.push(`[${t}]`)}}else{const t=escapePath(g);m.push(u===0?t:`.${t}`)}}}return m.join("")}function*deepKeysIterator(t,u=[],p=new Set){if(!isObject(t)||isEmptyObject(t)){if(u.length>0){yield stringifyPath(u)}return}if(p.has(t)){return}p.add(t);for(const[m,g]of normalizeEntries(t)){u.push(m);yield*deepKeysIterator(g,u,p);u.pop()}p.delete(t)}function deepKeys(t){return[...deepKeysIterator(t)]}function unflatten(t){const u={};if(!isObject(t)){return u}for(const[p,m]of Object.entries(t)){setProperty(u,p,m)}return u}const M=require("node:os");var j=__nccwpck_require__.n(M);const U=M.homedir();const B=M.tmpdir();const{env:H}=k;const macos=t=>{const p=u.join(U,"Library");return{data:u.join(p,"Application Support",t),config:u.join(p,"Preferences",t),cache:u.join(p,"Caches",t),log:u.join(p,"Logs",t),temp:u.join(B,t)}};const windows=t=>{const p=H.APPDATA||u.join(U,"AppData","Roaming");const m=H.LOCALAPPDATA||u.join(U,"AppData","Local");return{data:u.join(m,t,"Data"),config:u.join(p,t,"Config"),cache:u.join(m,t,"Cache"),log:u.join(m,t,"Log"),temp:u.join(B,t)}};const linux=t=>{const p=u.basename(U);return{data:u.join(H.XDG_DATA_HOME||u.join(U,".local","share"),t),config:u.join(H.XDG_CONFIG_HOME||u.join(U,".config"),t),cache:u.join(H.XDG_CACHE_HOME||u.join(U,".cache"),t),log:u.join(H.XDG_STATE_HOME||u.join(U,".local","state"),t),temp:u.join(B,p,t)}};function envPaths(t,{suffix:u="nodejs"}={}){if(typeof t!=="string"){throw new TypeError(`Expected a string, got ${typeof t}`)}if(u){t+=`-${u}`}if(k.platform==="darwin"){return macos(t)}if(k.platform==="win32"){return windows(t)}return linux(t)}var V=__nccwpck_require__(8474);const z=require("node:stream");const attemptifyAsync=(t,u)=>{const{onError:p}=u;return function attemptified(...u){return t.apply(undefined,u).catch(p)}};const G=attemptifyAsync;const attemptifySync=(t,u)=>{const{onError:p}=u;return function attemptified(...u){try{return t.apply(undefined,u)}catch(t){return p(t)}}};const W=attemptifySync;const q=250;const retryifyAsync=(t,u)=>{const{isRetriable:p}=u;return function retryified(u){const{timeout:m}=u;const g=u.interval??q;const y=Date.now()+m;return function attempt(...u){return t.apply(undefined,u).catch((t=>{if(!p(t))throw t;if(Date.now()>=y)throw t;const m=Math.round(g*Math.random());if(m>0){const t=new Promise((t=>setTimeout(t,m)));return t.then((()=>attempt.apply(undefined,u)))}else{return attempt.apply(undefined,u)}}))}}};const Y=retryifyAsync;const retryifySync=(t,u)=>{const{isRetriable:p}=u;return function retryified(u){const{timeout:m}=u;const g=Date.now()+m;return function attempt(...u){while(true){try{return t.apply(undefined,u)}catch(t){if(!p(t))throw t;if(Date.now()>=g)throw t;continue}}}}};const X=retryifySync;const Z={isChangeErrorOk:t=>{if(!Z.isNodeError(t))return false;const{code:u}=t;if(u==="ENOSYS")return true;if(!se&&(u==="EINVAL"||u==="EPERM"))return true;return false},isNodeError:t=>t instanceof Error,isRetriableError:t=>{if(!Z.isNodeError(t))return false;const{code:u}=t;if(u==="EMFILE"||u==="ENFILE"||u==="EAGAIN"||u==="EBUSY"||u==="EACCESS"||u==="EACCES"||u==="EACCS"||u==="EPERM")return true;return false},onChangeError:t=>{if(!Z.isNodeError(t))throw t;if(Z.isChangeErrorOk(t))return;throw t}};const J=Z;const Q={onError:J.onChangeError};const ee={onError:()=>undefined};const se=k.getuid?!k.getuid():false;const ie={isRetriable:J.isRetriableError};const ne={attempt:{chmod:G((0,C.promisify)(t.chmod),Q),chown:G((0,C.promisify)(t.chown),Q),close:G((0,C.promisify)(t.close),ee),fsync:G((0,C.promisify)(t.fsync),ee),mkdir:G((0,C.promisify)(t.mkdir),ee),realpath:G((0,C.promisify)(t.realpath),ee),stat:G((0,C.promisify)(t.stat),ee),unlink:G((0,C.promisify)(t.unlink),ee),chmodSync:W(t.chmodSync,Q),chownSync:W(t.chownSync,Q),closeSync:W(t.closeSync,ee),existsSync:W(t.existsSync,ee),fsyncSync:W(t.fsync,ee),mkdirSync:W(t.mkdirSync,ee),realpathSync:W(t.realpathSync,ee),statSync:W(t.statSync,ee),unlinkSync:W(t.unlinkSync,ee)},retry:{close:Y((0,C.promisify)(t.close),ie),fsync:Y((0,C.promisify)(t.fsync),ie),open:Y((0,C.promisify)(t.open),ie),readFile:Y((0,C.promisify)(t.readFile),ie),rename:Y((0,C.promisify)(t.rename),ie),stat:Y((0,C.promisify)(t.stat),ie),write:Y((0,C.promisify)(t.write),ie),writeFile:Y((0,C.promisify)(t.writeFile),ie),closeSync:X(t.closeSync,ie),fsyncSync:X(t.fsyncSync,ie),openSync:X(t.openSync,ie),readFileSync:X(t.readFileSync,ie),renameSync:X(t.renameSync,ie),statSync:X(t.statSync,ie),writeSync:X(t.writeSync,ie),writeFileSync:X(t.writeFileSync,ie)}};const ae=ne;const le="utf8";const ue=438;const he=511;const de={};const fe={};const pe=k.geteuid?k.geteuid():-1;const me=k.getegid?k.getegid():-1;const ge=200;const ve=7500;const _e=1e3;const be=!!k.getuid;const we=k.getuid?!k.getuid():false;const Ee=128;const NOOP=()=>{};const lang_isException=t=>t instanceof Error&&"code"in t;const lang_isFunction=t=>typeof t==="function";const lang_isString=t=>typeof t==="string";const lang_isUndefined=t=>t===undefined;const Se={};const $e={next:t=>{const u=Se[t];if(!u)return;u.shift();const p=u[0];if(p){p((()=>$e.next(t)))}else{delete Se[t]}},schedule:t=>new Promise((u=>{let p=Se[t];if(!p)p=Se[t]=[];p.push(u);if(p.length>1)return;u((()=>$e.next(t)))}))};const Oe=null&&$e;const Re=k.platform==="linux";const Pe=k.platform==="win32";const Ae=["SIGHUP","SIGINT","SIGTERM"];if(!Pe){Ae.push("SIGALRM","SIGABRT","SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT")}if(Re){Ae.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT")}const xe=Ae;class Interceptor{constructor(){this.callbacks=new Set;this.exited=false;this.exit=t=>{if(this.exited)return;this.exited=true;for(const t of this.callbacks){t()}if(t){if(Pe&&(t!=="SIGINT"&&t!=="SIGTERM"&&t!=="SIGKILL")){k.kill(k.pid,"SIGTERM")}else{k.kill(k.pid,t)}}};this.hook=()=>{k.once("exit",(()=>this.exit()));for(const t of xe){try{k.once(t,(()=>this.exit(t)))}catch{}}};this.register=t=>{this.callbacks.add(t);return()=>{this.callbacks.delete(t)}};this.hook()}}const Te=new Interceptor;const Ce=Te.register;const ke=Ce;const Ie={store:{},create:t=>{const u=`000000${Math.floor(Math.random()*16777215).toString(16)}`.slice(-6);const p=Date.now().toString().slice(-10);const m="tmp-";const g=`.${m}${p}${u}`;const y=`${t}${g}`;return y},get:(t,u,p=true)=>{const m=Ie.truncate(u(t));if(m in Ie.store)return Ie.get(t,u,p);Ie.store[m]=p;const disposer=()=>delete Ie.store[m];return[m,disposer]},purge:t=>{if(!Ie.store[t])return;delete Ie.store[t];ae.attempt.unlink(t)},purgeSync:t=>{if(!Ie.store[t])return;delete Ie.store[t];ae.attempt.unlinkSync(t)},purgeSyncAll:()=>{for(const t in Ie.store){Ie.purgeSync(t)}},truncate:t=>{const p=u.basename(t);if(p.length<=Ee)return t;const m=/^(\.?)(.*?)((?:\.[^.]+)?(?:\.tmp-\d{10}[a-f0-9]{6})?)$/.exec(p);if(!m)return t;const g=p.length-Ee;return`${t.slice(0,-p.length)}${m[1]}${m[2].slice(0,-g)}${m[3]}`}};ke(Ie.purgeSyncAll);const Ne=Ie;function readFile(t,u=DEFAULT_READ_OPTIONS){if(isString(u))return readFile(t,{encoding:u});const p=u.timeout??DEFAULT_TIMEOUT_ASYNC;const m={timeout:p,interval:DEFAULT_INTERVAL_ASYNC};return fs.retry.readFile(m)(t,u)}function readFileSync(t,u=DEFAULT_READ_OPTIONS){if(isString(u))return readFileSync(t,{encoding:u});const p=u.timeout??DEFAULT_TIMEOUT_SYNC;const m={timeout:p};return fs.retry.readFileSync(m)(t,u)}function writeFile(t,u,p,m){if(isFunction(p))return writeFile(t,u,DEFAULT_WRITE_OPTIONS,p);const g=writeFileAsync(t,u,p);if(m)g.then(m,m);return g}async function writeFileAsync(t,u,p=DEFAULT_WRITE_OPTIONS){if(isString(p))return writeFileAsync(t,u,{encoding:p});const m=p.timeout??DEFAULT_TIMEOUT_ASYNC;const g={timeout:m,interval:DEFAULT_INTERVAL_ASYNC};let y=null;let v=null;let b=null;let w=null;let E=null;try{if(p.schedule)y=await p.schedule(t);v=await Scheduler.schedule(t);const m=await fs.attempt.realpath(t);const $=!!m;t=m||t;[w,b]=Temp.get(t,p.tmpCreate||Temp.create,!(p.tmpPurge===false));const O=IS_POSIX&&isUndefined(p.chown);const R=isUndefined(p.mode);if($&&(O||R)){const u=await fs.attempt.stat(t);if(u){p={...p};if(O){p.chown={uid:u.uid,gid:u.gid}}if(R){p.mode=u.mode}}}if(!$){const u=path.dirname(t);await fs.attempt.mkdir(u,{mode:DEFAULT_FOLDER_MODE,recursive:true})}E=await fs.retry.open(g)(w,"w",p.mode||DEFAULT_FILE_MODE);if(p.tmpCreated){p.tmpCreated(w)}if(isString(u)){await fs.retry.write(g)(E,u,0,p.encoding||DEFAULT_ENCODING)}else if(u instanceof Readable){const t=createWriteStream(w,{fd:E,autoClose:false});const p=once(t,"finish");u.pipe(t);await p}else if(!isUndefined(u)){await fs.retry.write(g)(E,u,0,u.length,0)}if(p.fsync!==false){if(p.fsyncWait!==false){await fs.retry.fsync(g)(E)}else{fs.attempt.fsync(E)}}await fs.retry.close(g)(E);E=null;if(p.chown&&(p.chown.uid!==DEFAULT_USER_UID||p.chown.gid!==DEFAULT_USER_GID)){await fs.attempt.chown(w,p.chown.uid,p.chown.gid)}if(p.mode&&p.mode!==DEFAULT_FILE_MODE){await fs.attempt.chmod(w,p.mode)}try{await fs.retry.rename(g)(w,t)}catch(u){if(!isException(u))throw u;if(u.code!=="ENAMETOOLONG")throw u;await fs.retry.rename(g)(w,Temp.truncate(t))}b();w=null}finally{if(E)await fs.attempt.close(E);if(w)Temp.purge(w);if(y)y();if(v)v()}}function writeFileSync(t,p,m=fe){if(lang_isString(m))return writeFileSync(t,p,{encoding:m});const g=m.timeout??_e;const y={timeout:g};let v=null;let b=null;let w=null;try{const g=ae.attempt.realpathSync(t);const E=!!g;t=g||t;[b,v]=Ne.get(t,m.tmpCreate||Ne.create,!(m.tmpPurge===false));const $=be&&lang_isUndefined(m.chown);const O=lang_isUndefined(m.mode);if(E&&($||O)){const u=ae.attempt.statSync(t);if(u){m={...m};if($){m.chown={uid:u.uid,gid:u.gid}}if(O){m.mode=u.mode}}}if(!E){const p=u.dirname(t);ae.attempt.mkdirSync(p,{mode:he,recursive:true})}w=ae.retry.openSync(y)(b,"w",m.mode||ue);if(m.tmpCreated){m.tmpCreated(b)}if(lang_isString(p)){ae.retry.writeSync(y)(w,p,0,m.encoding||le)}else if(!lang_isUndefined(p)){ae.retry.writeSync(y)(w,p,0,p.length,0)}if(m.fsync!==false){if(m.fsyncWait!==false){ae.retry.fsyncSync(y)(w)}else{ae.attempt.fsync(w)}}ae.retry.closeSync(y)(w);w=null;if(m.chown&&(m.chown.uid!==pe||m.chown.gid!==me)){ae.attempt.chownSync(b,m.chown.uid,m.chown.gid)}if(m.mode&&m.mode!==ue){ae.attempt.chmodSync(b,m.mode)}try{ae.retry.renameSync(y)(b,t)}catch(u){if(!lang_isException(u))throw u;if(u.code!=="ENAMETOOLONG")throw u;ae.retry.renameSync(y)(b,Ne.truncate(t))}v();b=null}finally{if(w)ae.attempt.closeSync(w);if(b)Ne.purge(b)}}var De=__nccwpck_require__(498);var Le=__nccwpck_require__(8302);const copyProperty=(t,u,p,m)=>{if(p==="length"||p==="prototype"){return}if(p==="arguments"||p==="caller"){return}const g=Object.getOwnPropertyDescriptor(t,p);const y=Object.getOwnPropertyDescriptor(u,p);if(!canCopyProperty(g,y)&&m){return}Object.defineProperty(t,p,y)};const canCopyProperty=function(t,u){return t===undefined||t.configurable||t.writable===u.writable&&t.enumerable===u.enumerable&&t.configurable===u.configurable&&(t.writable||t.value===u.value)};const changePrototype=(t,u)=>{const p=Object.getPrototypeOf(u);if(p===Object.getPrototypeOf(t)){return}Object.setPrototypeOf(t,p)};const wrappedToString=(t,u)=>`/* Wrapped ${t}*/\n${u}`;const Me=Object.getOwnPropertyDescriptor(Function.prototype,"toString");const je=Object.getOwnPropertyDescriptor(Function.prototype.toString,"name");const changeToString=(t,u,p)=>{const m=p===""?"":`with ${p.trim()}() `;const g=wrappedToString.bind(null,m,u.toString());Object.defineProperty(g,"name",je);const{writable:y,enumerable:v,configurable:b}=Me;Object.defineProperty(t,"toString",{value:g,writable:y,enumerable:v,configurable:b})};function mimicFunction(t,u,{ignoreNonConfigurable:p=false}={}){const{name:m}=t;for(const m of Reflect.ownKeys(u)){copyProperty(t,u,m,p)}changePrototype(t,u);changeToString(t,u,m);return t}const debounceFunction=(t,u={})=>{if(typeof t!=="function"){throw new TypeError(`Expected the first argument to be a function, got \`${typeof t}\``)}const{wait:p=0,maxWait:m=Number.POSITIVE_INFINITY,before:g=false,after:y=true}=u;if(p<0||m<0){throw new RangeError("`wait` and `maxWait` must not be negative.")}if(!g&&!y){throw new Error("Both `before` and `after` are false, function wouldn't be called.")}let v;let b;let w;const debouncedFunction=function(...u){const E=this;const later=()=>{v=undefined;if(b){clearTimeout(b);b=undefined}if(y){w=t.apply(E,u)}};const maxLater=()=>{b=undefined;if(v){clearTimeout(v);v=undefined}if(y){w=t.apply(E,u)}};const $=g&&!v;clearTimeout(v);v=setTimeout(later,p);if(m>0&&m!==Number.POSITIVE_INFINITY&&!b){b=setTimeout(maxLater,m)}if($){w=t.apply(E,u)}return w};mimicFunction(debouncedFunction,t);debouncedFunction.cancel=()=>{if(v){clearTimeout(v);v=undefined}if(b){clearTimeout(b);b=undefined}};return debouncedFunction};const Fe=debounceFunction;var Ue=__nccwpck_require__(2766);const Be=Object.prototype.toString;const He="[object Uint8Array]";const Ve="[object ArrayBuffer]";function isType(t,u,p){if(!t){return false}if(t.constructor===u){return true}return Be.call(t)===p}function isUint8Array(t){return isType(t,Uint8Array,He)}function isArrayBuffer(t){return isType(t,ArrayBuffer,Ve)}function isUint8ArrayOrArrayBuffer(t){return isUint8Array(t)||isArrayBuffer(t)}function assertUint8Array(t){if(!isUint8Array(t)){throw new TypeError(`Expected \`Uint8Array\`, got \`${typeof t}\``)}}function assertUint8ArrayOrArrayBuffer(t){if(!isUint8ArrayOrArrayBuffer(t)){throw new TypeError(`Expected \`Uint8Array\` or \`ArrayBuffer\`, got \`${typeof t}\``)}}function toUint8Array(t){if(t instanceof ArrayBuffer){return new Uint8Array(t)}if(ArrayBuffer.isView(t)){return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)}throw new TypeError(`Unsupported value, got \`${typeof t}\`.`)}function concatUint8Arrays(t,u){if(t.length===0){return new Uint8Array(0)}u??=t.reduce(((t,u)=>t+u.length),0);const p=new Uint8Array(u);let m=0;for(const u of t){assertUint8Array(u);p.set(u,m);m+=u.length}return p}function areUint8ArraysEqual(t,u){assertUint8Array(t);assertUint8Array(u);if(t===u){return true}if(t.length!==u.length){return false}for(let p=0;p<t.length;p++){if(t[p]!==u[p]){return false}}return true}function compareUint8Arrays(t,u){assertUint8Array(t);assertUint8Array(u);const p=Math.min(t.length,u.length);for(let m=0;m<p;m++){const p=t[m]-u[m];if(p!==0){return Math.sign(p)}}return Math.sign(t.length-u.length)}const ze={utf8:new globalThis.TextDecoder("utf8")};function uint8ArrayToString(t,u="utf8"){assertUint8ArrayOrArrayBuffer(t);ze[u]??=new globalThis.TextDecoder(u);return ze[u].decode(t)}function assertString(t){if(typeof t!=="string"){throw new TypeError(`Expected \`string\`, got \`${typeof t}\``)}}const Ge=new globalThis.TextEncoder;function stringToUint8Array(t){assertString(t);return Ge.encode(t)}function base64ToBase64Url(t){return t.replaceAll("+","-").replaceAll("/","_").replace(/=+$/,"")}function base64UrlToBase64(t){const u=t.replaceAll("-","+").replaceAll("_","/");const p=(4-u.length%4)%4;return u+"=".repeat(p)}const We=65535;function uint8ArrayToBase64(t,{urlSafe:u=false}={}){assertUint8Array(t);let p="";for(let u=0;u<t.length;u+=We){const m=t.subarray(u,u+We);p+=globalThis.btoa(String.fromCodePoint.apply(undefined,m))}return u?base64ToBase64Url(p):p}function base64ToUint8Array(t){assertString(t);return Uint8Array.from(globalThis.atob(base64UrlToBase64(t)),(t=>t.codePointAt(0)))}function stringToBase64(t,{urlSafe:u=false}={}){assertString(t);return uint8ArrayToBase64(stringToUint8Array(t),{urlSafe:u})}function base64ToString(t){assertString(t);return uint8ArrayToString(base64ToUint8Array(t))}const qe=Array.from({length:256},((t,u)=>u.toString(16).padStart(2,"0")));function uint8ArrayToHex(t){assertUint8Array(t);let u="";for(let p=0;p<t.length;p++){u+=qe[t[p]]}return u}const Ke={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,b:11,c:12,d:13,e:14,f:15,A:10,B:11,C:12,D:13,E:14,F:15};function hexToUint8Array(t){assertString(t);if(t.length%2!==0){throw new Error("Invalid Hex string length.")}const u=t.length/2;const p=new Uint8Array(u);for(let m=0;m<u;m++){const u=Ke[t[m*2]];const g=Ke[t[m*2+1]];if(u===undefined||g===undefined){throw new Error(`Invalid Hex character encountered at position ${m*2}`)}p[m]=u<<4|g}return p}function getUintBE(t){const{byteLength:u}=t;if(u===6){return t.getUint16(0)*2**32+t.getUint32(2)}if(u===5){return t.getUint8(0)*2**32+t.getUint32(1)}if(u===4){return t.getUint32(0)}if(u===3){return t.getUint8(0)*2**16+t.getUint16(1)}if(u===2){return t.getUint16(0)}if(u===1){return t.getUint8(0)}}function indexOf(t,u){const p=t.length;const m=u.length;if(m===0){return-1}if(m>p){return-1}const g=p-m;for(let p=0;p<=g;p++){let g=true;for(let y=0;y<m;y++){if(t[p+y]!==u[y]){g=false;break}}if(g){return p}}return-1}function includes(t,u){return indexOf(t,u)!==-1}const Ye="aes-256-cbc";const Xe=new Set(["aes-256-cbc","aes-256-gcm","aes-256-ctr"]);const isSupportedEncryptionAlgorithm=t=>typeof t==="string"&&Xe.has(t);const createPlainObject=()=>Object.create(null);const isExist=t=>t!==undefined;const checkValueType=(t,u)=>{const p=new Set(["undefined","symbol","function"]);const m=typeof u;if(p.has(m)){throw new TypeError(`Setting a value of type \`${m}\` for key \`${t}\` is not allowed as it's not supported by JSON`)}};const Ze="__internal__";const Je=`${Ze}.migrations.version`;class Conf{path;events;#e;#t;#r;#s;#i={};#n=false;#o;#a;#c;constructor(t={}){const u=this.#l(t);this.#s=u;this.#u(u);this.#h(u);this.#d(u);this.events=new EventTarget;this.#t=u.encryptionKey;this.#r=u.encryptionAlgorithm??Ye;this.path=this.#f(u);this.#p(u);if(u.watch){this._watch()}}get(t,u){if(this.#s.accessPropertiesByDotNotation){return this._get(t,u)}const{store:p}=this;return t in p?p[t]:u}set(t,u){if(typeof t!=="string"&&typeof t!=="object"){throw new TypeError(`Expected \`key\` to be of type \`string\` or \`object\`, got ${typeof t}`)}if(typeof t!=="object"&&u===undefined){throw new TypeError("Use `delete()` to clear values")}if(this._containsReservedKey(t)){throw new TypeError(`Please don't use the ${Ze} key, as it's used to manage this module internal operations.`)}const{store:p}=this;const set=(t,u)=>{checkValueType(t,u);if(this.#s.accessPropertiesByDotNotation){setProperty(p,t,u)}else{if(t==="__proto__"||t==="constructor"||t==="prototype"){return}p[t]=u}};if(typeof t==="object"){const u=t;for(const[t,p]of Object.entries(u)){set(t,p)}}else{set(t,u)}this.store=p}has(t){if(this.#s.accessPropertiesByDotNotation){return hasProperty(this.store,t)}return t in this.store}appendToArray(t,u){checkValueType(t,u);const p=this.#s.accessPropertiesByDotNotation?this._get(t,[]):t in this.store?this.store[t]:[];if(!Array.isArray(p)){throw new TypeError(`The key \`${t}\` is already set to a non-array value`)}this.set(t,[...p,u])}reset(...t){for(const u of t){if(isExist(this.#i[u])){this.set(u,this.#i[u])}}}delete(t){const{store:u}=this;if(this.#s.accessPropertiesByDotNotation){deleteProperty(u,t)}else{delete u[t]}this.store=u}clear(){const t=createPlainObject();for(const u of Object.keys(this.#i)){if(isExist(this.#i[u])){checkValueType(u,this.#i[u]);if(this.#s.accessPropertiesByDotNotation){setProperty(t,u,this.#i[u])}else{t[u]=this.#i[u]}}}this.store=t}onDidChange(t,u){if(typeof t!=="string"){throw new TypeError(`Expected \`key\` to be of type \`string\`, got ${typeof t}`)}if(typeof u!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof u}`)}return this._handleValueChange((()=>this.get(t)),u)}onDidAnyChange(t){if(typeof t!=="function"){throw new TypeError(`Expected \`callback\` to be of type \`function\`, got ${typeof t}`)}return this._handleStoreChange(t)}get size(){const t=Object.keys(this.store);return t.filter((t=>!this._isReservedKeyPath(t))).length}get store(){try{const u=t.readFileSync(this.path,this.#t?null:"utf8");const p=this._decryptData(u);const parseStore=t=>{const u=this._deserialize(t);if(!this.#n){this._validate(u)}return Object.assign(createPlainObject(),u)};return parseStore(p)}catch(t){if(t?.code==="ENOENT"){this._ensureDirectory();return createPlainObject()}if(this.#s.clearInvalidConfig){const u=t;if(u.name==="SyntaxError"){return createPlainObject()}if(u.message?.startsWith("Config schema violation:")){return createPlainObject()}if(u.message==="Failed to decrypt config data."){return createPlainObject()}}throw t}}set store(u){this._ensureDirectory();if(!hasProperty(u,Ze)){try{const p=t.readFileSync(this.path,this.#t?null:"utf8");const m=this._decryptData(p);const g=this._deserialize(m);if(hasProperty(g,Ze)){setProperty(u,Ze,getProperty(g,Ze))}}catch{}}if(!this.#n){this._validate(u)}this._write(u);this.events.dispatchEvent(new Event("change"))}*[Symbol.iterator](){for(const[t,u]of Object.entries(this.store)){if(!this._isReservedKeyPath(t)){yield[t,u]}}}_closeWatcher(){if(this.#o){this.#o.close();this.#o=undefined}if(this.#a){t.unwatchFile(this.path);this.#a=false}this.#c=undefined}_decryptData(t){const u=this.#t;if(!u){return typeof t==="string"?t:uint8ArrayToString(t)}const p=this.#r;const m=p==="aes-256-gcm"?16:0;const g=":".codePointAt(0);const y=typeof t==="string"?t.codePointAt(16):t[16];const v=g!==undefined&&y===g;if(!v){if(p==="aes-256-cbc"){return typeof t==="string"?t:uint8ArrayToString(t)}throw new Error("Failed to decrypt config data.")}const getEncryptedPayload=t=>{if(m===0){return{ciphertext:t}}const u=t.length-m;if(u<0){throw new Error("Invalid authentication tag length.")}return{ciphertext:t.slice(0,u),authenticationTag:t.slice(u)}};const b=t.slice(0,16);const w=t.slice(17);const E=typeof w==="string"?stringToUint8Array(w):w;const decrypt=t=>{const{ciphertext:m,authenticationTag:g}=getEncryptedPayload(E);const y=I.pbkdf2Sync(u,t,1e4,32,"sha512");const v=I.createDecipheriv(p,y,b);if(g){v.setAuthTag(g)}return uint8ArrayToString(concatUint8Arrays([v.update(m),v.final()]))};try{return decrypt(b)}catch{try{return decrypt(b.toString())}catch{}}if(p==="aes-256-cbc"){return typeof t==="string"?t:uint8ArrayToString(t)}throw new Error("Failed to decrypt config data.")}_handleStoreChange(t){let u=this.store;const onChange=()=>{const p=u;const m=this.store;if((0,C.isDeepStrictEqual)(m,p)){return}u=m;t.call(this,m,p)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_handleValueChange(t,u){let p=t();const onChange=()=>{const m=p;const g=t();if((0,C.isDeepStrictEqual)(g,m)){return}p=g;u.call(this,g,m)};this.events.addEventListener("change",onChange);return()=>{this.events.removeEventListener("change",onChange)}}_deserialize=t=>JSON.parse(t);_serialize=t=>JSON.stringify(t,undefined,"\t");_validate(t){if(!this.#e){return}const u=this.#e(t);if(u||!this.#e.errors){return}const p=this.#e.errors.map((({instancePath:t,message:u=""})=>`\`${t.slice(1)}\` ${u}`));throw new Error("Config schema violation: "+p.join("; "))}_ensureDirectory(){t.mkdirSync(u.dirname(this.path),{recursive:true})}_write(u){let p=this._serialize(u);const m=this.#t;if(m){const t=I.randomBytes(16);const u=I.pbkdf2Sync(m,t,1e4,32,"sha512");const g=I.createCipheriv(this.#r,u,t);const y=concatUint8Arrays([g.update(stringToUint8Array(p)),g.final()]);const v=[t,stringToUint8Array(":"),y];if(this.#r==="aes-256-gcm"){v.push(g.getAuthTag())}p=concatUint8Arrays(v)}if(k.env.SNAP){t.writeFileSync(this.path,p,{mode:this.#s.configFileMode})}else{try{writeFileSync(this.path,p,{mode:this.#s.configFileMode})}catch(u){if(u?.code==="EXDEV"){t.writeFileSync(this.path,p,{mode:this.#s.configFileMode});return}throw u}}}_watch(){this._ensureDirectory();if(!t.existsSync(this.path)){this._write(createPlainObject())}if(k.platform==="win32"||k.platform==="darwin"){this.#c??=Fe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:100});const p=u.dirname(this.path);const m=u.basename(this.path);this.#o=t.watch(p,{persistent:false,encoding:"utf8"},((t,u)=>{if(u&&u!==m){return}if(typeof this.#c==="function"){this.#c()}}))}else{this.#c??=Fe((()=>{this.events.dispatchEvent(new Event("change"))}),{wait:1e3});t.watchFile(this.path,{persistent:false},((t,u)=>{if(typeof this.#c==="function"){this.#c()}}));this.#a=true}}_migrate(t,u,p){let m=this._get(Je,"0.0.0");const g=Object.keys(t).filter((t=>this._shouldPerformMigration(t,m,u)));let y=structuredClone(this.store);for(const v of g){try{if(p){p(this,{fromVersion:m,toVersion:v,finalVersion:u,versions:g})}const b=t[v];b?.(this);this._set(Je,v);m=v;y=structuredClone(this.store)}catch(t){this.store=y;const u=t instanceof Error?t.message:String(t);throw new Error(`Something went wrong during the migration! Changes applied to the store until this failed migration will be restored. ${u}`)}}if(this._isVersionInRangeFormat(m)||!Ue.eq(m,u)){this._set(Je,u)}}_containsReservedKey(t){if(typeof t==="string"){return this._isReservedKeyPath(t)}if(!t||typeof t!=="object"){return false}return this._objectContainsReservedKey(t)}_objectContainsReservedKey(t){if(!t||typeof t!=="object"){return false}for(const[u,p]of Object.entries(t)){if(this._isReservedKeyPath(u)){return true}if(this._objectContainsReservedKey(p)){return true}}return false}_isReservedKeyPath(t){return t===Ze||t.startsWith(`${Ze}.`)}_isVersionInRangeFormat(t){return Ue.clean(t)===null}_shouldPerformMigration(t,u,p){if(this._isVersionInRangeFormat(t)){if(u!=="0.0.0"&&Ue.satisfies(u,t)){return false}return Ue.satisfies(p,t)}if(Ue.lte(t,u)){return false}if(Ue.gt(t,p)){return false}return true}_get(t,u){return getProperty(this.store,t,u)}_set(t,u){const{store:p}=this;setProperty(p,t,u);this.store=p}#l(t){const u={configName:"config",fileExtension:"json",projectSuffix:"nodejs",clearInvalidConfig:false,accessPropertiesByDotNotation:true,configFileMode:438,...t};u.encryptionAlgorithm??=Ye;if(!isSupportedEncryptionAlgorithm(u.encryptionAlgorithm)){throw new TypeError(`The \`encryptionAlgorithm\` option must be one of: ${[...Xe].join(", ")}`)}if(!u.cwd){if(!u.projectName){throw new Error("Please specify the `projectName` option.")}u.cwd=envPaths(u.projectName,{suffix:u.projectSuffix}).config}if(typeof u.fileExtension==="string"){u.fileExtension=u.fileExtension.replace(/^\.+/,"")}return u}#u(t){if(!(t.schema??t.ajvOptions??t.rootSchema)){return}if(t.schema&&typeof t.schema!=="object"){throw new TypeError("The `schema` option must be an object.")}const u=Le["default"];const p=new De.Ajv2020({allErrors:true,useDefaults:true,...t.ajvOptions});u(p);const m={...t.rootSchema,type:"object",properties:t.schema};this.#e=p.compile(m);this.#m(t.schema)}#m(t){const u=Object.entries(t??{});for(const[t,p]of u){if(!p||typeof p!=="object"){continue}if(!Object.hasOwn(p,"default")){continue}const{default:u}=p;if(u===undefined){continue}this.#i[t]=u}}#h(t){if(t.defaults){Object.assign(this.#i,t.defaults)}}#d(t){if(t.serialize){this._serialize=t.serialize}if(t.deserialize){this._deserialize=t.deserialize}}#f(t){const p=typeof t.fileExtension==="string"?t.fileExtension:undefined;const m=p?`.${p}`:"";return u.resolve(t.cwd,`${t.configName??"config"}${m}`)}#p(t){if(t.migrations){this.#g(t);this._validate(this.store);return}const u=this.store;const p=Object.assign(createPlainObject(),t.defaults??{},u);this._validate(p);try{N.deepEqual(u,p)}catch{this.store=p}}#g(t){const{migrations:u,projectVersion:p}=t;if(!u){return}if(!p){throw new Error("Please specify the `projectVersion` option.")}this.#n=true;try{const m=this.store;const g=Object.assign(createPlainObject(),t.defaults??{},m);try{N.deepEqual(m,g)}catch{this._write(g)}this._migrate(u,p,t.beforeEachMigration)}finally{this.#n=false}}}var Qe=__nccwpck_require__(6831);var et=__nccwpck_require__(8514);var tt=__nccwpck_require__.n(et);var rt=__nccwpck_require__(5059);var st=__nccwpck_require__.n(rt);var it=__nccwpck_require__(9642);var nt=__nccwpck_require__.n(it);const ot=require("node:stream/promises");var ct=__nccwpck_require__(4434);var ut=__nccwpck_require__(9896);const ht=require("node:string_decoder");var dt=__nccwpck_require__(6928);const ft=require("assert");var pt=__nccwpck_require__(181);const yt=require("zlib");var vt=__nccwpck_require__.t(yt,2);const _t=require("node:fs/promises");var bt=__nccwpck_require__.n(_t);var wt=Object.defineProperty;var Mr=(t,u)=>{for(var p in u)wt(t,p,{get:u[p],enumerable:!0})};var Et=typeof process=="object"&&process?process:{stdout:null,stderr:null},Pr=t=>!!t&&typeof t=="object"&&(t instanceof cr||t instanceof z||zr(t)||Ur(t)),zr=t=>!!t&&typeof t=="object"&&t instanceof V.EventEmitter&&typeof t.pipe=="function"&&t.pipe!==z.Writable.prototype.pipe,Ur=t=>!!t&&typeof t=="object"&&t instanceof V.EventEmitter&&typeof t.write=="function"&&typeof t.end=="function",St=Symbol("EOF"),$t=Symbol("maybeEmitEnd"),Ot=Symbol("emittedEnd"),Rt=Symbol("emittingEnd"),Pt=Symbol("emittedError"),At=Symbol("closed"),Tt=Symbol("read"),Ct=Symbol("flush"),kt=Symbol("flushChunk"),It=Symbol("encoding"),Dt=Symbol("decoder"),Mt=Symbol("flowing"),jt=Symbol("paused"),Ft=Symbol("resume"),Ut=Symbol("buffer"),Bt=Symbol("pipes"),Ht=Symbol("bufferLength"),Vt=Symbol("bufferPush"),zt=Symbol("bufferShift"),Gt=Symbol("objectMode"),Wt=Symbol("destroyed"),qt=Symbol("error"),Kt=Symbol("emitData"),Yt=Symbol("emitEnd"),Xt=Symbol("emitEnd2"),Zt=Symbol("async"),Jt=Symbol("abort"),Qt=Symbol("aborted"),er=Symbol("signal"),rr=Symbol("dataListeners"),sr=Symbol("discarded"),te=t=>Promise.resolve().then(t),Hr=t=>t(),Wr=t=>t==="end"||t==="finish"||t==="prefinish",Gr=t=>t instanceof ArrayBuffer||!!t&&typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,Zr=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),ir=class{src;dest;opts;ondrain;constructor(t,u,p){this.src=t,this.dest=u,this.opts=p,this.ondrain=()=>t[Ft](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},nr=class extends ir{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,u,p){super(t,u,p),this.proxyErrors=t=>this.dest.emit("error",t),t.on("error",this.proxyErrors)}},Yr=t=>!!t.objectMode,Kr=t=>!t.objectMode&&!!t.encoding&&t.encoding!=="buffer",cr=class extends V.EventEmitter{[Mt]=!1;[jt]=!1;[Bt]=[];[Ut]=[];[Gt];[It];[Zt];[Dt];[St]=!1;[Ot]=!1;[Rt]=!1;[At]=!1;[Pt]=null;[Ht]=0;[Wt]=!1;[er];[Qt]=!1;[rr]=0;[sr]=!1;writable=!0;readable=!0;constructor(...t){let u=t[0]||{};if(super(),u.objectMode&&typeof u.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");Yr(u)?(this[Gt]=!0,this[It]=null):Kr(u)?(this[It]=u.encoding,this[Gt]=!1):(this[Gt]=!1,this[It]=null),this[Zt]=!!u.async,this[Dt]=this[It]?new ht.StringDecoder(this[It]):null,u&&u.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[Ut]}),u&&u.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[Bt]});let{signal:p}=u;p&&(this[er]=p,p.aborted?this[Jt]():p.addEventListener("abort",(()=>this[Jt]())))}get bufferLength(){return this[Ht]}get encoding(){return this[It]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Gt]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[Zt]}set async(t){this[Zt]=this[Zt]||!!t}[Jt](){this[Qt]=!0,this.emit("abort",this[er]?.reason),this.destroy(this[er]?.reason)}get aborted(){return this[Qt]}set aborted(t){}write(t,u,p){if(this[Qt])return!1;if(this[St])throw new Error("write after end");if(this[Wt])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof u=="function"&&(p=u,u="utf8"),u||(u="utf8");let m=this[Zt]?te:Hr;if(!this[Gt]&&!Buffer.isBuffer(t)){if(Zr(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(Gr(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Gt]?(this[Mt]&&this[Ht]!==0&&this[Ct](!0),this[Mt]?this.emit("data",t):this[Vt](t),this[Ht]!==0&&this.emit("readable"),p&&m(p),this[Mt]):t.length?(typeof t=="string"&&!(u===this[It]&&!this[Dt]?.lastNeed)&&(t=Buffer.from(t,u)),Buffer.isBuffer(t)&&this[It]&&(t=this[Dt].write(t)),this[Mt]&&this[Ht]!==0&&this[Ct](!0),this[Mt]?this.emit("data",t):this[Vt](t),this[Ht]!==0&&this.emit("readable"),p&&m(p),this[Mt]):(this[Ht]!==0&&this.emit("readable"),p&&m(p),this[Mt])}read(t){if(this[Wt])return null;if(this[sr]=!1,this[Ht]===0||t===0||t&&t>this[Ht])return this[$t](),null;this[Gt]&&(t=null),this[Ut].length>1&&!this[Gt]&&(this[Ut]=[this[It]?this[Ut].join(""):Buffer.concat(this[Ut],this[Ht])]);let u=this[Tt](t||null,this[Ut][0]);return this[$t](),u}[Tt](t,u){if(this[Gt])this[zt]();else{let p=u;t===p.length||t===null?this[zt]():typeof p=="string"?(this[Ut][0]=p.slice(t),u=p.slice(0,t),this[Ht]-=t):(this[Ut][0]=p.subarray(t),u=p.subarray(0,t),this[Ht]-=t)}return this.emit("data",u),!this[Ut].length&&!this[St]&&this.emit("drain"),u}end(t,u,p){return typeof t=="function"&&(p=t,t=void 0),typeof u=="function"&&(p=u,u="utf8"),t!==void 0&&this.write(t,u),p&&this.once("end",p),this[St]=!0,this.writable=!1,(this[Mt]||!this[jt])&&this[$t](),this}[Ft](){this[Wt]||(!this[rr]&&!this[Bt].length&&(this[sr]=!0),this[jt]=!1,this[Mt]=!0,this.emit("resume"),this[Ut].length?this[Ct]():this[St]?this[$t]():this.emit("drain"))}resume(){return this[Ft]()}pause(){this[Mt]=!1,this[jt]=!0,this[sr]=!1}get destroyed(){return this[Wt]}get flowing(){return this[Mt]}get paused(){return this[jt]}[Vt](t){this[Gt]?this[Ht]+=1:this[Ht]+=t.length,this[Ut].push(t)}[zt](){return this[Gt]?this[Ht]-=1:this[Ht]-=this[Ut][0].length,this[Ut].shift()}[Ct](t=!1){do{}while(this[kt](this[zt]())&&this[Ut].length);!t&&!this[Ut].length&&!this[St]&&this.emit("drain")}[kt](t){return this.emit("data",t),this[Mt]}pipe(t,u){if(this[Wt])return t;this[sr]=!1;let p=this[Ot];return u=u||{},t===Et.stdout||t===Et.stderr?u.end=!1:u.end=u.end!==!1,u.proxyErrors=!!u.proxyErrors,p?u.end&&t.end():(this[Bt].push(u.proxyErrors?new nr(this,t,u):new ir(this,t,u)),this[Zt]?te((()=>this[Ft]())):this[Ft]()),t}unpipe(t){let u=this[Bt].find((u=>u.dest===t));u&&(this[Bt].length===1?(this[Mt]&&this[rr]===0&&(this[Mt]=!1),this[Bt]=[]):this[Bt].splice(this[Bt].indexOf(u),1),u.unpipe())}addListener(t,u){return this.on(t,u)}on(t,u){let p=super.on(t,u);if(t==="data")this[sr]=!1,this[rr]++,!this[Bt].length&&!this[Mt]&&this[Ft]();else if(t==="readable"&&this[Ht]!==0)super.emit("readable");else if(Wr(t)&&this[Ot])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[Pt]){let t=u;this[Zt]?te((()=>t.call(this,this[Pt]))):t.call(this,this[Pt])}return p}removeListener(t,u){return this.off(t,u)}off(t,u){let p=super.off(t,u);return t==="data"&&(this[rr]=this.listeners("data").length,this[rr]===0&&!this[sr]&&!this[Bt].length&&(this[Mt]=!1)),p}removeAllListeners(t){let u=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[rr]=0,!this[sr]&&!this[Bt].length&&(this[Mt]=!1)),u}get emittedEnd(){return this[Ot]}[$t](){!this[Rt]&&!this[Ot]&&!this[Wt]&&this[Ut].length===0&&this[St]&&(this[Rt]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[At]&&this.emit("close"),this[Rt]=!1)}emit(t,...u){let p=u[0];if(t!=="error"&&t!=="close"&&t!==Wt&&this[Wt])return!1;if(t==="data")return!this[Gt]&&!p?!1:this[Zt]?(te((()=>this[Kt](p))),!0):this[Kt](p);if(t==="end")return this[Yt]();if(t==="close"){if(this[At]=!0,!this[Ot]&&!this[Wt])return!1;let t=super.emit("close");return this.removeAllListeners("close"),t}else if(t==="error"){this[Pt]=p,super.emit(qt,p);let t=!this[er]||this.listeners("error").length?super.emit("error",p):!1;return this[$t](),t}else if(t==="resume"){let t=super.emit("resume");return this[$t](),t}else if(t==="finish"||t==="prefinish"){let u=super.emit(t);return this.removeAllListeners(t),u}let m=super.emit(t,...u);return this[$t](),m}[Kt](t){for(let u of this[Bt])u.dest.write(t)===!1&&this.pause();let u=this[sr]?!1:super.emit("data",t);return this[$t](),u}[Yt](){return this[Ot]?!1:(this[Ot]=!0,this.readable=!1,this[Zt]?(te((()=>this[Xt]())),!0):this[Xt]())}[Xt](){if(this[Dt]){let t=this[Dt].end();if(t){for(let u of this[Bt])u.dest.write(t);this[sr]||super.emit("data",t)}}for(let t of this[Bt])t.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[Gt]||(t.dataLength=0);let u=this.promise();return this.on("data",(u=>{t.push(u),this[Gt]||(t.dataLength+=u.length)})),await u,t}async concat(){if(this[Gt])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[It]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise(((t,u)=>{this.on(Wt,(()=>u(new Error("stream destroyed")))),this.on("error",(t=>u(t))),this.on("end",(()=>t()))}))}[Symbol.asyncIterator](){this[sr]=!1;let t=!1,e=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return e();let u=this.read();if(u!==null)return Promise.resolve({done:!1,value:u});if(this[St])return e();let p,m,h=t=>{this.off("data",a),this.off("end",l),this.off(Wt,c),e(),m(t)},a=t=>{this.off("error",h),this.off("end",l),this.off(Wt,c),this.pause(),p({value:t,done:!!this[St]})},l=()=>{this.off("error",h),this.off("data",a),this.off(Wt,c),e(),p({done:!0,value:void 0})},c=()=>h(new Error("stream destroyed"));return new Promise(((t,u)=>{m=u,p=t,this.once(Wt,c),this.once("error",h),this.once("end",l),this.once("data",a)}))},throw:e,return:e,[Symbol.asyncIterator](){return this},[Symbol.asyncDispose]:async()=>{}}}[Symbol.iterator](){this[sr]=!1;let t=!1,e=()=>(this.pause(),this.off(qt,e),this.off(Wt,e),this.off("end",e),t=!0,{done:!0,value:void 0}),i=()=>{if(t)return e();let u=this.read();return u===null?e():{done:!1,value:u}};return this.once("end",e),this.once(qt,e),this.once(Wt,e),{next:i,throw:e,return:e,[Symbol.iterator](){return this},[Symbol.dispose]:()=>{}}}destroy(t){if(this[Wt])return t?this.emit("error",t):this.emit(Wt),this;this[Wt]=!0,this[sr]=!0,this[Ut].length=0,this[Ht]=0;let u=this;return typeof u.close=="function"&&!this[At]&&u.close(),t?this.emit("error",t):this.emit(Wt),this}static get isStream(){return Pr}};var lr=ut.writev,ur=Symbol("_autoClose"),dr=Symbol("_close"),fr=Symbol("_ended"),pr=Symbol("_fd"),mr=Symbol("_finished"),vr=Symbol("_flags"),br=Symbol("_flush"),Er=Symbol("_handleChunk"),$r=Symbol("_makeBuf"),Or=Symbol("_mode"),Rr=Symbol("_needDrain"),Ar=Symbol("_onerror"),xr=Symbol("_onopen"),Tr=Symbol("_onread"),Cr=Symbol("_onwrite"),kr=Symbol("_open"),Nr=Symbol("_path"),Dr=Symbol("_pos"),Lr=Symbol("_queue"),jr=Symbol("_read"),Fr=Symbol("_readSize"),Br=Symbol("_reading"),Vr=Symbol("_remain"),Xr=Symbol("_size"),Jr=Symbol("_write"),Qr=Symbol("_writing"),es=Symbol("_defaultFlag"),ts=Symbol("_errored"),rs=class extends cr{[ts]=!1;[pr];[Nr];[Fr];[Br]=!1;[Xr];[Vr];[ur];constructor(t,u){if(u=u||{},super(u),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[ts]=!1,this[pr]=typeof u.fd=="number"?u.fd:void 0,this[Nr]=t,this[Fr]=u.readSize||16*1024*1024,this[Br]=!1,this[Xr]=typeof u.size=="number"?u.size:1/0,this[Vr]=this[Xr],this[ur]=typeof u.autoClose=="boolean"?u.autoClose:!0,typeof this[pr]=="number"?this[jr]():this[kr]()}get fd(){return this[pr]}get path(){return this[Nr]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[kr](){ut.open(this[Nr],"r",((t,u)=>this[xr](t,u)))}[xr](t,u){t?this[Ar](t):(this[pr]=u,this.emit("open",u),this[jr]())}[$r](){return Buffer.allocUnsafe(Math.min(this[Fr],this[Vr]))}[jr](){if(!this[Br]){this[Br]=!0;let t=this[$r]();if(t.length===0)return process.nextTick((()=>this[Tr](null,0,t)));ut.read(this[pr],t,0,t.length,null,((t,u,p)=>this[Tr](t,u,p)))}}[Tr](t,u,p){this[Br]=!1,t?this[Ar](t):this[Er](u,p)&&this[jr]()}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}[Ar](t){this[Br]=!0,this[dr](),this.emit("error",t)}[Er](t,u){let p=!1;return this[Vr]-=t,t>0&&(p=super.write(t<u.length?u.subarray(0,t):u)),(t===0||this[Vr]<=0)&&(p=!1,this[dr](),super.end()),p}emit(t,...u){switch(t){case"prefinish":case"finish":return!1;case"drain":return typeof this[pr]=="number"&&this[jr](),!1;case"error":return this[ts]?!1:(this[ts]=!0,super.emit(t,...u));default:return super.emit(t,...u)}}},ss=class extends rs{[kr](){let t=!0;try{this[xr](null,ut.openSync(this[Nr],"r")),t=!1}finally{t&&this[dr]()}}[jr](){let t=!0;try{if(!this[Br]){this[Br]=!0;do{let t=this[$r](),u=t.length===0?0:ut.readSync(this[pr],t,0,t.length,null);if(!this[Er](u,t))break}while(!0);this[Br]=!1}t=!1}finally{t&&this[dr]()}}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.closeSync(t),this.emit("close")}}},is=class extends ct{readable=!1;writable=!0;[ts]=!1;[Qr]=!1;[fr]=!1;[Lr]=[];[Rr]=!1;[Nr];[Or];[ur];[pr];[es];[vr];[mr]=!1;[Dr];constructor(t,u){u=u||{},super(u),this[Nr]=t,this[pr]=typeof u.fd=="number"?u.fd:void 0,this[Or]=u.mode===void 0?438:u.mode,this[Dr]=typeof u.start=="number"?u.start:void 0,this[ur]=typeof u.autoClose=="boolean"?u.autoClose:!0;let p=this[Dr]!==void 0?"r+":"w";this[es]=u.flags===void 0,this[vr]=u.flags===void 0?p:u.flags,this[pr]===void 0&&this[kr]()}emit(t,...u){if(t==="error"){if(this[ts])return!1;this[ts]=!0}return super.emit(t,...u)}get fd(){return this[pr]}get path(){return this[Nr]}[Ar](t){this[dr](),this[Qr]=!0,this.emit("error",t)}[kr](){ut.open(this[Nr],this[vr],this[Or],((t,u)=>this[xr](t,u)))}[xr](t,u){this[es]&&this[vr]==="r+"&&t&&t.code==="ENOENT"?(this[vr]="w",this[kr]()):t?this[Ar](t):(this[pr]=u,this.emit("open",u),this[Qr]||this[br]())}end(t,u){return t&&this.write(t,u),this[fr]=!0,!this[Qr]&&!this[Lr].length&&typeof this[pr]=="number"&&this[Cr](null,0),this}write(t,u){return typeof t=="string"&&(t=Buffer.from(t,u)),this[fr]?(this.emit("error",new Error("write() after end()")),!1):this[pr]===void 0||this[Qr]||this[Lr].length?(this[Lr].push(t),this[Rr]=!0,!1):(this[Qr]=!0,this[Jr](t),!0)}[Jr](t){ut.write(this[pr],t,0,t.length,this[Dr],((t,u)=>this[Cr](t,u)))}[Cr](t,u){t?this[Ar](t):(this[Dr]!==void 0&&typeof u=="number"&&(this[Dr]+=u),this[Lr].length?this[br]():(this[Qr]=!1,this[fr]&&!this[mr]?(this[mr]=!0,this[dr](),this.emit("finish")):this[Rr]&&(this[Rr]=!1,this.emit("drain"))))}[br](){if(this[Lr].length===0)this[fr]&&this[Cr](null,0);else if(this[Lr].length===1)this[Jr](this[Lr].pop());else{let t=this[Lr];this[Lr]=[],lr(this[pr],t,this[Dr],((t,u)=>this[Cr](t,u)))}}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.close(t,(t=>t?this.emit("error",t):this.emit("close")))}}},ns=class extends is{[kr](){let t;if(this[es]&&this[vr]==="r+")try{t=ut.openSync(this[Nr],this[vr],this[Or])}catch(t){if(t?.code==="ENOENT")return this[vr]="w",this[kr]();throw t}else t=ut.openSync(this[Nr],this[vr],this[Or]);this[xr](null,t)}[dr](){if(this[ur]&&typeof this[pr]=="number"){let t=this[pr];this[pr]=void 0,ut.closeSync(t),this.emit("close")}}[Jr](t){let u=!0;try{this[Cr](null,ut.writeSync(this[pr],t,0,t.length,this[Dr])),u=!1}finally{if(u)try{this[dr]()}catch{}}}};var os=new Map([["C","cwd"],["f","file"],["z","gzip"],["P","preservePaths"],["U","unlink"],["strip-components","strip"],["stripComponents","strip"],["keep-newer","newer"],["keepNewer","newer"],["keep-newer-files","newer"],["keepNewerFiles","newer"],["k","keep"],["keep-existing","keep"],["keepExisting","keep"],["m","noMtime"],["no-mtime","noMtime"],["p","preserveOwner"],["L","follow"],["h","follow"],["onentry","onReadEntry"]]),As=t=>!!t.sync&&!!t.file,Is=t=>!t.sync&&!!t.file,Cs=t=>!!t.sync&&!t.file,ks=t=>!t.sync&&!t.file;var Fs=t=>!!t.file;var qr=t=>{let u=os.get(t);return u||t},re=(t={})=>{if(!t)return{};let u={};for(let[p,m]of Object.entries(t)){let t=qr(p);u[t]=m}return u.chmod===void 0&&u.noChmod===!1&&(u.chmod=!0),delete u.noChmod,u};var K=(t,u,p,m,g)=>Object.assign(((y=[],v,b)=>{Array.isArray(y)&&(v=y,y={}),typeof v=="function"&&(b=v,v=void 0),v=v?Array.from(v):[];let w=re(y);if(g?.(w,v),As(w)){if(typeof b=="function")throw new TypeError("callback not supported for sync tar functions");return t(w,v)}else if(Is(w)){let t=u(w,v);return b?t.then((()=>b()),b):t}else if(Cs(w)){if(typeof b=="function")throw new TypeError("callback not supported for sync tar functions");return p(w,v)}else if(ks(w)){if(typeof b=="function")throw new TypeError("callback only supported with file option");return m(w,v)}throw new Error("impossible options??")}),{syncFile:t,asyncFile:u,syncNoFile:p,asyncNoFile:m,validate:g});var as=yt.constants||{ZLIB_VERNUM:4736},cs=Object.freeze(Object.assign(Object.create(null),{Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_VERSION_ERROR:-6,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,DEFLATE:1,INFLATE:2,GZIP:3,GUNZIP:4,DEFLATERAW:5,INFLATERAW:6,UNZIP:7,BROTLI_DECODE:8,BROTLI_ENCODE:9,Z_MIN_WINDOWBITS:8,Z_MAX_WINDOWBITS:15,Z_DEFAULT_WINDOWBITS:15,Z_MIN_CHUNK:64,Z_MAX_CHUNK:1/0,Z_DEFAULT_CHUNK:16384,Z_MIN_MEMLEVEL:1,Z_MAX_MEMLEVEL:9,Z_DEFAULT_MEMLEVEL:8,Z_MIN_LEVEL:-1,Z_MAX_LEVEL:9,Z_DEFAULT_LEVEL:-1,BROTLI_OPERATION_PROCESS:0,BROTLI_OPERATION_FLUSH:1,BROTLI_OPERATION_FINISH:2,BROTLI_OPERATION_EMIT_METADATA:3,BROTLI_MODE_GENERIC:0,BROTLI_MODE_TEXT:1,BROTLI_MODE_FONT:2,BROTLI_DEFAULT_MODE:0,BROTLI_MIN_QUALITY:0,BROTLI_MAX_QUALITY:11,BROTLI_DEFAULT_QUALITY:11,BROTLI_MIN_WINDOW_BITS:10,BROTLI_MAX_WINDOW_BITS:24,BROTLI_LARGE_MAX_WINDOW_BITS:30,BROTLI_DEFAULT_WINDOW:22,BROTLI_MIN_INPUT_BLOCK_BITS:16,BROTLI_MAX_INPUT_BLOCK_BITS:24,BROTLI_PARAM_MODE:0,BROTLI_PARAM_QUALITY:1,BROTLI_PARAM_LGWIN:2,BROTLI_PARAM_LGBLOCK:3,BROTLI_PARAM_DISABLE_LITERAL_CONTEXT_MODELING:4,BROTLI_PARAM_SIZE_HINT:5,BROTLI_PARAM_LARGE_WINDOW:6,BROTLI_PARAM_NPOSTFIX:7,BROTLI_PARAM_NDIRECT:8,BROTLI_DECODER_RESULT_ERROR:0,BROTLI_DECODER_RESULT_SUCCESS:1,BROTLI_DECODER_RESULT_NEEDS_MORE_INPUT:2,BROTLI_DECODER_RESULT_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_PARAM_DISABLE_RING_BUFFER_REALLOCATION:0,BROTLI_DECODER_PARAM_LARGE_WINDOW:1,BROTLI_DECODER_NO_ERROR:0,BROTLI_DECODER_SUCCESS:1,BROTLI_DECODER_NEEDS_MORE_INPUT:2,BROTLI_DECODER_NEEDS_MORE_OUTPUT:3,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_NIBBLE:-1,BROTLI_DECODER_ERROR_FORMAT_RESERVED:-2,BROTLI_DECODER_ERROR_FORMAT_EXUBERANT_META_NIBBLE:-3,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_ALPHABET:-4,BROTLI_DECODER_ERROR_FORMAT_SIMPLE_HUFFMAN_SAME:-5,BROTLI_DECODER_ERROR_FORMAT_CL_SPACE:-6,BROTLI_DECODER_ERROR_FORMAT_HUFFMAN_SPACE:-7,BROTLI_DECODER_ERROR_FORMAT_CONTEXT_MAP_REPEAT:-8,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_1:-9,BROTLI_DECODER_ERROR_FORMAT_BLOCK_LENGTH_2:-10,BROTLI_DECODER_ERROR_FORMAT_TRANSFORM:-11,BROTLI_DECODER_ERROR_FORMAT_DICTIONARY:-12,BROTLI_DECODER_ERROR_FORMAT_WINDOW_BITS:-13,BROTLI_DECODER_ERROR_FORMAT_PADDING_1:-14,BROTLI_DECODER_ERROR_FORMAT_PADDING_2:-15,BROTLI_DECODER_ERROR_FORMAT_DISTANCE:-16,BROTLI_DECODER_ERROR_DICTIONARY_NOT_SET:-19,BROTLI_DECODER_ERROR_INVALID_ARGUMENTS:-20,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MODES:-21,BROTLI_DECODER_ERROR_ALLOC_TREE_GROUPS:-22,BROTLI_DECODER_ERROR_ALLOC_CONTEXT_MAP:-25,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_1:-26,BROTLI_DECODER_ERROR_ALLOC_RING_BUFFER_2:-27,BROTLI_DECODER_ERROR_ALLOC_BLOCK_TYPE_TREES:-30,BROTLI_DECODER_ERROR_UNREACHABLE:-31},as));var ls=pt.Buffer.concat,hs=Object.getOwnPropertyDescriptor(pt.Buffer,"concat"),tn=t=>t,gs=hs?.writable===!0||hs?.set!==void 0?t=>{pt.Buffer.concat=t?tn:ls}:t=>{},ys=Symbol("_superWrite"),vs=class extends Error{code;errno;constructor(t,u){super("zlib: "+t.message,{cause:t}),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,u??this.constructor)}get name(){return"ZlibError"}},_s=Symbol("flushFlag"),bs=class extends cr{#y=!1;#v=!1;#_;#b;#w;#E;#S;get sawError(){return this.#y}get handle(){return this.#E}get flushFlag(){return this.#_}constructor(t,u){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");if(super(t),this.#_=t.flush??0,this.#b=t.finishFlush??0,this.#w=t.fullFlushFlag??0,typeof vt[u]!="function")throw new TypeError("Compression method not supported: "+u);try{this.#E=new vt[u](t)}catch(t){throw new vs(t,this.constructor)}this.#S=t=>{this.#y||(this.#y=!0,this.close(),this.emit("error",t))},this.#E?.on("error",(t=>this.#S(new vs(t)))),this.once("end",(()=>this.close))}close(){this.#E&&(this.#E.close(),this.#E=void 0,this.emit("close"))}reset(){if(!this.#y)return ft(this.#E,"zlib binding closed"),this.#E.reset?.()}flush(t){this.ended||(typeof t!="number"&&(t=this.#w),this.write(Object.assign(pt.Buffer.alloc(0),{[_s]:t})))}end(t,u,p){return typeof t=="function"&&(p=t,u=void 0,t=void 0),typeof u=="function"&&(p=u,u=void 0),t&&(u?this.write(t,u):this.write(t)),this.flush(this.#b),this.#v=!0,super.end(p)}get ended(){return this.#v}[ys](t){return super.write(t)}write(t,u,p){if(typeof u=="function"&&(p=u,u="utf8"),typeof t=="string"&&(t=pt.Buffer.from(t,u)),this.#y)return;ft(this.#E,"zlib binding closed");let m=this.#E._handle,g=m.close;m.close=()=>{};let y=this.#E.close;this.#E.close=()=>{},gs(!0);let v;try{let u=typeof t[_s]=="number"?t[_s]:this.#_;v=this.#E._processChunk(t,u),gs(!1)}catch(t){gs(!1),this.#S(new vs(t,this.write))}finally{this.#E&&(this.#E._handle=m,m.close=g,this.#E.close=y,this.#E.removeAllListeners("error"))}this.#E&&this.#E.on("error",(t=>this.#S(new vs(t,this.write))));let b;if(v)if(Array.isArray(v)&&v.length>0){let t=v[0];b=this[ys](pt.Buffer.from(t));for(let t=1;t<v.length;t++)b=this[ys](v[t])}else b=this[ys](pt.Buffer.from(v));return p&&p(),b}},ws=class extends bs{#y;#v;constructor(t,u){t=t||{},t.flush=t.flush||cs.Z_NO_FLUSH,t.finishFlush=t.finishFlush||cs.Z_FINISH,t.fullFlushFlag=cs.Z_FULL_FLUSH,super(t,u),this.#y=t.level,this.#v=t.strategy}params(t,u){if(!this.sawError){if(!this.handle)throw new Error("cannot switch params when binding is closed");if(!this.handle.params)throw new Error("not supported in this implementation");if(this.#y!==t||this.#v!==u){this.flush(cs.Z_SYNC_FLUSH),ft(this.handle,"zlib binding closed");let p=this.handle.flush;this.handle.flush=(t,u)=>{typeof t=="function"&&(u=t,t=this.flushFlag),this.flush(t),u?.()};try{this.handle.params(t,u)}finally{this.handle.flush=p}this.handle&&(this.#y=t,this.#v=u)}}}};var Es=class extends ws{#y;constructor(t){super(t,"Gzip"),this.#y=t&&!!t.portable}[ys](t){return this.#y?(this.#y=!1,t[9]=255,super[ys](t)):super[ys](t)}};var Ss=class extends ws{constructor(t){super(t,"Unzip")}},$s=class extends bs{constructor(t,u){t=t||{},t.flush=t.flush||cs.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||cs.BROTLI_OPERATION_FINISH,t.fullFlushFlag=cs.BROTLI_OPERATION_FLUSH,super(t,u)}},Os=class extends $s{constructor(t){super(t,"BrotliCompress")}},Rs=class extends $s{constructor(t){super(t,"BrotliDecompress")}},xs=class extends bs{constructor(t,u){t=t||{},t.flush=t.flush||cs.ZSTD_e_continue,t.finishFlush=t.finishFlush||cs.ZSTD_e_end,t.fullFlushFlag=cs.ZSTD_e_flush,super(t,u)}},Ts=class extends xs{constructor(t){super(t,"ZstdCompress")}},Ns=class extends xs{constructor(t){super(t,"ZstdDecompress")}};var Bs=(t,u)=>{if(Number.isSafeInteger(t))t<0?rn(t,u):sn(t,u);else throw Error("cannot encode number outside of javascript safe integer range");return u},sn=(t,u)=>{u[0]=128;for(var p=u.length;p>1;p--)u[p-1]=t&255,t=Math.floor(t/256)},rn=(t,u)=>{u[0]=255;var p=!1;t=t*-1;for(var m=u.length;m>1;m--){var g=t&255;t=Math.floor(t/256),p?u[m-1]=zs(g):g===0?u[m-1]=0:(p=!0,u[m-1]=Us(g))}},Ps=t=>{let u=t[0],p=u===128?on(t.subarray(1,t.length)):u===255?nn(t):null;if(p===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(p))throw Error("parsed number outside of javascript safe integer range");return p},nn=t=>{for(var u=t.length,p=0,m=!1,g=u-1;g>-1;g--){var y=Number(t[g]),v;m?v=zs(y):y===0?v=y:(m=!0,v=Us(y)),v!==0&&(p-=v*Math.pow(256,u-g-1))}return p},on=t=>{for(var u=t.length,p=0,m=u-1;m>-1;m--){var g=Number(t[m]);g!==0&&(p+=g*Math.pow(256,u-m-1))}return p},zs=t=>(255^t)&255,Us=t=>(255^t)+1&255;var Ds={};Mr(Ds,{code:()=>Ms,isCode:()=>oe,isName:()=>an,name:()=>Ls});var oe=t=>Ls.has(t),an=t=>Ms.has(t),Ls=new Map([["0","File"],["","OldFile"],["1","Link"],["2","SymbolicLink"],["3","CharacterDevice"],["4","BlockDevice"],["5","Directory"],["6","FIFO"],["7","ContiguousFile"],["g","GlobalExtendedHeader"],["x","ExtendedHeader"],["A","SolarisACL"],["D","GNUDumpDir"],["I","Inode"],["K","NextFileHasLongLinkpath"],["L","NextFileHasLongPath"],["M","ContinuationFile"],["N","OldGnuLongPath"],["S","SparseFile"],["V","TapeVolumeHeader"],["X","OldExtendedHeader"]]),Ms=new Map(Array.from(Ls).map((t=>[t[1],t[0]])));var js=class{cksumValid=!1;needPax=!1;nullBlock=!1;block;path;mode;uid;gid;size;cksum;#y="Unsupported";linkpath;uname;gname;devmaj=0;devmin=0;atime;ctime;mtime;charset;comment;constructor(t,u=0,p,m){Buffer.isBuffer(t)?this.decode(t,u||0,p,m):t&&this.#v(t)}decode(t,u,p,m){if(u||(u=0),!t||!(t.length>=u+512))throw new Error("need 512 bytes for header");this.path=p?.path??xt(t,u,100),this.mode=p?.mode??m?.mode??at(t,u+100,8),this.uid=p?.uid??m?.uid??at(t,u+108,8),this.gid=p?.gid??m?.gid??at(t,u+116,8),this.size=p?.size??m?.size??at(t,u+124,12),this.mtime=p?.mtime??m?.mtime??Ui(t,u+136,12),this.cksum=at(t,u+148,12),m&&this.#v(m,!0),p&&this.#v(p);let g=xt(t,u+156,1);if(oe(g)&&(this.#y=g||"0"),this.#y==="0"&&this.path.slice(-1)==="/"&&(this.#y="5"),this.#y==="5"&&(this.size=0),this.linkpath=xt(t,u+157,100),t.subarray(u+257,u+265).toString()==="ustar\x0000")if(this.uname=p?.uname??m?.uname??xt(t,u+265,32),this.gname=p?.gname??m?.gname??xt(t,u+297,32),this.devmaj=p?.devmaj??m?.devmaj??at(t,u+329,8)??0,this.devmin=p?.devmin??m?.devmin??at(t,u+337,8)??0,t[u+475]!==0){let p=xt(t,u+345,155);this.path=p+"/"+this.path}else{let g=xt(t,u+345,130);g&&(this.path=g+"/"+this.path),this.atime=p?.atime??m?.atime??Ui(t,u+476,12),this.ctime=p?.ctime??m?.ctime??Ui(t,u+488,12)}let y=256;for(let p=u;p<u+148;p++)y+=t[p];for(let p=u+156;p<u+512;p++)y+=t[p];this.cksumValid=y===this.cksum,this.cksum===void 0&&y===256&&(this.nullBlock=!0)}#v(t,u=!1){Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,p])=>!(p==null||t==="path"&&u||t==="linkpath"&&u||t==="global")))))}encode(t,u=0){if(t||(t=this.block=Buffer.alloc(512)),this.#y==="Unsupported"&&(this.#y="0"),!(t.length>=u+512))throw new Error("need 512 bytes for header");let p=this.ctime||this.atime?130:155,m=ln(this.path||"",p),g=m[0],y=m[1];this.needPax=!!m[2],this.needPax=Lt(t,u,100,g)||this.needPax,this.needPax=lt(t,u+100,8,this.mode)||this.needPax,this.needPax=lt(t,u+108,8,this.uid)||this.needPax,this.needPax=lt(t,u+116,8,this.gid)||this.needPax,this.needPax=lt(t,u+124,12,this.size)||this.needPax,this.needPax=Hi(t,u+136,12,this.mtime)||this.needPax,t[u+156]=Number(this.#y.codePointAt(0)),this.needPax=Lt(t,u+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",u+257,8),this.needPax=Lt(t,u+265,32,this.uname)||this.needPax,this.needPax=Lt(t,u+297,32,this.gname)||this.needPax,this.needPax=lt(t,u+329,8,this.devmaj)||this.needPax,this.needPax=lt(t,u+337,8,this.devmin)||this.needPax,this.needPax=Lt(t,u+345,p,y)||this.needPax,t[u+475]!==0?this.needPax=Lt(t,u+345,155,y)||this.needPax:(this.needPax=Lt(t,u+345,130,y)||this.needPax,this.needPax=Hi(t,u+476,12,this.atime)||this.needPax,this.needPax=Hi(t,u+488,12,this.ctime)||this.needPax);let v=256;for(let p=u;p<u+148;p++)v+=t[p];for(let p=u+156;p<u+512;p++)v+=t[p];return this.cksum=v,lt(t,u+148,8,this.cksum),this.cksumValid=!0,this.needPax}get type(){return this.#y==="Unsupported"?this.#y:Ls.get(this.#y)}get typeKey(){return this.#y}set type(t){let u=String(Ms.get(t));if(oe(u)||u==="Unsupported")this.#y=u;else if(oe(t))this.#y=t;else throw new TypeError("invalid entry type: "+t)}},ln=(t,p)=>{let m=t,g="",y,v=u.posix.parse(t).root||".";if(Buffer.byteLength(m)<100)y=[m,g,!1];else{g=u.posix.dirname(m),m=u.posix.basename(m);do{Buffer.byteLength(m)<=100&&Buffer.byteLength(g)<=p?y=[m,g,!1]:Buffer.byteLength(m)>100&&Buffer.byteLength(g)<=p?y=[m.slice(0,99),g,!0]:(m=u.posix.join(u.posix.basename(g),m),g=u.posix.dirname(g))}while(g!==v&&y===void 0);y||(y=[t.slice(0,99),"",!0])}return y},xt=(t,u,p)=>t.subarray(u,u+p).toString("utf8").replace(/\0.*/,""),Ui=(t,u,p)=>cn(at(t,u,p)),cn=t=>t===void 0?void 0:new Date(t*1e3),at=(t,u,p)=>Number(t[u])&128?Ps(t.subarray(u,u+p)):dn(t,u,p),fn=t=>isNaN(t)?void 0:t,dn=(t,u,p)=>fn(parseInt(t.subarray(u,u+p).toString("utf8").replace(/\0.*$/,"").trim(),8)),Hs={12:8589934591,8:2097151},lt=(t,u,p,m)=>m===void 0?!1:m>Hs[p]||m<0?(Bs(m,t.subarray(u,u+p)),!0):(mn(t,u,p,m),!1),mn=(t,u,p,m)=>t.write(pn(m,p),u,p,"ascii"),pn=(t,u)=>En(Math.floor(t).toString(8),u),En=(t,u)=>(t.length===u-1?t:new Array(u-t.length-1).join("0")+t+" ")+"\0",Hi=(t,u,p,m)=>m===void 0?!1:lt(t,u,p,m.getTime()/1e3),Gs=new Array(156).join("\0"),Lt=(t,u,p,m)=>m===void 0?!1:(t.write(m+Gs,u,p,"utf8"),m.length!==Buffer.byteLength(m)||m.length>p);var Ws=class s{atime;mtime;ctime;charset;comment;gid;uid;gname;uname;linkpath;dev;ino;nlink;path;size;mode;global;constructor(t,u=!1){this.atime=t.atime,this.charset=t.charset,this.comment=t.comment,this.ctime=t.ctime,this.dev=t.dev,this.gid=t.gid,this.global=u,this.gname=t.gname,this.ino=t.ino,this.linkpath=t.linkpath,this.mtime=t.mtime,this.nlink=t.nlink,this.path=t.path,this.size=t.size,this.uid=t.uid,this.uname=t.uname}encode(){let t=this.encodeBody();if(t==="")return Buffer.allocUnsafe(0);let p=Buffer.byteLength(t),m=512*Math.ceil(1+p/512),g=Buffer.allocUnsafe(m);for(let t=0;t<512;t++)g[t]=0;new js({path:("PaxHeader/"+(0,u.basename)(this.path??"")).slice(0,99),mode:this.mode||420,uid:this.uid,gid:this.gid,size:p,mtime:this.mtime,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime,ctime:this.ctime}).encode(g),g.write(t,512,p,"utf8");for(let t=p+512;t<g.length;t++)g[t]=0;return g}encodeBody(){return this.encodeField("path")+this.encodeField("ctime")+this.encodeField("atime")+this.encodeField("dev")+this.encodeField("ino")+this.encodeField("nlink")+this.encodeField("charset")+this.encodeField("comment")+this.encodeField("gid")+this.encodeField("gname")+this.encodeField("linkpath")+this.encodeField("mtime")+this.encodeField("size")+this.encodeField("uid")+this.encodeField("uname")}encodeField(t){if(this[t]===void 0)return"";let u=this[t],p=u instanceof Date?u.getTime()/1e3:u,m=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+p+`\n`,g=Buffer.byteLength(m),y=Math.floor(Math.log(g)/Math.log(10))+1;return g+y>=Math.pow(10,y)&&(y+=1),y+g+m}static parse(t,u,p=!1){return new s(yn(Rn(t),u),p)}},yn=(t,u)=>u?Object.assign({},u,t):t,Rn=t=>t.replace(/\n$/,"").split(`\n`).reduce(gn,Object.create(null)),gn=(t,u)=>{let p=parseInt(u,10);if(p!==Buffer.byteLength(u)+1)return t;u=u.slice((p+" ").length);let m=u.split("="),g=m.shift();if(!g)return t;let y=g.replace(/^SCHILY\.(dev|ino|nlink)/,"$1"),v=m.join("=");return t[y]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(y)?new Date(Number(v)*1e3):/^[0-9]+$/.test(v)?+v:v,t};var qs=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Ks=qs!=="win32"?t=>t:t=>t&&t.replaceAll(/\\/g,"/");var Ys=class extends cr{extended;globalExtended;header;startBlockSize;blockRemain;remain;type;meta=!1;ignore=!1;path;mode;uid;gid;uname;gname;size=0;mtime;atime;ctime;linkpath;dev;ino;nlink;invalid=!1;absolute;unsupported=!1;constructor(t,u,p){switch(super({}),this.pause(),this.extended=u,this.globalExtended=p,this.header=t,this.remain=t.size??0,this.startBlockSize=512*Math.ceil(this.remain/512),this.blockRemain=this.startBlockSize,this.type=t.type,this.type){case"File":case"OldFile":case"Link":case"SymbolicLink":case"CharacterDevice":case"BlockDevice":case"Directory":case"FIFO":case"ContiguousFile":case"GNUDumpDir":break;case"NextFileHasLongLinkpath":case"NextFileHasLongPath":case"OldGnuLongPath":case"GlobalExtendedHeader":case"ExtendedHeader":case"OldExtendedHeader":this.meta=!0;break;default:this.ignore=!0}if(!t.path)throw new Error("no path provided for tar.ReadEntry");this.path=Ks(t.path),this.mode=t.mode,this.mode&&(this.mode=this.mode&4095),this.uid=t.uid,this.gid=t.gid,this.uname=t.uname,this.gname=t.gname,this.size=this.remain,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=t.linkpath?Ks(t.linkpath):void 0,this.uname=t.uname,this.gname=t.gname,u&&this.#y(u),p&&this.#y(p,!0)}write(t){let u=t.length;if(u>this.blockRemain)throw new Error("writing more to entry than is appropriate");let p=this.remain,m=this.blockRemain;return this.remain=Math.max(0,p-u),this.blockRemain=Math.max(0,m-u),this.ignore?!0:p>=u?super.write(t):super.write(t.subarray(0,p))}#y(t,u=!1){t.path&&(t.path=Ks(t.path)),t.linkpath&&(t.linkpath=Ks(t.linkpath)),Object.assign(this,Object.fromEntries(Object.entries(t).filter((([t,p])=>!(p==null||t==="path"&&u)))))}};var Nt=(t,u,p,m={})=>{t.file&&(m.file=t.file),t.cwd&&(m.cwd=t.cwd),m.code=p instanceof Error&&p.code||u,m.tarCode=u,!t.strict&&m.recoverable!==!1?(p instanceof Error&&(m=Object.assign(p,m),p=p.message),t.emit("warn",u,p,m)):p instanceof Error?t.emit("error",Object.assign(p,m)):t.emit("error",Object.assign(new Error(`${u}: ${p}`),m))};var Xs=1024*1024,Zs=Buffer.from([31,139]),Js=Buffer.from([40,181,47,253]),Qs=Math.max(Zs.length,Js.length),ei=Symbol("state"),ti=Symbol("writeEntry"),ri=Symbol("readEntry"),si=Symbol("nextEntry"),ii=Symbol("processEntry"),ni=Symbol("extendedHeader"),oi=Symbol("globalExtendedHeader"),ai=Symbol("meta"),ci=Symbol("emitMeta"),li=Symbol("buffer"),ui=Symbol("queue"),hi=Symbol("ended"),di=Symbol("emittedEnd"),fi=Symbol("emit"),mi=Symbol("unzip"),gi=Symbol("consumeChunk"),yi=Symbol("consumeChunkSub"),vi=Symbol("consumeBody"),_i=Symbol("consumeMeta"),bi=Symbol("consumeHeader"),wi=Symbol("consuming"),Ei=Symbol("bufferConcat"),Si=Symbol("maybeEnd"),Oi=Symbol("writing"),Ri=Symbol("aborted"),Pi=Symbol("onDone"),Ai=Symbol("sawValidEntry"),xi=Symbol("sawNullBlock"),Ti=Symbol("sawEOF"),Ci=Symbol("closeStream"),xn=()=>!0,ki=class extends ct.EventEmitter{file;strict;maxMetaEntrySize;filter;brotli;zstd;writable=!0;readable=!1;[ui]=[];[li];[ri];[ti];[ei]="begin";[ai]="";[ni];[oi];[hi]=!1;[mi];[Ri]=!1;[Ai];[xi]=!1;[Ti]=!1;[Oi]=!1;[wi]=!1;[di]=!1;constructor(t={}){super(),this.file=t.file||"",this.on(Pi,(()=>{(this[ei]==="begin"||this[Ai]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")})),t.ondone?this.on(Pi,t.ondone):this.on(Pi,(()=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")})),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||Xs,this.filter=typeof t.filter=="function"?t.filter:xn;let u=t.file&&(t.file.endsWith(".tar.br")||t.file.endsWith(".tbr"));this.brotli=!(t.gzip||t.zstd)&&t.brotli!==void 0?t.brotli:u?void 0:!1;let p=t.file&&(t.file.endsWith(".tar.zst")||t.file.endsWith(".tzst"));this.zstd=!(t.gzip||t.brotli)&&t.zstd!==void 0?t.zstd:p?!0:void 0,this.on("end",(()=>this[Ci]())),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onReadEntry=="function"&&this.on("entry",t.onReadEntry)}warn(t,u,p={}){Nt(this,t,u,p)}[bi](t,u){this[Ai]===void 0&&(this[Ai]=!1);let p;try{p=new js(t,u,this[ni],this[oi])}catch(t){return this.warn("TAR_ENTRY_INVALID",t)}if(p.nullBlock)this[xi]?(this[Ti]=!0,this[ei]==="begin"&&(this[ei]="header"),this[fi]("eof")):(this[xi]=!0,this[fi]("nullBlock"));else if(this[xi]=!1,!p.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:p});else if(!p.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:p});else{let t=p.type;if(/^(Symbolic)?Link$/.test(t)&&!p.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:p});else if(!/^(Symbolic)?Link$/.test(t)&&!/^(Global)?ExtendedHeader$/.test(t)&&p.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:p});else{let t=this[ti]=new Ys(p,this[ni],this[oi]);if(!this[Ai])if(t.remain){let o=()=>{t.invalid||(this[Ai]=!0)};t.on("end",o)}else this[Ai]=!0;t.meta?t.size>this.maxMetaEntrySize?(t.ignore=!0,this[fi]("ignoredEntry",t),this[ei]="ignore",t.resume()):t.size>0&&(this[ai]="",t.on("data",(t=>this[ai]+=t)),this[ei]="meta"):(this[ni]=void 0,t.ignore=t.ignore||!this.filter(t.path,t),t.ignore?(this[fi]("ignoredEntry",t),this[ei]=t.remain?"ignore":"header",t.resume()):(t.remain?this[ei]="body":(this[ei]="header",t.end()),this[ri]?this[ui].push(t):(this[ui].push(t),this[si]())))}}}[Ci](){queueMicrotask((()=>this.emit("close")))}[ii](t){let u=!0;if(!t)this[ri]=void 0,u=!1;else if(Array.isArray(t)){let[u,...p]=t;this.emit(u,...p)}else this[ri]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",(()=>this[si]())),u=!1);return u}[si](){do{}while(this[ii](this[ui].shift()));if(this[ui].length===0){let t=this[ri];!t||t.flowing||t.size===t.remain?this[Oi]||this.emit("drain"):t.once("drain",(()=>this.emit("drain")))}}[vi](t,u){let p=this[ti];if(!p)throw new Error("attempt to consume body without entry??");let m=p.blockRemain??0,g=m>=t.length&&u===0?t:t.subarray(u,u+m);return p.write(g),p.blockRemain||(this[ei]="header",this[ti]=void 0,p.end()),g.length}[_i](t,u){let p=this[ti],m=this[vi](t,u);return!this[ti]&&p&&this[ci](p),m}[fi](t,u,p){this[ui].length===0&&!this[ri]?this.emit(t,u,p):this[ui].push([t,u,p])}[ci](t){switch(this[fi]("meta",this[ai]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[ni]=Ws.parse(this[ai],this[ni],!1);break;case"GlobalExtendedHeader":this[oi]=Ws.parse(this[ai],this[oi],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":{let t=this[ni]??Object.create(null);this[ni]=t,t.path=this[ai].replace(/\0.*/,"");break}case"NextFileHasLongLinkpath":{let t=this[ni]||Object.create(null);this[ni]=t,t.linkpath=this[ai].replace(/\0.*/,"");break}default:throw new Error("unknown meta: "+t.type)}}abort(t){this[Ri]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t,u,p){if(typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof u=="string"?u:"utf8")),this[Ri])return p?.(),!1;if((this[mi]===void 0||this.brotli===void 0&&this[mi]===!1)&&t){if(this[li]&&(t=Buffer.concat([this[li],t]),this[li]=void 0),t.length<Qs)return this[li]=t,p?.(),!0;for(let u=0;this[mi]===void 0&&u<Zs.length;u++)t[u]!==Zs[u]&&(this[mi]=!1);let u=!1;if(this[mi]===!1&&this.zstd!==!1){u=!0;for(let p=0;p<Js.length;p++)if(t[p]!==Js[p]){u=!1;break}}let m=this.brotli===void 0&&!u;if(this[mi]===!1&&m)if(t.length<512)if(this[hi])this.brotli=!0;else return this[li]=t,p?.(),!0;else try{new js(t.subarray(0,512)),this.brotli=!1}catch{this.brotli=!0}if(this[mi]===void 0||this[mi]===!1&&(this.brotli||u)){let m=this[hi];this[hi]=!1,this[mi]=this[mi]===void 0?new Ss({}):u?new Ns({}):new Rs({}),this[mi].on("data",(t=>this[gi](t))),this[mi].on("error",(t=>this.abort(t))),this[mi].on("end",(()=>{this[hi]=!0,this[gi]()})),this[Oi]=!0;let g=!!this[mi][m?"end":"write"](t);return this[Oi]=!1,p?.(),g}}this[Oi]=!0,this[mi]?this[mi].write(t):this[gi](t),this[Oi]=!1;let m=this[ui].length>0?!1:this[ri]?this[ri].flowing:!0;return!m&&this[ui].length===0&&this[ri]?.once("drain",(()=>this.emit("drain"))),p?.(),m}[Ei](t){t&&!this[Ri]&&(this[li]=this[li]?Buffer.concat([this[li],t]):t)}[Si](){if(this[hi]&&!this[di]&&!this[Ri]&&!this[wi]){this[di]=!0;let t=this[ti];if(t&&t.blockRemain){let u=this[li]?this[li].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${u} available)`,{entry:t}),this[li]&&t.write(this[li]),t.end()}this[fi](Pi)}}[gi](t){if(this[wi]&&t)this[Ei](t);else if(!t&&!this[li])this[Si]();else if(t){if(this[wi]=!0,this[li]){this[Ei](t);let u=this[li];this[li]=void 0,this[yi](u)}else this[yi](t);for(;this[li]&&this[li]?.length>=512&&!this[Ri]&&!this[Ti];){let t=this[li];this[li]=void 0,this[yi](t)}this[wi]=!1}(!this[li]||this[hi])&&this[Si]()}[yi](t){let u=0,p=t.length;for(;u+512<=p&&!this[Ri]&&!this[Ti];)switch(this[ei]){case"begin":case"header":this[bi](t,u),u+=512;break;case"ignore":case"body":u+=this[vi](t,u);break;case"meta":u+=this[_i](t,u);break;default:throw new Error("invalid state: "+this[ei])}u<p&&(this[li]=this[li]?Buffer.concat([t.subarray(u),this[li]]):t.subarray(u))}end(t,u,p){return typeof t=="function"&&(p=t,u=void 0,t=void 0),typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,u)),p&&this.once("finish",p),this[Ri]||(this[mi]?(t&&this[mi].write(t),this[mi].end()):(this[hi]=!0,(this.brotli===void 0||this.zstd===void 0)&&(t=t||Buffer.alloc(0)),t&&this.write(t),this[Si]())),this}};var mt=t=>{let u=t.length-1,p=-1;for(;u>-1&&t.charAt(u)==="/";)p=u,u--;return p===-1?t:t.slice(0,p)};var Dn=t=>{let u=t.onReadEntry;t.onReadEntry=u?t=>{u(t),t.resume()}:t=>t.resume()},$i=(t,u)=>{let p=new Map(u.map((t=>[mt(t),!0]))),m=t.filter,r=(t,u="")=>{let m=u||(0,dt.parse)(t).root||".",g;if(t===m)g=!1;else{let u=p.get(t);g=u!==void 0?u:r((0,dt.dirname)(t),m)}return p.set(t,g),g};t.filter=m?(t,u)=>m(t,u)&&r(mt(t)):t=>r(mt(t))},An=u=>{let p=new ki(u),m=u.file,g;try{g=t.openSync(m,"r");let y=t.fstatSync(g),v=u.maxReadSize||16*1024*1024;if(y.size<v){let u=Buffer.allocUnsafe(y.size),m=t.readSync(g,u,0,y.size,0);p.end(m===u.byteLength?u:u.subarray(0,m))}else{let u=0,m=Buffer.allocUnsafe(v);for(;u<y.size;){let y=t.readSync(g,m,0,v,u);if(y===0)break;u+=y,p.write(m.subarray(0,y))}p.end()}}finally{if(typeof g=="number")try{t.closeSync(g)}catch{}}},In=(u,p)=>{let m=new ki(u),g=u.maxReadSize||16*1024*1024,y=u.file;return new Promise(((u,p)=>{m.on("error",p),m.on("end",u),t.stat(y,((t,u)=>{if(t)p(t);else{let t=new rs(y,{readSize:g,size:u.size});t.on("error",p),t.pipe(m)}}))}))},Ii=K(An,In,(t=>new ki(t)),(t=>new ki(t)),((t,u)=>{u?.length&&$i(t,u),t.noResume||Dn(t)}));var Xi=(t,u,p)=>(t&=4095,p&&(t=(t|384)&-19),u&&(t&256&&(t|=64),t&32&&(t|=8),t&4&&(t|=1)),t);var{isAbsolute:Ni,parse:Di}=u.win32,ce=t=>{let u="",p=Di(t);for(;Ni(t)||p.root;){let m=t.charAt(0)==="/"&&t.slice(0,4)!=="//?/"?"/":p.root;t=t.slice(m.length),u+=m,p=Di(t)}return[u,t]};var Li=["|","<",">","?",":"],Mi=Li.map((t=>String.fromCodePoint(61440+Number(t.codePointAt(0))))),ji=new Map(Li.map(((t,u)=>[t,Mi[u]]))),Fi=new Map(Mi.map(((t,u)=>[t,Li[u]]))),Qi=t=>Li.reduce(((t,u)=>t.split(u).join(ji.get(u))),t),Vs=t=>Mi.reduce(((t,u)=>t.split(u).join(Fi.get(u))),t);var tr=(t,u)=>u?(t=Ks(t).replace(/^\.(\/|$)/,""),mt(u)+"/"+t):Ks(t),Bi=16*1024*1024,Vi=Symbol("process"),zi=Symbol("file"),Gi=Symbol("directory"),Wi=Symbol("symlink"),qi=Symbol("hardlink"),Ki=Symbol("header"),Yi=Symbol("read"),Zi=Symbol("lstat"),Ji=Symbol("onlstat"),en=Symbol("onread"),un=Symbol("onreadlink"),hn=Symbol("openfile"),vn=Symbol("onopenfile"),_n=Symbol("close"),bn=Symbol("mode"),wn=Symbol("awaitDrain"),Sn=Symbol("ondrain"),$n=Symbol("prefix"),On=class extends cr{path;portable;myuid=process.getuid&&process.getuid()||0;myuser=process.env.USER||"";maxReadSize;linkCache;statCache;preservePaths;cwd;strict;mtime;noPax;noMtime;prefix;fd;blockLen=0;blockRemain=0;buf;pos=0;remain=0;length=0;offset=0;win32;absolute;header;type;linkpath;stat;onWriteEntry;#y=!1;constructor(t,u={}){let p=re(u);super(),this.path=Ks(t),this.portable=!!p.portable,this.maxReadSize=p.maxReadSize||Bi,this.linkCache=p.linkCache||new Map,this.statCache=p.statCache||new Map,this.preservePaths=!!p.preservePaths,this.cwd=Ks(p.cwd||process.cwd()),this.strict=!!p.strict,this.noPax=!!p.noPax,this.noMtime=!!p.noMtime,this.mtime=p.mtime,this.prefix=p.prefix?Ks(p.prefix):void 0,this.onWriteEntry=p.onWriteEntry,typeof p.onwarn=="function"&&this.on("warn",p.onwarn);let m=!1;if(!this.preservePaths){let[t,u]=ce(this.path);t&&typeof u=="string"&&(this.path=u,m=t)}this.win32=!!p.win32||process.platform==="win32",this.win32&&(this.path=Vs(this.path.replaceAll(/\\/g,"/")),t=t.replaceAll(/\\/g,"/")),this.absolute=Ks(p.absolute||dt.resolve(this.cwd,t)),this.path===""&&(this.path="./"),m&&this.warn("TAR_ENTRY_INFO",`stripping ${m} from absolute path`,{entry:this,path:m+this.path});let g=this.statCache.get(this.absolute);g?this[Ji](g):this[Zi]()}warn(t,u,p={}){return Nt(this,t,u,p)}emit(t,...u){return t==="error"&&(this.#y=!0),super.emit(t,...u)}[Zi](){ut.lstat(this.absolute,((t,u)=>{if(t)return this.emit("error",t);this[Ji](u)}))}[Ji](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=Bn(t),this.emit("stat",t),this[Vi]()}[Vi](){switch(this.type){case"File":return this[zi]();case"Directory":return this[Gi]();case"SymbolicLink":return this[Wi]();default:return this.end()}}[bn](t){return Xi(t,this.type==="Directory",this.portable)}[$n](t){return tr(t,this.prefix)}[Ki](){if(!this.stat)throw new Error("cannot write header before stat");this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.onWriteEntry?.(this),this.header=new js({path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,mode:this[bn](this.stat.mode),uid:this.portable?void 0:this.stat.uid,gid:this.portable?void 0:this.stat.gid,size:this.stat.size,mtime:this.noMtime?void 0:this.mtime||this.stat.mtime,type:this.type==="Unsupported"?void 0:this.type,uname:this.portable?void 0:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?void 0:this.stat.atime,ctime:this.portable?void 0:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new Ws({atime:this.portable?void 0:this.header.atime,ctime:this.portable?void 0:this.header.ctime,gid:this.portable?void 0:this.header.gid,mtime:this.noMtime?void 0:this.mtime||this.header.mtime,path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?void 0:this.header.uid,uname:this.portable?void 0:this.header.uname,dev:this.portable?void 0:this.stat.dev,ino:this.portable?void 0:this.stat.ino,nlink:this.portable?void 0:this.stat.nlink}).encode());let t=this.header?.block;if(!t)throw new Error("failed to encode header");super.write(t)}[Gi](){if(!this.stat)throw new Error("cannot create directory entry without stat");this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Ki](),this.end()}[Wi](){ut.readlink(this.absolute,((t,u)=>{if(t)return this.emit("error",t);this[un](u)}))}[un](t){this.linkpath=Ks(t),this[Ki](),this.end()}[qi](t){if(!this.stat)throw new Error("cannot create link entry without stat");this.type="Link",this.linkpath=Ks(dt.relative(this.cwd,t)),this.stat.size=0,this[Ki](),this.end()}[zi](){if(!this.stat)throw new Error("cannot create file entry without stat");if(this.stat.nlink>1){let t=`${this.stat.dev}:${this.stat.ino}`,u=this.linkCache.get(t);if(u?.indexOf(this.cwd)===0)return this[qi](u);this.linkCache.set(t,this.absolute)}if(this[Ki](),this.stat.size===0)return this.end();this[hn]()}[hn](){ut.open(this.absolute,"r",((t,u)=>{if(t)return this.emit("error",t);this[vn](u)}))}[vn](t){if(this.fd=t,this.#y)return this[_n]();if(!this.stat)throw new Error("should stat before calling onopenfile");this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let u=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(u),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[Yi]()}[Yi](){let{fd:t,buf:u,offset:p,length:m,pos:g}=this;if(t===void 0||u===void 0)throw new Error("cannot read file without first opening");ut.read(t,u,p,m,g,((t,u)=>{if(t)return this[_n]((()=>this.emit("error",t)));this[en](u)}))}[_n](t=()=>{}){this.fd!==void 0&&ut.close(this.fd,t)}[en](t){if(t<=0&&this.remain>0){let t=Object.assign(new Error("encountered unexpected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[_n]((()=>this.emit("error",t)))}if(t>this.remain){let t=Object.assign(new Error("did not encounter expected EOF"),{path:this.absolute,syscall:"read",code:"EOF"});return this[_n]((()=>this.emit("error",t)))}if(!this.buf)throw new Error("should have created buffer prior to reading");if(t===this.remain)for(let u=t;u<this.length&&t<this.blockRemain;u++)this.buf[u+this.offset]=0,t++,this.remain++;let u=this.offset===0&&t===this.buf.length?this.buf:this.buf.subarray(this.offset,this.offset+t);this.write(u)?this[Sn]():this[wn]((()=>this[Sn]()))}[wn](t){this.once("drain",t)}write(t,u,p){if(typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof u=="string"?u:"utf8")),this.blockRemain<t.length){let t=Object.assign(new Error("writing more data than expected"),{path:this.absolute});return this.emit("error",t)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t,null,p)}[Sn](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[_n]((t=>t?this.emit("error",t):this.end()));if(!this.buf)throw new Error("buffer lost somehow in ONDRAIN");this.offset>=this.length&&(this.buf=Buffer.allocUnsafe(Math.min(this.blockRemain,this.buf.length)),this.offset=0),this.length=this.buf.length-this.offset,this[Yi]()}},Tn=class extends On{sync=!0;[Zi](){this[Ji](ut.lstatSync(this.absolute))}[Wi](){this[un](ut.readlinkSync(this.absolute))}[hn](){this[vn](ut.openSync(this.absolute,"r"))}[Yi](){let t=!0;try{let{fd:u,buf:p,offset:m,length:g,pos:y}=this;if(u===void 0||p===void 0)throw new Error("fd and buf must be set in READ method");let v=ut.readSync(u,p,m,g,y);this[en](v),t=!1}finally{if(t)try{this[_n]((()=>{}))}catch{}}}[wn](t){t()}[_n](t=()=>{}){this.fd!==void 0&&ut.closeSync(this.fd),t()}},Cn=class extends cr{blockLen=0;blockRemain=0;buf=0;pos=0;remain=0;length=0;preservePaths;portable;strict;noPax;noMtime;readEntry;type;prefix;path;mode;uid;gid;uname;gname;header;mtime;atime;ctime;linkpath;size;onWriteEntry;warn(t,u,p={}){return Nt(this,t,u,p)}constructor(t,u={}){let p=re(u);super(),this.preservePaths=!!p.preservePaths,this.portable=!!p.portable,this.strict=!!p.strict,this.noPax=!!p.noPax,this.noMtime=!!p.noMtime,this.onWriteEntry=p.onWriteEntry,this.readEntry=t;let{type:m}=t;if(m==="Unsupported")throw new Error("writing entry that should be ignored");this.type=m,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=p.prefix,this.path=Ks(t.path),this.mode=t.mode!==void 0?this[bn](t.mode):void 0,this.uid=this.portable?void 0:t.uid,this.gid=this.portable?void 0:t.gid,this.uname=this.portable?void 0:t.uname,this.gname=this.portable?void 0:t.gname,this.size=t.size,this.mtime=this.noMtime?void 0:p.mtime||t.mtime,this.atime=this.portable?void 0:t.atime,this.ctime=this.portable?void 0:t.ctime,this.linkpath=t.linkpath!==void 0?Ks(t.linkpath):void 0,typeof p.onwarn=="function"&&this.on("warn",p.onwarn);let g=!1;if(!this.preservePaths){let[t,u]=ce(this.path);t&&typeof u=="string"&&(this.path=u,g=t)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.onWriteEntry?.(this),this.header=new js({path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?void 0:this.uid,gid:this.portable?void 0:this.gid,size:this.size,mtime:this.noMtime?void 0:this.mtime,type:this.type,uname:this.portable?void 0:this.uname,atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime}),g&&this.warn("TAR_ENTRY_INFO",`stripping ${g} from absolute path`,{entry:this,path:g+this.path}),this.header.encode()&&!this.noPax&&super.write(new Ws({atime:this.portable?void 0:this.atime,ctime:this.portable?void 0:this.ctime,gid:this.portable?void 0:this.gid,mtime:this.noMtime?void 0:this.mtime,path:this[$n](this.path),linkpath:this.type==="Link"&&this.linkpath!==void 0?this[$n](this.linkpath):this.linkpath,size:this.size,uid:this.portable?void 0:this.uid,uname:this.portable?void 0:this.uname,dev:this.portable?void 0:this.readEntry.dev,ino:this.portable?void 0:this.readEntry.ino,nlink:this.portable?void 0:this.readEntry.nlink}).encode());let y=this.header?.block;if(!y)throw new Error("failed to encode header");super.write(y),t.pipe(this)}[$n](t){return tr(t,this.prefix)}[bn](t){return Xi(t,this.type==="Directory",this.portable)}write(t,u,p){typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,typeof u=="string"?u:"utf8"));let m=t.length;if(m>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=m,super.write(t,p)}end(t,u,p){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),typeof t=="function"&&(p=t,u=void 0,t=void 0),typeof u=="function"&&(p=u,u=void 0),typeof t=="string"&&(t=Buffer.from(t,u??"utf8")),p&&this.once("finish",p),t?super.end(t,p):super.end(p),this}},Bn=t=>t.isFile()?"File":t.isDirectory()?"Directory":t.isSymbolicLink()?"SymbolicLink":"Unsupported";var kn=class s{tail;head;length=0;static create(t=[]){return new s(t)}constructor(t=[]){for(let u of t)this.push(u)}*[Symbol.iterator](){for(let t=this.head;t;t=t.next)yield t.value}removeNode(t){if(t.list!==this)throw new Error("removing node which does not belong to this list");let u=t.next,p=t.prev;return u&&(u.prev=p),p&&(p.next=u),t===this.head&&(this.head=u),t===this.tail&&(this.tail=p),this.length--,t.next=void 0,t.prev=void 0,t.list=void 0,u}unshiftNode(t){if(t===this.head)return;t.list&&t.list.removeNode(t);let u=this.head;t.list=this,t.next=u,u&&(u.prev=t),this.head=t,this.tail||(this.tail=t),this.length++}pushNode(t){if(t===this.tail)return;t.list&&t.list.removeNode(t);let u=this.tail;t.list=this,t.prev=u,u&&(u.next=t),this.tail=t,this.head||(this.head=t),this.length++}push(...t){for(let u=0,p=t.length;u<p;u++)zn(this,t[u]);return this.length}unshift(...t){for(var u=0,p=t.length;u<p;u++)Un(this,t[u]);return this.length}pop(){if(!this.tail)return;let t=this.tail.value,u=this.tail;return this.tail=this.tail.prev,this.tail?this.tail.next=void 0:this.head=void 0,u.list=void 0,this.length--,t}shift(){if(!this.head)return;let t=this.head.value,u=this.head;return this.head=this.head.next,this.head?this.head.prev=void 0:this.tail=void 0,u.list=void 0,this.length--,t}forEach(t,u){u=u||this;for(let p=this.head,m=0;p;m++)t.call(u,p.value,m,this),p=p.next}forEachReverse(t,u){u=u||this;for(let p=this.tail,m=this.length-1;p;m--)t.call(u,p.value,m,this),p=p.prev}get(t){let u=0,p=this.head;for(;p&&u<t;u++)p=p.next;if(u===t&&p)return p.value}getReverse(t){let u=0,p=this.tail;for(;p&&u<t;u++)p=p.prev;if(u===t&&p)return p.value}map(t,u){u=u||this;let p=new s;for(let m=this.head;m;)p.push(t.call(u,m.value,this)),m=m.next;return p}mapReverse(t,u){u=u||this;var p=new s;for(let m=this.tail;m;)p.push(t.call(u,m.value,this)),m=m.prev;return p}reduce(t,u){let p,m=this.head;if(arguments.length>1)p=u;else if(this.head)m=this.head.next,p=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var g=0;m;g++)p=t(p,m.value,g),m=m.next;return p}reduceReverse(t,u){let p,m=this.tail;if(arguments.length>1)p=u;else if(this.tail)m=this.tail.prev,p=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(let u=this.length-1;m;u--)p=t(p,m.value,u),m=m.prev;return p}toArray(){let t=new Array(this.length);for(let u=0,p=this.head;p;u++)t[u]=p.value,p=p.next;return t}toArrayReverse(){let t=new Array(this.length);for(let u=0,p=this.tail;p;u++)t[u]=p.value,p=p.prev;return t}slice(t=0,u=this.length){u<0&&(u+=this.length),t<0&&(t+=this.length);let p=new s;if(u<t||u<0)return p;t<0&&(t=0),u>this.length&&(u=this.length);let m=this.head,g=0;for(g=0;m&&g<t;g++)m=m.next;for(;m&&g<u;g++,m=m.next)p.push(m.value);return p}sliceReverse(t=0,u=this.length){u<0&&(u+=this.length),t<0&&(t+=this.length);let p=new s;if(u<t||u<0)return p;t<0&&(t=0),u>this.length&&(u=this.length);let m=this.length,g=this.tail;for(;g&&m>u;m--)g=g.prev;for(;g&&m>t;m--,g=g.prev)p.push(g.value);return p}splice(t,u=0,...p){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);let m=this.head;for(let u=0;m&&u<t;u++)m=m.next;let g=[];for(let t=0;m&&t<u;t++)g.push(m.value),m=this.removeNode(m);m?m!==this.tail&&(m=m.prev):m=this.tail;for(let t of p)m=Pn(this,m,t);return g}reverse(){let t=this.head,u=this.tail;for(let u=t;u;u=u.prev){let t=u.prev;u.prev=u.next,u.next=t}return this.head=u,this.tail=t,this}};function Pn(t,u,p){let m=u,g=u?u.next:t.head,y=new Nn(p,m,g,t);return y.next===void 0&&(t.tail=y),y.prev===void 0&&(t.head=y),t.length++,y}function zn(t,u){t.tail=new Nn(u,t.tail,void 0,t),t.head||(t.head=t.tail),t.length++}function Un(t,u){t.head=new Nn(u,void 0,t.head,t),t.tail||(t.tail=t.head),t.length++}var Nn=class{list;next;prev;value;constructor(t,u,p,m){this.list=m,this.value=t,u?(u.next=this,this.prev=u):this.prev=void 0,p?(p.prev=this,this.next=p):this.next=void 0}};var Ln=class{path;absolute;entry;stat;readdir;pending=!1;pendingLink=!1;ignore=!1;piped=!1;constructor(t,u){this.path=t||"./",this.absolute=u}},Mn=Buffer.alloc(1024),Fn=Symbol("onStat"),Vn=Symbol("ended"),Kn=Symbol("queue"),Yn=Symbol("queue"),Xn=Symbol("current"),Jn=Symbol("process"),eo=Symbol("processing"),ro=Symbol("processJob"),io=Symbol("jobs"),no=Symbol("jobDone"),oo=Symbol("addFSEntry"),fo=Symbol("addTarEntry"),go=Symbol("stat"),vo=Symbol("readdir"),_o=Symbol("onreaddir"),bo=Symbol("pipe"),So=Symbol("entry"),$o=Symbol("entryOpt"),Oo=Symbol("writeEntryClass"),Ro=Symbol("write"),Po=Symbol("ondrain"),Ao=class extends cr{sync=!1;opt;cwd;maxReadSize;preservePaths;strict;noPax;prefix;linkCache;statCache;file;portable;zip;readdirCache;noDirRecurse;follow;noMtime;mtime;filter;jobs;[Oo];onWriteEntry;[Kn];[Yn]=new Map;[io]=0;[eo]=!1;[Vn]=!1;constructor(t={}){if(super(),this.opt=t,this.file=t.file||"",this.cwd=t.cwd||process.cwd(),this.maxReadSize=t.maxReadSize,this.preservePaths=!!t.preservePaths,this.strict=!!t.strict,this.noPax=!!t.noPax,this.prefix=Ks(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this.onWriteEntry=t.onWriteEntry,this[Oo]=On,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,t.gzip||t.brotli||t.zstd){if((t.gzip?1:0)+(t.brotli?1:0)+(t.zstd?1:0)>1)throw new TypeError("gzip, brotli, zstd are mutually exclusive");if(t.gzip&&(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new Es(t.gzip)),t.brotli&&(typeof t.brotli!="object"&&(t.brotli={}),this.zip=new Os(t.brotli)),t.zstd&&(typeof t.zstd!="object"&&(t.zstd={}),this.zip=new Ts(t.zstd)),!this.zip)throw new Error("impossible");let u=this.zip;u.on("data",(t=>super.write(t))),u.on("end",(()=>super.end())),u.on("drain",(()=>this[Po]())),this.on("resume",(()=>u.resume()))}else this.on("drain",this[Po]);this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,t.mtime&&(this.mtime=t.mtime),this.filter=typeof t.filter=="function"?t.filter:()=>!0,this[Kn]=new kn,this[io]=0,this.jobs=Number(t.jobs)||4,this[eo]=!1,this[Vn]=!1}[Ro](t){return super.write(t)}add(t){return this.write(t),this}end(t,u,p){return typeof t=="function"&&(p=t,t=void 0),typeof u=="function"&&(p=u,u=void 0),t&&this.add(t),this[Vn]=!0,this[Jn](),p&&p(),this}write(t){if(this[Vn])throw new Error("write after end");return t instanceof Ys?this[fo](t):this[oo](t),this.flowing}[fo](t){let u=Ks(dt.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let p=new Ln(t.path,u);p.entry=new Cn(t,this[$o](p)),p.entry.on("end",(()=>this[no](p))),this[io]+=1,this[Kn].push(p)}this[Jn]()}[oo](t){let u=Ks(dt.resolve(this.cwd,t));this[Kn].push(new Ln(t,u)),this[Jn]()}[go](t){t.pending=!0,this[io]+=1;let u=this.follow?"stat":"lstat";ut[u](t.absolute,((u,p)=>{t.pending=!1,this[io]-=1,u?this.emit("error",u):this[Fn](t,p)}))}[Fn](t,u){if(this.statCache.set(t.absolute,u),t.stat=u,!this.filter(t.path,u))t.ignore=!0;else if(u.isFile()&&u.nlink>1&&!this.linkCache.get(`${u.dev}:${u.ino}`)&&!this.sync)if(t===this[Xn])this[ro](t);else{let p=`${u.dev}:${u.ino}`,m=this[Yn].get(p);m?m.push(t):this[Yn].set(p,[t]),t.pendingLink=!0,t.pending=!0}this[Jn]()}[vo](t){t.pending=!0,this[io]+=1,ut.readdir(t.absolute,((u,p)=>{if(t.pending=!1,this[io]-=1,u)return this.emit("error",u);this[_o](t,p)}))}[_o](t,u){this.readdirCache.set(t.absolute,u),t.readdir=u,this[Jn]()}[Jn](){if(!this[eo]){this[eo]=!0;for(let t=this[Kn].head;t&&this[io]<this.jobs;t=t.next)if(this[ro](t.value),t.value.ignore){let u=t.next;this[Kn].removeNode(t),t.next=u}this[eo]=!1,this[Vn]&&this[Kn].length===0&&this[io]===0&&(this.zip?this.zip.end(Mn):(super.write(Mn),super.end()))}}get[Xn](){return this[Kn]&&this[Kn].head&&this[Kn].head.value}[no](t){this[Kn].shift(),this[io]-=1;let{stat:u}=t;if(u&&u.isFile()&&u.nlink>1){let t=`${u.dev}:${u.ino}`,p=this[Yn].get(t);if(p){this[Yn].delete(t);for(let t of p)t.pending=!1,this[ro](t)}}this[Jn]()}[ro](t){if(t.pending&&t.pendingLink&&t===this[Xn]&&(t.pending=!1,t.pendingLink=!1),!t.pending){if(t.entry){t===this[Xn]&&!t.piped&&this[bo](t);return}if(!t.stat){let u=this.statCache.get(t.absolute);u?this[Fn](t,u):this[go](t)}if(t.stat&&!t.ignore){if(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir){let u=this.readdirCache.get(t.absolute);if(u?this[_o](t,u):this[vo](t),!t.readdir)return}if(t.entry=this[So](t),!t.entry){t.ignore=!0;return}t===this[Xn]&&!t.piped&&this[bo](t)}}}[$o](t){return{onwarn:(t,u,p)=>this.warn(t,u,p),noPax:this.noPax,cwd:this.cwd,absolute:t.absolute,preservePaths:this.preservePaths,maxReadSize:this.maxReadSize,strict:this.strict,portable:this.portable,linkCache:this.linkCache,statCache:this.statCache,noMtime:this.noMtime,mtime:this.mtime,prefix:this.prefix,onWriteEntry:this.onWriteEntry}}[So](t){this[io]+=1;try{return new this[Oo](t.path,this[$o](t)).on("end",(()=>this[no](t))).on("error",(t=>this.emit("error",t)))}catch(t){this.emit("error",t)}}[Po](){this[Xn]&&this[Xn].entry&&this[Xn].entry.resume()}[bo](t){t.piped=!0,t.readdir&&t.readdir.forEach((u=>{let p=t.path,m=p==="./"?"":p.replace(/\/*$/,"/");this[oo](m+u)}));let u=t.entry,p=this.zip;if(!u)throw new Error("cannot pipe without source");p?u.on("data",(t=>{p.write(t)||u.pause()})):u.on("data",(t=>{super.write(t)||u.pause()}))}pause(){return this.zip&&this.zip.pause(),super.pause()}warn(t,u,p={}){Nt(this,t,u,p)}},xo=class extends Ao{sync=!0;constructor(t){super(t),this[Oo]=Tn}pause(){}resume(){}[go](t){let u=this.follow?"statSync":"lstatSync";this[Fn](t,ut[u](t.absolute))}[vo](t){this[_o](t,ut.readdirSync(t.absolute))}[bo](t){let u=t.entry,p=this.zip;if(t.readdir&&t.readdir.forEach((u=>{let p=t.path,m=p==="./"?"":p.replace(/\/*$/,"/");this[oo](m+u)})),!u)throw new Error("Cannot pipe without source");p?u.on("data",(t=>{p.write(t)})):u.on("data",(t=>{super[Ro](t)}))}};var Hn=(t,u)=>{let p=new xo(t),m=new ns(t.file,{mode:t.mode||438});p.pipe(m),hr(p,u)},Wn=(t,u)=>{let p=new Ao(t),m=new is(t.file,{mode:t.mode||438});p.pipe(m);let g=new Promise(((t,u)=>{m.on("error",u),m.on("close",t),p.on("error",u)}));return ar(p,u).catch((t=>p.emit("error",t))),g},hr=(t,p)=>{p.forEach((p=>{p.charAt(0)==="@"?Ii({file:u.resolve(t.cwd,p.slice(1)),sync:!0,noResume:!0,onReadEntry:u=>t.add(u)}):t.add(p)})),t.end()},ar=async(t,p)=>{for(let m of p)m.charAt(0)==="@"?await Ii({file:u.resolve(String(t.cwd),m.slice(1)),noResume:!0,onReadEntry:u=>{t.add(u)}}):t.add(m);t.end()},Gn=(t,u)=>{let p=new xo(t);return hr(p,u),p},Zn=(t,u)=>{let p=new Ao(t);return ar(p,u).catch((t=>p.emit("error",t))),p},To=K(Hn,Wn,Gn,Zn,((t,u)=>{if(!u?.length)throw new TypeError("no paths specified to add to archive")}));var Co=process.env.__FAKE_PLATFORM__||process.platform,ko=Co==="win32",{O_CREAT:Io,O_NOFOLLOW:No,O_TRUNC:Do,O_WRONLY:Lo}=ut.constants,Mo=Number(process.env.__FAKE_FS_O_FILENAME__)||ut.constants.UV_FS_O_FILEMAP||0,jo=ko&&!!Mo,Fo=512*1024,Uo=Mo|Do|Io|Lo,Bo=!ko&&typeof No=="number"?No|Do|Io|Lo:null,Ho=Bo!==null?()=>Bo:jo?t=>t<Fo?Uo:"w":()=>"w";var ds=(u,p,m)=>{try{return t.lchownSync(u,p,m)}catch(t){if(t?.code!=="ENOENT")throw t}},pi=(u,p,m,g)=>{t.lchown(u,p,m,(t=>{g(t&&t?.code!=="ENOENT"?t:null)}))},qn=(t,p,m,g,y)=>{if(p.isDirectory())us(u.resolve(t,p.name),m,g,(v=>{if(v)return y(v);let b=u.resolve(t,p.name);pi(b,m,g,y)}));else{let v=u.resolve(t,p.name);pi(v,m,g,y)}},us=(u,p,m,g)=>{t.readdir(u,{withFileTypes:!0},((t,y)=>{if(t){if(t.code==="ENOENT")return g();if(t.code!=="ENOTDIR"&&t.code!=="ENOTSUP")return g(t)}if(t||!y.length)return pi(u,p,m,g);let v=y.length,b=null,a=t=>{if(!b){if(t)return g(b=t);if(--v===0)return pi(u,p,m,g)}};for(let t of y)qn(u,t,p,m,a)}))},Qn=(t,p,m,g)=>{p.isDirectory()&&ms(u.resolve(t,p.name),m,g),ds(u.resolve(t,p.name),m,g)},ms=(u,p,m)=>{let g;try{g=t.readdirSync(u,{withFileTypes:!0})}catch(t){let g=t;if(g?.code==="ENOENT")return;if(g?.code==="ENOTDIR"||g?.code==="ENOTSUP")return ds(u,p,m);throw g}for(let t of g)Qn(u,t,p,m);return ds(u,p,m)};var Vo=class extends Error{path;code;syscall="chdir";constructor(t,u){super(`${u}: Cannot cd into '${t}'`),this.path=t,this.code=u}get name(){return"CwdError"}};var zo=class extends Error{path;symlink;syscall="symlink";code="TAR_SYMLINK_ERROR";constructor(t,u){super("TAR_SYMLINK_ERROR: Cannot extract through symbolic link"),this.symlink=t,this.path=u}get name(){return"SymlinkError"}};var jn=(u,p)=>{t.stat(u,((t,m)=>{(t||!m.isDirectory())&&(t=new Vo(u,t?.code||"ENOTDIR")),p(t)}))},wr=(p,m,g)=>{p=Ks(p);let y=m.umask??18,v=m.mode|448,b=(v&y)!==0,w=m.uid,E=m.gid,$=typeof w=="number"&&typeof E=="number"&&(w!==m.processUid||E!==m.processGid),O=m.preserve,R=m.unlink,P=Ks(m.cwd),S=(u,m)=>{u?g(u):m&&$?us(m,w,E,(t=>S(t))):b?t.chmod(p,v,g):g()};if(p===P)return jn(p,S);if(O)return _t.mkdir(p,{mode:v,recursive:!0}).then((t=>S(null,t??void 0)),S);let A=Ks(u.relative(P,p)).split("/");ps(P,A,v,R,P,void 0,S)},ps=(p,m,g,y,v,b,w)=>{if(m.length===0)return w(null,b);let E=m.shift(),$=Ks(u.resolve(p+"/"+E));t.mkdir($,g,Sr($,m,g,y,v,b,w))},Sr=(u,p,m,g,y,v,b)=>w=>{w?t.lstat(u,((E,$)=>{if(E)E.path=E.path&&Ks(E.path),b(E);else if($.isDirectory())ps(u,p,m,g,y,v,b);else if(g)t.unlink(u,(w=>{if(w)return b(w);t.mkdir(u,m,Sr(u,p,m,g,y,v,b))}));else{if($.isSymbolicLink())return b(new zo(u,u+"/"+p.join("/")));b(w)}})):(v=v||u,ps(u,p,m,g,y,v,b))},to=u=>{let p=!1,m;try{p=t.statSync(u).isDirectory()}catch(t){m=t?.code}finally{if(!p)throw new Vo(u,m??"ENOTDIR")}},yr=(p,m)=>{p=Ks(p);let g=m.umask??18,y=m.mode|448,v=(y&g)!==0,b=m.uid,w=m.gid,E=typeof b=="number"&&typeof w=="number"&&(b!==m.processUid||w!==m.processGid),$=m.preserve,O=m.unlink,R=Ks(m.cwd),d=u=>{u&&E&&ms(u,b,w),v&&t.chmodSync(p,y)};if(p===R)return to(R),d();if($)return d(t.mkdirSync(p,{mode:y,recursive:!0})??void 0);let P=Ks(u.relative(R,p)).split("/"),A;for(let p=P.shift(),m=R;p&&(m+="/"+p);p=P.shift()){m=Ks(u.resolve(m));try{t.mkdirSync(m,y),A=A||m}catch{let u=t.lstatSync(m);if(u.isDirectory())continue;if(O){t.unlinkSync(m),t.mkdirSync(m,y),A=A||m;continue}else if(u.isSymbolicLink())return new zo(m,m+"/"+P.join("/"))}}return d(A)};var Go=Object.create(null),Wo=1e4,qo=new Set,gr=t=>{qo.has(t)?qo.delete(t):Go[t]=t.normalize("NFD").toLocaleLowerCase("en").toLocaleUpperCase("en"),qo.add(t);let u=Go[t],p=qo.size-Wo;if(p>Wo/10){for(let t of qo)if(qo.delete(t),delete Go[t],--p<=0)break}return u};var Ko=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Yo=Ko==="win32",so=t=>t.split("/").slice(0,-1).reduce(((t,p)=>{let m=t.at(-1);return m!==void 0&&(p=(0,u.join)(m,p)),t.push(p||"/"),t}),[]),Xo=class{#y=new Map;#v=new Map;#_=new Set;reserve(t,p){t=Yo?["win32 parallelization disabled"]:t.map((t=>mt((0,u.join)(gr(t)))));let m=new Set(t.map((t=>so(t))).reduce(((t,u)=>t.concat(u))));this.#v.set(p,{dirs:m,paths:t});for(let u of t){let t=this.#y.get(u);t?t.push(p):this.#y.set(u,[p])}for(let t of m){let u=this.#y.get(t);if(!u)this.#y.set(t,[new Set([p])]);else{let t=u.at(-1);t instanceof Set?t.add(p):u.push(new Set([p]))}}return this.#w(p)}#b(t){let u=this.#v.get(t);if(!u)throw new Error("function does not have any path reservations");return{paths:u.paths.map((t=>this.#y.get(t))),dirs:[...u.dirs].map((t=>this.#y.get(t)))}}check(t){let{paths:u,dirs:p}=this.#b(t);return u.every((u=>u&&u[0]===t))&&p.every((u=>u&&u[0]instanceof Set&&u[0].has(t)))}#w(t){return this.#_.has(t)||!this.check(t)?!1:(this.#_.add(t),t((()=>this.#E(t))),!0)}#E(t){if(!this.#_.has(t))return!1;let u=this.#v.get(t);if(!u)throw new Error("invalid reservation");let{paths:p,dirs:m}=u,g=new Set;for(let u of p){let p=this.#y.get(u);if(!p||p?.[0]!==t)continue;let m=p[1];if(!m){this.#y.delete(u);continue}if(p.shift(),typeof m=="function")g.add(m);else for(let t of m)g.add(t)}for(let u of m){let p=this.#y.get(u),m=p?.[0];if(!(!p||!(m instanceof Set)))if(m.size===1&&p.length===1){this.#y.delete(u);continue}else if(m.size===1){p.shift();let t=p[0];typeof t=="function"&&g.add(t)}else m.delete(t)}return this.#_.delete(t),g.forEach((t=>this.#w(t))),!0}};var _r=()=>process.umask();var Zo=Symbol("onEntry"),Jo=Symbol("checkFs"),Qo=Symbol("checkFs2"),ea=Symbol("isReusable"),ta=Symbol("makeFs"),ra=Symbol("file"),sa=Symbol("directory"),ia=Symbol("link"),na=Symbol("symlink"),oa=Symbol("hardlink"),aa=Symbol("ensureNoSymlink"),ca=Symbol("unsupported"),la=Symbol("checkPath"),ua=Symbol("stripAbsolutePath"),ha=Symbol("mkdir"),da=Symbol("onError"),fa=Symbol("pending"),pa=Symbol("pend"),ma=Symbol("unpend"),ga=Symbol("ended"),ya=Symbol("maybeClose"),va=Symbol("skip"),_a=Symbol("doChown"),ba=Symbol("uid"),wa=Symbol("gid"),Ea=Symbol("checkedCwd"),Sa=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,$a=Sa==="win32",Oa=1024,ho=(u,p)=>{if(!$a)return t.unlink(u,p);let m=u+".DELETE."+(0,I.randomBytes)(16).toString("hex");t.rename(u,m,(u=>{if(u)return p(u);t.unlink(m,p)}))},ao=u=>{if(!$a)return t.unlinkSync(u);let p=u+".DELETE."+(0,I.randomBytes)(16).toString("hex");t.renameSync(u,p),t.unlinkSync(p)},Ir=(t,u,p)=>t!==void 0&&t===t>>>0?t:u!==void 0&&u===u>>>0?u:p,Ra=class extends ki{[ga]=!1;[Ea]=!1;[fa]=0;reservations=new Xo;transform;writable=!0;readable=!1;uid;gid;setOwner;preserveOwner;processGid;processUid;maxDepth;forceChown;win32;newer;keep;noMtime;preservePaths;unlink;cwd;strip;processUmask;umask;dmode;fmode;chmod;constructor(t={}){if(t.ondone=()=>{this[ga]=!0,this[ya]()},super(t),this.transform=t.transform,this.chmod=!!t.chmod,typeof t.uid=="number"||typeof t.gid=="number"){if(typeof t.uid!="number"||typeof t.gid!="number")throw new TypeError("cannot set owner without number uid and gid");if(t.preserveOwner)throw new TypeError("cannot preserve owner in archive and also set owner explicitly");this.uid=t.uid,this.gid=t.gid,this.setOwner=!0}else this.uid=void 0,this.gid=void 0,this.setOwner=!1;this.preserveOwner=t.preserveOwner===void 0&&typeof t.uid!="number"?!!(process.getuid&&process.getuid()===0):!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():void 0,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():void 0,this.maxDepth=typeof t.maxDepth=="number"?t.maxDepth:Oa,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||$a,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=Ks(u.resolve(t.cwd||process.cwd())),this.strip=Number(t.strip)||0,this.processUmask=this.chmod?typeof t.processUmask=="number"?t.processUmask:_r():0,this.umask=typeof t.umask=="number"?t.umask:this.processUmask,this.dmode=t.dmode||511&~this.umask,this.fmode=t.fmode||438&~this.umask,this.on("entry",(t=>this[Zo](t)))}warn(t,u,p={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(p.recoverable=!1),super.warn(t,u,p)}[ya](){this[ga]&&this[fa]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[ua](t,p){let m=t[p],{type:g}=t;if(!m||this.preservePaths)return!0;let[y,v]=ce(m),b=v.replaceAll(/\\/g,"/").split("/");if(b.includes("..")||$a&&/^[a-z]:\.\.$/i.test(b[0]??"")){if(p==="path"||g==="Link")return this.warn("TAR_ENTRY_ERROR",`${p} contains '..'`,{entry:t,[p]:m}),!1;let y=u.posix.dirname(t.path),v=u.posix.normalize(u.posix.join(y,b.join("/")));if(v.startsWith("../")||v==="..")return this.warn("TAR_ENTRY_ERROR",`${p} escapes extraction directory`,{entry:t,[p]:m}),!1}return y&&(t[p]=String(v),this.warn("TAR_ENTRY_INFO",`stripping ${y} from absolute ${p}`,{entry:t,[p]:m})),!0}[la](t){let p=Ks(t.path),m=p.split("/");if(this.strip){if(m.length<this.strip)return!1;if(t.type==="Link"){let u=Ks(String(t.linkpath)).split("/");if(u.length>=this.strip)t.linkpath=u.slice(this.strip).join("/");else return!1}m.splice(0,this.strip),t.path=m.join("/")}if(isFinite(this.maxDepth)&&m.length>this.maxDepth)return this.warn("TAR_ENTRY_ERROR","path excessively deep",{entry:t,path:p,depth:m.length,maxDepth:this.maxDepth}),!1;if(!this[ua](t,"path")||!this[ua](t,"linkpath"))return!1;if(t.absolute=u.isAbsolute(t.path)?Ks(u.resolve(t.path)):Ks(u.resolve(this.cwd,t.path)),!this.preservePaths&&typeof t.absolute=="string"&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:Ks(t.path),resolvedPath:t.absolute,cwd:this.cwd}),!1;if(t.absolute===this.cwd&&t.type!=="Directory"&&t.type!=="GNUDumpDir")return!1;if(this.win32){let{root:p}=u.win32.parse(String(t.absolute));t.absolute=p+Qi(String(t.absolute).slice(p.length));let{root:m}=u.win32.parse(t.path);t.path=m+Qi(t.path.slice(m.length))}return!0}[Zo](t){if(!this[la](t))return t.resume();switch(N.equal(typeof t.absolute,"string"),t.type){case"Directory":case"GNUDumpDir":t.mode&&(t.mode=t.mode|448);case"File":case"OldFile":case"ContiguousFile":case"Link":case"SymbolicLink":return this[Jo](t);default:return this[ca](t)}}[da](t,u){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:u}),this[ma](),u.resume())}[ha](t,u,p){wr(Ks(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:u},p)}[_a](t){return this.forceChown||this.preserveOwner&&(typeof t.uid=="number"&&t.uid!==this.processUid||typeof t.gid=="number"&&t.gid!==this.processGid)||typeof this.uid=="number"&&this.uid!==this.processUid||typeof this.gid=="number"&&this.gid!==this.processGid}[ba](t){return Ir(this.uid,t.uid,this.processUid)}[wa](t){return Ir(this.gid,t.gid,this.processGid)}[ra](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.fmode,g=new is(String(u.absolute),{flags:Ho(u.size),mode:m,autoClose:!1});g.on("error",(m=>{g.fd&&t.close(g.fd,(()=>{})),g.write=()=>!0,this[da](m,u),p()}));let y=1,o=m=>{if(m){g.fd&&t.close(g.fd,(()=>{})),this[da](m,u),p();return}--y===0&&g.fd!==void 0&&t.close(g.fd,(t=>{t?this[da](t,u):this[ma](),p()}))};g.on("finish",(()=>{let p=String(u.absolute),m=g.fd;if(typeof m=="number"&&u.mtime&&!this.noMtime){y++;let g=u.atime||new Date,v=u.mtime;t.futimes(m,g,v,(u=>u?t.utimes(p,g,v,(t=>o(t&&u))):o()))}if(typeof m=="number"&&this[_a](u)){y++;let g=this[ba](u),v=this[wa](u);typeof g=="number"&&typeof v=="number"&&t.fchown(m,g,v,(u=>u?t.chown(p,g,v,(t=>o(t&&u))):o()))}o()}));let v=this.transform&&this.transform(u)||u;v!==u&&(v.on("error",(t=>{this[da](t,u),p()})),u.pipe(v)),v.pipe(g)}[sa](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.dmode;this[ha](String(u.absolute),m,(m=>{if(m){this[da](m,u),p();return}let g=1,o=()=>{--g===0&&(p(),this[ma](),u.resume())};u.mtime&&!this.noMtime&&(g++,t.utimes(String(u.absolute),u.atime||new Date,u.mtime,o)),this[_a](u)&&(g++,t.chown(String(u.absolute),Number(this[ba](u)),Number(this[wa](u)),o)),o()}))}[ca](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[na](t,p){let m=Ks(u.relative(this.cwd,u.resolve(u.dirname(String(t.absolute)),String(t.linkpath)))).split("/");this[aa](t,this.cwd,m,(()=>this[ia](t,String(t.linkpath),"symlink",p)),(u=>{this[da](u,t),p()}))}[oa](t,p){let m=Ks(u.resolve(this.cwd,String(t.linkpath))),g=Ks(String(t.linkpath)).split("/");this[aa](t,this.cwd,g,(()=>this[ia](t,m,"link",p)),(u=>{this[da](u,t),p()}))}[aa](p,m,g,y,v){let b=g.shift();if(this.preservePaths||b===void 0)return y();let w=u.resolve(m,b);t.lstat(w,((t,m)=>{if(t)return y();if(m?.isSymbolicLink())return v(new zo(w,u.resolve(w,g.join("/"))));this[aa](p,w,g,y,v)}))}[pa](){this[fa]++}[ma](){this[fa]--,this[ya]()}[va](t){this[ma](),t.resume()}[ea](t,u){return t.type==="File"&&!this.unlink&&u.isFile()&&u.nlink<=1&&!$a}[Jo](t){this[pa]();let u=[t.path];t.linkpath&&u.push(t.linkpath),this.reservations.reserve(u,(u=>this[Qo](t,u)))}[Qo](p,m){let i=t=>{m(t)},r=()=>{this[ha](this.cwd,this.dmode,(t=>{if(t){this[da](t,p),i();return}this[Ea]=!0,n()}))},n=()=>{if(p.absolute!==this.cwd){let t=Ks(u.dirname(String(p.absolute)));if(t!==this.cwd)return this[ha](t,this.dmode,(t=>{if(t){this[da](t,p),i();return}o()}))}o()},o=()=>{t.lstat(String(p.absolute),((u,m)=>{if(m&&(this.keep||this.newer&&m.mtime>(p.mtime??m.mtime))){this[va](p),i();return}if(u||this[ea](p,m))return this[ta](null,p,i);if(m.isDirectory()){if(p.type==="Directory"){let u=this.chmod&&p.mode&&(m.mode&4095)!==p.mode,c=t=>this[ta](t??null,p,i);return u?t.chmod(String(p.absolute),Number(p.mode),c):c()}if(p.absolute!==this.cwd)return t.rmdir(String(p.absolute),(t=>this[ta](t??null,p,i)))}if(p.absolute===this.cwd)return this[ta](null,p,i);ho(String(p.absolute),(t=>this[ta](t??null,p,i)))}))};this[Ea]?n():r()}[ta](t,u,p){if(t){this[da](t,u),p();return}switch(u.type){case"File":case"OldFile":case"ContiguousFile":return this[ra](u,p);case"Link":return this[oa](u,p);case"SymbolicLink":return this[na](u,p);case"Directory":case"GNUDumpDir":return this[sa](u,p)}}[ia](u,p,m,g){t[m](p,String(u.absolute),(t=>{t?this[da](t,u):(this[ma](),u.resume()),g()}))}},ye=t=>{try{return[null,t()]}catch(t){return[t,null]}},Pa=class extends Ra{sync=!0;[ta](t,u){return super[ta](t,u,(()=>{}))}[Jo](p){if(!this[Ea]){let t=this[ha](this.cwd,this.dmode);if(t)return this[da](t,p);this[Ea]=!0}if(p.absolute!==this.cwd){let t=Ks(u.dirname(String(p.absolute)));if(t!==this.cwd){let u=this[ha](t,this.dmode);if(u)return this[da](u,p)}}let[m,g]=ye((()=>t.lstatSync(String(p.absolute))));if(g&&(this.keep||this.newer&&g.mtime>(p.mtime??g.mtime)))return this[va](p);if(m||this[ea](p,g))return this[ta](null,p);if(g.isDirectory()){if(p.type==="Directory"){let u=this.chmod&&p.mode&&(g.mode&4095)!==p.mode,[m]=u?ye((()=>{t.chmodSync(String(p.absolute),Number(p.mode))})):[];return this[ta](m,p)}let[u]=ye((()=>t.rmdirSync(String(p.absolute))));this[ta](u,p)}let[y]=p.absolute===this.cwd?[]:ye((()=>ao(String(p.absolute))));this[ta](y,p)}[ra](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.fmode,r=m=>{let y;try{t.closeSync(g)}catch(t){y=t}(m||y)&&this[da](m||y,u),p()},g;try{g=t.openSync(String(u.absolute),Ho(u.size),m)}catch(t){return r(t)}let y=this.transform&&this.transform(u)||u;y!==u&&(y.on("error",(t=>this[da](t,u))),u.pipe(y)),y.on("data",(u=>{try{t.writeSync(g,u,0,u.length)}catch(t){r(t)}})),y.on("end",(()=>{let p=null;if(u.mtime&&!this.noMtime){let m=u.atime||new Date,y=u.mtime;try{t.futimesSync(g,m,y)}catch(g){try{t.utimesSync(String(u.absolute),m,y)}catch{p=g}}}if(this[_a](u)){let m=this[ba](u),y=this[wa](u);try{t.fchownSync(g,Number(m),Number(y))}catch(g){try{t.chownSync(String(u.absolute),Number(m),Number(y))}catch{p=p||g}}}r(p)}))}[sa](u,p){let m=typeof u.mode=="number"?u.mode&4095:this.dmode,g=this[ha](String(u.absolute),m);if(g){this[da](g,u),p();return}if(u.mtime&&!this.noMtime)try{t.utimesSync(String(u.absolute),u.atime||new Date,u.mtime)}catch{}if(this[_a](u))try{t.chownSync(String(u.absolute),Number(this[ba](u)),Number(this[wa](u)))}catch{}p(),u.resume()}[ha](t,u){try{return yr(Ks(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cwd:this.cwd,mode:u})}catch(t){return t}}[aa](p,m,g,y,v){if(this.preservePaths||g.length===0)return y();let b=m;for(let p of g){b=u.resolve(b,p);let[w,E]=ye((()=>t.lstatSync(b)));if(w)return y();if(E.isSymbolicLink())return v(new zo(b,u.resolve(m,g.join("/"))))}y()}[ia](u,p,m,g){let y=`${m}Sync`;try{t[y](p,String(u.absolute)),g(),u.resume()}catch(t){return this[da](t,u)}}};var lo=u=>{let p=new Pa(u),m=u.file,g=t.statSync(m),y=u.maxReadSize||16*1024*1024;new ss(m,{readSize:y,size:g.size}).pipe(p)},co=(u,p)=>{let m=new Ra(u),g=u.maxReadSize||16*1024*1024,y=u.file;return new Promise(((u,p)=>{m.on("error",p),m.on("close",u),t.stat(y,((t,u)=>{if(t)p(t);else{let t=new rs(y,{readSize:g,size:u.size});t.on("error",p),t.pipe(m)}}))}))},Aa=K(lo,co,(t=>new Pa(t)),(t=>new Ra(t)),((t,u)=>{u?.length&&$i(t,u)}));var uo=(u,p)=>{let m=new xo(u),g=!0,y,v;try{try{y=t.openSync(u.file,"r+")}catch(p){if(p?.code==="ENOENT")y=t.openSync(u.file,"w+");else throw p}let b=t.fstatSync(y),w=Buffer.alloc(512);e:for(v=0;v<b.size;v+=512){for(let u=0,p=0;u<512;u+=p){if(p=t.readSync(y,w,u,w.length-u,v+u),v===0&&w[0]===31&&w[1]===139)throw new Error("cannot append to compressed archives");if(!p)break e}let p=new js(w);if(!p.cksumValid)break;let m=512*Math.ceil((p.size||0)/512);if(v+m+512>b.size)break;v+=m,u.mtimeCache&&p.mtime&&u.mtimeCache.set(String(p.path),p.mtime)}g=!1,mo(u,m,v,y,p)}finally{if(g)try{t.closeSync(y)}catch{}}},mo=(t,u,p,m,g)=>{let y=new ns(t.file,{fd:m,start:p});u.pipe(y),Eo(u,g)},po=(u,p)=>{p=Array.from(p);let m=new Ao(u),i=(p,m,g)=>{let a=(u,m)=>{u?t.close(p,(t=>g(u))):g(null,m)},y=0;if(m===0)return a(null,0);let v=0,b=Buffer.alloc(512),S=(g,w)=>{if(g||w===void 0)return a(g);if(v+=w,v<512&&w)return t.read(p,b,v,b.length-v,y+v,S);if(y===0&&b[0]===31&&b[1]===139)return a(new Error("cannot append to compressed archives"));if(v<512)return a(null,y);let E=new js(b);if(!E.cksumValid)return a(null,y);let $=512*Math.ceil((E.size??0)/512);if(y+$+512>m||(y+=$+512,y>=m))return a(null,y);u.mtimeCache&&E.mtime&&u.mtimeCache.set(String(E.path),E.mtime),v=0,t.read(p,b,0,512,y,S)};t.read(p,b,0,512,y,S)};return new Promise(((g,y)=>{m.on("error",y);let v="r+",a=(b,w)=>{if(b&&b.code==="ENOENT"&&v==="r+")return v="w+",t.open(u.file,v,a);if(b||!w)return y(b);t.fstat(w,((v,b)=>{if(v)return t.close(w,(()=>y(v)));i(w,b.size,((t,v)=>{if(t)return y(t);let b=new is(u.file,{fd:w,start:v});m.pipe(b),b.on("error",y),b.on("close",g),wo(m,p)}))}))};t.open(u.file,v,a)}))},Eo=(t,p)=>{p.forEach((p=>{p.charAt(0)==="@"?Ii({file:u.resolve(t.cwd,p.slice(1)),sync:!0,noResume:!0,onReadEntry:u=>t.add(u)}):t.add(p)})),t.end()},wo=async(t,p)=>{for(let m of p)m.charAt(0)==="@"?await Ii({file:u.resolve(String(t.cwd),m.slice(1)),noResume:!0,onReadEntry:u=>t.add(u)}):t.add(m);t.end()},xa=K(uo,po,(()=>{throw new TypeError("file is required")}),(()=>{throw new TypeError("file is required")}),((t,u)=>{if(!Fs(t))throw new TypeError("file is required");if(t.gzip||t.brotli||t.zstd||t.file.endsWith(".br")||t.file.endsWith(".tbr"))throw new TypeError("cannot append to compressed archives");if(!u?.length)throw new TypeError("no paths specified to add/replace")}));var Ta=K(xa.syncFile,xa.asyncFile,xa.syncNoFile,xa.asyncNoFile,((t,u=[])=>{xa.validate?.(t,u),yo(t)})),yo=t=>{let u=t.filter;t.mtimeCache||(t.mtimeCache=new Map),t.filter=u?(p,m)=>u(p,m)&&!((t.mtimeCache?.get(p)??m.mtime??0)>(m.mtime??0)):(u,p)=>!((t.mtimeCache?.get(u)??p.mtime??0)>(p.mtime??0))};async function isUrlOk(t){try{const u=await fetch(t,{method:"HEAD"});return u.status===200}catch{return false}}async function getRepoInfo(t,u){const[,p,m,g,y,...v]=t.pathname.split("/");const b=u?u.replace(/^\//,""):v.join("/");if(g===undefined||g===""&&y===undefined){try{const t=await fetch(`https://api.github.com/repos/${p}/${m}`);if(t.status!==200){return}const u=await t.json();return{username:p,name:m,branch:u.default_branch,filePath:b}}catch{return}}const w=u?`${y}/${v.join("/")}`.replace(new RegExp(`/${b}|/$`),""):y;if(p&&m&&w&&g==="tree"){return{username:p,name:m,branch:w,filePath:b}}}function hasRepo({username:t,name:u,branch:p,filePath:m}){const g=`https://api.github.com/repos/${t}/${u}/contents`;const y=`${m?`/${m}`:""}/package.json`;return isUrlOk(`${g}${y}?ref=${p}`)}function existsInRepo(t){try{const u=new URL(t);return isUrlOk(u.href)}catch{return isUrlOk(`https://api.github.com/repos/zuplo/zudoku/contents/examples/${encodeURIComponent(t)}`)}}async function downloadTarStream(t){const u=await fetch(t);if(!u.body){throw new Error(`Failed to download: ${t}`)}return z.Readable.fromWeb(u.body)}async function downloadAndExtractRepo(t,{username:p,name:m,branch:g,filePath:y}){let v=null;await(0,ot.pipeline)(await downloadTarStream(`https://codeload.github.com/${p}/${m}/tar.gz/${g}`),Aa({cwd:t,strip:y?y.split("/").length+1:1,filter:t=>{if(v===null){const p=t.split(u.sep);v=p.length?p[0]:null}return t.startsWith(`${v}${y?`/${y}/`:"/"}`)}}))}async function downloadAndExtractExample(t,u){if(u==="__internal-testing-retry"){throw new Error("This is an internal example for testing the CLI.")}await(0,ot.pipeline)(await downloadTarStream("https://codeload.github.com/zuplo/zudoku/tar.gz/canary"),Aa({cwd:t,strip:2+u.split("/").length,filter:t=>t.includes(`zudoku-canary/examples/${u}/`)}))}var Ca=__nccwpck_require__(1421);function isInGitRepository(){try{(0,Ca.execSync)("git rev-parse --is-inside-work-tree",{stdio:"ignore"});return true}catch{}return false}function isInMercurialRepository(){try{(0,Ca.execSync)("hg --cwd . root",{stdio:"ignore"});return true}catch{}return false}function isDefaultBranchSet(){try{(0,Ca.execSync)("git config init.defaultBranch",{stdio:"ignore"});return true}catch{}return false}function tryGitInit(p){let m=false;try{(0,Ca.execSync)("git --version",{stdio:"ignore"});if(isInGitRepository()||isInMercurialRepository()){return false}(0,Ca.execSync)("git init",{stdio:"ignore"});m=true;if(!isDefaultBranchSet()){(0,Ca.execSync)("git checkout -b main",{stdio:"ignore"})}(0,Ca.execSync)("git add -A",{stdio:"ignore"});(0,Ca.execSync)('git commit -m "Initial commit from Create Next App"',{stdio:"ignore"});return true}catch{if(m){try{(0,t.rmSync)((0,u.join)(p,".git"),{recursive:true,force:true})}catch{}}return false}}var ka=__nccwpck_require__(670);var Ia=__nccwpck_require__.n(ka);async function install(t,u){const p=["install"];if(!u){console.log((0,Qe.yellow)("You appear to be offline.\nFalling back to the local cache."));p.push("--offline")}return new Promise(((u,m)=>{const g=Ia()(t,p,{stdio:"inherit",env:{...process.env,ADBLOCK:"1",NODE_ENV:"development",DISABLE_OPENCOLLECTIVE:"1"}});g.on("close",(g=>{if(g!==0){m({command:`${t} ${p.join(" ")}`});return}u()}))}))}function isFolderEmpty(p,m){const g=[".DS_Store",".git",".gitattributes",".gitignore",".gitlab-ci.yml",".hg",".hgcheck",".hgignore",".idea",".npmignore",".travis.yml","LICENSE","Thumbs.db","docs","mkdocs.yml","npm-debug.log","yarn-debug.log","yarn-error.log","yarnrc.yml",".yarn"];const y=(0,t.readdirSync)(p).filter((t=>!g.includes(t)&&!/\.iml$/.test(t)));if(y.length>0){console.log(`The directory ${(0,Qe.green)(m)} contains files that could conflict:`);console.log();for(const m of y){try{const g=(0,t.lstatSync)((0,u.join)(p,m));if(g.isDirectory()){console.log(` ${(0,Qe.blue)(m)}/`)}else{console.log(` ${m}`)}}catch{console.log(` ${m}`)}}console.log();console.log("Either try using a new directory name, or remove the files listed above.");console.log();return false}return true}const Na=require("node:dns/promises");const Da=require("node:url");var La=__nccwpck_require__.n(Da);function getProxy(){if(process.env.https_proxy){return process.env.https_proxy}try{const t=(0,Ca.execSync)("npm config get https-proxy").toString().trim();return t!=="null"?t:undefined}catch{return}}async function getOnline(){try{await(0,Na.lookup)("registry.yarnpkg.com");return true}catch{const t=getProxy();if(!t){return false}const{hostname:u}=La().parse(t);if(!u){return false}try{await(0,Na.lookup)(u);return true}catch{return false}}}const Ma=require("node:constants");async function isWriteable(t){try{await(0,_t.access)(t,Ma.W_OK);return true}catch{return false}}var ja=__nccwpck_require__(2457);const identity=t=>t;const copy=async(t,p,{cwd:m,rename:g=identity,parents:y=true}={})=>{const v=typeof t==="string"?[t]:t;if(v.length===0||!p){throw new TypeError("`src` and `dest` are required")}const b=await(0,ja.async)(v,{cwd:m,dot:true,absolute:false,stats:false});const w=m?(0,u.resolve)(m,p):p;return Promise.all(b.map((async t=>{const p=(0,u.dirname)(t);const v=g((0,u.basename)(t));const b=m?(0,u.resolve)(m,t):t;const E=y?(0,u.join)(w,p,v):(0,u.join)(w,v);await(0,_t.mkdir)((0,u.dirname)(E),{recursive:true});return(0,_t.copyFile)(b,E)})))};async function getLatestVersion(t,u,p=true){var m;if(!p)return u;try{const p=await fetch(`https://registry.npmjs.org/${t}/latest`);if(!p.ok)return u;const g=await p.json();return(m=g.version)!==null&&m!==void 0?m:u}catch{return u}}const Fa=__dirname.endsWith("dist")?p().join(__dirname,"templates"):__dirname;const getTemplateFile=({template:t,mode:u,file:m})=>p().join(Fa,t,u,m);const installTemplate=async({appName:t,root:u,packageManager:m,isOnline:g,template:y,mode:v,eslint:b,skipInstall:w,zudokuVersion:E})=>{var $;console.log((0,Qe.bold)(`Using ${m}.`));console.log("\nInitializing project with template:",y,"\n");const O=p().join(Fa,y,v);const R=["**"];if(!b)R.push("!eslintrc.json");await copy(R,u,{parents:true,cwd:O,rename(t){switch(t){case"gitignore":case"eslintrc.json":{return`.${t}`}case"README-template.md":{return"README.md"}default:{return t}}}});const P=($=process.env.ZUDOKU_PRIVATE_TEST_VERSION)!==null&&$!==void 0?$:E;const A={name:t,version:"0.1.0",type:"module",private:true,scripts:{dev:"zudoku dev",build:"zudoku build",preview:"zudoku preview",lint:"eslint"},dependencies:{react:">=19.0.0","react-dom":">=19.0.0",zudoku:P},devDependencies:{}};if(y==="zuplo"){const t=await getLatestVersion("@zuplo/zudoku-plugin-monetization","latest",g);A.dependencies["@zuplo/zudoku-plugin-monetization"]=t==="latest"?"latest":`^${t}`}if(v==="ts"){A.devDependencies={...A.devDependencies,"@types/node":"^22","@types/react":"^19","@types/react-dom":"^19",typescript:"^6"}}if(b){A.devDependencies={...A.devDependencies,eslint:"^8"}}if(b&&v==="ts"){A.devDependencies={...A.devDependencies,"@typescript-eslint/eslint-plugin":"^8","@typescript-eslint/parser":"^8"}}const x=Object.keys(A.devDependencies).length;if(!x)delete A.devDependencies;await bt().writeFile(p().join(u,"package.json"),JSON.stringify(A,null,2)+j().EOL);if(w)return;console.log("\nInstalling dependencies:");for(const t in A.dependencies)console.log(`- ${(0,Qe.cyan)(t)}`);if(x){console.log("\nInstalling devDependencies:");for(const t in A.devDependencies)console.log(`- ${(0,Qe.cyan)(t)}`)}console.log();await install(m,g)};class DownloadError extends Error{}async function createApp({appPath:p,packageManager:m,example:g,examplePath:y,typescript:v,eslint:b,skipInstall:w,zudokuVersion:E}){let $;const O=v?"ts":"js";const R=`default`;if(g){let D;try{D=new URL(g)}catch(L){const M=L;if(M.code!=="ERR_INVALID_URL"){console.error(L);process.exit(1)}}if(D){if(D.origin!=="https://github.com"){console.error(`Invalid URL: ${(0,Qe.red)(`"${g}"`)}. Only GitHub repositories are supported. Please use a GitHub URL and try again.`);process.exit(1)}$=await getRepoInfo(D,y);if(!$){console.error(`Found invalid GitHub URL: ${(0,Qe.red)(`"${g}"`)}. Please fix the URL and try again.`);process.exit(1)}const j=await hasRepo($);if(!j){console.error(`Could not locate the repository for ${(0,Qe.red)(`"${g}"`)}. Please check that the repository exists and try again.`);process.exit(1)}}else if(g!=="__internal-testing-retry"){const U=await existsInRepo(g);if(!U){console.error(`Could not locate an example named ${(0,Qe.red)(`"${g}"`)}. It could be due to the following:\n`,`1. Your spelling of example ${(0,Qe.red)(`"${g}"`)} might be incorrect.\n`,`2. You might not be connected to the internet or you are behind a proxy.`);process.exit(1)}}}const P=(0,u.resolve)(p);if(!await isWriteable((0,u.dirname)(P))){console.error("The application path is not writable, please check folder permissions and try again.");console.error("It is likely you do not have write permissions for this folder.");process.exit(1)}const A=(0,u.basename)(P);(0,t.mkdirSync)(P,{recursive:true});if(!isFolderEmpty(P,A)){process.exit(1)}const x=m==="yarn";const T=!x||await getOnline();const C=process.cwd();console.log(`Creating a new Zudoku app in ${(0,Qe.green)(P)}.`);console.log();process.chdir(P);const k=(0,u.join)(P,"package.json");let I=false;if(g){try{if($){const H=$;console.log(`Downloading files from repo ${(0,Qe.cyan)(g)}. This might take a moment.`);console.log();await nt()((()=>downloadAndExtractRepo(P,H)),{retries:3})}else{console.log(`Downloading files for example ${(0,Qe.cyan)(g)}. This might take a moment.`);console.log();await nt()((()=>downloadAndExtractExample(P,g)),{retries:3})}}catch(V){function isErrorLike(t){return typeof t==="object"&&t!==null&&typeof t.message==="string"}throw new DownloadError(isErrorLike(V)?V.message:String(V))}const B=(0,u.join)(P,".gitignore");if(!(0,t.existsSync)(B)){(0,t.copyFileSync)(getTemplateFile({template:R,mode:O,file:"gitignore"}),B)}I=(0,t.existsSync)(k);if(!w&&I){console.log("Installing packages. This might take a couple of minutes.");console.log();await install(m,T);console.log()}}else{await installTemplate({appName:A,root:P,template:R,mode:O,packageManager:m,isOnline:T,eslint:b,skipInstall:w,zudokuVersion:E})}if(tryGitInit(P)){console.log("Initialized a git repository.");console.log()}let N;if((0,u.join)(C,A)===p){N=A}else{N=p}console.log(`${(0,Qe.green)("Success!")} Created ${A} at ${p}`);if(I){console.log("Inside that directory, you can run several commands:");console.log();console.log((0,Qe.cyan)(` ${m} ${x?"":"run "}dev`));console.log(" Starts the development server.");console.log();console.log((0,Qe.cyan)(` ${m} ${x?"":"run "}build`));console.log(" Builds the app for production.");console.log();console.log((0,Qe.cyan)(` ${m} start`));console.log(" Runs the built app in production mode.");console.log();console.log("We suggest that you begin by typing:");console.log();console.log((0,Qe.cyan)(" cd"),N);console.log(` ${(0,Qe.cyan)(`${m} ${x?"":"run "}dev`)}`)}console.log()}function getPkgManager(){var t;const u=(t=process.env.npm_config_user_agent)!==null&&t!==void 0?t:"";if(u.startsWith("yarn")){return"yarn"}if(u.startsWith("pnpm")){return"pnpm"}if(u.startsWith("bun")){return"bun"}return"npm"}var Ua=__nccwpck_require__(8904);var Ba=__nccwpck_require__.n(Ua);function validateNpmName(t){const u=Ba()(t);if(u.validForNewPackages){return{valid:true}}return{valid:false,problems:[...u.errors||[],...u.warnings||[]]}}let Ha="";const handleSigTerm=()=>process.exit(0);process.on("SIGINT",handleSigTerm);process.on("SIGTERM",handleSigTerm);const onPromptState=t=>{if(t.aborted){process.stdout.write("[?25h");process.stdout.write("\n");process.exit(1)}};const Va=JSON.parse((0,t.readFileSync)(p().resolve(__dirname,"../package.json"),"utf-8"));const za=new P(Va.name).version(Va.version,"-v, --version","Output the current version of create-zudoku.").description("Create a new Zudoku API documentation project.\n\nRun without arguments for an interactive setup, or use --yes for a quick start with sensible defaults.").argument("[directory]",'Project directory (defaults to "my-app")').usage("[directory] [options]").helpOption("-h, --help","Display this help message.").option("--ts, --typescript","Initialize as a TypeScript project (default).").option("--js, --javascript","Initialize as a JavaScript project.").option("--eslint","Initialize with ESLint config.").option("--import-alias <prefix/*>",'Specify import alias to use (default "@/*").').option("--use-npm","Use npm as the package manager.").option("--use-pnpm","Use pnpm as the package manager.").option("--use-yarn","Use Yarn as the package manager.").option("--use-bun","Use Bun as the package manager.").option("--reset, --reset-preferences","Reset the preferences saved for create-zudoku.").option("--skip-install","Skip installing packages after scaffolding.").option("-y, --yes",'Skip all prompts and use defaults (TypeScript, ESLint, directory "my-app").').option("-e, --example <example-name|github-url>","Bootstrap from an example in the Zudoku repo or a public GitHub URL.").option("--example-path <path-to-example>","Path to the example within the repo (use when the branch name contains slashes).").addHelpText("after",`\nExamples:\n $ npm create zudoku@latest\n $ npm create zudoku@latest my-docs\n $ npm create zudoku@latest my-docs --yes\n $ npm create zudoku@latest --yes --js --skip-install\n`).action((t=>{if(t&&!t.startsWith("--no-")){Ha=t}})).allowUnknownOption().parse(process.argv);const Ga=za.opts();const{args:Wa}=za;const qa=Ga.useNpm?"npm":Ga.usePnpm?"pnpm":Ga.useYarn?"yarn":Ga.useBun?"bun":getPkgManager();async function run(){const p=new Conf({projectName:"create-zudoku"});if(Ga.resetPreferences){const{resetPreferences:t}=await tt()({onState:onPromptState,type:"toggle",name:"resetPreferences",message:"Would you like to reset the saved preferences?",initial:false,active:"Yes",inactive:"No"});if(t){p.clear();console.log("The preferences have been reset successfully!")}process.exit(0)}const m=g().isCI||Ga.yes;if(typeof Ha==="string"){Ha=Ha.trim()}if(!Ha){if(m){Ha="my-app"}else{const t=await tt()({onState:onPromptState,type:"text",name:"path",message:"What is your project named?",initial:"my-app",validate:t=>{const p=validateNpmName((0,u.basename)((0,u.resolve)(t)));if(p.valid){return true}return`Invalid project name: ${p.problems[0]}`}});if(typeof t.path==="string"){Ha=t.path.trim()}}}if(!Ha){console.log("\nPlease specify the project directory:\n"+` ${(0,Qe.cyan)(Ga.name())} ${(0,Qe.green)("<project-directory>")}\n`+"For example:\n"+` ${(0,Qe.cyan)(Ga.name())} ${(0,Qe.green)("my-zudoku-app")}\n\n`+`Run ${(0,Qe.cyan)(`${Ga.name()} --help`)} to see all options.`);process.exit(1)}const y=(0,u.resolve)(Ha);const v=(0,u.basename)(y);const b=validateNpmName(v);if(!b.valid){console.error(`Could not create a project called ${(0,Qe.red)(`"${v}"`)} because of npm naming restrictions:`);b.problems.forEach((t=>console.error(` ${(0,Qe.red)((0,Qe.bold)("*"))} ${t}`)));process.exit(1)}if(Ga.example===true){console.error("Please provide an example name or url, otherwise remove the example option.");process.exit(1)}if((0,t.existsSync)(y)&&!isFolderEmpty(y,v)){process.exit(1)}const w=typeof Ga.example==="string"&&Ga.example.trim();const E=p.get("preferences")||{};if(!w){const t={typescript:true,eslint:true,empty:false};const getPrefOrDefault=u=>{var p;return(p=E[u])!==null&&p!==void 0?p:t[u]};if(!Ga.typescript&&!Ga.javascript){if(m){Ga.typescript=getPrefOrDefault("typescript")}else{const t=(0,Qe.blue)("TypeScript");const{typescript:u}=await tt()({type:"toggle",name:"typescript",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("typescript"),active:"Yes",inactive:"No"},{onCancel:()=>{console.error("Exiting.");process.exit(1)}});Ga.typescript=Boolean(u);Ga.javascript=!u;E.typescript=Boolean(u)}}if(!Ga.eslint&&!Wa.includes("--no-eslint")){if(m){Ga.eslint=getPrefOrDefault("eslint")}else{const t=(0,Qe.blue)("ESLint");const{eslint:u}=await tt()({onState:onPromptState,type:"toggle",name:"eslint",message:`Would you like to use ${t}?`,initial:getPrefOrDefault("eslint"),active:"Yes",inactive:"No"});Ga.eslint=Boolean(u);E.eslint=Boolean(u)}}}try{await createApp({appPath:y,packageManager:qa,example:w&&w!=="default"?w:undefined,examplePath:Ga.examplePath,typescript:Ga.typescript,eslint:Ga.eslint,skipInstall:Ga.skipInstall,zudokuVersion:Va.version})}catch(t){if(!(t instanceof DownloadError)){throw t}const u=await tt()({onState:onPromptState,type:"confirm",name:"builtin",message:`Could not download "${w}" because of a connectivity issue between your machine and GitHub.\n`+`Do you want to use the default template instead?`,initial:true});if(!u.builtin){throw t}await createApp({appPath:y,packageManager:qa,typescript:Ga.typescript,eslint:Ga.eslint,skipInstall:Ga.skipInstall,zudokuVersion:Va.version})}p.set("preferences",E)}const Ka=st()(Va).catch((()=>null));async function notifyUpdate(){var t;try{if((t=await Ka)===null||t===void 0?void 0:t.latest){const t={npm:"npm i -g",yarn:"yarn global add",pnpm:"pnpm add -g",bun:"bun add -g"};const u=`${t[qa]} create-zudoku`;console.log((0,Qe.yellow)((0,Qe.bold)("A new version of `create-zudoku` is available!"))+"\n"+"You can update by running: "+(0,Qe.cyan)(u)+"\n")}process.exit(0)}catch{}}async function exit(t){console.log();console.log("Aborting installation.");if(t.command){console.log(` ${(0,Qe.cyan)(t.command)} has failed.`)}else{console.log(`${(0,Qe.red)("Unexpected error. Please report it as a bug:")}\n`,t)}console.log();await notifyUpdate();process.exit(1)}run().then(notifyUpdate).catch(exit)})();module.exports=p})();