updates 18.0.7 → 18.0.8

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.
Files changed (2) hide show
  1. package/dist/shared.js +24 -24
  2. package/package.json +3 -3
package/dist/shared.js CHANGED
@@ -1,11 +1,11 @@
1
- import{cwd as e,env as t,pid as n,platform as r,stderr as i,versions as a}from"node:process";import{parseArgs as o,stripVTControlCharacters as s,styleText as c}from"node:util";import{basename as l,dirname as u,isAbsolute as d,join as f,relative as p,resolve as m,sep as h}from"node:path";import{accessSync as g,existsSync as _,globSync as v,readFile as y,readFileSync as b,readdirSync as x,realpathSync as S,statSync as C,truncateSync as ee,writeFileSync as w}from"node:fs";import{pathToFileURL as te}from"node:url";import{access as ne,mkdir as T,readFile as re,readdir as ie,realpath as E,rename as ae,stat as oe,unlink as se,utimes as D,writeFile as O}from"node:fs/promises";import{AsyncLocalStorage as ce}from"node:async_hooks";import{Buffer as k}from"node:buffer";import{setTimeout as A}from"node:timers/promises";import{createHash as le}from"node:crypto";import{homedir as ue}from"node:os";function de(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r;){let n=e.charCodeAt(t);if(n>=48&&n<=57)break;t++}r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const fe=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,pe=/^(\s*\()([^)]*)(\)\s*)$/,me=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,he=new Set([`===`,`==`,`>=`,`~=`]),ge=/^v?\d[0-9a-z.!+_-]*$/i;function _e(e){let t=[];for(let n of e.split(`,`)){let e=me.exec(n);if(!e)return null;let[,r,i,a,o,s]=e;t.push({lead:r,op:i,sep:a,version:o,trail:s})}return t}function j(e){let t=e.indexOf(`;`),n=fe.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[,r,i,a,o,s,c]=n,l=pe.exec(c);return{name:i,extras:o,specifiers:_e(l?l[2]:c),marker:t===-1?``:e.slice(t),head:`${r}${i}${a}${o}${s}`,open:l?.[1]??``,close:l?.[3]??``}}function ve({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 ye(e){return e.find(({op:e,version:t})=>he.has(e)&&ge.test(t))}function be(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=j(n);if(!e?.specifiers)continue;let r=ye(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const xe=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],Se=[`node`,`deno`,`bun`],M=[`.github`,`.gitea`,`.forgejo`],Ce={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},we=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],Te=[`deps`,`indirect`,`replace`,`tool`],Ee=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],De=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function Oe(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 ke(e,t){if(t===!0)return!0;if(!(t instanceof Set))return!1;for(let n of t)if(n.test(e))return!0;return!1}function Ae(e){return e.split(`,`).filter(Boolean)}function je(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().replace(`T`,` `).slice(0,-1)}function Me(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 Ne={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Pe(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Ne[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function Fe(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function N(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 Ie(e){try{return await e}catch{return null}}const P=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function F(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(P).join(`|`)}const Le=new WeakMap;var I=class extends RegExp{constructor(e,t,n){super(e,n),Le.set(this,t)}test(e){return Le.get(this)(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 L(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(P(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=ze(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=Be(e.slice(i+1,a)).map(L);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=ze(e,i+1,`(`,`)`);if(o===-1)r(P(a));else{let r=Re(e.slice(i+2,o)).map(L),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(P(a))}return{source:t,tokens:n}}function Ve(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function 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 I(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}=L(e.slice(n)),o=e=>Ve(a,e);return new I(`^${i}$`,r?e=>!o(e):o,`i`)}async function Ue(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=u(n);if(r===n)return null;n=r}}function We(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=u(n);if(r===n)return null;n=r}}function R(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function z(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=new Map;return n=>z(t,n,()=>e(n))}const B=`0|[1-9]\\d*`,Ke=/^(?:0|[1-9]\d*)$/,qe=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,Je=RegExp(`^v?(${B})\\.(${B})\\.(${B})(?:-((?:${qe})(?:\\.(?:${qe}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Ye=new Map;function V(e){return typeof e==`string`?z(Ye,e,()=>{let t=Je.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 Xe(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 Ze(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function Qe(e,t){let n=Ze(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=Xe(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function $e(e){return V(e)?.version??null}function H(e){return V(e)}const et=new Map,tt=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function nt(e){return typeof e==`string`?z(et,e,()=>{let t=tt.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function rt(e,t){let n=V(e),r=V(t);return!n||!r?null:it(n,r)}function it(e,t){let n=Qe(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(Ze(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=V(e),r=V(t);return n&&r?Qe(n,r):null}function ot(e,t){return(at(e,t)??-1)>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=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!Ke.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!V(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function U(e,t,n,r,i=``){let a=V(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function W(...e){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function ct(e,t){let n=Qe(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 G(e,t,n){return U(`<`,e,t,n,`-0`)}function lt(e,t){if(e.major===null)return t===`>`||t===`<`?W(G(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=U(`>=`,n,r,i,e.suffix);return e.minor===null?W(a,G(n+1,0,0)):t===`~`?W(a,G(n,r+1,0)):n===0?e.patch!==null&&r===0?W(a,G(0,0,i+1)):W(a,G(0,r+1,0)):W(a,G(n+1,0,0))}return e.minor!==null&&e.patch!==null?W(U(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?W(U(`>=`,n,0,0),G(n+1,0,0)):W(U(`>=`,n,r,0),G(n,r+1,0)):t===`>`?e.minor===null?W(U(`>=`,n+1,0,0)):W(U(`>=`,n,r+1,0)):t===`<=`?e.minor===null?W(G(n+1,0,0)):W(G(n,r+1,0)):t===`<`?e.minor===null?W(G(n,0,0)):W(G(n,r,0)):W(U(`>=`,n,r,0))}function ut(e,t){let n=st(e),r=st(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=U(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?G(r.major+1,0,0):r.patch===null?G(r.major,r.minor+1,0):U(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function dt(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return ut(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&st(t[2]),i=n?lt(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const ft=new Map;function pt(e){return z(ft,e,()=>{let t=e.split(`||`).map(e=>dt(e.trim()));return t.some(e=>e===null)?null:t})}function mt(e,t){return t.some(t=>!ct(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 ht(e,t){return!!pt(t)?.some(t=>mt(e,t))}function K(e,t){let n=V(e);return!!(n&&ht(n,t))}function q(e){return typeof e==`string`&&pt(e)?e:null}const gt=`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]+)*))?`,_t=RegExp(`^${gt}$`,`i`),vt=RegExp(gt,`i`),yt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},bt=new Map;function J(e){return typeof e==`string`?z(bt,e,()=>{let t=_t.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?[yt[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 xt(e){return J(e)??J(vt.exec(e)?.[0]??``)}const St=e=>!!e.pre||e.dev!==null;function Ct(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 wt(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?Ct(e.local,t.local):a<o?-1:1}function Tt(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 Et(e,t){let n=wt(e,t);if(n===0)return null;let r=Tt(e,t);return St(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Dt=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,Y={parse:H,parseRange:e=>H(Dt.exec(e)?.[0]??``)??H(nt(e)?.version??``),compare:Qe,diff:it,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:ht},Ot=new Map;function kt(e){return z(Ot,e,()=>{let t=e.trim().replace(/^v/i,``);return(H(t)??H(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?H(nt(t)?.version??``):null)})}const At={...Y,parse:kt,parseRange:kt,isRangePrerelease:e=>!!kt(e)?.prerelease.length},jt={parse:J,parseRange:xt,compare:wt,diff:Et,isPrerelease:St,isRangePrerelease:e=>{let t=xt(e);return!!(t&&St(t))},satisfiesRange:({release:e},t)=>K(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},Mt=/[A-Za-z_$]/,Nt=/[A-Za-z0-9_$]/;function Pt(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,pid as n,platform as r,stderr as i,versions as a}from"node:process";import{parseArgs as o,stripVTControlCharacters as s,styleText as c}from"node:util";import{basename as l,dirname as u,isAbsolute as d,join as f,relative as p,resolve as m,sep as h}from"node:path";import{accessSync as g,existsSync as _,globSync as v,readFile as y,readFileSync as b,readdirSync as x,realpathSync as S,statSync as C,truncateSync as ee,writeFileSync as w}from"node:fs";import{pathToFileURL as te}from"node:url";import{access as ne,mkdir as T,readFile as re,readdir as ie,realpath as E,rename as ae,stat as oe,unlink as se,utimes as D,writeFile as O}from"node:fs/promises";import{AsyncLocalStorage as ce}from"node:async_hooks";import{Buffer as k}from"node:buffer";import{setTimeout as A}from"node:timers/promises";import{createHash as j}from"node:crypto";import{homedir as le}from"node:os";function ue(e,t,n){if(e===t)return e;let r=0;for(;r<e.length&&r<t.length&&e[r]===t[r];)r++;if(r>0&&e[r-1]!==`.`&&e[r-1]!==`-`){let t=r-1;for(;t>=0&&e[t]!==`.`&&e[t]!==`-`;)t--;if(t>=0)r=t+1;else{let t=0;for(;t<r;){let n=e.charCodeAt(t);if(n>=48&&n<=57)break;t++}r=t}}let i=e.substring(r);return i?e.substring(0,r)+n(i):e}const de=/^(\s*)([A-Za-z0-9][A-Za-z0-9._-]*)(\s*)((?:\[[^\]]*\])?)(\s*)(.*)$/,fe=/^(\s*\()([^)]*)(\)\s*)$/,pe=/^(\s*)(===|==|!=|~=|<=|>=|<|>)(\s*)(\S+)(\s*)$/,me=new Set([`===`,`==`,`>=`,`~=`]),he=/^v?\d[0-9a-z.!+_-]*$/i;function ge(e){let t=[];for(let n of e.split(`,`)){let e=pe.exec(n);if(!e)return null;let[,r,i,a,o,s]=e;t.push({lead:r,op:i,sep:a,version:o,trail:s})}return t}function M(e){let t=e.indexOf(`;`),n=de.exec(t===-1?e:e.slice(0,t));if(!n)return null;let[,r,i,a,o,s,c]=n,l=fe.exec(c);return{name:i,extras:o,specifiers:ge(l?l[2]:c),marker:t===-1?``:e.slice(t),head:`${r}${i}${a}${o}${s}`,open:l?.[1]??``,close:l?.[3]??``}}function _e({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 ve(e){return e.find(({op:e,version:t})=>me.has(e)&&he.test(t))}function ye(e){let t=[];for(let n of e){if(typeof n!=`string`)continue;let e=M(n);if(!e?.specifiers)continue;let r=ve(e.specifiers);r&&t.push({name:e.name,version:r.version,spec:n})}return t}const be=[`dependencies`,`devDependencies`,`peerDependencies`,`optionalDependencies`,`resolutions`,`overrides`,`pnpm.overrides`,`packageManager`],xe=[`node`,`deno`,`bun`],N=[`.github`,`.gitea`,`.forgejo`],Se={"pnpm-workspace.yaml":`npm`,"package.json":`npm`,"pyproject.toml":`pypi`,"go.work":`go`,"go.mod":`go`,"Cargo.toml":`cargo`},Ce=[`project.dependencies`,`project.optional-dependencies.*`,`dependency-groups.*`],we=[`deps`,`indirect`,`replace`,`tool`],Te=[`dependencies`,`dev-dependencies`,`build-dependencies`,`workspace.dependencies`],Ee=[`target.*.dependencies`,`target.*.dev-dependencies`,`target.*.build-dependencies`];function De(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 Oe(e,t){if(t===!0)return!0;if(!(t instanceof Set))return!1;for(let n of t)if(n.test(e))return!0;return!1}function ke(e){return e.split(`,`).filter(Boolean)}function Ae(){let e=new Date;return new Date(e.getTime()-e.getTimezoneOffset()*6e4).toISOString().replace(`T`,` `).slice(0,-1)}function je(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 Me={y:365,m:30,w:7,d:1,h:1/24,s:1/86400};function Ne(e){let t=/^(\d+(?:\.\d+)?)\s*([a-z])$/i.exec(e);if(t){let[,e,n]=t,r=Me[n.toLowerCase()];if(r)return Number(e)*r}if(!/^\d+(?:\.\d+)?$/.test(e))throw Error(`Invalid cooldown value: ${e}`);return Number(e)}function Pe(e,t){let n=Math.round(Number(e));if(!Number.isFinite(n)||n<1)throw Error(`Invalid ${t}: ${e}`);return n}async function P(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 Fe(e){try{return await e}catch{return null}}const F=RegExp.escape?e=>RegExp.escape(e):e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`);function I(e){return Array.from(e).sort((e,t)=>t.length-e.length).map(F).join(`|`)}const Ie=new WeakMap;var L=class extends RegExp{constructor(e,t,n){super(e,n),Ie.set(this,t)}test(e){return Ie.get(this)(e)}};function Le(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 Re(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 ze(e){let t=/^(-?\d+|[A-Za-z])\.\.(-?\d+|[A-Za-z])(?:\.\.(-?\d+))?$/.exec(e);if(!t)return Le(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 R(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(F(e[++i]));else if(a===`*`&&e[i+1]!==`(`){let r=e[i+1]===`*`;for(;e[i+1]===`*`;)i++;r&&e[i+1]===`/`?(t+=`(?:.*/)?`,n.push({kind:`globstarSlash`}),i++):(t+=`.*`,n.push({kind:`span`,slash:!0}))}else if(a===`?`&&e[i+1]!==`(`)r(`[^/]`);else if(a===`[`){let t=e.indexOf(`]`,i+1);if(t===-1)r(`\\[`);else{let n=e.slice(i+1,t);n.startsWith(`!`)&&(n=`^${n.slice(1)}`),r(`[${n.replaceAll(`\\`,`\\\\`)}]`),i=t}}else if(a===`{`){let a=Re(e,i,`{`,`}`);if(a===-1)r(`\\{`);else{let r=ze(e.slice(i+1,a)).map(R);t+=`(?:${r.map(e=>e.source).join(`|`)})`,n.push({kind:`alternatives`,alternatives:r.map(e=>e.tokens),minimum:1,repeat:!1}),i=a}}else if(`@+?*!`.includes(a)&&e[i+1]===`(`){let o=Re(e,i+1,`(`,`)`);if(o===-1)r(F(a));else{let r=Le(e.slice(i+2,o)).map(R),s=r.map(e=>e.source).join(`|`);t+=a===`!`?`(?!(?:${s})(?:/|$))[^/]*`:`(?:${s})${a===`@`?``:a}`;let c=r.map(e=>e.tokens);n.push(a===`!`?{kind:`negative`,alternatives:c}:{kind:`alternatives`,alternatives:c,minimum:a===`?`||a===`*`?0:1,repeat:a===`+`||a===`*`}),i=o}}else r(F(a))}return{source:t,tokens:n}}function Be(e,t){let n=new WeakMap,r=(e,n,r)=>{for(let i=n;e.add(i),!(i===t.length||!r&&t[i]===`/`);i++);},i=(e,a)=>{let o=n.get(e);o||(o=new Map,n.set(e,o));let s=o.get(a);if(s)return s;let c=new Set([a]);o.set(a,c);for(let n of e){let e=new Set;for(let a of c)if(n.kind===`char`)a<t.length&&n.matcher.test(t[a])&&e.add(a+1);else if(n.kind===`span`)r(e,a,n.slash);else if(n.kind===`globstarSlash`){e.add(a);for(let n=a;n<t.length;n++)t[n]===`/`&&e.add(n+1)}else if(n.kind===`negative`)n.alternatives.some(e=>[...i(e,a)].some(e=>e===t.length||t[e]===`/`))||r(e,a,!1);else{n.minimum===0&&e.add(a);for(let t of n.alternatives)for(let n of i(t,a))e.add(n);if(n.repeat)for(let t of e)for(let r of n.alternatives)for(let n of i(r,t))e.add(n)}if(c=e,!c.size)break}return o.set(a,c),c};return i(e,0).has(t.length)}function Ve(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 L(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}=R(e.slice(n)),o=e=>Be(a,e);return new L(`^${i}$`,r?e=>!o(e):o,`i`)}async function He(e,t){let n=e;for(;;){let e=await t(n);if(e)return e;let r=u(n);if(r===n)return null;n=r}}function Ue(e,t){let n=e;for(;;){let e=t(n);if(e)return e;let r=u(n);if(r===n)return null;n=r}}function z(e,t,n){let r=e.get(t);r?r.push(n):e.set(t,[n])}function B(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 We(e){let t=new Map;return n=>B(t,n,()=>e(n))}const V=`0|[1-9]\\d*`,Ge=/^(?:0|[1-9]\d*)$/,Ke=`0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*`,qe=RegExp(`^v?(${V})\\.(${V})\\.(${V})(?:-((?:${Ke})(?:\\.(?:${Ke}))*))?(?:\\+[0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*)?$`),Je=new Map;function H(e){return typeof e==`string`?B(Je,e,()=>{let t=qe.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 Ye(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 Xe(e,t){return e.major-t.major||e.minor-t.minor||e.patch-t.patch}function Ze(e,t){let n=Xe(e,t);if(n!==0)return n;let r=e.prerelease.length>0,i=t.prerelease.length>0;if(!r&&!i)return 0;if(r&&!i)return-1;if(!r&&i)return 1;let a=Math.max(e.prerelease.length,t.prerelease.length);for(let n=0;n<a;n++){if(e.prerelease[n]===void 0)return-1;if(t.prerelease[n]===void 0)return 1;let r=Ye(e.prerelease[n],t.prerelease[n]);if(r!==0)return r}return 0}function Qe(e){return H(e)?.version??null}function U(e){return H(e)}const $e=new Map,et=/(?:^|[^.\d])(\d+)(?:\.(\d+))?(?:\.(\d+))?/;function tt(e){return typeof e==`string`?B($e,e,()=>{let t=et.exec(e);return t?{version:`${t[1]}.${t[2]||`0`}.${t[3]||`0`}`}:null}):null}function nt(e,t){let n=H(e),r=H(t);return!n||!r?null:rt(n,r)}function rt(e,t){let n=Ze(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(Xe(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 it(e,t){let n=H(e),r=H(t);return n&&r?Ze(n,r):null}function at(e,t){return(it(e,t)??-1)>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=t[1].split(`.`),r=[],i=!1;for(let e of n)if(/^[xX*]$/.test(e))i=!0,r.push(null);else{if(i||!Ge.test(e))return null;let t=Number(e);if(!Number.isSafeInteger(t))return null;r.push(t)}for(;r.length<3;)r.push(null);return(t[2]||t[3])&&r.some(e=>e===null)||(t[2]||t[3])&&!H(`${r.join(`.`)}${t[2]??``}${t[3]??``}`)?null:{major:r[0],minor:r[1],patch:r[2],suffix:`${t[2]??``}${t[3]??``}`}}function W(e,t,n,r,i=``){let a=H(`${t}.${n}.${r}${i}`);return a?{op:e,semver:a}:null}function G(...e){let t=e.filter(e=>e!==null);return t.length===e.length?t:null}function st(e,t){let n=Ze(e,t.semver);switch(t.op){case`>=`:return n>=0;case`<=`:return n<=0;case`>`:return n>0;case`<`:return n<0;case`=`:return n===0;default:return!1}}function K(e,t,n){return W(`<`,e,t,n,`-0`)}function ct(e,t){if(e.major===null)return t===`>`||t===`<`?G(K(0,0,0)):[];let n=e.major,r=e.minor??0,i=e.patch??0;if(t===`^`||t===`~`){let a=W(`>=`,n,r,i,e.suffix);return e.minor===null?G(a,K(n+1,0,0)):t===`~`?G(a,K(n,r+1,0)):n===0?e.patch!==null&&r===0?G(a,K(0,0,i+1)):G(a,K(0,r+1,0)):G(a,K(n+1,0,0))}return e.minor!==null&&e.patch!==null?G(W(t||`=`,n,r,i,e.suffix)):!t||t===`=`?e.minor===null?G(W(`>=`,n,0,0),K(n+1,0,0)):G(W(`>=`,n,r,0),K(n,r+1,0)):t===`>`?e.minor===null?G(W(`>=`,n+1,0,0)):G(W(`>=`,n,r+1,0)):t===`<=`?e.minor===null?G(K(n+1,0,0)):G(K(n,r+1,0)):t===`<`?e.minor===null?G(K(n,0,0)):G(K(n,r,0)):G(W(`>=`,n,r,0))}function lt(e,t){let n=ot(e),r=ot(t);if(!n||!r)return null;let i=[];if(n.major!==null){let e=W(`>=`,n.major,n.minor??0,n.patch??0,n.suffix);if(!e)return null;i.push(e)}if(r.major===null)return i;let a=r.minor===null?K(r.major+1,0,0):r.patch===null?K(r.major,r.minor+1,0):W(`<=`,r.major,r.minor,r.patch,r.suffix);return a?(i.push(a),i):null}function ut(e){let t=/^(\S+)\s+-\s+(\S+)$/.exec(e);if(t)return lt(t[1],t[2]);let n=e.replace(/~\s*>\s*/g,`~`).replace(/(>=|<=|>|<|=|~|\^)\s+/g,`$1`),r=[];for(let e of n.split(/\s+/).filter(Boolean)){let t=/^(>=|<=|>|<|=|~|\^)?(.+)$/.exec(e),n=t&&ot(t[2]),i=n?ct(n,t[1]??``):null;if(!i)return null;r.push(...i)}return r}const dt=new Map;function ft(e){return B(dt,e,()=>{let t=e.split(`||`).map(e=>ut(e.trim()));return t.some(e=>e===null)?null:t})}function pt(e,t){return t.some(t=>!st(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 mt(e,t){return!!ft(t)?.some(t=>pt(e,t))}function q(e,t){let n=H(e);return!!(n&&mt(n,t))}function J(e){return typeof e==`string`&&ft(e)?e:null}const ht=`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]+)*))?`,gt=RegExp(`^${ht}$`,`i`),_t=RegExp(ht,`i`),vt={alpha:`a`,beta:`b`,c:`rc`,pre:`rc`,preview:`rc`},yt=new Map;function Y(e){return typeof e==`string`?B(yt,e,()=>{let t=gt.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?[vt[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 bt(e){return Y(e)??Y(_t.exec(e)?.[0]??``)}const xt=e=>!!e.pre||e.dev!==null;function St(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 Ct(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?St(e.local,t.local):a<o?-1:1}function wt(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 Tt(e,t){let n=Ct(e,t);if(n===0)return null;let r=wt(e,t);return xt(n>0?e:t)?r?`pre${r}`:`prerelease`:r??`patch`}const Et=/\d+\.\d+\.\d+(?:-[a-zA-Z0-9_.-]+)?/,X={parse:U,parseRange:e=>U(Et.exec(e)?.[0]??``)??U(tt(e)?.version??``),compare:Ze,diff:rt,isPrerelease:e=>e.prerelease.length>0,isRangePrerelease:e=>/[0-9]+\.[0-9]+\.[0-9]+-.+/.test(e),satisfiesRange:mt},Dt=new Map;function Ot(e){return B(Dt,e,()=>{let t=e.trim().replace(/^v/i,``);return(U(t)??U(t.replace(/^(\d+\.\d+)(-.+)$/,`$1.0$2`)))||(/^\d/.test(t)?U(tt(t)?.version??``):null)})}const kt={...X,parse:Ot,parseRange:Ot,isRangePrerelease:e=>!!Ot(e)?.prerelease.length},At={parse:Y,parseRange:bt,compare:Ct,diff:Tt,isPrerelease:xt,isRangePrerelease:e=>{let t=bt(e);return!!(t&&xt(t))},satisfiesRange:({release:e},t)=>q(`${e[0]??0}.${e[1]??0}.${e[2]??0}`,t)},jt=/[A-Za-z_$]/,Mt=/[A-Za-z0-9_$]/;function Nt(e){let t=``,n=0,r=e.length;function i(t){if(e[t+1]===`/`){for(t+=2;t<r&&e[t]!==`
3
3
  `;)t++;return t}for(t+=2;t<r&&(e[t]!==`*`||e[t+1]!==`/`);)t++;return t+2}function a(t){for(;t<r;){if(/\s/.test(e[t])){t++;continue}if(e[t]===`/`&&(e[t+1]===`/`||e[t+1]===`*`)){t=i(t);continue}break}return t}for(;n<r;){let o=e[n];if(o===`"`){let i=n++;for(;n<r;){let t=e[n++];if(t===`\\`)n++;else if(t===`"`)break}t+=e.slice(i,n);continue}if(o===`'`){for(t+=`"`,n++;n<r;){let i=e[n];if(i===`\\`){let a=e[n+1];if(a===`'`){t+=`'`,n+=2;continue}if(a===`
4
- `){n+=2;continue}t+=i,n+1<r?(t+=a,n+=2):n++;continue}if(i===`"`){t+=`\\"`,n++;continue}if(i===`'`){t+=`"`,n++;break}t+=i,n++}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];if(r===`}`||r===`]`){n++;continue}t+=o,n++;continue}if(Mt.test(o)){let i=n;for(;n<r&&Nt.test(e[n]);)n++;let o=e.slice(i,n);t+=e[a(n)]===`:`?`"${o}"`:o;continue}t+=o,n++}return JSON.parse(t)}const Ft={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function It(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=Ft[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const Lt={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},Rt=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function zt(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(Lt,n)?Lt[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Rt.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`),i=n?e.slice(1):e,o=Bt(i);(n?a:t).push(o??i),!n&&!o&&!/[*?[\]{}!()|+]/.test(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function Bt(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Vt=new Map,Ht=e=>z(Vt,e,()=>He(e)),Ut=(e,t,n)=>(!t?.length||t.some(t=>Ht(t).test(e)))&&(!n?.length||n.every(t=>!Ht(t).test(e)));function Wt(e,t,n){return Ut(t,e.matchPackageNames,e.excludePackageNames)&&Ut(n,e.matchDepNames,e.excludeDepNames)}const Gt=new WeakMap;var Kt=class extends RegExp{constructor(e,t){super(e),Gt.set(this,t)}testNames(e,t){return Gt.get(this)(e,t)}test(e){return this.testNames(e,e)}};function qt(e,t,n,r){return e instanceof Kt?e.testNames(n,r):e.test(t)}function Jt(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=zt(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=It(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=q(r.allowedVersions);if(!e&&!Bt(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&&Wt(t,e,e))?.allowedVersions;t&&q(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Kt(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Wt(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function Yt(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=It(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Kt(`^${P(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=Jt(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}const Xt=[`renovate.json`,`renovate.jsonc`,`renovate.json5`];async function Zt(e,t={}){let n=await Ue(e,async e=>{for(let t of Xt){let n=f(e,t),r;try{r=await re(n,`utf8`)}catch{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{parsed:i,path:n}}return null});return n?Yt(n.parsed,t):{}}const Qt=Symbol(`cliBaseConfig`),$t={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}},en=new Set([`allow-downgrade`,`greatest`,`minor`,`patch`,`prerelease`,`release`]);function tn(e){return Array.isArray(e)?!e.length||e.includes(!0)?!0:new Set(e.filter(e=>typeof e==`string`).flatMap(Ae)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function nn(e){for(let[t,{short:n}]of Object.entries($t))if(t===e||n===e)return t;return``}function rn(e){return new Set(e.map(He))}function an(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(Ae):[]}function on(e){for(let[t,n]of Object.entries(e??{}))if(!q(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function sn(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 on(t),t}function cn(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:rn(e)}const ln=Ge(e=>Ue(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=f(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})),un=Ge(async e=>{let t=await ln(e)??{},n=await Zt(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??[]]),on(r.pin),r});function dn(e){return new Promise((t,n)=>{y(e,`utf8`,(e,r)=>e?n(e):t(r))})}const fn=f(r===`win32`?t.LOCALAPPDATA||f(ue(),`AppData`,`Local`):t.XDG_CACHE_HOME||f(ue(),`.cache`),`updates`),pn=new Map;function mn(e){return le(`sha256`).update(e).digest(`hex`)}const hn=6048e5;async function gn(e,t=fn){try{let n=f(t,`${mn(e)}.cache`);if(Date.now()-(await oe(n)).mtimeMs>hn)return await se(n),null;let r=await dn(n),i=r.indexOf(`
5
- `);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await Ie(D(n,s,s)),{etag:a,body:o}}catch{return null}}const _n=new Set;let vn=0;function yn(e,t,r,i=fn){let a=(async()=>{try{await z(pn,i,()=>T(i,{recursive:!0}))}catch{pn.delete(i);return}let a;try{let o=f(i,`${mn(e)}.cache`);a=`${o}.${n}-${vn++}.tmp`,await O(a,`${t}\n${r}`),await ae(a,o)}catch{a&&await Ie(se(a))}})();_n.add(a),(async()=>{await a,_n.delete(a)})()}async function bn(e=fn,t=4096){for(;_n.size;)await Promise.all(_n);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=f(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()-hn,a=r.filter(e=>e.mtime>=i);await Promise.all([...r.slice(a.length),...a.slice(t)].map(e=>Ie(se(e.path))))}catch{}}var xn=`18.0.7`;function Sn(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const Cn=xn,wn=`https://api.github.com`,Tn={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:wn,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,En=e=>e.endsWith(`/`)?e.slice(0,-1):e;function Dn(e,t){return{headers:{"user-agent":`updates/${Cn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const On=new Set([`ECONNRESET`,`ECONNREFUSED`,`ETIMEDOUT`,`EAI_AGAIN`,`EPIPE`,`UND_ERR_SOCKET`,`UND_ERR_CONNECT_TIMEOUT`,`UND_ERR_HEADERS_TIMEOUT`,`UND_ERR_BODY_TIMEOUT`]);function kn(e){if(e?.name===`TimeoutError`||e?.name===`AbortError`)return!0;let t=e?.code??e?.cause?.code;return typeof t==`string`&&On.has(t)}async function An(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=kn(t),n}}async function jn(e,t,n={}){let r=Bn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a.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 A(u)}catch(e){if(i>=2||!e?.transient)throw e}}const Mn=e=>t=>JSON.stringify(e(JSON.parse(t))),Nn=new WeakMap;function Pn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=z(Nn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await gn(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await jn(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&yn(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function Fn(e,t,n={},r,i=e){return Pn(e,t,n,r,i,!1)}function In(e,t,n={},r){return Pn(e,t,n,r,e,!0)}async function Z(e,t,n,r,i=!0){let a=z(e,t,()=>new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const Ln=new ce,Rn=e=>Math.max(e.concurrency||50,1),zn=new WeakMap;function Bn(e){return z(zn,e,()=>{let t=Rn(e),n=0,r=0,i=[];return async e=>{if(Ln.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await Ln.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function Vn(e,t=Y){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Hn=new WeakMap,Un=new WeakMap;function Wn(e,t,n,r,i=Y){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?Hn:Un;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Gn(e){return nt(e)?.version??``}function Kn(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=Y}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Wn(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,ee=!!(d&&f),w=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||w&&m.compare(t,w)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||ee&&!Sn(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)||(w=t)}return w?.raw??w?.version??null}function qn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function Jn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?jt:Y,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;let n=e=>!!(e&&!e.yanked);m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(n)),g=e=>t[e].reduce((e,t)=>{if(!n(t))return e;let r=t?.upload_time_iso_8601,i=typeof r==`string`?Date.parse(r):NaN;return!Number.isNaN(i)&&i<e.time?{date:r,time:i}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Gn(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=Gn(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Wn(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=Gn(e),o=f.parse(e),c=qn(e);if(!a||!c&&r(o))return!1;let d=rt(m,e)??rt(t,a),p=c?d===`prerelease`?`patch`:d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!Sn(i,l,u)?!1:!s||K(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Kn(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function Yn(e){try{return new URL(e).host}catch{return``}}function Xn(e){let n=Ae(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let Zn;function Qn(){return Zn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Zn}const $n=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];let er;function tr(){let e=Array.from(new Set($n.map(e=>t[e]).filter(e=>!!e)));return e.length?Promise.resolve(e):er??=(async()=>{try{let{stdout:e}=await(await Qn())(`gh`,[`auth`,`token`],{encoding:`utf8`,timeout:5e3}),t=e.trim();return t?[t]:[]}catch{return[]}})()}const nr=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function rr(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=nr.exec(n);if(!e)continue;let r=Yn(e[1]),i=k.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let ir;function ar(){return ir??=(async()=>{try{let{stdout:e}=await(await Qn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return rr(e)}catch{return new Map}})()}const or=new Map;async function sr(e,t){if(!e)return[];let n=Xn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===Yn(t),[a,o]=await Promise.all([i?tr():[],ar()]),s=o.get(r);return Array.from(new Set(s?[...a,s]:a))}var cr=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function lr(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 ur(e,t,n,r){if(e.status>=500)throw new cr(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await lr(e);if(i===null)return e;throw new cr(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function dr(e,t,n){let r=Yn(e),i=await sr(r,t.forgeApiUrl),a=async a=>{let o=Dn(`Bearer`,a);return o.headers={...o.headers,...n},ur(await jn(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=or.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 or.set(r,t),n;t===e&&or.delete(r)}return await a()}catch(e){throw e instanceof cr?e:new cr(`network`,r,e?.message??String(e),{cause:e})}}function fr(e,t){let n=Y.parse(X(t));if(!n)return null;let r=``,i=n;for(let t of e){let e=Y.parse(X(t));e&&Y.compare(e,i)>0&&(r=t,i=e)}return r||null}function pr(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const mr=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),hr=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function gr(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function _r(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function vr(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const yr=(e,t)=>{if(!t)return vr(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return e})},br=new WeakMap;function xr(e,t,n,r){let i=`${n}${e}`;return Z(br,t,i,async()=>{let n=t.noCache?null:await gn(e),a=await dr(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return br.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&yn(e,s,o),o})}function Sr(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function Cr(e,t,n,r){let i=await xr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function wr(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 Tr(e,t,n,r,i){let a=await Cr(e(1),t,n,r);if(!a)return;let o=wr(a.link),s=Rn(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)=>Cr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function Er(e,t,n){let r=new Map;return await Tr(n=>`${wn}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,Sr,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function Dr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await Tr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,yr,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 Or(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return Dr(e,t,n,r,i);let[o,s]=await Promise.allSettled([Dr(e,t,n,r,i),Er(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof cr))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function kr(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}function Ar(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 jr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const Mr=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function Nr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of Mr)if(t?.[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=pr(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${jr(a)}/${e.directory}`)),a||t||``)}function Pr(e){let t=e.includes(`:/`)||e.startsWith(`/`);return En(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function Fr(e,t){for(let{url:n,fallback:r}of e)try{let e=await t(n);if(e!==null)return e}catch(e){if(r===`,`)throw e}return null}function Ir(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}t.push({url:Pr(e),fallback:r})}return t}function Lr(e){if(typeof e==`string`)return[{url:En(e),fallback:`,`}];let n=Ir(t.GOPROXY||`${Tn.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Rr(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const zr=new Map;function Br(e){return z(zr,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:P(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function Vr(e,t){return t.some(t=>Br(t).test(e))}function Hr(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Ur=/\/v(\d+)$/,Wr=/^gopkg\.in\/.*?\.v(\d+)$/;function Gr(e){let t=Wr.exec(e)??Ur.exec(e);return t?Number.parseInt(t[1]):1}function Kr(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(Ur,``);return t<=1?n:`${n}/v${t}`}function qr(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(X(t));return Number.isNaN(n)||n===Gr(e)?e:Kr(e,n)}const Jr=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,Yr=/^(\S+)\s+(v\S+)/,Xr=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Zr=e=>e.replace(/^"(.*)"$/,`$1`);function Qr(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function $r(e){let t=Xr.exec(e);if(!t)return null;let[,n,r,i,a]=t;return{origModule:Zr(n),origVersion:r??``,targetModule:Zr(i),targetVersion:a??``}}function*ei(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){if(/^\)\s*(?:\/\/.*)?$/.test(e)){t=null;continue}yield{kind:t,value:e,lineNumber:n};continue}let i=Jr.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function ti(e){return e.startsWith(`golang.org/x/`)}async function ni(e,t,n){let r=t,i=t&&!Vn(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,Vn(e.Version)||(i=e)}return i??r}function ri(e,t,n,r){let i=n??r;return[{name:e,old:t,new:X(i.Version),Time:i.Time,...i.path!==e&&{newPath:i.path},sameMajorNew:X(r.Version),sameMajorTime:r.Time},null]}function ii(e){for(let{kind:t,value:n}of ei(e.split(/\r?\n/)))if(t===`module`)return Zr(n.split(/\s/,1)[0]);return``}function ai(e){let t={},n={},r={},i={},a={},o=new Set,s=[];for(let i of ei(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(Zr(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=Yr.exec(i.value);e&&(a[Zr(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=$r(i.value);e&&(e.targetVersion&&!Qr(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=Yr.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[Zr(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const oi=new WeakMap;function si(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=z(oi,n,()=>new Map);for(let t of i?[f(e,i,`go.mod`),f(e,`go.mod`)]:[f(e,`go.mod`)]){let e=m(t),n=z(a,e,()=>{try{return new Map(Object.entries(ai(b(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return new Map}async function ci(e,n,r,i,a){let o=Gr(e),s=async(e,n,a)=>{try{let o=a??`latest`,s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,`${e}@${o}`],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(t){let n=String(t?.stderr??``).trim().split(`
6
- `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=hi((n.Versions??[]).join(`
7
- `),gi(e),r);if(!i)throw Error(`No non-excluded versions found for ${e}`);return s(e,t,i.Version)},l=e=>Ie(c(e,i.goProbeTimeout)),[u,d]=await Promise.all([c(e,i.fetchTimeout),ti(e)?null:l(Kr(e,o+1))]);return ri(e,n,await ni(o,d,t=>l(Kr(e,t))),u)}const li={"accept-encoding":`gzip, deflate, br`},ui=e=>e===404||e===410;async function di(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const fi=async(e,t,n)=>{let r=`${t}/${Hr(n)}/@latest`,i=await e(r);if(i.ok)return di(i,r,n);if(ui(i.status))return null;kr(i,r,n,t)},pi=new WeakMap;function mi(e,t,n,r,i){return Z(pi,e,`latest${t}${r}/${i}`,()=>fi(n,r,i))}function hi(e,t=0,n=new Set){let r=null;for(let i of e.split(`
8
- `)){let[e,a]=i.trim().split(/\s+/);if(!(!e||!$e(e)||n.has(e))&&!(t&&Number.parseInt(X(e))!==t)){if(r){let t=Vn(e);if(t===Vn(r.Version)?!ot(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function gi(e){return Ur.test(e)||Wr.test(e)?Gr(e):0}async function _i(e,t,n,r=new Set){let i=Hr(n),a=`${t}/${i}/@v/list`,o=await e(a);if(!o.ok){if(ui(o.status))return null;kr(o,a,n,t)}let s=hi(await o.text(),gi(n),r);if(!s)return null;if(s.Time)return{...s,path:n};let c=`${t}/${i}/@v/${Hr(s.Version)}.info`;try{let t=await e(c);if(t.ok)return di(t,c,n)}catch{}return{...s,path:n}}function vi(e,t,n,r,i,a=new Set){let o=`list${t}${r}/${i}${Array.from(a).sort().join(`\0`)}`;return Z(pi,e,o,()=>_i(n,r,i,a))}async function yi(e,t,n,r,i){let a=Gr(t),o=e=>jn(r,e,{headers:li}),s=e=>r.doFetch(e,{signal:AbortSignal.timeout(r.goProbeTimeout),headers:li}),c=mi(r,`primary`,o,e,t),l=(async()=>{let n=await c,a=i.get(t);return n&&!a?.has(n.Version)?n:vi(r,`primary`,o,e,t,a)})(),u=async t=>{try{let[n,a]=await Promise.all([mi(r,`probe`,s,e,t),c]),o=i.get(t);return n&&!o?.has(n.Version)?n:!n&&a?null:vi(r,`probe`,s,e,t,o)}catch{return null}},[d,f]=await Promise.all([l,ti(t)?null:u(Kr(t,a+1))]);return d?ri(t,n,await ni(a,f,e=>u(Kr(t,e))),d):null}async function bi(e,t,n,r,i,a){let o=si(r,t,i);if(Vr(e,a))return ci(e,n,r,i,o);let s=await Fr(i.goProxyChain,async t=>{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);return t===`direct`?ci(e,n,r,i,o):yi(t,e,n,i,o)});if(s)return s;throw Error(`Unable to find ${e} on any GOPROXY entry`)}const xi=e=>`("?)${P(e)}\\2`;function Si(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e,t,n)=>{let r=!1;for(let i of e??[]){let e=a[i];a[i]=e.replace(t,n),r||=a[i]!==e}return r},s=new Map,c=new Map,l=new Map;for(let e of ei(a))if(e.kind===`require`){let t=Yr.exec(e.value);t&&R(s,Zr(t[1]),e.lineNumber)}else if(e.kind===`replace`){let t=$r(e.value);t&&R(c,t.targetModule,{...t,lineNumber:e.lineNumber})}else if(e.kind===`tool`){let t=Zr(e.value.split(/\s/,1)[0]);for(;t;){R(l,t,e.lineNumber);let n=t.lastIndexOf(`/`);if(n===-1)break;t=t.slice(0,n)}}for(let[e,{old:t,oldOrig:i,new:u}]of r){let[r,d]=e.split(`\0`),f=i||t,p=qr(d,u);if(r===`replace`){let e=!1;for(let t of c.get(d)??[]){if(X(t.targetVersion)!==f)continue;let{lineNumber:n}=t;a[n]=a[n].replace(RegExp(`(=>\\s+)${xi(d)}(\\s+)v${P(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`),p!==d&&t.origModule===d&&!t.origVersion&&(a[n]=a[n].replace(RegExp(`(^\\s*(?:replace\\s+)?)${xi(d)}(?=\\s+=>)`),`$1$2${p}$2`),e=!0)}e&&o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${xi(d)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&(n[d]=p);continue}o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${xi(d)}(\\s+)v${P(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&p!==d&&(n[d]=p),r===`tool`&&p!==d&&o(l.get(d),RegExp(`(^\\s*(?:tool\\s+)?)("?)${P(d)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${p}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const Ci=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function wi(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(Ci)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}const Ti=e=>{let t=l(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function Ei(e,t,n){if(!Object.keys(t).length)return;let r=new Map,i=t=>t.length>e.length&&z(r,t,()=>_(f(t,`go.mod`))||i(u(t)));for(let r of v(`**/*.go`,{cwd:e,exclude:Ti})){let a=f(e,r);if(i(u(a)))continue;let o=b(a,`utf8`),s=wi(o,t);s!==o&&n(a,s)}}function Di(e){let t=[],n={};for(let r of ei(e.split(/\r?\n/)))if(r.kind===`use`)t.push(r.value.split(/\s/,1)[0]);else if(r.kind===`replace`){let e=$r(r.value);e?.targetVersion&&!Qr(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function Oi(e,t){try{let n=S(m(e));return S(f(n,t,`go.mod`))}catch{return null}}function ki(e){let t=`https://${Ai(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${jr(t)}/${a.join(`/`)}`,n.href}return t}function Ai(e){return Ur.test(e)?u(e):e}function ji(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function Mi(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function Ni(e){let t=tn(e);if(t!==!1)return t===!0||Array.from(t).map(Mi)}function Pi(t){if(!t)return e();let n=m(t),r=!1;try{r=C(n).isDirectory()}catch{}return r?n:u(n)}function Fi(e,t){let n=[...an(e.file),...t];return{filesList:n,startDir:Pi(n[0])}}function Ii(e){let t=o({strict:!1,allowPositionals:!0,tokens:!0,options:$t,...e!==void 0&&{args:e}}),n=Object.create(null),r=new Set,i=(e,t)=>{$t[e]?.multiple?(n[e]??=[]).push(t):n[e]=t},a=0;for(let[e,o]of t.tokens.entries()){if(o.kind===`positional`&&a++,o.kind!==`option`)continue;if(!nn(o.name))throw Error(`Unknown option: ${o.rawName}`);if($t[o.name]?.type===`string`&&o.value===void 0&&!en.has(o.name))throw Error(`Missing value for --${o.name}`);if(o.inlineValue||!o.value?.startsWith(`-`)){i(o.name,o.value??!0);continue}let s=o.value.startsWith(`--`),c=t.tokens[e+1],l=c?.kind===`positional`?c.value:void 0,u=[],d=o.value.substring(s?2:1),f=!1;if(s){let e=nn(d);e&&(f=$t[e].type===`string`&&l!==void 0,u.push({key:e,value:!f||l}))}else for(let e=0;e<d.length;){let t=nn(d[e]);if(!t){u.length=0;break}if($t[t].type===`boolean`)u.push({key:t,value:!0}),e++;else{let n=d.substring(e+1);f=!n&&l!==void 0,u.push({key:t,value:n||!f||l}),e=d.length}}if(!u.length){i(o.name,o.value);continue}$t[o.name]?.multiple?en.has(o.name)?i(o.name,!0):n[o.name]??=[]:n[o.name]=!0,f&&r.add(a);for(let{key:e,value:t}of u)i(e,t)}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Li(e,t){let{filesList:n,startDir:r}=Fi(e,t),i=await un(r),a={};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),typeof e.timeout==`string`&&(a.timeout=Fe(e.timeout,`timeout`)),typeof e.sockets==`string`&&(a.sockets=Fe(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=e.cooldown);let o=an(e.include).map(Mi),s=an(e.exclude).map(Mi);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=an(e.types);c.length&&(a.types=c);let l=sn(e.pin);Object.keys(l).length&&(a.pin=l);let u=an(e.modes);u.length&&(a.modes=u);for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=Ni(e[t]);n!==void 0&&(a[t]=n)}let d=Ni(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);let f={...i,pin:void 0,...a};return Object.defineProperty(f,Qt,{value:{cliKeys:Object.keys(a)}}),f}const Ri={d:`allow-downgrade`,e:`exclude`,f:`file`,l:`pin`,C:`cooldown`,p:`prerelease`,R:`release`,g:`greatest`,t:`types`,P:`patch`,m:`minor`,s:`sockets`,T:`timeout`,r:`registry`,i:`include`,M:`modes`,forgeapi:`forgeapi`,pypiapi:`pypiapi`,jsrapi:`jsrapi`,goproxy:`goproxy`,cargoapi:`cargoapi`,dockerapi:`dockerapi`},zi=new Set(Object.keys(Ri));for(let e of Object.values(Ri))Ri[e]=e;function Bi(e,t,n){if(e.includes(`--${t}`))return!0;for(let t of e){if(!/^-[^-]/.test(t))continue;let e=t.slice(1),r=e.indexOf(n);if(r!==-1&&Array.from(e.slice(0,r)).every(e=>!zi.has(e)))return!0}return!1}async function Vi(t){let n={},r;for(let e=0;e<t.length;e++){let i=t[e];if(!i.startsWith(`-`)){r??=i;continue}let a=/^--([^=]+)(?:=(.*))?$/.exec(i),o=/^-([A-Za-z])(.*)$/.exec(i),s=a?Ri[a[1]]:o?Ri[o[1]]:void 0;if(!s)continue;let c=(a?a[2]:o[2])||(t[e+1]?.startsWith(`-`)===!1?t[++e]:void 0);c!==void 0&&(s===`file`||s===`modes`?(n[s]??=[]).push(...c.split(`,`)):n[s]=c)}let i=n.file?.[0]??r,a=i?m(i):e(),o=i?u(a):a;try{C(a).isDirectory()&&(o=a)}catch{}let s={};configSearch:for(let e=o;;e=u(e)){for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=f(e,`updates.config.${t}`);try{if(!C(n).isFile())continue;s=(await import(te(n).href)).default??{};break configSearch}catch{}}if(u(e)===e)break}s={...s,...n};let c=Array.isArray(s.file)?s.file:s.files,{prewarmOrigins:l}=await import(`./prewarm.js`);for(let e of l(o,{...s,files:c}))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})()}async function Hi(e,t,n=!0){let i=String,o=String,l=Bi(e,`json`,`j`),u=e=>t.stdout(`${e}\n`),d=async(e,t)=>{if(e){let t=e.message??String(e);u(l?JSON.stringify({error:t}):i(t))}return r===`win32`&&Number(a.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t??+!!e};try{if(Bi(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
4
+ `){n+=2;continue}t+=i,n+1<r?(t+=a,n+=2):n++;continue}if(i===`"`){t+=`\\"`,n++;continue}if(i===`'`){t+=`"`,n++;break}t+=i,n++}continue}if(o===`/`&&(e[n+1]===`/`||e[n+1]===`*`)){n=i(n),t+=` `;continue}if(o===`,`){let r=e[a(n+1)];if(r===`}`||r===`]`){n++;continue}t+=o,n++;continue}if(jt.test(o)){let i=n;for(;n<r&&Mt.test(e[n]);)n++;let o=e.slice(i,n);t+=e[a(n)]===`:`?`"${o}"`:o;continue}t+=o,n++}return JSON.parse(t)}const Pt={y:365,year:365,years:365,mo:30,month:30,months:30,w:7,week:7,weeks:7,d:1,day:1,days:1,h:1/24,hour:1/24,hours:1/24,min:1/1440,minute:1/1440,minutes:1/1440,s:1/86400,second:1/86400,seconds:1/86400};function Ft(e){let t;for(let n of e.matchAll(/(\d+(?:\.\d+)?)\s*([a-z]+)/gi)){let e=Pt[n[2].toLowerCase()];if(e===void 0)return;t=(t??0)+Number(n[1])*e}return t}const It={packageName:{target:`package`,convert:e=>e},packagePattern:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackageNames:{target:`package`,convert:e=>e},packageNames:{target:`package`,convert:e=>e},matchPackagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},packagePatterns:{target:`package`,convert:e=>e===`*`?`*`:`/${e}/`},matchPackagePrefixes:{target:`package`,convert:e=>`${e}{/,}**`},excludePackageNames:{target:`package`,convert:e=>`!${e}`},excludedPackageNames:{target:`package`,convert:e=>`!${e}`},excludePackagePatterns:{target:`package`,convert:e=>`!/${e}/`},excludePackagePrefixes:{target:`package`,convert:e=>`!${e}{/,}**`},matchDepNames:{target:`dep`,convert:e=>e},matchDepPatterns:{target:`dep`,convert:e=>`/${e}/`},matchDepPrefixes:{target:`dep`,convert:e=>`${e}{/,}**`},excludeDepNames:{target:`dep`,convert:e=>`!${e}`},excludeDepPatterns:{target:`dep`,convert:e=>`!/${e}/`},excludeDepPrefixes:{target:`dep`,convert:e=>`!${e}{/,}**`}},Lt=new Set([`updateTypes`,`managers`,`datasources`,`depTypeList`,`paths`,`languages`,`baseBranchList`,`sourceUrlPrefixes`,`matchFiles`,`matchPaths`]);function Rt(e){let t={Package:[],Dep:[]};for(let[n,r]of Object.entries(e)){let e=Object.hasOwn(It,n)?It[n]:void 0;if(!e){if(n.startsWith(`match`)||n.startsWith(`exclude`)||Lt.has(n))return;continue}let i=typeof r==`string`||n===`packageName`||n===`packagePattern`?[r]:r;if(!Array.isArray(i))return;for(let n of i){if(typeof n!=`string`||!n)return;t[e.target===`package`?`Package`:`Dep`].push(e.convert(n))}}let n={},r=[];for(let[e,i]of Object.entries(t)){let t=[],a=[];for(let e of i){let n=e.startsWith(`!`),i=n?e.slice(1):e,o=zt(i);(n?a:t).push(o??i),!n&&!o&&!/[*?[\]{}!()|+]/.test(i)&&r.push(i)}t.length&&(n[`match${e}Names`]=t),a.length&&(n[`exclude${e}Names`]=a)}return{matchers:n,literals:r}}function zt(e){let t=/^!?\/(.*)\/(i?)$/.exec(e);if(t)try{return new RegExp(t[1],t[2])}catch{return}}const Bt=new Map,Vt=e=>B(Bt,e,()=>Ve(e)),Ht=(e,t,n)=>(!t?.length||t.some(t=>Vt(t).test(e)))&&(!n?.length||n.every(t=>!Vt(t).test(e)));function Ut(e,t,n){return Ht(t,e.matchPackageNames,e.excludePackageNames)&&Ht(n,e.matchDepNames,e.excludeDepNames)}const Wt=new WeakMap;var Gt=class extends RegExp{constructor(e,t){super(e),Wt.set(this,t)}testNames(e,t){return Wt.get(this)(e,t)}test(e){return this.testNames(e,e)}};function Kt(e,t,n,r){return e instanceof Gt?e.testNames(n,r):e.test(t)}function qt(e,t){let n=[],r={},i=new Set,a=[];for(let r of e){if(!r||typeof r!=`object`)continue;let e=Rt(r);if(!e)continue;let{matchers:o,literals:s}=e;typeof r.enabled==`boolean`&&n.push({enabled:r.enabled,matchers:o});let c={...o};if(t&&typeof r.minimumReleaseAge==`string`){let e=Ft(r.minimumReleaseAge);e!==void 0&&(c.cooldownDays=e)}if(typeof r.allowedVersions==`string`){let e=J(r.allowedVersions);if(!e&&!zt(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&&Ut(t,e,e))?.allowedVersions;t&&J(t)&&(r[e]=t)}let o;return n.some(e=>!e.enabled)&&(o=new Gt(`renovate-package-rules`,(e,t)=>{let r=!0;for(let i of n)Ut(i.matchers,e,t)&&(r=i.enabled);return!r})),{disabled:o,pin:r,versionRules:a}}function Jt(e,t){if(e.enabled===!1)return{exclude:[`*`]};let n={};if(t.cooldown&&typeof e.minimumReleaseAge==`string`){let t=Ft(e.minimumReleaseAge);t!==void 0&&t>0&&(n.cooldown=t)}let r=Array.isArray(e.ignoreDeps)?e.ignoreDeps.filter(e=>typeof e==`string`&&!!e).map(e=>new Gt(`^${F(e)}$`,(t,n)=>n===e)):[],{disabled:i,pin:a,versionRules:o}=qt(Array.isArray(e.packageRules)?e.packageRules:[],!!t.cooldown),s=i?[...r,i]:r;return s.length&&(n.exclude=s),Object.keys(a).length&&(n.pin=a,n.pinNoDowngrade=!0),o.length&&(n.renovateVersionRules=o),n}const Yt=[`renovate.json`,`renovate.jsonc`,`renovate.json5`];async function Xt(e,t={}){let n=await He(e,async e=>{for(let t of Yt){let n=f(e,t),r;try{r=await re(n,`utf8`)}catch{continue}let i;try{i=Nt(r)}catch(e){throw Error(`Unable to parse renovate config ${n}: ${e.message}`)}if(i&&typeof i==`object`)return{parsed:i,path:n}}return null});return n?Jt(n.parsed,t):{}}const Zt=Symbol(`cliBaseConfig`),Qt={"allow-downgrade":{short:`d`,type:`string`,multiple:!0},"error-on-outdated":{short:`E`,type:`boolean`},"error-on-unchanged":{short:`U`,type:`boolean`},exclude:{short:`e`,type:`string`,multiple:!0},file:{short:`f`,type:`string`,multiple:!0},forgeapi:{type:`string`},goproxy:{type:`string`},cargoapi:{type:`string`},dockerapi:{type:`string`},greatest:{short:`g`,type:`string`,multiple:!0},help:{short:`h`,type:`boolean`},include:{short:`i`,type:`string`,multiple:!0},indirect:{short:`I`,type:`boolean`},json:{short:`j`,type:`boolean`},jsrapi:{type:`string`},cooldown:{short:`C`,type:`string`},minor:{short:`m`,type:`string`,multiple:!0},modes:{short:`M`,type:`string`,multiple:!0},color:{short:`c`,type:`boolean`},"no-cache":{short:`x`,type:`boolean`},"no-color":{short:`n`,type:`boolean`},patch:{short:`P`,type:`string`,multiple:!0},pin:{short:`l`,type:`string`,multiple:!0},prerelease:{short:`p`,type:`string`,multiple:!0},pypiapi:{type:`string`},registry:{short:`r`,type:`string`},release:{short:`R`,type:`string`,multiple:!0},sockets:{short:`s`,type:`string`},timeout:{short:`T`,type:`string`},types:{short:`t`,type:`string`,multiple:!0},update:{short:`u`,type:`boolean`},verbose:{short:`V`,type:`boolean`},version:{short:`v`,type:`boolean`}},$t=new Set([`allow-downgrade`,`greatest`,`minor`,`patch`,`prerelease`,`release`]);function en(e){return Array.isArray(e)?!e.length||e.includes(!0)?!0:new Set(e.filter(e=>typeof e==`string`).flatMap(ke)):typeof e==`string`?new Set([e]):typeof e==`boolean`&&e}function tn(e){for(let[t,{short:n}]of Object.entries(Qt))if(t===e||n===e)return t;return``}function nn(e){return new Set(e.map(Ve))}function rn(e){return Array.isArray(e)?e.filter(e=>typeof e==`string`).flatMap(ke):[]}function an(e){for(let[t,n]of Object.entries(e??{}))if(!J(n))throw Error(`Invalid pin range for ${t}: ${n}`)}function on(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 an(t),t}function sn(e){return typeof e==`boolean`?e:!Array.isArray(e)||!e.length?!1:nn(e)}const cn=We(e=>He(e,async e=>{for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=`updates.config.${t}`,r=f(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})),ln=We(async e=>{let t=await cn(e)??{},n=await Xt(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??[]]),an(r.pin),r});function un(e){return new Promise((t,n)=>{y(e,`utf8`,(e,r)=>e?n(e):t(r))})}const dn=f(r===`win32`?t.LOCALAPPDATA||f(le(),`AppData`,`Local`):t.XDG_CACHE_HOME||f(le(),`.cache`),`updates`),fn=new Map;function pn(e){return j(`sha256`).update(e).digest(`hex`)}const mn=6048e5;async function hn(e,t=dn){try{let n=f(t,`${pn(e)}.cache`);if(Date.now()-(await oe(n)).mtimeMs>mn)return await se(n),null;let r=await un(n),i=r.indexOf(`
5
+ `);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!a||!o)return null;let s=new Date;return await Fe(D(n,s,s)),{etag:a,body:o}}catch{return null}}const gn=new Set;let _n=0;function vn(e,t,r,i=dn){let a=(async()=>{try{await B(fn,i,()=>T(i,{recursive:!0}))}catch{fn.delete(i);return}let a;try{let o=f(i,`${pn(e)}.cache`);a=`${o}.${n}-${_n++}.tmp`,await O(a,`${t}\n${r}`),await ae(a,o)}catch{a&&await Fe(se(a))}})();gn.add(a),(async()=>{await a,gn.delete(a)})()}async function yn(e=dn,t=4096){for(;gn.size;)await Promise.all(gn);try{let n=(await ie(e)).filter(e=>e.endsWith(`.cache`)),r=(await Promise.all(n.map(async t=>{let n=f(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()-mn,a=r.filter(e=>e.mtime>=i);await Promise.all([...r.slice(a.length),...a.slice(t)].map(e=>Fe(se(e.path))))}catch{}}var bn=`18.0.8`;function xn(e,t,n){if(!t||!n)return!0;let r=e?Date.parse(e):NaN;return!Number.isNaN(r)&&(n-r)/864e5>=t}const Sn=bn,Cn=`https://api.github.com`,wn={registry:`https://registry.npmjs.org`,jsrapi:`https://jsr.io`,forgeapi:Cn,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 En(e,t){return{headers:{"user-agent":`updates/${Sn}`,"accept-encoding":`gzip, deflate, br`,...t&&{Authorization:`${e} ${t}`}}}}const Dn=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`&&Dn.has(t)}async function kn(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 An(e,t,n={}){let r=zn(e);for(let i=0;;i++)try{let a=await r(()=>e.doFetch(t,{...n,signal:AbortSignal.timeout(e.fetchTimeout)})),o=a?.headers?.get?.(`retry-after`)?.trim(),s=o&&!/^\d+$/.test(o)?Date.parse(o):NaN,c=o?/^\d+$/.test(o)?Number(o)*1e3:Number.isNaN(s)?null:Math.max(s-Date.now(),0):null,l=e.fetchTimeout,u=a.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 A(u)}catch(e){if(i>=2||!e?.transient)throw e}}const jn=e=>t=>JSON.stringify(e(JSON.parse(t))),Mn=new WeakMap;function Nn(e,t,n,r,i,a){let o=JSON.stringify([e,i,a,n.method??`GET`,Array.from(new Headers(n.headers).entries()).sort(),n.body??null,r?.toString()]),s=B(Mn,t,()=>new Map),c=s.get(o);return c||(c=(async()=>{try{let o=t.noCache?null:await hn(i);if(a&&o)return{body:o.body};let s=n.headers,c=o?{...s,"if-none-match":o.etag}:s,l=await An(t,e,{...n,headers:c});if(l.status===304&&o)return{body:o.body,res:l};if(!l.ok)return{res:l};let u=await l.text();if(r&&u.length>=16384)try{u=r(u)}catch{}let d=a?`immutable`:l.headers.get(`etag`);return d&&!t.noCache&&vn(i,d,u),{body:u,res:l}}finally{s.delete(o)}})(),s.set(o,c)),c}function Pn(e,t,n={},r,i=e){return Nn(e,t,n,r,i,!1)}function Fn(e,t,n={},r){return Nn(e,t,n,r,e,!0)}async function Q(e,t,n,r,i=!0){let a=B(e,t,()=>new Map),o=a.get(n);if(o)return o;let s=r();a.set(n,s);try{let e=await s;return i||a.delete(n),e}catch(e){throw a.delete(n),e}}const In=new ce,Ln=e=>Math.max(e.concurrency||50,1),Rn=new WeakMap;function zn(e){return B(Rn,e,()=>{let t=Ln(e),n=0,r=0,i=[];return async e=>{if(In.getStore())return e();n<t?n++:await new Promise(e=>{i.push(e)});try{return await In.run(!0,e)}finally{r<i.length?(i[r++](),r===i.length&&(i=[],r=0)):n--}}})}function Bn(e,t=X){let n=t.parse(e);return!!(n&&t.isPrerelease(n))}const Vn=new WeakMap,Hn=new WeakMap;function Un(e,t,n,r,i=X){let a=t||i.isRangePrerelease(e),o=r;if(a){let e=t?Vn:Hn;o=e.get(r)??new Set(r).add(`prerelease`),t&&(r.has(`patch`)&&o.add(`prepatch`),r.has(`minor`)&&o.add(`preminor`),r.has(`major`)&&o.add(`premajor`)),e.set(r,o)}return{effectiveSemvers:o,skipsPrerelease:e=>(!a||n)&&!!e&&i.isPrerelease(e)}}function Wn(e){return tt(e)?.version??``}function Gn(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=X}){let h=m.parseRange(n);if(!h)return null;let{effectiveSemvers:g,skipsPrerelease:_}=Un(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,ee=!!(d&&f),w=null;for(let e of t){let t=m.parse(e);if(!t||_(t))continue;let n=m.compare(t,h)<=0;if(n&&!x&&!S||w&&m.compare(t,w)<=0||n&&!x&&y&&m.compare(t,y)!==0||!n&&y&&!b&&m.compare(t,y)>0||c&&!m.satisfiesRange(t,c)||ee&&!xn(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)||(w=t)}return w?.raw??w?.version??null}function Kn(e){return/\d{14}-[0-9a-f]{12}$/.test(e)}function qn(e,{mode:t,range:n,useGreatest:r,usePre:i,useRel:a,semvers:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l,now:u,allowDowngrade:d}){if(n===`*`)return null;let f=t===`pypi`?At:X,p=n.includes(`||`)?n.split(`||`).pop().trim():n,m=[],h=``,g;if(t===`pypi`){let t=e?.releases;if(!t)return null;let n=e=>!!(e&&!e.yanked);m=Object.keys(t).filter(e=>Array.isArray(t[e])&&t[e].some(n)),g=e=>t[e].reduce((e,t)=>{if(!n(t))return e;let r=t?.upload_time_iso_8601,i=typeof r==`string`?Date.parse(r):NaN;return!Number.isNaN(i)&&i<e.time?{date:r,time:i}:e},{time:1/0}).date,h=e.info?.version??``}else if(t===`npm`||t===`cargo`){if(!e?.versions)return null;if(m=Object.keys(e.versions),h=e[`dist-tags`]?.latest??``,t===`npm`&&!e.versions[Wn(p)]?.deprecated){let t=m.filter(t=>!e.versions[t]?.deprecated);m=t.length?t:m}}else if(t===`go`){let t=Wn(p);if(!t)return null;let{effectiveSemvers:n,skipsPrerelease:r}=Un(p,i,a,o,f),m=e.old||p,h=f.parseRange(m),g=!!d||!!s&&!c&&!!h&&!f.satisfiesRange(h,s),_=(e,i)=>{let a=Wn(e),o=f.parse(e),c=Kn(e);if(!a||!c&&r(o))return!1;let d=nt(m,e)??nt(t,a),p=c?d===`prerelease`?`patch`:d?.replace(/^pre/,``):d;return!p||!n.has(p)||!g&&o&&h&&f.compare(o,h)<0||!xn(i,l,u)?!1:!s||q(a,s)};return _(e.new,e.Time)?e.new:_(e.sameMajorNew,e.sameMajorTime)?(e.Time=e.sameMajorTime,delete e.newPath,e.sameMajorNew):null}return Gn(e,m,{range:p,semvers:o,useGreatest:r,usePre:i,useRel:a,latest:h,pinnedRange:s,pinNoDowngrade:c,allowDowngrade:d,cooldownDays:l,now:u,getVersionDate:g,versioning:f})}function Jn(e){try{return new URL(e).host}catch{return``}}function Yn(e){let n=ke(t.UPDATES_FORGE_TOKENS??``).find(t=>{let n=t.lastIndexOf(`:`);return n>0&&t.slice(0,n)===e});return n?n.slice(n.lastIndexOf(`:`)+1):null}let Xn;function Zn(){return Xn||=(async()=>{let[{execFile:e},{promisify:t}]=await Promise.all([import(`node:child_process`),import(`node:util`)]);return t(e)})(),Xn}const Qn=[`UPDATES_GITHUB_API_TOKEN`,`GITHUB_API_TOKEN`,`GH_TOKEN`,`GITHUB_TOKEN`,`HOMEBREW_GITHUB_API_TOKEN`];function $n(){return Array.from(new Set(Qn.map(e=>t[e]).filter(e=>!!e)))}const er=/^http\.(\S+)\/\.extraheader AUTHORIZATION:\s*basic\s+(\S+)$/i;function tr(e){let t=new Map;for(let n of e.split(/\r?\n/)){let e=er.exec(n);if(!e)continue;let r=Jn(e[1]),i=k.from(e[2],`base64`).toString(`utf8`),a=i.slice(i.indexOf(`:`)+1);r&&a&&!t.has(r)&&t.set(r,a)}return t}let nr;function rr(){return nr??=(async()=>{try{let{stdout:e}=await(await Zn())(`git`,[`config`,`--get-regexp`,`^http\\..*\\.extraheader$`],{encoding:`utf8`,timeout:5e3});return tr(e)}catch{return new Map}})()}const ir=new Map;async function ar(e,t){if(!e)return[];let n=Yn(e);if(n)return[n];let r=e===`api.github.com`?`github.com`:e,i=r===`github.com`||e===Jn(t)?$n():[],a=(await rr()).get(r);return Array.from(new Set(a?[...i,a]:i))}var or=class extends Error{name=`ForgeError`;kind;host;status;reset;constructor(e,t,n,{status:r=0,reset:i=0,cause:a}={}){super(n,{cause:a}),this.kind=e,this.host=t,this.status=r,this.reset=i}};async function sr(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 cr(e,t,n,r){if(e.status>=500)throw new or(`server`,n,`Received ${e.status}${e.statusText?` ${e.statusText}`:``} from ${t}`,{status:e.status});let i=await sr(e);if(i===null)return e;throw new or(`rateLimit`,n,`Rate limit exceeded for ${n}${r?` even though a token was sent`:`, set one for this host in UPDATES_FORGE_TOKENS`}${i?`, resets at ${new Date(i*1e3).toISOString()}`:``}`,{status:e.status,reset:i})}async function lr(e,t,n){let r=Jn(e),i=await ar(r,t.forgeApiUrl),a=async a=>{let o=En(`Bearer`,a);return o.headers={...o.headers,...n},cr(await An(t,e,o),e,r,!!i.length)};try{if(!i.length)return await a();let e=ir.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 ir.set(r,t),n;t===e&&ir.delete(r)}return await a()}catch(e){throw e instanceof or?e:new or(`network`,r,e?.message??String(e),{cause:e})}}function ur(e,t){let n=X.parse(Z(t));if(!n)return null;let r=``,i=n;for(let t of e){let e=X.parse(Z(t));e&&X.compare(e,i)>0&&(r=t,i=e)}return r||null}function dr(e){let t=e.replace(`git@`,``).replace(/.+?\/\//,`https://`).replace(/\.git$/,``);return/^[a-z]+:[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?t.replace(/^(.+?):/,(e,t)=>`https://${t}.com/`):/^[a-z0-9-]+\/[a-z0-9-]+$/.test(t)?`https://github.com/${t}`:t}const fr=RegExp(`^(?:[0-9a-f]{6,7}|[0-9a-f]{40}|[0-9a-f]{64})$`,`i`),pr=/^(?=.*[a-f])[0-9a-f]{7,40}$/i;function mr(e){return/^v?\d+(?:\.\d+)*(?:[-+][\w.-]+)?$/.test(e)}function hr(e){let t=e?.commit??e;return t?.committer?.date||t?.author?.date||``}function gr(e){if(!Array.isArray(e))throw TypeError(`Invalid Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||e.commit?.sha!==void 0&&typeof e.commit.sha!=`string`)throw TypeError(`Invalid Forge tag entry`);return{name:e.name,commitSha:e.commit?.sha||``}})}const _r=(e,t)=>{if(!t)return gr(e);if(!Array.isArray(e))throw TypeError(`Invalid cached Forge tags response`);return e.map(e=>{if(typeof e?.name!=`string`||typeof e.commitSha!=`string`||e.isStable!==void 0&&typeof e.isStable!=`boolean`)throw TypeError(`Invalid cached Forge tag entry`);return e})},vr=new WeakMap;function yr(e,t,n,r){let i=`${n}${e}`;return Q(vr,t,i,async()=>{let n=t.noCache?null:await hn(e),a=await lr(e,t,n?{"if-none-match":n.etag}:void 0);if(a.status===304&&n)return n.body;if(!a.ok)return vr.get(t).delete(i),null;let o=await r(a),s=a.headers.get(`etag`);return s&&!t.noCache&&vn(e,s,o),o})}function br(e,t=!1){if(!Array.isArray(e))throw TypeError(`Invalid ${t?`cached `:``}Forge releases response`);return e.map(e=>{let n=t?e?.name:e?.tag_name,r=t?e?.isStable:!e?.prerelease&&e?.draft!==!0;if(typeof n!=`string`||(t?typeof r!=`boolean`:typeof e?.prerelease!=`boolean`||e.draft!==void 0&&typeof e.draft!=`boolean`))throw TypeError(`Invalid ${t?`cached `:``}Forge release entry`);return{name:n,isStable:r}})}async function xr(e,t,n,r){let i=await yr(e,t,n,async e=>JSON.stringify({link:e.headers.get(`link`)||``,[n]:r(await e.json(),!1)}));if(!i)return null;let a=JSON.parse(i);if(typeof a?.link!=`string`)throw TypeError(`Invalid cached Forge ${n} response`);return{entries:r(a[n],!0),link:a.link}}function Sr(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 Cr(e,t,n,r,i){let a=await xr(e(1),t,n,r);if(!a)return;let o=Sr(a.link),s=Ln(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)=>xr(e(c+a),t,n,r)));for(let e of a)u=i(e?.entries??[])}}async function wr(e,t,n){let r=new Map;return await Cr(n=>`${Cn}/repos/${e}/${t}/releases?per_page=100&page=${n}`,n,`releases`,br,e=>{for(let t of e)r.set(t.name,t.isStable);return!1}),r}async function Tr(e,t,n,r,i=[]){let a=[],o=new Set(i.filter(Boolean)),s=o.size>0;return await Cr(r=>`${e}/repos/${t}/${n}/tags?per_page=100&page=${r}`,r,`tags`,_r,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 Er(e,t,n,r,i=[],a=!0){if(e!==`https://api.github.com`||!a)return Tr(e,t,n,r,i);let[o,s]=await Promise.allSettled([Tr(e,t,n,r,i),wr(t,n,r)]);if(o.status===`rejected`)throw o.reason;if(s.status===`rejected`&&!(s.reason instanceof or))throw s.reason;if(s.status===`fulfilled`)for(let e of o.value)s.value.has(e.name)&&(e.isStable=s.value.get(e.name));return o.value}function Dr(e,t,n,r){throw e?.status&&e.statusText?Error(`Received ${e.status} ${e.statusText} from ${t}`):Error(`Unable to fetch ${n} from ${r}`)}function Or(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 kr(e){return e.startsWith(`https://bitbucket.org`)?`src/HEAD`:`tree/HEAD`}const Ar=[`repository`,`Repository`,`repo`,`Repo`,`source`,`Source`,`source code`,`Source code`,`Source Code`,`homepage`,`Homepage`];function jr({repository:e,homepage:t,info:n},r,i){if(n){let t=n.project_urls;for(let n of Ar)if(t?.[n]){e=t[n];break}e??=`https://pypi.org/project/${i}/`}let a=``;return r===`https://npm.pkg.github.com`?`https://github.com/${i.replace(/^@/,``)}`:(e&&(a=dr(typeof e==`string`?e:e.url),a&&typeof e!=`string`&&e.directory&&(a+=`/${kr(a)}/${e.directory}`)),a||t||``)}function Mr(e){let t=e.includes(`:/`)||e.startsWith(`/`);return Tn(!t&&/[.:/]/.test(e)?`https://${e}`:e)}async function Nr(e,t){for(let{url:n,fallback:r}of e)try{let e=await t(n);if(e!==null)return e}catch(e){if(r===`,`)throw e}return null}function Pr(e){let t=[];for(let n of e.matchAll(/([^,|]*)([,|]?)/g)){let e=n[1].trim();if(!e)continue;let r=n[2]===`|`?`|`:`,`;if(e===`off`||e===`direct`){t.push({url:e,fallback:r});break}t.push({url:Mr(e),fallback:r})}return t}function Fr(e){if(typeof e==`string`)return[{url:Tn(e),fallback:`,`}];let n=Pr(t.GOPROXY||`${wn.goproxy},direct`);if(!n.length)throw Error(`GOPROXY list is not the empty string, but contains no entries`);return n}function Ir(){return(t.GONOPROXY||t.GOPRIVATE||``).split(`,`).map(e=>e.trim().replace(/\/+$/,``)).filter(Boolean)}const Lr=new Map;function Rr(e){return B(Lr,e,()=>{let t=``;for(let n of e.matchAll(/\[([^\]]*)\]|./gs)){let[e,r]=n;t+=r===void 0?e===`*`?`[^/]*`:e===`?`?`[^/]`:F(e):`[${r.replace(/\\/g,`\\\\`)}]`}return RegExp(`^${t}(?:/.*)?$`)})}function zr(e,t){return t.some(t=>Rr(t).test(e))}function Br(e){return e.replace(/[A-Z]/g,e=>`!${e.toLowerCase()}`)}const Vr=/\/v(\d+)$/,Hr=/^gopkg\.in\/.*?\.v(\d+)$/;function Ur(e){let t=Hr.exec(e)??Vr.exec(e);return t?Number.parseInt(t[1]):1}function Wr(e,t){if(e.startsWith(`gopkg.in/`))return`${e.replace(/\.v\d+$/,``)}.v${t}`;let n=e.replace(Vr,``);return t<=1?n:`${n}/v${t}`}function Gr(e,t){if(t.includes(`+incompatible`))return e;let n=Number.parseInt(Z(t));return Number.isNaN(n)||n===Ur(e)?e:Wr(e,n)}const Kr=/^(module|require|replace|exclude|tool|use)(?:\s*\(\s*(?:\/\/.*)?$|\s+(.+)$)/,qr=/^(\S+)\s+(v\S+)/,Jr=/^(\S+)(?:\s+(v\S+))?\s+=>\s+(\S+)(?:\s+(v\S+))?/,Yr=e=>e.replace(/^"(.*)"$/,`$1`);function Xr(e){return e.startsWith(`./`)||e.startsWith(`/`)||e.startsWith(`../`)}function Zr(e){let t=Jr.exec(e);if(!t)return null;let[,n,r,i,a]=t;return{origModule:Yr(n),origVersion:r??``,targetModule:Yr(i),targetVersion:a??``}}function*Qr(e){let t=null;for(let[n,r]of e.entries()){let e=r.trim();if(!e||e.startsWith(`//`))continue;if(t){if(/^\)\s*(?:\/\/.*)?$/.test(e)){t=null;continue}yield{kind:t,value:e,lineNumber:n};continue}let i=Kr.exec(e);i&&(i[2]===void 0?t=i[1]:yield{kind:i[1],value:i[2],lineNumber:n})}}function $r(e){return e.startsWith(`golang.org/x/`)}async function ei(e,t,n){let r=t,i=t&&!Bn(t.Version)?t:null;for(let t=e+2;r;t++){let e=await n(t);if(!e)break;r=e,Bn(e.Version)||(i=e)}return i??r}function ti(e,t,n,r){let i=n??r;return[{name:e,old:t,new:Z(i.Version),Time:i.Time,...i.path!==e&&{newPath:i.path},sameMajorNew:Z(r.Version),sameMajorTime:r.Time},null]}function ni(e){for(let{kind:t,value:n}of Qr(e.split(/\r?\n/)))if(t===`module`)return Yr(n.split(/\s/,1)[0]);return``}function ri(e){let t={},n={},r={},i={},a={},o=new Set,s=[];for(let i of Qr(e.split(/\r?\n/))){if(i.kind===`tool`){s.push(Yr(i.value.split(/\s/,1)[0]));continue}if(i.kind===`exclude`){let e=qr.exec(i.value);e&&(a[Yr(e[1])]??=[]).push(e[2]);continue}if(i.kind===`replace`){let e=Zr(i.value);e&&(e.targetVersion&&!Xr(e.targetModule)&&(r[e.targetModule]=e.targetVersion),e.origVersion||o.add(e.origModule));continue}if(i.kind!==`require`)continue;let e=qr.exec(i.value);e&&((i.value.includes(`// indirect`)?n:t)[Yr(e[1])]=e[2])}for(let e of o)delete t[e],delete n[e];let c=[...Object.keys(n),...Object.keys(t)];for(let e of s){let r=``;for(let t of c)(e===t||e.startsWith(`${t}/`))&&t.length>r.length&&(r=t);let a=n[r]?n:t;a[r]&&(i[r]=a[r],delete a[r])}return{deps:t,indirect:n,replace:r,tool:i,...Object.keys(a).length&&{exclude:a}}}const ii=new WeakMap;function ai(e,t,n){let r=t.includes(`|`)?t.slice(t.indexOf(`|`)+1):``,i=r.includes(`:`)?r.slice(r.indexOf(`:`)+1):r,a=B(ii,n,()=>new Map);for(let t of i?[f(e,i,`go.mod`),f(e,`go.mod`)]:[f(e,`go.mod`)]){let e=m(t),n=B(a,e,()=>{try{return new Map(Object.entries(ri(b(e,`utf8`)).exclude??{}).map(([e,t])=>[e,new Set(t)]))}catch{return null}});if(n)return n}return new Map}async function oi(e,n,r,i,a){let o=Ur(e),s=async(e,n,a)=>{try{let o=a??`latest`,s=[`list`,`-m`,...a?[]:[`-versions`],`-json`,`${e}@${o}`],{stdout:c}=await i.execFile(`go`,s,{timeout:n,cwd:r,env:{...t,GOPROXY:`direct`}}),l=JSON.parse(c);return{Version:l.Version,Time:l.Time||``,path:e,Versions:l.Versions}}catch(t){let n=String(t?.stderr??``).trim().split(`
6
+ `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@${a??`latest`} failed: ${n}`)}},c=async(e,t)=>{let n=await s(e,t),r=a.get(e);if(!r?.has(n.Version))return n;let i=pi((n.Versions??[]).join(`
7
+ `),mi(e),r);if(!i)throw Error(`No non-excluded versions found for ${e}`);return s(e,t,i.Version)},l=e=>Fe(c(e,i.goProbeTimeout)),[u,d]=await Promise.all([c(e,i.fetchTimeout),$r(e)?null:l(Wr(e,o+1))]);return ti(e,n,await ei(o,d,t=>l(Wr(e,t))),u)}const si={"accept-encoding":`gzip, deflate, br`},ci=e=>e===404||e===410;async function li(e,t,n){try{let t=await e.json();if(t?.Version)return{Version:t.Version,Time:t.Time||``,path:n}}catch{}throw Error(`Invalid response from ${t}`)}const ui=async(e,t,n)=>{let r=`${t}/${Br(n)}/@latest`,i=await e(r);if(i.ok)return li(i,r,n);if(ci(i.status))return null;Dr(i,r,n,t)},di=new WeakMap;function fi(e,t,n,r,i){return Q(di,e,`latest${t}${r}/${i}`,()=>ui(n,r,i))}function pi(e,t=0,n=new Set){let r=null;for(let i of e.split(`
8
+ `)){let[e,a]=i.trim().split(/\s+/);if(!(!e||!Qe(e)||n.has(e))&&!(t&&Number.parseInt(Z(e))!==t)){if(r){let t=Bn(e);if(t===Bn(r.Version)?!at(e,r.Version):t)continue}r={Version:e,Time:a??``}}}return r}function mi(e){return Vr.test(e)||Hr.test(e)?Ur(e):0}async function hi(e,t,n,r=new Set){let i=Br(n),a=`${t}/${i}/@v/list`,o=await e(a);if(!o.ok){if(ci(o.status))return null;Dr(o,a,n,t)}let s=pi(await o.text(),mi(n),r);if(!s)return null;if(s.Time)return{...s,path:n};let c=`${t}/${i}/@v/${Br(s.Version)}.info`;try{let t=await e(c);if(t.ok)return li(t,c,n)}catch{}return{...s,path:n}}function gi(e,t,n,r,i,a=new Set){let o=`list${t}${r}/${i}${Array.from(a).sort().join(`\0`)}`;return Q(di,e,o,()=>hi(n,r,i,a))}async function _i(e,t,n,r,i){let a=Ur(t),o=e=>An(r,e,{headers:si}),s=e=>r.doFetch(e,{signal:AbortSignal.timeout(r.goProbeTimeout),headers:si}),c=fi(r,`primary`,o,e,t),l=(async()=>{let n=await c,a=i.get(t);return n&&!a?.has(n.Version)?n:gi(r,`primary`,o,e,t,a)})(),u=async t=>{try{let[n,a]=await Promise.all([fi(r,`probe`,s,e,t),c]),o=i.get(t);return n&&!o?.has(n.Version)?n:!n&&a?null:gi(r,`probe`,s,e,t,o)}catch{return null}},[d,f]=await Promise.all([l,$r(t)?null:u(Wr(t,a+1))]);return d?ti(t,n,await ei(a,f,e=>u(Wr(t,e))),d):null}async function vi(e,t,n,r,i,a){let o=ai(r,t,i);if(zr(e,a))return oi(e,n,r,i,o);let s=await Nr(i.goProxyChain,async t=>{if(t===`off`)throw Error(`Module lookup disabled by GOPROXY=off`);return t===`direct`?oi(e,n,r,i,o):_i(t,e,n,i,o)});if(s)return s;throw Error(`Unable to find ${e} on any GOPROXY entry`)}const yi=e=>`("?)${F(e)}\\2`;function bi(e,t){let n={},r=Object.entries(t);if(!r.length)return[e,n];let i=e.match(/\r?\n/g)??[],a=e.split(/\r?\n/),o=(e,t,n)=>{let r=!1;for(let i of e??[]){let e=a[i];a[i]=e.replace(t,n),r||=a[i]!==e}return r},s=new Map,c=new Map,l=new Map;for(let e of Qr(a))if(e.kind===`require`){let t=qr.exec(e.value);t&&z(s,Yr(t[1]),e.lineNumber)}else if(e.kind===`replace`){let t=Zr(e.value);t&&z(c,t.targetModule,{...t,lineNumber:e.lineNumber})}else if(e.kind===`tool`){let t=Yr(e.value.split(/\s/,1)[0]);for(;t;){z(l,t,e.lineNumber);let n=t.lastIndexOf(`/`);if(n===-1)break;t=t.slice(0,n)}}for(let[e,{old:t,oldOrig:i,new:u}]of r){let[r,d]=e.split(`\0`),f=i||t,p=Gr(d,u);if(r===`replace`){let e=!1;for(let t of c.get(d)??[]){if(Z(t.targetVersion)!==f)continue;let{lineNumber:n}=t;a[n]=a[n].replace(RegExp(`(=>\\s+)${yi(d)}(\\s+)v${F(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`),p!==d&&t.origModule===d&&!t.origVersion&&(a[n]=a[n].replace(RegExp(`(^\\s*(?:replace\\s+)?)${yi(d)}(?=\\s+=>)`),`$1$2${p}$2`),e=!0)}e&&o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${yi(d)}(\\s+)v\\S+(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&(n[d]=p);continue}o(s.get(d),RegExp(`(^\\s*(?:require\\s+)?)${yi(d)}(\\s+)v${F(f)}(?=\\s*(?://.*)?$)`),`$1$2${p}$2$3v${u}`)&&p!==d&&(n[d]=p),r===`tool`&&p!==d&&o(l.get(d),RegExp(`(^\\s*(?:tool\\s+)?)("?)${F(d)}((?:/[^"\\s]+)?)\\2(?=\\s*(?://.*)?$)`),`$1$2${p}$3$2`)}return[a.map((e,t)=>`${e}${i[t]??``}`).join(``),n]}const xi=/\s+|\/\/[^\n]*(?:\n|$)|\/\*[\s\S]*?(?:\*\/|$)|[A-Za-z_][A-Za-z0-9_]*|"(?:\\[\s\S]|[^"\\])*(?:"|$)|`[^`]*(?:`|$)|'(?:\\[\s\S]|[^'\\])*(?:'|$)|./g;function Si(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(xi)){let e=t[0];if(!(/^\s/.test(e)||e.startsWith(`//`)||e.startsWith(`/*`))){if(a){e===`)`?a=!1:i(e,t.index);continue}e===`import`?o=2:o&&e===`(`?(a=!0,o=0):o&&(i(e,t.index)||--o===0)&&(o=0)}}let s=e;for(let e of r.reverse())s=`${s.slice(0,e.start)}${e.value}${s.slice(e.end)}`;return s}const Ci=e=>{let t=l(e);return t===`vendor`||t===`testdata`||t[0]===`_`};function wi(e,t,n){if(!Object.keys(t).length)return;let r=new Map,i=t=>t.length>e.length&&B(r,t,()=>_(f(t,`go.mod`))||i(u(t)));for(let r of v(`**/*.go`,{cwd:e,exclude:Ci})){let a=f(e,r);if(i(u(a)))continue;let o=b(a,`utf8`),s=Si(o,t);s!==o&&n(a,s)}}function Ti(e){let t=[],n={};for(let r of Qr(e.split(/\r?\n/)))if(r.kind===`use`)t.push(r.value.split(/\s/,1)[0]);else if(r.kind===`replace`){let e=Zr(r.value);e?.targetVersion&&!Xr(e.targetModule)&&(n[e.targetModule]=e.targetVersion)}return{use:t,replace:n}}function Ei(e,t){try{let n=S(m(e));return S(f(n,t,`go.mod`))}catch{return null}}function Di(e){let t=`https://${Oi(e)}`,n=new URL(t),r=n.pathname.split(`/`);if(r.length>3){let[,e,i,...a]=r;return n.pathname=`/${e}/${i}/${kr(t)}/${a.join(`/`)}`,n.href}return t}function Oi(e){return Vr.test(e)?u(e):e}function ki(e){return e.replace(/(\d{7})\d{7}-[0-9a-f]{12}$/,`$1`)}function Ai(e){return/^\/.+\/$/.test(e)?new RegExp(e.slice(1,-1)):e}function ji(e){let t=en(e);if(t!==!1)return t===!0||Array.from(t).map(Ai)}function Mi(t){if(!t)return e();let n=m(t),r=!1;try{r=C(n).isDirectory()}catch{}return r?n:u(n)}function Ni(e,t){let n=[...rn(e.file),...t];return{filesList:n,startDir:Mi(n[0])}}function Pi(e){let t=o({strict:!1,allowPositionals:!0,tokens:!0,options:Qt,...e!==void 0&&{args:e}}),n=Object.create(null),r=new Set,i=(e,t)=>{Qt[e]?.multiple?(n[e]??=[]).push(t):n[e]=t},a=0;for(let[e,o]of t.tokens.entries()){if(o.kind===`positional`&&a++,o.kind!==`option`)continue;if(!tn(o.name))throw Error(`Unknown option: ${o.rawName}`);if(Qt[o.name]?.type===`string`&&o.value===void 0&&!$t.has(o.name))throw Error(`Missing value for --${o.name}`);if(o.inlineValue||!o.value?.startsWith(`-`)){i(o.name,o.value??!0);continue}let s=o.value.startsWith(`--`),c=t.tokens[e+1],l=c?.kind===`positional`?c.value:void 0,u=[],d=o.value.substring(s?2:1),f=!1;if(s){let e=tn(d);e&&(f=Qt[e].type===`string`&&l!==void 0,u.push({key:e,value:!f||l}))}else for(let e=0;e<d.length;){let t=tn(d[e]);if(!t){u.length=0;break}if(Qt[t].type===`boolean`)u.push({key:t,value:!0}),e++;else{let n=d.substring(e+1);f=!n&&l!==void 0,u.push({key:t,value:n||!f||l}),e=d.length}}if(!u.length){i(o.name,o.value);continue}Qt[o.name]?.multiple?$t.has(o.name)?i(o.name,!0):n[o.name]??=[]:n[o.name]=!0,f&&r.add(a);for(let{key:e,value:t}of u)i(e,t)}return{args:n,positionals:t.positionals.filter((e,t)=>!r.has(t))}}async function Fi(e,t){let{filesList:n,startDir:r}=Ni(e,t),i=await ln(r),a={};e.json&&(a.json=!0),e.verbose&&(a.verbose=!0),e[`no-cache`]&&(a.noCache=!0),e.update&&(a.update=!0),e.indirect&&(a.indirect=!0),e[`error-on-outdated`]&&(a.errorOnOutdated=!0),e[`error-on-unchanged`]&&(a.errorOnUnchanged=!0),e.color&&(a.color=!0,a.noColor=!1),e[`no-color`]&&(a.color=!1,a.noColor=!0),typeof e.timeout==`string`&&(a.timeout=Pe(e.timeout,`timeout`)),typeof e.sockets==`string`&&(a.sockets=Pe(e.sockets,`sockets`)),typeof e.registry==`string`&&(a.registry=e.registry),typeof e.cooldown==`string`&&(a.cooldown=e.cooldown);let o=rn(e.include).map(Ai),s=rn(e.exclude).map(Ai);o.length&&(a.include=o),s.length&&(a.exclude=s);let c=rn(e.types);c.length&&(a.types=c);let l=on(e.pin);Object.keys(l).length&&(a.pin=l);let u=rn(e.modes);u.length&&(a.modes=u);for(let t of[`greatest`,`prerelease`,`release`,`patch`,`minor`]){let n=ji(e[t]);n!==void 0&&(a[t]=n)}let d=ji(e[`allow-downgrade`]);d!==void 0&&(a.allowDowngrade=d),n.length&&(a.files=n);for(let t of[`forgeapi`,`pypiapi`,`jsrapi`,`goproxy`,`cargoapi`,`dockerapi`])typeof e[t]==`string`&&(a[t]=e[t]);let f={...i,pin:void 0,...a};return Object.defineProperty(f,Zt,{value:{cliKeys:Object.keys(a)}}),f}const Ii={d:`allow-downgrade`,e:`exclude`,f:`file`,l:`pin`,C:`cooldown`,p:`prerelease`,R:`release`,g:`greatest`,t:`types`,P:`patch`,m:`minor`,s:`sockets`,T:`timeout`,r:`registry`,i:`include`,M:`modes`,forgeapi:`forgeapi`,pypiapi:`pypiapi`,jsrapi:`jsrapi`,goproxy:`goproxy`,cargoapi:`cargoapi`,dockerapi:`dockerapi`},Li=new Set(Object.keys(Ii));for(let e of Object.values(Ii))Ii[e]=e;function Ri(e,t,n){if(e.includes(`--${t}`))return!0;for(let t of e){if(!/^-[^-]/.test(t))continue;let e=t.slice(1),r=e.indexOf(n);if(r!==-1&&Array.from(e.slice(0,r)).every(e=>!Li.has(e)))return!0}return!1}async function zi(t){let n={},r;for(let e=0;e<t.length;e++){let i=t[e];if(!i.startsWith(`-`)){r??=i;continue}let a=/^--([^=]+)(?:=(.*))?$/.exec(i),o=/^-([A-Za-z])(.*)$/.exec(i),s=a?Ii[a[1]]:o?Ii[o[1]]:void 0;if(!s)continue;let c=(a?a[2]:o[2])||(t[e+1]?.startsWith(`-`)===!1?t[++e]:void 0);c!==void 0&&(s===`file`||s===`modes`?(n[s]??=[]).push(...c.split(`,`)):n[s]=c)}let i=n.file?.[0]??r,a=i?m(i):e(),o=i?u(a):a;try{C(a).isDirectory()&&(o=a)}catch{}let s={};configSearch:for(let e=o;;e=u(e)){for(let t of[`js`,`ts`,`mjs`,`mts`]){let n=f(e,`updates.config.${t}`);try{if(!C(n).isFile())continue;s=(await import(te(n).href)).default??{};break configSearch}catch{}}if(u(e)===e)break}s={...s,...n};let c=Array.isArray(s.file)?s.file:s.files,{prewarmOrigins:l}=await import(`./prewarm.js`);for(let e of l(o,{...s,files:c}))(async()=>{try{await fetch(e,{method:`HEAD`})}catch{}})()}async function Bi(e,t,n=!0){let i=String,o=String,l=Ri(e,`json`,`j`),u=e=>t.stdout(`${e}\n`),d=async(e,t)=>{if(e){let t=e.message??String(e);u(l?JSON.stringify({error:t}):i(t))}return r===`win32`&&Number(a.node.split(`.`)[0])>=23&&await new Promise(e=>setTimeout(e,50)),t??+!!e};try{if(Ri(e,`help`,`h`))return t.stdout(`usage: updates [options] [files...]
9
9
 
10
10
  Options:
11
11
  -u, --update Update versions and write dependency file
@@ -50,23 +50,23 @@ import{cwd as e,env as t,pid as n,platform as r,stderr as i,versions as a}from"n
50
50
  $ updates -f Dockerfile
51
51
  $ updates -f docker-compose.yml
52
52
  $ updates -f Makefile
53
- `),await d();if(Bi(e,`version`,`v`)){let e;try{e=b(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=b(new URL(`../package.json`,t.moduleUrl),`utf8`)}return u(JSON.parse(e).version),await d()}if(n)try{await Vi(e)}catch{}let{args:r,positionals:a}=Ii(e),f=await Li(r,a),{updates:p}=await import(`./api.js`);!f.noColor&&(f.color||t.stdoutIsTTY)&&(i=e=>c(`red`,String(e),{validateStream:!1}),o=e=>c(`green`,String(e),{validateStream:!1})),l=!!f.json;let m=await p(f),h=Object.keys(m.results).length>0,g=m.errors??[];if(f.json?u(JSON.stringify({...m.message&&{message:m.message},...h&&{results:m.results},...g.length&&{errors:g}})):m.message?u(m.message):h&&u(Ui(m,Ai,de,Me,s,i,o)),f.update&&!f.json)for(let e of Object.keys(m.results))u(o(`✨ ${e} updated`));if(!f.json)for(let{mode:e,name:t,error:n}of g)u(i(`${e} ${t}: ${n}`));return await d(void 0,g.length?1:f.errorOnOutdated?h?2:0:f.errorOnUnchanged?h?0:2:0)}catch(e){return await d(e)}}function Ui(e,t,n,r,i,a,o){let s=Object.keys(e.results),c=s.length>1,l=[c?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],u=new Set;for(let r of s){let i=Object.values(e.results[r]).flatMap(e=>Object.entries(e));for(let[e,s]of i.sort(([e],[t])=>e<t?-1:+(e>t))){let i=`${r}|${e}|${s.old}|${s.new}`;u.has(i)||(u.add(i),l.push([r===`go`?t(e):e,...c?[r]:[],n(s.old,s.new,a),n(s.new,s.old,o),s.age||``,s.info||``]))}}return r(l,e=>i(e).length)}const Wi=/^\[\[([^\]]+)\]\]$/,Gi=/^\[([^[\]]+)\]$/,Ki=[`"""`,`'''`],qi=()=>Object.create(null);function Ji(e){let t=qi(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=ea(r[e]).trim();if(!i)continue;let a=Wi.exec(i);if(a){let e=t,r=$i(a[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]=qi()),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let o=qi();e[i].push(o),n=o;continue}let o=Gi.exec(i);if(o){n=na(t,$i(o[1]));continue}let s=ta(i,`=`);if(s<0)continue;let c=i.slice(0,s).trim(),l=i.slice(s+1).trim(),u=$i(c),d=na(n,u.slice(0,-1)),f=u[u.length-1],p=Ki.find(e=>l.startsWith(e)&&!l.includes(e,3))??``,m={depth:0,inStr:null};if((l.startsWith(`[`)||l.startsWith(`{`))&&!Zi(l,m)){let t=[l],n=e+1;for(;n<r.length;n++){let e=ea(r[n]);if(t.push(e),Zi(e,m))break}e=n,d[f]=Yi(t.join(`
53
+ `),await d();if(Ri(e,`version`,`v`)){let e;try{e=b(new URL(`package.json`,t.moduleUrl),`utf8`)}catch{e=b(new URL(`../package.json`,t.moduleUrl),`utf8`)}return u(JSON.parse(e).version),await d()}if(n)try{await zi(e)}catch{}let{args:r,positionals:a}=Pi(e),f=await Fi(r,a),{updates:p}=await import(`./api.js`);!f.noColor&&(f.color||t.stdoutIsTTY)&&(i=e=>c(`red`,String(e),{validateStream:!1}),o=e=>c(`green`,String(e),{validateStream:!1})),l=!!f.json;let m=await p(f),h=Object.keys(m.results).length>0,g=m.errors??[];if(f.json?u(JSON.stringify({...m.message&&{message:m.message},...h&&{results:m.results},...g.length&&{errors:g}})):m.message?u(m.message):h&&u(Vi(m,Oi,ue,je,s,i,o)),f.update&&!f.json)for(let e of Object.keys(m.results))u(o(`✨ ${e} updated`));if(!f.json)for(let{mode:e,name:t,error:n}of g)u(i(`${e} ${t}: ${n}`));return await d(void 0,g.length?1:f.errorOnOutdated?h?2:0:f.errorOnUnchanged?h?0:2:0)}catch(e){return await d(e)}}function Vi(e,t,n,r,i,a,o){let s=Object.keys(e.results),c=s.length>1,l=[c?[`NAME`,`MODE`,`OLD`,`NEW`,`AGE`,`INFO`]:[`NAME`,`OLD`,`NEW`,`AGE`,`INFO`]],u=new Set;for(let r of s){let i=Object.values(e.results[r]).flatMap(e=>Object.entries(e));for(let[e,s]of i.sort(([e],[t])=>e<t?-1:+(e>t))){let i=`${r}|${e}|${s.old}|${s.new}`;u.has(i)||(u.add(i),l.push([r===`go`?t(e):e,...c?[r]:[],n(s.old,s.new,a),n(s.new,s.old,o),s.age||``,s.info||``]))}}return r(l,e=>i(e).length)}const Hi=/^\[\[([^\]]+)\]\]$/,Ui=/^\[([^[\]]+)\]$/,Wi=[`"""`,`'''`],Gi=()=>Object.create(null);function Ki(e){let t=Gi(),n=t,r=e.split(/\r?\n/);for(let e=0;e<r.length;e++){let i=Qi(r[e]).trim();if(!i)continue;let a=Hi.exec(i);if(a){let e=t,r=Zi(a[1]);for(let t=0;t<r.length-1;t++){let n=e[r[t]];Array.isArray(n)?e=n[n.length-1]:((!n||typeof n!=`object`)&&(e[r[t]]=Gi()),e=e[r[t]])}let i=r[r.length-1];Array.isArray(e[i])||(e[i]=[]);let o=Gi();e[i].push(o),n=o;continue}let o=Ui.exec(i);if(o){n=ea(t,Zi(o[1]));continue}let s=$i(i,`=`);if(s<0)continue;let c=i.slice(0,s).trim(),l=i.slice(s+1).trim(),u=Zi(c),d=ea(n,u.slice(0,-1)),f=u[u.length-1],p=Wi.find(e=>l.startsWith(e)&&!l.includes(e,3))??``,m={depth:0,inStr:null};if((l.startsWith(`[`)||l.startsWith(`{`))&&!Yi(l,m)){let t=[l],n=e+1;for(;n<r.length;n++){let e=Qi(r[n]);if(t.push(e),Yi(e,m))break}e=n,d[f]=qi(t.join(`
54
54
  `))}else if(p){let t=l.slice(3),n=e+1;for(;n<r.length;n++){let e=r[n].indexOf(p);if(e>=0){t+=(t?`
55
55
  `:``)+r[n].slice(0,e);break}t+=(t?`
56
- `:``)+r[n]}e=n,d[f]=Yi(p+t+p)}else d[f]=Yi(l)}return t}function Yi(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of Qi(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(Yi(e))}return t}return e.startsWith(`{`)?Xi(e):e.startsWith(`"""`)?ra(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?ra(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 Xi(e){let t=qi(),n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of Qi(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=Yi(e.slice(n+1).trim())}return t}function Zi(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 Qi(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 $i(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function ea(e){let t=ta(e,`#`);return t<0?e:e.slice(0,t)}function ta(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function na(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=qi()),e=e[n];return e}function ra(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
57
- `;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}const ia=[[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`]],aa={"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 oa(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function sa(e,{now:t,noAffix:n=!1,times:r=ia,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=aa,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():oa(t))-oa(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 ca(e){if(/^\s*\{/.test(e))return JSON.parse(e);let t={};for(let n of e.split(/\r?\n/)){let e=n.trim();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function la(e){try{return ca(b(e,`utf-8`))}catch{return}}function ua(e,t){return We(t,t=>{let n=f(t,e);try{if(C(n).isFile())return n}catch{}return null})??void 0}function da(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function fa(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[i],l=[];function u(e){if(!e||l.includes(e))return;let t=la(e);t&&(c.push(t),l.push(e))}o||(u(f(`/etc`,n,`config`)),u(f(`/etc`,`${n}rc`))),s&&(u(f(s,`.config`,n,`config`)),u(f(s,`.config`,n)),u(f(s,`.${n}`,`config`)),u(f(s,`.${n}rc`))),u(ua(`.${n}rc`,a));let d=da(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function pa(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const ma=new WeakMap;function ha(e,t){let n=z(ma,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);R(t,a===-1?`.`:e.slice(a+1),[[pa(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const ga=/[*?{[]/;function _a(e,t){return v(e,{cwd:t,exclude:e=>e.name===`node_modules`,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>m(e.parentPath,e.name))}async function va(e,t,n,r=32){let i=await E(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>_a(e.slice(1),t)).map(e=>p(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=ga.test(n)?_a(n,t):[m(f(t,n))];for(let n of e){let e=p(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await N(s,async({dir:e,memberPath:t})=>{try{let r=await E(f(e,n)),a=p(i,r);return a===`..`||a.startsWith(`..${h}`)||d(a)?null:{absPath:r,content:await re(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const ya=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,ba=/\s#/;function xa(e){let t=ya.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(ba),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function Sa(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function Ca(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(ba);return{value:(i===-1?n:n.slice(0,i)).trimEnd(),valueIndex:t}}function wa(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of Sa(e)??[]){if(r.colon===-1)return null;let e=Ca(r.text.slice(0,r.colon)),i=Ca(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function Ta(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=xa(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of wa(e.value,e.valueIndex)??[])n[t.key]=t.value}else r&&e.value&&(n[e.key]=e.value)}}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([,e])=>!e.includes("${")))}}function Ea(e,t){let n=We(m(t),t=>{try{return{content:b(f(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const Da=new Map;function Oa(e,t){let n=z(Da,t,()=>Ta(Ea(`pnpm-workspace.yaml`,t)??``));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*ka(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
58
- `).entries()){let e=xa(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1,s===`catalog`)for(let e of wa(c,l)??[])yield{type:`catalog`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex};else if(s===`catalogs`)for(let e of wa(c,l)??[])for(let t of wa(e.value,e.valueIndex)??[])yield{type:`catalogs.${e.key}`,name:t.key,value:t.value,lineIndex:i,valueIndex:t.valueIndex}}else if(t===`catalog`)c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l});else if(t===`catalogs`){if(r===-1||o<=r){n=s,r=o;for(let e of wa(c,l)??[])yield{type:`catalogs.${n}`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex}}else c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l})}}}function Aa(e,t){let n=e.split(`
59
- `),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(ka(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
60
- `):e}function ja(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=xa(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of Sa(e.value)??[]){let e=Ca(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=Ca(e.slice(1));n&&t.push(n.value)}}return t}const Ma=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,Na=new Set([`resolutions`,`overrides`]);function Pa(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const Fa=Tn.registry,Ia=new Map,La=new Map,Ra=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function za(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:Ra(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(Ra(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:Ra(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===Fa&&t._auth)return{token:Ra(t._auth),type:`Basic`}}function Ba(e,t,n,r){let i=z(Ia,r??``,()=>fa(`npm`,{registry:Fa},r)),a=En((typeof n.registry==`string`?n.registry:``)||t.registry||i.registry||Fa),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?Oa(e,r):null,c=o&&r?Oa(``,r):null;return z(La,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?En(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=En(t);n!==e&&(e=n)}catch{}return{auth:za(e,i),registry:e}})}const Va=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},Ha=new WeakMap,Ua=new WeakMap,Wa=new WeakMap,Ga=new WeakMap,Ka=(e,t)=>`${e}v2${t?`-dates`:``}`;function qa(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 Ja(e,t,n,r,i,a,o=``){let s=Na.has(t)?Pa(e):t===`packageManager`&&e===`yarn`&&(H(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Ba(s,n,r,a),u=Va(l,s),d=Ka(u,!!r.needsDates);return[await Z(Ha,i,d,async()=>{let t=Dn(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await Fn(u,i,t,Mn(qa),d);return`body`in n||kr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function Ya(e,t,n,r,i,a){let{auth:o,registry:s}=Ba(e,n,r,a),c=Va(s,e,t);return Z(Ua,i,c,async()=>{try{let n=Dn(o?.type,o?.token),a=await In(c,i,n,Mn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=Va(s,e);return!u&&r.needsDates&&(u=(await Ha.get(i)?.get(Ka(f,!0)))?.time?.[t]||``),u||=(await Ie(Z(Wa,i,f,async()=>{let e=await jn(i,f,n);return e.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Xa(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Za(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Qa(e){return e.startsWith(`catalog:`)}const $a=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function eo(e){let t=$a.exec(e);return t&&q(t[2])?{name:t[1],range:t[2]}:null}const to=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,no=/^@([^/]+)\/(.+)$/;function ro(e,t){let n=to.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=no.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function io(e,t){if(!no.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Z(Ga,t,n,async()=>{let r=await Fn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Mn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||kr(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 ao(e,t){try{JSON.parse(e)}catch{return e}let n=new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(a||JSON.stringify([t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const oo=String.raw`[<>]=?|~>|[\^~=]`,so=new RegExp(String.raw`^(${oo})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),co=RegExp(`^(?:${oo})$`),lo=/^[xX*]$/,uo=/\+[0-9A-Za-z.-]+/g,fo=/\|\||[\dxX*]\s+\S/;function po(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&co.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function mo(e,t){let n=so.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=H(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;if(t.includes(`-`))return`${r}${i}${a}${t}`;let l=t.split(`.`);return`${r}${i}${a}${c.map((e,t)=>lo.test(e)?e:l[t]??`0`).join(`.`)}`}function ho(e,t){if(K(t,e))return e;let n=po(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=mo(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=mo(r,t),n.join(` `)}function go(e,t,n,r){let i=(n||e).replace(uo,``),a=r===`peerDependencies`||fo.test(i)?ho(i,t):mo(i,t);return K(t,a)?a:i}function Q(e){if(/[xX*]/.test(e))return e;let t=e.match(Ma);return t?.length===1?e.replace(Ma,Gn(t[0])):e}async function _o(e,t,n){let r=await xr(`${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 vo(e,t,n,r){return(await Dr(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);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&q(r.slice(7))?r.slice(7):null;return!a&&!hr.test(r)&&!$e(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function bo(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(hr.test(o)){let{hash:t,commit:r}=await _o(i,a,n);if(!t)return null;let s=_r(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=fr(await vo(i,a,o,n),s?Gn(s):o);if(t){let n=s?go(s,X(t),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const xo=/[-_.]+/g,So=new WeakMap;function Co(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 wo(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(xo,`-`)}/json`;return[{...await Z(So,t,n,async()=>{let r=await Fn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},Mn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:Co(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:Co(e.releases)}}kr(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function To(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=J(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=J(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=wt(e.local?{...e,local:null}:e,r),a=r.local?wt(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 Eo(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function Do(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 Oo(e,t){let n=J(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(J(r))return To(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=j(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>To(n,e))}function ko(e,t,n){let r=j(e),i=r?.specifiers,a=J(t),o=J(n);if(!r||!i||!a||!o)return null;let s=ye(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?Eo(o):Eo(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:Eo(o);else if(!To(o,e)){let t=J(e.version);if(e.op===`<`&&t)e.version=Do(t,a,o);else if(e.op===`<=`)e.version=Eo(o);else return null}if(!To(o,e))return null}return ve(r,i)}function Ao(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 jo(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function Mo(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
61
- `&&(o=!1);else if(i)i===`"`&&n===`\\`&&!a?a=!0:(n===i&&!a&&(i=``),a=!1);else if(n===`"`||n===`'`)i=n;else if(n===`#`)o=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function No(e,t){let n=new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=Ao(o[1]);else{let o=jo(a),s=o===-1?``:[...r,...Ao(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=Mo(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function Po(e,t){let n=new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);z(n,t,()=>new Map).set(i,r)}let r=No(e,new Set(n.keys())),i=e;for(let[e,t]of Array.from(r).sort((e,t)=>t[1][0]-e[1][0])){let r=n.get(e),a=F(r.keys()),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${ko(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function Fo(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:mr.test(o)}}function Io(e,t){return e?e===`github.com`?wn:`https://${e}/api/v1`:t}async function Lo(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await gn(a);if(e)return e.body}try{let e=await dr(a,i);if(e.status===404)return``;if(!e.ok)return;let t=_r(await e.json());return t&&!i.noCache&&yn(a,`immutable`,t),t}catch(e){if(e instanceof cr)throw e;return}}function Ro(e,t){let n=X(e);return Ar(H(n)?.version??n,t)}const zo=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function Bo(e,t){let n=zo.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 Vo=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function Ho(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'])[^\s#]+))([^\n]*)$/.exec(e);if(!t)return null;let[,n,r=``,i,a,o]=t,s=i??a;if(!s)return null;let c=o.indexOf(`#`),l=c===-1?``:o.slice(c),u=l?Vo.exec(l.slice(1)):null;return{prefix:n,quote:r,value:s,gap:c===-1?o:o.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const Uo=/^https?:\/\//;function Wo(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
62
- `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=Bo(e,r);if(!t)return e;let{indent:a,key:o}=t,s=o===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&r[0].key===`runs`&&r[1].key===`steps`||r.length===2&&r[0].key===`jobs`),c=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(c||r.push({indent:a,key:o}),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(c))return i=a,e;if(!s)return e;let l=Ho(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=Uo.exec(f)?.[0]??``,v=h||/^#\s*(\S+)\s*$/.exec(m)?.[1]||``,y=n.get(`${f.slice(_.length)}${v?`#${v}`:``}`)??n.get(f.slice(_.length));if(!y)return e;let b=y.newComment&&h?`# ${y.newComment}${m.slice(g)}`:m;return`${u}${d}${_}${y.name}@${y.newRef}${d}${p}${b}`}).join(`
63
- `)}const Go=RegExp(`(?:^|/)(?:${F(M)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function Ko(e){return Go.test(e.replace(/\\/g,`/`))}function qo(e){let t=new Set;try{for(let n of x(f(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(m(f(e,`workflows`,n)))}catch{}try{for(let n of x(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(m(f(n.parentPath,n.name)))}catch{}return Array.from(t)}const Jo=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,Yo=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,Xo=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Zo=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,Qo=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,$o=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,es=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function ts(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*ns(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=es(i[0]),a=Qo.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:ts(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=$o.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:ts(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const rs=/^(?:(?:index|registry-1)\.)?docker\.io$/;function is(e){let t=e.split(`/`);return t.length>1&&rs.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 as(e){let{registry:t,namespace:n,repo:r}=is(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function os(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!Jo.test(s))return null;let{registry:c,namespace:l,repo:u}=is(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function ss(e){let t=Jo.exec(e);return!t||t[2]&&!t[3]&&hr.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function cs(e,t,n=``){let r=ss(t);return r?Ar(e,r.version,`${n}${r.suffix}`):t}function ls(e,t){let n=[];if(t===Yo){for(let{from:t,resolved:r}of ns(e,!0)){let e=os(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===Xo?us(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=os(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function us(e){let t=new Set,n=new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const ds=new WeakMap,fs=new Set([401,403,404]);function ps(e,t,n){return Z(ds,n,`${e}/${t}`,async()=>{let r={dates:{},digests:new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await Fn(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},Mn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(fs.has(i.res?.status)||kr(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await N(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:Rn(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f=new URL(i).origin;for(;d<=20&&u.next;d++){let e=new URL(u.next,i),t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function ms(e,t,n){return(await ps(e,t,n)).dates}async function hs(e,t,n,r){let i=(await ps(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await Fn(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},Mn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return fs.has(o.res?.status)||kr(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const gs=/^\d?[02468]\.04$/;function _s(e,t){if(!gs.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const vs={ubuntu:_s};function ys(e,t,n=Date.now()){let r=vs[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=ss(e)?.version;return!t||r(t,n)})):t}async function bs(e,t){let{registry:n,namespace:r,repo:i}=is(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:ys(i,await ms(r,i,t)),name:e},null]}const xs=(e,t)=>t?`${e}-${t}`:e;function Ss(e){let t=ss(e);return t?ks(t.version):``}const Cs=/[._]/,ws=e=>X(e.version).split(Cs).map(Number),Ts=e=>X(e).replace(/\d+/g,``),Es=2e7,Ds=e=>Number(X(e).split(Cs)[0]);function Os(e,t){return Ds(e)<Es||Ds(t)>=Es}function ks(e){let t=X(e).split(Cs).slice(0,3);return[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function As(e,t){let n=ws(e),r=ws(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function js(e,t){let n=ws(e),r=ws(t),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function Ms(e,t,n,r,i,a,o=!1,s=!1){let c=ss(t);if(!c)return null;let l=Ts(c.version),u=xs(ks(c.version),c.prerelease),{effectiveSemvers:d,skipsPrerelease:f}=Wn(u,o,s,n),p=l.length>2||l.includes(`_`),m=H(u),h=c,g=``,_=``;for(let[t,u]of Object.entries(e)){let e=ss(t);if(!e||e.suffix!==c.suffix||Ts(e.version)!==l||!Os(e.version,c.version)||!Sn(u,r,i))continue;let v=xs(ks(e.version),e.prerelease);if(a&&!K(v,a))continue;if(p){if(e.prerelease&&(!o&&!c.prerelease||s)||As(e,h)<=0)continue;let r=js(c,e);if(!r||!n.has(r))continue;h=e,g=t,_=u;continue}let y=H(v);if(!y||e.prerelease&&f(y))continue;if(y.version===m.version){g&&Date.parse(u)>Date.parse(_)&&(g=t,_=u);continue}let b=Y.diff(m,y);!b||!d.has(b)||Y.compare(y,m)>0&&(m=y,g=t,_=u)}if(p)return g?{newTag:g,date:_}:null;if(!g||m.version===u)return null;let[v,y=``]=m.version.split(`-`),b=cs(v,t,y),x=b in e?b:g;return x===t?null:{newTag:x,date:_}}const Ns=`(?![\\w.@+-])`;function Ps(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function Fs(e,t,n,r=()=>!0){if(!t.size)return e;let i=F(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`${Zo}(${e})(${i})${Ns}`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function Is(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=Ps(t);if(!r.size)return e;let i=F(r.keys()),a=e.replace(RegExp(`^([ \\t]*FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${Ns}`,`gim`),(e,t,n)=>`${t}${r.get(n)??n}`),o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of ns(a)){let a=r.get(i);if(!a)continue;let s=i.lastIndexOf(`@`),c=a.lastIndexOf(`@`),l=i.slice(s+1),u=a.slice(c+1),d=s!==-1&&c!==-1&&l!==u;if(d){let t=e[0].lastIndexOf(l);t!==-1&&o.set(e.index+t,{end:e.index+t+l.length,value:u})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=ts(n[1].slice(0,e.index),e=>t.get(e)?.value),s=ts(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);d&&(s=s.replace(l,u)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(s))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,s?-s.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function Ls(e,t){let n=us(e);return Fs(e,Ps(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function Rs(e,t){return Fs(e,Ps(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const zs=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function Bs(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function Vs(e){return/^Dockerfile(\..+)?$/.test(e)}function Hs(e){return Vs(e)||Bs(e)}function Us(e){return Vs(e)?Yo:Xo}function Ws(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Gs=[`Makefile`,`makefile`,`GNUmakefile`];function Ks(e){return Gs.includes(e)||e.endsWith(`.mk`)}const qs=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,Js=/^([^@\s]+)@(v\d\S*)$/,Ys=/^[^/\s]+\.[^/\s]+\//;function*Xs(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=qs.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function Zs(e){let t=[];for(let n of Xs(e)){let e=Js.exec(n);if(!e||!Ys.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const Qs=/@(sha256:[0-9a-f]{64})$/;function $s(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function ec(e){let t=Qs.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=os(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function tc(e){return Array.from(Xs(e)).flatMap(e=>ec(e)??[])}const nc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,rc=new WeakMap;function ic(e,n,r){return Z(rc,r,`${m(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
64
- `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function ac(e,t,n,r){return await Fr(r,async r=>r===`off`?!1:r===`direct`?ic(e,t,n):await mi(n,`primary`,e=>jn(n,e,{headers:li}),r,e)?!0:null)??!1}async function oc(e,t,n,r){let i=nc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=Vr(e,r)?[{url:`direct`,fallback:`,`}]:n.goProxyChain;if(a[0].url===`off`)return null;let o=e.split(`/`),s=Array.from({length:o.length-1},(e,t)=>o.slice(0,o.length-t).join(`/`));for(let e of a){let r=await Promise.allSettled(s.map(r=>ac(r,t,n,[e]))),i=r.findIndex(e=>e.status===`fulfilled`&&e.value),a=r.slice(0,i===-1?void 0:i).find(e=>e.status===`rejected`);if(a)throw a.reason;if(i!==-1)return s[i]}return null}function sc(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,P).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=e.replace(/["']/g,``),r=n.get(t),i=0;return e.replace(/[^"']/g,()=>r[i++]??``)+r.slice(i)}))}const cc=new WeakMap;function lc(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 uc(e,t){let n=En(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${lc(t)}`}function dc(e){return e.split(`
56
+ `:``)+r[n]}e=n,d[f]=qi(p+t+p)}else d[f]=qi(l)}return t}function qi(e){if(e.startsWith(`[`)){let t=[],n=e.lastIndexOf(`]`);for(let r of Xi(e.slice(1,n<0?e.length:n))){let e=r.trim();e&&t.push(qi(e))}return t}return e.startsWith(`{`)?Ji(e):e.startsWith(`"""`)?ta(e.slice(3,e.lastIndexOf(`"""`))):e.startsWith(`'''`)?e.slice(3,e.lastIndexOf(`'''`)):e.startsWith(`"`)?ta(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 Ji(e){let t=Gi(),n=e.slice(1,e.lastIndexOf(`}`)).trim();if(!n)return t;for(let e of Xi(n)){let n=e.indexOf(`=`);if(n<0)continue;let r=e.slice(0,n).trim().replace(/^["']|["']$/g,``);t[r]=qi(e.slice(n+1).trim())}return t}function Yi(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 Xi(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 Zi(e){let t=[],n=``,r=null;for(let i of e)if(r){if(i===r){r=null;continue}n+=i}else i===`"`||i===`'`?r=i:i===`.`?(t.push(n.trim()),n=``):n+=i;return n.trim()&&t.push(n.trim()),t}function Qi(e){let t=$i(e,`#`);return t<0?e:e.slice(0,t)}function $i(e,t){let n=null;for(let r=0;r<e.length;r++){let i=e[r];if(n){if(i===`\\`&&n===`"`){r++;continue}i===n&&(n=null)}else if(i===`"`||i===`'`)n=i;else if(i===t)return r}return-1}function ea(e,t){for(let n of t)(!(n in e)||typeof e[n]!=`object`||Array.isArray(e[n]))&&(e[n]=Gi()),e=e[n];return e}function ta(e){return e.replace(/\\(["\\bfnrt]|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/g,(e,t)=>{switch(t[0]){case`"`:return`"`;case`\\`:return`\\`;case`b`:return`\b`;case`f`:return`\f`;case`n`:return`
57
+ `;case`r`:return`\r`;case`t`:return` `;case`u`:case`U`:return String.fromCodePoint(Number.parseInt(t.slice(1),16));default:return t}})}const na=[[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`]],ra={"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 ia(e){return typeof e==`number`?e:e instanceof Date?e.getTime():Date.parse(e)}function aa(e,{now:t,noAffix:n=!1,times:r=na,nowThreshold:i=2e3,nowString:a=`now`,unknownString:o=``,aliases:s=!1,aliasesMap:c=ra,longUnits:l=!1,shortUnits:u=!1}={}){let d=(t===void 0?Date.now():ia(t))-ia(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();if(!e||e.startsWith(`#`)||e.startsWith(`;`))continue;let r=e.indexOf(`=`);if(r===-1)continue;let i=e.slice(r+1).trim();/^(["']).*\1$/s.test(i)&&(i=i.slice(1,-1)),t[e.slice(0,r).trim()]=i}return t}function sa(e){try{return oa(b(e,`utf-8`))}catch{return}}function ca(e,t){return Ue(t,t=>{let n=f(t,e);try{if(C(n).isFile())return n}catch{}return null})??void 0}function la(e){let n={},r=e.toLowerCase();for(let[i,a]of Object.entries(t)){if(!i.toLowerCase().startsWith(r))continue;let t=i.substring(e.length).split(`__`).filter(Boolean);if(t.length===0)continue;let o=n;for(let e=0;e<t.length;e++){let n=t[e];if(e===t.length-1)o[n]=a;else if(o[n]===void 0&&(o[n]={}),typeof o[n]==`object`)o=o[n];else break}}return n}function ua(n,i={},a=e()){let o=r===`win32`,s=o?t.USERPROFILE:t.HOME,c=[i],l=[];function u(e){if(!e||l.includes(e))return;let t=sa(e);t&&(c.push(t),l.push(e))}o||(u(f(`/etc`,n,`config`)),u(f(`/etc`,`${n}rc`))),s&&(u(f(s,`.config`,n,`config`)),u(f(s,`.config`,n)),u(f(s,`.${n}`,`config`)),u(f(s,`.${n}rc`))),u(ca(`.${n}rc`,a));let d=la(`${n}_`);return d.config&&u(d.config),Object.assign({},...c,d,l.length?{configs:l,config:l[l.length-1]}:void 0)}function da(e){let t=e.indexOf(`|`);return t===-1?e:e.slice(0,t)}const fa=new WeakMap;function pa(e,t){let n=B(fa,e,()=>{let t=new Map;for(let[n,r]of Object.entries(e)){let[e,...i]=n.split(`\0`),a=e.indexOf(`|`);z(t,a===-1?`.`:e.slice(a+1),[[da(e),...i].join(`\0`),r])}return t});return Object.fromEntries(n.get(t)??[])}const ma=/[*?{[]/;function ha(e,t){return v(e,{cwd:t,exclude:e=>e.name===`node_modules`,withFileTypes:!0}).filter(e=>e.isDirectory()||e.isSymbolicLink()).map(e=>m(e.parentPath,e.name))}async function ga(e,t,n,r=32){let i=await E(t),a=new Set(e.filter(e=>e.startsWith(`!`)).flatMap(e=>ha(e.slice(1),t)).map(e=>p(t,e).replace(/\\/g,`/`))),o=new Set,s=[];for(let n of e){if(n.startsWith(`!`))continue;let e=ma.test(n)?ha(n,t):[m(f(t,n))];for(let n of e){let e=p(t,n).replace(/\\/g,`/`);a.has(e)||o.has(n)||(o.add(n),s.push({dir:n,memberPath:`./${e}`}))}}return(await P(s,async({dir:e,memberPath:t})=>{try{let r=await E(f(e,n)),a=p(i,r);return a===`..`||a.startsWith(`..${h}`)||d(a)?null:{absPath:r,content:await re(r,`utf8`),memberPath:t}}catch{return null}},{concurrency:r})).filter(e=>e!==null)}const _a=/^(\s*)(?:"([^"]*)"|'([^']*)'|([^\s#][^:#]*?))\s*:(?:\s+(.*))?$/,va=/\s#/;function ya(e){let t=_a.exec(e);if(!t)return null;let[,n,r,i,a,o=``]=t,s=e.length-o.length,c=o.search(va),l=(c===-1?o:o.slice(0,c)).trimEnd(),u=l[0];return(u===`"`||u===`'`)&&l.length>1&&l.endsWith(u)&&(l=l.slice(1,-1),s+=1),{indent:n.length,key:r??i??a,value:l,valueIndex:s}}function ba(e){let t=[],n=1,r=-1,i=0,a=``;for(let o=1;o<e.length-1;o++){let s=e[o];if(a)s===`\\`&&a===`"`?o++:s===a&&(a===`'`&&e[o+1]===`'`?o++:a=``);else if(s===`"`||s===`'`)a=s;else if(s===`{`||s===`[`)i++;else if(s===`}`||s===`]`){if(i===0)return null;i--}else s===`:`&&i===0&&r===-1?r=o-n:s===`,`&&i===0&&(t.push({colon:r,start:n,text:e.slice(n,o)}),n=o+1,r=-1)}return a||i!==0?null:(t.push({colon:r,start:n,text:e.slice(n,-1)}),t)}function xa(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 Sa(e,t){if(!e.startsWith(`{`)||!e.endsWith(`}`))return null;let n=[];for(let r of ba(e)??[]){if(r.colon===-1)return null;let e=xa(r.text.slice(0,r.colon)),i=xa(r.text.slice(r.colon+1));if(!e||!i)return null;n.push({key:e.value,value:i.value,valueIndex:t+r.start+r.colon+1+i.valueIndex})}return n}function Ca(e){let t,n={},r=!1;for(let i of e.split(/\r?\n/)){let e=ya(i);if(e){if(e.indent===0){if(r=e.key===`registries`,e.key===`registry`&&e.value&&(t=e.value),r)for(let t of Sa(e.value,e.valueIndex)??[])n[t.key]=t.value}else r&&e.value&&(n[e.key]=e.value)}}return{registry:t,registries:Object.fromEntries(Object.entries(n).filter(([,e])=>!e.includes("${")))}}function wa(e,t){let n=Ue(m(t),t=>{try{return{content:b(f(t,e),`utf8`)}}catch(e){if(e.code!==`ENOENT`)throw e}return null});return n?n.content:null}const Ta=new Map;function Ea(e,t){let n=B(Ta,t,()=>Ca(wa(`pnpm-workspace.yaml`,t)??``));for(let[t,r]of Object.entries(n.registries))if(t!=="default"&&e.startsWith(`${t}/`))return r;return n.registries.default||n.registry||null}function*Da(e){let t=``,n=``,r=-1;for(let[i,a]of e.split(`
58
+ `).entries()){let e=ya(a);if(!e)continue;let{indent:o,key:s,value:c,valueIndex:l}=e;if(o===0){if(t=s===`catalog`||s===`catalogs`?s:``,n=``,r=-1,s===`catalog`)for(let e of Sa(c,l)??[])yield{type:`catalog`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex};else if(s===`catalogs`)for(let e of Sa(c,l)??[])for(let t of Sa(e.value,e.valueIndex)??[])yield{type:`catalogs.${e.key}`,name:t.key,value:t.value,lineIndex:i,valueIndex:t.valueIndex}}else if(t===`catalog`)c&&(yield{type:`catalog`,name:s,value:c,lineIndex:i,valueIndex:l});else if(t===`catalogs`){if(r===-1||o<=r){n=s,r=o;for(let e of Sa(c,l)??[])yield{type:`catalogs.${n}`,name:e.key,value:e.value,lineIndex:i,valueIndex:e.valueIndex}}else c&&(yield{type:`catalogs.${n}`,name:s,value:c,lineIndex:i,valueIndex:l})}}}function Oa(e,t){let n=e.split(`
59
+ `),r=!1;for(let{type:i,name:a,value:o,lineIndex:s,valueIndex:c}of Array.from(Da(e)).sort((e,t)=>t.lineIndex-e.lineIndex||t.valueIndex-e.valueIndex)){let e=t[`${i}${a}`];if(!e||(e.oldOrig||e.old)!==o)continue;let l=n[s];n[s]=l.slice(0,c)+e.new+l.slice(c+o.length),r=!0}return r?n.join(`
60
+ `):e}function ka(e){let t=[],n=!1;for(let r of e.split(/\r?\n/)){let e=ya(r);if(e?.indent===0&&e.key===`packages`){if(e.value.startsWith(`[`)&&e.value.endsWith(`]`))for(let n of ba(e.value)??[]){let e=xa(n.text);e&&t.push(e.value)}n=!0;continue}if(n){let e=r.trim();if(!e||e.startsWith(`#`))continue;if(!e.startsWith(`-`))break;let n=xa(e.slice(1));n&&t.push(n.value)}}return t}const Aa=/[0-9]+(\.[0-9]+)?(\.[0-9]+)?/g,ja=new Set([`resolutions`,`overrides`]);function Ma(e){return/(?:^|\/)((?:@[^/]+\/)?[^/@]+)(?:@[^/]*)?$/.exec(e)?.[1]??e}const Na=wn.registry,Pa=new Map,Fa=new Map,Ia=e=>e.replace(/^\$\{?([^}]*)\}?$/,(e,n)=>t[n]||``);function La(e,t){let n=new URL(e.startsWith(`//`)?`http:${e}`:e),r;for(;r!==`/`&&n.pathname!==r;){r=n.pathname||`/`;let e=`//${n.host}${r.replace(/\/$/,``)}`,i=n=>t[`${e}:${n}`]||t[`${e}/:${n}`],a=i(`_authToken`);if(a)return{token:Ia(a),type:`Bearer`};let o=i(`username`),s=i(`_password`);if(o&&s){let e=Buffer.from(Ia(s),`base64`).toString(`utf8`);return{token:Buffer.from(`${o}:${e}`).toString(`base64`),type:`Basic`}}let c=i(`_auth`);if(c)return{token:Ia(c),type:`Basic`};n.pathname=new URL(`..`,new URL(r.endsWith(`/`)?r:`${r}/`,`http://x`)).pathname}if(e===Na&&t._auth)return{token:Ia(t._auth),type:`Basic`}}function Ra(e,t,n,r){let i=B(Pa,r??``,()=>ua(`npm`,{registry:Na},r)),a=Tn((typeof n.registry==`string`?n.registry:``)||t.registry||i.registry||Na),o=e.startsWith(`@`)?e.split(`/`)[0]:``,s=r?Ea(e,r):null,c=o&&r?Ea(``,r):null;return B(Fa,`${r??``}${o}:${a}:${s??``}:${c??``}`,()=>{let e=s?Tn(s):a,t=s===c&&o&&i[`${o}:registry`];if(t)try{let n=Tn(t);n!==e&&(e=n)}catch{}return{auth:La(e,i),registry:e}})}const za=(e,t,n)=>{let r=`${e}/${t.replace(/\//g,`%2f`)}`;return n?`${r}/${n}`:r},Ba=new WeakMap,Va=new WeakMap,Ha=new WeakMap,Ua=new WeakMap,Wa=(e,t)=>`${e}v2${t?`-dates`:``}`;function Ga(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 Ka(e,t,n,r,i,a,o=``){let s=ja.has(t)?Ma(e):t===`packageManager`&&e===`yarn`&&(U(o)?.major??0)>1?`@yarnpkg/cli`:e,{auth:c,registry:l}=Ra(s,n,r,a),u=za(l,s),d=Wa(u,!!r.needsDates);return[await Q(Ba,i,d,async()=>{let t=En(c?.type,c?.token);r.needsDates||(t.headers={...t.headers,accept:`application/vnd.npm.install-v1+json`});let n=await Pn(u,i,t,jn(Ga),d);return`body`in n||Dr(n.res,u,e,l),JSON.parse(n.body)}),l]}async function qa(e,t,n,r,i,a){let{auth:o,registry:s}=Ra(e,n,r,a),c=za(s,e,t);return Q(Va,i,c,async()=>{try{let n=En(o?.type,o?.token),a=await Fn(c,i,n,jn(e=>({repository:e.repository,homepage:e.homepage,_npmOperationalInternal:e._npmOperationalInternal?.tmp?{tmp:e._npmOperationalInternal.tmp}:void 0})));if(!(`body`in a))return{};let l=JSON.parse(a.body),u=``,d=/(\d{13})/.exec(l?._npmOperationalInternal?.tmp??``);d&&(u=new Date(Number(d[1])).toISOString());let f=za(s,e);return!u&&r.needsDates&&(u=(await Ba.get(i)?.get(Wa(f,!0)))?.time?.[t]||``),u||=(await Fe(Q(Ha,i,f,async()=>{let e=await An(i,f,n);return e.ok?await e.json():null})))?.time?.[t]||``,{repository:l.repository,homepage:l.homepage,date:u}}catch{return{}}})}function Ja(e){return e.startsWith(`npm:@jsr/`)||e.startsWith(`jsr:`)}function Ya(e){return e.startsWith(`link:`)||e.startsWith(`file:`)}function Xa(e){return e.startsWith(`catalog:`)}const Za=/^npm:((?:@[^/@]+\/)?[^@/][^@]*)@(.+)$/;function Qa(e){let t=Za.exec(e);return t&&J(t[2])?{name:t[1],range:t[2]}:null}const $a=/^(?:npm:@jsr\/([^_]+)__([^@]+)|jsr:@([^/]+)\/([^@]+))@(.+)$/,eo=/^@([^/]+)\/(.+)$/;function to(e,t){let n=$a.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=eo.exec(t??``);if(n)return{scope:n[1],name:n[2],version:e.substring(4)}}return{scope:null,name:null,version:``}}async function no(e,t){if(!eo.test(e))throw Error(`Invalid JSR package name: ${e}`);let n=`${t.jsrApiUrl}/${e}/meta.json`;return[await Q(Ua,t,n,async()=>{let r=await Pn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},jn(e=>({latest:e.latest,versions:Object.fromEntries(Object.entries(e.versions??{}).map(([e,t])=>[e,{createdAt:t?.createdAt}]))})));`body`in r||Dr(r.res,n,e,`JSR`);let i=JSON.parse(r.body),a={},o={};for(let[e,t]of Object.entries(i.versions??{}))a[e]={version:e,time:t.createdAt},o[e]=t.createdAt;return{name:e,"dist-tags":{latest:i.latest},versions:a,time:o}}),t.jsrApiUrl]}function ro(e,t){try{JSON.parse(e)}catch{return e}let n=new Map,r=0,i=()=>{for(;/\s/.test(e[r]??``);)r++},a=()=>{let t=r++;for(;r<e.length;)if(e[r]===`\\`)r+=2;else if(e[r++]===`"`)break;return{start:t,end:r,value:JSON.parse(e.slice(t,r))}},o=t=>{if(i(),e[r]===`"`)n.set(JSON.stringify(t),a());else if(e[r]===`{`){for(r++,i();e[r]!==`}`&&r<e.length;){let n=a().value;if(i(),e[r++]!==`:`)return;if(o([...t,n]),i(),e[r]===`,`)r++,i();else break}e[r]===`}`&&r++}else if(e[r]===`[`){r++;let n=0;for(i();e[r]!==`]`&&r<e.length&&(o([...t,n++]),i(),e[r]===`,`);)r++,i();e[r]===`]`&&r++}else for(;r<e.length&&!/[,}\]]/.test(e[r]);)r++};o([]);let s=[];for(let[e,r]of Object.entries(t)){let[t,i,a]=e.split(`\0`),o=r.oldOrig||r.old,c=n.get(a||JSON.stringify([t,i])),l=r.new;c||(c=n.get(JSON.stringify([t])),o=`${i}@${o}`,l=`${i}@${l}`),c?.value===o&&s.push({...c,value:JSON.stringify(l)})}for(let t of s.sort((e,t)=>t.start-e.start))e=`${e.slice(0,t.start)}${t.value}${e.slice(t.end)}`;return e}const io=String.raw`[<>]=?|~>|[\^~=]`,ao=new RegExp(String.raw`^(${io})?(\s*)(v?)((?:\d+|[xX*])(?:\.(?:\d+|[xX*]))*)(-[0-9A-Za-z.-]+)?$`),oo=RegExp(`^(?:${io})$`),so=/^[xX*]$/,co=/\+[0-9A-Za-z.-]+/g,lo=/\|\||[\dxX*]\s+\S/;function uo(e){let t=[];for(let n of e.trim().replaceAll(`||`,` || `).split(/\s+/))t.length&&oo.test(t[t.length-1])?t[t.length-1]+=` ${n}`:t.push(n);return t}function fo(e,t){let n=ao.exec(e);if(!n)return e;let[,r=``,i,a,o,s=``]=n,c=o.split(`.`);if(r===`<`&&c.length<=3&&!/[xX*]/.test(o)){let{major:e,minor:n,patch:a}=U(t);return`${r}${i}${c.length===1?`${e+1}`:c.length===2?`${e}.${n+1}`:!s&&o.endsWith(`.0.0`)?`${e+1}.0.0`:!s&&o.endsWith(`.0`)?`${e}.${n+1}.0`:`${e}.${n}.${a+1}`}`}if(r===`>`||r===`<`)return e;if(t.includes(`-`))return`${r}${i}${a}${t}`;let l=t.split(`.`);return`${r}${i}${a}${c.map((e,t)=>so.test(e)?e:l[t]??`0`).join(`.`)}`}function po(e,t){if(q(t,e))return e;let n=uo(e),r=n[n.length-1];if(!r.startsWith(`<`)&&n[n.length-2]!==`-`){let i=fo(r,t);return n.length>1&&r.startsWith(`>`)||i===r?e:`${e} || ${i}`}return n[n.length-1]=fo(r,t),n.join(` `)}function mo(e,t,n,r){let i=(n||e).replace(co,``),a=r===`peerDependencies`||lo.test(i)?po(i,t):fo(i,t);return q(t,a)?a:i}function ho(e){if(/[xX*]/.test(e))return e;let t=e.match(Aa);return t?.length===1?e.replace(Aa,Wn(t[0])):e}async function go(e,t,n){let r=await yr(`${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 _o(e,t,n,r){return(await Tr(r.forgeApiUrl,e,t,r,[n])).map(e=>e.name)}function vo(e){let t=e.lastIndexOf(`#`);if(t===e.length-1)return null;let n=e.slice(0,t===-1?e.length:t).replace(/^git\+/i,``),r=t===-1?``:e.slice(t+1);if(/^github:/i.test(n))n=n.slice(7);else if(/^git@github\.com:/i.test(n))n=n.replace(/^git@github\.com:/i,``);else if(/^(?:https?|git|ssh):/i.test(n)){let e=/^(?:https?|git|ssh):\/\/(?:[^/@]+@)?github\.com[/:](.+)$/i.exec(n);if(!e)return null;n=e[1]}else if(n.includes(`:`))return null;if(!r){let e=/^([^/]+\/[^/]+)\/(?:.*\/)?([0-9a-f]+|v?[0-9]+\.[0-9]+\.[0-9]+)$/i.exec(n);if(!e)return null;n=e[1],r=e[2]}n=n.replace(/\.git$/i,``);let i=n.split(`/`);if(i.length!==2||!/^[a-z\d](?:-?[a-z\d]){0,38}$/i.test(i[0])||!/^[a-z\d._-]{1,100}$/i.test(i[1]))return null;let a=r.startsWith(`semver:`)&&J(r.slice(7))?r.slice(7):null;return!a&&!pr.test(r)&&!Qe(r)?null:{user:i[0],repo:i[1],ref:a??r,selector:a}}async function yo(e,t,n){let r=vo(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(pr.test(o)){let{hash:t,commit:r}=await go(i,a,n);if(!t)return null;let s=hr(r),l=t.substring(0,o.length);if(o.toLowerCase()!==l.toLowerCase())return{key:e,newRange:c(l),user:i,repo:a,oldRef:o,newRef:l,newDate:s}}else{let t=ur(await _o(i,a,o,n),s?Wn(s):o);if(t){let n=s?mo(s,Z(t),s):t;if(n!==o)return{key:e,newRange:c(n),user:i,repo:a,oldRef:o,newRef:n}}}return null}const bo=/[-_.]+/g,xo=new WeakMap;function So(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 Co(e,t){let n=`${t.pypiApiUrl}/pypi/${e.toLowerCase().replace(bo,`-`)}/json`;return[{...await Q(xo,t,n,async()=>{let r=await Pn(n,t,{headers:{"accept-encoding":`gzip, deflate, br`}},jn(e=>{let{name:t,version:n,project_urls:r}=e.info??{};return{info:{name:t,version:n,project_urls:r},releases:So(e.releases)}}));if(`body`in r){let e=JSON.parse(r.body);return{...e,releases:So(e.releases)}}Dr(r.res,n,e,t.pypiApiUrl)}),name:e},null]}function wo(e,{op:t,version:n}){if(t===`===`)return n===e.version;if(n.endsWith(`.*`)){let r=Y(n.slice(0,-2));if(!r||t!==`==`&&t!==`!=`)return!1;let i=r.epoch===e.epoch&&r.release.every((t,n)=>(e.release[n]??0)===t);return t===`==`?i:!i}let r=Y(n);if(!r||r.local&&t!==`==`&&t!==`!=`)return!1;let i=Ct(e.local?{...e,local:null}:e,r),a=r.local?Ct(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 To(e,t=e.release){if(!e.local&&t===e.release)return e.version;let n=e.epoch||/^[vV]?\d+!/.test(e.version)?`${e.epoch}!`:``,r=e.pre?`${e.pre[0]}${e.pre[1]}`:``,i=e.post===null?``:`.post${e.post}`,a=e.dev===null?``:`.dev${e.dev}`;return`${n}${t.join(`.`)}${r}${i}${a}`}function Eo(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 Do(e,t){let n=Y(e);if(!n)return!1;let r=t.trim();if(!r)return!0;if(Y(r))return wo(n,{lead:``,op:`==`,sep:``,version:r,trail:``});let i=M(`x${r}`),a=i?.specifiers;return!i||i.extras||i.marker||!a?.length?!1:a.every(e=>wo(n,e))}function Oo(e,t,n){let r=M(e),i=r?.specifiers,a=Y(t),o=Y(n);if(!r||!i||!a||!o)return null;let s=ve(i);if(s?.version!==t)return null;for(let e of i){if(e===s)e.version=e.op===`~=`?a.release.length===o.release.length?To(o):To(o,Array.from({length:a.release.length},(e,t)=>o.release[t]??0)):e.op===`==`||e.op===`===`?n:To(o);else if(!wo(o,e)){let t=Y(e.version);if(e.op===`<`&&t)e.version=Eo(t,a,o);else if(e.op===`<=`)e.version=To(o);else return null}if(!wo(o,e))return null}return _e(r,i)}function ko(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 Ao(e){let t=``,n=!1;for(let r=0;r<e.length;r++){let i=e[r];if(t)t===`"`&&i===`\\`&&!n?n=!0:(i===t&&!n&&(t=``),n=!1);else if(i===`"`||i===`'`)t=i;else if(i===`=`)return r;else if(i===`#`)return-1}return-1}function jo(e,t){let n=e.indexOf(`[`,t);if(n===-1||e.slice(t,n).trim())return-1;let r=0,i=``,a=!1,o=!1;for(let t=n;t<e.length;t++){let n=e[t];if(o)n===`
61
+ `&&(o=!1);else if(i)i===`"`&&n===`\\`&&!a?a=!0:(n===i&&!a&&(i=``),a=!1);else if(n===`"`||n===`'`)i=n;else if(n===`#`)o=!0;else if(n===`[`)r++;else if(n===`]`&&--r===0)return t+1}return-1}function Mo(e,t){let n=new Map,r=[],i=0;for(let a of e.split(/(?<=\n)/)){let o=/^\[([^\]]+)\](?:\s*#.*)?$/.exec(a.trim());if(o)r=ko(o[1]);else{let o=Ao(a),s=o===-1?``:[...r,...ko(a.slice(0,o))].join(`.`);if(t.has(s)&&!n.has(s)){let t=i+o+1,r=jo(e,t);r!==-1&&n.set(s,[t,r])}}i+=a.length}return n}function No(e,t){let n=new Map;for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`);B(n,t,()=>new Map).set(i,r)}let r=Mo(e,new Set(n.keys())),i=e;for(let[e,t]of Array.from(r).sort((e,t)=>t[1][0]-e[1][0])){let r=n.get(e),a=I(r.keys()),o=i.slice(...t).replace(RegExp(`(['"])( *(${a})(?![\\w.-]).*?)(?=\\1)`,`g`),(e,t,n,i)=>{let{old:a,oldOrig:o,new:s}=r.get(i);return`${t}${Oo(n,o||a,s)??n}`});i=`${i.slice(0,t[0])}${o}${i.slice(t[1])}`}return i}function Po(e){if(e.startsWith(`docker://`)||e.startsWith(`./`))return null;let t=/^https?:\/\/([^/]+)\/(.+)$/.exec(e),n=t?.[1]??null,r=t?.[2]??e,i=r.indexOf(`@`);if(i===-1)return null;let a=r.substring(0,i),o=r.substring(i+1);if(!o)return null;let s=a.split(`/`);if(s.length<2)return null;let c=n?`${n}/${a}`:a;return{host:n,owner:s[0],repo:s[1],ref:o,name:c,isHash:fr.test(o)}}function Fo(e,t){return e?e===`github.com`?Cn:`https://${e}/api/v1`:t}async function Io(e,t,n,r,i){let a=`${e}/repos/${t}/${n}/git/commits/${r}`;if(!i.noCache){let e=await hn(a);if(e)return e.body}try{let e=await lr(a,i);if(e.status===404)return``;if(!e.ok)return;let t=hr(await e.json());return t&&!i.noCache&&vn(a,`immutable`,t),t}catch(e){if(e instanceof or)throw e;return}}function Lo(e,t){let n=Z(e);return Or(U(n)?.version??n,t)}const Ro=/^(\s*(?:-\s*)?)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*([^\r\n]*)\r?$/;function zo(e,t){let n=Ro.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 Bo=/^\s*(?:(?:renovate\s*:\s*)?(?:pin\s+|tag\s*=\s*)?|ratchet:[\w-]+\/[.\w-]+(?:\/[.\w-]+)*)@?((?:[\w-]*[-/])?v?\d+(?:\.\d+(?:\.\d+)?)?(?:-[a-zA-Z0-9.]+)?)/;function Vo(e){let t=/^(\s*(?:-\s*)?uses:\s*)(?:(["'])(.*?)\2|((?!["'])[^\s#]+))([^\n]*)$/.exec(e);if(!t)return null;let[,n,r=``,i,a,o]=t,s=i??a;if(!s)return null;let c=o.indexOf(`#`),l=c===-1?``:o.slice(c),u=l?Bo.exec(l.slice(1)):null;return{prefix:n,quote:r,value:s,gap:c===-1?o:o.slice(0,c),comment:l,pinnedVersion:u?.[1]??``,pinnedEnd:u?u[0].length+1:0}}const Ho=/^https?:\/\//;function Uo(e,t){let n=new Map(t.map(e=>[`${e.name}@${e.oldRef}${e.oldComment?`#${e.oldComment}`:``}`,e])),r=[],i=-1;return e.split(`
62
+ `).map(e=>{if(i!==-1){if(!e.trim()||e.length-e.trimStart().length>i)return e;i=-1}let t=zo(e,r);if(!t)return e;let{indent:a,key:o}=t,s=o===`uses`&&(r.length===3&&r[0].key===`jobs`&&r[2].key===`steps`||r.length===2&&r[0].key===`runs`&&r[1].key===`steps`||r.length===2&&r[0].key===`jobs`),c=t.value.replace(/(?:^|\s)#.*$/,``).trim();if(c||r.push({indent:a,key:o}),/^[>|](?:[+-]?\d?|\d[+-]?)$/.test(c))return i=a,e;if(!s)return e;let l=Vo(e);if(!l)return e;let{prefix:u,quote:d,value:f,gap:p,comment:m,pinnedVersion:h,pinnedEnd:g}=l,_=Ho.exec(f)?.[0]??``,v=h||/^#\s*(\S+)\s*$/.exec(m)?.[1]||``,y=n.get(`${f.slice(_.length)}${v?`#${v}`:``}`)??n.get(f.slice(_.length));if(!y)return e;let b=y.newComment&&h?`# ${y.newComment}${m.slice(g)}`:m;return`${u}${d}${_}${y.name}@${y.newRef}${d}${p}${b}`}).join(`
63
+ `)}const Wo=RegExp(`(?:^|/)(?:${I(N)})/(?:workflows/[^/]+|(?:[^/]+/)*action)\\.ya?ml$`);function Go(e){return Wo.test(e.replace(/\\/g,`/`))}function Ko(e){let t=new Set;try{for(let n of x(f(e,`workflows`)))/\.ya?ml$/.test(n)&&t.add(m(f(e,`workflows`,n)))}catch{}try{for(let n of x(e,{recursive:!0,withFileTypes:!0}))!n.isFile()||!/^action\.ya?ml$/.test(n.name)||t.add(m(f(n.parentPath,n.name)))}catch{}return Array.from(t)}const qo=/^(v?\d+(?:\.\d+)*(?:_\d+)?)([a-zA-Z][a-zA-Z0-9]*)?(-.+)?$/,Jo=/^[ \t]*FROM\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim,Yo=/^[ \t]*image:\s*['"]?([^\s'"#]+)['"]?/gm,Xo=String.raw`(?<=^[ \t]*(?:-[ \t]+)?|[{,][ \t]*)`,Zo=/^[ \t]*ARG\s+(\w+)(?:[ =](\S*))?/i,Qo=/^[ \t]*FROM\s+(?:--platform=\S+\s+)?(\S+)/i,$o=e=>e.replace(/\\[ \t]*\r?\n[ \t]*/g,` `);function es(e,t){return e.replace(/\$\{(\w+)\}|\$(\w+)/g,(e,n,r)=>{let i=t(n||r);return i===void 0?e:i})}function*ts(e,t=!1){let n=new Map,r=!1;for(let i of e.matchAll(/^[ \t]*(?:ARG|FROM)\b[^\r\n]*(?:(?<=\\)[ \t]*\r?\n[^\r\n]*)*/gim)){let e=$o(i[0]),a=Zo.exec(e);if(a){if(!r){let e=a[2]?.replace(/^(['"])(.*)\1$/,`$2`)??``,t=i[0].lastIndexOf(e);n.set(a[1],{value:e,resolved:es(e,e=>n.get(e)?.resolved),start:t<0?-1:i.index+t})}continue}r=!0;let o=Qo.exec(e);o&&(yield{instruction:i,args:n,from:o,resolved:es(o[1],e=>n.get(e)?.[t?`resolved`:`value`])})}}const ns=/^(?:(?:index|registry-1)\.)?docker\.io$/;function rs(e){let t=e.split(`/`);return t.length>1&&ns.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 is(e){let{registry:t,namespace:n,repo:r}=rs(e);if(t)return[e];let i=n===`library`?[r,`library/${r}`]:[`${n}/${r}`];return[...new Set([e,...i,...i.map(e=>`docker.io/${e}`)])]}function as(e){e=e.replace(/^docker:\/\//,``);let[t,n,...r]=e.split(`@`);if(r.length||n&&!/^[a-z][a-z0-9+._-]*:[0-9a-f]+$/i.test(n))return null;let i=t.lastIndexOf(`:`),a=i!==-1&&t.lastIndexOf(`/`)<i;if(!a&&!n)return null;let o=a?t.substring(0,i):t,s=a?t.substring(i+1):`latest`;if(a&&!n&&!qo.test(s))return null;let{registry:c,namespace:l,repo:u}=rs(o);return{registry:c,namespace:l,repo:u,tag:s,fullImage:o,...n&&{digest:n},...!a&&{digestOnly:!0}}}function os(e){let t=qo.exec(e);return!t||t[2]&&!t[3]&&pr.test(e)?null:{version:t[1],prerelease:t[2]||``,suffix:t[3]||``}}function ss(e,t,n=``){let r=os(t);return r?Or(e,r.version,`${n}${r.suffix}`):t}function cs(e,t){let n=[];if(t===Jo){for(let{from:t,resolved:r}of ts(e,!0)){let e=as(r);e&&n.push({ref:e,match:t[1]})}return n}let r=t===Yo?ls(e):null;for(let i of e.matchAll(t)){if(r?.has(i.index+i[0].indexOf(`image:`)))continue;let e=as(i[1]);e&&n.push({ref:e,match:i[1]})}return n}function ls(e){let t=new Set,n=new Map;for(let r of e.matchAll(/^.*$/gm)){if(!r[0].trim())continue;let e=/^[ \t]*/.exec(r[0])[0].length;for(let t of n.keys())t>e&&n.delete(t);let i=n.get(e)??{built:!1,images:[]};if(n.set(e,i),/^[ \t]*build\s*:/.test(r[0])){i.built=!0;for(let e of i.images)t.add(e)}else if(/^[ \t]*image\s*:/.test(r[0])){let n=r.index+e;i.built?t.add(n):i.images.push(n)}}return t}const us=new WeakMap,ds=new Set([401,403,404]);function fs(e,t,n){return Q(us,n,`${e}/${t}`,async()=>{let r={dates:{},digests:new Map},i=`${n.dockerApiUrl}/v2/repositories/${e}/${t}/tags`,a=e=>`${i}?page_size=1000&ordering=last_updated&page=${e}`,o=async r=>{let i=await Pn(r,n,{headers:{"accept-encoding":`gzip, deflate, br`}},jn(e=>({count:e.count,next:e.next,results:(e.results||[]).map(e=>({name:e.name,tag_last_pushed:e.tag_last_pushed,last_updated:e.last_updated,digest:e.digest}))})),`${r}#digest`);return`body`in i?JSON.parse(i.body):(ds.has(i.res?.status)||Dr(i.res,r,`${e}/${t}`,n.dockerApiUrl),null)},s=e=>{for(let t of e?.results??[])r.dates[t.name]=t.tag_last_pushed||t.last_updated||``,typeof t.digest==`string`&&r.digests.set(t.name,t.digest)},c=await o(a(1));if(!c)return r;s(c);let l=new Set,u=c,d=2;if(c.count){let e=[];for(;d<=20&&d<=Math.ceil(c.count/1e3);d++){let t=a(d);l.add(t),e.push(t)}let t=await P(e,async e=>{try{return{value:await o(e)}}catch(e){return{reason:e}}},{concurrency:Ln(n)});for(let e of t){if(`reason`in e)throw e.reason;if(!e.value)return r;s(e.value),u=e.value}}let f=new URL(i).origin;for(;d<=20&&u.next;d++){let e=new URL(u.next,i),t=e.href;if(e.origin!==f||l.has(t))break;l.add(t);let n=await o(t);if(!n)break;s(n),u=n}return r})}async function ps(e,t,n){return(await fs(e,t,n)).dates}async function ms(e,t,n,r){let i=(await fs(e,t,r)).digests.get(n);if(i)return i;let a=`${r.dockerApiUrl}/v2/repositories/${e}/${t}/tags/${n}`,o=await Pn(a,r,{headers:{"accept-encoding":`gzip, deflate, br`}},jn(e=>({digest:e.digest})));if(`body`in o){let e=JSON.parse(o.body)?.digest;return typeof e==`string`?e:null}return ds.has(o.res?.status)||Dr(o.res,a,`${e}/${t}:${n}`,r.dockerApiUrl),null}const hs=/^\d?[02468]\.04$/;function gs(e,t){if(!hs.test(e))return!1;let[n,r]=e.split(`.`);return t>=Date.UTC(2e3+Number(n),Number(r))}const _s={ubuntu:gs};function vs(e,t,n=Date.now()){let r=_s[e];return r?Object.fromEntries(Object.entries(t).filter(([e])=>{let t=os(e)?.version;return!t||r(t,n)})):t}async function ys(e,t){let{registry:n,namespace:r,repo:i}=rs(e);if(n)throw Error(`Non-Docker-Hub registries are not yet supported: ${n}`);return[{tags:vs(i,await ps(r,i,t)),name:e},null]}const bs=(e,t)=>t?`${e}-${t}`:e;function xs(e){let t=os(e);return t?Os(t.version):``}const Ss=/[._]/,Cs=e=>Z(e.version).split(Ss).map(Number),ws=e=>Z(e).replace(/\d+/g,``),Ts=2e7,Es=e=>Number(Z(e).split(Ss)[0]);function Ds(e,t){return Es(e)<Ts||Es(t)>=Ts}function Os(e){let t=Z(e).split(Ss).slice(0,3);return[...t.map(e=>String(Number(e))),...Array(3-t.length).fill(`0`)].join(`.`)}function ks(e,t){let n=Cs(e),r=Cs(t);for(let e=0;e<n.length;e++)if(n[e]!==r[e])return n[e]-r[e];return!e.prerelease&&t.prerelease?1:e.prerelease&&!t.prerelease?-1:e.prerelease.localeCompare(t.prerelease)}function As(e,t){let n=Cs(e),r=Cs(t),i=n.findIndex((e,t)=>e!==r[t]);return i===-1?e.prerelease===t.prerelease?null:`patch`:i===0?`major`:i===1?`minor`:`patch`}function js(e,t,n,r,i,a,o=!1,s=!1){let c=os(t);if(!c)return null;let l=ws(c.version),u=bs(Os(c.version),c.prerelease),{effectiveSemvers:d,skipsPrerelease:f}=Un(u,o,s,n),p=l.length>2||l.includes(`_`),m=U(u),h=c,g=``,_=``;for(let[t,u]of Object.entries(e)){let e=os(t);if(!e||e.suffix!==c.suffix||ws(e.version)!==l||!Ds(e.version,c.version)||!xn(u,r,i))continue;let v=bs(Os(e.version),e.prerelease);if(a&&!q(v,a))continue;if(p){if(e.prerelease&&(!o&&!c.prerelease||s)||ks(e,h)<=0)continue;let r=As(c,e);if(!r||!n.has(r))continue;h=e,g=t,_=u;continue}let y=U(v);if(!y||e.prerelease&&f(y))continue;if(y.version===m.version){g&&Date.parse(u)>Date.parse(_)&&(g=t,_=u);continue}let b=X.diff(m,y);!b||!d.has(b)||X.compare(y,m)>0&&(m=y,g=t,_=u)}if(p)return g?{newTag:g,date:_}:null;if(!g||m.version===u)return null;let[v,y=``]=m.version.split(`-`),b=ss(v,t,y),x=b in e?b:g;return x===t?null:{newTag:x,date:_}}const Ms=`(?![\\w.@+-])`;function Ns(e){let t=new Map;for(let[n,r]of Object.entries(e)){let e=n.split(`\0`)[1];r.oldDigest?r.newDigest&&t.set(r.digestOnly?`${e}@${r.oldDigest}`:`${e}:${r.oldOrig||r.old}@${r.oldDigest}`,r.digestOnly?`${e}@${r.newDigest}`:`${e}:${r.new}@${r.newDigest}`):t.set(`${e}:${r.oldOrig||r.old}`,`${e}:${r.new}`)}return t}function Ps(e,t,n,r=()=>!0){if(!t.size)return e;let i=I(t.keys()),a=e;for(let e of n)a=a.replace(RegExp(`${Xo}(${e})(${i})${Ms}`,`gm`),(e,n,i,a)=>r(a)?`${n}${t.get(i)??i}`:e);return a}function Fs(e,t){let n=`(?:[ \\t]+|\\\\[ \\t]*\\r?\\n[ \\t]*)`,r=Ns(t);if(!r.size)return e;let i=I(r.keys()),a=e.replace(RegExp(`^([ \\t]*FROM${n}+(?:--platform=\\S+${n}+)?)(${i})${Ms}`,`gim`),(e,t,n)=>`${t}${r.get(n)??n}`),o=new Map;for(let{instruction:e,args:t,from:n,resolved:i}of ts(a)){let a=r.get(i);if(!a)continue;let s=i.lastIndexOf(`@`),c=a.lastIndexOf(`@`),l=i.slice(s+1),u=a.slice(c+1),d=s!==-1&&c!==-1&&l!==u;if(d){let t=e[0].lastIndexOf(l);t!==-1&&o.set(e.index+t,{end:e.index+t+l.length,value:u})}for(let e of n[1].matchAll(/\$(?:\{(\w+)\}|(\w+))/g)){let r=t.get(e[1]||e[2]),i=es(n[1].slice(0,e.index),e=>t.get(e)?.value),s=es(n[1].slice(e.index+e[0].length),e=>t.get(e)?.value);d&&(s=s.replace(l,u)),!(!r||r.start<0||!a.startsWith(i)||!a.endsWith(s))&&o.set(r.start,{end:r.start+r.value.length,value:a.slice(i.length,s?-s.length:void 0)})}}let s=a;for(let[e,t]of[...o].sort(([e],[t])=>t-e))s=`${s.slice(0,e)}${t.value}${s.slice(t.end)}`;return s}function Is(e,t){let n=ls(e);return Ps(e,Ns(t),[String.raw`image:\s*['"]?`],e=>!n.has(e))}function Ls(e,t){return Ps(e,Ns(t),[String.raw`(?:container|image):\s*['"]?`,String.raw`uses:\s*['"]?docker://`])}const Rs=[`Dockerfile`,`compose.yml`,`compose.yaml`,`docker-compose.yml`,`docker-compose.yaml`];function zs(e){return/^(?:docker-|compose).*\.ya?ml$/.test(e)}function Bs(e){return/^Dockerfile(\..+)?$/.test(e)}function Vs(e){return Bs(e)||zs(e)}function Hs(e){return Bs(e)?Jo:Yo}function Us(e){return e.registry?``:e.namespace===`library`?`https://hub.docker.com/_/${e.repo}`:`https://hub.docker.com/r/${e.namespace}/${e.repo}`}const Ws=[`Makefile`,`makefile`,`GNUmakefile`];function Gs(e){return Ws.includes(e)||e.endsWith(`.mk`)}const Ks=/^\s*(?:(?:export|override|private|unexport)\s+)*[A-Za-z_][\w.]*\s*(?:::=|:=|\?=|\+=|=)\s*(.*)$/,qs=/^([^@\s]+)@(v\d\S*)$/,Js=/^[^/\s]+\.[^/\s]+\//;function*Ys(e){let t=``;for(let n of[...e.split(/\r?\n/),``]){let e=n.indexOf(`#`),r=e===-1?n:n.slice(0,e),i=0;for(;r[r.length-i-1]===`\\`;)i++;if(i%2){t+=`${r.slice(0,-1)} `;continue}let a=Ks.exec(t+r);if(t=``,!a)continue;let o=``,s=``;for(let e of a[1])o?e===o?o=``:s+=e:e===`"`||e===`'`?o=e:/\s/.test(e)?(s&&(yield s),s=``):s+=e;s&&!o&&(yield s)}}function Xs(e){let t=[];for(let n of Ys(e)){let e=qs.exec(n);if(!e||!Js.test(e[1]))continue;let[,r,i]=e;t.push({installPath:r,version:i})}return t}const Zs=/@(sha256:[0-9a-f]{64})$/;function Qs(e,t,n){return`${e}:${t}${n?`@${n}`:``}`}function $s(e){let t=Zs.exec(e),n=t?.[1]??null,r=t?e.slice(0,t.index):e,i=as(r.replace(/^docker\.io\//,``));return!i||i.registry||i.namespace===`library`?null:{writtenImage:r.slice(0,r.lastIndexOf(`:`)),ref:i,digest:n}}function ec(e){return Array.from(Ys(e)).flatMap(e=>$s(e)??[])}const tc=/\/v(?:[2-9]|[1-9]\d+)(?=\/|$)/,nc=new WeakMap;function rc(e,n,r){return Q(nc,r,`${m(n)}${e}`,async()=>{let i;try{({stdout:i}=await r.execFile(`go`,[`list`,`-m`,`-e`,`-json`,`${e}@latest`],{timeout:r.fetchTimeout,cwd:n,env:{...t,GOPROXY:`direct`}}))}catch(t){let n=String(t?.stderr??``).trim().split(`
64
+ `)[0]||t?.message||String(t);throw Error(`go list -m ${e}@latest failed: ${n}`)}let a;try{a=JSON.parse(i)}catch{throw Error(`go list -m ${e}@latest returned malformed JSON`)}if(a.Error){let t=a.Error.Err;if(a.Origin&&t?.endsWith(`no matching versions for query "latest"`))return null;throw Error(`go list -m ${e}@latest failed: ${t||`unknown error`}`)}if(typeof a.Version!=`string`)throw Error(`go list -m ${e}@latest returned malformed JSON`);return!0},!1)}async function ic(e,t,n,r){return await Nr(r,async r=>r===`off`?!1:r===`direct`?rc(e,t,n):await fi(n,`primary`,e=>An(n,e,{headers:si}),r,e)?!0:null)??!1}async function ac(e,t,n,r){let i=tc.exec(e);if(i)return e.slice(0,i.index+i[0].length);let a=zr(e,r)?[{url:`direct`,fallback:`,`}]:n.goProxyChain;if(a[0].url===`off`)return null;let o=e.split(`/`),s=Array.from({length:o.length-1},(e,t)=>o.slice(0,o.length-t).join(`/`));for(let e of a){let r=await Promise.allSettled(s.map(r=>ic(r,t,n,[e]))),i=r.findIndex(e=>e.status===`fulfilled`&&e.value),a=r.slice(0,i===-1?void 0:i).find(e=>e.status===`rejected`);if(a)throw a.reason;if(i!==-1)return s[i]}return null}function oc(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,F).join(`["']*`)).join(`|`),i=RegExp(`(?<![\\w./@:-])(${r})(?=[\\s#"']|$)`,`g`);return e.replace(/^[^#\n]*/gm,e=>e.replace(i,e=>{let t=e.replace(/["']/g,``),r=n.get(t),i=0;return e.replace(/[^"']/g,()=>r[i++]??``)+r.slice(i)}))}const sc=new WeakMap;function cc(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 lc(e,t){let n=Tn(e);return`${n===`https://crates.io`?`https://index.crates.io`:n}/${cc(t)}`}function uc(e){return e.split(`
65
65
  `).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(`
66
- `)}async function fc(e,t){let n=uc(t.cratesIoUrl,e);return[await Z(cc,t,n,async()=>{let r=await Fn(n,t,Dn(),dc);`body`in r||kr(r.res,n,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of r.body.split(`
67
- `)){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=H(n);r&&(r.prerelease.length?(!s||ot(n,s))&&(s=n):(!o||ot(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function pc(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];$e(a)&&R(t,i,a)}return t}const mc=/^\d/,hc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,gc=/^(\s*)(.*?)(\s*)$/s,_c=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return mc.test(t)&&!hc.test(t)?`^${t}`:t}).join(` `);function vc(e,t){let[,n,r,i]=gc.exec(e);if(r.startsWith(`<`)&&K(t,r))return e;let a=hc.exec(r),o;if(a){if(H(t)?.prerelease.length)o=t;else{let[,e,n]=a;o=`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${n}`}}else o=mc.test(r)?go(Q(`^${r}`),t,`^${r}`).replace(/^\^/,``):go(Q(r),t,r);return`${n}${o}${i}`}function yc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:vc(e,t)).join(``)}function bc(e,t,n){let r=e.get(t);if(!r)return;let i=_c(n),a;for(let e of r)K(e,i)&&(!a||ot(e,a))&&(a=e);return a}const xc=e=>{let t=P(e);return`(?:${t}|"${t}"|'${t}')`},Sc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Cc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/;function wc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){let r=0;for(;e[n-r-1]===`\\`;)r++;e.startsWith(t,n)&&!(t===`"""`&&r%2)&&(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function Tc(e){let t=[],n=``,r=0;for(let i of e.split(`
68
- `)){let a=n?null:Cc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=wc(i,n),r+=i.length+1}return t}function Ec(e,t){let n=Tc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=xc(i),c=P(a),l=t.startsWith(`[`)?JSON.parse(Sc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map(xc).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=wc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Dc=/^(!?)\/(.*)\/(i?)$/,Oc=e=>e.isHash&&!!e.comment&&!gr(e.comment),kc=[...new Set(Object.values(Ce)),`actions`,`docker`,`make`],Ac=new Set(kc),jc={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},Mc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},Nc=(e,t)=>En(typeof e==`string`?e:t),Pc=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function Fc(e,t){let n=new Map,r=new Set(e);return We(t,e=>{for(let t of r){let i=f(e,t);try{g(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function Ic(e,t){t&&(e.date=t,e.age=sa(t,{noAffix:!0,shortUnits:!0}))}const Lc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,Rc=(e,t,n,r)=>Lc(`${e}${t}`,n,r),zc=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?pa(n):`${pa(n)}|${t}`)},Bc=e=>Object.values(e).some(e=>Object.keys(e).length>0),Vc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),Hc=(e,t)=>Na.has(e)?Pa(t):t;function Uc(e,t){return t===`go`?[e,Ai(e)]:t===`docker`?as(e):t===`pypi`?[e,Vc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&Se.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...Uc(e,a),...Uc(o,a)])),c=(t,n)=>qt(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}function Wc(t){let n=new Set;if(t?.length)for(let e of t){let t;try{t=C(e)}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}let r=m(e);try{r=S.native(e)}catch{}if(t.isFile())n.add(r);else if(t.isDirectory()){try{for(let e of x(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(Ce,e.name)||Hs(e.name)||Ks(e.name))&&n.add(m(f(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=M.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&M.some(t=>e.endsWith(`/${t}`)),a=t?[u(e)]:i?[e]:M.map(t=>f(e,t));for(let e of a)for(let t of qo(e))n.add(t)}else throw Error(`${e} is neither a file nor directory`)}else{let t=new Set(M),r=[...Object.keys(Ce),...zs,...Gs,...M],i=new Set;for(let[a,o]of Fc(r,e())){if(t.has(a)){for(let e of qo(o))n.add(e);continue}let e=m(o);try{e=S.native(o)}catch{}i.has(e)||(i.add(e),n.add(m(o)))}try{for(let t of x(e(),{withFileTypes:!0})){let r=Hs(t.name)&&!zs.includes(t.name),i=Ks(t.name)&&!Gs.includes(t.name);t.isFile()&&(r||i)&&n.add(m(f(e(),t.name)))}}catch{}}let r=[];for(let e of Array.from(n)){let t=l(e);Object.hasOwn(Mc,t)&&(r.push(e),n.delete(f(u(e),Mc[t])))}return r.length?new Set([...r,...n]):n}function Gc(e,t){r===`win32`&&ee(e,0),w(e,t,r===`win32`?{flag:`r+`}:void 0)}const Kc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function qc(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Jc(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>kc.indexOf(e)-kc.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=Kc(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Xa(a.oldOrig)&&(a.old=e===`go`?ji(a.oldOrig):a.oldOrig),e===`go`?a.new=ji(a.new):e===`actions`&&!a.digestOnly&&(a.old=X(a.old),a.new=X(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(Kc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${qc(s)}`:o,l=t.results[e]??={};(l[qc(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function Yc(e,t){if(!t)return()=>!0;let n=Dc.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>K(Ss(e),t):e===`pypi`?e=>Oo(e,t):e=>K(e,t)}function Xc(e,t,n){if(!n)return e;let r=Yc(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function Zc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Qc(e)}finally{n()}}async function Qc(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Fe(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=Nc(t.forgeapi,Tn.forgeapi),s=Lr(t.goproxy),d=Rr(),p=!n.noColor&&(n.color||i.isTTY),h=e=>p?t=>c(e,String(t),{validateStream:!1}):String,g=h(`magenta`),_=h(`green`),v=h(`red`),y,b={execFile:async(e,t,n)=>(await Qn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:Nc(t.pypiapi,Tn.pypiapi),jsrApiUrl:Nc(t.jsrapi,Tn.jsrapi),goProxyChain:s,cratesIoUrl:Nc(t.cargoapi,Tn.cargoapi),dockerApiUrl:Nc(t.dockerapi,Tn.dockerapi),doFetch:(e,t)=>(y??=Bn(b))(async()=>{n.verbose&&console.error(`${je()} ${g(t?.method||`GET`)} ${e}`);let r=await An(e,t);return n.verbose&&console.error(`${je()} ${r.ok?_(r.status):v(r.status)} ${e}`),r}),noCache:!!n.noCache},x=new Map,S=async(e,t,n)=>{let r=`${e}${t}${n}`,i=z(x,r,()=>hs(e,t,n,b));try{return await i}catch(e){throw x.get(r)===i&&x.delete(r),e}};for(let e of n.modes??[])if(!Ac.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${kc.join(`,`)}`);let C=n.modes?.length?new Set(n.modes):Ac,ee=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?rn(e.include):void 0,exclude:e.exclude?.length?rn(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Pe(String(e.cooldown))})),n=e.renovateVersionRules??[];return{greatest:cn(e.greatest),prerelease:cn(e.prerelease),release:cn(e.release),patch:cn(e.patch),minor:cn(e.minor),allowDowngrade:cn(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}};C.has(`actions`)&&tr();let w=new WeakMap;function te(e,t,n,r=n){let i=z(w,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...Uc(n,t),...Uc(r,t)])),c=e=>s.some(t=>ke(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h,g;for(let t of e.renovateVersionRules)Wt(t,n,r)&&(t.allowedVersions!==void 0&&(g=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));for(let t of e.overrides)t.include&&s.every(e=>!ke(e,t.include))||t.exclude&&s.some(e=>ke(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let _=f?jc.patch:p?jc.minor:jc.major;o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:_,allowDowngrade:m,cooldownOverride:h,allowedVersions:g},i.set(a,o)}return o}on(n.pin);let ne=n.pin??{},T=(e,t,n)=>{let r=e.find(e=>ne[e]);if(r)return{pinnedRange:ne[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ie=(e,t,n,r,i,a,o)=>{let s=te(e,t,n,r);return{...s,...T(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},le=(e,t,n)=>{delete E[e][t],A(e,t,n)},ue={},de=Date.now(),fe=e(),pe=e=>e.replace(`${fe}/`,``).replace(`${fe}\\`,``),me=(e,t,n,r,i,a)=>{E[e][Rc(t,n,r)]={old:i,oldOrig:a}},he=(e,t,n)=>{if(Qa(n))return;let r=eo(n);if(Xa(n))E.npm[e]={old:ro(n,t).version,new:``,oldOrig:n};else if(q(n))E.npm[e]={old:Q(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:Q(r.range),new:``,oldOrig:n};else if(Za(n))return;else ae[e]={old:n}},ge=(e,t,n,r,i,a,o)=>{let s=new Set(Object.keys(t.tool?.uv?.sources??{}).map(Vc)),c=(t,r)=>{for(let{name:o,version:c,spec:l}of be(t))s.has(Vc(o))||$(o,e,i,a,r)&&(me(e,r,n,o,Q(c),c),ce.set(Rc(r,n,o),l))};for(let[s,l]of Oe(r,t)){let t=l||{};if(Array.isArray(t)){if(e!==`pypi`)continue;c(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&me(e,s,n,r,Q(o),o)}else{if(e===`npm`&&(s===`overrides`||s===`pnpm.overrides`)){let r=s===`overrides`?[`overrides`]:[`pnpm`,`overrides`],c=(t,l)=>{for(let[u,d]of Object.entries(t))if(typeof d==`string`){let t=Pa(u===`.`?l.at(-1)??u:u);if(o?.has(t))continue;let c=eo(d);if(!$(t,e,i,a,s,e,c?.name??t))continue;let f=[...r,...l,u],p=JSON.stringify(f),m=Rc(s,n,t,p);he(m,t,d)}else d&&typeof d==`object`&&!Array.isArray(d)&&c(d,[...l,u])};c(t,[]);continue}for(let[r,l]of Object.entries(t)){if(e===`pypi`&&Array.isArray(l)){c(l,`${s}.${r}`);continue}typeof l==`string`&&(o?.has(Hc(s,r))||$(r,e,i,a,s,e,(e===`npm`?eo(l):null)?.name??r)&&(e===`npm`?he(Rc(s,n,r),r,l):e===`go`?me(e,s,n,r,ji(l),X(l)):q(l)&&me(e,s,n,r,Q(l),l)))}}}},_e=Wc(n.files),j=new Map(await N(Array.from(_e).filter(e=>{if(Ko(e))return C.has(`actions`)||C.has(`docker`);let t=l(e);return Hs(t)?C.has(`docker`):Ks(t)?C.has(`make`):C.has(Ce[t])}),async e=>{try{return[e,await re(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),ve={},ye=[],Se=[],M=[],Ae=[],Me=[],Ne=[],P=[],F=[],Le={},I=(e,t,n)=>{(Le[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Re=t[Qt],ze=Re&&new Set(Re.cliKeys),Be=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!ze||ze.has(e)))),L=Ge(async e=>{let t={...await un(e),...Be};return{modeConfig:t,include:rn(t.include??[]),exclude:rn(t.exclude??[]),versionConfig:ee(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Pe(String(t.cooldown)):0}});function Ve(e,t){return t.types?.length?t.types:e===`npm`?xe:e===`pypi`?we:e===`go`?t.indirect?Te:Te.filter(e=>e!==`indirect`):e===`cargo`?[...Ee,...De]:[]}let He=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),Ue=e=>{let t=[],n=-1;for(let[r,i]of e.split(/\r?\n/).entries()){let e=/^(\s*)(?:"([^"]+)"|'([^']+)'|([^\s:#][^:#]*)):\s*(.*)$/.exec(i);if(!e)continue;let a=e[1].length,o=(e[2]??e[3]??e[4]).trim();if(a===0){n=o===`overrides`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function We(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=Lc(t,e.fullImage,r);if(E.docker[i])return;let a=ss(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},P.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let R=new Map,B=new Map;for(let e of _e){let t=l(e);if(t===`package.json`){let t=j.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&B.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=j.get(e);if(!t)continue;try{let n=Ji(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&R.set(e,n)}catch{}}}let Ke={cargo:R.size,go:Array.from(_e).filter(e=>l(e)===`go.work`).length,npm:new Set([...B.keys(),...Array.from(_e).filter(e=>l(e)===`pnpm-workspace.yaml`)]).size},qe=(e,t,n,r,i)=>{let a=ue[e]??=[],o=!a.length&&!Ke[e],s=o?`.`:pe(t);return a.push({absPath:m(t),content:n,memberPath:s,projectDir:r}),I(e,s,He(i,r)),o?``:`|${s}`},Je=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},Ye=(e,t,n)=>Ke[e]>1?`${pe(t)}:${n}`:n,V=(e,t,n,r,i,a,o)=>{let s=Ye(`npm`,e,n.memberPath);I(`npm`,s,He(a,t)),Ae.push({...n,memberPath:s}),ge(`npm`,r,s===`.`?``:`|${s}`,i,a.include,a.exclude,o)};for(let e of R.size||B.size?new Set([...R.keys(),...B.keys(),...j.keys()]):j.keys()){if(Ko(e)){let t=C.has(`actions`),n=C.has(`docker`),r=j.get(e),i=pe(e),a=await L(u(e)),s=new Set;ve[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=Ho(l),t=e&&Fo(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=Lc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Ne.push({...t,key:s,comment:n,apiUrl:Io(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=Bo(l,c);if(!r)continue;let{indent:u,key:d}=r,f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r.value){let t=os(r.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(We(t,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=l(e),n=m(e);if(Hs(t)){let n=j.get(e),r=pe(e),i=Vs(t)?`dockerfile`:`compose`,a=await L(u(e));ve[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of ls(n,Us(t)))We(e,r,a);continue}if(Ks(t)){let t=j.get(e),n=pe(e),r=await L(u(e));ve[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:u(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Zs(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=Lc(n,e,a);E.make[t]||(E.make[t]={old:X(a),oldOrig:a},F.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of tc(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=Lc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=ss(e.ref.tag);if(!a)continue;let o=$s(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},F.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=Ce[t];if(t===`go.work`){E[i]??={};let t=u(n),a=j.get(e),o=Di(a),[{modeConfig:s,include:c,exclude:l,versionConfig:d,pin:f,cooldownDays:p},m]=await Promise.all([L(t),N(o.use,async e=>{let n=Oi(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await re(n,`utf8`)}}catch{return null}},{concurrency:r})]),h=Ve(i,s),g=Ye(i,e,`.`),_=He({modeConfig:s,versionConfig:d,pin:f,cooldownDays:p},t);I(i,g,_),Se.push({file:e,content:a,memberPath:g});let v=new Set,y=[];for(let e of m){if(!e)continue;let t=ii(e.content);t&&v.add(t),y.push({...e,parsed:ai(e.content)})}for(let{usePath:t,modPath:n,content:r,parsed:a}of y){let o=Ye(i,e,t);I(i,o,_),ye.push({absPath:n,content:r,projectDir:u(n),memberPath:o}),ge(i,a,o===`.`?``:`|${o}`,h,c,l,v)}for(let[e,t]of Object.entries(o.replace))!v.has(e)&&$(e,i,c,l,`replace`)&&me(i,`replace`,g===`.`?``:`|${g}`,e,ji(t),X(t));continue}if(t===`go.mod`&&ye.some(e=>e.absPath===n)||t===`package.json`&&Ae.some(e=>e.absPath===n)||t===`Cargo.toml`&&M.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=j.get(e),a=R.get(e)??Ji(t),o=u(n),s=Fc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length>0,[d,f,p]=await Promise.all([L(o),s?re(s,`utf8`):null,l?va(c,o,`Cargo.toml`,r):[]]),{modeConfig:m,include:h,exclude:g}=d,_=Ve(i,m),v=f?pc(f):new Map,y=(e,t)=>{for(let[n,r]of Oe(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,h,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;q(_c(e))&&(o!==r&&oe.set(Rc(n,t,r),o),me(i,n,t,r,bc(v,o,e)??Q(_c(e)),e))}else typeof a==`string`&&q(_c(a))&&me(i,n,t,r,bc(v,r,a)??Q(_c(a)),a)}}}};if(l){let r=Ye(i,e,`.`),s=He(d,o);I(i,r,s),y(a,r===`.`?``:`|${r}`),M.push({absPath:n,content:t,memberPath:r});for(let t of p){let n=Ye(i,e,t.memberPath);I(i,n,s),M.push({...t,memberPath:n}),y(Je(t.absPath,()=>Ji(t.content)),`|${n}`)}}else y(a,qe(i,e,t,o,d));continue}if(t===`package.json`&&B.has(e)){E[i]??={};let t=u(n),a=j.get(e),o=B.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,d]=await Promise.all([L(t),va(c,t,`package.json`,r)]),f=Ve(i,l.modeConfig),p=new Set,m=[];for(let e of d){let t=Je(e.absPath,()=>JSON.parse(e.content));typeof t.name==`string`&&t.name&&p.add(t.name),m.push({member:e,pkg:t})}V(e,t,{absPath:n,content:a,memberPath:`.`},o,f,l,p);for(let{member:n,pkg:r}of m)V(e,t,n,r,f,l,p);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=u(n),o=j.get(e),s=ja(o),c=f(a,`package.json`),[l,d,p]=await Promise.all([L(a),Ie(re(c,`utf8`)),va(s,a,`package.json`,r)]),h=Ve(i,l.modeConfig),g=Ye(i,e,t);I(i,g,He(l,a)),Me.push({absPath:n,content:o,memberPath:g});for(let{type:e,name:t,value:n}of ka(o))$(t,i,l.include,l.exclude,e,i,eo(n)?.name??t)&&he(Rc(e,`|${g}`,t),t,n);for(let{selector:e,value:t}of Ue(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=Rc(r,`|${g}`,e,a);D.set(o,n),O.set(o,e),he(o,e,t)}if(d!==null){let t=Je(c,()=>JSON.parse(d));V(e,a,{absPath:m(c),content:d,memberPath:`.`},t,h,l)}for(let t of p)V(e,a,t,Je(t.absPath,()=>JSON.parse(t.content)),h,l);continue}E[i]??={};let a=u(n),s=await L(a),{modeConfig:c,include:d,exclude:p}=s,h=Ve(i,c),g=j.get(e);ge(i,Je(e,()=>i===`npm`?JSON.parse(g):i===`pypi`?Ji(g):ai(g)),qe(i,e,g,a,s),h,d,p)}let Xe=Object.keys(ae).length>0;if(!Bc(E)&&!Xe)return{results:{},message:`No dependencies found, nothing to do.`};let Ze=[],Qe=(e,t)=>D.get(e)??se.get(e)?.name??Hc(e.split(`\0`)[0].split(`|`)[0],t),$e={needsDates:Le.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1};for(let[e,t]of Object.entries(Le))!Object.keys(E[e]).length&&(e!==`npm`||!Xe)||Ze.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=new Map,s=E[e],c=async(t,r,i)=>{let c=pa(r),{modeConfig:l,versionConfig:u,projectDir:f,pin:p,cooldownDays:m}=a(r),h=s[t],_=se.get(t),[v,y]=await(e===`npm`?h.oldOrig&&Xa(h.oldOrig)?io(i,b):Ja(Qe(t,i),c,l,$e,b,f,h.old):e===`go`?bi(i,r,h.oldOrig||h.old,f,b,d):e===`cargo`?fc(oe.get(t)??i,b):wo(i,b)),x=v;if(x.error)throw Error(x.error);let S=c===`packageManager`?i:x.name,{useGreatest:C,usePre:ee,useRel:w,semvers:te,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(u,e,S,i,p,l.pinNoDowngrade,m);x=Xc(x,e,T);let{old:D,oldOrig:O}=h,k=Jn(x,{usePre:ee,useRel:w,useGreatest:C,semvers:te,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?de:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=yc(O,k);else if(k){if(O&&Xa(O)){let e=Pc.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${go(D,k,_.range,c)}`:go(D,k,O,c)}let le=ce.get(t);if(!k||k===D||O&&O===A||le&&!ko(le,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${je()} ${g(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let ue=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;h.new=A,O&&Xa(O)&&(h.newPrint=k),e===`npm`?o.set(t,{name:Qe(t,i),promise:Ya(x.name,k,l,$e,b,f)}):h.info=e===`pypi`?Nr(x,y,x.info.name):e===`go`?ki(x.newPath||i):`https://crates.io/crates/${x.name}`,Ic(h,ue)};if(await N(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await c(t,n,r)}catch(n){le(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=Nr({repository:r.repository,homepage:r.homepage},null,t),Ic(i,r.date))})),e===`npm`&&Xe){let e=(await N(Object.entries(ae),async([e,t])=>{try{return await bo(e,t,b)}catch(t){return A(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)Ic(s[t]={old:ae[t].old,new:n,oldPrint:hr.test(a)?a.substring(0,7):a,newPrint:hr.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Qe(t,i):i,u=te(c,e,l,i).cooldownOverride??o;u&&!Sn(n,u,de)&&delete s[t]}})());let H=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Ne.length&&Ze.push((async()=>{await N(Map.groupBy(Ne,e=>`${e.apiUrl}/${e.owner}/${e.repo}`).values(),async e=>{let{apiUrl:t,owner:n,repo:i}=e[0],a=e.filter(e=>e.isHash?!Oc(e):gr(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=H(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===Tn.forgeapi?[]:e.filter(Oc).map(e=>e.comment)],c=[];try{s.length&&(c=await Or(t,n,i,b,o?[]:s,!!a.length))}catch(t){for(let n of e)le(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=At.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=Ge(e=>Lo(t,n,i,e,b)),m=Ge(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===Tn.forgeapi?`commits`:`branches`,o=await dr(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,b);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=new Set;for(let o=0;o<100;o++){let o=Kn({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(Sn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:gr(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:C,pinNoDowngrade:ee,cooldownDays:w}=H(e),te=gr(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:At,pinnedRange:C,pinNoDowngrade:ee,cooldownDays:w||void 0,now:w?de:void 0},S?l.filter(Yc(`actions`,S)):l):null;if(!te){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,Ic(c,await Ie(p(e)));return}let{tag:ne,commitSha:T,date:re}=te;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=Ro(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,Ic(c,re||(T?await Ie(p(T)):``))};await N(e,async e=>{try{await g(e)}catch(t){le(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),P.length&&Ze.push((async()=>{await N(Map.groupBy(P,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await bs(e,b);n=t}catch(e){for(let n of t)le(`docker`,n.key,e);return}await N(t,async t=>{try{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=Xc(n,`docker`,c).tags,f=!t.ref.digestOnly&&ss(i)?Ms(d,i,a,u||void 0,u?de:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await S(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=Ws(t.ref),Ic(r,f?.date)}catch(e){le(`docker`,t.key,e)}},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),F.length&&Ze.push((async()=>{await N(F,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l}=ie(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),u={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l||void 0,now:l?de:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await oc(e.installPath,e.projectDir,b,d);if(!t){delete E.make[e.key];return}let[n]=await bi(t,`tool`,X(e.version),e.projectDir,b,d),r=Xc(n,`go`,o),i=Jn(r,{...u,mode:`go`,range:X(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??qr(t,i),s=`${a}${e.installPath.slice(t.length)}`,c=Ar(i,e.version);if(s===e.installPath&&c===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${c}`,f.new=c,f.info=ki(a),Ic(f,r.Time)}else{let[t]=await bs(e.image.ref.fullImage,b),n=Xc(t,`docker`,o).tags,r=Ms(n,e.image.ref.tag,u.semvers,u.cooldownDays,u.now,u.pinnedRange,u.usePre,u.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await S(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=$s(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=Ws(e.image.ref),Ic(f,r.date)}}catch(t){le(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Ze)}finally{n.noCache||await bn()}if(!Bc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let et=(e,t)=>{let n=e.split(`
69
- `),r=new Map(Ue(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!zc(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(`
70
- `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=ha(E[e],r.memberPath);Object.keys(t).length&&Gc(r.absPath,n(r.content,t,r))}},t=new Map(Ne.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]),r=n(Object.entries(E.actions??{})),i=n(Object.entries(E.docker??{})),a=Map.groupBy(F.filter(e=>e.newSpec&&E.make?.[e.key]),e=>e.key.split(`\0`)[0]);for(let n of Object.keys(E).sort((e,t)=>(e===`docker`)-+(t===`docker`)))if(Object.keys(E[n]).length){if(n===`actions`){for(let[e,n]of r){let{absPath:r,content:i}=ve[e]||{};if(!r)continue;let a=Wo(i,n.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:hr.test(n.old)?n.newPrint:void 0}}));Gc(r,a),ve[e].content=a}continue}if(n===`docker`){for(let[e,t]of i){let n=ve[e];if(!n)continue;let{absPath:r,content:i,fileType:a,workflowLines:o}=n;Gc(r,(a===`dockerfile`?Is:a===`compose`?Ls:(e,t)=>e.split(`
71
- `).map((e,n)=>o.has(n)?Rs(e,t):e).join(`
72
- `))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=ve[e];n&&Gc(n.absPath,sc(n.content,t.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}continue}if(n===`go`){for(let e of[...ye,...ue.go??[]]){let t=ha(E[n],e.memberPath);if(!Object.keys(t).length)continue;let[r,i]=Si(e.content,t);r!==e.content&&Gc(e.absPath,r),Ei(e.projectDir,i,Gc)}for(let e of Se){let t=Object.fromEntries(Object.entries(ha(E[n],e.memberPath)).filter(([e])=>pa(e.split(`\0`)[0])===`replace`));if(Object.keys(t).length){let[n]=Si(e.content,t);n!==e.content&&Gc(e.file,n)}}}else n===`cargo`?e(n,[...M,...ue.cargo??[]],Ec):n===`npm`?(e(n,Me,(e,t,n)=>et(Aa(e,t),n.memberPath)),e(n,[...Ae,...ue.npm??[]],ao)):e(n,ue[n]??[],Po)}}let tt=Jc(E);return k.length&&(tt.errors=k),tt}export{Hi as n,Qt as r,Zc as t};
66
+ `)}async function dc(e,t){let n=lc(t.cratesIoUrl,e);return[await Q(sc,t,n,async()=>{let r=await Pn(n,t,En(),uc);`body`in r||Dr(r.res,n,e,t.cratesIoUrl);let i={},a={},o=``,s=``,c=0;for(let e of r.body.split(`
67
+ `)){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||at(n,s))&&(s=n):(!o||at(n,o))&&(o=n))}if(!c&&r.body.trim())throw Error(`Invalid JSON from ${n}`);return{name:e,versions:i,time:a,"dist-tags":{latest:o||s}}}),null]}function fc(e){let t=new Map;for(let n of e.split(`[[package]]`)){let e=/\bname\s*=\s*"([^"]+)"/.exec(n),r=/\bversion\s*=\s*"([^"]+)"/.exec(n);if(!e||!r)continue;let i=e[1],a=r[1];Qe(a)&&z(t,i,a)}return t}const pc=/^\d/,mc=/^(\d+(?:\.\d+)*)((?:\.[*xX])+)$/,hc=/^(\s*)(.*?)(\s*)$/s,gc=e=>e.split(/\s*,\s*/).map(e=>{let t=e.trim();return pc.test(t)&&!mc.test(t)?`^${t}`:t}).join(` `);function _c(e,t){let[,n,r,i]=hc.exec(e);if(r.startsWith(`<`)&&q(t,r))return e;let a=mc.exec(r),o;if(a){if(U(t)?.prerelease.length)o=t;else{let[,e,n]=a;o=`${t.split(/[-+]/)[0].split(`.`).slice(0,e.split(`.`).length).join(`.`)}${n}`}}else o=pc.test(r)?mo(ho(`^${r}`),t,`^${r}`).replace(/^\^/,``):mo(ho(r),t,r);return`${n}${o}${i}`}function vc(e,t){return e.split(/(\s*,\s*)/).map((e,n)=>n%2?e:_c(e,t)).join(``)}function yc(e,t,n){let r=e.get(t);if(!r)return;let i=gc(n),a;for(let e of r)q(e,i)&&(!a||at(e,a))&&(a=e);return a}const bc=e=>{let t=F(e);return`(?:${t}|"${t}"|'${t}')`},xc=/^\[(?:"(?:\\.|[^"\\])*"(?:,"(?:\\.|[^"\\])*")*)?\]/,Sc=/^[ \t]*\[(\[?)[ \t]*([^[\]]+?)[ \t]*\]\1[ \t]*(?:#.*)?[ \t\r]*$/;function Cc(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t.length===3){let r=0;for(;e[n-r-1]===`\\`;)r++;e.startsWith(t,n)&&!(t===`"""`&&r%2)&&(n+=2,t=``)}else if(t)t===`"`&&r===`\\`?n++:r===t&&(t=``);else if(r===`#`)break;else(r===`"`||r===`'`)&&e.startsWith(r.repeat(3),n)?(t=r.repeat(3),n+=2):(r===`"`||r===`'`)&&(t=r)}return t.length===3?t:``}function wc(e){let t=[],n=``,r=0;for(let i of e.split(`
68
+ `)){let a=n?null:Sc.exec(i);a?(t.length&&(t.at(-1).end=r),t.push({path:a[1]?``:a[2],start:r,end:e.length,rewrites:[]})):n=Cc(i,n),r+=i.length+1}return t}function Tc(e,t){let n=wc(e);for(let[e,r]of Object.entries(t)){let[t,i]=e.split(`\0`),a=r.oldOrig||r.old,o=r.new,s=bc(i),c=F(a),l=t.startsWith(`[`)?JSON.parse(xc.exec(t)[0]):t.split(`|`,1)[0].split(`.`),u=`[ \\t]*\\.[ \\t]*`,d=l.map(bc).join(u),f=RegExp(`^${d}${u}${s}$`),p=RegExp(`^${d}$`),m=n.find(e=>f.test(e.path)),h=m??n.find(e=>p.test(e.path));if(!h)throw Error(`Unable to locate Cargo table for ${t}.${i}`);h.rewrites.push({simpleRe:RegExp(`^(\\s*${s}\\s*=\\s*["'])${c}(["'].*)$`),inlineRe:RegExp(`^(\\s*${s}\\s*=\\s*\\{(?:"[^"\\n]*"|'[^'\\n]*'|[^"'}\\n])*?\\bversion\\s*=\\s*["'])${c}(["'])`),...m&&{versionRe:RegExp(`^(\\s*version\\s*=\\s*["'])${c}(["'].*)$`)},newValue:o})}let r=e;for(let t of n.reverse()){if(!t.rewrites.length)continue;let n=``,i=e.slice(t.start,t.end).replace(/^.*$/gm,e=>{let r=e;if(!n)for(let e of t.rewrites)r=r.replace(e.simpleRe,`$1${e.newValue}$2`).replace(e.inlineRe,`$1${e.newValue}$2`),e.versionRe&&(r=r.replace(e.versionRe,`$1${e.newValue}$2`));return n=Cc(r,n),r});r=r.slice(0,t.start)+i+r.slice(t.end)}return r}const Ec=/^(!?)\/(.*)\/(i?)$/,Dc=e=>e.isHash&&!!e.comment&&!mr(e.comment),Oc=[...new Set(Object.values(Se)),`actions`,`docker`,`make`],kc=new Set(Oc),Ac={patch:new Set([`patch`]),minor:new Set([`patch`,`minor`]),major:new Set([`patch`,`minor`,`major`])},jc={"go.work":`go.mod`,"pnpm-workspace.yaml":`package.json`},Mc=(e,t)=>Tn(typeof e==`string`?e:t),Nc=/^(npm:@jsr\/[^@]+@|jsr:@[^@]+@)(.+)$/;function Pc(e){try{return S.native(e)}catch{return m(e)}}function Fc(e,t){let n=new Map,r=new Set(e);return Ue(t,e=>{for(let t of r){let i=f(e,t);try{g(i),n.set(t,i),r.delete(t)}catch{}}return r.size?null:n}),n}function Ic(e,t){t&&(e.date=t,e.age=aa(t,{noAffix:!0,shortUnits:!0}))}const Lc=(e,t,n)=>`${e}${t}${n===void 0?``:`${n}`}`,Rc=(e,t,n,r)=>Lc(`${e}${t}`,n,r),zc=(e,t)=>{let n=e.split(`\0`)[0];return n===(t===`.`?da(n):`${da(n)}|${t}`)},Bc=e=>Object.values(e).some(e=>Object.keys(e).length>0),Vc=e=>e.toLowerCase().replace(/[-_.]+/g,`-`),Hc=(e,t)=>ja.has(e)?Ma(t):t;function Uc(e,t){return t===`go`?[e,Oi(e)]:t===`docker`?is(e):t===`pypi`?[e,Vc(e)]:[e]}function $(e,t,n,r,i,a=t,o=e){if(i===`engines`&&xe.includes(e)||t===`pypi`&&e===`python`)return!1;if(!n.size&&!r.size)return!0;let s=Array.from(new Set([...Uc(e,a),...Uc(o,a)])),c=(t,n)=>Kt(t,n,o,e);for(let e of r)if(s.some(t=>c(e,t)))return!1;for(let e of n)if(s.some(t=>c(e,t)))return!0;return!n.size}function Wc(e,t){let n=new Set;if(e?.length)for(let t of e){let e;try{e=C(t)}catch(e){throw Error(`Unable to open ${t}: ${e.message}`)}let r=Pc(t);if(e.isFile())n.add(r);else if(e.isDirectory()){try{for(let e of x(r,{withFileTypes:!0}))e.isFile()&&(Object.hasOwn(Se,e.name)||Vs(e.name)||Gs(e.name))&&n.add(m(f(r,e.name)))}catch{}let e=r.replace(/\\/g,`/`),t=N.some(t=>e.endsWith(`/${t}/workflows`)),i=!t&&N.some(t=>e.endsWith(`/${t}`)),a=t?[u(e)]:i?[e]:N.map(t=>f(e,t));for(let e of a)for(let t of Ko(e))n.add(t)}else throw Error(`${t} is neither a file nor directory`)}else{let e=new Set(N),r=[...Object.keys(Se),...Rs,...Ws,...N],i=new Set;for(let[a,o]of Fc(r,t)){if(e.has(a)){for(let e of Ko(o))n.add(e);continue}let t=Pc(o);i.has(t)||(i.add(t),n.add(m(o)))}try{for(let e of x(t,{withFileTypes:!0})){let r=Vs(e.name)&&!Rs.includes(e.name),i=Gs(e.name)&&!Ws.includes(e.name);e.isFile()&&(r||i)&&n.add(f(t,e.name))}}catch{}}let r=[];for(let e of Array.from(n)){let t=l(e);Object.hasOwn(jc,t)&&(r.push(e),n.delete(f(u(e),jc[t])))}return r.length?new Set([...r,...n]):n}function Gc(e,t){r===`win32`&&ee(e,0),w(e,t,r===`win32`?{flag:`r+`}:void 0)}const Kc=(e,t)=>`${e}${t.split(`\0`,2).join(`\0`)}`;function qc(e){if(!e.startsWith(`[`))return e;try{return JSON.parse(e).join(`.`)}catch{return e}}function Jc(e){let t={results:{}},n=new Map,r=Object.entries(e).sort(([e],[t])=>Oc.indexOf(e)-Oc.indexOf(t));for(let[e,t]of r)for(let r of Object.keys(t)){let t=Kc(e,r);n.set(t,(n.get(t)??0)+1)}for(let[e,i]of r)for(let[r,a]of Object.entries(i)){typeof a.oldPrint==`string`&&(a.old=a.oldPrint),typeof a.newPrint==`string`&&(a.new=a.newPrint),typeof a.oldOrig==`string`&&!Ja(a.oldOrig)&&(a.old=e===`go`?ki(a.oldOrig):a.oldOrig),e===`go`?a.new=ki(a.new):e===`actions`&&!a.digestOnly&&(a.old=Z(a.old),a.new=Z(a.new)),delete a.oldPrint,delete a.newPrint,delete a.oldOrig,delete a.date;let[i,o,s]=r.split(`\0`),c=s&&n.get(Kc(e,r))>1?`${o}${e===`actions`?`@`:`:`}${qc(s)}`:o,l=t.results[e]??={};(l[qc(i)]??={})[c]=a}for(let e of Object.values(t.results))for(let[t,n]of Object.entries(e))e[t]=Object.fromEntries(Object.entries(n).sort(([e],[t])=>e<t?-1:+(e>t)));return t}function Yc(e,t){if(!t)return()=>!0;let n=Ec.exec(t);if(n){let e=new RegExp(n[2],n[3]);return n[1]?t=>!e.test(t):t=>e.test(t)}return e===`docker`?e=>q(xs(e),t):e===`pypi`?e=>Do(e,t):e=>q(e,t)}function Xc(e,t,n){if(!n)return e;let r=Yc(t,n),i=e=>Object.fromEntries(Object.entries(e).filter(([e])=>r(e)));if(t===`go`)return{...e,...e.versions&&{versions:i(e.versions)},new:typeof e.new==`string`&&r(e.new)?e.new:``,sameMajorNew:typeof e.sameMajorNew==`string`&&r(e.sameMajorNew)?e.sameMajorNew:``};let a=t===`pypi`?`releases`:t===`docker`?`tags`:`versions`;return{...e,[a]:i(e[a]??{})}}async function Zc(e={}){let{enableDnsCache:t}=await import(`./dns.js`),n=t();try{return await Qc(e)}finally{n()}}async function Qc(t){let n={...t};typeof n.timeout==`number`&&(n.timeout=Pe(n.timeout,`timeout`));let r=n.sockets??50,a=n.timeout??0,o=Mc(t.forgeapi,wn.forgeapi),s=Fr(t.goproxy),d=Ir(),p=!n.noColor&&(n.color||i.isTTY),h=e=>p?t=>c(e,String(t),{validateStream:!1}):String,g=h(`magenta`),_=h(`green`),v=h(`red`),y,b={execFile:async(e,t,n)=>(await Zn())(e,t,n),fetchTimeout:a||5e3,goProbeTimeout:a?Math.max(1,Math.floor(a/2)):2500,concurrency:r,forgeApiUrl:o,pypiApiUrl:Mc(t.pypiapi,wn.pypiapi),jsrApiUrl:Mc(t.jsrapi,wn.jsrapi),goProxyChain:s,cratesIoUrl:Mc(t.cargoapi,wn.cargoapi),dockerApiUrl:Mc(t.dockerapi,wn.dockerapi),doFetch:(e,t)=>(y??=zn(b))(async()=>{n.verbose&&console.error(`${Ae()} ${g(t?.method||`GET`)} ${e}`);let r=await kn(e,t);return n.verbose&&console.error(`${Ae()} ${r.ok?_(r.status):v(r.status)} ${e}`),r}),noCache:!!n.noCache},x=new Map,S=async(e,t,n)=>{let r=`${e}${t}${n}`,i=B(x,r,()=>ms(e,t,n,b));try{return await i}catch(e){throw x.get(r)===i&&x.delete(r),e}};for(let e of n.modes??[])if(!kc.has(e))throw Error(`Invalid mode: ${e}, expected one of: ${Oc.join(`,`)}`);let C=n.modes?.length?new Set(n.modes):kc,ee=e=>{let t=(e.overrides??[]).map(e=>({include:e.include?.length?nn(e.include):void 0,exclude:e.exclude?.length?nn(e.exclude):void 0,greatest:e.greatest,prerelease:e.prerelease,release:e.release,patch:e.patch,minor:e.minor,allowDowngrade:e.allowDowngrade,cooldownDays:e.cooldown===void 0?void 0:Ne(String(e.cooldown))})),n=e.renovateVersionRules??[];return{greatest:sn(e.greatest),prerelease:sn(e.prerelease),release:sn(e.release),patch:sn(e.patch),minor:sn(e.minor),allowDowngrade:sn(e.allowDowngrade),overrides:t,renovateVersionRules:n,hasCooldownOverride:t.some(e=>e.cooldownDays!==void 0)||n.some(e=>e.cooldownDays!==void 0)}},w=new WeakMap;function te(e,t,n,r=n){let i=B(w,e,()=>new Map),a=`${t}${n}${r}`,o=i.get(a);if(!o){let s=Array.from(new Set([...Uc(n,t),...Uc(r,t)])),c=e=>s.some(t=>Oe(t,e)),l=c(e.greatest),u=c(e.prerelease),d=c(e.release),f=c(e.patch),p=c(e.minor),m=c(e.allowDowngrade),h,g;for(let t of e.renovateVersionRules)Ut(t,n,r)&&(t.allowedVersions!==void 0&&(g=t.allowedVersions),t.cooldownDays!==void 0&&(h=t.cooldownDays));for(let t of e.overrides)t.include&&s.every(e=>!Oe(e,t.include))||t.exclude&&s.some(e=>Oe(e,t.exclude))||(t.greatest!==void 0&&(l=t.greatest),t.prerelease!==void 0&&(u=t.prerelease),t.release!==void 0&&(d=t.release),t.patch!==void 0&&(f=t.patch),t.minor!==void 0&&(p=t.minor),t.allowDowngrade!==void 0&&(m=t.allowDowngrade),t.cooldownDays!==void 0&&(h=t.cooldownDays));let _=f?Ac.patch:p?Ac.minor:Ac.major;o={names:s,useGreatest:l,usePre:u,useRel:d,semvers:_,allowDowngrade:m,cooldownOverride:h,allowedVersions:g},i.set(a,o)}return o}an(n.pin);let ne=n.pin??{},T=(e,t,n)=>{let r=e.find(e=>ne[e]);if(r)return{pinnedRange:ne[r],pinNoDowngrade:!1};let i=e.find(e=>t[e]),a=!!(i&&Array.isArray(n)&&n.includes(i));return{pinnedRange:i&&!a?t[i]:void 0,pinNoDowngrade:a}},ie=(e,t,n,r,i,a,o)=>{let s=te(e,t,n,r);return{...s,...T(s.names,i,a),cooldownDays:s.cooldownOverride??o}},E={},ae={},oe=new Map,se=new Map,D=new Map,O=new Map,ce=new Map,k=[],A=(e,t,n)=>{let[r,i]=t.split(`\0`);k.push({mode:e,type:r,name:i,error:n?.message||String(n)})},j=(e,t,n)=>{delete E[e][t],A(e,t,n)},le={},ue=Date.now(),de=Pc(e()),fe=e=>e.replace(`${de}/`,``).replace(`${de}\\`,``),pe=(e,t,n,r,i,a)=>{E[e][Rc(t,n,r)]={old:i,oldOrig:a}},me=(e,t,n)=>{if(Xa(n))return;let r=Qa(n);if(Ja(n))E.npm[e]={old:to(n,t).version,new:``,oldOrig:n};else if(J(n))E.npm[e]={old:ho(n),new:``,oldOrig:n};else if(r)se.set(e,r),E.npm[e]={old:ho(r.range),new:``,oldOrig:n};else if(Ya(n))return;else ae[e]={old:n}},he=(e,t,n,r,i,a,o)=>{let s=new Set(Object.keys(t.tool?.uv?.sources??{}).map(Vc)),c=(t,r)=>{for(let{name:o,version:c,spec:l}of ye(t))s.has(Vc(o))||$(o,e,i,a,r)&&(pe(e,r,n,o,ho(c),c),ce.set(Rc(r,n,o),l))};for(let[s,l]of De(r,t)){let t=l||{};if(Array.isArray(t)){if(e!==`pypi`)continue;c(t,s)}else if(typeof t==`string`){let[r,o]=t.split(`@`);$(r,e,i,a,s)&&pe(e,s,n,r,ho(o),o)}else{if(e===`npm`&&(s===`overrides`||s===`pnpm.overrides`)){let r=s===`overrides`?[`overrides`]:[`pnpm`,`overrides`],c=(t,l)=>{for(let[u,d]of Object.entries(t))if(typeof d==`string`){let t=Ma(u===`.`?l.at(-1)??u:u);if(o?.has(t))continue;let c=Qa(d);if(!$(t,e,i,a,s,e,c?.name??t))continue;let f=[...r,...l,u],p=JSON.stringify(f),m=Rc(s,n,t,p);me(m,t,d)}else d&&typeof d==`object`&&!Array.isArray(d)&&c(d,[...l,u])};c(t,[]);continue}for(let[r,l]of Object.entries(t)){if(e===`pypi`&&Array.isArray(l)){c(l,`${s}.${r}`);continue}typeof l==`string`&&(o?.has(Hc(s,r))||$(r,e,i,a,s,e,(e===`npm`?Qa(l):null)?.name??r)&&(e===`npm`?me(Rc(s,n,r),r,l):e===`go`?pe(e,s,n,r,ki(l),Z(l)):J(l)&&pe(e,s,n,r,ho(l),l)))}}}},ge=Wc(n.files,de),M=new Map(await P(Array.from(ge).filter(e=>{if(Go(e))return C.has(`actions`)||C.has(`docker`);let t=l(e);return Vs(t)?C.has(`docker`):Gs(t)?C.has(`make`):C.has(Se[t])}),async e=>{try{return[e,await re(e,`utf8`)]}catch(t){throw Error(`Unable to open ${e}: ${t.message}`)}},{concurrency:r})),_e={},ve=[],xe=[],N=[],ke=[],je=[],Me=[],F=[],I=[],Ie={},L=(e,t,n)=>{(Ie[e]??=new Map).set(t===`.`?``:`|${t}`,n)},Le=t[Zt],Re=Le&&new Set(Le.cliKeys),ze=Object.fromEntries(Object.entries(n).filter(([e,t])=>t!==void 0&&(!Re||Re.has(e)))),R=We(async e=>{let t={...await ln(e),...ze};return{modeConfig:t,include:nn(t.include??[]),exclude:nn(t.exclude??[]),versionConfig:ee(t),pin:t.pin??{},pinNoDowngrade:t.pinNoDowngrade,cooldownDays:t.cooldown?Ne(String(t.cooldown)):0}});function Be(e,t){return t.types?.length?t.types:e===`npm`?be:e===`pypi`?Ce:e===`go`?t.indirect?we:we.filter(e=>e!==`indirect`):e===`cargo`?[...Te,...Ee]:[]}let Ve=(e,t)=>({modeConfig:e.modeConfig,versionConfig:e.versionConfig,projectDir:t,pin:e.pin,cooldownDays:e.cooldownDays}),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`?a:-1;continue}if(n===-1||!e[5])continue;let s=e[5].replace(/\s+#.*$/,``).trimEnd(),c=e[5].length-e[5].trimStart().length,l=/^(['"])(.*)\1$/.exec(s.trimStart()),u=l?.[2]??s.trimStart();t.push({selector:o,value:u,lineNumber:r,valueIndex:i.length-e[5].length+c+Number(!!l)})}return t};function Ue(e,t,n){if(E.docker??={},!$(e.fullImage,`docker`,n.include,n.exclude,`docker`))return;let r=`${e.tag}${e.digest?`@${e.digest}`:``}`,i=Lc(t,e.fullImage,r);if(E.docker[i])return;let a=os(e.tag);!a&&!e.digest||(E.docker[i]={old:a?.version??e.tag,oldOrig:e.tag,...e.digest&&{oldDigest:e.digest},...e.digestOnly&&{digestOnly:!0}},F.push({key:i,fullImage:e.fullImage,ref:e,versionConfig:n.versionConfig,filePin:n.pin,fileCooldownDays:n.cooldownDays}))}let z=new Map,V=new Map;for(let e of ge){let t=l(e);if(t===`package.json`){let t=M.get(e);if(!t)continue;try{let n=JSON.parse(t),r=Array.isArray(n.workspaces)?n.workspaces:n.workspaces?.packages;Array.isArray(r)&&r.some(e=>typeof e==`string`)&&V.set(e,n)}catch{}}else if(t===`Cargo.toml`){let t=M.get(e);if(!t)continue;try{let n=Ki(t),r=n.workspace?.members;Array.isArray(r)&&r.length&&z.set(e,n)}catch{}}}let Ge={cargo:z.size,go:Array.from(ge).filter(e=>l(e)===`go.work`).length,npm:new Set([...V.keys(),...Array.from(ge).filter(e=>l(e)===`pnpm-workspace.yaml`)]).size},Ke=(e,t,n,r,i)=>{let a=le[e]??=[],o=!a.length&&!Ge[e],s=o?`.`:fe(t);return a.push({absPath:m(t),content:n,memberPath:s,projectDir:r}),L(e,s,Ve(i,r)),o?``:`|${s}`},qe=(e,t)=>{try{return t()}catch(t){throw Error(`Error parsing ${e}: ${t.message}`)}},Je=(e,t,n)=>Ge[e]>1?`${fe(t)}:${n}`:n,H=(e,t,n,r,i,a,o)=>{let s=Je(`npm`,e,n.memberPath);L(`npm`,s,Ve(a,t)),ke.push({...n,memberPath:s}),he(`npm`,r,s===`.`?``:`|${s}`,i,a.include,a.exclude,o)};for(let e of z.size||V.size?new Set([...z.keys(),...V.keys(),...M.keys()]):M.keys()){if(Go(e)){let t=C.has(`actions`),n=C.has(`docker`),r=M.get(e),i=fe(e),a=await R(u(e)),s=new Set;_e[i]={absPath:e,content:r,fileType:`workflow`,workflowLines:s};let c=[];for(let[e,l]of r.split(/\r?\n/).entries()){if(t){let e=Vo(l),t=e&&Po(e.value);if(t&&$(t.name,`actions`,a.include,a.exclude,`actions`)){E.actions??={};let n=e.pinnedVersion||/^#\s*(\S+)\s*$/.exec(e.comment)?.[1]||``,r=t.isHash&&n?`${n}@${t.ref}`:t.ref,s=Lc(i,t.name,r);E.actions[s]||(E.actions[s]={old:t.ref},Me.push({...t,key:s,comment:n,apiUrl:Fo(t.host,o),versionConfig:a.versionConfig,filePin:a.pin,filePinNoDowngrade:a.pinNoDowngrade,fileCooldownDays:a.cooldownDays}))}}if(!n)continue;let r=zo(l,c);if(!r)continue;let{indent:u,key:d}=r,f=d===`container`&&c.length===2&&c[0].key===`jobs`,p=d===`image`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`container`||c.length===4&&c[0].key===`jobs`&&c[2].key===`services`),m=d===`uses`&&(c.length===3&&c[0].key===`jobs`&&c[2].key===`steps`||c.length===2&&c[0].key===`runs`&&c[1].key===`steps`);if((f||p||m)&&r.value){let t=as(r.value.replace(/\s+#.*$/,``).replace(/^(['"])(.*)\1$/,`$2`));t&&(Ue(t,i,a),s.add(e))}c.push({indent:u,key:d})}continue}let t=l(e),n=m(e);if(Vs(t)){let n=M.get(e),r=fe(e),i=Bs(t)?`dockerfile`:`compose`,a=await R(u(e));_e[r]={absPath:e,content:n,fileType:i};for(let{ref:e}of cs(n,Hs(t)))Ue(e,r,a);continue}if(Gs(t)){let t=M.get(e),n=fe(e),r=await R(u(e));_e[n]={absPath:e,content:t,fileType:`make`},E.make??={};let i={projectDir:u(e),versionConfig:r.versionConfig,filePin:r.pin,filePinNoDowngrade:r.pinNoDowngrade,fileCooldownDays:r.cooldownDays};for(let{installPath:e,version:a}of Xs(t)){if(!$(e,`make`,r.include,r.exclude,`make`,`go`))continue;let t=Lc(n,e,a);E.make[t]||(E.make[t]={old:Z(a),oldOrig:a},I.push({kind:`go`,key:t,name:e,oldSpec:`${e}@${a}`,installPath:e,version:a,...i}))}for(let e of ec(t)){if(!$(e.writtenImage,`make`,r.include,r.exclude,`make`,`docker`))continue;let t=Lc(n,e.writtenImage,e.ref.tag);if(E.make[t])continue;let a=os(e.ref.tag);if(!a)continue;let o=Qs(e.writtenImage,e.ref.tag,e.digest);E.make[t]={old:a.version,oldOrig:e.ref.tag},I.push({kind:`docker`,key:t,name:e.writtenImage,oldSpec:o,image:e,...i})}continue}let i=Se[t];if(t===`go.work`){E[i]??={};let t=u(n),a=M.get(e),o=Ti(a),[{modeConfig:s,include:c,exclude:l,versionConfig:d,pin:f,cooldownDays:p},m]=await Promise.all([R(t),P(o.use,async e=>{let n=Ei(t,e);if(!n)return null;try{return{usePath:e,modPath:n,content:await re(n,`utf8`)}}catch{return null}},{concurrency:r})]),h=Be(i,s),g=Je(i,e,`.`),_=Ve({modeConfig:s,versionConfig:d,pin:f,cooldownDays:p},t);L(i,g,_),xe.push({file:e,content:a,memberPath:g});let v=new Set,y=[];for(let e of m){if(!e)continue;let t=ni(e.content);t&&v.add(t),y.push({...e,parsed:ri(e.content)})}for(let{usePath:t,modPath:n,content:r,parsed:a}of y){let o=Je(i,e,t);L(i,o,_),ve.push({absPath:n,content:r,projectDir:u(n),memberPath:o}),he(i,a,o===`.`?``:`|${o}`,h,c,l,v)}for(let[e,t]of Object.entries(o.replace))!v.has(e)&&$(e,i,c,l,`replace`)&&pe(i,`replace`,g===`.`?``:`|${g}`,e,ki(t),Z(t));continue}if(t===`go.mod`&&ve.some(e=>e.absPath===n)||t===`package.json`&&ke.some(e=>e.absPath===n)||t===`Cargo.toml`&&N.some(e=>e.absPath===n))continue;if(t===`Cargo.toml`){E[i]??={};let t=M.get(e),a=z.get(e)??Ki(t),o=u(n),s=Fc([`Cargo.lock`],o).get(`Cargo.lock`),c=a.workspace?.members,l=Array.isArray(c)&&c.length>0,[d,f,p]=await Promise.all([R(o),s?re(s,`utf8`):null,l?ga(c,o,`Cargo.toml`,r):[]]),{modeConfig:m,include:h,exclude:g}=d,_=Be(i,m),v=f?fc(f):new Map,y=(e,t)=>{for(let[n,r]of De(_,e)){let e=r||{};if(!(typeof e!=`object`||Array.isArray(e))){for(let[r,a]of Object.entries(e))if($(r,i,h,g,n)){if(typeof a==`object`&&a&&`version`in a&&!(`git`in a)&&!(`path`in a)&&!(`registry`in a)){let e=a.version,o=a.package||r;J(gc(e))&&(o!==r&&oe.set(Rc(n,t,r),o),pe(i,n,t,r,yc(v,o,e)??ho(gc(e)),e))}else typeof a==`string`&&J(gc(a))&&pe(i,n,t,r,yc(v,r,a)??ho(gc(a)),a)}}}};if(l){let r=Je(i,e,`.`),s=Ve(d,o);L(i,r,s),y(a,r===`.`?``:`|${r}`),N.push({absPath:n,content:t,memberPath:r});for(let t of p){let n=Je(i,e,t.memberPath);L(i,n,s),N.push({...t,memberPath:n}),y(qe(t.absPath,()=>Ki(t.content)),`|${n}`)}}else y(a,Ke(i,e,t,o,d));continue}if(t===`package.json`&&V.has(e)){E[i]??={};let t=u(n),a=M.get(e),o=V.get(e),s=Array.isArray(o.workspaces)?o.workspaces:o.workspaces?.packages,c=Array.isArray(s)?s.filter(e=>typeof e==`string`):[],[l,d]=await Promise.all([R(t),ga(c,t,`package.json`,r)]),f=Be(i,l.modeConfig),p=new Set,m=[];for(let e of d){let t=qe(e.absPath,()=>JSON.parse(e.content));typeof t.name==`string`&&t.name&&p.add(t.name),m.push({member:e,pkg:t})}H(e,t,{absPath:n,content:a,memberPath:`.`},o,f,l,p);for(let{member:n,pkg:r}of m)H(e,t,n,r,f,l,p);continue}if(t===`pnpm-workspace.yaml`){E[i]??={};let a=u(n),o=M.get(e),s=ka(o),c=f(a,`package.json`),[l,d,p]=await Promise.all([R(a),Fe(re(c,`utf8`)),ga(s,a,`package.json`,r)]),h=Be(i,l.modeConfig),g=Je(i,e,t);L(i,g,Ve(l,a)),je.push({absPath:n,content:o,memberPath:g});for(let{type:e,name:t,value:n}of Da(o))$(t,i,l.include,l.exclude,e,i,Qa(n)?.name??t)&&me(Rc(e,`|${g}`,t),t,n);for(let{selector:e,value:t}of He(o)){let n=e.match(/(?:^|>)(?:@[^/>\s]+\/[^@>\s]+|[^@>\s]+)(?=@|>|$)/g)?.at(-1)?.replace(/^>/,``)??e,r=`pnpm-workspace.overrides`;if(!$(e,i,l.include,l.exclude,r,i,n))continue;let a=JSON.stringify(e),o=Rc(r,`|${g}`,e,a);D.set(o,n),O.set(o,e),me(o,e,t)}if(d!==null){let t=qe(c,()=>JSON.parse(d));H(e,a,{absPath:m(c),content:d,memberPath:`.`},t,h,l)}for(let t of p)H(e,a,t,qe(t.absPath,()=>JSON.parse(t.content)),h,l);continue}E[i]??={};let a=u(n),s=await R(a),{modeConfig:c,include:d,exclude:p}=s,h=Be(i,c),g=M.get(e);he(i,qe(e,()=>i===`npm`?JSON.parse(g):i===`pypi`?Ki(g):ri(g)),Ke(i,e,g,a,s),h,d,p)}let Ye=Object.keys(ae).length>0;if(!Bc(E)&&!Ye)return{results:{},message:`No dependencies found, nothing to do.`};let Xe=[],Ze=(e,t)=>D.get(e)??se.get(e)?.name??Hc(e.split(`\0`)[0].split(`|`)[0],t),Qe={needsDates:Ie.npm?.values().some(e=>e.cooldownDays||e.versionConfig.hasCooldownOverride)??!1};for(let[e,t]of Object.entries(Ie))!Object.keys(E[e]).length&&(e!==`npm`||!Ye)||Xe.push((async()=>{let i=t.values().next().value,a=e=>{let n=e.indexOf(`|`);return t.get(n===-1?``:e.slice(n))??i},o=new Map,s=E[e],c=async(t,r,i)=>{let c=da(r),{modeConfig:l,versionConfig:u,projectDir:f,pin:p,cooldownDays:m}=a(r),h=s[t],_=se.get(t),[v,y]=await(e===`npm`?h.oldOrig&&Ja(h.oldOrig)?no(i,b):Ka(Ze(t,i),c,l,Qe,b,f,h.old):e===`go`?vi(i,r,h.oldOrig||h.old,f,b,d):e===`cargo`?dc(oe.get(t)??i,b):Co(i,b)),x=v;if(x.error)throw Error(x.error);let S=c===`packageManager`?i:x.name,{useGreatest:C,usePre:ee,useRel:w,semvers:te,allowDowngrade:ne,allowedVersions:T,pinnedRange:re,pinNoDowngrade:E,cooldownDays:ae}=ie(u,e,S,i,p,l.pinNoDowngrade,m);x=Xc(x,e,T);let{old:D,oldOrig:O}=h,k=qn(x,{usePre:ee,useRel:w,useGreatest:C,semvers:te,range:D,mode:e,pinnedRange:re,pinNoDowngrade:E,allowDowngrade:ne,cooldownDays:ae||void 0,now:ae?ue:void 0}),A=``;if((e===`go`||e===`pypi`)&&k)A=k;else if(e===`cargo`&&k&&O)A=vc(O,k);else if(k){if(O&&Ja(O)){let e=Nc.exec(O);e?A=`${e[1]}${k}`:O.startsWith(`jsr:`)&&(A=`jsr:${k}`)}else A=_?`npm:${_.name}@${mo(D,k,_.range,c)}`:mo(D,k,O,c)}let j=ce.get(t);if(!k||k===D||O&&O===A||j&&!Oo(j,O||D,A)){n.verbose&&k&&k!==D&&console.error(`${Ae()} ${g(`SKIP`)} ${i}: ${O||D} can not be rewritten to ${k}`),delete s[t];return}let le=(e===`pypi`?x.releases?.[k]?.[0]?.upload_time_iso_8601:e===`go`?x.Time:e===`cargo`?x.time?.[k]:``)||``;h.new=A,O&&Ja(O)&&(h.newPrint=k),e===`npm`?o.set(t,{name:Ze(t,i),promise:qa(x.name,k,l,Qe,b,f)}):h.info=e===`pypi`?jr(x,y,x.info.name):e===`go`?Di(x.newPath||i):`https://crates.io/crates/${x.name}`,Ic(h,le)};if(await P(Object.keys(s),async t=>{let[n,r]=t.split(`\0`);try{await c(t,n,r)}catch(n){j(e,t,n)}},{concurrency:r}),await Promise.all(Array.from(o,async([e,{name:t,promise:n}])=>{let r=await n,i=s[e];i&&(i.info=jr({repository:r.repository,homepage:r.homepage},null,t),Ic(i,r.date))})),e===`npm`&&Ye){let e=(await P(Object.entries(ae),async([e,t])=>{try{return await yo(e,t,b)}catch(t){return A(`npm`,e,t),null}},{concurrency:r})).filter(e=>e!==null);for(let{key:t,newRange:n,user:r,repo:i,oldRef:a,newRef:o,newDate:c}of e)Ic(s[t]={old:ae[t].old,new:n,oldPrint:pr.test(a)?a.substring(0,7):a,newPrint:pr.test(o)?o.substring(0,7):o,info:`https://github.com/${r}/${i}`},c)}for(let[t,{date:n}]of Object.entries(s)){if(!n)continue;let[r,i]=t.split(`\0`),{cooldownDays:o,versionConfig:c}=a(r);if(!o&&!c.hasCooldownOverride)continue;let l=e===`npm`?Ze(t,i):i,u=te(c,e,l,i).cooldownOverride??o;u&&!xn(n,u,ue)&&delete s[t]}})());let U=e=>ie(e.versionConfig,`actions`,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays);Me.length&&Xe.push((async()=>{await P(Map.groupBy(Me,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?!Dc(e):mr(e.ref)),o=a.some(e=>{let{allowDowngrade:t,pinnedRange:n,pinNoDowngrade:r}=U(e);return t||!!(n&&!r)}),s=[...a.map(e=>e.isHash&&e.comment||e.ref),...t===wn.forgeapi?[]:e.filter(Dc).map(e=>e.comment)],c=[];try{s.length&&(c=await Er(t,n,i,b,o?[]:s,!!a.length))}catch(t){for(let n of e)j(`actions`,n.key,t);return}let l=[],u=new Map,d=new Map,f=new Map;for(let e of c){d.set(e.name,e);let t=kt.parse(e.name)?.version;if(t&&e.isStable!==!1){let n=u.get(t);n||l.push(t),(!n||e.name.length>n.length)&&u.set(t,e.name)}e.commitSha&&f.set(e.commitSha,e.name)}let p=We(e=>Io(t,n,i,e,b)),m=We(async e=>{let r=d.get(e)?.commitSha;if(r)return r;let a=t===wn.forgeapi?`commits`:`branches`,o=await lr(`${t}/repos/${n}/${i}/${a}/${encodeURIComponent(e)}`,b);if(o.status===404)return``;if(!o.ok)throw Error(`Unable to fetch ${n}/${i}@${e}`);let s=await o.json();return typeof s?.sha==`string`?s.sha:typeof s?.id==`string`?s.id:typeof s?.commit?.sha==`string`?s.commit.sha:typeof s?.commit?.id==`string`?s.commit.id:``});async function h(e,t){let r={...e,cooldownDays:void 0,now:void 0},a=new Set;for(let o=0;o<100;o++){let o=Gn({},a.size?t.filter(e=>!a.has(e)):t,r);if(!o)return null;let s=u.get(o),c=d.get(s).commitSha;if(!e.cooldownDays)return{version:o,tag:s,commitSha:c,date:``};let l=c?await p(c):``;if(l===void 0)throw Error(`Unable to fetch the commit date for ${n}/${i}@${s}`);if(xn(l,e.cooldownDays,e.now))return{version:o,tag:s,commitSha:c,date:l};a.add(o)}return null}let g=async e=>{let{key:t,host:r,ref:a,comment:o,isHash:s}=e,c=E.actions[t],u=`https://${r||`github.com`}/${n}/${i}`,g=a;if(s?g=o||f.get(a)||f.entries().find(([e])=>e.startsWith(a))?.[1]||``:mr(a)||(g=``),!g){delete E.actions[t];return}let{useGreatest:_,usePre:v,useRel:y,semvers:b,allowDowngrade:x,allowedVersions:S,pinnedRange:C,pinNoDowngrade:ee,cooldownDays:w}=U(e),te=mr(g)?await h({range:g,semvers:b,useGreatest:_,usePre:v,useRel:y,allowDowngrade:x,versioning:kt,pinnedRange:C,pinNoDowngrade:ee,cooldownDays:w||void 0,now:w?ue:void 0},S?l.filter(Yc(`actions`,S)):l):null;if(!te){if(!s||!o){delete E.actions[t];return}let e=await m(o);if(!e||e.startsWith(a)||a.startsWith(e)){delete E.actions[t];return}c.old=o,c.new=o,c.oldDigest=a,c.newDigest=e,c.digestOnly=!0,c.info=u,Ic(c,await Fe(p(e)));return}let{tag:ne,commitSha:T,date:re}=te;if(s){if(!T||T.startsWith(a)||a.startsWith(T)){delete E.actions[t];return}c.old=a,c.new=T.substring(0,a.length),c.oldPrint=g,c.newPrint=ne}else{let e=Lo(ne,a);if(e===a){delete E.actions[t];return}c.new=d.has(e)?e:ne}c.info=u,Ic(c,re||(T?await Fe(p(T)):``))};await P(e,async e=>{try{await g(e)}catch(t){j(`actions`,e.key,t)}},{concurrency:r})},{concurrency:r}),Object.keys(E.actions).length||delete E.actions})()),F.length&&Xe.push((async()=>{await P(Map.groupBy(F,e=>e.fullImage).entries(),async([e,t])=>{if(t[0].ref.registry){for(let e of t)delete E.docker[e.key];return}let n;try{let[t]=await ys(e,b);n=t}catch(e){for(let n of t)j(`docker`,n.key,e);return}await P(t,async t=>{try{let r=E.docker[t.key],i=r.oldOrig||r.old,{semvers:a,usePre:o,useRel:s,allowedVersions:c,pinnedRange:l,cooldownDays:u}=ie(t.versionConfig,`docker`,e,e,t.filePin,void 0,t.fileCooldownDays),d=Xc(n,`docker`,c).tags,f=!t.ref.digestOnly&&os(i)?js(d,i,a,u||void 0,u?ue:void 0,l,o,s):null,p=f?.newTag??i;if(t.ref.digest){let e=await S(t.ref.namespace,t.ref.repo,p);if(!e||e===t.ref.digest&&!f){delete E.docker[t.key];return}r.oldDigest=t.ref.digest,r.newDigest=e,r.digestOnly=t.ref.digestOnly}else if(!f){delete E.docker[t.key];return}r.new=p,r.info=Us(t.ref),Ic(r,f?.date)}catch(e){j(`docker`,t.key,e)}},{concurrency:r})},{concurrency:r}),Object.keys(E.docker).length||delete E.docker})()),I.length&&Xe.push((async()=>{await P(I,async e=>{let{useGreatest:t,usePre:n,useRel:r,semvers:i,allowDowngrade:a,allowedVersions:o,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l}=ie(e.versionConfig,e.kind,e.name,e.name,e.filePin,e.filePinNoDowngrade,e.fileCooldownDays),u={semvers:i,useGreatest:t,usePre:n,useRel:r,allowDowngrade:a,pinnedRange:s,pinNoDowngrade:c,cooldownDays:l||void 0,now:l?ue:void 0},f=E.make[e.key];try{if(e.kind===`go`){let t=await ac(e.installPath,e.projectDir,b,d);if(!t){delete E.make[e.key];return}let[n]=await vi(t,`tool`,Z(e.version),e.projectDir,b,d),r=Xc(n,`go`,o),i=qn(r,{...u,mode:`go`,range:Z(e.version)});if(!i){delete E.make[e.key];return}let a=r.newPath??Gr(t,i),s=`${a}${e.installPath.slice(t.length)}`,c=Or(i,e.version);if(s===e.installPath&&c===e.version){delete E.make[e.key];return}e.newSpec=`${s}@${c}`,f.new=c,f.info=Di(a),Ic(f,r.Time)}else{let[t]=await ys(e.image.ref.fullImage,b),n=Xc(t,`docker`,o).tags,r=js(n,e.image.ref.tag,u.semvers,u.cooldownDays,u.now,u.pinnedRange,u.usePre,u.useRel);if(!r){delete E.make[e.key];return}let i=e.image.digest?await S(e.image.ref.namespace,e.image.ref.repo,r.newTag):null;if(e.image.digest&&!i){delete E.make[e.key];return}e.newSpec=Qs(e.image.writtenImage,r.newTag,i),f.new=r.newTag,f.info=Us(e.image.ref),Ic(f,r.date)}}catch(t){j(`make`,e.key,t)}},{concurrency:r}),Object.keys(E.make).length||delete E.make})());try{await Promise.all(Xe)}finally{n.noCache||await yn()}if(!Bc(E))return k.length?{results:{},errors:k}:{results:{},message:`All dependencies are up to date.`};let $e=(e,t)=>{let n=e.split(`
69
+ `),r=new Map(He(e).map(e=>[e.selector,e]));for(let[e,i]of O){let a=E.npm?.[e],o=r.get(i);if(!a||!zc(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(`
70
+ `)};if(n.update){let e=(e,t,n)=>{for(let r of t){let t=pa(E[e],r.memberPath);Object.keys(t).length&&Gc(r.absPath,n(r.content,t,r))}},t=new Map(Me.map(e=>[e.key,e.comment])),n=e=>Map.groupBy(e,([e])=>e.split(`\0`)[0]),r=n(Object.entries(E.actions??{})),i=n(Object.entries(E.docker??{})),a=Map.groupBy(I.filter(e=>e.newSpec&&E.make?.[e.key]),e=>e.key.split(`\0`)[0]);for(let n of Object.keys(E).sort((e,t)=>(e===`docker`)-+(t===`docker`)))if(Object.keys(E[n]).length){if(n===`actions`){for(let[e,n]of r){let{absPath:r,content:i}=_e[e]||{};if(!r)continue;let a=Uo(i,n.map(([e,n])=>{let r=n.oldDigest??n.old;return{name:e.split(`\0`)[1],oldRef:r,newRef:n.newDigest?n.newDigest.substring(0,r.length):n.new,oldComment:t.get(e)||void 0,newComment:n.digestOnly?void 0:pr.test(n.old)?n.newPrint:void 0}}));Gc(r,a),_e[e].content=a}continue}if(n===`docker`){for(let[e,t]of i){let n=_e[e];if(!n)continue;let{absPath:r,content:i,fileType:a,workflowLines:o}=n;Gc(r,(a===`dockerfile`?Fs:a===`compose`?Is:(e,t)=>e.split(`
71
+ `).map((e,n)=>o.has(n)?Ls(e,t):e).join(`
72
+ `))(i,Object.fromEntries(t)))}continue}if(n===`make`){for(let[e,t]of a){let n=_e[e];n&&Gc(n.absPath,oc(n.content,t.map(e=>({oldSpec:e.oldSpec,newSpec:e.newSpec}))))}continue}if(n===`go`){for(let e of[...ve,...le.go??[]]){let t=pa(E[n],e.memberPath);if(!Object.keys(t).length)continue;let[r,i]=bi(e.content,t);r!==e.content&&Gc(e.absPath,r),wi(e.projectDir,i,Gc)}for(let e of xe){let t=Object.fromEntries(Object.entries(pa(E[n],e.memberPath)).filter(([e])=>da(e.split(`\0`)[0])===`replace`));if(Object.keys(t).length){let[n]=bi(e.content,t);n!==e.content&&Gc(e.file,n)}}}else n===`cargo`?e(n,[...N,...le.cargo??[]],Tc):n===`npm`?(e(n,je,(e,t,n)=>$e(Oa(e,t),n.memberPath)),e(n,[...ke,...le.npm??[]],ro)):e(n,le[n]??[],No)}}let et=Jc(E);return k.length&&(et.errors=k),et}export{Bi as n,Zt as r,Zc as t};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "updates",
3
- "version": "18.0.7",
3
+ "version": "18.0.8",
4
4
  "description": "CLI to update npm, uv, cargo, go, docker and actions dependencies",
5
5
  "author": "silverwind",
6
6
  "repository": {
@@ -42,11 +42,11 @@
42
42
  "bun": "*"
43
43
  },
44
44
  "devDependencies": {
45
- "@types/node": "26.3.0",
45
+ "@types/node": "26.4.1",
46
46
  "@typescript/native-preview": "7.0.0-dev.20260707.2",
47
47
  "@vitest/coverage-v8": "4.1.11",
48
48
  "eslint": "10.9.1",
49
- "eslint-config-silverwind": "145.0.1",
49
+ "eslint-config-silverwind": "146.0.0",
50
50
  "timerel": "5.9.0",
51
51
  "tsdown": "0.22.14",
52
52
  "tsdown-config-silverwind": "4.0.3",