@capgo/cli 4.13.14 → 4.13.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +13 -12
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -277,7 +277,7 @@ GFS4: `),console.error(e)});Ct[$r]||(S1e=global[$r]||[],A1e(Ct,S1e),Ct.close=fun
|
|
|
277
277
|
`;function P1e(e,t){var r=[],i="";typeof t=="string"?t={section:t,whitespace:!1}:(t=t||{},t.whitespace=t.whitespace===!0);var n=t.whitespace?" = ":"=";return Object.keys(e).forEach(function(s,a,o){var u=e[s];u&&Array.isArray(u)?u.forEach(function(l){i+=If(s+"[]")+n+If(l)+`
|
|
278
278
|
`}):u&&typeof u=="object"?r.push(s):i+=If(s)+n+If(u)+UO}),t.section&&i.length&&(i="["+If(t.section)+"]"+UO+i),r.forEach(function(s,a,o){var u=I1e(s).join("\\."),l=(t.section?t.section+".":"")+u,c=P1e(e[s],{section:l,whitespace:t.whitespace});i.length&&c.length&&(i+=UO),i+=c}),i}function I1e(e){return e.replace(/\1/g,"LITERAL\\1LITERAL").replace(/\\\./g,"").split(/\./).map(function(t){return t.replace(/\1/g,"\\.").replace(/\2LITERAL\\1LITERAL\2/g,"")})}function kZe(e){var t={},r=t,i=null,n=/^\[([^\]]*)\]$|^([^=]+)(=(.*))?$/i,s=e.split(/[\r\n]+/g);return s.forEach(function(a,o,u){if(!(!a||a.match(/^\s*[;#]/))){var l=a.match(n);if(l){if(l[1]!==void 0){if(i=cy(l[1]),i==="__proto__"){r={};return}r=t[i]=t[i]||{};return}var c=cy(l[2]);if(c!=="__proto__"){var d=l[3]?cy(l[4]):!0;switch(d){case"true":case"false":case"null":d=JSON.parse(d)}if(c.length>2&&c.slice(-2)==="[]"){if(c=c.substring(0,c.length-2),c==="__proto__")return;r[c]?Array.isArray(r[c])||(r[c]=[r[c]]):r[c]=[]}Array.isArray(r[c])?r[c].push(d):r[c]=d}}}}),Object.keys(t).filter(function(a,o,u){if(!t[a]||typeof t[a]!="object"||Array.isArray(t[a]))return!1;var l=I1e(a),c=t,d=l.pop(),p=d.replace(/\\\./g,".");return l.forEach(function(f,h,g){f!=="__proto__"&&((!c[f]||typeof c[f]!="object")&&(c[f]={}),c=c[f])}),c===t&&p===d?!1:(c[p]=t[a],!0)}).forEach(function(a,o,u){delete t[a]}),t}function L1e(e){return e.charAt(0)==='"'&&e.slice(-1)==='"'||e.charAt(0)==="'"&&e.slice(-1)==="'"}function If(e){return typeof e!="string"||e.match(/[=\r\n]/)||e.match(/^\[/)||e.length>1&&L1e(e)||e!==e.trim()?JSON.stringify(e):e.replace(/;/g,"\\;").replace(/#/g,"\\#")}function cy(e,t){if(e=(e||"").trim(),L1e(e)){e.charAt(0)==="'"&&(e=e.substr(1,e.length-2));try{e=JSON.parse(e)}catch{}}else{for(var r=!1,i="",n=0,s=e.length;n<s;n++){var a=e.charAt(n);if(r)"\\;#".indexOf(a)!==-1?i+=a:i+="\\"+a,r=!1;else{if(";#".indexOf(a)!==-1)break;a==="\\"?r=!0:i+=a}}return r&&(i+="\\"),i.trim()}return e}});var M1e=m((So,j1e)=>{var q1e=R1e(),u2=require("path"),dy=require("fs"),VO=B1e(),HO=require("events").EventEmitter,RZe=require("url"),PZe=require("http"),So=j1e.exports=function(){for(var e=[].slice.call(arguments),t=new ei;e.length;){var r=e.shift();r&&t.push(typeof r=="string"?LZe(r):r)}return t},C6t=So.find=function(){var e=u2.join.apply(null,[].slice.call(arguments));function t(r,i){var n=u2.join(r,i);try{return dy.statSync(n),n}catch{if(u2.dirname(r)!==r)return t(u2.dirname(r),i)}}return t(__dirname,e)},IZe=So.parse=function(e,t,r){if(e=""+e,r)if(r==="json")if(this.emit)try{return JSON.parse(e)}catch(i){this.emit("error",i)}else return JSON.parse(e);else return VO.parse(e);else try{return JSON.parse(e)}catch{return VO.parse(e)}},LZe=So.json=function(){var e=[].slice.call(arguments).filter(function(i){return i!=null}),t=u2.join.apply(null,e),r;try{r=dy.readFileSync(t,"utf-8")}catch{return}return IZe(r,t,"json")},A6t=So.env=function(e,t){t=t||process.env;var r={},i=e.length;for(var n in t)n.indexOf(e)===0&&(r[n.substring(i)]=t[n]);return r};So.ConfigChain=ei;function ei(){HO.apply(this),q1e.apply(this,arguments),this._awaiting=0,this._saving=0,this.sources={}}var $1e={constructor:{value:ei}};Object.keys(HO.prototype).forEach(function(e){$1e[e]=Object.getOwnPropertyDescriptor(HO.prototype,e)});ei.prototype=Object.create(q1e.prototype,$1e);ei.prototype.del=function(e,t){if(t){var r=this.sources[t];if(r=r&&r.data,!r)return this.emit("error",new Error("not found "+t));delete r[e]}else for(var i=0,n=this.list.length;i<n;i++)delete this.list[i][e];return this};ei.prototype.set=function(e,t,r){var i;if(r){if(i=this.sources[r],i=i&&i.data,!i)return this.emit("error",new Error("not found "+r))}else if(i=this.list[0],!i)return this.emit("error",new Error("cannot set, no confs!"));return i[e]=t,this};ei.prototype.get=function(e,t){return t?(t=this.sources[t],t&&(t=t.data),t&&Object.hasOwnProperty.call(t,e)?t[e]:void 0):this.list[0][e]};ei.prototype.save=function(e,s,r){typeof s=="function"&&(r=s,s=null);var i=this.sources[e];if(!i||!(i.path||i.source)||!i.data)return this.emit("error",new Error("bad save target: "+e));if(i.source){var n=i.prefix||"";return Object.keys(i.data).forEach(function(o){i.source[n+o]=i.data[o]}),this}var s=s||i.type,a=i.data;return i.type==="json"?a=JSON.stringify(a):a=VO.stringify(a),this._saving++,dy.writeFile(i.path,a,"utf8",function(o){if(this._saving--,o)return r?r(o):this.emit("error",o);this._saving===0&&(r&&r(),this.emit("save"))}.bind(this)),this};ei.prototype.addFile=function(e,t,r){r=r||e;var i={__source__:r};return this.sources[r]={path:e,type:t},this.push(i),this._await(),dy.readFile(e,"utf8",function(n,s){n&&this.emit("error",n),this.addString(s,e,t,i)}.bind(this)),this};ei.prototype.addEnv=function(e,t,r){r=r||"env";var i=So.env(e,t);return this.sources[r]={data:i,source:t,prefix:e},this.add(i,r)};ei.prototype.addUrl=function(e,t,r){this._await();var i=RZe.format(e);r=r||i;var n={__source__:r};return this.sources[r]={href:i,type:t},this.push(n),PZe.request(e,function(s){var a=[],o=s.headers["content-type"];t||(t=o.indexOf("json")!==-1?"json":o.indexOf("ini")!==-1?"ini":i.match(/\.json$/)?"json":i.match(/\.ini$/)?"ini":null,n.type=t),s.on("data",a.push.bind(a)).on("end",function(){this.addString(Buffer.concat(a),i,t,n)}.bind(this)).on("error",this.emit.bind(this,"error"))}.bind(this)).on("error",this.emit.bind(this,"error")).end(),this};ei.prototype.addString=function(e,t,r,i){return e=this.parse(e,t,r),this.add(e,i),this};ei.prototype.add=function(e,t){if(t&&typeof t=="object"){var r=this.list.indexOf(t);if(r===-1)return this.emit("error",new Error("bad marker"));this.splice(r,1,e),t=t.__source__,this.sources[t]=this.sources[t]||{},this.sources[t].data=e,this._resolve()}else typeof t=="string"&&(this.sources[t]=this.sources[t]||{},this.sources[t].data=e),this._await(),this.push(e),process.nextTick(this._resolve.bind(this));return this};ei.prototype.parse=So.parse;ei.prototype._await=function(){this._awaiting++};ei.prototype._resolve=function(){this._awaiting--,this._awaiting===0&&this.emit("load",this)}});var V1e=m((T6t,U1e)=>{U1e.exports=function(e){let t=e.indexOf(":");if(t===-1)return zO(e);let r=e.substr(0,t),i=e.substr(t+1);return`${zO(r)}:${zO(i)}`};function zO(e){if(e=e.toLowerCase(),e==="_authtoken")return"_authToken";let t=e[0];for(let r=1;r<e.length;r++)t+=e[r]==="_"?"-":e[r];return t}});var H1e=m(py=>{"use strict";Object.defineProperty(py,"__esModule",{value:!0});py.envReplace=void 0;var BZe=/(?<!\\)(\\*)\$\{([^${}]+)\}/g;function qZe(e,t){return e.replace(BZe,$Ze.bind(null,t))}py.envReplace=qZe;function $Ze(e,t,r,i){if(r.length%2)return t.slice((r.length+1)/2);let n=MZe(e,i);if(n===void 0)throw new Error(`Failed to replace env in config: ${t}`);return`${r.slice(r.length/2)}${n}`}var jZe=/([^:-]+)(:?)-(.+)/;function MZe(e,t){let r=t.match(jZe);if(!r)return e[t];let[,i,n,s]=r;return Object.prototype.hasOwnProperty.call(e,i)?!e[i]&&n?s:e[i]:s}});var z1e=m(fy=>{"use strict";Object.defineProperty(fy,"__esModule",{value:!0});fy.envReplace=void 0;var UZe=H1e();Object.defineProperty(fy,"envReplace",{enumerable:!0,get:function(){return UZe.envReplace}})});var W1e=m(hy=>{"use strict";var VZe=require("fs"),Rc=require("path"),{envReplace:G1e}=z1e(),HZe=(e,t,r)=>{if(typeof t!="string")return t;let i=[].concat(e[r]),n=i.indexOf(Rc)!==-1,s=i.indexOf(Boolean)!==-1,a=i.indexOf(String)!==-1,o=i.indexOf(Number)!==-1;if(t=`${t}`.trim(),/^".*"$/.test(t))try{t=JSON.parse(t)}catch{throw new Error(`Failed parsing JSON config key ${r}: ${t}`)}if(s&&!a&&t==="")return!0;switch(t){case"true":return!0;case"false":return!1;case"null":return null;case"undefined":return}return t=G1e(t,process.env),n&&((process.platform==="win32"?/^~(\/|\\)/:/^~\//).test(t)&&process.env.HOME&&(t=Rc.resolve(process.env.HOME,t.substr(2))),t=Rc.resolve(t)),o&&!isNaN(t)&&(t=Number(t)),t},zZe=e=>{e=Rc.resolve(e);let t=!1;for(;Rc.basename(e)==="node_modules";)e=Rc.dirname(e),t=!0;if(t)return e;let r=(i,n)=>{let s=/^[a-zA-Z]:(\\|\/)?$/;if(i==="/"||process.platform==="win32"&&s.test(i))return n;try{let a=VZe.readdirSync(i);if(a.includes("node_modules")||a.includes("package.json")||a.includes("package.json5")||a.includes("package.yaml")||a.includes("pnpm-workspace.yaml"))return i;let o=Rc.dirname(i);return o===i?n:r(o,n)}catch(a){if(i===n){if(a.code==="ENOENT")return n;throw a}return n}};return r(e,e)};hy.envReplace=G1e;hy.findPrefix=zZe;hy.parseField=HZe});var K1e=m(Y1e=>{"use strict";var Pc=require("path"),GZe=require("stream").Stream,my=require("url"),WZe=()=>{},XZe=()=>[],X1e=()=>{};Y1e.types={access:[null,"restricted","public"],"allow-same-version":Boolean,"always-auth":Boolean,also:[null,"dev","development"],audit:Boolean,"auth-type":["legacy","sso","saml","oauth"],"bin-links":Boolean,browser:[null,String],ca:[null,String,Array],cafile:Pc,cache:Pc,"cache-lock-stale":Number,"cache-lock-retries":Number,"cache-lock-wait":Number,"cache-max":Number,"cache-min":Number,cert:[null,String],cidr:[null,String,Array],color:["always",Boolean],depth:Number,description:Boolean,dev:Boolean,"dry-run":Boolean,editor:String,"engine-strict":Boolean,force:Boolean,"fetch-retries":Number,"fetch-retry-factor":Number,"fetch-retry-mintimeout":Number,"fetch-retry-maxtimeout":Number,git:String,"git-tag-version":Boolean,"commit-hooks":Boolean,global:Boolean,globalconfig:Pc,"global-style":Boolean,group:[Number,String],"https-proxy":[null,my],"user-agent":String,"ham-it-up":Boolean,heading:String,"if-present":Boolean,"ignore-prepublish":Boolean,"ignore-scripts":Boolean,"init-module":Pc,"init-author-name":String,"init-author-email":String,"init-author-url":["",my],"init-license":String,"init-version":X1e,json:Boolean,key:[null,String],"legacy-bundling":Boolean,link:Boolean,"local-address":XZe(),loglevel:["silent","error","warn","notice","http","timing","info","verbose","silly"],logstream:GZe,"logs-max":Number,long:Boolean,maxsockets:Number,message:String,"metrics-registry":[null,String],"node-options":[null,String],"node-version":[null,X1e],"no-proxy":[null,String,Array],offline:Boolean,"onload-script":[null,String],only:[null,"dev","development","prod","production"],optional:Boolean,"package-lock":Boolean,otp:[null,String],"package-lock-only":Boolean,parseable:Boolean,"prefer-offline":Boolean,"prefer-online":Boolean,prefix:Pc,production:Boolean,progress:Boolean,proxy:[null,!1,my],provenance:Boolean,"read-only":Boolean,"rebuild-bundle":Boolean,registry:[null,my],rollback:Boolean,save:Boolean,"save-bundle":Boolean,"save-dev":Boolean,"save-exact":Boolean,"save-optional":Boolean,"save-prefix":String,"save-prod":Boolean,scope:String,"script-shell":[null,String],"scripts-prepend-node-path":[!1,!0,"auto","warn-only"],searchopts:String,searchexclude:[null,String],searchlimit:Number,searchstaleness:Number,"send-metrics":Boolean,shell:String,shrinkwrap:Boolean,"sign-git-tag":Boolean,"sso-poll-frequency":Number,"sso-type":[null,"oauth","saml"],"strict-ssl":Boolean,tag:String,timing:Boolean,tmp:Pc,unicode:Boolean,"unsafe-perm":Boolean,usage:Boolean,user:[Number,String],userconfig:Pc,umask:WZe,version:Boolean,"tag-version-prefix":String,versions:Boolean,viewer:String,_exit:Boolean}});var ehe=m((R6t,Q1e)=>{"use strict";var{readCAFileSync:YZe}=F1e(),J1e=require("fs"),GO=require("path"),{ConfigChain:KZe}=M1e(),JZe=V1e(),Z1e=W1e(),WO=class extends KZe{constructor(t,r){super(t),this.root=t,this._parseField=Z1e.parseField.bind(null,r||K1e())}add(t,r){try{for(let i of Object.keys(t))t[i]=this._parseField(t[i],i)}catch(i){throw i}return super.add(t,r)}addFile(t,r){r=r||t;let i={__source__:r};this.sources[r]={path:t,type:"ini"},this.push(i),this._await();try{let n=J1e.readFileSync(t,"utf8");this.addString(n,t,"ini",i)}catch(n){if(n.code==="ENOENT")this.add({},i);else return`Issue while reading "${t}". ${n.message}`}}addEnv(t){t=t||process.env;let r={};return Object.keys(t).filter(i=>/^npm_config_/i.test(i)).forEach(i=>{t[i]&&(r[JZe(i.substr(11))]=t[i])}),super.addEnv("",r,"env")}loadPrefix(){let t=this.list[0];Object.defineProperty(this,"prefix",{enumerable:!0,set:i=>{let n=this.get("global");this[n?"globalPrefix":"localPrefix"]=i},get:()=>this.get("global")?this.globalPrefix:this.localPrefix}),Object.defineProperty(this,"globalPrefix",{enumerable:!0,set:i=>{this.set("prefix",i)},get:()=>GO.resolve(this.get("prefix"))});let r;if(Object.defineProperty(this,"localPrefix",{enumerable:!0,set:i=>{r=i},get:()=>r}),Object.prototype.hasOwnProperty.call(t,"prefix"))r=GO.resolve(t.prefix);else try{r=Z1e.findPrefix(process.cwd())}catch(i){throw i}return r}loadCAFile(t){if(!t)return;let r=YZe(t);r&&this.set("ca",r)}loadUser(){let t=this.root;if(this.get("global"))return;if(process.env.SUDO_UID){t.user=Number(process.env.SUDO_UID);return}let r=GO.resolve(this.get("prefix"));try{let i=J1e.statSync(r);t.user=i.uid}catch(i){if(i.code==="ENOENT")return;throw i}}};Q1e.exports=WO});var ahe=m(she=>{"use strict";var ihe=require("os"),Co=require("path"),nhe=ihe.tmpdir(),ZZe=process.getuid?process.getuid():process.pid,QZe=()=>!0,the=process.platform==="win32",rhe={editor:()=>process.env.EDITOR||process.env.VISUAL||(the?"notepad.exe":"vi"),shell:()=>the?process.env.COMSPEC||"cmd.exe":process.env.SHELL||"/bin/bash"},eQe={fromString:()=>process.umask()},Lf=ihe.homedir();Lf?process.env.HOME=Lf:Lf=Co.resolve(nhe,"npm-"+ZZe);var tQe=process.platform==="win32"?"npm-cache":".npm",rQe=process.platform==="win32"&&process.env.APPDATA||Lf,iQe=Co.resolve(rQe,tQe),gy,Ic;Object.defineProperty(she,"defaults",{get:function(){return gy||(process.env.PREFIX?Ic=process.env.PREFIX:process.platform==="win32"?Ic=Co.dirname(process.execPath):(Ic=Co.dirname(Co.dirname(process.execPath)),process.env.DESTDIR&&(Ic=Co.join(process.env.DESTDIR,Ic))),gy={access:null,"allow-same-version":!1,"always-auth":!1,also:null,audit:!0,"auth-type":"legacy","bin-links":!0,browser:null,ca:null,cafile:null,cache:iQe,"cache-lock-stale":6e4,"cache-lock-retries":10,"cache-lock-wait":1e4,"cache-max":1/0,"cache-min":10,cert:null,cidr:null,color:process.env.NO_COLOR==null,depth:1/0,description:!0,dev:!1,"dry-run":!1,editor:rhe.editor(),"engine-strict":!1,force:!1,"fetch-retries":2,"fetch-retry-factor":10,"fetch-retry-mintimeout":1e4,"fetch-retry-maxtimeout":6e4,git:"git","git-tag-version":!0,"commit-hooks":!0,global:!1,globalconfig:Co.resolve(Ic,"etc","npmrc"),"global-style":!1,group:process.platform==="win32"?0:process.env.SUDO_GID||process.getgid&&process.getgid(),"ham-it-up":!1,heading:"npm","if-present":!1,"ignore-prepublish":!1,"ignore-scripts":!1,"init-module":Co.resolve(Lf,".npm-init.js"),"init-author-name":"","init-author-email":"","init-author-url":"","init-version":"1.0.0","init-license":"ISC",json:!1,key:null,"legacy-bundling":!1,link:!1,"local-address":void 0,loglevel:"notice",logstream:process.stderr,"logs-max":10,long:!1,maxsockets:50,message:"%s","metrics-registry":null,"node-options":null,offline:!1,"onload-script":!1,only:null,optional:!0,otp:null,"package-lock":!0,"package-lock-only":!1,parseable:!1,"prefer-offline":!1,"prefer-online":!1,prefix:Ic,production:process.env.NODE_ENV==="production",progress:!process.env.TRAVIS&&!process.env.CI,provenance:!1,proxy:null,"https-proxy":null,"no-proxy":null,"user-agent":"npm/{npm-version} node/{node-version} {platform} {arch}","read-only":!1,"rebuild-bundle":!0,registry:"https://registry.npmjs.org/",rollback:!0,save:!0,"save-bundle":!1,"save-dev":!1,"save-exact":!1,"save-optional":!1,"save-prefix":"^","save-prod":!1,scope:"","script-shell":null,"scripts-prepend-node-path":"warn-only",searchopts:"",searchexclude:null,searchlimit:20,searchstaleness:15*60,"send-metrics":!1,shell:rhe.shell(),shrinkwrap:!0,"sign-git-tag":!1,"sso-poll-frequency":500,"sso-type":"oauth","strict-ssl":!0,tag:"latest","tag-version-prefix":"v",timing:!1,tmp:nhe,unicode:QZe(),"unsafe-perm":process.platform==="win32"||process.platform==="cygwin"||!(process.getuid&&process.setuid&&process.getgid&&process.setgid)||process.getuid()!==0,usage:!1,user:process.platform==="win32"?0:"nobody",userconfig:Co.resolve(Lf,".npmrc"),umask:process.umask?process.umask():eQe.fromString("022"),version:!1,versions:!1,viewer:process.platform==="win32"?"browser":"man",_exit:!0},gy)}})});var uhe=m((I6t,XO)=>{"use strict";var Lc=require("path"),nQe=ehe(),ohe=ahe();XO.exports=(e,t,r)=>{let i=new nQe(Object.assign({},ohe.defaults,r),t);i.add(Object.assign({},e),"cli");let n=[],s=!1;if(require.resolve.paths){let l=require.resolve.paths("npm"),c;try{c=require.resolve("npm",{paths:l.slice(-1)})}catch{s=!0}c&&n.push(i.addFile(Lc.resolve(Lc.dirname(c),"..","npmrc"),"builtin"))}i.addEnv(),i.loadPrefix();let a=Lc.resolve(i.localPrefix,".npmrc"),o=i.get("userconfig");if(!i.get("global")&&a!==o?n.push(i.addFile(a,"project")):i.add({},"project"),i.get("workspace-prefix")&&i.get("workspace-prefix")!==a){let l=Lc.resolve(i.get("workspace-prefix"),".npmrc");n.push(i.addFile(l,"workspace"))}if(n.push(i.addFile(i.get("userconfig"),"user")),i.get("prefix")){let l=Lc.resolve(i.get("prefix"),"etc");i.root.globalconfig=Lc.resolve(l,"npmrc"),i.root.globalignorefile=Lc.resolve(l,"npmignore")}n.push(i.addFile(i.get("globalconfig"),"global")),i.loadUser();let u=i.get("cafile");return u&&i.loadCAFile(u),{config:i,warnings:n.filter(Boolean),failedToLoadBuiltInConfig:s}};Object.defineProperty(XO.exports,"defaults",{get(){return ohe.defaults},enumerable:!0})});var ghe=m((L6t,mhe)=>{var YO=require("url"),lhe=uhe(),che=":_authToken",dhe=":_auth",phe=":username",fhe=":_password";mhe.exports=function(){let t,r;arguments.length>=2?(t=arguments[0],r=Object.assign({},arguments[1])):typeof arguments[0]=="string"?t=arguments[0]:r=Object.assign({},arguments[0]),r=r||{};let i=r.npmrc;return r.npmrc=(r.npmrc?{config:{get:n=>i[n]}}:lhe()).config,t=t||r.npmrc.get("registry")||lhe.defaults.registry,hhe(t,r)||sQe(r.npmrc)};function hhe(e,t){let r=YO.parse(e,!1,!0),i;for(;i!=="/"&&r.pathname!==i;){i=r.pathname||"/";let n="//"+r.host+i.replace(/\/$/,""),s=oQe(n,t.npmrc);if(s)return s;if(!t.recursive)return/\/$/.test(e)?void 0:hhe(YO.resolve(e,"."),t);r.pathname=YO.resolve(aQe(i),"..")||"/"}}function sQe(e){return e.get("_auth")?{token:yy(e.get("_auth")),type:"Basic"}:void 0}function aQe(e){return e[e.length-1]==="/"?e:e+"/"}function oQe(e,t){let r=uQe(t.get(e+che)||t.get(e+"/"+che));if(r)return r;let i=t.get(e+phe)||t.get(e+"/"+phe),n=t.get(e+fhe)||t.get(e+"/"+fhe),s=lQe(i,n);if(s)return s;let a=cQe(t.get(e+dhe)||t.get(e+"/"+dhe));if(a)return a}function yy(e){return e.replace(/^\$\{?([^}]*)\}?$/,function(t,r){return process.env[r]})}function uQe(e){return e?{token:yy(e),type:"Bearer"}:void 0}function lQe(e,t){if(!e||!t)return;let r=Buffer.from(yy(t),"base64").toString("utf8");return{token:Buffer.from(e+":"+r,"utf8").toString("base64"),type:"Basic",password:r,username:e}}function cQe(e){return e?{token:yy(e),type:"Basic"}:void 0}});var l2=m((B6t,yhe)=>{var dQe="2.0.0",pQe=Number.MAX_SAFE_INTEGER||9007199254740991,fQe=16,hQe=250,mQe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];yhe.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:fQe,MAX_SAFE_BUILD_LENGTH:hQe,MAX_SAFE_INTEGER:pQe,RELEASE_TYPES:mQe,SEMVER_SPEC_VERSION:dQe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var c2=m((q6t,vhe)=>{var gQe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...e)=>console.error("SEMVER",...e):()=>{};vhe.exports=gQe});var Bf=m((Ao,whe)=>{var{MAX_SAFE_COMPONENT_LENGTH:KO,MAX_SAFE_BUILD_LENGTH:yQe,MAX_LENGTH:vQe}=l2(),wQe=c2();Ao=whe.exports={};var _Qe=Ao.re=[],DQe=Ao.safeRe=[],X=Ao.src=[],Y=Ao.t={},bQe=0,JO="[a-zA-Z0-9-]",EQe=[["\\s",1],["\\d",vQe],[JO,yQe]],xQe=e=>{for(let[t,r]of EQe)e=e.split(`${t}*`).join(`${t}{0,${r}}`).split(`${t}+`).join(`${t}{1,${r}}`);return e},ge=(e,t,r)=>{let i=xQe(t),n=bQe++;wQe(e,n,t),Y[e]=n,X[n]=t,_Qe[n]=new RegExp(t,r?"g":void 0),DQe[n]=new RegExp(i,r?"g":void 0)};ge("NUMERICIDENTIFIER","0|[1-9]\\d*");ge("NUMERICIDENTIFIERLOOSE","\\d+");ge("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${JO}*`);ge("MAINVERSION",`(${X[Y.NUMERICIDENTIFIER]})\\.(${X[Y.NUMERICIDENTIFIER]})\\.(${X[Y.NUMERICIDENTIFIER]})`);ge("MAINVERSIONLOOSE",`(${X[Y.NUMERICIDENTIFIERLOOSE]})\\.(${X[Y.NUMERICIDENTIFIERLOOSE]})\\.(${X[Y.NUMERICIDENTIFIERLOOSE]})`);ge("PRERELEASEIDENTIFIER",`(?:${X[Y.NUMERICIDENTIFIER]}|${X[Y.NONNUMERICIDENTIFIER]})`);ge("PRERELEASEIDENTIFIERLOOSE",`(?:${X[Y.NUMERICIDENTIFIERLOOSE]}|${X[Y.NONNUMERICIDENTIFIER]})`);ge("PRERELEASE",`(?:-(${X[Y.PRERELEASEIDENTIFIER]}(?:\\.${X[Y.PRERELEASEIDENTIFIER]})*))`);ge("PRERELEASELOOSE",`(?:-?(${X[Y.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${X[Y.PRERELEASEIDENTIFIERLOOSE]})*))`);ge("BUILDIDENTIFIER",`${JO}+`);ge("BUILD",`(?:\\+(${X[Y.BUILDIDENTIFIER]}(?:\\.${X[Y.BUILDIDENTIFIER]})*))`);ge("FULLPLAIN",`v?${X[Y.MAINVERSION]}${X[Y.PRERELEASE]}?${X[Y.BUILD]}?`);ge("FULL",`^${X[Y.FULLPLAIN]}$`);ge("LOOSEPLAIN",`[v=\\s]*${X[Y.MAINVERSIONLOOSE]}${X[Y.PRERELEASELOOSE]}?${X[Y.BUILD]}?`);ge("LOOSE",`^${X[Y.LOOSEPLAIN]}$`);ge("GTLT","((?:<|>)?=?)");ge("XRANGEIDENTIFIERLOOSE",`${X[Y.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);ge("XRANGEIDENTIFIER",`${X[Y.NUMERICIDENTIFIER]}|x|X|\\*`);ge("XRANGEPLAIN",`[v=\\s]*(${X[Y.XRANGEIDENTIFIER]})(?:\\.(${X[Y.XRANGEIDENTIFIER]})(?:\\.(${X[Y.XRANGEIDENTIFIER]})(?:${X[Y.PRERELEASE]})?${X[Y.BUILD]}?)?)?`);ge("XRANGEPLAINLOOSE",`[v=\\s]*(${X[Y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${X[Y.XRANGEIDENTIFIERLOOSE]})(?:\\.(${X[Y.XRANGEIDENTIFIERLOOSE]})(?:${X[Y.PRERELEASELOOSE]})?${X[Y.BUILD]}?)?)?`);ge("XRANGE",`^${X[Y.GTLT]}\\s*${X[Y.XRANGEPLAIN]}$`);ge("XRANGELOOSE",`^${X[Y.GTLT]}\\s*${X[Y.XRANGEPLAINLOOSE]}$`);ge("COERCE",`(^|[^\\d])(\\d{1,${KO}})(?:\\.(\\d{1,${KO}}))?(?:\\.(\\d{1,${KO}}))?(?:$|[^\\d])`);ge("COERCERTL",X[Y.COERCE],!0);ge("LONETILDE","(?:~>?)");ge("TILDETRIM",`(\\s*)${X[Y.LONETILDE]}\\s+`,!0);Ao.tildeTrimReplace="$1~";ge("TILDE",`^${X[Y.LONETILDE]}${X[Y.XRANGEPLAIN]}$`);ge("TILDELOOSE",`^${X[Y.LONETILDE]}${X[Y.XRANGEPLAINLOOSE]}$`);ge("LONECARET","(?:\\^)");ge("CARETTRIM",`(\\s*)${X[Y.LONECARET]}\\s+`,!0);Ao.caretTrimReplace="$1^";ge("CARET",`^${X[Y.LONECARET]}${X[Y.XRANGEPLAIN]}$`);ge("CARETLOOSE",`^${X[Y.LONECARET]}${X[Y.XRANGEPLAINLOOSE]}$`);ge("COMPARATORLOOSE",`^${X[Y.GTLT]}\\s*(${X[Y.LOOSEPLAIN]})$|^$`);ge("COMPARATOR",`^${X[Y.GTLT]}\\s*(${X[Y.FULLPLAIN]})$|^$`);ge("COMPARATORTRIM",`(\\s*)${X[Y.GTLT]}\\s*(${X[Y.LOOSEPLAIN]}|${X[Y.XRANGEPLAIN]})`,!0);Ao.comparatorTrimReplace="$1$2$3";ge("HYPHENRANGE",`^\\s*(${X[Y.XRANGEPLAIN]})\\s+-\\s+(${X[Y.XRANGEPLAIN]})\\s*$`);ge("HYPHENRANGELOOSE",`^\\s*(${X[Y.XRANGEPLAINLOOSE]})\\s+-\\s+(${X[Y.XRANGEPLAINLOOSE]})\\s*$`);ge("STAR","(<|>)?=?\\s*\\*");ge("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");ge("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var vy=m(($6t,_he)=>{var SQe=Object.freeze({loose:!0}),CQe=Object.freeze({}),AQe=e=>e?typeof e!="object"?SQe:e:CQe;_he.exports=AQe});var ZO=m((j6t,Ehe)=>{var Dhe=/^[0-9]+$/,bhe=(e,t)=>{let r=Dhe.test(e),i=Dhe.test(t);return r&&i&&(e=+e,t=+t),e===t?0:r&&!i?-1:i&&!r?1:e<t?-1:1},TQe=(e,t)=>bhe(t,e);Ehe.exports={compareIdentifiers:bhe,rcompareIdentifiers:TQe}});var ti=m((M6t,Ahe)=>{var wy=c2(),{MAX_LENGTH:xhe,MAX_SAFE_INTEGER:_y}=l2(),{safeRe:She,t:Che}=Bf(),OQe=vy(),{compareIdentifiers:qf}=ZO(),QO=class e{constructor(t,r){if(r=OQe(r),t instanceof e){if(t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease)return t;t=t.version}else if(typeof t!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof t}".`);if(t.length>xhe)throw new TypeError(`version is longer than ${xhe} characters`);wy("SemVer",t,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;let i=t.trim().match(r.loose?She[Che.LOOSE]:She[Che.FULL]);if(!i)throw new TypeError(`Invalid Version: ${t}`);if(this.raw=t,this.major=+i[1],this.minor=+i[2],this.patch=+i[3],this.major>_y||this.major<0)throw new TypeError("Invalid major version");if(this.minor>_y||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>_y||this.patch<0)throw new TypeError("Invalid patch version");i[4]?this.prerelease=i[4].split(".").map(n=>{if(/^[0-9]+$/.test(n)){let s=+n;if(s>=0&&s<_y)return s}return n}):this.prerelease=[],this.build=i[5]?i[5].split("."):[],this.format()}format(){return this.version=`${this.major}.${this.minor}.${this.patch}`,this.prerelease.length&&(this.version+=`-${this.prerelease.join(".")}`),this.version}toString(){return this.version}compare(t){if(wy("SemVer.compare",this.version,this.options,t),!(t instanceof e)){if(typeof t=="string"&&t===this.version)return 0;t=new e(t,this.options)}return t.version===this.version?0:this.compareMain(t)||this.comparePre(t)}compareMain(t){return t instanceof e||(t=new e(t,this.options)),qf(this.major,t.major)||qf(this.minor,t.minor)||qf(this.patch,t.patch)}comparePre(t){if(t instanceof e||(t=new e(t,this.options)),this.prerelease.length&&!t.prerelease.length)return-1;if(!this.prerelease.length&&t.prerelease.length)return 1;if(!this.prerelease.length&&!t.prerelease.length)return 0;let r=0;do{let i=this.prerelease[r],n=t.prerelease[r];if(wy("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return qf(i,n)}while(++r)}compareBuild(t){t instanceof e||(t=new e(t,this.options));let r=0;do{let i=this.build[r],n=t.build[r];if(wy("prerelease compare",r,i,n),i===void 0&&n===void 0)return 0;if(n===void 0)return 1;if(i===void 0)return-1;if(i===n)continue;return qf(i,n)}while(++r)}inc(t,r,i){switch(t){case"premajor":this.prerelease.length=0,this.patch=0,this.minor=0,this.major++,this.inc("pre",r,i);break;case"preminor":this.prerelease.length=0,this.patch=0,this.minor++,this.inc("pre",r,i);break;case"prepatch":this.prerelease.length=0,this.inc("patch",r,i),this.inc("pre",r,i);break;case"prerelease":this.prerelease.length===0&&this.inc("patch",r,i),this.inc("pre",r,i);break;case"major":(this.minor!==0||this.patch!==0||this.prerelease.length===0)&&this.major++,this.minor=0,this.patch=0,this.prerelease=[];break;case"minor":(this.patch!==0||this.prerelease.length===0)&&this.minor++,this.patch=0,this.prerelease=[];break;case"patch":this.prerelease.length===0&&this.patch++,this.prerelease=[];break;case"pre":{let n=Number(i)?1:0;if(!r&&i===!1)throw new Error("invalid increment argument: identifier is empty");if(this.prerelease.length===0)this.prerelease=[n];else{let s=this.prerelease.length;for(;--s>=0;)typeof this.prerelease[s]=="number"&&(this.prerelease[s]++,s=-2);if(s===-1){if(r===this.prerelease.join(".")&&i===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(n)}}if(r){let s=[r,n];i===!1&&(s=[r]),qf(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=s):this.prerelease=s}break}default:throw new Error(`invalid increment argument: ${t}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};Ahe.exports=QO});var Bc=m((U6t,Ohe)=>{var The=ti(),FQe=(e,t,r=!1)=>{if(e instanceof The)return e;try{return new The(e,t)}catch(i){if(!r)return null;throw i}};Ohe.exports=FQe});var Nhe=m((V6t,Fhe)=>{var NQe=Bc(),kQe=(e,t)=>{let r=NQe(e,t);return r?r.version:null};Fhe.exports=kQe});var Rhe=m((H6t,khe)=>{var RQe=Bc(),PQe=(e,t)=>{let r=RQe(e.trim().replace(/^[=v]+/,""),t);return r?r.version:null};khe.exports=PQe});var Lhe=m((z6t,Ihe)=>{var Phe=ti(),IQe=(e,t,r,i,n)=>{typeof r=="string"&&(n=i,i=r,r=void 0);try{return new Phe(e instanceof Phe?e.version:e,r).inc(t,i,n).version}catch{return null}};Ihe.exports=IQe});var $he=m((G6t,qhe)=>{var Bhe=Bc(),LQe=(e,t)=>{let r=Bhe(e,null,!0),i=Bhe(t,null,!0),n=r.compare(i);if(n===0)return null;let s=n>0,a=s?r:i,o=s?i:r,u=!!a.prerelease.length;if(!!o.prerelease.length&&!u)return!o.patch&&!o.minor?"major":a.patch?"patch":a.minor?"minor":"major";let c=u?"pre":"";return r.major!==i.major?c+"major":r.minor!==i.minor?c+"minor":r.patch!==i.patch?c+"patch":"prerelease"};qhe.exports=LQe});var Mhe=m((W6t,jhe)=>{var BQe=ti(),qQe=(e,t)=>new BQe(e,t).major;jhe.exports=qQe});var Vhe=m((X6t,Uhe)=>{var $Qe=ti(),jQe=(e,t)=>new $Qe(e,t).minor;Uhe.exports=jQe});var zhe=m((Y6t,Hhe)=>{var MQe=ti(),UQe=(e,t)=>new MQe(e,t).patch;Hhe.exports=UQe});var Whe=m((K6t,Ghe)=>{var VQe=Bc(),HQe=(e,t)=>{let r=VQe(e,t);return r&&r.prerelease.length?r.prerelease:null};Ghe.exports=HQe});var Gn=m((J6t,Yhe)=>{var Xhe=ti(),zQe=(e,t,r)=>new Xhe(e,r).compare(new Xhe(t,r));Yhe.exports=zQe});var Jhe=m((Z6t,Khe)=>{var GQe=Gn(),WQe=(e,t,r)=>GQe(t,e,r);Khe.exports=WQe});var Qhe=m((Q6t,Zhe)=>{var XQe=Gn(),YQe=(e,t)=>XQe(e,t,!0);Zhe.exports=YQe});var Dy=m((e4t,t0e)=>{var e0e=ti(),KQe=(e,t,r)=>{let i=new e0e(e,r),n=new e0e(t,r);return i.compare(n)||i.compareBuild(n)};t0e.exports=KQe});var i0e=m((t4t,r0e)=>{var JQe=Dy(),ZQe=(e,t)=>e.sort((r,i)=>JQe(r,i,t));r0e.exports=ZQe});var s0e=m((r4t,n0e)=>{var QQe=Dy(),eet=(e,t)=>e.sort((r,i)=>QQe(i,r,t));n0e.exports=eet});var d2=m((i4t,a0e)=>{var tet=Gn(),ret=(e,t,r)=>tet(e,t,r)>0;a0e.exports=ret});var by=m((n4t,o0e)=>{var iet=Gn(),net=(e,t,r)=>iet(e,t,r)<0;o0e.exports=net});var eF=m((s4t,u0e)=>{var set=Gn(),aet=(e,t,r)=>set(e,t,r)===0;u0e.exports=aet});var tF=m((a4t,l0e)=>{var oet=Gn(),uet=(e,t,r)=>oet(e,t,r)!==0;l0e.exports=uet});var Ey=m((o4t,c0e)=>{var cet=Gn(),det=(e,t,r)=>cet(e,t,r)>=0;c0e.exports=det});var xy=m((u4t,d0e)=>{var pet=Gn(),fet=(e,t,r)=>pet(e,t,r)<=0;d0e.exports=fet});var rF=m((l4t,p0e)=>{var het=eF(),met=tF(),get=d2(),yet=Ey(),vet=by(),wet=xy(),_et=(e,t,r,i)=>{switch(t){case"===":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e===r;case"!==":return typeof e=="object"&&(e=e.version),typeof r=="object"&&(r=r.version),e!==r;case"":case"=":case"==":return het(e,r,i);case"!=":return met(e,r,i);case">":return get(e,r,i);case">=":return yet(e,r,i);case"<":return vet(e,r,i);case"<=":return wet(e,r,i);default:throw new TypeError(`Invalid operator: ${t}`)}};p0e.exports=_et});var h0e=m((c4t,f0e)=>{var Det=ti(),bet=Bc(),{safeRe:Sy,t:Cy}=Bf(),Eet=(e,t)=>{if(e instanceof Det)return e;if(typeof e=="number"&&(e=String(e)),typeof e!="string")return null;t=t||{};let r=null;if(!t.rtl)r=e.match(Sy[Cy.COERCE]);else{let i;for(;(i=Sy[Cy.COERCERTL].exec(e))&&(!r||r.index+r[0].length!==e.length);)(!r||i.index+i[0].length!==r.index+r[0].length)&&(r=i),Sy[Cy.COERCERTL].lastIndex=i.index+i[1].length+i[2].length;Sy[Cy.COERCERTL].lastIndex=-1}return r===null?null:bet(`${r[2]}.${r[3]||"0"}.${r[4]||"0"}`,t)};f0e.exports=Eet});var g0e=m((d4t,m0e)=>{"use strict";m0e.exports=function(e){e.prototype[Symbol.iterator]=function*(){for(let t=this.head;t;t=t.next)yield t.value}}});var v0e=m((p4t,y0e)=>{"use strict";y0e.exports=ke;ke.Node=qc;ke.create=ke;function ke(e){var t=this;if(t instanceof ke||(t=new ke),t.tail=null,t.head=null,t.length=0,e&&typeof e.forEach=="function")e.forEach(function(n){t.push(n)});else if(arguments.length>0)for(var r=0,i=arguments.length;r<i;r++)t.push(arguments[r]);return t}ke.prototype.removeNode=function(e){if(e.list!==this)throw new Error("removing node which does not belong to this list");var t=e.next,r=e.prev;return t&&(t.prev=r),r&&(r.next=t),e===this.head&&(this.head=t),e===this.tail&&(this.tail=r),e.list.length--,e.next=null,e.prev=null,e.list=null,t};ke.prototype.unshiftNode=function(e){if(e!==this.head){e.list&&e.list.removeNode(e);var t=this.head;e.list=this,e.next=t,t&&(t.prev=e),this.head=e,this.tail||(this.tail=e),this.length++}};ke.prototype.pushNode=function(e){if(e!==this.tail){e.list&&e.list.removeNode(e);var t=this.tail;e.list=this,e.prev=t,t&&(t.next=e),this.tail=e,this.head||(this.head=e),this.length++}};ke.prototype.push=function(){for(var e=0,t=arguments.length;e<t;e++)Cet(this,arguments[e]);return this.length};ke.prototype.unshift=function(){for(var e=0,t=arguments.length;e<t;e++)Aet(this,arguments[e]);return this.length};ke.prototype.pop=function(){if(this.tail){var e=this.tail.value;return this.tail=this.tail.prev,this.tail?this.tail.next=null:this.head=null,this.length--,e}};ke.prototype.shift=function(){if(this.head){var e=this.head.value;return this.head=this.head.next,this.head?this.head.prev=null:this.tail=null,this.length--,e}};ke.prototype.forEach=function(e,t){t=t||this;for(var r=this.head,i=0;r!==null;i++)e.call(t,r.value,i,this),r=r.next};ke.prototype.forEachReverse=function(e,t){t=t||this;for(var r=this.tail,i=this.length-1;r!==null;i--)e.call(t,r.value,i,this),r=r.prev};ke.prototype.get=function(e){for(var t=0,r=this.head;r!==null&&t<e;t++)r=r.next;if(t===e&&r!==null)return r.value};ke.prototype.getReverse=function(e){for(var t=0,r=this.tail;r!==null&&t<e;t++)r=r.prev;if(t===e&&r!==null)return r.value};ke.prototype.map=function(e,t){t=t||this;for(var r=new ke,i=this.head;i!==null;)r.push(e.call(t,i.value,this)),i=i.next;return r};ke.prototype.mapReverse=function(e,t){t=t||this;for(var r=new ke,i=this.tail;i!==null;)r.push(e.call(t,i.value,this)),i=i.prev;return r};ke.prototype.reduce=function(e,t){var r,i=this.head;if(arguments.length>1)r=t;else if(this.head)i=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=0;i!==null;n++)r=e(r,i.value,n),i=i.next;return r};ke.prototype.reduceReverse=function(e,t){var r,i=this.tail;if(arguments.length>1)r=t;else if(this.tail)i=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var n=this.length-1;i!==null;n--)r=e(r,i.value,n),i=i.prev;return r};ke.prototype.toArray=function(){for(var e=new Array(this.length),t=0,r=this.head;r!==null;t++)e[t]=r.value,r=r.next;return e};ke.prototype.toArrayReverse=function(){for(var e=new Array(this.length),t=0,r=this.tail;r!==null;t++)e[t]=r.value,r=r.prev;return e};ke.prototype.slice=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new ke;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=0,n=this.head;n!==null&&i<e;i++)n=n.next;for(;n!==null&&i<t;i++,n=n.next)r.push(n.value);return r};ke.prototype.sliceReverse=function(e,t){t=t||this.length,t<0&&(t+=this.length),e=e||0,e<0&&(e+=this.length);var r=new ke;if(t<e||t<0)return r;e<0&&(e=0),t>this.length&&(t=this.length);for(var i=this.length,n=this.tail;n!==null&&i>t;i--)n=n.prev;for(;n!==null&&i>e;i--,n=n.prev)r.push(n.value);return r};ke.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var i=0,n=this.head;n!==null&&i<e;i++)n=n.next;for(var s=[],i=0;n&&i<t;i++)s.push(n.value),n=this.removeNode(n);n===null&&(n=this.tail),n!==this.head&&n!==this.tail&&(n=n.prev);for(var i=0;i<r.length;i++)n=xet(this,n,r[i]);return s};ke.prototype.reverse=function(){for(var e=this.head,t=this.tail,r=e;r!==null;r=r.prev){var i=r.prev;r.prev=r.next,r.next=i}return this.head=t,this.tail=e,this};function xet(e,t,r){var i=t===e.head?new qc(r,null,t,e):new qc(r,t,t.next,e);return i.next===null&&(e.tail=i),i.prev===null&&(e.head=i),e.length++,i}function Cet(e,t){e.tail=new qc(t,e.tail,null,e),e.head||(e.head=e.tail),e.length++}function Aet(e,t){e.head=new qc(t,null,e.head,e),e.tail||(e.tail=e.head),e.length++}function qc(e,t,r,i){if(!(this instanceof qc))return new qc(e,t,r,i);this.list=i,this.value=e,t?(t.next=this,this.prev=t):this.prev=null,r?(r.prev=this,this.next=r):this.next=null}try{g0e()(ke)}catch{}});var E0e=m((f4t,b0e)=>{"use strict";var Tet=v0e(),$c=Symbol("max"),Oo=Symbol("length"),$f=Symbol("lengthCalculator"),f2=Symbol("allowStale"),jc=Symbol("maxAge"),To=Symbol("dispose"),w0e=Symbol("noDisposeOnSet"),Er=Symbol("lruList"),_s=Symbol("cache"),D0e=Symbol("updateAgeOnGet"),iF=()=>1,sF=class{constructor(t){if(typeof t=="number"&&(t={max:t}),t||(t={}),t.max&&(typeof t.max!="number"||t.max<0))throw new TypeError("max must be a non-negative number");let r=this[$c]=t.max||1/0,i=t.length||iF;if(this[$f]=typeof i!="function"?iF:i,this[f2]=t.stale||!1,t.maxAge&&typeof t.maxAge!="number")throw new TypeError("maxAge must be a number");this[jc]=t.maxAge||0,this[To]=t.dispose,this[w0e]=t.noDisposeOnSet||!1,this[D0e]=t.updateAgeOnGet||!1,this.reset()}set max(t){if(typeof t!="number"||t<0)throw new TypeError("max must be a non-negative number");this[$c]=t||1/0,p2(this)}get max(){return this[$c]}set allowStale(t){this[f2]=!!t}get allowStale(){return this[f2]}set maxAge(t){if(typeof t!="number")throw new TypeError("maxAge must be a non-negative number");this[jc]=t,p2(this)}get maxAge(){return this[jc]}set lengthCalculator(t){typeof t!="function"&&(t=iF),t!==this[$f]&&(this[$f]=t,this[Oo]=0,this[Er].forEach(r=>{r.length=this[$f](r.value,r.key),this[Oo]+=r.length})),p2(this)}get lengthCalculator(){return this[$f]}get length(){return this[Oo]}get itemCount(){return this[Er].length}rforEach(t,r){r=r||this;for(let i=this[Er].tail;i!==null;){let n=i.prev;_0e(this,t,i,r),i=n}}forEach(t,r){r=r||this;for(let i=this[Er].head;i!==null;){let n=i.next;_0e(this,t,i,r),i=n}}keys(){return this[Er].toArray().map(t=>t.key)}values(){return this[Er].toArray().map(t=>t.value)}reset(){this[To]&&this[Er]&&this[Er].length&&this[Er].forEach(t=>this[To](t.key,t.value)),this[_s]=new Map,this[Er]=new Tet,this[Oo]=0}dump(){return this[Er].map(t=>Ay(this,t)?!1:{k:t.key,v:t.value,e:t.now+(t.maxAge||0)}).toArray().filter(t=>t)}dumpLru(){return this[Er]}set(t,r,i){if(i=i||this[jc],i&&typeof i!="number")throw new TypeError("maxAge must be a number");let n=i?Date.now():0,s=this[$f](r,t);if(this[_s].has(t)){if(s>this[$c])return jf(this,this[_s].get(t)),!1;let u=this[_s].get(t).value;return this[To]&&(this[w0e]||this[To](t,u.value)),u.now=n,u.maxAge=i,u.value=r,this[Oo]+=s-u.length,u.length=s,this.get(t),p2(this),!0}let a=new aF(t,r,s,n,i);return a.length>this[$c]?(this[To]&&this[To](t,r),!1):(this[Oo]+=a.length,this[Er].unshift(a),this[_s].set(t,this[Er].head),p2(this),!0)}has(t){if(!this[_s].has(t))return!1;let r=this[_s].get(t).value;return!Ay(this,r)}get(t){return nF(this,t,!0)}peek(t){return nF(this,t,!1)}pop(){let t=this[Er].tail;return t?(jf(this,t),t.value):null}del(t){jf(this,this[_s].get(t))}load(t){this.reset();let r=Date.now();for(let i=t.length-1;i>=0;i--){let n=t[i],s=n.e||0;if(s===0)this.set(n.k,n.v);else{let a=s-r;a>0&&this.set(n.k,n.v,a)}}}prune(){this[_s].forEach((t,r)=>nF(this,r,!1))}},nF=(e,t,r)=>{let i=e[_s].get(t);if(i){let n=i.value;if(Ay(e,n)){if(jf(e,i),!e[f2])return}else r&&(e[D0e]&&(i.value.now=Date.now()),e[Er].unshiftNode(i));return n.value}},Ay=(e,t)=>{if(!t||!t.maxAge&&!e[jc])return!1;let r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[jc]&&r>e[jc]},p2=e=>{if(e[Oo]>e[$c])for(let t=e[Er].tail;e[Oo]>e[$c]&&t!==null;){let r=t.prev;jf(e,t),t=r}},jf=(e,t)=>{if(t){let r=t.value;e[To]&&e[To](r.key,r.value),e[Oo]-=r.length,e[_s].delete(r.key),e[Er].removeNode(t)}},aF=class{constructor(t,r,i,n,s){this.key=t,this.value=r,this.length=i,this.now=n,this.maxAge=s||0}},_0e=(e,t,r,i)=>{let n=r.value;Ay(e,n)&&(jf(e,r),e[f2]||(n=void 0)),n&&t.call(i,n.value,n.key,e)};b0e.exports=sF});var Wn=m((h4t,A0e)=>{var oF=class e{constructor(t,r){if(r=Fet(r),t instanceof e)return t.loose===!!r.loose&&t.includePrerelease===!!r.includePrerelease?t:new e(t.raw,r);if(t instanceof uF)return this.raw=t.value,this.set=[[t]],this.format(),this;if(this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease,this.raw=t.trim().split(/\s+/).join(" "),this.set=this.raw.split("||").map(i=>this.parseRange(i.trim())).filter(i=>i.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${this.raw}`);if(this.set.length>1){let i=this.set[0];if(this.set=this.set.filter(n=>!S0e(n[0])),this.set.length===0)this.set=[i];else if(this.set.length>1){for(let n of this.set)if(n.length===1&&Bet(n[0])){this.set=[n];break}}}this.format()}format(){return this.range=this.set.map(t=>t.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(t){let i=((this.options.includePrerelease&&Iet)|(this.options.loose&&Let))+":"+t,n=x0e.get(i);if(n)return n;let s=this.options.loose,a=s?Vi[vi.HYPHENRANGELOOSE]:Vi[vi.HYPHENRANGE];t=t.replace(a,Wet(this.options.includePrerelease)),ut("hyphen replace",t),t=t.replace(Vi[vi.COMPARATORTRIM],ket),ut("comparator trim",t),t=t.replace(Vi[vi.TILDETRIM],Ret),ut("tilde trim",t),t=t.replace(Vi[vi.CARETTRIM],Pet),ut("caret trim",t);let o=t.split(" ").map(d=>qet(d,this.options)).join(" ").split(/\s+/).map(d=>Get(d,this.options));s&&(o=o.filter(d=>(ut("loose invalid filter",d,this.options),!!d.match(Vi[vi.COMPARATORLOOSE])))),ut("range list",o);let u=new Map,l=o.map(d=>new uF(d,this.options));for(let d of l){if(S0e(d))return[d];u.set(d.value,d)}u.size>1&&u.has("")&&u.delete("");let c=[...u.values()];return x0e.set(i,c),c}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Range is required");return this.set.some(i=>C0e(i,r)&&t.set.some(n=>C0e(n,r)&&i.every(s=>n.every(a=>s.intersects(a,r)))))}test(t){if(!t)return!1;if(typeof t=="string")try{t=new Net(t,this.options)}catch{return!1}for(let r=0;r<this.set.length;r++)if(Xet(this.set[r],t,this.options))return!0;return!1}};A0e.exports=oF;var Oet=E0e(),x0e=new Oet({max:1e3}),Fet=vy(),uF=h2(),ut=c2(),Net=ti(),{safeRe:Vi,t:vi,comparatorTrimReplace:ket,tildeTrimReplace:Ret,caretTrimReplace:Pet}=Bf(),{FLAG_INCLUDE_PRERELEASE:Iet,FLAG_LOOSE:Let}=l2(),S0e=e=>e.value==="<0.0.0-0",Bet=e=>e.value==="",C0e=(e,t)=>{let r=!0,i=e.slice(),n=i.pop();for(;r&&i.length;)r=i.every(s=>n.intersects(s,t)),n=i.pop();return r},qet=(e,t)=>(ut("comp",e,t),e=Met(e,t),ut("caret",e),e=$et(e,t),ut("tildes",e),e=Vet(e,t),ut("xrange",e),e=zet(e,t),ut("stars",e),e),wi=e=>!e||e.toLowerCase()==="x"||e==="*",$et=(e,t)=>e.trim().split(/\s+/).map(r=>jet(r,t)).join(" "),jet=(e,t)=>{let r=t.loose?Vi[vi.TILDELOOSE]:Vi[vi.TILDE];return e.replace(r,(i,n,s,a,o)=>{ut("tilde",e,i,n,s,a,o);let u;return wi(n)?u="":wi(s)?u=`>=${n}.0.0 <${+n+1}.0.0-0`:wi(a)?u=`>=${n}.${s}.0 <${n}.${+s+1}.0-0`:o?(ut("replaceTilde pr",o),u=`>=${n}.${s}.${a}-${o} <${n}.${+s+1}.0-0`):u=`>=${n}.${s}.${a} <${n}.${+s+1}.0-0`,ut("tilde return",u),u})},Met=(e,t)=>e.trim().split(/\s+/).map(r=>Uet(r,t)).join(" "),Uet=(e,t)=>{ut("caret",e,t);let r=t.loose?Vi[vi.CARETLOOSE]:Vi[vi.CARET],i=t.includePrerelease?"-0":"";return e.replace(r,(n,s,a,o,u)=>{ut("caret",e,n,s,a,o,u);let l;return wi(s)?l="":wi(a)?l=`>=${s}.0.0${i} <${+s+1}.0.0-0`:wi(o)?s==="0"?l=`>=${s}.${a}.0${i} <${s}.${+a+1}.0-0`:l=`>=${s}.${a}.0${i} <${+s+1}.0.0-0`:u?(ut("replaceCaret pr",u),s==="0"?a==="0"?l=`>=${s}.${a}.${o}-${u} <${s}.${a}.${+o+1}-0`:l=`>=${s}.${a}.${o}-${u} <${s}.${+a+1}.0-0`:l=`>=${s}.${a}.${o}-${u} <${+s+1}.0.0-0`):(ut("no pr"),s==="0"?a==="0"?l=`>=${s}.${a}.${o}${i} <${s}.${a}.${+o+1}-0`:l=`>=${s}.${a}.${o}${i} <${s}.${+a+1}.0-0`:l=`>=${s}.${a}.${o} <${+s+1}.0.0-0`),ut("caret return",l),l})},Vet=(e,t)=>(ut("replaceXRanges",e,t),e.split(/\s+/).map(r=>Het(r,t)).join(" ")),Het=(e,t)=>{e=e.trim();let r=t.loose?Vi[vi.XRANGELOOSE]:Vi[vi.XRANGE];return e.replace(r,(i,n,s,a,o,u)=>{ut("xRange",e,i,n,s,a,o,u);let l=wi(s),c=l||wi(a),d=c||wi(o),p=d;return n==="="&&p&&(n=""),u=t.includePrerelease?"-0":"",l?n===">"||n==="<"?i="<0.0.0-0":i="*":n&&p?(c&&(a=0),o=0,n===">"?(n=">=",c?(s=+s+1,a=0,o=0):(a=+a+1,o=0)):n==="<="&&(n="<",c?s=+s+1:a=+a+1),n==="<"&&(u="-0"),i=`${n+s}.${a}.${o}${u}`):c?i=`>=${s}.0.0${u} <${+s+1}.0.0-0`:d&&(i=`>=${s}.${a}.0${u} <${s}.${+a+1}.0-0`),ut("xRange return",i),i})},zet=(e,t)=>(ut("replaceStars",e,t),e.trim().replace(Vi[vi.STAR],"")),Get=(e,t)=>(ut("replaceGTE0",e,t),e.trim().replace(Vi[t.includePrerelease?vi.GTE0PRE:vi.GTE0],"")),Wet=e=>(t,r,i,n,s,a,o,u,l,c,d,p,f)=>(wi(i)?r="":wi(n)?r=`>=${i}.0.0${e?"-0":""}`:wi(s)?r=`>=${i}.${n}.0${e?"-0":""}`:a?r=`>=${r}`:r=`>=${r}${e?"-0":""}`,wi(l)?u="":wi(c)?u=`<${+l+1}.0.0-0`:wi(d)?u=`<${l}.${+c+1}.0-0`:p?u=`<=${l}.${c}.${d}-${p}`:e?u=`<${l}.${c}.${+d+1}-0`:u=`<=${u}`,`${r} ${u}`.trim()),Xet=(e,t,r)=>{for(let i=0;i<e.length;i++)if(!e[i].test(t))return!1;if(t.prerelease.length&&!r.includePrerelease){for(let i=0;i<e.length;i++)if(ut(e[i].semver),e[i].semver!==uF.ANY&&e[i].semver.prerelease.length>0){let n=e[i].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}});var h2=m((m4t,R0e)=>{var m2=Symbol("SemVer ANY"),dF=class e{static get ANY(){return m2}constructor(t,r){if(r=T0e(r),t instanceof e){if(t.loose===!!r.loose)return t;t=t.value}t=t.trim().split(/\s+/).join(" "),cF("comparator",t,r),this.options=r,this.loose=!!r.loose,this.parse(t),this.semver===m2?this.value="":this.value=this.operator+this.semver.version,cF("comp",this)}parse(t){let r=this.options.loose?O0e[F0e.COMPARATORLOOSE]:O0e[F0e.COMPARATOR],i=t.match(r);if(!i)throw new TypeError(`Invalid comparator: ${t}`);this.operator=i[1]!==void 0?i[1]:"",this.operator==="="&&(this.operator=""),i[2]?this.semver=new N0e(i[2],this.options.loose):this.semver=m2}toString(){return this.value}test(t){if(cF("Comparator.test",t,this.options.loose),this.semver===m2||t===m2)return!0;if(typeof t=="string")try{t=new N0e(t,this.options)}catch{return!1}return lF(t,this.operator,this.semver,this.options)}intersects(t,r){if(!(t instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new k0e(t.value,r).test(this.value):t.operator===""?t.value===""?!0:new k0e(this.value,r).test(t.semver):(r=T0e(r),r.includePrerelease&&(this.value==="<0.0.0-0"||t.value==="<0.0.0-0")||!r.includePrerelease&&(this.value.startsWith("<0.0.0")||t.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&t.operator.startsWith(">")||this.operator.startsWith("<")&&t.operator.startsWith("<")||this.semver.version===t.semver.version&&this.operator.includes("=")&&t.operator.includes("=")||lF(this.semver,"<",t.semver,r)&&this.operator.startsWith(">")&&t.operator.startsWith("<")||lF(this.semver,">",t.semver,r)&&this.operator.startsWith("<")&&t.operator.startsWith(">")))}};R0e.exports=dF;var T0e=vy(),{safeRe:O0e,t:F0e}=Bf(),lF=rF(),cF=c2(),N0e=ti(),k0e=Wn()});var g2=m((g4t,P0e)=>{var Yet=Wn(),Ket=(e,t,r)=>{try{t=new Yet(t,r)}catch{return!1}return t.test(e)};P0e.exports=Ket});var L0e=m((y4t,I0e)=>{var Jet=Wn(),Zet=(e,t)=>new Jet(e,t).set.map(r=>r.map(i=>i.value).join(" ").trim().split(" "));I0e.exports=Zet});var q0e=m((v4t,B0e)=>{var Qet=ti(),ett=Wn(),ttt=(e,t,r)=>{let i=null,n=null,s=null;try{s=new ett(t,r)}catch{return null}return e.forEach(a=>{s.test(a)&&(!i||n.compare(a)===-1)&&(i=a,n=new Qet(i,r))}),i};B0e.exports=ttt});var j0e=m((w4t,$0e)=>{var rtt=ti(),itt=Wn(),ntt=(e,t,r)=>{let i=null,n=null,s=null;try{s=new itt(t,r)}catch{return null}return e.forEach(a=>{s.test(a)&&(!i||n.compare(a)===1)&&(i=a,n=new rtt(i,r))}),i};$0e.exports=ntt});var V0e=m((_4t,U0e)=>{var pF=ti(),stt=Wn(),M0e=d2(),att=(e,t)=>{e=new stt(e,t);let r=new pF("0.0.0");if(e.test(r)||(r=new pF("0.0.0-0"),e.test(r)))return r;r=null;for(let i=0;i<e.set.length;++i){let n=e.set[i],s=null;n.forEach(a=>{let o=new pF(a.semver.version);switch(a.operator){case">":o.prerelease.length===0?o.patch++:o.prerelease.push(0),o.raw=o.format();case"":case">=":(!s||M0e(o,s))&&(s=o);break;case"<":case"<=":break;default:throw new Error(`Unexpected operation: ${a.operator}`)}}),s&&(!r||M0e(r,s))&&(r=s)}return r&&e.test(r)?r:null};U0e.exports=att});var z0e=m((D4t,H0e)=>{var ott=Wn(),utt=(e,t)=>{try{return new ott(e,t).range||"*"}catch{return null}};H0e.exports=utt});var Ty=m((b4t,Y0e)=>{var ltt=ti(),X0e=h2(),{ANY:ctt}=X0e,dtt=Wn(),ptt=g2(),G0e=d2(),W0e=by(),ftt=xy(),htt=Ey(),mtt=(e,t,r,i)=>{e=new ltt(e,i),t=new dtt(t,i);let n,s,a,o,u;switch(r){case">":n=G0e,s=ftt,a=W0e,o=">",u=">=";break;case"<":n=W0e,s=htt,a=G0e,o="<",u="<=";break;default:throw new TypeError('Must provide a hilo val of "<" or ">"')}if(ptt(e,t,i))return!1;for(let l=0;l<t.set.length;++l){let c=t.set[l],d=null,p=null;if(c.forEach(f=>{f.semver===ctt&&(f=new X0e(">=0.0.0")),d=d||f,p=p||f,n(f.semver,d.semver,i)?d=f:a(f.semver,p.semver,i)&&(p=f)}),d.operator===o||d.operator===u||(!p.operator||p.operator===o)&&s(e,p.semver))return!1;if(p.operator===u&&a(e,p.semver))return!1}return!0};Y0e.exports=mtt});var J0e=m((E4t,K0e)=>{var gtt=Ty(),ytt=(e,t,r)=>gtt(e,t,">",r);K0e.exports=ytt});var Q0e=m((x4t,Z0e)=>{var vtt=Ty(),wtt=(e,t,r)=>vtt(e,t,"<",r);Z0e.exports=wtt});var rme=m((S4t,tme)=>{var eme=Wn(),_tt=(e,t,r)=>(e=new eme(e,r),t=new eme(t,r),e.intersects(t,r));tme.exports=_tt});var nme=m((C4t,ime)=>{var Dtt=g2(),btt=Gn();ime.exports=(e,t,r)=>{let i=[],n=null,s=null,a=e.sort((c,d)=>btt(c,d,r));for(let c of a)Dtt(c,t,r)?(s=c,n||(n=c)):(s&&i.push([n,s]),s=null,n=null);n&&i.push([n,null]);let o=[];for(let[c,d]of i)c===d?o.push(c):!d&&c===a[0]?o.push("*"):d?c===a[0]?o.push(`<=${d}`):o.push(`${c} - ${d}`):o.push(`>=${c}`);let u=o.join(" || "),l=typeof t.raw=="string"?t.raw:String(t);return u.length<l.length?u:t}});var cme=m((A4t,lme)=>{var sme=Wn(),hF=h2(),{ANY:fF}=hF,y2=g2(),mF=Gn(),Ett=(e,t,r={})=>{if(e===t)return!0;e=new sme(e,r),t=new sme(t,r);let i=!1;e:for(let n of e.set){for(let s of t.set){let a=Stt(n,s,r);if(i=i||a!==null,a)continue e}if(i)return!1}return!0},xtt=[new hF(">=0.0.0-0")],ame=[new hF(">=0.0.0")],Stt=(e,t,r)=>{if(e===t)return!0;if(e.length===1&&e[0].semver===fF){if(t.length===1&&t[0].semver===fF)return!0;r.includePrerelease?e=xtt:e=ame}if(t.length===1&&t[0].semver===fF){if(r.includePrerelease)return!0;t=ame}let i=new Set,n,s;for(let f of e)f.operator===">"||f.operator===">="?n=ome(n,f,r):f.operator==="<"||f.operator==="<="?s=ume(s,f,r):i.add(f.semver);if(i.size>1)return null;let a;if(n&&s){if(a=mF(n.semver,s.semver,r),a>0)return null;if(a===0&&(n.operator!==">="||s.operator!=="<="))return null}for(let f of i){if(n&&!y2(f,String(n),r)||s&&!y2(f,String(s),r))return null;for(let h of t)if(!y2(f,String(h),r))return!1;return!0}let o,u,l,c,d=s&&!r.includePrerelease&&s.semver.prerelease.length?s.semver:!1,p=n&&!r.includePrerelease&&n.semver.prerelease.length?n.semver:!1;d&&d.prerelease.length===1&&s.operator==="<"&&d.prerelease[0]===0&&(d=!1);for(let f of t){if(c=c||f.operator===">"||f.operator===">=",l=l||f.operator==="<"||f.operator==="<=",n){if(p&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===p.major&&f.semver.minor===p.minor&&f.semver.patch===p.patch&&(p=!1),f.operator===">"||f.operator===">="){if(o=ome(n,f,r),o===f&&o!==n)return!1}else if(n.operator===">="&&!y2(n.semver,String(f),r))return!1}if(s){if(d&&f.semver.prerelease&&f.semver.prerelease.length&&f.semver.major===d.major&&f.semver.minor===d.minor&&f.semver.patch===d.patch&&(d=!1),f.operator==="<"||f.operator==="<="){if(u=ume(s,f,r),u===f&&u!==s)return!1}else if(s.operator==="<="&&!y2(s.semver,String(f),r))return!1}if(!f.operator&&(s||n)&&a!==0)return!1}return!(n&&l&&!s&&a!==0||s&&c&&!n&&a!==0||p||d)},ome=(e,t,r)=>{if(!e)return t;let i=mF(e.semver,t.semver,r);return i>0?e:i<0||t.operator===">"&&e.operator===">="?t:e},ume=(e,t,r)=>{if(!e)return t;let i=mF(e.semver,t.semver,r);return i<0?e:i>0||t.operator==="<"&&e.operator==="<="?t:e};lme.exports=Ett});var hme=m((T4t,fme)=>{var gF=Bf(),dme=l2(),Ctt=ti(),pme=ZO(),Att=Bc(),Ttt=Nhe(),Ott=Rhe(),Ftt=Lhe(),Ntt=$he(),ktt=Mhe(),Rtt=Vhe(),Ptt=zhe(),Itt=Whe(),Ltt=Gn(),Btt=Jhe(),qtt=Qhe(),$tt=Dy(),jtt=i0e(),Mtt=s0e(),Utt=d2(),Vtt=by(),Htt=eF(),ztt=tF(),Gtt=Ey(),Wtt=xy(),Xtt=rF(),Ytt=h0e(),Ktt=h2(),Jtt=Wn(),Ztt=g2(),Qtt=L0e(),ert=q0e(),trt=j0e(),rrt=V0e(),irt=z0e(),nrt=Ty(),srt=J0e(),art=Q0e(),ort=rme(),urt=nme(),lrt=cme();fme.exports={parse:Att,valid:Ttt,clean:Ott,inc:Ftt,diff:Ntt,major:ktt,minor:Rtt,patch:Ptt,prerelease:Itt,compare:Ltt,rcompare:Btt,compareLoose:qtt,compareBuild:$tt,sort:jtt,rsort:Mtt,gt:Utt,lt:Vtt,eq:Htt,neq:ztt,gte:Gtt,lte:Wtt,cmp:Xtt,coerce:Ytt,Comparator:Ktt,Range:Jtt,satisfies:Ztt,toComparators:Qtt,maxSatisfying:ert,minSatisfying:trt,minVersion:rrt,validRange:irt,outside:nrt,gtr:srt,ltr:art,intersects:ort,simplifyRange:urt,subset:lrt,SemVer:Ctt,re:gF.re,src:gF.src,tokens:gF.t,SEMVER_SPEC_VERSION:dme.SEMVER_SPEC_VERSION,RELEASE_TYPES:dme.RELEASE_TYPES,compareIdentifiers:pme.compareIdentifiers,rcompareIdentifiers:pme.rcompareIdentifiers}});var yF=m((O4t,vme)=>{var crt=require("url"),{getIt:drt}=Afe(),{debug:prt,retry:mme,promise:frt,httpErrors:hrt,jsonResponse:mrt}=Gfe(),grt=y1e(),yrt=ghe(),vrt=hme(),wrt=e=>/(application\/json|\+json)/.test(e||"");function _rt(e,t,r){let i=e.response||{statusCode:500,headers:{}};return mme.shouldRetry(e,t,r)||i&&i.statusCode>=500||i.statusCode<300&&!wrt(i.headers["content-type"])}function Drt(e,t){if(t.registryUrl)return t.registryUrl;let r=e.split("/")[0];return grt(r)}var gme=drt([mrt({force:!0}),hrt(),prt({namespace:"get-latest-version"}),frt(),mme({shouldRetry:_rt})]);async function yme(e,t){let r=typeof t=="string"?{range:t,auth:!0}:Object.assign({range:"latest",auth:!0},t),i=Drt(e,r),n=crt.resolve(i,encodeURIComponent(e).replace(/^%40/,"@")),s=r.auth&&yrt(i,{recursive:!0}),a=r.request||gme,o={accept:"application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*"};s&&(o.authorization=`${s.type} ${s.token}`);let u;try{u=await a({url:n,headers:o})}catch(h){throw h.response&&h.response.statusCode===404?new Error(`Package \`${e}\` doesn't exist`):h}let l=u.body,c=r.range,d=l["dist-tags"].latest;if(l["dist-tags"][c])return r.includeLatest?{latest:d,inRange:l["dist-tags"][c]}:l["dist-tags"][c];if(l.versions[c])return r.includeLatest?{latest:d,inRange:c}:c;let p=Object.keys(l.versions),f=vrt.maxSatisfying(p,c);return f?r.includeLatest?{latest:d,inRange:f}:f:r.includeLatest?{latest:d,inRange:void 0}:void 0}yme.request=gme;vme.exports=yme});var jme=m((j4t,Fo)=>{var Qt=require("fs"),bF=require("os"),un=require("path"),Sme=require("crypto"),ga={fs:Qt.constants,os:bF.constants},Cme="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Tme=/XXXXXX/,xrt=3,Ome=(ga.O_CREAT||ga.fs.O_CREAT)|(ga.O_EXCL||ga.fs.O_EXCL)|(ga.O_RDWR||ga.fs.O_RDWR),Srt=bF.platform()==="win32",Crt=ga.EBADF||ga.os.errno.EBADF,Art=ga.ENOENT||ga.os.errno.ENOENT,Fme=448,Nme=384,Trt="exit",Mf=[],kme=Qt.rmdirSync.bind(Qt),Rme=!1;function Ort(e,t){return Qt.rm(e,{recursive:!0},t)}function Pme(e){return Qt.rmSync(e,{recursive:!0})}function EF(e,t){let r=Uf(e,t),i=r[0],n=r[1];try{Bme(i)}catch(a){return n(a)}let s=i.tries;(function a(){try{let o=Lme(i);Qt.stat(o,function(u){if(!u)return s-- >0?a():n(new Error("Could not get a unique tmp filename, max tries reached "+o));n(null,o)})}catch(o){n(o)}})()}function xF(e){let t=Uf(e),r=t[0];Bme(r);let i=r.tries;do{let n=Lme(r);try{Qt.statSync(n)}catch{return n}}while(i-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function Frt(e,t){let r=Uf(e,t),i=r[0],n=r[1];EF(i,function(a,o){if(a)return n(a);Qt.open(o,Ome,i.mode||Nme,function(l,c){if(l)return n(l);if(i.discardDescriptor)return Qt.close(c,function(p){return n(p,o,void 0,wF(o,-1,i,!1))});{let d=i.discardDescriptor||i.detachDescriptor;n(null,o,c,wF(o,d?-1:c,i,!1))}})})}function Nrt(e){let t=Uf(e),r=t[0],i=r.discardDescriptor||r.detachDescriptor,n=xF(r);var s=Qt.openSync(n,Ome,r.mode||Nme);return r.discardDescriptor&&(Qt.closeSync(s),s=void 0),{name:n,fd:s,removeCallback:wF(n,i?-1:s,r,!0)}}function krt(e,t){let r=Uf(e,t),i=r[0],n=r[1];EF(i,function(a,o){if(a)return n(a);Qt.mkdir(o,i.mode||Fme,function(l){if(l)return n(l);n(null,o,Ime(o,i,!1))})})}function Rrt(e){let t=Uf(e),r=t[0],i=xF(r);return Qt.mkdirSync(i,r.mode||Fme),{name:i,removeCallback:Ime(i,r,!0)}}function Prt(e,t){let r=function(i){if(i&&!DF(i))return t(i);t()};0<=e[0]?Qt.close(e[0],function(){Qt.unlink(e[1],r)}):Qt.unlink(e[1],r)}function Irt(e){let t=null;try{0<=e[0]&&Qt.closeSync(e[0])}catch(r){if(!qrt(r)&&!DF(r))throw r}finally{try{Qt.unlinkSync(e[1])}catch(r){DF(r)||(t=r)}}if(t!==null)throw t}function wF(e,t,r,i){let n=Oy(Irt,[t,e],i),s=Oy(Prt,[t,e],i,n);return r.keep||Mf.unshift(n),i?n:s}function Ime(e,t,r){let i=t.unsafeCleanup?Ort:Qt.rmdir.bind(Qt),n=t.unsafeCleanup?Pme:kme,s=Oy(n,e,r),a=Oy(i,e,r,s);return t.keep||Mf.unshift(s),r?s:a}function Oy(e,t,r,i){let n=!1;return function s(a){if(!n){let o=i||s,u=Mf.indexOf(o);return u>=0&&Mf.splice(u,1),n=!0,r||e===kme||e===Pme?e(t):e(t,a||function(){})}}}function Lrt(){if(Rme)for(;Mf.length;)try{Mf[0]()}catch{}}function Ame(e){let t=[],r=null;try{r=Sme.randomBytes(e)}catch{r=Sme.pseudoRandomBytes(e)}for(var i=0;i<e;i++)t.push(Cme[r[i]%Cme.length]);return t.join("")}function Brt(e){return e===null||Hi(e)||!e.trim()}function Hi(e){return typeof e>"u"}function Uf(e,t){if(typeof e=="function")return[{},e];if(Hi(e))return[{},t];let r={};for(let i of Object.getOwnPropertyNames(e))r[i]=e[i];return[r,t]}function Lme(e){let t=e.tmpdir;if(!Hi(e.name))return un.join(t,e.dir,e.name);if(!Hi(e.template))return un.join(t,e.dir,e.template).replace(Tme,Ame(6));let r=[e.prefix?e.prefix:"tmp","-",process.pid,"-",Ame(12),e.postfix?"-"+e.postfix:""].join("");return un.join(t,e.dir,r)}function Bme(e){e.tmpdir=$me(e);let t=e.tmpdir;if(Hi(e.name)||vF(e.name,"name",t),Hi(e.dir)||vF(e.dir,"dir",t),!Hi(e.template)&&(vF(e.template,"template",t),!e.template.match(Tme)))throw new Error(`Invalid template, found "${e.template}".`);if(!Hi(e.tries)&&isNaN(e.tries)||e.tries<0)throw new Error(`Invalid tries, found "${e.tries}".`);e.tries=Hi(e.name)?e.tries||xrt:1,e.keep=!!e.keep,e.detachDescriptor=!!e.detachDescriptor,e.discardDescriptor=!!e.discardDescriptor,e.unsafeCleanup=!!e.unsafeCleanup,e.dir=Hi(e.dir)?"":un.relative(t,_F(e.dir,t)),e.template=Hi(e.template)?void 0:un.relative(t,_F(e.template,t)),e.template=Brt(e.template)?void 0:un.relative(e.dir,e.template),e.name=Hi(e.name)?void 0:e.name,e.prefix=Hi(e.prefix)?"":e.prefix,e.postfix=Hi(e.postfix)?"":e.postfix}function _F(e,t){return e.startsWith(t)?un.resolve(e):un.resolve(un.join(t,e))}function vF(e,t,r){if(t==="name"){if(un.isAbsolute(e))throw new Error(`${t} option must not contain an absolute path, found "${e}".`);let i=un.basename(e);if(i===".."||i==="."||i!==e)throw new Error(`${t} option must not contain a path, found "${e}".`)}else{if(un.isAbsolute(e)&&!e.startsWith(r))throw new Error(`${t} option must be relative to "${r}", found "${e}".`);let i=_F(e,r);if(!i.startsWith(r))throw new Error(`${t} option must be relative to "${r}", found "${i}".`)}}function qrt(e){return qme(e,-Crt,"EBADF")}function DF(e){return qme(e,-Art,"ENOENT")}function qme(e,t,r){return Srt?e.code===r:e.code===r&&e.errno===t}function $rt(){Rme=!0}function $me(e){return un.resolve(e&&e.tmpdir||bF.tmpdir())}process.addListener(Trt,Lrt);Object.defineProperty(Fo.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return $me()}});Fo.exports.dir=krt;Fo.exports.dirSync=Rrt;Fo.exports.file=Frt;Fo.exports.fileSync=Nrt;Fo.exports.tmpName=EF;Fo.exports.tmpNameSync=xF;Fo.exports.setGracefulCleanup=$rt});var OF=m(Vf=>{"use strict";Object.defineProperty(Vf,"__esModule",{value:!0});Vf.DEFAULT_COLOR_MAP=void 0;Vf.DEFAULT_COLOR_MAP={red:"\x1B[31m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",cyan:"\x1B[36m",white:"\x1B[37m",white_bold:"\x1B[01m",reset:"\x1B[0m"};var TF=class{constructor(t=Vf.DEFAULT_COLOR_MAP){this.text="",this.colorMap=t}addCharsWithColor(t,r){let i=this.colorMap[t];this.text+=i!==void 0?`${i}${r}${this.colorMap.reset}`:r}renderConsole(){return this.text}};Vf.default=TF});var b2=m(er=>{"use strict";Object.defineProperty(er,"__esModule",{value:!0});er.DEFAULT_HEADER_ALIGNMENT=er.DEFAULT_ROW_ALIGNMENT=er.DEFAULT_HEADER_FONT_COLOR=er.DEFAULT_ROW_FONT_COLOR=er.COLORS=er.ALIGNMENTS=er.DEFAULT_TABLE_STYLE=er.DEFAULT_ROW_SEPARATOR=er.DEFAULT_COLUMN_LEN=void 0;er.DEFAULT_COLUMN_LEN=20;er.DEFAULT_ROW_SEPARATOR=!1;er.DEFAULT_TABLE_STYLE={headerTop:{left:"\u250C",mid:"\u252C",right:"\u2510",other:"\u2500"},headerBottom:{left:"\u251C",mid:"\u253C",right:"\u2524",other:"\u2500"},tableBottom:{left:"\u2514",mid:"\u2534",right:"\u2518",other:"\u2500"},vertical:"\u2502",rowSeparator:{left:"\u251C",mid:"\u253C",right:"\u2524",other:"\u2500"}};er.ALIGNMENTS=["right","left","center"];er.COLORS=["red","green","yellow","white","blue","magenta","cyan","white_bold","reset"];er.DEFAULT_ROW_FONT_COLOR="white";er.DEFAULT_HEADER_FONT_COLOR="white_bold";er.DEFAULT_ROW_ALIGNMENT="right";er.DEFAULT_HEADER_ALIGNMENT="center"});var FF=m(ko=>{"use strict";Object.defineProperty(ko,"__esModule",{value:!0});ko.rawColumnToInternalColumn=ko.objIfExists=void 0;var zrt=b2(),Grt=(e,t)=>t?{[e]:t}:{};ko.objIfExists=Grt;var Wrt=e=>{var t;return Object.assign(Object.assign(Object.assign(Object.assign({name:e.name,title:(t=e.title)!==null&&t!==void 0?t:e.name},(0,ko.objIfExists)("color",e.color)),(0,ko.objIfExists)("maxLen",e.maxLen)),(0,ko.objIfExists)("minLen",e.minLen)),{alignment:e.alignment||zrt.DEFAULT_ROW_ALIGNMENT})};ko.rawColumnToInternalColumn=Wrt});var Kme=m(NF=>{"use strict";Object.defineProperty(NF,"__esModule",{value:!0});var Xrt=[{first:768,last:879},{first:1155,last:1158},{first:1160,last:1161},{first:1425,last:1469},{first:1471,last:1471},{first:1473,last:1474},{first:1476,last:1477},{first:1479,last:1479},{first:1536,last:1539},{first:1552,last:1557},{first:1611,last:1630},{first:1648,last:1648},{first:1750,last:1764},{first:1767,last:1768},{first:1770,last:1773},{first:1807,last:1807},{first:1809,last:1809},{first:1840,last:1866},{first:1958,last:1968},{first:2027,last:2035},{first:2305,last:2306},{first:2364,last:2364},{first:2369,last:2376},{first:2381,last:2381},{first:2385,last:2388},{first:2402,last:2403},{first:2433,last:2433},{first:2492,last:2492},{first:2497,last:2500},{first:2509,last:2509},{first:2530,last:2531},{first:2561,last:2562},{first:2620,last:2620},{first:2625,last:2626},{first:2631,last:2632},{first:2635,last:2637},{first:2672,last:2673},{first:2689,last:2690},{first:2748,last:2748},{first:2753,last:2757},{first:2759,last:2760},{first:2765,last:2765},{first:2786,last:2787},{first:2817,last:2817},{first:2876,last:2876},{first:2879,last:2879},{first:2881,last:2883},{first:2893,last:2893},{first:2902,last:2902},{first:2946,last:2946},{first:3008,last:3008},{first:3021,last:3021},{first:3134,last:3136},{first:3142,last:3144},{first:3146,last:3149},{first:3157,last:3158},{first:3260,last:3260},{first:3263,last:3263},{first:3270,last:3270},{first:3276,last:3277},{first:3298,last:3299},{first:3393,last:3395},{first:3405,last:3405},{first:3530,last:3530},{first:3538,last:3540},{first:3542,last:3542},{first:3633,last:3633},{first:3636,last:3642},{first:3655,last:3662},{first:3761,last:3761},{first:3764,last:3769},{first:3771,last:3772},{first:3784,last:3789},{first:3864,last:3865},{first:3893,last:3893},{first:3895,last:3895},{first:3897,last:3897},{first:3953,last:3966},{first:3968,last:3972},{first:3974,last:3975},{first:3984,last:3991},{first:3993,last:4028},{first:4038,last:4038},{first:4141,last:4144},{first:4146,last:4146},{first:4150,last:4151},{first:4153,last:4153},{first:4184,last:4185},{first:4448,last:4607},{first:4959,last:4959},{first:5906,last:5908},{first:5938,last:5940},{first:5970,last:5971},{first:6002,last:6003},{first:6068,last:6069},{first:6071,last:6077},{first:6086,last:6086},{first:6089,last:6099},{first:6109,last:6109},{first:6155,last:6157},{first:6313,last:6313},{first:6432,last:6434},{first:6439,last:6440},{first:6450,last:6450},{first:6457,last:6459},{first:6679,last:6680},{first:6912,last:6915},{first:6964,last:6964},{first:6966,last:6970},{first:6972,last:6972},{first:6978,last:6978},{first:7019,last:7027},{first:7616,last:7626},{first:7678,last:7679},{first:8203,last:8207},{first:8234,last:8238},{first:8288,last:8291},{first:8298,last:8303},{first:8400,last:8431},{first:12330,last:12335},{first:12441,last:12442},{first:43014,last:43014},{first:43019,last:43019},{first:43045,last:43046},{first:64286,last:64286},{first:65024,last:65039},{first:65056,last:65059},{first:65279,last:65279},{first:65529,last:65531},{first:68097,last:68099},{first:68101,last:68102},{first:68108,last:68111},{first:68152,last:68154},{first:68159,last:68159},{first:119143,last:119145},{first:119155,last:119170},{first:119173,last:119179},{first:119210,last:119213},{first:119362,last:119364},{first:917505,last:917505},{first:917536,last:917631},{first:917760,last:917999}];NF.default=Xrt});var Jme=m(kF=>{"use strict";Object.defineProperty(kF,"__esModule",{value:!0});var Yrt=(e,t,r)=>{let i=0,n,s=r;if(e<t[0].first||e>t[s].last)return 0;for(;s>=i;)if(n=Math.floor((i+s)/2),e>t[n].last)i=n+1;else if(e<t[n].first)s=n-1;else return 1;return 0};kF.default=Yrt});var RF=m(E2=>{"use strict";var Qme=E2&&E2.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(E2,"__esModule",{value:!0});var Zme=Qme(Kme()),Krt=Qme(Jme()),Jrt=e=>e===0?0:e<32||e>=127&&e<160?-1:Krt.default(e,Zme.default,Zme.default.length-1)?0:1+ +(e>=4352&&(e<=4447||e===9001||e===9002||e>=11904&&e<=42191&&e!==12351||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141));E2.default=Jrt});var e2e=m(x2=>{"use strict";var Zrt=x2&&x2.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(x2,"__esModule",{value:!0});var Qrt=Zrt(RF()),eit=e=>{let t=0;for(let r=0;r<e.length;r++){let i=e.charCodeAt(r),n=Qrt.default(i);if(n<0)return-1;t+=n}return t};x2.default=eit});var r2e=m(Qu=>{"use strict";var t2e=Qu&&Qu.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Qu,"__esModule",{value:!0});Qu.wcswidth=Qu.wcwidth=void 0;var tit=t2e(e2e());Qu.wcswidth=tit.default;var rit=t2e(RF());Qu.wcwidth=rit.default});var PF=m(Mc=>{"use strict";Object.defineProperty(Mc,"__esModule",{value:!0});Mc.findWidthInConsole=Mc.stripAnsi=void 0;var iit=r2e(),nit=/\x1b\[\d{1,3}(;\d{1,3})*m/g,sit=e=>e.replace(nit,"");Mc.stripAnsi=sit;var ait=(e,t)=>{let r=0;return e=(0,Mc.stripAnsi)(e),t&&Object.entries(t).forEach(([i,n])=>{let s=new RegExp(i,"g");r+=(e.match(s)||[]).length*n,e=e.replace(i,"")}),r+=(0,iit.wcswidth)(e),r};Mc.findWidthInConsole=ait});var LF=m(va=>{"use strict";Object.defineProperty(va,"__esModule",{value:!0});va.biggestWordInSentence=va.textWithPadding=va.splitTextIntoTextsOfMinLen=void 0;var IF=PF(),oit=(e,t,r)=>{let i=[];return e.split(/[\n\r]/).forEach(s=>{let a=s.split(" "),o=[],u=0;a.forEach(l=>{let c=(0,IF.findWidthInConsole)(l,r);u+c<=t?(u+=c+1,o.push(l)):(o.length>0&&i.push(o.join(" ")),o=[l],u=c+1)}),i.push(o.join(" "))}),i};va.splitTextIntoTextsOfMinLen=oit;var uit=(e,t,r,i)=>{let n=(0,IF.findWidthInConsole)(e,i),s=Math.floor((r-n)/2),a=r-s-n;if(r<n){let o=(0,va.splitTextIntoTextsOfMinLen)(e,r);return o.length===1?e:o.map(u=>(0,va.textWithPadding)(u,t,r,i)).join(`
|
|
279
279
|
`)}switch(t){case"left":return e.concat(" ".repeat(r-n));case"center":return" ".repeat(s).concat(e).concat(" ".repeat(a));case"right":default:return" ".repeat(r-n).concat(e)}};va.textWithPadding=uit;var lit=(e,t)=>e.split(" ").reduce((r,i)=>Math.max(r,(0,IF.findWidthInConsole)(i,t)),0);va.biggestWordInSentence=lit});var S2=m(tt=>{"use strict";Object.defineProperty(tt,"__esModule",{value:!0});tt.getWidthLimitedColumnsArray=tt.createHeaderAsRow=tt.renderTableHorizontalBorders=tt.findLenOfColumn=tt.createRow=tt.createColumFromComputedColumn=tt.createColumFromOnlyName=tt.createTableHorizontalBorders=tt.convertRawRowOptionsToStandard=tt.cellText=void 0;var BF=FF(),i2e=PF(),qF=LF(),ky=b2(),Hf=(e,t)=>Math.max(e,t),cit=e=>e==null?"":`${e}`;tt.cellText=cit;var dit=e=>{if(e)return{color:e.color,separator:e.separator||ky.DEFAULT_ROW_SEPARATOR}};tt.convertRawRowOptionsToStandard=dit;var pit=({left:e,mid:t,right:r,other:i},n)=>{let s=e;return n.forEach(a=>{s+=i.repeat(a+2),s+=t}),s=s.slice(0,-t.length),s+=r,s};tt.createTableHorizontalBorders=pit;var fit=e=>({name:e,title:e});tt.createColumFromOnlyName=fit;var hit=e=>{var t;return Object.assign(Object.assign(Object.assign(Object.assign({name:e.name,title:(t=e.title)!==null&&t!==void 0?t:e.name},(0,BF.objIfExists)("color",e.color)),(0,BF.objIfExists)("maxLen",e.maxLen)),(0,BF.objIfExists)("minLen",e.minLen)),{alignment:e.alignment||ky.DEFAULT_ROW_ALIGNMENT})};tt.createColumFromComputedColumn=hit;var mit=(e,t,r)=>({color:e,separator:r,text:t});tt.createRow=mit;var git=(e,t,r)=>{let i=e.name,n=e.title,s=Hf(0,e?.minLen||0);return e.maxLen?(s=Hf(s,Hf(e.maxLen,(0,qF.biggestWordInSentence)(n,r))),s=t.reduce((a,o)=>Hf(a,(0,qF.biggestWordInSentence)((0,tt.cellText)(o.text[i]),r)),s),s):(s=Hf(s,(0,i2e.findWidthInConsole)(n,r)),t.forEach(a=>{s=Hf(s,(0,i2e.findWidthInConsole)((0,tt.cellText)(a.text[i]),r))}),s)};tt.findLenOfColumn=git;var yit=(e,t)=>(0,tt.createTableHorizontalBorders)(e,t);tt.renderTableHorizontalBorders=yit;var vit=(e,t)=>{let r=ky.DEFAULT_HEADER_FONT_COLOR,i=e(r,{},!1);return t.forEach(n=>{i.text[n.name]=n.title}),i};tt.createHeaderAsRow=vit;var wit=(e,t,r)=>{let i={};return e.forEach(n=>{i[n.name]=(0,qF.splitTextIntoTextsOfMinLen)((0,tt.cellText)(t.text[n.name]),n.length||ky.DEFAULT_COLUMN_LEN,r)}),i};tt.getWidthLimitedColumnsArray=wit});var n2e=m(zf=>{"use strict";Object.defineProperty(zf,"__esModule",{value:!0});zf.preProcessRows=zf.preProcessColumns=void 0;var _it=S2(),Dit=e=>{e.computedColumns.length&&e.computedColumns.forEach(t=>{e.addColumn(t),e.rows.forEach(r=>{r.text[t.name]=t.function(r.text)})})},bit=e=>{e.enabledColumns.length&&(e.columns=e.columns.filter(t=>e.enabledColumns.includes(t.name)))},Eit=e=>{e.disabledColumns.length&&(e.columns=e.columns.filter(t=>!e.disabledColumns.includes(t.name)))},xit=e=>{e.columns.forEach(t=>{t.length=(0,_it.findLenOfColumn)(t,e.rows,e.charLength)})},Sit=e=>{Dit(e),Eit(e),bit(e),xit(e)};zf.preProcessColumns=Sit;var Cit=e=>{let t=e.rows.filter(r=>e.filterFunction(r.text)).sort((r,i)=>e.sortFunction(r.text,i.text));e.rows=t};zf.preProcessRows=Cit});var $F=m(Yn=>{"use strict";var a2e=Yn&&Yn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Yn,"__esModule",{value:!0});Yn.printSimpleTable=Yn.renderSimpleTable=Yn.renderTable=void 0;var o2e=a2e(OF()),u2e=LF(),Ds=b2(),el=S2(),Ait=a2e(jF()),s2e=n2e(),Tit=(e,t,r,i,n,s,a,o)=>{let u=new o2e.default(a);return u.addCharsWithColor("",e.vertical),t.forEach(l=>{let d=r<i[l.name].length?(0,el.cellText)(i[l.name][r]):"";u.addCharsWithColor(Ds.DEFAULT_ROW_FONT_COLOR," "),u.addCharsWithColor(n&&Ds.DEFAULT_HEADER_FONT_COLOR||l.color||s.color,(0,u2e.textWithPadding)(d,l.alignment||Ds.DEFAULT_ROW_ALIGNMENT,l.length||Ds.DEFAULT_COLUMN_LEN,o)),u.addCharsWithColor("",` ${e.vertical}`)}),u.renderConsole()},l2e=(e,t,r,i,n,s)=>{let a=(0,el.getWidthLimitedColumnsArray)(t,r,s),o=Object.values(a).reduce((l,c)=>Math.max(l,c.length),0),u=[];for(let l=0;l<o;l+=1){let c=Tit(e,t,l,a,n,r,i,s);u.push(c)}return u},Oit=(e,t)=>{let r=[];return r=r.concat(l2e(e.tableStyle,e.columns,t,e.colorMap,void 0,e.charLength)),r},Fit=e=>{let t=[];if(e.title===void 0)return t;let r=()=>{let s=(a,o)=>a+o+2+1;return e.columns.map(a=>a.length||Ds.DEFAULT_COLUMN_LEN).reduce(s,1)},i=(0,u2e.textWithPadding)(e.title,Ds.DEFAULT_HEADER_ALIGNMENT,r()),n=new o2e.default(e.colorMap);return n.addCharsWithColor(Ds.DEFAULT_HEADER_FONT_COLOR,i),t.push(n.renderConsole()),t},Nit=e=>{let t=[];t.push((0,el.renderTableHorizontalBorders)(e.tableStyle.headerTop,e.columns.map(i=>i.length||Ds.DEFAULT_COLUMN_LEN)));let r=(0,el.createHeaderAsRow)(el.createRow,e.columns);return t=t.concat(l2e(e.tableStyle,e.columns,r,e.colorMap,!0)),t.push((0,el.renderTableHorizontalBorders)(e.tableStyle.headerBottom,e.columns.map(i=>i.length||Ds.DEFAULT_COLUMN_LEN))),t},kit=e=>{let t=[];return t.push((0,el.renderTableHorizontalBorders)(e.tableStyle.tableBottom,e.columns.map(r=>r.length||Ds.DEFAULT_COLUMN_LEN))),t},Rit=(e,t)=>{let r=[],i=e.rows.length-1;return e.rows.indexOf(t)!==i&&t.separator&&r.push((0,el.renderTableHorizontalBorders)(e.tableStyle.rowSeparator,e.columns.map(s=>s.length||Ds.DEFAULT_COLUMN_LEN))),r},Pit=e=>{(0,s2e.preProcessColumns)(e),(0,s2e.preProcessRows)(e);let t=[];return Fit(e).forEach(r=>t.push(r)),Nit(e).forEach(r=>t.push(r)),e.rows.forEach(r=>{Oit(e,r).forEach(i=>t.push(i)),Rit(e,r).forEach(i=>t.push(i))}),kit(e).forEach(r=>t.push(r)),t.join(`
|
|
280
|
-
`)};Yn.renderTable=Pit;var Iit=e=>{let t=new Ait.default;return t.addRows(e),(0,Yn.renderTable)(t)};Yn.renderSimpleTable=Iit;var Lit=e=>{console.log((0,Yn.renderSimpleTable)(e))};Yn.printSimpleTable=Lit});var jF=m(UF=>{"use strict";Object.defineProperty(UF,"__esModule",{value:!0});var Bit=OF(),Ry=b2(),Py=S2(),qit=FF(),$it=$F(),jit=()=>0,Mit=()=>!0,MF=class{initSimple(t){this.columns=t.map(r=>({name:r,title:r,alignment:Ry.DEFAULT_ROW_ALIGNMENT}))}initDetailed(t){var r;this.title=t?.title||this.title,this.tableStyle=t?.style||this.tableStyle,this.sortFunction=t?.sort||this.sortFunction,this.filterFunction=t?.filter||this.filterFunction,this.enabledColumns=t?.enabledColumns||this.enabledColumns,this.disabledColumns=t?.disabledColumns||this.disabledColumns,this.computedColumns=t?.computedColumns||this.computedColumns,this.columns=((r=t?.columns)===null||r===void 0?void 0:r.map(qit.rawColumnToInternalColumn))||this.columns,this.rowSeparator=t?.rowSeparator||this.rowSeparator,this.charLength=t?.charLength||this.charLength,t?.shouldDisableColors?this.colorMap={}:t?.colorMap&&(this.colorMap=Object.assign(Object.assign({},this.colorMap),t.colorMap)),t.rows!==void 0&&this.addRows(t.rows)}constructor(t){this.rows=[],this.columns=[],this.title=void 0,this.tableStyle=Ry.DEFAULT_TABLE_STYLE,this.filterFunction=Mit,this.sortFunction=jit,this.enabledColumns=[],this.disabledColumns=[],this.computedColumns=[],this.rowSeparator=Ry.DEFAULT_ROW_SEPARATOR,this.colorMap=Bit.DEFAULT_COLOR_MAP,this.charLength={},t instanceof Array?this.initSimple(t):typeof t=="object"&&this.initDetailed(t)}createColumnFromRow(t){let r=this.columns.map(i=>i.name);Object.keys(t).forEach(i=>{r.includes(i)||this.columns.push((0,Py.createColumFromOnlyName)(i))})}addColumn(t){typeof t=="string"?this.columns.push((0,Py.createColumFromOnlyName)(t)):this.columns.push((0,Py.createColumFromComputedColumn)(t))}addColumns(t){t.forEach(r=>{this.addColumn(r)})}addRow(t,r){this.createColumnFromRow(t),this.rows.push((0,Py.createRow)(r?.color||Ry.DEFAULT_ROW_FONT_COLOR,t,r?.separator!==void 0?r?.separator:this.rowSeparator))}addRows(t,r){t.forEach(i=>{this.addRow(i,r)})}renderTable(){return(0,$it.renderTable)(this)}};UF.default=MF});var d2e=m(C2=>{"use strict";var Uit=C2&&C2.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(C2,"__esModule",{value:!0});var Vit=Uit(jF()),c2e=S2(),VF=class{constructor(t){this.table=new Vit.default(t)}addColumn(t){return this.table.addColumn(t),this}addColumns(t){return this.table.addColumns(t),this}addRow(t,r){return this.table.addRow(t,(0,c2e.convertRawRowOptionsToStandard)(r)),this}addRows(t,r){return this.table.addRows(t,(0,c2e.convertRawRowOptionsToStandard)(r)),this}printTable(){let t=this.table.renderTable();console.log(t)}render(){return this.table.renderTable()}};C2.default=VF});var A2=m(wa=>{"use strict";var Hit=wa&&wa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(wa,"__esModule",{value:!0});wa.renderTable=wa.printTable=wa.Table=void 0;var zit=Hit(d2e());wa.Table=zit.default;var p2e=$F();Object.defineProperty(wa,"printTable",{enumerable:!0,get:function(){return p2e.printSimpleTable}});Object.defineProperty(wa,"renderTable",{enumerable:!0,get:function(){return p2e.renderSimpleTable}})});var b2e=m((kgt,Git)=>{Git.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var GF=m(ln=>{"use strict";var x2e=b2e(),or=process.env;Object.defineProperty(ln,"_vendors",{value:x2e.map(function(e){return e.constant})});ln.name=null;ln.isPR=null;x2e.forEach(function(e){let r=(Array.isArray(e.env)?e.env:[e.env]).every(function(i){return E2e(i)});if(ln[e.constant]=r,!!r)switch(ln.name=e.name,typeof e.pr){case"string":ln.isPR=!!or[e.pr];break;case"object":"env"in e.pr?ln.isPR=e.pr.env in or&&or[e.pr.env]!==e.pr.ne:"any"in e.pr?ln.isPR=e.pr.any.some(function(i){return!!or[i]}):ln.isPR=E2e(e.pr);break;default:ln.isPR=null}});ln.isCI=!!(or.CI!=="false"&&(or.BUILD_ID||or.BUILD_NUMBER||or.CI||or.CI_APP_ID||or.CI_BUILD_ID||or.CI_BUILD_NUMBER||or.CI_NAME||or.CONTINUOUS_INTEGRATION||or.RUN_ID||ln.name));function E2e(e){return typeof e=="string"?!!or[e]:"env"in e?or[e.env]&&or[e.env].includes(e.includes):"any"in e?e.any.some(function(t){return!!or[t]}):Object.keys(e).every(function(t){return or[t]===e[t]})}});var E6e=m((j3t,b6e)=>{b6e.exports=E9()});var xN=ye(EN(),1),{program:B,createCommand:Gnt,createArgument:Wnt,createOption:Xnt,CommanderError:Ynt,InvalidArgumentError:Knt,InvalidOptionArgumentError:Jnt,Command:Znt,Argument:Qnt,Option:est,Help:tst}=xN.default;var Bo={name:"@capgo/cli",version:"4.13.14",description:"A CLI to upload to capgo servers",author:"github.com/riderx",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLIl#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli"],main:"dist/index.js",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=18.0.0"},scripts:{build:"node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js",test:"npx --yes ts-node -T src/index.ts","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",test_rls:"ts-node ./test/test_headers_rls.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js"},devDependencies:{"@antfu/eslint-config":"^2.23.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client","@capacitor/cli":"^6.1.1","@capgo/find-package-manager":"^0.0.17","@clack/prompts":"^0.7.0","@manypkg/find-root":"^2.2.1","@supabase/supabase-js":"^2.44.4","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"0.5.5","@types/mime":"^4.0.0","@types/node":"^20.14.11","@types/npmcli__ci-detect":"^2.0.3","@types/prettyjson":"^0.0.33","@types/prompt-sync":"^4.2.3","@types/semver":"^7.5.8","@types/tmp":"^0.2.6","@typescript-eslint/eslint-plugin":"^7.16.1","@typescript-eslint/parser":"^7.16.1","@vercel/ncc":"^0.38.1","adm-zip":"^0.5.14","ci-info":"^4.0.0",commander:"12.1.0","console-table-printer":"^2.12.1",esbuild:"^0.23.0",eslint:"9.8.0","get-latest-version":"^5.1.0","git-format-staged":"3.1.1",husky:"^9.1.1","is-wsl":"^3.1.0",jszip:"^3.10.1",ky:"^1.4.0",logsnag:"1.0.0",mime:"^4.0.4",open:"^10.1.0",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.6.2",tmp:"^0.2.3","ts-loader":"^9.5.1","ts-node":"^10.9.2","tsconfig-paths":"4.2.0",typescript:"5.5.4"}};var ri=ye(rt(),1),Xc=require("node:process"),qo=ye(require("node:readline"),1),w5=ye(require("node:readline"),1),RN=require("node:tty");function u4e({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}function PN(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(u4e(),"")}var _5={},l4e={get exports(){return _5},set exports(e){_5=e}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(i){var n=i.charCodeAt(0),s=i.length==2?i.charCodeAt(1):0,a=n;return 55296<=n&&n<=56319&&56320<=s&&s<=57343&&(n&=1023,s&=1023,a=n<<10|s,a+=65536),a==12288||65281<=a&&a<=65376||65504<=a&&a<=65510?"F":a==8361||65377<=a&&a<=65470||65474<=a&&a<=65479||65482<=a&&a<=65487||65490<=a&&a<=65495||65498<=a&&a<=65500||65512<=a&&a<=65518?"H":4352<=a&&a<=4447||4515<=a&&a<=4519||4602<=a&&a<=4607||9001<=a&&a<=9002||11904<=a&&a<=11929||11931<=a&&a<=12019||12032<=a&&a<=12245||12272<=a&&a<=12283||12289<=a&&a<=12350||12353<=a&&a<=12438||12441<=a&&a<=12543||12549<=a&&a<=12589||12593<=a&&a<=12686||12688<=a&&a<=12730||12736<=a&&a<=12771||12784<=a&&a<=12830||12832<=a&&a<=12871||12880<=a&&a<=13054||13056<=a&&a<=19903||19968<=a&&a<=42124||42128<=a&&a<=42182||43360<=a&&a<=43388||44032<=a&&a<=55203||55216<=a&&a<=55238||55243<=a&&a<=55291||63744<=a&&a<=64255||65040<=a&&a<=65049||65072<=a&&a<=65106||65108<=a&&a<=65126||65128<=a&&a<=65131||110592<=a&&a<=110593||127488<=a&&a<=127490||127504<=a&&a<=127546||127552<=a&&a<=127560||127568<=a&&a<=127569||131072<=a&&a<=194367||177984<=a&&a<=196605||196608<=a&&a<=262141?"W":32<=a&&a<=126||162<=a&&a<=163||165<=a&&a<=166||a==172||a==175||10214<=a&&a<=10221||10629<=a&&a<=10630?"Na":a==161||a==164||167<=a&&a<=168||a==170||173<=a&&a<=174||176<=a&&a<=180||182<=a&&a<=186||188<=a&&a<=191||a==198||a==208||215<=a&&a<=216||222<=a&&a<=225||a==230||232<=a&&a<=234||236<=a&&a<=237||a==240||242<=a&&a<=243||247<=a&&a<=250||a==252||a==254||a==257||a==273||a==275||a==283||294<=a&&a<=295||a==299||305<=a&&a<=307||a==312||319<=a&&a<=322||a==324||328<=a&&a<=331||a==333||338<=a&&a<=339||358<=a&&a<=359||a==363||a==462||a==464||a==466||a==468||a==470||a==472||a==474||a==476||a==593||a==609||a==708||a==711||713<=a&&a<=715||a==717||a==720||728<=a&&a<=731||a==733||a==735||768<=a&&a<=879||913<=a&&a<=929||931<=a&&a<=937||945<=a&&a<=961||963<=a&&a<=969||a==1025||1040<=a&&a<=1103||a==1105||a==8208||8211<=a&&a<=8214||8216<=a&&a<=8217||8220<=a&&a<=8221||8224<=a&&a<=8226||8228<=a&&a<=8231||a==8240||8242<=a&&a<=8243||a==8245||a==8251||a==8254||a==8308||a==8319||8321<=a&&a<=8324||a==8364||a==8451||a==8453||a==8457||a==8467||a==8470||8481<=a&&a<=8482||a==8486||a==8491||8531<=a&&a<=8532||8539<=a&&a<=8542||8544<=a&&a<=8555||8560<=a&&a<=8569||a==8585||8592<=a&&a<=8601||8632<=a&&a<=8633||a==8658||a==8660||a==8679||a==8704||8706<=a&&a<=8707||8711<=a&&a<=8712||a==8715||a==8719||a==8721||a==8725||a==8730||8733<=a&&a<=8736||a==8739||a==8741||8743<=a&&a<=8748||a==8750||8756<=a&&a<=8759||8764<=a&&a<=8765||a==8776||a==8780||a==8786||8800<=a&&a<=8801||8804<=a&&a<=8807||8810<=a&&a<=8811||8814<=a&&a<=8815||8834<=a&&a<=8835||8838<=a&&a<=8839||a==8853||a==8857||a==8869||a==8895||a==8978||9312<=a&&a<=9449||9451<=a&&a<=9547||9552<=a&&a<=9587||9600<=a&&a<=9615||9618<=a&&a<=9621||9632<=a&&a<=9633||9635<=a&&a<=9641||9650<=a&&a<=9651||9654<=a&&a<=9655||9660<=a&&a<=9661||9664<=a&&a<=9665||9670<=a&&a<=9672||a==9675||9678<=a&&a<=9681||9698<=a&&a<=9701||a==9711||9733<=a&&a<=9734||a==9737||9742<=a&&a<=9743||9748<=a&&a<=9749||a==9756||a==9758||a==9792||a==9794||9824<=a&&a<=9825||9827<=a&&a<=9829||9831<=a&&a<=9834||9836<=a&&a<=9837||a==9839||9886<=a&&a<=9887||9918<=a&&a<=9919||9924<=a&&a<=9933||9935<=a&&a<=9953||a==9955||9960<=a&&a<=9983||a==10045||a==10071||10102<=a&&a<=10111||11093<=a&&a<=11097||12872<=a&&a<=12879||57344<=a&&a<=63743||65024<=a&&a<=65039||a==65533||127232<=a&&a<=127242||127248<=a&&a<=127277||127280<=a&&a<=127337||127344<=a&&a<=127386||917760<=a&&a<=917999||983040<=a&&a<=1048573||1048576<=a&&a<=1114109?"A":"N"},t.characterLength=function(i){var n=this.eastAsianWidth(i);return n=="F"||n=="W"||n=="A"?2:1};function r(i){return i.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(i){for(var n=r(i),s=0,a=0;a<n.length;a++)s=s+this.characterLength(n[a]);return s},t.slice=function(i,n,s){textLen=t.length(i),n=n||0,s=s||1,n<0&&(n=textLen+n),s<0&&(s=textLen+s);for(var a="",o=0,u=r(i),l=0;l<u.length;l++){var c=u[l],d=t.length(c);if(o>=n-(d==2?1:0))if(o+d<=s)a+=c;else break;o+=d}return a}})(l4e);var c4e=_5,d4e=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};function t1(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=PN(e),e.length===0))return 0;e=e.replace(d4e()," ");let r=t.ambiguousIsNarrow?1:2,i=0;for(let n of e){let s=n.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879))switch(c4e.eastAsianWidth(n)){case"F":case"W":i+=2;break;case"A":i+=r;break;default:i+=1}}return i}var y5=10,CN=(e=0)=>t=>`\x1B[${t+e}m`,AN=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,TN=(e=0)=>(t,r,i)=>`\x1B[${38+e};2;${t};${r};${i}m`,dt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(dt.modifier);var p4e=Object.keys(dt.color),f4e=Object.keys(dt.bgColor);[...p4e,...f4e];function h4e(){let e=new Map;for(let[t,r]of Object.entries(dt)){for(let[i,n]of Object.entries(r))dt[i]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},r[i]=dt[i],e.set(n[0],n[1]);Object.defineProperty(dt,t,{value:r,enumerable:!1})}return Object.defineProperty(dt,"codes",{value:e,enumerable:!1}),dt.color.close="\x1B[39m",dt.bgColor.close="\x1B[49m",dt.color.ansi=CN(),dt.color.ansi256=AN(),dt.color.ansi16m=TN(),dt.bgColor.ansi=CN(y5),dt.bgColor.ansi256=AN(y5),dt.bgColor.ansi16m=TN(y5),Object.defineProperties(dt,{rgbToAnsi256:{value:(t,r,i)=>t===r&&r===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5),enumerable:!1},hexToRgb:{value:t=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[i]=r;i.length===3&&(i=[...i].map(s=>s+s).join(""));let n=Number.parseInt(i,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:t=>dt.rgbToAnsi256(...dt.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,i,n;if(t>=232)r=((t-232)*10+8)/255,i=r,n=r;else{t-=16;let o=t%36;r=Math.floor(t/36)/5,i=Math.floor(o/6)/5,n=o%6/5}let s=Math.max(r,i,n)*2;if(s===0)return 30;let a=30+(Math.round(n)<<2|Math.round(i)<<1|Math.round(r));return s===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,r,i)=>dt.ansi256ToAnsi(dt.rgbToAnsi256(t,r,i)),enumerable:!1},hexToAnsi:{value:t=>dt.ansi256ToAnsi(dt.hexToAnsi256(t)),enumerable:!1}}),dt}var m4e=h4e(),G2=new Set(["\x1B","\x9B"]),g4e=39,D5="\x07",IN="[",y4e="]",LN="m",b5=`${y4e}8;;`,ON=e=>`${G2.values().next().value}${IN}${e}${LN}`,FN=e=>`${G2.values().next().value}${b5}${e}${D5}`,v4e=e=>e.split(" ").map(t=>t1(t)),v5=(e,t,r)=>{let i=[...t],n=!1,s=!1,a=t1(PN(e[e.length-1]));for(let[o,u]of i.entries()){let l=t1(u);if(a+l<=r?e[e.length-1]+=u:(e.push(u),a=0),G2.has(u)&&(n=!0,s=i.slice(o+1).join("").startsWith(b5)),n){s?u===D5&&(n=!1,s=!1):u===LN&&(n=!1);continue}a+=l,a===r&&o<i.length-1&&(e.push(""),a=0)}!a&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},w4e=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(t1(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},_4e=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let i="",n,s,a=v4e(e),o=[""];for(let[l,c]of e.split(" ").entries()){r.trim!==!1&&(o[o.length-1]=o[o.length-1].trimStart());let d=t1(o[o.length-1]);if(l!==0&&(d>=t&&(r.wordWrap===!1||r.trim===!1)&&(o.push(""),d=0),(d>0||r.trim===!1)&&(o[o.length-1]+=" ",d++)),r.hard&&a[l]>t){let p=t-d,f=1+Math.floor((a[l]-p-1)/t);Math.floor((a[l]-1)/t)<f&&o.push(""),v5(o,c,t);continue}if(d+a[l]>t&&d>0&&a[l]>0){if(r.wordWrap===!1&&d<t){v5(o,c,t);continue}o.push("")}if(d+a[l]>t&&r.wordWrap===!1){v5(o,c,t);continue}o[o.length-1]+=c}r.trim!==!1&&(o=o.map(l=>w4e(l)));let u=[...o.join(`
|
|
280
|
+
`)};Yn.renderTable=Pit;var Iit=e=>{let t=new Ait.default;return t.addRows(e),(0,Yn.renderTable)(t)};Yn.renderSimpleTable=Iit;var Lit=e=>{console.log((0,Yn.renderSimpleTable)(e))};Yn.printSimpleTable=Lit});var jF=m(UF=>{"use strict";Object.defineProperty(UF,"__esModule",{value:!0});var Bit=OF(),Ry=b2(),Py=S2(),qit=FF(),$it=$F(),jit=()=>0,Mit=()=>!0,MF=class{initSimple(t){this.columns=t.map(r=>({name:r,title:r,alignment:Ry.DEFAULT_ROW_ALIGNMENT}))}initDetailed(t){var r;this.title=t?.title||this.title,this.tableStyle=t?.style||this.tableStyle,this.sortFunction=t?.sort||this.sortFunction,this.filterFunction=t?.filter||this.filterFunction,this.enabledColumns=t?.enabledColumns||this.enabledColumns,this.disabledColumns=t?.disabledColumns||this.disabledColumns,this.computedColumns=t?.computedColumns||this.computedColumns,this.columns=((r=t?.columns)===null||r===void 0?void 0:r.map(qit.rawColumnToInternalColumn))||this.columns,this.rowSeparator=t?.rowSeparator||this.rowSeparator,this.charLength=t?.charLength||this.charLength,t?.shouldDisableColors?this.colorMap={}:t?.colorMap&&(this.colorMap=Object.assign(Object.assign({},this.colorMap),t.colorMap)),t.rows!==void 0&&this.addRows(t.rows)}constructor(t){this.rows=[],this.columns=[],this.title=void 0,this.tableStyle=Ry.DEFAULT_TABLE_STYLE,this.filterFunction=Mit,this.sortFunction=jit,this.enabledColumns=[],this.disabledColumns=[],this.computedColumns=[],this.rowSeparator=Ry.DEFAULT_ROW_SEPARATOR,this.colorMap=Bit.DEFAULT_COLOR_MAP,this.charLength={},t instanceof Array?this.initSimple(t):typeof t=="object"&&this.initDetailed(t)}createColumnFromRow(t){let r=this.columns.map(i=>i.name);Object.keys(t).forEach(i=>{r.includes(i)||this.columns.push((0,Py.createColumFromOnlyName)(i))})}addColumn(t){typeof t=="string"?this.columns.push((0,Py.createColumFromOnlyName)(t)):this.columns.push((0,Py.createColumFromComputedColumn)(t))}addColumns(t){t.forEach(r=>{this.addColumn(r)})}addRow(t,r){this.createColumnFromRow(t),this.rows.push((0,Py.createRow)(r?.color||Ry.DEFAULT_ROW_FONT_COLOR,t,r?.separator!==void 0?r?.separator:this.rowSeparator))}addRows(t,r){t.forEach(i=>{this.addRow(i,r)})}renderTable(){return(0,$it.renderTable)(this)}};UF.default=MF});var d2e=m(C2=>{"use strict";var Uit=C2&&C2.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(C2,"__esModule",{value:!0});var Vit=Uit(jF()),c2e=S2(),VF=class{constructor(t){this.table=new Vit.default(t)}addColumn(t){return this.table.addColumn(t),this}addColumns(t){return this.table.addColumns(t),this}addRow(t,r){return this.table.addRow(t,(0,c2e.convertRawRowOptionsToStandard)(r)),this}addRows(t,r){return this.table.addRows(t,(0,c2e.convertRawRowOptionsToStandard)(r)),this}printTable(){let t=this.table.renderTable();console.log(t)}render(){return this.table.renderTable()}};C2.default=VF});var A2=m(wa=>{"use strict";var Hit=wa&&wa.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(wa,"__esModule",{value:!0});wa.renderTable=wa.printTable=wa.Table=void 0;var zit=Hit(d2e());wa.Table=zit.default;var p2e=$F();Object.defineProperty(wa,"printTable",{enumerable:!0,get:function(){return p2e.printSimpleTable}});Object.defineProperty(wa,"renderTable",{enumerable:!0,get:function(){return p2e.renderSimpleTable}})});var b2e=m((kgt,Git)=>{Git.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE"},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN"},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]});var GF=m(ln=>{"use strict";var x2e=b2e(),or=process.env;Object.defineProperty(ln,"_vendors",{value:x2e.map(function(e){return e.constant})});ln.name=null;ln.isPR=null;x2e.forEach(function(e){let r=(Array.isArray(e.env)?e.env:[e.env]).every(function(i){return E2e(i)});if(ln[e.constant]=r,!!r)switch(ln.name=e.name,typeof e.pr){case"string":ln.isPR=!!or[e.pr];break;case"object":"env"in e.pr?ln.isPR=e.pr.env in or&&or[e.pr.env]!==e.pr.ne:"any"in e.pr?ln.isPR=e.pr.any.some(function(i){return!!or[i]}):ln.isPR=E2e(e.pr);break;default:ln.isPR=null}});ln.isCI=!!(or.CI!=="false"&&(or.BUILD_ID||or.BUILD_NUMBER||or.CI||or.CI_APP_ID||or.CI_BUILD_ID||or.CI_BUILD_NUMBER||or.CI_NAME||or.CONTINUOUS_INTEGRATION||or.RUN_ID||ln.name));function E2e(e){return typeof e=="string"?!!or[e]:"env"in e?or[e.env]&&or[e.env].includes(e.includes):"any"in e?e.any.some(function(t){return!!or[t]}):Object.keys(e).every(function(t){return or[t]===e[t]})}});var E6e=m((j3t,b6e)=>{b6e.exports=E9()});var xN=ye(EN(),1),{program:B,createCommand:Gnt,createArgument:Wnt,createOption:Xnt,CommanderError:Ynt,InvalidArgumentError:Knt,InvalidOptionArgumentError:Jnt,Command:Znt,Argument:Qnt,Option:est,Help:tst}=xN.default;var Bo={name:"@capgo/cli",version:"4.13.16",description:"A CLI to upload to capgo servers",author:"github.com/riderx",license:"Apache 2.0",homepage:"https://github.com/Cap-go/CLIl#readme",repository:{type:"git",url:"git+https://github.com/Cap-go/CLI.git"},bugs:{url:"https://github.com/Cap-go/CLI/issues"},keywords:["appflow alternative","ionic","capacitor","auto update","live update","capgo","cli","upload","capgo-cli"],main:"dist/index.js",bin:{capgo:"dist/index.js"},engines:{npm:">=8.0.0",node:">=18.0.0"},scripts:{build:"node build.mjs",dev:"NODE_ENV=development ncc build","no-debug":"node dist/index.js",test:"npx --yes ts-node -T src/index.ts","dev-build":"SUPA_DB=development ncc build",pack:"pkg",types:"npx --yes supabase gen types typescript --project-id=xvwzpoazmxkqosrdewyv > src/types/supabase.types.ts",test_rls:"ts-node ./test/test_headers_rls.ts",lint:'eslint "src/**/*.ts" --fix',"check-posix-paths":"node test/check-posix-paths.js"},devDependencies:{"@antfu/eslint-config":"^2.23.0","@bradenmacdonald/s3-lite-client":"npm:@jsr/bradenmacdonald__s3-lite-client","@capacitor/cli":"^6.1.1","@capgo/find-package-manager":"^0.0.17","@clack/prompts":"^0.7.0","@manypkg/find-root":"^2.2.1","@supabase/supabase-js":"^2.44.4","@tomasklaen/checksum":"^1.1.0","@types/adm-zip":"0.5.5","@types/mime":"^4.0.0","@types/node":"^20.14.11","@types/npmcli__ci-detect":"^2.0.3","@types/prettyjson":"^0.0.33","@types/prompt-sync":"^4.2.3","@types/semver":"^7.5.8","@types/tmp":"^0.2.6","@typescript-eslint/eslint-plugin":"^7.16.1","@typescript-eslint/parser":"^7.16.1","@vercel/ncc":"^0.38.1","adm-zip":"^0.5.14","ci-info":"^4.0.0",commander:"12.1.0","console-table-printer":"^2.12.1",esbuild:"^0.23.0",eslint:"9.8.0","get-latest-version":"^5.1.0","git-format-staged":"3.1.1",husky:"^9.1.1","is-wsl":"^3.1.0",jszip:"^3.10.1",ky:"^1.4.0",logsnag:"1.0.0",mime:"^4.0.4",open:"^10.1.0",pkg:"5.8.1",prettyjson:"^1.2.5",semver:"^7.6.2",tmp:"^0.2.3","ts-loader":"^9.5.1","ts-node":"^10.9.2","tsconfig-paths":"4.2.0",typescript:"5.5.4"}};var ri=ye(rt(),1),Xc=require("node:process"),qo=ye(require("node:readline"),1),w5=ye(require("node:readline"),1),RN=require("node:tty");function u4e({onlyFirst:e=!1}={}){let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}function PN(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(u4e(),"")}var _5={},l4e={get exports(){return _5},set exports(e){_5=e}};(function(e){var t={};e.exports=t,t.eastAsianWidth=function(i){var n=i.charCodeAt(0),s=i.length==2?i.charCodeAt(1):0,a=n;return 55296<=n&&n<=56319&&56320<=s&&s<=57343&&(n&=1023,s&=1023,a=n<<10|s,a+=65536),a==12288||65281<=a&&a<=65376||65504<=a&&a<=65510?"F":a==8361||65377<=a&&a<=65470||65474<=a&&a<=65479||65482<=a&&a<=65487||65490<=a&&a<=65495||65498<=a&&a<=65500||65512<=a&&a<=65518?"H":4352<=a&&a<=4447||4515<=a&&a<=4519||4602<=a&&a<=4607||9001<=a&&a<=9002||11904<=a&&a<=11929||11931<=a&&a<=12019||12032<=a&&a<=12245||12272<=a&&a<=12283||12289<=a&&a<=12350||12353<=a&&a<=12438||12441<=a&&a<=12543||12549<=a&&a<=12589||12593<=a&&a<=12686||12688<=a&&a<=12730||12736<=a&&a<=12771||12784<=a&&a<=12830||12832<=a&&a<=12871||12880<=a&&a<=13054||13056<=a&&a<=19903||19968<=a&&a<=42124||42128<=a&&a<=42182||43360<=a&&a<=43388||44032<=a&&a<=55203||55216<=a&&a<=55238||55243<=a&&a<=55291||63744<=a&&a<=64255||65040<=a&&a<=65049||65072<=a&&a<=65106||65108<=a&&a<=65126||65128<=a&&a<=65131||110592<=a&&a<=110593||127488<=a&&a<=127490||127504<=a&&a<=127546||127552<=a&&a<=127560||127568<=a&&a<=127569||131072<=a&&a<=194367||177984<=a&&a<=196605||196608<=a&&a<=262141?"W":32<=a&&a<=126||162<=a&&a<=163||165<=a&&a<=166||a==172||a==175||10214<=a&&a<=10221||10629<=a&&a<=10630?"Na":a==161||a==164||167<=a&&a<=168||a==170||173<=a&&a<=174||176<=a&&a<=180||182<=a&&a<=186||188<=a&&a<=191||a==198||a==208||215<=a&&a<=216||222<=a&&a<=225||a==230||232<=a&&a<=234||236<=a&&a<=237||a==240||242<=a&&a<=243||247<=a&&a<=250||a==252||a==254||a==257||a==273||a==275||a==283||294<=a&&a<=295||a==299||305<=a&&a<=307||a==312||319<=a&&a<=322||a==324||328<=a&&a<=331||a==333||338<=a&&a<=339||358<=a&&a<=359||a==363||a==462||a==464||a==466||a==468||a==470||a==472||a==474||a==476||a==593||a==609||a==708||a==711||713<=a&&a<=715||a==717||a==720||728<=a&&a<=731||a==733||a==735||768<=a&&a<=879||913<=a&&a<=929||931<=a&&a<=937||945<=a&&a<=961||963<=a&&a<=969||a==1025||1040<=a&&a<=1103||a==1105||a==8208||8211<=a&&a<=8214||8216<=a&&a<=8217||8220<=a&&a<=8221||8224<=a&&a<=8226||8228<=a&&a<=8231||a==8240||8242<=a&&a<=8243||a==8245||a==8251||a==8254||a==8308||a==8319||8321<=a&&a<=8324||a==8364||a==8451||a==8453||a==8457||a==8467||a==8470||8481<=a&&a<=8482||a==8486||a==8491||8531<=a&&a<=8532||8539<=a&&a<=8542||8544<=a&&a<=8555||8560<=a&&a<=8569||a==8585||8592<=a&&a<=8601||8632<=a&&a<=8633||a==8658||a==8660||a==8679||a==8704||8706<=a&&a<=8707||8711<=a&&a<=8712||a==8715||a==8719||a==8721||a==8725||a==8730||8733<=a&&a<=8736||a==8739||a==8741||8743<=a&&a<=8748||a==8750||8756<=a&&a<=8759||8764<=a&&a<=8765||a==8776||a==8780||a==8786||8800<=a&&a<=8801||8804<=a&&a<=8807||8810<=a&&a<=8811||8814<=a&&a<=8815||8834<=a&&a<=8835||8838<=a&&a<=8839||a==8853||a==8857||a==8869||a==8895||a==8978||9312<=a&&a<=9449||9451<=a&&a<=9547||9552<=a&&a<=9587||9600<=a&&a<=9615||9618<=a&&a<=9621||9632<=a&&a<=9633||9635<=a&&a<=9641||9650<=a&&a<=9651||9654<=a&&a<=9655||9660<=a&&a<=9661||9664<=a&&a<=9665||9670<=a&&a<=9672||a==9675||9678<=a&&a<=9681||9698<=a&&a<=9701||a==9711||9733<=a&&a<=9734||a==9737||9742<=a&&a<=9743||9748<=a&&a<=9749||a==9756||a==9758||a==9792||a==9794||9824<=a&&a<=9825||9827<=a&&a<=9829||9831<=a&&a<=9834||9836<=a&&a<=9837||a==9839||9886<=a&&a<=9887||9918<=a&&a<=9919||9924<=a&&a<=9933||9935<=a&&a<=9953||a==9955||9960<=a&&a<=9983||a==10045||a==10071||10102<=a&&a<=10111||11093<=a&&a<=11097||12872<=a&&a<=12879||57344<=a&&a<=63743||65024<=a&&a<=65039||a==65533||127232<=a&&a<=127242||127248<=a&&a<=127277||127280<=a&&a<=127337||127344<=a&&a<=127386||917760<=a&&a<=917999||983040<=a&&a<=1048573||1048576<=a&&a<=1114109?"A":"N"},t.characterLength=function(i){var n=this.eastAsianWidth(i);return n=="F"||n=="W"||n=="A"?2:1};function r(i){return i.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}t.length=function(i){for(var n=r(i),s=0,a=0;a<n.length;a++)s=s+this.characterLength(n[a]);return s},t.slice=function(i,n,s){textLen=t.length(i),n=n||0,s=s||1,n<0&&(n=textLen+n),s<0&&(s=textLen+s);for(var a="",o=0,u=r(i),l=0;l<u.length;l++){var c=u[l],d=t.length(c);if(o>=n-(d==2?1:0))if(o+d<=s)a+=c;else break;o+=d}return a}})(l4e);var c4e=_5,d4e=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g};function t1(e,t={}){if(typeof e!="string"||e.length===0||(t={ambiguousIsNarrow:!0,...t},e=PN(e),e.length===0))return 0;e=e.replace(d4e()," ");let r=t.ambiguousIsNarrow?1:2,i=0;for(let n of e){let s=n.codePointAt(0);if(!(s<=31||s>=127&&s<=159||s>=768&&s<=879))switch(c4e.eastAsianWidth(n)){case"F":case"W":i+=2;break;case"A":i+=r;break;default:i+=1}}return i}var y5=10,CN=(e=0)=>t=>`\x1B[${t+e}m`,AN=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,TN=(e=0)=>(t,r,i)=>`\x1B[${38+e};2;${t};${r};${i}m`,dt={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(dt.modifier);var p4e=Object.keys(dt.color),f4e=Object.keys(dt.bgColor);[...p4e,...f4e];function h4e(){let e=new Map;for(let[t,r]of Object.entries(dt)){for(let[i,n]of Object.entries(r))dt[i]={open:`\x1B[${n[0]}m`,close:`\x1B[${n[1]}m`},r[i]=dt[i],e.set(n[0],n[1]);Object.defineProperty(dt,t,{value:r,enumerable:!1})}return Object.defineProperty(dt,"codes",{value:e,enumerable:!1}),dt.color.close="\x1B[39m",dt.bgColor.close="\x1B[49m",dt.color.ansi=CN(),dt.color.ansi256=AN(),dt.color.ansi16m=TN(),dt.bgColor.ansi=CN(y5),dt.bgColor.ansi256=AN(y5),dt.bgColor.ansi16m=TN(y5),Object.defineProperties(dt,{rgbToAnsi256:{value:(t,r,i)=>t===r&&r===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(i/255*5),enumerable:!1},hexToRgb:{value:t=>{let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[i]=r;i.length===3&&(i=[...i].map(s=>s+s).join(""));let n=Number.parseInt(i,16);return[n>>16&255,n>>8&255,n&255]},enumerable:!1},hexToAnsi256:{value:t=>dt.rgbToAnsi256(...dt.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value:t=>{if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,i,n;if(t>=232)r=((t-232)*10+8)/255,i=r,n=r;else{t-=16;let o=t%36;r=Math.floor(t/36)/5,i=Math.floor(o/6)/5,n=o%6/5}let s=Math.max(r,i,n)*2;if(s===0)return 30;let a=30+(Math.round(n)<<2|Math.round(i)<<1|Math.round(r));return s===2&&(a+=60),a},enumerable:!1},rgbToAnsi:{value:(t,r,i)=>dt.ansi256ToAnsi(dt.rgbToAnsi256(t,r,i)),enumerable:!1},hexToAnsi:{value:t=>dt.ansi256ToAnsi(dt.hexToAnsi256(t)),enumerable:!1}}),dt}var m4e=h4e(),G2=new Set(["\x1B","\x9B"]),g4e=39,D5="\x07",IN="[",y4e="]",LN="m",b5=`${y4e}8;;`,ON=e=>`${G2.values().next().value}${IN}${e}${LN}`,FN=e=>`${G2.values().next().value}${b5}${e}${D5}`,v4e=e=>e.split(" ").map(t=>t1(t)),v5=(e,t,r)=>{let i=[...t],n=!1,s=!1,a=t1(PN(e[e.length-1]));for(let[o,u]of i.entries()){let l=t1(u);if(a+l<=r?e[e.length-1]+=u:(e.push(u),a=0),G2.has(u)&&(n=!0,s=i.slice(o+1).join("").startsWith(b5)),n){s?u===D5&&(n=!1,s=!1):u===LN&&(n=!1);continue}a+=l,a===r&&o<i.length-1&&(e.push(""),a=0)}!a&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},w4e=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(t1(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},_4e=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let i="",n,s,a=v4e(e),o=[""];for(let[l,c]of e.split(" ").entries()){r.trim!==!1&&(o[o.length-1]=o[o.length-1].trimStart());let d=t1(o[o.length-1]);if(l!==0&&(d>=t&&(r.wordWrap===!1||r.trim===!1)&&(o.push(""),d=0),(d>0||r.trim===!1)&&(o[o.length-1]+=" ",d++)),r.hard&&a[l]>t){let p=t-d,f=1+Math.floor((a[l]-p-1)/t);Math.floor((a[l]-1)/t)<f&&o.push(""),v5(o,c,t);continue}if(d+a[l]>t&&d>0&&a[l]>0){if(r.wordWrap===!1&&d<t){v5(o,c,t);continue}o.push("")}if(d+a[l]>t&&r.wordWrap===!1){v5(o,c,t);continue}o[o.length-1]+=c}r.trim!==!1&&(o=o.map(l=>w4e(l)));let u=[...o.join(`
|
|
281
281
|
`)];for(let[l,c]of u.entries()){if(i+=c,G2.has(c)){let{groups:p}=new RegExp(`(?:\\${IN}(?<code>\\d+)m|\\${b5}(?<uri>.*)${D5})`).exec(u.slice(l).join(""))||{groups:{}};if(p.code!==void 0){let f=Number.parseFloat(p.code);n=f===g4e?void 0:f}else p.uri!==void 0&&(s=p.uri.length===0?void 0:p.uri)}let d=m4e.codes.get(Number(n));u[l+1]===`
|
|
282
282
|
`?(s&&(i+=FN("")),n&&d&&(i+=ON(d))):c===`
|
|
283
283
|
`&&(n&&d&&(i+=ON(n)),s&&(i+=FN(s)))}return i};function NN(e,t,r){return String(e).normalize().replace(/\r\n/g,`
|
|
@@ -315,11 +315,12 @@ ${ide.default.render(e)}`:"";function Qce(e){return new Promise(t=>{setTimeout(t
|
|
|
315
315
|
Upgrade here: ${s.hostWeb}/dashboard/settings/plans
|
|
316
316
|
`),Qce(100),Promise.resolve().then(()=>(Kce(),Yce)).then(l=>{l.default(`${s.hostWeb}/dashboard/settings/plans`)}),Qce(500),B.error(""));let[o,u]=await Promise.all([sWe(e,t),nWe(e,t)]);o>0&&n&&!u&&O.warn(`WARNING !!
|
|
317
317
|
Trial expires in ${o} days, upgrade here: ${s.hostWeb}/dashboard/settings/plans
|
|
318
|
-
`)}function Ae(e=!1){let t=(0,k9.homedir)(),r,i=`${t}/.capgo`;return(0,br.existsSync)(i)&&(e||O.info(`Use global apy key ${i}`),r=(0,br.readFileSync)(i,"utf8").trim()),i=".capgo",!r&&(0,br.existsSync)(i)&&(e||O.info(`Use local apy key ${i}`),r=(0,br.readFileSync)(i,"utf8").trim()),r||(O.error(`Cannot find API key in local folder or global, please login first with ${yi().runner} @capacitor/cli login`),B.error("")),r}async function*TT(e){let t=await(0,br.readdirSync)(e,{withFileTypes:!0});for(let r of t){let i=(0,gi.resolve)(e,r.name);r.isDirectory()&&!r.name.startsWith(".")&&!r.name.startsWith("node_modules")&&!r.name.startsWith("dist")?yield*TT(i):yield i}}async function OT(){let e=(0,Qr.cwd)(),t=!1,r=(0,gi.resolve)(e,"tsconfig.json");(0,br.existsSync)(r)&&(t=!0);for await(let i of TT(e)){if(i.includes("angular.json"))return O.info("Found angular project"),t?"angular-ts":"angular-js";if(i.includes("nuxt.config.js"))return O.info("Found nuxtjs project"),t?"nuxtjs-ts":"nuxtjs-js";if(i.includes("next.config.js")||i.includes("next.config.mjs"))return O.info("Found nextjs project"),t?"nextjs-ts":"nextjs-js";if(i.includes("svelte.config.js"))return O.info("Found sveltekit project"),t?"sveltekit-ts":"sveltekit-js";if(i.includes("rolluconfig.js"))return O.info("Found svelte project"),t?"svelte-ts":"svelte-js";if(i.includes("vue.config.js"))return O.info("Found vue project"),t?"vue-ts":"vue-js";if(i.includes("package.json")){let n=await Mi();if(n.dependencies){if(n.dependencies.react)return O.info("Found react project test"),t?"react-ts":"react-js";if(n.dependencies.vue)return O.info("Found vue project"),t?"vue-ts":"vue-js"}}}return"unknown"}function lde(e,t){return e==="angular-js"||e==="angular-ts"?t?"src/main.ts":"src/main.js":e==="nextjs-js"||e==="nextjs-ts"?t?"src/app/layout.tsx":"src/app/layout.js":e==="svelte-js"||e==="svelte-ts"||e==="vue-js"||e==="vue-ts"?t?"src/main.ts":"src/main.js":e==="react-js"||e==="react-ts"?t?"src/index.tsx":"src/index.js":null}async function cde(e){return e==="angular"?(O.info("Angular project detected"),"build"):e==="nuxtjs"?(O.info("Nuxtjs project detected"),"generate"):e==="nextjs"?(O.info("Nextjs project detected"),O.warn("Please make sure you have configured static export in your next.config.js: https://nextjs.org/docs/pages/building-your-application/deploying/static-exports"),O.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),await We({message:"Do you want to continue?"})||(O.error("Aborted"),B.error("")),"build"):(e==="sveltekit"&&(O.info("Sveltekit project detected"),O.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),O.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),await We({message:"Do you want to continue?"})||(O.error("Aborted"),B.error(""))),"build")}async function dde(){let e=/(main|index)\.(ts|tsx|js|jsx)$/,t="",r=(0,Qr.cwd)(),i=r.split("/").length;for await(let n of TT(r))if(n.split("/").length-i<=2&&e.test(n)){t=n,O.info(`Found main file here ${n}`);break}return t}async function FT(e,t){return e.from("app_versions").upsert(t,{onConflict:"name,app_id"}).eq("app_id",t.app_id).eq("name",t.name)}async function pde(e,t,r){let i={app_id:t,name:r,version:0};try{return(await e.functions.invoke("private/upload_link",{body:JSON.stringify(i)})).data.url}catch(n){O.error(`Cannot get upload url ${le(n)}`)}return""}async function uWe(e,t,r){let i={app_id:t,name:r,version:1};try{return(await e.functions.invoke("private/upload_link",{body:JSON.stringify(i)})).data}catch(n){return O.error(`Cannot get upload url ${le(n)}`),null}}async function R9(e){return(0,k9.platform)()==="win32"?cWe(e):lWe(e)}function lWe(e){let t=new sde.default;return t.addLocalFolder(e),t.toBuffer()}async function cWe(e){O.info("Zipping file windows mode");let t=new ade.default,r=async(n,s)=>{let a=(0,br.readdirSync)(n);for(let o of a){let u=(0,gi.join)(n,o),l=(0,br.statSync)(u);if(l.isFile()){let c=await(0,br.readFileSync)(u);t.file((0,gi.join)(s,o).split(gi.sep).join("/"),c)}else l.isDirectory()&&await r(u,(0,gi.join)(s,o))}};return await r(e,""),await t.generateAsync({type:"nodebuffer",platform:"UNIX",compression:"DEFLATE",compressionOptions:{level:6}})}async function dWe(e,t,r,i){let n={action:"mpu-complete",uploadId:t,key:e};await ru.post(r,{json:{parts:i},searchParams:new URLSearchParams({body:btoa(JSON.stringify(n))})})}var ede=10*1024*1024;async function fde(e,t,r,i,n){try{let s=Ht();await s.track({channel:"app",event:"App Multipart Prepare",icon:"\u23EB",user_id:n,tags:{"app-id":t},notify:!1}).catch();let a=await uWe(e,t,r);if(!a)return!1;let o=i.length,u=Math.ceil(o/ede),l=Array.from({length:u},(d,p)=>pWe(i,ede,a.url,a.key,a.uploadId,p)),c=await Promise.all(l);return await dWe(a.key,a.uploadId,a.url,c),await s.track({channel:"app",event:"App Multipart done",icon:"\u23EB",user_id:n,tags:{"app-id":t},notify:!1}).catch(),!0}catch(s){return O.error(`Could not upload via multipart ${le(s)}`),!1}}async function hde(e,t,r){let i={app_id:t,name:r};try{return(await e.functions.invoke("private/delete_failed_version",{body:JSON.stringify(i),method:"DELETE"})).data.status}catch(n){return O.error(`Cannot delete failed version ${le(n)}`),Promise.reject(new Error("Cannot delete failed version"))}}async function pWe(e,t,r,i,n,s){let a=e.subarray(t*s,t*(s+1)),o={action:"mpu-uploadpart",uploadId:n,partNumber:s+1,key:i};return await(await ru.put(r,{body:a,searchParams:new URLSearchParams({body:btoa(JSON.stringify(o))})})).json()}async function P9(e,t){if(!t.app_id||!t.name||!t.created_by)return O.error("missing app_id, name, or created_by"),Promise.reject(new Error("missing app_id, name, or created_by"));let{data:r,error:i}=await e.from("channels").select("enable_progressive_deploy,
|
|
318
|
+
`)}function Ae(e=!1){let t=(0,k9.homedir)(),r,i=`${t}/.capgo`;return(0,br.existsSync)(i)&&(e||O.info(`Use global apy key ${i}`),r=(0,br.readFileSync)(i,"utf8").trim()),i=".capgo",!r&&(0,br.existsSync)(i)&&(e||O.info(`Use local apy key ${i}`),r=(0,br.readFileSync)(i,"utf8").trim()),r||(O.error(`Cannot find API key in local folder or global, please login first with ${yi().runner} @capacitor/cli login`),B.error("")),r}async function*TT(e){let t=await(0,br.readdirSync)(e,{withFileTypes:!0});for(let r of t){let i=(0,gi.resolve)(e,r.name);r.isDirectory()&&!r.name.startsWith(".")&&!r.name.startsWith("node_modules")&&!r.name.startsWith("dist")?yield*TT(i):yield i}}async function OT(){let e=(0,Qr.cwd)(),t=!1,r=(0,gi.resolve)(e,"tsconfig.json");(0,br.existsSync)(r)&&(t=!0);for await(let i of TT(e)){if(i.includes("angular.json"))return O.info("Found angular project"),t?"angular-ts":"angular-js";if(i.includes("nuxt.config.js"))return O.info("Found nuxtjs project"),t?"nuxtjs-ts":"nuxtjs-js";if(i.includes("next.config.js")||i.includes("next.config.mjs"))return O.info("Found nextjs project"),t?"nextjs-ts":"nextjs-js";if(i.includes("svelte.config.js"))return O.info("Found sveltekit project"),t?"sveltekit-ts":"sveltekit-js";if(i.includes("rolluconfig.js"))return O.info("Found svelte project"),t?"svelte-ts":"svelte-js";if(i.includes("vue.config.js"))return O.info("Found vue project"),t?"vue-ts":"vue-js";if(i.includes("package.json")){let n=await Mi();if(n.dependencies){if(n.dependencies.react)return O.info("Found react project test"),t?"react-ts":"react-js";if(n.dependencies.vue)return O.info("Found vue project"),t?"vue-ts":"vue-js"}}}return"unknown"}function lde(e,t){return e==="angular-js"||e==="angular-ts"?t?"src/main.ts":"src/main.js":e==="nextjs-js"||e==="nextjs-ts"?t?"src/app/layout.tsx":"src/app/layout.js":e==="svelte-js"||e==="svelte-ts"||e==="vue-js"||e==="vue-ts"?t?"src/main.ts":"src/main.js":e==="react-js"||e==="react-ts"?t?"src/index.tsx":"src/index.js":null}async function cde(e){return e==="angular"?(O.info("Angular project detected"),"build"):e==="nuxtjs"?(O.info("Nuxtjs project detected"),"generate"):e==="nextjs"?(O.info("Nextjs project detected"),O.warn("Please make sure you have configured static export in your next.config.js: https://nextjs.org/docs/pages/building-your-application/deploying/static-exports"),O.warn("Please make sure you have the output: 'export' and distDir: 'dist' in your next.config.js"),await We({message:"Do you want to continue?"})||(O.error("Aborted"),B.error("")),"build"):(e==="sveltekit"&&(O.info("Sveltekit project detected"),O.warn("Please make sure you have the adapter-static installed: https://kit.svelte.dev/docs/adapter-static"),O.warn("Please make sure you have the pages: 'dist' and assets: 'dest', in your svelte.config.js adaptater"),await We({message:"Do you want to continue?"})||(O.error("Aborted"),B.error(""))),"build")}async function dde(){let e=/(main|index)\.(ts|tsx|js|jsx)$/,t="",r=(0,Qr.cwd)(),i=r.split("/").length;for await(let n of TT(r))if(n.split("/").length-i<=2&&e.test(n)){t=n,O.info(`Found main file here ${n}`);break}return t}async function FT(e,t){return e.from("app_versions").upsert(t,{onConflict:"name,app_id"}).eq("app_id",t.app_id).eq("name",t.name)}async function pde(e,t,r){let i={app_id:t,name:r,version:0};try{return(await e.functions.invoke("private/upload_link",{body:JSON.stringify(i)})).data.url}catch(n){O.error(`Cannot get upload url ${le(n)}`)}return""}async function uWe(e,t,r){let i={app_id:t,name:r,version:1};try{return(await e.functions.invoke("private/upload_link",{body:JSON.stringify(i)})).data}catch(n){return O.error(`Cannot get upload url ${le(n)}`),null}}async function R9(e){return(0,k9.platform)()==="win32"?cWe(e):lWe(e)}function lWe(e){let t=new sde.default;return t.addLocalFolder(e),t.toBuffer()}async function cWe(e){O.info("Zipping file windows mode");let t=new ade.default,r=async(n,s)=>{let a=(0,br.readdirSync)(n);for(let o of a){let u=(0,gi.join)(n,o),l=(0,br.statSync)(u);if(l.isFile()){let c=await(0,br.readFileSync)(u);t.file((0,gi.join)(s,o).split(gi.sep).join("/"),c)}else l.isDirectory()&&await r(u,(0,gi.join)(s,o))}};return await r(e,""),await t.generateAsync({type:"nodebuffer",platform:"UNIX",compression:"DEFLATE",compressionOptions:{level:6}})}async function dWe(e,t,r,i){let n={action:"mpu-complete",uploadId:t,key:e};await ru.post(r,{json:{parts:i},searchParams:new URLSearchParams({body:btoa(JSON.stringify(n))})})}var ede=10*1024*1024;async function fde(e,t,r,i,n){try{let s=Ht();await s.track({channel:"app",event:"App Multipart Prepare",icon:"\u23EB",user_id:n,tags:{"app-id":t},notify:!1}).catch();let a=await uWe(e,t,r);if(!a)return!1;let o=i.length,u=Math.ceil(o/ede),l=Array.from({length:u},(d,p)=>pWe(i,ede,a.url,a.key,a.uploadId,p)),c=await Promise.all(l);return await dWe(a.key,a.uploadId,a.url,c),await s.track({channel:"app",event:"App Multipart done",icon:"\u23EB",user_id:n,tags:{"app-id":t},notify:!1}).catch(),!0}catch(s){return O.error(`Could not upload via multipart ${le(s)}`),!1}}async function hde(e,t,r){let i={app_id:t,name:r};try{return(await e.functions.invoke("private/delete_failed_version",{body:JSON.stringify(i),method:"DELETE"})).data.status}catch(n){return O.error(`Cannot delete failed version ${le(n)}`),Promise.reject(new Error("Cannot delete failed version"))}}async function pWe(e,t,r,i,n,s){let a=e.subarray(t*s,t*(s+1)),o={action:"mpu-uploadpart",uploadId:n,partNumber:s+1,key:i};return await(await ru.put(r,{body:a,searchParams:new URLSearchParams({body:btoa(JSON.stringify(o))})})).json()}async function P9(e,t){if(!t.app_id||!t.name||!t.created_by)return O.error("missing app_id, name, or created_by"),Promise.reject(new Error("missing app_id, name, or created_by"));let{data:r,error:i}=await e.from("channels").select("enable_progressive_deploy, secondary_version_percentage, second_version").eq("app_id",t.app_id).eq("name",t.name).single();if(r&&!i){if(r.enable_progressive_deploy){if(O.info("Progressive deploy is enabled"),r.secondary_version_percentage!==1&&O.warn("Latest progressive deploy has not finished"),t.second_version=t.version,!r.second_version)return O.error("missing secondVersion"),Promise.reject(new Error("missing secondVersion"));t.version=r.second_version,t.secondary_version_percentage=.1,O.info("Started new progressive upload!")}return e.from("channels").update(t).eq("app_id",t.app_id).eq("name",t.name).select().single()}return e.from("channels").insert(t).select().single()}function Ht(){return new nde.LogSnag({token:Qr.env.CAPGO_LOGSNAG??"c124f5e9d0ce5bdd14bbb48f815d5583",project:Qr.env.CAPGO_LOGSNAG_PROJECT??"capgo"})}async function wf(e,t){let{error:r,data:i}=await e.rpc("get_orgs_v5");r&&(O.error("Cannot get the list of organizations - exiting"),O.error(`Error ${JSON.stringify(r)}`),B.error(""));let n=i.filter(u=>!!t.find(l=>l===u.role));n.length===0&&(O.error(`Could not get organization with roles: ${t.join(" or ")} because the user does not have any org`),B.error(""));let s=n.length>1?await Kc({message:"Please pick the organization that you want to insert to",options:n.map(u=>({value:u.gid,label:u.name}))}):n[0].gid;zi(s)&&(O.error("Canceled organization selection, exiting"),B.error(""));let a=s,o=i.find(u=>u.gid===a);return O.info(`Using the organization "${o.name}" as the app owner`),o}var _f=e=>e.replace(/\./g,"--");async function xe(e,t,r=["all"]){await iWe(e,t,r);let{data:i,error:n}=await e.rpc("get_user_id",{apikey:t}).single(),s=(i||"").toString();return(!s||n)&&(O.error("Cannot auth user with apikey"),B.error("")),s}async function Vn(e,t){let{data:r,error:i}=await e.from("apps").select("owner_org").eq("app_id",t).single();return(!r||i)&&(O.error(`Cannot get organization id for app id ${t}`),le(i),B.error("")),r.owner_org}function Df(e){return new Date(e||"").toLocaleString()}var tde=!1,gf="npm",Mm="install",xT="npx";function yi(){if(tde)return{pm:gf,command:Mm,installCommand:`${gf} ${Mm}`,runner:xT};let e=(0,ST.findRootSync)((0,Qr.cwd)());return gf=Yh(e.rootDir,"npm"),Mm=_g(gf),tde=!0,xT=oz(e.rootDir),{pm:gf,command:Mm,installCommand:`${gf} ${Mm}`,runner:xT}}function mde(e){return(0,br.readdirSync)(e,{withFileTypes:!0}).flatMap(i=>{let n=(0,gi.join)(e,i.name);return i.isDirectory()?mde(n):n.split(`node_modules${gi.sep}`)[1]||n})}async function NT(){let e=(0,ST.findRootSync)((0,Qr.cwd)()),t=(0,gi.join)((0,Qr.cwd)(),"package.json");(0,br.existsSync)(t)||(O.error("Missing package.json, you need to be in a capacitor project"),B.error(""));let r;try{r=await Mi()}catch(o){O.error("Invalid package.json, JSON parsing failed"),console.error("json parse error: ",o),B.error("")}let{dependencies:i}=r;i||(O.error("Missing dependencies section in package.json"),B.error(""));for(let[o,u]of Object.entries(i))typeof u!="string"&&(O.error(`Invalid dependency ${o}: ${u}, expected string, got ${typeof u}`),B.error(""));let n=(0,gi.join)((0,Qr.cwd)(),"node_modules");if(!(0,br.existsSync)(n)){let o=Yh(e.rootDir,"npm"),u=_g(o);O.error(`Missing node_modules folder, please run ${o} ${u}`),B.error("")}let s=!1,a=await Promise.all(Object.entries(i).map(async([o,u])=>{let l=(0,gi.join)(n,o);if(!(0,br.existsSync)(l)){s=!0;let p=Yh(e.rootDir,"npm"),f=_g(p);return O.error(`Missing dependency ${o}, please run ${p} ${f}`),{name:o,version:u}}let d=!1;try{d=mde(l).some(f=>rWe.test(f))}catch(p){O.error(`Error reading node_modules files for ${o} package`),console.error(p),B.error("")}return{name:o,version:u,native:d}})).catch(()=>[]);return(s||a.find(o=>o.native===void 0))&&B.error(""),a}async function fWe(e,t,r){let{data:i,error:n}=await e.from("channels").select("version(checksum)").eq("name",r).eq("app_id",t).single(),s=i;return n||s===null||!s.version||!s.version.checksum?null:s.version.checksum}async function hWe(e,t,r){let{data:i,error:n}=await e.from("channels").select(`version (
|
|
319
319
|
native_packages
|
|
320
320
|
)`).eq("name",r).eq("app_id",t).single();n&&(O.error(`Error fetching native packages: ${n.message}`),B.error(""));let s;try{s=i.version.native_packages}catch{O.error("Error parsing native packages"),B.error("")}return s||(O.error("Error parsing native packages, perhaps the metadata does not exist?"),B.error("")),s.forEach(o=>{typeof o!="object"&&(O.error(`Invalid remote native package data: ${o}, expected object, got ${typeof o}`),B.error(""));let{name:u,version:l}=o;(!u||typeof u!="string")&&(O.error(`Invalid remote native package name: ${u}, expected string, got ${typeof u}`),B.error("")),(!l||typeof l!="string")&&(O.error(`Invalid remote native package version: ${l}, expected string, got ${typeof l}`),B.error(""))}),new Map(s.map(o=>[o.name,o]))}async function gde(e,t,r,i){let n=Ue();n.start(`Checking bundle checksum compatibility with channel ${r}`);let s=await fWe(e,t,r);s&&s===i&&(O.error(`Cannot upload the same bundle content.
|
|
321
321
|
Current bundle checksum matches remote bundle for channel ${r}
|
|
322
|
-
Did you builded your app before uploading
|
|
322
|
+
Did you builded your app before uploading?
|
|
323
|
+
PS: You can ignore this check with "--ignore-checksum-check"`),B.error("")),n.stop(`Checksum compatible with ${r} channel`)}async function I9(e,t,r){let i=await NT(),n=await hWe(e,t,r),s=i.filter(o=>!!o.native).map(o=>{let u=n.get(o.name);return u?{name:o.name,localVersion:o.version,remoteVersion:u.version}:{name:o.name,localVersion:o.version,remoteVersion:void 0}}),a=[...n].filter(([o])=>i.find(u=>u.name===o)===void 0).map(([o,u])=>({name:o,localVersion:void 0,remoteVersion:u.version}));return s.push(...a),{finalCompatibility:s,localDependencies:i}}async function yde(e){se("Getting user id"),e.apikey=e.apikey||Ae();let t=await Ee(e.apikey),r=await xe(t,e.apikey,["read"]);ee(`Done \u2705: ${r}`)}var _me=require("node:crypto"),Dme=require("node:fs"),bme=require("node:process");var Eme=ye(lO());var wme=ye(yF());async function lt(){let e=await(0,wme.default)("@capgo/cli"),t=e?.split(".")[0];e!==Bo.version&&O.warning(`\u{1F6A8} You are using @capgo/cli@${Bo.version} it's not the latest version.
|
|
323
324
|
Please use @capgo/cli@${e}" or @capgo/cli@${t} to keep up to date with the latest features and bug fixes.`)}var Zu=require("node:fs"),v2=require("node:path");function brt(e,t){return(0,Zu.readFileSync)(e,"utf8").includes(t)}function w2(e,t){let r=(0,Zu.readdirSync)(e);for(let i of r){let n=(0,v2.join)(e,i),s=(0,Zu.statSync)(n);if(s.isDirectory()){if(w2(n,t))return!0}else if(s.isFile()&&(0,v2.extname)(n)===".js"&&brt(n,t))return!0}return!1}function _2(e){let t=(0,Zu.readdirSync)(e);if(t.length===1){let i=(0,v2.join)(e,t[0]);if((0,Zu.statSync)(i).isDirectory())return _2(i)}return t.indexOf("index.html")>-1}var Ert=20;async function xme(e,t){try{let{bundle:r,path:i}=t,{json:n}=t,s=Ht();n||await lt();let a=await me();e=e||a?.config?.appId;let o=(0,_me.randomUUID)().split("-")[0],u=await Mi();r=r||u?.version||`0.0.1-beta.${o}`,n||se(`Zipping ${e}@${r}`),r&&!yf.test(r)&&(n?console.error(le({error:"invalid_semver"})):O.error(`Your bundle name ${r}, is not valid it should follow semver convention : https://semver.org/`),B.error("")),i=i||a?.config?.webDir,(!e||!r||!i)&&(n?console.error(le({error:"missing_argument"})):O.error("Missing argument, you need to provide a appId and a bundle and a path, or be in a capacitor project"),B.error("")),n||O.info(`Started from path "${i}"`);let l=t.codeCheck;(typeof l>"u"||l)&&(w2(i,"notifyAppReady")||(n?console.error(le({error:"notifyAppReady_not_in_source_code"})):O.error("notifyAppReady() is missing in the source code. see: https://capgo.app/docs/plugin/api/#notifyappready"),B.error("")),_2(i)||(n?console.error(le({error:"index_html_not_found"})):O.error("index.html is missing in the root folder or in the only folder in the root folder"),B.error("")));let c=await R9(i);n||O.info(`Zipped ${c.byteLength} bytes`);let d=Ue();n||d.start("Calculating checksum");let p=await(0,Eme.checksum)(c,"crc32");n||d.stop(`Checksum: ${p}`);let f=Math.floor(c.byteLength/1024/1024);f>Ert&&!n&&(O.warn(`WARNING !!
|
|
324
325
|
The app size is ${f} Mb, this may take a while to download for users
|
|
325
326
|
`),O.warn(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
@@ -333,7 +334,7 @@ Are lower than the version number you uploaded to Capgo.`),O.error("More info he
|
|
|
333
334
|
- iOS: keyCFBundleShortVersionString or MARKETING_VERSION
|
|
334
335
|
- Android: versionName
|
|
335
336
|
Are lower than the version number you uploaded to Capgo.`),O.error("More info here: https://capgo.app/blog/how-version-work-in-capgo/#versioning-system")):e.action==="disableDevBuild"?(O.error(`Dev build is disabled in the default channel. ${n}`),O.error("Set your channel to allow it if you wanna test your app")):e.action==="disableEmulator"?(O.error(`Emulator is disabled in the default channel. ${n}`),O.error("Set your channel to allow it if you wanna test your app")):e.action==="cannotGetBundle"?(O.error(`We cannot get your bundle from the default channel. ${n}`),O.error("Are you sure your default channel has a bundle set?")):e.action==="set_fail"?O.error(`Your bundle seems to be corrupted, try to download from ${n} to identify the issue`):e.action==="reset"?O.error("Your device has been reset to the builtin bundle, did notifyAppReady() is present in the code builded and uploaded to Capgo ?"):e.action==="update_fail"?(O.error("Your bundle has been installed but failed to call notifyAppReady()"),O.error("Please check if you have network connection and try again")):e.action==="checksum_fail"?O.error("Your bundle has failed to validate checksum, please check your code and send it again to Capgo"):O.error(`Log from Capgo ${e.action}`)}return!0}async function CF(e,t,r,i,n,s){let a=!0,o=_f(r),l=`${(await vc()).hostWeb}/app/p/${o}`;await No(e,n,i,"Use waitlog");let c={appId:r,devicesId:s?[s]:void 0,order:[{key:"created_at",sortable:"desc"}],rangeStart:new Date().toISOString()},d=null,p=Ue();for(p.start("Waiting for logs (Expect delay of 30 sec)");a;){await jrt(5e3);let f=await Urt(t,c,d);if(f.length>0){d=f[0].created_at;for(let h of f)if(a=await Vrt(h,e,n,i,l),!a)break}}return p.stop("Stop watching logs"),Promise.resolve()}async function Ume(e,t){se("Debug Live update in Capgo"),await lt(),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let i=t.device;t.apikey||(O.error("Missing API key, you need to provide an API key to delete your app"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey),s=Ht(),a=await xe(n,t.apikey);O.info("Getting active bundle in Capgo"),await et(n,t.apikey,e,4);let o=await Vn(n,e),u=await We({message:"Automatic check if update working in device ?"});await Mrt("debug",u,a,s),u?(O.info(`Wait logs sent to Capgo from ${e} device, Please open your app \u{1F4AA}`),await CF("debug",t.apikey,e,s,o,i),ee("Done \u2705")):ee("Canceled \u274C"),ee("Done \u2705"),(0,SF.exit)()}var ya=require("node:fs");var _i=require("node:crypto"),D2=require("node:buffer"),Vme="aes-128-cbc",Hme="sha256",Fy="base64",zme=_i.constants.RSA_PKCS1_OAEP_PADDING;function Gme(e,t,r){let[i,n]=t.split(":"),s=(0,_i.privateDecrypt)({key:r,padding:zme,oaepHash:Hme},D2.Buffer.from(n,Fy)),a=D2.Buffer.from(i,Fy),o=(0,_i.createDecipheriv)(Vme,s,a);return o.setAutoPadding(!0),D2.Buffer.concat([o.update(e),o.final()])}function Ny(e,t){let r=(0,_i.randomBytes)(16),i=(0,_i.randomBytes)(16),n=(0,_i.createCipheriv)(Vme,i,r);n.setAutoPadding(!0);let s=r.toString(Fy),a=(0,_i.publicEncrypt)({key:t,padding:zme,oaepHash:Hme},i).toString(Fy),o=`${s}:${a}`;return{encryptedData:D2.Buffer.concat([n.update(e),n.final()]),ivSessionKey:o}}function Wme(){let{publicKey:e,privateKey:t}=(0,_i.generateKeyPairSync)("rsa",{modulusLength:2048});return{publicKey:e.export({type:"pkcs1",format:"pem"}),privateKey:t.export({type:"pkcs1",format:"pem"})}}async function Hrt(e,t=!0){t&&se("Save keys \u{1F511}");let r=await me(),i=e.key||Do,n=e.keyData||"";if(!(0,ya.existsSync)(i)&&!n)if(t)O.error(`Cannot find public key ${i} or as keyData option or in ${r.path}`),B.error("");else return!1;else(0,ya.existsSync)(i)&&(n=(0,ya.readFileSync)(i).toString());return r?.config&&(r.config.plugins||(r.config.plugins={extConfig:{},CapacitorUpdater:{}}),r.config.plugins.CapacitorUpdater||(r.config.plugins.CapacitorUpdater={}),r.config.plugins.CapacitorUpdater.privateKey=n,await lT(r)),O&&(O.success(`private key saved into ${r.path} file in local directory`),O.success("your app will decode the zip archive with this key")),!0}async function Xme(e){se("Save keys \u{1F511}"),await lt(),await Hrt(e)}async function AF(e,t=!0){t&&se("Create keys \u{1F511}");let{publicKey:r,privateKey:i}=Wme();if((0,ya.existsSync)(bo)&&!e.force)if(O.error("Public Key already exists, use --force to overwrite"),t)B.error("");else return!1;if((0,ya.writeFileSync)(bo,r),(0,ya.existsSync)(Do)&&!e.force)if(O.error("Private Key already exists, use --force to overwrite"),t)B.error("");else return!1;(0,ya.writeFileSync)(Do,i);let n=await me();if(n?.config){n.config.plugins||(n.config.plugins={extConfig:{},CapacitorUpdater:{}}),n.config.plugins.CapacitorUpdater||(n.config.plugins.CapacitorUpdater={});let s=i.replace(/\\n/g,"\\n");n.config.plugins.CapacitorUpdater.privateKey=s,lT(n)}return t&&(O.success("Your RSA key has been generated"),O.success(`Public key saved in ${bo}`),O.success("This key will be use to encrypt your bundle before sending it to Capgo"),O.success("Keep it safe"),O.success("Than make it unreadable by Capgo and unmodifiable by anyone"),O.success(`Private key saved in ${n.path}`),O.success("Your app will be the only one having it"),O.success("Only your users can decrypt your update"),O.success("Only you can send them an update"),ee("Done \u2705")),!0}async function Yme(e){await lt(),await AF(e)}var _2e=require("node:process");var f2e=require("node:process");var h2e=ye(A2());async function m2e(e,t,r){let{data:i,error:n}=await e.from("channels").select().eq("app_id",t).eq("version",r.id);if(n&&(O.error(`Cannot check Version ${t}@${r.name}`),B.error("")),i&&i.length>0){if(se(`\u274C Version ${t}@${r.name} is used in ${i.length} channel`),await We({message:"unlink it?"}))for(let s of i){let a=Ue();a.start(`Unlinking channel ${s.name}`);let{error:o}=await e.from("channels").update({version:(await HF(e,t))?.id}).eq("id",s.id);o&&(a.stop(`Cannot update channel ${s.name} ${le(o)}`),(0,f2e.exit)(1)),a.stop(`\u2705 Channel ${s.name} unlinked`)}else O.error("Unlink it first"),B.error("");ee(`Version unlinked from ${i.length} channel`)}}function HF(e,t){return e.from("app_versions").select("id").eq("app_id",t).eq("name","unknown").throwOnError().single().then(({data:r,error:i})=>(i&&(O.error(`Cannot call findUnknownVersion as it returned an error.
|
|
336
|
-
${le(i)}`),B.error("")),r))}function g2e(e,t){return e.from("channels").insert(t).select().single()}function y2e(e,t,r,i){return e.from("channels").delete().eq("name",t).eq("app_id",r).single()}function v2e(e){let t=new h2e.Table({title:"Channels",charLength:{"\u274C":2,"\u2705":2}});e.reverse().forEach(r=>{t.addRow({Name:r.name,...r.version?{Version:r.version.name}:void 0,Public:r.public?"\u2705":"\u274C",iOS:r.ios?"\u2705":"\u274C",Android:r.android?"\u2705":"\u274C","\u2B06\uFE0F limit":r.
|
|
337
|
+
${le(i)}`),B.error("")),r))}function g2e(e,t){return e.from("channels").insert(t).select().single()}function y2e(e,t,r,i){return e.from("channels").delete().eq("name",t).eq("app_id",r).single()}function v2e(e){let t=new h2e.Table({title:"Channels",charLength:{"\u274C":2,"\u2705":2}});e.reverse().forEach(r=>{t.addRow({Name:r.name,...r.version?{Version:r.version.name}:void 0,Public:r.public?"\u2705":"\u274C",iOS:r.ios?"\u2705":"\u274C",Android:r.android?"\u2705":"\u274C","\u2B06\uFE0F limit":r.disable_auto_update,"\u2B07\uFE0F under native":r.disable_auto_update_under_native?"\u274C":"\u2705","Self assign":r.allow_device_self_set?"\u2705":"\u274C",Progressive:r.enable_progressive_deploy?"\u2705":"\u274C",...r.enable_progressive_deploy&&r.second_version?{"Next version":r.second_version.name}:void 0,...r.enable_progressive_deploy&&r.second_version?{"Next %":r.secondary_version_percentage}:void 0,"AB Testing":r.enable_ab_testing?"\u2705":"\u274C",...r.enable_ab_testing&&r.second_version?{"Version B":r.second_version.name}:void 0,...r.enable_ab_testing&&r.second_version?{"A/B %":`${(1-r.secondary_version_percentage)*100}% / ${r.secondary_version_percentage*100}%`}:void 0,Emulator:r.allow_emulator?"\u2705":"\u274C","Dev \u{1F4F1}":r.allow_dev?"\u2705":"\u274C"})}),O.success(t.render())}async function w2e(e,t){let{data:r,error:i}=await e.from("channels").select(`
|
|
337
338
|
id,
|
|
338
339
|
name,
|
|
339
340
|
public,
|
|
@@ -342,12 +343,12 @@ ${le(i)}`),B.error("")),r))}function g2e(e,t){return e.from("channels").insert(t
|
|
|
342
343
|
ios,
|
|
343
344
|
android,
|
|
344
345
|
allow_device_self_set,
|
|
345
|
-
|
|
346
|
-
|
|
346
|
+
disable_auto_update_under_native,
|
|
347
|
+
disable_auto_update,
|
|
347
348
|
enable_progressive_deploy,
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
349
|
+
enable_ab_testing,
|
|
350
|
+
secondary_version_percentage,
|
|
351
|
+
second_version (id, name),
|
|
351
352
|
created_at,
|
|
352
353
|
created_by,
|
|
353
354
|
app_id,
|
|
@@ -362,14 +363,14 @@ ${le(l.error)}`),B.error("")),O.success("Channel created \u2705"),await s.track(
|
|
|
362
363
|
`)+`
|
|
363
364
|
`),u.push(i.join(";").toLowerCase()),u.push(n),u.join(`
|
|
364
365
|
`)}async function k2e(e,t,r){let i=await My(e),n=JF(r,t),s=[];return s.push(ZF),s.push(N2(t)),s.push(n),s.push(i),s.join(`
|
|
365
|
-
`)}async function R2e(e,t,r){let i=KF(e),n=await Gf("AWS4"+r,i),s=await Gf(n,t),a=await Gf(s,"s3");return await Gf(a,"aws4_request")}function P2e(e,t,r){return`${e}/${JF(t,r)}`}async function Gf(e,t){let r=new TextEncoder,i=await crypto.subtle.importKey("raw",e instanceof Uint8Array?e:r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),n=await crypto.subtle.sign("HMAC",i,t instanceof Uint8Array?t:r.encode(t));return new Uint8Array(n)}var Qit=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],ent=5*1024*1024,tnt=5*1024*1024*1024,QF=5*1024*1024*1024*1024,k2=class{host;port;protocol;accessKey;#e;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;constructor(t){if(t.useSSL===void 0&&(t.useSSL=!0),typeof t.endPoint!="string"||t.endPoint.length===0||t.endPoint.indexOf("/")!==-1)throw new qy(`Invalid endPoint : ${t.endPoint}`);if(t.port!==void 0&&!C2e(t.port))throw new Kn(`Invalid port : ${t.port}`);if(t.accessKey&&!t.secretKey)throw new Kn("If specifying access key, secret key must also be provided.");if(t.accessKey&&t.accessKey.startsWith("ASIA")&&!t.sessionToken)throw new Kn("If specifying temporary access key, session token must also be provided.");let r=t.useSSL?443:80;this.port=t.port??r,this.host=t.endPoint.toLowerCase()+(this.port!==r?`:${t.port}`:""),this.protocol=t.useSSL?"https:":"http:",this.accessKey=t.accessKey,this.#e=t.secretKey??"",this.sessionToken=t.sessionToken,this.pathStyle=t.pathStyle??!0,this.defaultBucket=t.bucket,this.region=t.region}getBucketName(t){let r=t?.bucketName??this.defaultBucket;if(r===void 0||!A2e(r))throw new $y(`Invalid bucket name: ${r}`);return r}buildRequestOptions(t){let r=this.getBucketName(t),i=this.pathStyle?this.host:`${r}.${this.host}`,n=t.headers??new Headers;n.set("host",i);let s=typeof t.query=="object"?new URLSearchParams(t.query).toString().replace("+","%20"):t.query,a=(this.pathStyle?`/${r}/${t.objectName}`:`/${t.objectName}`)+(s?`?${s}`:"");return{headers:n,host:i,path:a}}async makeRequest({method:t,payload:r,...i}){let n=new Date,{headers:s,host:a,path:o}=this.buildRequestOptions(i),u=i.statusCode??200;if(t==="POST"||t==="PUT"||t==="DELETE")r===void 0?r=new Uint8Array:typeof r=="string"&&(r=new TextEncoder().encode(r)),s.set("Content-Length",String(r.length));else if(r)throw new Error(`Unexpected payload on ${t} request.`);let l=await My(r??new Uint8Array);s.set("x-amz-date",N2(n)),s.set("x-amz-content-sha256",l),this.accessKey&&(this.sessionToken&&s.set("x-amz-security-token",this.sessionToken),s.set("authorization",await T2e({headers:s,method:t,path:o,accessKey:this.accessKey,secretKey:this.#e,region:this.region,date:n})));let c=`${this.protocol}//${a}${o}`,d=await fetch(c,{method:t,headers:s,body:r});if(d.status!==u)throw d.status>=400?await S2e(d):d.status===301?new Po(d.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"'):new Po(d.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${u}, got ${d.status} ${d.statusText}).`);return i.returnBody||await d.body?.getReader().read(),d}async deleteObject(t,r={}){let i=this.getBucketName(r);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let n=r.versionId?{versionId:r.versionId}:{},s=new Headers;r.governanceBypass&&s.set("X-Amz-Bypass-Governance-Retention","true"),await this.makeRequest({method:"DELETE",bucketName:i,objectName:t,headers:s,query:n,statusCode:204})}async exists(t,r){try{return await this.statObject(t,r),!0}catch(i){if(i instanceof Po&&i.statusCode===404)return!1;throw i}}getObject(t,r){return this.getPartialObject(t,{...r,offset:0,length:0})}async getPartialObject(t,{offset:r,length:i,...n}){let s=this.getBucketName(n);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let a=new Headers(Object.entries(n.metadata??{})),o=200;if(r||i){let l="";r?l=`bytes=${+r}-`:(l="bytes=0-",r=0),i&&(l+=`${+i+r-1}`),a.set("Range",l),o=206}let u={...n.responseParams,...n.versionId?{versionId:n.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:s,objectName:t,headers:a,query:u,statusCode:o,returnBody:!0})}getPresignedUrl(t,r,i={}){if(!this.accessKey)throw new Uc(`Presigned ${t} URLs cannot be generated for anonymous requests. Specify an accessKey and secretKey.`);if(!Vc(r))throw new Ro(`Invalid object name: ${r}`);let{headers:n,path:s}=this.buildRequestOptions({objectName:r,bucketName:i.bucketName,query:i.parameters}),a=i.requestDate??new Date,o=i.expirySeconds??24*60*60*7;return O2e({protocol:this.protocol,headers:n,method:t,path:s,accessKey:this.accessKey,secretKey:this.#e,region:this.region,date:a,expirySeconds:o})}presignedGetObject(t,r={}){let{versionId:i,responseParams:n,...s}=r,a={...n,...i?{versionId:i}:{}};return this.getPresignedUrl("GET",t,{parameters:a,...s})}async*listObjects(t={}){for await(let r of this.listObjectsGrouped({...t,delimiter:""}))if(r.type==="Object")yield r;else throw new Error(`Unexpected result from listObjectsGrouped(): ${r}`)}async*listObjectsGrouped(t){let r=this.getBucketName(t),i="",n=t.pageSize??1e3;if(n<1||n>1e3)throw new Kn("pageSize must be between 1 and 1,000.");let s=0;for(;;){let a=t.maxResults?Math.min(n,t.maxResults-s):n;if(a===0)return;let u=await(await this.makeRequest({method:"GET",bucketName:r,objectName:"",query:{"list-type":"2",prefix:t.prefix??"",delimiter:t.delimiter,"max-keys":String(a),...i?{"continuation-token":i}:{}},returnBody:!0})).text(),l=tl(u).root;if(!l||l.name!=="ListBucketResult")throw new Error(`Unexpected response: ${u}`);let c=l.children.filter(f=>f.name==="CommonPrefixes").flatMap(f=>f.children),d=[];for(let f of c)d.push({type:"CommonPrefix",prefix:f.content??""}),s++;for(let f of l.children.filter(h=>h.name==="Contents"))d.push({type:"Object",key:f.children.find(h=>h.name==="Key")?.content??"",etag:Hc(f.children.find(h=>h.name==="ETag")?.content??""),size:parseInt(f.children.find(h=>h.name==="Size")?.content??"",10),lastModified:new Date(f.children.find(h=>h.name==="LastModified")?.content??"invalid")}),s++;d.sort((f,h)=>{let g=f.type==="Object"?f.key:f.prefix,v=h.type==="Object"?h.key:h.prefix;return g>v?1:g<v?-1:0});for(let f of d)yield f;if(l.children.find(f=>f.name==="IsTruncated")?.content==="true"){let f=l.children.find(h=>h.name==="NextContinuationToken")?.content;if(!f)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");i=f}else return}}async putObject(t,r,i){let n=this.getBucketName(i);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let s,a;if(typeof r=="string"){let c=new TextEncoder().encode(r);typeof ReadableStream.from<"u"?a=ReadableStream.from([c]):a=new ReadableStream({start(d){d.enqueue(c),d.close()}}),s=c.length}else if(r instanceof Uint8Array)typeof ReadableStream.from<"u"?a=ReadableStream.from([r]):a=new ReadableStream({start(c){c.enqueue(r),c.close()}}),s=r.byteLength;else if(r instanceof ReadableStream)a=r;else throw new Kn("Invalid stream/data type provided.");if(i?.size!==void 0){if(s!==void 0&&i?.size!==s)throw new Kn(`size was specified (${i.size}) but doesn't match auto-detected size (${s}).`);if(typeof i.size!="number"||i.size<0||isNaN(i.size))throw new Kn(`invalid size specified: ${i.size}`);s=i.size}let o=i?.partSize??this.calculatePartSize(s);if(o<ent)throw new Kn("Part size should be greater than 5MB");if(o>tnt)throw new Kn("Part size should be less than 6MB");let u=new By(o),l=new Uy({client:this,bucketName:n,objectName:t,partSize:o,metadata:i?.metadata??{}});return await a.pipeThrough(u).pipeTo(l),l.getResult()}calculatePartSize(t){if(t===void 0&&(t=QF),t>QF)throw new TypeError(`size should not be more than ${QF}`);let r=64*1024*1024;for(;;){if(r*1e4>t)return r;r+=16*1024*1024}}async statObject(t,r){let i=this.getBucketName(r);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let n={};r?.versionId&&(n.versionId=r.versionId);let s=await this.makeRequest({method:"HEAD",bucketName:i,objectName:t,query:n}),a={};for(let o of Qit)s.headers.has(o)&&(a[o]=s.headers.get(o));return s.headers.forEach((o,u)=>{u.startsWith("x-amz-meta-")&&(a[u]=s.headers.get(u))}),{type:"Object",key:t,size:parseInt(s.headers.get("content-length")??"",10),metadata:a,lastModified:new Date(s.headers.get("Last-Modified")??"error: missing last modified"),versionId:s.headers.get("x-amz-version-id")||null,etag:Hc(s.headers.get("ETag")??"")}}async copyObject(t,r,i){let n=this.getBucketName(i),s=t.sourceBucketName??n;if(!Vc(r))throw new Ro(`Invalid object name: ${r}`);let a=`${s}/${t.sourceKey}`;t.sourceVersionId&&(a+=`?versionId=${t.sourceVersionId}`);let o=new Headers(i?.metadata);i?.metadata!==void 0&&o.set("x-amz-metadata-directive","REPLACE"),o.set("x-amz-copy-source",a);let u=await this.makeRequest({method:"PUT",bucketName:n,objectName:r,headers:o,returnBody:!0}),l=await u.text(),c=tl(l).root;if(!c||c.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${l}`);let d=c.children.find(f=>f.name==="ETag")?.content??"",p=c.children.find(f=>f.name==="LastModified")?.content;if(p===void 0)throw new Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:u.headers.get("x-amz-copy-source-version-id")||null,etag:Hc(d),lastModified:new Date(p),versionId:u.headers.get("x-amz-version-id")||null}}async bucketExists(t){try{return await this.listObjects({bucketName:t}).next(),!0}catch(r){if(r instanceof Po&&r.statusCode===404)return!1;throw r}}async makeBucket(t){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:t}),objectName:"",statusCode:200})}async removeBucket(t){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:t}),objectName:"",statusCode:204})}};var rnt=20,int=12e4;async function nnt(e,t){let r=await Mi(),i=t.bundle||e?.plugins?.CapacitorUpdater?.version||r?.version||`0.0.1-beta.${(0,I2e.randomUUID)().split("-")[0]}`;return yf.test(i)||(O.error(`Your bundle name ${i}, is not valid it should follow semver convention : https://semver.org/`),B.error("")),i}function snt(e){let t=e.apikey||Ae();return t||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t}function ant(e,t,r){let i=e||r?.appId,n=t.path||r?.webDir;return(!i||!n)&&(O.error("Missing argument, you need to provide a appid and a path (--path), or be in a capacitor project"),B.error("")),(0,Wf.existsSync)(n)||(O.error(`Path ${n} does not exist, build your app first, or provide a valid path`),B.error("")),{appid:i,path:n}}function ont(e,t){let r=e.codeCheck;(typeof r>"u"||r)&&(w2(t,"notifyAppReady")||(O.error("notifyAppReady() is missing in the source code. see: https://capgo.app/docs/plugin/api/#notifyappready"),B.error("")),_2(t)||(O.error("index.html is missing in the root folder or in the only folder in the root folder"),B.error("")))}async function unt(e,t,r,i,n,s){let a=r.ignoreMetadataCheck,o=r.autoMinUpdateVersion,u=r.minUpdateVersion,{data:l,error:c}=await e.from("channels").select("disableAutoUpdate, version ( minUpdateVersion, native_packages )").eq("name",i).eq("app_id",n).single(),d=!!l&&l.disableAutoUpdate==="version_number",p,f;if(!c&&l&&l.version&&l.version.native_packages&&!a){let v=Ue();v.start(`Checking bundle compatibility with channel ${i}`);let{finalCompatibility:y,localDependencies:x}=await I9(e,n,i);if(f=y,p=x,f.find(D=>D.localVersion!==D.remoteVersion))v.stop(`Bundle NOT compatible with ${i} channel`),O.warn(`You can check compatibility with "${t.runner} @capgo/cli bundle compatibility"`),o&&(u=s,O.info(`Auto set min-update-version to ${u}`));else if(o)try{let{minUpdateVersion:D}=l.version;(!D||!yf.test(D))&&(O.error("Invalid remote min update version, skipping auto setting compatibility"),B.error("")),u=D,v.stop(`Auto set min-update-version to ${u}`)}catch{O.error(`Cannot auto set compatibility, invalid data ${l}`),B.error("")}else v.stop(`Bundle compatible with ${i} channel`)}else a||(O.warn(`Channel ${i} is new or it's your first upload with compatibility check, it will be ignored this time`),p=await NT(),o&&(u=s,O.info(`Auto set min-update-version to ${u}`)));d&&!u&&!a&&(O.error("You need to provide a min-update-version to upload a bundle to this channel"),B.error("")),u&&(yf.test(u)||(O.error(`Your minimal version update ${u}, is not valid it should follow semver convention : https://semver.org/`),B.error("")));let h=p?new Map(p.filter(v=>!!v.native&&v.native!==void 0).map(v=>[v.name,v])):new Map;return{nativePackages:h.size>0||!r.ignoreMetadataCheck?Array.from(h,([v,y])=>({name:v,version:y.version})):void 0,minUpdateVersion:u}}async function lnt(e,t,r){let{data:i,error:n}=await e.rpc("is_trial_org",{orgid:t}).single();(i&&i>0||n)&&(O.warn(`WARNING !!
|
|
366
|
+
`)}async function R2e(e,t,r){let i=KF(e),n=await Gf("AWS4"+r,i),s=await Gf(n,t),a=await Gf(s,"s3");return await Gf(a,"aws4_request")}function P2e(e,t,r){return`${e}/${JF(t,r)}`}async function Gf(e,t){let r=new TextEncoder,i=await crypto.subtle.importKey("raw",e instanceof Uint8Array?e:r.encode(e),{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign","verify"]),n=await crypto.subtle.sign("HMAC",i,t instanceof Uint8Array?t:r.encode(t));return new Uint8Array(n)}var Qit=["Content-Type","Cache-Control","Content-Disposition","Content-Encoding","Content-Language","Expires","x-amz-grant-full-control","x-amz-grant-read","x-amz-grant-read-acp","x-amz-grant-write-acp","x-amz-server-side-encryption","x-amz-storage-class","x-amz-website-redirect-location","x-amz-server-side-encryption-customer-algorithm","x-amz-server-side-encryption-customer-key","x-amz-server-side-encryption-customer-key-MD5","x-amz-server-side-encryption-aws-kms-key-id","x-amz-server-side-encryption-context","x-amz-server-side-encryption-bucket-key-enabled","x-amz-request-payer","x-amz-tagging","x-amz-object-lock-mode","x-amz-object-lock-retain-until-date","x-amz-object-lock-legal-hold","x-amz-expected-bucket-owner"],ent=5*1024*1024,tnt=5*1024*1024*1024,QF=5*1024*1024*1024*1024,k2=class{host;port;protocol;accessKey;#e;sessionToken;defaultBucket;region;userAgent="s3-lite-client";pathStyle;constructor(t){if(t.useSSL===void 0&&(t.useSSL=!0),typeof t.endPoint!="string"||t.endPoint.length===0||t.endPoint.indexOf("/")!==-1)throw new qy(`Invalid endPoint : ${t.endPoint}`);if(t.port!==void 0&&!C2e(t.port))throw new Kn(`Invalid port : ${t.port}`);if(t.accessKey&&!t.secretKey)throw new Kn("If specifying access key, secret key must also be provided.");if(t.accessKey&&t.accessKey.startsWith("ASIA")&&!t.sessionToken)throw new Kn("If specifying temporary access key, session token must also be provided.");let r=t.useSSL?443:80;this.port=t.port??r,this.host=t.endPoint.toLowerCase()+(this.port!==r?`:${t.port}`:""),this.protocol=t.useSSL?"https:":"http:",this.accessKey=t.accessKey,this.#e=t.secretKey??"",this.sessionToken=t.sessionToken,this.pathStyle=t.pathStyle??!0,this.defaultBucket=t.bucket,this.region=t.region}getBucketName(t){let r=t?.bucketName??this.defaultBucket;if(r===void 0||!A2e(r))throw new $y(`Invalid bucket name: ${r}`);return r}buildRequestOptions(t){let r=this.getBucketName(t),i=this.pathStyle?this.host:`${r}.${this.host}`,n=t.headers??new Headers;n.set("host",i);let s=typeof t.query=="object"?new URLSearchParams(t.query).toString().replace("+","%20"):t.query,a=(this.pathStyle?`/${r}/${t.objectName}`:`/${t.objectName}`)+(s?`?${s}`:"");return{headers:n,host:i,path:a}}async makeRequest({method:t,payload:r,...i}){let n=new Date,{headers:s,host:a,path:o}=this.buildRequestOptions(i),u=i.statusCode??200;if(t==="POST"||t==="PUT"||t==="DELETE")r===void 0?r=new Uint8Array:typeof r=="string"&&(r=new TextEncoder().encode(r)),s.set("Content-Length",String(r.length));else if(r)throw new Error(`Unexpected payload on ${t} request.`);let l=await My(r??new Uint8Array);s.set("x-amz-date",N2(n)),s.set("x-amz-content-sha256",l),this.accessKey&&(this.sessionToken&&s.set("x-amz-security-token",this.sessionToken),s.set("authorization",await T2e({headers:s,method:t,path:o,accessKey:this.accessKey,secretKey:this.#e,region:this.region,date:n})));let c=`${this.protocol}//${a}${o}`,d=await fetch(c,{method:t,headers:s,body:r});if(d.status!==u)throw d.status>=400?await S2e(d):d.status===301?new Po(d.status,"UnexpectedRedirect",'The server unexpectedly returned a redirect response. With AWS S3, this usually means you need to use a region-specific endpoint like "s3.us-west-2.amazonaws.com" instead of "s3.amazonaws.com"'):new Po(d.status,"UnexpectedStatusCode",`Unexpected response code from the server (expected ${u}, got ${d.status} ${d.statusText}).`);return i.returnBody||await d.body?.getReader().read(),d}async deleteObject(t,r={}){let i=this.getBucketName(r);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let n=r.versionId?{versionId:r.versionId}:{},s=new Headers;r.governanceBypass&&s.set("X-Amz-Bypass-Governance-Retention","true"),await this.makeRequest({method:"DELETE",bucketName:i,objectName:t,headers:s,query:n,statusCode:204})}async exists(t,r){try{return await this.statObject(t,r),!0}catch(i){if(i instanceof Po&&i.statusCode===404)return!1;throw i}}getObject(t,r){return this.getPartialObject(t,{...r,offset:0,length:0})}async getPartialObject(t,{offset:r,length:i,...n}){let s=this.getBucketName(n);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let a=new Headers(Object.entries(n.metadata??{})),o=200;if(r||i){let l="";r?l=`bytes=${+r}-`:(l="bytes=0-",r=0),i&&(l+=`${+i+r-1}`),a.set("Range",l),o=206}let u={...n.responseParams,...n.versionId?{versionId:n.versionId}:{}};return await this.makeRequest({method:"GET",bucketName:s,objectName:t,headers:a,query:u,statusCode:o,returnBody:!0})}getPresignedUrl(t,r,i={}){if(!this.accessKey)throw new Uc(`Presigned ${t} URLs cannot be generated for anonymous requests. Specify an accessKey and secretKey.`);if(!Vc(r))throw new Ro(`Invalid object name: ${r}`);let{headers:n,path:s}=this.buildRequestOptions({objectName:r,bucketName:i.bucketName,query:i.parameters}),a=i.requestDate??new Date,o=i.expirySeconds??24*60*60*7;return O2e({protocol:this.protocol,headers:n,method:t,path:s,accessKey:this.accessKey,secretKey:this.#e,region:this.region,date:a,expirySeconds:o})}presignedGetObject(t,r={}){let{versionId:i,responseParams:n,...s}=r,a={...n,...i?{versionId:i}:{}};return this.getPresignedUrl("GET",t,{parameters:a,...s})}async*listObjects(t={}){for await(let r of this.listObjectsGrouped({...t,delimiter:""}))if(r.type==="Object")yield r;else throw new Error(`Unexpected result from listObjectsGrouped(): ${r}`)}async*listObjectsGrouped(t){let r=this.getBucketName(t),i="",n=t.pageSize??1e3;if(n<1||n>1e3)throw new Kn("pageSize must be between 1 and 1,000.");let s=0;for(;;){let a=t.maxResults?Math.min(n,t.maxResults-s):n;if(a===0)return;let u=await(await this.makeRequest({method:"GET",bucketName:r,objectName:"",query:{"list-type":"2",prefix:t.prefix??"",delimiter:t.delimiter,"max-keys":String(a),...i?{"continuation-token":i}:{}},returnBody:!0})).text(),l=tl(u).root;if(!l||l.name!=="ListBucketResult")throw new Error(`Unexpected response: ${u}`);let c=l.children.filter(f=>f.name==="CommonPrefixes").flatMap(f=>f.children),d=[];for(let f of c)d.push({type:"CommonPrefix",prefix:f.content??""}),s++;for(let f of l.children.filter(h=>h.name==="Contents"))d.push({type:"Object",key:f.children.find(h=>h.name==="Key")?.content??"",etag:Hc(f.children.find(h=>h.name==="ETag")?.content??""),size:parseInt(f.children.find(h=>h.name==="Size")?.content??"",10),lastModified:new Date(f.children.find(h=>h.name==="LastModified")?.content??"invalid")}),s++;d.sort((f,h)=>{let g=f.type==="Object"?f.key:f.prefix,v=h.type==="Object"?h.key:h.prefix;return g>v?1:g<v?-1:0});for(let f of d)yield f;if(l.children.find(f=>f.name==="IsTruncated")?.content==="true"){let f=l.children.find(h=>h.name==="NextContinuationToken")?.content;if(!f)throw new Error("Unexpectedly missing continuation token, but server said there are more results.");i=f}else return}}async putObject(t,r,i){let n=this.getBucketName(i);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let s,a;if(typeof r=="string"){let c=new TextEncoder().encode(r);typeof ReadableStream.from<"u"?a=ReadableStream.from([c]):a=new ReadableStream({start(d){d.enqueue(c),d.close()}}),s=c.length}else if(r instanceof Uint8Array)typeof ReadableStream.from<"u"?a=ReadableStream.from([r]):a=new ReadableStream({start(c){c.enqueue(r),c.close()}}),s=r.byteLength;else if(r instanceof ReadableStream)a=r;else throw new Kn("Invalid stream/data type provided.");if(i?.size!==void 0){if(s!==void 0&&i?.size!==s)throw new Kn(`size was specified (${i.size}) but doesn't match auto-detected size (${s}).`);if(typeof i.size!="number"||i.size<0||isNaN(i.size))throw new Kn(`invalid size specified: ${i.size}`);s=i.size}let o=i?.partSize??this.calculatePartSize(s);if(o<ent)throw new Kn("Part size should be greater than 5MB");if(o>tnt)throw new Kn("Part size should be less than 6MB");let u=new By(o),l=new Uy({client:this,bucketName:n,objectName:t,partSize:o,metadata:i?.metadata??{}});return await a.pipeThrough(u).pipeTo(l),l.getResult()}calculatePartSize(t){if(t===void 0&&(t=QF),t>QF)throw new TypeError(`size should not be more than ${QF}`);let r=64*1024*1024;for(;;){if(r*1e4>t)return r;r+=16*1024*1024}}async statObject(t,r){let i=this.getBucketName(r);if(!Vc(t))throw new Ro(`Invalid object name: ${t}`);let n={};r?.versionId&&(n.versionId=r.versionId);let s=await this.makeRequest({method:"HEAD",bucketName:i,objectName:t,query:n}),a={};for(let o of Qit)s.headers.has(o)&&(a[o]=s.headers.get(o));return s.headers.forEach((o,u)=>{u.startsWith("x-amz-meta-")&&(a[u]=s.headers.get(u))}),{type:"Object",key:t,size:parseInt(s.headers.get("content-length")??"",10),metadata:a,lastModified:new Date(s.headers.get("Last-Modified")??"error: missing last modified"),versionId:s.headers.get("x-amz-version-id")||null,etag:Hc(s.headers.get("ETag")??"")}}async copyObject(t,r,i){let n=this.getBucketName(i),s=t.sourceBucketName??n;if(!Vc(r))throw new Ro(`Invalid object name: ${r}`);let a=`${s}/${t.sourceKey}`;t.sourceVersionId&&(a+=`?versionId=${t.sourceVersionId}`);let o=new Headers(i?.metadata);i?.metadata!==void 0&&o.set("x-amz-metadata-directive","REPLACE"),o.set("x-amz-copy-source",a);let u=await this.makeRequest({method:"PUT",bucketName:n,objectName:r,headers:o,returnBody:!0}),l=await u.text(),c=tl(l).root;if(!c||c.name!=="CopyObjectResult")throw new Error(`Unexpected response: ${l}`);let d=c.children.find(f=>f.name==="ETag")?.content??"",p=c.children.find(f=>f.name==="LastModified")?.content;if(p===void 0)throw new Error("Unable to find <LastModified>...</LastModified> from the server.");return{copySourceVersionId:u.headers.get("x-amz-copy-source-version-id")||null,etag:Hc(d),lastModified:new Date(p),versionId:u.headers.get("x-amz-version-id")||null}}async bucketExists(t){try{return await this.listObjects({bucketName:t}).next(),!0}catch(r){if(r instanceof Po&&r.statusCode===404)return!1;throw r}}async makeBucket(t){await this.makeRequest({method:"PUT",bucketName:this.getBucketName({bucketName:t}),objectName:"",statusCode:200})}async removeBucket(t){await this.makeRequest({method:"DELETE",bucketName:this.getBucketName({bucketName:t}),objectName:"",statusCode:204})}};var rnt=20,int=12e4;async function nnt(e,t){let r=await Mi(),i=t.bundle||e?.plugins?.CapacitorUpdater?.version||r?.version||`0.0.1-beta.${(0,I2e.randomUUID)().split("-")[0]}`;return yf.test(i)||(O.error(`Your bundle name ${i}, is not valid it should follow semver convention : https://semver.org/`),B.error("")),i}function snt(e){let t=e.apikey||Ae();return t||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t}function ant(e,t,r){let i=e||r?.appId,n=t.path||r?.webDir;return(!i||!n)&&(O.error("Missing argument, you need to provide a appid and a path (--path), or be in a capacitor project"),B.error("")),(0,Wf.existsSync)(n)||(O.error(`Path ${n} does not exist, build your app first, or provide a valid path`),B.error("")),{appid:i,path:n}}function ont(e,t){let r=e.codeCheck;(typeof r>"u"||r)&&(w2(t,"notifyAppReady")||(O.error("notifyAppReady() is missing in the source code. see: https://capgo.app/docs/plugin/api/#notifyappready"),B.error("")),_2(t)||(O.error("index.html is missing in the root folder or in the only folder in the root folder"),B.error("")))}async function unt(e,t,r,i,n,s){let a=r.ignoreMetadataCheck,o=r.autoMinUpdateVersion,u=r.minUpdateVersion,{data:l,error:c}=await e.from("channels").select("disable_auto_update, version ( min_update_version, native_packages )").eq("name",i).eq("app_id",n).single(),d=!!l&&l.disable_auto_update==="version_number",p,f;if(!c&&l&&l.version&&l.version.native_packages&&!a){let v=Ue();v.start(`Checking bundle compatibility with channel ${i}`);let{finalCompatibility:y,localDependencies:x}=await I9(e,n,i);if(f=y,p=x,f.find(D=>D.localVersion!==D.remoteVersion))v.stop(`Bundle NOT compatible with ${i} channel`),O.warn(`You can check compatibility with "${t.runner} @capgo/cli bundle compatibility"`),o&&(u=s,O.info(`Auto set min-update-version to ${u}`));else if(o)try{let{minUpdateVersion:D}=l.version;(!D||!yf.test(D))&&(O.error("Invalid remote min update version, skipping auto setting compatibility"),B.error("")),u=D,v.stop(`Auto set min-update-version to ${u}`)}catch{O.error(`Cannot auto set compatibility, invalid data ${l}`),B.error("")}else v.stop(`Bundle compatible with ${i} channel`)}else a||(O.warn(`Channel ${i} is new or it's your first upload with compatibility check, it will be ignored this time`),p=await NT(),o&&(u=s,O.info(`Auto set min-update-version to ${u}`)));d&&!u&&!a&&(O.error("You need to provide a min-update-version to upload a bundle to this channel"),B.error("")),u&&(yf.test(u)||(O.error(`Your minimal version update ${u}, is not valid it should follow semver convention : https://semver.org/`),B.error("")));let h=p?new Map(p.filter(v=>!!v.native&&v.native!==void 0).map(v=>[v.name,v])):new Map;return{nativePackages:h.size>0||!r.ignoreMetadataCheck?Array.from(h,([v,y])=>({name:v,version:y.version})):void 0,minUpdateVersion:u}}async function lnt(e,t,r){let{data:i,error:n}=await e.rpc("is_trial_org",{orgid:t}).single();(i&&i>0||n)&&(O.warn(`WARNING !!
|
|
366
367
|
Trial expires in ${i} days`),O.warn(`Upgrade here: ${r.hostWeb}/dashboard/settings/plans?oid=${t}`))}async function cnt(e,t,r){let{data:i,error:n}=await e.rpc("exist_app_versions",{appid:t,apikey:"",name_version:r}).single();(i||n)&&(O.error(`Version already exists ${le(n)}`),B.error(""))}async function dnt(e,t,r,i,n,s){let a,o="",u=null,l=t.key;u=await R9(e);let c=Ue();if(c.start("Calculating checksum"),o=await(0,B2e.checksum)(u,"crc32"),c.stop(`Checksum: ${o}`),!l)O.info("Encryption ignored");else if(l||(0,Wf.existsSync)(bo)){let p=typeof l=="string"?l:bo,f=t.keyData||"";!f&&!(0,Wf.existsSync)(p)&&(O.error(`Cannot find public key ${p}`),q2e.default.isCI&&(O.error("Cannot ask if user wants to use capgo public key on the cli"),B.error("")),await We({message:"Do you want to use our public key ?"})||(O.error("Error: Missing public key"),B.error("")),f=r.signKey||""),await i.track({channel:"app",event:"App encryption",icon:"\u{1F511}",user_id:n,tags:{"app-id":s},notify:!1}).catch(),f||(f=(0,Wf.readFileSync)(p).toString()),O.info("Encrypting your bundle");let h=Ny(u,f);a=h.ivSessionKey,t.displayIvSession&&O.info(`Your Iv Session key is ${a},
|
|
367
368
|
keep it safe, you will need it to decrypt your bundle.
|
|
368
369
|
It will be also visible in your dashboard
|
|
369
370
|
`),u=h.encryptedData}let d=Math.floor((u?.byteLength??0)/1024/1024);return d>rnt&&(O.warn(`WARNING !!
|
|
370
371
|
The app size is ${d} Mb, this may take a while to download for users
|
|
371
372
|
`),O.info(`Learn how to optimize your assets https://capgo.app/blog/optimise-your-images-for-updates/
|
|
372
|
-
`),await i.track({channel:"app-error",event:"App Too Large",icon:"\u{1F69B}",user_id:n,tags:{"app-id":s},notify:!1}).catch()),{zipped:u,sessionKey:a,checksum:o}}async function pnt(e,t,r,i,n,s){let a=Ue();a.start("Uploading Bundle");let o=performance.now();try{if(s.multipart!==void 0&&s.multipart)O.info("Uploading bundle as multipart"),await fde(e,t,r,n,i);else{let c=await pde(e,t,r);c||(O.error("Cannot get upload url"),B.error("")),await ru.put(c,{timeout:s.timeout||int,retry:5,body:n})}}catch(c){let p=((performance.now()-o)/1e3).toFixed(2);if(a.stop(`Failed to upload bundle ( after ${p} seconds)`),O.error(`Cannot upload bundle ( try again with --multipart option) ${le(c)}`),c instanceof tu){let f=await c.response.text();O.error(`Response: ${le(f)}`)}await hde(e,t,r),B.error("")}let l=((performance.now()-o)/1e3).toFixed(2);a.stop(`Bundle Uploaded \u{1F4AA} (${l} seconds)`)}async function fnt(e,t,r,i,n,s,a,o,u,l){let{data:c}=await e.rpc("get_app_versions",{apikey:t,name_version:i,appid:o}).single();if(c&&AT(l,3)){let{error:d,data:p}=await P9(e,{name:n,app_id:o,created_by:s,version:c,owner_org:a});d&&(O.error(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${le(d)}`),B.error(""));let f=_f(o),h=`${u.hostWeb}/app/p/${f}/channel/${p.id}`;p?.public?O.info("Your update is now available in your public channel \u{1F389}"):p?.id&&O.info(`Link device to this bundle to try it: ${h}`),r?O.info(`Bundle url: ${h}`):c?AT(l,3)||O.warn("Cannot set channel as a upload organization member"):(O.warn("Cannot set bundle with upload key, use key with more rights for that"),B.error(""))}}async function Vy(e,t,r=!0){se("Uploading");let i=yi();await lt();let{s3Region:n,s3Apikey:s,s3Apisecret:a,s3BucketName:o,s3Endpoint:u,s3Port:l,s3SSL:c}=t,d=snt(t),p=await me(),{appid:f,path:h}=ant(e,t,p.config),g=await nnt(p.config,t),v=t.channel||"dev",y=Ht();ont(t,h),O.info(`Upload ${f}@${g} started from path "${h}" to Capgo cloud`);let x=await vc(),D=await Ee(d),w=await xe(D,d,["write","all","upload"]),_=await et(D,d,f,2),A=await Vn(D,f);await vf(D,A,d,f,!0),await lnt(D,A,x);let{nativePackages:C,minUpdateVersion:S}=await unt(D,i,t,v,f,g);await cnt(D,f,g),t.external&&!t.external.startsWith("https://")&&(O.error(`External link should should start with "https://" current is "${external}"`),B.error(""));let T={name:g,app_id:f,session_key:void 0,external_url:t.external,storage_provider:t.external?"external":"r2-direct",
|
|
373
|
+
`),await i.track({channel:"app-error",event:"App Too Large",icon:"\u{1F69B}",user_id:n,tags:{"app-id":s},notify:!1}).catch()),{zipped:u,sessionKey:a,checksum:o}}async function pnt(e,t,r,i,n,s){let a=Ue();a.start("Uploading Bundle");let o=performance.now();try{if(s.multipart!==void 0&&s.multipart)O.info("Uploading bundle as multipart"),await fde(e,t,r,n,i);else{let c=await pde(e,t,r);c||(O.error("Cannot get upload url"),B.error("")),await ru.put(c,{timeout:s.timeout||int,retry:5,body:n})}}catch(c){let p=((performance.now()-o)/1e3).toFixed(2);if(a.stop(`Failed to upload bundle ( after ${p} seconds)`),O.error(`Cannot upload bundle ( try again with --multipart option) ${le(c)}`),c instanceof tu){let f=await c.response.text();O.error(`Response: ${le(f)}`)}await hde(e,t,r),B.error("")}let l=((performance.now()-o)/1e3).toFixed(2);a.stop(`Bundle Uploaded \u{1F4AA} (${l} seconds)`)}async function fnt(e,t,r,i,n,s,a,o,u,l){let{data:c}=await e.rpc("get_app_versions",{apikey:t,name_version:i,appid:o}).single();if(c&&AT(l,3)){let{error:d,data:p}=await P9(e,{name:n,app_id:o,created_by:s,version:c,owner_org:a});d&&(O.error(`Cannot set channel, the upload key is not allowed to do that, use the "all" for this. ${le(d)}`),B.error(""));let f=_f(o),h=`${u.hostWeb}/app/p/${f}/channel/${p.id}`;p?.public?O.info("Your update is now available in your public channel \u{1F389}"):p?.id&&O.info(`Link device to this bundle to try it: ${h}`),r?O.info(`Bundle url: ${h}`):c?AT(l,3)||O.warn("Cannot set channel as a upload organization member"):(O.warn("Cannot set bundle with upload key, use key with more rights for that"),B.error(""))}}async function Vy(e,t,r=!0){se("Uploading");let i=yi();await lt();let{s3Region:n,s3Apikey:s,s3Apisecret:a,s3BucketName:o,s3Endpoint:u,s3Port:l,s3SSL:c}=t,d=snt(t),p=await me(),{appid:f,path:h}=ant(e,t,p.config),g=await nnt(p.config,t),v=t.channel||"dev",y=Ht();ont(t,h),O.info(`Upload ${f}@${g} started from path "${h}" to Capgo cloud`);let x=await vc(),D=await Ee(d),w=await xe(D,d,["write","all","upload"]),_=await et(D,d,f,2),A=await Vn(D,f);await vf(D,A,d,f,!0),await lnt(D,A,x);let{nativePackages:C,minUpdateVersion:S}=await unt(D,i,t,v,f,g);await cnt(D,f,g),t.external&&!t.external.startsWith("https://")&&(O.error(`External link should should start with "https://" current is "${external}"`),B.error(""));let T={name:g,app_id:f,session_key:void 0,external_url:t.external,storage_provider:t.external?"external":"r2-direct",min_update_version:S,native_packages:C,owner_org:A,user_id:w,checksum:void 0},E=null;if(t.external)await y.track({channel:"app",event:"App external",icon:"\u{1F4E4}",user_id:A,tags:{"app-id":f},notify:!1}).catch(),T.session_key=t.ivSessionKey;else{let{zipped:k,sessionKey:L,checksum:$}=await dnt(h,t,x,y,A,f);T.session_key=L,T.checksum=$,E=k,t.ignoreChecksumCheck||await gde(D,f,v,$)}let{error:b}=await FT(D,T);if(b&&(O.error(`Cannot add bundle ${le(b)}`),B.error("")),E&&(o||u||n||s||a||l||c)){(!o||!u||!n||!s||!a||!l)&&(O.error("Missing argument, for S3 upload you need to provide a bucket name, endpoint, region, port, API key, and API secret"),B.error("")),O.info("Uploading to S3");let k=new k2({endPoint:u,region:n,port:l,useSSL:c,bucket:o,credentials:{accessKeyId:s,secretAccessKey:a}}),L=`${f}-${g}`,$=encodeURIComponent(L);await k.putObject(L,E),T.external_url=`https://${u}/${$}`,T.storage_provider="external"}else if(E){await pnt(D,f,g,A,E,t),T.storage_provider="r2";let{error:k}=await FT(D,T);k&&(O.error(`Cannot update bundle ${le(k)}`),B.error(""))}return await fnt(D,d,!!t.bundleUrl,g,v,w,A,f,x,_),await y.track({channel:"app",event:"App Uploaded",icon:"\u23EB",user_id:A,tags:{"app-id":f},notify:!1}).catch(),r&&(ee("Time to share your update to the world \u{1F30D}"),(0,L2e.exit)()),!0}async function $2e(e,t){try{await Vy(e,t,!0)}catch(r){O.error(le(r)),B.error("")}}async function j2e(e,t){let r=yi();O.warn(`\u26A0\uFE0F This command is deprecated, use "${r.runner} @capgo/cli bundle upload" instead \u26A0\uFE0F`);try{await Vy(e,t,!0)}catch(i){O.error(le(i)),B.error("")}}var Io=require("node:fs"),tN=require("node:os"),eN=require("node:process");async function M2e(){let e=(0,tN.homedir)();return(0,Io.existsSync)(`${e}/.capgo`)||(0,Io.existsSync)(".capgo")}async function rN(e,t,r=!0){if(r&&se("Login to Capgo"),!e)return r&&(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),!1;await lt();try{let{local:i}=t,n=Ht();if(i)(0,Io.existsSync)(".git")||(O.error("To use local you should be in a git repository"),B.error("")),(0,Io.writeFileSync)(".capgo",`${e}
|
|
373
374
|
`),(0,Io.appendFileSync)(".gitignore",`.capgo
|
|
374
375
|
`);else{let o=(0,tN.homedir)();(0,Io.writeFileSync)(`${o}/.capgo`,`${e}
|
|
375
376
|
`)}let s=await Ee(e),a=await xe(s,e,["write","all","upload"]);await n.track({channel:"user-login",event:"User CLI login",icon:"\u2705",user_id:a,notify:!1}).catch(),O.success(`login saved into .capgo file in ${i?"local":"home"} directory`)}catch{O.error("Error while saving login"),(0,eN.exit)(1)}return r&&(ee("Done \u2705"),(0,eN.exit)()),!0}async function U2e(e,t){rN(e,t,!0)}var Kf=require("node:fs"),W2e=require("node:process");var V2e={"application/prs.cww":["cww"],"application/prs.xsf+xml":["xsf"],"application/vnd.1000minds.decision-model+xml":["1km"],"application/vnd.3gpp.pic-bw-large":["plb"],"application/vnd.3gpp.pic-bw-small":["psb"],"application/vnd.3gpp.pic-bw-var":["pvb"],"application/vnd.3gpp2.tcap":["tcap"],"application/vnd.3m.post-it-notes":["pwn"],"application/vnd.accpac.simply.aso":["aso"],"application/vnd.accpac.simply.imp":["imp"],"application/vnd.acucobol":["acu"],"application/vnd.acucorp":["atc","acutc"],"application/vnd.adobe.air-application-installer-package+zip":["air"],"application/vnd.adobe.formscentral.fcdt":["fcdt"],"application/vnd.adobe.fxp":["fxp","fxpl"],"application/vnd.adobe.xdp+xml":["xdp"],"application/vnd.adobe.xfdf":["*xfdf"],"application/vnd.age":["age"],"application/vnd.ahead.space":["ahead"],"application/vnd.airzip.filesecure.azf":["azf"],"application/vnd.airzip.filesecure.azs":["azs"],"application/vnd.amazon.ebook":["azw"],"application/vnd.americandynamics.acc":["acc"],"application/vnd.amiga.ami":["ami"],"application/vnd.android.package-archive":["apk"],"application/vnd.anser-web-certificate-issue-initiation":["cii"],"application/vnd.anser-web-funds-transfer-initiation":["fti"],"application/vnd.antix.game-component":["atx"],"application/vnd.apple.installer+xml":["mpkg"],"application/vnd.apple.keynote":["key"],"application/vnd.apple.mpegurl":["m3u8"],"application/vnd.apple.numbers":["numbers"],"application/vnd.apple.pages":["pages"],"application/vnd.apple.pkpass":["pkpass"],"application/vnd.aristanetworks.swi":["swi"],"application/vnd.astraea-software.iota":["iota"],"application/vnd.audiograph":["aep"],"application/vnd.balsamiq.bmml+xml":["bmml"],"application/vnd.blueice.multipass":["mpm"],"application/vnd.bmi":["bmi"],"application/vnd.businessobjects":["rep"],"application/vnd.chemdraw+xml":["cdxml"],"application/vnd.chipnuts.karaoke-mmd":["mmd"],"application/vnd.cinderella":["cdy"],"application/vnd.citationstyles.style+xml":["csl"],"application/vnd.claymore":["cla"],"application/vnd.cloanto.rp9":["rp9"],"application/vnd.clonk.c4group":["c4g","c4d","c4f","c4p","c4u"],"application/vnd.cluetrust.cartomobile-config":["c11amc"],"application/vnd.cluetrust.cartomobile-config-pkg":["c11amz"],"application/vnd.commonspace":["csp"],"application/vnd.contact.cmsg":["cdbcmsg"],"application/vnd.cosmocaller":["cmc"],"application/vnd.crick.clicker":["clkx"],"application/vnd.crick.clicker.keyboard":["clkk"],"application/vnd.crick.clicker.palette":["clkp"],"application/vnd.crick.clicker.template":["clkt"],"application/vnd.crick.clicker.wordbank":["clkw"],"application/vnd.criticaltools.wbs+xml":["wbs"],"application/vnd.ctc-posml":["pml"],"application/vnd.cups-ppd":["ppd"],"application/vnd.curl.car":["car"],"application/vnd.curl.pcurl":["pcurl"],"application/vnd.dart":["dart"],"application/vnd.data-vision.rdz":["rdz"],"application/vnd.dbf":["dbf"],"application/vnd.dece.data":["uvf","uvvf","uvd","uvvd"],"application/vnd.dece.ttml+xml":["uvt","uvvt"],"application/vnd.dece.unspecified":["uvx","uvvx"],"application/vnd.dece.zip":["uvz","uvvz"],"application/vnd.denovo.fcselayout-link":["fe_launch"],"application/vnd.dna":["dna"],"application/vnd.dolby.mlp":["mlp"],"application/vnd.dpgraph":["dpg"],"application/vnd.dreamfactory":["dfac"],"application/vnd.ds-keypoint":["kpxx"],"application/vnd.dvb.ait":["ait"],"application/vnd.dvb.service":["svc"],"application/vnd.dynageo":["geo"],"application/vnd.ecowin.chart":["mag"],"application/vnd.enliven":["nml"],"application/vnd.epson.esf":["esf"],"application/vnd.epson.msf":["msf"],"application/vnd.epson.quickanime":["qam"],"application/vnd.epson.salt":["slt"],"application/vnd.epson.ssf":["ssf"],"application/vnd.eszigno3+xml":["es3","et3"],"application/vnd.ezpix-album":["ez2"],"application/vnd.ezpix-package":["ez3"],"application/vnd.fdf":["*fdf"],"application/vnd.fdsn.mseed":["mseed"],"application/vnd.fdsn.seed":["seed","dataless"],"application/vnd.flographit":["gph"],"application/vnd.fluxtime.clip":["ftc"],"application/vnd.framemaker":["fm","frame","maker","book"],"application/vnd.frogans.fnc":["fnc"],"application/vnd.frogans.ltf":["ltf"],"application/vnd.fsc.weblaunch":["fsc"],"application/vnd.fujitsu.oasys":["oas"],"application/vnd.fujitsu.oasys2":["oa2"],"application/vnd.fujitsu.oasys3":["oa3"],"application/vnd.fujitsu.oasysgp":["fg5"],"application/vnd.fujitsu.oasysprs":["bh2"],"application/vnd.fujixerox.ddd":["ddd"],"application/vnd.fujixerox.docuworks":["xdw"],"application/vnd.fujixerox.docuworks.binder":["xbd"],"application/vnd.fuzzysheet":["fzs"],"application/vnd.genomatix.tuxedo":["txd"],"application/vnd.geogebra.file":["ggb"],"application/vnd.geogebra.tool":["ggt"],"application/vnd.geometry-explorer":["gex","gre"],"application/vnd.geonext":["gxt"],"application/vnd.geoplan":["g2w"],"application/vnd.geospace":["g3w"],"application/vnd.gmx":["gmx"],"application/vnd.google-apps.document":["gdoc"],"application/vnd.google-apps.presentation":["gslides"],"application/vnd.google-apps.spreadsheet":["gsheet"],"application/vnd.google-earth.kml+xml":["kml"],"application/vnd.google-earth.kmz":["kmz"],"application/vnd.grafeq":["gqf","gqs"],"application/vnd.groove-account":["gac"],"application/vnd.groove-help":["ghf"],"application/vnd.groove-identity-message":["gim"],"application/vnd.groove-injector":["grv"],"application/vnd.groove-tool-message":["gtm"],"application/vnd.groove-tool-template":["tpl"],"application/vnd.groove-vcard":["vcg"],"application/vnd.hal+xml":["hal"],"application/vnd.handheld-entertainment+xml":["zmm"],"application/vnd.hbci":["hbci"],"application/vnd.hhe.lesson-player":["les"],"application/vnd.hp-hpgl":["hpgl"],"application/vnd.hp-hpid":["hpid"],"application/vnd.hp-hps":["hps"],"application/vnd.hp-jlyt":["jlt"],"application/vnd.hp-pcl":["pcl"],"application/vnd.hp-pclxl":["pclxl"],"application/vnd.hydrostatix.sof-data":["sfd-hdstx"],"application/vnd.ibm.minipay":["mpy"],"application/vnd.ibm.modcap":["afp","listafp","list3820"],"application/vnd.ibm.rights-management":["irm"],"application/vnd.ibm.secure-container":["sc"],"application/vnd.iccprofile":["icc","icm"],"application/vnd.igloader":["igl"],"application/vnd.immervision-ivp":["ivp"],"application/vnd.immervision-ivu":["ivu"],"application/vnd.insors.igm":["igm"],"application/vnd.intercon.formnet":["xpw","xpx"],"application/vnd.intergeo":["i2g"],"application/vnd.intu.qbo":["qbo"],"application/vnd.intu.qfx":["qfx"],"application/vnd.ipunplugged.rcprofile":["rcprofile"],"application/vnd.irepository.package+xml":["irp"],"application/vnd.is-xpr":["xpr"],"application/vnd.isac.fcs":["fcs"],"application/vnd.jam":["jam"],"application/vnd.jcp.javame.midlet-rms":["rms"],"application/vnd.jisp":["jisp"],"application/vnd.joost.joda-archive":["joda"],"application/vnd.kahootz":["ktz","ktr"],"application/vnd.kde.karbon":["karbon"],"application/vnd.kde.kchart":["chrt"],"application/vnd.kde.kformula":["kfo"],"application/vnd.kde.kivio":["flw"],"application/vnd.kde.kontour":["kon"],"application/vnd.kde.kpresenter":["kpr","kpt"],"application/vnd.kde.kspread":["ksp"],"application/vnd.kde.kword":["kwd","kwt"],"application/vnd.kenameaapp":["htke"],"application/vnd.kidspiration":["kia"],"application/vnd.kinar":["kne","knp"],"application/vnd.koan":["skp","skd","skt","skm"],"application/vnd.kodak-descriptor":["sse"],"application/vnd.las.las+xml":["lasxml"],"application/vnd.llamagraphics.life-balance.desktop":["lbd"],"application/vnd.llamagraphics.life-balance.exchange+xml":["lbe"],"application/vnd.lotus-1-2-3":["123"],"application/vnd.lotus-approach":["apr"],"application/vnd.lotus-freelance":["pre"],"application/vnd.lotus-notes":["nsf"],"application/vnd.lotus-organizer":["org"],"application/vnd.lotus-screencam":["scm"],"application/vnd.lotus-wordpro":["lwp"],"application/vnd.macports.portpkg":["portpkg"],"application/vnd.mapbox-vector-tile":["mvt"],"application/vnd.mcd":["mcd"],"application/vnd.medcalcdata":["mc1"],"application/vnd.mediastation.cdkey":["cdkey"],"application/vnd.mfer":["mwf"],"application/vnd.mfmp":["mfm"],"application/vnd.micrografx.flo":["flo"],"application/vnd.micrografx.igx":["igx"],"application/vnd.mif":["mif"],"application/vnd.mobius.daf":["daf"],"application/vnd.mobius.dis":["dis"],"application/vnd.mobius.mbk":["mbk"],"application/vnd.mobius.mqy":["mqy"],"application/vnd.mobius.msl":["msl"],"application/vnd.mobius.plc":["plc"],"application/vnd.mobius.txf":["txf"],"application/vnd.mophun.application":["mpn"],"application/vnd.mophun.certificate":["mpc"],"application/vnd.mozilla.xul+xml":["xul"],"application/vnd.ms-artgalry":["cil"],"application/vnd.ms-cab-compressed":["cab"],"application/vnd.ms-excel":["xls","xlm","xla","xlc","xlt","xlw"],"application/vnd.ms-excel.addin.macroenabled.12":["xlam"],"application/vnd.ms-excel.sheet.binary.macroenabled.12":["xlsb"],"application/vnd.ms-excel.sheet.macroenabled.12":["xlsm"],"application/vnd.ms-excel.template.macroenabled.12":["xltm"],"application/vnd.ms-fontobject":["eot"],"application/vnd.ms-htmlhelp":["chm"],"application/vnd.ms-ims":["ims"],"application/vnd.ms-lrm":["lrm"],"application/vnd.ms-officetheme":["thmx"],"application/vnd.ms-outlook":["msg"],"application/vnd.ms-pki.seccat":["cat"],"application/vnd.ms-pki.stl":["*stl"],"application/vnd.ms-powerpoint":["ppt","pps","pot"],"application/vnd.ms-powerpoint.addin.macroenabled.12":["ppam"],"application/vnd.ms-powerpoint.presentation.macroenabled.12":["pptm"],"application/vnd.ms-powerpoint.slide.macroenabled.12":["sldm"],"application/vnd.ms-powerpoint.slideshow.macroenabled.12":["ppsm"],"application/vnd.ms-powerpoint.template.macroenabled.12":["potm"],"application/vnd.ms-project":["*mpp","mpt"],"application/vnd.ms-word.document.macroenabled.12":["docm"],"application/vnd.ms-word.template.macroenabled.12":["dotm"],"application/vnd.ms-works":["wps","wks","wcm","wdb"],"application/vnd.ms-wpl":["wpl"],"application/vnd.ms-xpsdocument":["xps"],"application/vnd.mseq":["mseq"],"application/vnd.musician":["mus"],"application/vnd.muvee.style":["msty"],"application/vnd.mynfc":["taglet"],"application/vnd.neurolanguage.nlu":["nlu"],"application/vnd.nitf":["ntf","nitf"],"application/vnd.noblenet-directory":["nnd"],"application/vnd.noblenet-sealer":["nns"],"application/vnd.noblenet-web":["nnw"],"application/vnd.nokia.n-gage.ac+xml":["*ac"],"application/vnd.nokia.n-gage.data":["ngdat"],"application/vnd.nokia.n-gage.symbian.install":["n-gage"],"application/vnd.nokia.radio-preset":["rpst"],"application/vnd.nokia.radio-presets":["rpss"],"application/vnd.novadigm.edm":["edm"],"application/vnd.novadigm.edx":["edx"],"application/vnd.novadigm.ext":["ext"],"application/vnd.oasis.opendocument.chart":["odc"],"application/vnd.oasis.opendocument.chart-template":["otc"],"application/vnd.oasis.opendocument.database":["odb"],"application/vnd.oasis.opendocument.formula":["odf"],"application/vnd.oasis.opendocument.formula-template":["odft"],"application/vnd.oasis.opendocument.graphics":["odg"],"application/vnd.oasis.opendocument.graphics-template":["otg"],"application/vnd.oasis.opendocument.image":["odi"],"application/vnd.oasis.opendocument.image-template":["oti"],"application/vnd.oasis.opendocument.presentation":["odp"],"application/vnd.oasis.opendocument.presentation-template":["otp"],"application/vnd.oasis.opendocument.spreadsheet":["ods"],"application/vnd.oasis.opendocument.spreadsheet-template":["ots"],"application/vnd.oasis.opendocument.text":["odt"],"application/vnd.oasis.opendocument.text-master":["odm"],"application/vnd.oasis.opendocument.text-template":["ott"],"application/vnd.oasis.opendocument.text-web":["oth"],"application/vnd.olpc-sugar":["xo"],"application/vnd.oma.dd2+xml":["dd2"],"application/vnd.openblox.game+xml":["obgx"],"application/vnd.openofficeorg.extension":["oxt"],"application/vnd.openstreetmap.data+xml":["osm"],"application/vnd.openxmlformats-officedocument.presentationml.presentation":["pptx"],"application/vnd.openxmlformats-officedocument.presentationml.slide":["sldx"],"application/vnd.openxmlformats-officedocument.presentationml.slideshow":["ppsx"],"application/vnd.openxmlformats-officedocument.presentationml.template":["potx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet":["xlsx"],"application/vnd.openxmlformats-officedocument.spreadsheetml.template":["xltx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":["docx"],"application/vnd.openxmlformats-officedocument.wordprocessingml.template":["dotx"],"application/vnd.osgeo.mapguide.package":["mgp"],"application/vnd.osgi.dp":["dp"],"application/vnd.osgi.subsystem":["esa"],"application/vnd.palm":["pdb","pqa","oprc"],"application/vnd.pawaafile":["paw"],"application/vnd.pg.format":["str"],"application/vnd.pg.osasli":["ei6"],"application/vnd.picsel":["efif"],"application/vnd.pmi.widget":["wg"],"application/vnd.pocketlearn":["plf"],"application/vnd.powerbuilder6":["pbd"],"application/vnd.previewsystems.box":["box"],"application/vnd.proteus.magazine":["mgz"],"application/vnd.publishare-delta-tree":["qps"],"application/vnd.pvi.ptid1":["ptid"],"application/vnd.pwg-xhtml-print+xml":["xhtm"],"application/vnd.quark.quarkxpress":["qxd","qxt","qwd","qwt","qxl","qxb"],"application/vnd.rar":["rar"],"application/vnd.realvnc.bed":["bed"],"application/vnd.recordare.musicxml":["mxl"],"application/vnd.recordare.musicxml+xml":["musicxml"],"application/vnd.rig.cryptonote":["cryptonote"],"application/vnd.rim.cod":["cod"],"application/vnd.rn-realmedia":["rm"],"application/vnd.rn-realmedia-vbr":["rmvb"],"application/vnd.route66.link66+xml":["link66"],"application/vnd.sailingtracker.track":["st"],"application/vnd.seemail":["see"],"application/vnd.sema":["sema"],"application/vnd.semd":["semd"],"application/vnd.semf":["semf"],"application/vnd.shana.informed.formdata":["ifm"],"application/vnd.shana.informed.formtemplate":["itp"],"application/vnd.shana.informed.interchange":["iif"],"application/vnd.shana.informed.package":["ipk"],"application/vnd.simtech-mindmapper":["twd","twds"],"application/vnd.smaf":["mmf"],"application/vnd.smart.teacher":["teacher"],"application/vnd.software602.filler.form+xml":["fo"],"application/vnd.solent.sdkm+xml":["sdkm","sdkd"],"application/vnd.spotfire.dxp":["dxp"],"application/vnd.spotfire.sfs":["sfs"],"application/vnd.stardivision.calc":["sdc"],"application/vnd.stardivision.draw":["sda"],"application/vnd.stardivision.impress":["sdd"],"application/vnd.stardivision.math":["smf"],"application/vnd.stardivision.writer":["sdw","vor"],"application/vnd.stardivision.writer-global":["sgl"],"application/vnd.stepmania.package":["smzip"],"application/vnd.stepmania.stepchart":["sm"],"application/vnd.sun.wadl+xml":["wadl"],"application/vnd.sun.xml.calc":["sxc"],"application/vnd.sun.xml.calc.template":["stc"],"application/vnd.sun.xml.draw":["sxd"],"application/vnd.sun.xml.draw.template":["std"],"application/vnd.sun.xml.impress":["sxi"],"application/vnd.sun.xml.impress.template":["sti"],"application/vnd.sun.xml.math":["sxm"],"application/vnd.sun.xml.writer":["sxw"],"application/vnd.sun.xml.writer.global":["sxg"],"application/vnd.sun.xml.writer.template":["stw"],"application/vnd.sus-calendar":["sus","susp"],"application/vnd.svd":["svd"],"application/vnd.symbian.install":["sis","sisx"],"application/vnd.syncml+xml":["xsm"],"application/vnd.syncml.dm+wbxml":["bdm"],"application/vnd.syncml.dm+xml":["xdm"],"application/vnd.syncml.dmddf+xml":["ddf"],"application/vnd.tao.intent-module-archive":["tao"],"application/vnd.tcpdump.pcap":["pcap","cap","dmp"],"application/vnd.tmobile-livetv":["tmo"],"application/vnd.trid.tpt":["tpt"],"application/vnd.triscape.mxs":["mxs"],"application/vnd.trueapp":["tra"],"application/vnd.ufdl":["ufd","ufdl"],"application/vnd.uiq.theme":["utz"],"application/vnd.umajin":["umj"],"application/vnd.unity":["unityweb"],"application/vnd.uoml+xml":["uoml","uo"],"application/vnd.vcx":["vcx"],"application/vnd.visio":["vsd","vst","vss","vsw"],"application/vnd.visionary":["vis"],"application/vnd.vsf":["vsf"],"application/vnd.wap.wbxml":["wbxml"],"application/vnd.wap.wmlc":["wmlc"],"application/vnd.wap.wmlscriptc":["wmlsc"],"application/vnd.webturbo":["wtb"],"application/vnd.wolfram.player":["nbp"],"application/vnd.wordperfect":["wpd"],"application/vnd.wqd":["wqd"],"application/vnd.wt.stf":["stf"],"application/vnd.xara":["xar"],"application/vnd.xfdl":["xfdl"],"application/vnd.yamaha.hv-dic":["hvd"],"application/vnd.yamaha.hv-script":["hvs"],"application/vnd.yamaha.hv-voice":["hvp"],"application/vnd.yamaha.openscoreformat":["osf"],"application/vnd.yamaha.openscoreformat.osfpvg+xml":["osfpvg"],"application/vnd.yamaha.smaf-audio":["saf"],"application/vnd.yamaha.smaf-phrase":["spf"],"application/vnd.yellowriver-custom-menu":["cmp"],"application/vnd.zul":["zir","zirz"],"application/vnd.zzazz.deck+xml":["zaz"],"application/x-7z-compressed":["7z"],"application/x-abiword":["abw"],"application/x-ace-compressed":["ace"],"application/x-apple-diskimage":["*dmg"],"application/x-arj":["arj"],"application/x-authorware-bin":["aab","x32","u32","vox"],"application/x-authorware-map":["aam"],"application/x-authorware-seg":["aas"],"application/x-bcpio":["bcpio"],"application/x-bdoc":["*bdoc"],"application/x-bittorrent":["torrent"],"application/x-blorb":["blb","blorb"],"application/x-bzip":["bz"],"application/x-bzip2":["bz2","boz"],"application/x-cbr":["cbr","cba","cbt","cbz","cb7"],"application/x-cdlink":["vcd"],"application/x-cfs-compressed":["cfs"],"application/x-chat":["chat"],"application/x-chess-pgn":["pgn"],"application/x-chrome-extension":["crx"],"application/x-cocoa":["cco"],"application/x-conference":["nsc"],"application/x-cpio":["cpio"],"application/x-csh":["csh"],"application/x-debian-package":["*deb","udeb"],"application/x-dgc-compressed":["dgc"],"application/x-director":["dir","dcr","dxr","cst","cct","cxt","w3d","fgd","swa"],"application/x-doom":["wad"],"application/x-dtbncx+xml":["ncx"],"application/x-dtbook+xml":["dtb"],"application/x-dtbresource+xml":["res"],"application/x-dvi":["dvi"],"application/x-envoy":["evy"],"application/x-eva":["eva"],"application/x-font-bdf":["bdf"],"application/x-font-ghostscript":["gsf"],"application/x-font-linux-psf":["psf"],"application/x-font-pcf":["pcf"],"application/x-font-snf":["snf"],"application/x-font-type1":["pfa","pfb","pfm","afm"],"application/x-freearc":["arc"],"application/x-futuresplash":["spl"],"application/x-gca-compressed":["gca"],"application/x-glulx":["ulx"],"application/x-gnumeric":["gnumeric"],"application/x-gramps-xml":["gramps"],"application/x-gtar":["gtar"],"application/x-hdf":["hdf"],"application/x-httpd-php":["php"],"application/x-install-instructions":["install"],"application/x-iso9660-image":["*iso"],"application/x-iwork-keynote-sffkey":["*key"],"application/x-iwork-numbers-sffnumbers":["*numbers"],"application/x-iwork-pages-sffpages":["*pages"],"application/x-java-archive-diff":["jardiff"],"application/x-java-jnlp-file":["jnlp"],"application/x-keepass2":["kdbx"],"application/x-latex":["latex"],"application/x-lua-bytecode":["luac"],"application/x-lzh-compressed":["lzh","lha"],"application/x-makeself":["run"],"application/x-mie":["mie"],"application/x-mobipocket-ebook":["*prc","mobi"],"application/x-ms-application":["application"],"application/x-ms-shortcut":["lnk"],"application/x-ms-wmd":["wmd"],"application/x-ms-wmz":["wmz"],"application/x-ms-xbap":["xbap"],"application/x-msaccess":["mdb"],"application/x-msbinder":["obd"],"application/x-mscardfile":["crd"],"application/x-msclip":["clp"],"application/x-msdos-program":["*exe"],"application/x-msdownload":["*exe","*dll","com","bat","*msi"],"application/x-msmediaview":["mvb","m13","m14"],"application/x-msmetafile":["*wmf","*wmz","*emf","emz"],"application/x-msmoney":["mny"],"application/x-mspublisher":["pub"],"application/x-msschedule":["scd"],"application/x-msterminal":["trm"],"application/x-mswrite":["wri"],"application/x-netcdf":["nc","cdf"],"application/x-ns-proxy-autoconfig":["pac"],"application/x-nzb":["nzb"],"application/x-perl":["pl","pm"],"application/x-pilot":["*prc","*pdb"],"application/x-pkcs12":["p12","pfx"],"application/x-pkcs7-certificates":["p7b","spc"],"application/x-pkcs7-certreqresp":["p7r"],"application/x-rar-compressed":["*rar"],"application/x-redhat-package-manager":["rpm"],"application/x-research-info-systems":["ris"],"application/x-sea":["sea"],"application/x-sh":["sh"],"application/x-shar":["shar"],"application/x-shockwave-flash":["swf"],"application/x-silverlight-app":["xap"],"application/x-sql":["*sql"],"application/x-stuffit":["sit"],"application/x-stuffitx":["sitx"],"application/x-subrip":["srt"],"application/x-sv4cpio":["sv4cpio"],"application/x-sv4crc":["sv4crc"],"application/x-t3vm-image":["t3"],"application/x-tads":["gam"],"application/x-tar":["tar"],"application/x-tcl":["tcl","tk"],"application/x-tex":["tex"],"application/x-tex-tfm":["tfm"],"application/x-texinfo":["texinfo","texi"],"application/x-tgif":["*obj"],"application/x-ustar":["ustar"],"application/x-virtualbox-hdd":["hdd"],"application/x-virtualbox-ova":["ova"],"application/x-virtualbox-ovf":["ovf"],"application/x-virtualbox-vbox":["vbox"],"application/x-virtualbox-vbox-extpack":["vbox-extpack"],"application/x-virtualbox-vdi":["vdi"],"application/x-virtualbox-vhd":["vhd"],"application/x-virtualbox-vmdk":["vmdk"],"application/x-wais-source":["src"],"application/x-web-app-manifest+json":["webapp"],"application/x-x509-ca-cert":["der","crt","pem"],"application/x-xfig":["fig"],"application/x-xliff+xml":["*xlf"],"application/x-xpinstall":["xpi"],"application/x-xz":["xz"],"application/x-zmachine":["z1","z2","z3","z4","z5","z6","z7","z8"],"audio/vnd.dece.audio":["uva","uvva"],"audio/vnd.digital-winds":["eol"],"audio/vnd.dra":["dra"],"audio/vnd.dts":["dts"],"audio/vnd.dts.hd":["dtshd"],"audio/vnd.lucent.voice":["lvp"],"audio/vnd.ms-playready.media.pya":["pya"],"audio/vnd.nuera.ecelp4800":["ecelp4800"],"audio/vnd.nuera.ecelp7470":["ecelp7470"],"audio/vnd.nuera.ecelp9600":["ecelp9600"],"audio/vnd.rip":["rip"],"audio/x-aac":["*aac"],"audio/x-aiff":["aif","aiff","aifc"],"audio/x-caf":["caf"],"audio/x-flac":["flac"],"audio/x-m4a":["*m4a"],"audio/x-matroska":["mka"],"audio/x-mpegurl":["m3u"],"audio/x-ms-wax":["wax"],"audio/x-ms-wma":["wma"],"audio/x-pn-realaudio":["ram","ra"],"audio/x-pn-realaudio-plugin":["rmp"],"audio/x-realaudio":["*ra"],"audio/x-wav":["*wav"],"chemical/x-cdx":["cdx"],"chemical/x-cif":["cif"],"chemical/x-cmdf":["cmdf"],"chemical/x-cml":["cml"],"chemical/x-csml":["csml"],"chemical/x-xyz":["xyz"],"image/prs.btif":["btif","btf"],"image/prs.pti":["pti"],"image/vnd.adobe.photoshop":["psd"],"image/vnd.airzip.accelerator.azv":["azv"],"image/vnd.dece.graphic":["uvi","uvvi","uvg","uvvg"],"image/vnd.djvu":["djvu","djv"],"image/vnd.dvb.subtitle":["*sub"],"image/vnd.dwg":["dwg"],"image/vnd.dxf":["dxf"],"image/vnd.fastbidsheet":["fbs"],"image/vnd.fpx":["fpx"],"image/vnd.fst":["fst"],"image/vnd.fujixerox.edmics-mmr":["mmr"],"image/vnd.fujixerox.edmics-rlc":["rlc"],"image/vnd.microsoft.icon":["ico"],"image/vnd.ms-dds":["dds"],"image/vnd.ms-modi":["mdi"],"image/vnd.ms-photo":["wdp"],"image/vnd.net-fpx":["npx"],"image/vnd.pco.b16":["b16"],"image/vnd.tencent.tap":["tap"],"image/vnd.valve.source.texture":["vtf"],"image/vnd.wap.wbmp":["wbmp"],"image/vnd.xiff":["xif"],"image/vnd.zbrush.pcx":["pcx"],"image/x-3ds":["3ds"],"image/x-cmu-raster":["ras"],"image/x-cmx":["cmx"],"image/x-freehand":["fh","fhc","fh4","fh5","fh7"],"image/x-icon":["*ico"],"image/x-jng":["jng"],"image/x-mrsid-image":["sid"],"image/x-ms-bmp":["*bmp"],"image/x-pcx":["*pcx"],"image/x-pict":["pic","pct"],"image/x-portable-anymap":["pnm"],"image/x-portable-bitmap":["pbm"],"image/x-portable-graymap":["pgm"],"image/x-portable-pixmap":["ppm"],"image/x-rgb":["rgb"],"image/x-tga":["tga"],"image/x-xbitmap":["xbm"],"image/x-xpixmap":["xpm"],"image/x-xwindowdump":["xwd"],"message/vnd.wfa.wsc":["wsc"],"model/vnd.cld":["cld"],"model/vnd.collada+xml":["dae"],"model/vnd.dwf":["dwf"],"model/vnd.gdl":["gdl"],"model/vnd.gtw":["gtw"],"model/vnd.mts":["mts"],"model/vnd.opengex":["ogex"],"model/vnd.parasolid.transmit.binary":["x_b"],"model/vnd.parasolid.transmit.text":["x_t"],"model/vnd.pytha.pyox":["pyo","pyox"],"model/vnd.sap.vds":["vds"],"model/vnd.usda":["usda"],"model/vnd.usdz+zip":["usdz"],"model/vnd.valve.source.compiled-map":["bsp"],"model/vnd.vtu":["vtu"],"text/prs.lines.tag":["dsc"],"text/vnd.curl":["curl"],"text/vnd.curl.dcurl":["dcurl"],"text/vnd.curl.mcurl":["mcurl"],"text/vnd.curl.scurl":["scurl"],"text/vnd.dvb.subtitle":["sub"],"text/vnd.familysearch.gedcom":["ged"],"text/vnd.fly":["fly"],"text/vnd.fmi.flexstor":["flx"],"text/vnd.graphviz":["gv"],"text/vnd.in3d.3dml":["3dml"],"text/vnd.in3d.spot":["spot"],"text/vnd.sun.j2me.app-descriptor":["jad"],"text/vnd.wap.wml":["wml"],"text/vnd.wap.wmlscript":["wmls"],"text/x-asm":["s","asm"],"text/x-c":["c","cc","cxx","cpp","h","hh","dic"],"text/x-component":["htc"],"text/x-fortran":["f","for","f77","f90"],"text/x-handlebars-template":["hbs"],"text/x-java-source":["java"],"text/x-lua":["lua"],"text/x-markdown":["mkd"],"text/x-nfo":["nfo"],"text/x-opml":["opml"],"text/x-org":["*org"],"text/x-pascal":["p","pas"],"text/x-processing":["pde"],"text/x-sass":["sass"],"text/x-scss":["scss"],"text/x-setext":["etx"],"text/x-sfv":["sfv"],"text/x-suse-ymp":["ymp"],"text/x-uuencode":["uu"],"text/x-vcalendar":["vcs"],"text/x-vcard":["vcf"],"video/vnd.dece.hd":["uvh","uvvh"],"video/vnd.dece.mobile":["uvm","uvvm"],"video/vnd.dece.pd":["uvp","uvvp"],"video/vnd.dece.sd":["uvs","uvvs"],"video/vnd.dece.video":["uvv","uvvv"],"video/vnd.dvb.file":["dvb"],"video/vnd.fvt":["fvt"],"video/vnd.mpegurl":["mxu","m4u"],"video/vnd.ms-playready.media.pyv":["pyv"],"video/vnd.uvvu.mp4":["uvu","uvvu"],"video/vnd.vivo":["viv"],"video/x-f4v":["f4v"],"video/x-fli":["fli"],"video/x-flv":["flv"],"video/x-m4v":["m4v"],"video/x-matroska":["mkv","mk3d","mks"],"video/x-mng":["mng"],"video/x-ms-asf":["asf","asx"],"video/x-ms-vob":["vob"],"video/x-ms-wm":["wm"],"video/x-ms-wmv":["wmv"],"video/x-ms-wmx":["wmx"],"video/x-ms-wvx":["wvx"],"video/x-msvideo":["avi"],"video/x-sgi-movie":["movie"],"video/x-smv":["smv"],"x-conference/x-cooltalk":["ice"]};Object.freeze(V2e);var H2e=V2e;var z2e={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/hsj2":["hsj2"],"image/ief":["ief"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpeg","jpg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(z2e);var G2e=z2e;var Jn=function(e,t,r,i){if(r==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?i:r==="a"?i.call(e):i?i.value:t.get(e)},Xf,R2,Gc,iN=class{constructor(...t){Xf.set(this,new Map),R2.set(this,new Map),Gc.set(this,new Map);for(let r of t)this.define(r)}define(t,r=!1){for(let[i,n]of Object.entries(t)){i=i.toLowerCase(),n=n.map(o=>o.toLowerCase()),Jn(this,Gc,"f").has(i)||Jn(this,Gc,"f").set(i,new Set);let s=Jn(this,Gc,"f").get(i),a=!0;for(let o of n){let u=o.startsWith("*");if(o=u?o.slice(1):o,s?.add(o),a&&Jn(this,R2,"f").set(i,o),a=!1,u)continue;let l=Jn(this,Xf,"f").get(o);if(l&&l!=i&&!r)throw new Error(`"${i} -> ${o}" conflicts with "${l} -> ${o}". Pass \`force=true\` to override this definition.`);Jn(this,Xf,"f").set(o,i)}}return this}getType(t){if(typeof t!="string")return null;let r=t.replace(/^.*[/\\]/,"").toLowerCase(),i=r.replace(/^.*\./,"").toLowerCase(),n=r.length<t.length;return!(i.length<r.length-1)&&n?null:Jn(this,Xf,"f").get(i)??null}getExtension(t){return typeof t!="string"?null:(t=t?.split?.(";")[0],(t&&Jn(this,R2,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return typeof t!="string"?null:Jn(this,Gc,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(let t of Jn(this,Gc,"f").values())Object.freeze(t);return this}_getTestState(){return{types:Jn(this,Xf,"f"),extensions:Jn(this,R2,"f")}}};Xf=new WeakMap,R2=new WeakMap,Gc=new WeakMap;var nN=iN;var Yf=new nN(G2e,H2e)._freeze();async function hnt(e,t,r=!0){await sN(e,t,void 0,r)}async function sN(e,t,r,i=!0){i&&se("Adding"),await lt(),t.apikey=t.apikey||Ae();let n=await me();e=e||n?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error("")),e.includes("--")&&(O.error('The app id includes illegal symbols. You cannot use "--" in the app id'),B.error(""));let s=await Ee(t.apikey);await xe(s,t.apikey,["write","all"]),await Mme(s,e)&&(O.error(`App ${e} already exist`),B.error("")),r||(r=await wf(s,["admin","super_admin"]));let o=r.gid;await vf(s,o,t.apikey,void 0,!1);let{name:u,icon:l}=t;u=u||n.config?.appName||"Unknown",l=l||"resources/icon.png",(!l||!u)&&(O.error("Missing argument, you need to provide a appId and a name, or be in a capacitor project"),B.error("")),i&&O.info(`Adding ${e} to Capgo`);let c,d;l&&(0,Kf.existsSync)(l)?(c=(0,Kf.readFileSync)(l),d=Yf.getType(l)||"image/png",O.warn(`Found app icon ${l}`)):(0,Kf.existsSync)(Xn)?(c=(0,Kf.readFileSync)(Xn),d=Yf.getType(Xn)||"image/png",O.warn(`Found app icon ${Xn}`)):O.warn(`Cannot find app icon in any of the following locations: ${l}, ${Xn}`);let p="icon",f="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(c&&d){let{error:v}=await s.storage.from(`images/org/${o}/${e}`).upload(p,c,{contentType:d});v&&(console.error(v),O.error(`Could not add app ${le(v)}`),B.error(""));let{data:y}=await s.storage.from(`images/org/${o}/${e}`).getPublicUrl(p);f=y?.publicUrl||f}let{error:h}=await s.from("apps").insert({icon_url:f,owner_org:o,name:u,app_id:e});h&&(O.error(`Could not add app ${le(h)}`),B.error(""));let{error:g}=await s.from("app_versions").insert([{owner_org:o,deleted:!0,name:"unknown",app_id:e},{owner_org:o,deleted:!0,name:"builtin",app_id:e}]);return g&&(O.error(`Could not add app ${le(g)}`),B.error("")),O.success(`App ${e} added to Capgo. ${i?"You can upload a bundle now":""}`),i&&(ee("Done \u2705"),(0,W2e.exit)()),!0}async function X2e(e,t){hnt(e,t,!0)}var Y2e="import { CapacitorUpdater } from '@capgo/capacitor-updater'",Hy="CapacitorUpdater.notifyAppReady()",mnt=/import.*from.*/g,P2="production",K2e={stdio:"pipe"},Jf;function J2e(){Jf||(Jf=(0,xr.readdirSync)(Gy.default.tmpdir).map(e=>({name:e,full:`${Gy.default.tmpdir}/${e}`})).find(e=>e.name.startsWith("capgocli"))?.full??Gy.default.fileSync({prefix:"capgocli"}).name)}function rl(e){try{J2e(),(0,xr.writeFileSync)(Jf,JSON.stringify({step_done:e}))}catch(t){O.error(`Cannot mark step as done in the CLI, error:
|
|
@@ -390,7 +391,7 @@ ${Hy};
|
|
|
390
391
|
${Y2e};
|
|
391
392
|
|
|
392
393
|
${Hy};
|
|
393
|
-
`)}async function xnt(e,t,r,i){let n=yi(),s=await We({message:`Automatic configure end-to-end encryption in ${i} updates?`});if(await Da(s,e,t),s){let a=Ue();a.start(`Running: ${n.runner} @capgo/cli@latest key create`),await AF({force:!0},!1)?a.stop("key created \u{1F511}"):(a.stop("Error"),O.warn("Cannot create key \u274C"),ee("Bye \u{1F44B}"),(0,cn.exit)(1)),No("onboarding-v2",e,t,"Use encryption")}await bs(e,t,6)}async function Snt(e,t,r,i){let n=yi(),s=await We({message:`Automatic build ${i} with "${n.pm} run build" ?`});if(await Da(s,e,t),s){let a=Ue(),o=await OT(),u=await cde(o);a.start(`Running: ${n.pm} run ${u} && ${n.runner} cap sync`),(await Mi()).scripts[u]||(a.stop("Error"),O.warn(`Cannot find ${u} script in package.json, please add it and run \`capgo init\` again`),ee("Bye \u{1F44B}"),(0,cn.exit)()),(0,I2.execSync)(`${n.pm} run ${u} && ${n.runner} cap sync`,K2e),a.stop("Build & Sync Done \u2705")}else O.info(`Build yourself with command: ${n.pm} run build && ${n.runner} cap sync`);await bs(e,t,7)}async function Cnt(e,t,r,i){let n=yi(),s=await We({message:`Automatic upload ${i} bundle to Capgo?`});if(await Da(s,e,t),s){let a=Ue();a.start(`Running: ${n.runner} @capgo/cli@latest bundle upload`),await Vy(i,{channel:P2,apikey:r},!1)?a.stop("Upload Done \u2705"):(a.stop("Error"),O.warn("Upload failed \u274C"),ee("Bye \u{1F44B}"),(0,cn.exit)())}else O.info(`Upload yourself with command: ${n.runner} @capgo/cli@latest bundle upload`);await bs(e,t,8)}async function Ant(e,t){let r=yi(),i=await We({message:"Run in device now ?"});if(await Da(i,e,t),i){let n=await Kc({message:"Pick a platform to run your app",options:[{value:"ios",label:"IOS"},{value:"android",label:"Android"}]});zi(n)&&(ee("Bye \u{1F44B}"),(0,cn.exit)());let s=n,a=Ue();a.start(`Running: ${r.runner} cap run ${s}`),await(0,I2.spawnSync)(r.runner,["cap","run",s],{stdio:"inherit"}),a.stop("Started Done \u2705")}else O.info(`If you change your mind, run it for yourself with: ${r.runner} cap run <ios|android>`);await bs(e,t,9)}async function Tnt(e,t,r,i){let n=await We({message:"Automatic check if update working in device ?"});if(await Da(n,e,t),n)O.info(`Wait logs sent to Capgo from ${i} device, Please open your app \u{1F4AA}`),await CF("onboarding-v2",r,i,t,e);else{let s=_f(i);O.info(`Check logs in https://web.capgo.app/app/p/${s}/logs to see if update works.`)}await bs(e,t,10)}async function Z2e(e,t,r){let i=yi();se("Capgo onboarding \u{1F6EB}"),await lt();let n=Ht(),s=await me();t=t||s?.config?.appId;let a=e||Ae(),o=Ue();(!M2e()||e)&&(o.start(`Running: ${i.runner} @capgo/cli@latest login ***`),await rN(a,r,!1),o.stop("Login Done \u2705"));let u=await Ee(a);await xe(u,a,["upload","all","read","write"]);let l=await wf(u,["admin","super_admin"]),c=l.gid,d=await gnt(c,n)??0;try{d<1&&await bs(c,n,1),d<2&&(await vnt(l,n,t,r),rl(2)),d<3&&(await wnt(c,n,a,t),rl(3)),d<4&&(await bnt(c,n,a,t),rl(4)),d<5&&(await Ent(c,n,a,t),rl(5)),d<6&&(await xnt(c,n,a,t),rl(6)),d<7&&(await Snt(c,n,a,t),rl(7)),d<8&&(await Cnt(c,n,a,t),rl(8)),d<9&&(await Ant(c,n),rl(9)),await Tnt(c,n,a,t),await bs(c,n,0),ynt()}catch(p){console.error(p),O.error("Error during onboarding, please try again later"),(0,cn.exit)(1)}O.info("Welcome onboard \u2708\uFE0F!"),O.info("Your Capgo update system is setup"),O.info(`Next time use \`${i.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),O.info(`If you have any issue try to use the debug command \`${i.runner} @capgo/cli@latest app debug\``),ee("Bye \u{1F44B}"),(0,cn.exit)()}var n6e=require("node:process");var t6e=require("node:process");var r6e=ye(A2());var Q2e=require("node:process");async function e6e(e,t,r){let{data:i,error:n}=await e.from("devices_override").select().eq("app_id",t).eq("version",r.id);if(n&&(O.error(`Cannot check Device override ${t}@${r.name}`),B.error("")),i&&i.length>0)if(se(`\u274C Version ${t}@${r.name} is used in ${i.length} device override`),await We({message:"unlink it?"}))for(let s of i){let a=Ue();a.start(`Unlinking device ${s.device_id}`);let{error:o}=await e.from("devices_override").delete().eq("device_id",s.device_id);o&&(a.stop(`Cannot unlink device ${s.device_id} ${le(o)}`),(0,Q2e.exit)(1)),a.stop(`\u2705 Device ${s.device_id} unlinked`)}else O.error("Unlink it first"),B.error("")}async function Ont(e,t,r){let{error:i}=await e.from("app_versions").update({deleted:!0}).eq("app_id",t).eq("deleted",!1).eq("name",r);i&&(O.error(`App Version ${t}@${r} not found in database`),B.error(""))}async function Wy(e,t,r){let i=await Fnt(e,t,r);await m2e(e,t,i),await e6e(e,t,i),await Ont(e,t,r)}function Xy(e){e.length||(O.error("No bundle found"),(0,t6e.exit)(1));let t=new r6e.Table({title:"Bundles",charLength:{"\u274C":2,"\u2705":2}});e.reverse().forEach(r=>{t.addRow({Version:r.name,Created:Df(r.created_at),...r.keep!=null?{Keep:r.keep}:{}})}),O.success(t.render())}async function Yy(e,t){let{data:r,error:i}=await e.from("app_versions").select().eq("app_id",t).eq("deleted",!1).order("created_at",{ascending:!1});return i&&(O.error(`App ${t} not found in database`),B.error("")),r}async function i6e(e,t){let{data:r,error:i}=await e.from("channels").select("version").eq("app_id",t);return i&&(O.error(`App ${t} not found in database`),B.error("")),r.map(n=>n.version)}async function Fnt(e,t,r){let{data:i,error:n}=await e.from("app_versions").select().eq("app_id",t).eq("name",r).eq("deleted",!1).single();return(!i||n)&&(O.error(`App Version ${t}@${r} doesn't exist`),B.error("")),i}async function s6e(e,t){se("List bundles"),await lt(),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appid, or be in a capacitor project"),B.error(""));let i=await Ee(t.apikey);await xe(i,t.apikey,["write","all","read","upload"]),O.info(`Querying available versions of: ${e} in Capgo`),await et(i,t.apikey,e,1);let n=await Yy(i,e);O.info(`Active versions in Capgo: ${n?.length}`),Xy(n),ee("Done \u2705"),(0,n6e.exit)()}var ba=require("node:fs"),a6e=require("node:process");async function o6e(e,t,r){se("Decrypt zip file"),await lt(),(0,ba.existsSync)(e)||(O.error(`Zip not found at the path ${e}`),B.error(""));let i=await me(),{extConfig:n}=i.app;!r.key&&!(0,ba.existsSync)(Do)&&!n.plugins?.CapacitorUpdater?.privateKey&&(O.error(`Private Key not found at the path ${Do} or in ${i.apextConfigFilePath}`),B.error(""));let s=r.key||Do,a=n?.plugins?.CapacitorUpdater?.privateKey;!(0,ba.existsSync)(s)&&!a?(O.error(`Cannot find public key ${s} or as keyData option or in ${i.apextConfigFilePath}`),B.error("")):(0,ba.existsSync)(s)&&(a=(0,ba.readFileSync)(s).toString());let o=(0,ba.readFileSync)(e),u=Gme(o,t,r.keyData??a??"");(0,ba.writeFileSync)(`${e}_decrypted.zip`,u),ee(`Decrypted zip file at ${e}_decrypted.zip`),(0,a6e.exit)()}var Lo=require("node:fs"),u6e=require("node:process");var l6e=ye(GF());async function c6e(e,t){se("Encryption"),await lt();let r=await vc();(0,Lo.existsSync)(e)||(O.error(`Error: Zip not found at the path ${e}`),B.error(""));let i=t.key||bo,n=t.keyData||"";!(0,Lo.existsSync)(i)&&!n?(O.warning(`Cannot find public key ${i} or as keyData option`),l6e.default.isCI&&(O.error("Error: Missing public key"),B.error("")),await We({message:"Do you want to use our public key ?"})||(O.error("Error: Missing public key"),B.error("")),n=r.signKey||""):(0,Lo.existsSync)(i)&&(n=(0,Lo.readFileSync)(i).toString());let s=(0,Lo.readFileSync)(e),a=Ny(s,n);O.success(`ivSessionKey: ${a.ivSessionKey}`),(0,Lo.writeFileSync)(`${e}_encrypted.zip`,a.encryptedData),O.success(`Encrypted zip saved at ${e}_encrypted.zip`),ee("Done \u2705"),(0,u6e.exit)()}var Zf=require("node:process"),Ky=require("node:os"),d6e=ye(yF());async function Nnt(e){let t={},r=[];for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&r.push((0,d6e.default)(i));return await Promise.all(r).then(i=>{let n=Object.keys(e);for(let s=0;s<i.length;s+=1){let a=i[s];a&&(t[n[s]]=a)}}),t}async function knt(){let{dependencies:e}=await Mi(),t={"@capgo/cli":Bo.version};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&r.startsWith("@capgo/")&&r.startsWith("@capawesome/")&&r.startsWith("capacitor")){let i=e[r].replace("^","").replace("~","");t[r]=i}return t}async function p6e(){O.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let e=await me(),t=await Mi(),r=e?.config?.plugins?.CapacitorUpdater?.version||t?.version,i=e?.config?.appName||"";O.info(` App Name: ${i}`);let n=e?.config?.appId||"";O.info(` App ID: ${n}`),O.info(` App Version: ${r}`);let s=e?.config?.webDir||"";O.info(` Web Dir: ${s}`),O.info(` OS: ${(0,Ky.platform)()} ${(0,Ky.version)()}`),O.info(` Node: ${Zf.version}`),O.info(" Installed Dependencies:");let a=await knt();Object.keys(a).length===0&&(O.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),(0,Zf.exit)(1));for(let l in a)if(Object.prototype.hasOwnProperty.call(a,l)){let c=a[l];O.info(` ${l}: ${c}`)}let o=Ue();o.start("Running: Loading latest dependencies");let u=await Nnt(a);o.stop("Latest Dependencies:");for(let l in u)if(Object.prototype.hasOwnProperty.call(u,l)){let c=u[l];O.info(` ${l}: ${c}`)}JSON.stringify(a)!==JSON.stringify(u)&&(O.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),(0,Zf.exit)(1)),O.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),(0,Zf.exit)()}var f6e=require("node:process");async function h6e(e,t,r){se("Delete bundle"),r.apikey=r.apikey||Ae();let i=await me();t=t||i?.config?.appId,r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(r.apikey);await xe(n,r.apikey,["write","all"]),await et(n,r.apikey,t,3),r.apikey||(O.error("Missing API key, you need to provide an API key to delete your app"),B.error("")),e||(O.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error("")),O.info(`Deleting bundle ${t}@${e} from Capgo`),await Wy(n,t,e),O.success(`Bundle ${t}@${e} deleted in Capgo`),ee("Done"),(0,f6e.exit)()}var g6e=require("node:process");var m6e=["major","minor","metadata","patch","none"];async function y6e(e,t,r){se("Set channel"),r.apikey=r.apikey||Ae();let i=await me();t=t||i?.config?.appId;let n=Ht();r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let s=await Ee(r.apikey),a=await xe(s,r.apikey,["write","all"]);await et(s,r.apikey,t,4);let o=await Vn(s,t),{bundle:u,state:l,downgrade:c,latest:d,upgrade:p,ios:f,android:h,selfAssign:g,disableAutoUpdate:v,dev:y,emulator:x}=r;e||(O.error("Missing argument, you need to provide a channel"),B.error("")),d&&u&&(O.error("Cannot set latest and bundle at the same time"),B.error("")),u==null&&l==null&&d==null&&c==null&&p==null&&f==null&&h==null&&g==null&&y==null&&x==null&&v==null&&(O.error("Missing argument, you need to provide a option to set"),B.error(""));try{await vf(s,o,r.apikey,t);let D={created_by:a,app_id:t,name:e,owner_org:o,version:void 0},w=await Mi(),_=d?w?.version:u;if(_!=null){let{data:A,error:C}=await s.from("app_versions").select().eq("app_id",t).eq("name",_).eq("user_id",a).eq("deleted",!1).single();(C||!A)&&(O.error(`Cannot find version ${_}`),B.error("")),O.info(`Set ${t} channel: ${e} to @${_}`),D.version=A.id}if(l!=null&&((l==="public"||l==="private")&&O.info(`Set ${t} channel: ${e} to public or private is deprecated, use default or normal instead`),O.info(`Set ${t} channel: ${e} to ${l==="public"||l==="default"?"default":"normal"}`),D.public=l==="public"||l==="default"),c!=null&&(O.info(`Set ${t} channel: ${e} to ${c?"allow":"disallow"} downgrade`),D.disableAutoUpdateUnderNative=!c),f!=null&&(O.info(`Set ${t} channel: ${e} to ${f?"allow":"disallow"} ios update`),D.ios=!!f),h!=null&&(O.info(`Set ${t} channel: ${e} to ${h?"allow":"disallow"} android update`),D.android=!!h),g!=null&&(O.info(`Set ${t} channel: ${e} to ${g?"allow":"disallow"} self assign to this channel`),D.allow_device_self_set=!!g),v!=null){let A=v.toLocaleLowerCase();m6e.includes(A)||(O.error(`Channel strategy ${A} is not known. The possible values are: ${m6e.join(", ")}.`),B.error("")),A==="metadata"&&(A="version_number"),D.disableAutoUpdate=A,O.info(`Set ${t} channel: ${e} to ${A} disable update strategy to this channel`)}try{let{error:A}=await P9(s,D);A&&(O.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),B.error(""))}catch{O.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),B.error("")}await n.track({channel:"channel",event:"Set channel",icon:"\u2705",user_id:o,tags:{"app-id":t},notify:!1}).catch()}catch(D){O.error(`Unknow error ${le(D)}`),B.error("")}ee("Done \u2705"),(0,g6e.exit)()}var v6e=require("node:process");async function w6e(e,t,r){let{quiet:i}=r;i||se("List current bundle"),r.apikey=r.apikey||Ae(i);let n=await me();t=t||n?.config?.appId,r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let s=await Ee(r.apikey),a=await xe(s,r.apikey,["write","all","read"]);await et(s,r.apikey,t,1),e||(O.error("Please provide a channel to get the bundle from."),B.error(""));let{data:o,error:u}=await s.from("channels").select("version ( name )").eq("name",e).eq("app_id",t).limit(1);(u||o.length===0)&&(O.error(`Error retrieving channel ${e} for app ${t}. Perhaps the channel does not exists?`),B.error(""));let{version:l}=o[0];l||(O.error(`Error retrieving channel ${e} for app ${t}. Perhaps the channel does not exists?`),B.error("")),i?O.info(l.name):O.info(`Current bundle for channel ${e} is ${l.name}`),(0,v6e.exit)()}var oN=require("node:process");var _6e=ye(A2());function Rnt(e){e.length||(O.error("No apps found"),(0,oN.exit)(1));let t=new _6e.Table({title:"Apps",charLength:{"\u274C":2,"\u2705":2}});e.reverse().forEach(r=>{t.addRow({Name:r.name,id:r.app_id,Created:Df(r.created_at)})}),O.success(t.render())}async function Pnt(e){let{data:t,error:r}=await e.from("apps").select().order("created_at",{ascending:!1});return r&&(O.error("Apps not found"),B.error("")),t}async function D6e(e){se("List apps in Capgo"),await lt(),e.apikey=e.apikey||Ae();let t=await Ee(e.apikey);await xe(t,e.apikey,["write","all","read","upload"]),O.info("Getting active bundle in Capgo");let r=await Pnt(t);O.info(`Active app in Capgo: ${r?.length}`),Rnt(r),ee("Done \u2705"),(0,oN.exit)()}var uN=require("node:process");var Jy=ye(E6e());async function Int(e,t,r){for await(let i of e)O.warn(`Removing ${i.name} created on ${Df(i.created_at)}`),await Wy(t,r,i.name)}function Lnt(e,t,r){let i=[];return e?.forEach(n=>{Jy.default.gte(n.name,t)&&Jy.default.lt(n.name,`${r}`)&&i.push(n)}),i}async function x6e(e,t){se("Cleanup versions in Capgo"),await lt(),t.apikey=t.apikey||Ae();let{bundle:r,keep:i=4}=t,n=t.force||!1,s=await me();e=e||s?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide an API key to delete your app"),B.error("")),e||(O.error("Missing argument, you need to provide a appid, or be in a capacitor project"),B.error(""));let a=await Ee(t.apikey);await xe(a,t.apikey,["write","all"]),await et(a,t.apikey,e,3),O.info("Querying all available versions in Capgo");let o=await Yy(a,e),u=await i6e(a,e);if(O.info(`Total active versions in Capgo: ${o?.length}`),o?.length===0){O.error("No versions found, aborting cleanup");return}if(r){let d=`${Jy.default.inc(r,"major")}`;O.info(`Querying available versions in Capgo between ${r} and ${d}`),o=Lnt(o,r,d),O.info(`Active versions in Capgo between ${r} and ${d}: ${o?.length}`)}let l=[],c=0;if(o.forEach(d=>{let p=u.find(f=>f===d.id);c<i||p?(p?d.keep="\u2705 (Linked to channel)":d.keep="\u2705",c+=1):(d.keep="\u274C",l.push(d))}),l.length===0){O.warn("Nothing to be removed, aborting removal...");return}if(Xy(o),!n){let d=await We({message:"Do you want to continue removing the versions specified?"});(zi(d)||!d)&&(O.warn("Not confirmed, aborting removal..."),(0,uN.exit)())}O.success("You have confirmed removal, removing versions now"),await Int(l,a,e),ee("Done \u2705"),(0,uN.exit)()}var S6e=require("node:process");async function C6e(e,t,r){se("Delete channel"),r.apikey=r.apikey||Ae();let i=await me();t=t||i?.config?.appId;let n=Ht();r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let s=await Ee(r.apikey),a=await xe(s,r.apikey,["write","all"]);await et(s,r.apikey,t,4),O.info(`Deleting channel ${t}#${e} from Capgo`);try{let o=await y2e(s,e,t,a);o.error&&(O.error(`Cannot delete Channel \u{1F640} ${le(o.error)}`),B.error(""));let u=await Vn(s,t);O.success("Channel deleted"),await n.track({channel:"channel",event:"Delete channel",icon:"\u2705",user_id:u,tags:{"user-id":a,"app-id":t,channel:e},notify:!1}).catch()}catch{O.error("Cannot delete Channel \u{1F640}")}ee("Done \u2705"),(0,S6e.exit)()}var A6e=require("node:process");async function T6e(e,t){se("List channels"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let i=Ht();t.apikey||O.error("Missing API key, you need to provide a API key to upload your bundle"),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey),s=await xe(n,t.apikey,["write","all","read","upload"]);await et(n,t.apikey,e,1),O.info("Querying available channels in Capgo");let a=await w2e(n,e);O.info(`Active channels in Capgo: ${a?.length}`),v2e(a),await i.track({channel:"channel",event:"List channel",icon:"\u2705",user_id:s,tags:{"app-id":e},notify:!1}).catch(),ee("Done \u2705"),(0,A6e.exit)()}var O6e=require("node:crypto"),Qf=require("node:fs"),F6e=require("node:process");async function N6e(e,t){se("Set app"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let i=await Ee(t.apikey),s=(await wf(i,["admin","super_admin"])).gid,a=await xe(i,t.apikey,["write","all"]);await et(i,t.apikey,e,4);let{name:o,icon:u,retention:l}=t;l&&Number.isNaN(Number(l))?(O.error("retention value must be a number"),B.error("")):l&&l<0&&(O.error("retention value cannot be less than 0"),B.error(""));let c,d,p=`icon_${(0,O6e.randomUUID)()}`,f="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(u&&(0,Qf.existsSync)(u)?(c=(0,Qf.readFileSync)(u),d=Yf.getType(u)||"image/png",O.warn(`Found app icon ${u}`)):(0,Qf.existsSync)(Xn)?(c=(0,Qf.readFileSync)(Xn),d=Yf.getType(Xn)||"image/png",O.warn(`Found app icon ${Xn}`)):O.warn(`Cannot find app icon in any of the following locations: ${u}, ${Xn}`),c&&d){let{error:g}=await i.storage.from(`images/org/${s}/${e}`).upload(p,c,{contentType:d});g&&(O.error(`Could not set app ${le(g)}`),B.error(""));let{data:v}=await i.storage.from(`images/org/${s}/${e}`).getPublicUrl(p);f=v?.publicUrl||f}let{error:h}=await i.from("apps").update({icon_url:f,name:o,retention:l?l*24*60*60:void 0}).eq("app_id",e).eq("user_id",a);h&&(O.error(`Could not set app ${le(h)}`),B.error("")),ee("Done \u2705"),(0,F6e.exit)()}var k6e=require("node:process");async function R6e(e,t){se("Deleting"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let i=Ht();t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey),s=await xe(n,t.apikey,["write","all"]);await et(n,t.apikey,e,5);let{data:a,error:o}=await n.from("apps").select("owner_org ( created_by, id )").eq("app_id",e).single(),u=a;if(!o&&(u?.owner_org.created_by??"")!==s){O.warn("Deleting the app is not recomended for users that are not the organization owner"),O.warn("You are invited as a super_admin but your are not the owner"),O.warn("It's strongly recomended that you do not continue!");let f=await Kc({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});(zi(f)||f==="no")&&(O.error("Canceled deleting the app, exiting"),B.error(""))}else o&&O.warn(`Cannot get the app owner ${le(o)}`);let{error:l}=await n.storage.from("images").remove([`org/${u?.owner_org.id}/${e}/icon`]);l&&(console.error(l,`images/org/${u?.owner_org.id}/${e}`),O.error("Could not delete app logo"));let{error:c}=await n.storage.from(`apps/${e}/${s}`).remove(["versions"]);c&&O.error("Could not delete app version");let{error:d}=await n.from("apps").delete().eq("app_id",e);d&&(O.error("Could not delete app"),B.error(""));let p=await Vn(n,e);await i.track({channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:p,tags:{"app-id":e},notify:!1}).catch(),O.success("App deleted in Capgo"),ee("Done \u2705"),(0,k6e.exit)()}var P6e=ye(A2());async function I6e(e,t){se("Check compatibility"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let{channel:i}=t;i||(O.error("Missing argument, you need to provide a channel"),B.error("")),t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey);await xe(n,t.apikey,["write","all","read","upload"]),await et(n,t.apikey,e,1);let{finalCompatibility:s}=await I9(n,e,i),a=new P6e.Table({title:"Compatibility",charLength:{"\u274C":2,"\u2705":2}}),o=t.text?"Yes":"\u2705",u=t.text?"No":"\u274C";s.forEach(l=>{let{name:c,localVersion:d,remoteVersion:p}=l;a.addRow({Package:c,"Local version":d??"None","Remote version":p??"None",Compatible:p===d?o:u})}),O.success(a.render())}B.name(Bo.name).description("Manage packages and bundle versions in Capgo Cloud").version(Bo.version);B.command("login [apikey]").alias("l").description("Save apikey to your machine or folder").action(U2e).option("--local","Only save in local folder");B.command("doctor").description("Get info about your Capgo app install").action(p6e);B.command("init [apikey] [appId]").description("Init a new app").action(Z2e).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account");var L2=B.command("app").description("Manage app");L2.command("add [appId]").alias("a").description("Add a new app in Capgo Cloud").action(X2e).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account");L2.command("delete [appId]").description("Delete an app in Capgo Cloud").action(R6e).option("-a, --apikey <apikey>","apikey to link to your account");L2.command("list").alias("l").description("list apps in Capgo Cloud").action(D6e).option("-a, --apikey <apikey>","apikey to link to your account");L2.command("debug [appId]").description("Listen for live updates event in Capgo Cloud to debug your app").option("-a, --apikey <apikey>","apikey to link to your account").option("-d, --device <device>","the specific device to debug").action(Ume);L2.command("set [appId]").alias("s").description("Set an app in Capgo Cloud").action(N6e).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account").option("-r, --retention <retention>","retention period of app bundle in days");var il=B.command("bundle").description("Manage bundle");il.command("upload [appId]").alias("u").description("Upload a new bundle in Capgo Cloud").action($2e).option("-a, --apikey <apikey>","apikey to link to your account").option("-p, --path <path>","path of the folder to upload").option("-c, --channel <channel>","channel to link to").option("-e, --external <url>","link to external url intead of upload to Capgo Cloud").option("--iv-session-key <key>","Set the iv and session key for bundle url external").option("--s3-region <region>","Region for your S3 bucket").option("--s3-apikey <apikey>","Apikey for your S3 endpoint").option("--s3-apisecret <apisecret>","Api secret for your S3 endpoint").option("--s3-endoint <s3Endpoint>","Url of S3 endpoint").option("--s3-bucket-name <bucketName>","Name for your AWS S3 bucket").option("--s3-port <port>","Port for your S3 endpoint").option("--no-s3-ssl","Disable SSL for S3 upload").option("--key <key>","custom path for public signing key").option("--key-data <keyData>","base64 public signing key").option("--bundle-url","prints bundle url into stdout").option("--no-key","ignore signing key and send clear update").option("--no-code-check","Ignore checking if notifyAppReady() is called in soure code and index present in root folder").option("--display-iv-session","Show in the console the iv and session key used to encrypt the update").option("-b, --bundle <bundle>","bundle version number of the bundle to upload").option("--min-update-version <minUpdateVersion>","Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel").option("--auto-min-update-version","Set the min update version based on native packages").option("--ignore-metadata-check","Ignores the metadata (node_modules) check when uploading").option("--ignore-checksum-check","Ignores the checksum check when uploading").option("--timeout <timeout>","Timeout for the upload process in seconds").option("--multipart","Uses multipart protocol to upload data to S3");il.command("compatibility [appId]").action(I6e).option("-a, --apikey <apikey>","apikey to link to your account").option("-c, --channel <channel>","channel to check the compatibility with").option("--text","output text instead of emojis");il.command("delete [bundleId] [appId]").alias("d").description("Delete a bundle in Capgo Cloud").action(h6e).option("-a, --apikey <apikey>","apikey to link to your account");il.command("list [appId]").alias("l").description("List bundle in Capgo Cloud").action(s6e).option("-a, --apikey <apikey>","apikey to link to your account");il.command("cleanup [appId]").alias("c").action(x6e).description("Cleanup bundle in Capgo Cloud").option("-b, --bundle <bundle>","bundle version number of the app to delete").option("-a, --apikey <apikey>","apikey to link to your account").option("-k, --keep <keep>","number of version to keep").option("-f, --force","force removal");il.command("decrypt [zipPath] [sessionKey]").description("Decrypt a signed zip bundle").action(o6e).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","base64 private signing key");il.command("encrypt [zipPath]").description("Encrypt a zip bundle").action(c6e).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","base64 private signing key");il.command("zip [appId]").description("Zip a bundle").action(xme).option("-p, --path <path>","path of the folder to upload").option("-b, --bundle <bundle>","bundle version number to name the zip file").option("-n, --name <name>","name of the zip file").option("-j, --json","output in JSON").option("--no-code-check","Ignore checking if notifyAppReady() is called in soure code and index present in root folder");var B2=B.command("channel").description("Manage channel");B2.command("add [channelId] [appId]").alias("a").description("Create channel").action(D2e).option("-d, --default","set the channel as default").option("-a, --apikey <apikey>","apikey to link to your account");B2.command("delete [channelId] [appId]").alias("d").description("Delete channel").action(C6e).option("-a, --apikey <apikey>","apikey to link to your account");B2.command("list [appId]").alias("l").description("List channel").action(T6e).option("-a, --apikey <apikey>","apikey to link to your account");B2.command("currentBundle [channel] [appId]").description("Get current bundle for specific channel in Capgo Cloud").action(w6e).option("-c, --channel <channel>","channel to get the current bundle from").option("-a, --apikey <apikey>","apikey to link to your account").option("--quiet","only print the bundle version");B2.command("set [channelId] [appId]").alias("s").description("Set channel").action(y6e).option("-a, --apikey <apikey>","apikey to link to your account").option("-b, --bundle <bundle>","bundle version number of the file to set").option("-s, --state <state>","set the state of the channel, default or normal").option("--latest","get the latest version key in the package.json to set it to the channel").option("--downgrade","Allow to downgrade to version under native one").option("--no-downgrade","Disable downgrade to version under native one").option("--upgrade","Allow to upgrade to version above native one").option("--no-upgrade","Disable upgrade to version above native one").option("--ios","Allow sending update to ios devices").option("--no-ios","Disable sending update to ios devices").option("--android","Allow sending update to android devices").option("--no-android","Disable sending update to android devices").option("--self-assign","Allow to device to self assign to this channel").option("--no-self-assign","Disable devices to self assign to this channel").option("--disable-auto-update <disableAutoUpdate>","Disable auto update strategy for this channel.The possible options are: major, minor, metadata, patch, none").option("--dev","Allow sending update to development devices").option("--no-dev","Disable sending update to development devices").option("--emulator","Allow sending update to emulator devices").option("--no-emulator","Disable sending update to emulator devices");var L6e=B.command("key").description("Manage key");L6e.command("save").description("Save base64 signing key in capacitor config, usefull for CI").action(Xme).option("-f, --force","force generate a new one").option("--key","key path to save in capacitor config").option("--key-data","key data to save in capacitor config");L6e.command("create").description("Create a new signing key").action(Yme).option("-f, --force","force generate a new one");B.command("upload [appId]").alias("u").description("(Deprecated) Upload a new bundle to Capgo Cloud").action(j2e).option("-a, --apikey <apikey>","apikey to link to your account").option("-p, --path <path>","path of the folder to upload").option("-c, --channel <channel>","channel to link to").option("-e, --external <url>","link to external url intead of upload to Capgo Cloud").option("--key <key>","custom path for public signing key").option("--key-data <keyData>","base64 public signing key").option("--bundle-url","prints bundle url into stdout").option("--no-key","ignore signing key and send clear update").option("--display-iv-session","Show in the console the iv and session key used to encrypt the update").option("-b, --bundle <bundle>","bundle version number of the file to upload").option("--min-update-version <minUpdateVersion>","Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel");var Bnt=B.command("account").description("Manage account");Bnt.command("id").description("Get your account ID").action(yde).option("-a, --apikey <apikey>","apikey to link to your account");B.parseAsync();
|
|
394
|
+
`)}async function xnt(e,t,r,i){let n=yi(),s=await We({message:`Automatic configure end-to-end encryption in ${i} updates?`});if(await Da(s,e,t),s){let a=Ue();a.start(`Running: ${n.runner} @capgo/cli@latest key create`),await AF({force:!0},!1)?a.stop("key created \u{1F511}"):(a.stop("Error"),O.warn("Cannot create key \u274C"),ee("Bye \u{1F44B}"),(0,cn.exit)(1)),No("onboarding-v2",e,t,"Use encryption")}await bs(e,t,6)}async function Snt(e,t,r,i){let n=yi(),s=await We({message:`Automatic build ${i} with "${n.pm} run build" ?`});if(await Da(s,e,t),s){let a=Ue(),o=await OT(),u=await cde(o);a.start(`Running: ${n.pm} run ${u} && ${n.runner} cap sync`),(await Mi()).scripts[u]||(a.stop("Error"),O.warn(`Cannot find ${u} script in package.json, please add it and run \`capgo init\` again`),ee("Bye \u{1F44B}"),(0,cn.exit)()),(0,I2.execSync)(`${n.pm} run ${u} && ${n.runner} cap sync`,K2e),a.stop("Build & Sync Done \u2705")}else O.info(`Build yourself with command: ${n.pm} run build && ${n.runner} cap sync`);await bs(e,t,7)}async function Cnt(e,t,r,i){let n=yi(),s=await We({message:`Automatic upload ${i} bundle to Capgo?`});if(await Da(s,e,t),s){let a=Ue();a.start(`Running: ${n.runner} @capgo/cli@latest bundle upload`),await Vy(i,{channel:P2,apikey:r},!1)?a.stop("Upload Done \u2705"):(a.stop("Error"),O.warn("Upload failed \u274C"),ee("Bye \u{1F44B}"),(0,cn.exit)())}else O.info(`Upload yourself with command: ${n.runner} @capgo/cli@latest bundle upload`);await bs(e,t,8)}async function Ant(e,t){let r=yi(),i=await We({message:"Run in device now ?"});if(await Da(i,e,t),i){let n=await Kc({message:"Pick a platform to run your app",options:[{value:"ios",label:"IOS"},{value:"android",label:"Android"}]});zi(n)&&(ee("Bye \u{1F44B}"),(0,cn.exit)());let s=n,a=Ue();a.start(`Running: ${r.runner} cap run ${s}`),await(0,I2.spawnSync)(r.runner,["cap","run",s],{stdio:"inherit"}),a.stop("Started Done \u2705")}else O.info(`If you change your mind, run it for yourself with: ${r.runner} cap run <ios|android>`);await bs(e,t,9)}async function Tnt(e,t,r,i){let n=await We({message:"Automatic check if update working in device ?"});if(await Da(n,e,t),n)O.info(`Wait logs sent to Capgo from ${i} device, Please open your app \u{1F4AA}`),await CF("onboarding-v2",r,i,t,e);else{let s=_f(i);O.info(`Check logs in https://web.capgo.app/app/p/${s}/logs to see if update works.`)}await bs(e,t,10)}async function Z2e(e,t,r){let i=yi();se("Capgo onboarding \u{1F6EB}"),await lt();let n=Ht(),s=await me();t=t||s?.config?.appId;let a=e||Ae(),o=Ue();(!M2e()||e)&&(o.start(`Running: ${i.runner} @capgo/cli@latest login ***`),await rN(a,r,!1),o.stop("Login Done \u2705"));let u=await Ee(a);await xe(u,a,["upload","all","read","write"]);let l=await wf(u,["admin","super_admin"]),c=l.gid,d=await gnt(c,n)??0;try{d<1&&await bs(c,n,1),d<2&&(await vnt(l,n,t,r),rl(2)),d<3&&(await wnt(c,n,a,t),rl(3)),d<4&&(await bnt(c,n,a,t),rl(4)),d<5&&(await Ent(c,n,a,t),rl(5)),d<6&&(await xnt(c,n,a,t),rl(6)),d<7&&(await Snt(c,n,a,t),rl(7)),d<8&&(await Cnt(c,n,a,t),rl(8)),d<9&&(await Ant(c,n),rl(9)),await Tnt(c,n,a,t),await bs(c,n,0),ynt()}catch(p){console.error(p),O.error("Error during onboarding, please try again later"),(0,cn.exit)(1)}O.info("Welcome onboard \u2708\uFE0F!"),O.info("Your Capgo update system is setup"),O.info(`Next time use \`${i.runner} @capgo/cli@latest bundle upload\` to only upload your bundle`),O.info(`If you have any issue try to use the debug command \`${i.runner} @capgo/cli@latest app debug\``),ee("Bye \u{1F44B}"),(0,cn.exit)()}var n6e=require("node:process");var t6e=require("node:process");var r6e=ye(A2());var Q2e=require("node:process");async function e6e(e,t,r){let{data:i,error:n}=await e.from("devices_override").select().eq("app_id",t).eq("version",r.id);if(n&&(O.error(`Cannot check Device override ${t}@${r.name}`),B.error("")),i&&i.length>0)if(se(`\u274C Version ${t}@${r.name} is used in ${i.length} device override`),await We({message:"unlink it?"}))for(let s of i){let a=Ue();a.start(`Unlinking device ${s.device_id}`);let{error:o}=await e.from("devices_override").delete().eq("device_id",s.device_id);o&&(a.stop(`Cannot unlink device ${s.device_id} ${le(o)}`),(0,Q2e.exit)(1)),a.stop(`\u2705 Device ${s.device_id} unlinked`)}else O.error("Unlink it first"),B.error("")}async function Ont(e,t,r){let{error:i}=await e.from("app_versions").update({deleted:!0}).eq("app_id",t).eq("deleted",!1).eq("name",r);i&&(O.error(`App Version ${t}@${r} not found in database`),B.error(""))}async function Wy(e,t,r){let i=await Fnt(e,t,r);await m2e(e,t,i),await e6e(e,t,i),await Ont(e,t,r)}function Xy(e){e.length||(O.error("No bundle found"),(0,t6e.exit)(1));let t=new r6e.Table({title:"Bundles",charLength:{"\u274C":2,"\u2705":2}});e.reverse().forEach(r=>{t.addRow({Version:r.name,Created:Df(r.created_at),...r.keep!=null?{Keep:r.keep}:{}})}),O.success(t.render())}async function Yy(e,t){let{data:r,error:i}=await e.from("app_versions").select().eq("app_id",t).eq("deleted",!1).order("created_at",{ascending:!1});return i&&(O.error(`App ${t} not found in database`),B.error("")),r}async function i6e(e,t){let{data:r,error:i}=await e.from("channels").select("version").eq("app_id",t);return i&&(O.error(`App ${t} not found in database`),B.error("")),r.map(n=>n.version)}async function Fnt(e,t,r){let{data:i,error:n}=await e.from("app_versions").select().eq("app_id",t).eq("name",r).eq("deleted",!1).single();return(!i||n)&&(O.error(`App Version ${t}@${r} doesn't exist`),B.error("")),i}async function s6e(e,t){se("List bundles"),await lt(),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appid, or be in a capacitor project"),B.error(""));let i=await Ee(t.apikey);await xe(i,t.apikey,["write","all","read","upload"]),O.info(`Querying available versions of: ${e} in Capgo`),await et(i,t.apikey,e,1);let n=await Yy(i,e);O.info(`Active versions in Capgo: ${n?.length}`),Xy(n),ee("Done \u2705"),(0,n6e.exit)()}var ba=require("node:fs"),a6e=require("node:process");async function o6e(e,t,r){se("Decrypt zip file"),await lt(),(0,ba.existsSync)(e)||(O.error(`Zip not found at the path ${e}`),B.error(""));let i=await me(),{extConfig:n}=i.app;!r.key&&!(0,ba.existsSync)(Do)&&!n.plugins?.CapacitorUpdater?.privateKey&&(O.error(`Private Key not found at the path ${Do} or in ${i.apextConfigFilePath}`),B.error(""));let s=r.key||Do,a=n?.plugins?.CapacitorUpdater?.privateKey;!(0,ba.existsSync)(s)&&!a?(O.error(`Cannot find public key ${s} or as keyData option or in ${i.apextConfigFilePath}`),B.error("")):(0,ba.existsSync)(s)&&(a=(0,ba.readFileSync)(s).toString());let o=(0,ba.readFileSync)(e),u=Gme(o,t,r.keyData??a??"");(0,ba.writeFileSync)(`${e}_decrypted.zip`,u),ee(`Decrypted zip file at ${e}_decrypted.zip`),(0,a6e.exit)()}var Lo=require("node:fs"),u6e=require("node:process");var l6e=ye(GF());async function c6e(e,t){se("Encryption"),await lt();let r=await vc();(0,Lo.existsSync)(e)||(O.error(`Error: Zip not found at the path ${e}`),B.error(""));let i=t.key||bo,n=t.keyData||"";!(0,Lo.existsSync)(i)&&!n?(O.warning(`Cannot find public key ${i} or as keyData option`),l6e.default.isCI&&(O.error("Error: Missing public key"),B.error("")),await We({message:"Do you want to use our public key ?"})||(O.error("Error: Missing public key"),B.error("")),n=r.signKey||""):(0,Lo.existsSync)(i)&&(n=(0,Lo.readFileSync)(i).toString());let s=(0,Lo.readFileSync)(e),a=Ny(s,n);O.success(`ivSessionKey: ${a.ivSessionKey}`),(0,Lo.writeFileSync)(`${e}_encrypted.zip`,a.encryptedData),O.success(`Encrypted zip saved at ${e}_encrypted.zip`),ee("Done \u2705"),(0,u6e.exit)()}var Zf=require("node:process"),Ky=require("node:os"),d6e=ye(yF());async function Nnt(e){let t={},r=[];for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&r.push((0,d6e.default)(i));return await Promise.all(r).then(i=>{let n=Object.keys(e);for(let s=0;s<i.length;s+=1){let a=i[s];a&&(t[n[s]]=a)}}),t}async function knt(){let{dependencies:e}=await Mi(),t={"@capgo/cli":Bo.version};for(let r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&r.startsWith("@capgo/")&&r.startsWith("@capawesome/")&&r.startsWith("capacitor")){let i=e[r].replace("^","").replace("~","");t[r]=i}return t}async function p6e(){O.warn(" \u{1F48A} Capgo Doctor \u{1F48A}");let e=await me(),t=await Mi(),r=e?.config?.plugins?.CapacitorUpdater?.version||t?.version,i=e?.config?.appName||"";O.info(` App Name: ${i}`);let n=e?.config?.appId||"";O.info(` App ID: ${n}`),O.info(` App Version: ${r}`);let s=e?.config?.webDir||"";O.info(` Web Dir: ${s}`),O.info(` OS: ${(0,Ky.platform)()} ${(0,Ky.version)()}`),O.info(` Node: ${Zf.version}`),O.info(" Installed Dependencies:");let a=await knt();Object.keys(a).length===0&&(O.warning("\x1B[31m%s\x1B[0m \u{1F6A8} No dependencies found"),(0,Zf.exit)(1));for(let l in a)if(Object.prototype.hasOwnProperty.call(a,l)){let c=a[l];O.info(` ${l}: ${c}`)}let o=Ue();o.start("Running: Loading latest dependencies");let u=await Nnt(a);o.stop("Latest Dependencies:");for(let l in u)if(Object.prototype.hasOwnProperty.call(u,l)){let c=u[l];O.info(` ${l}: ${c}`)}JSON.stringify(a)!==JSON.stringify(u)&&(O.warn("\x1B[31m\u{1F6A8} Some dependencies are not up to date\x1B[0m"),(0,Zf.exit)(1)),O.success("\x1B[32m\u2705 All dependencies are up to date\x1B[0m"),(0,Zf.exit)()}var f6e=require("node:process");async function h6e(e,t,r){se("Delete bundle"),r.apikey=r.apikey||Ae();let i=await me();t=t||i?.config?.appId,r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(r.apikey);await xe(n,r.apikey,["write","all"]),await et(n,r.apikey,t,3),r.apikey||(O.error("Missing API key, you need to provide an API key to delete your app"),B.error("")),e||(O.error("Missing argument, you need to provide a bundleId, or be in a capacitor project"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error("")),O.info(`Deleting bundle ${t}@${e} from Capgo`),await Wy(n,t,e),O.success(`Bundle ${t}@${e} deleted in Capgo`),ee("Done"),(0,f6e.exit)()}var g6e=require("node:process");var m6e=["major","minor","metadata","patch","none"];async function y6e(e,t,r){se("Set channel"),r.apikey=r.apikey||Ae();let i=await me();t=t||i?.config?.appId;let n=Ht();r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let s=await Ee(r.apikey),a=await xe(s,r.apikey,["write","all"]);await et(s,r.apikey,t,4);let o=await Vn(s,t),{bundle:u,state:l,downgrade:c,latest:d,upgrade:p,ios:f,android:h,selfAssign:g,disableAutoUpdate:v,dev:y,emulator:x}=r;e||(O.error("Missing argument, you need to provide a channel"),B.error("")),d&&u&&(O.error("Cannot set latest and bundle at the same time"),B.error("")),u==null&&l==null&&d==null&&c==null&&p==null&&f==null&&h==null&&g==null&&y==null&&x==null&&v==null&&(O.error("Missing argument, you need to provide a option to set"),B.error(""));try{await vf(s,o,r.apikey,t);let D={created_by:a,app_id:t,name:e,owner_org:o,version:void 0},w=await Mi(),_=d?w?.version:u;if(_!=null){let{data:A,error:C}=await s.from("app_versions").select().eq("app_id",t).eq("name",_).eq("user_id",a).eq("deleted",!1).single();(C||!A)&&(O.error(`Cannot find version ${_}`),B.error("")),O.info(`Set ${t} channel: ${e} to @${_}`),D.version=A.id}if(l!=null&&((l==="public"||l==="private")&&O.info(`Set ${t} channel: ${e} to public or private is deprecated, use default or normal instead`),O.info(`Set ${t} channel: ${e} to ${l==="public"||l==="default"?"default":"normal"}`),D.public=l==="public"||l==="default"),c!=null&&(O.info(`Set ${t} channel: ${e} to ${c?"allow":"disallow"} downgrade`),D.disable_auto_update_under_native=!c),f!=null&&(O.info(`Set ${t} channel: ${e} to ${f?"allow":"disallow"} ios update`),D.ios=!!f),h!=null&&(O.info(`Set ${t} channel: ${e} to ${h?"allow":"disallow"} android update`),D.android=!!h),g!=null&&(O.info(`Set ${t} channel: ${e} to ${g?"allow":"disallow"} self assign to this channel`),D.allow_device_self_set=!!g),v!=null){let A=v.toLocaleLowerCase();m6e.includes(A)||(O.error(`Channel strategy ${A} is not known. The possible values are: ${m6e.join(", ")}.`),B.error("")),A==="metadata"&&(A="version_number"),D.disable_auto_update=A,O.info(`Set ${t} channel: ${e} to ${A} disable update strategy to this channel`)}try{let{error:A}=await P9(s,D);A&&(O.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),B.error(""))}catch{O.error('Cannot set channel the upload key is not allowed to do that, use the "all" for this.'),B.error("")}await n.track({channel:"channel",event:"Set channel",icon:"\u2705",user_id:o,tags:{"app-id":t},notify:!1}).catch()}catch(D){O.error(`Unknow error ${le(D)}`),B.error("")}ee("Done \u2705"),(0,g6e.exit)()}var v6e=require("node:process");async function w6e(e,t,r){let{quiet:i}=r;i||se("List current bundle"),r.apikey=r.apikey||Ae(i);let n=await me();t=t||n?.config?.appId,r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let s=await Ee(r.apikey),a=await xe(s,r.apikey,["write","all","read"]);await et(s,r.apikey,t,1),e||(O.error("Please provide a channel to get the bundle from."),B.error(""));let{data:o,error:u}=await s.from("channels").select("version ( name )").eq("name",e).eq("app_id",t).limit(1);(u||o.length===0)&&(O.error(`Error retrieving channel ${e} for app ${t}. Perhaps the channel does not exists?`),B.error(""));let{version:l}=o[0];l||(O.error(`Error retrieving channel ${e} for app ${t}. Perhaps the channel does not exists?`),B.error("")),i?O.info(l.name):O.info(`Current bundle for channel ${e} is ${l.name}`),(0,v6e.exit)()}var oN=require("node:process");var _6e=ye(A2());function Rnt(e){e.length||(O.error("No apps found"),(0,oN.exit)(1));let t=new _6e.Table({title:"Apps",charLength:{"\u274C":2,"\u2705":2}});e.reverse().forEach(r=>{t.addRow({Name:r.name,id:r.app_id,Created:Df(r.created_at)})}),O.success(t.render())}async function Pnt(e){let{data:t,error:r}=await e.from("apps").select().order("created_at",{ascending:!1});return r&&(O.error("Apps not found"),B.error("")),t}async function D6e(e){se("List apps in Capgo"),await lt(),e.apikey=e.apikey||Ae();let t=await Ee(e.apikey);await xe(t,e.apikey,["write","all","read","upload"]),O.info("Getting active bundle in Capgo");let r=await Pnt(t);O.info(`Active app in Capgo: ${r?.length}`),Rnt(r),ee("Done \u2705"),(0,oN.exit)()}var uN=require("node:process");var Jy=ye(E6e());async function Int(e,t,r){for await(let i of e)O.warn(`Removing ${i.name} created on ${Df(i.created_at)}`),await Wy(t,r,i.name)}function Lnt(e,t,r){let i=[];return e?.forEach(n=>{Jy.default.gte(n.name,t)&&Jy.default.lt(n.name,`${r}`)&&i.push(n)}),i}async function x6e(e,t){se("Cleanup versions in Capgo"),await lt(),t.apikey=t.apikey||Ae();let{bundle:r,keep:i=4}=t,n=t.force||!1,s=await me();e=e||s?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide an API key to delete your app"),B.error("")),e||(O.error("Missing argument, you need to provide a appid, or be in a capacitor project"),B.error(""));let a=await Ee(t.apikey);await xe(a,t.apikey,["write","all"]),await et(a,t.apikey,e,3),O.info("Querying all available versions in Capgo");let o=await Yy(a,e),u=await i6e(a,e);if(O.info(`Total active versions in Capgo: ${o?.length}`),o?.length===0){O.error("No versions found, aborting cleanup");return}if(r){let d=`${Jy.default.inc(r,"major")}`;O.info(`Querying available versions in Capgo between ${r} and ${d}`),o=Lnt(o,r,d),O.info(`Active versions in Capgo between ${r} and ${d}: ${o?.length}`)}let l=[],c=0;if(o.forEach(d=>{let p=u.find(f=>f===d.id);c<i||p?(p?d.keep="\u2705 (Linked to channel)":d.keep="\u2705",c+=1):(d.keep="\u274C",l.push(d))}),l.length===0){O.warn("Nothing to be removed, aborting removal...");return}if(Xy(o),!n){let d=await We({message:"Do you want to continue removing the versions specified?"});(zi(d)||!d)&&(O.warn("Not confirmed, aborting removal..."),(0,uN.exit)())}O.success("You have confirmed removal, removing versions now"),await Int(l,a,e),ee("Done \u2705"),(0,uN.exit)()}var S6e=require("node:process");async function C6e(e,t,r){se("Delete channel"),r.apikey=r.apikey||Ae();let i=await me();t=t||i?.config?.appId;let n=Ht();r.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),t||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let s=await Ee(r.apikey),a=await xe(s,r.apikey,["write","all"]);await et(s,r.apikey,t,4),O.info(`Deleting channel ${t}#${e} from Capgo`);try{let o=await y2e(s,e,t,a);o.error&&(O.error(`Cannot delete Channel \u{1F640} ${le(o.error)}`),B.error(""));let u=await Vn(s,t);O.success("Channel deleted"),await n.track({channel:"channel",event:"Delete channel",icon:"\u2705",user_id:u,tags:{"user-id":a,"app-id":t,channel:e},notify:!1}).catch()}catch{O.error("Cannot delete Channel \u{1F640}")}ee("Done \u2705"),(0,S6e.exit)()}var A6e=require("node:process");async function T6e(e,t){se("List channels"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let i=Ht();t.apikey||O.error("Missing API key, you need to provide a API key to upload your bundle"),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey),s=await xe(n,t.apikey,["write","all","read","upload"]);await et(n,t.apikey,e,1),O.info("Querying available channels in Capgo");let a=await w2e(n,e);O.info(`Active channels in Capgo: ${a?.length}`),v2e(a),await i.track({channel:"channel",event:"List channel",icon:"\u2705",user_id:s,tags:{"app-id":e},notify:!1}).catch(),ee("Done \u2705"),(0,A6e.exit)()}var O6e=require("node:crypto"),Qf=require("node:fs"),F6e=require("node:process");async function N6e(e,t){se("Set app"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId,t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let i=await Ee(t.apikey),s=(await wf(i,["admin","super_admin"])).gid,a=await xe(i,t.apikey,["write","all"]);await et(i,t.apikey,e,4);let{name:o,icon:u,retention:l}=t;l&&Number.isNaN(Number(l))?(O.error("retention value must be a number"),B.error("")):l&&l<0&&(O.error("retention value cannot be less than 0"),B.error(""));let c,d,p=`icon_${(0,O6e.randomUUID)()}`,f="https://xvwzpoazmxkqosrdewyv.supabase.co/storage/v1/object/public/images/capgo.png";if(u&&(0,Qf.existsSync)(u)?(c=(0,Qf.readFileSync)(u),d=Yf.getType(u)||"image/png",O.warn(`Found app icon ${u}`)):(0,Qf.existsSync)(Xn)?(c=(0,Qf.readFileSync)(Xn),d=Yf.getType(Xn)||"image/png",O.warn(`Found app icon ${Xn}`)):O.warn(`Cannot find app icon in any of the following locations: ${u}, ${Xn}`),c&&d){let{error:g}=await i.storage.from(`images/org/${s}/${e}`).upload(p,c,{contentType:d});g&&(O.error(`Could not set app ${le(g)}`),B.error(""));let{data:v}=await i.storage.from(`images/org/${s}/${e}`).getPublicUrl(p);f=v?.publicUrl||f}let{error:h}=await i.from("apps").update({icon_url:f,name:o,retention:l?l*24*60*60:void 0}).eq("app_id",e).eq("user_id",a);h&&(O.error(`Could not set app ${le(h)}`),B.error("")),ee("Done \u2705"),(0,F6e.exit)()}var k6e=require("node:process");async function R6e(e,t){se("Deleting"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let i=Ht();t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey),s=await xe(n,t.apikey,["write","all"]);await et(n,t.apikey,e,5);let{data:a,error:o}=await n.from("apps").select("owner_org ( created_by, id )").eq("app_id",e).single(),u=a;if(!o&&(u?.owner_org.created_by??"")!==s){O.warn("Deleting the app is not recomended for users that are not the organization owner"),O.warn("You are invited as a super_admin but your are not the owner"),O.warn("It's strongly recomended that you do not continue!");let f=await Kc({message:"Do you want to continue?",options:[{label:"Yes",value:"yes"},{label:"No",value:"no"}]});(zi(f)||f==="no")&&(O.error("Canceled deleting the app, exiting"),B.error(""))}else o&&O.warn(`Cannot get the app owner ${le(o)}`);let{error:l}=await n.storage.from("images").remove([`org/${u?.owner_org.id}/${e}/icon`]);l&&(console.error(l,`images/org/${u?.owner_org.id}/${e}`),O.error("Could not delete app logo"));let{error:c}=await n.storage.from(`apps/${e}/${s}`).remove(["versions"]);c&&O.error("Could not delete app version");let{error:d}=await n.from("apps").delete().eq("app_id",e);d&&(O.error("Could not delete app"),B.error(""));let p=await Vn(n,e);await i.track({channel:"app",event:"App Deleted",icon:"\u{1F5D1}\uFE0F",user_id:p,tags:{"app-id":e},notify:!1}).catch(),O.success("App deleted in Capgo"),ee("Done \u2705"),(0,k6e.exit)()}var P6e=ye(A2());async function I6e(e,t){se("Check compatibility"),t.apikey=t.apikey||Ae();let r=await me();e=e||r?.config?.appId;let{channel:i}=t;i||(O.error("Missing argument, you need to provide a channel"),B.error("")),t.apikey||(O.error("Missing API key, you need to provide a API key to upload your bundle"),B.error("")),e||(O.error("Missing argument, you need to provide a appId, or be in a capacitor project"),B.error(""));let n=await Ee(t.apikey);await xe(n,t.apikey,["write","all","read","upload"]),await et(n,t.apikey,e,1);let{finalCompatibility:s}=await I9(n,e,i),a=new P6e.Table({title:"Compatibility",charLength:{"\u274C":2,"\u2705":2}}),o=t.text?"Yes":"\u2705",u=t.text?"No":"\u274C";s.forEach(l=>{let{name:c,localVersion:d,remoteVersion:p}=l;a.addRow({Package:c,"Local version":d??"None","Remote version":p??"None",Compatible:p===d?o:u})}),O.success(a.render())}B.name(Bo.name).description("Manage packages and bundle versions in Capgo Cloud").version(Bo.version);B.command("login [apikey]").alias("l").description("Save apikey to your machine or folder").action(U2e).option("--local","Only save in local folder");B.command("doctor").description("Get info about your Capgo app install").action(p6e);B.command("init [apikey] [appId]").description("Init a new app").action(Z2e).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account");var L2=B.command("app").description("Manage app");L2.command("add [appId]").alias("a").description("Add a new app in Capgo Cloud").action(X2e).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account");L2.command("delete [appId]").description("Delete an app in Capgo Cloud").action(R6e).option("-a, --apikey <apikey>","apikey to link to your account");L2.command("list").alias("l").description("list apps in Capgo Cloud").action(D6e).option("-a, --apikey <apikey>","apikey to link to your account");L2.command("debug [appId]").description("Listen for live updates event in Capgo Cloud to debug your app").option("-a, --apikey <apikey>","apikey to link to your account").option("-d, --device <device>","the specific device to debug").action(Ume);L2.command("set [appId]").alias("s").description("Set an app in Capgo Cloud").action(N6e).option("-n, --name <name>","app name").option("-i, --icon <icon>","app icon path").option("-a, --apikey <apikey>","apikey to link to your account").option("-r, --retention <retention>","retention period of app bundle in days");var il=B.command("bundle").description("Manage bundle");il.command("upload [appId]").alias("u").description("Upload a new bundle in Capgo Cloud").action($2e).option("-a, --apikey <apikey>","apikey to link to your account").option("-p, --path <path>","path of the folder to upload").option("-c, --channel <channel>","channel to link to").option("-e, --external <url>","link to external url intead of upload to Capgo Cloud").option("--iv-session-key <key>","Set the iv and session key for bundle url external").option("--s3-region <region>","Region for your S3 bucket").option("--s3-apikey <apikey>","Apikey for your S3 endpoint").option("--s3-apisecret <apisecret>","Api secret for your S3 endpoint").option("--s3-endoint <s3Endpoint>","Url of S3 endpoint").option("--s3-bucket-name <bucketName>","Name for your AWS S3 bucket").option("--s3-port <port>","Port for your S3 endpoint").option("--no-s3-ssl","Disable SSL for S3 upload").option("--key <key>","custom path for public signing key").option("--key-data <keyData>","base64 public signing key").option("--bundle-url","prints bundle url into stdout").option("--no-key","ignore signing key and send clear update").option("--no-code-check","Ignore checking if notifyAppReady() is called in soure code and index present in root folder").option("--display-iv-session","Show in the console the iv and session key used to encrypt the update").option("-b, --bundle <bundle>","bundle version number of the bundle to upload").option("--min-update-version <minUpdateVersion>","Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel").option("--auto-min-update-version","Set the min update version based on native packages").option("--ignore-metadata-check","Ignores the metadata (node_modules) check when uploading").option("--ignore-checksum-check","Ignores the checksum check when uploading").option("--timeout <timeout>","Timeout for the upload process in seconds").option("--multipart","Uses multipart protocol to upload data to S3");il.command("compatibility [appId]").action(I6e).option("-a, --apikey <apikey>","apikey to link to your account").option("-c, --channel <channel>","channel to check the compatibility with").option("--text","output text instead of emojis");il.command("delete [bundleId] [appId]").alias("d").description("Delete a bundle in Capgo Cloud").action(h6e).option("-a, --apikey <apikey>","apikey to link to your account");il.command("list [appId]").alias("l").description("List bundle in Capgo Cloud").action(s6e).option("-a, --apikey <apikey>","apikey to link to your account");il.command("cleanup [appId]").alias("c").action(x6e).description("Cleanup bundle in Capgo Cloud").option("-b, --bundle <bundle>","bundle version number of the app to delete").option("-a, --apikey <apikey>","apikey to link to your account").option("-k, --keep <keep>","number of version to keep").option("-f, --force","force removal");il.command("decrypt [zipPath] [sessionKey]").description("Decrypt a signed zip bundle").action(o6e).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","base64 private signing key");il.command("encrypt [zipPath]").description("Encrypt a zip bundle").action(c6e).option("--key <key>","custom path for private signing key").option("--key-data <keyData>","base64 private signing key");il.command("zip [appId]").description("Zip a bundle").action(xme).option("-p, --path <path>","path of the folder to upload").option("-b, --bundle <bundle>","bundle version number to name the zip file").option("-n, --name <name>","name of the zip file").option("-j, --json","output in JSON").option("--no-code-check","Ignore checking if notifyAppReady() is called in soure code and index present in root folder");var B2=B.command("channel").description("Manage channel");B2.command("add [channelId] [appId]").alias("a").description("Create channel").action(D2e).option("-d, --default","set the channel as default").option("-a, --apikey <apikey>","apikey to link to your account");B2.command("delete [channelId] [appId]").alias("d").description("Delete channel").action(C6e).option("-a, --apikey <apikey>","apikey to link to your account");B2.command("list [appId]").alias("l").description("List channel").action(T6e).option("-a, --apikey <apikey>","apikey to link to your account");B2.command("currentBundle [channel] [appId]").description("Get current bundle for specific channel in Capgo Cloud").action(w6e).option("-c, --channel <channel>","channel to get the current bundle from").option("-a, --apikey <apikey>","apikey to link to your account").option("--quiet","only print the bundle version");B2.command("set [channelId] [appId]").alias("s").description("Set channel").action(y6e).option("-a, --apikey <apikey>","apikey to link to your account").option("-b, --bundle <bundle>","bundle version number of the file to set").option("-s, --state <state>","set the state of the channel, default or normal").option("--latest","get the latest version key in the package.json to set it to the channel").option("--downgrade","Allow to downgrade to version under native one").option("--no-downgrade","Disable downgrade to version under native one").option("--upgrade","Allow to upgrade to version above native one").option("--no-upgrade","Disable upgrade to version above native one").option("--ios","Allow sending update to ios devices").option("--no-ios","Disable sending update to ios devices").option("--android","Allow sending update to android devices").option("--no-android","Disable sending update to android devices").option("--self-assign","Allow to device to self assign to this channel").option("--no-self-assign","Disable devices to self assign to this channel").option("--disable-auto-update <disableAutoUpdate>","Disable auto update strategy for this channel.The possible options are: major, minor, metadata, patch, none").option("--dev","Allow sending update to development devices").option("--no-dev","Disable sending update to development devices").option("--emulator","Allow sending update to emulator devices").option("--no-emulator","Disable sending update to emulator devices");var L6e=B.command("key").description("Manage key");L6e.command("save").description("Save base64 signing key in capacitor config, usefull for CI").action(Xme).option("-f, --force","force generate a new one").option("--key","key path to save in capacitor config").option("--key-data","key data to save in capacitor config");L6e.command("create").description("Create a new signing key").action(Yme).option("-f, --force","force generate a new one");B.command("upload [appId]").alias("u").description("(Deprecated) Upload a new bundle to Capgo Cloud").action(j2e).option("-a, --apikey <apikey>","apikey to link to your account").option("-p, --path <path>","path of the folder to upload").option("-c, --channel <channel>","channel to link to").option("-e, --external <url>","link to external url intead of upload to Capgo Cloud").option("--key <key>","custom path for public signing key").option("--key-data <keyData>","base64 public signing key").option("--bundle-url","prints bundle url into stdout").option("--no-key","ignore signing key and send clear update").option("--display-iv-session","Show in the console the iv and session key used to encrypt the update").option("-b, --bundle <bundle>","bundle version number of the file to upload").option("--min-update-version <minUpdateVersion>","Minimal version required to update to this version. Used only if the disable auto update is set to metadata in channel");var Bnt=B.command("account").description("Manage account");Bnt.command("id").description("Get your account ID").action(yde).option("-a, --apikey <apikey>","apikey to link to your account");B.parseAsync();
|
|
394
395
|
/*! Bundled license information:
|
|
395
396
|
|
|
396
397
|
is-extglob/index.js:
|