updates 18.0.5 → 18.0.6
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/README.md +3 -3
- package/dist/api.d.ts +1 -1
- package/dist/api.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/dns.js +1 -1
- package/dist/go.js +1 -1
- package/dist/index.js +2 -2
- package/dist/prewarm.js +1 -1
- package/dist/shared.js +23 -21
- package/dist/utils.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -44,7 +44,7 @@ npx updates -u && npm i
|
|
|
44
44
|
|`-m, --minor [<dep,...>]`|Consider only up to semver-minor|
|
|
45
45
|
|`-d, --allow-downgrade [<dep,...>]`|Allow downgrading onto a lower `latest` tag|
|
|
46
46
|
|`-s, --sockets <num>`|Maximum number of parallel HTTP sockets opened. Default: 50|
|
|
47
|
-
|`-T, --timeout <ms>`|Network request timeout in ms. Default: 5000|
|
|
47
|
+
|`-T, --timeout <ms>`|Network request timeout in ms, go probes use half. Default: 5000|
|
|
48
48
|
|`-r, --registry <url>`|Override npm registry URL|
|
|
49
49
|
|`-I, --indirect`|Include indirect Go dependencies|
|
|
50
50
|
|`-E, --error-on-outdated`|Exit with code 2 when updates are available and 0 when not|
|
|
@@ -63,7 +63,7 @@ A failed lookup is reported on its own, does not hold back the other results and
|
|
|
63
63
|
|
|
64
64
|
## Config File
|
|
65
65
|
|
|
66
|
-
Configure via `updates.config.{ts,
|
|
66
|
+
Configure via `updates.config.{js,ts,mjs,mts}`. Each manifest uses the nearest config above it, and workspace members use the workspace root config. CLI arguments win over configured values, including `include`, `exclude` and `pin`.
|
|
67
67
|
|
|
68
68
|
```ts
|
|
69
69
|
import type {Config} from "updates";
|
|
@@ -103,7 +103,7 @@ export default {
|
|
|
103
103
|
|
|
104
104
|
### Renovate config
|
|
105
105
|
|
|
106
|
-
A [Renovate](https://docs.renovatebot.com/) `renovate.json` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching `packageRules` as `include`/`exclude`/`pin`. Exact-name `allowedVersions` ranges become pin ceilings that never downgrade.
|
|
106
|
+
A [Renovate](https://docs.renovatebot.com/) `renovate.json`, `renovate.jsonc` or `renovate.json5` is picked up automatically, inheriting `ignoreDeps`, `enabled` and `allowedVersions` from matching local `packageRules` as `include`/`exclude`/`pin`. Exact-name `allowedVersions` ranges become pin ceilings that never downgrade. Local fields are imported when `extends` is present, but preset contents are not resolved. `minimumReleaseAge` is not inherited unless opted in:
|
|
107
107
|
|
|
108
108
|
```ts
|
|
109
109
|
export default {
|
package/dist/api.d.ts
CHANGED
|
@@ -39,7 +39,7 @@ type Config = {
|
|
|
39
39
|
noColor?: boolean;
|
|
40
40
|
/** Disable HTTP cache */
|
|
41
41
|
noCache?: boolean;
|
|
42
|
-
/** Network request timeout in ms */
|
|
42
|
+
/** Network request timeout in ms, go probes use half */
|
|
43
43
|
timeout?: number;
|
|
44
44
|
/** Maximum number of parallel HTTP sockets */
|
|
45
45
|
sockets?: number;
|
package/dist/api.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{D as e,r as t}from"./shared.js";export{e as cliConfigBaseDir,t as updates};
|
package/dist/cli.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{n as e,
|
|
1
|
+
import{n as e,t}from"./shared.js";export{t as parseCliArgs,e as resolveConfig};
|
package/dist/dns.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"node:dns";let t=null;function n(){if(
|
|
1
|
+
import e from"node:dns";let t=null;function n(){if(e.lookup===t?.lookup)return t.users++,r(t);let n=new Map,i=new Map,a=e.lookup,o=function(t,...r){let o=typeof r[0]!=`function`,s=o?r[0]:void 0,c=typeof s==`number`?{family:s}:s||{},l=o?r[1]:r[0];if(typeof l!=`function`)return a.call(e,t,...r);let u=JSON.stringify([t,c.family??0,c.hints??0,!!c.all,c.order??``,c.verbatim??``]),d=n.get(u);if(d){if(d.expires>Date.now()){queueMicrotask(()=>l(null,...d.result));return}n.delete(u)}let f=i.get(u);if(f){f.push(l);return}i.set(u,[l]);let p=(e,...t)=>{queueMicrotask(()=>{let r=i.get(u);i.delete(u),e||(n.size>=512&&n.delete(n.keys().next().value),n.set(u,{expires:Date.now()+6e4,result:t}));for(let n of r)n(e,...t)})};try{o?a.call(e,t,s,p):a.call(e,t,p)}catch(e){throw i.delete(u),e}};return e.lookup=o,t={lookup:o,original:a,users:1},r(t)}function r(n){let r=!1;return()=>{r||(r=!0,n.users--,!n.users&&(e.lookup===n.lookup&&(e.lookup=n.original),t===n&&(t=null)))}}export{n as enableDnsCache};
|
package/dist/go.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,
|
|
1
|
+
import{C as e,E as t,S as n,T as r,_ as i,a,b as o,c as s,d as c,f as l,g as u,h as d,i as f,l as p,m,o as h,p as g,s as _,u as v,v as y,w as b,x,y as S}from"./shared.js";export{f as buildGoModulePath,a as encodeGoModulePath,h as extractGoMajor,_ as fetchFromGoProxyChain,s as fetchGoLatestOnce,p as fetchGoProxyInfo,v as getGoInfoUrl,c as goModulePathForVersion,l as goProxyHeaders,g as isGoNoProxy,m as parseGoMod,d as parseGoModule,u as parseGoNoProxy,i as parseGoProxy,y as parseGoWork,S as pickGoListVersion,o as resolveGoProxyChain,x as resolveGoWorkModule,n as rewriteGoImportPaths,e as rewriteGoImports,b as shortenGoModule,r as shortenGoVersion,t as updateGoMod};
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}from"node:process";import{readFileSync as o,statSync as s}from"node:fs";import{dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";let f=String,p=String,m=!1;const h=new Set(
|
|
2
|
+
import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}from"node:process";import{readFileSync as o,statSync as s}from"node:fs";import{dirname as c,join as l,resolve as u}from"node:path";import{pathToFileURL as d}from"node:url";let f=String,p=String,m=!1;const h={d:`allow-downgrade`,e:`exclude`,f:`file`,l:`pin`,C:`cooldown`,p:`prerelease`,R:`release`,g:`greatest`,t:`types`,P:`patch`,m:`minor`,s:`sockets`,T:`timeout`,r:`registry`,i:`include`,M:`modes`,forgeapi:`forgeapi`,pypiapi:`pypiapi`,jsrapi:`jsrapi`,goproxy:`goproxy`,cargoapi:`cargoapi`,dockerapi:`dockerapi`},g=new Set(Object.keys(h));for(let e of Object.values(h))h[e]=e;function _(e,t,n){if(e.includes(`--${t}`))return!0;for(let t of e){if(!/^-[^-]/.test(t))continue;let e=t.slice(1),r=e.indexOf(n);if(r!==-1&&Array.from(e.slice(0,r)).every(e=>!g.has(e)))return!0}return!1}async function v(e){let t={},n;for(let r=0;r<e.length;r++){let i=e[r];if(!i.startsWith(`-`)){n??=i;continue}let a=/^--([^=]+)(?:=(.*))?$/.exec(i),o=/^-([A-Za-z])(.*)$/.exec(i),s=a?h[a[1]]:o?h[o[1]]:void 0;if(!s)continue;let c=(a?a[2]:o?.[2])||(e[r+1]?.startsWith(`-`)===!1?e[++r]:void 0);c!==void 0&&(s===`file`||s===`modes`?(t[s]??=[]).push(...c.split(`,`)):t[s]=c)}let r=t.file?.[0]??n,i=r?u(r):process.cwd(),a=r?c(i):i;try{s(i).isDirectory()&&(a=i)}catch{}let o={};configSearch:for(let e=a;;e=c(e)){for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=l(e,`updates.config.${t}`);try{if(!s(n).isFile())continue;o=(await import(d(n).href)).default??{};break configSearch}catch{}}if(c(e)===e)break}o={...o,...t};let f=Array.isArray(o.file)?o.file:o.files,{prewarmOrigins:p}=await import(`./prewarm.js`);for(let e of p(a,{...o,files:f}))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})()}async function y(e,r){if(e){let t=e.message??String(e);console.info(m?JSON.stringify({error:t}):f(t))}n===`win32`&&Number(a.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t(r??+!!e)}async function b(){for(let e of[i,r])e._handle?.setBlocking?.(!0);let t=e.slice(2);if(m=_(t,`json`,`j`),_(t,`help`,`h`)&&(i.write(`usage: updates [options] [files...]
|
|
3
3
|
|
|
4
4
|
Options:
|
|
5
5
|
-u, --update Update versions and write dependency file
|
|
@@ -44,4 +44,4 @@ import{argv as e,exit as t,platform as n,stderr as r,stdout as i,versions as a}f
|
|
|
44
44
|
$ updates -f Dockerfile
|
|
45
45
|
$ updates -f docker-compose.yml
|
|
46
46
|
$ updates -f Makefile
|
|
47
|
-
`),await y()),
|
|
47
|
+
`),await y()),_(t,`version`,`v`)){let e;try{e=o(new URL(`package.json`,import.meta.url),`utf8`)}catch{e=o(new URL(`../package.json`,import.meta.url),`utf8`)}console.info(JSON.parse(e).version),await y()}try{await v(t)}catch{}let{parseCliArgs:n,resolveConfig:a}=await import(`./cli.js`),{args:s,positionals:c}=n(),l=await a(s,c),[{updates:u},{highlightDiff:d,textTable:h},{shortenGoModule:g},{stripVTControlCharacters:b,styleText:S}]=await Promise.all([import(`./api.js`),import(`./utils.js`),import(`./go.js`),import(`node:util`)]);!l.noColor&&(l.color||i.isTTY)&&(f=e=>S(`red`,String(e),{validateStream:!1}),p=e=>S(`green`,String(e),{validateStream:!1})),m=!!l.json;let C=await u(l),w=Object.keys(C.results).length>0,T=C.errors??[];if(l.json?console.info(JSON.stringify({...C.message&&{message:C.message},...w&&{results:C.results},...T.length&&{errors:T}})):C.message?console.info(C.message):w&&console.info(x(C,g,d,h,b)),l.update&&!l.json)for(let e of Object.keys(C.results))console.info(p(`✨ ${e} updated`));if(!l.json)for(let{mode:e,name:t,error:n}of T)console.info(f(`${e} ${t}: ${n}`));await y(void 0,T.length?1:l.errorOnOutdated?w?2:0:l.errorOnUnchanged?w?0:2:0)}function x(e,t,n,r,i){let a=Object.keys(e.results),o=a.length>1,s=[o?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],c=new Set;for(let r of a){let i=Object.values(e.results[r]).flatMap(e=>Object.entries(e));for(let[e,a]of i.sort(([e],[t])=>e<t?-1:+(e>t))){let i=`${r}|${e}|${a.old}|${a.new}`;c.has(i)||(c.add(i),s.push([r===`go`?t(e):e,...o?[r]:[],n(a.old,a.new,f),n(a.new,a.old,p),a.age||``,a.info||``]))}}return r(s,e=>i(e).length)}try{await b()}catch(e){await y(e)}export{};
|
package/dist/prewarm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{env as e}from"node:process";import{readFileSync as t,readdirSync as n,statSync as r}from"node:fs";import{basename as i,join as a,resolve as o}from"node:path";const s=new Set([`.github`,`.gitea`,`.forgejo`]),c={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:`https://api.github.com`,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},l=[`dependencies`,`devDependencies`,`optionalDependencies`,`peerDependencies`,`resolutions`],u=e=>e===`package.json`||e===`pnpm-workspace.yaml`?`npm`:e===`pyproject.toml`?`pypi`:e===`Cargo.toml`?`cargo`:e===`go.mod`||e===`go.work`?`go`:/^Dockerfile(?:\..+)?$/.test(e)||/^(?:docker-|compose).*\.ya?ml$/.test(e)?`docker`:[`Makefile`,`makefile`,`GNUmakefile`].includes(e)||e.endsWith(`.mk`)?`make`:/\.ya?ml$/.test(e)?`actions`:``;function d(d,f){let p=Array.isArray(f.modes)?new Set(f.modes):typeof f.modes==`string`?new Set(f.modes.split(`,`)):null,m=new Set,h=new Set,g=Array.isArray(f.files)&&f.files.length?f.files.filter(e=>typeof e==`string`):[d];for(let e of g){let t=o(e);try{if(r(t).isFile()){h.add(t);continue}for(let e of n(t,{withFileTypes:!0}))if(e.isFile())h.add(a(t,e.name));else if(s.has(e.name))try{for(let r of n(a(t,e.name,`workflows`),{withFileTypes:!0}))r.isFile()&&/\.ya?ml$/.test(r.name)&&h.add(a(t,e.name,`workflows`,r.name))}catch{}}catch{}}for(let e of h){let n=i(e),r=u(n);if(!(!r||p&&!p.has(r)&&!(r===`actions`&&p.has(`docker`))))try{let r=t(e,`utf8`);if(n===`package.json`){let e;try{e=JSON.parse(r)}catch{continue}let t=l.flatMap(t=>Object.values(e[t]??{}));typeof e.packageManager==`string`&&t.push(e.packageManager.split(`@`,1)[0]);for(let e of t)typeof e!=`string`||/^(?:file|link|workspace):/.test(e)||(/^(?:jsr:|npm:@jsr\/)/.test(e)?m.add(`jsrapi`):/^(?:git(?:\+https?|\+ssh)?:|https?:\/\/[^/]*(?:github|gitea|forgejo)|github:|gitea:|forgejo:)/.test(e)?m.add(`forgeapi`):m.add(`registry`))}else if(n===`pnpm-workspace.yaml`)/\b(?:jsr:|npm:@jsr\/)/.test(r)&&m.add(`jsrapi`),/\b(?:catalogs?|overrides):|:\s*["']?[~^<>=]*\d/.test(r)&&m.add(`registry`);else if(n===`pyproject.toml`)/^[ \t]*["'][A-Za-z0-9][\w.-]*(?:\[[^\]]+\])?\s*(?:[<>=!~]|@)/m.test(r)&&m.add(`pypiapi`);else if(n===`Cargo.toml`)/^\s*\[(?:target\.[^\]]+\.)?(?:dev-|build-)?dependencies\]/m.test(r)&&m.add(`cargoapi`);else if(n===`go.mod`||n===`go.work`)/^\s*(?:require\s+)?\S+\s+v\d/m.test(r)&&m.add(`goproxy`);else if(/^Dockerfile(?:\..+)?$/.test(n)||/^(?:docker-|compose).*\.ya?ml$/.test(n))/^\s*(?:FROM\s+(?:--\S+\s+)*|image\s*:\s*)[^\s#]+[:@]/im.test(r)&&m.add(`dockerapi`);else if([`Makefile`,`makefile`,`GNUmakefile`].includes(n)||n.endsWith(`.mk`))/\bgo\s+install\s+\S+@v\d/.test(r)&&m.add(`goproxy`),/\b(?:docker|image)\b[^\n]*[\w./-]+:[\w.-]+/i.test(r)&&m.add(`dockerapi`);else{let e=-1;for(let t of r.split(/\r?\n/)){let n=t.search(/\S|$/);e!==-1&&(!t.trim()||n>e)||(e=/:\s*[|>](?:[1-9][+-]?|[+-][1-9]?)?\s*(?:#.*)?$/.test(t)?n:-1,(!p||p.has(`actions`))&&/^\s*(?:-\s*)?uses\s*:\s*["']?(?!\.\/|docker:\/\/)[^\s#]+@/.test(t)&&m.add(`forgeapi`),(!p||p.has(`docker`))&&/^\s*(?:(?:container|image)\s*:\s*["']?[^\s#]+[:@]|(?:-\s*)?uses\s*:\s*["']?docker:\/\/)/.test(t)&&m.add(`dockerapi`))}}}catch{}}let _=new Set;for(let n of m){let r=f[n];if(n===`registry`&&typeof r!=`string`)try{r=/^\s*registry\s*=\s*(\S+)\s*$/m.exec(t(a(d,`.npmrc`),`utf8`))?.[1]}catch{}else n===`goproxy`&&typeof r!=`string`&&(r=e.GOPROXY);let i=typeof r==`string`&&r?r:c[n];if(!(n===`goproxy`&&(i=i.split(/[|,]/,1)[0].trim(),i===`off`||i===`direct`)))try{_.add(`${new URL(i).origin}/`)}catch{}}return Array.from(_)}export{d as prewarmOrigins};
|
package/dist/shared.js
CHANGED
|
@@ -1,24 +1,26 @@
|
|
|
1
|
-
import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";import{accessSync as a,globSync as o,readFile as s,readFileSync as c,readdirSync as l,realpathSync as u,statSync as d,truncateSync as f,writeFileSync as p}from"node:fs";import{basename as m,dirname as h,isAbsolute as g,join as _,relative as v,resolve as y,sep as b}from"node:path";import{pathToFileURL as x}from"node:url";import{parseArgs as S,styleText as ee}from"node:util";import{access as te,mkdir as C,readFile as w,readdir as ne,realpath as T,rename as re,stat as ie,unlink as E,utimes as ae,writeFile as oe}from"node:fs/promises";import{AsyncLocalStorage as se}from"node:async_hooks";import{Buffer as D}from"node:buffer";import{setTimeout as O}from"node:timers/promises";import{createHash as ce}from"node:crypto";import{homedir as k}from"node:os";const A=/^\[\[([^\]]+)\]\]$/,le=/^\[([^[\]]+)\]$/,j=()=>Object.create(null);function
|
|
1
|
+
import{cwd as e,env as t,pid as n,platform as r,stderr as i}from"node:process";import{accessSync as a,globSync as o,readFile as s,readFileSync as c,readdirSync as l,realpathSync as u,statSync as d,truncateSync as f,writeFileSync as p}from"node:fs";import{basename as m,dirname as h,isAbsolute as g,join as _,relative as v,resolve as y,sep as b}from"node:path";import{pathToFileURL as x}from"node:url";import{parseArgs as S,styleText as ee}from"node:util";import{access as te,mkdir as C,readFile as w,readdir as ne,realpath as T,rename as re,stat as ie,unlink as E,utimes as ae,writeFile as oe}from"node:fs/promises";import{AsyncLocalStorage as se}from"node:async_hooks";import{Buffer as D}from"node:buffer";import{setTimeout as O}from"node:timers/promises";import{createHash as ce}from"node:crypto";import{homedir as k}from"node:os";const A=/^\[\[([^\]]+)\]\]$/,le=/^\[([^[\]]+)\]$/,ue=[`"""`,`'''`],j=()=>Object.create(null);function de(e){let t=j(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=ge(r[e]).trim();if(!i)continue;let a=A.exec(i);if(a){let e=t,r=he(a[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]=j()),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let o=j();e[i].push(o),n=o;continue}let o=le.exec(i);if(o){n=P(t,he(o[1]));continue}let s=N(i,`=`);if(s<0)continue;let c=i.slice(0,s).trim(),l=i.slice(s+1).trim(),u=he(c),d=P(n,u.slice(0,-1)),f=u[u.length-1],p=ue.find(e=>l.startsWith(e)&&!l.includes(e,3))??``,m={depth:0,inStr:null,index:0};if((l.startsWith(`[`)||l.startsWith(`{`))&&!M(l,m)){let t=l,n=e+1;for(;n<r.length&&(t+=`\n${ge(r[n])}`,!M(t,m));n++);e=n,d[f]=fe(t)}else if(p){let t=l.slice(3),n=e+1;for(;n<r.length;n++){let e=r[n].indexOf(p);if(e>=0){t+=(t?`
|
|
2
2
|
`:``)+r[n].slice(0,e);break}t+=(t?`
|
|
3
|
-
`:``)+r[n]}e=n,f
|
|
3
|
+
`:``)+r[n]}e=n,d[f]=fe(p+t+p)}else d[f]=fe(l)}return t}function fe(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of me(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(fe(e))}return t}return e.startsWith(`{`)?pe(e):e.startsWith(`"""`)?_e(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?_e(e.slice(1,e.lastIndexOf(`"`))):e.startsWith(`'`)?e.slice(1,e.lastIndexOf(`'`)):e===`true`?!0:e===`false`?!1:/^[+-]?\d+(\.\d+)?$/.test(e)?Number(e):e}function pe(e){let t=j(),n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of me(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=fe(e.slice(n+1).trim())}return t}function M(e,t){for(;t.index<e.length;t.index++){let n=e[t.index];if(t.inStr){if(n===`\\`&&t.inStr===`"`){t.index++;continue}n===t.inStr&&(t.inStr=null)}else if(n===`"`||n===`'`)t.inStr=n;else if(n===`{`||n===`[`)t.depth++;else if((n===`}`||n===`]`)&&(t.depth--,!t.depth))return!0}return!1}function me(e){let t=[],n=0,r=null,i=0;for(let a=0;a<e.length;a++){let o=e[a];if(r){if(o===`\\`&&r===`"`){a++;continue}o===r&&(r=null)}else o===`"`||o===`'`?r=o:o===`{`||o===`[`?n++:o===`}`||o===`]`?n--:o===`,`&&n===0&&(t.push(e.slice(i,a)),i=a+1)}return i<e.length&&t.push(e.slice(i)),t}function he(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function ge(e){let t=N(e,`#`);return t<0?e:e.slice(0,t)}function N(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function P(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=j()),e=e[n];return e}function _e(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
|
|
4
4
|
`;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}function ve(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r;){let n=e.charCodeAt(t);if(n>=48&&n<=57)break;t++}r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const ye=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,be=/^(\s*\()([^)]*)(\)\s*)$/,xe=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,Se=new Set([`===`,`==`,`>=`,`~=`]),Ce=/^v?\d[0-9a-z.!+_-]*$/i;function we(e){let t=[];for(let n of e.split(`,`)){let e=xe.exec(n);if(!e)return null;let[,r,i,a,o,s]=e;t.push({lead:r,op:i,sep:a,version:o,trail:s})}return t}function Te(e){let t=e.indexOf(`;`),n=ye.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[,r,i,a,o,s,c]=n,l=be.exec(c);return{name:i,extras:o,specifiers:we(l?l[2]:c),marker:t===-1?``:e.slice(t),head:`${r}${i}${a}${o}${s}`,open:l?.[1]??``,close:l?.[3]??``}}function F({head:e,open:t,close:n,marker:r},i){return`${e}${t}${i.map(({lead:e,op:t,sep:n,version:r,trail:i})=>`${e}${t}${n}${r}${i}`).join(`,`)}${n}${r}`}function Ee(e){return e.find(({op:e,version:t})=>Se.has(e)&&Ce.test(t))}function De(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=Te(n);if(!e?.specifiers)continue;let r=Ee(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Oe=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],ke=[`node`,`deno`,`bun`],Ae=[`.github`,`.gitea`,`.forgejo`],je={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},Me=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],Ne=[`deps`,`indirect`,`replace`,`tool`],Pe=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Fe=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Ie(e,t){let n=[],r=(e,t,i,a,o)=>{if(t===e.length){a!==void 0&&n.push([o?JSON.stringify(i):i.join(`.`),a]);return}if(!a||typeof a!=`object`)return;let s=e[t],c=s===`*`?Array.isArray(a)?[]:Object.keys(a):[s];for(let n of c)r(e,t+1,[...i,n],a[n],o)};for(let n of e)r(n.split(`.`),0,[],t,n.startsWith(`target.*.`));return n}function Le(e,t){if(t===!0)return!0;if(!(t instanceof Set))return!1;for(let n of t)if(n.test(e))return!0;return!1}function I(e){return e.split(`,`).filter(Boolean)}function Re(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().replace(`T`,` `).slice(0,-1)}function ze(e,t){let n=Array(e[0].length).fill(0),r=Array(e.length);for(let i=0;i<e.length;i++){let a=e[i],o=Array(a.length);for(let e=0;e<a.length;e++){let r=t(a[e]);o[e]=r,r>n[e]&&(n[e]=r)}r[i]=o}let i=``;for(let t=0;t<e.length;t++){let a=e[t],o=a.length-1;for(let e=0;e<=o;e++)if(e>0&&(i+=` `),i+=a[e],e!==o){let a=n[e]-r[t][e];a>0&&(i+=` `.repeat(a))}t<e.length-1&&(i+=`
|
|
5
|
-
`)}return i}const Be={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ve(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Be[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function He(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function L(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function R(e){try{return await e}catch{return null}}const z=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ue(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}const We=new WeakMap;var B=class extends RegExp{constructor(e,t,n){super(e,n),We.set(this,t)}test(e){return We.get(this)(e)}};function Ge(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function Ke(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function qe(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Ge(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function V(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(z(e[++i]));else if(a===`*`&&e[i+1]!==`(`){if(e[i+1]===`*`){for(;e[i+1]===`*`;)i++;e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else t+=`.*`,n.push({kind:`span`,slash:!0})}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=Ke(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=qe(e.slice(i+1,a)).map(V);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=Ke(e,i+1,`(`,`)`);if(o===-1)r(z(a));else{let r=Ge(e.slice(i+2,o)).map(V),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(z(a))}return{source:t,tokens:n}}function Je(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);let t=new Set(n.alternatives.flatMap(e=>[...i(e,a)]));for(let n of t)e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function Ye(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new B(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=V(e.slice(n)),o=RegExp(`^${i}$`,`i`),s=e=>Je(a,e);return r?new B(e,e=>!s(e)):new B(o.source,s,o.flags)}async function Xe(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Ze(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Qe(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function H(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function $e(e){let t=new Map;return n=>H(t,n,()=>e(n))}const et=`0|[1-9]\\d*`,tt=/^(?:0|[1-9]\d*)$/,nt=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,rt=RegExp(`^v?(${et})\\.(${et})\\.(${et})(?:-((?:${nt})(?:\\.(?:${nt}))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$`),it=new Map;function U(e){return typeof e==`string`?H(it,e,()=>{let t=rt.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,build:t[5]?.split(`.`)??[],raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function at(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function ot(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function st(e,t){let n=ot(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=at(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function ct(e){return U(e)?.version??null}function W(e){return U(e)}const lt=new Map,ut=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function dt(e){return typeof e==`string`?H(lt,e,()=>{let t=ut.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function ft(e,t){let n=U(e),r=U(t);return!n||!r?null:pt(n,r)}function pt(e,t){if(e.version===t.version)return null;let n=st(e,t),r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(ot(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function mt(e,t){let n=U(e),r=U(t);return n&&r?st(n,r):null}function ht(e,t){return(mt(e,t)??-1)>0}function gt(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!tt.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!U(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function G(e,t,n,r,i=``){let a=U(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function K(...e){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function _t(e,t){let n=st(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function q(e,t,n){return G(`<`,e,t,n,`-0`)}function vt(e,t){if(e.major===null)return e.minor!==null||e.patch!==null?null:t===`>`||t===`<`?K(q(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=G(`>=`,n,r,i,e.suffix);return e.minor===null?K(a,q(n+1,0,0)):t===`~`?K(a,q(n,r+1,0)):n===0?e.patch!==null&&r===0?K(a,q(0,0,i+1)):K(a,q(0,r+1,0)):K(a,q(n+1,0,0))}return e.minor!==null&&e.patch!==null?K(G(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?K(G(`>=`,n,0,0),q(n+1,0,0)):K(G(`>=`,n,r,0),q(n,r+1,0)):t===`>`?e.minor===null?K(G(`>=`,n+1,0,0)):K(G(`>=`,n,r+1,0)):t===`<=`?e.minor===null?K(q(n+1,0,0)):K(q(n,r+1,0)):t===`<`?e.minor===null?K(q(n,0,0)):K(q(n,r,0)):K(G(`>=`,n,r,0))}function yt(e,t){let n=gt(e),r=gt(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=G(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?q(r.major+1,0,0):r.patch===null?q(r.major,r.minor+1,0):G(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function bt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return yt(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&>(t[2]),i=n?vt(n,t?.[1]??``):null;if(!i)return null;r.push(...i)}return r}const xt=new Map;function St(e){return H(xt,e,()=>{let t=e.split(`||`).map(e=>bt(e.trim()));return t.some(e=>e===null)?null:t})}function Ct(e,t){return t.some(t=>!_t(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function J(e,t){let n=U(e);return n?!!St(t)?.some(e=>Ct(n,e)):!1}function Y(e){return typeof e==`string`&&St(e)?e:null}const wt=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,Tt=RegExp(`^${wt}$`,`i`),Et=RegExp(wt,`i`),Dt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},Ot=new Map;function X(e){return typeof e==`string`?H(Ot,e,()=>{let t=Tt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[Dt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function kt(e){return X(e)??X(Et.exec(e)?.[0]??``)}const At=e=>!!(e.pre||e.dev);function jt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Mt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?jt(e.local,t.local):a<o?-1:1}function Nt(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function Pt(e,t){let n=Mt(e,t);if(n===0)return null;let r=Nt(e,t);return At(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Ft=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,It={parse:W,parseRange:e=>W(Ft.exec(e)?.[0]??``)??W(dt(e)?.version??``),compare:st,diff:pt,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:(e,t)=>J(e.version,t)},Lt=new Map;function Rt(e){return H(Lt,e,()=>{let t=e.trim().replace(/^v/i,``);return(W(t)??W(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?W(dt(t)?.version??``):null)})}const zt={...It,parse:Rt,parseRange:Rt,isRangePrerelease:e=>!!Rt(e)?.prerelease.length},Bt={parse:X,parseRange:kt,compare:Mt,diff:Pt,isPrerelease:At,isRangePrerelease:e=>{let t=kt(e);return!!(t&&At(t))},satisfiesRange:({release:e},t)=>J(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Vt=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],Ht={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function Ut(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Wt(e,{now:t,noAffix:n=!1,times:r=Vt,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Ht,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Ut(t))-Ut(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n>1?`s`:``}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function Gt(e){return new Promise((t,n)=>{s(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Kt=_(r===`win32`?t.LOCALAPPDATA||_(k(),`AppData`,`Local`):t.XDG_CACHE_HOME||_(k(),`.cache`),`updates`),qt=new Map;function Jt(e){return ce(`sha256`).update(e).digest(`hex`)}const Yt=6048e5;async function Xt(e,t=Kt){try{let n=_(t,`${Jt(e)}.cache`);if(Date.now()-(await ie(n)).mtimeMs>Yt)return await E(n),null;let r=await Gt(n),i=r.indexOf(`
|
|
6
|
-
`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await R(ae(n,s,s)),{etag:a,body:o}}catch{return null}}const Zt=new Set;let Qt=0;function $t(e,t,r,i=Kt){let a=(async()=>{try{let e=qt.get(i);e||(e=C(i,{recursive:!0}),qt.set(i,e)),await e}catch{qt.delete(i);return}let a;try{let o=_(i,`${Jt(e)}.cache`);a=`${o}.${n}-${Qt++}.tmp`,await oe(a,`${t}\n${r}`),await re(a,o)}catch{a&&await R(E(a))}})();Zt.add(a),(async()=>{await a,Zt.delete(a)})()}async function en(e=Kt){for(;Zt.size;)await Promise.all(Zt);try{let t=(await ne(e)).filter(e=>e.endsWith(`.cache`)),n=(await Promise.all(t.map(async t=>{let n=_(e,t);try{return{path:n,mtime:(await ie(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),r=n.filter(e=>Date.now()-e.mtime<=Yt);await Promise.all([...n.filter(e=>Date.now()-e.mtime>Yt),...r.slice(4096)].map(e=>R(E(e.path))))}catch{}}var tn=`18.0.5`;function nn(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const rn=tn,an=`https://api.github.com`,on={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:an,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,sn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function cn(e,t){return{headers:{"user-agent":`updates/${rn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const ln=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function un(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&ln.has(t)}async function dn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=un(t),n}}async function fn(e,t,n={}){let r=xn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a&&a.status>=500&&a.status<600?c!==null&&c<=l?c:0:a&&(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await O(u)}catch(e){if(i>=2||!e?.transient)throw e}}const pn=e=>t=>JSON.stringify(e(JSON.parse(t))),mn=new WeakMap;function hn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=H(mn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await Xt(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await fn(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&$t(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function gn(e,t,n={},r,i=e){return hn(e,t,n,r,i,!1)}function _n(e,t,n={},r){return hn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=H(e,t,()=>new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const vn=new se,yn=e=>Math.max(e.concurrency||50,1),bn=new WeakMap;function xn(e){let t=bn.get(e);if(!t){let n=yn(e),r=0,i=0,a=[];t=async e=>{if(vn.getStore())return e();r<n?r++:await new Promise(e=>{a.push(e)});try{return await vn.run(!0,e)}finally{i<a.length?(a[i++](),i===a.length&&(a=[],i=0)):r--}},bn.set(e,t)}return t}function Sn(e,t=It){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Cn=new WeakMap,wn=new WeakMap;function Tn(e,t,n,r,i=It){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?Cn:wn;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function En(e){return dt(e)?.version??``}function Dn(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=It}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Tn(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),ee=e?.time,te=!!(d&&f),C=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||C&&m.compare(t,C)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||te&&!nn(p?p(e):ee?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;!i||!g.has(i)||(C=t)}return C?.raw??C?.version??null}function On(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function kn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Bt:It,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),g=e=>t[e].reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=typeof n==`string`?Date.parse(n):NaN;return!Number.isNaN(r)&&r<e.time?{date:n,time:r}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[En(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=En(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Tn(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=En(e),o=f.parse(e),c=On(e);if(!a||!c&&r(o))return!1;let d=ft(m,e)??ft(t,a),p=c?d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!nn(i,l,u)?!1:!s||J(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Dn(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function An(e){try{return new URL(e).host}catch{return``}}function jn(e){let n=I(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let Mn;function Nn(){return Mn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Mn}const Pn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];let Fn;function In(){let e=Array.from(new Set(Pn.map(e=>t[e]).filter(e=>!!e)));return e.length?Promise.resolve(e):Fn??=(async()=>{try{let{stdout:e}=await(await Nn())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const Ln=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Rn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=Ln.exec(n);if(!e)continue;let r=An(e[1]),i=D.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let zn;function Bn(){return zn??=(async()=>{try{let{stdout:e}=await(await Nn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Rn(e)}catch{return new Map}})()}const Vn=new Map;async function Hn(e,t){if(!e)return[];let n=jn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===An(t),[a,o]=await Promise.all([i?In():[],Bn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Un=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Wn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Gn(e,t,n,r){if(e.status>=500)throw new Un(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Wn(e);if(i===null)return e;throw new Un(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=await Hn(r,t.forgeApiUrl),a=async a=>{let o=cn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await fn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Vn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Vn.set(r,t),n;t===e&&Vn.delete(r)}return await a()}catch(e){throw e instanceof Un?e:new Un(`network`,r,e?.message??String(e),{cause:e})}}function qn(e,t){let n=Z(t);if(!ct(n))return null;let r=``,i=``;for(let t of e){let e=Z(t);ct(e)&&(!r||ht(e,i))&&(r=t,i=e)}return r&&ht(i,n)?r:null}function Jn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),Xn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Zn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function Qn(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function $n(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const er=(e,t)=>{if(!t)return $n(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return{...e}})},tr=new WeakMap;function nr(e,t,n,r){let i=`${n}${e}`;return Q(tr,t,i,async()=>{let n=t.noCache?null:await Xt(e),a=await Kn(e,t,n?{"if-none-match":n.etag}:void 0);if(a?.status===304&&n)return n.body;if(!a?.ok)return tr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&$t(e,s,o),o})}function rr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function ir(e,t,n,r){let i=await nr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function ar(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function or(e,t,n,r,i){let a=await ir(e(1),t,n,r);if(!a)return;let o=ar(a.link),s=yn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>ir(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function sr(e,t,n){let r=new Map;return await or(n=>`${an}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,rr,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function cr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await or(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,er,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function lr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return cr(e,t,n,r,i);let[o,s]=await Promise.allSettled([cr(e,t,n,r,i),sr(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof Un))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function ur(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const dr=2e7;function fr(e,t){let n=Z(e).split(`.`),r=Z(t).split(`.`);return n.length<r.length?!1:Number(n[0])<dr||Number(r[0])>=dr}function pr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=r.split(`.`),o=i>=3?r:Array.from({length:i},(e,t)=>a[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${o}${n}`}function mr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const hr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function gr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of hr)if(t?.[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=Jn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${mr(a)}/${e.directory}`)),a||t||``)}const _r={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function vr(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=_r[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const yr={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},br=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function xr(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(yr,n)?yr[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||br.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`)?a:t,i=n===a?e.slice(1):e;n.push(Sr(i)??i),n===t&&!/[*?[\]{}!()|+]/.test(i)&&!Sr(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Sr(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Cr=new Map,wr=e=>H(Cr,e,()=>Ye(e)),Tr=(e,t,n)=>(!t?.length||t.some(t=>wr(t).test(e)))&&(!n?.length||n.every(t=>!wr(t).test(e)));function Er(e,t,n){return Tr(t,e.matchPackageNames,e.excludePackageNames)&&Tr(n,e.matchDepNames,e.excludeDepNames)}const Dr=new WeakMap;var Or=class extends RegExp{constructor(e,t){super(e),Dr.set(this,t)}testNames(e,t){return Dr.get(this)(e,t)}test(e){return this.testNames(e,e)}};function kr(e,t,n,r){return e instanceof Or?e.testNames(n,r):e.test(t)}function Ar(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=xr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=vr(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=Y(r.allowedVersions);if(!e&&!Sr(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Er(t,e,e))?.allowedVersions;t&&Y(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Or(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Er(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function jr(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=vr(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Or(`^${z(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=Ar(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}function Mr(e){return!!(e&&typeof e==`object`&&(Object.hasOwn(e,`extends`)||Object.values(e).some(Mr)))}async function Nr(e,t={}){let n=await Xe(e,async e=>{let t=_(e,`renovate.json`),n;try{n=await w(t,`utf8`)}catch{return null}let r;try{r=JSON.parse(n)}catch(e){throw Error(`Unable to parse renovate config ${t}: ${e.message}`)}return r&&typeof r==`object`?{parsed:r,path:t}:null});if(!n)return{};if(Mr(n.parsed))throw Error(`Renovate extends is unsupported in ${n.path}`);return jr(n.parsed,t)}const Pr=Symbol(`cliBaseConfig`),Fr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}};function Ir(e){return Array.isArray(e)&&e.every(e=>e===!0)?!0:Array.isArray(e)?new Set(e.filter(e=>typeof e==`string`).flatMap(I)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function Lr(e){for(let[t,{short:n}]of Object.entries(Fr))if(t===e||n===e)return t;return``}function Rr(e){return new Set(e.map(Ye))}function zr(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(I):[]}function Br(e){for(let[t,n]of Object.entries(e??{}))if(!Y(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function Vr(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return Br(t),t}function Hr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Rr(e)}const Ur=$e(e=>Xe(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=_(e,n);try{await te(r)}catch(e){if(e?.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e?.message??e}`)}try{return(await import(x(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null}));async function Wr(e){let t=await Ur(e)??{},n=await Nr(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),Br(r.pin),r}function Gr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Kr(e){try{return Gr(c(e,`utf-8`))}catch{return}}function qr(e,t){return Ze(t,t=>{let n=_(t,e);try{if(d(n).isFile())return n}catch{}return null})??void 0}function Jr(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function Yr(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[{...i}],l=[];function u(e){if(!e||l.includes(e))return;let t=Kr(e);t&&(c.push(t),l.push(e))}o||(u(_(`/etc`,n,`config`)),u(_(`/etc`,`${n}rc`))),s&&(u(_(s,`.config`,n,`config`)),u(_(s,`.config`,n)),u(_(s,`.${n}`,`config`)),u(_(s,`.${n}rc`))),u(qr(`.${n}rc`,a));let d=Jr(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function Xr(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const Zr=new WeakMap;function Qr(e,t){let n=H(Zr,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);Qe(t,a===-1?`.`:e.slice(a+1),[[Xr(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const $r=/[*?{[]/;function ei(e,t){return o(e,{cwd:t,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>y(e.parentPath,e.name))}async function ti(e,t,n,r=32){let i=await T(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>ei(e.slice(1),t)).map(e=>v(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=$r.test(n)?ei(n,t):[y(_(t,n))];for(let n of e){let e=v(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await L(s,async({dir:e,memberPath:t})=>{try{let r=await T(_(e,n)),a=v(i,r);return a===`..`||a.startsWith(`..${b}`)||g(a)?null:{absPath:r,content:await w(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const ni=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,ri=/\s#/;function ii(e){let t=ni.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(ri),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function ai(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function oi(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(/\s#/);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function si(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of ai(e)??[]){if(r.colon===-1)return null;let e=oi(r.text.slice(0,r.colon)),i=oi(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function ci(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=ii(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of si(e.value,e.valueIndex)??[])n[t.key]=t.value}else r&&e.value&&(n[e.key]=e.value)}}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([,e])=>!e.includes("${")))}}function li(e,t){let n=Ze(y(t),t=>{try{return{content:c(_(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const ui=new Map;function di(e,t){let n=ui.get(t);n||(n=ci(li(`pnpm-workspace.yaml`,t)??``),ui.set(t,n));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*fi(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
|
|
7
|
-
|
|
8
|
-
`),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(fi(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
|
|
9
|
-
`):e}function mi(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=ii(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of ai(e.value)??[]){let e=oi(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=oi(e.slice(1));n&&t.push(n.value)}}return t}const hi=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,gi=new Set([`resolutions`,`overrides`]);function _i(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const vi=on.registry,yi=new Map,bi=new Map,xi=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Si(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:xi(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(xi(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:xi(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===vi&&t._auth)return{token:xi(t._auth),type:`Basic`}}function Ci(e,t,n,r){let i=H(yi,r??``,()=>Yr(`npm`,{registry:vi},r)),a=sn(typeof n.registry==`string`&&n.registry||t.registry||i.registry||vi),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?di(e,r):null,c=o&&r?di(``,r):null;return H(bi,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?sn(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=sn(t);n!==e&&(e=n)}catch{}return{auth:Si(e,i),registry:e}})}const wi=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},Ti=new WeakMap,Ei=new WeakMap,Di=new WeakMap,Oi=new WeakMap,ki=(e,t)=>`${e}\0v2${t?`-dates`:``}`;function Ai(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function ji(e,t,n,r,i,a,o=``){let s=gi.has(t)?_i(e):t===`packageManager`&&e===`yarn`&&(W(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Ci(s,n,r,a),u=wi(l,s),d=ki(u,!!r.needsDates);return[await Q(Ti,i,d,async()=>{let t=cn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await gn(u,i,t,pn(Ai),d);return`body`in n||ur(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Mi(e,t,n,r,i,a){let{auth:o,registry:s}=Ci(e,n,r,a),c=wi(s,e,t);return Q(Ei,i,c,async()=>{try{let n=cn(o?.type,o?.token),a=await _n(c,i,n,pn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=wi(s,e);return!u&&r.needsDates&&(u=(await Ti.get(i)?.get(ki(f,!0)))?.time?.[t]||``),u||=(await R(Q(Di,i,f,async()=>{let e=await fn(i,f,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Ni(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Pi(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Fi(e){return e.startsWith(`catalog:`)}const Ii=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Li(e){let t=Ii.exec(e);return t&&Y(t[2])?{name:t[1],range:t[2]}:null}const Ri=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,zi=/^@([^/]+)\/(.+)$/;function Bi(e,t){let n=Ri.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=zi.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Vi(e,t){if(!zi.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(Oi,t,n,async()=>{let r=await gn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||ur(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function Hi(e,t){try{JSON.parse(e)}catch{return e}let n=new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(JSON.stringify(a?JSON.parse(a):[t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const Ui=String.raw`[<>]=?|~>|[\^~=]`,Wi=new RegExp(String.raw`^(${Ui})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),Gi=RegExp(`^(?:${Ui})$`),Ki=/^[xX*]$/,qi=/\+[0-9A-Za-z.-]+/g,Ji=/\|\||[\dxX*]\s+\S/;function Yi(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&Gi.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Xi(e,t){let n=Wi.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=W(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;let l=t.split(`-`)[0].split(`.`);return l.join(`.`)===t?`${r}${i}${a}${c.map((e,t)=>Ki.test(e)?e:l[t]??`0`).join(`.`)}`:`${r}${i}${a}${t}`}function Zi(e,t){if(J(t,e))return e;let n=Yi(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Xi(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Xi(r,t),n.join(` `)}function Qi(e,t,n,r){let i=(n||e).replace(qi,``),a=r===`peerDependencies`||Ji.test(i)?Zi(i,t):Xi(i,t);return J(t,a)?a:i}function $i(e){if(/[xX*]/.test(e))return e;let t=e.match(hi);return t?.length===1?e.replace(hi,En(t[0])):e}async function ea(e,t,n){let r=await nr(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function ta(e,t,n,r){return(await cr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function na(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&Y(r.slice(7))?r.slice(7):null;return!a&&!Xn.test(r)&&!ct(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function ra(e,t,n){let r=na(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Xn.test(o)){let{hash:t,commit:r}=await ea(i,a,n);if(!t)return null;let s=Qn(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=qn(await ta(i,a,o,n),s?En(s):o);if(t){let n=s?Qi(s,t.replace(/^v/,``),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const ia=/[-_.]+/g,aa=new WeakMap;function oa(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function sa(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(ia,`-`)}/json`;return[{...await Q(aa,t,n,async()=>{let r=await gn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:oa(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:oa(e.releases)}}ur(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function ca(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=X(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=X(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Mt(e.local?{...e,local:null}:e,r),a=r.local?Mt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<=`?i<=0:t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function la(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function ua(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function da(e,t){let n=X(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(X(r))return ca(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=Te(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>ca(n,e))}function fa(e,t,n){let r=Te(e),i=r?.specifiers,a=X(t),o=X(n);if(!r||!i||!a||!o)return null;let s=Ee(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?la(o):la(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:la(o);else if(!ca(o,e)){let t=X(e.version);e.op===`<`&&t?e.version=ua(t,a,o):e.op===`<=`&&(e.version=la(o))}if(!ca(o,e))return null}return F(r,i)}function pa(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function ma(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function ha(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
|
|
10
|
-
|
|
11
|
-
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=Qa((n.Versions??[]).join(`
|
|
12
|
-
|
|
13
|
-
`)
|
|
14
|
-
`)
|
|
15
|
-
`)}const wo=RegExp(`(?:^|/)(?:${Ue(Ae)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function To(e){return wo.test(e.replace(/\\/g,`/`))}function Eo(e){let t=new Set;try{for(let n of l(_(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(y(_(e,`workflows`,n)))}catch{}try{for(let n of l(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(y(_(n.parentPath,n.name)))}catch{}return Array.from(t)}const Do=/^(v?\d+(?:\.\d+)*)([a-z][a-z0-9]*)?(-.+)?$/i,Oo=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,ko=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Ao=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,jo=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,Mo=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function No(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*Po(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=Mo(i[0]),a=Ao.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:No(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=jo.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:No(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const Fo=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Io(e){let t=e.split(`/`);return t.length>1&&Fo.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function Lo(e){let{registry:t,namespace:n,repo:r}=Io(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Ro(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&(!s||!Do.test(s)))return null;let{registry:c,namespace:l,repo:u}=Io(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function zo(e){let t=Do.exec(e);return t?{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}:null}function Bo(e,t,n=``){let r=zo(t);return r?pr(e,r.version,`${n}${r.suffix}`):t}function Vo(e,t){let n=[];if(t===Oo){for(let{from:t,resolved:r}of Po(e,!0)){let e=Ro(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===ko?Ho(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=Ro(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function Ho(e){let t=new Set,n=new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const Uo=new WeakMap,Wo=new Set([401,403,404]);function Go(e,t,n){return Q(Uo,n,`${e}/${t}`,async()=>{let r={dates:{},digests:new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await gn(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(Wo.has(i.res?.status)||ur(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await L(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:yn(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f;for(;d<=20&&u.next;d++){let e=new URL(u.next,i);f??=new URL(i).origin;let t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function Ko(e,t,n){return(await Go(e,t,n)).dates}async function qo(e,t,n,r){let i=(await Go(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await gn(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},pn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return Wo.has(o.res?.status)||ur(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const Jo=/^\d?[02468]\.04$/;function Yo(e,t){if(!Jo.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const Xo={ubuntu:Yo};function Zo(e,t,n=Date.now()){let r=Xo[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=zo(e)?.version;return!t||r(t,n)})):t}async function Qo(e,t){let{registry:n,namespace:r,repo:i}=Io(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Zo(i,await Ko(r,i,t)),name:e},null]}const $o=(e,t)=>t?`${e}-${t}`:e;function es(e){let t=Z(e).split(`.`).slice(0,3);return!t.length||t.some(e=>!/^\d+$/.test(e))?null:[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function ts(e,t){let n=Z(e.version).split(`.`).map(Number),r=Z(t.version).split(`.`).map(Number);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function ns(e,t){let n=Z(e.version).split(`.`).map(Number),r=Z(t.version).split(`.`).map(Number),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function rs(e,t,n,r,i,a,o=!1,s=!1){let c=zo(t);if(!c)return null;let l=es(c.version);if(!l)return null;let u=Z(c.version).split(`.`).length,d=$o(l,c.prerelease),{effectiveSemvers:f,skipsPrerelease:p}=Tn(d,o,s,n),m=u>3,h=W(d),g=c,_=``,v=``;for(let[t,l]of Object.entries(e)){let e=zo(t);if(!e||e.suffix!==c.suffix||Z(e.version).split(`.`).length!==u||!fr(e.version,c.version)||!nn(l,r,i))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||ts(e,g)<=0)continue;let r=ns(c,e);if(!r||!n.has(r))continue;g=e,_=t,v=l;continue}let d=es(e.version);if(!d)continue;let y=W($o(d,e.prerelease));if(!y||e.prerelease&&p(y)||a&&!J(d,a))continue;if(y.version===h.version){_&&Date.parse(l)>Date.parse(v)&&(_=t,v=l);continue}let b=It.diff(h,y);!b||!f.has(b)||It.compare(y,h)>0&&(h=y,_=t,v=l)}if(m)return _?{newTag:_,date:v}:null;if(!_||h.version===d)return null;let[y,b=``]=h.version.split(`-`),x=Bo(y,t,b),S=x in e?x:_;return S===t?null:{newTag:S,date:v}}const is=`(?![\\w.@+-])`;function as(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function os(e,t,n,r=()=>!0){if(!t.size)return e;let i=Ue(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})${is}`,`g`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function ss(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=as(t),i=Ue(r.keys()),a=r.size?e.replace(RegExp(`(FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${is}`,`gi`),(e,t,n)=>`${t}${r.get(n)??n}`):e,o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of Po(a)){let a=r.get(i);if(!a)continue;let s=i.slice(i.lastIndexOf(`@`)+1),c=a.slice(a.lastIndexOf(`@`)+1),l=i.includes(`@`)&&a.includes(`@`)&&s!==c;if(l){let t=e[0].lastIndexOf(s);t!==-1&&o.set(e.index+t,{end:e.index+t+s.length,value:c})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=No(n[1].slice(0,e.index),e=>t.get(e)?.value),u=No(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);l&&(u=u.replace(s,c)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(u))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,u?-u.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function cs(e,t){let n=Ho(e);return os(e,as(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function ls(e,t){return os(e,as(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const us=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function ds(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function fs(e){return/^Dockerfile(\..+)?$/.test(e)}function ps(e){return fs(e)||ds(e)}function ms(e){return fs(e)?Oo:ko}function hs(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const gs=[`Makefile`,`makefile`,`GNUmakefile`];function _s(e){return gs.includes(e)||e.endsWith(`.mk`)}const vs=/^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,ys=/^([^@\s]+)@(v\d\S*)$/,bs=/^[^/\s]+\.[^/\s]+\//;function*xs(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=vs.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function Ss(e){let t=[];for(let n of xs(e)){let e=ys.exec(n);if(!e||!bs.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const Cs=/@(sha256:[0-9a-f]{64})$/;function ws(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function Ts(e){let t=Cs.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=Ro(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function Es(e){return Array.from(xs(e)).flatMap(e=>Ts(e)??[])}const Ds=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Os=new WeakMap;function ks(e,n,r){return Q(Os,r,`${y(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
16
|
-
`)
|
|
5
|
+
`)}return i}const Be={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ve(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Be[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function He(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function L(e,t,{concurrency:n=1/0}={}){let r=Array.from(e);if(!Number.isFinite(n))return Promise.all(r.map(t));let i=Array(r.length),a=0;return await Promise.all(Array.from({length:Math.min(Math.max(n,1),r.length)},async()=>{for(;a<r.length;){let e=a++;i[e]=await t(r[e])}})),i}async function R(e){try{return await e}catch{return null}}const z=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Ue(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}const We=new WeakMap;var Ge=class extends RegExp{constructor(e,t,n){super(e,n),We.set(this,t)}test(e){return We.get(this)(e)}};function Ke(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++)e[i]===`(`||e[i]===`{`?n++:e[i]===`)`||e[i]===`}`?n--:(e[i]===`|`||e[i]===`,`)&&n===0&&(t.push(e.slice(r,i)),r=i+1);return t.push(e.slice(r)),t}function qe(e,t,n,r){let i=0;for(let a=t;a<e.length;a++)if(e[a]===n)i++;else if(e[a]===r&&--i===0)return a;return-1}function Je(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Ke(e);let n=/^-?\d+$/.test(t[1])&&/^-?\d+$/.test(t[2]),r=n?Number(t[1]):t[1].codePointAt(0),i=n?Number(t[2]):t[2].codePointAt(0),a=Math.abs(Number(t[3])||1)*(r<=i?1:-1),o=[];for(;(a>0?r<=i:r>=i)&&o.length<1e3;)o.push(n?String(r):String.fromCodePoint(r)),r+=a;return o}function B(e){let t=``,n=[],r=e=>{t+=e,n.push({kind:`char`,matcher:RegExp(`^(?:${e})$`,`i`)})};for(let i=0;i<e.length;i++){let a=e[i];if(a===`\\`&&i+1<e.length)r(z(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=qe(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=Je(e.slice(i+1,a)).map(B);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=qe(e,i+1,`(`,`)`);if(o===-1)r(z(a));else{let r=Ke(e.slice(i+2,o)).map(B),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(z(a))}return{source:t,tokens:n}}function Ye(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function Xe(e){if(e instanceof RegExp)return/[gy]/.test(e.flags)?new RegExp(e.source,e.flags.replace(/[gy]/g,``)):e;let t=/^(!?)\/(.*)\/(i?)$/.exec(e);if(t)try{let n=new RegExp(t[2],t[3]);return t[1]?new Ge(e,e=>!n.test(e)):n}catch{}let n=0;for(;e[n]===`!`&&e[n+1]!==`(`;)n++;let r=n%2==1,{source:i,tokens:a}=B(e.slice(n)),o=e=>Ye(a,e);return new Ge(`^${i}$`,r?e=>!o(e):o,`i`)}async function Ze(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function Qe(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=h(n);if(r===n)return null;n=r}}function $e(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function V(e,t,n){let r=e.get(t);if(r!==void 0||e.has(t))return r;let i=n();return e.set(t,i),i}function et(e){let t=new Map;return n=>V(t,n,()=>e(n))}const tt=`0|[1-9]\\d*`,nt=/^(?:0|[1-9]\d*)$/,rt=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,it=RegExp(`^v?(${tt})\\.(${tt})\\.(${tt})(?:-((?:${rt})(?:\\.(?:${rt}))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$`),at=new Map;function H(e){return typeof e==`string`?V(at,e,()=>{let t=it.exec(e.trim());if(!t)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);if(!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i))return null;let a=t[4]?t[4].split(`.`).map(e=>/^\d+$/.test(e)&&Number(e)<2**53-1?Number(e):e):[];return{major:n,minor:r,patch:i,prerelease:a,build:t[5]?.split(`.`)??[],raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function ot(e,t){let n=typeof e==`number`||/^\d+$/.test(e),r=typeof t==`number`||/^\d+$/.test(t);if(n&&r){let n=String(e),r=String(t);return n.length-r.length||(n<r?-1:+(n>r))}return n?-1:r?1:e<t?-1:+(e>t)}function st(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function ct(e,t){let n=st(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=ot(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function lt(e){return H(e)?.version??null}function U(e){return H(e)}const ut=new Map,dt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function ft(e){return typeof e==`string`?V(ut,e,()=>{let t=dt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function pt(e,t){let n=H(e),r=H(t);return!n||!r?null:mt(n,r)}function mt(e,t){let n=ct(e,t);if(n===0)return null;let r=n>0?e:t,i=n>0?t:e,a=r.prerelease.length>0;if(i.prerelease.length>0&&!a){if(!i.patch&&!i.minor)return`major`;if(st(i,r)===0)return i.minor&&!i.patch?`minor`:`patch`}let o=a?`pre`:``;return e.major===t.major?e.minor===t.minor?e.patch===t.patch?`prerelease`:`${o}patch`:`${o}minor`:`${o}major`}function ht(e,t){let n=H(e),r=H(t);return n&&r?ct(n,r):null}function gt(e,t){return(ht(e,t)??-1)>0}function _t(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!nt.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!H(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function W(e,t,n,r,i=``){let a=H(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function G(...e){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function vt(e,t){let n=ct(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function K(e,t,n){return W(`<`,e,t,n,`-0`)}function yt(e,t){if(e.major===null)return t===`>`||t===`<`?G(K(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=W(`>=`,n,r,i,e.suffix);return e.minor===null?G(a,K(n+1,0,0)):t===`~`?G(a,K(n,r+1,0)):n===0?e.patch!==null&&r===0?G(a,K(0,0,i+1)):G(a,K(0,r+1,0)):G(a,K(n+1,0,0))}return e.minor!==null&&e.patch!==null?G(W(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?G(W(`>=`,n,0,0),K(n+1,0,0)):G(W(`>=`,n,r,0),K(n,r+1,0)):t===`>`?e.minor===null?G(W(`>=`,n+1,0,0)):G(W(`>=`,n,r+1,0)):t===`<=`?e.minor===null?G(K(n+1,0,0)):G(K(n,r+1,0)):t===`<`?e.minor===null?G(K(n,0,0)):G(K(n,r,0)):G(W(`>=`,n,r,0))}function bt(e,t){let n=_t(e),r=_t(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=W(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?K(r.major+1,0,0):r.patch===null?K(r.major,r.minor+1,0):W(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function xt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return bt(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&_t(t[2]),i=n?yt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const St=new Map;function Ct(e){return V(St,e,()=>{let t=e.split(`||`).map(e=>xt(e.trim()));return t.some(e=>e===null)?null:t})}function wt(e,t){return t.some(t=>!vt(e,t))?!1:!e.prerelease.length||t.some(t=>t.semver.prerelease.length>0&&t.semver.major===e.major&&t.semver.minor===e.minor&&t.semver.patch===e.patch)}function Tt(e,t){return!!Ct(t)?.some(t=>wt(e,t))}function q(e,t){let n=H(e);return!!(n&&Tt(n,t))}function J(e){return typeof e==`string`&&Ct(e)?e:null}const Et=`v?(?:(\\d+)!)?(\\d+(?:\\.\\d+)*)(?:[-_.]?(a|b|c|rc|alpha|beta|pre|preview)[-_.]?(\\d+)?)?(?:-(\\d+)|[-_.]?(post|rev|r)[-_.]?(\\d+)?)?(?:[-_.]?(dev)[-_.]?(\\d+)?)?(?:\\+([a-z0-9]+(?:[-_.][a-z0-9]+)*))?`,Dt=RegExp(`^${Et}$`,`i`),Ot=RegExp(Et,`i`),kt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},At=new Map;function Y(e){return typeof e==`string`?V(At,e,()=>{let t=Dt.exec(e.trim());if(!t)return null;let n=t[3]?.toLowerCase();return{epoch:t[1]?Number(t[1]):0,release:t[2].split(`.`).map(Number),pre:n?[kt[n]??n,Number(t[4]??0)]:null,post:t[5]===void 0?t[6]===void 0?null:Number(t[7]??0):Number(t[5]),dev:t[8]===void 0?null:Number(t[9]??0),local:t[10]?t[10].toLowerCase().split(/[._-]/).map(e=>/^\d+$/.test(e)?Number(e):e):null,version:e.trim()}}):null}function jt(e){return Y(e)??Y(Ot.exec(e)?.[0]??``)}const Mt=e=>!!e.pre||e.dev!==null;function Nt(e,t){if(!e||!t)return e?1:t?-1:0;let n=Math.min(e.length,t.length);for(let r=0;r<n;r++){let n=typeof e[r]==`number`;if(n!==(typeof t[r]==`number`))return n?1:-1;if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.length-t.length}function Pt(e,t){if(e.epoch!==t.epoch)return e.epoch-t.epoch;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++){let n=(e.release[r]??0)-(t.release[r]??0);if(n)return n}let r=e.pre?0:e.post===null&&e.dev!==null?-1:1,i=t.pre?0:t.post===null&&t.dev!==null?-1:1;if(r!==i)return r-i;if(e.pre&&t.pre){if(e.pre[0]!==t.pre[0])return e.pre[0]<t.pre[0]?-1:1;if(e.pre[1]!==t.pre[1])return e.pre[1]-t.pre[1]}if((e.post??-1)!==(t.post??-1))return(e.post??-1)-(t.post??-1);let a=e.dev??1/0,o=t.dev??1/0;return a===o?Nt(e.local,t.local):a<o?-1:1}function Ft(e,t){if(e.epoch!==t.epoch)return`major`;let n=Math.max(e.release.length,t.release.length);for(let r=0;r<n;r++)if((e.release[r]??0)!==(t.release[r]??0))return r===0?`major`:r===1?`minor`:`patch`;return null}function It(e,t){let n=Pt(e,t);if(n===0)return null;let r=Ft(e,t);return Mt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Lt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,Rt={parse:U,parseRange:e=>U(Lt.exec(e)?.[0]??``)??U(ft(e)?.version??``),compare:ct,diff:mt,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:Tt},zt=new Map;function Bt(e){return V(zt,e,()=>{let t=e.trim().replace(/^v/i,``);return(U(t)??U(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?U(ft(t)?.version??``):null)})}const Vt={...Rt,parse:Bt,parseRange:Bt,isRangePrerelease:e=>!!Bt(e)?.prerelease.length},Ht={parse:Y,parseRange:jt,compare:Pt,diff:It,isPrerelease:Mt,isRangePrerelease:e=>{let t=jt(e);return!!(t&&Mt(t))},satisfiesRange:({release:e},t)=>q(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Ut=[[1e3,6e4,`sec`,`s`,`second`],[6e4,36e5,`min`,`m`,`minute`],[36e5,864e5,`hour`,`h`],[864e5,6048e5,`day`,`d`],[6048e5,2628e6,`week`,`w`],[2628e6,31536e6,`month`,`mo`],[31536e6,1/0,`year`,`y`]],Wt={"1 day ago":`yesterday`,"1 week ago":`last week`,"1 month ago":`last month`,"1 year ago":`last year`,"in 1 day":`tomorrow`,"in 1 week":`next week`,"in 1 month":`next month`,"in 1 year":`next year`};function Gt(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Kt(e,{now:t,noAffix:n=!1,times:r=Ut,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=Wt,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Gt(t))-Gt(e);if(Number.isNaN(d))return o||String(e);let f=d<0;if(f&&(d=-d),d<i)return a;let p=``;for(let e=0,t=r.length;e<t;e++){let t=r[e];if(d>=t[1])continue;let n=Math.trunc(d/t[0]);p=u?`${n}${t[3]||t[2]}`:`${n} ${l&&t[4]||t[2]}${n>1?`s`:``}`;break}let m=n?p:f?`in ${p}`:`${p} ago`;return s?c[m]??m:m}function qt(e){return new Promise((t,n)=>{s(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Jt=_(r===`win32`?t.LOCALAPPDATA||_(k(),`AppData`,`Local`):t.XDG_CACHE_HOME||_(k(),`.cache`),`updates`),Yt=new Map;function Xt(e){return ce(`sha256`).update(e).digest(`hex`)}const Zt=6048e5;async function Qt(e,t=Jt){try{let n=_(t,`${Xt(e)}.cache`);if(Date.now()-(await ie(n)).mtimeMs>Zt)return await E(n),null;let r=await qt(n),i=r.indexOf(`
|
|
6
|
+
`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await R(ae(n,s,s)),{etag:a,body:o}}catch{return null}}const $t=new Set;let en=0;function tn(e,t,r,i=Jt){let a=(async()=>{try{await V(Yt,i,()=>C(i,{recursive:!0}))}catch{Yt.delete(i);return}let a;try{let o=_(i,`${Xt(e)}.cache`);a=`${o}.${n}-${en++}.tmp`,await oe(a,`${t}\n${r}`),await re(a,o)}catch{a&&await R(E(a))}})();$t.add(a),(async()=>{await a,$t.delete(a)})()}async function nn(e=Jt,t=4096){for(;$t.size;)await Promise.all($t);try{let n=(await ne(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=_(e,t);try{return{path:n,mtime:(await ie(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-Zt,a=r.filter(e=>e.mtime>=i);await Promise.all([...r.slice(a.length),...a.slice(t)].map(e=>R(E(e.path))))}catch{}}var rn=`18.0.6`;function an(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const on=rn,sn=`https://api.github.com`,X={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:sn,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},Z=e=>e[0]===`v`?e.substring(1):e,cn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function ln(e,t){return{headers:{"user-agent":`updates/${on}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const un=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function dn(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&un.has(t)}async function fn(e,t){try{return await fetch(e,t)}catch(t){let n=Error(`Failed to fetch ${e}${t?.message?`: ${t.message}`:``}`,{cause:t});throw n.transient=dn(t),n}}async function pn(e,t,n={}){let r=Sn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a&&a.status>=500&&a.status<600?c!==null&&c<=l?c:0:a&&(a.status===429||a.status===403&&c!==null)&&(c===null||c<=l)?c??0:null;if(u===null||i>=2)return a;a.body&&await a.body.cancel(),u&&await O(u)}catch(e){if(i>=2||!e?.transient)throw e}}const mn=e=>t=>JSON.stringify(e(JSON.parse(t))),hn=new WeakMap;function gn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=V(hn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await Qt(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await pn(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&tn(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function _n(e,t,n={},r,i=e){return gn(e,t,n,r,i,!1)}function vn(e,t,n={},r){return gn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=V(e,t,()=>new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const yn=new se,bn=e=>Math.max(e.concurrency||50,1),xn=new WeakMap;function Sn(e){return V(xn,e,()=>{let t=bn(e),n=0,r=0,i=[];return async e=>{if(yn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await yn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function Cn(e,t=Rt){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const wn=new WeakMap,Tn=new WeakMap;function En(e,t,n,r,i=Rt){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?wn:Tn;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Dn(e){return ft(e)?.version??``}function On(e,t,{range:n,semvers:r,useGreatest:i,usePre:a,useRel:o,latest:s,pinnedRange:c,pinNoDowngrade:l,allowDowngrade:u,cooldownDays:d,now:f,getVersionDate:p,versioning:m=Rt}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=En(n,a,o,r,m),v=s?m.parse(s):null,y=i||a&&!o||v&&c&&!m.satisfiesRange(v,c)?null:v,b=!!(y&&m.compare(h,y)>0),x=!!c&&!l&&!m.satisfiesRange(h,c),S=!!u&&(!!y||m.isPrerelease(h)),ee=e?.time,te=!!(d&&f),C=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||C&&m.compare(t,C)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||te&&!an(p?p(e):ee?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;!i||!g.has(i)||(C=t)}return C?.raw??C?.version??null}function kn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function An(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?Ht:Rt,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),g=e=>t[e].reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=typeof n==`string`?Date.parse(n):NaN;return!Number.isNaN(r)&&r<e.time?{date:n,time:r}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Dn(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=Dn(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=En(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=Dn(e),o=f.parse(e),c=kn(e);if(!a||!c&&r(o))return!1;let d=pt(m,e)??pt(t,a),p=c?d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!an(i,l,u)?!1:!s||q(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return On(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function jn(e){try{return new URL(e).host}catch{return``}}function Mn(e){let n=I(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let Nn;function Pn(){return Nn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Nn}const Fn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];let In;function Ln(){let e=Array.from(new Set(Fn.map(e=>t[e]).filter(e=>!!e)));return e.length?Promise.resolve(e):In??=(async()=>{try{let{stdout:e}=await(await Pn())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const Rn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function zn(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=Rn.exec(n);if(!e)continue;let r=jn(e[1]),i=D.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let Bn;function Vn(){return Bn??=(async()=>{try{let{stdout:e}=await(await Pn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return zn(e)}catch{return new Map}})()}const Hn=new Map;async function Un(e,t){if(!e)return[];let n=Mn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===jn(t),[a,o]=await Promise.all([i?Ln():[],Vn()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var Wn=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function Gn(e){if(e.status!==403&&e.status!==429)return null;let t=Number(e.headers?.get?.(`x-ratelimit-reset`))||0;if(e.headers?.get?.(`x-ratelimit-remaining`)===`0`||e.headers?.get?.(`retry-after`))return t;try{let{message:n}=await(typeof e.clone==`function`?e.clone():e).json();if(typeof n!=`string`)return null;if(n.includes(`rate limit exceeded`)||n.includes(`abuse detection mechanism`)||n.startsWith(`You have exceeded a secondary rate limit`))return t}catch{}return null}async function Kn(e,t,n,r){if(e.status>=500)throw new Wn(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await Gn(e);if(i===null)return e;throw new Wn(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function qn(e,t,n){let r=jn(e),i=await Un(r,t.forgeApiUrl),a=async a=>{let o=ln(`Bearer`,a);return o.headers={...o.headers,...n},Kn(await pn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Hn.get(r);for(let t of e&&i.includes(e)?[e,...i.filter(t=>t!==e)]:i){let n=await a(t);if(n.status!==401&&n.status!==403)return Hn.set(r,t),n;t===e&&Hn.delete(r)}return await a()}catch(e){throw e instanceof Wn?e:new Wn(`network`,r,e?.message??String(e),{cause:e})}}function Jn(e,t){let n=Z(t);if(!lt(n))return null;let r=``,i=``;for(let t of e){let e=Z(t);lt(e)&&(!r||gt(e,i))&&(r=t,i=e)}return r&>(i,n)?r:null}function Yn(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Xn=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),Zn=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function Qn(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function $n(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function er(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const tr=(e,t)=>{if(!t)return er(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return e})},nr=new WeakMap;function rr(e,t,n,r){let i=`${n}${e}`;return Q(nr,t,i,async()=>{let n=t.noCache?null:await Qt(e),a=await qn(e,t,n?{"if-none-match":n.etag}:void 0);if(a?.status===304&&n)return n.body;if(!a?.ok)return nr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&tn(e,s,o),o})}function ir(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function ar(e,t,n,r){let i=await rr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function or(e){let t=/<([^>]+)>;\s*rel="last"/.exec(e);if(!t)return 0;let n=Number(new URL(t[1]).searchParams.get(`page`));if(!Number.isSafeInteger(n)||n<1)throw TypeError(`Invalid Forge pagination URL`);return Math.min(n,100)}async function sr(e,t,n,r,i){let a=await ar(e(1),t,n,r);if(!a)return;let o=or(a.link),s=bn(t);for(let c=2,l=1,u=i(a.entries);c<=o&&!u;c+=l,l=Math.min(l*2,s)){let a=await Promise.all(Array.from({length:Math.min(l,o-c+1)},(i,a)=>ar(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function cr(e,t,n){let r=new Map;return await sr(n=>`${sn}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,ir,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function lr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await sr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,tr,e=>{for(let t of e){for(let e of o)(e===t.name||t.commitSha.startsWith(e))&&o.delete(e);a.push(t)}return s&&!o.size}),a}async function ur(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return lr(e,t,n,r,i);let[o,s]=await Promise.allSettled([lr(e,t,n,r,i),cr(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof Wn))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function dr(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}const fr=2e7;function pr(e,t){return Number(Z(e).split(`.`)[0])<fr||Number(Z(t).split(`.`)[0])>=fr}function mr(e,t,n=``){let r=Z(e),i=Z(t).split(`.`).length,a=i>=3?r:Array.from({length:i},(e,t)=>r.split(`.`)[t]||`0`).join(`.`);return`${t.startsWith(`v`)?`v`:``}${a}${n}`}function hr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const gr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function _r({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of gr)if(t?.[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=Yn(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${hr(a)}/${e.directory}`)),a||t||``)}const vr=/[A-Za-z_$]/,yr=/[A-Za-z0-9_$]/;function br(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
|
|
7
|
+
`;)t++;return t}for(t+=2;t<r&&(e[t]!==`*`||e[t+1]!==`/`);)t++;return t+2}function a(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=i(t);continue}break}return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let i=e[n];if(i===`\\`){let a=e[n+1];if(a===`'`){t+=`'`,n+=2;continue}if(a===`
|
|
8
|
+
`){n+=2;continue}t+=i,n+1<r?(t+=a,n+=2):n++;continue}if(i===`"`){t+=`\\"`,n++;continue}if(i===`'`){t+=`"`,n++;break}t+=i,n++}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];if(r===`}`||r===`]`){n++;continue}t+=o,n++;continue}if(vr.test(o)){let i=n;for(;n<r&&yr.test(e[n]);)n++;let o=e.slice(i,n);t+=e[a(n)]===`:`?`"${o}"`:o;continue}t+=o,n++}return JSON.parse(t)}const xr={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function Sr(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=xr[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const Cr={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},wr=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Tr(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(Cr,n)?Cr[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||wr.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`),i=n?e.slice(1):e,o=Er(i);(n?a:t).push(o??i),!n&&!o&&!/[*?[\]{}!()|+]/.test(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Er(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Dr=new Map,Or=e=>V(Dr,e,()=>Xe(e)),kr=(e,t,n)=>(!t?.length||t.some(t=>Or(t).test(e)))&&(!n?.length||n.every(t=>!Or(t).test(e)));function Ar(e,t,n){return kr(t,e.matchPackageNames,e.excludePackageNames)&&kr(n,e.matchDepNames,e.excludeDepNames)}const jr=new WeakMap;var Mr=class extends RegExp{constructor(e,t){super(e),jr.set(this,t)}testNames(e,t){return jr.get(this)(e,t)}test(e){return this.testNames(e,e)}};function Nr(e,t,n,r){return e instanceof Mr?e.testNames(n,r):e.test(t)}function Pr(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Tr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=Sr(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=J(r.allowedVersions);if(!e&&!Er(r.allowedVersions))throw Error(`Invalid renovate allowedVersions: ${r.allowedVersions}`);if(c.allowedVersions=r.allowedVersions,e)for(let e of s)i.add(e)}(c.allowedVersions||c.cooldownDays!==void 0)&&a.push(c)}for(let e of i){let t=a.findLast(t=>t.allowedVersions!==void 0&&Ar(t,e,e))?.allowedVersions;t&&J(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Mr(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Ar(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function Fr(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=Sr(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Mr(`^${z(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=Pr(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}const Ir=[`renovate.json`,`renovate.jsonc`,`renovate.json5`];async function Lr(e,t={}){let n=await Ze(e,async e=>{for(let t of Ir){let n=_(e,t),r;try{r=await w(n,`utf8`)}catch{continue}let i;try{i=br(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return{parsed:i,path:n}}return null});return n?Fr(n.parsed,t):{}}const Rr=Symbol(`cliBaseConfig`),zr={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}};function Br(e){return Array.isArray(e)?e.every(e=>e===!0)?!0:new Set(e.filter(e=>typeof e==`string`).flatMap(I)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function Vr(e){for(let[t,{short:n}]of Object.entries(zr))if(t===e||n===e)return t;return``}function Hr(e){return new Set(e.map(Xe))}function Ur(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(I):[]}function Wr(e){for(let[t,n]of Object.entries(e??{}))if(!J(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function Gr(e){let t={};for(let n of Array.isArray(e)?e:[e]){if(typeof n!=`string`)continue;let e=n.indexOf(`=`);if(e<1)throw Error(`Invalid pin: ${n}, expected <dep>=<range>`);t[n.slice(0,e)]=n.slice(e+1)}return Wr(t),t}function Kr(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:Hr(e)}const qr=et(e=>Ze(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=_(e,n);try{await te(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(x(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),Jr=et(async e=>{let t=await qr(e)??{},n=await Lr(e,t.inherit?.renovate),r={...n,...t};return n.pin&&(r.pin={...n.pin,...t.pin},r.pinNoDowngrade=Object.keys(n.pin).filter(e=>!t.pin?.[e])),n.overrides?.length&&(r.overrides=[...n.overrides,...t.overrides??[]]),Wr(r.pin),r});function Yr(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function Xr(e){try{return Yr(c(e,`utf-8`))}catch{return}}function Zr(e,t){return Qe(t,t=>{let n=_(t,e);try{if(d(n).isFile())return n}catch{}return null})??void 0}function Qr(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function $r(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[i],l=[];function u(e){if(!e||l.includes(e))return;let t=Xr(e);t&&(c.push(t),l.push(e))}o||(u(_(`/etc`,n,`config`)),u(_(`/etc`,`${n}rc`))),s&&(u(_(s,`.config`,n,`config`)),u(_(s,`.config`,n)),u(_(s,`.${n}`,`config`)),u(_(s,`.${n}rc`))),u(Zr(`.${n}rc`,a));let d=Qr(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function ei(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const ti=new WeakMap;function ni(e,t){let n=V(ti,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);$e(t,a===-1?`.`:e.slice(a+1),[[ei(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const ri=/[*?{[]/;function ii(e,t){return o(e,{cwd:t,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>y(e.parentPath,e.name))}async function ai(e,t,n,r=32){let i=await T(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>ii(e.slice(1),t)).map(e=>v(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=ri.test(n)?ii(n,t):[y(_(t,n))];for(let n of e){let e=v(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await L(s,async({dir:e,memberPath:t})=>{try{let r=await T(_(e,n)),a=v(i,r);return a===`..`||a.startsWith(`..${b}`)||g(a)?null:{absPath:r,content:await w(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const oi=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,si=/\s#/;function ci(e){let t=oi.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(si),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function li(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function ui(e){let t=e.length-e.trimStart().length,n=e.trim();if(!n)return null;let r=n[0];if(r===`"`||r===`'`){let e=n.indexOf(r,1);return e===-1?null:{value:n.slice(1,e),valueIndex:t+1}}let i=n.search(si);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function di(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of li(e)??[]){if(r.colon===-1)return null;let e=ui(r.text.slice(0,r.colon)),i=ui(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function fi(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=ci(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of di(e.value,e.valueIndex)??[])n[t.key]=t.value}else r&&e.value&&(n[e.key]=e.value)}}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([,e])=>!e.includes("${")))}}function pi(e,t){let n=Qe(y(t),t=>{try{return{content:c(_(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const mi=new Map;function hi(e,t){let n=V(mi,t,()=>fi(pi(`pnpm-workspace.yaml`,t)??``));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*gi(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
|
|
9
|
+
`).entries()){let e=ci(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1,s===`catalog`)for(let e of di(c,l)??[])yield{type:`catalog`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex};else if(s===`catalogs`)for(let e of di(c,l)??[])for(let t of di(e.value,e.valueIndex)??[])yield{type:`catalogs.${e.key}`,name:t.key,value:t.value,lineIndex:i,valueIndex:t.valueIndex}}else if(t===`catalog`)c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l});else if(t===`catalogs`){if(r===-1||o<=r){n=s,r=o;for(let e of di(c,l)??[])yield{type:`catalogs.${n}`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex}}else c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l})}}}function _i(e,t){let n=e.split(`
|
|
10
|
+
`),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(gi(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
|
|
11
|
+
`):e}function vi(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=ci(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of li(e.value)??[]){let e=ui(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=ui(e.slice(1));n&&t.push(n.value)}}return t}const yi=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,bi=new Set([`resolutions`,`overrides`]);function xi(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const Si=X.registry,Ci=new Map,wi=new Map,Ti=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function Ei(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:Ti(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(Ti(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:Ti(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===Si&&t._auth)return{token:Ti(t._auth),type:`Basic`}}function Di(e,t,n,r){let i=V(Ci,r??``,()=>$r(`npm`,{registry:Si},r)),a=cn((typeof n.registry==`string`?n.registry:``)||t.registry||i.registry||Si),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?hi(e,r):null,c=o&&r?hi(``,r):null;return V(wi,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?cn(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=cn(t);n!==e&&(e=n)}catch{}return{auth:Ei(e,i),registry:e}})}const Oi=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},ki=new WeakMap,Ai=new WeakMap,ji=new WeakMap,Mi=new WeakMap,Ni=(e,t)=>`${e}v2${t?`-dates`:``}`;function Pi(e){let t={};for(let n of Object.keys(e.versions??{}))t[n]=e.versions[n]?.deprecated?{deprecated:!0}:{};return{name:e.name,"dist-tags":e[`dist-tags`],versions:t,time:e.time,error:e.error}}async function Fi(e,t,n,r,i,a,o=``){let s=bi.has(t)?xi(e):t===`packageManager`&&e===`yarn`&&(U(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Di(s,n,r,a),u=Oi(l,s),d=Ni(u,!!r.needsDates);return[await Q(ki,i,d,async()=>{let t=ln(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await _n(u,i,t,mn(Pi),d);return`body`in n||dr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Ii(e,t,n,r,i,a){let{auth:o,registry:s}=Di(e,n,r,a),c=Oi(s,e,t);return Q(Ai,i,c,async()=>{try{let n=ln(o?.type,o?.token),a=await vn(c,i,n,mn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=Oi(s,e);return!u&&r.needsDates&&(u=(await ki.get(i)?.get(Ni(f,!0)))?.time?.[t]||``),u||=(await R(Q(ji,i,f,async()=>{let e=await pn(i,f,n);return e?.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Li(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Ri(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function zi(e){return e.startsWith(`catalog:`)}const Bi=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Vi(e){let t=Bi.exec(e);return t&&J(t[2])?{name:t[1],range:t[2]}:null}const Hi=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,Ui=/^@([^/]+)\/(.+)$/;function Wi(e,t){let n=Hi.exec(e);if(n)return{scope:n[1]||n[3],name:n[2]||n[4],version:n[5]};if(e.startsWith(`jsr:`)&&!e.startsWith(`jsr:@`)){let n=Ui.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function Gi(e,t){if(!Ui.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(Mi,t,n,async()=>{let r=await _n(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||dr(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function Ki(e,t){try{JSON.parse(e)}catch{return e}let n=new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(a||JSON.stringify([t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const qi=String.raw`[<>]=?|~>|[\^~=]`,Ji=new RegExp(String.raw`^(${qi})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),Yi=RegExp(`^(?:${qi})$`),Xi=/^[xX*]$/,Zi=/\+[0-9A-Za-z.-]+/g,Qi=/\|\||[\dxX*]\s+\S/;function $i(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&Yi.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function ea(e,t){let n=Ji.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=U(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;if(t.includes(`-`))return`${r}${i}${a}${t}`;let l=t.split(`.`);return`${r}${i}${a}${c.map((e,t)=>Xi.test(e)?e:l[t]??`0`).join(`.`)}`}function ta(e,t){if(q(t,e))return e;let n=$i(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=ea(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=ea(r,t),n.join(` `)}function na(e,t,n,r){let i=(n||e).replace(Zi,``),a=r===`peerDependencies`||Qi.test(i)?ta(i,t):ea(i,t);return q(t,a)?a:i}function ra(e){if(/[xX*]/.test(e))return e;let t=e.match(yi);return t?.length===1?e.replace(yi,Dn(t[0])):e}async function ia(e,t,n){let r=await rr(`${n.forgeApiUrl}/repos/${e}/${t}/commits`,n,`commits`,async e=>{let[t]=JSON.parse(await e.text());return JSON.stringify(t?[{sha:t.sha,commit:{committer:t.commit?.committer,author:t.commit?.author}}]:[])}),[i]=r?JSON.parse(r):[];return i?{hash:i.sha,commit:i.commit}:{hash:``,commit:{}}}async function aa(e,t,n,r){return(await lr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function oa(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&J(r.slice(7))?r.slice(7):null;return!a&&!Zn.test(r)&&!lt(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function sa(e,t,n){let r=oa(t.old);if(!r)return null;let{user:i,repo:a,ref:o,selector:s}=r,c=e=>{let n=t.old.lastIndexOf(o);return`${t.old.slice(0,n)}${e}${t.old.slice(n+o.length)}`};if(Zn.test(o)){let{hash:t,commit:r}=await ia(i,a,n);if(!t)return null;let s=$n(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=Jn(await aa(i,a,o,n),s?Dn(s):o);if(t){let n=s?na(s,t.replace(/^v/,``),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const ca=/[-_.]+/g,la=new WeakMap;function ua(e){let t={};for(let[n,r]of Object.entries(e??{}))t[n]=(r??[]).map(e=>({...e.upload_time_iso_8601&&{upload_time_iso_8601:e.upload_time_iso_8601},...e.yanked&&{yanked:!0}}));return t}async function da(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(ca,`-`)}/json`;return[{...await Q(la,t,n,async()=>{let r=await _n(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:ua(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:ua(e.releases)}}dr(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function fa(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=Y(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=Y(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Pt(e.local?{...e,local:null}:e,r),a=r.local?Pt(e,r):i;if(t===`==`)return a===0;if(t===`!=`)return a!==0;if(t===`>=`)return i>=0;if(t===`<=`)return i<=0;let o=e.epoch===r.epoch&&Array.from({length:Math.max(e.release.length,r.release.length)}).every((t,n)=>(e.release[n]??0)===(r.release[n]??0));return t===`>`?i>0&&!(o&&e.post!==null&&r.post===null):t===`<`?i<0&&!(o&&(e.pre||e.dev!==null)&&!r.pre&&r.dev===null):i>=0&&r.release.length>1&&r.epoch===e.epoch&&r.release.slice(0,-1).every((t,n)=>(e.release[n]??0)===t)}function pa(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function ma(e,t,n){let r=e.release.findIndex((e,n)=>e>t.release[n]);r===0&&e.release[1]===0?r=1:r===-1&&(r=e.release.length-1);let i=e.release.map((e,t)=>t>r?0:(n.release[t]??0)+Number(t===r));return`${n.epoch?`${n.epoch}!`:``}${i.join(`.`)}`}function ha(e,t){let n=Y(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(Y(r))return fa(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=Te(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>fa(n,e))}function ga(e,t,n){let r=Te(e),i=r?.specifiers,a=Y(t),o=Y(n);if(!r||!i||!a||!o)return null;let s=Ee(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?pa(o):pa(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:pa(o);else if(!fa(o,e)){let t=Y(e.version);if(e.op===`<`&&t)e.version=ma(t,a,o);else if(e.op===`<=`)e.version=pa(o);else return null}if(!fa(o,e))return null}return F(r,i)}function _a(e){let t=[],n=/\s*(?:"((?:\\.|[^"\\])*)"|'([^']*)'|([\w-]+))\s*(?:\.|$)/gy;try{for(;n.lastIndex<e.length;){let r=n.exec(e);if(!r)return[];t.push(r[1]===void 0?r[2]??r[3]:JSON.parse(`"${r[1]}"`))}}catch{return[]}return t}function va(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function ya(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
|
|
12
|
+
`&&(o=!1);else if(i)i===`"`&&n===`\\`&&!a?a=!0:(n===i&&!a&&(i=``),a=!1);else if(n===`"`||n===`'`)i=n;else if(n===`#`)o=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function ba(e,t){let n=new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=_a(o[1]);else{let o=va(a),s=o===-1?``:[...r,..._a(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=ya(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function xa(e,t){let n=new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);V(n,t,()=>new Map).set(i,r)}let r=ba(e,new Set(n.keys())),i=e;for(let[e,t]of Array.from(r).sort((e,t)=>t[1][0]-e[1][0])){let r=n.get(e),a=Ue(r.keys()),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${ga(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function Sa(e){let t=e.includes(`:/`)||e.startsWith(`/`);return cn(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function Ca(e,t){for(let{url:n,fallback:r}of e)try{let e=await t(n);if(e!==null)return e}catch(e){if(r===`,`)throw e}return null}function wa(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}t.push({url:Sa(e),fallback:r})}return t}function Ta(e){if(typeof e==`string`)return[{url:cn(e),fallback:`,`}];let n=wa(t.GOPROXY||`${X.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Ea(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Da=new Map;function Oa(e){return V(Da,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:z(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function ka(e,t){return t.some(t=>Oa(t).test(e))}function Aa(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const ja=/\/v(\d+)$/,Ma=/^gopkg\.in\/.*?\.v(\d+)$/;function Na(e){let t=Ma.exec(e)??ja.exec(e);return t?Number.parseInt(t[1]):1}function Pa(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(ja,``);return t<=1?n:`${n}/v${t}`}function Fa(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t));return Number.isNaN(n)||n===Na(e)?e:Pa(e,n)}const Ia=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,La=/^(\S+)\s+(v\S+)/,Ra=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,za=e=>e.replace(/^"(.*)"$/,`$1`);function Ba(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function Va(e){let t=Ra.exec(e);if(!t)return null;let[,n,r,i,a]=t;return{origModule:za(n),origVersion:r??``,targetModule:za(i),targetVersion:a??``}}function*Ha(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){if(/^\)\s*(?:\/\/.*)?$/.test(e)){t=null;continue}yield{kind:t,value:e,lineNumber:n};continue}let i=Ia.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function Ua(e){return e.startsWith(`golang.org/x/`)}async function Wa(e,t,n){let r=t,i=t&&!Cn(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,Cn(e.Version)||(i=e)}return i??r}function Ga(e,t,n,r){let i=n??r;return[{name:e,old:t,new:Z(i.Version),Time:i.Time,...i.path!==e&&{newPath:i.path},sameMajorNew:Z(r.Version),sameMajorTime:r.Time},null]}function Ka(e){for(let{kind:t,value:n}of Ha(e.split(/\r?\n/)))if(t===`module`)return za(n.split(/\s/,1)[0]);return``}function qa(e){let t={},n={},r={},i={},a={},o=new Set,s=[];for(let i of Ha(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(za(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=La.exec(i.value);e&&(a[za(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=Va(i.value);e&&(e.targetVersion&&!Ba(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=La.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[za(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const Ja=new WeakMap;function Ya(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=V(Ja,n,()=>new Map);for(let t of i?[_(e,i,`go.mod`),_(e,`go.mod`)]:[_(e,`go.mod`)]){let e=y(t),n=V(a,e,()=>{try{return new Map(Object.entries(qa(c(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return new Map}async function Xa(e,n,r,i,a){let o=Na(e),s=async(e,n,a)=>{try{let o=a??`latest`,s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,`${e}@${o}`],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
13
|
+
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=ro((n.Versions??[]).join(`
|
|
14
|
+
`),io(e),r);if(!i)throw Error(`No non-excluded versions found for ${e}`);return s(e,t,i.Version)},l=e=>R(c(e,i.goProbeTimeout)),[u,d]=await Promise.all([c(e,i.fetchTimeout),Ua(e)?null:l(Pa(e,o+1))]);return Ga(e,n,await Wa(o,d,t=>l(Pa(e,t))),u)}const Za={"accept-encoding":`gzip, deflate, br`},Qa=e=>e===404||e===410;async function $a(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const eo=async(e,t,n)=>{let r=`${t}/${Aa(n)}/@latest`,i=await e(r);if(i.ok)return $a(i,r,n);if(Qa(i.status))return null;dr(i,r,n,t)},to=new WeakMap;function no(e,t,n,r,i){return Q(to,e,`latest${t}${r}/${i}`,()=>eo(n,r,i))}function ro(e,t=0,n=new Set){let r=null;for(let i of e.split(`
|
|
15
|
+
`)){let[e,a]=i.trim().split(/\s+/);if(!(!e||!lt(e)||n.has(e))&&!(t&&Number.parseInt(Z(e))!==t)){if(r){let t=Cn(e);if(t===Cn(r.Version)?!gt(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function io(e){return ja.test(e)||Ma.test(e)?Na(e):0}async function ao(e,t,n,r=new Set){let i=Aa(n),a=`${t}/${i}/@v/list`,o=await e(a);if(!o.ok){if(Qa(o.status))return null;dr(o,a,n,t)}let s=ro(await o.text(),io(n),r);if(!s)return null;if(s.Time)return{...s,path:n};let c=`${t}/${i}/@v/${Aa(s.Version)}.info`;try{let t=await e(c);if(t.ok)return $a(t,c,n)}catch{}return{...s,path:n}}function oo(e,t,n,r,i,a=new Set){let o=`list${t}${r}/${i}${Array.from(a).sort().join(`\0`)}`;return Q(to,e,o,()=>ao(n,r,i,a))}async function so(e,t,n,r,i){let a=Na(t),o=e=>pn(r,e,{headers:Za}),s=e=>r.doFetch(e,{signal:AbortSignal.timeout(r.goProbeTimeout),headers:Za}),c=no(r,`primary`,o,e,t),l=(async()=>{let n=await c,a=i.get(t);return n&&!a?.has(n.Version)?n:oo(r,`primary`,o,e,t,a)})(),u=async t=>{try{let[n,a]=await Promise.all([no(r,`probe`,s,e,t),c]),o=i.get(t);return n&&!o?.has(n.Version)?n:!n&&a?null:oo(r,`probe`,s,e,t,o)}catch{return null}},[d,f]=await Promise.all([l,Ua(t)?null:u(Pa(t,a+1))]);return d?Ga(t,n,await Wa(a,f,e=>u(Pa(t,e))),d):null}async function co(e,t,n,r,i,a){let o=Ya(r,t,i);if(ka(e,a))return Xa(e,n,r,i,o);let s=await Ca(i.goProxyChain,async t=>{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);return t===`direct`?Xa(e,n,r,i,o):so(t,e,n,i,o)});if(s)return s;throw Error(`Unable to find ${e} on any GOPROXY entry`)}const lo=e=>`("?)${z(e)}\\2`;function uo(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e,t,n)=>{let r=!1;for(let i of e??[]){let e=a[i];a[i]=e.replace(t,n),r||=a[i]!==e}return r},s=new Map,c=new Map,l=new Map;for(let e of Ha(a))if(e.kind===`require`){let t=La.exec(e.value);t&&$e(s,za(t[1]),e.lineNumber)}else if(e.kind===`replace`){let t=Va(e.value);t&&$e(c,t.targetModule,{...t,lineNumber:e.lineNumber})}else if(e.kind===`tool`){let t=za(e.value.split(/\s/,1)[0]);for(;t;){$e(l,t,e.lineNumber);let n=t.lastIndexOf(`/`);if(n===-1)break;t=t.slice(0,n)}}for(let[e,{old:t,oldOrig:i,new:u}]of r){let[r,d]=e.split(`\0`),f=i||t,p=Fa(d,u);if(r===`replace`){let e=!1;for(let t of c.get(d)??[]){if(Z(t.targetVersion)!==f)continue;let{lineNumber:n}=t;a[n]=a[n].replace(RegExp(`(=>\\s+)${lo(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`),p!==d&&t.origModule===d&&!t.origVersion&&(a[n]=a[n].replace(RegExp(`(^\\s*(?:replace\\s+)?)${lo(d)}(?=\\s+=>)`),`$1$2${p}$2`),e=!0)}e&&o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${lo(d)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&(n[d]=p);continue}o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${lo(d)}(\\s+)v${z(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&p!==d&&(n[d]=p),r===`tool`&&p!==d&&o(l.get(d),RegExp(`(^\\s*(?:tool\\s+)?)("?)${z(d)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${p}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const fo=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function po(e,t){let n=Object.entries(t).sort(([e],[t])=>t.length-e.length);if(!n.length)return e;let r=[],i=(e,t)=>{if(!`"'\``.includes(e[0]))return!1;if(e[0]===`'`)return!0;let i=e.slice(1,-1),a=n.find(([e])=>i===e||i.startsWith(`${e}/`));return a&&r.push({start:t+1,end:t+e.length-1,value:`${a[1]}${i.slice(a[0].length)}`}),!0},a=!1,o=0;for(let t of e.matchAll(fo)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}function mo(e,t,n){if(Object.keys(t).length)for(let r of o(`**/*.go`,{cwd:e})){let i=_(e,r),a=c(i,`utf8`),o=po(a,t);o!==a&&n(i,o)}}function ho(e){let t=[],n={};for(let r of Ha(e.split(/\r?\n/)))if(r.kind===`use`)t.push(r.value.split(/\s/,1)[0]);else if(r.kind===`replace`){let e=Va(r.value);e?.targetVersion&&!Ba(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function go(e,t){try{let n=u(y(e));return u(_(n,t,`go.mod`))}catch{return null}}function _o(e){let t=`https://${vo(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${hr(t)}/${a.join(`/`)}`,n.href}return t}function vo(e){return ja.test(e)?h(e):e}function yo(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function bo(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:Xn.test(o)}}function xo(e,t){return e?e===`github.com`?sn:`https://${e}/api/v1`:t}async function So(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await Qt(a);if(e)return e.body}try{let e=await qn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=$n(await e.json());return t&&!i.noCache&&tn(a,`immutable`,t),t}catch(e){if(e instanceof Wn)throw e;return}}function Co(e,t){let n=Z(e);return mr(U(n)?.version??n,t)}const wo=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/,To=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function Eo(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'])[^\s#]+))([^\n]*)$/.exec(e);if(!t)return null;let[,n,r=``,i,a,o]=t,s=i??a;if(!s)return null;let c=o.indexOf(`#`),l=c===-1?``:o.slice(c),u=l?To.exec(l.slice(1)):null;return{prefix:n,quote:r,value:s,gap:c===-1?o:o.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const Do=/^https?:\/\//;function Oo(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
|
|
16
|
+
`).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=wo.exec(e);if(!t)return e;let a=t[1].length;for(;r.length&&r.at(-1).indent>=a;)r.pop();let o=(t[2]??t[3]??t[4]).trim(),s=o===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&r[0].key===`runs`&&r[1].key===`steps`),c=t[5].replace(/(?:^|\s)#.*$/,``).trim();if(c||r.push({indent:a,key:o}),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(c))return i=a,e;if(!s)return e;let l=Eo(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=Do.exec(f)?.[0]??``,v=h||/^#\s*(\S+)\s*$/.exec(m)?.[1]||``,y=n.get(`${f.slice(_.length)}${v?`#${v}`:``}`)??n.get(f.slice(_.length));if(!y)return e;let b=y.newComment&&h?`# ${y.newComment}${m.slice(g)}`:m;return`${u}${d}${_}${y.name}@${y.newRef}${d}${p}${b}`}).join(`
|
|
17
|
+
`)}const ko=RegExp(`(?:^|/)(?:${Ue(Ae)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function Ao(e){return ko.test(e.replace(/\\/g,`/`))}function jo(e){let t=new Set;try{for(let n of l(_(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(y(_(e,`workflows`,n)))}catch{}try{for(let n of l(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(y(_(n.parentPath,n.name)))}catch{}return Array.from(t)}const Mo=/^(v?\d+(?:\.\d+)*)([a-z][a-z0-9]*)?(-.+)?$/i,No=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,Po=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Fo=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,Io=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,Lo=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function Ro(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*zo(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=Lo(i[0]),a=Fo.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:Ro(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=Io.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:Ro(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const Bo=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Vo(e){let t=e.split(`/`);return t.length>1&&Bo.test(t[0])&&t.shift(),{registry:t.length>2||t.length>1&&(t[0]===`localhost`||t[0].includes(`.`)||t[0].includes(`:`))?t.shift():null,namespace:t.length===1?`library`:t.slice(0,-1).join(`/`),repo:t.at(-1)}}function Ho(e){let{registry:t,namespace:n,repo:r}=Vo(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Uo(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!Mo.test(s))return null;let{registry:c,namespace:l,repo:u}=Vo(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Wo(e){let t=Mo.exec(e);return t?{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}:null}function Go(e,t,n=``){let r=Wo(t);return r?mr(e,r.version,`${n}${r.suffix}`):t}function Ko(e,t){let n=[];if(t===No){for(let{from:t,resolved:r}of zo(e,!0)){let e=Uo(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===Po?qo(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=Uo(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function qo(e){let t=new Set,n=new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const Jo=new WeakMap,Yo=new Set([401,403,404]);function Xo(e,t,n){return Q(Jo,n,`${e}/${t}`,async()=>{let r={dates:{},digests:new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await _n(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(Yo.has(i.res?.status)||dr(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await L(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:bn(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f=new URL(i).origin;for(;d<=20&&u.next;d++){let e=new URL(u.next,i),t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function Zo(e,t,n){return(await Xo(e,t,n)).dates}async function Qo(e,t,n,r){let i=(await Xo(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await _n(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},mn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return Yo.has(o.res?.status)||dr(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const $o=/^\d?[02468]\.04$/;function es(e,t){if(!$o.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const ts={ubuntu:es};function ns(e,t,n=Date.now()){let r=ts[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Wo(e)?.version;return!t||r(t,n)})):t}async function rs(e,t){let{registry:n,namespace:r,repo:i}=Vo(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:ns(i,await Zo(r,i,t)),name:e},null]}const is=(e,t)=>t?`${e}-${t}`:e,as=/^\d+$/,os=e=>Z(e.version).split(`.`).map(Number);function ss(e){let t=Z(e).split(`.`).slice(0,3);return t.some(e=>!as.test(e))?null:[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function cs(e,t){let n=os(e),r=os(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function ls(e,t){let n=os(e),r=os(t),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function us(e,t,n,r,i,a,o=!1,s=!1){let c=Wo(t);if(!c)return null;let l=ss(c.version);if(!l)return null;let u=Z(c.version).split(`.`).length,d=is(l,c.prerelease),{effectiveSemvers:f,skipsPrerelease:p}=En(d,o,s,n),m=u>3,h=U(d),g=c,_=``,v=``;for(let[t,l]of Object.entries(e)){let e=Wo(t);if(!e||e.suffix!==c.suffix||Z(e.version).split(`.`).length!==u||!pr(e.version,c.version)||!an(l,r,i))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||cs(e,g)<=0)continue;let r=ls(c,e);if(!r||!n.has(r))continue;g=e,_=t,v=l;continue}let d=ss(e.version);if(!d)continue;let y=U(is(d,e.prerelease));if(!y||e.prerelease&&p(y)||a&&!q(d,a))continue;if(y.version===h.version){_&&Date.parse(l)>Date.parse(v)&&(_=t,v=l);continue}let b=Rt.diff(h,y);!b||!f.has(b)||Rt.compare(y,h)>0&&(h=y,_=t,v=l)}if(m)return _?{newTag:_,date:v}:null;if(!_||h.version===d)return null;let[y,b=``]=h.version.split(`-`),x=Go(y,t,b),S=x in e?x:_;return S===t?null:{newTag:S,date:v}}const ds=`(?![\\w.@+-])`;function fs(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function ps(e,t,n,r=()=>!0){if(!t.size)return e;let i=Ue(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})${ds}`,`g`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function ms(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=fs(t);if(!r.size)return e;let i=Ue(r.keys()),a=e.replace(RegExp(`(FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${ds}`,`gi`),(e,t,n)=>`${t}${r.get(n)??n}`),o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of zo(a)){let a=r.get(i);if(!a)continue;let s=i.lastIndexOf(`@`),c=a.lastIndexOf(`@`),l=i.slice(s+1),u=a.slice(c+1),d=s!==-1&&c!==-1&&l!==u;if(d){let t=e[0].lastIndexOf(l);t!==-1&&o.set(e.index+t,{end:e.index+t+l.length,value:u})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=Ro(n[1].slice(0,e.index),e=>t.get(e)?.value),s=Ro(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);d&&(s=s.replace(l,u)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(s))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,s?-s.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function hs(e,t){let n=qo(e);return ps(e,fs(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function gs(e,t){return ps(e,fs(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const _s=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function vs(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function ys(e){return/^Dockerfile(\..+)?$/.test(e)}function bs(e){return ys(e)||vs(e)}function xs(e){return ys(e)?No:Po}function Ss(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Cs=[`Makefile`,`makefile`,`GNUmakefile`];function ws(e){return Cs.includes(e)||e.endsWith(`.mk`)}const Ts=/^\s*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,Es=/^([^@\s]+)@(v\d\S*)$/,Ds=/^[^/\s]+\.[^/\s]+\//;function*Os(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=Ts.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function ks(e){let t=[];for(let n of Os(e)){let e=Es.exec(n);if(!e||!Ds.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const As=/@(sha256:[0-9a-f]{64})$/;function js(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function Ms(e){let t=As.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=Uo(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function Ns(e){return Array.from(Os(e)).flatMap(e=>Ms(e)??[])}const Ps=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Fs=new WeakMap;function Is(e,n,r){return Q(Fs,r,`${y(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
|
|
18
|
+
`)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function Ls(e,t,n,r){return await Ca(r,async r=>r===`off`?!1:r===`direct`?Is(e,t,n):await no(n,`primary`,e=>pn(n,e,{headers:Za}),r,e)?!0:null)??!1}async function Rs(e,t,n,r){let i=Ps.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=ka(e,r)?[{url:`direct`,fallback:`,`}]:n.goProxyChain;if(a[0].url===`off`)return null;let o=e.split(`/`),s=Array.from({length:o.length-1},(e,t)=>o.slice(0,o.length-t).join(`/`));for(let e of a){let r=await Promise.allSettled(s.map(r=>Ls(r,t,n,[e]))),i=r.findIndex(e=>e.status===`fulfilled`&&e.value),a=r.slice(0,i===-1?void 0:i).find(e=>e.status===`rejected`);if(a)throw a.reason;if(i!==-1)return s[i]}return null}function zs(e,t){let n=new Map(t.map(({oldSpec:e,newSpec:t})=>[e,t]));if(!n.size)return e;let r=Array.from(n.keys()).sort((e,t)=>t.length-e.length).map(e=>Array.from(e,z).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=e.replace(/["']/g,``),r=n.get(t),i=0;return e.replace(/[^"']/g,()=>r[i++]??``)+r.slice(i)}))}const Bs=new WeakMap;function Vs(e){let t=e.toLowerCase();return t.length<=2?`${t.length}/${t}`:t.length===3?`3/${t[0]}/${t}`:`${t.slice(0,2)}/${t.slice(2,4)}/${t}`}function Hs(e,t){let n=cn(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${Vs(t)}`}function Us(e){return e.split(`
|
|
17
19
|
`).map(e=>{if(!e)return e;try{let{vers:t,yanked:n,pubtime:r}=JSON.parse(e);return JSON.stringify({vers:t,yanked:n,pubtime:r})}catch{return e}}).join(`
|
|
18
|
-
`)}async function
|
|
19
|
-
`)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=
|
|
20
|
-
`)){let a=n?null:Js.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=Ys(i,n),r+=i.length+1}return t}function Zs(e,t){let n=Xs(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=Ks(i),c=z(a),l=t.startsWith(`[`)?JSON.parse(qs.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map(Ks).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=Ys(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Qs=/^(!?)\/(.*)\/(i?)$/,$s=e=>e.isHash&&!!e.comment&&!Zn(e.comment),ec=[...new Set(Object.values(je)),`actions`,`docker`,`make`],tc=new Set(ec),nc={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},rc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},ic=(e,t)=>sn(typeof e==`string`?e:t),ac=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function oc(e,t){let n=new Map,r=new Set(e);return Ze(t,e=>{for(let t of r){let i=_(e,t);try{a(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function sc(e,t){t&&(e.date=t,e.age=Wt(t,{noAffix:!0,shortUnits:!0}))}const cc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,lc=(e,t,n,r)=>cc(`${e}${t}`,n,r),uc=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Xr(n):`${Xr(n)}|${t}`)},dc=e=>Object.values(e).some(e=>Object.keys(e).length>0),fc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`);function pc(e,t){return t===`go`?[e,po(e)]:t===`docker`?Lo(e):t===`pypi`?[e,fc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&ke.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...pc(e,a),...pc(o,a)])),c=(t,n)=>kr(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}function mc(t){let n=new Set;if(t?.length)for(let e of t){let t;try{t=d(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=y(e);try{r=u.native(e)}catch{}if(t.isFile())n.add(r);else if(t.isDirectory()){try{for(let e of l(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(je,e.name)||ps(e.name)||_s(e.name))&&n.add(y(_(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=Ae.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&Ae.some(t=>e.endsWith(`/${t}`)),a=t?[h(e)]:i?[e]:Ae.map(t=>_(e,t));for(let e of a)for(let t of Eo(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(Ae),r=[...Object.keys(je),...us,...gs,...Ae],i=new Set;for(let[a,o]of oc(r,e())){if(t.has(a)){for(let e of Eo(o))n.add(e);continue}let e=y(o);try{e=u.native(o)}catch{}i.has(e)||(i.add(e),n.add(y(o)))}try{for(let t of l(e(),{withFileTypes:!0})){let r=ps(t.name)&&!us.includes(t.name),i=_s(t.name)&&!gs.includes(t.name);t.isFile()&&(r||i)&&n.add(y(_(e(),t.name)))}}catch{}}let r=[];for(let e of Array.from(n)){let t=m(e);Object.hasOwn(rc,t)&&(r.push(e),n.delete(_(h(e),rc[t])))}return r.length?new Set([...r,...n]):n}function hc(e,t){r===`win32`&&f(e,0),p(e,t,r===`win32`?{flag:`r+`}:void 0)}const gc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function _c(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function vc(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>ec.indexOf(e)-ec.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=gc(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Ni(a.oldOrig)&&(a.old=e===`go`?mo(a.oldOrig):a.oldOrig),e===`go`?a.new=mo(a.new):e===`actions`&&!a.digestOnly&&(a.old=Z(a.old),a.new=Z(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(gc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${_c(s)}`:o,l=t.results[e]??={};(l[_c(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function yc(e,t){if(!t)return()=>!0;let n=Qs.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>J(dt(zo(e)?.version??``)?.version??``,t):e===`pypi`?e=>da(e,t):e=>J(e,t)}function bc(e,t,n){if(!n)return e;let r=yc(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function xc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Sc(e)}finally{n()}}async function Sc(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=He(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=ic(t.forgeapi,on.forgeapi),s=xa(t.goproxy),c=Sa(),l=!n.noColor&&(n.color||i.isTTY),u=e=>l?t=>ee(e,String(t),{validateStream:!1}):String,d=u(`magenta`),f=u(`green`),p=u(`red`),g,v={execFile:async(e,t,n)=>(await Nn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:ic(t.pypiapi,on.pypiapi),jsrApiUrl:ic(t.jsrapi,on.jsrapi),goProxyUrl:s[0].url,goProxyChain:s,cratesIoUrl:ic(t.cargoapi,on.cargoapi),dockerApiUrl:ic(t.dockerapi,on.dockerapi),doFetch:(e,t)=>(g??=xn(v))(async()=>{n.verbose&&console.error(`${Re()} ${d(t?.method||`GET`)} ${e}`);let r=await dn(e,t);return n.verbose&&console.error(`${Re()} ${r.ok?f(r.status):p(r.status)} ${e}`),r}),noCache:!!n.noCache},b=new Map,x=async(e,t,n)=>{let r=`${e}${t}${n}`,i=H(b,r,()=>qo(e,t,n,v));try{return await i}catch(e){throw b.get(r)===i&&b.delete(r),e}};for(let e of n.modes??[])if(!tc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${ec.join(`,`)}`);let S=n.modes?.length?new Set(n.modes):tc,te=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?Rr(e.include):void 0,exclude:e.exclude?.length?Rr(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Ve(String(e.cooldown))}));return{greatest:Hr(e.greatest),prerelease:Hr(e.prerelease),release:Hr(e.release),patch:Hr(e.patch),minor:Hr(e.minor),allowDowngrade:Hr(e.allowDowngrade),overrides:t,renovateVersionRules:e.renovateVersionRules??[],hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)}};S.has(`actions`)&&In();let C=new WeakMap;function ne(e,t,n,r=n){let i=H(C,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...pc(n,t),...pc(r,t)])),c=e=>s.some(t=>Le(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h;for(let t of e.overrides)t.include&&s.every(e=>!Le(e,t.include))||t.exclude&&s.some(e=>Le(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let g=f?nc.patch:p?nc.minor:nc.major,_;for(let t of e.renovateVersionRules)Er(t,n,r)&&(t.allowedVersions!==void 0&&(_=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:g,allowDowngrade:m,cooldownOverride:h,allowedVersions:_},i.set(a,o)}return o}Br(n.pin);let T=n.pin??{},re=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ie=(e,t,n,r,i,a,o)=>{let s=ne(e,t,n,r);return{...s,...re(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},le=(e,t,n)=>{delete E[e][t],A(e,t,n)},j={},M=Date.now(),de=e(),fe=e=>e.replace(`${de}/`,``).replace(`${de}\\`,``),pe=(e,t,n,r,i,a)=>{E[e][lc(t,n,r)]={old:i,oldOrig:a}},me=(e,t,n)=>{if(Fi(n))return;let r=Li(n);if(Ni(n))E.npm[e]={old:Bi(n,t).version,new:``,oldOrig:n};else if(Y(n))E.npm[e]={old:$i(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:$i(r.range),new:``,oldOrig:n};else if(Pi(n))return;else ae[e]={old:n}},he=(e,t,n,r,i,a)=>{let o=new Set(Object.keys(t.tool?.uv?.sources??{}).map(fc)),s=(t,r)=>{for(let{name:s,version:c,spec:l}of De(t))o.has(fc(s))||$(s,e,i,a,r)&&(pe(e,r,n,s,$i(c),c),ce.set(lc(r,n,s),l))};for(let[o,c]of Ie(r,t)){let t=c||{};if(Array.isArray(t)){if(e!==`pypi`)continue;s(t,o)}else if(typeof t==`string`){let[r,s]=t.split(`@`);$(r,e,i,a,o)&&pe(e,o,n,r,$i(s),s)}else{let r=Object.entries(t);if(e===`npm`&&(o===`overrides`||o===`pnpm.overrides`)){let r=o===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=_i(l===`.`?c.at(-1)??l:l),s=Li(u);if(!$(t,e,i,a,o,e,s?.name??t))continue;let d=[...r,...c,l],f=JSON.stringify(d),p=lc(o,n,t,f);me(p,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[]);continue}for(let[t,c]of r){if(e===`pypi`&&Array.isArray(c)){s(c,`${o}.${t}`);continue}typeof c==`string`&&$(t,e,i,a,o,e,(e===`npm`?Li(c):null)?.name??t)&&(e===`npm`?me(lc(o,n,t),t,c):e===`go`?pe(e,o,n,t,mo(c),Z(c)):Y(c)&&pe(e,o,n,t,$i(c),c))}}}},ge=mc(n.files),N=new Map(await L(Array.from(ge).filter(e=>{if(To(e))return S.has(`actions`)||S.has(`docker`);let t=m(e);return ps(t)?S.has(`docker`):_s(t)?S.has(`make`):S.has(je[t])}),async e=>{try{return[e,await w(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),P={},_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],Te={},F=(e,t,n)=>{(Te[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Ee=t[Pr],ke=Ee&&new Set(Ee.cliKeys),Ae=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ke||ke.has(e)))),I=$e(async e=>{let t={...await Wr(e),...Ae};return{modeConfig:t,include:Rr(t.include??[]),exclude:Rr(t.exclude??[]),versionConfig:te(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Ve(String(t.cooldown)):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Oe:e===`pypi`?Me:e===`go`?t.indirect?Ne:Ne.filter(e=>e!==`indirect`):e===`cargo`?[...Pe,...Fe]:[]}let Be=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),z=e=>{let t=[],n=-1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function Ue(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=cc(t,e.fullImage,r);if(E.docker[i])return;let a=zo(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Ce.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let We=new Map,B=new Map;for(let e of ge){let t=m(e);if(t===`package.json`){let t=N.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&B.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=N.get(e);if(!t)continue;try{let n=ue(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}catch{}}}let Ge={cargo:We.size,go:Array.from(ge).filter(e=>m(e)===`go.work`).length,npm:new Set([...B.keys(),...Array.from(ge).filter(e=>m(e)===`pnpm-workspace.yaml`)]).size},Ke=(e,t,n,r,i)=>{let a=j[e]??=[],o=!a.length&&!Ge[e],s=o?`.`:fe(t);return a.push({absPath:y(t),content:n,memberPath:s,projectDir:r}),F(e,s,Be(i,r)),o?``:`|${s}`},qe=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},V=(e,t,n)=>Ge[e]>1?`${fe(t)}:${n}`:n,Je=(e,t,n,r,i,a)=>{let o=V(`npm`,e,n.memberPath);F(`npm`,o,Be(a,t)),be.push({...n,memberPath:o}),he(`npm`,r,o===`.`?``:`|${o}`,i,a.include,a.exclude)};for(let e of We.size||B.size?new Set([...We.keys(),...B.keys(),...N.keys()]):N.keys()){if(To(e)){let t=S.has(`actions`),n=S.has(`docker`),r=N.get(e),i=fe(e),a=await I(h(e)),s=new Set;P[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=xo(l),t=e&&ho(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=cc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Se.push({...t,key:s,comment:n,apiUrl:go(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(l);if(!r)continue;let u=r[1].length;for(;c.length&&c.at(-1).indent>=u;)c.pop();let d=(r[2]??r[3]??r[4]).trim(),f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r[5]){let t=r[5].replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`),n=Ro(m?t.replace(/^docker:\/\//,``):t);n&&(Ue(n,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=m(e),n=y(e);if(ps(t)){let n=N.get(e),r=fe(e),i=fs(t)?`dockerfile`:`compose`,a=await I(h(e));P[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of Vo(n,ms(t)))Ue(e,r,a);continue}if(_s(t)){let t=N.get(e),n=fe(e),r=await I(h(e));P[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:h(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Ss(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=cc(n,e,a);E.make[t]||(E.make[t]={old:Z(a),oldOrig:a},we.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Es(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=cc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=zo(e.ref.tag);if(!a)continue;let o=ws(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},we.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=je[t];if(t===`go.work`){E[i]??={};let t=h(n),a=N.get(e),o=lo(a),[{modeConfig:s,include:c,exclude:l,versionConfig:u,pin:d,cooldownDays:f},p]=await Promise.all([I(t),L(o.use,async e=>{let n=uo(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await w(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=ze(i,s),g=V(i,e,`.`),_=Be({modeConfig:s,versionConfig:u,pin:d,cooldownDays:f},t);F(i,g,_),ve.push({file:e,content:a,memberPath:g});for(let t of p){if(!t)continue;let{usePath:n,modPath:r,content:a}=t,o=Ha(a),s=V(i,e,n);F(i,s,_),_e.push({absPath:r,content:a,projectDir:h(r),memberPath:s}),he(i,o,s===`.`?``:`|${s}`,m,c,l)}for(let[e,t]of Object.entries(o.replace))$(e,i,c,l,`replace`)&&pe(i,`replace`,g===`.`?``:`|${g}`,e,mo(t),Z(t));continue}if(t===`go.mod`&&_e.some(e=>e.absPath===n)||t===`package.json`&&be.some(e=>e.absPath===n)||t===`Cargo.toml`&&ye.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=N.get(e),a=We.get(e)??ue(t),o=h(n),s=oc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length,[u,d,f]=await Promise.all([I(o),s?w(s,`utf8`):Promise.resolve(null),l?ti(c,o,`Cargo.toml`,r):Promise.resolve([])]),{modeConfig:p,include:m,exclude:g}=u,_=ze(i,p),v=d?Rs(d):new Map,y=(e,t)=>{for(let[n,r]of Ie(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,m,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;Y(Hs(e))&&(o!==r&&oe.set(lc(n,t,r),o),pe(i,n,t,r,Gs(v,o,e)??$i(Hs(e)),e))}else typeof a==`string`&&Y(Hs(a))&&pe(i,n,t,r,Gs(v,r,a)??$i(Hs(a)),a)}}}};if(l){let r=V(i,e,`.`),s=Be(u,o);F(i,r,s),y(a,r===`.`?``:`|${r}`),ye.push({absPath:n,content:t,memberPath:r});for(let t of f){let n=V(i,e,t.memberPath);F(i,n,s),ye.push({...t,memberPath:n}),y(qe(t.absPath,()=>ue(t.content)),`|${n}`)}}else y(a,Ke(i,e,t,o,u));continue}if(t===`package.json`&&B.has(e)){E[i]??={};let t=h(n),a=N.get(e),o=B.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,u]=await Promise.all([I(t),ti(c,t,`package.json`,r)]),d=ze(i,l.modeConfig);Je(e,t,{absPath:n,content:a,memberPath:`.`},o,d,l);for(let n of u)Je(e,t,n,qe(n.absPath,()=>JSON.parse(n.content)),d,l);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=h(n),o=N.get(e),s=mi(o),c=_(a,`package.json`),[l,u,d]=await Promise.all([I(a),R(w(c,`utf8`)),ti(s,a,`package.json`,r)]),f=ze(i,l.modeConfig),p=V(i,e,t);F(i,p,Be(l,a)),xe.push({absPath:n,content:o,memberPath:p});for(let{type:e,name:t,value:n}of fi(o))$(t,i,l.include,l.exclude,e,i,Li(n)?.name??t)&&me(lc(e,`|${p}`,t),t,n);for(let{selector:e,value:t}of z(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=lc(r,`|${p}`,e,a);D.set(o,n),O.set(o,e),me(o,e,t)}if(u!==null){let t=qe(c,()=>JSON.parse(u));Je(e,a,{absPath:y(c),content:u,memberPath:`.`},t,f,l)}for(let t of d)Je(e,a,t,qe(t.absPath,()=>JSON.parse(t.content)),f,l);continue}E[i]??={};let a=h(n),s=await I(a),{modeConfig:c,include:l,exclude:u}=s,d=ze(i,c),f=N.get(e);he(i,qe(e,()=>i===`npm`?JSON.parse(f):i===`pypi`?ue(f):Ha(f)),Ke(i,e,f,a,s),d,l,u)}let Ye=Object.keys(ae).length>0;if(!dc(E)&&!Ye)return{results:{},message:`No dependencies found, nothing to do.`};let Xe=[],Ze=(e,t)=>D.get(e)??se.get(e)?.name??(gi.has(e.split(`\0`)[0].split(`|`)[0])?_i(t):t),Qe={needsDates:(Te.npm?.values()??[][Symbol.iterator]()).some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)};for(let[e,t]of Object.entries(Te))!Object.keys(E[e]??{}).length&&(e!==`npm`||!Ye)||Xe.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=new Map,s=E[e],l=async(t,r,i)=>{let l=Xr(r),{modeConfig:u,versionConfig:f,projectDir:p,pin:m,cooldownDays:h}=a(r),g=s[t],_=se.get(t),[y,b]=await(e===`npm`?g.oldOrig&&Ni(g.oldOrig)?Vi(i,v):ji(Ze(t,i),l,u,Qe,v,p,g.old):e===`go`?ro(i,r,g.oldOrig||g.old,p,v,c):e===`cargo`?Ls(oe.get(t)??i,v):sa(i,v)),x=y;if(x.error)throw Error(x.error);let S=l===`packageManager`?i:x.name,{useGreatest:ee,usePre:te,useRel:C,semvers:w,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(f,e,S,i,m,u.pinNoDowngrade,h);x=bc(x,e,T);let{old:D,oldOrig:O}=g,k=kn(x,{usePre:te,useRel:C,useGreatest:ee,semvers:w,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?M:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=Ws(O,k);else if(k){if(O&&Ni(O)){let e=ac.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${Qi(D,k,_.range,l)}`:Qi(D,k,O,l)}let le=ce.get(t);if(!k||k===D||O&&O===A||le&&!fa(le,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${Re()} ${d(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let j=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;g.new=A,O&&Ni(O)&&(g.newPrint=k),e===`npm`?o.set(t,{name:Ze(t,i),promise:Mi(x.name,k,u,Qe,v,p)}):g.info=e===`pypi`?gr(x,b,x.info.name):e===`go`?fo(x.newPath||i):`https://crates.io/crates/${x.name}`,sc(g,j)};if(await L(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await l(t,n,r)}catch(n){le(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=gr({repository:r.repository,homepage:r.homepage},null,t),sc(i,r.date))})),e===`npm`&&Ye){let e=(await L(Object.entries(ae),async([e,t])=>{try{return await ra(e,t,v)}catch(t){return A(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)sc(s[t]={old:ae[t].old,new:n,oldPrint:Xn.test(a)?a.substring(0,7):a,newPrint:Xn.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Ze(t,i):i,u=ne(c,e,l,i).cooldownOverride??o;u&&!nn(n,u,M)&&delete s[t]}})());let et=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Se.length&&Xe.push((async()=>{await L(Map.groupBy(Se,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!$s(e):Zn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=et(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===on.forgeapi?[]:e.filter($s).map(e=>e.comment)],c=[];try{s.length&&(c=await lr(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)le(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=zt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=$e(e=>_o(t,n,i,e,v)),m=$e(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===on.forgeapi?`commits`:`branches`,o=await Kn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,v);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=new Set;for(let o=0;o<20;o++){let o=Dn({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s)?.commitSha||``;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(nn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:Zn(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C}=et(e),w=Zn(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:zt,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C||void 0,now:C?M:void 0},S?l.filter(yc(`actions`,S)):l):null;if(!w){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,sc(c,await R(p(e)));return}let{tag:ne,commitSha:T,date:re}=w;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=vo(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,sc(c,re||(T?await R(p(T)):``))};await L(e,async e=>{try{await g(e)}catch(t){le(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),Ce.length&&Xe.push((async()=>{await L(Map.groupBy(Ce,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await Qo(e,v);n=t}catch(e){for(let n of t)le(`docker`,n.key,e);return}await L(t,async t=>{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=bc(n,`docker`,c).tags,f=!t.ref.digestOnly&&zo(i)?rs(d,i,a,u||void 0,u?M:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await x(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=hs(t.ref),sc(r,f?.date)},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),we.length&&Xe.push((async()=>{await L(we,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u}=ie(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),d={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?M:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await js(e.installPath,e.projectDir,v,c);if(!t){delete E.make[e.key];return}let[n]=await ro(t,`tool`,Z(e.version),e.projectDir,v,c),r=bc(n,`go`,o),i=kn(r,{...d,mode:`go`,range:Z(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??ja(t,i),s=`${a}${e.installPath.slice(t.length)}`,l=pr(i,e.version);if(s===e.installPath&&l===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${l}`,f.new=l,f.info=fo(a),sc(f,r.Time)}else{let[t]=await Qo(e.image.ref.fullImage,v),n=bc(t,`docker`,o).tags,r=rs(n,e.image.ref.tag,d.semvers,d.cooldownDays,d.now,d.pinnedRange,d.usePre,d.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await x(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=ws(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=hs(e.image.ref),sc(f,r.date)}}catch(t){le(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Xe)}finally{await en()}if(!dc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let tt=(e,t)=>{let n=e.split(`
|
|
21
|
-
`),r=new Map(z(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!
|
|
22
|
-
`)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=
|
|
23
|
-
`).map((e,n)=>o.has(n)?
|
|
24
|
-
`))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=P[e];n&&
|
|
20
|
+
`)}async function Ws(e,t){let n=Hs(t.cratesIoUrl,e);return[await Q(Bs,t,n,async()=>{let r=await _n(n,t,ln(),Us);`body`in r||dr(r.res,n,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of r.body.split(`
|
|
21
|
+
`)){if(!e)continue;let t;try{t=JSON.parse(e)}catch{continue}if(c++,!t?.vers||t.yanked)continue;let n=t.vers.split(`+`)[0];i[n]={},t.pubtime&&(a[n]=t.pubtime);let r=U(n);r&&(r.prerelease.length?(!s||gt(n,s))&&(s=n):(!o||gt(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Gs(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];lt(a)&&$e(t,i,a)}return t}const Ks=/^\d/,qs=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Js=/^(\s*)(.*?)(\s*)$/s,Ys=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return Ks.test(t)&&!qs.test(t)?`^${t}`:t}).join(` `);function Xs(e,t){let[,n,r,i]=Js.exec(e);if(r.startsWith(`<`)&&q(t,r))return e;let a=qs.exec(r),o;if(a){if(U(t)?.prerelease.length)o=t;else{let[,e,n]=a;o=`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${n}`}}else o=Ks.test(r)?na(ra(`^${r}`),t,`^${r}`).replace(/^\^/,``):na(ra(r),t,r);return`${n}${o}${i}`}function Zs(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Xs(e,t)).join(``)}function Qs(e,t,n){let r=e.get(t);if(!r)return;let i=Ys(n),a;for(let e of r)q(e,i)&&(!a||gt(e,a))&&(a=e);return a}const $s=e=>{let t=z(e);return`(?:${t}|"${t}"|'${t}')`},ec=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,tc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/;function nc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){let r=0;for(;e[n-r-1]===`\\`;)r++;e.startsWith(t,n)&&!(t===`"""`&&r%2)&&(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function rc(e){let t=[],n=``,r=0;for(let i of e.split(`
|
|
22
|
+
`)){let a=n?null:tc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=nc(i,n),r+=i.length+1}return t}function ic(e,t){let n=rc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=$s(i),c=z(a),l=t.startsWith(`[`)?JSON.parse(ec.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map($s).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=nc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const ac=/^(!?)\/(.*)\/(i?)$/,oc=e=>e.isHash&&!!e.comment&&!Qn(e.comment),sc=[...new Set(Object.values(je)),`actions`,`docker`,`make`],cc=new Set(sc),lc={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},uc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},dc=(e,t)=>cn(typeof e==`string`?e:t),fc=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function pc(e,t){let n=new Map,r=new Set(e);return Qe(t,e=>{for(let t of r){let i=_(e,t);try{a(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function mc(e,t){t&&(e.date=t,e.age=Kt(t,{noAffix:!0,shortUnits:!0}))}const hc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,gc=(e,t,n,r)=>hc(`${e}${t}`,n,r),_c=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?ei(n):`${ei(n)}|${t}`)},vc=e=>Object.values(e).some(e=>Object.keys(e).length>0),yc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),bc=(e,t)=>bi.has(e)?xi(t):t;function xc(e,t){return t===`go`?[e,vo(e)]:t===`docker`?Ho(e):t===`pypi`?[e,yc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&ke.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...xc(e,a),...xc(o,a)])),c=(t,n)=>Nr(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}function Sc(t){let n=new Set;if(t?.length)for(let e of t){let t;try{t=d(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=y(e);try{r=u.native(e)}catch{}if(t.isFile())n.add(r);else if(t.isDirectory()){try{for(let e of l(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(je,e.name)||bs(e.name)||ws(e.name))&&n.add(y(_(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=Ae.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&Ae.some(t=>e.endsWith(`/${t}`)),a=t?[h(e)]:i?[e]:Ae.map(t=>_(e,t));for(let e of a)for(let t of jo(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(Ae),r=[...Object.keys(je),..._s,...Cs,...Ae],i=new Set;for(let[a,o]of pc(r,e())){if(t.has(a)){for(let e of jo(o))n.add(e);continue}let e=y(o);try{e=u.native(o)}catch{}i.has(e)||(i.add(e),n.add(y(o)))}try{for(let t of l(e(),{withFileTypes:!0})){let r=bs(t.name)&&!_s.includes(t.name),i=ws(t.name)&&!Cs.includes(t.name);t.isFile()&&(r||i)&&n.add(y(_(e(),t.name)))}}catch{}}let r=[];for(let e of Array.from(n)){let t=m(e);Object.hasOwn(uc,t)&&(r.push(e),n.delete(_(h(e),uc[t])))}return r.length?new Set([...r,...n]):n}function Cc(e,t){r===`win32`&&f(e,0),p(e,t,r===`win32`?{flag:`r+`}:void 0)}const wc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Tc(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Ec(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>sc.indexOf(e)-sc.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=wc(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Li(a.oldOrig)&&(a.old=e===`go`?yo(a.oldOrig):a.oldOrig),e===`go`?a.new=yo(a.new):e===`actions`&&!a.digestOnly&&(a.old=Z(a.old),a.new=Z(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(wc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${Tc(s)}`:o,l=t.results[e]??={};(l[Tc(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function Dc(e,t){if(!t)return()=>!0;let n=ac.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>q(ft(Wo(e)?.version??``)?.version??``,t):e===`pypi`?e=>ha(e,t):e=>q(e,t)}function Oc(e,t,n){if(!n)return e;let r=Dc(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function kc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Ac(e)}finally{n()}}async function Ac(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=He(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=dc(t.forgeapi,X.forgeapi),s=Ta(t.goproxy),c=Ea(),l=!n.noColor&&(n.color||i.isTTY),u=e=>l?t=>ee(e,String(t),{validateStream:!1}):String,d=u(`magenta`),f=u(`green`),p=u(`red`),g,v={execFile:async(e,t,n)=>(await Pn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:dc(t.pypiapi,X.pypiapi),jsrApiUrl:dc(t.jsrapi,X.jsrapi),goProxyUrl:s[0].url,goProxyChain:s,cratesIoUrl:dc(t.cargoapi,X.cargoapi),dockerApiUrl:dc(t.dockerapi,X.dockerapi),doFetch:(e,t)=>(g??=Sn(v))(async()=>{n.verbose&&console.error(`${Re()} ${d(t?.method||`GET`)} ${e}`);let r=await fn(e,t);return n.verbose&&console.error(`${Re()} ${r.ok?f(r.status):p(r.status)} ${e}`),r}),noCache:!!n.noCache},b=new Map,x=async(e,t,n)=>{let r=`${e}${t}${n}`,i=V(b,r,()=>Qo(e,t,n,v));try{return await i}catch(e){throw b.get(r)===i&&b.delete(r),e}};for(let e of n.modes??[])if(!cc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${sc.join(`,`)}`);let S=n.modes?.length?new Set(n.modes):cc,te=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?Hr(e.include):void 0,exclude:e.exclude?.length?Hr(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Ve(String(e.cooldown))})),n=e.renovateVersionRules??[];return{greatest:Kr(e.greatest),prerelease:Kr(e.prerelease),release:Kr(e.release),patch:Kr(e.patch),minor:Kr(e.minor),allowDowngrade:Kr(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}};S.has(`actions`)&&Ln();let C=new WeakMap;function ne(e,t,n,r=n){let i=V(C,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...xc(n,t),...xc(r,t)])),c=e=>s.some(t=>Le(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h;for(let t of e.overrides)t.include&&s.every(e=>!Le(e,t.include))||t.exclude&&s.some(e=>Le(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let g=f?lc.patch:p?lc.minor:lc.major,_;for(let t of e.renovateVersionRules)Ar(t,n,r)&&(t.allowedVersions!==void 0&&(_=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:g,allowDowngrade:m,cooldownOverride:h,allowedVersions:_},i.set(a,o)}return o}Wr(n.pin);let T=n.pin??{},re=(e,t,n)=>{let r=e.find(e=>T[e]);if(r)return{pinnedRange:T[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ie=(e,t,n,r,i,a,o)=>{let s=ne(e,t,n,r);return{...s,...re(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},le=(e,t,n)=>{delete E[e][t],A(e,t,n)},ue={},j=Date.now(),fe=e(),pe=e=>e.replace(`${fe}/`,``).replace(`${fe}\\`,``),M=(e,t,n,r,i,a)=>{E[e][gc(t,n,r)]={old:i,oldOrig:a}},me=(e,t,n)=>{if(zi(n))return;let r=Vi(n);if(Li(n))E.npm[e]={old:Wi(n,t).version,new:``,oldOrig:n};else if(J(n))E.npm[e]={old:ra(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:ra(r.range),new:``,oldOrig:n};else if(Ri(n))return;else ae[e]={old:n}},he=(e,t,n,r,i,a,o)=>{let s=new Set(Object.keys(t.tool?.uv?.sources??{}).map(yc)),c=(t,r)=>{for(let{name:o,version:c,spec:l}of De(t))s.has(yc(o))||$(o,e,i,a,r)&&(M(e,r,n,o,ra(c),c),ce.set(gc(r,n,o),l))};for(let[s,l]of Ie(r,t)){let t=l||{};if(Array.isArray(t)){if(e!==`pypi`)continue;c(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&M(e,s,n,r,ra(o),o)}else{if(e===`npm`&&(s===`overrides`||s===`pnpm.overrides`)){let r=s===`overrides`?[`overrides`]:[`pnpm`,`overrides`],c=(t,l)=>{for(let[u,d]of Object.entries(t))if(typeof d==`string`){let t=xi(u===`.`?l.at(-1)??u:u);if(o?.has(t))continue;let c=Vi(d);if(!$(t,e,i,a,s,e,c?.name??t))continue;let f=[...r,...l,u],p=JSON.stringify(f),m=gc(s,n,t,p);me(m,t,d)}else d&&typeof d==`object`&&!Array.isArray(d)&&c(d,[...l,u])};c(t,[]);continue}for(let[r,l]of Object.entries(t)){if(e===`pypi`&&Array.isArray(l)){c(l,`${s}.${r}`);continue}typeof l==`string`&&(o?.has(bc(s,r))||$(r,e,i,a,s,e,(e===`npm`?Vi(l):null)?.name??r)&&(e===`npm`?me(gc(s,n,r),r,l):e===`go`?M(e,s,n,r,yo(l),Z(l)):J(l)&&M(e,s,n,r,ra(l),l)))}}}},ge=Sc(n.files),N=new Map(await L(Array.from(ge).filter(e=>{if(Ao(e))return S.has(`actions`)||S.has(`docker`);let t=m(e);return bs(t)?S.has(`docker`):ws(t)?S.has(`make`):S.has(je[t])}),async e=>{try{return[e,await w(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),P={},_e=[],ve=[],ye=[],be=[],xe=[],Se=[],Ce=[],we=[],Te={},F=(e,t,n)=>{(Te[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Ee=t[Rr],ke=Ee&&new Set(Ee.cliKeys),Ae=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ke||ke.has(e)))),I=et(async e=>{let t={...await Jr(e),...Ae};return{modeConfig:t,include:Hr(t.include??[]),exclude:Hr(t.exclude??[]),versionConfig:te(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Ve(String(t.cooldown)):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Oe:e===`pypi`?Me:e===`go`?t.indirect?Ne:Ne.filter(e=>e!==`indirect`):e===`cargo`?[...Pe,...Fe]:[]}let Be=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),z=e=>{let t=[],n=-1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function Ue(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=hc(t,e.fullImage,r);if(E.docker[i])return;let a=Wo(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Ce.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let We=new Map,Ge=new Map;for(let e of ge){let t=m(e);if(t===`package.json`){let t=N.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&Ge.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=N.get(e);if(!t)continue;try{let n=de(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}catch{}}}let Ke={cargo:We.size,go:Array.from(ge).filter(e=>m(e)===`go.work`).length,npm:new Set([...Ge.keys(),...Array.from(ge).filter(e=>m(e)===`pnpm-workspace.yaml`)]).size},qe=(e,t,n,r,i)=>{let a=ue[e]??=[],o=!a.length&&!Ke[e],s=o?`.`:pe(t);return a.push({absPath:y(t),content:n,memberPath:s,projectDir:r}),F(e,s,Be(i,r)),o?``:`|${s}`},Je=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},B=(e,t,n)=>Ke[e]>1?`${pe(t)}:${n}`:n,Ye=(e,t,n,r,i,a,o)=>{let s=B(`npm`,e,n.memberPath);F(`npm`,s,Be(a,t)),be.push({...n,memberPath:s}),he(`npm`,r,s===`.`?``:`|${s}`,i,a.include,a.exclude,o)};for(let e of We.size||Ge.size?new Set([...We.keys(),...Ge.keys(),...N.keys()]):N.keys()){if(Ao(e)){let t=S.has(`actions`),n=S.has(`docker`),r=N.get(e),i=pe(e),a=await I(h(e)),s=new Set;P[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=Eo(l),t=e&&bo(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=hc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Se.push({...t,key:s,comment:n,apiUrl:xo(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=/^(\s*)(?:-\s*)?(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(l);if(!r)continue;let u=r[1].length;for(;c.length&&c.at(-1).indent>=u;)c.pop();let d=(r[2]??r[3]??r[4]).trim(),f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r[5]){let t=Uo(r[5].replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ue(t,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=m(e),n=y(e);if(bs(t)){let n=N.get(e),r=pe(e),i=ys(t)?`dockerfile`:`compose`,a=await I(h(e));P[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of Ko(n,xs(t)))Ue(e,r,a);continue}if(ws(t)){let t=N.get(e),n=pe(e),r=await I(h(e));P[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:h(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of ks(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=hc(n,e,a);E.make[t]||(E.make[t]={old:Z(a),oldOrig:a},we.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of Ns(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=hc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=Wo(e.ref.tag);if(!a)continue;let o=js(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},we.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=je[t];if(t===`go.work`){E[i]??={};let t=h(n),a=N.get(e),o=ho(a),[{modeConfig:s,include:c,exclude:l,versionConfig:u,pin:d,cooldownDays:f},p]=await Promise.all([I(t),L(o.use,async e=>{let n=go(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await w(n,`utf8`)}}catch{return null}},{concurrency:r})]),m=ze(i,s),g=B(i,e,`.`),_=Be({modeConfig:s,versionConfig:u,pin:d,cooldownDays:f},t);F(i,g,_),ve.push({file:e,content:a,memberPath:g});let v=new Set,y=[];for(let e of p){if(!e)continue;let t=Ka(e.content);t&&v.add(t),y.push({...e,parsed:qa(e.content)})}for(let{usePath:t,modPath:n,content:r,parsed:a}of y){let o=B(i,e,t);F(i,o,_),_e.push({absPath:n,content:r,projectDir:h(n),memberPath:o}),he(i,a,o===`.`?``:`|${o}`,m,c,l,v)}for(let[e,t]of Object.entries(o.replace))!v.has(e)&&$(e,i,c,l,`replace`)&&M(i,`replace`,g===`.`?``:`|${g}`,e,yo(t),Z(t));continue}if(t===`go.mod`&&_e.some(e=>e.absPath===n)||t===`package.json`&&be.some(e=>e.absPath===n)||t===`Cargo.toml`&&ye.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=N.get(e),a=We.get(e)??de(t),o=h(n),s=pc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length>0,[u,d,f]=await Promise.all([I(o),s?w(s,`utf8`):Promise.resolve(null),l?ai(c,o,`Cargo.toml`,r):Promise.resolve([])]),{modeConfig:p,include:m,exclude:g}=u,_=ze(i,p),v=d?Gs(d):new Map,y=(e,t)=>{for(let[n,r]of Ie(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,m,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;J(Ys(e))&&(o!==r&&oe.set(gc(n,t,r),o),M(i,n,t,r,Qs(v,o,e)??ra(Ys(e)),e))}else typeof a==`string`&&J(Ys(a))&&M(i,n,t,r,Qs(v,r,a)??ra(Ys(a)),a)}}}};if(l){let r=B(i,e,`.`),s=Be(u,o);F(i,r,s),y(a,r===`.`?``:`|${r}`),ye.push({absPath:n,content:t,memberPath:r});for(let t of f){let n=B(i,e,t.memberPath);F(i,n,s),ye.push({...t,memberPath:n}),y(Je(t.absPath,()=>de(t.content)),`|${n}`)}}else y(a,qe(i,e,t,o,u));continue}if(t===`package.json`&&Ge.has(e)){E[i]??={};let t=h(n),a=N.get(e),o=Ge.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,u]=await Promise.all([I(t),ai(c,t,`package.json`,r)]),d=ze(i,l.modeConfig),f=new Set,p=[];for(let e of u){let t=Je(e.absPath,()=>JSON.parse(e.content));typeof t.name==`string`&&t.name&&f.add(t.name),p.push({member:e,pkg:t})}Ye(e,t,{absPath:n,content:a,memberPath:`.`},o,d,l,f);for(let{member:n,pkg:r}of p)Ye(e,t,n,r,d,l,f);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=h(n),o=N.get(e),s=vi(o),c=_(a,`package.json`),[l,u,d]=await Promise.all([I(a),R(w(c,`utf8`)),ai(s,a,`package.json`,r)]),f=ze(i,l.modeConfig),p=B(i,e,t);F(i,p,Be(l,a)),xe.push({absPath:n,content:o,memberPath:p});for(let{type:e,name:t,value:n}of gi(o))$(t,i,l.include,l.exclude,e,i,Vi(n)?.name??t)&&me(gc(e,`|${p}`,t),t,n);for(let{selector:e,value:t}of z(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=gc(r,`|${p}`,e,a);D.set(o,n),O.set(o,e),me(o,e,t)}if(u!==null){let t=Je(c,()=>JSON.parse(u));Ye(e,a,{absPath:y(c),content:u,memberPath:`.`},t,f,l)}for(let t of d)Ye(e,a,t,Je(t.absPath,()=>JSON.parse(t.content)),f,l);continue}E[i]??={};let a=h(n),s=await I(a),{modeConfig:c,include:l,exclude:u}=s,d=ze(i,c),f=N.get(e);he(i,Je(e,()=>i===`npm`?JSON.parse(f):i===`pypi`?de(f):qa(f)),qe(i,e,f,a,s),d,l,u)}let Xe=Object.keys(ae).length>0;if(!vc(E)&&!Xe)return{results:{},message:`No dependencies found, nothing to do.`};let Ze=[],Qe=(e,t)=>D.get(e)??se.get(e)?.name??bc(e.split(`\0`)[0].split(`|`)[0],t),$e={needsDates:Te.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1};for(let[e,t]of Object.entries(Te))!Object.keys(E[e]).length&&(e!==`npm`||!Xe)||Ze.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=new Map,s=E[e],l=async(t,r,i)=>{let l=ei(r),{modeConfig:u,versionConfig:f,projectDir:p,pin:m,cooldownDays:h}=a(r),g=s[t],_=se.get(t),[y,b]=await(e===`npm`?g.oldOrig&&Li(g.oldOrig)?Gi(i,v):Fi(Qe(t,i),l,u,$e,v,p,g.old):e===`go`?co(i,r,g.oldOrig||g.old,p,v,c):e===`cargo`?Ws(oe.get(t)??i,v):da(i,v)),x=y;if(x.error)throw Error(x.error);let S=l===`packageManager`?i:x.name,{useGreatest:ee,usePre:te,useRel:C,semvers:w,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(f,e,S,i,m,u.pinNoDowngrade,h);x=Oc(x,e,T);let{old:D,oldOrig:O}=g,k=An(x,{usePre:te,useRel:C,useGreatest:ee,semvers:w,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?j:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=Zs(O,k);else if(k){if(O&&Li(O)){let e=fc.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${na(D,k,_.range,l)}`:na(D,k,O,l)}let le=ce.get(t);if(!k||k===D||O&&O===A||le&&!ga(le,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${Re()} ${d(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let ue=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;g.new=A,O&&Li(O)&&(g.newPrint=k),e===`npm`?o.set(t,{name:Qe(t,i),promise:Ii(x.name,k,u,$e,v,p)}):g.info=e===`pypi`?_r(x,b,x.info.name):e===`go`?_o(x.newPath||i):`https://crates.io/crates/${x.name}`,mc(g,ue)};if(await L(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await l(t,n,r)}catch(n){le(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=_r({repository:r.repository,homepage:r.homepage},null,t),mc(i,r.date))})),e===`npm`&&Xe){let e=(await L(Object.entries(ae),async([e,t])=>{try{return await sa(e,t,v)}catch(t){return A(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)mc(s[t]={old:ae[t].old,new:n,oldPrint:Zn.test(a)?a.substring(0,7):a,newPrint:Zn.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Qe(t,i):i,u=ne(c,e,l,i).cooldownOverride??o;u&&!an(n,u,j)&&delete s[t]}})());let tt=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Se.length&&Ze.push((async()=>{await L(Map.groupBy(Se,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!oc(e):Qn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=tt(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===X.forgeapi?[]:e.filter(oc).map(e=>e.comment)],c=[];try{s.length&&(c=await ur(t,n,i,v,o?[]:s,!!a.length))}catch(t){for(let n of e)le(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=Vt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=et(e=>So(t,n,i,e,v)),m=et(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===X.forgeapi?`commits`:`branches`,o=await qn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,v);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=new Set;for(let o=0;o<20;o++){let o=On({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(an(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:Qn(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C}=tt(e),w=Qn(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:Vt,pinnedRange:ee,pinNoDowngrade:te,cooldownDays:C||void 0,now:C?j:void 0},S?l.filter(Dc(`actions`,S)):l):null;if(!w){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,mc(c,await R(p(e)));return}let{tag:ne,commitSha:T,date:re}=w;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=Co(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,mc(c,re||(T?await R(p(T)):``))};await L(e,async e=>{try{await g(e)}catch(t){le(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),Ce.length&&Ze.push((async()=>{await L(Map.groupBy(Ce,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await rs(e,v);n=t}catch(e){for(let n of t)le(`docker`,n.key,e);return}await L(t,async t=>{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=Oc(n,`docker`,c).tags,f=!t.ref.digestOnly&&Wo(i)?us(d,i,a,u||void 0,u?j:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await x(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=Ss(t.ref),mc(r,f?.date)},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),we.length&&Ze.push((async()=>{await L(we,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u}=ie(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),d={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:l,cooldownDays:u||void 0,now:u?j:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await Rs(e.installPath,e.projectDir,v,c);if(!t){delete E.make[e.key];return}let[n]=await co(t,`tool`,Z(e.version),e.projectDir,v,c),r=Oc(n,`go`,o),i=An(r,{...d,mode:`go`,range:Z(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??Fa(t,i),s=`${a}${e.installPath.slice(t.length)}`,l=mr(i,e.version);if(s===e.installPath&&l===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${l}`,f.new=l,f.info=_o(a),mc(f,r.Time)}else{let[t]=await rs(e.image.ref.fullImage,v),n=Oc(t,`docker`,o).tags,r=us(n,e.image.ref.tag,d.semvers,d.cooldownDays,d.now,d.pinnedRange,d.usePre,d.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await x(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=js(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=Ss(e.image.ref),mc(f,r.date)}}catch(t){le(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Ze)}finally{n.noCache||await nn()}if(!vc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let nt=(e,t)=>{let n=e.split(`
|
|
23
|
+
`),r=new Map(z(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!_c(e,t)||!o||o.value!==(a.oldOrig||a.old))continue;let s=n[o.lineNumber];n[o.lineNumber]=`${s.slice(0,o.valueIndex)}${a.new}${s.slice(o.valueIndex+o.value.length)}`}return n.join(`
|
|
24
|
+
`)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=ni(E[e],r.memberPath);Object.keys(t).length&&Cc(r.absPath,n(r.content,t,r))}},t=new Map(Se.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]),r=n(Object.entries(E.actions??{})),i=n(Object.entries(E.docker??{})),a=Map.groupBy(we.filter(e=>e.newSpec&&E.make?.[e.key]),e=>e.key.split(`\0`)[0]);for(let n of Object.keys(E).sort((e,t)=>(e===`docker`)-+(t===`docker`)))if(Object.keys(E[n]).length){if(n===`actions`){for(let[e,n]of r){let{absPath:r,content:i}=P[e]||{};if(!r)continue;let a=Oo(i,n.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:Zn.test(n.old)?n.newPrint:void 0}}));Cc(r,a),P[e].content=a}continue}if(n===`docker`){for(let[e,t]of i){let n=P[e];if(!n)continue;let{absPath:r,content:i,fileType:a,workflowLines:o}=n;Cc(r,(a===`dockerfile`?ms:a===`compose`?hs:(e,t)=>e.split(`
|
|
25
|
+
`).map((e,n)=>o.has(n)?gs(e,t):e).join(`
|
|
26
|
+
`))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=P[e];n&&Cc(n.absPath,zs(n.content,t.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}continue}if(n===`go`){for(let e of[..._e,...ue.go??[]]){let t=ni(E[n],e.memberPath);if(!Object.keys(t).length)continue;let[r,i]=uo(e.content,t);r!==e.content&&Cc(e.absPath,r),mo(e.projectDir,i,Cc)}for(let e of ve){let t=Object.fromEntries(Object.entries(ni(E[n],e.memberPath)).filter(([e])=>ei(e.split(`\0`)[0])===`replace`));if(Object.keys(t).length){let[n]=uo(e.content,t);n!==e.content&&Cc(e.file,n)}}}else n===`cargo`?e(n,[...ye,...ue.cargo??[]],ic):n===`npm`?(e(n,xe,(e,t,n)=>nt(_i(e,t),n.memberPath)),e(n,[...be,...ue.npm??[]],Ki)):e(n,ue[n]??[],xa)}}let rt=Ec(E);return k.length&&(rt.errors=k),rt}function jc(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Mc(e){let t=Br(e);if(t!==!1)return t===!0||Array.from(t).map(jc)}function Nc(t){if(!t)return e();let n=y(t),r=!1;try{r=d(n).isDirectory()}catch{}return r?n:h(n)}function Pc(e,t){let n=Br(e.file),r=[...n instanceof Set?n:[],...t];return{filesList:r,startDir:Nc(r[0])}}function Fc(e){let t=S({strict:!1,allowPositionals:!0,tokens:!0,options:zr,...e!==void 0&&{args:e}}),n=Object.create(null),r=new Set,i=(e,t)=>{zr[e]?.multiple?(n[e]??=[]).push(t):n[e]=t},a=0;for(let[e,o]of t.tokens.entries()){if(o.kind===`positional`&&a++,o.kind!==`option`)continue;if(o.inlineValue||!o.value?.startsWith(`-`)){i(o.name,o.value??!0);continue}let s=o.value.startsWith(`--`),c=t.tokens[e+1],l=c?.kind===`positional`?c.value:void 0,u=[],d=o.value.substring(s?2:1),f=!1;if(s){let e=Vr(d);e&&(f=zr[e].type===`string`&&l!==void 0,u.push({key:e,value:!f||l}))}else for(let e=0;e<d.length;){let t=Vr(d[e]);if(!t){u.length=0;break}if(zr[t].type===`boolean`)u.push({key:t,value:!0}),e++;else{let n=d.substring(e+1);f=!n&&l!==void 0,u.push({key:t,value:n||!f||l}),e=d.length}}if(!u.length){i(o.name,o.value);continue}zr[o.name]?.multiple?n[o.name]??=[]:n[o.name]=!0,f&&r.add(a);for(let{key:e,value:t}of u)i(e,t)}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Ic(e,t){let{filesList:n,startDir:r}=Pc(e,t),i=await Jr(r),a={};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),typeof e.timeout==`string`&&(a.timeout=He(e.timeout,`timeout`)),typeof e.sockets==`string`&&(a.sockets=He(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=e.cooldown);let o=Ur(e.include).map(jc),s=Ur(e.exclude).map(jc);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=Ur(e.types);c.length&&(a.types=c);let l=Gr(e.pin);Object.keys(l).length&&(a.pin=l);let u=Br(e.modes);u instanceof Set&&(a.modes=Array.from(u));for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=Mc(e[t]);n!==void 0&&(a[t]=n)}let d=Mc(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);let f={...i,pin:void 0,...a};return Object.defineProperty(f,Rr,{value:{cliKeys:Object.keys(a)}}),f}export{Re as $,Pe as A,et as B,mo as C,Rr as D,uo as E,V as F,Ve as G,ke as H,Ne as I,De as J,Te as K,ve as L,z as M,Ie as N,Ee as O,Ae as P,ze as Q,Ue as R,po as S,yo as T,Oe as U,je as V,L as W,$e as X,Xe as Y,F as Z,wa as _,Aa as a,Ta as b,no as c,Fa as d,R as et,Za as f,Ea as g,Ka as h,Pa as i,I as j,Fe as k,co as l,qa as m,Ic as n,Ze as nt,Na as o,ka as p,He as q,kc as r,Qe as rt,Ca as s,Fc as t,Me as tt,_o as u,ho as v,vo as w,go as x,ro as y,Le as z};
|
package/dist/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$ as e,A as t,B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,
|
|
1
|
+
import{$ as e,A as t,B as n,F as r,G as i,H as a,I as o,J as s,K as c,L as l,M as u,N as d,O as f,P as p,Q as m,R as h,U as g,V as _,W as v,X as y,Y as b,Z as x,et as S,j as C,k as w,nt as T,q as E,rt as D,tt as O,z as k}from"./shared.js";export{f as anchorSpecifier,w as cargoTargetTypes,t as cargoTypes,C as commaSeparatedToArray,u as esc,d as expandDepTypes,p as forgeDirs,r as getOrSet,o as goTypes,l as highlightDiff,h as longestFirstAlternation,k as matchesAny,n as memoizeAsync,_ as modeByFileName,a as nonPackageEngines,g as npmTypes,v as pMap,i as parseDuration,c as parsePep508,E as parsePositiveInt,s as parseUvDependencies,b as patternToRegex,y as pushTo,x as serializePep508,m as textTable,e as timestamp,S as tryOrNull,O as uvTypes,T as walkUp,D as walkUpSync};
|