updates 19.2.1 → 19.2.2

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 CHANGED
@@ -13,7 +13,7 @@
13
13
  - `Cargo.toml` - rust dependencies, including workspaces
14
14
  - `.{github,gitea,forgejo}/{workflows,actions}`, `workflow-templates`, `action.{yml,yaml}` - actions and docker images
15
15
  - `{Docker,Container}file*`, `*.{Docker,Container}file`, `compose*.{yml,yaml}`, `docker-*.{yml,yaml}` - docker images
16
- - `Makefile`, `*.mk`, `*.sh` - go tool versions in `go install` paths and docker image tags
16
+ - `Makefile`, `*.mk`, `*.sh` - go tool versions in `go install` paths and docker image tags, of any registry in variables named `*_IMAGE`
17
17
 
18
18
  ## Usage
19
19
 
@@ -87,6 +87,7 @@ Mirrors the [CLI options](#options) in camelCase, with `--file` as `files`, plus
87
87
 
88
88
  - `overrides` *Array\<Override>*: Per-package option overrides (see [Overrides](#overrides))
89
89
  - `inherit` *object*: Fields to inherit from other tools' configs (see [Renovate config](#renovate-config))
90
+ - `filePatterns` *object*: Extra files per mode, currently only `actions`, as path globs or RegExps relative to the current directory, e.g. `{actions: [/\.ya?ml\.tmpl$/]}` for templated workflows. Files another mode reads are left to it
90
91
 
91
92
  `include`, `exclude` and the `dep` options take `Array<string | RegExp>`, `pin` takes a `Record<string, string>` keyed by exact dependency name, `files`, `modes`, `includePaths` and `excludePaths` take `Array<string>`.
92
93
 
@@ -109,7 +110,7 @@ export default {
109
110
 
110
111
  ### Renovate config
111
112
 
112
- 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 semver `allowedVersions` ranges become pin ceilings that never downgrade. PyPI `allowedVersions` also accepts PEP 440 specifier sets. Local fields are imported when `extends` is present, but preset contents are not resolved. `minimumReleaseAge` is not inherited unless opted in:
113
+ 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`, and the `github-actions` manager's `managerFilePatterns` and legacy `fileMatch` as `filePatterns.actions`. Exact-name semver `allowedVersions` ranges become pin ceilings that never downgrade. PyPI `allowedVersions` also accepts PEP 440 specifier sets. Local fields are imported when `extends` is present, but preset contents are not resolved. `minimumReleaseAge` is not inherited unless opted in:
113
114
 
114
115
  ```ts
115
116
  export default {
package/dist/api.d.ts CHANGED
@@ -23,6 +23,10 @@ type Config = {
23
23
  includePaths?: Array<string>;
24
24
  /** Skip paths matching these globs, replacing `defaultExcludePaths` */
25
25
  excludePaths?: Array<string>;
26
+ /** Extra files per mode, matched by path glob or RegExp */
27
+ filePatterns?: {
28
+ actions?: Array<string | RegExp>;
29
+ };
26
30
  /** Which modes to enable */
27
31
  modes?: Array<string>;
28
32
  /** Update versions and write dependency files */
package/dist/shared.js CHANGED
@@ -1,17 +1,17 @@
1
- import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o}from"node:process";import{parseArgs as s,promisify as c,stripVTControlCharacters as l,styleText as u}from"node:util";import{basename as d,dirname as f,isAbsolute as p,join as m,relative as h,resolve as g,sep as _}from"node:path";import{accessSync as v,existsSync as y,globSync as b,lstatSync as x,readFile as S,readFileSync as C,readdirSync as w,realpathSync as T,statSync as E,truncateSync as D,writeFileSync as O}from"node:fs";import{text as ee}from"node:stream/consumers";import{pathToFileURL as te}from"node:url";import{access as ne,mkdir as k,readFile as re,readdir as ie,realpath as ae,rename as oe,stat as se,unlink as A,utimes as ce,writeFile as j}from"node:fs/promises";import{AsyncLocalStorage as le}from"node:async_hooks";import{Buffer as ue}from"node:buffer";import{setTimeout as de}from"node:timers/promises";import{createHash as M}from"node:crypto";import{homedir as N}from"node:os";import{execFile as fe}from"node:child_process";function pe(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&&(e.charCodeAt(t)<48||e.charCodeAt(t)>57);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const me=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,he=/^(\s*\()([^)]*)(\)\s*)$/,ge=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,_e=/* @__PURE__ */ new Set([`===`,`==`,`>=`,`~=`]),ve=/^v?\d[0-9a-z.!+_-]*$/i;function ye(e){let t=[];for(let n of e.split(`,`)){let e=ge.exec(n);if(!e)return null;let[r,i,a,o,s,c]=e;t.push({lead:i,op:a,sep:o,version:s,trail:c})}return t}function P(e){let t=e.indexOf(`;`),n=me.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[r,i,a,o,s,c,l]=n,u=he.exec(l);return{name:a,extras:s,specifiers:ye(u?u[2]:l),marker:t===-1?``:e.slice(t),head:`${i}${a}${o}${s}${c}`,open:u?.[1]??``,close:u?.[3]??``}}function be({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 xe(e){return e.find(({op:e,version:t})=>_e.has(e)&&ve.test(t))}function Se(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=P(n);if(!e?.specifiers)continue;let r=xe(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Ce=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],we=[`node`,`deno`,`bun`],Te=[`.github`,`.gitea`,`.forgejo`],Ee={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},De=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`,`build-system.requires`,`tool.uv.dev-dependencies`],Oe=[`deps`,`indirect`,`replace`,`tool`],ke=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Ae=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function je(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 Me(e,t){if(typeof t==`boolean`)return t;for(let n of t)if(n.test(e))return!0;return!1}function Ne(e){return e.split(`,`).filter(Boolean)}function Pe(){let e=/* @__PURE__ */ new Date;return(/* @__PURE__ */ new Date(e.getTime()-e.getTimezoneOffset()*6e4)).toISOString().replace(`T`,` `).slice(0,-1)}function Fe(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+=`
2
- `)}return i}const F={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ie(e){let[t,n,r]=/^(\d+(?:\.\d+)?)(?:\s*([a-z]))?$/i.exec(e)??[],i=r?F[r.toLowerCase()]:1;if(!n||!i)throw Error(`Invalid cooldown value: ${e}`);return Number(n)*i}function Le(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function I(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 L(e){try{return await e}catch{return null}}const R=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function Re(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(R).join(`|`)}var z=class extends RegExp{#e;constructor(e,t,n){super(e,n),this.#e=t}test(e){return this.#e(e)}};function ze(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 Be(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 Ve(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return ze(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 He(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(R(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===`{`||`@+?*!`.includes(a)&&e[i+1]===`(`){let o=a===`{`,s=o?i:i+1,c=Be(e,s,e[s],o?`}`:`)`);if(c===-1)r(R(a));else{let r=e.slice(s+1,c),l=(o?Ve(r):ze(r)).map(He),u=l.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${u})(?:/|$))[^/]*`:`(?:${u})${o||a===`@`?``:a}`;let d=l.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:d}:{kind:`alternatives`,alternatives:d,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=c}}else r(R(a))}return{source:t,tokens:n}}function Ue(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=H(n,e,()=>/* @__PURE__ */ new Map),s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ 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 We(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 z(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}=He(e.slice(n));return new z(`^${i}$`,e=>r!==Ue(a,e),`i`)}async function Ge(e,t){for(let n=e;;n=f(n)){let e=await t(n);if(e)return e;if(f(n)===n)return null}}function B(e,t){for(let n=e;;n=f(n)){let e=t(n);if(e)return e;if(f(n)===n)return null}}function V(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 Ke(e){let t=/* @__PURE__ */ new Map;return n=>H(t,n,()=>e(n))}const qe=`0|[1-9]\\d*`,Je=/^(?:0|[1-9]\d*)$/,Ye=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Xe=RegExp(`^v?(${qe})\\.(${qe})\\.(${qe})(?:-((?:${Ye})(?:\\.(?:${Ye}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Ze=/* @__PURE__ */ new Map;function U(e){return typeof e==`string`?H(Ze,e,()=>{let t=Xe.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,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function Qe(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 $e(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function et(e,t){let n=$e(e,t);if(n!==0)return n;let r=e.prerelease.length,i=t.prerelease.length;if(!r||!i)return i-r;for(let n=0;n<r&&n<i;n++){let r=Qe(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return r-i}function tt(e){return U(e)?.version??null}const nt=/* @__PURE__ */ new Map,rt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function it(e){return typeof e==`string`?H(nt,e,()=>{let t=rt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function at(e,t){let n=et(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($e(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 ot(e,t){let n=U(e),r=U(t);return!!(n&&r&&et(n,r)>0)}function st(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=[];for(let e of t[1].split(`.`))if(/^[xX*]$/.test(e))n.push(null);else if(n.includes(null)||!Je.test(e)||!Number.isSafeInteger(Number(e)))return null;else n.push(Number(e));for(;n.length<3;)n.push(null);let r=`${t[2]??``}${t[3]??``}`;return r&&(n.includes(null)||!U(`${n.join(`.`)}${r}`))?null:{major:n[0],minor:n[1],patch:n[2],suffix:r}}function ct(e,t,n,r,i=``){let a=U(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function lt(...e){return e.every(e=>e!==null)?e:null}function ut(e,t){let n=et(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 dt(e,t,n){return ct(`<`,e,t,n,`-0`)}function ft(e,t){if(e.major===null)return t===`>`||t===`<`?lt(dt(0,0,0)):[];let{major:n,suffix:r}=e,i=e.minor??0,a=e.patch??0,[o,s]=e.minor===null?[n+1,0]:[n,i+1];if(t===`^`||t===`~`){let c=ct(`>=`,n,i,a,r);return t===`^`&&n!==0?lt(c,dt(n+1,0,0)):t===`^`&&e.patch!==null&&i===0?lt(c,dt(0,0,a+1)):lt(c,dt(o,s,0))}return e.patch===null?!t||t===`=`?lt(ct(`>=`,n,i,0),dt(o,s,0)):lt(t===`>`?ct(`>=`,o,s,0):t===`<=`?dt(o,s,0):t===`<`?dt(n,i,0):ct(`>=`,n,i,0)):lt(ct(t||`=`,n,i,a,r))}function pt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t){let e=st(t[1]),n=st(t[2]),r=e&&ft(e,`>=`),i=n&&ft(n,`<=`);return r&&i?[...r,...i]:null}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&&st(t[2]),i=n?ft(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const mt=/* @__PURE__ */ new Map;function ht(e){return H(mt,e,()=>{let t=e.split(`||`).map(e=>pt(e.trim()));return t.every(e=>e!==null)?t:null})}function gt(e,t){return t.some(t=>!ut(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 _t(e,t){return!!ht(t)?.some(t=>gt(e,t))}function W(e,t){let n=U(e);return!!(n&&_t(n,t))}function G(e){return typeof e==`string`&&ht(e)?e:null}const vt=`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]+)*))?`,yt=RegExp(`^${vt}$`,`i`),bt=RegExp(vt,`i`),xt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},St=/* @__PURE__ */ new Map;function K(e){return typeof e==`string`?H(St,e,()=>{let t=yt.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?[xt[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 Ct(e){return K(e)??K(bt.exec(e)?.[0]??``)}const wt=e=>!!e.pre||e.dev!==null;function Tt(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 Et(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?Tt(e.local,t.local):a<o?-1:1}function Dt(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 Ot(e,t){let n=Et(e,t);if(n===0)return null;let r=Dt(e,t);return wt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const kt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,q={parse:U,parseRange:e=>U(kt.exec(e)?.[0]??``)??U(it(e)?.version??``),compare:et,diff:at,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:_t},At=/* @__PURE__ */ new Map;function jt(e){return H(At,e,()=>{let t=e.trim().replace(/^v/i,``);return U(t)??U(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`))??(/^\d/.test(t)?U(it(t)?.version??``):null)})}const Mt={...q,parse:jt,parseRange:jt,isRangePrerelease:e=>!!jt(e)?.prerelease.length},Nt={parse:K,parseRange:Ct,compare:Et,diff:Ot,isPrerelease:wt,isRangePrerelease:e=>{let t=Ct(e);return!!(t&&wt(t))},satisfiesRange:({release:e},t)=>W(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Pt=/[A-Za-z_$][A-Za-z0-9_$]*/y;function Ft(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
1
+ import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o}from"node:process";import{parseArgs as s,promisify as c,stripVTControlCharacters as l,styleText as u}from"node:util";import{basename as d,dirname as f,isAbsolute as p,join as m,relative as h,resolve as g,sep as _}from"node:path";import{accessSync as v,existsSync as y,globSync as b,lstatSync as x,readFile as S,readFileSync as C,readdirSync as w,realpathSync as T,statSync as E,truncateSync as D,writeFileSync as O}from"node:fs";import{text as ee}from"node:stream/consumers";import{pathToFileURL as te}from"node:url";import{access as ne,mkdir as k,readFile as re,readdir as ie,realpath as A,rename as ae,stat as oe,unlink as j,utimes as se,writeFile as M}from"node:fs/promises";import{AsyncLocalStorage as ce}from"node:async_hooks";import{Buffer as le}from"node:buffer";import{setTimeout as ue}from"node:timers/promises";import{createHash as N}from"node:crypto";import{homedir as P}from"node:os";import{execFile as de}from"node:child_process";function fe(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&&(e.charCodeAt(t)<48||e.charCodeAt(t)>57);)t++;r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const pe=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,me=/^(\s*\()([^)]*)(\)\s*)$/,he=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,F=/* @__PURE__ */ new Set([`===`,`==`,`>=`,`~=`]),ge=/^v?\d[0-9a-z.!+_-]*$/i;function _e(e){let t=[];for(let n of e.split(`,`)){let e=he.exec(n);if(!e)return null;let[r,i,a,o,s,c]=e;t.push({lead:i,op:a,sep:o,version:s,trail:c})}return t}function ve(e){let t=e.indexOf(`;`),n=pe.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[r,i,a,o,s,c,l]=n,u=me.exec(l);return{name:a,extras:s,specifiers:_e(u?u[2]:l),marker:t===-1?``:e.slice(t),head:`${i}${a}${o}${s}${c}`,open:u?.[1]??``,close:u?.[3]??``}}function ye({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 be(e){return e.find(({op:e,version:t})=>F.has(e)&&ge.test(t))}function xe(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=ve(n);if(!e?.specifiers)continue;let r=be(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const Se=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],Ce=[`node`,`deno`,`bun`],I=[`.github`,`.gitea`,`.forgejo`],we={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},Te=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`,`build-system.requires`,`tool.uv.dev-dependencies`],Ee=[`deps`,`indirect`,`replace`,`tool`],De=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Oe=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function ke(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 Ae(e,t){if(typeof t==`boolean`)return t;for(let n of t)if(n.test(e))return!0;return!1}function je(e){return e.split(`,`).filter(Boolean)}function Me(){let e=/* @__PURE__ */ new Date;return(/* @__PURE__ */ new Date(e.getTime()-e.getTimezoneOffset()*6e4)).toISOString().replace(`T`,` `).slice(0,-1)}function Ne(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+=`
2
+ `)}return i}const Pe={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Fe(e){let[t,n,r]=/^(\d+(?:\.\d+)?)(?:\s*([a-z]))?$/i.exec(e)??[],i=r?Pe[r.toLowerCase()]:1;if(!n||!i)throw Error(`Invalid cooldown value: ${e}`);return Number(n)*i}function Ie(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 Le(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(z).join(`|`)}var B=class extends RegExp{#e;constructor(e,t,n){super(e,n),this.#e=t}test(e){return this.#e(e)}};function Re(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 ze(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 Be(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Re(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]!==`(`){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===`{`||`@+?*!`.includes(a)&&e[i+1]===`(`){let o=a===`{`,s=o?i:i+1,c=ze(e,s,e[s],o?`}`:`)`);if(c===-1)r(z(a));else{let r=e.slice(s+1,c),l=(o?Be(r):Re(r)).map(V),u=l.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${u})(?:/|$))[^/]*`:`(?:${u})${o||a===`@`?``:a}`;let d=l.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:d}:{kind:`alternatives`,alternatives:d,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=c}}else r(z(a))}return{source:t,tokens:n}}function Ve(e,t){let n=/* @__PURE__ */ new WeakMap,r=(e,n,r)=>{if(!e.has(n))for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=U(n,e,()=>/* @__PURE__ */ new Map),s=o.get(a);if(s)return s;let c=/* @__PURE__ */ new Set([a]);o.set(a,c);for(let n of e){let e=/* @__PURE__ */ 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 He(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));return new B(`^${i}$`,e=>r!==Ve(a,e),`i`)}async function Ue(e,t){for(let n=e;;n=f(n)){let e=await t(n);if(e)return e;if(f(n)===n)return null}}function We(e,t){for(let n=e;;n=f(n)){let e=t(n);if(e)return e;if(f(n)===n)return null}}function H(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function U(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 Ge(e){let t=/* @__PURE__ */ new Map;return n=>U(t,n,()=>e(n))}const Ke=`0|[1-9]\\d*`,qe=/^(?:0|[1-9]\d*)$/,Je=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Ye=RegExp(`^v?(${Ke})\\.(${Ke})\\.(${Ke})(?:-((?:${Je})(?:\\.(?:${Je}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Xe=/* @__PURE__ */ new Map;function W(e){return typeof e==`string`?U(Xe,e,()=>{let t=Ye.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,raw:e,version:`${n}.${r}.${i}${a.length?`-${a.join(`.`)}`:``}`}}):null}function Ze(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 Qe(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function $e(e,t){let n=Qe(e,t);if(n!==0)return n;let r=e.prerelease.length,i=t.prerelease.length;if(!r||!i)return i-r;for(let n=0;n<r&&n<i;n++){let r=Ze(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return r-i}function et(e){return W(e)?.version??null}const tt=/* @__PURE__ */ new Map,nt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function rt(e){return typeof e==`string`?U(tt,e,()=>{let t=nt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function it(e,t){let n=$e(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(Qe(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 at(e,t){let n=W(e),r=W(t);return!!(n&&r&&$e(n,r)>0)}function ot(e){let t=/^v?([^.+-]+(?:\.[^.+-]+){0,2})(-[0-9a-zA-Z.-]+)?(\+[0-9a-zA-Z.-]+)?$/.exec(e);if(!t)return null;let n=[];for(let e of t[1].split(`.`))if(/^[xX*]$/.test(e))n.push(null);else if(n.includes(null)||!qe.test(e)||!Number.isSafeInteger(Number(e)))return null;else n.push(Number(e));for(;n.length<3;)n.push(null);let r=`${t[2]??``}${t[3]??``}`;return r&&(n.includes(null)||!W(`${n.join(`.`)}${r}`))?null:{major:n[0],minor:n[1],patch:n[2],suffix:r}}function st(e,t,n,r,i=``){let a=W(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function ct(...e){return e.every(e=>e!==null)?e:null}function lt(e,t){let n=$e(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 ut(e,t,n){return st(`<`,e,t,n,`-0`)}function dt(e,t){if(e.major===null)return t===`>`||t===`<`?ct(ut(0,0,0)):[];let{major:n,suffix:r}=e,i=e.minor??0,a=e.patch??0,[o,s]=e.minor===null?[n+1,0]:[n,i+1];if(t===`^`||t===`~`){let c=st(`>=`,n,i,a,r);return t===`^`&&n!==0?ct(c,ut(n+1,0,0)):t===`^`&&e.patch!==null&&i===0?ct(c,ut(0,0,a+1)):ct(c,ut(o,s,0))}return e.patch===null?!t||t===`=`?ct(st(`>=`,n,i,0),ut(o,s,0)):ct(t===`>`?st(`>=`,o,s,0):t===`<=`?ut(o,s,0):t===`<`?ut(n,i,0):st(`>=`,n,i,0)):ct(st(t||`=`,n,i,a,r))}function ft(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t){let e=ot(t[1]),n=ot(t[2]),r=e&&dt(e,`>=`),i=n&&dt(n,`<=`);return r&&i?[...r,...i]:null}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&&ot(t[2]),i=n?dt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const pt=/* @__PURE__ */ new Map;function mt(e){return U(pt,e,()=>{let t=e.split(`||`).map(e=>ft(e.trim()));return t.every(e=>e!==null)?t:null})}function ht(e,t){return t.some(t=>!lt(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 gt(e,t){return!!mt(t)?.some(t=>ht(e,t))}function G(e,t){let n=W(e);return!!(n&&gt(n,t))}function K(e){return typeof e==`string`&&mt(e)?e:null}const _t=`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]+)*))?`,vt=RegExp(`^${_t}$`,`i`),yt=RegExp(_t,`i`),bt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},xt=/* @__PURE__ */ new Map;function q(e){return typeof e==`string`?U(xt,e,()=>{let t=vt.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?[bt[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 St(e){return q(e)??q(yt.exec(e)?.[0]??``)}const Ct=e=>!!e.pre||e.dev!==null;function wt(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 Tt(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?wt(e.local,t.local):a<o?-1:1}function Et(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 Dt(e,t){let n=Tt(e,t);if(n===0)return null;let r=Et(e,t);return Ct(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Ot=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,J={parse:W,parseRange:e=>W(Ot.exec(e)?.[0]??``)??W(rt(e)?.version??``),compare:$e,diff:it,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:gt},kt=/* @__PURE__ */ new Map;function At(e){return U(kt,e,()=>{let t=e.trim().replace(/^v/i,``);return W(t)??W(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`))??(/^\d/.test(t)?W(rt(t)?.version??``):null)})}const jt={...J,parse:At,parseRange:At,isRangePrerelease:e=>!!At(e)?.prerelease.length},Mt={parse:q,parseRange:St,compare:Tt,diff:Dt,isPrerelease:Ct,isRangePrerelease:e=>{let t=St(e);return!!(t&&Ct(t))},satisfiesRange:({release:e},t)=>G(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Nt=/[A-Za-z_$][A-Za-z0-9_$]*/y;function Pt(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
3
3
  `&&e[t]!==`\r`;)t++;return t}let n=e.indexOf(`*/`,t+2);if(n===-1)throw SyntaxError(`Unterminated block comment`);return n+2}function a(t){for(;t<r;)if(/\s/.test(e[t]))t++;else if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`))t=i(t);else 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 r=e[n];if(r===`\\`)e[n+1]===`'`?t+=`'`:e[n+1]!==`
4
- `&&(t+=e.slice(n,n+2)),n+=2;else{if(n++,r===`'`){t+=`"`;break}t+=r===`"`?`\\"`:r}}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];r!==`}`&&r!==`]`&&(t+=o),n++;continue}Pt.lastIndex=n;let s=Pt.exec(e);s?(n=Pt.lastIndex,t+=e[a(n)]===`:`?`"${s[0]}"`:s[0]):(t+=o,n++)}return JSON.parse(t.trim())}function It(e){return new Promise((t,n)=>{S(e,`utf8`,(e,r)=>e?n(e):t(r))})}const Lt=m(i===`win32`?t.LOCALAPPDATA||m(N(),`AppData`,`Local`):t.XDG_CACHE_HOME||m(N(),`.cache`),`updates`),Rt=/* @__PURE__ */ new Map,zt=(e,t)=>m(t,`${M(`sha256`).update(e).digest(`hex`)}.cache`),Bt=6048e5;async function Vt(e,t=Lt){try{let n=zt(e,t);if(Date.now()-(await se(n)).mtimeMs>Bt)return await A(n),null;let r=await It(n),i=r.indexOf(`
5
- `),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await L(ce(n,s,s)),{etag:a,body:o}}catch{return null}}const Ht=/* @__PURE__ */ new Set;let Ut=0;function Wt(e,t,n,i=Lt){let a=(async()=>{let a;try{await H(Rt,i,()=>k(i,{recursive:!0}));let o=zt(e,i);a=`${o}.${r}-${Ut++}.tmp`,await j(a,`${t}\n${n}`),await oe(a,o)}catch{a?await L(A(a)):Rt.delete(i)}})();Ht.add(a),(async()=>{await a,Ht.delete(a)})()}async function Gt(e=Lt,t=4096){for(;Ht.size;)await Promise.all(Ht);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await se(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-Bt;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>L(A(e.path))))}catch{}}const Kt=/* @__PURE__ */ new Map;function qt(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(N(),`AppData`,`Roaming`):m(N(),`.config`));return m(e,`updates`,`tokens.json`)}async function Jt(e){let t;try{t=await re(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function Yt(){let e=qt();return H(Kt,e,()=>Jt(e))}async function Xt(e){let t=qt();await k(f(t),{recursive:!0,mode:448}),await j(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await oe(`${t}.tmp`,t),Kt.set(t,Promise.resolve(e))}async function Zt(e,t){await Xt({...await Yt(),[e]:t})}async function Qt(e){let t={...await Yt()};return Object.hasOwn(t,e)?(delete t[e],await Xt(t),!0):!1}var $t=`19.2.1`;function J(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const en=$t,tn=`https://api.github.com`,Y={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:tn,pypiapi:`https://pypi.org`,cargoapi:`https://crates.io`,dockerapi:`https://hub.docker.com`,goproxy:`https://proxy.golang.org`},X=e=>e[0]===`v`?e.substring(1):e,nn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function rn(e,t){return{headers:{"user-agent":`updates/${en}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const an=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function on(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&an.has(t)}const sn=e=>e.replace(/([a-z][a-z\d+.-]*:\/\/)[^/?#\s]*@/gi,`$1`);async function cn(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=on(t),n}}async function ln(e,t,n={}){let r=vn(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=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(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 de(u)}catch(e){if(i>=2||!e?.transient)throw e}}const un=e=>t=>JSON.stringify(e(JSON.parse(t))),dn=/* @__PURE__ */ new WeakMap;function fn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=H(dn,t,()=>/* @__PURE__ */ new Map);return H(s,o,async()=>{try{let o=t.noCache?null:await Vt(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await ln(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&Wt(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function pn(e,t,n={},r,i=e){return fn(e,t,n,r,i,!1)}function mn(e,t,n={},r,i=e){return fn(e,t,n,r,i,!0)}async function Z(e,t,n,r,i=!0){let a=H(e,t,()=>/* @__PURE__ */ 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 hn=new le,gn=e=>Math.max(e.concurrency||50,1),_n=/* @__PURE__ */ new WeakMap;function vn(e){return H(_n,e,()=>{let t=gn(e),n=0,r=0,i=[];return async e=>{if(hn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await hn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function yn(e,t=q){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const bn=/* @__PURE__ */ new WeakMap,xn=/* @__PURE__ */ new WeakMap;function Sn(e,t,n,r,i=q){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?H(t?bn:xn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Q(e){return it(e)?.version??``}function Cn(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=q}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Sn(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)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t)||T&&m.compare(t,T)<=0)continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!J(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function wn(e){return/\d{14}-[0-9a-f]{12}(?:\+incompatible)?$/.test(e)}function Tn({pinnedRange:e,pinNoDowngrade:t},n){let r=Q(n);return!(!e||t||!r||W(r,e))}const En=/* @__PURE__ */ new Map;function Dn({range:e,usePre:t,useRel:n,semvers:r,pinnedRange:i,pinNoDowngrade:a,allowDowngrade:o},s=e){let c=JSON.stringify([e,s,[...r].sort(),t,n,i||``,a,o]);return H(En,c,()=>{let c=q.parse(Q(e));if(!c)return()=>!1;let{effectiveSemvers:l,skipsPrerelease:u}=Sn(e,t,n,r),d=q.parse(s),f=d||q.parseRange(s),p=!!o||Tn({pinnedRange:i,pinNoDowngrade:a},s);return e=>{let t=q.parse(Q(e)),n=q.parse(e),r=wn(e);if(!t||!r&&u(n))return!1;let a=(d&&n?q.diff(d,n):null)??q.diff(c,t),o=r?a===`prerelease`?`patch`:a?.replace(/^pre/,``):a;return!o||!l.has(o)||!p&&n&&f&&q.compare(n,f)<0?!1:!i||W(t.version,i)}})}function On(e){return e.reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=t&&!t.yanked&&typeof n==`string`?Date.parse(n):NaN;return r<e.time?{date:n,time:r}:e},{time:1/0}).date}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,acceptsGoVersion:f}){if(n===`*`)return null;let p=t===`pypi`?Nt:q,m=n.includes(`||`)?n.split(`||`).pop().trim():n,h=[],g=``,_;if(t===`pypi`){let t=e?.releases;if(!t)return null;h=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),_=e=>On(t[e]),g=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(h=Object.keys(e.versions),g=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Q(m)]?.deprecated){let t=h.filter(t=>!e.versions[t]?.deprecated);h=t.length?t:h}}else if(t===`go`){let t=f||Dn({range:m,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d},e.old||m);return t(e.new)&&J(e.Time,l,u)?e.new:t(e.sameMajorNew)&&J(e.sameMajorTime,l,u)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Cn(e,h,{range:m,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:g,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:_,versioning:p})}function An(e){try{return new URL(e).host}catch{return``}}let jn;function Mn(){return jn??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const Nn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],Pn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Fn(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=Pn.exec(n);if(!e)continue;let r=An(e[1]),i=ue.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let In;function Ln(){return In??=(async()=>{try{let{stdout:e}=await(await Mn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Fn(e)}catch{return/* @__PURE__ */ new Map}})()}const Rn=/* @__PURE__ */ new Map,zn=/* @__PURE__ */ new Set;function Bn(e){return e===`api.github.com`?`github.com`:e}async function Vn(e,n){if(!e)return[];let r=Ne(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=Bn(e),a=(await Yt())[i],o=i===`github.com`||e===An(n)?Nn.map(e=>t[e]):[],s=(await Ln()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function Hn(e,t,n=tn){let r=await cn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...rn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var Un=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,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 or run "updates --login ${Bn(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=(await Vn(r,t.forgeApiUrl)).filter(e=>!zn.has(e)),a=async a=>{let o=rn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await ln(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Rn.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 Rn.set(r,t),n;if(n.status===401&&!zn.has(t)){zn.add(t);let e=Bn(r);(await Yt())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&Rn.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=q.parse(X(t));if(!n)return null;let r=``;for(let t of e){let e=q.parse(X(t));e&&q.compare(e,n)>0&&(r=t,n=e)}return 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(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=/^(?:[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,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const er=/* @__PURE__ */ new WeakMap;function tr(e,t,n,r){let i=`${n}${e}`;return Z(er,t,i,async()=>{let n=t.noCache?null:await Vt(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 er.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&Wt(e,s,o),o})}function nr(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,i=t?e?.releaseTimestamp:e?.published_at;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,...i&&{releaseTimestamp:i}}})}async function rr(e,t,n,r){let i=await tr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,total:Number(e.headers.get(`x-total-count`))||0,[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,total:Number(a.total)||0}}function ir(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 ar(e,t,n,r,i){let a=await rr(e(1),t,n,r);if(!a)return;let o=a.total>0?Math.min(Math.ceil(a.total/(a.entries.length||1)),100):ir(a.link),s=gn(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)=>rr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function or(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await ar(r=>`${e}/repos/${t}/${n}/tags?${e.endsWith(`/api/v1`)?`limit`:`per_page`}=100&page=${r}`,r,`tags`,$n,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 sr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return or(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([or(e,t,n,r,i),ar(e=>`${tn}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,nr,e=>{for(let t of e)o.set(t.name,t);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof Un))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value){let t=o.get(e.name);t&&(e.isStable=t.isStable,t.releaseTimestamp&&(e.releaseTimestamp=t.releaseTimestamp))}return s.value}function cr(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function lr(e,t,n=``){let r=X(e),i=X(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 ur(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const dr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function fr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=dr.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=Jn(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${ur(a)}/${e.directory}`:a||t||``}const pr=/^\[\[([^\]]+)\]\]$/,mr=/^\[([^[\]]+)\]$/,hr=()=>Object.create(null);function gr(e){let t=hr(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=Sr(r[e]).trim();if(!i)continue;let a=pr.exec(i);if(a){let e=t,r=xr(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:wr(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=hr(),e[i].push(n);continue}let o=mr.exec(i);if(o){n=wr(t,xr(o[1]));continue}let s=Cr(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=xr(i.slice(0,s)),u=l.pop(),d=wr(n,l),f=c.startsWith(`"""`)&&!c.includes(`"""`,3)?`"""`:c.startsWith(`'''`)&&!c.includes(`'''`,3)?`'''`:``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!yr(c,p)){let t=[c];for(e++;e<r.length;e++){let n=Sr(r[e]);if(t.push(n),yr(n,p))break}d[u]=_r(t.join(`
4
+ `&&(t+=e.slice(n,n+2)),n+=2;else{if(n++,r===`'`){t+=`"`;break}t+=r===`"`?`\\"`:r}}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];r!==`}`&&r!==`]`&&(t+=o),n++;continue}Nt.lastIndex=n;let s=Nt.exec(e);s?(n=Nt.lastIndex,t+=e[a(n)]===`:`?`"${s[0]}"`:s[0]):(t+=o,n++)}return JSON.parse(t.trim())}function Ft(e){return new Promise((t,n)=>{S(e,`utf8`,(e,r)=>e?n(e):t(r))})}const It=m(i===`win32`?t.LOCALAPPDATA||m(P(),`AppData`,`Local`):t.XDG_CACHE_HOME||m(P(),`.cache`),`updates`),Lt=/* @__PURE__ */ new Map,Rt=(e,t)=>m(t,`${N(`sha256`).update(e).digest(`hex`)}.cache`),zt=6048e5;async function Bt(e,t=It){try{let n=Rt(e,t);if(Date.now()-(await oe(n)).mtimeMs>zt)return await j(n),null;let r=await Ft(n),i=r.indexOf(`
5
+ `),a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=/* @__PURE__ */ new Date;return await R(se(n,s,s)),{etag:a,body:o}}catch{return null}}const Vt=/* @__PURE__ */ new Set;let Ht=0;function Ut(e,t,n,i=It){let a=(async()=>{let a;try{await U(Lt,i,()=>k(i,{recursive:!0}));let o=Rt(e,i);a=`${o}.${r}-${Ht++}.tmp`,await M(a,`${t}\n${n}`),await ae(a,o)}catch{a?await R(j(a)):Lt.delete(i)}})();Vt.add(a),(async()=>{await a,Vt.delete(a)})()}async function Wt(e=It,t=4096){for(;Vt.size;)await Promise.all(Vt);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=m(e,t);try{return{path:n,mtime:(await oe(n)).mtimeMs}}catch{return null}}))).filter(e=>e!==null).sort((e,t)=>t.mtime-e.mtime),i=Date.now()-zt;await Promise.all(r.filter((e,n)=>n>=t||e.mtime<i).map(e=>R(j(e.path))))}catch{}}const Gt=/* @__PURE__ */ new Map;function Kt(){let e=t.XDG_CONFIG_HOME||(i===`win32`?t.APPDATA||m(P(),`AppData`,`Roaming`):m(P(),`.config`));return m(e,`updates`,`tokens.json`)}async function qt(e){let t;try{t=await re(e,`utf8`)}catch(e){if(e.code===`ENOENT`)return{};throw e}try{return JSON.parse(t)}catch(t){throw Error(`Could not parse ${e}: ${t.message}`)}}function Jt(){let e=Kt();return U(Gt,e,()=>qt(e))}async function Yt(e){let t=Kt();await k(f(t),{recursive:!0,mode:448}),await M(`${t}.tmp`,`${JSON.stringify(e,null,2)}\n`,{mode:384}),await ae(`${t}.tmp`,t),Gt.set(t,Promise.resolve(e))}async function Xt(e,t){await Yt({...await Jt(),[e]:t})}async function Zt(e){let t={...await Jt()};return Object.hasOwn(t,e)?(delete t[e],await Yt(t),!0):!1}var Qt=`19.2.2`;function Y(e,t,n){return!t||!n||(n-Date.parse(e||``))/864e5>=t}const $t=Qt,en=`https://api.github.com`,X={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:en,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,tn=e=>e.endsWith(`/`)?e.slice(0,-1):e;function nn(e,t){return{headers:{"user-agent":`updates/${$t}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const rn=/* @__PURE__ */ new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function an(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&rn.has(t)}const on=e=>e.replace(/([a-z][a-z\d+.-]*:\/\/)[^/?#\s]*@/gi,`$1`);async function sn(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=an(t),n}}async function cn(e,t,n={}){let r=_n(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=/^\d+$/.test(o)?Number(o)*1e3:Math.max(Date.parse(o)-Date.now(),0),c=Number.isNaN(s)?null:s,l=e.fetchTimeout,u=a.status>=500&&a.status<600?c!==null&&c<=l?c:0:(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 ue(u)}catch(e){if(i>=2||!e?.transient)throw e}}const ln=e=>t=>JSON.stringify(e(JSON.parse(t))),un=/* @__PURE__ */ new WeakMap;function dn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()),n.body??null,r?.toString()]),s=U(un,t,()=>/* @__PURE__ */ new Map);return U(s,o,async()=>{try{let o=t.noCache?null:await Bt(i);if(a&&o)return{body:o.body};let s=o?{...n.headers,"if-none-match":o.etag}:n.headers,c=await cn(t,e,{...n,headers:s});if(c.status===304&&o)return{body:o.body,res:c};if(!c.ok)return{res:c};let l=await c.text();if(r&&l.length>=16384)try{l=r(l)}catch{}let u=a?`immutable`:c.headers.get(`etag`);return u&&!t.noCache&&Ut(i,u,l),{body:l,res:c}}finally{s.delete(o)}})}function fn(e,t,n={},r,i=e){return dn(e,t,n,r,i,!1)}function pn(e,t,n={},r,i=e){return dn(e,t,n,r,i,!0)}async function Q(e,t,n,r,i=!0){let a=U(e,t,()=>/* @__PURE__ */ 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 mn=new ce,hn=e=>Math.max(e.concurrency||50,1),gn=/* @__PURE__ */ new WeakMap;function _n(e){return U(gn,e,()=>{let t=hn(e),n=0,r=0,i=[];return async e=>{if(mn.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await mn.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function vn(e,t=J){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const yn=/* @__PURE__ */ new WeakMap,bn=/* @__PURE__ */ new WeakMap;function xn(e,t,n,r,i=J){let a=t||i.isRangePrerelease(e);return{effectiveSemvers:a?U(t?yn:bn,r,()=>{let e=new Set(r).add(`prerelease`);if(t)for(let t of r)e.add(`pre${t}`);return e}):r,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Sn(e){return rt(e)?.version??``}function Cn(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=J}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=xn(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)),C=e?.time,w=!!(d&&f),T=null;for(let e of t){let t=m.parse(e);if(!t||_(t)||T&&m.compare(t,T)<=0)continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||w&&!Y(p?p(e):C?.[e],d,f))continue;let r=m.diff(h,t),i=r&&!m.isPrerelease(t)?r.replace(/^pre/,``):r;i&&g.has(i)&&(T=t)}return T?.raw??T?.version??null}function wn(e){return/\d{14}-[0-9a-f]{12}(?:\+incompatible)?$/.test(e)}function Tn({pinnedRange:e,pinNoDowngrade:t},n){let r=Sn(n);return!(!e||t||!r||G(r,e))}const En=/* @__PURE__ */ new Map;function Dn({range:e,usePre:t,useRel:n,semvers:r,pinnedRange:i,pinNoDowngrade:a,allowDowngrade:o},s=e){let c=JSON.stringify([e,s,[...r].sort(),t,n,i||``,a,o]);return U(En,c,()=>{let c=J.parse(Sn(e));if(!c)return()=>!1;let{effectiveSemvers:l,skipsPrerelease:u}=xn(e,t,n,r),d=J.parse(s),f=d||J.parseRange(s),p=!!o||Tn({pinnedRange:i,pinNoDowngrade:a},s);return e=>{let t=J.parse(Sn(e)),n=J.parse(e),r=wn(e);if(!t||!r&&u(n))return!1;let a=(d&&n?J.diff(d,n):null)??J.diff(c,t),o=r?a===`prerelease`?`patch`:a?.replace(/^pre/,``):a;return!o||!l.has(o)||!p&&n&&f&&J.compare(n,f)<0?!1:!i||G(t.version,i)}})}function On(e){return e.reduce((e,t)=>{let n=t?.upload_time_iso_8601,r=t&&!t.yanked&&typeof n==`string`?Date.parse(n):NaN;return r<e.time?{date:n,time:r}:e},{time:1/0}).date}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,acceptsGoVersion:f}){if(n===`*`)return null;let p=t===`pypi`?Mt:J,m=n.includes(`||`)?n.split(`||`).pop().trim():n,h=[],g=``,_;if(t===`pypi`){let t=e?.releases;if(!t)return null;h=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(e=>e&&!e.yanked)),_=e=>On(t[e]),g=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(h=Object.keys(e.versions),g=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Sn(m)]?.deprecated){let t=h.filter(t=>!e.versions[t]?.deprecated);h=t.length?t:h}}else if(t===`go`){let t=f||Dn({range:m,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d},e.old||m);return t(e.new)&&Y(e.Time,l,u)?e.new:t(e.sameMajorNew)&&Y(e.sameMajorTime,l,u)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Cn(e,h,{range:m,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:g,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:_,versioning:p})}function An(e){try{return new URL(e).host}catch{return``}}let jn;function Mn(){return jn??=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})()}const Nn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`],Pn=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function Fn(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(/\r?\n/)){let e=Pn.exec(n);if(!e)continue;let r=An(e[1]),i=le.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let In;function Ln(){return In??=(async()=>{try{let{stdout:e}=await(await Mn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return Fn(e)}catch{return/* @__PURE__ */ new Map}})()}const Rn=/* @__PURE__ */ new Map,zn=/* @__PURE__ */ new Set;function Bn(e){return e===`api.github.com`?`github.com`:e}async function Vn(e,n){if(!e)return[];let r=je(t.UPDATES_FORGE_TOKENS??``).find(t=>t.lastIndexOf(`:`)===e.length&&t.startsWith(e))?.slice(e.length+1);if(r)return[r];let i=Bn(e),a=(await Jt())[i],o=i===`github.com`||e===An(n)?Nn.map(e=>t[e]):[],s=(await Ln()).get(i);return Array.from(new Set([a,...o,s].filter(Boolean)))}async function Hn(e,t,n=en){let r=await sn(e===`github.com`?`${n}/user`:`https://${e}/api/v1/user`,{...nn(`Bearer`,t),signal:AbortSignal.timeout(5e3)});if(r.status===401)throw Error(`token for ${e} was rejected`);if(!r.ok)throw Error(`token verification for ${e} failed with status ${r.status}`);return(await r.json()).login}var Un=class extends Error{name=`ForgeError`;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),Object.assign(this,{kind:e,host:t,status:r,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 or run "updates --login ${Bn(n)}"`}${i?`, resets at ${(/* @__PURE__ */ new Date(i*1e3)).toISOString()}`:``}`,{status:e.status,reset:i})}async function Kn(e,t,n){let r=An(e),i=(await Vn(r,t.forgeApiUrl)).filter(e=>!zn.has(e)),a=async a=>{let o=nn(`Bearer`,a);return o.headers={...o.headers,...n},Gn(await cn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=Rn.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 Rn.set(r,t),n;if(n.status===401&&!zn.has(t)){zn.add(t);let e=Bn(r);(await Jt())[e]===t&&console.error(`stored token for ${e} was rejected, run "updates --login ${e}" to replace it`)}t===e&&Rn.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=J.parse(Z(t));if(!n)return null;let r=``;for(let t of e){let e=J.parse(Z(t));e&&J.compare(e,n)>0&&(r=t,n=e)}return 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(/^(.+?):/,`https://$1.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const Yn=/^(?:[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,t){let n=t?`cached Forge`:`Forge`;if(!Array.isArray(e))throw TypeError(`Invalid ${n} tags response`);return e.map(e=>{let r=t?typeof e?.commitSha==`string`&&(e.isStable===void 0||typeof e.isStable==`boolean`):e?.commit?.sha===void 0||typeof e.commit.sha==`string`;if(typeof e?.name!=`string`||!r)throw TypeError(`Invalid ${n} tag entry`);return t?e:{name:e.name,commitSha:e.commit?.sha||``}})}const er=/* @__PURE__ */ new WeakMap;function tr(e,t,n,r){let i=`${n}${e}`;return Q(er,t,i,async()=>{let n=t.noCache?null:await Bt(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 er.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&Ut(e,s,o),o})}function nr(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,i=t?e?.releaseTimestamp:e?.published_at;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,...i&&{releaseTimestamp:i}}})}async function rr(e,t,n,r){let i=await tr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,total:Number(e.headers.get(`x-total-count`))||0,[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,total:Number(a.total)||0}}function ir(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 ar(e,t,n,r,i){let a=await rr(e(1),t,n,r);if(!a)return;let o=a.total>0?Math.min(Math.ceil(a.total/(a.entries.length||1)),100):ir(a.link),s=hn(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)=>rr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function or(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await ar(r=>`${e}/repos/${t}/${n}/tags?${e.endsWith(`/api/v1`)?`limit`:`per_page`}=100&page=${r}`,r,`tags`,$n,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 sr(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return or(e,t,n,r,i);let o=/* @__PURE__ */ new Map,[s,c]=await Promise.allSettled([or(e,t,n,r,i),ar(e=>`${en}/repos/${t}/${n}/releases?per_page=100&page=${e}`,r,`releases`,nr,e=>{for(let t of e)o.set(t.name,t);return!1})]);if(s.status===`rejected`)throw s.reason;if(c.status===`rejected`&&!(c.reason instanceof Un))throw c.reason;if(c.status===`fulfilled`)for(let e of s.value){let t=o.get(e.name);t&&(e.isStable=t.isStable,t.releaseTimestamp&&(e.releaseTimestamp=t.releaseTimestamp))}return s.value}function $(e,t,n,r){throw Error(e?.status&&e.statusText?`Received ${e.status} ${e.statusText} from ${t}`:`Unable to fetch ${n} from ${r}`)}function cr(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 lr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const ur=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function dr({repository:e,homepage:t,info:n},r,i){if(r===`https://npm.pkg.github.com`)return`https://github.com/${i.replace(/^@/,``)}`;if(n){let t=ur.find(e=>n.project_urls?.[e]);e=t?n.project_urls[t]:e??`https://pypi.org/project/${i}/`}if(!e)return t||``;let a=Jn(typeof e==`string`?e:e.url);return a&&typeof e!=`string`&&e.directory?`${a}/${lr(a)}/${e.directory}`:a||t||``}const fr=/^\[\[([^\]]+)\]\]$/,pr=/^\[([^[\]]+)\]$/,mr=()=>Object.create(null);function hr(e){let t=mr(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=xr(r[e]).trim();if(!i)continue;let a=fr.exec(i);if(a){let e=t,r=br(a[1]),i=r.pop();for(let t of r){let n=e[t],r=Array.isArray(n)?n.at(-1):void 0;e=typeof r==`object`&&!Array.isArray(r)?r:Cr(e,[t])}Array.isArray(e[i])||(e[i]=[]),n=mr(),e[i].push(n);continue}let o=pr.exec(i);if(o){n=Cr(t,br(o[1]));continue}let s=Sr(i,`=`);if(s<0)continue;let c=i.slice(s+1).trim(),l=br(i.slice(0,s)),u=l.pop(),d=Cr(n,l),f=c.startsWith(`"""`)&&!c.includes(`"""`,3)?`"""`:c.startsWith(`'''`)&&!c.includes(`'''`,3)?`'''`:``,p={depth:0,inStr:null};if((c.startsWith(`[`)||c.startsWith(`{`))&&!vr(c,p)){let t=[c];for(e++;e<r.length;e++){let n=xr(r[e]);if(t.push(n),vr(n,p))break}d[u]=gr(t.join(`
6
6
  `))}else if(f){let t=c.slice(3);for(e++;e<r.length;e++){let n=r[e].indexOf(f);if(t+=(t?`
7
- `:``)+(n<0?r[e]:r[e].slice(0,n)),n>=0)break}d[u]=_r(f+t+f)}else d[u]=_r(c)}return t}function _r(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of br(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(_r(e))}return t}return e.startsWith(`{`)?vr(e):e.startsWith(`"""`)?Er(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?Er(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 vr(e){let t=hr();for(let n of br(e.slice(1,e.lastIndexOf(`}`)))){let e=n.indexOf(`=`);e>=0&&(t[n.slice(0,e).trim().replace(/^["']|["']$/g,``)]=_r(n.slice(e+1).trim()))}return t}function yr(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.inStr){if(r===`\\`&&t.inStr===`"`){n++;continue}r===t.inStr&&(t.inStr=null)}else if(r===`"`||r===`'`)t.inStr=r;else if(r===`{`||r===`[`)t.depth++;else if((r===`}`||r===`]`)&&(t.depth--,!t.depth))return!0}return!1}function br(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 xr(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`&&i+1<e.length){n+=a+e[++i];continue}if(a===r){r===`"`&&(n=Er(n)),r=null;continue}n+=a}else a===`"`||a===`'`?r=a:a===`.`?(t.push(n.trim()),n=``):n+=a}return n.trim()&&t.push(n.trim()),t}function Sr(e){let t=Cr(e,`#`);return t<0?e:e.slice(0,t)}function Cr(e,t,n){let r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`){i++;continue}a===r&&(r=null)}else if(a===`"`||a===`'`)r=a;else if(a===t)return i;else if(a===n)return-1}return-1}function wr(e,t){for(let n of t)(typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=hr()),e=e[n];return e}const Tr={b:`\b`,f:`\f`,n:`
8
- `,r:`\r`,t:` `};function Er(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>t.length>1?String.fromCodePoint(Number.parseInt(t.slice(1),16)):Tr[t]??t)}const Dr=/[-_.]+/g,Or=/* @__PURE__ */ new WeakMap;function kr(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 Ar(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(Dr,`-`)}/json`;return[{...await Z(Or,t,n,async()=>{let r=await pn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},un(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:kr(e.releases)}}));`body`in r||cr(r.res,n,e,t.pypiApiUrl);let i=JSON.parse(r.body);return{...i,releases:kr(i.releases)}}),name:e},null]}function jr(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=K(n.slice(0,-2));if(!r||r.dev!==null||r.local||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=K(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Et(e.local?{...e,local:null}:e,r),a=r.local?Et(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 Mr(e,t=e.release.length){if(!e.local&&t===e.release.length)return e.version;let n=Array.from({length:t},(t,n)=>e.release[n]??0),r=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,i=e.pre?`${e.pre[0]}${e.pre[1]}`:``,a=e.post===null?``:`.post${e.post}`,o=e.dev===null?``:`.dev${e.dev}`;return`${r}${n.join(`.`)}${i}${a}${o}`}function Nr(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 Pr(e){let t=P(`x${e.trim()}`);return!!(K(e.trim())||t?.specifiers?.length&&!t.extras&&!t.marker&&t.specifiers.every(({op:e,version:t})=>{let n=K(t.replace(/\.\*$/,``));return n?t.endsWith(`.*`)?(e===`==`||e===`!=`)&&n.dev===null&&!n.local:(e!==`~=`||n.release.length>1)&&(!n.local||[`==`,`!=`,`===`].includes(e)):!1}))}function Fr(e,t){let n=K(e);if(!n)return!1;let r=t.trim();if(!r)return!0;let i=K(r);if(i)return Et(n,i)===0;let a=P(`x${r}`);return!a?.specifiers?.length||a.extras||a.marker?!1:a.specifiers.every(e=>jr(n,e))}function Ir(e,t,n){let r=P(e),i=K(t),a=K(n);if(!r?.specifiers||!i||!a)return null;let o=r.specifiers,s=xe(o);if(s?.version!==t)return null;for(let e of o){if(e===s){let t=e.op===`~=`?i.release.length:a.release.length;e.version=e.op===`==`||e.op===`===`?n:Mr(a,t)}else if(jr(a,e))continue;else{let t=K(e.version);if(e.op===`<`&&t)e.version=Nr(t,i,a);else if(e.op===`<=`)e.version=Mr(a);else if(e.op===`~=`&&t?.epoch===a.epoch)e.version=Mr(a,t.release.length);else return null}if(!jr(a,e))return null}return be(r,o)}function Lr(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 Rr(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1;for(let t=n;t<e.length;t++){let n=e[t];if(a)n===`
9
- `&&(a=!1);else if(i)i===`"`&&n===`\\`?t++:n===i&&(i=``);else if(n===`"`||n===`'`)i=n;else if(n===`#`)a=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function zr(e,t){let n=/* @__PURE__ */ new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=Lr(o[1]);else{let o=Cr(a,`=`,`#`),s=o===-1?``:[...r,...Lr(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=Rr(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function Br(e,t){let n=/* @__PURE__ */ new Map;for(let[e,r]of Object.entries(t)){let t=e.split(`\0`);H(n,t[0],()=>/* @__PURE__ */ new Map).set(t[2],r)}let r=zr(e,n),i=e;for(let[e,t]of Array.from(r).reverse()){let r=n.get(e),a=i.slice(...t).replace(/#.*|"""[\s\S]*?"""|'''[\s\S]*?'''|"(?:\\.|[^"\\])*"|'[^']*'/g,e=>{if(e.startsWith(`#`))return e;let t=_r(e),n=r.get(t);if(!n)return e;let i=Ir(t,n.oldOrig||n.old,n.new);return i?e[0]===`"`&&e.includes(`\\`)?JSON.stringify(i):e.replace(t,()=>i):e});i=`${i.slice(0,t[0])}${a}${i.slice(t[1])}`}return i}const Vr={y:365.25,w:7,d:1,h:1/24,m:1/1440,s:1/86400,ms:1/864e5};function Hr(e){if(e===null)return 0;if(typeof e!=`string`)return;let t=e.split(/(.*?[a-z]+)/).map(e=>e.trim()).filter(Boolean);if(!t.length)return;let n=0;for(let e of t){let t=e.replace(/^(\d+)\s*(?:months?|M)$/,(e,t)=>`${Number(t)*30} days`);if(t.length>100)return;let r=/^(-?\d*\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!r)return;let i=(r[2]??`ms`).toLowerCase();n+=Number(r[1])*Vr[/^m(?:s|il)/.test(i)?`ms`:i[0]]}return n}const Ur=/^(?:(?:match|exclude)(?:Package|Dep)(?:Names|Patterns|Prefixes)|package(?:Name|Pattern)s?|excludedPackageNames)$/;function Wr(e,t){let n=e.startsWith(`exclude`)?`!`:``;return e.endsWith(`Prefixes`)?`${n}${t}{/,}**`:/Patterns?$/.test(e)?t===`*`&&!n&&!e.includes(`Dep`)?`*`:`${n}/${t}/`:`${n}${t}`}const Gr=/* @__PURE__ */ new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Kr(e){let t={};for(let[n,r]of Object.entries(e)){if(!Ur.test(n)){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Gr.has(n))return;continue}let e=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(e))return;let i=t[n.includes(`Dep`)?`Dep`:`Package`]??=[];for(let t of e){if(typeof t!=`string`||!t)return;i.push(Wr(n,t))}}let n={},r=[];for(let e of[`Package`,`Dep`]){if(t[e]?.length===0)return;let i=[],a=[];for(let n of t[e]??[]){let e=n.startsWith(`!`),t=e?n.slice(1):n,o=qr(t);(e?a:i).push(o??t),!e&&!o&&!/[*?[\]{}!()|+]/.test(t)&&r.push(t)}i.length&&(n[`match${e}Names`]=i),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function qr(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Jr=/* @__PURE__ */ new Map,Yr=e=>H(Jr,e,()=>We(e)),Xr=(e,t,n)=>(!t?.length||t.some(t=>Yr(t).test(e)))&&(!n?.length||n.every(t=>!Yr(t).test(e)));function Zr(e,t,n){return Xr(t,e.matchPackageNames,e.excludePackageNames)&&Xr(n,e.matchDepNames,e.excludeDepNames)}var Qr=class extends RegExp{#e;constructor(e,t){super(e),this.#e=t}testNames(e,t){return this.#e(e,t)}test(e){return this.testNames(e,e)}};function $r(e,t,n,r){return e instanceof Qr?e.testNames(n,r):e.test(t)}function ei(e,t){let n=[],r={},i=/* @__PURE__ */ new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Kr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o},l=t?Hr(r.minimumReleaseAge):void 0;if(l!==void 0&&(c.cooldownDays=l),typeof r.allowedVersions==`string`){let e=G(r.allowedVersions);if(!e&&!qr(r.allowedVersions)&&!Pr(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&&Zr(t,e,e))?.allowedVersions;t&&G(t)&&(r[e]=t)}return{disabled:n.some(e=>!e.enabled)?new Qr(`renovate-package-rules`,(e,t)=>n.findLast(n=>Zr(n.matchers,e,t))?.enabled===!1):void 0,pin:r,versionRules:a}}function ti(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={},r=t.cooldown?Hr(e.minimumReleaseAge):void 0;r&&r>0&&(n.cooldown=r);let i=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Qr(`^${R(e)}$`,(t,n)=>n===e)):[],{disabled:a,pin:o,versionRules:s}=ei(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),c=a?[...i,a]:i;return c.length&&(n.exclude=c),Object.keys(o).length&&(n.pin=o,n.pinNoDowngrade=!0),s.length&&(n.renovateVersionRules=s),n}async function ni(e,t={}){let n=await Ge(e,async e=>{for(let t of[`renovate.json`,`renovate.jsonc`,`renovate.json5`]){let n=m(e,t),r=await L(re(n,`utf8`));if(r===null)continue;let i;try{i=Ft(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return i}return null});return n?ti(n,t):{}}const ri=Symbol(`cliBaseConfig`),ii={"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},"include-paths":{short:`N`,type:`string`,multiple:!0},"exclude-paths":{short:`X`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},login:{short:`L`,type:`string`},logout:{short:`O`,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`}},ai=/* @__PURE__ */ new Set([`greatest`,`prerelease`,`release`,`patch`,`minor`,`allow-downgrade`]);function oi(e){return Array.isArray(e)?!e.length||e.includes(!0)||new Set(li(e)):e===!0}function si(e){for(let[t,{short:n}]of Object.entries(ii))if(t===e||n===e)return t;return``}function ci(e){return new Set(e.map(We))}function li(e,t=Ne){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(t):[]}function ui(e){for(let[t,n]of Object.entries(e??{}))if(!G(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function di(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 ui(t),t}function fi(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:ci(e)}const pi=Ke(e=>Ge(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=m(e,n);try{await ne(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(te(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),mi=Ke(async e=>{let t=await pi(e)??{},n=await ni(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??[]]),ui(r.pin),r});function hi(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}let i=e.includes(`:/`)||e.startsWith(`/`);t.push({url:nn(!i&&/[.:/]/.test(e)?`https://${e}`:e),fallback:r})}return t}function gi(e){if(typeof e==`string`)return[{url:nn(e),fallback:`,`}];let n=hi(t.GOPROXY||`${Y.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function _i(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const vi=/* @__PURE__ */ new Map;function yi(e,t){return t.some(t=>H(vi,t,()=>{let e=``;for(let[n,r]of t.matchAll(/\[([^\]]*)\]|./gs))e+=r===void 0?n===`*`?`[^/]*`:n===`?`?`[^/]`:R(n):`[${r.replace(/\\/g,`\\\\`)}]`;return RegExp(`^${e}(?:/.*)?$`)}).test(e))}function bi(e,t,n){return yi(e,n)?[{url:`direct`,fallback:`,`}]:t.goProxyChain}function xi(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Si=/\/v(\d+)$/,Ci=/^gopkg\.in\/.*?\.v(\d+)$/;function wi(e,t=1){let n=Ci.exec(e)??Si.exec(e);return n?Number.parseInt(n[1]):t}function Ti(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(Si,``);return t<=1?n:`${n}/v${t}`}function Ei(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(X(t));return Number.isNaN(n)||n===wi(e)?e:Ti(e,n)}const Di=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,Oi=/^(\S+)\s+(v\S+)/,ki=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Ai=e=>e.replace(/^"(.*)"$/,`$1`),ji=/^v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*))*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?$/i,Mi=e=>ji.test(e)&&!e.endsWith(`-00010101000000-000000000000`),Ni=e=>e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`);function Pi(e){let t=ki.exec(e);return t&&{origModule:Ai(t[1]),origVersion:t[2]??``,targetModule:Ai(t[3]),targetVersion:t[4]??``}}function*Fi(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){/^\)\s*(?:\/\/.*)?$/.test(e)?t=null:yield{kind:t,value:e,lineNumber:n};continue}let i=Di.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function Ii(e){for(let{kind:t,value:n}of Fi(e.split(/\r?\n/)))if(t===`module`)return Ai(n.split(/\s/,1)[0]);return``}function Li(e){let t={},n={},r={},i={},a={},o=/* @__PURE__ */ new Set,s=[];for(let{kind:i,value:c}of Fi(e.split(/\r?\n/)))if(i===`tool`)s.push(Ai(c.split(/\s/,1)[0]));else if(i===`replace`){let e=Pi(c);e&&Mi(e.targetVersion)&&!Ni(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e&&!e.origVersion&&o.add(e.origModule)}else if(i===`exclude`||i===`require`){let e=Oi.exec(c);if(!e)continue;i===`exclude`?(a[Ai(e[1])]??=[]).push(e[2]):Mi(e[2])&&((c.includes(`// indirect`)?n:t)[Ai(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=/* @__PURE__ */ new Set([...Object.keys(n),...Object.keys(t)]);for(let e of s){let r=e;for(;r&&!c.has(r);)r=r.includes(`/`)?r.slice(0,r.lastIndexOf(`/`)):``;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 Ri=/* @__PURE__ */ new WeakMap;function zi(e,t,n){let r=/\|(?:[^:]*:)?(.*)/s.exec(t)?.[1]??``,i=H(Ri,n,()=>/* @__PURE__ */ new Map);for(let t of r?[m(e,r,`go.mod`),m(e,`go.mod`)]:[m(e,`go.mod`)]){let e=g(t),n=H(i,e,()=>{try{return new Map(Object.entries(Li(C(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return/* @__PURE__ */ new Map}async function Bi(e,t,n,r,i){let a=async(e,a)=>{let{latest:o,fallback:s}=await r(e,a),c=o&&!n.get(e)?.has(o.Version)?o:await s();return!c||!i||i.accepts(X(c.Version))||!i.pinAllowsDowngrade&&!ot(c.Version,t)?c:await L(s(i))??(a===`probe`?{...c,accepted:!1}:c)},o=wi(e),s=async t=>{let n=await L(a(Ti(e,t),`probe`));return n&&Number.parseInt(X(n.Version))===t?n:null},[c,l]=await Promise.all([a(e,`primary`),e.startsWith(`golang.org/x/`)||i?.allowMajor===!1?null:s(o+1)]);if(!c)return null;let u=[],d=l;for(let e=o+2;d;e++)d.accepted!==!1&&u.push(d),d=await s(e);let f=u.findLast(e=>!yn(e.Version))??u.at(-1)??c;return[{name:e,old:t,new:X(f.Version),Time:f.Time,...f.path!==e&&{newPath:f.path},sameMajorNew:X(c.Version),sameMajorTime:c.Time},null]}function Vi(e,t){return/* @__PURE__ */ Error(`go list -m ${e} failed: ${String(t?.stderr??``).trim().split(`
10
- `)[0]||t?.message||String(t)}`)}function Hi(e,n,r,i,a,o){let s=async(e,n,a)=>{let o=`${e}@${a??`latest`}`;try{let s=[`list`,`-m`,`-mod=readonly`,...a?[]:[`-versions`],`-json`,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(e){throw Vi(o,e)}};return Bi(e,n,a,async(e,t)=>{let n=t===`probe`?i.goProbeTimeout:i.fetchTimeout,r=await s(e,n);return{latest:r,fallback:async t=>{let i=Xi((r.Versions??[]).join(`
11
- `),wi(e,0),a.get(e),t);if(!i&&!t)throw Error(`No non-excluded versions found for ${e}`);return i&&s(e,n,i.Version)}}},o)}async function Ui(e,t,n,r,i){let a=new URL(n),{username:o,password:s}=a,{headers:c}=rn(`Basic`,o||s?ue.from(`${decodeURIComponent(o)}:${decodeURIComponent(s)}`).toString(`base64`):``),l=sn(a.href),u=await(t===`primary`?ln(e,l,{headers:c}):e.doFetch(l,{signal:AbortSignal.timeout(e.goProbeTimeout),headers:c}));if(u.ok)return u;if(u.status===404||u.status===410)return null;cr(u,l,r,sn(new URL(i).href))}async function Wi(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 ${sn(new URL(t).href)}`)}const Gi=/* @__PURE__ */ new WeakMap,Ki=/* @__PURE__ */ new WeakMap;function qi(e,t,n,r){return Z(Gi,e,`latest${t}${n}/${r}`,async()=>{let i=`${n}/${xi(r)}/@latest`,a=await Ui(e,t,i,r,n);return a&&Wi(a,i,r)})}function Ji(e){let t=[];for(let n of e.split(`
12
- `)){let[e,r]=n.trim().split(/\s+/);e&&tt(e)&&t.push({Version:e,Time:r??``})}return t}function Yi(e,t,n,r){let i=null;for(let a of e)if(!(n.has(a.Version)||r&&!r.accepts(X(a.Version)))&&!(t&&Number.parseInt(X(a.Version))!==t)){if(i){let e=yn(a.Version);if(r||e===yn(i.Version)?!ot(a.Version,i.Version):e)continue}i=a}return i}function Xi(e,t=0,n=/* @__PURE__ */ new Set,r){return Yi(Ji(e),t,n,r)}async function Zi(e,t,n,r,i=/* @__PURE__ */ new Set,a){let o=xi(r),s=await Z(Ki,e,`${t}${n}/${r}`,async()=>{let i=await Ui(e,t,`${n}/${o}/@v/list`,r,n);return i&&{versions:Ji(await i.text()),picks:/* @__PURE__ */ new Map}}),c=s&&H(H(s.picks,a?.accepts,()=>/* @__PURE__ */ new Map),Array.from(i).sort().join(`\0`),()=>Yi(s.versions,wi(r,0),i,a));if(!c)return null;if(c.Time)return{...c,path:r};let l=`${n}/${o}/@v/${xi(c.Version)}.info`;try{let i=await Z(Gi,e,`info${t}${l}`,async()=>{let i=await Ui(e,t,l,r,n);return i&&Wi(i,l,r)});if(i)return i}catch{}return{...c,path:r}}function Qi(e,t,n,r,i,a){let o=qi(r,`primary`,e,t);return Bi(t,n,i,async(t,n)=>{let[a,s]=await Promise.all([qi(r,n,e,t),o]);return{latest:a,fallback:o=>!a&&s?Promise.resolve(null):Zi(r,n,e,t,i.get(t),o)}},a)}async function $i(e,t,n,r,i,a,o){let s=zi(r,t,i);for(let{url:t,fallback:c}of bi(e,i,a))try{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);let a=t===`direct`?await Hi(e,n,r,i,s,o):await Qi(t,e,n,i,s,o);if(a)return a}catch(e){if(c===`,`)throw e}throw Error(`Unable to find ${e} on any GOPROXY entry`)}const ea=e=>`("?)${R(e)}\\2`,ta=(e,t,n)=>RegExp(`(${e})${ea(t)}(\\s+)v${n}(?=\\s*(?://.*)?$)`);function na(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,(e,t,r,i)=>n(t,r,i)),r||=a[i]!==e}return r},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Map;for(let{kind:e,value:t,lineNumber:n}of Fi(a))if(e===`require`){let e=Oi.exec(t);e&&V(s,Ai(e[1]),n)}else if(e===`replace`){let e=Pi(t);e&&V(c,e.targetModule,{...e,lineNumber:n})}else if(e===`tool`){let e=Ai(t.split(/\s/,1)[0]);for(;e;)V(l,e,n),e=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}for(let[e,{old:t,oldOrig:i,new:a}]of r){let[r,u]=e.split(`\0`),d=i||t,f=Ei(u,a),p=(e,t,n)=>`${e}${t}${f}${t}${n}v${a}`,m=R(d);if(r===`replace`){m=null;for(let{targetVersion:e,origModule:t,origVersion:n,lineNumber:r}of c.get(u)??[])X(e)===d&&(o([r],ta(`=>\\s+`,u,R(d)),p),!(f===u||t!==u||n)&&(o([r],RegExp(`(^\\s*(?:replace\\s+)?)${ea(u)}(?=\\s+=>)`),(e,t)=>`${e}${t}${f}${t}`),m=`\\S+`))}m!==null&&o(s.get(u),ta(`^\\s*(?:require\\s+)?`,u,m),p)&&f!==u&&(n[u]=f),r===`tool`&&f!==u&&o(l.get(u),RegExp(`(^\\s*(?:tool\\s+)?)("?)${R(u)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),(e,t,n)=>`${e}${t}${f}${n}${t}`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const ra=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function ia(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(ra)){let e=t[0];/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`)||(a?e===`)`?a=!1:i(e,t.index):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}const aa=e=>{let t=d(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function oa(e,t,n){if(!Object.keys(t).length)return;let r=/* @__PURE__ */ new Map,i=t=>t.length>e.length&&H(r,t,()=>y(m(t,`go.mod`))||i(f(t)));for(let r of b(`**/*.go`,{cwd:e,exclude:aa})){let a=m(e,r);if(i(f(a)))continue;let o=C(a,`utf8`),s=ia(o,t);s!==o&&n(a,s)}}function sa(e){let t=[],n={};for(let{kind:r,value:i}of Fi(e.split(/\r?\n/)))if(r===`use`)t.push(i.split(/\s/,1)[0]);else if(r===`replace`){let e=Pi(i);e&&Mi(e.targetVersion)&&!Ni(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function ca(e,t){try{return T(m(T(g(e)),t,`go.mod`))}catch{return null}}function la(e){let t=`https://${ua(e)}`,n=new URL(t),[r,i,a,...o]=n.pathname.split(`/`);return o.length?(n.pathname=`/${i}/${a}/${ur(t)}/${o.join(`/`)}`,n.href):t}function ua(e){return Si.test(e)?f(e):e}function da(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function fa(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function pa(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function ma(t){if(!t)return e();let n=g(t);try{if(E(n).isDirectory())return n}catch{}return f(n)}function ha(e){let{tokens:t}=s({args:e,strict:!1,allowPositionals:!0,tokens:!0,options:ii}),n=Object.create(null),r=/* @__PURE__ */ new Set,i=(e,t)=>{ii[e]?.multiple?(n[e]??=[]).push(t):n[e]=t};for(let[e,a]of t.entries()){if(a.kind!==`option`)continue;if(!si(a.name))throw Error(`Unknown option: ${a.rawName}`);if(ii[a.name]?.type===`string`&&a.value===void 0&&!ai.has(a.name))throw Error(`Missing value for --${a.name}`);if(a.inlineValue||!a.value?.startsWith(`-`)){i(a.name,a.value??!0);continue}let o=a.value.startsWith(`--`),s=t[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;for(let[e,t]of(o?[u]:u.split(``)).entries()){let n=si(t);if(!n){l.length=0;break}if(ii[n].type===`boolean`){l.push({key:n,value:!0});continue}let r=o?``:u.substring(e+1);d=!r&&c!==void 0,l.push({key:n,value:r||!d||c});break}if(!l.length)i(a.name,a.value);else{!ii[a.name]?.multiple||ai.has(a.name)?i(a.name,!0):n[a.name]??=[],d&&r.add(e+1);for(let{key:e,value:t}of l)i(e,t)}}return{args:n,positionals:t.flatMap((e,t)=>e.kind===`positional`&&!r.has(t)?e.value:[])}}function ga(e,t){let n={},r=(e,t)=>{t.length&&(n[e]=t)};for(let t of[`json`,`verbose`,`no-cache`,`update`,`indirect`,`error-on-outdated`,`error-on-unchanged`])e[t]&&(n[pa(t)]=!0);e.color&&(n.color=!0,n.noColor=!1),e[`no-color`]&&(n.color=!1,n.noColor=!0),typeof e.timeout==`string`&&(n.timeout=Le(e.timeout,`timeout`)),typeof e.sockets==`string`&&(n.sockets=Le(e.sockets,`sockets`));for(let t of[`registry`,`cooldown`,`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(n[t]=e[t]);for(let t of[`include`,`exclude`])r(t,li(e[t]).map(fa));r(`types`,li(e.types));let i=di(e.pin);Object.keys(i).length&&(n.pin=i),r(`modes`,li(e.modes));for(let t of ai){let r=oi(e[t]);r!==!1&&(n[pa(t)]=r===!0||Array.from(r,fa))}r(`files`,t);for(let t of[`include-paths`,`exclude-paths`])r(pa(t),li(e[t],ze));return n}async function _a(e,t){let n=[...li(e.file),...t],r=await mi(ma(n[0])),i=ga(e,n);return Object.defineProperty({...r,pin:void 0,...i},ri,{value:{cliKeys:Object.keys(i)}})}function va(e,t,n){return e.some(e=>e===`--${t}`||/^-[^-]/.test(e)&&e.includes(n)&&Array.from(e.slice(1,e.indexOf(n))).every(e=>ii[si(e)]?.type!==`string`))}async function ya(e,t){let n=li(e.file),r=ma(n[0]??t[0]),i=await pi(r)??{},{prewarmOrigins:a}=await import(`./prewarm.js`);for(let t of a(r,{...i,...ga(e,n)})){let e=t.endsWith(`/rate_limit`)?`GET`:`HEAD`;(async()=>{try{await(await fetch(t,{method:e})).arrayBuffer()}catch{}})()}}function ba(e,t){if(typeof e!=`string`)throw Error(`Missing value for --${t}`);return Bn(new URL(e.includes(`://`)?e:`https://${e}`).host)}function xa(e,t){return e.setEncoding(`utf8`),e.setRawMode(!0),a.write(t),new Promise(t=>{let r=``,i=o=>{for(let s of o)if(!`\r
7
+ `:``)+(n<0?r[e]:r[e].slice(0,n)),n>=0)break}d[u]=gr(f+t+f)}else d[u]=gr(c)}return t}function gr(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of yr(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(gr(e))}return t}return e.startsWith(`{`)?_r(e):e.startsWith(`"""`)?Tr(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?Tr(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 _r(e){let t=mr();for(let n of yr(e.slice(1,e.lastIndexOf(`}`)))){let e=n.indexOf(`=`);e>=0&&(t[n.slice(0,e).trim().replace(/^["']|["']$/g,``)]=gr(n.slice(e+1).trim()))}return t}function vr(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.inStr){if(r===`\\`&&t.inStr===`"`){n++;continue}r===t.inStr&&(t.inStr=null)}else if(r===`"`||r===`'`)t.inStr=r;else if(r===`{`||r===`[`)t.depth++;else if((r===`}`||r===`]`)&&(t.depth--,!t.depth))return!0}return!1}function yr(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 br(e){let t=[],n=``,r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`&&i+1<e.length){n+=a+e[++i];continue}if(a===r){r===`"`&&(n=Tr(n)),r=null;continue}n+=a}else a===`"`||a===`'`?r=a:a===`.`?(t.push(n.trim()),n=``):n+=a}return n.trim()&&t.push(n.trim()),t}function xr(e){let t=Sr(e,`#`);return t<0?e:e.slice(0,t)}function Sr(e,t,n){let r=null;for(let i=0;i<e.length;i++){let a=e[i];if(r){if(a===`\\`&&r===`"`){i++;continue}a===r&&(r=null)}else if(a===`"`||a===`'`)r=a;else if(a===t)return i;else if(a===n)return-1}return-1}function Cr(e,t){for(let n of t)(typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=mr()),e=e[n];return e}const wr={b:`\b`,f:`\f`,n:`
8
+ `,r:`\r`,t:` `};function Tr(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>t.length>1?String.fromCodePoint(Number.parseInt(t.slice(1),16)):wr[t]??t)}const Er=/[-_.]+/g,Dr=/* @__PURE__ */ new WeakMap;function Or(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 kr(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(Er,`-`)}/json`;return[{...await Q(Dr,t,n,async()=>{let r=await fn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},ln(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:Or(e.releases)}}));`body`in r||$(r.res,n,e,t.pypiApiUrl);let i=JSON.parse(r.body);return{...i,releases:Or(i.releases)}}),name:e},null]}function Ar(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=q(n.slice(0,-2));if(!r||r.dev!==null||r.local||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=q(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Tt(e.local?{...e,local:null}:e,r),a=r.local?Tt(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 jr(e,t=e.release.length){if(!e.local&&t===e.release.length)return e.version;let n=Array.from({length:t},(t,n)=>e.release[n]??0),r=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,i=e.pre?`${e.pre[0]}${e.pre[1]}`:``,a=e.post===null?``:`.post${e.post}`,o=e.dev===null?``:`.dev${e.dev}`;return`${r}${n.join(`.`)}${i}${a}${o}`}function Mr(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 Nr(e){let t=ve(`x${e.trim()}`);return!!(q(e.trim())||t?.specifiers?.length&&!t.extras&&!t.marker&&t.specifiers.every(({op:e,version:t})=>{let n=q(t.replace(/\.\*$/,``));return n?t.endsWith(`.*`)?(e===`==`||e===`!=`)&&n.dev===null&&!n.local:(e!==`~=`||n.release.length>1)&&(!n.local||[`==`,`!=`,`===`].includes(e)):!1}))}function Pr(e,t){let n=q(e);if(!n)return!1;let r=t.trim();if(!r)return!0;let i=q(r);if(i)return Tt(n,i)===0;let a=ve(`x${r}`);return!a?.specifiers?.length||a.extras||a.marker?!1:a.specifiers.every(e=>Ar(n,e))}function Fr(e,t,n){let r=ve(e),i=q(t),a=q(n);if(!r?.specifiers||!i||!a)return null;let o=r.specifiers,s=be(o);if(s?.version!==t)return null;for(let e of o){if(e===s){let t=e.op===`~=`?i.release.length:a.release.length;e.version=e.op===`==`||e.op===`===`?n:jr(a,t)}else if(Ar(a,e))continue;else{let t=q(e.version);if(e.op===`<`&&t)e.version=Mr(t,i,a);else if(e.op===`<=`)e.version=jr(a);else if(e.op===`~=`&&t?.epoch===a.epoch)e.version=jr(a,t.release.length);else return null}if(!Ar(a,e))return null}return ye(r,o)}function Ir(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 Lr(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1;for(let t=n;t<e.length;t++){let n=e[t];if(a)n===`
9
+ `&&(a=!1);else if(i)i===`"`&&n===`\\`?t++:n===i&&(i=``);else if(n===`"`||n===`'`)i=n;else if(n===`#`)a=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function Rr(e,t){let n=/* @__PURE__ */ new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=Ir(o[1]);else{let o=Sr(a,`=`,`#`),s=o===-1?``:[...r,...Ir(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=Lr(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function zr(e,t){let n=/* @__PURE__ */ new Map;for(let[e,r]of Object.entries(t)){let t=e.split(`\0`);U(n,t[0],()=>/* @__PURE__ */ new Map).set(t[2],r)}let r=Rr(e,n),i=e;for(let[e,t]of Array.from(r).reverse()){let r=n.get(e),a=i.slice(...t).replace(/#.*|"""[\s\S]*?"""|'''[\s\S]*?'''|"(?:\\.|[^"\\])*"|'[^']*'/g,e=>{if(e.startsWith(`#`))return e;let t=gr(e),n=r.get(t);if(!n)return e;let i=Fr(t,n.oldOrig||n.old,n.new);return i?e[0]===`"`&&e.includes(`\\`)?JSON.stringify(i):e.replace(t,()=>i):e});i=`${i.slice(0,t[0])}${a}${i.slice(t[1])}`}return i}const Br={y:365.25,w:7,d:1,h:1/24,m:1/1440,s:1/86400,ms:1/864e5};function Vr(e){if(e===null)return 0;if(typeof e!=`string`)return;let t=e.split(/(.*?[a-z]+)/).map(e=>e.trim()).filter(Boolean);if(!t.length)return;let n=0;for(let e of t){let t=e.replace(/^(\d+)\s*(?:months?|M)$/,(e,t)=>`${Number(t)*30} days`);if(t.length>100)return;let r=/^(-?\d*\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(!r)return;let i=(r[2]??`ms`).toLowerCase();n+=Number(r[1])*Br[/^m(?:s|il)/.test(i)?`ms`:i[0]]}return n}const Hr=/^(?:(?:match|exclude)(?:Package|Dep)(?:Names|Patterns|Prefixes)|package(?:Name|Pattern)s?|excludedPackageNames)$/;function Ur(e,t){let n=e.startsWith(`exclude`)?`!`:``;return e.endsWith(`Prefixes`)?`${n}${t}{/,}**`:/Patterns?$/.test(e)?t===`*`&&!n&&!e.includes(`Dep`)?`*`:`${n}/${t}/`:`${n}${t}`}const Wr=/* @__PURE__ */ new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Gr(e){let t={};for(let[n,r]of Object.entries(e)){if(!Hr.test(n)){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Wr.has(n))return;continue}let e=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(e))return;let i=t[n.includes(`Dep`)?`Dep`:`Package`]??=[];for(let t of e){if(typeof t!=`string`||!t)return;i.push(Ur(n,t))}}let n={},r=[];for(let e of[`Package`,`Dep`]){if(t[e]?.length===0)return;let i=[],a=[];for(let n of t[e]??[]){let e=n.startsWith(`!`),t=e?n.slice(1):n,o=Kr(t);(e?a:i).push(o??t),!e&&!o&&!/[*?[\]{}!()|+]/.test(t)&&r.push(t)}i.length&&(n[`match${e}Names`]=i),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Kr(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const qr=/* @__PURE__ */ new Map,Jr=e=>U(qr,e,()=>He(e)),Yr=(e,t,n)=>(!t?.length||t.some(t=>Jr(t).test(e)))&&(!n?.length||n.every(t=>!Jr(t).test(e)));function Xr(e,t,n){return Yr(t,e.matchPackageNames,e.excludePackageNames)&&Yr(n,e.matchDepNames,e.excludeDepNames)}var Zr=class extends RegExp{#e;constructor(e,t){super(e),this.#e=t}testNames(e,t){return this.#e(e,t)}test(e){return this.testNames(e,e)}};function Qr(e,t,n,r){return e instanceof Zr?e.testNames(n,r):e.test(t)}function $r(e,t){let n=[],r={},i=/* @__PURE__ */ new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Gr(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o},l=t?Vr(r.minimumReleaseAge):void 0;if(l!==void 0&&(c.cooldownDays=l),typeof r.allowedVersions==`string`){let e=K(r.allowedVersions);if(!e&&!Kr(r.allowedVersions)&&!Nr(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&&Xr(t,e,e))?.allowedVersions;t&&K(t)&&(r[e]=t)}return{disabled:n.some(e=>!e.enabled)?new Zr(`renovate-package-rules`,(e,t)=>n.findLast(n=>Xr(n.matchers,e,t))?.enabled===!1):void 0,pin:r,versionRules:a}}function ei(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={},r=t.cooldown?Vr(e.minimumReleaseAge):void 0;r&&r>0&&(n.cooldown=r);let i=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Zr(`^${z(e)}$`,(t,n)=>n===e)):[],{disabled:a,pin:o,versionRules:s}=$r(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),c=a?[...i,a]:i;c.length&&(n.exclude=c),Object.keys(o).length&&(n.pin=o,n.pinNoDowngrade=!0),s.length&&(n.renovateVersionRules=s);let l=e[`github-actions`],u=[...Array.isArray(l?.managerFilePatterns)?l.managerFilePatterns:[],...Array.isArray(l?.fileMatch)?l.fileMatch.filter(e=>typeof e==`string`).map(e=>`/${e}/`):[]].filter(e=>typeof e==`string`&&!!e&&!e.startsWith(`!`)).map(e=>Kr(e)??e);return u.length&&(n.filePatterns={actions:u}),n}async function ti(e,t={}){let n=await Ue(e,async e=>{for(let t of[`renovate.json`,`renovate.jsonc`,`renovate.json5`]){let n=m(e,t),r=await R(re(n,`utf8`));if(r===null)continue;let i;try{i=Pt(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return i}return null});return n?ei(n,t):{}}const ni=Symbol(`cliBaseConfig`),ri={"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},"include-paths":{short:`N`,type:`string`,multiple:!0},"exclude-paths":{short:`X`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},login:{short:`L`,type:`string`},logout:{short:`O`,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`}},ii=/* @__PURE__ */ new Set([`greatest`,`prerelease`,`release`,`patch`,`minor`,`allow-downgrade`]);function ai(e){return Array.isArray(e)?!e.length||e.includes(!0)||new Set(ci(e)):e===!0}function oi(e){for(let[t,{short:n}]of Object.entries(ri))if(t===e||n===e)return t;return``}function si(e){return new Set(e.map(He))}function ci(e,t=je){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(t):[]}function li(e){for(let[t,n]of Object.entries(e??{}))if(!K(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function ui(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 li(t),t}function di(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:si(e)}const fi=Ge(e=>Ue(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=m(e,n);try{await ne(r)}catch(e){if(e.code===`ENOENT`)continue;throw Error(`Unable to load config file ${n}: ${e.message}`)}try{return(await import(te(r).href)).default??{}}catch(e){throw Error(`Unable to parse config file ${n}: ${e?.message??e}`)}}return null})),pi=Ge(async e=>{let t=await fi(e)??{},n=await ti(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??[]]),n.filePatterns&&(r.filePatterns={...n.filePatterns,...t.filePatterns}),li(r.pin),r});function mi(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}let i=e.includes(`:/`)||e.startsWith(`/`);t.push({url:tn(!i&&/[.:/]/.test(e)?`https://${e}`:e),fallback:r})}return t}function hi(e){if(typeof e==`string`)return[{url:tn(e),fallback:`,`}];let n=mi(t.GOPROXY||`${X.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function gi(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const _i=/* @__PURE__ */ new Map;function vi(e,t){return t.some(t=>U(_i,t,()=>{let e=``;for(let[n,r]of t.matchAll(/\[([^\]]*)\]|./gs))e+=r===void 0?n===`*`?`[^/]*`:n===`?`?`[^/]`:z(n):`[${r.replace(/\\/g,`\\\\`)}]`;return RegExp(`^${e}(?:/.*)?$`)}).test(e))}function yi(e,t,n){return vi(e,n)?[{url:`direct`,fallback:`,`}]:t.goProxyChain}function bi(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const xi=/\/v(\d+)$/,Si=/^gopkg\.in\/.*?\.v(\d+)$/;function Ci(e,t=1){let n=Si.exec(e)??xi.exec(e);return n?Number.parseInt(n[1]):t}function wi(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(xi,``);return t<=1?n:`${n}/v${t}`}function Ti(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t));return Number.isNaN(n)||n===Ci(e)?e:wi(e,n)}const Ei=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,Di=/^(\S+)\s+(v\S+)/,Oi=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,ki=e=>e.replace(/^"(.*)"$/,`$1`),Ai=/^v(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-z-][\da-z-]*))*)?(?:\+[\da-z-]+(?:\.[\da-z-]+)*)?$/i,ji=e=>Ai.test(e)&&!e.endsWith(`-00010101000000-000000000000`),Mi=e=>e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`);function Ni(e){let t=Oi.exec(e);return t&&{origModule:ki(t[1]),origVersion:t[2]??``,targetModule:ki(t[3]),targetVersion:t[4]??``}}function*Pi(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){/^\)\s*(?:\/\/.*)?$/.test(e)?t=null:yield{kind:t,value:e,lineNumber:n};continue}let i=Ei.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function Fi(e){for(let{kind:t,value:n}of Pi(e.split(/\r?\n/)))if(t===`module`)return ki(n.split(/\s/,1)[0]);return``}function Ii(e){let t={},n={},r={},i={},a={},o=/* @__PURE__ */ new Set,s=[];for(let{kind:i,value:c}of Pi(e.split(/\r?\n/)))if(i===`tool`)s.push(ki(c.split(/\s/,1)[0]));else if(i===`replace`){let e=Ni(c);e&&ji(e.targetVersion)&&!Mi(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e&&!e.origVersion&&o.add(e.origModule)}else if(i===`exclude`||i===`require`){let e=Di.exec(c);if(!e)continue;i===`exclude`?(a[ki(e[1])]??=[]).push(e[2]):ji(e[2])&&((c.includes(`// indirect`)?n:t)[ki(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=/* @__PURE__ */ new Set([...Object.keys(n),...Object.keys(t)]);for(let e of s){let r=e;for(;r&&!c.has(r);)r=r.includes(`/`)?r.slice(0,r.lastIndexOf(`/`)):``;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 Li=/* @__PURE__ */ new WeakMap;function Ri(e,t,n){let r=/\|(?:[^:]*:)?(.*)/s.exec(t)?.[1]??``,i=U(Li,n,()=>/* @__PURE__ */ new Map);for(let t of r?[m(e,r,`go.mod`),m(e,`go.mod`)]:[m(e,`go.mod`)]){let e=g(t),n=U(i,e,()=>{try{return new Map(Object.entries(Ii(C(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return/* @__PURE__ */ new Map}async function zi(e,t,n,r,i){let a=async(e,a)=>{let{latest:o,fallback:s}=await r(e,a),c=o&&!n.get(e)?.has(o.Version)?o:await s();return!c||!i||i.accepts(Z(c.Version))||!i.pinAllowsDowngrade&&!at(c.Version,t)?c:await R(s(i))??(a===`probe`?{...c,accepted:!1}:c)},o=Ci(e),s=async t=>{let n=await R(a(wi(e,t),`probe`));return n&&Number.parseInt(Z(n.Version))===t?n:null},[c,l]=await Promise.all([a(e,`primary`),e.startsWith(`golang.org/x/`)||i?.allowMajor===!1?null:s(o+1)]);if(!c)return null;let u=[],d=l;for(let e=o+2;d;e++)d.accepted!==!1&&u.push(d),d=await s(e);let f=u.findLast(e=>!vn(e.Version))??u.at(-1)??c;return[{name:e,old:t,new:Z(f.Version),Time:f.Time,...f.path!==e&&{newPath:f.path},sameMajorNew:Z(c.Version),sameMajorTime:c.Time},null]}function Bi(e,t){return/* @__PURE__ */ Error(`go list -m ${e} failed: ${String(t?.stderr??``).trim().split(`
10
+ `)[0]||t?.message||String(t)}`)}function Vi(e,n,r,i,a,o){let s=async(e,n,a)=>{let o=`${e}@${a??`latest`}`;try{let s=[`list`,`-m`,`-mod=readonly`,...a?[]:[`-versions`],`-json`,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(e){throw Bi(o,e)}};return zi(e,n,a,async(e,t)=>{let n=t===`probe`?i.goProbeTimeout:i.fetchTimeout,r=await s(e,n);return{latest:r,fallback:async t=>{let i=Yi((r.Versions??[]).join(`
11
+ `),Ci(e,0),a.get(e),t);if(!i&&!t)throw Error(`No non-excluded versions found for ${e}`);return i&&s(e,n,i.Version)}}},o)}async function Hi(e,t,n,r,i){let a=new URL(n),{username:o,password:s}=a,{headers:c}=nn(`Basic`,o||s?le.from(`${decodeURIComponent(o)}:${decodeURIComponent(s)}`).toString(`base64`):``),l=on(a.href),u=await(t===`primary`?cn(e,l,{headers:c}):e.doFetch(l,{signal:AbortSignal.timeout(e.goProbeTimeout),headers:c}));if(u.ok)return u;if(u.status===404||u.status===410)return null;$(u,l,r,on(new URL(i).href))}async function Ui(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 ${on(new URL(t).href)}`)}const Wi=/* @__PURE__ */ new WeakMap,Gi=/* @__PURE__ */ new WeakMap;function Ki(e,t,n,r){return Q(Wi,e,`latest${t}${n}/${r}`,async()=>{let i=`${n}/${bi(r)}/@latest`,a=await Hi(e,t,i,r,n);return a&&Ui(a,i,r)})}function qi(e){let t=[];for(let n of e.split(`
12
+ `)){let[e,r]=n.trim().split(/\s+/);e&&et(e)&&t.push({Version:e,Time:r??``})}return t}function Ji(e,t,n,r){let i=null;for(let a of e)if(!(n.has(a.Version)||r&&!r.accepts(Z(a.Version)))&&!(t&&Number.parseInt(Z(a.Version))!==t)){if(i){let e=vn(a.Version);if(r||e===vn(i.Version)?!at(a.Version,i.Version):e)continue}i=a}return i}function Yi(e,t=0,n=/* @__PURE__ */ new Set,r){return Ji(qi(e),t,n,r)}async function Xi(e,t,n,r,i=/* @__PURE__ */ new Set,a){let o=bi(r),s=await Q(Gi,e,`${t}${n}/${r}`,async()=>{let i=await Hi(e,t,`${n}/${o}/@v/list`,r,n);return i&&{versions:qi(await i.text()),picks:/* @__PURE__ */ new Map}}),c=s&&U(U(s.picks,a?.accepts,()=>/* @__PURE__ */ new Map),Array.from(i).sort().join(`\0`),()=>Ji(s.versions,Ci(r,0),i,a));if(!c)return null;if(c.Time)return{...c,path:r};let l=`${n}/${o}/@v/${bi(c.Version)}.info`;try{let i=await Q(Wi,e,`info${t}${l}`,async()=>{let i=await Hi(e,t,l,r,n);return i&&Ui(i,l,r)});if(i)return i}catch{}return{...c,path:r}}function Zi(e,t,n,r,i,a){let o=Ki(r,`primary`,e,t);return zi(t,n,i,async(t,n)=>{let[a,s]=await Promise.all([Ki(r,n,e,t),o]);return{latest:a,fallback:o=>!a&&s?Promise.resolve(null):Xi(r,n,e,t,i.get(t),o)}},a)}async function Qi(e,t,n,r,i,a,o){let s=Ri(r,t,i);for(let{url:t,fallback:c}of yi(e,i,a))try{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);let a=t===`direct`?await Vi(e,n,r,i,s,o):await Zi(t,e,n,i,s,o);if(a)return a}catch(e){if(c===`,`)throw e}throw Error(`Unable to find ${e} on any GOPROXY entry`)}const $i=e=>`("?)${z(e)}\\2`,ea=(e,t,n)=>RegExp(`(${e})${$i(t)}(\\s+)v${n}(?=\\s*(?://.*)?$)`);function ta(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,(e,t,r,i)=>n(t,r,i)),r||=a[i]!==e}return r},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map,l=/* @__PURE__ */ new Map;for(let{kind:e,value:t,lineNumber:n}of Pi(a))if(e===`require`){let e=Di.exec(t);e&&H(s,ki(e[1]),n)}else if(e===`replace`){let e=Ni(t);e&&H(c,e.targetModule,{...e,lineNumber:n})}else if(e===`tool`){let e=ki(t.split(/\s/,1)[0]);for(;e;)H(l,e,n),e=e.includes(`/`)?e.slice(0,e.lastIndexOf(`/`)):``}for(let[e,{old:t,oldOrig:i,new:a}]of r){let[r,u]=e.split(`\0`),d=i||t,f=Ti(u,a),p=(e,t,n)=>`${e}${t}${f}${t}${n}v${a}`,m=z(d);if(r===`replace`){m=null;for(let{targetVersion:e,origModule:t,origVersion:n,lineNumber:r}of c.get(u)??[])Z(e)===d&&(o([r],ea(`=>\\s+`,u,z(d)),p),!(f===u||t!==u||n)&&(o([r],RegExp(`(^\\s*(?:replace\\s+)?)${$i(u)}(?=\\s+=>)`),(e,t)=>`${e}${t}${f}${t}`),m=`\\S+`))}m!==null&&o(s.get(u),ea(`^\\s*(?:require\\s+)?`,u,m),p)&&f!==u&&(n[u]=f),r===`tool`&&f!==u&&o(l.get(u),RegExp(`(^\\s*(?:tool\\s+)?)("?)${z(u)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),(e,t,n)=>`${e}${t}${f}${n}${t}`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const na=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function ra(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(na)){let e=t[0];/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`)||(a?e===`)`?a=!1:i(e,t.index):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}const ia=e=>{let t=d(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function aa(e,t,n){if(!Object.keys(t).length)return;let r=/* @__PURE__ */ new Map,i=t=>t.length>e.length&&U(r,t,()=>y(m(t,`go.mod`))||i(f(t)));for(let r of b(`**/*.go`,{cwd:e,exclude:ia})){let a=m(e,r);if(i(f(a)))continue;let o=C(a,`utf8`),s=ra(o,t);s!==o&&n(a,s)}}function oa(e){let t=[],n={};for(let{kind:r,value:i}of Pi(e.split(/\r?\n/)))if(r===`use`)t.push(i.split(/\s/,1)[0]);else if(r===`replace`){let e=Ni(i);e&&ji(e.targetVersion)&&!Mi(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function sa(e,t){try{return T(m(T(g(e)),t,`go.mod`))}catch{return null}}function ca(e){let t=`https://${la(e)}`,n=new URL(t),[r,i,a,...o]=n.pathname.split(`/`);return o.length?(n.pathname=`/${i}/${a}/${lr(t)}/${o.join(`/`)}`,n.href):t}function la(e){return xi.test(e)?f(e):e}function ua(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function da(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function fa(e){return e.replace(/-(.)/g,(e,t)=>t.toUpperCase())}function pa(t){if(!t)return e();let n=g(t);try{if(E(n).isDirectory())return n}catch{}return f(n)}function ma(e){let{tokens:t}=s({args:e,strict:!1,allowPositionals:!0,tokens:!0,options:ri}),n=Object.create(null),r=/* @__PURE__ */ new Set,i=(e,t)=>{ri[e]?.multiple?(n[e]??=[]).push(t):n[e]=t};for(let[e,a]of t.entries()){if(a.kind!==`option`)continue;if(!oi(a.name))throw Error(`Unknown option: ${a.rawName}`);if(ri[a.name]?.type===`string`&&a.value===void 0&&!ii.has(a.name))throw Error(`Missing value for --${a.name}`);if(a.inlineValue||!a.value?.startsWith(`-`)){i(a.name,a.value??!0);continue}let o=a.value.startsWith(`--`),s=t[e+1],c=s?.kind===`positional`?s.value:void 0,l=[],u=a.value.substring(o?2:1),d=!1;for(let[e,t]of(o?[u]:u.split(``)).entries()){let n=oi(t);if(!n){l.length=0;break}if(ri[n].type===`boolean`){l.push({key:n,value:!0});continue}let r=o?``:u.substring(e+1);d=!r&&c!==void 0,l.push({key:n,value:r||!d||c});break}if(!l.length)i(a.name,a.value);else{!ri[a.name]?.multiple||ii.has(a.name)?i(a.name,!0):n[a.name]??=[],d&&r.add(e+1);for(let{key:e,value:t}of l)i(e,t)}}return{args:n,positionals:t.flatMap((e,t)=>e.kind===`positional`&&!r.has(t)?e.value:[])}}function ha(e,t){let n={},r=(e,t)=>{t.length&&(n[e]=t)};for(let t of[`json`,`verbose`,`no-cache`,`update`,`indirect`,`error-on-outdated`,`error-on-unchanged`])e[t]&&(n[fa(t)]=!0);e.color&&(n.color=!0,n.noColor=!1),e[`no-color`]&&(n.color=!1,n.noColor=!0),typeof e.timeout==`string`&&(n.timeout=Ie(e.timeout,`timeout`)),typeof e.sockets==`string`&&(n.sockets=Ie(e.sockets,`sockets`));for(let t of[`registry`,`cooldown`,`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(n[t]=e[t]);for(let t of[`include`,`exclude`])r(t,ci(e[t]).map(da));r(`types`,ci(e.types));let i=ui(e.pin);Object.keys(i).length&&(n.pin=i),r(`modes`,ci(e.modes));for(let t of ii){let r=ai(e[t]);r!==!1&&(n[fa(t)]=r===!0||Array.from(r,da))}r(`files`,t);for(let t of[`include-paths`,`exclude-paths`])r(fa(t),ci(e[t],Re));return n}async function ga(e,t){let n=[...ci(e.file),...t],r=await pi(pa(n[0])),i=ha(e,n);return Object.defineProperty({...r,pin:void 0,...i},ni,{value:{cliKeys:Object.keys(i)}})}function _a(e,t,n){return e.some(e=>e===`--${t}`||/^-[^-]/.test(e)&&e.includes(n)&&Array.from(e.slice(1,e.indexOf(n))).every(e=>ri[oi(e)]?.type!==`string`))}async function va(e,t){let n=ci(e.file),r=pa(n[0]??t[0]),i=await fi(r)??{},{prewarmOrigins:a}=await import(`./prewarm.js`);for(let t of a(r,{...i,...ha(e,n)})){let e=t.endsWith(`/rate_limit`)?`GET`:`HEAD`;(async()=>{try{await(await fetch(t,{method:e})).arrayBuffer()}catch{}})()}}function ya(e,t){if(typeof e!=`string`)throw Error(`Missing value for --${t}`);return Bn(new URL(e.includes(`://`)?e:`https://${e}`).host)}function ba(e,t){return e.setEncoding(`utf8`),e.setRawMode(!0),a.write(t),new Promise(t=>{let r=``,i=o=>{for(let s of o)if(!`\r
13
13
  `.includes(s))r=s===`\b`||s===``?r.slice(0,-1):r+s;else return e.off(`data`,i),e.setRawMode(!1),e.pause(),a.write(`
14
- `),(s===``||s===``)&&n(130),t(r)};e.on(`data`,i)})}async function Sa(e,t){let n=(`isTTY`in e&&e.isTTY?await xa(e,`token for ${t}: `):await ee(e)).trim();if(!n)throw Error(`token for ${t} is empty`);if(/[\s\p{C}]/u.test(n))throw Error(`token for ${t} contains invalid characters`);return n}async function Ca(e,t,n=!0){let r=String,i=String,a=va(e,`json`,`j`),s=e=>t.stdout(`${e}\n`);try{if(va(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
14
+ `),(s===``||s===``)&&n(130),t(r)};e.on(`data`,i)})}async function xa(e,t){let n=(`isTTY`in e&&e.isTTY?await ba(e,`token for ${t}: `):await ee(e)).trim();if(!n)throw Error(`token for ${t} is empty`);if(/[\s\p{C}]/u.test(n))throw Error(`token for ${t} contains invalid characters`);return n}async function Sa(e,t,n=!0){let r=String,i=String,a=_a(e,`json`,`j`),s=e=>t.stdout(`${e}\n`);try{if(_a(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
15
15
 
16
16
  Options:
17
17
  -u, --update Update versions and write dependency file
@@ -61,18 +61,18 @@ import{cwd as e,env as t,exit as n,pid as r,platform as i,stderr as a,stdin as o
61
61
  $ updates -f docker-compose.yml
62
62
  $ updates -f Makefile
63
63
  $ updates -f build.sh
64
- `),0;if(va(e,`version`,`v`)){let e;try{e=C(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=C(new URL(`../package.json`,t.moduleUrl),`utf8`)}return s(JSON.parse(e).version),0}let{args:c,positionals:l}=ha(e);if(c.login!==void 0){let e=ba(c.login,`login`),n=await Sa(t.stdin??o,e),r=await Hn(e,n,typeof c.forgeapi==`string`?nn(c.forgeapi):void 0);return await Zt(e,n),s(`stored token for ${e} (${r})`),0}if(c.logout!==void 0){let e=ba(c.logout,`logout`);if(!await Qt(e))throw Error(`no stored token for ${e}`);return s(`removed token for ${e}`),0}try{n&&await ya(c,l)}catch{}let d=await _a(c,l),{updates:f}=await import(`./api.js`);!d.noColor&&(d.color||t.stdoutIsTTY)&&(r=e=>u(`red`,e,{validateStream:!1}),i=e=>u(`green`,e,{validateStream:!1})),a=!!d.json;let p=await f(d),m=Object.keys(p.results),h=m.length>0,g=p.errors??[];if(d.json)s(JSON.stringify({...p.message&&{message:p.message},...h&&{results:p.results},...g.length&&{errors:g}}));else{if(p.message?s(p.message):h&&s(wa(p,r,i)),d.update)for(let e of m)s(i(`✨ ${e} updated`));for(let{mode:e,name:t,error:n}of g)s(r(`${e} ${t}: ${n}`))}return g.length?1:d.errorOnOutdated?h?2:0:d.errorOnUnchanged?h?0:2:0}catch(e){let t=sn(e.message??String(e));return s(a?JSON.stringify({error:t}):r(t)),1}}function wa(e,t,n){let r=Object.keys(e.results),i=r.length>1,a=[[`NAME`,...i?[`MODE`]:[],`OLD`,`NEW`,`AGE`,`INFO`]],o=/* @__PURE__ */ new Set;for(let s of r){let r=Object.values(e.results[s]).flatMap(e=>Object.entries(e));for(let[e,c]of r.sort(([e],[t])=>e<t?-1:+(e>t))){let r=`${s}|${e}|${c.old}|${c.new}`;o.has(r)||(o.add(r),a.push([s===`go`?ua(e):e,...i?[s]:[],pe(c.old,c.new,t),pe(c.new,c.old,n),c.age||``,c.info||``]))}}return Fe(a,e=>l(e).length)}const Ta=[[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`]],Ea={"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 Da(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Oa(e,{now:t,noAffix:n=!1,times:r=Ta,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o,aliases:s=!1,aliasesMap:c=Ea,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Da(t))-Da(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 ka(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/[\r\n]+/)){let e=n.trim(),r=e.indexOf(`=`);if(r===-1||e.startsWith(`#`)||e.startsWith(`;`))continue;let i=e.slice(r+1).trim();if(/^'.*'$/s.test(i))i=i.slice(1,-1);else if(/^".*"$/s.test(i))try{i=JSON.parse(i)}catch{}else i=i.replace(/\\([\\;#])|[;#].*$/g,`$1`).trim();t[e.slice(0,r).trim()]=i}return t}function Aa(e){try{return ka(C(e,`utf-8`))}catch{return}}function ja(e,t){return B(t,t=>{let n=m(t,e);try{if(E(n).isFile())return n}catch{}return null})}function Ma(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),o=t.pop();if(!o)continue;let s=n;for(let e of t)s[e]??={},s=typeof s[e]==`object`?s[e]:{};s[o]=a}return n}function Na(n,r={},a=e()){let o=i===`win32`?t.USERPROFILE:t.HOME,s=Ma(`${n}_`),c=/* @__PURE__ */ new Set([...i===`win32`?[]:[m(`/etc`,n,`config`),m(`/etc`,`${n}rc`)],...o?[m(o,`.config`,n,`config`),m(o,`.config`,n),m(o,`.${n}`,`config`),m(o,`.${n}rc`)]:[],ja(`.${n}rc`,a),s.config]);return Object.assign({},r,...Array.from(c).filter(Boolean).map(Aa),s)}function Pa(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const Fa=/* @__PURE__ */ new WeakMap;function Ia(e,t){let n=H(Fa,e,()=>{let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`,1)[0],i=e.indexOf(`|`);V(t,i===-1?`.`:e.slice(i+1),[`${Pa(e)}${n.slice(e.length)}`,r])}return t});return Object.fromEntries(n.get(t)??[])}const La=/[*?{[]/,Ra=/* @__PURE__ */ new Set([`node_modules`,`bower_components`]);function za(e,t){return b(e,{cwd:t,exclude:e=>Ra.has(e.name),withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>g(e.parentPath,e.name))}async function Ba(e,t,n,r=32){let i=await ae(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>za(e.slice(1),t)).map(e=>h(t,e).replace(/\\/g,`/`))),o=/* @__PURE__ */ new Map;for(let n of e)if(!n.startsWith(`!`))for(let e of La.test(n)?za(n,t):[g(m(t,n))]){let n=h(t,e).replace(/\\/g,`/`);!a.has(n)&&!o.has(e)&&o.set(e,`./${n}`)}return(await I(o,async([e,t])=>{try{let r=await ae(m(e,n)),a=h(i,r);return a===`..`||a.startsWith(`..${_}`)||p(a)?null:{absPath:r,content:await re(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const Va=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#](?:[^:#]|:(?=\S))*?))\s*:(?:\s+(.*))?$/,Ha=/\s#/;function Ua(e){let t=Va.exec(e);if(!t)return null;let[n,r,i,a,o,s=``]=t,c=e.length-s.length,l=s.startsWith(`#`)?0:s.search(Ha),u=(l===-1?s:s.slice(0,l)).trimEnd(),d=u[0];return(d===`"`||d===`'`)&&u.length>1&&u.endsWith(d)&&(u=u.slice(1,-1),c+=1),{indent:r.length,key:i??a??o,value:u,valueIndex:c}}function Wa(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===`"`||s===a&&a===`'`&&e[o+1]===`'`?o++:s===a&&(a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return[];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?[]:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function Ga(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(Ha);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function Ka(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return[];let n=[];for(let r of Wa(e)){if(r.colon===-1)return[];let e=Ga(r.text.slice(0,r.colon)),i=Ga(r.text.slice(r.colon+1));if(!e||!i)return[];n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function qa(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=Ua(i);if(e?.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of Ka(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,t])=>!t.includes("${")))}}function Ja(e){try{return{content:C(e,`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e;return null}}function Ya(e){let t={},n=[{indent:-1,map:t}];for(let t of e.split(/\r?\n/)){let e=Ua(t);if(!e)continue;for(;e.indent<=n.at(-1).indent;)n.pop();let r=n.at(-1).map;r[e.key]=e.value||{},e.value||n.push({indent:e.indent,map:r[e.key]})}return t}function Xa(e,t){let n={tokens:{},registries:{}};try{let t=typeof e==`string`?JSON.parse(e):e??{};for(let[e,r]of Object.entries(t)){let{host:t,pathname:i,href:a}=new URL(e);for(let[e,{authToken:o}]of Object.entries(r))typeof o==`string`&&(n.tokens[`//${t}${i.replace(/\/$/,``)}/:${e===`@`?``:`${e}:`}_authToken`]=o,n.registries[e===`@`?`default`:e]=a)}}catch(e){throw Error(`Invalid _auth in ${t}: ${e.message}`)}return n}const Za=/* @__PURE__ */ new Map;function Qa(e){return H(Za,e,()=>qa(B(g(e),e=>Ja(m(e,`pnpm-workspace.yaml`)))?.content??``))}const $a=/* @__PURE__ */ new Map;function eo(){return t.XDG_CONFIG_HOME?m(t.XDG_CONFIG_HOME,`pnpm`):i===`darwin`?m(N(),`Library/Preferences/pnpm`):i===`win32`&&t.LOCALAPPDATA?m(t.LOCALAPPDATA,`pnpm/config`):m(N(),`.config/pnpm`)}function to(){let e=eo();return H($a,e,()=>{let t=Ja(m(e,`config.yaml`))?.content??``;return{...qa(t),auth:Xa(Ya(t)._auth,`config.yaml`)}})}const no=(e,{value:t,valueIndex:n},r)=>Ka(t,n).map(t=>({type:e,name:t.key,value:t.value,lineIndex:r,valueIndex:t.valueIndex}));function*ro(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
65
- `).entries()){let e=Ua(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s,n=s,r=-1,s===`catalog`)yield*no(s,e,i);else if(s===`catalogs`)for(let e of Ka(c,l))yield*no(`catalogs.${e.key}`,e,i)}else t===`catalogs`&&(r===-1||o<=r)?(n=`catalogs.${s}`,r=o,yield*no(n,e,i)):c&&(t===`catalog`||t===`catalogs`)&&(yield{type:n,name:s,value:c,lineIndex:i,valueIndex:l})}}function io(e,t){let n;for(let{type:r,name:i,value:a,lineIndex:o,valueIndex:s}of Array.from(ro(e)).reverse()){let c=t[`${r}${i}`];if(!c||(c.oldOrig||c.old)!==a)continue;let l=(n??=e.split(`
64
+ `),0;if(_a(e,`version`,`v`)){let e;try{e=C(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=C(new URL(`../package.json`,t.moduleUrl),`utf8`)}return s(JSON.parse(e).version),0}let{args:c,positionals:l}=ma(e);if(c.login!==void 0){let e=ya(c.login,`login`),n=await xa(t.stdin??o,e),r=await Hn(e,n,typeof c.forgeapi==`string`?tn(c.forgeapi):void 0);return await Xt(e,n),s(`stored token for ${e} (${r})`),0}if(c.logout!==void 0){let e=ya(c.logout,`logout`);if(!await Zt(e))throw Error(`no stored token for ${e}`);return s(`removed token for ${e}`),0}try{n&&await va(c,l)}catch{}let d=await ga(c,l),{updates:f}=await import(`./api.js`);!d.noColor&&(d.color||t.stdoutIsTTY)&&(r=e=>u(`red`,e,{validateStream:!1}),i=e=>u(`green`,e,{validateStream:!1})),a=!!d.json;let p=await f(d),m=Object.keys(p.results),h=m.length>0,g=p.errors??[];if(d.json)s(JSON.stringify({...p.message&&{message:p.message},...h&&{results:p.results},...g.length&&{errors:g}}));else{if(p.message?s(p.message):h&&s(Ca(p,r,i)),d.update)for(let e of m)s(i(`✨ ${e} updated`));for(let{mode:e,name:t,error:n}of g)s(r(`${e} ${t}: ${n}`))}return g.length?1:d.errorOnOutdated?h?2:0:d.errorOnUnchanged?h?0:2:0}catch(e){let t=on(e.message??String(e));return s(a?JSON.stringify({error:t}):r(t)),1}}function Ca(e,t,n){let r=Object.keys(e.results),i=r.length>1,a=[[`NAME`,...i?[`MODE`]:[],`OLD`,`NEW`,`AGE`,`INFO`]],o=/* @__PURE__ */ new Set;for(let s of r){let r=Object.values(e.results[s]).flatMap(e=>Object.entries(e));for(let[e,c]of r.sort(([e],[t])=>e<t?-1:+(e>t))){let r=`${s}|${e}|${c.old}|${c.new}`;o.has(r)||(o.add(r),a.push([s===`go`?la(e):e,...i?[s]:[],fe(c.old,c.new,t),fe(c.new,c.old,n),c.age||``,c.info||``]))}}return Ne(a,e=>l(e).length)}const wa=[[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`]],Ta={"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 Ea(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function Da(e,{now:t,noAffix:n=!1,times:r=wa,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o,aliases:s=!1,aliasesMap:c=Ta,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():Ea(t))-Ea(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 Oa(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/[\r\n]+/)){let e=n.trim(),r=e.indexOf(`=`);if(r===-1||e.startsWith(`#`)||e.startsWith(`;`))continue;let i=e.slice(r+1).trim();if(/^'.*'$/s.test(i))i=i.slice(1,-1);else if(/^".*"$/s.test(i))try{i=JSON.parse(i)}catch{}else i=i.replace(/\\([\\;#])|[;#].*$/g,`$1`).trim();t[e.slice(0,r).trim()]=i}return t}function ka(e){try{return Oa(C(e,`utf-8`))}catch{return}}function Aa(e,t){return We(t,t=>{let n=m(t,e);try{if(E(n).isFile())return n}catch{}return null})}function ja(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),o=t.pop();if(!o)continue;let s=n;for(let e of t)s[e]??={},s=typeof s[e]==`object`?s[e]:{};s[o]=a}return n}function Ma(n,r={},a=e()){let o=i===`win32`?t.USERPROFILE:t.HOME,s=ja(`${n}_`),c=/* @__PURE__ */ new Set([...i===`win32`?[]:[m(`/etc`,n,`config`),m(`/etc`,`${n}rc`)],...o?[m(o,`.config`,n,`config`),m(o,`.config`,n),m(o,`.${n}`,`config`),m(o,`.${n}rc`)]:[],Aa(`.${n}rc`,a),s.config]);return Object.assign({},r,...Array.from(c).filter(Boolean).map(ka),s)}function Na(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const Pa=/* @__PURE__ */ new WeakMap;function Fa(e,t){let n=U(Pa,e,()=>{let t=/* @__PURE__ */ new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`,1)[0],i=e.indexOf(`|`);H(t,i===-1?`.`:e.slice(i+1),[`${Na(e)}${n.slice(e.length)}`,r])}return t});return Object.fromEntries(n.get(t)??[])}const Ia=/[*?{[]/,La=/* @__PURE__ */ new Set([`node_modules`,`bower_components`]);function Ra(e,t){return b(e,{cwd:t,exclude:e=>La.has(e.name),withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>g(e.parentPath,e.name))}async function za(e,t,n,r=32){let i=await A(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>Ra(e.slice(1),t)).map(e=>h(t,e).replace(/\\/g,`/`))),o=/* @__PURE__ */ new Map;for(let n of e)if(!n.startsWith(`!`))for(let e of Ia.test(n)?Ra(n,t):[g(m(t,n))]){let n=h(t,e).replace(/\\/g,`/`);!a.has(n)&&!o.has(e)&&o.set(e,`./${n}`)}return(await L(o,async([e,t])=>{try{let r=await A(m(e,n)),a=h(i,r);return a===`..`||a.startsWith(`..${_}`)||p(a)?null:{absPath:r,content:await re(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const Ba=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#](?:[^:#]|:(?=\S))*?))\s*:(?:\s+(.*))?$/,Va=/\s#/;function Ha(e){let t=Ba.exec(e);if(!t)return null;let[n,r,i,a,o,s=``]=t,c=e.length-s.length,l=s.startsWith(`#`)?0:s.search(Va),u=(l===-1?s:s.slice(0,l)).trimEnd(),d=u[0];return(d===`"`||d===`'`)&&u.length>1&&u.endsWith(d)&&(u=u.slice(1,-1),c+=1),{indent:r.length,key:i??a??o,value:u,valueIndex:c}}function Ua(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===`"`||s===a&&a===`'`&&e[o+1]===`'`?o++:s===a&&(a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return[];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?[]:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function Wa(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(Va);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function Ga(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return[];let n=[];for(let r of Ua(e)){if(r.colon===-1)return[];let e=Wa(r.text.slice(0,r.colon)),i=Wa(r.text.slice(r.colon+1));if(!e||!i)return[];n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function Ka(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=Ha(i);if(e?.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of Ga(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,t])=>!t.includes("${")))}}function qa(e){try{return{content:C(e,`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e;return null}}function Ja(e){let t={},n=[{indent:-1,map:t}];for(let t of e.split(/\r?\n/)){let e=Ha(t);if(!e)continue;for(;e.indent<=n.at(-1).indent;)n.pop();let r=n.at(-1).map;r[e.key]=e.value||{},e.value||n.push({indent:e.indent,map:r[e.key]})}return t}function Ya(e,t){let n={tokens:{},registries:{}};try{let t=typeof e==`string`?JSON.parse(e):e??{};for(let[e,r]of Object.entries(t)){let{host:t,pathname:i,href:a}=new URL(e);for(let[e,{authToken:o}]of Object.entries(r))typeof o==`string`&&(n.tokens[`//${t}${i.replace(/\/$/,``)}/:${e===`@`?``:`${e}:`}_authToken`]=o,n.registries[e===`@`?`default`:e]=a)}}catch(e){throw Error(`Invalid _auth in ${t}: ${e.message}`)}return n}const Xa=/* @__PURE__ */ new Map;function Za(e){return U(Xa,e,()=>Ka(We(g(e),e=>qa(m(e,`pnpm-workspace.yaml`)))?.content??``))}const Qa=/* @__PURE__ */ new Map;function $a(){return t.XDG_CONFIG_HOME?m(t.XDG_CONFIG_HOME,`pnpm`):i===`darwin`?m(P(),`Library/Preferences/pnpm`):i===`win32`&&t.LOCALAPPDATA?m(t.LOCALAPPDATA,`pnpm/config`):m(P(),`.config/pnpm`)}function eo(){let e=$a();return U(Qa,e,()=>{let t=qa(m(e,`config.yaml`))?.content??``;return{...Ka(t),auth:Ya(Ja(t)._auth,`config.yaml`)}})}const to=(e,{value:t,valueIndex:n},r)=>Ga(t,n).map(t=>({type:e,name:t.key,value:t.value,lineIndex:r,valueIndex:t.valueIndex}));function*no(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
65
+ `).entries()){let e=Ha(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s,n=s,r=-1,s===`catalog`)yield*to(s,e,i);else if(s===`catalogs`)for(let e of Ga(c,l))yield*to(`catalogs.${e.key}`,e,i)}else t===`catalogs`&&(r===-1||o<=r)?(n=`catalogs.${s}`,r=o,yield*to(n,e,i)):c&&(t===`catalog`||t===`catalogs`)&&(yield{type:n,name:s,value:c,lineIndex:i,valueIndex:l})}}function ro(e,t){let n;for(let{type:r,name:i,value:a,lineIndex:o,valueIndex:s}of Array.from(no(e)).reverse()){let c=t[`${r}${i}`];if(!c||(c.oldOrig||c.old)!==a)continue;let l=(n??=e.split(`
66
66
  `))[o];n[o]=l.slice(0,s)+c.new+l.slice(s+a.length)}return n?n.join(`
67
- `):e}function ao(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=Ua(r);if(e?.indent===0&&e.key===`packages`)n=!0,e.value.startsWith(`[`)&&e.value.endsWith(`]`)&&t.push(...Wa(e.value).map(e=>e.text));else if(n){let e=r.trim();if(e.startsWith(`-`))t.push(e.slice(1));else if(e&&!e.startsWith(`#`))break}}return t.map(e=>Ga(e)?.value).filter(e=>e!==void 0)}const oo=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,so=/* @__PURE__ */ new Set([`resolutions`,`overrides`]);function co(e){let t=e.replace(/^.*?[^ |@]>/,``).trim();return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(t)?.[1]??(t||e)}const lo=Y.registry,uo=/* @__PURE__ */ new Map,fo=/* @__PURE__ */ new Map,po=e=>e.replace(/^\$\{?([^}]*)\}?$|\$\{([^}]*)\}/g,(e,n,r)=>t[n||r]||``);function mo(e){let t=new URL(e.startsWith(`//`)?`http:${e}`:e),n=[],r;for(;r!==`/`&&t.pathname!==r;)r=t.pathname||`/`,n.push(`//${t.host}${r.replace(/\/$/,``)}`),t.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname;return n}function ho(e,t,n){let r=mo(e),i=(e,n)=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=n&&r.map(e=>i(e,`${n}:_authToken`)).find(Boolean);if(a)return{token:po(a),type:`Bearer`};for(let e of r){let t=i(e,`_authToken`);if(t)return{token:po(t),type:`Bearer`};let n=i(e,`username`),r=i(e,`_password`);if(n&&r){let e=Buffer.from(po(r),`base64`).toString(`utf8`);return{token:Buffer.from(`${po(n)}:${e}`).toString(`base64`),type:`Basic`}}let a=i(e,`_auth`);if(a)return{token:po(a),type:`Basic`}}if(e===lo&&t._auth)return{token:po(t._auth),type:`Basic`}}function go(e,n,r){let i=H(uo,r??``,()=>Na(`npm`,{registry:lo},r)),a=t.pnpm_config__auth||t.PNPM_CONFIG__AUTH||void 0,o=H(fo,a??``,()=>Xa(a,`pnpm_config__auth`)),s=to(),c=r?Qa(r):{registries:{}},l=e.startsWith(`@`)?e.split(`/`)[0]:``,u=nn(po(l&&(o.registries[l]||c.registries[l]||s.registries[l]||s.auth.registries[l]||i[`${l}:registry`])||n.registry||o.registries.default||c.registries.default||c.registry||s.registries.default||s.registry||s.auth.registries.default||i.registry||lo));return{auth:ho(u,{...i,...s.auth.tokens,...o.tokens},l),registry:u}}const _o=(e,t)=>`${e}/${t.replace(/\//g,`%2f`)}`,vo=/* @__PURE__ */ new WeakMap,yo=/* @__PURE__ */ new WeakMap,bo=/* @__PURE__ */ new WeakMap,xo=/* @__PURE__ */ new WeakMap,So=(e,t)=>`${e}v2${t?`-dates`:``}`;function Co(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 wo(e,t,n,r,i,a,o=``){let s=so.has(t)?co(e):[`packageManager`,`engines`,`volta`].includes(t)&&e===`yarn`&&(U(Q(o))?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=go(s,n,a),u=_o(l,s),d=So(u,!!r.needsDates);return[await Z(vo,i,d,async()=>{let t=rn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await pn(u,i,t,un(Co),d);return`body`in n||cr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function To(e,t,n,r,i,a){let{auth:o,registry:s}=go(e,n,a),c=_o(s,e),l=`${c}/${t}`;return Z(yo,i,l,async()=>{try{let e=rn(o?.type,o?.token),n=await mn(l,i,e,un(e=>({repository:e.repository,homepage:e.homepage,dist:{integrity:e.dist?.integrity},_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})),`${l}#integrity`);if(!(`body`in n))return{};let a=JSON.parse(n.body),s=/(\d{13})/.exec(a?._npmOperationalInternal?.tmp??``),u=s?new Date(Number(s[1])).toISOString():``;return!u&&r.needsDates&&(u=(await vo.get(i)?.get(So(c,!0)))?.time?.[t]||``),u||=(await L(Z(bo,i,c,async()=>{let t=await ln(i,c,e);return t.ok?await t.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:u,integrity:a.dist?.integrity}}catch{return{}}})}const Eo=e=>e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`),Do=e=>e.startsWith(`link:`)||e.startsWith(`file:`),Oo=e=>e.startsWith(`catalog:`),ko=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Ao(e){let t=ko.exec(e.trim());return t&&G(t[2])?{name:t[1],range:t[2]}:null}const jo=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,Mo=/^@([^/]+)\/(.+)$/;function No(e,t){let n=jo.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=Mo.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}function Po(e,t){if(!Eo(t))return Ao(t)?.name??e;let{scope:n,name:r}=No(t,e);return n?`@${n}/${r}`:e}async function Fo(e,t){if(!Mo.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Z(xo,t,n,async()=>{let r=await pn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},un(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||cr(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 Io(e,t){try{JSON.parse(e)}catch{return e}let n=/* @__PURE__ */ 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]===`{`||e[r]===`[`){let n=e[r++]===`{`?`}`:`]`;i();for(let s=0;e[r]!==n&&r<e.length;s++){let c=s;if(n===`}`&&(c=a().value,i(),e[r++]!==`:`))return;if(o([...t,c]),i(),e[r]===`,`)r++,i();else break}e[r]===n&&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=n.get(a||JSON.stringify([t,i])),c=o??n.get(JSON.stringify([t])),l=o?``:`${i}@`;c?.value===`${l}${r.oldOrig||r.old}`&&s.push({...c,value:JSON.stringify(`${l}${r.new}`)})}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 Lo=String.raw`[<>]=?|~>|[\^~=]`,Ro=new RegExp(String.raw`^(${Lo})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),zo=RegExp(`^(?:${Lo})$`),Bo=/^[xX*]$/,Vo=/\+[0-9A-Za-z.-]+/g,Ho=/\|\||[\dxX*]\s+\S/;function Uo(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&zo.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Wo(e,t){let n=Ro.exec(e);if(!n)return e;let[r,i=``,a,o,s,c=``]=n,l=s.split(`.`);if(i===`<`&&l.length<=3&&!/[xX*]/.test(s)){let{major:e,minor:n,patch:r}=U(t);return`${i}${a}${l.length===1?`${e+1}`:l.length===2?`${e}.${n+1}`:!c&&s.endsWith(`.0.0`)?`${e+1}.0.0`:!c&&s.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${r+1}`}`}if(i===`>`||i===`<`)return e;if(t.includes(`-`))return`${i}${a}${o}${t}`;let u=t.split(`.`);return`${i}${a}${o}${l.map((e,t)=>Bo.test(e)?e:u[t]??`0`).join(`.`)}`}function Go(e,t){if(W(t,e))return e;let n=Uo(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Wo(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Wo(r,t),n.join(` `)}function Ko(e,t,n,r){let i=(n||e).replace(Vo,``),a=r===`peerDependencies`||Ho.test(i)?Go(i,t):Wo(i,t);return W(t,a)?a:i}function qo(e){if(/[xX*]/.test(e))return e;let t=e.match(oo);return t?.length===1?e.replace(oo,()=>Q(t[0])):e}async function Jo(e,t,n){let r=await tr(`${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 Yo(e,t,n,r){return(await or(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function Xo(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),i=/^(?:github:|git@github\.com:|(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:])(.+)$/i.exec(n);if(i)n=i[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 a=n.split(`/`);if(a.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(a[0])||!/^[a-z\d._-]{1,100}$/i.test(a[1]))return null;let o=r.startsWith(`semver:`)&&G(r.slice(7))?r.slice(7):null;return!o&&!Xn.test(r)&&!tt(r)?null:{user:a[0],repo:a[1],ref:o??r,selector:o}}async function Zo(e,t,n){let r=Xo(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 Jo(i,a,n),s=t.substring(0,o.length);return!t||o.toLowerCase()===s.toLowerCase()?null:{key:e,newRange:c(s),user:i,repo:a,oldRef:o,newRef:s,newDate:Qn(r)}}let l=qn(await Yo(i,a,o,n),s?Q(s):o);if(!l)return null;let u=s?Ko(s,X(l),s):l;return u===o?null:{key:e,newRange:c(u),user:i,repo:a,oldRef:o,newRef:u}}function Qo(e){let t=/^(?!\.\.?\/)(?:https?:\/\/([^/]+)\/)?(([^/@]+)\/([^/@]+)[^@]*)@(.+)$/.exec(e);if(!t)return null;let[n,r=null,i,a,o,s]=t;return{host:r,owner:a,repo:o,ref:s,name:r?`${r}/${i}`:i,isHash:Yn.test(s)}}function $o(e,t){return e?e===`github.com`?tn:`https://${e}/api/v1`:t}async function es(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`,o=i.noCache?null:await Vt(a);if(o)return o.body;try{let e=await Kn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Qn(await e.json());return t&&!i.noCache&&Wt(a,`immutable`,t),t}catch(e){if(e instanceof Un)throw e;return}}function ts(e,t){let n=e.replace(/^v/i,``);return lr(U(n)?.version??n,t)}const ns=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function rs(e,t){let n=ns.exec(e);if(!n)return null;let r=n[1].length,i=n[1].indexOf(`-`)+1;for(;t.length&&t.at(-1).indent>=(i||r);)t.pop();return{indent:r,key:(n[2]??n[3]??n[4]).trim(),value:n[5]}}const is=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function as(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'#])\S+))([^\n]*)$/.exec(e);if(!t)return null;let[n,r,i=``,a,o,s]=t,c=a??o;if(!c)return null;let l=s.search(/(?<=\s)#/),u=l===-1?``:s.slice(l),d=u?is.exec(u.slice(1)):null;return{prefix:r,quote:i,value:c,gap:l===-1?s:s.slice(0,l),comment:u,pinnedVersion:d?.[1]??``,pinnedEnd:d?d[0].length+1:0}}function os(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
68
- `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=rs(e,r);if(!t)return e;let a=t.key===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&(r[0].key===`jobs`||r[0].key===`runs`&&r[1].key===`steps`)),o=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(o||r.push(t),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(o))return i=t.indent,e;let s=a&&as(e);if(!s)return e;let{prefix:c,quote:l,value:u,gap:d,comment:f,pinnedVersion:p,pinnedEnd:m}=s,h=/^https?:\/\//.exec(u)?.[0]??``,g=p||/^#\s*(\S+)\s*$/.exec(f)?.[1]||``,_=u.slice(h.length),v=n.get(`${_}${g?`#${g}`:``}`)??n.get(_);if(!v)return e;let y=v.newComment&&p?`# ${v.newComment}${f.slice(m)}`:f;return`${c}${l}${h}${v.name}@${v.newRef}${l}${d}${y}`}).join(`
69
- `)}const ss=RegExp(`(?:^|/)(?:(?:workflow-templates|(?:${Re(Te)})/(?:workflows|actions))/.+|action)\\.ya?ml$`);function cs(e){return ss.test(e.replace(/\\/g,`/`))}function ls(e){let t=/* @__PURE__ */ new Set;try{let n=m(e,`workflows`);for(let e of w(n))/\.ya?ml$/.test(e)&&t.add(g(n,e))}catch{}try{for(let n of w(e,{recursive:!0,withFileTypes:!0}))n.isFile()&&cs(m(n.parentPath,n.name))&&t.add(g(n.parentPath,n.name))}catch{}return Array.from(t)}const us=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,ds=/^\s*(?:#\s*syntax\s*=\s*|FROM(?:\s+--\S+)*\s+(?!--)|(?:ONBUILD\s+)?COPY(?:\s+--\S+)*?\s+--from=)(\S+)/i,fs=/^\s*(?:ONBUILD\s+)?RUN(?:\s+--\S+)+/i,ps=/(?<=\s--mount=(?:[^\s,]*,)*from=)[^\s,]+/gi,ms=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,hs=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,gs=/^\uFEFF?[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,_s=/^\s*#\s*(syntax|escape|check)\s*=\s*(\S+)/i,vs=/^\s*(?:ONBUILD\s+)?(?:ADD|COPY|RUN)\s/i,ys=/(?:[^\s"'\\]|\\.|"(?:\\.|[^"\\])*"|'[^']*')+/g;function bs(e,t){return e.includes(`$`)?e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>t(n||r)??e):e}function xs(e){let t=Array.from(e.matchAll(ys),([e])=>e),n=[];for(let[e,r]of t.entries()){let i=/^\d*<<-?/.exec(r)?.[0];if(!i||r.includes(`<`,i.length))continue;let a=r.slice(i.length)||t[e+1];a&&n.push({chomp:i.endsWith(`-`),name:a.replace(/\\(.)|["']/g,`$1`)})}return n}function*Ss(e){let t=`\\`,n=!0,r=[],i=``,a=0,o=0;for(let s of e.split(`
70
- `)){let e=o;if(o+=s.length+1,r.length){let{chomp:e,name:t}=r[0];(e?s.replace(/^\t+/,``):s).replace(/\r$/,``)===t&&r.shift();continue}if(n){let r=_s.exec(s);if(r){r[1].toLowerCase()===`escape`&&(t=r[2]),yield{text:s,index:e};continue}n=!1}let c=s.trimStart();if(!c||c.startsWith(`#`)){i&&(i+=`${` `.repeat(s.length)}\n`);continue}i||(a=e);let l=s.trimEnd().length;s[l-1]===t&&s[l-2]!==t?i+=`${s.slice(0,l-1)} ${s.slice(l)}\n`:(i+=s,yield{text:i,index:a},r=i.includes(`<<`)&&vs.test(i)?xs(i):[],i=``)}i&&(yield{text:i,index:a})}function*Cs(e,t=!1){let n=/* @__PURE__ */ new Map,r=(e,r)=>({image:e,index:r,args:n,resolved:bs(e,e=>n.get(e)?.[t?`resolved`:`value`])}),i=!1;for(let{text:t,index:a}of Ss(e)){let e=i?null:gs.exec(t);if(e){let r=e[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``;n.set(e[1],{value:r,resolved:bs(r,e=>n.get(e)?.resolved),start:a+t.lastIndexOf(r)});continue}i||=/^\s*FROM\s/i.test(t);let o=ds.exec(t);o&&(yield r(o[1],a+o[0].length-o[1].length));let s=fs.exec(t)?.[0];if(s&&/from=/i.test(s))for(let e of s.matchAll(ps))yield r(e[0],a+e.index)}}const ws=/^(?:(?:index|registry-1)\.)?docker\.io$/;function Ts(e){let t=e.split(`/`);return t.length>1&&ws.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 Es(e){let{registry:t,namespace:n,repo:r}=Ts(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[.../* @__PURE__ */ new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Ds(e){if(e.includes(`$`))return null;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&&!us.test(s))return null;let{registry:c,namespace:l,repo:u}=Ts(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Os(e){let t=us.exec(e);return!t||t[2]&&!t[3]&&Xn.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function ks(e,t){let n=[];if(t===`dockerfile`){for(let{image:t,resolved:r}of Cs(e,!0)){let e=Ds(r);e&&n.push({ref:e,match:t})}return n}let r=As(e);for(let t of e.matchAll(ms)){if(r.has(t.index+t[0].indexOf(`image:`)))continue;let e=Ds(t[1].replace(/^\$\{\w+:-([^${}]+)\}$/,`$1`));e&&n.push({ref:e,match:t[1]})}return n}function As(e){let t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim()||r[0].trimStart().startsWith(`#`))continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=H(n,e,()=>({built:!1,images:[]}));if(/^[ \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 js=/* @__PURE__ */ new WeakMap,Ms=/* @__PURE__ */ new Set([401,403,404]);async function Ns(e,t,n,r,i=e){let a=await pn(e,t,{headers:{"accept-encoding":`gzip, deflate, br`}},un(r),i);return`body`in a?JSON.parse(a.body):(Ms.has(a.res?.status)||cr(a.res,e,n,t.dockerApiUrl),null)}function Ps(e,t,n){return Z(js,n,`${e}/${t}`,async()=>{let r={dates:{},digests:/* @__PURE__ */ new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=r=>Ns(r,n,`${e}/${t}`,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`),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=Array.from({length:Math.min(20,Math.ceil(c.count/1e3))-1},(e,t)=>a(t+2)),u=new Set(l),d=await I(l,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:gn(n)});for(let e of d){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),c=e.value}let f=new URL(i).origin;for(let e=l.length+2;e<=20&&c.next;e++){let e=new URL(c.next,i);if(e.origin!==f||u.has(e.href)||(u.add(e.href),c=await o(e.href),!c))break;s(c)}return r})}async function Fs(e,t,n){return(await Ps(e,t,n)).dates}async function Is(e,t,n,r){let i=(await Ps(e,t,r)).digests.get(n);if(i)return i;let a=(await Ns(`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,r,`${e}/${t}:${n}`,e=>({digest:e.digest})))?.digest;return typeof a==`string`?a:null}const Ls=/^\d?[02468]\.04$/;function Rs(e,t,n=Date.now()){return e===`ubuntu`?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Os(e)?.version;return!t||Ls.test(t)&&n>=Date.UTC(2e3+Number(t.split(`.`)[0]),4)})):t}async function zs(e,t){let{registry:n,namespace:r,repo:i}=Ts(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:Rs(i,await Fs(r,i,t)),name:e},null]}const Bs=({version:e,prerelease:t})=>`${qs(e)}${t?`-${t}`:``}`;function Vs(e){let t=Os(e);return t?qs(t.version):``}const Hs=/[._]/,Us=e=>X(e.version).split(Hs).map(Number),Ws=e=>X(e).replace(/\d+/g,``),Gs=2e7,Ks=e=>Number(X(e).split(Hs)[0]);function qs(e){let t=X(e).split(Hs);return`${Number(t[0])}.${Number(t[1]||0)}.${Number(t[2]||0)}`}function Js(e,t){let n=Us(e),r=Us(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!!e.prerelease==!!t.prerelease?e.prerelease.localeCompare(t.prerelease):e.prerelease?-1:1}function Ys(e,t){let n=Us(t),r=Us(e).findIndex((e,t)=>e!==n[t]);return r===0?`major`:r===1?`minor`:`patch`}function Xs(e,t,n,r,i,a,o=!1,s=!1){let c=Os(t);if(!c)return null;let l=Ws(c.version),u=Ks(c.version)>=Gs,d=Bs(c),{effectiveSemvers:f,skipsPrerelease:p}=Sn(d,o,s,n),m=l.length>2||l.includes(`_`),h=U(d),g=c,_={newTag:``,date:``};for(let[t,d]of Object.entries(e)){let e=Os(t);if(!e||e.suffix!==c.suffix||Ws(e.version)!==l||!u&&Ks(e.version)>=Gs||!J(d,r,i))continue;let v=Bs(e);if(a&&!W(v,a))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||Js(e,g)<=0||!n.has(Ys(c,e)))continue;g=e,_={newTag:t,date:d};continue}let y=U(v);if(!y||e.prerelease&&p(y))continue;if(y.version===h.version){_.newTag&&Date.parse(d)>Date.parse(_.date)&&(_={newTag:t,date:d});continue}let b=q.diff(h,y);!b||!f.has(b)||q.compare(y,h)<=0||(h=y,_={newTag:t,date:d})}if(!_.newTag)return null;if(m)return _;let[v,y=``]=h.version.split(`-`),b=lr(v,c.version,`${y}${c.suffix}`),x=b in e?b:_.newTag;return x===t?null:{newTag:x,date:_.date}}function Zs(e){let t=/* @__PURE__ */ 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 Qs(e,t,n,r=e=>!0){if(!t.size)return e;let i=Re(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})(?![\\w.@+/-])`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function $s(e,t){let n=Zs(t);if(!n.size)return e;let r=/* @__PURE__ */ new Map;for(let{image:t,index:i,args:a,resolved:o}of Cs(e)){let e=n.get(o);if(!e)continue;if(t===o){r.set(i,[t.length,e]);continue}let s=o.lastIndexOf(`@`),c=e.lastIndexOf(`@`),l=o.slice(s+1),u=e.slice(c+1),d=s!==-1&&c!==-1&&l!==u,f=d?t.lastIndexOf(l):-1,p=e=>a.get(e)?.value,m=0,h=!1;for(let n of t.matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){m=n.index+n[0].length;let i=a.get(n[1]||n[2]),o=bs(t.slice(0,n.index),p),s=bs(t.slice(m),p);d&&(s=s.replace(l,()=>u)),i&&e.startsWith(o)&&e.endsWith(s)&&(r.set(i.start,[i.value.length,e.slice(o.length,s?-s.length:void 0)]),h=!0)}let g=bs(t.slice(0,m),p);!h&&m<t.length&&e.startsWith(g)?r.set(i+m,[t.length-m,e.slice(g.length)]):f!==-1&&r.set(i+f,[l.length,u])}let i=[],a=0;for(let[t,[n,o]]of[...r].sort(([e],[t])=>e-t))i.push(e.slice(a,t),o),a=t+n;return i.push(e.slice(a)),i.join(``)}function ec(e,t){let n=As(e);return Qs(e,Zs(t),[String.raw`${hs}image:\s*['"]?(?:\$\{\w+:-(?=[^{}$]+\}['"]?(?:\s|[,}#]|$)))?`],e=>!n.has(e))}function tc(e,t){return Qs(e,Zs(t),[String.raw`${hs}(?:container|image):\s*['"]?`,String.raw`${hs}uses:\s*['"]?docker://`])}const nc=[`Dockerfile`,`dockerfile`,`Containerfile`,`containerfile`,`compose.yml`,`compose.yaml`,`compose.override.yml`,`compose.override.yaml`,`docker-compose.yml`,`docker-compose.yaml`,`docker-compose.override.yml`,`docker-compose.override.yaml`];function rc(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function ic(e){return/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)}function ac(e){return ic(e)||rc(e)}function oc(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const sc=[`Makefile`,`makefile`,`GNUmakefile`];function cc(e){return sc.includes(e)||e.endsWith(`.mk`)}const lc=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,uc=/^([^@\s]+)@(v\d\S*)$/,dc=/^[^/\s]+\.[^/\s]+\//;function*fc(e,t){let n=``;for(let r of[...e.split(/\r?\n/),``]){let e=r.indexOf(`#`),i=e===-1?r:r.slice(0,e),a=0;for(;i[i.length-a-1]===`\\`;)a++;if(a%2){n+=`${i.slice(0,-1)} `;continue}let o=t.exec(n+i);if(n=``,!o)continue;let s=``,c=``;for(let e of o[1])s?e===s?s=``:c+=e:e===`"`||e===`'`?s=e:/\s/.test(e)?(c&&(yield c),c=``):c+=e;c&&!s&&(yield c)}}function pc(e,t,n){return Array.from(fc(e,t),e=>n?.exec(e)?.[1]??e).filter(e=>!e.includes(`$`))}function mc(e){return pc(e,lc)}function hc(e){return e.flatMap(e=>{let t=uc.exec(e);return t&&dc.test(t[1])?{installPath:t[1],version:t[2]}:[]})}const gc=/@(sha256:[0-9a-f]{64})$/;function _c(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function vc(e){let t=gc.exec(e),n=t?e.slice(0,t.index):e,r=Ds(n.replace(/^docker\.io\//,``));return!r||r.registry||r.namespace===`library`?null:{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:r,digest:t?.[1]??null}}function yc(e){return e.map(vc).filter(e=>e!==null)}const bc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,xc=/* @__PURE__ */ new WeakMap;function Sc(e,n,r){return Z(xc,r,`${g(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){throw Vi(`${e}@latest`,t)}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 Cc(e,t,n,r){let i=bc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=e.split(`/`),o=Array.from({length:a.length-1},(e,t)=>a.slice(0,a.length-t).join(`/`));for(let{url:i,fallback:a}of bi(e,n,r)){if(i===`off`)break;let e=await Promise.allSettled(o.map(async e=>i===`direct`?Sc(e,t,n):!!await qi(n,`primary`,i,e)));for(let[t,n]of e.entries()){if(n.status===`rejected`&&a===`,`)throw n.reason;if(n.status===`fulfilled`&&n.value)return o[t]}}return null}function wc(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,R).join(`["']*`)).join(`|`),i=RegExp(`(?:(?<=\\$\\{\\w+:?-)|(?<![\\w./@:-]))(${r})(?![\\w./@:+-])`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=n.get(e.replace(/["']/g,``)),r=0;return e.replace(/[^"']/g,()=>t[r++]??``)+t.slice(r)}))}function Tc(e){return e.endsWith(`.sh`)}const Ec=/^\s*(?:(?:export|readonly|local|declare|typeset)\s+(?:-\w+\s+)*)*[A-Za-z_]\w*=\(?((?:.*[^\s;)])?)[\s;)]*$/,Dc=/^\$\{\w+:?[-=](.*)\}$/;function Oc(e){return pc(e,Ec,Dc)}const kc=/* @__PURE__ */ new WeakMap;function Ac(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 jc(e){return e.split(`
67
+ `):e}function io(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=Ha(r);if(e?.indent===0&&e.key===`packages`)n=!0,e.value.startsWith(`[`)&&e.value.endsWith(`]`)&&t.push(...Ua(e.value).map(e=>e.text));else if(n){let e=r.trim();if(e.startsWith(`-`))t.push(e.slice(1));else if(e&&!e.startsWith(`#`))break}}return t.map(e=>Wa(e)?.value).filter(e=>e!==void 0)}const ao=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,oo=/* @__PURE__ */ new Set([`resolutions`,`overrides`]);function so(e){let t=e.replace(/^.*?[^ |@]>/,``).trim();return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(t)?.[1]??(t||e)}const co=X.registry,lo=/* @__PURE__ */ new Map,uo=/* @__PURE__ */ new Map,fo=e=>e.replace(/^\$\{?([^}]*)\}?$|\$\{([^}]*)\}/g,(e,n,r)=>t[n||r]||``);function po(e){let t=new URL(e.startsWith(`//`)?`http:${e}`:e),n=[],r;for(;r!==`/`&&t.pathname!==r;)r=t.pathname||`/`,n.push(`//${t.host}${r.replace(/\/$/,``)}`),t.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname;return n}function mo(e,t,n){let r=po(e),i=(e,n)=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=n&&r.map(e=>i(e,`${n}:_authToken`)).find(Boolean);if(a)return{token:fo(a),type:`Bearer`};for(let e of r){let t=i(e,`_authToken`);if(t)return{token:fo(t),type:`Bearer`};let n=i(e,`username`),r=i(e,`_password`);if(n&&r){let e=Buffer.from(fo(r),`base64`).toString(`utf8`);return{token:Buffer.from(`${fo(n)}:${e}`).toString(`base64`),type:`Basic`}}let a=i(e,`_auth`);if(a)return{token:fo(a),type:`Basic`}}if(e===co&&t._auth)return{token:fo(t._auth),type:`Basic`}}function ho(e,n,r){let i=U(lo,r??``,()=>Ma(`npm`,{registry:co},r)),a=t.pnpm_config__auth||t.PNPM_CONFIG__AUTH||void 0,o=U(uo,a??``,()=>Ya(a,`pnpm_config__auth`)),s=eo(),c=r?Za(r):{registries:{}},l=e.startsWith(`@`)?e.split(`/`)[0]:``,u=tn(fo(l&&(o.registries[l]||c.registries[l]||s.registries[l]||s.auth.registries[l]||i[`${l}:registry`])||n.registry||o.registries.default||c.registries.default||c.registry||s.registries.default||s.registry||s.auth.registries.default||i.registry||co));return{auth:mo(u,{...i,...s.auth.tokens,...o.tokens},l),registry:u}}const go=(e,t)=>`${e}/${t.replace(/\//g,`%2f`)}`,_o=/* @__PURE__ */ new WeakMap,vo=/* @__PURE__ */ new WeakMap,yo=/* @__PURE__ */ new WeakMap,bo=/* @__PURE__ */ new WeakMap,xo=(e,t)=>`${e}v2${t?`-dates`:``}`;function So(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 Co(e,t,n,r,i,a,o=``){let s=oo.has(t)?so(e):[`packageManager`,`engines`,`volta`].includes(t)&&e===`yarn`&&(W(Sn(o))?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=ho(s,n,a),u=go(l,s),d=xo(u,!!r.needsDates);return[await Q(_o,i,d,async()=>{let t=nn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await fn(u,i,t,ln(So),d);return`body`in n||$(n.res,u,e,l),JSON.parse(n.body)}),l]}async function wo(e,t,n,r,i,a){let{auth:o,registry:s}=ho(e,n,a),c=go(s,e),l=`${c}/${t}`;return Q(vo,i,l,async()=>{try{let e=nn(o?.type,o?.token),n=await pn(l,i,e,ln(e=>({repository:e.repository,homepage:e.homepage,dist:{integrity:e.dist?.integrity},_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})),`${l}#integrity`);if(!(`body`in n))return{};let a=JSON.parse(n.body),s=/(\d{13})/.exec(a?._npmOperationalInternal?.tmp??``),u=s?new Date(Number(s[1])).toISOString():``;return!u&&r.needsDates&&(u=(await _o.get(i)?.get(xo(c,!0)))?.time?.[t]||``),u||=(await R(Q(yo,i,c,async()=>{let t=await cn(i,c,e);return t.ok?await t.json():null})))?.time?.[t]||``,{repository:a.repository,homepage:a.homepage,date:u,integrity:a.dist?.integrity}}catch{return{}}})}const To=e=>e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`),Eo=e=>e.startsWith(`link:`)||e.startsWith(`file:`),Do=e=>e.startsWith(`catalog:`),Oo=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function ko(e){let t=Oo.exec(e.trim());return t&&K(t[2])?{name:t[1],range:t[2]}:null}const Ao=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,jo=/^@([^/]+)\/(.+)$/;function Mo(e,t){let n=Ao.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=jo.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}function No(e,t){if(!To(t))return ko(t)?.name??e;let{scope:n,name:r}=Mo(t,e);return n?`@${n}/${r}`:e}async function Po(e,t){if(!jo.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(bo,t,n,async()=>{let r=await fn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},ln(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||$(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 Fo(e,t){try{JSON.parse(e)}catch{return e}let n=/* @__PURE__ */ 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]===`{`||e[r]===`[`){let n=e[r++]===`{`?`}`:`]`;i();for(let s=0;e[r]!==n&&r<e.length;s++){let c=s;if(n===`}`&&(c=a().value,i(),e[r++]!==`:`))return;if(o([...t,c]),i(),e[r]===`,`)r++,i();else break}e[r]===n&&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=n.get(a||JSON.stringify([t,i])),c=o??n.get(JSON.stringify([t])),l=o?``:`${i}@`;c?.value===`${l}${r.oldOrig||r.old}`&&s.push({...c,value:JSON.stringify(`${l}${r.new}`)})}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 Io=String.raw`[<>]=?|~>|[\^~=]`,Lo=new RegExp(String.raw`^(${Io})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),Ro=RegExp(`^(?:${Io})$`),zo=/^[xX*]$/,Bo=/\+[0-9A-Za-z.-]+/g,Vo=/\|\||[\dxX*]\s+\S/;function Ho(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&Ro.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function Uo(e,t){let n=Lo.exec(e);if(!n)return e;let[r,i=``,a,o,s,c=``]=n,l=s.split(`.`);if(i===`<`&&l.length<=3&&!/[xX*]/.test(s)){let{major:e,minor:n,patch:r}=W(t);return`${i}${a}${l.length===1?`${e+1}`:l.length===2?`${e}.${n+1}`:!c&&s.endsWith(`.0.0`)?`${e+1}.0.0`:!c&&s.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${r+1}`}`}if(i===`>`||i===`<`)return e;if(t.includes(`-`))return`${i}${a}${o}${t}`;let u=t.split(`.`);return`${i}${a}${o}${l.map((e,t)=>zo.test(e)?e:u[t]??`0`).join(`.`)}`}function Wo(e,t){if(G(t,e))return e;let n=Ho(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=Uo(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=Uo(r,t),n.join(` `)}function Go(e,t,n,r){let i=(n||e).replace(Bo,``),a=r===`peerDependencies`||Vo.test(i)?Wo(i,t):Uo(i,t);return G(t,a)?a:i}function Ko(e){if(/[xX*]/.test(e))return e;let t=e.match(ao);return t?.length===1?e.replace(ao,()=>Sn(t[0])):e}async function qo(e,t,n){let r=await tr(`${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 Jo(e,t,n,r){return(await or(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function Yo(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),i=/^(?:github:|git@github\.com:|(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:])(.+)$/i.exec(n);if(i)n=i[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 a=n.split(`/`);if(a.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(a[0])||!/^[a-z\d._-]{1,100}$/i.test(a[1]))return null;let o=r.startsWith(`semver:`)&&K(r.slice(7))?r.slice(7):null;return!o&&!Xn.test(r)&&!et(r)?null:{user:a[0],repo:a[1],ref:o??r,selector:o}}async function Xo(e,t,n){let r=Yo(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 qo(i,a,n),s=t.substring(0,o.length);return!t||o.toLowerCase()===s.toLowerCase()?null:{key:e,newRange:c(s),user:i,repo:a,oldRef:o,newRef:s,newDate:Qn(r)}}let l=qn(await Jo(i,a,o,n),s?Sn(s):o);if(!l)return null;let u=s?Go(s,Z(l),s):l;return u===o?null:{key:e,newRange:c(u),user:i,repo:a,oldRef:o,newRef:u}}function Zo(e){let t=/^(?!\.\.?\/)(?:https?:\/\/([^/]+)\/)?(([^/@]+)\/([^/@]+)[^@]*)@(.+)$/.exec(e);if(!t)return null;let[n,r=null,i,a,o,s]=t;return{host:r,owner:a,repo:o,ref:s,name:r?`${r}/${i}`:i,isHash:Yn.test(s)}}function Qo(e,t){return e?e===`github.com`?en:`https://${e}/api/v1`:t}async function $o(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`,o=i.noCache?null:await Bt(a);if(o)return o.body;try{let e=await Kn(a,i);if(e.status===404)return``;if(!e.ok)return;let t=Qn(await e.json());return t&&!i.noCache&&Ut(a,`immutable`,t),t}catch(e){if(e instanceof Un)throw e;return}}function es(e,t){let n=e.replace(/^v/i,``);return cr(W(n)?.version??n,t)}const ts=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function ns(e,t){let n=ts.exec(e);if(!n)return null;let r=n[1].length,i=n[1].indexOf(`-`)+1;for(;t.length&&t.at(-1).indent>=(i||r);)t.pop();return{indent:r,key:(n[2]??n[3]??n[4]).trim(),value:n[5]}}const rs=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function is(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'#])\S+))([^\n]*)$/.exec(e);if(!t)return null;let[n,r,i=``,a,o,s]=t,c=a??o;if(!c)return null;let l=s.search(/(?<=\s)#/),u=l===-1?``:s.slice(l),d=u?rs.exec(u.slice(1)):null;return{prefix:r,quote:i,value:c,gap:l===-1?s:s.slice(0,l),comment:u,pinnedVersion:d?.[1]??``,pinnedEnd:d?d[0].length+1:0}}function as(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
68
+ `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=ns(e,r);if(!t)return e;let a=t.key===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&(r[0].key===`jobs`||r[0].key===`runs`&&r[1].key===`steps`)),o=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(o||r.push(t),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(o))return i=t.indent,e;let s=a&&is(e);if(!s)return e;let{prefix:c,quote:l,value:u,gap:d,comment:f,pinnedVersion:p,pinnedEnd:m}=s,h=/^https?:\/\//.exec(u)?.[0]??``,g=p||/^#\s*(\S+)\s*$/.exec(f)?.[1]||``,_=u.slice(h.length),v=n.get(`${_}${g?`#${g}`:``}`)??n.get(_);if(!v)return e;let y=v.newComment&&p?`# ${v.newComment}${f.slice(m)}`:f;return`${c}${l}${h}${v.name}@${v.newRef}${l}${d}${y}`}).join(`
69
+ `)}const os=RegExp(`(?:^|/)(?:(?:workflow-templates|(?:${Le(I)})/(?:workflows|actions))/.+|action)\\.ya?ml$`);function ss(e){return os.test(e.replace(/\\/g,`/`))}function cs(e){let t=/* @__PURE__ */ new Set;try{let n=m(e,`workflows`);for(let e of w(n))/\.ya?ml$/.test(e)&&t.add(g(n,e))}catch{}try{for(let n of w(e,{recursive:!0,withFileTypes:!0}))n.isFile()&&ss(m(n.parentPath,n.name))&&t.add(g(n.parentPath,n.name))}catch{}return Array.from(t)}const ls=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,us=/^\s*(?:#\s*syntax\s*=\s*|FROM(?:\s+--\S+)*\s+(?!--)|(?:ONBUILD\s+)?COPY(?:\s+--\S+)*?\s+--from=)(\S+)/i,ds=/^\s*(?:ONBUILD\s+)?RUN(?:\s+--\S+)+/i,fs=/(?<=\s--mount=(?:[^\s,]*,)*from=)[^\s,]+/gi,ps=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,ms=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,hs=/^\uFEFF?[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,gs=/^\s*#\s*(syntax|escape|check)\s*=\s*(\S+)/i,_s=/^\s*(?:ONBUILD\s+)?(?:ADD|COPY|RUN)\s/i,vs=/(?:[^\s"'\\]|\\.|"(?:\\.|[^"\\])*"|'[^']*')+/g;function ys(e,t){return e.includes(`$`)?e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>t(n||r)??e):e}function bs(e){let t=Array.from(e.matchAll(vs),([e])=>e),n=[];for(let[e,r]of t.entries()){let i=/^\d*<<-?/.exec(r)?.[0];if(!i||r.includes(`<`,i.length))continue;let a=r.slice(i.length)||t[e+1];a&&n.push({chomp:i.endsWith(`-`),name:a.replace(/\\(.)|["']/g,`$1`)})}return n}function*xs(e){let t=`\\`,n=!0,r=[],i=``,a=0,o=0;for(let s of e.split(`
70
+ `)){let e=o;if(o+=s.length+1,r.length){let{chomp:e,name:t}=r[0];(e?s.replace(/^\t+/,``):s).replace(/\r$/,``)===t&&r.shift();continue}if(n){let r=gs.exec(s);if(r){r[1].toLowerCase()===`escape`&&(t=r[2]),yield{text:s,index:e};continue}n=!1}let c=s.trimStart();if(!c||c.startsWith(`#`)){i&&(i+=`${` `.repeat(s.length)}\n`);continue}i||(a=e);let l=s.trimEnd().length;s[l-1]===t&&s[l-2]!==t?i+=`${s.slice(0,l-1)} ${s.slice(l)}\n`:(i+=s,yield{text:i,index:a},r=i.includes(`<<`)&&_s.test(i)?bs(i):[],i=``)}i&&(yield{text:i,index:a})}function*Ss(e,t=!1){let n=/* @__PURE__ */ new Map,r=(e,r)=>({image:e,index:r,args:n,resolved:ys(e,e=>n.get(e)?.[t?`resolved`:`value`])}),i=!1;for(let{text:t,index:a}of xs(e)){let e=i?null:hs.exec(t);if(e){let r=e[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``;n.set(e[1],{value:r,resolved:ys(r,e=>n.get(e)?.resolved),start:a+t.lastIndexOf(r)});continue}i||=/^\s*FROM\s/i.test(t);let o=us.exec(t);o&&(yield r(o[1],a+o[0].length-o[1].length));let s=ds.exec(t)?.[0];if(s&&/from=/i.test(s))for(let e of s.matchAll(fs))yield r(e[0],a+e.index)}}const Cs=/^(?:(?:index|registry-1)\.)?docker\.io$/;function ws(e){let t=e.split(`/`);return t.length>1&&Cs.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 Ts(e){let{registry:t,namespace:n,repo:r}=ws(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[.../* @__PURE__ */ new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function Es(e){if(e.includes(`$`))return null;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&&!ls.test(s))return null;let{registry:c,namespace:l,repo:u}=ws(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function Ds(e){let t=ls.exec(e);return!t||t[2]&&!t[3]&&Xn.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function Os(e,t){let n=[];if(t===`dockerfile`){for(let{image:t,resolved:r}of Ss(e,!0)){let e=Es(r);e&&n.push({ref:e,match:t})}return n}let r=ks(e);for(let t of e.matchAll(ps)){if(r.has(t.index+t[0].indexOf(`image:`)))continue;let e=Es(t[1].replace(/^\$\{\w+:-([^${}]+)\}$/,`$1`));e&&n.push({ref:e,match:t[1]})}return n}function ks(e){let t=/* @__PURE__ */ new Set,n=/* @__PURE__ */ new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim()||r[0].trimStart().startsWith(`#`))continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=U(n,e,()=>({built:!1,images:[]}));if(/^[ \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 As=/* @__PURE__ */ new WeakMap,js=/* @__PURE__ */ new Set([401,403,404]);async function Ms(e,t,n,r,i=e){let a=await fn(e,t,{headers:{"accept-encoding":`gzip, deflate, br`}},ln(r),i);return`body`in a?JSON.parse(a.body):(js.has(a.res?.status)||$(a.res,e,n,t.dockerApiUrl),null)}function Ns(e,t,n){return Q(As,n,`${e}/${t}`,async()=>{let r={dates:{},digests:/* @__PURE__ */ new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=r=>Ms(r,n,`${e}/${t}`,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`),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=Array.from({length:Math.min(20,Math.ceil(c.count/1e3))-1},(e,t)=>a(t+2)),u=new Set(l),d=await L(l,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:hn(n)});for(let e of d){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),c=e.value}let f=new URL(i).origin;for(let e=l.length+2;e<=20&&c.next;e++){let e=new URL(c.next,i);if(e.origin!==f||u.has(e.href)||(u.add(e.href),c=await o(e.href),!c))break;s(c)}return r})}async function Ps(e,t,n){return(await Ns(e,t,n)).dates}const Fs=/^(?:localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/,Is=/(?:^|,\s*)Bearer\s+(.+)$/i,Ls=/(\w+)=(?:"([^"]*)"|([^\s,]*))/g,Rs=/<([^>]+)>[^,]*?;\s*rel="?next"?/,zs=[`application/vnd.oci.image.index.v1+json`,`application/vnd.docker.distribution.manifest.list.v2+json`,`application/vnd.oci.image.manifest.v1+json`,`application/vnd.docker.distribution.manifest.v2+json`].join(`, `),Bs=/* @__PURE__ */ new WeakMap,Vs=/* @__PURE__ */ new WeakMap,Hs=(e,t,n)=>`${Fs.test(e)?`http`:`https`}://${e}/v2/${t}/${n}`;async function Us(e,t,n){let r={};for(let t of e.matchAll(Ls))r[t[1].toLowerCase()]??=t[2]??t[3];if(!r.realm)return null;let i=new URL(r.realm);r.service&&i.searchParams.set(`service`,r.service),i.searchParams.set(`scope`,r.scope||`repository:${t}:pull`);let a=await cn(n,i.href);if(js.has(a.status))return null;a.ok||$(a,i.href,t,i.host);let o=await a.json(),s=o.token??o.access_token;return typeof s==`string`?s:null}async function Ws(e,t,n,r=`GET`,i={}){let a=U(Bs,n,()=>/* @__PURE__ */ new Map),o=`${new URL(e).host}/${t}`,s=t=>cn(n,e,{method:r,headers:{...i,...t&&{authorization:`Bearer ${t}`}}}),c=await a.get(o),l=await s(c);if(l.status!==401)return l;let u=Is.exec(l.headers.get(`www-authenticate`)??``)?.[1];if(!u)return l;let d=await U(a,o,()=>Us(u,t,n));return d&&d!==c?s(d):l}function Gs(e,t,n){return Q(Vs,n,`${e}/${t}`,async()=>{let r={},i=Hs(e,t,`tags/list?n=1000`);for(let a=0;i&&a<20;a++){let a=await Ws(i,t,n);if(js.has(a.status))break;a.ok||$(a,i,`${e}/${t}`,e);for(let e of(await a.json()).tags??[])r[e]=``;let o=Rs.exec(a.headers.get(`link`)??``)?.[1];i=o?new URL(o,i).href:void 0}return r})}async function Ks(e,t,n){let{registry:r,namespace:i,repo:a}=ws(e);if(r){let i=e.slice(r.length+1),a=Hs(r,i,`manifests/${t}`),o=await Ws(a,i,n,`HEAD`,{accept:zs});return js.has(o.status)?null:(o.ok||$(o,a,`${e}:${t}`,r),o.headers.get(`docker-content-digest`))}let o=(await Ns(i,a,n)).digests.get(t);if(o)return o;let s=(await Ms(`${n.dockerApiUrl}/v2/repositories/${i}/${a}/tags/${t}`,n,`${i}/${a}:${t}`,e=>({digest:e.digest})))?.digest;return typeof s==`string`?s:null}const qs=/^\d?[02468]\.04$/;function Js(e,t,n=Date.now()){return e===`ubuntu`?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=Ds(e)?.version;return!t||qs.test(t)&&n>=Date.UTC(2e3+Number(t.split(`.`)[0]),4)})):t}async function Ys(e,t){let{registry:n,namespace:r,repo:i}=ws(e);return[{tags:n?await Gs(n,e.slice(n.length+1),t):Js(i,await Ps(r,i,t)),name:e},null]}const Xs=({version:e,prerelease:t})=>`${rc(e)}${t?`-${t}`:``}`;function Zs(e){let t=Ds(e);return t?rc(t.version):``}const Qs=/[._]/,$s=e=>Z(e.version).split(Qs).map(Number),ec=e=>Z(e).replace(/\d+/g,``),tc=2e7,nc=e=>Number(Z(e).split(Qs)[0]);function rc(e){let t=Z(e).split(Qs);return`${Number(t[0])}.${Number(t[1]||0)}.${Number(t[2]||0)}`}function ic(e,t){let n=$s(e),r=$s(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!!e.prerelease==!!t.prerelease?e.prerelease.localeCompare(t.prerelease):e.prerelease?-1:1}function ac(e,t){let n=$s(t),r=$s(e).findIndex((e,t)=>e!==n[t]);return r===0?`major`:r===1?`minor`:`patch`}function oc(e,t,n,r,i,a,o=!1,s=!1){let c=Ds(t);if(!c)return null;let l=ec(c.version),u=nc(c.version)>=tc,d=Xs(c),{effectiveSemvers:f,skipsPrerelease:p}=xn(d,o,s,n),m=l.length>2||l.includes(`_`),h=W(d),g=c,_={newTag:``,date:``};for(let[t,d]of Object.entries(e)){let e=Ds(t);if(!e||e.suffix!==c.suffix||ec(e.version)!==l||!u&&nc(e.version)>=tc||!Y(d,r,i))continue;let v=Xs(e);if(a&&!G(v,a))continue;if(m){if(e.prerelease&&(!o&&!c.prerelease||s)||ic(e,g)<=0||!n.has(ac(c,e)))continue;g=e,_={newTag:t,date:d};continue}let y=W(v);if(!y||e.prerelease&&p(y))continue;if(y.version===h.version){_.newTag&&Date.parse(d)>Date.parse(_.date)&&(_={newTag:t,date:d});continue}let b=J.diff(h,y);!b||!f.has(b)||J.compare(y,h)<=0||(h=y,_={newTag:t,date:d})}if(!_.newTag)return null;if(m)return _;let[v,y=``]=h.version.split(`-`),b=cr(v,c.version,`${y}${c.suffix}`),x=b in e?b:_.newTag;return x===t?null:{newTag:x,date:_.date}}function sc(e){let t=/* @__PURE__ */ 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 cc(e,t,n,r=e=>!0){if(!t.size)return e;let i=Le(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`(${e})(${i})(?![\\w.@+/-])`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function lc(e,t){let n=sc(t);if(!n.size)return e;let r=/* @__PURE__ */ new Map;for(let{image:t,index:i,args:a,resolved:o}of Ss(e)){let e=n.get(o);if(!e)continue;if(t===o){r.set(i,[t.length,e]);continue}let s=o.lastIndexOf(`@`),c=e.lastIndexOf(`@`),l=o.slice(s+1),u=e.slice(c+1),d=s!==-1&&c!==-1&&l!==u,f=d?t.lastIndexOf(l):-1,p=e=>a.get(e)?.value,m=0,h=!1;for(let n of t.matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){m=n.index+n[0].length;let i=a.get(n[1]||n[2]),o=ys(t.slice(0,n.index),p),s=ys(t.slice(m),p);d&&(s=s.replace(l,()=>u)),i&&e.startsWith(o)&&e.endsWith(s)&&(r.set(i.start,[i.value.length,e.slice(o.length,s?-s.length:void 0)]),h=!0)}let g=ys(t.slice(0,m),p);!h&&m<t.length&&e.startsWith(g)?r.set(i+m,[t.length-m,e.slice(g.length)]):f!==-1&&r.set(i+f,[l.length,u])}let i=[],a=0;for(let[t,[n,o]]of[...r].sort(([e],[t])=>e-t))i.push(e.slice(a,t),o),a=t+n;return i.push(e.slice(a)),i.join(``)}function uc(e,t){let n=ks(e);return cc(e,sc(t),[String.raw`${ms}image:\s*['"]?(?:\$\{\w+:-(?=[^{}$]+\}['"]?(?:\s|[,}#]|$)))?`],e=>!n.has(e))}function dc(e,t){return cc(e,sc(t),[String.raw`${ms}(?:container|image):\s*['"]?`,String.raw`${ms}uses:\s*['"]?docker://`])}const fc=[`Dockerfile`,`dockerfile`,`Containerfile`,`containerfile`,`compose.yml`,`compose.yaml`,`compose.override.yml`,`compose.override.yaml`,`docker-compose.yml`,`docker-compose.yaml`,`docker-compose.override.yml`,`docker-compose.override.yaml`];function pc(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function mc(e){return/^(?:[Dd]ocker|[Cc]ontainer)file|\.(?:[Dd]ocker|[Cc]ontainer)file$/.test(e)}function hc(e){return mc(e)||pc(e)}function gc(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const _c=[`Makefile`,`makefile`,`GNUmakefile`];function vc(e){return _c.includes(e)||e.endsWith(`.mk`)}const yc=/^\s*(?:(?:export|override|private|unexport)\s+)*([A-Za-z_][\w.]*)\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,bc=/^([^@\s]+)@(v\d\S*)$/,xc=/^[^/\s]+\.[^/\s]+\//;function*Sc(e,t){let n=``;for(let r of[...e.split(/\r?\n/),``]){let e=r.indexOf(`#`),i=e===-1?r:r.slice(0,e),a=0;for(;i[i.length-a-1]===`\\`;)a++;if(a%2){n+=`${i.slice(0,-1)} `;continue}let o=t.exec(n+i);if(n=``,!o)continue;let s=``,c=``,l=o[1];for(let e of o[2])s?e===s?s=``:c+=e:e===`"`||e===`'`?s=e:/\s/.test(e)?(c&&(yield{name:l,value:c}),c=``):c+=e;c&&!s&&(yield{name:l,value:c})}}function Cc(e,t,n){let r=[];for(let i of Sc(e,t))n&&(i.value=n.exec(i.value)?.[1]??i.value),i.value.includes(`$`)||r.push(i);return r}function wc(e){return Cc(e,yc)}function Tc(e){return e.flatMap(({value:e})=>{let t=bc.exec(e);return t&&xc.test(t[1])?{installPath:t[1],version:t[2]}:[]})}const Ec=/@(sha256:[0-9a-f]{64})$/,Dc=/(?:^|_)IMAGE$/i;function Oc(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function kc(e){let t=Ec.exec(e),n=t?e.slice(0,t.index):e,r=Es(n.replace(/^docker\.io\//,``));return r?{writtenImage:n.slice(0,n.lastIndexOf(`:`)),ref:r,digest:t?.[1]??null}:null}function Ac(e){return e.flatMap(({name:e,value:t})=>{let n=kc(t);return n&&(Dc.test(e)||!n.ref.registry&&n.ref.namespace!==`library`)?n:[]})}const jc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,Mc=/* @__PURE__ */ new WeakMap;function Nc(e,n,r){return Q(Mc,r,`${g(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){throw Bi(`${e}@latest`,t)}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 Pc(e,t,n,r){let i=jc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=e.split(`/`),o=Array.from({length:a.length-1},(e,t)=>a.slice(0,a.length-t).join(`/`));for(let{url:i,fallback:a}of yi(e,n,r)){if(i===`off`)break;let e=await Promise.allSettled(o.map(async e=>i===`direct`?Nc(e,t,n):!!await Ki(n,`primary`,i,e)));for(let[t,n]of e.entries()){if(n.status===`rejected`&&a===`,`)throw n.reason;if(n.status===`fulfilled`&&n.value)return o[t]}}return null}function Fc(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+:?-)|(?<![\\w./@:-]))(${r})(?![\\w./@:+-])`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=n.get(e.replace(/["']/g,``)),r=0;return e.replace(/[^"']/g,()=>t[r++]??``)+t.slice(r)}))}function Ic(e){return e.endsWith(`.sh`)}const Lc=/^\s*(?:(?:export|readonly|local|declare|typeset)\s+(?:-\w+\s+)*)*([A-Za-z_]\w*)=\(?((?:.*[^\s;)])?)[\s;)]*$/,Rc=/^\$\{\w+:?[-=](.*)\}$/;function zc(e){return Cc(e,Lc,Rc)}const Bc=/* @__PURE__ */ new WeakMap;function Vc(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 Hc(e){return e.split(`
71
71
  `).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(`
72
- `)}async function Mc(e,t){let n=nn(t.cratesIoUrl),r=`${n===`https://crates.io`?`https://index.crates.io`:n}/${Ac(e)}`;return[await Z(kc,t,r,async()=>{let n=await pn(r,t,rn(),jc);`body`in n||cr(n.res,r,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of n.body.split(`
73
- `)){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||ot(n,s))&&(s=n):(!o||ot(n,o))&&(o=n))}if(!c&&n.body.trim())throw Error(`Invalid JSON from ${r}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Nc(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);e&&r&&tt(r[1])&&V(t,e[1],r[1])}return t}const Pc=/^\d/,Fc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,Ic=/^(\s*)(.*?)(\s*)$/s,Lc=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return Pc.test(t)&&!Fc.test(t)?`^${t}`:t}).join(` `);function Rc(e,t){let[n,r,i,a]=Ic.exec(e);if(i.startsWith(`<`)&&W(t,i))return e;let o=Fc.exec(i),s;if(o&&U(t)?.prerelease.length)s=t;else if(o){let[e,n,r]=o;s=`${t.split(/[-+]/)[0].split(`.`).slice(0,n.split(`.`).length).join(`.`)}${r}`}else s=Pc.test(i)?Ko(`^${i}`,t,`^${i}`).replace(/^\^/,``):Ko(i,t,i);return`${r}${s}${a}`}function zc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Rc(e,t)).join(``)}function Bc(e,t,n){let r=e.get(t);if(!r)return;let i=Lc(n),a;for(let e of r)W(e,i)&&(!a||ot(e,a))&&(a=e);return a}const Vc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Hc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/,Uc=/^(\s*("(?:\\.|[^"\\])*"|'[^']*'|[\w-]+)\s*=\s*(?:\{(?:"[^"\n]*"|'[^'\n]*'|[^"'}\n])*?\bversion\s*=\s*)?["'])([^"'\n]*)(["'])/;function Wc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){if(!e.startsWith(t,n))continue;let r=0;for(;e[n-r-1]===`\\`;)r++;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 Gc(e){let t=[],n=``,r=0;for(let i of e.split(`
74
- `)){let a=n?null:Hc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:JSON.stringify(xr(a[2])),start:r,end:e.length,rewrites:/* @__PURE__ */ new Map})):n=Wc(i,n),r+=i.length+1}return t}function Kc(e,t){let n=Gc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=t.startsWith(`[`)?JSON.parse(Vc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),o=JSON.stringify([...a,i]),s=JSON.stringify(a),c=n.find(e=>e.path===o),l=c??n.find(e=>e.path===s);if(!l)throw Error(`Unable to locate Cargo table for ${t}.${i}`);l.rewrites.set(c?`version`:i,r)}let r=e;for(let t of n.reverse()){if(!t.rewrites.size)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=n?e:e.replace(Uc,(e,n,r,i,a)=>{let o=t.rewrites.get(xr(r)[0]);return o&&i===(o.oldOrig||o.old)?`${n}${o.new}${a}`:e});return n=Wc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const qc=c(fe),Jc=new Set(Te),Yc=[`**/node_modules/**`,`**/bower_components/**`,`**/vendor/**`,`**/examples/**`,`**/__tests__/**`,`**/test/**`,`**/tests/**`,`**/__fixtures__/**`];function Xc(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r===`{`?Be(e,n,`{`,`}`):r===`[`?e.indexOf(`]`,n):-1;if(r===`*`&&e[n+1]===`*`){let r=e[n+2]===`/`;n+=r?2:1,t+=r?`(?:.*/)?`:`.*`}else r===`*`?t+=`[^/]*`:r===`?`?t+=`[^/]`:r===`{`&&i!==-1?(t+=`(?:${Ve(e.slice(n+1,i)).map(Xc).join(`|`)})`,n=i):r===`[`&&i!==-1?(t+=`[${e.slice(n+1,i).replace(/^!/,`^`).replaceAll(`\\`,`\\\\`)}]`,n=i):t+=R(r)}return t}const Zc=/* @__PURE__ */ new Map,Qc=e=>H(Zc,e,()=>RegExp(`^${Xc(e)}$`));function $c(e,{includePaths:t,excludePaths:n}){return t.length&&t.every(t=>e!==t&&!Qc(t).test(e))?!1:n.every(t=>!e.includes(t)&&!Qc(t).test(e))}function el(e){let t=d(e);return Object.hasOwn(Ee,t)||ac(t)||cc(t)||Tc(t)||cs(e)}async function tl(e){try{return(await qc(`git`,[`ls-files`,`--cached`,`--others`,`--exclude-standard`,`-z`],{cwd:e,maxBuffer:2**30})).stdout.split(`\0`)}catch{return null}}function nl(e){try{return e.split(/[\\/]/).some(e=>Jc.has(e))?w(e,{recursive:!0,encoding:`utf8`}):w(e,{withFileTypes:!0}).flatMap(t=>t.isDirectory()&&Jc.has(t.name)?w(m(e,t.name),{recursive:!0,encoding:`utf8`}).map(e=>m(t.name,e)):t.name)}catch{return[]}}async function rl(e,t,n){let r=await tl(e),i=[];for(let a of[...r??[],...n||!r?nl(e):[]]){let n=g(e,a);el(n)&&$c(a.replaceAll(`\\`,`/`),t)&&x(n,{throwIfNoEntry:!1})?.isFile()&&i.push(n)}return i.sort((e,t)=>e.split(/[\\/]/).length-t.split(/[\\/]/).length)}const il=/^(!?)\/(.*)\/(i?)$/,al=e=>e.isHash&&!!e.comment&&!Zn(e.comment),ol=[...new Set(Object.values(Ee)),`actions`,`docker`,`make`,`shell`],sl=new Set(ol),cl={patch:/* @__PURE__ */ new Set([`patch`]),minor:/* @__PURE__ */ new Set([`patch`,`minor`]),major:/* @__PURE__ */ new Set([`patch`,`minor`,`major`])},ll={"go.mod":`go.work`,"package.json":`pnpm-workspace.yaml`},ul=new Set(Object.values(ll)),dl=(e,t)=>nn(typeof e==`string`?e:t);function fl(e){try{return T.native(e)}catch{return g(e)}}function pl(e,t){let n=/* @__PURE__ */ new Map,r=new Set(e);return B(t,e=>{for(let t of r){let i=m(e,t);try{v(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function ml(e,t){t&&(e.date=t,e.age=Oa(t,{noAffix:!0,shortUnits:!0}))}const hl=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,$=(e,t,n,r)=>hl(`${e}${t}`,n,r),gl=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Pa(n):`${Pa(n)}|${t}`)},_l=e=>Object.values(e).some(e=>Object.keys(e).length>0),vl=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),yl=(e,t)=>so.has(e)?co(t):t,bl=e=>typeof e==`number`&&e>=0?e:Ie(String(e));function xl(e,t){return t===`go`?[e,ua(e)]:t===`docker`?Es(e):t===`pypi`?[e,vl(e)]:[e]}const Sl=e=>console.error(sn(e));function Cl({packageName:e,depName:t,names:n},r,{include:i,exclude:a},o){if(o===`engines`&&we.includes(t)||r===`pypi`&&t===`python`)return!1;if(!i.size&&!a.size)return!0;for(let r of a)if(n.some(n=>$r(r,n,e,t)))return!1;for(let r of i)if(n.some(n=>$r(r,n,e,t)))return!0;return!i.size}async function wl(e,t,n){let r=/* @__PURE__ */ new Map,i=/* @__PURE__ */ new Set,a=(e,n=t)=>{if(r.has(e))return;let a=fl(e);i.has(a)||(i.add(a),r.set(e,n))},o=[];for(let t of e??[]){let e;try{e=E(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}if(e.isFile()){let e=fl(t);a(e,f(e))}else if(e.isDirectory())o.push(fl(t));else throw Error(`${t} is neither a file nor directory`)}e?.length||o.push(t);let s=Promise.all(o.map(async t=>(await rl(t,n,!!e?.length)).map(e=>[e,t])));if(!e?.length){let e=new Set(Te),r=[...Object.keys(Ee),...nc,...sc,...Te];for(let[i,o]of pl(r,t))if(f(o)!==t)for(let r of e.has(i)?ls(o):[g(o)])$c(h(t,r).replaceAll(`\\`,`/`),n)&&a(r)}for(let[e,t]of(await s).flat())a(e,t);let c=Array.from(r).filter(([e])=>ul.has(d(e)));return c.length?new Map([...c,...r]):r}function Tl(e,t){i===`win32`&&D(e,0),O(e,t,i===`win32`?{flag:`r+`}:void 0)}const El=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Dl(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Ol(e){let t={results:{}},n=/* @__PURE__ */ new Map,r=Object.entries(e).sort(([e],[t])=>ol.indexOf(e)-ol.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=El(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,{oldPrint:a,newPrint:o,oldOrig:s,date:c,cooldownDays:l,...u}]of Object.entries(i)){let[i,c,l]=r.split(`\0`);typeof a==`string`?u.old=a:typeof s==`string`&&!Eo(s)&&(u.old=e===`go`?da(s):s),typeof o==`string`&&(u.new=o),e===`go`?u.new=da(u.new):e===`actions`&&!u.digestOnly&&(u.old=X(u.old),u.new=X(u.new));let d=l&&n.get(El(e,r))>1?e===`pypi`?l:`${c}${e===`actions`?`@`:`:`}${Dl(l)}`:c,f=t.results[e]??={};(f[Dl(i)]??={})[d]=u}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 kl(e,t){let n=il.exec(t);if(n){let t=new RegExp(n[2],n[3]);return(r,i)=>t.test(i??(e===`go`?`v${r}`:r))!==!!n[1]}if(e===`pypi`)return Pr(t)?e=>Fr(e,t):e=>W(tt(e)||Q(e),t);if(!G(t))throw Error(`Invalid ${e} allowedVersions: ${t}`);return e===`docker`?e=>W(Vs(e),t):e=>W(e,t)}function Al(e,t){let n=Dn({...e,range:t}),r=e.allowedVersions?kl(`go`,e.allowedVersions):null;return{accepts:r?e=>n(e)&&r(e):n,allowMajor:e.semvers.has(`major`),pinAllowsDowngrade:Tn(e,t)}}function jl(e,t,n){if(!n)return e;let r=kl(t,n),i=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[i]:Object.fromEntries(Object.entries(e[i]??{}).filter(([e])=>r(e)))}}async function Ml(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Nl(e)}catch(e){throw Error(sn(e?.message||String(e)))}finally{n()}}async function Nl(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Le(n.timeout,`timeout`));let r=n.sockets??50,i=n.timeout??0,o=_i(),s=!n.noColor&&(n.color||a.isTTY),c=e=>s?t=>u(e,String(t),{validateStream:!1}):String,l=c(`magenta`),p=c(`green`),_=c(`red`),v=/* @__PURE__ */ new Map,y=(e,t,n=t)=>H(v,`${e}${t}${n}`,()=>({packageName:t,depName:n,names:Array.from(/* @__PURE__ */ new Set([...xl(n,e),...xl(t,e)]))})),b,x={execFile:async(e,t,n)=>(await Mn())(e,t,n),fetchTimeout:i||5e3,goProbeTimeout:i?Math.max(1,Math.floor(i/2)):2500,concurrency:r,forgeApiUrl:dl(t.forgeapi,Y.forgeapi),pypiApiUrl:dl(t.pypiapi,Y.pypiapi),jsrApiUrl:dl(t.jsrapi,Y.jsrapi),goProxyChain:gi(t.goproxy),cratesIoUrl:dl(t.cargoapi,Y.cargoapi),dockerApiUrl:dl(t.dockerapi,Y.dockerapi),doFetch:(e,t)=>(b??=vn(x))(async()=>{n.verbose&&Sl(`${Pe()} ${l(t?.method||`GET`)} ${e}`);let r=await cn(e,t);return n.verbose&&Sl(`${Pe()} ${r.ok?p(r.status):_(r.status)} ${e}`),r}),noCache:!!n.noCache},S=/* @__PURE__ */ new Map,C=async(e,t,n)=>{let r=`${e}${t}${n}`,i=H(S,r,()=>Is(e,t,n,x));try{return await i}catch(e){throw S.get(r)===i&&S.delete(r),e}};for(let e of n.modes??[])if(!sl.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${ol.join(`,`)}`);let w=n.modes?.length?new Set(n.modes):sl,T=e=>{let t=(e.overrides??[]).map(e=>({...e,include:e.include?.length?ci(e.include):void 0,exclude:e.exclude?.length?ci(e.exclude):void 0,cooldownDays:e.cooldown===void 0?void 0:bl(e.cooldown)})),n=e.renovateVersionRules??[];return{greatest:fi(e.greatest),prerelease:fi(e.prerelease),release:fi(e.release),patch:fi(e.patch),minor:fi(e.minor),allowDowngrade:fi(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},E=/* @__PURE__ */ new WeakMap;function D(e,t){let n=H(E,e,()=>/* @__PURE__ */ new Map),r=n.get(t);if(!r){let{packageName:i,depName:a,names:o}=t,s=e=>o.some(t=>Me(t,e)),c=s(e.greatest),l=s(e.prerelease),u=s(e.release),d=s(e.patch),f=s(e.minor),p=s(e.allowDowngrade),m,h;for(let t of e.renovateVersionRules)Zr(t,i,a)&&(t.allowedVersions!==void 0&&(h=t.allowedVersions),t.cooldownDays!==void 0&&(m=t.cooldownDays));for(let t of e.overrides)t.include&&o.every(e=>!Me(e,t.include))||t.exclude&&o.some(e=>Me(e,t.exclude))||(t.greatest!==void 0&&(c=t.greatest),t.prerelease!==void 0&&(l=t.prerelease),t.release!==void 0&&(u=t.release),t.patch!==void 0&&(d=t.patch),t.minor!==void 0&&(f=t.minor),t.allowDowngrade!==void 0&&(p=t.allowDowngrade),t.cooldownDays!==void 0&&(m=t.cooldownDays));let g=d?cl.patch:f?cl.minor:cl.major;r={useGreatest:c,usePre:l,useRel:u,semvers:g,allowDowngrade:p,cooldownOverride:m,allowedVersions:h},n.set(t,r)}return r}ui(n.pin);let O=n.pin??{},ee=(e,t,n)=>{let r=e.find(e=>O[e]);if(r)return{pinnedRange:O[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}},te=Date.now(),ne=({versionConfig:e,pin:t,cooldownDays:n,pinNoDowngrade:r},i,a=r)=>{let{useGreatest:o,usePre:s,useRel:c,semvers:l,allowDowngrade:u,cooldownOverride:d,allowedVersions:f}=D(e,i),{pinnedRange:p,pinNoDowngrade:m}=ee(i.names,t,a),h=d??n;return{useGreatest:o,usePre:s,useRel:c,semvers:l,allowDowngrade:u,allowedVersions:f,pinnedRange:p,pinNoDowngrade:m,cooldownDays:h||void 0,now:h?te:void 0}},k={},ie={},ae={},oe=/* @__PURE__ */ new Map,se=/* @__PURE__ */ new Map,A=[],ce=(e,t,n)=>{let[r,i]=t.split(`\0`);A.push({mode:e,type:r,name:i,error:sn(n?.message||String(n))})},j=(e,t,n)=>{delete k[e][t],ce(e,t,n)},le={},ue=fl(e()),de=e=>e.replace(`${ue}/`,``).replace(`${ue}\\`,``),M=(e,t,n,r,i)=>Cl(n,e,r,i)?((ae[e]??=/* @__PURE__ */ new Map).set(t,n),!0):!1,N=(e,t,n,r)=>{k[e][t]={old:n,oldOrig:r}},fe=(e,t,n)=>{if(Oo(n))return;let r=Ao(n);Eo(n)?k.npm[e]={old:No(n,t).version,new:``,oldOrig:n}:G(n)?k.npm[e]={old:qo(n),new:``,oldOrig:n}:r?(oe.set(e,r),k.npm[e]={old:qo(r.range),new:``,oldOrig:n}):Do(n)||(ie[e]={old:n})},pe=(e,t,n,r,i)=>{let a=new Set(Object.keys(t.tool?.uv?.sources??{}).map(vl)),o=(t,i)=>{for(let{name:o,version:s,spec:c}of Se(t)){if(a.has(vl(o)))continue;let t=$(i,n,o,c);M(e,t,y(e,vl(o),o),r,i)&&N(e,t,qo(s),s)}};for(let[a,s]of je(ze(e,r.modeConfig),t)){let t=s||{};if(Array.isArray(t))e===`pypi`&&o(t,a);else if(typeof t==`string`){let[i,o]=t.split(`@`),s=$(a,n,i);M(e,s,y(e,i),r,a)&&N(e,s,qo(o),o)}else if(e===`npm`&&(a===`overrides`||a===`pnpm.overrides`)){let o=a===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=co(l===`.`?c.at(-1)??l:l);if(i?.has(t))continue;let s=$(a,n,t,JSON.stringify([...o,...c,l]));if(!M(e,s,y(e,Po(t,u),t),r,a))continue;fe(s,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[])}else for(let[s,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${a}.${s}`);continue}if(typeof c!=`string`||i?.has(yl(a,s)))continue;let t=$(a,n,s);M(e,t,y(e,e===`npm`?Po(yl(a,s),c):e===`pypi`?vl(s):s,s),r,a)&&(e===`npm`?fe(t,s,c):e===`go`?N(e,t,da(c),X(c)):G(c)&&N(e,t,qo(c),c))}}},me={includePaths:n.includePaths??[],excludePaths:n.excludePaths??Yc},he=await wl(n.files,ue,me),ge=new Map(await I(Array.from(he.keys()).filter(e=>{if(cs(e))return w.has(`actions`)||w.has(`docker`);let t=d(e);return Object.hasOwn(ll,t)&&he.has(m(f(e),ll[t]))?!1:ac(t)?w.has(`docker`):cc(t)?w.has(`make`):Tc(t)?w.has(`shell`):w.has(Ee[t])}),async e=>{try{return[e,await re(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),_e={},ve=[],ye=[],P=[],be=[],xe=[],we=[],Te=[],Ne=[],Fe={},F=(e,t,n)=>{let r=t===`.`?``:`|${t}`;return(Fe[e]??=/* @__PURE__ */ new Map).set(r,n),r},Ie=t[ri],R=Ie&&new Set(Ie.cliKeys),Re=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!R||R.has(e)))),z=Ke(async e=>{let t={...await mi(e),...Re};return{modeConfig:t,projectDir:e,include:ci(t.include??[]),exclude:ci(t.exclude??[]),versionConfig:T(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?bl(t.cooldown):0}});function ze(e,t){return t.types?.length?t.types:e===`npm`?Ce:e===`pypi`?De:e===`go`?t.indirect?Oe:Oe.filter(e=>e!==`indirect`):e===`cargo`?[...ke,...Ae]:[]}let Be=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`;continue}if(!n||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trim(),c=/^(['"])(.*)\1$/.exec(s),l=c?.[2]??s;t.push({selector:o,value:l,lineNumber:r,valueIndex:i.length-e[5].length+Number(!!c)})}return t};function Ve(e,t,n){k.docker??={};let r=hl(t,e.fullImage,`${e.tag}${e.digest?`@${e.digest}`:``}`);if(!M(`docker`,r,y(`docker`,e.fullImage),n,`docker`)||k.docker[r])return;let i=Os(e.tag);(i||e.digest)&&(k.docker[r]={old:i?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Te.push({key:r,ref:e,filters:n}))}let He=/* @__PURE__ */ new Map,Ue=/* @__PURE__ */ new Map;for(let[e,t]of ge){let n=d(e);try{if(n===`package.json`){let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages,i=Array.isArray(r)?r.filter(e=>typeof e==`string`):[];i.length&&Ue.set(e,{pkg:n,packagePatterns:i})}else if(n===`Cargo.toml`){let n=gr(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&He.set(e,n)}}catch{}}let We={cargo:He.size,go:Array.from(he.keys()).filter(e=>d(e)===`go.work`).length,npm:Ue.size+Array.from(he.keys()).filter(e=>d(e)===`pnpm-workspace.yaml`).length},Ge=(e,t,n,r)=>{let i=le[e]??=[],a=!i.length&&!We[e]?`.`:de(t);return i.push({absPath:g(t),content:n,memberPath:a}),F(e,a,r)},B=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},V=(e,t,n)=>We[e]>1?`${de(t)}:${n}`:n,qe=(e,t,n,r,i)=>{let a=V(`npm`,e,t.memberPath);be.push({...t,memberPath:a}),pe(`npm`,n,F(`npm`,a,r),r,i)};for(let e of/* @__PURE__ */ new Set([...He.keys(),...Ue.keys(),...ge.keys()])){let t=d(e),n=ge.get(e);if(cs(e)){let t=w.has(`actions`),r=w.has(`docker`),i=de(e),a=await z(f(e)),o=/* @__PURE__ */ new Set;_e[i]={absPath:e,content:n,fileType:`workflow`,workflowLines:o};let s=[];for(let[e,c]of n.split(/\r?\n/).entries()){if(t){let e=as(c),t=e&&Qo(e.value);if(t){let n=y(`actions`,`${t.owner}/${t.repo}`,t.name);if(Cl(n,`actions`,a,`actions`)){k.actions??={};let r=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,o=hl(i,t.name,t.isHash&&r?`${r}@${t.ref}`:t.ref);k.actions[o]||(k.actions[o]={old:t.ref},we.push({...t,key:o,comment:r,identity:n,apiUrl:$o(t.host,x.forgeApiUrl),filters:a}))}}}if(!r)continue;let n=rs(c,s);if(!n)continue;let{indent:l,key:u}=n,d=u===`container`&&s.length===2&&s[0].key===`jobs`,f=u===`image`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`container`||s.length===4&&s[0].key===`jobs`&&s[2].key===`services`),p=u===`uses`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`steps`||s.length===2&&s[0].key===`runs`&&s[1].key===`steps`);if((d||f||p)&&n.value){let t=Ds(n.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ve(t,i,a),o.add(e))}s.push({indent:l,key:u})}continue}if(ac(t)){let r=de(e),i=await z(f(e)),a=ic(t)?`dockerfile`:`compose`;_e[r]={absPath:e,content:n,fileType:a};for(let{ref:e}of ks(n,a))Ve(e,r,i);continue}let i=cc(t)?`make`:Tc(t)?`shell`:null;if(i){let t=i===`make`?mc(n):Oc(n),r=hc(t),a=yc(t);if(!r.length&&!a.length)continue;let o=de(e),s=await z(f(e));_e[o]={absPath:e,content:n};let c=k[i]??={};for(let{installPath:e,version:t}of r){let n=hl(o,e,t);M(i,n,y(`go`,e),s,i)&&(c[n]||(c[n]={old:X(t),oldOrig:t},Ne.push({mode:i,kind:`go`,key:n,oldSpec:`${e}@${t}`,installPath:e,version:t,filters:s})))}for(let e of a){let t=hl(o,e.writtenImage,e.ref.tag);if(!M(i,t,y(`docker`,e.writtenImage),s,i)||c[t])continue;let n=Os(e.ref.tag);if(!n)continue;let r=_c(e.writtenImage,e.ref.tag,e.digest);c[t]={old:n.version,oldOrig:e.ref.tag},Ne.push({mode:i,kind:`docker`,key:t,oldSpec:r,image:e,filters:s})}continue}let a=g(e);if(t===`go.mod`&&ve.some(e=>e.absPath===a)||t===`package.json`&&be.some(e=>e.absPath===a)||t===`Cargo.toml`&&P.some(e=>e.absPath===a))continue;let o=Ee[t],s=f(a),c=(t,n)=>$c(h(he.get(e),n).replaceAll(`\\`,`/`),me)||he.has(t);if(k[o]??={},t===`go.work`){let t=sa(n),[i,a]=await Promise.all([z(s),I(t.use,async e=>{let t=ca(s,e);if(!t)return null;let n=await L(re(t,`utf8`));return n===null?null:{usePath:e,modPath:t,modContent:n}},{concurrency:r})]),l=V(o,e,`.`),u=F(o,l,i);ye.push({absPath:e,content:n,memberPath:l});let d=a.filter(e=>e!==null),f=new Set(d.map(({modContent:e})=>Ii(e)).filter(Boolean));for(let{usePath:t,modPath:n,modContent:r}of d){if(!c(n,m(s,t,`go.mod`)))continue;let a=V(o,e,t);ve.push({absPath:n,content:r,memberPath:a}),pe(o,Li(r),F(o,a,i),i,f)}for(let[e,n]of Object.entries(t.replace)){let t=$(`replace`,u,e);!f.has(e)&&M(o,t,y(o,e),i,`replace`)&&N(o,t,da(n),X(n))}continue}if(t===`Cargo.toml`){let i=He.get(e)??gr(n),l=pl([`Cargo.lock`],s).get(`Cargo.lock`),u=i.workspace,d=u?.members,f=Array.isArray(d)&&d.length>0,[p,h,g]=await Promise.all([z(s),l?re(l,`utf8`):null,f?Ba([...d,...(u.exclude??[]).map(e=>`!${e}`)],s,`Cargo.toml`,r):[]]),_=ze(o,p.modeConfig),v=h?Nc(h):/* @__PURE__ */ new Map,b=(e,t)=>{for(let[n,r]of je(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e)))for(let[r,i]of Object.entries(e)){let e=typeof i==`object`&&!!i&&`version`in i&&!(`git`in i)&&!(`path`in i)&&!(`registry`in i);if(!e&&typeof i!=`string`)continue;let a=e?i.version:i,s=e&&i.package||r,c=$(n,t,r);if(!M(o,c,y(o,s,r),p,n))continue;let l=Lc(a);G(l)&&N(o,c,Bc(v,s,a)??qo(l),a)}}};if(f){let r=V(o,e,`.`);b(i,F(o,r,p)),P.push({absPath:a,content:n,memberPath:r});for(let n of g){if(!c(n.absPath,m(s,n.memberPath,t)))continue;let r=V(o,e,n.memberPath);P.push({...n,memberPath:r}),b(B(n.absPath,()=>gr(n.content)),F(o,r,p))}}else b(i,Ge(o,e,n,p));continue}if(t===`package.json`&&Ue.has(e)){let{pkg:i,packagePatterns:o}=Ue.get(e),[l,u]=await Promise.all([z(s),Ba(o,s,`package.json`,r)]),d=u.map(e=>({member:e,pkg:B(e.absPath,()=>JSON.parse(e.content))})),f=new Set(d.map(({pkg:e})=>e.name).filter(e=>typeof e==`string`&&e));qe(e,{absPath:a,content:n,memberPath:`.`},i,l,f);for(let{member:n,pkg:r}of d)c(n.absPath,m(s,n.memberPath,t))&&qe(e,n,r,l,f);continue}if(t===`pnpm-workspace.yaml`){let i=ao(n),l=m(s,`package.json`),[u,d,f]=await Promise.all([z(s),L(re(l,`utf8`)),Ba(i,s,`package.json`,r)]),p=V(o,e,t),h=F(o,p,u);xe.push({absPath:a,content:n,memberPath:p});for(let{type:e,name:t,value:r}of ro(n)){let n=$(e,h,t);M(o,n,y(o,Po(t,r),t),u,e)&&fe(n,t,r)}for(let{selector:e,value:t}of Be(n)){let n=`pnpm-workspace.overrides`,r=$(n,h,e,JSON.stringify(e));M(o,r,y(o,Po(co(e),t),e),u,n)&&(se.set(r,e),fe(r,e,t))}d!==null&&c(l,l)&&qe(e,{absPath:g(l),content:d,memberPath:`.`},B(l,()=>JSON.parse(d)),u);for(let t of f)c(t.absPath,m(s,t.memberPath,`package.json`))&&qe(e,t,B(t.absPath,()=>JSON.parse(t.content)),u);continue}let l=await z(s);pe(o,B(e,()=>o===`npm`?JSON.parse(n):o===`pypi`?gr(n):Li(n)),Ge(o,e,n,l),l)}let Je=Object.keys(ie).length>0;if(!_l(k)&&!Je)return{results:{},message:`No dependencies found, nothing to do.`};let Ye={needsDates:Fe.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1},Xe=Object.entries(Fe).map(async([e,t])=>{if(!Object.keys(k[e]).length&&(e!==`npm`||!Je))return;let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},s=/* @__PURE__ */ new Map,c=k[e],u=async t=>{let[r,i,u]=t.split(`\0`),d=Pa(r),f=a(r),{modeConfig:p,projectDir:m}=f,h=c[t],{old:g,oldOrig:_}=h,v=_&&Eo(_),y=oe.get(t),b=ae[e].get(t),S=ne(f,b),C=e===`go`?Al(S,h.oldOrig||h.old):null,[w,T]=await(e===`npm`?v?Fo(b.packageName,x):wo(b.packageName,d,p,Ye,x,m,h.old):e===`go`?$i(b.packageName,r,h.oldOrig||h.old,m,x,o,C):e===`cargo`?Mc(b.packageName,x):Ar(b.packageName,x));if(w.error)throw Error(w.error);h.cooldownDays=S.cooldownDays;let E=e===`go`?w:jl(w,e,S.allowedVersions),D=kn(E,{...S,range:g,mode:e,acceptsGoVersion:C?C.accepts:void 0}),O=``;(e===`go`||e===`pypi`)&&D?O=D:e===`cargo`&&D&&_?O=zc(_,D):D&&(v?(h.newPrint=Ko(g,D,g,d),O=`${_.slice(0,-g.length)}${h.newPrint}`):O=y?`npm:${y.name}@${Ko(g,D,y.range,d)}`:Ko(g,D,_,d));let ee=e===`pypi`?u:void 0,te=ee&&Ir(ee,_||g,O);!D||D===g||_&&_===O||ee&&(!te||te===ee)?(n.verbose&&D&&D!==g&&Sl(`${Pe()} ${l(`SKIP`)} ${i}: ${_||g} can not be rewritten to ${D}`),delete c[t]):(h.new=O,e===`npm`?s.set(t,{name:b.packageName,promise:To(E.name,D,p,Ye,x,m)}):h.info=e===`pypi`?fr(E,T,E.info.name):e===`go`?la(E.newPath||i):`https://crates.io/crates/${E.name}`,ml(h,e===`pypi`?On(E.releases[D]):e===`go`?E.Time:e===`cargo`?E.time?.[D]:``))};if(await I(Object.keys(c),async t=>{try{await u(t)}catch(n){j(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(s,async([t,{name:n,promise:r}])=>{let i=await r,a=c[t],[o]=t.split(`\0`);if(Pa(o)===`packageManager`&&/\+sha\d+\./.test(a.oldOrig||a.old)&&(a.oldPrint=(a.oldOrig||a.old).replace(/\+sha\d+\..*$/,``),!(n===`yarn`&&Number.parseInt(X(a.new))>=2))){let r=/(?:^|\s)sha512-(\S+)/.exec(i.integrity||``);if(!r){j(e,t,`Unable to fetch sha512 integrity for ${n}@${a.new}`);return}a.newPrint=a.new,a.new=`${a.new}+sha512.${Buffer.from(r[1],`base64`).toString(`hex`)}`}a.info=fr(i,null,n),ml(a,i.date)})),e===`npm`&&Je){let t=(await I(Object.entries(ie),async([e,t])=>{try{return await Zo(e,t,x)}catch(t){return ce(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:n,newRange:r,user:i,repo:o,oldRef:s,newRef:l,newDate:u}of t){let[t]=n.split(`\0`);ml(c[n]={old:ie[n].old,new:r,oldPrint:Xn.test(s)?s.substring(0,7):s,newPrint:Xn.test(l)?l.substring(0,7):l,info:`https://github.com/${i}/${o}`,cooldownDays:ne(a(t),ae[e].get(n)).cooldownDays},u)}}for(let[e,{date:t,cooldownDays:n}]of Object.entries(c))t&&n&&!J(t,n,te)&&delete c[e]}),Ze=I(Map.groupBy(we,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?!al(e):Zn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=ne(e.filters,e.identity);return t||!(!n||r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===Y.forgeapi?[]:e.filter(al).map(e=>e.comment)],c=[];try{s.length&&(c=await sr(t,n,i,x,o?[]:s,!!a.length))}catch(t){for(let n of e)j(`actions`,n.key,t);return}let l=/* @__PURE__ */ new Map,u=/* @__PURE__ */ new Map;for(let e of c)l.set(e.name,e),e.commitSha&&u.set(e.commitSha,e.name);let d=/* @__PURE__ */ new Map,f=e=>H(d,e,()=>{let t=e?kl(`actions`,e):null,n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Set;for(let e of c){let i=Mt.parse(e.name)?.version;!i||e.isStable===!1||t&&!t(i,e.name)||(r.add(e.name),e.name.length>(n.get(i)?.length??0)&&n.set(i,e.name))}return{tagByVersion:n,versions:Array.from(n.keys()),allowedTags:r}}),p=Ke(e=>es(t,n,i,e,x)),m=async(e,t)=>{let n=await p(e),r=l.get(t)?.releaseTimestamp;return n!==void 0&&r&&(!n||Date.parse(r)>Date.parse(n))?r:n},h=Ke(async e=>{let r=l.get(e)?.commitSha;if(r)return r;let a=t===Y.forgeapi?`commits`:`branches`,o=await Kn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,x);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return[s?.sha,s?.id,s?.commit?.sha,s?.commit?.id].find(e=>typeof e==`string`)??``});async function g(e,{tagByVersion:t,versions:r}){let a={...e,cooldownDays:void 0,now:void 0},o=/* @__PURE__ */ new Set;for(let s=0;s<100;s++){let s=Cn({},o.size?r.filter(e=>!o.has(e)):r,a);if(!s)return null;let c=t.get(s),{commitSha:u,releaseTimestamp:d}=l.get(c);if(!e.cooldownDays)return{version:s,tag:c,commitSha:u,date:``};if(d&&!J(d,e.cooldownDays,e.now)){o.add(s);continue}let f=u?await m(u,c):``;if(f===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${c}`);if(J(f,e.cooldownDays,e.now))return{version:s,tag:c,commitSha:u,date:f};o.add(s)}return null}await I(e,async e=>{try{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=k.actions[t],d=`https://${r||`github.com`}/${n}/${i}`,p=a;if(s?p=o||u.get(a)||u.entries().find(([e])=>e.startsWith(a))?.[1]||``:Zn(a)||(p=``),!p){delete k.actions[t];return}let _=ne(e.filters,e.identity),v=f(_.allowedVersions),y=Zn(p)?await g({..._,range:p,versioning:Mt},v):null;if(!y){if(!s||!o){delete k.actions[t];return}let e=await h(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete k.actions[t];return}if(_.cooldownDays){let r=await m(e,o);if(r===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${o}`);if(!J(r,_.cooldownDays,_.now)){delete k.actions[t];return}}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=d,ml(c,await L(m(e,o)));return}let{tag:b,commitSha:x,date:S}=y,C=ts(b,p),w=v.allowedTags.has(C)?C:b;if(s){if(!x||x.startsWith(a)||a.startsWith(x)){delete k.actions[t];return}c.old=a,c.new=x.substring(0,a.length),c.oldPrint=p,c.newPrint=o&&l.get(w).commitSha===x?w:b}else{if(w===a){delete k.actions[t];return}c.new=w}c.info=d,ml(c,S||(x?await L(m(x,b)):``))}catch(t){j(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),U=I(Map.groupBy(Te,e=>e.ref.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete k.docker[e.key];return}let n;try{[n]=await zs(e,x)}catch(e){for(let n of t)j(`docker`,n.key,e);return}await I(t,async e=>{try{let t=k.docker[e.key],r=t.oldOrig||t.old,i=ne(e.filters,ae.docker.get(e.key),!1),a=!e.ref.digestOnly&&Os(r)?Xs(jl(n,`docker`,i.allowedVersions).tags,r,i.semvers,i.cooldownDays,i.now,i.pinnedRange,i.usePre,i.useRel):null,o=a?.newTag??r;if(e.ref.digest){if(!a&&!J(n.tags[r],i.cooldownDays,i.now)){delete k.docker[e.key];return}let s=await C(e.ref.namespace,e.ref.repo,o);if(!s||s===e.ref.digest&&!a){delete k.docker[e.key];return}t.oldDigest=e.ref.digest,t.newDigest=s,t.digestOnly=e.ref.digestOnly}else if(!a){delete k.docker[e.key];return}t.new=o,t.info=oc(e.ref),ml(t,a?.date||n.tags[o])}catch(t){j(`docker`,e.key,t)}},{concurrency:r})},{concurrency:r}),Qe=I(Ne,async e=>{let t=ne(e.filters,ae[e.mode].get(e.key)),n=k[e.mode],r=n[e.key];try{if(e.kind===`go`){let{projectDir:i}=e.filters,a=await Cc(e.installPath,i,x,o);if(!a){delete n[e.key];return}let s=Al(t,X(e.version)),[c]=await $i(a,`tool`,X(e.version),i,x,o,s),l=kn(c,{...t,mode:`go`,range:X(e.version),acceptsGoVersion:s.accepts});if(!l){delete n[e.key];return}let u=c.newPath??Ei(a,l),d=`${u}${e.installPath.slice(a.length)}`,f=lr(l,e.version);if(d===e.installPath&&f===e.version){delete n[e.key];return}e.newSpec=`${d}@${f}`,r.new=f,r.info=la(u),ml(r,c.Time)}else{let[i]=await zs(e.image.ref.fullImage,x),a=Xs(jl(i,`docker`,t.allowedVersions).tags,e.image.ref.tag,t.semvers,t.cooldownDays,t.now,t.pinnedRange,t.usePre,t.useRel);if(!a){delete n[e.key];return}let o=e.image.digest?await C(e.image.ref.namespace,e.image.ref.repo,a.newTag):null;if(e.image.digest&&!o){delete n[e.key];return}e.newSpec=_c(e.image.writtenImage,a.newTag,o),r.new=a.newTag,r.info=oc(e.image.ref),ml(r,a.date)}}catch(t){j(e.mode,e.key,t)}},{concurrency:r});try{await Promise.all([...Xe,Ze,U,Qe])}finally{n.noCache||await Gt()}if(!_l(k))return A.length?{results:{},errors:A}:{results:{},message:`All dependencies are up to date.`};let $e=(e,t)=>{let n=e.split(`
75
- `),r=new Map(Be(e).map(e=>[e.selector,e]));for(let[e,i]of se){let a=k.npm[e],o=r.get(i);if(!a||!gl(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(`
76
- `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Ia(k[e],r.memberPath);Object.keys(t).length&&Tl(r.absPath,n(r.content,t,r))}},t=new Map(we.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]);for(let r of Object.keys(k).sort((e,t)=>Number(e===`docker`)-Number(t===`docker`)))if(Object.keys(k[r]).length){if(r===`actions`)for(let[e,r]of n(Object.entries(k.actions))){let n=_e[e];n.content=os(n.content,r.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:Xn.test(n.old)?n.newPrint:void 0}})),Tl(n.absPath,n.content)}else if(r===`docker`)for(let[e,t]of n(Object.entries(k.docker))){let{absPath:n,content:r,fileType:i,workflowLines:a}=_e[e];Tl(n,(i===`dockerfile`?$s:i===`compose`?ec:(e,t)=>e.split(`
77
- `).map((e,n)=>a.has(n)?tc(e,t):e).join(`
78
- `))(r,Object.fromEntries(t)))}else if(r===`make`||r===`shell`){let e=Ne.filter(e=>e.newSpec&&k[r][e.key]);for(let[t,n]of Map.groupBy(e,e=>e.key.split(`\0`)[0])){let{absPath:e,content:r}=_e[t];Tl(e,wc(r,n.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}}else if(r===`go`){for(let e of[...ve,...le.go??[]]){let t=Ia(k[r],e.memberPath);if(!Object.keys(t).length)continue;let[n,i]=na(e.content,t);n!==e.content&&Tl(e.absPath,n),oa(f(e.absPath),i,Tl)}for(let e of ye){let t=Object.fromEntries(Object.entries(Ia(k[r],e.memberPath)).filter(([e])=>Pa(e.split(`\0`)[0])===`replace`));if(!Object.keys(t).length)continue;let[n]=na(e.content,t);n!==e.content&&Tl(e.absPath,n)}}else r===`cargo`?e(r,[...P,...le.cargo??[]],Kc):r===`npm`?(e(r,xe,(e,t,n)=>$e(io(e,t),n.memberPath)),e(r,[...be,...le.npm??[]],Io)):e(r,le[r]??[],Br)}}let et=Ol(k);return A.length&&(et.errors=A),et}export{ri as i,Yc as n,Ca as r,Ml as t};
72
+ `)}async function Uc(e,t){let n=tn(t.cratesIoUrl),r=`${n===`https://crates.io`?`https://index.crates.io`:n}/${Vc(e)}`;return[await Q(Bc,t,r,async()=>{let n=await fn(r,t,nn(),Hc);`body`in n||$(n.res,r,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of n.body.split(`
73
+ `)){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=W(n);r&&(r.prerelease.length?(!s||at(n,s))&&(s=n):(!o||at(n,o))&&(o=n))}if(!c&&n.body.trim())throw Error(`Invalid JSON from ${r}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function Wc(e){let t=/* @__PURE__ */ new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);e&&r&&et(r[1])&&H(t,e[1],r[1])}return t}const Gc=/^\d/,Kc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,qc=/^(\s*)(.*?)(\s*)$/s,Jc=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return Gc.test(t)&&!Kc.test(t)?`^${t}`:t}).join(` `);function Yc(e,t){let[n,r,i,a]=qc.exec(e);if(i.startsWith(`<`)&&G(t,i))return e;let o=Kc.exec(i),s;if(o&&W(t)?.prerelease.length)s=t;else if(o){let[e,n,r]=o;s=`${t.split(/[-+]/)[0].split(`.`).slice(0,n.split(`.`).length).join(`.`)}${r}`}else s=Gc.test(i)?Go(`^${i}`,t,`^${i}`).replace(/^\^/,``):Go(i,t,i);return`${r}${s}${a}`}function Xc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:Yc(e,t)).join(``)}function Zc(e,t,n){let r=e.get(t);if(!r)return;let i=Jc(n),a;for(let e of r)G(e,i)&&(!a||at(e,a))&&(a=e);return a}const Qc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,$c=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/,el=/^(\s*("(?:\\.|[^"\\])*"|'[^']*'|[\w-]+)\s*=\s*(?:\{(?:"[^"\n]*"|'[^'\n]*'|[^"'}\n])*?\bversion\s*=\s*)?["'])([^"'\n]*)(["'])/;function tl(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){if(!e.startsWith(t,n))continue;let r=0;for(;e[n-r-1]===`\\`;)r++;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 nl(e){let t=[],n=``,r=0;for(let i of e.split(`
74
+ `)){let a=n?null:$c.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:JSON.stringify(br(a[2])),start:r,end:e.length,rewrites:/* @__PURE__ */ new Map})):n=tl(i,n),r+=i.length+1}return t}function rl(e,t){let n=nl(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=t.startsWith(`[`)?JSON.parse(Qc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),o=JSON.stringify([...a,i]),s=JSON.stringify(a),c=n.find(e=>e.path===o),l=c??n.find(e=>e.path===s);if(!l)throw Error(`Unable to locate Cargo table for ${t}.${i}`);l.rewrites.set(c?`version`:i,r)}let r=e;for(let t of n.reverse()){if(!t.rewrites.size)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=n?e:e.replace(el,(e,n,r,i,a)=>{let o=t.rewrites.get(br(r)[0]);return o&&i===(o.oldOrig||o.old)?`${n}${o.new}${a}`:e});return n=tl(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const il=c(de),al=new Set(I),ol=[`**/node_modules/**`,`**/bower_components/**`,`**/vendor/**`,`**/examples/**`,`**/__tests__/**`,`**/test/**`,`**/tests/**`,`**/__fixtures__/**`];function sl(e){let t=``;for(let n=0;n<e.length;n++){let r=e[n],i=r===`{`?ze(e,n,`{`,`}`):r===`[`?e.indexOf(`]`,n):-1;if(r===`*`&&e[n+1]===`*`){let r=e[n+2]===`/`;n+=r?2:1,t+=r?`(?:.*/)?`:`.*`}else r===`*`?t+=`[^/]*`:r===`?`?t+=`[^/]`:r===`{`&&i!==-1?(t+=`(?:${Be(e.slice(n+1,i)).map(sl).join(`|`)})`,n=i):r===`[`&&i!==-1?(t+=`[${e.slice(n+1,i).replace(/^!/,`^`).replaceAll(`\\`,`\\\\`)}]`,n=i):t+=z(r)}return t}const cl=/* @__PURE__ */ new Map,ll=e=>U(cl,e,()=>RegExp(`^${sl(e)}$`));function ul(e,{includePaths:t,excludePaths:n}){return t.length&&t.every(t=>e!==t&&!ll(t).test(e))?!1:n.every(t=>!e.includes(t)&&!ll(t).test(e))}function dl(e){return e.map(e=>typeof e==`string`?ll(e):He(e))}function fl(e){let t=d(e);return Object.hasOwn(we,t)||hc(t)||vc(t)||Ic(t)||ss(e)}async function pl(e){try{return(await il(`git`,[`ls-files`,`--cached`,`--others`,`--exclude-standard`,`-z`],{cwd:e,maxBuffer:2**30})).stdout.split(`\0`)}catch{return null}}function ml(e){try{return e.split(/[\\/]/).some(e=>al.has(e))?w(e,{recursive:!0,encoding:`utf8`}):w(e,{withFileTypes:!0}).flatMap(t=>t.isDirectory()&&al.has(t.name)?w(m(e,t.name),{recursive:!0,encoding:`utf8`}).map(e=>m(t.name,e)):t.name)}catch{return[]}}async function hl(e,t,n,r){let i=await pl(e),a=[];for(let o of[...i??[],...n||!i?ml(e):[]]){let n=g(e,o);(fl(n)||r(n))&&ul(o.replaceAll(`\\`,`/`),t)&&x(n,{throwIfNoEntry:!1})?.isFile()&&a.push(n)}return a.sort((e,t)=>e.split(/[\\/]/).length-t.split(/[\\/]/).length)}const gl=/^(!?)\/(.*)\/(i?)$/,_l=e=>e.isHash&&!!e.comment&&!Zn(e.comment),vl=[...new Set(Object.values(we)),`actions`,`docker`,`make`,`shell`],yl=new Set(vl),bl={patch:/* @__PURE__ */ new Set([`patch`]),minor:/* @__PURE__ */ new Set([`patch`,`minor`]),major:/* @__PURE__ */ new Set([`patch`,`minor`,`major`])},xl={"go.mod":`go.work`,"package.json":`pnpm-workspace.yaml`},Sl=new Set(Object.values(xl)),Cl=(e,t)=>tn(typeof e==`string`?e:t);function wl(e){try{return T.native(e)}catch{return g(e)}}function Tl(e,t){let n=/* @__PURE__ */ new Map,r=new Set(e);return We(t,e=>{for(let t of r){let i=m(e,t);try{v(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function El(e,t){t&&(e.date=t,e.age=Da(t,{noAffix:!0,shortUnits:!0}))}const Dl=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,Ol=(e,t,n,r)=>Dl(`${e}${t}`,n,r),kl=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?Na(n):`${Na(n)}|${t}`)},Al=e=>Object.values(e).some(e=>Object.keys(e).length>0),jl=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),Ml=(e,t)=>oo.has(e)?so(t):t,Nl=e=>typeof e==`number`&&e>=0?e:Fe(String(e));function Pl(e,t){return t===`go`?[e,la(e)]:t===`docker`?Ts(e):t===`pypi`?[e,jl(e)]:[e]}const Fl=e=>console.error(on(e));function Il({packageName:e,depName:t,names:n},r,{include:i,exclude:a},o){if(o===`engines`&&Ce.includes(t)||r===`pypi`&&t===`python`)return!1;if(!i.size&&!a.size)return!0;for(let r of a)if(n.some(n=>Qr(r,n,e,t)))return!1;for(let r of i)if(n.some(n=>Qr(r,n,e,t)))return!0;return!i.size}async function Ll(e,t,n,r){let i=/* @__PURE__ */ new Map,a=/* @__PURE__ */ new Set,o=(e,n=t)=>{if(i.has(e))return;let r=wl(e);a.has(r)||(a.add(r),i.set(e,n))},s=[];for(let t of e??[]){let e;try{e=E(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}if(e.isFile()){let e=wl(t);o(e,f(e))}else if(e.isDirectory())s.push(wl(t));else throw Error(`${t} is neither a file nor directory`)}e?.length||s.push(t);let c=Promise.all(s.map(async t=>(await hl(t,n,!!e?.length,r)).map(e=>[e,t])));if(!e?.length){let e=new Set(I),r=[...Object.keys(we),...fc,..._c,...I];for(let[i,a]of Tl(r,t))if(f(a)!==t)for(let r of e.has(i)?cs(a):[g(a)])ul(h(t,r).replaceAll(`\\`,`/`),n)&&o(r)}for(let[e,t]of(await c).flat())o(e,t);let l=Array.from(i).filter(([e])=>Sl.has(d(e)));return l.length?new Map([...l,...i]):i}function Rl(e,t){i===`win32`&&D(e,0),O(e,t,i===`win32`?{flag:`r+`}:void 0)}const zl=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function Bl(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Vl(e){let t={results:{}},n=/* @__PURE__ */ new Map,r=Object.entries(e).sort(([e],[t])=>vl.indexOf(e)-vl.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=zl(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,{oldPrint:a,newPrint:o,oldOrig:s,date:c,cooldownDays:l,...u}]of Object.entries(i)){let[i,c,l]=r.split(`\0`);typeof a==`string`?u.old=a:typeof s==`string`&&!To(s)&&(u.old=e===`go`?ua(s):s),typeof o==`string`&&(u.new=o),e===`go`?u.new=ua(u.new):e===`actions`&&!u.digestOnly&&(u.old=Z(u.old),u.new=Z(u.new));let d=l&&n.get(zl(e,r))>1?e===`pypi`?l:`${c}${e===`actions`?`@`:`:`}${Bl(l)}`:c,f=t.results[e]??={};(f[Bl(i)]??={})[d]=u}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 Hl(e,t){let n=gl.exec(t);if(n){let t=new RegExp(n[2],n[3]);return(r,i)=>t.test(i??(e===`go`?`v${r}`:r))!==!!n[1]}if(e===`pypi`)return Nr(t)?e=>Pr(e,t):e=>G(et(e)||Sn(e),t);if(!K(t))throw Error(`Invalid ${e} allowedVersions: ${t}`);return e===`docker`?e=>G(Zs(e),t):e=>G(e,t)}function Ul(e,t){let n=Dn({...e,range:t}),r=e.allowedVersions?Hl(`go`,e.allowedVersions):null;return{accepts:r?e=>n(e)&&r(e):n,allowMajor:e.semvers.has(`major`),pinAllowsDowngrade:Tn(e,t)}}function Wl(e,t,n){if(!n)return e;let r=Hl(t,n),i=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[i]:Object.fromEntries(Object.entries(e[i]??{}).filter(([e])=>r(e)))}}async function Gl(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Kl(e)}catch(e){throw Error(on(e?.message||String(e)))}finally{n()}}async function Kl(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Ie(n.timeout,`timeout`));let r=n.sockets??50,i=n.timeout??0,o=gi(),s=!n.noColor&&(n.color||a.isTTY),c=e=>s?t=>u(e,String(t),{validateStream:!1}):String,l=c(`magenta`),p=c(`green`),_=c(`red`),v=/* @__PURE__ */ new Map,y=(e,t,n=t)=>U(v,`${e}${t}${n}`,()=>({packageName:t,depName:n,names:Array.from(/* @__PURE__ */ new Set([...Pl(n,e),...Pl(t,e)]))})),b,x={execFile:async(e,t,n)=>(await Mn())(e,t,n),fetchTimeout:i||5e3,goProbeTimeout:i?Math.max(1,Math.floor(i/2)):2500,concurrency:r,forgeApiUrl:Cl(t.forgeapi,X.forgeapi),pypiApiUrl:Cl(t.pypiapi,X.pypiapi),jsrApiUrl:Cl(t.jsrapi,X.jsrapi),goProxyChain:hi(t.goproxy),cratesIoUrl:Cl(t.cargoapi,X.cargoapi),dockerApiUrl:Cl(t.dockerapi,X.dockerapi),doFetch:(e,t)=>(b??=_n(x))(async()=>{n.verbose&&Fl(`${Me()} ${l(t?.method||`GET`)} ${e}`);let r=await sn(e,t);return n.verbose&&Fl(`${Me()} ${r.ok?p(r.status):_(r.status)} ${e}`),r}),noCache:!!n.noCache},S=/* @__PURE__ */ new Map,C=async(e,t)=>{let n=`${e}${t}`,r=U(S,n,()=>Ks(e,t,x));try{return await r}catch(e){throw S.get(n)===r&&S.delete(n),e}};for(let e of n.modes??[])if(!yl.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${vl.join(`,`)}`);let w=n.modes?.length?new Set(n.modes):yl,T=e=>{let t=(e.overrides??[]).map(e=>({...e,include:e.include?.length?si(e.include):void 0,exclude:e.exclude?.length?si(e.exclude):void 0,cooldownDays:e.cooldown===void 0?void 0:Nl(e.cooldown)})),n=e.renovateVersionRules??[];return{greatest:di(e.greatest),prerelease:di(e.prerelease),release:di(e.release),patch:di(e.patch),minor:di(e.minor),allowDowngrade:di(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},E=/* @__PURE__ */ new WeakMap;function D(e,t){let n=U(E,e,()=>/* @__PURE__ */ new Map),r=n.get(t);if(!r){let{packageName:i,depName:a,names:o}=t,s=e=>o.some(t=>Ae(t,e)),c=s(e.greatest),l=s(e.prerelease),u=s(e.release),d=s(e.patch),f=s(e.minor),p=s(e.allowDowngrade),m,h;for(let t of e.renovateVersionRules)Xr(t,i,a)&&(t.allowedVersions!==void 0&&(h=t.allowedVersions),t.cooldownDays!==void 0&&(m=t.cooldownDays));for(let t of e.overrides)t.include&&o.every(e=>!Ae(e,t.include))||t.exclude&&o.some(e=>Ae(e,t.exclude))||(t.greatest!==void 0&&(c=t.greatest),t.prerelease!==void 0&&(l=t.prerelease),t.release!==void 0&&(u=t.release),t.patch!==void 0&&(d=t.patch),t.minor!==void 0&&(f=t.minor),t.allowDowngrade!==void 0&&(p=t.allowDowngrade),t.cooldownDays!==void 0&&(m=t.cooldownDays));let g=d?bl.patch:f?bl.minor:bl.major;r={useGreatest:c,usePre:l,useRel:u,semvers:g,allowDowngrade:p,cooldownOverride:m,allowedVersions:h},n.set(t,r)}return r}li(n.pin);let O=n.pin??{},ee=(e,t,n)=>{let r=e.find(e=>O[e]);if(r)return{pinnedRange:O[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}},te=Date.now(),ne=({versionConfig:e,pin:t,cooldownDays:n,pinNoDowngrade:r},i,a=r)=>{let{useGreatest:o,usePre:s,useRel:c,semvers:l,allowDowngrade:u,cooldownOverride:d,allowedVersions:f}=D(e,i),{pinnedRange:p,pinNoDowngrade:m}=ee(i.names,t,a),h=d??n;return{useGreatest:o,usePre:s,useRel:c,semvers:l,allowDowngrade:u,allowedVersions:f,pinnedRange:p,pinNoDowngrade:m,cooldownDays:h||void 0,now:h?te:void 0}},k={},ie={},A={},ae=/* @__PURE__ */ new Map,oe=/* @__PURE__ */ new Map,j=[],se=(e,t,n)=>{let[r,i]=t.split(`\0`);j.push({mode:e,type:r,name:i,error:on(n?.message||String(n))})},M=(e,t,n)=>{delete k[e][t],se(e,t,n)},ce={},le=wl(e()),ue=e=>e.replace(`${le}/`,``).replace(`${le}\\`,``),N=(e,t,n,r,i)=>Il(n,e,r,i)?((A[e]??=/* @__PURE__ */ new Map).set(t,n),!0):!1,P=(e,t,n,r)=>{k[e][t]={old:n,oldOrig:r}},de=(e,t,n)=>{if(Do(n))return;let r=ko(n);To(n)?k.npm[e]={old:Mo(n,t).version,new:``,oldOrig:n}:K(n)?k.npm[e]={old:Ko(n),new:``,oldOrig:n}:r?(ae.set(e,r),k.npm[e]={old:Ko(r.range),new:``,oldOrig:n}):Eo(n)||(ie[e]={old:n})},fe=(e,t,n,r,i)=>{let a=new Set(Object.keys(t.tool?.uv?.sources??{}).map(jl)),o=(t,i)=>{for(let{name:o,version:s,spec:c}of xe(t)){if(a.has(jl(o)))continue;let t=Ol(i,n,o,c);N(e,t,y(e,jl(o),o),r,i)&&P(e,t,Ko(s),s)}};for(let[a,s]of ke(Ve(e,r.modeConfig),t)){let t=s||{};if(Array.isArray(t))e===`pypi`&&o(t,a);else if(typeof t==`string`){let[i,o]=t.split(`@`),s=Ol(a,n,i);N(e,s,y(e,i),r,a)&&P(e,s,Ko(o),o)}else if(e===`npm`&&(a===`overrides`||a===`pnpm.overrides`)){let o=a===`overrides`?[`overrides`]:[`pnpm`,`overrides`],s=(t,c)=>{for(let[l,u]of Object.entries(t))if(typeof u==`string`){let t=so(l===`.`?c.at(-1)??l:l);if(i?.has(t))continue;let s=Ol(a,n,t,JSON.stringify([...o,...c,l]));if(!N(e,s,y(e,No(t,u),t),r,a))continue;de(s,t,u)}else u&&typeof u==`object`&&!Array.isArray(u)&&s(u,[...c,l])};s(t,[])}else for(let[s,c]of Object.entries(t)){if(e===`pypi`&&Array.isArray(c)){o(c,`${a}.${s}`);continue}if(typeof c!=`string`||i?.has(Ml(a,s)))continue;let t=Ol(a,n,s);N(e,t,y(e,e===`npm`?No(Ml(a,s),c):e===`pypi`?jl(s):s,s),r,a)&&(e===`npm`?de(t,s,c):e===`go`?P(e,t,ua(c),Z(c)):K(c)&&P(e,t,Ko(c),c))}}},pe={includePaths:n.includePaths??[],excludePaths:n.excludePaths??ol},me=dl(n.filePatterns?.actions??[]),he=e=>{if(!me.length||fl(e))return!1;let t=h(le,e).replaceAll(`\\`,`/`);return me.some(e=>e.test(t))},F=await Ll(n.files,le,pe,he),ge=new Set(Array.from(F.keys()).filter(he)),_e=e=>ss(e)||ge.has(e),ve=new Map(await L(Array.from(F.keys()).filter(e=>{if(_e(e))return w.has(`actions`)||w.has(`docker`);let t=d(e);return Object.hasOwn(xl,t)&&F.has(m(f(e),xl[t]))?!1:hc(t)?w.has(`docker`):vc(t)?w.has(`make`):Ic(t)?w.has(`shell`):w.has(we[t])}),async e=>{try{return[e,await re(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),ye={},be=[],Ce=[],I=[],je=[],Ne=[],Pe=[],Fe=[],z=[],Le={},B=(e,t,n)=>{let r=t===`.`?``:`|${t}`;return(Le[e]??=/* @__PURE__ */ new Map).set(r,n),r},Re=t[ni],ze=Re&&new Set(Re.cliKeys),Be=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ze||ze.has(e)))),V=Ge(async e=>{let t={...await pi(e),...Be};return{modeConfig:t,projectDir:e,include:si(t.include??[]),exclude:si(t.exclude??[]),versionConfig:T(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Nl(t.cooldown):0}});function Ve(e,t){return t.types?.length?t.types:e===`npm`?Se:e===`pypi`?Te:e===`go`?t.indirect?Ee:Ee.filter(e=>e!==`indirect`):e===`cargo`?[...De,...Oe]:[]}let He=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`;continue}if(!n||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trim(),c=/^(['"])(.*)\1$/.exec(s),l=c?.[2]??s;t.push({selector:o,value:l,lineNumber:r,valueIndex:i.length-e[5].length+Number(!!c)})}return t};function Ue(e,t,n){k.docker??={};let r=Dl(t,e.fullImage,`${e.tag}${e.digest?`@${e.digest}`:``}`);if(!N(`docker`,r,y(`docker`,e.fullImage),n,`docker`)||k.docker[r])return;let i=Ds(e.tag);(i||e.digest)&&(k.docker[r]={old:i?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},Fe.push({key:r,ref:e,filters:n}))}let We=/* @__PURE__ */ new Map,H=/* @__PURE__ */ new Map;for(let[e,t]of ve){let n=d(e);try{if(n===`package.json`){let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages,i=Array.isArray(r)?r.filter(e=>typeof e==`string`):[];i.length&&H.set(e,{pkg:n,packagePatterns:i})}else if(n===`Cargo.toml`){let n=hr(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&We.set(e,n)}}catch{}}let Ke={cargo:We.size,go:Array.from(F.keys()).filter(e=>d(e)===`go.work`).length,npm:H.size+Array.from(F.keys()).filter(e=>d(e)===`pnpm-workspace.yaml`).length},qe=(e,t,n,r)=>{let i=ce[e]??=[],a=!i.length&&!Ke[e]?`.`:ue(t);return i.push({absPath:g(t),content:n,memberPath:a}),B(e,a,r)},Je=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},Ye=(e,t,n)=>Ke[e]>1?`${ue(t)}:${n}`:n,Xe=(e,t,n,r,i)=>{let a=Ye(`npm`,e,t.memberPath);je.push({...t,memberPath:a}),fe(`npm`,n,B(`npm`,a,r),r,i)};for(let e of/* @__PURE__ */ new Set([...We.keys(),...H.keys(),...ve.keys()])){let t=d(e),n=ve.get(e);if(_e(e)){let t=w.has(`actions`),r=w.has(`docker`),i=ue(e),a=await V(f(e)),o=/* @__PURE__ */ new Set;ye[i]={absPath:e,content:n,fileType:`workflow`,workflowLines:o};let s=[];for(let[e,c]of n.split(/\r?\n/).entries()){if(t){let e=is(c),t=e&&Zo(e.value);if(t){let n=y(`actions`,`${t.owner}/${t.repo}`,t.name);if(Il(n,`actions`,a,`actions`)){k.actions??={};let r=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,o=Dl(i,t.name,t.isHash&&r?`${r}@${t.ref}`:t.ref);k.actions[o]||(k.actions[o]={old:t.ref},Pe.push({...t,key:o,comment:r,identity:n,apiUrl:Qo(t.host,x.forgeApiUrl),filters:a}))}}}if(!r)continue;let n=ns(c,s);if(!n)continue;let{indent:l,key:u}=n,d=u===`container`&&s.length===2&&s[0].key===`jobs`,f=u===`image`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`container`||s.length===4&&s[0].key===`jobs`&&s[2].key===`services`),p=u===`uses`&&(s.length===3&&s[0].key===`jobs`&&s[2].key===`steps`||s.length===2&&s[0].key===`runs`&&s[1].key===`steps`);if((d||f||p)&&n.value){let t=Es(n.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ue(t,i,a),o.add(e))}s.push({indent:l,key:u})}continue}if(hc(t)){let r=ue(e),i=await V(f(e)),a=mc(t)?`dockerfile`:`compose`;ye[r]={absPath:e,content:n,fileType:a};for(let{ref:e}of Os(n,a))Ue(e,r,i);continue}let i=vc(t)?`make`:Ic(t)?`shell`:null;if(i){let t=i===`make`?wc(n):zc(n),r=Tc(t),a=Ac(t);if(!r.length&&!a.length)continue;let o=ue(e),s=await V(f(e));ye[o]={absPath:e,content:n};let c=k[i]??={};for(let{installPath:e,version:t}of r){let n=Dl(o,e,t);N(i,n,y(`go`,e),s,i)&&(c[n]||(c[n]={old:Z(t),oldOrig:t},z.push({mode:i,kind:`go`,key:n,oldSpec:`${e}@${t}`,installPath:e,version:t,filters:s})))}for(let e of a){let t=Dl(o,e.writtenImage,e.ref.tag);if(!N(i,t,y(`docker`,e.writtenImage),s,i)||c[t])continue;let n=Ds(e.ref.tag);if(!n)continue;let r=Oc(e.writtenImage,e.ref.tag,e.digest);c[t]={old:n.version,oldOrig:e.ref.tag},z.push({mode:i,kind:`docker`,key:t,oldSpec:r,image:e,filters:s})}continue}let a=g(e);if(t===`go.mod`&&be.some(e=>e.absPath===a)||t===`package.json`&&je.some(e=>e.absPath===a)||t===`Cargo.toml`&&I.some(e=>e.absPath===a))continue;let o=we[t],s=f(a),c=(t,n)=>ul(h(F.get(e),n).replaceAll(`\\`,`/`),pe)||F.has(t);if(k[o]??={},t===`go.work`){let t=oa(n),[i,a]=await Promise.all([V(s),L(t.use,async e=>{let t=sa(s,e);if(!t)return null;let n=await R(re(t,`utf8`));return n===null?null:{usePath:e,modPath:t,modContent:n}},{concurrency:r})]),l=Ye(o,e,`.`),u=B(o,l,i);Ce.push({absPath:e,content:n,memberPath:l});let d=a.filter(e=>e!==null),f=new Set(d.map(({modContent:e})=>Fi(e)).filter(Boolean));for(let{usePath:t,modPath:n,modContent:r}of d){if(!c(n,m(s,t,`go.mod`)))continue;let a=Ye(o,e,t);be.push({absPath:n,content:r,memberPath:a}),fe(o,Ii(r),B(o,a,i),i,f)}for(let[e,n]of Object.entries(t.replace)){let t=Ol(`replace`,u,e);!f.has(e)&&N(o,t,y(o,e),i,`replace`)&&P(o,t,ua(n),Z(n))}continue}if(t===`Cargo.toml`){let i=We.get(e)??hr(n),l=Tl([`Cargo.lock`],s).get(`Cargo.lock`),u=i.workspace,d=u?.members,f=Array.isArray(d)&&d.length>0,[p,h,g]=await Promise.all([V(s),l?re(l,`utf8`):null,f?za([...d,...(u.exclude??[]).map(e=>`!${e}`)],s,`Cargo.toml`,r):[]]),_=Ve(o,p.modeConfig),v=h?Wc(h):/* @__PURE__ */ new Map,b=(e,t)=>{for(let[n,r]of ke(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e)))for(let[r,i]of Object.entries(e)){let e=typeof i==`object`&&!!i&&`version`in i&&!(`git`in i)&&!(`path`in i)&&!(`registry`in i);if(!e&&typeof i!=`string`)continue;let a=e?i.version:i,s=e&&i.package||r,c=Ol(n,t,r);if(!N(o,c,y(o,s,r),p,n))continue;let l=Jc(a);K(l)&&P(o,c,Zc(v,s,a)??Ko(l),a)}}};if(f){let r=Ye(o,e,`.`);b(i,B(o,r,p)),I.push({absPath:a,content:n,memberPath:r});for(let n of g){if(!c(n.absPath,m(s,n.memberPath,t)))continue;let r=Ye(o,e,n.memberPath);I.push({...n,memberPath:r}),b(Je(n.absPath,()=>hr(n.content)),B(o,r,p))}}else b(i,qe(o,e,n,p));continue}if(t===`package.json`&&H.has(e)){let{pkg:i,packagePatterns:o}=H.get(e),[l,u]=await Promise.all([V(s),za(o,s,`package.json`,r)]),d=u.map(e=>({member:e,pkg:Je(e.absPath,()=>JSON.parse(e.content))})),f=new Set(d.map(({pkg:e})=>e.name).filter(e=>typeof e==`string`&&e));Xe(e,{absPath:a,content:n,memberPath:`.`},i,l,f);for(let{member:n,pkg:r}of d)c(n.absPath,m(s,n.memberPath,t))&&Xe(e,n,r,l,f);continue}if(t===`pnpm-workspace.yaml`){let i=io(n),l=m(s,`package.json`),[u,d,f]=await Promise.all([V(s),R(re(l,`utf8`)),za(i,s,`package.json`,r)]),p=Ye(o,e,t),h=B(o,p,u);Ne.push({absPath:a,content:n,memberPath:p});for(let{type:e,name:t,value:r}of no(n)){let n=Ol(e,h,t);N(o,n,y(o,No(t,r),t),u,e)&&de(n,t,r)}for(let{selector:e,value:t}of He(n)){let n=`pnpm-workspace.overrides`,r=Ol(n,h,e,JSON.stringify(e));N(o,r,y(o,No(so(e),t),e),u,n)&&(oe.set(r,e),de(r,e,t))}d!==null&&c(l,l)&&Xe(e,{absPath:g(l),content:d,memberPath:`.`},Je(l,()=>JSON.parse(d)),u);for(let t of f)c(t.absPath,m(s,t.memberPath,`package.json`))&&Xe(e,t,Je(t.absPath,()=>JSON.parse(t.content)),u);continue}let l=await V(s);fe(o,Je(e,()=>o===`npm`?JSON.parse(n):o===`pypi`?hr(n):Ii(n)),qe(o,e,n,l),l)}let W=Object.keys(ie).length>0;if(!Al(k)&&!W)return{results:{},message:`No dependencies found, nothing to do.`};let Ze={needsDates:Le.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1},Qe=Object.entries(Le).map(async([e,t])=>{if(!Object.keys(k[e]).length&&(e!==`npm`||!W))return;let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},s=/* @__PURE__ */ new Map,c=k[e],u=async t=>{let[r,i,u]=t.split(`\0`),d=Na(r),f=a(r),{modeConfig:p,projectDir:m}=f,h=c[t],{old:g,oldOrig:_}=h,v=_&&To(_),y=ae.get(t),b=A[e].get(t),S=ne(f,b),C=e===`go`?Ul(S,h.oldOrig||h.old):null,[w,T]=await(e===`npm`?v?Po(b.packageName,x):Co(b.packageName,d,p,Ze,x,m,h.old):e===`go`?Qi(b.packageName,r,h.oldOrig||h.old,m,x,o,C):e===`cargo`?Uc(b.packageName,x):kr(b.packageName,x));if(w.error)throw Error(w.error);h.cooldownDays=S.cooldownDays;let E=e===`go`?w:Wl(w,e,S.allowedVersions),D=kn(E,{...S,range:g,mode:e,acceptsGoVersion:C?C.accepts:void 0}),O=``;(e===`go`||e===`pypi`)&&D?O=D:e===`cargo`&&D&&_?O=Xc(_,D):D&&(v?(h.newPrint=Go(g,D,g,d),O=`${_.slice(0,-g.length)}${h.newPrint}`):O=y?`npm:${y.name}@${Go(g,D,y.range,d)}`:Go(g,D,_,d));let ee=e===`pypi`?u:void 0,te=ee&&Fr(ee,_||g,O);!D||D===g||_&&_===O||ee&&(!te||te===ee)?(n.verbose&&D&&D!==g&&Fl(`${Me()} ${l(`SKIP`)} ${i}: ${_||g} can not be rewritten to ${D}`),delete c[t]):(h.new=O,e===`npm`?s.set(t,{name:b.packageName,promise:wo(E.name,D,p,Ze,x,m)}):h.info=e===`pypi`?dr(E,T,E.info.name):e===`go`?ca(E.newPath||i):`https://crates.io/crates/${E.name}`,El(h,e===`pypi`?On(E.releases[D]):e===`go`?E.Time:e===`cargo`?E.time?.[D]:``))};if(await L(Object.keys(c),async t=>{try{await u(t)}catch(n){M(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(s,async([t,{name:n,promise:r}])=>{let i=await r,a=c[t],[o]=t.split(`\0`);if(Na(o)===`packageManager`&&/\+sha\d+\./.test(a.oldOrig||a.old)&&(a.oldPrint=(a.oldOrig||a.old).replace(/\+sha\d+\..*$/,``),!(n===`yarn`&&Number.parseInt(Z(a.new))>=2))){let r=/(?:^|\s)sha512-(\S+)/.exec(i.integrity||``);if(!r){M(e,t,`Unable to fetch sha512 integrity for ${n}@${a.new}`);return}a.newPrint=a.new,a.new=`${a.new}+sha512.${Buffer.from(r[1],`base64`).toString(`hex`)}`}a.info=dr(i,null,n),El(a,i.date)})),e===`npm`&&W){let t=(await L(Object.entries(ie),async([e,t])=>{try{return await Xo(e,t,x)}catch(t){return se(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:n,newRange:r,user:i,repo:o,oldRef:s,newRef:l,newDate:u}of t){let[t]=n.split(`\0`);El(c[n]={old:ie[n].old,new:r,oldPrint:Xn.test(s)?s.substring(0,7):s,newPrint:Xn.test(l)?l.substring(0,7):l,info:`https://github.com/${i}/${o}`,cooldownDays:ne(a(t),A[e].get(n)).cooldownDays},u)}}for(let[e,{date:t,cooldownDays:n}]of Object.entries(c))t&&n&&!Y(t,n,te)&&delete c[e]}),$e=L(Map.groupBy(Pe,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?!_l(e):Zn(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=ne(e.filters,e.identity);return t||!(!n||r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===X.forgeapi?[]:e.filter(_l).map(e=>e.comment)],c=[];try{s.length&&(c=await sr(t,n,i,x,o?[]:s,!!a.length))}catch(t){for(let n of e)M(`actions`,n.key,t);return}let l=/* @__PURE__ */ new Map,u=/* @__PURE__ */ new Map;for(let e of c)l.set(e.name,e),e.commitSha&&u.set(e.commitSha,e.name);let d=/* @__PURE__ */ new Map,f=e=>U(d,e,()=>{let t=e?Hl(`actions`,e):null,n=/* @__PURE__ */ new Map,r=/* @__PURE__ */ new Set;for(let e of c){let i=jt.parse(e.name)?.version;!i||e.isStable===!1||t&&!t(i,e.name)||(r.add(e.name),e.name.length>(n.get(i)?.length??0)&&n.set(i,e.name))}return{tagByVersion:n,versions:Array.from(n.keys()),allowedTags:r}}),p=Ge(e=>$o(t,n,i,e,x)),m=async(e,t)=>{let n=await p(e),r=l.get(t)?.releaseTimestamp;return n!==void 0&&r&&(!n||Date.parse(r)>Date.parse(n))?r:n},h=Ge(async e=>{let r=l.get(e)?.commitSha;if(r)return r;let a=t===X.forgeapi?`commits`:`branches`,o=await Kn(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,x);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return[s?.sha,s?.id,s?.commit?.sha,s?.commit?.id].find(e=>typeof e==`string`)??``});async function g(e,{tagByVersion:t,versions:r}){let a={...e,cooldownDays:void 0,now:void 0},o=/* @__PURE__ */ new Set;for(let s=0;s<100;s++){let s=Cn({},o.size?r.filter(e=>!o.has(e)):r,a);if(!s)return null;let c=t.get(s),{commitSha:u,releaseTimestamp:d}=l.get(c);if(!e.cooldownDays)return{version:s,tag:c,commitSha:u,date:``};if(d&&!Y(d,e.cooldownDays,e.now)){o.add(s);continue}let f=u?await m(u,c):``;if(f===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${c}`);if(Y(f,e.cooldownDays,e.now))return{version:s,tag:c,commitSha:u,date:f};o.add(s)}return null}await L(e,async e=>{try{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=k.actions[t],d=`https://${r||`github.com`}/${n}/${i}`,p=a;if(s?p=o||u.get(a)||u.entries().find(([e])=>e.startsWith(a))?.[1]||``:Zn(a)||(p=``),!p){delete k.actions[t];return}let _=ne(e.filters,e.identity),v=f(_.allowedVersions),y=Zn(p)?await g({..._,range:p,versioning:jt},v):null;if(!y){if(!s||!o){delete k.actions[t];return}let e=await h(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete k.actions[t];return}if(_.cooldownDays){let r=await m(e,o);if(r===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${o}`);if(!Y(r,_.cooldownDays,_.now)){delete k.actions[t];return}}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=d,El(c,await R(m(e,o)));return}let{tag:b,commitSha:x,date:S}=y,C=es(b,p),w=v.allowedTags.has(C)?C:b;if(s){if(!x||x.startsWith(a)||a.startsWith(x)){delete k.actions[t];return}c.old=a,c.new=x.substring(0,a.length),c.oldPrint=p,c.newPrint=o&&l.get(w).commitSha===x?w:b}else{if(w===a){delete k.actions[t];return}c.new=w}c.info=d,El(c,S||(x?await R(m(x,b)):``))}catch(t){M(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),et=L(Map.groupBy(Fe,e=>e.ref.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry&&t.every(e=>ne(e.filters,A.docker.get(e.key),!1).cooldownDays)){for(let e of t)delete k.docker[e.key];return}let n;try{[n]=await Ys(e,x)}catch(e){for(let n of t)M(`docker`,n.key,e);return}await L(t,async e=>{try{let t=k.docker[e.key],r=t.oldOrig||t.old,i=ne(e.filters,A.docker.get(e.key),!1),a=!e.ref.digestOnly&&Ds(r)?oc(Wl(n,`docker`,i.allowedVersions).tags,r,i.semvers,i.cooldownDays,i.now,i.pinnedRange,i.usePre,i.useRel):null,o=a?.newTag??r;if(e.ref.digest){if(!a&&!Y(n.tags[r],i.cooldownDays,i.now)){delete k.docker[e.key];return}let s=await C(e.ref.fullImage,o);if(!s||s===e.ref.digest&&!a){delete k.docker[e.key];return}t.oldDigest=e.ref.digest,t.newDigest=s,t.digestOnly=e.ref.digestOnly}else if(!a){delete k.docker[e.key];return}t.new=o,t.info=gc(e.ref),El(t,a?.date||n.tags[o])}catch(t){M(`docker`,e.key,t)}},{concurrency:r})},{concurrency:r}),tt=L(z,async e=>{let t=ne(e.filters,A[e.mode].get(e.key)),n=k[e.mode],r=n[e.key];try{if(e.kind===`go`){let{projectDir:i}=e.filters,a=await Pc(e.installPath,i,x,o);if(!a){delete n[e.key];return}let s=Ul(t,Z(e.version)),[c]=await Qi(a,`tool`,Z(e.version),i,x,o,s),l=kn(c,{...t,mode:`go`,range:Z(e.version),acceptsGoVersion:s.accepts});if(!l){delete n[e.key];return}let u=c.newPath??Ti(a,l),d=`${u}${e.installPath.slice(a.length)}`,f=cr(l,e.version);if(d===e.installPath&&f===e.version){delete n[e.key];return}e.newSpec=`${d}@${f}`,r.new=f,r.info=ca(u),El(r,c.Time)}else{if(e.image.ref.registry&&t.cooldownDays){delete n[e.key];return}let[i]=await Ys(e.image.ref.fullImage,x),a=oc(Wl(i,`docker`,t.allowedVersions).tags,e.image.ref.tag,t.semvers,t.cooldownDays,t.now,t.pinnedRange,t.usePre,t.useRel);if(!a){delete n[e.key];return}let o=e.image.digest?await C(e.image.ref.fullImage,a.newTag):null;if(e.image.digest&&!o){delete n[e.key];return}e.newSpec=Oc(e.image.writtenImage,a.newTag,o),r.new=a.newTag,r.info=gc(e.image.ref),El(r,a.date)}}catch(t){M(e.mode,e.key,t)}},{concurrency:r});try{await Promise.all([...Qe,$e,et,tt])}finally{n.noCache||await Wt()}if(!Al(k))return j.length?{results:{},errors:j}:{results:{},message:`All dependencies are up to date.`};let nt=(e,t)=>{let n=e.split(`
75
+ `),r=new Map(He(e).map(e=>[e.selector,e]));for(let[e,i]of oe){let a=k.npm[e],o=r.get(i);if(!a||!kl(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(`
76
+ `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=Fa(k[e],r.memberPath);Object.keys(t).length&&Rl(r.absPath,n(r.content,t,r))}},t=new Map(Pe.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]);for(let r of Object.keys(k).sort((e,t)=>Number(e===`docker`)-Number(t===`docker`)))if(Object.keys(k[r]).length){if(r===`actions`)for(let[e,r]of n(Object.entries(k.actions))){let n=ye[e];n.content=as(n.content,r.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:Xn.test(n.old)?n.newPrint:void 0}})),Rl(n.absPath,n.content)}else if(r===`docker`)for(let[e,t]of n(Object.entries(k.docker))){let{absPath:n,content:r,fileType:i,workflowLines:a}=ye[e];Rl(n,(i===`dockerfile`?lc:i===`compose`?uc:(e,t)=>e.split(`
77
+ `).map((e,n)=>a.has(n)?dc(e,t):e).join(`
78
+ `))(r,Object.fromEntries(t)))}else if(r===`make`||r===`shell`){let e=z.filter(e=>e.newSpec&&k[r][e.key]);for(let[t,n]of Map.groupBy(e,e=>e.key.split(`\0`)[0])){let{absPath:e,content:r}=ye[t];Rl(e,Fc(r,n.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}}else if(r===`go`){for(let e of[...be,...ce.go??[]]){let t=Fa(k[r],e.memberPath);if(!Object.keys(t).length)continue;let[n,i]=ta(e.content,t);n!==e.content&&Rl(e.absPath,n),aa(f(e.absPath),i,Rl)}for(let e of Ce){let t=Object.fromEntries(Object.entries(Fa(k[r],e.memberPath)).filter(([e])=>Na(e.split(`\0`)[0])===`replace`));if(!Object.keys(t).length)continue;let[n]=ta(e.content,t);n!==e.content&&Rl(e.absPath,n)}}else r===`cargo`?e(r,[...I,...ce.cargo??[]],rl):r===`npm`?(e(r,Ne,(e,t,n)=>nt(ro(e,t),n.memberPath)),e(r,[...je,...ce.npm??[]],Fo)):e(r,ce[r]??[],zr)}}let rt=Vl(k);return j.length&&(rt.errors=j),rt}export{ni as i,ol as n,Sa as r,Gl as t};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "19.2.1",
3
+ "version": "19.2.2",
4
4
  "description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
5
5
  "author": "silverwind",
6
6
  "repository": {
@@ -47,9 +47,9 @@
47
47
  "devDependencies": {
48
48
  "@types/node": "26.6.5",
49
49
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
50
- "@vitest/coverage-v8": "5.0.4",
51
- "eslint": "10.12.0",
52
- "eslint-config-silverwind": "155.0.1",
50
+ "@vitest/coverage-v8": "5.0.5",
51
+ "eslint": "10.13.0",
52
+ "eslint-config-silverwind": "155.0.2",
53
53
  "timerel": "5.9.2",
54
54
  "tsdown": "0.23.1",
55
55
  "tsdown-config-silverwind": "4.1.3",
@@ -57,7 +57,7 @@
57
57
  "typescript-config-silverwind": "21.0.2",
58
58
  "updates-config-silverwind": "4.0.9",
59
59
  "versions": "15.5.2",
60
- "vitest": "5.0.4",
60
+ "vitest": "5.0.5",
61
61
  "vitest-config-silverwind": "12.0.6"
62
62
  }
63
63
  }