forked from olcxjas-softworks/LarpixClient
15 lines
95 KiB
JavaScript
15 lines
95 KiB
JavaScript
var ol=Object.create;var zr=Object.defineProperty;var hl=Object.getOwnPropertyDescriptor;var ll=Object.getOwnPropertyNames;var al=Object.getPrototypeOf,cl=Object.prototype.hasOwnProperty;var p=(s,t)=>()=>(t||s((t={exports:{}}).exports,t),t.exports);var ul=(s,t,e,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of ll(t))!cl.call(s,r)&&r!==e&&zr(s,r,{get:()=>t[r],enumerable:!(i=hl(t,r))||i.enumerable});return s};var Xs=(s,t,e)=>(e=s!=null?ol(al(s)):{},ul(t||!s||!s.__esModule?zr(e,"default",{value:s,enumerable:!0}):e,s));var Wt=p((tu,Gr)=>{"use strict";var Hr=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"]]);Gr.exports=s=>s?Object.keys(s).map(t=>[Hr.has(t)?Hr.get(t):t,s[t]]).reduce((t,e)=>(t[e[0]]=e[1],t),Object.create(null)):{}});var Ze=p(Qr=>{"use strict";var Wr=typeof process=="object"&&process?process:{stdout:null,stderr:null},fl=require("events"),Yr=require("stream"),dl=require("string_decoder"),jr=dl.StringDecoder,it=Symbol("EOF"),rt=Symbol("maybeEmitEnd"),yt=Symbol("emittedEnd"),He=Symbol("emittingEnd"),ye=Symbol("emittedError"),Ge=Symbol("closed"),$r=Symbol("read"),We=Symbol("flush"),Zr=Symbol("flushChunk"),P=Symbol("encoding"),nt=Symbol("decoder"),Ye=Symbol("flowing"),Ee=Symbol("paused"),Yt=Symbol("resume"),O=Symbol("buffer"),K=Symbol("pipes"),N=Symbol("bufferLength"),Js=Symbol("bufferPush"),Qs=Symbol("bufferShift"),I=Symbol("objectMode"),T=Symbol("destroyed"),ti=Symbol("error"),ei=Symbol("emitData"),Kr=Symbol("emitEnd"),si=Symbol("emitEnd2"),ot=Symbol("async"),ii=Symbol("abort"),je=Symbol("aborted"),Lt=Symbol("signal"),ge=s=>Promise.resolve().then(s),Jr=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Vr=Jr&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),Xr=Jr&&Symbol.iterator||Symbol("iterator not implemented"),ml=s=>s==="end"||s==="finish"||s==="prefinish",pl=s=>s instanceof ArrayBuffer||typeof s=="object"&&s.constructor&&s.constructor.name==="ArrayBuffer"&&s.byteLength>=0,yl=s=>!Buffer.isBuffer(s)&&ArrayBuffer.isView(s),$e=class{constructor(t,e,i){this.src=t,this.dest=e,this.opts=i,this.ondrain=()=>t[Yt](),e.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},ri=class extends $e{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,e,i){super(t,e,i),this.proxyErrors=r=>e.emit("error",r),t.on("error",this.proxyErrors)}},Se=class extends Yr{constructor(t){super(),this[Ye]=!1,this[Ee]=!1,this[K]=[],this[O]=[],this[I]=t&&t.objectMode||!1,this[I]?this[P]=null:this[P]=t&&t.encoding||null,this[P]==="buffer"&&(this[P]=null),this[ot]=t&&!!t.async||!1,this[nt]=this[P]?new jr(this[P]):null,this[it]=!1,this[yt]=!1,this[He]=!1,this[Ge]=!1,this[ye]=null,this.writable=!0,this.readable=!0,this[N]=0,this[T]=!1,t&&t.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[O]}),t&&t.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[K]}),this[Lt]=t&&t.signal,this[je]=!1,this[Lt]&&(this[Lt].addEventListener("abort",()=>this[ii]()),this[Lt].aborted&&this[ii]())}get bufferLength(){return this[N]}get encoding(){return this[P]}set encoding(t){if(this[I])throw new Error("cannot set encoding in objectMode");if(this[P]&&t!==this[P]&&(this[nt]&&this[nt].lastNeed||this[N]))throw new Error("cannot change encoding");this[P]!==t&&(this[nt]=t?new jr(t):null,this[O].length&&(this[O]=this[O].map(e=>this[nt].write(e)))),this[P]=t}setEncoding(t){this.encoding=t}get objectMode(){return this[I]}set objectMode(t){this[I]=this[I]||!!t}get async(){return this[ot]}set async(t){this[ot]=this[ot]||!!t}[ii](){this[je]=!0,this.emit("abort",this[Lt].reason),this.destroy(this[Lt].reason)}get aborted(){return this[je]}set aborted(t){}write(t,e,i){if(this[je])return!1;if(this[it])throw new Error("write after end");if(this[T])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof e=="function"&&(i=e,e="utf8"),e||(e="utf8");let r=this[ot]?ge:n=>n();return!this[I]&&!Buffer.isBuffer(t)&&(yl(t)?t=Buffer.from(t.buffer,t.byteOffset,t.byteLength):pl(t)?t=Buffer.from(t):typeof t!="string"&&(this.objectMode=!0)),this[I]?(this.flowing&&this[N]!==0&&this[We](!0),this.flowing?this.emit("data",t):this[Js](t),this[N]!==0&&this.emit("readable"),i&&r(i),this.flowing):t.length?(typeof t=="string"&&!(e===this[P]&&!this[nt].lastNeed)&&(t=Buffer.from(t,e)),Buffer.isBuffer(t)&&this[P]&&(t=this[nt].write(t)),this.flowing&&this[N]!==0&&this[We](!0),this.flowing?this.emit("data",t):this[Js](t),this[N]!==0&&this.emit("readable"),i&&r(i),this.flowing):(this[N]!==0&&this.emit("readable"),i&&r(i),this.flowing)}read(t){if(this[T])return null;if(this[N]===0||t===0||t>this[N])return this[rt](),null;this[I]&&(t=null),this[O].length>1&&!this[I]&&(this.encoding?this[O]=[this[O].join("")]:this[O]=[Buffer.concat(this[O],this[N])]);let e=this[$r](t||null,this[O][0]);return this[rt](),e}[$r](t,e){return t===e.length||t===null?this[Qs]():(this[O][0]=e.slice(t),e=e.slice(0,t),this[N]-=t),this.emit("data",e),!this[O].length&&!this[it]&&this.emit("drain"),e}end(t,e,i){return typeof t=="function"&&(i=t,t=null),typeof e=="function"&&(i=e,e="utf8"),t&&this.write(t,e),i&&this.once("end",i),this[it]=!0,this.writable=!1,(this.flowing||!this[Ee])&&this[rt](),this}[Yt](){this[T]||(this[Ee]=!1,this[Ye]=!0,this.emit("resume"),this[O].length?this[We]():this[it]?this[rt]():this.emit("drain"))}resume(){return this[Yt]()}pause(){this[Ye]=!1,this[Ee]=!0}get destroyed(){return this[T]}get flowing(){return this[Ye]}get paused(){return this[Ee]}[Js](t){this[I]?this[N]+=1:this[N]+=t.length,this[O].push(t)}[Qs](){return this[I]?this[N]-=1:this[N]-=this[O][0].length,this[O].shift()}[We](t){do;while(this[Zr](this[Qs]())&&this[O].length);!t&&!this[O].length&&!this[it]&&this.emit("drain")}[Zr](t){return this.emit("data",t),this.flowing}pipe(t,e){if(this[T])return;let i=this[yt];return e=e||{},t===Wr.stdout||t===Wr.stderr?e.end=!1:e.end=e.end!==!1,e.proxyErrors=!!e.proxyErrors,i?e.end&&t.end():(this[K].push(e.proxyErrors?new ri(this,t,e):new $e(this,t,e)),this[ot]?ge(()=>this[Yt]()):this[Yt]()),t}unpipe(t){let e=this[K].find(i=>i.dest===t);e&&(this[K].splice(this[K].indexOf(e),1),e.unpipe())}addListener(t,e){return this.on(t,e)}on(t,e){let i=super.on(t,e);return t==="data"&&!this[K].length&&!this.flowing?this[Yt]():t==="readable"&&this[N]!==0?super.emit("readable"):ml(t)&&this[yt]?(super.emit(t),this.removeAllListeners(t)):t==="error"&&this[ye]&&(this[ot]?ge(()=>e.call(this,this[ye])):e.call(this,this[ye])),i}get emittedEnd(){return this[yt]}[rt](){!this[He]&&!this[yt]&&!this[T]&&this[O].length===0&&this[it]&&(this[He]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ge]&&this.emit("close"),this[He]=!1)}emit(t,e,...i){if(t!=="error"&&t!=="close"&&t!==T&&this[T])return;if(t==="data")return!this[I]&&!e?!1:this[ot]?ge(()=>this[ei](e)):this[ei](e);if(t==="end")return this[Kr]();if(t==="close"){if(this[Ge]=!0,!this[yt]&&!this[T])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(t==="error"){this[ye]=e,super.emit(ti,e);let n=!this[Lt]||this.listeners("error").length?super.emit("error",e):!1;return this[rt](),n}else if(t==="resume"){let n=super.emit("resume");return this[rt](),n}else if(t==="finish"||t==="prefinish"){let n=super.emit(t);return this.removeAllListeners(t),n}let r=super.emit(t,e,...i);return this[rt](),r}[ei](t){for(let i of this[K])i.dest.write(t)===!1&&this.pause();let e=super.emit("data",t);return this[rt](),e}[Kr](){this[yt]||(this[yt]=!0,this.readable=!1,this[ot]?ge(()=>this[si]()):this[si]())}[si](){if(this[nt]){let e=this[nt].end();if(e){for(let i of this[K])i.dest.write(e);super.emit("data",e)}}for(let e of this[K])e.end();let t=super.emit("end");return this.removeAllListeners("end"),t}collect(){let t=[];this[I]||(t.dataLength=0);let e=this.promise();return this.on("data",i=>{t.push(i),this[I]||(t.dataLength+=i.length)}),e.then(()=>t)}concat(){return this[I]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(t=>this[I]?Promise.reject(new Error("cannot concat in objectMode")):this[P]?t.join(""):Buffer.concat(t,t.dataLength))}promise(){return new Promise((t,e)=>{this.on(T,()=>e(new Error("stream destroyed"))),this.on("error",i=>e(i)),this.on("end",()=>t())})}[Vr](){let t=!1,e=()=>(this.pause(),t=!0,Promise.resolve({done:!0}));return{next:()=>{if(t)return e();let r=this.read();if(r!==null)return Promise.resolve({done:!1,value:r});if(this[it])return e();let n=null,o=null,h=u=>{this.removeListener("data",a),this.removeListener("end",l),this.removeListener(T,c),e(),o(u)},a=u=>{this.removeListener("error",h),this.removeListener("end",l),this.removeListener(T,c),this.pause(),n({value:u,done:!!this[it]})},l=()=>{this.removeListener("error",h),this.removeListener("data",a),this.removeListener(T,c),e(),n({done:!0})},c=()=>h(new Error("stream destroyed"));return new Promise((u,f)=>{o=f,n=u,this.once(T,c),this.once("error",h),this.once("end",l),this.once("data",a)})},throw:e,return:e,[Vr](){return this}}}[Xr](){let t=!1,e=()=>(this.pause(),this.removeListener(ti,e),this.removeListener(T,e),this.removeListener("end",e),t=!0,{done:!0}),i=()=>{if(t)return e();let r=this.read();return r===null?e():{value:r}};return this.once("end",e),this.once(ti,e),this.once(T,e),{next:i,throw:e,return:e,[Xr](){return this}}}destroy(t){return this[T]?(t?this.emit("error",t):this.emit(T),this):(this[T]=!0,this[O].length=0,this[N]=0,typeof this.close=="function"&&!this[Ge]&&this.close(),t?this.emit("error",t):this.emit(T),this)}static isStream(t){return!!t&&(t instanceof Se||t instanceof Yr||t instanceof fl&&(typeof t.pipe=="function"||typeof t.write=="function"&&typeof t.end=="function"))}};Qr.Minipass=Se});var en=p((su,tn)=>{var El=require("zlib").constants||{ZLIB_VERNUM:4736};tn.exports=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},El))});var ci=p((iu,un)=>{"use strict";var sn=typeof process=="object"&&process?process:{stdout:null,stderr:null},gl=require("events"),rn=require("stream"),nn=require("string_decoder").StringDecoder,ht=Symbol("EOF"),lt=Symbol("maybeEmitEnd"),Et=Symbol("emittedEnd"),Ke=Symbol("emittingEnd"),we=Symbol("emittedError"),Ve=Symbol("closed"),on=Symbol("read"),Xe=Symbol("flush"),hn=Symbol("flushChunk"),F=Symbol("encoding"),at=Symbol("decoder"),Je=Symbol("flowing"),Re=Symbol("paused"),jt=Symbol("resume"),D=Symbol("bufferLength"),ni=Symbol("bufferPush"),oi=Symbol("bufferShift"),v=Symbol("objectMode"),x=Symbol("destroyed"),hi=Symbol("emitData"),ln=Symbol("emitEnd"),li=Symbol("emitEnd2"),ct=Symbol("async"),_e=s=>Promise.resolve().then(s),an=global._MP_NO_ITERATOR_SYMBOLS_!=="1",Sl=an&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),wl=an&&Symbol.iterator||Symbol("iterator not implemented"),Rl=s=>s==="end"||s==="finish"||s==="prefinish",_l=s=>s instanceof ArrayBuffer||typeof s=="object"&&s.constructor&&s.constructor.name==="ArrayBuffer"&&s.byteLength>=0,bl=s=>!Buffer.isBuffer(s)&&ArrayBuffer.isView(s),Qe=class{constructor(t,e,i){this.src=t,this.dest=e,this.opts=i,this.ondrain=()=>t[jt](),e.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},ai=class extends Qe{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,e,i){super(t,e,i),this.proxyErrors=r=>e.emit("error",r),t.on("error",this.proxyErrors)}};un.exports=class cn extends rn{constructor(t){super(),this[Je]=!1,this[Re]=!1,this.pipes=[],this.buffer=[],this[v]=t&&t.objectMode||!1,this[v]?this[F]=null:this[F]=t&&t.encoding||null,this[F]==="buffer"&&(this[F]=null),this[ct]=t&&!!t.async||!1,this[at]=this[F]?new nn(this[F]):null,this[ht]=!1,this[Et]=!1,this[Ke]=!1,this[Ve]=!1,this[we]=null,this.writable=!0,this.readable=!0,this[D]=0,this[x]=!1}get bufferLength(){return this[D]}get encoding(){return this[F]}set encoding(t){if(this[v])throw new Error("cannot set encoding in objectMode");if(this[F]&&t!==this[F]&&(this[at]&&this[at].lastNeed||this[D]))throw new Error("cannot change encoding");this[F]!==t&&(this[at]=t?new nn(t):null,this.buffer.length&&(this.buffer=this.buffer.map(e=>this[at].write(e)))),this[F]=t}setEncoding(t){this.encoding=t}get objectMode(){return this[v]}set objectMode(t){this[v]=this[v]||!!t}get async(){return this[ct]}set async(t){this[ct]=this[ct]||!!t}write(t,e,i){if(this[ht])throw new Error("write after end");if(this[x])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof e=="function"&&(i=e,e="utf8"),e||(e="utf8");let r=this[ct]?_e:n=>n();return!this[v]&&!Buffer.isBuffer(t)&&(bl(t)?t=Buffer.from(t.buffer,t.byteOffset,t.byteLength):_l(t)?t=Buffer.from(t):typeof t!="string"&&(this.objectMode=!0)),this[v]?(this.flowing&&this[D]!==0&&this[Xe](!0),this.flowing?this.emit("data",t):this[ni](t),this[D]!==0&&this.emit("readable"),i&&r(i),this.flowing):t.length?(typeof t=="string"&&!(e===this[F]&&!this[at].lastNeed)&&(t=Buffer.from(t,e)),Buffer.isBuffer(t)&&this[F]&&(t=this[at].write(t)),this.flowing&&this[D]!==0&&this[Xe](!0),this.flowing?this.emit("data",t):this[ni](t),this[D]!==0&&this.emit("readable"),i&&r(i),this.flowing):(this[D]!==0&&this.emit("readable"),i&&r(i),this.flowing)}read(t){if(this[x])return null;if(this[D]===0||t===0||t>this[D])return this[lt](),null;this[v]&&(t=null),this.buffer.length>1&&!this[v]&&(this.encoding?this.buffer=[this.buffer.join("")]:this.buffer=[Buffer.concat(this.buffer,this[D])]);let e=this[on](t||null,this.buffer[0]);return this[lt](),e}[on](t,e){return t===e.length||t===null?this[oi]():(this.buffer[0]=e.slice(t),e=e.slice(0,t),this[D]-=t),this.emit("data",e),!this.buffer.length&&!this[ht]&&this.emit("drain"),e}end(t,e,i){return typeof t=="function"&&(i=t,t=null),typeof e=="function"&&(i=e,e="utf8"),t&&this.write(t,e),i&&this.once("end",i),this[ht]=!0,this.writable=!1,(this.flowing||!this[Re])&&this[lt](),this}[jt](){this[x]||(this[Re]=!1,this[Je]=!0,this.emit("resume"),this.buffer.length?this[Xe]():this[ht]?this[lt]():this.emit("drain"))}resume(){return this[jt]()}pause(){this[Je]=!1,this[Re]=!0}get destroyed(){return this[x]}get flowing(){return this[Je]}get paused(){return this[Re]}[ni](t){this[v]?this[D]+=1:this[D]+=t.length,this.buffer.push(t)}[oi](){return this.buffer.length&&(this[v]?this[D]-=1:this[D]-=this.buffer[0].length),this.buffer.shift()}[Xe](t){do;while(this[hn](this[oi]()));!t&&!this.buffer.length&&!this[ht]&&this.emit("drain")}[hn](t){return t?(this.emit("data",t),this.flowing):!1}pipe(t,e){if(this[x])return;let i=this[Et];return e=e||{},t===sn.stdout||t===sn.stderr?e.end=!1:e.end=e.end!==!1,e.proxyErrors=!!e.proxyErrors,i?e.end&&t.end():(this.pipes.push(e.proxyErrors?new ai(this,t,e):new Qe(this,t,e)),this[ct]?_e(()=>this[jt]()):this[jt]()),t}unpipe(t){let e=this.pipes.find(i=>i.dest===t);e&&(this.pipes.splice(this.pipes.indexOf(e),1),e.unpipe())}addListener(t,e){return this.on(t,e)}on(t,e){let i=super.on(t,e);return t==="data"&&!this.pipes.length&&!this.flowing?this[jt]():t==="readable"&&this[D]!==0?super.emit("readable"):Rl(t)&&this[Et]?(super.emit(t),this.removeAllListeners(t)):t==="error"&&this[we]&&(this[ct]?_e(()=>e.call(this,this[we])):e.call(this,this[we])),i}get emittedEnd(){return this[Et]}[lt](){!this[Ke]&&!this[Et]&&!this[x]&&this.buffer.length===0&&this[ht]&&(this[Ke]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[Ve]&&this.emit("close"),this[Ke]=!1)}emit(t,e,...i){if(t!=="error"&&t!=="close"&&t!==x&&this[x])return;if(t==="data")return e?this[ct]?_e(()=>this[hi](e)):this[hi](e):!1;if(t==="end")return this[ln]();if(t==="close"){if(this[Ve]=!0,!this[Et]&&!this[x])return;let n=super.emit("close");return this.removeAllListeners("close"),n}else if(t==="error"){this[we]=e;let n=super.emit("error",e);return this[lt](),n}else if(t==="resume"){let n=super.emit("resume");return this[lt](),n}else if(t==="finish"||t==="prefinish"){let n=super.emit(t);return this.removeAllListeners(t),n}let r=super.emit(t,e,...i);return this[lt](),r}[hi](t){for(let i of this.pipes)i.dest.write(t)===!1&&this.pause();let e=super.emit("data",t);return this[lt](),e}[ln](){this[Et]||(this[Et]=!0,this.readable=!1,this[ct]?_e(()=>this[li]()):this[li]())}[li](){if(this[at]){let e=this[at].end();if(e){for(let i of this.pipes)i.dest.write(e);super.emit("data",e)}}for(let e of this.pipes)e.end();let t=super.emit("end");return this.removeAllListeners("end"),t}collect(){let t=[];this[v]||(t.dataLength=0);let e=this.promise();return this.on("data",i=>{t.push(i),this[v]||(t.dataLength+=i.length)}),e.then(()=>t)}concat(){return this[v]?Promise.reject(new Error("cannot concat in objectMode")):this.collect().then(t=>this[v]?Promise.reject(new Error("cannot concat in objectMode")):this[F]?t.join(""):Buffer.concat(t,t.dataLength))}promise(){return new Promise((t,e)=>{this.on(x,()=>e(new Error("stream destroyed"))),this.on("error",i=>e(i)),this.on("end",()=>t())})}[Sl](){return{next:()=>{let e=this.read();if(e!==null)return Promise.resolve({done:!1,value:e});if(this[ht])return Promise.resolve({done:!0});let i=null,r=null,n=l=>{this.removeListener("data",o),this.removeListener("end",h),r(l)},o=l=>{this.removeListener("error",n),this.removeListener("end",h),this.pause(),i({value:l,done:!!this[ht]})},h=()=>{this.removeListener("error",n),this.removeListener("data",o),i({done:!0})},a=()=>n(new Error("stream destroyed"));return new Promise((l,c)=>{r=c,i=l,this.once(x,a),this.once("error",n),this.once("end",h),this.once("data",o)})}}}[wl](){return{next:()=>{let e=this.read();return{value:e,done:e===null}}}}destroy(t){return this[x]?(t?this.emit("error",t):this.emit(x),this):(this[x]=!0,this.buffer.length=0,this[D]=0,typeof this.close=="function"&&!this[Ve]&&this.close(),t?this.emit("error",t):this.emit(x),this)}static isStream(t){return!!t&&(t instanceof cn||t instanceof rn||t instanceof gl&&(typeof t.pipe=="function"||typeof t.write=="function"&&typeof t.end=="function"))}}});var Ai=p(k=>{"use strict";var pi=require("assert"),gt=require("buffer").Buffer,mn=require("zlib"),It=k.constants=en(),Ol=ci(),fn=gt.concat,vt=Symbol("_superWrite"),Zt=class extends Error{constructor(t){super("zlib: "+t.message),this.code=t.code,this.errno=t.errno,this.code||(this.code="ZLIB_ERROR"),this.message="zlib: "+t.message,Error.captureStackTrace(this,this.constructor)}get name(){return"ZlibError"}},Tl=Symbol("opts"),be=Symbol("flushFlag"),dn=Symbol("finishFlushFlag"),Ti=Symbol("fullFlushFlag"),w=Symbol("handle"),ts=Symbol("onError"),$t=Symbol("sawError"),ui=Symbol("level"),fi=Symbol("strategy"),di=Symbol("ended"),ru=Symbol("_defaultFullFlush"),es=class extends Ol{constructor(t,e){if(!t||typeof t!="object")throw new TypeError("invalid options for ZlibBase constructor");super(t),this[$t]=!1,this[di]=!1,this[Tl]=t,this[be]=t.flush,this[dn]=t.finishFlush;try{this[w]=new mn[e](t)}catch(i){throw new Zt(i)}this[ts]=i=>{this[$t]||(this[$t]=!0,this.close(),this.emit("error",i))},this[w].on("error",i=>this[ts](new Zt(i))),this.once("end",()=>this.close)}close(){this[w]&&(this[w].close(),this[w]=null,this.emit("close"))}reset(){if(!this[$t])return pi(this[w],"zlib binding closed"),this[w].reset()}flush(t){this.ended||(typeof t!="number"&&(t=this[Ti]),this.write(Object.assign(gt.alloc(0),{[be]:t})))}end(t,e,i){return t&&this.write(t,e),this.flush(this[dn]),this[di]=!0,super.end(null,null,i)}get ended(){return this[di]}write(t,e,i){if(typeof e=="function"&&(i=e,e="utf8"),typeof t=="string"&&(t=gt.from(t,e)),this[$t])return;pi(this[w],"zlib binding closed");let r=this[w]._handle,n=r.close;r.close=()=>{};let o=this[w].close;this[w].close=()=>{},gt.concat=l=>l;let h;try{let l=typeof t[be]=="number"?t[be]:this[be];h=this[w]._processChunk(t,l),gt.concat=fn}catch(l){gt.concat=fn,this[ts](new Zt(l))}finally{this[w]&&(this[w]._handle=r,r.close=n,this[w].close=o,this[w].removeAllListeners("error"))}this[w]&&this[w].on("error",l=>this[ts](new Zt(l)));let a;if(h)if(Array.isArray(h)&&h.length>0){a=this[vt](gt.from(h[0]));for(let l=1;l<h.length;l++)a=this[vt](h[l])}else a=this[vt](gt.from(h));return i&&i(),a}[vt](t){return super.write(t)}},ut=class extends es{constructor(t,e){t=t||{},t.flush=t.flush||It.Z_NO_FLUSH,t.finishFlush=t.finishFlush||It.Z_FINISH,super(t,e),this[Ti]=It.Z_FULL_FLUSH,this[ui]=t.level,this[fi]=t.strategy}params(t,e){if(!this[$t]){if(!this[w])throw new Error("cannot switch params when binding is closed");if(!this[w].params)throw new Error("not supported in this implementation");if(this[ui]!==t||this[fi]!==e){this.flush(It.Z_SYNC_FLUSH),pi(this[w],"zlib binding closed");let i=this[w].flush;this[w].flush=(r,n)=>{this.flush(r),n()};try{this[w].params(t,e)}finally{this[w].flush=i}this[w]&&(this[ui]=t,this[fi]=e)}}}},yi=class extends ut{constructor(t){super(t,"Deflate")}},Ei=class extends ut{constructor(t){super(t,"Inflate")}},mi=Symbol("_portable"),gi=class extends ut{constructor(t){super(t,"Gzip"),this[mi]=t&&!!t.portable}[vt](t){return this[mi]?(this[mi]=!1,t[9]=255,super[vt](t)):super[vt](t)}},Si=class extends ut{constructor(t){super(t,"Gunzip")}},wi=class extends ut{constructor(t){super(t,"DeflateRaw")}},Ri=class extends ut{constructor(t){super(t,"InflateRaw")}},_i=class extends ut{constructor(t){super(t,"Unzip")}},ss=class extends es{constructor(t,e){t=t||{},t.flush=t.flush||It.BROTLI_OPERATION_PROCESS,t.finishFlush=t.finishFlush||It.BROTLI_OPERATION_FINISH,super(t,e),this[Ti]=It.BROTLI_OPERATION_FLUSH}},bi=class extends ss{constructor(t){super(t,"BrotliCompress")}},Oi=class extends ss{constructor(t){super(t,"BrotliDecompress")}};k.Deflate=yi;k.Inflate=Ei;k.Gzip=gi;k.Gunzip=Si;k.DeflateRaw=wi;k.InflateRaw=Ri;k.Unzip=_i;typeof mn.BrotliCompress=="function"?(k.BrotliCompress=bi,k.BrotliDecompress=Oi):k.BrotliCompress=k.BrotliDecompress=class{constructor(){throw new Error("Brotli is not supported in this version of Node.js")}}});var Kt=p((hu,pn)=>{var Al=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform;pn.exports=Al!=="win32"?s=>s:s=>s&&s.replace(/\\/g,"/")});var is=p((au,yn)=>{"use strict";var{Minipass:Nl}=Ze(),Ni=Kt(),Di=Symbol("slurp");yn.exports=class extends Nl{constructor(t,e,i){switch(super(),this.pause(),this.extended=e,this.globalExtended=i,this.header=t,this.startBlockSize=512*Math.ceil(t.size/512),this.blockRemain=this.startBlockSize,this.remain=t.size,this.type=t.type,this.meta=!1,this.ignore=!1,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}this.path=Ni(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=t.size,this.mtime=t.mtime,this.atime=t.atime,this.ctime=t.ctime,this.linkpath=Ni(t.linkpath),this.uname=t.uname,this.gname=t.gname,e&&this[Di](e),i&&this[Di](i,!0)}write(t){let e=t.length;if(e>this.blockRemain)throw new Error("writing more to entry than is appropriate");let i=this.remain,r=this.blockRemain;return this.remain=Math.max(0,i-e),this.blockRemain=Math.max(0,r-e),this.ignore?!0:i>=e?super.write(t):super.write(t.slice(0,i))}[Di](t,e){for(let i in t)t[i]!==null&&t[i]!==void 0&&!(e&&i==="path")&&(this[i]=i==="path"||i==="linkpath"?Ni(t[i]):t[i])}}});var Li=p(rs=>{"use strict";rs.name=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"]]);rs.code=new Map(Array.from(rs.name).map(s=>[s[1],s[0]]))});var wn=p((uu,Sn)=>{"use strict";var Dl=(s,t)=>{if(Number.isSafeInteger(s))s<0?Il(s,t):Ll(s,t);else throw Error("cannot encode number outside of javascript safe integer range");return t},Ll=(s,t)=>{t[0]=128;for(var e=t.length;e>1;e--)t[e-1]=s&255,s=Math.floor(s/256)},Il=(s,t)=>{t[0]=255;var e=!1;s=s*-1;for(var i=t.length;i>1;i--){var r=s&255;s=Math.floor(s/256),e?t[i-1]=En(r):r===0?t[i-1]=0:(e=!0,t[i-1]=gn(r))}},vl=s=>{let t=s[0],e=t===128?Cl(s.slice(1,s.length)):t===255?xl(s):null;if(e===null)throw Error("invalid base256 encoding");if(!Number.isSafeInteger(e))throw Error("parsed number outside of javascript safe integer range");return e},xl=s=>{for(var t=s.length,e=0,i=!1,r=t-1;r>-1;r--){var n=s[r],o;i?o=En(n):n===0?o=n:(i=!0,o=gn(n)),o!==0&&(e-=o*Math.pow(256,t-r-1))}return e},Cl=s=>{for(var t=s.length,e=0,i=t-1;i>-1;i--){var r=s[i];r!==0&&(e+=r*Math.pow(256,t-i-1))}return e},En=s=>(255^s)&255,gn=s=>(255^s)+1&255;Sn.exports={encode:Dl,parse:vl}});var Xt=p((fu,_n)=>{"use strict";var Ii=Li(),Vt=require("path").posix,Rn=wn(),vi=Symbol("slurp"),q=Symbol("type"),Pi=class{constructor(t,e,i,r){this.cksumValid=!1,this.needPax=!1,this.nullBlock=!1,this.block=null,this.path=null,this.mode=null,this.uid=null,this.gid=null,this.size=null,this.mtime=null,this.cksum=null,this[q]="0",this.linkpath=null,this.uname=null,this.gname=null,this.devmaj=0,this.devmin=0,this.atime=null,this.ctime=null,Buffer.isBuffer(t)?this.decode(t,e||0,i,r):t&&this.set(t)}decode(t,e,i,r){if(e||(e=0),!t||!(t.length>=e+512))throw new Error("need 512 bytes for header");if(this.path=xt(t,e,100),this.mode=St(t,e+100,8),this.uid=St(t,e+108,8),this.gid=St(t,e+116,8),this.size=St(t,e+124,12),this.mtime=xi(t,e+136,12),this.cksum=St(t,e+148,12),this[vi](i),this[vi](r,!0),this[q]=xt(t,e+156,1),this[q]===""&&(this[q]="0"),this[q]==="0"&&this.path.slice(-1)==="/"&&(this[q]="5"),this[q]==="5"&&(this.size=0),this.linkpath=xt(t,e+157,100),t.slice(e+257,e+265).toString()==="ustar\x0000")if(this.uname=xt(t,e+265,32),this.gname=xt(t,e+297,32),this.devmaj=St(t,e+329,8),this.devmin=St(t,e+337,8),t[e+475]!==0){let o=xt(t,e+345,155);this.path=o+"/"+this.path}else{let o=xt(t,e+345,130);o&&(this.path=o+"/"+this.path),this.atime=xi(t,e+476,12),this.ctime=xi(t,e+488,12)}let n=8*32;for(let o=e;o<e+148;o++)n+=t[o];for(let o=e+156;o<e+512;o++)n+=t[o];this.cksumValid=n===this.cksum,this.cksum===null&&n===8*32&&(this.nullBlock=!0)}[vi](t,e){for(let i in t)t[i]!==null&&t[i]!==void 0&&!(e&&i==="path")&&(this[i]=t[i])}encode(t,e){if(t||(t=this.block=Buffer.alloc(512),e=0),e||(e=0),!(t.length>=e+512))throw new Error("need 512 bytes for header");let i=this.ctime||this.atime?130:155,r=Pl(this.path||"",i),n=r[0],o=r[1];this.needPax=r[2],this.needPax=Ct(t,e,100,n)||this.needPax,this.needPax=wt(t,e+100,8,this.mode)||this.needPax,this.needPax=wt(t,e+108,8,this.uid)||this.needPax,this.needPax=wt(t,e+116,8,this.gid)||this.needPax,this.needPax=wt(t,e+124,12,this.size)||this.needPax,this.needPax=Ci(t,e+136,12,this.mtime)||this.needPax,t[e+156]=this[q].charCodeAt(0),this.needPax=Ct(t,e+157,100,this.linkpath)||this.needPax,t.write("ustar\x0000",e+257,8),this.needPax=Ct(t,e+265,32,this.uname)||this.needPax,this.needPax=Ct(t,e+297,32,this.gname)||this.needPax,this.needPax=wt(t,e+329,8,this.devmaj)||this.needPax,this.needPax=wt(t,e+337,8,this.devmin)||this.needPax,this.needPax=Ct(t,e+345,i,o)||this.needPax,t[e+475]!==0?this.needPax=Ct(t,e+345,155,o)||this.needPax:(this.needPax=Ct(t,e+345,130,o)||this.needPax,this.needPax=Ci(t,e+476,12,this.atime)||this.needPax,this.needPax=Ci(t,e+488,12,this.ctime)||this.needPax);let h=8*32;for(let a=e;a<e+148;a++)h+=t[a];for(let a=e+156;a<e+512;a++)h+=t[a];return this.cksum=h,wt(t,e+148,8,this.cksum),this.cksumValid=!0,this.needPax}set(t){for(let e in t)t[e]!==null&&t[e]!==void 0&&(this[e]=t[e])}get type(){return Ii.name.get(this[q])||this[q]}get typeKey(){return this[q]}set type(t){Ii.code.has(t)?this[q]=Ii.code.get(t):this[q]=t}},Pl=(s,t)=>{let i=s,r="",n,o=Vt.parse(s).root||".";if(Buffer.byteLength(i)<100)n=[i,r,!1];else{r=Vt.dirname(i),i=Vt.basename(i);do Buffer.byteLength(i)<=100&&Buffer.byteLength(r)<=t?n=[i,r,!1]:Buffer.byteLength(i)>100&&Buffer.byteLength(r)<=t?n=[i.slice(0,100-1),r,!0]:(i=Vt.join(Vt.basename(r),i),r=Vt.dirname(r));while(r!==o&&!n);n||(n=[s.slice(0,100-1),"",!0])}return n},xt=(s,t,e)=>s.slice(t,t+e).toString("utf8").replace(/\0.*/,""),xi=(s,t,e)=>Fl(St(s,t,e)),Fl=s=>s===null?null:new Date(s*1e3),St=(s,t,e)=>s[t]&128?Rn.parse(s.slice(t,t+e)):Bl(s,t,e),Ml=s=>isNaN(s)?null:s,Bl=(s,t,e)=>Ml(parseInt(s.slice(t,t+e).toString("utf8").replace(/\0.*$/,"").trim(),8)),kl={12:8589934591,8:2097151},wt=(s,t,e,i)=>i===null?!1:i>kl[e]||i<0?(Rn.encode(i,s.slice(t,t+e)),!0):(ql(s,t,e,i),!1),ql=(s,t,e,i)=>s.write(Ul(i,e),t,e,"ascii"),Ul=(s,t)=>zl(Math.floor(s).toString(8),t),zl=(s,t)=>(s.length===t-1?s:new Array(t-s.length-1).join("0")+s+" ")+"\0",Ci=(s,t,e,i)=>i===null?!1:wt(s,t,e,i.getTime()/1e3),Hl=new Array(156).join("\0"),Ct=(s,t,e,i)=>i===null?!1:(s.write(i+Hl,t,e,"utf8"),i.length!==Buffer.byteLength(i)||i.length>e);_n.exports=Pi});var ns=p((du,bn)=>{"use strict";var Gl=Xt(),Wl=require("path"),Oe=class{constructor(t,e){this.atime=t.atime||null,this.charset=t.charset||null,this.comment=t.comment||null,this.ctime=t.ctime||null,this.gid=t.gid||null,this.gname=t.gname||null,this.linkpath=t.linkpath||null,this.mtime=t.mtime||null,this.path=t.path||null,this.size=t.size||null,this.uid=t.uid||null,this.uname=t.uname||null,this.dev=t.dev||null,this.ino=t.ino||null,this.nlink=t.nlink||null,this.global=e||!1}encode(){let t=this.encodeBody();if(t==="")return null;let e=Buffer.byteLength(t),i=512*Math.ceil(1+e/512),r=Buffer.allocUnsafe(i);for(let n=0;n<512;n++)r[n]=0;new Gl({path:("PaxHeader/"+Wl.basename(this.path)).slice(0,99),mode:this.mode||420,uid:this.uid||null,gid:this.gid||null,size:e,mtime:this.mtime||null,type:this.global?"GlobalExtendedHeader":"ExtendedHeader",linkpath:"",uname:this.uname||"",gname:this.gname||"",devmaj:0,devmin:0,atime:this.atime||null,ctime:this.ctime||null}).encode(r),r.write(t,512,e,"utf8");for(let n=e+512;n<r.length;n++)r[n]=0;return r}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]===null||this[t]===void 0)return"";let e=this[t]instanceof Date?this[t].getTime()/1e3:this[t],i=" "+(t==="dev"||t==="ino"||t==="nlink"?"SCHILY.":"")+t+"="+e+`
|
|
`,r=Buffer.byteLength(i),n=Math.floor(Math.log(r)/Math.log(10))+1;return r+n>=Math.pow(10,n)&&(n+=1),n+r+i}};Oe.parse=(s,t,e)=>new Oe(Yl(jl(s),t),e);var Yl=(s,t)=>t?Object.keys(s).reduce((e,i)=>(e[i]=s[i],e),t):s,jl=s=>s.replace(/\n$/,"").split(`
|
|
`).reduce($l,Object.create(null)),$l=(s,t)=>{let e=parseInt(t,10);if(e!==Buffer.byteLength(t)+1)return s;t=t.slice((e+" ").length);let i=t.split("="),r=i.shift().replace(/^SCHILY\.(dev|ino|nlink)/,"$1");if(!r)return s;let n=i.join("=");return s[r]=/^([A-Z]+\.)?([mac]|birth|creation)time$/.test(r)?new Date(n*1e3):/^[0-9]+$/.test(n)?+n:n,s};bn.exports=Oe});var Jt=p((mu,On)=>{On.exports=s=>{let t=s.length-1,e=-1;for(;t>-1&&s.charAt(t)==="/";)e=t,t--;return e===-1?s:s.slice(0,e)}});var os=p((pu,Tn)=>{"use strict";Tn.exports=s=>class extends s{warn(t,e,i={}){this.file&&(i.file=this.file),this.cwd&&(i.cwd=this.cwd),i.code=e instanceof Error&&e.code||t,i.tarCode=t,!this.strict&&i.recoverable!==!1?(e instanceof Error&&(i=Object.assign(e,i),e=e.message),this.emit("warn",i.tarCode,e,i)):e instanceof Error?this.emit("error",Object.assign(e,i)):this.emit("error",Object.assign(new Error(`${t}: ${e}`),i))}}});var Mi=p((Eu,An)=>{"use strict";var hs=["|","<",">","?",":"],Fi=hs.map(s=>String.fromCharCode(61440+s.charCodeAt(0))),Zl=new Map(hs.map((s,t)=>[s,Fi[t]])),Kl=new Map(Fi.map((s,t)=>[s,hs[t]]));An.exports={encode:s=>hs.reduce((t,e)=>t.split(e).join(Zl.get(e)),s),decode:s=>Fi.reduce((t,e)=>t.split(e).join(Kl.get(e)),s)}});var Bi=p((gu,Dn)=>{var{isAbsolute:Vl,parse:Nn}=require("path").win32;Dn.exports=s=>{let t="",e=Nn(s);for(;Vl(s)||e.root;){let i=s.charAt(0)==="/"&&s.slice(0,4)!=="//?/"?"/":e.root;s=s.slice(i.length),t+=i,e=Nn(s)}return[t,s]}});var In=p((Su,Ln)=>{"use strict";Ln.exports=(s,t,e)=>(s&=4095,e&&(s=(s|384)&-19),t&&(s&256&&(s|=64),s&32&&(s|=8),s&4&&(s|=1)),s)});var $i=p((_u,Wn)=>{"use strict";var{Minipass:Bn}=Ze(),kn=ns(),qn=Xt(),X=require("fs"),vn=require("path"),V=Kt(),Xl=Jt(),Un=(s,t)=>t?(s=V(s).replace(/^\.(\/|$)/,""),Xl(t)+"/"+s):V(s),Jl=16*1024*1024,xn=Symbol("process"),Cn=Symbol("file"),Pn=Symbol("directory"),qi=Symbol("symlink"),Fn=Symbol("hardlink"),Te=Symbol("header"),ls=Symbol("read"),Ui=Symbol("lstat"),as=Symbol("onlstat"),zi=Symbol("onread"),Hi=Symbol("onreadlink"),Gi=Symbol("openfile"),Wi=Symbol("onopenfile"),Rt=Symbol("close"),cs=Symbol("mode"),Yi=Symbol("awaitDrain"),ki=Symbol("ondrain"),J=Symbol("prefix"),Mn=Symbol("hadError"),zn=os(),Ql=Mi(),Hn=Bi(),Gn=In(),us=zn(class extends Bn{constructor(t,e){if(e=e||{},super(e),typeof t!="string")throw new TypeError("path is required");this.path=V(t),this.portable=!!e.portable,this.myuid=process.getuid&&process.getuid()||0,this.myuser=process.env.USER||"",this.maxReadSize=e.maxReadSize||Jl,this.linkCache=e.linkCache||new Map,this.statCache=e.statCache||new Map,this.preservePaths=!!e.preservePaths,this.cwd=V(e.cwd||process.cwd()),this.strict=!!e.strict,this.noPax=!!e.noPax,this.noMtime=!!e.noMtime,this.mtime=e.mtime||null,this.prefix=e.prefix?V(e.prefix):null,this.fd=null,this.blockLen=null,this.blockRemain=null,this.buf=null,this.offset=null,this.length=null,this.pos=null,this.remain=null,typeof e.onwarn=="function"&&this.on("warn",e.onwarn);let i=!1;if(!this.preservePaths){let[r,n]=Hn(this.path);r&&(this.path=n,i=r)}this.win32=!!e.win32||process.platform==="win32",this.win32&&(this.path=Ql.decode(this.path.replace(/\\/g,"/")),t=t.replace(/\\/g,"/")),this.absolute=V(e.absolute||vn.resolve(this.cwd,t)),this.path===""&&(this.path="./"),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.statCache.has(this.absolute)?this[as](this.statCache.get(this.absolute)):this[Ui]()}emit(t,...e){return t==="error"&&(this[Mn]=!0),super.emit(t,...e)}[Ui](){X.lstat(this.absolute,(t,e)=>{if(t)return this.emit("error",t);this[as](e)})}[as](t){this.statCache.set(this.absolute,t),this.stat=t,t.isFile()||(t.size=0),this.type=ea(t),this.emit("stat",t),this[xn]()}[xn](){switch(this.type){case"File":return this[Cn]();case"Directory":return this[Pn]();case"SymbolicLink":return this[qi]();default:return this.end()}}[cs](t){return Gn(t,this.type==="Directory",this.portable)}[J](t){return Un(t,this.prefix)}[Te](){this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.header=new qn({path:this[J](this.path),linkpath:this.type==="Link"?this[J](this.linkpath):this.linkpath,mode:this[cs](this.stat.mode),uid:this.portable?null:this.stat.uid,gid:this.portable?null:this.stat.gid,size:this.stat.size,mtime:this.noMtime?null:this.mtime||this.stat.mtime,type:this.type,uname:this.portable?null:this.stat.uid===this.myuid?this.myuser:"",atime:this.portable?null:this.stat.atime,ctime:this.portable?null:this.stat.ctime}),this.header.encode()&&!this.noPax&&super.write(new kn({atime:this.portable?null:this.header.atime,ctime:this.portable?null:this.header.ctime,gid:this.portable?null:this.header.gid,mtime:this.noMtime?null:this.mtime||this.header.mtime,path:this[J](this.path),linkpath:this.type==="Link"?this[J](this.linkpath):this.linkpath,size:this.header.size,uid:this.portable?null:this.header.uid,uname:this.portable?null:this.header.uname,dev:this.portable?null:this.stat.dev,ino:this.portable?null:this.stat.ino,nlink:this.portable?null:this.stat.nlink}).encode()),super.write(this.header.block)}[Pn](){this.path.slice(-1)!=="/"&&(this.path+="/"),this.stat.size=0,this[Te](),this.end()}[qi](){X.readlink(this.absolute,(t,e)=>{if(t)return this.emit("error",t);this[Hi](e)})}[Hi](t){this.linkpath=V(t),this[Te](),this.end()}[Fn](t){this.type="Link",this.linkpath=V(vn.relative(this.cwd,t)),this.stat.size=0,this[Te](),this.end()}[Cn](){if(this.stat.nlink>1){let t=this.stat.dev+":"+this.stat.ino;if(this.linkCache.has(t)){let e=this.linkCache.get(t);if(e.indexOf(this.cwd)===0)return this[Fn](e)}this.linkCache.set(t,this.absolute)}if(this[Te](),this.stat.size===0)return this.end();this[Gi]()}[Gi](){X.open(this.absolute,"r",(t,e)=>{if(t)return this.emit("error",t);this[Wi](e)})}[Wi](t){if(this.fd=t,this[Mn])return this[Rt]();this.blockLen=512*Math.ceil(this.stat.size/512),this.blockRemain=this.blockLen;let e=Math.min(this.blockLen,this.maxReadSize);this.buf=Buffer.allocUnsafe(e),this.offset=0,this.pos=0,this.remain=this.stat.size,this.length=this.buf.length,this[ls]()}[ls](){let{fd:t,buf:e,offset:i,length:r,pos:n}=this;X.read(t,e,i,r,n,(o,h)=>{if(o)return this[Rt](()=>this.emit("error",o));this[zi](h)})}[Rt](t){X.close(this.fd,t)}[zi](t){if(t<=0&&this.remain>0){let r=new Error("encountered unexpected EOF");return r.path=this.absolute,r.syscall="read",r.code="EOF",this[Rt](()=>this.emit("error",r))}if(t>this.remain){let r=new Error("did not encounter expected EOF");return r.path=this.absolute,r.syscall="read",r.code="EOF",this[Rt](()=>this.emit("error",r))}if(t===this.remain)for(let r=t;r<this.length&&t<this.blockRemain;r++)this.buf[r+this.offset]=0,t++,this.remain++;let e=this.offset===0&&t===this.buf.length?this.buf:this.buf.slice(this.offset,this.offset+t);this.write(e)?this[ki]():this[Yi](()=>this[ki]())}[Yi](t){this.once("drain",t)}write(t){if(this.blockRemain<t.length){let e=new Error("writing more data than expected");return e.path=this.absolute,this.emit("error",e)}return this.remain-=t.length,this.blockRemain-=t.length,this.pos+=t.length,this.offset+=t.length,super.write(t)}[ki](){if(!this.remain)return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),this[Rt](t=>t?this.emit("error",t):this.end());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[ls]()}}),ji=class extends us{[Ui](){this[as](X.lstatSync(this.absolute))}[qi](){this[Hi](X.readlinkSync(this.absolute))}[Gi](){this[Wi](X.openSync(this.absolute,"r"))}[ls](){let t=!0;try{let{fd:e,buf:i,offset:r,length:n,pos:o}=this,h=X.readSync(e,i,r,n,o);this[zi](h),t=!1}finally{if(t)try{this[Rt](()=>{})}catch{}}}[Yi](t){t()}[Rt](t){X.closeSync(this.fd),t()}},ta=zn(class extends Bn{constructor(t,e){e=e||{},super(e),this.preservePaths=!!e.preservePaths,this.portable=!!e.portable,this.strict=!!e.strict,this.noPax=!!e.noPax,this.noMtime=!!e.noMtime,this.readEntry=t,this.type=t.type,this.type==="Directory"&&this.portable&&(this.noMtime=!0),this.prefix=e.prefix||null,this.path=V(t.path),this.mode=this[cs](t.mode),this.uid=this.portable?null:t.uid,this.gid=this.portable?null:t.gid,this.uname=this.portable?null:t.uname,this.gname=this.portable?null:t.gname,this.size=t.size,this.mtime=this.noMtime?null:e.mtime||t.mtime,this.atime=this.portable?null:t.atime,this.ctime=this.portable?null:t.ctime,this.linkpath=V(t.linkpath),typeof e.onwarn=="function"&&this.on("warn",e.onwarn);let i=!1;if(!this.preservePaths){let[r,n]=Hn(this.path);r&&(this.path=n,i=r)}this.remain=t.size,this.blockRemain=t.startBlockSize,this.header=new qn({path:this[J](this.path),linkpath:this.type==="Link"?this[J](this.linkpath):this.linkpath,mode:this.mode,uid:this.portable?null:this.uid,gid:this.portable?null:this.gid,size:this.size,mtime:this.noMtime?null:this.mtime,type:this.type,uname:this.portable?null:this.uname,atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime}),i&&this.warn("TAR_ENTRY_INFO",`stripping ${i} from absolute path`,{entry:this,path:i+this.path}),this.header.encode()&&!this.noPax&&super.write(new kn({atime:this.portable?null:this.atime,ctime:this.portable?null:this.ctime,gid:this.portable?null:this.gid,mtime:this.noMtime?null:this.mtime,path:this[J](this.path),linkpath:this.type==="Link"?this[J](this.linkpath):this.linkpath,size:this.size,uid:this.portable?null:this.uid,uname:this.portable?null:this.uname,dev:this.portable?null:this.readEntry.dev,ino:this.portable?null:this.readEntry.ino,nlink:this.portable?null:this.readEntry.nlink}).encode()),super.write(this.header.block),t.pipe(this)}[J](t){return Un(t,this.prefix)}[cs](t){return Gn(t,this.type==="Directory",this.portable)}write(t){let e=t.length;if(e>this.blockRemain)throw new Error("writing more to entry than is appropriate");return this.blockRemain-=e,super.write(t)}end(){return this.blockRemain&&super.write(Buffer.alloc(this.blockRemain)),super.end()}});us.Sync=ji;us.Tar=ta;var ea=s=>s.isFile()?"File":s.isDirectory()?"Directory":s.isSymbolicLink()?"SymbolicLink":"Unsupported";Wn.exports=us});var jn=p((bu,Yn)=>{"use strict";Yn.exports=function(s){s.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}});var Zi=p((Ou,$n)=>{"use strict";$n.exports=E;E.Node=Pt;E.create=E;function E(s){var t=this;if(t instanceof E||(t=new E),t.tail=null,t.head=null,t.length=0,s&&typeof s.forEach=="function")s.forEach(function(r){t.push(r)});else if(arguments.length>0)for(var e=0,i=arguments.length;e<i;e++)t.push(arguments[e]);return t}E.prototype.removeNode=function(s){if(s.list!==this)throw new Error("removing node which does not belong to this list");var t=s.next,e=s.prev;return t&&(t.prev=e),e&&(e.next=t),s===this.head&&(this.head=t),s===this.tail&&(this.tail=e),s.list.length--,s.next=null,s.prev=null,s.list=null,t};E.prototype.unshiftNode=function(s){if(s!==this.head){s.list&&s.list.removeNode(s);var t=this.head;s.list=this,s.next=t,t&&(t.prev=s),this.head=s,this.tail||(this.tail=s),this.length++}};E.prototype.pushNode=function(s){if(s!==this.tail){s.list&&s.list.removeNode(s);var t=this.tail;s.list=this,s.prev=t,t&&(t.next=s),this.tail=s,this.head||(this.head=s),this.length++}};E.prototype.push=function(){for(var s=0,t=arguments.length;s<t;s++)ia(this,arguments[s]);return this.length};E.prototype.unshift=function(){for(var s=0,t=arguments.length;s<t;s++)ra(this,arguments[s]);return this.length};E.prototype.pop=function(){if(this.tail){var s=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,s}};E.prototype.shift=function(){if(this.head){var s=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,s}};E.prototype.forEach=function(s,t){t=t||this;for(var e=this.head,i=0;e!==null;i++)s.call(t,e.value,i,this),e=e.next};E.prototype.forEachReverse=function(s,t){t=t||this;for(var e=this.tail,i=this.length-1;e!==null;i--)s.call(t,e.value,i,this),e=e.prev};E.prototype.get=function(s){for(var t=0,e=this.head;e!==null&&t<s;t++)e=e.next;if(t===s&&e!==null)return e.value};E.prototype.getReverse=function(s){for(var t=0,e=this.tail;e!==null&&t<s;t++)e=e.prev;if(t===s&&e!==null)return e.value};E.prototype.map=function(s,t){t=t||this;for(var e=new E,i=this.head;i!==null;)e.push(s.call(t,i.value,this)),i=i.next;return e};E.prototype.mapReverse=function(s,t){t=t||this;for(var e=new E,i=this.tail;i!==null;)e.push(s.call(t,i.value,this)),i=i.prev;return e};E.prototype.reduce=function(s,t){var e,i=this.head;if(arguments.length>1)e=t;else if(this.head)i=this.head.next,e=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var r=0;i!==null;r++)e=s(e,i.value,r),i=i.next;return e};E.prototype.reduceReverse=function(s,t){var e,i=this.tail;if(arguments.length>1)e=t;else if(this.tail)i=this.tail.prev,e=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var r=this.length-1;i!==null;r--)e=s(e,i.value,r),i=i.prev;return e};E.prototype.toArray=function(){for(var s=new Array(this.length),t=0,e=this.head;e!==null;t++)s[t]=e.value,e=e.next;return s};E.prototype.toArrayReverse=function(){for(var s=new Array(this.length),t=0,e=this.tail;e!==null;t++)s[t]=e.value,e=e.prev;return s};E.prototype.slice=function(s,t){t=t||this.length,t<0&&(t+=this.length),s=s||0,s<0&&(s+=this.length);var e=new E;if(t<s||t<0)return e;s<0&&(s=0),t>this.length&&(t=this.length);for(var i=0,r=this.head;r!==null&&i<s;i++)r=r.next;for(;r!==null&&i<t;i++,r=r.next)e.push(r.value);return e};E.prototype.sliceReverse=function(s,t){t=t||this.length,t<0&&(t+=this.length),s=s||0,s<0&&(s+=this.length);var e=new E;if(t<s||t<0)return e;s<0&&(s=0),t>this.length&&(t=this.length);for(var i=this.length,r=this.tail;r!==null&&i>t;i--)r=r.prev;for(;r!==null&&i>s;i--,r=r.prev)e.push(r.value);return e};E.prototype.splice=function(s,t,...e){s>this.length&&(s=this.length-1),s<0&&(s=this.length+s);for(var i=0,r=this.head;r!==null&&i<s;i++)r=r.next;for(var n=[],i=0;r&&i<t;i++)n.push(r.value),r=this.removeNode(r);r===null&&(r=this.tail),r!==this.head&&r!==this.tail&&(r=r.prev);for(var i=0;i<e.length;i++)r=sa(this,r,e[i]);return n};E.prototype.reverse=function(){for(var s=this.head,t=this.tail,e=s;e!==null;e=e.prev){var i=e.prev;e.prev=e.next,e.next=i}return this.head=t,this.tail=s,this};function sa(s,t,e){var i=t===s.head?new Pt(e,null,t,s):new Pt(e,t,t.next,s);return i.next===null&&(s.tail=i),i.prev===null&&(s.head=i),s.length++,i}function ia(s,t){s.tail=new Pt(t,s.tail,null,s),s.head||(s.head=s.tail),s.length++}function ra(s,t){s.head=new Pt(t,null,s.head,s),s.tail||(s.tail=s.head),s.length++}function Pt(s,t,e,i){if(!(this instanceof Pt))return new Pt(s,t,e,i);this.list=i,this.value=s,t?(t.next=this,this.prev=t):this.prev=null,e?(e.prev=this,this.next=e):this.next=null}try{jn()(E)}catch{}});var ws=p((Au,to)=>{"use strict";var gs=class{constructor(t,e){this.path=t||"./",this.absolute=e,this.entry=null,this.stat=null,this.readdir=null,this.pending=!1,this.ignore=!1,this.piped=!1}},{Minipass:na}=Ze(),oa=Ai(),ha=is(),ir=$i(),la=ir.Sync,aa=ir.Tar,ca=Zi(),Zn=Buffer.alloc(1024),ms=Symbol("onStat"),fs=Symbol("ended"),Q=Symbol("queue"),Qt=Symbol("current"),Ft=Symbol("process"),ds=Symbol("processing"),Kn=Symbol("processJob"),tt=Symbol("jobs"),Ki=Symbol("jobDone"),ps=Symbol("addFSEntry"),Vn=Symbol("addTarEntry"),Qi=Symbol("stat"),tr=Symbol("readdir"),ys=Symbol("onreaddir"),Es=Symbol("pipe"),Xn=Symbol("entry"),Vi=Symbol("entryOpt"),er=Symbol("writeEntryClass"),Qn=Symbol("write"),Xi=Symbol("ondrain"),Ss=require("fs"),Jn=require("path"),ua=os(),Ji=Kt(),rr=ua(class extends na{constructor(t){super(t),t=t||Object.create(null),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=Ji(t.prefix||""),this.linkCache=t.linkCache||new Map,this.statCache=t.statCache||new Map,this.readdirCache=t.readdirCache||new Map,this[er]=ir,typeof t.onwarn=="function"&&this.on("warn",t.onwarn),this.portable=!!t.portable,this.zip=null,t.gzip?(typeof t.gzip!="object"&&(t.gzip={}),this.portable&&(t.gzip.portable=!0),this.zip=new oa.Gzip(t.gzip),this.zip.on("data",e=>super.write(e)),this.zip.on("end",e=>super.end()),this.zip.on("drain",e=>this[Xi]()),this.on("resume",e=>this.zip.resume())):this.on("drain",this[Xi]),this.noDirRecurse=!!t.noDirRecurse,this.follow=!!t.follow,this.noMtime=!!t.noMtime,this.mtime=t.mtime||null,this.filter=typeof t.filter=="function"?t.filter:e=>!0,this[Q]=new ca,this[tt]=0,this.jobs=+t.jobs||4,this[ds]=!1,this[fs]=!1}[Qn](t){return super.write(t)}add(t){return this.write(t),this}end(t){return t&&this.write(t),this[fs]=!0,this[Ft](),this}write(t){if(this[fs])throw new Error("write after end");return t instanceof ha?this[Vn](t):this[ps](t),this.flowing}[Vn](t){let e=Ji(Jn.resolve(this.cwd,t.path));if(!this.filter(t.path,t))t.resume();else{let i=new gs(t.path,e,!1);i.entry=new aa(t,this[Vi](i)),i.entry.on("end",r=>this[Ki](i)),this[tt]+=1,this[Q].push(i)}this[Ft]()}[ps](t){let e=Ji(Jn.resolve(this.cwd,t));this[Q].push(new gs(t,e)),this[Ft]()}[Qi](t){t.pending=!0,this[tt]+=1;let e=this.follow?"stat":"lstat";Ss[e](t.absolute,(i,r)=>{t.pending=!1,this[tt]-=1,i?this.emit("error",i):this[ms](t,r)})}[ms](t,e){this.statCache.set(t.absolute,e),t.stat=e,this.filter(t.path,e)||(t.ignore=!0),this[Ft]()}[tr](t){t.pending=!0,this[tt]+=1,Ss.readdir(t.absolute,(e,i)=>{if(t.pending=!1,this[tt]-=1,e)return this.emit("error",e);this[ys](t,i)})}[ys](t,e){this.readdirCache.set(t.absolute,e),t.readdir=e,this[Ft]()}[Ft](){if(!this[ds]){this[ds]=!0;for(let t=this[Q].head;t!==null&&this[tt]<this.jobs;t=t.next)if(this[Kn](t.value),t.value.ignore){let e=t.next;this[Q].removeNode(t),t.next=e}this[ds]=!1,this[fs]&&!this[Q].length&&this[tt]===0&&(this.zip?this.zip.end(Zn):(super.write(Zn),super.end()))}}get[Qt](){return this[Q]&&this[Q].head&&this[Q].head.value}[Ki](t){this[Q].shift(),this[tt]-=1,this[Ft]()}[Kn](t){if(!t.pending){if(t.entry){t===this[Qt]&&!t.piped&&this[Es](t);return}if(t.stat||(this.statCache.has(t.absolute)?this[ms](t,this.statCache.get(t.absolute)):this[Qi](t)),!!t.stat&&!t.ignore&&!(!this.noDirRecurse&&t.stat.isDirectory()&&!t.readdir&&(this.readdirCache.has(t.absolute)?this[ys](t,this.readdirCache.get(t.absolute)):this[tr](t),!t.readdir))){if(t.entry=this[Xn](t),!t.entry){t.ignore=!0;return}t===this[Qt]&&!t.piped&&this[Es](t)}}}[Vi](t){return{onwarn:(e,i,r)=>this.warn(e,i,r),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}}[Xn](t){this[tt]+=1;try{return new this[er](t.path,this[Vi](t)).on("end",()=>this[Ki](t)).on("error",e=>this.emit("error",e))}catch(e){this.emit("error",e)}}[Xi](){this[Qt]&&this[Qt].entry&&this[Qt].entry.resume()}[Es](t){t.piped=!0,t.readdir&&t.readdir.forEach(r=>{let n=t.path,o=n==="./"?"":n.replace(/\/*$/,"/");this[ps](o+r)});let e=t.entry,i=this.zip;i?e.on("data",r=>{i.write(r)||e.pause()}):e.on("data",r=>{super.write(r)||e.pause()})}pause(){return this.zip&&this.zip.pause(),super.pause()}}),sr=class extends rr{constructor(t){super(t),this[er]=la}pause(){}resume(){}[Qi](t){let e=this.follow?"statSync":"lstatSync";this[ms](t,Ss[e](t.absolute))}[tr](t,e){this[ys](t,Ss.readdirSync(t.absolute))}[Es](t){let e=t.entry,i=this.zip;t.readdir&&t.readdir.forEach(r=>{let n=t.path,o=n==="./"?"":n.replace(/\/*$/,"/");this[ps](o+r)}),i?e.on("data",r=>{i.write(r)}):e.on("data",r=>{super[Qn](r)})}};rr.Sync=sr;to.exports=rr});var he=p(Ne=>{"use strict";var fa=ci(),da=require("events").EventEmitter,M=require("fs"),hr=M.writev;if(!hr){let s=process.binding("fs"),t=s.FSReqWrap||s.FSReqCallback;hr=(e,i,r,n)=>{let o=(a,l)=>n(a,l,i),h=new t;h.oncomplete=o,s.writeBuffers(e,i,r,h)}}var ne=Symbol("_autoClose"),$=Symbol("_close"),Ae=Symbol("_ended"),S=Symbol("_fd"),eo=Symbol("_finished"),bt=Symbol("_flags"),nr=Symbol("_flush"),lr=Symbol("_handleChunk"),ar=Symbol("_makeBuf"),Ts=Symbol("_mode"),Rs=Symbol("_needDrain"),ie=Symbol("_onerror"),oe=Symbol("_onopen"),or=Symbol("_onread"),ee=Symbol("_onwrite"),Ot=Symbol("_open"),ft=Symbol("_path"),Mt=Symbol("_pos"),et=Symbol("_queue"),se=Symbol("_read"),so=Symbol("_readSize"),_t=Symbol("_reading"),_s=Symbol("_remain"),io=Symbol("_size"),bs=Symbol("_write"),te=Symbol("_writing"),Os=Symbol("_defaultFlag"),re=Symbol("_errored"),As=class extends fa{constructor(t,e){if(e=e||{},super(e),this.readable=!0,this.writable=!1,typeof t!="string")throw new TypeError("path must be a string");this[re]=!1,this[S]=typeof e.fd=="number"?e.fd:null,this[ft]=t,this[so]=e.readSize||16*1024*1024,this[_t]=!1,this[io]=typeof e.size=="number"?e.size:1/0,this[_s]=this[io],this[ne]=typeof e.autoClose=="boolean"?e.autoClose:!0,typeof this[S]=="number"?this[se]():this[Ot]()}get fd(){return this[S]}get path(){return this[ft]}write(){throw new TypeError("this is a readable stream")}end(){throw new TypeError("this is a readable stream")}[Ot](){M.open(this[ft],"r",(t,e)=>this[oe](t,e))}[oe](t,e){t?this[ie](t):(this[S]=e,this.emit("open",e),this[se]())}[ar](){return Buffer.allocUnsafe(Math.min(this[so],this[_s]))}[se](){if(!this[_t]){this[_t]=!0;let t=this[ar]();if(t.length===0)return process.nextTick(()=>this[or](null,0,t));M.read(this[S],t,0,t.length,null,(e,i,r)=>this[or](e,i,r))}}[or](t,e,i){this[_t]=!1,t?this[ie](t):this[lr](e,i)&&this[se]()}[$](){if(this[ne]&&typeof this[S]=="number"){let t=this[S];this[S]=null,M.close(t,e=>e?this.emit("error",e):this.emit("close"))}}[ie](t){this[_t]=!0,this[$](),this.emit("error",t)}[lr](t,e){let i=!1;return this[_s]-=t,t>0&&(i=super.write(t<e.length?e.slice(0,t):e)),(t===0||this[_s]<=0)&&(i=!1,this[$](),super.end()),i}emit(t,e){switch(t){case"prefinish":case"finish":break;case"drain":typeof this[S]=="number"&&this[se]();break;case"error":return this[re]?void 0:(this[re]=!0,super.emit(t,e));default:return super.emit(t,e)}}},cr=class extends As{[Ot](){let t=!0;try{this[oe](null,M.openSync(this[ft],"r")),t=!1}finally{t&&this[$]()}}[se](){let t=!0;try{if(!this[_t]){this[_t]=!0;do{let e=this[ar](),i=e.length===0?0:M.readSync(this[S],e,0,e.length,null);if(!this[lr](i,e))break}while(!0);this[_t]=!1}t=!1}finally{t&&this[$]()}}[$](){if(this[ne]&&typeof this[S]=="number"){let t=this[S];this[S]=null,M.closeSync(t),this.emit("close")}}},Ns=class extends da{constructor(t,e){e=e||{},super(e),this.readable=!1,this.writable=!0,this[re]=!1,this[te]=!1,this[Ae]=!1,this[Rs]=!1,this[et]=[],this[ft]=t,this[S]=typeof e.fd=="number"?e.fd:null,this[Ts]=e.mode===void 0?438:e.mode,this[Mt]=typeof e.start=="number"?e.start:null,this[ne]=typeof e.autoClose=="boolean"?e.autoClose:!0;let i=this[Mt]!==null?"r+":"w";this[Os]=e.flags===void 0,this[bt]=this[Os]?i:e.flags,this[S]===null&&this[Ot]()}emit(t,e){if(t==="error"){if(this[re])return;this[re]=!0}return super.emit(t,e)}get fd(){return this[S]}get path(){return this[ft]}[ie](t){this[$](),this[te]=!0,this.emit("error",t)}[Ot](){M.open(this[ft],this[bt],this[Ts],(t,e)=>this[oe](t,e))}[oe](t,e){this[Os]&&this[bt]==="r+"&&t&&t.code==="ENOENT"?(this[bt]="w",this[Ot]()):t?this[ie](t):(this[S]=e,this.emit("open",e),this[nr]())}end(t,e){return t&&this.write(t,e),this[Ae]=!0,!this[te]&&!this[et].length&&typeof this[S]=="number"&&this[ee](null,0),this}write(t,e){return typeof t=="string"&&(t=Buffer.from(t,e)),this[Ae]?(this.emit("error",new Error("write() after end()")),!1):this[S]===null||this[te]||this[et].length?(this[et].push(t),this[Rs]=!0,!1):(this[te]=!0,this[bs](t),!0)}[bs](t){M.write(this[S],t,0,t.length,this[Mt],(e,i)=>this[ee](e,i))}[ee](t,e){t?this[ie](t):(this[Mt]!==null&&(this[Mt]+=e),this[et].length?this[nr]():(this[te]=!1,this[Ae]&&!this[eo]?(this[eo]=!0,this[$](),this.emit("finish")):this[Rs]&&(this[Rs]=!1,this.emit("drain"))))}[nr](){if(this[et].length===0)this[Ae]&&this[ee](null,0);else if(this[et].length===1)this[bs](this[et].pop());else{let t=this[et];this[et]=[],hr(this[S],t,this[Mt],(e,i)=>this[ee](e,i))}}[$](){if(this[ne]&&typeof this[S]=="number"){let t=this[S];this[S]=null,M.close(t,e=>e?this.emit("error",e):this.emit("close"))}}},ur=class extends Ns{[Ot](){let t;if(this[Os]&&this[bt]==="r+")try{t=M.openSync(this[ft],this[bt],this[Ts])}catch(e){if(e.code==="ENOENT")return this[bt]="w",this[Ot]();throw e}else t=M.openSync(this[ft],this[bt],this[Ts]);this[oe](null,t)}[$](){if(this[ne]&&typeof this[S]=="number"){let t=this[S];this[S]=null,M.closeSync(t),this.emit("close")}}[bs](t){let e=!0;try{this[ee](null,M.writeSync(this[S],t,0,t.length,this[Mt])),e=!1}finally{if(e)try{this[$]()}catch{}}}};Ne.ReadStream=As;Ne.ReadStreamSync=cr;Ne.WriteStream=Ns;Ne.WriteStreamSync=ur});var Ps=p((Lu,uo)=>{"use strict";var ma=os(),pa=Xt(),ya=require("events"),Ea=Zi(),ga=1024*1024,Sa=is(),ro=ns(),wa=Ai(),{nextTick:Ra}=require("process"),fr=Buffer.from([31,139]),H=Symbol("state"),Bt=Symbol("writeEntry"),dt=Symbol("readEntry"),dr=Symbol("nextEntry"),no=Symbol("processEntry"),G=Symbol("extendedHeader"),De=Symbol("globalExtendedHeader"),Tt=Symbol("meta"),oo=Symbol("emitMeta"),_=Symbol("buffer"),mt=Symbol("queue"),kt=Symbol("ended"),ho=Symbol("emittedEnd"),qt=Symbol("emit"),B=Symbol("unzip"),Ds=Symbol("consumeChunk"),Ls=Symbol("consumeChunkSub"),mr=Symbol("consumeBody"),lo=Symbol("consumeMeta"),ao=Symbol("consumeHeader"),Is=Symbol("consuming"),pr=Symbol("bufferConcat"),yr=Symbol("maybeEnd"),Le=Symbol("writing"),At=Symbol("aborted"),vs=Symbol("onDone"),Ut=Symbol("sawValidEntry"),xs=Symbol("sawNullBlock"),Cs=Symbol("sawEOF"),co=Symbol("closeStream"),_a=s=>!0;uo.exports=ma(class extends ya{constructor(t){t=t||{},super(t),this.file=t.file||"",this[Ut]=null,this.on(vs,e=>{(this[H]==="begin"||this[Ut]===!1)&&this.warn("TAR_BAD_ARCHIVE","Unrecognized archive format")}),t.ondone?this.on(vs,t.ondone):this.on(vs,e=>{this.emit("prefinish"),this.emit("finish"),this.emit("end")}),this.strict=!!t.strict,this.maxMetaEntrySize=t.maxMetaEntrySize||ga,this.filter=typeof t.filter=="function"?t.filter:_a,this.writable=!0,this.readable=!1,this[mt]=new Ea,this[_]=null,this[dt]=null,this[Bt]=null,this[H]="begin",this[Tt]="",this[G]=null,this[De]=null,this[kt]=!1,this[B]=null,this[At]=!1,this[xs]=!1,this[Cs]=!1,this.on("end",()=>this[co]()),typeof t.onwarn=="function"&&this.on("warn",t.onwarn),typeof t.onentry=="function"&&this.on("entry",t.onentry)}[ao](t,e){this[Ut]===null&&(this[Ut]=!1);let i;try{i=new pa(t,e,this[G],this[De])}catch(r){return this.warn("TAR_ENTRY_INVALID",r)}if(i.nullBlock)this[xs]?(this[Cs]=!0,this[H]==="begin"&&(this[H]="header"),this[qt]("eof")):(this[xs]=!0,this[qt]("nullBlock"));else if(this[xs]=!1,!i.cksumValid)this.warn("TAR_ENTRY_INVALID","checksum failure",{header:i});else if(!i.path)this.warn("TAR_ENTRY_INVALID","path is required",{header:i});else{let r=i.type;if(/^(Symbolic)?Link$/.test(r)&&!i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath required",{header:i});else if(!/^(Symbolic)?Link$/.test(r)&&i.linkpath)this.warn("TAR_ENTRY_INVALID","linkpath forbidden",{header:i});else{let n=this[Bt]=new Sa(i,this[G],this[De]);if(!this[Ut])if(n.remain){let o=()=>{n.invalid||(this[Ut]=!0)};n.on("end",o)}else this[Ut]=!0;n.meta?n.size>this.maxMetaEntrySize?(n.ignore=!0,this[qt]("ignoredEntry",n),this[H]="ignore",n.resume()):n.size>0&&(this[Tt]="",n.on("data",o=>this[Tt]+=o),this[H]="meta"):(this[G]=null,n.ignore=n.ignore||!this.filter(n.path,n),n.ignore?(this[qt]("ignoredEntry",n),this[H]=n.remain?"ignore":"header",n.resume()):(n.remain?this[H]="body":(this[H]="header",n.end()),this[dt]?this[mt].push(n):(this[mt].push(n),this[dr]())))}}}[co](){Ra(()=>this.emit("close"))}[no](t){let e=!0;return t?Array.isArray(t)?this.emit.apply(this,t):(this[dt]=t,this.emit("entry",t),t.emittedEnd||(t.on("end",i=>this[dr]()),e=!1)):(this[dt]=null,e=!1),e}[dr](){do;while(this[no](this[mt].shift()));if(!this[mt].length){let t=this[dt];!t||t.flowing||t.size===t.remain?this[Le]||this.emit("drain"):t.once("drain",i=>this.emit("drain"))}}[mr](t,e){let i=this[Bt],r=i.blockRemain,n=r>=t.length&&e===0?t:t.slice(e,e+r);return i.write(n),i.blockRemain||(this[H]="header",this[Bt]=null,i.end()),n.length}[lo](t,e){let i=this[Bt],r=this[mr](t,e);return this[Bt]||this[oo](i),r}[qt](t,e,i){!this[mt].length&&!this[dt]?this.emit(t,e,i):this[mt].push([t,e,i])}[oo](t){switch(this[qt]("meta",this[Tt]),t.type){case"ExtendedHeader":case"OldExtendedHeader":this[G]=ro.parse(this[Tt],this[G],!1);break;case"GlobalExtendedHeader":this[De]=ro.parse(this[Tt],this[De],!0);break;case"NextFileHasLongPath":case"OldGnuLongPath":this[G]=this[G]||Object.create(null),this[G].path=this[Tt].replace(/\0.*/,"");break;case"NextFileHasLongLinkpath":this[G]=this[G]||Object.create(null),this[G].linkpath=this[Tt].replace(/\0.*/,"");break;default:throw new Error("unknown meta: "+t.type)}}abort(t){this[At]=!0,this.emit("abort",t),this.warn("TAR_ABORT",t,{recoverable:!1})}write(t){if(this[At])return;if(this[B]===null&&t){if(this[_]&&(t=Buffer.concat([this[_],t]),this[_]=null),t.length<fr.length)return this[_]=t,!0;for(let i=0;this[B]===null&&i<fr.length;i++)t[i]!==fr[i]&&(this[B]=!1);if(this[B]===null){let i=this[kt];this[kt]=!1,this[B]=new wa.Unzip,this[B].on("data",n=>this[Ds](n)),this[B].on("error",n=>this.abort(n)),this[B].on("end",n=>{this[kt]=!0,this[Ds]()}),this[Le]=!0;let r=this[B][i?"end":"write"](t);return this[Le]=!1,r}}this[Le]=!0,this[B]?this[B].write(t):this[Ds](t),this[Le]=!1;let e=this[mt].length?!1:this[dt]?this[dt].flowing:!0;return!e&&!this[mt].length&&this[dt].once("drain",i=>this.emit("drain")),e}[pr](t){t&&!this[At]&&(this[_]=this[_]?Buffer.concat([this[_],t]):t)}[yr](){if(this[kt]&&!this[ho]&&!this[At]&&!this[Is]){this[ho]=!0;let t=this[Bt];if(t&&t.blockRemain){let e=this[_]?this[_].length:0;this.warn("TAR_BAD_ARCHIVE",`Truncated input (needed ${t.blockRemain} more bytes, only ${e} available)`,{entry:t}),this[_]&&t.write(this[_]),t.end()}this[qt](vs)}}[Ds](t){if(this[Is])this[pr](t);else if(!t&&!this[_])this[yr]();else{if(this[Is]=!0,this[_]){this[pr](t);let e=this[_];this[_]=null,this[Ls](e)}else this[Ls](t);for(;this[_]&&this[_].length>=512&&!this[At]&&!this[Cs];){let e=this[_];this[_]=null,this[Ls](e)}this[Is]=!1}(!this[_]||this[kt])&&this[yr]()}[Ls](t){let e=0,i=t.length;for(;e+512<=i&&!this[At]&&!this[Cs];)switch(this[H]){case"begin":case"header":this[ao](t,e),e+=512;break;case"ignore":case"body":e+=this[mr](t,e);break;case"meta":e+=this[lo](t,e);break;default:throw new Error("invalid state: "+this[H])}e<i&&(this[_]?this[_]=Buffer.concat([t.slice(e),this[_]]):this[_]=t.slice(e))}end(t){this[At]||(this[B]?this[B].end(t):(this[kt]=!0,this.write(t)))}})});var Fs=p((Iu,yo)=>{"use strict";var ba=Wt(),mo=Ps(),le=require("fs"),Oa=he(),fo=require("path"),Er=Jt();yo.exports=(s,t,e)=>{typeof s=="function"?(e=s,t=null,s={}):Array.isArray(s)&&(t=s,s={}),typeof t=="function"&&(e=t,t=null),t?t=Array.from(t):t=[];let i=ba(s);if(i.sync&&typeof e=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof e=="function")throw new TypeError("callback only supported with file option");return t.length&&Aa(i,t),i.noResume||Ta(i),i.file&&i.sync?Na(i):i.file?Da(i,e):po(i)};var Ta=s=>{let t=s.onentry;s.onentry=t?e=>{t(e),e.resume()}:e=>e.resume()},Aa=(s,t)=>{let e=new Map(t.map(n=>[Er(n),!0])),i=s.filter,r=(n,o)=>{let h=o||fo.parse(n).root||".",a=n===h?!1:e.has(n)?e.get(n):r(fo.dirname(n),h);return e.set(n,a),a};s.filter=i?(n,o)=>i(n,o)&&r(Er(n)):n=>r(Er(n))},Na=s=>{let t=po(s),e=s.file,i=!0,r;try{let n=le.statSync(e),o=s.maxReadSize||16*1024*1024;if(n.size<o)t.end(le.readFileSync(e));else{let h=0,a=Buffer.allocUnsafe(o);for(r=le.openSync(e,"r");h<n.size;){let l=le.readSync(r,a,0,o,h);h+=l,t.write(a.slice(0,l))}t.end()}i=!1}finally{if(i&&r)try{le.closeSync(r)}catch{}}},Da=(s,t)=>{let e=new mo(s),i=s.maxReadSize||16*1024*1024,r=s.file,n=new Promise((o,h)=>{e.on("error",h),e.on("end",o),le.stat(r,(a,l)=>{if(a)h(a);else{let c=new Oa.ReadStream(r,{readSize:i,size:l.size});c.on("error",h),c.pipe(e)}})});return t?n.then(t,t):n},po=s=>new mo(s)});var _o=p((vu,Ro)=>{"use strict";var La=Wt(),Ms=ws(),Eo=he(),go=Fs(),So=require("path");Ro.exports=(s,t,e)=>{if(typeof t=="function"&&(e=t),Array.isArray(s)&&(t=s,s={}),!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");t=Array.from(t);let i=La(s);if(i.sync&&typeof e=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof e=="function")throw new TypeError("callback only supported with file option");return i.file&&i.sync?Ia(i,t):i.file?va(i,t,e):i.sync?xa(i,t):Ca(i,t)};var Ia=(s,t)=>{let e=new Ms.Sync(s),i=new Eo.WriteStreamSync(s.file,{mode:s.mode||438});e.pipe(i),wo(e,t)},va=(s,t,e)=>{let i=new Ms(s),r=new Eo.WriteStream(s.file,{mode:s.mode||438});i.pipe(r);let n=new Promise((o,h)=>{r.on("error",h),r.on("close",o),i.on("error",h)});return gr(i,t),e?n.then(e,e):n},wo=(s,t)=>{t.forEach(e=>{e.charAt(0)==="@"?go({file:So.resolve(s.cwd,e.slice(1)),sync:!0,noResume:!0,onentry:i=>s.add(i)}):s.add(e)}),s.end()},gr=(s,t)=>{for(;t.length;){let e=t.shift();if(e.charAt(0)==="@")return go({file:So.resolve(s.cwd,e.slice(1)),noResume:!0,onentry:i=>s.add(i)}).then(i=>gr(s,t));s.add(e)}s.end()},xa=(s,t)=>{let e=new Ms.Sync(s);return wo(e,t),e},Ca=(s,t)=>{let e=new Ms(s);return gr(e,t),e}});var Sr=p((xu,Lo)=>{"use strict";var Pa=Wt(),bo=ws(),U=require("fs"),Oo=he(),To=Fs(),Ao=require("path"),No=Xt();Lo.exports=(s,t,e)=>{let i=Pa(s);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");return t=Array.from(t),i.sync?Fa(i,t):Ba(i,t,e)};var Fa=(s,t)=>{let e=new bo.Sync(s),i=!0,r,n;try{try{r=U.openSync(s.file,"r+")}catch(a){if(a.code==="ENOENT")r=U.openSync(s.file,"w+");else throw a}let o=U.fstatSync(r),h=Buffer.alloc(512);t:for(n=0;n<o.size;n+=512){for(let c=0,u=0;c<512;c+=u){if(u=U.readSync(r,h,c,h.length-c,n+c),n===0&&h[0]===31&&h[1]===139)throw new Error("cannot append to compressed archives");if(!u)break t}let a=new No(h);if(!a.cksumValid)break;let l=512*Math.ceil(a.size/512);if(n+l+512>o.size)break;n+=l,s.mtimeCache&&s.mtimeCache.set(a.path,a.mtime)}i=!1,Ma(s,e,n,r,t)}finally{if(i)try{U.closeSync(r)}catch{}}},Ma=(s,t,e,i,r)=>{let n=new Oo.WriteStreamSync(s.file,{fd:i,start:e});t.pipe(n),ka(t,r)},Ba=(s,t,e)=>{t=Array.from(t);let i=new bo(s),r=(o,h,a)=>{let l=(y,d)=>{y?U.close(o,R=>a(y)):a(null,d)},c=0;if(h===0)return l(null,0);let u=0,f=Buffer.alloc(512),m=(y,d)=>{if(y)return l(y);if(u+=d,u<512&&d)return U.read(o,f,u,f.length-u,c+u,m);if(c===0&&f[0]===31&&f[1]===139)return l(new Error("cannot append to compressed archives"));if(u<512)return l(null,c);let R=new No(f);if(!R.cksumValid)return l(null,c);let b=512*Math.ceil(R.size/512);if(c+b+512>h||(c+=b+512,c>=h))return l(null,c);s.mtimeCache&&s.mtimeCache.set(R.path,R.mtime),u=0,U.read(o,f,0,512,c,m)};U.read(o,f,0,512,c,m)},n=new Promise((o,h)=>{i.on("error",h);let a="r+",l=(c,u)=>{if(c&&c.code==="ENOENT"&&a==="r+")return a="w+",U.open(s.file,a,l);if(c)return h(c);U.fstat(u,(f,m)=>{if(f)return U.close(u,()=>h(f));r(u,m.size,(y,d)=>{if(y)return h(y);let R=new Oo.WriteStream(s.file,{fd:u,start:d});i.pipe(R),R.on("error",h),R.on("close",o),Do(i,t)})})};U.open(s.file,a,l)});return e?n.then(e,e):n},ka=(s,t)=>{t.forEach(e=>{e.charAt(0)==="@"?To({file:Ao.resolve(s.cwd,e.slice(1)),sync:!0,noResume:!0,onentry:i=>s.add(i)}):s.add(e)}),s.end()},Do=(s,t)=>{for(;t.length;){let e=t.shift();if(e.charAt(0)==="@")return To({file:Ao.resolve(s.cwd,e.slice(1)),noResume:!0,onentry:i=>s.add(i)}).then(i=>Do(s,t));s.add(e)}s.end()}});var vo=p((Cu,Io)=>{"use strict";var qa=Wt(),Ua=Sr();Io.exports=(s,t,e)=>{let i=qa(s);if(!i.file)throw new TypeError("file is required");if(i.gzip)throw new TypeError("cannot append to compressed archives");if(!t||!Array.isArray(t)||!t.length)throw new TypeError("no files or directories specified");return t=Array.from(t),za(i),Ua(i,t,e)};var za=s=>{let t=s.filter;s.mtimeCache||(s.mtimeCache=new Map),s.filter=t?(e,i)=>t(e,i)&&!(s.mtimeCache.get(e)>i.mtime):(e,i)=>!(s.mtimeCache.get(e)>i.mtime)}});var Po=p((Pu,Co)=>{var{promisify:xo}=require("util"),Nt=require("fs"),Ha=s=>{if(!s)s={mode:511,fs:Nt};else if(typeof s=="object")s={mode:511,fs:Nt,...s};else if(typeof s=="number")s={mode:s,fs:Nt};else if(typeof s=="string")s={mode:parseInt(s,8),fs:Nt};else throw new TypeError("invalid options argument");return s.mkdir=s.mkdir||s.fs.mkdir||Nt.mkdir,s.mkdirAsync=xo(s.mkdir),s.stat=s.stat||s.fs.stat||Nt.stat,s.statAsync=xo(s.stat),s.statSync=s.statSync||s.fs.statSync||Nt.statSync,s.mkdirSync=s.mkdirSync||s.fs.mkdirSync||Nt.mkdirSync,s};Co.exports=Ha});var Mo=p((Fu,Fo)=>{var Ga=process.env.__TESTING_MKDIRP_PLATFORM__||process.platform,{resolve:Wa,parse:Ya}=require("path"),ja=s=>{if(/\0/.test(s))throw Object.assign(new TypeError("path must be a string without null bytes"),{path:s,code:"ERR_INVALID_ARG_VALUE"});if(s=Wa(s),Ga==="win32"){let t=/[*|"<>?:]/,{root:e}=Ya(s);if(t.test(s.substr(e.length)))throw Object.assign(new Error("Illegal characters in path."),{path:s,code:"EINVAL"})}return s};Fo.exports=ja});var zo=p((Mu,Uo)=>{var{dirname:Bo}=require("path"),ko=(s,t,e=void 0)=>e===t?Promise.resolve():s.statAsync(t).then(i=>i.isDirectory()?e:void 0,i=>i.code==="ENOENT"?ko(s,Bo(t),t):void 0),qo=(s,t,e=void 0)=>{if(e!==t)try{return s.statSync(t).isDirectory()?e:void 0}catch(i){return i.code==="ENOENT"?qo(s,Bo(t),t):void 0}};Uo.exports={findMade:ko,findMadeSync:qo}});var _r=p((Bu,Go)=>{var{dirname:Ho}=require("path"),wr=(s,t,e)=>{t.recursive=!1;let i=Ho(s);return i===s?t.mkdirAsync(s,t).catch(r=>{if(r.code!=="EISDIR")throw r}):t.mkdirAsync(s,t).then(()=>e||s,r=>{if(r.code==="ENOENT")return wr(i,t).then(n=>wr(s,t,n));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;return t.statAsync(s).then(n=>{if(n.isDirectory())return e;throw r},()=>{throw r})})},Rr=(s,t,e)=>{let i=Ho(s);if(t.recursive=!1,i===s)try{return t.mkdirSync(s,t)}catch(r){if(r.code!=="EISDIR")throw r;return}try{return t.mkdirSync(s,t),e||s}catch(r){if(r.code==="ENOENT")return Rr(s,t,Rr(i,t,e));if(r.code!=="EEXIST"&&r.code!=="EROFS")throw r;try{if(!t.statSync(s).isDirectory())throw r}catch{throw r}}};Go.exports={mkdirpManual:wr,mkdirpManualSync:Rr}});var jo=p((ku,Yo)=>{var{dirname:Wo}=require("path"),{findMade:$a,findMadeSync:Za}=zo(),{mkdirpManual:Ka,mkdirpManualSync:Va}=_r(),Xa=(s,t)=>(t.recursive=!0,Wo(s)===s?t.mkdirAsync(s,t):$a(t,s).then(i=>t.mkdirAsync(s,t).then(()=>i).catch(r=>{if(r.code==="ENOENT")return Ka(s,t);throw r}))),Ja=(s,t)=>{if(t.recursive=!0,Wo(s)===s)return t.mkdirSync(s,t);let i=Za(t,s);try{return t.mkdirSync(s,t),i}catch(r){if(r.code==="ENOENT")return Va(s,t);throw r}};Yo.exports={mkdirpNative:Xa,mkdirpNativeSync:Ja}});var Vo=p((qu,Ko)=>{var $o=require("fs"),Qa=process.env.__TESTING_MKDIRP_NODE_VERSION__||process.version,br=Qa.replace(/^v/,"").split("."),Zo=+br[0]>10||+br[0]==10&&+br[1]>=12,tc=Zo?s=>s.mkdir===$o.mkdir:()=>!1,ec=Zo?s=>s.mkdirSync===$o.mkdirSync:()=>!1;Ko.exports={useNative:tc,useNativeSync:ec}});var sh=p((Uu,eh)=>{var ae=Po(),ce=Mo(),{mkdirpNative:Xo,mkdirpNativeSync:Jo}=jo(),{mkdirpManual:Qo,mkdirpManualSync:th}=_r(),{useNative:sc,useNativeSync:ic}=Vo(),ue=(s,t)=>(s=ce(s),t=ae(t),sc(t)?Xo(s,t):Qo(s,t)),rc=(s,t)=>(s=ce(s),t=ae(t),ic(t)?Jo(s,t):th(s,t));ue.sync=rc;ue.native=(s,t)=>Xo(ce(s),ae(t));ue.manual=(s,t)=>Qo(ce(s),ae(t));ue.nativeSync=(s,t)=>Jo(ce(s),ae(t));ue.manualSync=(s,t)=>th(ce(s),ae(t));eh.exports=ue});var ah=p((zu,lh)=>{"use strict";var W=require("fs"),zt=require("path"),nc=W.lchown?"lchown":"chown",oc=W.lchownSync?"lchownSync":"chownSync",rh=W.lchown&&!process.version.match(/v1[1-9]+\./)&&!process.version.match(/v10\.[6-9]/),ih=(s,t,e)=>{try{return W[oc](s,t,e)}catch(i){if(i.code!=="ENOENT")throw i}},hc=(s,t,e)=>{try{return W.chownSync(s,t,e)}catch(i){if(i.code!=="ENOENT")throw i}},lc=rh?(s,t,e,i)=>r=>{!r||r.code!=="EISDIR"?i(r):W.chown(s,t,e,i)}:(s,t,e,i)=>i,Or=rh?(s,t,e)=>{try{return ih(s,t,e)}catch(i){if(i.code!=="EISDIR")throw i;hc(s,t,e)}}:(s,t,e)=>ih(s,t,e),ac=process.version,nh=(s,t,e)=>W.readdir(s,t,e),cc=(s,t)=>W.readdirSync(s,t);/^v4\./.test(ac)&&(nh=(s,t,e)=>W.readdir(s,e));var Bs=(s,t,e,i)=>{W[nc](s,t,e,lc(s,t,e,r=>{i(r&&r.code!=="ENOENT"?r:null)}))},oh=(s,t,e,i,r)=>{if(typeof t=="string")return W.lstat(zt.resolve(s,t),(n,o)=>{if(n)return r(n.code!=="ENOENT"?n:null);o.name=t,oh(s,o,e,i,r)});if(t.isDirectory())Tr(zt.resolve(s,t.name),e,i,n=>{if(n)return r(n);let o=zt.resolve(s,t.name);Bs(o,e,i,r)});else{let n=zt.resolve(s,t.name);Bs(n,e,i,r)}},Tr=(s,t,e,i)=>{nh(s,{withFileTypes:!0},(r,n)=>{if(r){if(r.code==="ENOENT")return i();if(r.code!=="ENOTDIR"&&r.code!=="ENOTSUP")return i(r)}if(r||!n.length)return Bs(s,t,e,i);let o=n.length,h=null,a=l=>{if(!h){if(l)return i(h=l);if(--o===0)return Bs(s,t,e,i)}};n.forEach(l=>oh(s,l,t,e,a))})},uc=(s,t,e,i)=>{if(typeof t=="string")try{let r=W.lstatSync(zt.resolve(s,t));r.name=t,t=r}catch(r){if(r.code==="ENOENT")return;throw r}t.isDirectory()&&hh(zt.resolve(s,t.name),e,i),Or(zt.resolve(s,t.name),e,i)},hh=(s,t,e)=>{let i;try{i=cc(s,{withFileTypes:!0})}catch(r){if(r.code==="ENOENT")return;if(r.code==="ENOTDIR"||r.code==="ENOTSUP")return Or(s,t,e);throw r}return i&&i.length&&i.forEach(r=>uc(s,r,t,e)),Or(s,t,e)};lh.exports=Tr;Tr.sync=hh});var dh=p((Hu,Ar)=>{"use strict";var ch=sh(),Y=require("fs"),ks=require("path"),uh=ah(),Z=Kt(),qs=class extends Error{constructor(t,e){super("Cannot extract through symbolic link"),this.path=e,this.symlink=t}get name(){return"SylinkError"}},Us=class extends Error{constructor(t,e){super(e+": Cannot cd into '"+t+"'"),this.path=t,this.code=e}get name(){return"CwdError"}},zs=(s,t)=>s.get(Z(t)),Ie=(s,t,e)=>s.set(Z(t),e),fc=(s,t)=>{Y.stat(s,(e,i)=>{(e||!i.isDirectory())&&(e=new Us(s,e&&e.code||"ENOTDIR")),t(e)})};Ar.exports=(s,t,e)=>{s=Z(s);let i=t.umask,r=t.mode|448,n=(r&i)!==0,o=t.uid,h=t.gid,a=typeof o=="number"&&typeof h=="number"&&(o!==t.processUid||h!==t.processGid),l=t.preserve,c=t.unlink,u=t.cache,f=Z(t.cwd),m=(R,b)=>{R?e(R):(Ie(u,s,!0),b&&a?uh(b,o,h,Ue=>m(Ue)):n?Y.chmod(s,r,e):e())};if(u&&zs(u,s)===!0)return m();if(s===f)return fc(s,m);if(l)return ch(s,{mode:r}).then(R=>m(null,R),m);let d=Z(ks.relative(f,s)).split("/");Hs(f,d,r,u,c,f,null,m)};var Hs=(s,t,e,i,r,n,o,h)=>{if(!t.length)return h(null,o);let a=t.shift(),l=Z(ks.resolve(s+"/"+a));if(zs(i,l))return Hs(l,t,e,i,r,n,o,h);Y.mkdir(l,e,fh(l,t,e,i,r,n,o,h))},fh=(s,t,e,i,r,n,o,h)=>a=>{a?Y.lstat(s,(l,c)=>{if(l)l.path=l.path&&Z(l.path),h(l);else if(c.isDirectory())Hs(s,t,e,i,r,n,o,h);else if(r)Y.unlink(s,u=>{if(u)return h(u);Y.mkdir(s,e,fh(s,t,e,i,r,n,o,h))});else{if(c.isSymbolicLink())return h(new qs(s,s+"/"+t.join("/")));h(a)}}):(o=o||s,Hs(s,t,e,i,r,n,o,h))},dc=s=>{let t=!1,e="ENOTDIR";try{t=Y.statSync(s).isDirectory()}catch(i){e=i.code}finally{if(!t)throw new Us(s,e)}};Ar.exports.sync=(s,t)=>{s=Z(s);let e=t.umask,i=t.mode|448,r=(i&e)!==0,n=t.uid,o=t.gid,h=typeof n=="number"&&typeof o=="number"&&(n!==t.processUid||o!==t.processGid),a=t.preserve,l=t.unlink,c=t.cache,u=Z(t.cwd),f=R=>{Ie(c,s,!0),R&&h&&uh.sync(R,n,o),r&&Y.chmodSync(s,i)};if(c&&zs(c,s)===!0)return f();if(s===u)return dc(u),f();if(a)return f(ch.sync(s,i));let y=Z(ks.relative(u,s)).split("/"),d=null;for(let R=y.shift(),b=u;R&&(b+="/"+R);R=y.shift())if(b=Z(ks.resolve(b)),!zs(c,b))try{Y.mkdirSync(b,i),d=d||b,Ie(c,b,!0)}catch{let ze=Y.lstatSync(b);if(ze.isDirectory()){Ie(c,b,!0);continue}else if(l){Y.unlinkSync(b),Y.mkdirSync(b,i),d=d||b,Ie(c,b,!0);continue}else if(ze.isSymbolicLink())return new qs(b,b+"/"+y.join("/"))}return f(d)}});var Dr=p((Gu,mh)=>{var Nr=Object.create(null),{hasOwnProperty:mc}=Object.prototype;mh.exports=s=>(mc.call(Nr,s)||(Nr[s]=s.normalize("NFKD")),Nr[s])});var gh=p((Wu,Eh)=>{var ph=require("assert"),pc=Dr(),yc=Jt(),{join:yh}=require("path"),Ec=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,gc=Ec==="win32";Eh.exports=()=>{let s=new Map,t=new Map,e=l=>l.split("/").slice(0,-1).reduce((u,f)=>(u.length&&(f=yh(u[u.length-1],f)),u.push(f||"/"),u),[]),i=new Set,r=l=>{let c=t.get(l);if(!c)throw new Error("function does not have any path reservations");return{paths:c.paths.map(u=>s.get(u)),dirs:[...c.dirs].map(u=>s.get(u))}},n=l=>{let{paths:c,dirs:u}=r(l);return c.every(f=>f[0]===l)&&u.every(f=>f[0]instanceof Set&&f[0].has(l))},o=l=>i.has(l)||!n(l)?!1:(i.add(l),l(()=>h(l)),!0),h=l=>{if(!i.has(l))return!1;let{paths:c,dirs:u}=t.get(l),f=new Set;return c.forEach(m=>{let y=s.get(m);ph.equal(y[0],l),y.length===1?s.delete(m):(y.shift(),typeof y[0]=="function"?f.add(y[0]):y[0].forEach(d=>f.add(d)))}),u.forEach(m=>{let y=s.get(m);ph(y[0]instanceof Set),y[0].size===1&&y.length===1?s.delete(m):y[0].size===1?(y.shift(),f.add(y[0])):y[0].delete(l)}),i.delete(l),f.forEach(m=>o(m)),!0};return{check:n,reserve:(l,c)=>{l=gc?["win32 parallelization disabled"]:l.map(f=>pc(yc(yh(f))).toLowerCase());let u=new Set(l.map(f=>e(f)).reduce((f,m)=>f.concat(m)));return t.set(c,{dirs:u,paths:l}),l.forEach(f=>{let m=s.get(f);m?m.push(c):s.set(f,[c])}),u.forEach(f=>{let m=s.get(f);m?m[m.length-1]instanceof Set?m[m.length-1].add(c):m.push(new Set([c])):s.set(f,[new Set([c])])}),o(c)}}}});var Rh=p((Yu,wh)=>{var Sc=process.env.__FAKE_PLATFORM__||process.platform,wc=Sc==="win32",Rc=global.__FAKE_TESTING_FS__||require("fs"),{O_CREAT:_c,O_TRUNC:bc,O_WRONLY:Oc,UV_FS_O_FILEMAP:Sh=0}=Rc.constants,Tc=wc&&!!Sh,Ac=512*1024,Nc=Sh|bc|_c|Oc;wh.exports=Tc?s=>s<Ac?Nc:"w":()=>"w"});var Br=p((ju,Fh)=>{"use strict";var Dc=require("assert"),Lc=Ps(),g=require("fs"),Ic=he(),pt=require("path"),xh=dh(),_h=Mi(),vc=gh(),xc=Bi(),z=Kt(),Cc=Jt(),Pc=Dr(),bh=Symbol("onEntry"),vr=Symbol("checkFs"),Oh=Symbol("checkFs2"),Ys=Symbol("pruneCache"),xr=Symbol("isReusable"),j=Symbol("makeFs"),Cr=Symbol("file"),Pr=Symbol("directory"),js=Symbol("link"),Th=Symbol("symlink"),Ah=Symbol("hardlink"),Nh=Symbol("unsupported"),Dh=Symbol("checkPath"),Dt=Symbol("mkdir"),C=Symbol("onError"),Gs=Symbol("pending"),Lh=Symbol("pend"),fe=Symbol("unpend"),Lr=Symbol("ended"),Ir=Symbol("maybeClose"),Fr=Symbol("skip"),ve=Symbol("doChown"),xe=Symbol("uid"),Ce=Symbol("gid"),Pe=Symbol("checkedCwd"),Ch=require("crypto"),Ph=Rh(),Fc=process.env.TESTING_TAR_FAKE_PLATFORM||process.platform,Fe=Fc==="win32",Mc=(s,t)=>{if(!Fe)return g.unlink(s,t);let e=s+".DELETE."+Ch.randomBytes(16).toString("hex");g.rename(s,e,i=>{if(i)return t(i);g.unlink(e,t)})},Bc=s=>{if(!Fe)return g.unlinkSync(s);let t=s+".DELETE."+Ch.randomBytes(16).toString("hex");g.renameSync(s,t),g.unlinkSync(t)},Ih=(s,t,e)=>s===s>>>0?s:t===t>>>0?t:e,vh=s=>Pc(Cc(z(s))).toLowerCase(),kc=(s,t)=>{t=vh(t);for(let e of s.keys()){let i=vh(e);(i===t||i.indexOf(t+"/")===0)&&s.delete(e)}},qc=s=>{for(let t of s.keys())s.delete(t)},Me=class extends Lc{constructor(t){if(t||(t={}),t.ondone=e=>{this[Lr]=!0,this[Ir]()},super(t),this[Pe]=!1,this.reservations=vc(),this.transform=typeof t.transform=="function"?t.transform:null,this.writable=!0,this.readable=!1,this[Gs]=0,this[Lr]=!1,this.dirCache=t.dirCache||new Map,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=null,this.gid=null,this.setOwner=!1;t.preserveOwner===void 0&&typeof t.uid!="number"?this.preserveOwner=process.getuid&&process.getuid()===0:this.preserveOwner=!!t.preserveOwner,this.processUid=(this.preserveOwner||this.setOwner)&&process.getuid?process.getuid():null,this.processGid=(this.preserveOwner||this.setOwner)&&process.getgid?process.getgid():null,this.forceChown=t.forceChown===!0,this.win32=!!t.win32||Fe,this.newer=!!t.newer,this.keep=!!t.keep,this.noMtime=!!t.noMtime,this.preservePaths=!!t.preservePaths,this.unlink=!!t.unlink,this.cwd=z(pt.resolve(t.cwd||process.cwd())),this.strip=+t.strip||0,this.processUmask=t.noChmod?0:process.umask(),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",e=>this[bh](e))}warn(t,e,i={}){return(t==="TAR_BAD_ARCHIVE"||t==="TAR_ABORT")&&(i.recoverable=!1),super.warn(t,e,i)}[Ir](){this[Lr]&&this[Gs]===0&&(this.emit("prefinish"),this.emit("finish"),this.emit("end"))}[Dh](t){if(this.strip){let e=z(t.path).split("/");if(e.length<this.strip)return!1;if(t.path=e.slice(this.strip).join("/"),t.type==="Link"){let i=z(t.linkpath).split("/");if(i.length>=this.strip)t.linkpath=i.slice(this.strip).join("/");else return!1}}if(!this.preservePaths){let e=z(t.path),i=e.split("/");if(i.includes("..")||Fe&&/^[a-z]:\.\.$/i.test(i[0]))return this.warn("TAR_ENTRY_ERROR","path contains '..'",{entry:t,path:e}),!1;let[r,n]=xc(e);r&&(t.path=n,this.warn("TAR_ENTRY_INFO",`stripping ${r} from absolute path`,{entry:t,path:e}))}if(pt.isAbsolute(t.path)?t.absolute=z(pt.resolve(t.path)):t.absolute=z(pt.resolve(this.cwd,t.path)),!this.preservePaths&&t.absolute.indexOf(this.cwd+"/")!==0&&t.absolute!==this.cwd)return this.warn("TAR_ENTRY_ERROR","path escaped extraction target",{entry:t,path:z(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:e}=pt.win32.parse(t.absolute);t.absolute=e+_h.encode(t.absolute.slice(e.length));let{root:i}=pt.win32.parse(t.path);t.path=i+_h.encode(t.path.slice(i.length))}return!0}[bh](t){if(!this[Dh](t))return t.resume();switch(Dc.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[vr](t);case"CharacterDevice":case"BlockDevice":case"FIFO":default:return this[Nh](t)}}[C](t,e){t.name==="CwdError"?this.emit("error",t):(this.warn("TAR_ENTRY_ERROR",t,{entry:e}),this[fe](),e.resume())}[Dt](t,e,i){xh(z(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:e,noChmod:this.noChmod},i)}[ve](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}[xe](t){return Ih(this.uid,t.uid,this.processUid)}[Ce](t){return Ih(this.gid,t.gid,this.processGid)}[Cr](t,e){let i=t.mode&4095||this.fmode,r=new Ic.WriteStream(t.absolute,{flags:Ph(t.size),mode:i,autoClose:!1});r.on("error",a=>{r.fd&&g.close(r.fd,()=>{}),r.write=()=>!0,this[C](a,t),e()});let n=1,o=a=>{if(a){r.fd&&g.close(r.fd,()=>{}),this[C](a,t),e();return}--n===0&&g.close(r.fd,l=>{l?this[C](l,t):this[fe](),e()})};r.on("finish",a=>{let l=t.absolute,c=r.fd;if(t.mtime&&!this.noMtime){n++;let u=t.atime||new Date,f=t.mtime;g.futimes(c,u,f,m=>m?g.utimes(l,u,f,y=>o(y&&m)):o())}if(this[ve](t)){n++;let u=this[xe](t),f=this[Ce](t);g.fchown(c,u,f,m=>m?g.chown(l,u,f,y=>o(y&&m)):o())}o()});let h=this.transform&&this.transform(t)||t;h!==t&&(h.on("error",a=>{this[C](a,t),e()}),t.pipe(h)),h.pipe(r)}[Pr](t,e){let i=t.mode&4095||this.dmode;this[Dt](t.absolute,i,r=>{if(r){this[C](r,t),e();return}let n=1,o=h=>{--n===0&&(e(),this[fe](),t.resume())};t.mtime&&!this.noMtime&&(n++,g.utimes(t.absolute,t.atime||new Date,t.mtime,o)),this[ve](t)&&(n++,g.chown(t.absolute,this[xe](t),this[Ce](t),o)),o()})}[Nh](t){t.unsupported=!0,this.warn("TAR_ENTRY_UNSUPPORTED",`unsupported entry type: ${t.type}`,{entry:t}),t.resume()}[Th](t,e){this[js](t,t.linkpath,"symlink",e)}[Ah](t,e){let i=z(pt.resolve(this.cwd,t.linkpath));this[js](t,i,"link",e)}[Lh](){this[Gs]++}[fe](){this[Gs]--,this[Ir]()}[Fr](t){this[fe](),t.resume()}[xr](t,e){return t.type==="File"&&!this.unlink&&e.isFile()&&e.nlink<=1&&!Fe}[vr](t){this[Lh]();let e=[t.path];t.linkpath&&e.push(t.linkpath),this.reservations.reserve(e,i=>this[Oh](t,i))}[Ys](t){t.type==="SymbolicLink"?qc(this.dirCache):t.type!=="Directory"&&kc(this.dirCache,t.absolute)}[Oh](t,e){this[Ys](t);let i=h=>{this[Ys](t),e(h)},r=()=>{this[Dt](this.cwd,this.dmode,h=>{if(h){this[C](h,t),i();return}this[Pe]=!0,n()})},n=()=>{if(t.absolute!==this.cwd){let h=z(pt.dirname(t.absolute));if(h!==this.cwd)return this[Dt](h,this.dmode,a=>{if(a){this[C](a,t),i();return}o()})}o()},o=()=>{g.lstat(t.absolute,(h,a)=>{if(a&&(this.keep||this.newer&&a.mtime>t.mtime)){this[Fr](t),i();return}if(h||this[xr](t,a))return this[j](null,t,i);if(a.isDirectory()){if(t.type==="Directory"){let l=!this.noChmod&&t.mode&&(a.mode&4095)!==t.mode,c=u=>this[j](u,t,i);return l?g.chmod(t.absolute,t.mode,c):c()}if(t.absolute!==this.cwd)return g.rmdir(t.absolute,l=>this[j](l,t,i))}if(t.absolute===this.cwd)return this[j](null,t,i);Mc(t.absolute,l=>this[j](l,t,i))})};this[Pe]?n():r()}[j](t,e,i){if(t){this[C](t,e),i();return}switch(e.type){case"File":case"OldFile":case"ContiguousFile":return this[Cr](e,i);case"Link":return this[Ah](e,i);case"SymbolicLink":return this[Th](e,i);case"Directory":case"GNUDumpDir":return this[Pr](e,i)}}[js](t,e,i,r){g[i](e,t.absolute,n=>{n?this[C](n,t):(this[fe](),t.resume()),r()})}},Ws=s=>{try{return[null,s()]}catch(t){return[t,null]}},Mr=class extends Me{[j](t,e){return super[j](t,e,()=>{})}[vr](t){if(this[Ys](t),!this[Pe]){let n=this[Dt](this.cwd,this.dmode);if(n)return this[C](n,t);this[Pe]=!0}if(t.absolute!==this.cwd){let n=z(pt.dirname(t.absolute));if(n!==this.cwd){let o=this[Dt](n,this.dmode);if(o)return this[C](o,t)}}let[e,i]=Ws(()=>g.lstatSync(t.absolute));if(i&&(this.keep||this.newer&&i.mtime>t.mtime))return this[Fr](t);if(e||this[xr](t,i))return this[j](null,t);if(i.isDirectory()){if(t.type==="Directory"){let o=!this.noChmod&&t.mode&&(i.mode&4095)!==t.mode,[h]=o?Ws(()=>{g.chmodSync(t.absolute,t.mode)}):[];return this[j](h,t)}let[n]=Ws(()=>g.rmdirSync(t.absolute));this[j](n,t)}let[r]=t.absolute===this.cwd?[]:Ws(()=>Bc(t.absolute));this[j](r,t)}[Cr](t,e){let i=t.mode&4095||this.fmode,r=h=>{let a;try{g.closeSync(n)}catch(l){a=l}(h||a)&&this[C](h||a,t),e()},n;try{n=g.openSync(t.absolute,Ph(t.size),i)}catch(h){return r(h)}let o=this.transform&&this.transform(t)||t;o!==t&&(o.on("error",h=>this[C](h,t)),t.pipe(o)),o.on("data",h=>{try{g.writeSync(n,h,0,h.length)}catch(a){r(a)}}),o.on("end",h=>{let a=null;if(t.mtime&&!this.noMtime){let l=t.atime||new Date,c=t.mtime;try{g.futimesSync(n,l,c)}catch(u){try{g.utimesSync(t.absolute,l,c)}catch{a=u}}}if(this[ve](t)){let l=this[xe](t),c=this[Ce](t);try{g.fchownSync(n,l,c)}catch(u){try{g.chownSync(t.absolute,l,c)}catch{a=a||u}}}r(a)})}[Pr](t,e){let i=t.mode&4095||this.dmode,r=this[Dt](t.absolute,i);if(r){this[C](r,t),e();return}if(t.mtime&&!this.noMtime)try{g.utimesSync(t.absolute,t.atime||new Date,t.mtime)}catch{}if(this[ve](t))try{g.chownSync(t.absolute,this[xe](t),this[Ce](t))}catch{}e(),t.resume()}[Dt](t,e){try{return xh.sync(z(t),{uid:this.uid,gid:this.gid,processUid:this.processUid,processGid:this.processGid,umask:this.processUmask,preserve:this.preservePaths,unlink:this.unlink,cache:this.dirCache,cwd:this.cwd,mode:e})}catch(i){return i}}[js](t,e,i,r){try{g[i+"Sync"](e,t.absolute),r(),t.resume()}catch(n){return this[C](n,t)}}};Me.Sync=Mr;Fh.exports=Me});var Uh=p(($u,qh)=>{"use strict";var Uc=Wt(),$s=Br(),Bh=require("fs"),kh=he(),Mh=require("path"),kr=Jt();qh.exports=(s,t,e)=>{typeof s=="function"?(e=s,t=null,s={}):Array.isArray(s)&&(t=s,s={}),typeof t=="function"&&(e=t,t=null),t?t=Array.from(t):t=[];let i=Uc(s);if(i.sync&&typeof e=="function")throw new TypeError("callback not supported for sync tar functions");if(!i.file&&typeof e=="function")throw new TypeError("callback only supported with file option");return t.length&&zc(i,t),i.file&&i.sync?Hc(i):i.file?Gc(i,e):i.sync?Wc(i):Yc(i)};var zc=(s,t)=>{let e=new Map(t.map(n=>[kr(n),!0])),i=s.filter,r=(n,o)=>{let h=o||Mh.parse(n).root||".",a=n===h?!1:e.has(n)?e.get(n):r(Mh.dirname(n),h);return e.set(n,a),a};s.filter=i?(n,o)=>i(n,o)&&r(kr(n)):n=>r(kr(n))},Hc=s=>{let t=new $s.Sync(s),e=s.file,i=Bh.statSync(e),r=s.maxReadSize||16*1024*1024;new kh.ReadStreamSync(e,{readSize:r,size:i.size}).pipe(t)},Gc=(s,t)=>{let e=new $s(s),i=s.maxReadSize||16*1024*1024,r=s.file,n=new Promise((o,h)=>{e.on("error",h),e.on("close",o),Bh.stat(r,(a,l)=>{if(a)h(a);else{let c=new kh.ReadStream(r,{readSize:i,size:l.size});c.on("error",h),c.pipe(e)}})});return t?n.then(t,t):n},Wc=s=>new $s.Sync(s),Yc=s=>new $s(s)});var zh=p(A=>{"use strict";A.c=A.create=_o();A.r=A.replace=Sr();A.t=A.list=Fs();A.u=A.update=vo();A.x=A.extract=Uh();A.Pack=ws();A.Unpack=Br();A.Parse=Ps();A.ReadEntry=is();A.WriteEntry=$i();A.Header=Xt();A.Pax=ns();A.types=Li()});var pe=require("fs"),Zh=require("fs-extra"),st=require("path"),Kh=Xs(zh());var Ht=Xs(require("chalk")),Gh=require("child_process"),jc=require("crypto"),Be=require("fs"),Wh=Xs(require("ora")),de=require("path");async function Yh(s){let t=await Gt(s),e=$c(t);return(await Promise.all(e.map(async r=>Zc(r)))).filter(r=>!!r)}function $c(s){return[...Object.keys(s.dependencies??{}),...Object.keys(s.devDependencies??{})]}async function Zc(s){try{let t=process.env.CAPACITOR_ROOT_DIR,e=Kc(t,s,"package.json");if(!e)return console.error(`
|
|
Unable to find ${Ht.default.bold(`node_modules/${s}`)}.
|
|
Are you sure ${Ht.default.bold(s)} is installed?`),null;let i=(0,de.dirname)(e),r=await Gt(e);if(!r)return null;if(r.capacitor)return{id:s,name:Vc(s),version:r.version,rootPath:i,repository:r.repository,manifest:r.capacitor}}catch{}return null}function Kc(s,...t){try{return require.resolve(t.join("/"),{paths:[s]})}catch{return null}}function Zs(s){console.log(Ht.default.red(`Error: ${s}`))}function Gt(s){let t=(0,Be.readFileSync)(s,"utf8");return JSON.parse(t)}function me(s){return new Promise((t,e)=>{(0,Gh.exec)(s,(i,r,n)=>{i?e(r+n):t(r)})})}function Vc(s){return s=s.replace(/\//g,"_").replace(/-/g,"_").replace(/@/g,"").replace(/_\w/g,t=>t[1].toUpperCase()),s.charAt(0).toUpperCase()+s.slice(1)}function jh(s,t){return(0,Be.writeFileSync)(s,JSON.stringify(t,null," ")+`
|
|
`)}function $h(s){var t,e;return(e=(t=s.manifest)==null?void 0:t.electron)!=null&&e.src?(0,de.join)(s.rootPath,s.manifest.electron.src,"dist/plugin.js"):null}async function ke(s,t){let e=(0,Wh.default)(s).start(`${s}`);try{e=e.start(`${s}: ${Ht.default.dim("start \u{1F680}")}`);let i=process.hrtime(),r=await t(o=>{e=e.info(),e=e.start(`${s}: ${Ht.default.dim(o)}`)});e=e.info();let n=process.hrtime(i);return e=e.succeed(`${s}: ${Ht.default.dim("completed in "+Xc(n))}`),r}catch(i){throw e=e.fail(`${s}: ${i.message?i.message:""}`),e=e.stop(),i}}var Hh=["s","ms","\u03BCp"];function Xc(s){let t=s[0]+s[1]/1e9,e=0;for(;e<Hh.length-1&&!(t>=1);e++,t*=1e3);return t.toFixed(2)+Hh[e]}async function Vh(s){let t=process.env.CAPACITOR_ROOT_DIR,e=(0,st.join)(t,"node_modules","@capacitor-community","electron","template.tar.gz"),i=(0,st.join)(t,"electron"),r,n,o={ts:(0,st.join)(t,"capacitor.config.ts"),js:(0,st.join)(t,"capacitor.config.js"),json:(0,st.join)(t,"capacitor.config.json")};(0,pe.existsSync)(o.ts)?(r=o.ts,n="capacitor.config.ts"):(0,pe.existsSync)(o.js)?(r=o.js,n="capacitor.config.js"):(r=o.json,n="capacitor.config.json");let h=JSON.parse(process.env.CAPACITOR_CONFIG);if((0,pe.existsSync)(i))throw new Error("Electron platform already exists.");{(0,pe.mkdirSync)(i),s("extracting template"),await(0,Kh.extract)({file:e,cwd:i}),s("copying capacitor config file"),(0,Zh.copySync)(r,(0,st.join)(i,n));let a=h.appName,l=Gt((0,st.join)(i,"package.json")),c=Gt((0,st.join)(t,"package.json"));l.name=a,c.repository&&(l.repository=c.repository),s("setting up electron project"),jh((0,st.join)(i,"package.json"),l),s("installing npm modules"),await me(`cd ${i} && npm i`)}}var Xh=require("fs"),Ks=require("fs-extra"),Jh=require("path");async function Qh(s){let t=process.env.CAPACITOR_ROOT_DIR,e=process.env.CAPACITOR_WEB_DIR,i=(0,Jh.join)(t,"electron","app");try{(0,Xh.existsSync)(i)&&(0,Ks.removeSync)(i),s(`Copying ${e} into ${i}`),(0,Ks.copySync)(e,i)}catch(r){throw Zs(r.message),r}}var tl=require("path");async function el(s){let t=process.env.CAPACITOR_ROOT_DIR,e=(0,tl.join)(t,"electron");try{s("building electron app"),s("running electron app"),await me(`cd ${e} && npm run electron:start-live`)}catch(i){throw Zs(i.message),i}}var qe=require("fs"),sl=require("fs-extra"),L=require("path");async function il(s){let t=process.env.CAPACITOR_ROOT_DIR,e=(0,L.join)(t,"package.json"),i=await Gt(e),r=i.dependencies?i.dependencies:{},n=i.devDependencies?i.devDependencies:{},o={...r,...n};s("searching for plugins");let a=(await Yh(e)).filter(d=>d!==null).map(d=>{let R=(()=>{if(o[d==null?void 0:d.id]){if(o[d.id].startsWith("file:")){let Vs=o[d==null?void 0:d.id].replace(/^file:/,""),nl=(0,L.isAbsolute)(Vs)?Vs:(0,L.resolve)(t,Vs);return(0,L.relative)((0,L.join)(t,"electron"),nl)}else if(o[d.id].match(/^(https?|git):/))return o[d.id]}return`${d==null?void 0:d.id}@${d==null?void 0:d.version}`})(),b=$h(d),Ue=d==null?void 0:d.name,ze=d==null?void 0:d.id;return{name:Ue,path:b,installStr:R,id:ze}}).filter(d=>d.path!==null),l="";s("generating electron-plugins.js");let c=(0,L.join)(t,"electron","src","rt"),u=`/* eslint-disable @typescript-eslint/no-var-requires */
|
|
`;for(let d of a){l+=` ${d.installStr}`;let R=(0,L.join)((0,L.relative)(c,t),"node_modules",d.id,"electron","dist/plugin.js");u+=`const ${d.name} = require('${R.replace(/\\/g,"\\\\")}');
|
|
`}u+=`
|
|
module.exports = {
|
|
`;for(let d of a)u+=` ${d.name},
|
|
`;u+="}",(0,qe.writeFileSync)((0,L.join)(c,"electron-plugins.js"),u,{encoding:"utf-8"});let f,m,y={ts:(0,L.join)(t,"capacitor.config.ts"),js:(0,L.join)(t,"capacitor.config.js"),json:(0,L.join)(t,"capacitor.config.json")};(0,qe.existsSync)(y.ts)?(f=y.ts,m="capacitor.config.ts"):(0,qe.existsSync)(y.js)?(f=y.js,m="capacitor.config.js"):(f=y.json,m="capacitor.config.json"),(0,sl.copySync)(f,(0,L.join)(t,"electron",m),{overwrite:!0}),l.length>0&&(s("installing electron plugin files"),console.log(`
|
|
|
|
Will install:${l}
|
|
|
|
`),await me(`cd ${(0,L.join)(t,"electron")} && npm i${l}`))}async function qr(){return await ke("Updating Electron plugins",async s=>await il(s))}async function Jc(){return await ke("Adding Electron platform",async s=>Vh(s))}async function Ur(){return await ke("Copying Web App to Electron platform",async s=>await Qh(s))}async function rl(){return await ke("Opening Electron platform",async s=>await el(s))}(async()=>{let s=process.argv[2]?process.argv[2]:null;if(s!==null)switch(s){case"add":await Jc(),await Ur(),await qr();break;case"copy":await Ur();break;case"run":await rl();break;case"open":await rl();break;case"update":await qr();break;case"sync":await Ur(),await qr();break;default:throw new Error(`Invalid script chosen: ${s}`)}else throw new Error(`Invalid script chosen: ${s}`)})();
|