Compare commits

..
Author SHA1 Message Date
bot-githubaction 448b3fda2e [bot] Update dist directory 2026-06-29 17:11:01 +00:00
Daz DeBoerandClaude Opus 4.8 d97d29c992 Include repo identity in the /register link
The not-registered job-summary link and the core.notice pointed at the bare
/register URL, so the page replied 'owner and repo are required'. Append
?owner=&repo= from GITHUB_REPOSITORY so the backend can resolve the installation.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 11:10:06 -06:00
bot-githubaction 294a727064 [bot] Update dist directory 2026-06-29 16:37:33 +00:00
Daz DeBoerandClaude Opus 4.8 1bbceb8c10 Point /register link at the actual deployment hostname
Match the corrected backend host (actions-caching-registration.vercel.app) in the
not-registered notice, and refresh the vendored gradle-actions-caching to 0.9.2.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 10:36:40 -06:00
bot-githubaction 8a24b30373 [bot] Update dist directory 2026-06-26 22:02:33 +00:00
Daz DeBoerandClaude Opus 4.8 bc54cf57d1 Support repo-registration as a second enablement path for project-entry caching
Configuration-cache store/restore is now enabled when EITHER a valid Develocity
JWT OR per-repo registration (a GitHub App installation that accepted the T&C) is
present. The gate itself lives in the vendored gradle-actions-caching library
(refreshed to 0.9.1); this repo wires up the reporting and notice.

- ProjectCacheStatus: 'trial-not-licensed' -> 'not-registered'.
- caching-report: render the 'not-registered' line with a /register link, and add
  renderProjectCacheNotice() for a prominent core.notice.
- setup-gradle: emit the notice from complete() only when withheld via the
  registration path; quiet when enabled by either path.
- Refresh vendored gradle-actions-caching to 0.9.1.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 16:01:43 -06:00
112 changed files with 2264 additions and 5647 deletions

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@ name: 'Build and upload distribution'
runs:
using: "composite"
steps:
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
cache: npm
+1 -1
View File
@@ -10,7 +10,7 @@ runs:
using: "composite"
steps:
- name: Setup Java
uses: actions/setup-java@b6effb05e454b25005698d916606bdc6ffcbf961 # v5.7.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: 'temurin'
java-version: ${{ inputs.java-version }}
-12
View File
@@ -15,18 +15,6 @@ updates:
npm-dependencies:
patterns:
- "*"
ignore:
- dependency-name: "typescript"
versions: ["7.x"]
- dependency-name: "@types/node"
versions: ["25.x", "26.x"]
# jest 30.5.0 reworked the ESM module registry, and nock no longer intercepts requests
# made through @actions/http-client (undici): every mocked test silently hits the real
# network instead. nock 15 does not fix it. Drop these two once they interoperate again.
- dependency-name: "jest"
versions: [">=30.5.0"]
- dependency-name: "@jest/globals"
versions: [">=30.5.0"]
- package-ecosystem: "github-actions"
# github-actions with directory: "/" only monitors .github/workflows
# https://github.com/dependabot/dependabot-core/issues/6345
-3
View File
@@ -3,6 +3,3 @@
# Ignore Gradle build output directory
build
# Marker file written when the 'test' task is configured
task-configured.txt
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=acd53f1edaf02f1a8ff99879f8a34b302661a057d9b063ae9e35b552f804d20a
distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip
distributionSha256Sum=bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
@@ -20,7 +20,7 @@
##############################################################################
#
# gradlew start up script for POSIX generated by Gradle.
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh gradlew
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -19,7 +19,7 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem gradlew startup script for Windows
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@@ -72,7 +72,7 @@ echo location of your Java installation. 1>&2
@rem Execute gradlew
@rem Execute Gradle
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=acd53f1edaf02f1a8ff99879f8a34b302661a057d9b063ae9e35b552f804d20a
distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip
distributionSha256Sum=bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
+2 -2
View File
@@ -20,7 +20,7 @@
##############################################################################
#
# gradlew start up script for POSIX generated by Gradle.
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh gradlew
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -19,7 +19,7 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem gradlew startup script for Windows
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@@ -72,7 +72,7 @@ echo location of your Java installation. 1>&2
@rem Execute gradlew
@rem Execute Gradle
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
@@ -1,5 +1,5 @@
plugins {
id "com.gradle.develocity" version "4.5.1"
id "com.gradle.develocity" version "4.4.2"
id "com.gradle.common-custom-user-data-gradle-plugin" version "2.4.0"
}
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=acd53f1edaf02f1a8ff99879f8a34b302661a057d9b063ae9e35b552f804d20a
distributionUrl=https\://services.gradle.org/distributions/gradle-9.7.1-bin.zip
distributionSha256Sum=bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
@@ -20,7 +20,7 @@
##############################################################################
#
# gradlew start up script for POSIX generated by Gradle.
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh gradlew
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
@@ -19,7 +19,7 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem gradlew startup script for Windows
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@@ -72,7 +72,7 @@ echo location of your Java installation. 1>&2
@rem Execute gradlew
@rem Execute Gradle
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
@@ -1,7 +1,7 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=bafd5ce9cfaea0fbccfdc8439a1ac42fbd4cd9c89dc9a988228d8a2639a58e6c
distributionUrl=https\://services.gradle.org/distributions/gradle-9.8.0-bin.zip
distributionSha256Sum=bafc141b619ad6350fd975fc903156dd5c151998cc8b058e8c1044ab5f7b031f
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
networkTimeout=10000
retries=0
retryBackOffMs=500
+2 -2
View File
@@ -20,7 +20,7 @@
##############################################################################
#
# gradlew start up script for POSIX generated by Gradle.
# Gradle start up script for POSIX generated by Gradle.
#
# Important for running:
#
@@ -29,7 +29,7 @@
# bash, then to run this script, type that shell name before the whole
# command line, like:
#
# ksh gradlew
# ksh Gradle
#
# Busybox and similar reduced shells will NOT work, because this script
# requires all of these POSIX shell features:
+13 -43
View File
@@ -19,40 +19,13 @@
@if "%DEBUG%"=="" @echo off
@rem ##########################################################################
@rem
@rem gradlew startup script for Windows
@rem Gradle startup script for Windows
@rem
@rem ##########################################################################
@rem Set local scope for the variables, and ensure extensions are enabled
setlocal EnableExtensions
@rem Catch executions from older scripts and ensure they exit cleanly.
@rem This can be removed once we can be reasonably confident that few people
@rem will be migrating directly to this new wrapper.
goto afterSafetyNet
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
goto exitWithErrorLevel
:afterSafetyNet
set DIRNAME=%~dp0
if "%DIRNAME%"=="" set DIRNAME=.
@rem This is normally unused
@@ -72,14 +45,13 @@ set JAVA_EXE=java.exe
%JAVA_EXE% -version >NUL 2>&1
if %ERRORLEVEL% equ 0 goto execute
1>&2 echo.
1>&2 echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
1>&2 echo.
1>&2 echo Please set the JAVA_HOME variable in your environment to match the
1>&2 echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
"%COMSPEC%" /c exit 1
goto exitWithErrorLevel
:findJavaFromJavaHome
set JAVA_HOME=%JAVA_HOME:"=%
@@ -87,26 +59,24 @@ set JAVA_EXE=%JAVA_HOME%/bin/java.exe
if exist "%JAVA_EXE%" goto execute
1>&2 echo.
1>&2 echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
1>&2 echo.
1>&2 echo Please set the JAVA_HOME variable in your environment to match the
1>&2 echo location of your Java installation.
echo. 1>&2
echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% 1>&2
echo. 1>&2
echo Please set the JAVA_HOME variable in your environment to match the 1>&2
echo location of your Java installation. 1>&2
"%COMSPEC%" /c exit 1
goto exitWithErrorLevel
:execute
@rem Setup the command line
@rem Execute gradlew
@rem Execute Gradle
@rem endlocal doesn't take effect until after the line is parsed and variables are expanded
@rem which allows us to clear the local environment before executing the java command
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel & goto exitWithErrorLevel
endlocal & "%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -jar "%APP_HOME%\gradle\wrapper\gradle-wrapper.jar" %* & call :exitWithErrorLevel
@rem This label must not be changed. We rely on old scripts being able to jump to this point.
:exitWithErrorLevel
@rem Use "%COMSPEC%" /c exit to allow operators to work properly in scripts
"%COMSPEC%" /c exit %ERRORLEVEL%
@@ -1,5 +1,5 @@
plugins {
id("com.gradle.develocity") version "4.5.1"
id("com.gradle.develocity") version "4.4.2"
id("com.gradle.common-custom-user-data-gradle-plugin") version "2.4.0"
}
@@ -1,5 +1,5 @@
plugins {
id "com.gradle.develocity" version "4.5.1"
id "com.gradle.develocity" version "4.4.2"
}
develocity {
@@ -1,5 +1,5 @@
plugins {
id "com.gradle.develocity" version "4.5.1"
id "com.gradle.develocity" version "4.4.2"
}
develocity {
@@ -1,5 +1,5 @@
plugins {
id "com.gradle.develocity" version "4.5.1"
id "com.gradle.develocity" version "4.4.2"
}
develocity {
+4 -4
View File
@@ -18,15 +18,15 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
node-version: 20
cache: npm
cache-dependency-path: sources/package-lock.json
- name: Setup Gradle
# Use a released version to avoid breakages
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0
uses: gradle/actions/setup-gradle@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6.1.0
env:
ALLOWED_GRADLE_WRAPPER_CHECKSUMS: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 # Invalid wrapper jar used for testing
with:
@@ -15,7 +15,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
+3 -3
View File
@@ -31,11 +31,11 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v3.29.5
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v3.29.5
with:
languages: ${{ matrix.language }}
config: |
@@ -43,4 +43,4 @@ jobs:
- sources/src
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@cdf488f595d80d6e07e03d4674febd5ab45fa938 # v3.29.5
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e # v3.29.5
+3 -3
View File
@@ -18,7 +18,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
fetch-depth: 0
# Detect whether anything relevant to the init-script tests changed.
@@ -36,14 +36,14 @@ jobs:
sources/test/init-scripts/**
- name: Setup Java
if: steps.changes.outputs.any_changed == 'true' || github.event_name != 'pull_request'
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: 17
- name: Setup Gradle
if: steps.changes.outputs.any_changed == 'true' || github.event_name != 'pull_request'
# Use a released version to avoid breakages
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0
uses: gradle/actions/setup-gradle@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6.1.0
env:
ALLOWED_GRADLE_WRAPPER_CHECKSUMS: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 # Invalid wrapper jar used for testing
- name: Run integration tests
-11
View File
@@ -14,16 +14,6 @@ permissions:
contents: read
jobs:
smoke-tests:
uses: ./.github/workflows/suite-smoke-test-caching.yml
concurrency:
group: CI-smoke-test-caching
cancel-in-progress: false
with:
skip-dist: true
runner-os: '["ubuntu-latest", "windows-latest"]'
secrets: inherit
caching-integ-tests:
uses: ./.github/workflows/suite-integ-test-caching.yml
concurrency:
@@ -36,7 +26,6 @@ jobs:
other-integ-tests:
permissions:
contents: write
actions: read
needs: caching-integ-tests
uses: ./.github/workflows/suite-integ-test-other.yml
concurrency:
+2 -15
View File
@@ -19,21 +19,11 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Build and upload distribution
if: ${{ needs.determine-suite.outputs.suite != 'full' }}
uses: ./.github/actions/build-dist
smoke-tests:
needs: build-distribution
uses: ./.github/workflows/suite-smoke-test-caching.yml
concurrency:
group: CI-smoke-test-caching-${{ github.ref }}
cancel-in-progress: false
with:
skip-dist: false
runner-os: '["ubuntu-latest", "windows-latest"]'
secrets: inherit
caching-integ-tests:
needs: build-distribution
uses: ./.github/workflows/suite-integ-test-caching.yml
@@ -47,7 +37,6 @@ jobs:
other-integ-tests:
permissions:
contents: write
actions: read
needs: caching-integ-tests
uses: ./.github/workflows/suite-integ-test-other.yml
concurrency:
@@ -75,7 +64,6 @@ jobs:
if: ${{ always() }}
needs:
- build-distribution
- smoke-tests
- caching-integ-tests
- other-integ-tests
- dependency-submission-integ-tests
@@ -86,7 +74,6 @@ jobs:
run: |
echo "One or more integ-test jobs did not succeed:"
echo " build-distribution: ${{ needs.build-distribution.result }}"
echo " smoke-tests: ${{ needs.smoke-tests.result }}"
echo " caching-integ-tests: ${{ needs.caching-integ-tests.result }}"
echo " other-integ-tests: ${{ needs.other-integ-tests.result }}"
echo " dependency-submission-integ-tests: ${{ needs.dependency-submission-integ-tests.result }}"
+2 -2
View File
@@ -21,13 +21,13 @@ jobs:
steps:
- name: 'Checkout code'
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
persist-credentials: false
show-progress: false
- name: 'Run analysis'
uses: ossf/scorecard-action@2d1146689b8cda280b9bc96326124645441f03bc # v2.4.4
uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
with:
results_file: results.sarif
results_format: sarif
+4 -4
View File
@@ -23,14 +23,14 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
token: ${{ secrets.BOT_GITHUB_TOKEN }}
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
node-version: 20
cache: npm
cache-dependency-path: sources/package-lock.json
@@ -73,7 +73,7 @@ jobs:
# Important: The push event will not trigger any other workflows, see
# https://github.com/stefanzweifel/git-auto-commit-action?tab=readme-ov-file#commits-made-by-this-action-do-not-trigger-new-workflow-runs
- name: Commit & push changes
uses: stefanzweifel/git-auto-commit-action@4a55954c782fc1ea30b9056cd3e7a2b40ca8887d # v7.2.0
uses: stefanzweifel/git-auto-commit-action@04702edda442b2e678b25b537cec683a1493fcb9 # v7.1.0
with:
commit_author: bot-githubaction <bot-githubaction@gradle.com>
commit_user_name: bot-githubaction
+1 -1
View File
@@ -15,7 +15,7 @@ jobs:
validate-typings:
runs-on: "ubuntu-latest"
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: typesafegithub/github-actions-typing@9ddf35b71a482be7d8922b28e8d00df16b77e315 # v2.2.2
with:
ignored-action-files: |
+2 -2
View File
@@ -11,7 +11,7 @@ jobs:
validation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: gradle/actions/wrapper-validation@9c971963bec38e04b3d30dcc455b5382be2fdbfb # v6.3.0
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: gradle/actions/wrapper-validation@50e97c2cd7a37755bbfafc9c5b7cafaece252f6e # v6.1.0
with:
allow-checksums: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
+10 -100
View File
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Build and upload distribution
uses: ./.github/actions/build-dist
@@ -20,7 +20,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -46,7 +46,7 @@ jobs:
run: |
./gradlew tasks --no-daemon
./gradlew help check
./gradlew :wrapper --gradle-version 8.7 --gradle-distribution-sha256-sum 544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d
./gradlew wrapper --gradle-version 8.7 --gradle-distribution-sha256-sum 544c35d6bd849ae8a5ed0bcea39ba677dc40f49df7d1835561582da2009b961d
- name: Fail groovy-dsl project
working-directory: .github/workflow-samples/groovy-dsl
continue-on-error: true
@@ -57,85 +57,12 @@ jobs:
build-root-directory: .github/workflow-samples/groovy-dsl
dependency-graph: generate-and-upload
# Exercises every Gradle version support status in a single Job Summary: end-of-life versions all
# share one expandable section and are each marked with a warning sign, out-of-date versions share
# a single info sign and legend, and the current version is left unmarked.
# Three end-of-life versions and two out-of-date ones exercise the plural wording throughout, and
# the two 7.x versions alongside a 6.x one check that each affected release line is named once,
# as "Gradle 6.x and 7.x releases".
# Versions are picked relative to Gradle 9.x being current; revisit once Gradle 10 is released.
support-status-eol-and-outdated:
needs: build-distribution
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
# Java 11, since Gradle 6.x cannot run on the Java 17 used elsewhere in this workflow.
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
java-version: '11'
- name: Setup Gradle 6.9.4 (end-of-life)
uses: ./setup-gradle
with:
gradle-version: '6.9.4'
- name: Build with Gradle 6.9.4
working-directory: .github/workflow-samples/no-wrapper
run: gradle help
- name: Setup Gradle 7.4 (end-of-life)
uses: ./setup-gradle
with:
gradle-version: '7.4'
- name: Build with Gradle 7.4
working-directory: .github/workflow-samples/no-wrapper
run: gradle help
- name: Setup Gradle 7.6.6 (end-of-life)
uses: ./setup-gradle
with:
gradle-version: '7.6.6'
- name: Build with Gradle 7.6.6
working-directory: .github/workflow-samples/no-wrapper
run: gradle help
- name: Setup Gradle 8.0.2 (out of date)
uses: ./setup-gradle
with:
gradle-version: '8.0.2'
- name: Build with Gradle 8.0.2
working-directory: .github/workflow-samples/no-wrapper
run: gradle help
- name: Setup Gradle 8.14.5 (out of date)
uses: ./setup-gradle
with:
gradle-version: '8.14.5'
- name: Build with Gradle 8.14.5
working-directory: .github/workflow-samples/no-wrapper
run: gradle help
# Gradle 9 and later require Java 17
- name: Setup Java 17
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
with:
distribution: temurin
java-version: 17
- name: Setup Gradle current (no status reported)
uses: ./setup-gradle
with:
gradle-version: current
- name: Build with the current Gradle version
working-directory: .github/workflow-samples/no-wrapper
run: gradle help
successful-builds-with-no-summary:
needs: build-distribution
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -155,7 +82,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -176,7 +103,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -193,7 +120,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -205,29 +132,12 @@ jobs:
working-directory: .github/workflow-samples/kotlin-dsl
run: ./gradlew assemble
cache-provider-external:
needs: build-distribution
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Gradle
uses: ./setup-gradle
with:
cache-provider: external
- name: Build kotlin-dsl project
working-directory: .github/workflow-samples/kotlin-dsl
run: ./gradlew assemble
basic-caching:
needs: build-distribution
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -244,7 +154,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -262,7 +172,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -11,7 +11,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Build and upload distribution
uses: ./.github/actions/build-dist
@@ -22,7 +22,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -42,7 +42,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -62,7 +62,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -1,4 +1,4 @@
name: Smoke test basic caching
name: Test basic cache provider
on:
workflow_call:
@@ -15,7 +15,7 @@ on:
env:
SKIP_DIST: ${{ inputs.skip-dist }}
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: smoke-test-basic-caching-${{ inputs.cache-key-prefix }}
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: basic-cache-provider-${{ inputs.cache-key-prefix }}
permissions:
contents: read
@@ -30,7 +30,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -39,12 +39,9 @@ jobs:
with:
cache-provider: basic
cache-read-only: false # For testing, allow writing cache entries on non-default branches
# Basic caching does no daemon management, so the workflow must ensure no daemon is left
# holding locks on the Gradle User Home when the post-action save runs. Without this, `tar`
# cannot read the Gradle '*.lock' files on Windows and the cache entry is never saved.
- name: Build kotlin-dsl project
working-directory: .github/workflow-samples/kotlin-dsl
run: ./gradlew build --no-daemon
run: ./gradlew build
basic-cache-verify-build:
needs: basic-cache-seed-build
@@ -56,7 +53,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -41,7 +41,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -32,7 +32,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -57,7 +57,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -83,7 +83,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -30,7 +30,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -62,7 +62,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -91,7 +91,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -115,7 +115,7 @@ jobs:
runs-on: ubuntu-latest # This test only runs on Ubuntu
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -134,30 +134,6 @@ jobs:
script: |
core.setFailed('No Build Scan detected')
# Test that build scans are captured when caching is external
caching-config-cache-provider-external:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Gradle
uses: ./setup-gradle
with:
cache-provider: external
- name: Build using Gradle wrapper
id: gradle
working-directory: .github/workflow-samples/groovy-dsl
run: ./gradlew help
- name: Check Build Scan url is captured
if: ${{ !steps.gradle.outputs.build-scan-url }}
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
core.setFailed('No Build Scan detected')
# Test seed the cache with cache-write-only and verify with cache-read-only
caching-config-seed-write-only:
env:
@@ -170,7 +146,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -194,7 +170,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -26,7 +26,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -45,7 +45,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -62,7 +62,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -80,7 +80,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -123,7 +123,7 @@ jobs:
runs-on: ubuntu-latest # Test is not compatible with Windows
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -160,7 +160,7 @@ jobs:
runs-on: "ubuntu-latest"
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -26,7 +26,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -55,7 +55,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -86,7 +86,7 @@ jobs:
contents: read
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -33,7 +33,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -58,7 +58,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -82,7 +82,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -104,7 +104,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -124,7 +124,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -172,7 +172,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -193,7 +193,7 @@ jobs:
runs-on: ubuntu-latest # Test is not compatible with Windows
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -255,7 +255,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -272,7 +272,7 @@ jobs:
runs-on: ubuntu-latest # Test is not compatible with Windows
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -309,7 +309,7 @@ jobs:
runs-on: ubuntu-latest # Test is not compatible with Windows
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -350,7 +350,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -382,7 +382,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -401,7 +401,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -30,7 +30,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -60,24 +60,20 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Java 16
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: 'temurin'
java-version: 16
# Temurin 16 is EOL and publishes no signatures: setup-java v6 enables verify-signature by default
verify-signature: false
- name: Setup Java 20
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: 'temurin'
java-version: 20
# Temurin 20 is EOL and publishes no signatures: setup-java v6 enables verify-signature by default
verify-signature: false
- name: Setup Gradle
uses: ./setup-gradle
- name: List detected toolchains
@@ -1,148 +0,0 @@
name: Test Gradle support status reporting
on:
workflow_call:
inputs:
cache-key-prefix:
type: string
default: '0'
skip-dist:
type: boolean
default: false
env:
SKIP_DIST: ${{ inputs.skip-dist }}
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: gradle-support-status-${{ inputs.cache-key-prefix }}
permissions:
contents: read
jobs:
report-outdated-versions:
runs-on: ubuntu-latest
outputs:
prev-oldest: ${{ steps.versions.outputs.prev-oldest }}
prev-newest: ${{ steps.versions.outputs.prev-newest }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
# Derived from the bundled release data so the expectations cannot drift from the action's own view.
- name: Determine versions for each support status
id: versions
run: |
set -euo pipefail
eval "$(jq -r '
[ .[].version
| select(test("^[0-9]+\\.[0-9]+(\\.[0-9]+)?$"))
| {v: ., k: (((split(".") | map(tonumber)) + [0, 0, 0]) | .[0:3])}
]
| sort_by(.k) as $finals
| ($finals | last) as $latest
| [$finals[] | select(.k[0] == $latest.k[0] - 1)] as $prev
| "KNOWN_LATEST=\($latest.v)",
"PREV_OLDEST=\($prev | first | .v)",
"PREV_NEWEST=\($prev | last | .v)"
' sources/src/wrapper-validation/wrapper-checksums.json)"
echo "Known latest : ${KNOWN_LATEST}"
echo "Previous major, oldest : ${PREV_OLDEST}"
echo "Previous major, newest : ${PREV_NEWEST}"
{
echo "prev-oldest=${PREV_OLDEST}"
echo "prev-newest=${PREV_NEWEST}"
} >> "$GITHUB_OUTPUT"
- name: Setup Gradle with an end-of-life version
uses: ./setup-gradle
with:
cache-read-only: false
gradle-version: '7.6.4'
- name: Build with the end-of-life version
working-directory: .github/workflow-samples/no-wrapper
run: gradle help "-DgradleVersionCheck=7.6.4"
- name: Setup Gradle with the oldest release of the previous major
uses: ./setup-gradle
with:
gradle-version: ${{ steps.versions.outputs.prev-oldest }}
- name: Build with the oldest release of the previous major
working-directory: .github/workflow-samples/no-wrapper
run: gradle help "-DgradleVersionCheck=${{ steps.versions.outputs.prev-oldest }}"
- name: Setup Gradle with the newest release of the previous major
uses: ./setup-gradle
with:
gradle-version: ${{ steps.versions.outputs.prev-newest }}
- name: Build with the newest release of the previous major
working-directory: .github/workflow-samples/no-wrapper
run: gradle help "-DgradleVersionCheck=${{ steps.versions.outputs.prev-newest }}"
verify-report:
needs: report-outdated-versions
runs-on: ubuntu-latest
permissions:
contents: read
actions: read
steps:
- name: Check the support-status report was emitted
env:
GH_TOKEN: ${{ github.token }}
PREV_OLDEST: ${{ needs.report-outdated-versions.outputs.prev-oldest }}
PREV_NEWEST: ${{ needs.report-outdated-versions.outputs.prev-newest }}
run: |
set -euo pipefail
job_id=$(gh api \
"/repos/${GITHUB_REPOSITORY}/actions/runs/${GITHUB_RUN_ID}/attempts/${GITHUB_RUN_ATTEMPT}/jobs" \
--paginate --jq '.jobs[] | select(.name | endswith("report-outdated-versions")) | .id')
if [ -z "$job_id" ]; then
echo "Could not find the 'report-outdated-versions' Job in this workflow run"
exit 1
fi
gh api --allow-escape-sequences "/repos/${GITHUB_REPOSITORY}/actions/jobs/${job_id}/logs" > job.log
assert_logged() {
if ! grep -qF -- "$1" job.log; then
echo "Expected the Job log to contain: $1"
echo "--- support-status output found instead ---"
grep -E '##\[(warning|notice)\]|<summary>:warning:|consider upgrading' job.log || echo "(none)"
exit 1
fi
}
refute_logged() {
if grep -qF -- "$1" job.log; then
echo "Did not expect the Job log to contain: $1"
exit 1
fi
}
# The runner renders '::warning::'/'::notice::' into the log as '##[warning]'/'##[notice]'.
assert_logged "##[warning]Gradle 7.6.4 is end-of-life"
assert_logged "##[notice]Gradle ${PREV_OLDEST} is out of date: consider updating to the latest Gradle version."
assert_logged "##[notice]Gradle ${PREV_NEWEST} is out of date: consider updating to the latest Gradle version."
# Out-of-date versions get a notice, never a warning.
refute_logged "##[warning]Gradle ${PREV_OLDEST}"
refute_logged "##[warning]Gradle ${PREV_NEWEST}"
# The job summary is echoed to the log, so the rendered report can be checked directly.
assert_logged "<summary>:warning: Gradle 7.6.4 is end-of-life</summary>"
assert_logged "Update to the latest Gradle version."
assert_logged "<a href=\"https://gradle.org/security-subscription/?utm_source=github-action\">Gradle Security Subscription</a>"
# Table signs: a warning for end-of-life, the info sign for everything still supported.
assert_logged "<td align='center'>7.6.4 :warning:</td>"
assert_logged "<td align='center'>${PREV_OLDEST} :information_source:</td>"
assert_logged "<td align='center'>${PREV_NEWEST} :information_source:</td>"
# One legend for the whole job, no matter how many versions carry the info sign.
legends=$(grep -cF -- "consider upgrading" job.log || true)
if [ "$legends" != "1" ]; then
echo "Expected exactly one upgrade legend, found ${legends}"
exit 1
fi
assert_logged "<p>:information_source: Gradle version is out of date — consider upgrading. See <a href=\"https://docs.gradle.org/current/userguide/feature_lifecycle.html#eol_support\">Gradle release lifecycle</a></p>"
@@ -30,7 +30,7 @@ jobs:
matrix:
gradle: ['current', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
os: ${{fromJSON(inputs.runner-os)}}
plugin-version: ['3.16.2', '4.5.1']
plugin-version: ['3.16.2', '4.4.2']
include:
- java-version: 17
- gradle: '8.14.3'
@@ -43,7 +43,7 @@ jobs:
java-version: 11
- plugin-version: '3.16.2'
accessKeyEnv: GRADLE_ENTERPRISE_ACCESS_KEY
- plugin-version: '4.5.1'
- plugin-version: '4.4.2'
accessKeyEnv: DEVELOCITY_ACCESS_KEY
runs-on: ${{ matrix.os }}
env:
@@ -55,7 +55,7 @@ jobs:
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -92,7 +92,7 @@ jobs:
matrix:
gradle: ['current', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
os: ${{fromJSON(inputs.runner-os)}}
plugin-version: ['3.16.2', '4.5.1']
plugin-version: ['3.16.2', '4.4.2']
include:
- java-version: 17
- gradle: '8.14.3'
@@ -106,7 +106,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -148,7 +148,7 @@ jobs:
matrix:
gradle: ['current', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
os: ${{fromJSON(inputs.runner-os)}}
plugin-version: [ '3.16.2', '4.5.1' ]
plugin-version: [ '3.16.2', '4.4.2' ]
include:
- java-version: 17
- gradle: '8.14.3'
@@ -162,7 +162,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -191,7 +191,7 @@ jobs:
matrix:
gradle: ['current', '8.14.3', '7.6.2', '6.9.4', '5.6.4']
os: ${{fromJSON(inputs.runner-os)}}
plugin-version: [ '3.16.2', '4.5.1' ]
plugin-version: [ '3.16.2', '4.4.2' ]
include:
- java-version: 17
- gradle: '8.14.3'
@@ -205,7 +205,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -33,7 +33,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -56,7 +56,7 @@ jobs:
run: gradle help "-DgradleVersionCheck=7.1.1"
# Configure JDK 17 for Gradle 9 and later
- name: Setup Java
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: 17
@@ -105,12 +105,12 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Java
uses: actions/setup-java@dd06d9cba3e5552c54d9f8ea23572deb30010f7c # v6.0.0
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0
with:
distribution: temurin
java-version: ${{ matrix.java-version }}
@@ -24,7 +24,7 @@ jobs:
container: fedora:latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -43,7 +43,7 @@ jobs:
container: fedora:latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -23,7 +23,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -45,7 +45,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -67,7 +67,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -31,7 +31,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -43,6 +43,29 @@ jobs:
working-directory: .github/workflow-samples/groovy-dsl
run: ./gradlew test
# Test that the gradle-user-home cache will cache dependencies, by running build with --offline
restore-gradle-home-dependencies-cache:
needs: restore-gradle-home-seed-build
strategy:
max-parallel: 1
fail-fast: false
matrix:
os: ${{fromJSON(inputs.runner-os)}}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Gradle
uses: ./setup-gradle
with:
cache-read-only: true
- name: Execute Gradle build with --offline
working-directory: .github/workflow-samples/groovy-dsl
run: ./gradlew test --offline
# Test that the gradle-user-home cache will cache and restore local build-cache
restore-gradle-home-build-cache:
needs: restore-gradle-home-seed-build
@@ -54,7 +77,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -77,7 +100,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -102,7 +125,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -31,7 +31,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -56,7 +56,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
with:
@@ -30,7 +30,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -52,7 +52,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -30,7 +30,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -52,7 +52,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -26,7 +26,7 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -49,7 +49,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -78,7 +78,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
@@ -111,7 +111,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
with:
sparse-checkout: |
.github
@@ -145,7 +145,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v4.2.2 # Checkout the repository with no wrappers
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v4.2.2 # Checkout the repository with no wrappers
with:
sparse-checkout: |
.github/actions
@@ -1,67 +0,0 @@
name: Smoke test enhanced caching
on:
workflow_call:
inputs:
cache-key-prefix:
type: string
default: '0'
runner-os:
type: string
default: '["ubuntu-latest"]'
skip-dist:
type: boolean
default: false
env:
SKIP_DIST: ${{ inputs.skip-dist }}
GRADLE_BUILD_ACTION_CACHE_KEY_PREFIX: smoke-test-enhanced-caching-${{ inputs.cache-key-prefix }}
GRADLE_BUILD_ACTION_CACHE_KEY_JOB: smoke-test-enhanced-caching
permissions:
contents: read
jobs:
enhanced-cache-seed-build:
strategy:
max-parallel: 1
fail-fast: false
matrix:
os: ${{fromJSON(inputs.runner-os)}}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Gradle
uses: ./setup-gradle
with:
cache-read-only: false # For testing, allow writing cache entries on non-default branches
- name: Build using Gradle wrapper
working-directory: .github/workflow-samples/groovy-dsl
run: ./gradlew test
# Test that the gradle-user-home cache will cache dependencies, by running build with --offline
enhanced-cache-verify-build:
needs: enhanced-cache-seed-build
strategy:
max-parallel: 1
fail-fast: false
matrix:
os: ${{fromJSON(inputs.runner-os)}}
runs-on: ${{ matrix.os }}
steps:
- name: Checkout sources
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Initialize integ-test
uses: ./.github/actions/init-integ-test
- name: Setup Gradle
uses: ./setup-gradle
with:
cache-read-only: true
- name: Execute Gradle build with --offline
working-directory: .github/workflow-samples/groovy-dsl
run: ./gradlew test --offline
@@ -57,3 +57,9 @@ jobs:
with:
runner-os: '${{ inputs.runner-os }}'
skip-dist: ${{ inputs.skip-dist }}
basic-cache-provider:
uses: ./.github/workflows/integ-test-basic-cache-provider.yml
with:
runner-os: '${{ inputs.runner-os }}'
skip-dist: ${{ inputs.skip-dist }}
@@ -28,14 +28,6 @@ jobs:
secrets:
DEVELOCITY_ACCESS_KEY: ${{ secrets.DV_SOLUTIONS_ACCESS_KEY }}
gradle-support-status:
permissions:
contents: read
actions: read
uses: ./.github/workflows/integ-test-gradle-support-status.yml
with:
skip-dist: ${{ inputs.skip-dist }}
provision-gradle-versions:
uses: ./.github/workflows/integ-test-provision-gradle-versions.yml
with:
@@ -1,27 +0,0 @@
name: suite-smoke-test-caching
on:
workflow_call:
inputs:
runner-os:
type: string
default: '["ubuntu-latest"]'
skip-dist:
type: boolean
default: false
permissions:
contents: read
jobs:
enhanced-caching:
uses: ./.github/workflows/smoke-test-enhanced-caching.yml
with:
runner-os: '${{ inputs.runner-os }}'
skip-dist: ${{ inputs.skip-dist }}
basic-caching:
uses: ./.github/workflows/smoke-test-basic-caching.yml
with:
runner-os: '${{ inputs.runner-os }}'
skip-dist: ${{ inputs.skip-dist }}
+3 -3
View File
@@ -19,12 +19,12 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Set up Node.js
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: 24
node-version: 20
cache: npm
cache-dependency-path: sources/package-lock.json
-1
View File
@@ -1,4 +1,3 @@
.git
.vscode
.claude
.idea
+3 -3
View File
@@ -1,4 +1,4 @@
# Configuration file for asdf version manager
nodejs 24.18.0
gradle 9.7.1
java liberica-17.0.14+10
nodejs 24.3.0
gradle 8.14.2
java liberica-11.0.26+9
+2 -21
View File
@@ -9,39 +9,20 @@
- If new features have been added, bump the minor version (eg `4.1.1` → `4.2.0`)
- If a new major release is required, bump the major version (eg `4.1.1` → `5.0.0`)
- Note: The gradle actions follow the GitHub Actions convention of including a .0 patch number for the first release of a minor version, unlike the Gradle convention which omits the trailing .0.
- Release immutability is a one-time repository setting (Settings → General → Releases → "Enable release immutability"), and applies to every release published thereafter.
## Release gradle/actions
> [!IMPORTANT]
> Releases in this repository are [immutable](https://docs.github.com/en/code-security/concepts/supply-chain-security/immutable-releases).
> Once a release is published, its Git tag is permanently locked to a commit and its assets can no
> longer be changed. Deleting the release does not release the tag name for reuse — a mistake in
> `v6.3.0` means the next release must be `v6.3.1`. Everything below is ordered so that the tag is
> correct *before* anything is published.
>
> Drafts are exempt: a draft release, and its tag, can still be edited or deleted freely.
- Create and push the tag for the release **before** drafting it. The tag should have the format `v6.2.0`
- Your HEAD must point at the commit to be released.
- Create a tag for the release. The tag should have the format `v6.2.0`
- From CLI: `git tag -s -m "v6.2.0" v6.2.0 && git push --tags`
- Note that we sign the tag and set the commit message for the tag to the newly released version.
- Do **not** let GitHub create the tag when the release is published. It creates an unsigned,
lightweight tag pointing at whatever `main` resolves to at that moment — so anything merged
while the draft was open is silently included. Immutability makes both permanent.
- Go to https://github.com/gradle/actions/releases and "Draft new release"
- Select the existing tag — do not use "Create new tag on publish" — and copy the tag name exactly as the release title.
- Use the newly created tag and copy the tag name exactly as the release title.
- Craft release notes content based on issues closed, PRs merged and commits
- Include a Full changelog link in the format https://github.com/gradle/actions/compare/v2.12.0...v3.0.0
- Finalize the notes now, while the release is still a draft.
- Publish the release.
- Confirm immutability took effect: `gh api repos/gradle/actions/releases/tags/v6.2.0 --jq .immutable` should print `true`.
- Force push the `v6` tag (or current major version) to point to the new release. It is conventional for users to bind to a major release version using this tag.
- From CLI: `git tag -f -s -a -m "v6.2.0" v6 && git push -f --tags`
- Note that we sign the tag and set the commit message for the tag to the newly released version.
- Your HEAD must point at the commit to be tagged.
- Never attach a GitHub release to the `v6` tag. Immutability locks only those tags that have a
release of their own, so the major tag remains movable precisely as long as it has none.
## Post release steps
-1
View File
@@ -31,7 +31,6 @@ inputs:
Specifies the caching implementation to use.
'enhanced' (default) uses the full-featured commercial caching service (gradle-actions-caching).
'basic' uses a simple open-source caching implementation based on GitHub Actions cache.
'external' disables Gradle User Home caching by this action, for use when Gradle User Home is already saved and restored by another mechanism (e.g. Develocity Artifact Cache).
required: false
default: 'enhanced'
+156 -166
View File
@@ -1,120 +1,120 @@
import {createRequire} from 'module';const require=createRequire(import.meta.url);
var CHe=Object.create;var jU=Object.defineProperty;var IHe=Object.getOwnPropertyDescriptor;var yHe=Object.getOwnPropertyNames;var BHe=Object.getPrototypeOf,bHe=Object.prototype.hasOwnProperty;var Q=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var C=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},gc=(t,e)=>{for(var r in e)jU(t,r,{get:e[r],enumerable:!0})},QHe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of yHe(e))!bHe.call(t,s)&&s!==r&&jU(t,s,{get:()=>e[s],enumerable:!(n=IHe(e,s))||n.enumerable});return t};var Ee=(t,e,r)=>(r=t!=null?CHe(BHe(t)):{},QHe(e||!t||!t.__esModule?jU(r,"default",{value:t,enumerable:!0}):r,t));var ere=C(A0=>{"use strict";var fjt=Q("net"),DHe=Q("tls"),$U=Q("http"),Xte=Q("https"),RHe=Q("events"),gjt=Q("assert"),kHe=Q("util");A0.httpOverHttp=vHe;A0.httpsOverHttp=FHe;A0.httpOverHttps=MHe;A0.httpsOverHttps=_He;function vHe(t){var e=new el(t);return e.request=$U.request,e}function FHe(t){var e=new el(t);return e.request=$U.request,e.createSocket=Zte,e.defaultPort=443,e}function MHe(t){var e=new el(t);return e.request=Xte.request,e}function _He(t){var e=new el(t);return e.request=Xte.request,e.createSocket=Zte,e.defaultPort=443,e}function el(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||$U.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(n,s,i,o){for(var a=$te(s,i,o),c=0,A=e.requests.length;c<A;++c){var u=e.requests[c];if(u.host===a.host&&u.port===a.port){e.requests.splice(c,1),u.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)})}kHe.inherits(el,RHe.EventEmitter);el.prototype.addRequest=function(e,r,n,s){var i=this,o=eP({request:e},i.options,$te(r,n,s));if(i.sockets.length>=this.maxSockets){i.requests.push(o);return}i.createSocket(o,function(a){a.on("free",c),a.on("close",A),a.on("agentRemove",A),e.onSocket(a);function c(){i.emit("free",a,o)}function A(u){i.removeSocket(a),a.removeListener("free",c),a.removeListener("close",A),a.removeListener("agentRemove",A)}})};el.prototype.createSocket=function(e,r){var n=this,s={};n.sockets.push(s);var i=eP({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(i.localAddress=e.localAddress),i.proxyAuth&&(i.headers=i.headers||{},i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")),vd("making CONNECT request");var o=n.request(i);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",c),o.once("connect",A),o.once("error",u),o.end();function a(l){l.upgrade=!0}function c(l,d,h){process.nextTick(function(){A(l,d,h)})}function A(l,d,h){if(o.removeAllListeners(),d.removeAllListeners(),l.statusCode!==200){vd("tunneling socket could not be established, statusCode=%d",l.statusCode),d.destroy();var f=new Error("tunneling socket could not be established, statusCode="+l.statusCode);f.code="ECONNRESET",e.request.emit("error",f),n.removeSocket(s);return}if(h.length>0){vd("got illegal response body from proxy"),d.destroy();var f=new Error("got illegal response body from proxy");f.code="ECONNRESET",e.request.emit("error",f),n.removeSocket(s);return}return vd("tunneling connection has established"),n.sockets[n.sockets.indexOf(s)]=d,r(d)}function u(l){o.removeAllListeners(),vd(`tunneling socket could not be established, cause=%s
`,l.message,l.stack);var d=new Error("tunneling socket could not be established, cause="+l.message);d.code="ECONNRESET",e.request.emit("error",d),n.removeSocket(s)}};el.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(s){n.request.onSocket(s)})}};function Zte(t,e){var r=this;el.prototype.createSocket.call(r,t,function(n){var s=t.request.getHeader("host"),i=eP({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):t.host}),o=DHe.connect(0,i);r.sockets[r.sockets.indexOf(n)]=o,e(o)})}function $te(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function eP(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var s=Object.keys(n),i=0,o=s.length;i<o;++i){var a=s[i];n[a]!==void 0&&(t[a]=n[a])}}return t}var vd;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?vd=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:vd=function(){};A0.debug=vd});var tP=C((mjt,tre)=>{tre.exports=ere()});var vr=C((Ejt,rre)=>{rre.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Vt=C((Cjt,Nre)=>{"use strict";var nre=Symbol.for("undici.error.UND_ERR"),Fr=class extends Error{constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[nre]===!0}[nre]=!0},sre=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),rP=class extends Fr{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[sre]===!0}[sre]=!0},ire=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),nP=class extends Fr{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[ire]===!0}[ire]=!0},ore=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),sP=class extends Fr{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[ore]===!0}[ore]=!0},are=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),iP=class extends Fr{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[are]===!0}[are]=!0},cre=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),oP=class extends Fr{constructor(e,r,n,s){super(e),this.name="ResponseStatusCodeError",this.message=e||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_C Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}function ZGe(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),s="";if(n.length>0)for(let i=n.length;i!==0;i--){let o=n[i-1].trim();if(_Ge.has(o)){s=o;break}}s!==""&&(t.referrerPolicy=s)}function $Ge(){return"allowed"}function e9e(){return"success"}function t9e(){return"success"}function r9e(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}function n9e(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&XP(t.origin)&&!XP(rB(t))&&(e=null);break;case"same-origin":XN(t,rB(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}function C0(t,e){return t}function s9e(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:C0(t.domainLookupStartTime,r),domainLookupEndTime:C0(t.domainLookupEndTime,r),connectionStartTime:C0(t.connectionStartTime,r),connectionEndTime:C0(t.connectionEndTime,r),secureConnectionStartTime:C0(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}function i9e(t){return C0(HGe.now(),t)}function o9e(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function Hne(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function a9e(t){return{referrerPolicy:t.referrerPolicy}}function c9e(t){let e=t.referrerPolicy;Kf(e);let r=null;if(t.referrer==="client"){let a=Mne();if(!a||a.origin==="null")return"no-referrer";r=new URL(a)}else t.referrer instanceof URL&&(r=t.referrer);let n=KP(r),s=KP(r,!0);n.toString().length>4096&&(n=s);let i=XN(t,n),o=tB(n)&&!tB(t.url);switch(e){case"origin":return s??KP(r,!0);case"unsafe-url":return n;case"same-origin":return i?s:"no-referrer";case"origin-when-cross-origin":return i?n:s;case"strict-origin-when-cross-origin":{let a=rB(t);return XN(n,a)?n:tB(n)&&!tB(a)?"no-referrer":s}default:return o?"no-referrer":s}}function KP(t,e){return Kf(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function tB(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}function A9e(t,e){if(KN===void 0)return!0;let r=Gne(e);if(r==="no metadata"||r.length===0)return!0;let n=l9e(r),s=d9e(r,n);for(let i of s){let o=i.algo,a=i.hash,c=KN.createHash(o).update(t).digest("base64");if(c[c.length-1]==="="&&(c[c.length-2]==="="?c=c.slice(0,-2):c=c.slice(0,-1)),h9e(c,a))return!0}return!1}var u9e=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function Gne(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let s=u9e.exec(n);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let i=s.groups.algo.toLowerCase();Lne.includes(i)&&e.push(s.groups)}return r===!0?"no metadata":e}function l9e(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}function d9e(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}function h9e(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}function f9e(t){}function XN(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}function g9e(){let t,e;return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}function p9e(t){return t.controller.state==="aborted"}function m9e(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}function E9e(t){return YGe[t.toLowerCase()]??t}function C9e(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return Kf(typeof e=="string"),e}var I9e=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function qne(t,e,r=0,n=1){class s{ Line truncated
`);function K9e(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}function X9e(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}function Z9e(t,e){$N(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),s=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let o=t.length;for(;t[o-1]===10&&t[o-2]===13;)o-=2;for(o!==t.length&&(t=t.subarray(0,o));;){if(t.subarray(i.position,i.position+n.length).equals(n))i.position+=n.length;else return"failure";if(i.position===t.length-2&&eT(t,z9e,i)||i.position===t.length-4&&eT(t,j9e,i))return s;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let a=$9e(t,i);if(a==="failure")return"failure";let{name:c,filename:A,contentType:u,encoding:l}=a;i.position+=2;let d;{let f=t.indexOf(n.subarray(2),i.position);if(f===-1)return"failure";d=t.subarray(i.position,f-4),i.position+=d.length,l==="base64"&&(d=Buffer.from(d.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let h;A!==null?(u??="text/plain",K9e(u)||(u=""),h=new J9e([d],A,{type:u})):h=H9e(Buffer.from(d)),$N(tse(c)),$N(typeof h=="string"&&tse(h)||q9e(h)),s.push(Y9e(c,h,A))}}function $9e(t,e){let r=null,n=null,s=null,i=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:s,encoding:i};let o=y0(a=>a!==10&&a!==13&&a!==58,t,e);if(o=sO(o,!0,!0,a=>a===9||a===32),!G9e.test(o.toString())||t[e.position]!==58)return"failure";switch(e.position++,y0(a=>a===32||a===9,t,e),O9e(o)){case"content-disposition":{if(r=n=null,!eT(t,W9e,e)||(e.position+=17,r=sse(t,e),r===null))return"failure";if(eT(t,nse,e)){let a=e.position+nse.length;if(t[a]===42&&(e.position+=1,a+=1),t[a]!==61||t[a+1]!==34||(e.position+=12,n=sse(t,e),n===null))return"failure"}break}case"content-type":{let a=y0(c=>c!==10&&c!==13,t,e);a=sO(a,!1,!0,c=>c===9||c===32),s=rse(a);break}case"content-transfer-encoding":{let a=y0(c=>c!==10&&c!==13,t,e);a=sO(a,!1,!0,c=>c===9||c===32),i=rse(a);break}default:y0(a=>a!==10&&a!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}function sse(t,e){$N(t[e.position-1]===34);let r=y0(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}function y0(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}function sO(t,e,r,n){let s=0,i=t.length-1;if(e)for(;s<t.length&&n(t[s]);)s++;if(r)for(;i>0&&n(t[i]);)i--;return s===0&&i===t.length-1?t:t.subarray(s,i+1)}function eT(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}ise.exports={multipartFormDataParser:Z9e,validateBoundary:X9e}});var Q0=C((Yjt,pse)=>{"use strict";var iB=Ct(),{ReadableStreamFrom:eqe,isBlobLike:ase,isReadableStreamLike:tqe,readableStreamClose:rqe,createDeferredPromise:nqe,fullyReadBody:sqe,extractMimeType:iqe,utf8DecodeBytes:use}=ao(),{FormData:cse}=sB(),{kState:b0}=Fd(),{webidl:oqe}=gs(),{Blob:aqe}=Q("node:buffer"),iO=Q("node:assert"),{isErrored:lse,isDisturbed:cqe}=Q("node:stream"),{isArrayBuffer:Aqe}=Q("node:util/types"),{serializeAMimeType:uqe}=Qi(),{multipartFormDataParser:lqe}=ose(),oO;try{let t=Q("node:crypto");oO=e=>t.randomInt(0,e)}catch{oO=t=>Math.floor(Math.random(t))}var tT=new TextEncoder;function dqe(){}var dse=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,hse;dse&&(hse=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!cqe(e)&&!lse(e)&&e.cancel("Response object has been garbage collected").catch(dqe)}));function fse(t,e=!1){let r=null;t instanceof ReadableStream?r=t:ase(t)?r=t.stream():r=new ReadableStream({async pull(c){let A=typeof s=="string"?tT.encode(s):s;A.byteLength&&c.enqueue(A),queueMicrotask(()=>rqe(c))},start(){},type:"bytes"}),iO(tqe(r));let n=null,s=null,i=null,o=null;if(typeof t=="string")s=t,o="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)s=t.toString(),o="application/x-www-form-urlencoded;charset=UTF-8";else if(Aqe(t))s=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))s=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(iB.isFormDataLike(t)){let c=`----formdata-undici-0${`${oO(1e11)}`.padStart(11,"0")}`,A=`--${c}\r
Content-Disposition: form-data`;let u=E=>E.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),l=E=>E.replace(/\r?\n|\r/g,`\r
`),d=[],h=new Uint8Array([13,10]);i=0;let f=!1;for(let[E,m]of t)if(typeof m=="string"){let I=tT.encode(A+`; name="${u(l(E))}"\r
var X8e=Object.create;var $M=Object.defineProperty;var Z8e=Object.getOwnPropertyDescriptor;var e4e=Object.getOwnPropertyNames;var t4e=Object.getPrototypeOf,r4e=Object.prototype.hasOwnProperty;var b=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var E=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Na=(t,e)=>{for(var r in e)$M(t,r,{get:e[r],enumerable:!0})},n4e=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of e4e(e))!r4e.call(t,s)&&s!==r&&$M(t,s,{get:()=>e[s],enumerable:!(n=Z8e(e,s))||n.enumerable});return t};var fe=(t,e,r)=>(r=t!=null?X8e(t4e(t)):{},n4e(e||!t||!t.__esModule?$M(r,"default",{value:t,enumerable:!0}):r,t));var GZ=E(Hp=>{"use strict";var D7t=b("net"),A4e=b("tls"),tL=b("http"),PZ=b("https"),u4e=b("events"),k7t=b("assert"),l4e=b("util");Hp.httpOverHttp=d4e;Hp.httpsOverHttp=h4e;Hp.httpOverHttps=f4e;Hp.httpsOverHttps=g4e;function d4e(t){var e=new uu(t);return e.request=tL.request,e}function h4e(t){var e=new uu(t);return e.request=tL.request,e.createSocket=OZ,e.defaultPort=443,e}function f4e(t){var e=new uu(t);return e.request=PZ.request,e}function g4e(t){var e=new uu(t);return e.request=PZ.request,e.createSocket=OZ,e.defaultPort=443,e}function uu(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||tL.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(n,s,i,o){for(var a=HZ(s,i,o),c=0,A=e.requests.length;c<A;++c){var u=e.requests[c];if(u.host===a.host&&u.port===a.port){e.requests.splice(c,1),u.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)})}l4e.inherits(uu,u4e.EventEmitter);uu.prototype.addRequest=function(e,r,n,s){var i=this,o=rL({request:e},i.options,HZ(r,n,s));if(i.sockets.length>=this.maxSockets){i.requests.push(o);return}i.createSocket(o,function(a){a.on("free",c),a.on("close",A),a.on("agentRemove",A),e.onSocket(a);function c(){i.emit("free",a,o)}function A(u){i.removeSocket(a),a.removeListener("free",c),a.removeListener("close",A),a.removeListener("agentRemove",A)}})};uu.prototype.createSocket=function(e,r){var n=this,s={};n.sockets.push(s);var i=rL({},n.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(i.localAddress=e.localAddress),i.proxyAuth&&(i.headers=i.headers||{},i.headers["Proxy-Authorization"]="Basic "+new Buffer(i.proxyAuth).toString("base64")),Rl("making CONNECT request");var o=n.request(i);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",c),o.once("connect",A),o.once("error",u),o.end();function a(l){l.upgrade=!0}function c(l,d,h){process.nextTick(function(){A(l,d,h)})}function A(l,d,h){if(o.removeAllListeners(),d.removeAllListeners(),l.statusCode!==200){Rl("tunneling socket could not be established, statusCode=%d",l.statusCode),d.destroy();var f=new Error("tunneling socket could not be established, statusCode="+l.statusCode);f.code="ECONNRESET",e.request.emit("error",f),n.removeSocket(s);return}if(h.length>0){Rl("got illegal response body from proxy"),d.destroy();var f=new Error("got illegal response body from proxy");f.code="ECONNRESET",e.request.emit("error",f),n.removeSocket(s);return}return Rl("tunneling connection has established"),n.sockets[n.sockets.indexOf(s)]=d,r(d)}function u(l){o.removeAllListeners(),Rl(`tunneling socket could not be established, cause=%s
`,l.message,l.stack);var d=new Error("tunneling socket could not be established, cause="+l.message);d.code="ECONNRESET",e.request.emit("error",d),n.removeSocket(s)}};uu.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var n=this.requests.shift();n&&this.createSocket(n,function(s){n.request.onSocket(s)})}};function OZ(t,e){var r=this;uu.prototype.createSocket.call(r,t,function(n){var s=t.request.getHeader("host"),i=rL({},r.options,{socket:n,servername:s?s.replace(/:.*$/,""):t.host}),o=A4e.connect(0,i);r.sockets[r.sockets.indexOf(n)]=o,e(o)})}function HZ(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function rL(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var s=Object.keys(n),i=0,o=s.length;i<o;++i){var a=s[i];n[a]!==void 0&&(t[a]=n[a])}}return t}var Rl;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?Rl=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:Rl=function(){};Hp.debug=Rl});var nL=E((_7t,qZ)=>{qZ.exports=GZ()});var yr=E((F7t,YZ)=>{YZ.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Lt=E((M7t,gee)=>{"use strict";var VZ=Symbol.for("undici.error.UND_ERR"),Br=class extends Error{constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[VZ]===!0}[VZ]=!0},WZ=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),sL=class extends Br{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[WZ]===!0}[WZ]=!0},JZ=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),iL=class extends Br{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[JZ]===!0}[JZ]=!0},zZ=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),oL=class extends Br{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[zZ]===!0}[zZ]=!0},jZ=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),aL=class extends Br{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[jZ]===!0}[jZ]=!0},KZ=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),cL=class extends Br{constructor(e,r,n,s){super(e),this.name="ResponseStatusCodeError",this.message=e||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=s,this.s Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}function D5e(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),s="";if(n.length>0)for(let i=n.length;i!==0;i--){let o=n[i-1].trim();if(g5e.has(o)){s=o;break}}s!==""&&(t.referrerPolicy=s)}function k5e(){return"allowed"}function v5e(){return"success"}function _5e(){return"success"}function F5e(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}function M5e(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&ZL(t.origin)&&!ZL(NI(t))&&(e=null);break;case"same-origin":pS(t,NI(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}function $p(t,e){return t}function L5e(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:$p(t.domainLookupStartTime,r),domainLookupEndTime:$p(t.domainLookupEndTime,r),connectionStartTime:$p(t.connectionStartTime,r),connectionEndTime:$p(t.connectionEndTime,r),secureConnectionStartTime:$p(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}function U5e(t){return $p(I5e.now(),t)}function P5e(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function xte(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function O5e(t){return{referrerPolicy:t.referrerPolicy}}function H5e(t){let e=t.referrerPolicy;Vh(e);let r=null;if(t.referrer==="client"){let a=bte();if(!a||a.origin==="null")return"no-referrer";r=new URL(a)}else t.referrer instanceof URL&&(r=t.referrer);let n=XL(r),s=XL(r,!0);n.toString().length>4096&&(n=s);let i=pS(t,n),o=SI(n)&&!SI(t.url);switch(e){case"origin":return s??XL(r,!0);case"unsafe-url":return n;case"same-origin":return i?s:"no-referrer";case"origin-when-cross-origin":return i?n:s;case"strict-origin-when-cross-origin":{let a=NI(t);return pS(n,a)?n:SI(n)&&!SI(a)?"no-referrer":s}default:return o?"no-referrer":s}}function XL(t,e){return Vh(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function SI(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let n=new URL(r);return!!(n.protocol==="https:"||n.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(n.hostname)||n.hostname==="localhost"||n.hostname.includes("localhost.")||n.hostname.endsWith(".localhost"))}}function G5e(t,e){if(gS===void 0)return!0;let r=Rte(e);if(r==="no metadata"||r.length===0)return!0;let n=Y5e(r),s=V5e(r,n);for(let i of s){let o=i.algo,a=i.hash,c=gS.createHash(o).update(t).digest("base64");if(c[c.length-1]==="="&&(c[c.length-2]==="="?c=c.slice(0,-2):c=c.slice(0,-1)),W5e(c,a))return!0}return!1}var q5e=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function Rte(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let s=q5e.exec(n);if(s===null||s.groups===void 0||s.groups.algo===void 0)continue;let i=s.groups.algo.toLowerCase();wte.includes(i)&&e.push(s.groups)}return r===!0?"no metadata":e}function Y5e(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let n=t[r];if(n.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;n.algo[3]==="3"&&(e="sha384")}}return e}function V5e(t,e){if(t.length===1)return t;let r=0;for(let n=0;n<t.length;++n)t[n].algo===e&&(t[r++]=t[n]);return t.length=r,t}function W5e(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}function J5e(t){}function pS(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}function z5e(){let t,e;return{promise:new Promise((n,s)=>{t=n,e=s}),resolve:t,reject:e}}function j5e(t){return t.controller.state==="aborted"}function K5e(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}function $5e(t){return b5e[t.toLowerCase()]??t}function X5e(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return Vh(typeof e=="string"),e}var Z5e=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function Dte(t,e,r=0,n=1){class s{ Line truncated
`);function xHe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}function RHe(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let n=t.charCodeAt(r);if(!(n>=48&&n<=57||n>=65&&n<=90||n>=97&&n<=122||n===39||n===45||n===95))return!1}return!0}function DHe(t,e){ES(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let n=Buffer.from(`--${r}`,"utf8"),s=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let o=t.length;for(;t[o-1]===10&&t[o-2]===13;)o-=2;for(o!==t.length&&(t=t.subarray(0,o));;){if(t.subarray(i.position,i.position+n.length).equals(n))i.position+=n.length;else return"failure";if(i.position===t.length-2&&CS(t,NHe,i)||i.position===t.length-4&&CS(t,THe,i))return s;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let a=kHe(t,i);if(a==="failure")return"failure";let{name:c,filename:A,contentType:u,encoding:l}=a;i.position+=2;let d;{let f=t.indexOf(n.subarray(2),i.position);if(f===-1)return"failure";d=t.subarray(i.position,f-4),i.position+=d.length,l==="base64"&&(d=Buffer.from(d.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let h;A!==null?(u??="text/plain",xHe(u)||(u=""),h=new wHe([d],A,{type:u})):h=IHe(Buffer.from(d)),ES(qte(c)),ES(typeof h=="string"&&qte(h)||BHe(h)),s.push(bHe(c,h,A))}}function kHe(t,e){let r=null,n=null,s=null,i=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:s,encoding:i};let o=Zp(a=>a!==10&&a!==13&&a!==58,t,e);if(o=oU(o,!0,!0,a=>a===9||a===32),!yHe.test(o.toString())||t[e.position]!==58)return"failure";switch(e.position++,Zp(a=>a===32||a===9,t,e),CHe(o)){case"content-disposition":{if(r=n=null,!CS(t,SHe,e)||(e.position+=17,r=Wte(t,e),r===null))return"failure";if(CS(t,Vte,e)){let a=e.position+Vte.length;if(t[a]===42&&(e.position+=1,a+=1),t[a]!==61||t[a+1]!==34||(e.position+=12,n=Wte(t,e),n===null))return"failure"}break}case"content-type":{let a=Zp(c=>c!==10&&c!==13,t,e);a=oU(a,!1,!0,c=>c===9||c===32),s=Yte(a);break}case"content-transfer-encoding":{let a=Zp(c=>c!==10&&c!==13,t,e);a=oU(a,!1,!0,c=>c===9||c===32),i=Yte(a);break}default:Zp(a=>a!==10&&a!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}function Wte(t,e){ES(t[e.position-1]===34);let r=Zp(n=>n!==10&&n!==13&&n!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}function Zp(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}function oU(t,e,r,n){let s=0,i=t.length-1;if(e)for(;s<t.length&&n(t[s]);)s++;if(r)for(;i>0&&n(t[i]);)i--;return s===0&&i===t.length-1?t:t.subarray(s,i+1)}function CS(t,e,r){if(t.length<e.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[r.position+n])return!1;return!0}Jte.exports={multipartFormDataParser:DHe,validateBoundary:RHe}});var rm=E((aWt,sre)=>{"use strict";var RI=dt(),{ReadableStreamFrom:vHe,isBlobLike:jte,isReadableStreamLike:_He,readableStreamClose:FHe,createDeferredPromise:MHe,fullyReadBody:LHe,extractMimeType:UHe,utf8DecodeBytes:Xte}=xi(),{FormData:Kte}=xI(),{kState:tm}=Dl(),{webidl:PHe}=Kn(),{Blob:OHe}=b("node:buffer"),aU=b("node:assert"),{isErrored:Zte,isDisturbed:HHe}=b("node:stream"),{isArrayBuffer:GHe}=b("node:util/types"),{serializeAMimeType:qHe}=Ks(),{multipartFormDataParser:YHe}=zte(),cU;try{let t=b("node:crypto");cU=e=>t.randomInt(0,e)}catch{cU=t=>Math.floor(Math.random(t))}var IS=new TextEncoder;function VHe(){}var ere=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,tre;ere&&(tre=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!HHe(e)&&!Zte(e)&&e.cancel("Response object has been garbage collected").catch(VHe)}));function rre(t,e=!1){let r=null;t instanceof ReadableStream?r=t:jte(t)?r=t.stream():r=new ReadableStream({async pull(c){let A=typeof s=="string"?IS.encode(s):s;A.byteLength&&c.enqueue(A),queueMicrotask(()=>FHe(c))},start(){},type:"bytes"}),aU(_He(r));let n=null,s=null,i=null,o=null;if(typeof t=="string")s=t,o="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)s=t.toString(),o="application/x-www-form-urlencoded;charset=UTF-8";else if(GHe(t))s=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))s=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(RI.isFormDataLike(t)){let c=`----formdata-undici-0${`${cU(1e11)}`.padStart(11,"0")}`,A=`--${c}\r
Content-Disposition: form-data`;let u=I=>I.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),l=I=>I.replace(/\r?\n|\r/g,`\r
`),d=[],h=new Uint8Array([13,10]);i=0;let f=!1;for(let[I,m]of t)if(typeof m=="string"){let C=IS.encode(A+`; name="${u(l(I))}"\r
\r
${l(m)}\r
`);d.push(I),i+=I.byteLength}else{let I=tT.encode(`${A}; name="${u(l(E))}"`+(m.name?`; filename="${u(m.name)}"`:"")+`\r
`);d.push(C),i+=C.byteLength}else{let C=IS.encode(`${A}; name="${u(l(I))}"`+(m.name?`; filename="${u(m.name)}"`:"")+`\r
Content-Type: ${m.type||"application/octet-stream"}\r
\r
`);d.push(I,m,h),typeof m.size=="number"?i+=I.byteLength+m.size+h.byteLength:f=!0}let g=tT.encode(`--${c}--\r
`);d.push(g),i+=g.byteLength,f&&(i=null),s=t,n=async function*(){for(let E of d)E.stream?yield*E.stream():yield E},o=`multipart/form-data; boundary=${c}`}else if(ase(t))s=t,i=t.size,t.type&&(o=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(iB.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:eqe(t)}if((typeof s=="string"||iB.isBuffer(s))&&(i=Buffer.byteLength(s)),n!=null){let c;r=new ReadableStream({async start(){c=n(t)[Symbol.asyncIterator]()},async pull(A){let{value:u,done:l}=await c.next();if(l)queueMicrotask(()=>{A.close(),A.byobRequest?.respond(0)});else if(!lse(r)){let d=new Uint8Array(u);d.byteLength&&A.enqueue(d)}return A.desiredSize>0},async cancel(A){await c.return()},type:"bytes"})}return[{stream:r,source:s,length:i},o]}function hqe(t,e=!1){return t instanceof ReadableStream&&(iO(!iB.isDisturbed(t),"The body has already been consumed."),iO(!t.locked,"The stream is locked.")),fse(t,e)}function fqe(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}function gqe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}function pqe(t){return{blob(){return B0(this,r=>{let n=Ase(this);return n===null?n="":n&&(n=uqe(n)),new aqe([r],{type:n})},t)},arrayBuffer(){return B0(this,r=>new Uint8Array(r).buffer,t)},text(){return B0(this,use,t)},json(){return B0(this,Eqe,t)},formData(){return B0(this,r=>{let n=Ase(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let s=lqe(r,n);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new cse;return i[b0]=s,i}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(r.toString()),i=new cse;for(let[o,a]of s)i.append(o,a);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return B0(this,r=>new Uint8Array(r),t)}}}function mqe(t){Object.assign(t.prototype,pqe(t))}async function B0(t,e,r){if(oqe.brandCheck(t,r),gse(t))throw new TypeError("Body is unusable: Body has already been read");gqe(t[b0]);let n=nqe(),s=o=>n.reject(o),i=o=>{try{n.resolve(e(o))}catch(a){s(a)}};return t[b0].body==null?(i(Buffer.allocUnsafe(0)),n.promise):(await sqe(t[b0].body,i,s),n.promise)}function gse(t){let e=t[b0].body;return e!=null&&(e.stream.locked||iB.isDisturbed(e.stream))}function Eqe(t){return JSON.parse(use(t))}function Ase(t){let e=t[b0].headersList,r=iqe(e);return r==="failure"?null:r}pse.exports={extractBody:fse,safelyExtractBody:hqe,cloneBody:fqe,mixinBody:mqe,streamRegistry:hse,hasFinalizationRegistry:dse,bodyUnusable:gse}});var kse=C((Vjt,Rse)=>{"use strict";var Pe=Q("node:assert"),qe=Ct(),{channels:mse}=l0(),aO=GP(),{RequestContentLengthMismatchError:Xf,ResponseContentLengthMismatchError:Ese,RequestAbortedError:Sse,InvalidArgumentError:Cqe,HeadersTimeoutError:Iqe,HeadersOverflowError:yqe,SocketError:w0,InformationalError:S0,BodyTimeoutError:Bqe,HTTPParserError:bqe,ResponseExceededMaxSizeError:Qqe}=Vt(),{kUrl:Nse,kReset:wi,kClient:iT,kParser:Ir,kBlocking:cB,kRunning:In,kPending:Tse,kSize:Cse,kWriting:Md,kQueue:mc,kNoRef:oB,kKeepAliveDefaultTimeout:wqe,kHostHeader:Sqe,kPendingIdx:Nqe,kRunningIdx:aa,kError:Ks,kPipelining:oT,kSocket:Zf,kKeepAliveTimeoutValue:cT,kMaxHeadersSize:cO,kKeepAliveMaxTimeout:Tqe,kKeepAliveTimeoutThreshold:xqe,kHeadersTimeout:Dqe,kBodyTimeout:Rqe,kStrictContentLength:lO,kMaxRequests:Ise,kCounter:kqe,kMaxResponseSize:vqe,kOnError:yse,kResume:ol,kHTTPContext:xse}=vr(),co=hne(),Bse=Buffer.alloc(0),rT=Buffer[Symbol.species],nT=qe.addListener,Fqe=qe.removeAllListeners,$f=Symbol("kIdleSocketValidation"),N0=Symbol("kIdleSocketValidationTimeout"),gO=Symbol("kSocketUsed"),AO;async function Mqe(){let t=process.env.JEST_WORKER_ID?VP():void 0,e;try{e=await WebAssembly.compile(pne())}catch{e=await WebAssembly.compile(t||VP())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:(r,n,s)=>0,wasm_on_status:(r,n,s)=>{Pe(jr.ptr===r);let i=n-gA+fA.byteOffset;return jr.onStatus(new rT(fA.buffer,i,s))||0},wasm_on_message_begin:r=>(Pe(jr.ptr===r),jr.onMessageBegin()||0),wasm_on_header_field:(r,n,s)=>{Pe(jr.ptr===r);let i=n-gA+fA.byteOffset;return jr.onHeaderField(new rT(fA.buffer,i,s))||0},wasm_on_header_value:(r,n,s)=>{Pe(jr.ptr===r);let i=n-gA+fA.byteOffset;return jr.onHeaderValue(new rT(fA.buffer,i,s))||0},wasm_on_headers_complete:(r,n,s,i)=>(Pe(jr.ptr===r),jr.onHeadersComplete(n,!!s,!!i)||0),wasm_on_body:(r,n,s)=>{Pe(jr.ptr===r);let i=n-gA+fA.byteOffset;return jr.onBody(new rT(fA.buffer,i,s))||0},wasm_on_message_complete:r=>(Pe(jr.ptr===r),jr.onMessageComplete()||0)}})}var uO=null,dO=Mqe();dO.catch();var jr=null,fA=null,sT=0,gA=null,_qe=0,aB=1,T0=2|aB,aT=4|aB,hO=8|_qe,fO=class{constructor(e,r,{exports:n}){Pe(Number.isFinite(e[cO])&&e[cO]>0),this.llhttp=n,this.ptr=this.llhttp.llhttp_alloc(co.TYPE.RESPONSE),this.client=e,this.socket=r,this.timeou Line truncated
`;if(typeof s=="string"?g+=`host: ${s}\r
`:g+=t[Sqe],i?g+=`connection: upgrade\r
`);d.push(C,m,h),typeof m.size=="number"?i+=C.byteLength+m.size+h.byteLength:f=!0}let p=IS.encode(`--${c}--\r
`);d.push(p),i+=p.byteLength,f&&(i=null),s=t,n=async function*(){for(let I of d)I.stream?yield*I.stream():yield I},o=`multipart/form-data; boundary=${c}`}else if(jte(t))s=t,i=t.size,t.type&&(o=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(RI.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:vHe(t)}if((typeof s=="string"||RI.isBuffer(s))&&(i=Buffer.byteLength(s)),n!=null){let c;r=new ReadableStream({async start(){c=n(t)[Symbol.asyncIterator]()},async pull(A){let{value:u,done:l}=await c.next();if(l)queueMicrotask(()=>{A.close(),A.byobRequest?.respond(0)});else if(!Zte(r)){let d=new Uint8Array(u);d.byteLength&&A.enqueue(d)}return A.desiredSize>0},async cancel(A){await c.return()},type:"bytes"})}return[{stream:r,source:s,length:i},o]}function WHe(t,e=!1){return t instanceof ReadableStream&&(aU(!RI.isDisturbed(t),"The body has already been consumed."),aU(!t.locked,"The stream is locked.")),rre(t,e)}function JHe(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}function zHe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}function jHe(t){return{blob(){return em(this,r=>{let n=$te(this);return n===null?n="":n&&(n=qHe(n)),new OHe([r],{type:n})},t)},arrayBuffer(){return em(this,r=>new Uint8Array(r).buffer,t)},text(){return em(this,Xte,t)},json(){return em(this,$He,t)},formData(){return em(this,r=>{let n=$te(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let s=YHe(r,n);if(s==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new Kte;return i[tm]=s,i}case"application/x-www-form-urlencoded":{let s=new URLSearchParams(r.toString()),i=new Kte;for(let[o,a]of s)i.append(o,a);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return em(this,r=>new Uint8Array(r),t)}}}function KHe(t){Object.assign(t.prototype,jHe(t))}async function em(t,e,r){if(PHe.brandCheck(t,r),nre(t))throw new TypeError("Body is unusable: Body has already been read");zHe(t[tm]);let n=MHe(),s=o=>n.reject(o),i=o=>{try{n.resolve(e(o))}catch(a){s(a)}};return t[tm].body==null?(i(Buffer.allocUnsafe(0)),n.promise):(await LHe(t[tm].body,i,s),n.promise)}function nre(t){let e=t[tm].body;return e!=null&&(e.stream.locked||RI.isDisturbed(e.stream))}function $He(t){return JSON.parse(Xte(t))}function $te(t){let e=t[tm].headersList,r=UHe(e);return r==="failure"?null:r}sre.exports={extractBody:rre,safelyExtractBody:WHe,cloneBody:JHe,mixinBody:KHe,streamRegistry:tre,hasFinalizationRegistry:ere,bodyUnusable:nre}});var gre=E((cWt,fre)=>{"use strict";var Ge=b("node:assert"),Xe=dt(),{channels:ire}=qp(),AU=YL(),{RequestContentLengthMismatchError:Wh,ResponseContentLengthMismatchError:XHe,RequestAbortedError:lre,HeadersTimeoutError:ZHe,HeadersOverflowError:e9e,SocketError:SS,InformationalError:nm,BodyTimeoutError:t9e,HTTPParserError:r9e,ResponseExceededMaxSizeError:n9e}=Lt(),{kUrl:dre,kReset:$s,kClient:hU,kParser:Mr,kBlocking:vI,kRunning:cs,kPending:s9e,kSize:ore,kWriting:vl,kQueue:xa,kNoRef:DI,kKeepAliveDefaultTimeout:i9e,kHostHeader:o9e,kPendingIdx:a9e,kRunningIdx:Qo,kError:wo,kPipelining:QS,kSocket:sm,kKeepAliveTimeoutValue:NS,kMaxHeadersSize:uU,kKeepAliveMaxTimeout:c9e,kKeepAliveTimeoutThreshold:A9e,kHeadersTimeout:u9e,kBodyTimeout:l9e,kStrictContentLength:fU,kMaxRequests:are,kCounter:d9e,kMaxResponseSize:h9e,kOnError:f9e,kResume:kl,kHTTPContext:hre}=yr(),Nc=tte(),g9e=Buffer.alloc(0),yS=Buffer[Symbol.species],BS=Xe.addListener,p9e=Xe.removeAllListeners,lU;async function m9e(){let t=process.env.JEST_WORKER_ID?JL():void 0,e;try{e=await WebAssembly.compile(ste())}catch{e=await WebAssembly.compile(t||JL())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:(r,n,s)=>0,wasm_on_status:(r,n,s)=>{Ge(gn.ptr===r);let i=n-xc+Tc.byteOffset;return gn.onStatus(new yS(Tc.buffer,i,s))||0},wasm_on_message_begin:r=>(Ge(gn.ptr===r),gn.onMessageBegin()||0),wasm_on_header_field:(r,n,s)=>{Ge(gn.ptr===r);let i=n-xc+Tc.byteOffset;return gn.onHeaderField(new yS(Tc.buffer,i,s))||0},wasm_on_header_value:(r,n,s)=>{Ge(gn.ptr===r);let i=n-xc+Tc.byteOffset;return gn.onHeaderValue(new yS(Tc.buffer,i,s))||0},wasm_on_headers_complete:(r,n,s,i)=>(Ge(gn.ptr===r),gn.onHeadersComplete(n,!!s,!!i)||0),wasm_on_body:(r,n,s)=>{Ge(gn.ptr===r);let i=n-xc+Tc.byteOffset;return gn.onBody(new yS(Tc.buffer,i,s))||0},wasm_on_message_complete:r=>(Ge(gn.ptr===r),gn.onMessageComplete()||0)}})}var dU=null,gU=m9e();gU.catch();var gn=null,Tc=null,bS=0,xc=null,E9e=0,kI=1,im=2|kI,wS=4|kI,pU=8|E9e,mU=class{constructor(e,r,{exports:n}){Ge(Number.isFinite(e[uU])&&e[uU]>0),this.llhttp=n,this.ptr=this.llhttp.llhttp_alloc(Nc.TYPE.RESPONSE),this.client=e,this.socket=r,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],thi Line truncated
`;if(typeof s=="string"?p+=`host: ${s}\r
`:p+=t[o9e],i?p+=`connection: upgrade\r
upgrade: ${i}\r
`:t[oT]&&!h[wi]?g+=`connection: keep-alive\r
`:g+=`connection: close\r
`,Array.isArray(A))for(let E=0;E<A.length;E+=2){let m=A[E+0],I=A[E+1];if(Array.isArray(I))for(let y=0;y<I.length;y++)g+=`${m}: ${I[y]}\r
`;else g+=`${m}: ${I}\r
`}return mse.sendHeaders.hasSubscribers&&mse.sendHeaders.publish({request:e,headers:g,socket:h}),!c||d===0?Qse(f,null,t,e,h,u,g,l):qe.isBuffer(c)?Qse(f,c,t,e,h,u,g,l):qe.isBlobLike(c)?typeof c.stream=="function"?wse(f,c.stream(),t,e,h,u,g,l):qqe(f,c,t,e,h,u,g,l):qe.isStream(c)?Gqe(f,c,t,e,h,u,g,l):qe.isIterable(c)?wse(f,c,t,e,h,u,g,l):Pe(!1),!0}function Gqe(t,e,r,n,s,i,o,a){Pe(i!==0||r[In]===0,"stream body cannot be pipelined");let c=!1,A=new AT({abort:t,socket:s,request:n,contentLength:i,client:r,expectsPayload:a,header:o}),u=function(f){if(!c)try{!A.write(f)&&this.pause&&this.pause()}catch(g){qe.destroy(this,g)}},l=function(){c||e.resume&&e.resume()},d=function(){if(queueMicrotask(()=>{e.removeListener("error",h)}),!c){let f=new Sse;queueMicrotask(()=>h(f))}},h=function(f){if(!c){if(c=!0,Pe(s.destroyed||s[Md]&&r[In]<=1),s.off("drain",l).off("error",h),e.removeListener("data",u).removeListener("end",h).removeListener("close",d),!f)try{A.end()}catch(g){f=g}A.destroy(f),f&&(f.code!=="UND_ERR_INFO"||f.message!=="reset")?qe.destroy(e,f):qe.destroy(e)}};e.on("data",u).on("end",h).on("error",h).on("close",d),e.resume&&e.resume(),s.on("drain",l).on("error",h),e.errorEmitted??e.errored?setImmediate(()=>h(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>h(null)),(e.closeEmitted??e.closed)&&setImmediate(d)}function Qse(t,e,r,n,s,i,o,a){try{e?qe.isBuffer(e)&&(Pe(i===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${o}content-length: ${i}\r
`:t[QS]&&!h[$s]?p+=`connection: keep-alive\r
`:p+=`connection: close\r
`,Array.isArray(A))for(let I=0;I<A.length;I+=2){let m=A[I+0],C=A[I+1];if(Array.isArray(C))for(let y=0;y<C.length;y++)p+=`${m}: ${C[y]}\r
`;else p+=`${m}: ${C}\r
`}return ire.sendHeaders.hasSubscribers&&ire.sendHeaders.publish({request:e,headers:p,socket:h}),!c||d===0?Are(f,null,t,e,h,u,p,l):Xe.isBuffer(c)?Are(f,c,t,e,h,u,p,l):Xe.isBlobLike(c)?typeof c.stream=="function"?ure(f,c.stream(),t,e,h,u,p,l):Q9e(f,c,t,e,h,u,p,l):Xe.isStream(c)?b9e(f,c,t,e,h,u,p,l):Xe.isIterable(c)?ure(f,c,t,e,h,u,p,l):Ge(!1),!0}function b9e(t,e,r,n,s,i,o,a){Ge(i!==0||r[cs]===0,"stream body cannot be pipelined");let c=!1,A=new TS({abort:t,socket:s,request:n,contentLength:i,client:r,expectsPayload:a,header:o}),u=function(f){if(!c)try{!A.write(f)&&this.pause&&this.pause()}catch(p){Xe.destroy(this,p)}},l=function(){c||e.resume&&e.resume()},d=function(){if(queueMicrotask(()=>{e.removeListener("error",h)}),!c){let f=new lre;queueMicrotask(()=>h(f))}},h=function(f){if(!c){if(c=!0,Ge(s.destroyed||s[vl]&&r[cs]<=1),s.off("drain",l).off("error",h),e.removeListener("data",u).removeListener("end",h).removeListener("close",d),!f)try{A.end()}catch(p){f=p}A.destroy(f),f&&(f.code!=="UND_ERR_INFO"||f.message!=="reset")?Xe.destroy(e,f):Xe.destroy(e)}};e.on("data",u).on("end",h).on("error",h).on("close",d),e.resume&&e.resume(),s.on("drain",l).on("error",h),e.errorEmitted??e.errored?setImmediate(()=>h(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>h(null)),(e.closeEmitted??e.closed)&&setImmediate(d)}function Are(t,e,r,n,s,i,o,a){try{e?Xe.isBuffer(e)&&(Ge(i===e.byteLength,"buffer body must have content length"),s.cork(),s.write(`${o}content-length: ${i}\r
\r
`,"latin1"),s.write(e),s.uncork(),n.onBodySent(e),!a&&n.reset!==!1&&(s[wi]=!0)):i===0?s.write(`${o}content-length: 0\r
`,"latin1"),s.write(e),s.uncork(),n.onBodySent(e),!a&&n.reset!==!1&&(s[$s]=!0)):i===0?s.write(`${o}content-length: 0\r
\r
`,"latin1"):(Pe(i===null,"no body must not have content length"),s.write(`${o}\r
`,"latin1")),n.onRequestSent(),r[ol]()}catch(c){t(c)}}async function qqe(t,e,r,n,s,i,o,a){Pe(i===e.size,"blob body must have content length");try{if(i!=null&&i!==e.size)throw new Xf;let c=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${o}content-length: ${i}\r
`,"latin1"):(Ge(i===null,"no body must not have content length"),s.write(`${o}\r
`,"latin1")),n.onRequestSent(),r[kl]()}catch(c){t(c)}}async function Q9e(t,e,r,n,s,i,o,a){Ge(i===e.size,"blob body must have content length");try{if(i!=null&&i!==e.size)throw new Wh;let c=Buffer.from(await e.arrayBuffer());s.cork(),s.write(`${o}content-length: ${i}\r
\r
`,"latin1"),s.write(c),s.uncork(),n.onBodySent(c),n.onRequestSent(),!a&&n.reset!==!1&&(s[wi]=!0),r[ol]()}catch(c){t(c)}}async function wse(t,e,r,n,s,i,o,a){Pe(i!==0||r[In]===0,"iterator body cannot be pipelined");let c=null;function A(){if(c){let d=c;c=null,d()}}let u=()=>new Promise((d,h)=>{Pe(c===null),s[Ks]?h(s[Ks]):c=d});s.on("close",A).on("drain",A);let l=new AT({abort:t,socket:s,request:n,contentLength:i,client:r,expectsPayload:a,header:o});try{for await(let d of e){if(s[Ks])throw s[Ks];l.write(d)||await u()}l.end()}catch(d){l.destroy(d)}finally{s.off("close",A).off("drain",A)}}var AT=class{constructor({abort:e,socket:r,request:n,contentLength:s,client:i,expectsPayload:o,header:a}){this.socket=r,this.request=n,this.contentLength=s,this.client=i,this.bytesWritten=0,this.expectsPayload=o,this.header=a,this.abort=e,r[Md]=!0}write(e){let{socket:r,request:n,contentLength:s,client:i,bytesWritten:o,expectsPayload:a,header:c}=this;if(r[Ks])throw r[Ks];if(r.destroyed)return!1;let A=Buffer.byteLength(e);if(!A)return!0;if(s!==null&&o+A>s){if(i[lO])throw new Xf;process.emitWarning(new Xf)}r.cork(),o===0&&(!a&&n.reset!==!1&&(r[wi]=!0),s===null?r.write(`${c}transfer-encoding: chunked\r
`,"latin1"),s.write(c),s.uncork(),n.onBodySent(c),n.onRequestSent(),!a&&n.reset!==!1&&(s[$s]=!0),r[kl]()}catch(c){t(c)}}async function ure(t,e,r,n,s,i,o,a){Ge(i!==0||r[cs]===0,"iterator body cannot be pipelined");let c=null;function A(){if(c){let d=c;c=null,d()}}let u=()=>new Promise((d,h)=>{Ge(c===null),s[wo]?h(s[wo]):c=d});s.on("close",A).on("drain",A);let l=new TS({abort:t,socket:s,request:n,contentLength:i,client:r,expectsPayload:a,header:o});try{for await(let d of e){if(s[wo])throw s[wo];l.write(d)||await u()}l.end()}catch(d){l.destroy(d)}finally{s.off("close",A).off("drain",A)}}var TS=class{constructor({abort:e,socket:r,request:n,contentLength:s,client:i,expectsPayload:o,header:a}){this.socket=r,this.request=n,this.contentLength=s,this.client=i,this.bytesWritten=0,this.expectsPayload=o,this.header=a,this.abort=e,r[vl]=!0}write(e){let{socket:r,request:n,contentLength:s,client:i,bytesWritten:o,expectsPayload:a,header:c}=this;if(r[wo])throw r[wo];if(r.destroyed)return!1;let A=Buffer.byteLength(e);if(!A)return!0;if(s!==null&&o+A>s){if(i[fU])throw new Wh;process.emitWarning(new Wh)}r.cork(),o===0&&(!a&&n.reset!==!1&&(r[$s]=!0),s===null?r.write(`${c}transfer-encoding: chunked\r
`,"latin1"):r.write(`${c}content-length: ${s}\r
\r
`,"latin1")),s===null&&r.write(`\r
${A.toString(16)}\r
`,"latin1"),this.bytesWritten+=A;let u=r.write(e);return r.uncork(),n.onBodySent(e),u||r[Ir].timeout&&r[Ir].timeoutType===T0&&r[Ir].timeout.refresh&&r[Ir].timeout.refresh(),u}end(){let{socket:e,contentLength:r,client:n,bytesWritten:s,expectsPayload:i,header:o,request:a}=this;if(a.onRequestSent(),e[Md]=!1,e[Ks])throw e[Ks];if(!e.destroyed){if(s===0?i?e.write(`${o}content-length: 0\r
`,"latin1"),this.bytesWritten+=A;let u=r.write(e);return r.uncork(),n.onBodySent(e),u||r[Mr].timeout&&r[Mr].timeoutType===im&&r[Mr].timeout.refresh&&r[Mr].timeout.refresh(),u}end(){let{socket:e,contentLength:r,client:n,bytesWritten:s,expectsPayload:i,header:o,request:a}=this;if(a.onRequestSent(),e[vl]=!1,e[wo])throw e[wo];if(!e.destroyed){if(s===0?i?e.write(`${o}content-length: 0\r
\r
`,"latin1"):e.write(`${o}\r
`,"latin1"):r===null&&e.write(`\r
0\r
\r
`,"latin1"),r!==null&&s!==r){if(n[lO])throw new Xf;process.emitWarning(new Xf)}e[Ir].timeout&&e[Ir].timeoutType===T0&&e[Ir].timeout.refresh&&e[Ir].timeout.refresh(),n[ol]()}}destroy(e){let{socket:r,client:n,abort:s}=this;r[Md]=!1,e&&(Pe(n[In]<=1,"pipeline should only contain this request"),s(e))}};Rse.exports=Lqe});var Ose=C((Jjt,Pse)=>{"use strict";var ca=Q("node:assert"),{pipeline:Yqe}=Q("node:stream"),Nt=Ct(),{RequestContentLengthMismatchError:pO,RequestAbortedError:vse,SocketError:AB,InformationalError:mO}=Vt(),{kUrl:uT,kReset:dT,kClient:x0,kRunning:hT,kPending:Vqe,kQueue:_d,kPendingIdx:EO,kRunningIdx:Ec,kError:Ic,kSocket:zn,kStrictContentLength:Jqe,kOnError:CO,kMaxConcurrentStreams:Use,kHTTP2Session:Cc,kResume:Ld,kSize:Wqe,kHTTPContext:zqe}=vr(),al=Symbol("open streams"),Fse,Mse=!1,lT;try{lT=Q("node:http2")}catch{lT={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:jqe,HTTP2_HEADER_METHOD:Kqe,HTTP2_HEADER_PATH:Xqe,HTTP2_HEADER_SCHEME:Zqe,HTTP2_HEADER_CONTENT_LENGTH:$qe,HTTP2_HEADER_EXPECT:eYe,HTTP2_HEADER_STATUS:tYe}}=lT;function rYe(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let s of n)e.push(Buffer.from(r),Buffer.from(s));else e.push(Buffer.from(r),Buffer.from(n));return e}async function nYe(t,e){t[zn]=e,Mse||(Mse=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=lT.connect(t[uT],{createConnection:()=>e,peerMaxConcurrentStreams:t[Use]});r[al]=0,r[x0]=t,r[zn]=e,Nt.addListener(r,"error",iYe),Nt.addListener(r,"frameError",oYe),Nt.addListener(r,"end",aYe),Nt.addListener(r,"goaway",cYe),Nt.addListener(r,"close",function(){let{[x0]:s}=this,{[zn]:i}=s,o=this[zn][Ic]||this[Ic]||new AB("closed",Nt.getSocketInfo(i));if(s[Cc]=null,s.destroyed){ca(s[Vqe]===0);let a=s[_d].splice(s[Ec]);for(let c=0;c<a.length;c++){let A=a[c];Nt.errorRequest(s,A,o)}}}),r.unref(),t[Cc]=r,e[Cc]=r,Nt.addListener(e,"error",function(s){ca(s.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Ic]=s,this[x0][CO](s)}),Nt.addListener(e,"end",function(){Nt.destroy(this,new AB("other side closed",Nt.getSocketInfo(this)))}),Nt.addListener(e,"close",function(){let s=this[Ic]||new AB("closed",Nt.getSocketInfo(this));t[zn]=null,this[Cc]!=null&&this[Cc].destroy(s),t[EO]=t[Ec],ca(t[hT]===0),t.emit("disconnect",t[uT],[t],s),t[Ld]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return uYe(t,...s)},resume(){sYe(t)},destroy(s,i){n?queueMicrotask(i):e.destroy(s).on("close",i)},get destroyed(){return e.destroyed},busy(){return!1}}}function sYe(t){let e=t[zn];e?.destroyed===!1&&(t[Wqe]===0&&t[Use]===0?(e.unref(),t[Cc].unref()):(e.ref(),t[Cc].ref()))}function iYe(t){ca(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[zn][Ic]=t,this[x0][CO](t)}function oYe(t,e,r){if(r===0){let n=new mO(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[zn][Ic]=n,this[x0][CO](n)}}function aYe(){let t=new AB("other side closed",Nt.getSocketInfo(this[zn]));this.destroy(t),Nt.destroy(this[zn],t)}function cYe(t){let e=this[Ic]||new AB(`HTTP/2: "GOAWAY" frame received with code ${t}`,Nt.getSocketInfo(this)),r=this[x0];if(r[zn]=null,r[zqe]=null,this[Cc]!=null&&(this[Cc].destroy(e),this[Cc]=null),Nt.destroy(this[zn],e),r[Ec]<r[_d].length){let n=r[_d][r[Ec]];r[_d][r[Ec]++]=null,Nt.errorRequest(r,n,e),r[EO]=r[Ec]}ca(r[hT]===0),r.emit("disconnect",r[uT],[r],e),r[Ld]()}function AYe(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}function uYe(t,e){let r=t[Cc],{method:n,path:s,host:i,upgrade:o,expectContinue:a,signal:c,headers:A}=e,{body:u}=e;if(o)return Nt.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let l={};for(let B=0;B<A.length;B+=2){let F=A[B+0],V=A[B+1];if(Array.isArray(V))for(let L=0;L<V.length;L++)l[F]?l[F]+=`,${V[L]}`:l[F]=V[L];else l[F]=V}let d,{hostname:h,port:f}=t[uT];l[jqe]=i||`${h}${f?`:${f}`:""}`,l[Kqe]=n;let g=B=>{e.aborted||e.completed||(B=B||new vse,Nt.errorRequest(t,e,B),d!=null&&Nt.destroy(d,B),Nt.destroy(u,B),t[_d][t[Ec]++]=null,t[Ld]())};try{e.onConnect(g)}catch(B){Nt.errorRequest(t,e,B)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),d=r.request(l,{endStream:!1,signal:c}),d.id&&!d.pending?(e.onUpgrade(null,null,d),++r[al],t[_d][t[Ec]++]=null):d.once("ready",()=>{e.onUpgrade(null,null,d),++r[al],t[_d][t[Ec]++]=null}),d.once("close",()=>{r[al]-=1,r[al]===0&&r.unref()}),!0;l[Xqe]=s,l[Zqe]="https";let E=n==="PUT"||n==="POST"||n==="PATCH";u&&typeof u.read=="function"&&u.read(0);let m=Nt.bodyLength(u);if(Nt.isFormDataLike(u)){Fse??=Q0().extractBody;let[B,F]=Fse(u);l["content-type"]=F,u=B.stream,m=B.length}if(m==null&&(m=e.contentLength),(m===0||!E)&&(m=null),AYe(n)&&m>0&&e.contentLength!=null&&e.contentLength!==m){if(t[Jqe])return Nt.errorRequest(t,e,new pO),!1;process.emitWarning(new pO)}m!=null&&(ca(u,"no body must not have content length"),l[$qe]=`${m}`),r.ref();let I=n==="GET"||n==="HEAD"||u===null;return a?(l[eYe]="100-continue",d=r.request(l,{endStream:I,signal:c}),d.once("cont Line truncated
`,this[_Ye]=c??3e5,this[MYe]=s??3e5,this[LYe]=I??!0,this[UYe]=B,this[bO]=V,this[Pd]=null,this[qYe]=P>-1?P:-1,this[VYe]=Z??100,this[un]=null,this[yc]=[],this[Al]=0,this[Bc]=0,this[hB]=de=>wO(this,de),this[YYe]=de=>Zse(this,de)}get pipelining(){return this[mT]}set pipelining(e){this[mT]=e,this[hB](!0)}get[pB](){return this[yc].length-this[Bc]}get[gB](){return this[Bc]-this[Al]}get[fB](){return this[yc].length-this[Al]}get[TYe](){return!!this[un]&&!this[R0]&&!this[un].destroyed}get[BO](){return!!(this[un]?.busy(null)||this[fB]>=(Xse(this)||1)||this[pB]>0)}[NYe](e){$se(this),this.once("connect",e)}[GYe](e,r){let n=e.origin||this[mA].origin,s=new yYe(n,e,r);return this[yc].push(s),this[tg]||(eg.bodyLength(s.body)==null&&eg.isIterable(s.body)?(this[tg]=1,queueMicrotask(()=>wO(this))):this[hB](!0)),this[tg]&&this[Od]!==2&&this[BO]&&(this[Od]=2),this[Od]<2}async[OYe](){return new Promise(e=>{this[fB]?this[Pd]=e:e(null)})}async[HYe](e){return new Promise(r=>{let n=this[yc].splice(this[Bc]);for(let i=0;i<n.length;i++){let o=n[i];eg.errorRequest(this,o,e)}let s=()=>{this[Pd]&&(this[Pd](),this[Pd]=null),r(null)};this[un]?(this[un].destroy(e,s),this[un]=null):queueMicrotask(s),this[hB]()})}},zYe=pT();function Zse(t,e){if(t[gB]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){cl(t[Bc]===t[Al]);let r=t[yc].splice(t[Al]);for(let n=0;n<r.length;n++){let s=r[n];eg.errorRequest(t,s,e)}cl(t[fB]===0)}}async function $se(t){cl(!t[R0]),cl(!t[un]);let{host:e,hostname:r,protocol:n,port:s}=t[mA];if(r[0]==="["){let i=r.indexOf("]");cl(i!==-1);let o=r.substring(1,i);cl(Kse.isIP(o)),r=o}t[R0]=!0,D0.beforeConnect.hasSubscribers&&D0.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[un]?.version,servername:t[Ud],localAddress:t[dB]},connector:t[lB]});try{let i=await new Promise((o,a)=>{t[lB]({host:e,hostname:r,protocol:n,port:s,servername:t[Ud],localAddress:t[dB]},(c,A)=>{c?a(c):o(A)})});if(t.destroyed){eg.destroy(i.on("error",zse),new QYe);return}cl(i);try{t[un]=i.alpnProtocol==="h2"?await WYe(t,i):await JYe(t,i)}catch(o){throw i.destroy().on("error",zse),o}t[R0]=!1,i[PYe]=0,i[bO]=t[bO],i[SYe]=t,i[DYe]=null,D0.connected.hasSubscribers&&D0.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[un]?.version,servername:t[Ud],localAddress:t[dB]},connector:t[lB],socket:i}),t.emit("connect",t[mA],[t])}catch(i){if(t.destroyed)return;if(t[R0]=!1,D0.connectError.hasSubscribers&&D0.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[un]?.version,servername:t[Ud],localAddress:t[dB]},connector:t[lB],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(cl(t[gB]===0);t[pB]>0&&t[yc][t[Bc]].servername===t[Ud];){let o=t[yc][t[Bc]++];eg.errorRequest(t,o,i)}else Zse(t,i);t.emit("connectionError",t[mA],[t],i)}t[hB]()}function jse(t){t[Od]=0,t.emit("drain",t[mA],[t])}function wO(t,e){t[tg]!==2&&(t[tg]=2,jYe(t,e),t[tg]=0,t[Al]>256&&(t[yc].splice(0,t[Al]),t[Bc]-=t[Al],t[Al]=0))}function jYe(t,e){for(;;){if(t.destroyed){cl(t[pB]===0);return}if(t[Pd]&&!t[fB]){t[Pd](),t[Pd]=null;return}if(t[un]&&t[un].resume(),t[BO])t[Od]=2;else if(t[Od]===2){e?(t[Od]=1,queueMicrotask(()=>jse(t))):jse(t);continue}if(t[pB]===0||t[gB]>=(Xse(t)||1))return;let r=t[yc][t[Bc]];if(t[mA].protocol==="https:"&&t[Ud]!==r.servername){if(t[gB]>0)return;t[Ud]=r.servername,t[un]?.destroy(new bYe("servername changed"),()=>{t[un]=null,wO(t)})}if(t[R0])return;if(!t[un]){$se(t);return}if(t[un].destroyed||t[un].busy(r))return;!r.aborted&&t[un].write(r)?t[Bc]++:t[yc].splice(t[Bc],1)}}eie.exports=QO});var SO=C((Xjt,tie)=>{"use strict";var ET=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};tie.exports=class{constructor(){this.head=this.tail=new ET}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new ET),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var nie=C((Zjt,rie)=>{var{kFree:KYe,kConnected:XYe,kPending:ZYe,kQueued:$Ye,kRunning:eVe,kSize:tVe}=vr(),rg=Symbol("pool"),NO=class{constructor(e){this[rg]=e}get connected(){return this[rg][XYe]}get free(){return this[rg][KYe]}get pending(){return this[rg][ZYe]}get queued(){return this[rg][$Ye]}get running(){return this[rg][eVe]}get size(){return this[rg][tVe]}};rie.exports=NO});var vO=C(($jt,hie)=>{"use strict";var rVe=g0(),nVe=SO(),{kConnected:TO,kSize:sie,kRunning:iie,kPending:oie,kQueued:mB,kBusy:sVe,kFree:iVe,kUrl:oVe,kClose:aVe,kDestroy:cVe,kDispatch:AVe}=vr(),uVe=nie(),Si=Symbol("clients"),Xs=Symbol("needDrain"),EB=Symbol("queue"),xO=Symbol("closed resolve"),DO=Symbol("onDrain"),aie=Symbol("onConnect"),cie=Symbol("onDisconnect"),Aie=Symbol("onCo Line truncated
`,"latin1"),r!==null&&s!==r){if(n[fU])throw new Wh;process.emitWarning(new Wh)}e[Mr].timeout&&e[Mr].timeoutType===im&&e[Mr].timeout.refresh&&e[Mr].timeout.refresh(),n[kl]()}}destroy(e){let{socket:r,client:n,abort:s}=this;r[vl]=!1,e&&(Ge(n[cs]<=1,"pipeline should only contain this request"),s(e))}};fre.exports=C9e});var bre=E((AWt,Bre)=>{"use strict";var So=b("node:assert"),{pipeline:w9e}=b("node:stream"),Et=dt(),{RequestContentLengthMismatchError:EU,RequestAbortedError:pre,SocketError:_I,InformationalError:CU}=Lt(),{kUrl:xS,kReset:DS,kClient:om,kRunning:kS,kPending:S9e,kQueue:_l,kPendingIdx:IU,kRunningIdx:Ra,kError:ka,kSocket:Dn,kStrictContentLength:N9e,kOnError:yU,kMaxConcurrentStreams:yre,kHTTP2Session:Da,kResume:Fl,kSize:T9e,kHTTPContext:x9e}=yr(),pu=Symbol("open streams"),mre,Ere=!1,RS;try{RS=b("node:http2")}catch{RS={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:R9e,HTTP2_HEADER_METHOD:D9e,HTTP2_HEADER_PATH:k9e,HTTP2_HEADER_SCHEME:v9e,HTTP2_HEADER_CONTENT_LENGTH:_9e,HTTP2_HEADER_EXPECT:F9e,HTTP2_HEADER_STATUS:M9e}}=RS;function L9e(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let s of n)e.push(Buffer.from(r),Buffer.from(s));else e.push(Buffer.from(r),Buffer.from(n));return e}async function U9e(t,e){t[Dn]=e,Ere||(Ere=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=RS.connect(t[xS],{createConnection:()=>e,peerMaxConcurrentStreams:t[yre]});r[pu]=0,r[om]=t,r[Dn]=e,Et.addListener(r,"error",O9e),Et.addListener(r,"frameError",H9e),Et.addListener(r,"end",G9e),Et.addListener(r,"goaway",q9e),Et.addListener(r,"close",function(){let{[om]:s}=this,{[Dn]:i}=s,o=this[Dn][ka]||this[ka]||new _I("closed",Et.getSocketInfo(i));if(s[Da]=null,s.destroyed){So(s[S9e]===0);let a=s[_l].splice(s[Ra]);for(let c=0;c<a.length;c++){let A=a[c];Et.errorRequest(s,A,o)}}}),r.unref(),t[Da]=r,e[Da]=r,Et.addListener(e,"error",function(s){So(s.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[ka]=s,this[om][yU](s)}),Et.addListener(e,"end",function(){Et.destroy(this,new _I("other side closed",Et.getSocketInfo(this)))}),Et.addListener(e,"close",function(){let s=this[ka]||new _I("closed",Et.getSocketInfo(this));t[Dn]=null,this[Da]!=null&&this[Da].destroy(s),t[IU]=t[Ra],So(t[kS]===0),t.emit("disconnect",t[xS],[t],s),t[Fl]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...s){return V9e(t,...s)},resume(){P9e(t)},destroy(s,i){n?queueMicrotask(i):e.destroy(s).on("close",i)},get destroyed(){return e.destroyed},busy(){return!1}}}function P9e(t){let e=t[Dn];e?.destroyed===!1&&(t[T9e]===0&&t[yre]===0?(e.unref(),t[Da].unref()):(e.ref(),t[Da].ref()))}function O9e(t){So(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Dn][ka]=t,this[om][yU](t)}function H9e(t,e,r){if(r===0){let n=new CU(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[Dn][ka]=n,this[om][yU](n)}}function G9e(){let t=new _I("other side closed",Et.getSocketInfo(this[Dn]));this.destroy(t),Et.destroy(this[Dn],t)}function q9e(t){let e=this[ka]||new _I(`HTTP/2: "GOAWAY" frame received with code ${t}`,Et.getSocketInfo(this)),r=this[om];if(r[Dn]=null,r[x9e]=null,this[Da]!=null&&(this[Da].destroy(e),this[Da]=null),Et.destroy(this[Dn],e),r[Ra]<r[_l].length){let n=r[_l][r[Ra]];r[_l][r[Ra]++]=null,Et.errorRequest(r,n,e),r[IU]=r[Ra]}So(r[kS]===0),r.emit("disconnect",r[xS],[r],e),r[Fl]()}function Y9e(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}function V9e(t,e){let r=t[Da],{method:n,path:s,host:i,upgrade:o,expectContinue:a,signal:c,headers:A}=e,{body:u}=e;if(o)return Et.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let l={};for(let N=0;N<A.length;N+=2){let M=A[N+0],O=A[N+1];if(Array.isArray(O))for(let k=0;k<O.length;k++)l[M]?l[M]+=`,${O[k]}`:l[M]=O[k];else l[M]=O}let d,{hostname:h,port:f}=t[xS];l[R9e]=i||`${h}${f?`:${f}`:""}`,l[D9e]=n;let p=N=>{e.aborted||e.completed||(N=N||new pre,Et.errorRequest(t,e,N),d!=null&&Et.destroy(d,N),Et.destroy(u,N),t[_l][t[Ra]++]=null,t[Fl]())};try{e.onConnect(p)}catch(N){Et.errorRequest(t,e,N)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),d=r.request(l,{endStream:!1,signal:c}),d.id&&!d.pending?(e.onUpgrade(null,null,d),++r[pu],t[_l][t[Ra]++]=null):d.once("ready",()=>{e.onUpgrade(null,null,d),++r[pu],t[_l][t[Ra]++]=null}),d.once("close",()=>{r[pu]-=1,r[pu]===0&&r.unref()}),!0;l[k9e]=s,l[v9e]="https";let I=n==="PUT"||n==="POST"||n==="PATCH";u&&typeof u.read=="function"&&u.read(0);let m=Et.bodyLength(u);if(Et.isFormDataLike(u)){mre??=rm().extractBody;let[N,M]=mre(u);l["content-type"]=M,u=N.stream,m=N.length}if(m==null&&(m=e.contentLength),(m===0||!I)&&(m=null),Y9e(n)&&m>0&&e.contentLength!=null&&e.contentLength!==m){if(t[N9e])return Et.errorRequest(t,e,new EU),!1;process.emitWarning(new EU)}m!=null&&(So(u,"no body must not have content length"),l[_9e]=`${m}`),r.ref();let C=n==="GET"||n==="HEAD"||u===null;return a?(l[F9e]="100-continue",d=r.request(l,{endStream:C,signal:c}),d.once("cont Line truncated
`,this[mGe]=c??3e5,this[pGe]=s??3e5,this[EGe]=C??!0,this[CGe]=N,this[wU]=O,this[Ll]=null,this[QGe]=P>-1?P:-1,this[SGe]=ee??100,this[Kr]=null,this[va]=[],this[Eu]=0,this[_a]=0,this[UI]=ce=>NU(this,ce),this[wGe]=ce=>Fre(this,ce)}get pipelining(){return this[MS]}set pipelining(e){this[MS]=e,this[UI](!0)}get[HI](){return this[va].length-this[_a]}get[OI](){return this[_a]-this[Eu]}get[PI](){return this[va].length-this[Eu]}get[AGe](){return!!this[Kr]&&!this[cm]&&!this[Kr].destroyed}get[QU](){return!!(this[Kr]?.busy(null)||this[PI]>=(_re(this)||1)||this[HI]>0)}[cGe](e){Mre(this),this.once("connect",e)}[bGe](e,r){let n=e.origin||this[Dc].origin,s=new rGe(n,e,r);return this[va].push(s),this[zh]||(Jh.bodyLength(s.body)==null&&Jh.isIterable(s.body)?(this[zh]=1,queueMicrotask(()=>NU(this))):this[UI](!0)),this[zh]&&this[Ul]!==2&&this[QU]&&(this[Ul]=2),this[Ul]<2}async[yGe](){return new Promise(e=>{this[PI]?this[Ll]=e:e(null)})}async[BGe](e){return new Promise(r=>{let n=this[va].splice(this[_a]);for(let i=0;i<n.length;i++){let o=n[i];Jh.errorRequest(this,o,e)}let s=()=>{this[Ll]&&(this[Ll](),this[Ll]=null),r(null)};this[Kr]?(this[Kr].destroy(e,s),this[Kr]=null):queueMicrotask(s),this[UI]()})}},xGe=FS();function Fre(t,e){if(t[OI]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){mu(t[_a]===t[Eu]);let r=t[va].splice(t[Eu]);for(let n=0;n<r.length;n++){let s=r[n];Jh.errorRequest(t,s,e)}mu(t[PI]===0)}}async function Mre(t){mu(!t[cm]),mu(!t[Kr]);let{host:e,hostname:r,protocol:n,port:s}=t[Dc];if(r[0]==="["){let i=r.indexOf("]");mu(i!==-1);let o=r.substring(1,i);mu(vre.isIP(o)),r=o}t[cm]=!0,am.beforeConnect.hasSubscribers&&am.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[Kr]?.version,servername:t[Ml],localAddress:t[LI]},connector:t[MI]});try{let i=await new Promise((o,a)=>{t[MI]({host:e,hostname:r,protocol:n,port:s,servername:t[Ml],localAddress:t[LI]},(c,A)=>{c?a(c):o(A)})});if(t.destroyed){Jh.destroy(i.on("error",Dre),new iGe);return}mu(i);try{t[Kr]=i.alpnProtocol==="h2"?await TGe(t,i):await NGe(t,i)}catch(o){throw i.destroy().on("error",Dre),o}t[cm]=!1,i[IGe]=0,i[wU]=t[wU],i[aGe]=t,i[lGe]=null,am.connected.hasSubscribers&&am.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[Kr]?.version,servername:t[Ml],localAddress:t[LI]},connector:t[MI],socket:i}),t.emit("connect",t[Dc],[t])}catch(i){if(t.destroyed)return;if(t[cm]=!1,am.connectError.hasSubscribers&&am.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:s,version:t[Kr]?.version,servername:t[Ml],localAddress:t[LI]},connector:t[MI],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(mu(t[OI]===0);t[HI]>0&&t[va][t[_a]].servername===t[Ml];){let o=t[va][t[_a]++];Jh.errorRequest(t,o,i)}else Fre(t,i);t.emit("connectionError",t[Dc],[t],i)}t[UI]()}function kre(t){t[Ul]=0,t.emit("drain",t[Dc],[t])}function NU(t,e){t[zh]!==2&&(t[zh]=2,RGe(t,e),t[zh]=0,t[Eu]>256&&(t[va].splice(0,t[Eu]),t[_a]-=t[Eu],t[Eu]=0))}function RGe(t,e){for(;;){if(t.destroyed){mu(t[HI]===0);return}if(t[Ll]&&!t[PI]){t[Ll](),t[Ll]=null;return}if(t[Kr]&&t[Kr].resume(),t[QU])t[Ul]=2;else if(t[Ul]===2){e?(t[Ul]=1,queueMicrotask(()=>kre(t))):kre(t);continue}if(t[HI]===0||t[OI]>=(_re(t)||1))return;let r=t[va][t[_a]];if(t[Dc].protocol==="https:"&&t[Ml]!==r.servername){if(t[OI]>0)return;t[Ml]=r.servername,t[Kr]?.destroy(new sGe("servername changed"),()=>{t[Kr]=null,NU(t)})}if(t[cm])return;if(!t[Kr]){Mre(t);return}if(t[Kr].destroyed||t[Kr].busy(r))return;!r.aborted&&t[Kr].write(r)?t[_a]++:t[va].splice(t[_a],1)}}Lre.exports=SU});var TU=E((fWt,Ure)=>{"use strict";var LS=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};Ure.exports=class{constructor(){this.head=this.tail=new LS}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new LS),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var Ore=E((gWt,Pre)=>{var{kFree:DGe,kConnected:kGe,kPending:vGe,kQueued:_Ge,kRunning:FGe,kSize:MGe}=yr(),jh=Symbol("pool"),xU=class{constructor(e){this[jh]=e}get connected(){return this[jh][kGe]}get free(){return this[jh][DGe]}get pending(){return this[jh][vGe]}get queued(){return this[jh][_Ge]}get running(){return this[jh][FGe]}get size(){return this[jh][MGe]}};Pre.exports=xU});var FU=E((pWt,Kre)=>{"use strict";var LGe=Jp(),UGe=TU(),{kConnected:RU,kSize:Hre,kRunning:Gre,kPending:qre,kQueued:GI,kBusy:PGe,kFree:OGe,kUrl:HGe,kClose:GGe,kDestroy:qGe,kDispatch:YGe}=yr(),VGe=Ore(),Xs=Symbol("clients"),ws=Symbol("needDrain"),qI=Symbol("queue"),DU=Symbol("closed resolve"),kU=Symbol("onDrain"),Yre=Symbol("onConnect"),Vre=Symbol("onDisconnect"),Wre=Symbol("onC Line truncated
${n.count} ${n.noun} ${n.is} pending:
${e.format(r)}
`.trim())}};Iae.exports=v3});var _T=C((NKt,wae)=>{"use strict";var Bae=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:_We}=Vt(),LWe=F0();Qae()===void 0&&bae(new LWe);function bae(t){if(!t||typeof t.dispatch!="function")throw new _We("Argument agent must implement Agent");Object.defineProperty(globalThis,Bae,{value:t,writable:!0,enumerable:!1,configurable:!1})}function Qae(){return globalThis[Bae]}wae.exports={setGlobalDispatcher:bae,getGlobalDispatcher:Qae}});var LT=C((xKt,Sae)=>{"use strict";Sae.exports=class{#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var Tae=C((DKt,Nae)=>{"use strict";var UWe=gT();Nae.exports=t=>{let e=t?.maxRedirections;return r=>function(s,i){let{maxRedirections:o=e,...a}=s;if(!o)return r(s,i);let c=new UWe(r,o,s,i);return r(a,c)}}});var Dae=C((RKt,xae)=>{"use strict";var PWe=ST();xae.exports=t=>e=>function(n,s){return e(n,new PWe({...n,retryOptions:{...t,...n.retryOptions}},{handler:s,dispatch:e}))}});var kae=C((kKt,Rae)=>{"use strict";var OWe=Ct(),{InvalidArgumentError:HWe,RequestAbortedError:GWe}=Vt(),qWe=LT(),F3=class extends qWe{#e=1024*1024;#t=null;#n=!1;#r=!1;#i=0;#s=null;#a=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new HWe("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#a=r}onConnect(e){this.#t=e,this.#a.onConnect(this.#o.bind(this))}#o(e){this.#r=!0,this.#s=e}onHeaders(e,r,n,s){let o=OWe.parseHeaders(r)["content-length"];if(o!=null&&o>this.#e)throw new GWe(`Response size (${o}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#a.onHeaders(e,r,n,s)}onError(e){this.#n||(e=this.#s??e,this.#a.onError(e))}onData(e){return this.#i=this.#i+e.length,this.#i>=this.#e&&(this.#n=!0,this.#r?this.#a.onError(this.#s):this.#a.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#r){this.#a.onError(this.reason);return}this.#a.onComplete(e)}}};function YWe({maxSize:t}={maxSize:1024*1024}){return e=>function(n,s){let{dumpMaxSize:i=t}=n,o=new F3({maxSize:i},s);return e(n,o)}}Rae.exports=YWe});var Mae=C((vKt,Fae)=>{"use strict";var{isIP:VWe}=Q("node:net"),{lookup:JWe}=Q("node:dns"),WWe=LT(),{InvalidArgumentError:q0,InformationalError:zWe}=Vt(),vae=Math.pow(2,31)-1,M3=class{#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#i}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let s=this.#n.get(e.hostname);if(s==null&&this.full){n(null,e.origin);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,i,(o,a)=>{if(o||a==null||a.length===0){n(o??new zWe("No DNS entries found"));return}this.setRecords(e,a);let c=this.#n.get(e.hostname),A=this.pick(e,c,i.affinity),u;typeof A.port=="number"?u=`:${A.port}`:e.port!==""?u=`:${e.port}`:u="",n(null,`${e.protocol}//${A.family===6?`[${A.address}]`:A.address}${u}`)});else{let o=this.pick(e,s,i.affinity);if(o==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let a;typeof o.port=="number"?a=`:${o.port}`:e.port!==""?a=`:${e.port}`:a="",n(null,`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${a}`)}}#r(e,r,n){JWe(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,i)=>{if(s)return n(s);let o=new Map;for(let a of i)o.set(`${a.address}:${a.family}`,a);n(null,o.values())})}#i(e,r,n){let s=null,{records:i,offset:o}=r,a;if(this.dualStack?(n==null&&(o==null||o===vae?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),i[n]!=null&&i[n].ips.length>0?a=i[n]:a=i[n===4?6:4]):a=i[n],a==null||a.ips.length===0)return s;a.offset==null||a.offset===vae?a.offset=0:a.offset++;let c=a.offset%a.ips.length;return s=a.ips[c]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(a.ips.splice(c,1),this.pick(e,r,n)):s}setRecords(e,r){let n=Date.now(),s={records:{4:null,6:null}};for(let i of r){i.timestamp=n,typeof i.ttl=="number"?i.ttl=Math.min(i.ttl,this.#e):i.ttl=this.#e;let o=s.records[i.family]??{ips:[]};o.ips.push(i),s.records[i.family]=o}this.#n.set(e.hostname,s)}getHandler(e,r){return new _3(this,e,r)}},_3=class extends WWe{#e=null;#t=null;#n=null;#r=null;#i=null;constructor(e,{origin:r,handler:n,dispatch:s},i){super(n),this.#i=r,this.#r=n,this.#t={...i},this.#e=e,this.#n=s}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#i,this.#t,(r,n)=>{if(r) Line truncated
${o}`;return}if(bx(e,s,aXe)){cXe(e,i)&&(r.retry=e.toString("utf8",i));return}if(bx(e,s,oXe)){AXe(e,i)&&(r.id=e.toString("utf8",i));return}if(bx(e,s,iXe)){let o=e.toString("utf8",i);o.length>0&&(r.event=o)}}processEvent(e){e.retry&&eXe(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&tXe(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event.data=void 0,this.event.event=void 0,this.event.id=void 0,this.event.retry=void 0}hasPendingEvent(){return this.event.data!==void 0||this.event.event!==void 0||this.event.id!==void 0||this.event.retry!==void 0}hasCurrentByte(){return this.chunkIndex<this.chunks.length&&this.pos<this.chunks[this.chunkIndex].length}currentByte(){return this.chunks[this.chunkIndex][this.pos]}consumeCurrentByte(){this.advanceCursor(),this.syncLineStartToCursor()}advanceCursor(){for(this.pos++;this.chunkIndex<this.chunks.length&&this.pos>=this.chunks[this.chunkIndex].length;)this.chunkIndex++,this.pos=0}syncLineStartToCursor(){this.lineChunkIndex=this.chunkIndex,this.linePos=this.pos,this.dropConsumedChunks()}dropConsumedChunks(){for(;this.lineChunkIndex>0;)this.chunks.shift(),this.lineChunkIndex--,this.chunkIndex--;this.chunkIndex===this.chunks.length&&(this.chunks.length=0,this.chunkIndex=0,this.pos=0,this.lineChunkIndex=0,this.linePos=0)}readLine(){if(this.lineChunkIndex===this.chunkIndex)return this.chunks[this.chunkIndex].subarray(this.linePos,this.pos);let e=[],r=0;for(let n=this.lineChunkIndex;n<=this.chunkIndex;n++){let s=this.chunks[n],i=n===this.lineChunkIndex?this.linePos:0,o=n===this.chunkIndex?this.pos:s.length,a=s.subarray(i,o);r+=a.length,e.push(a)}return Buffer.concat(e,r)}peekBufferedByte(e){let r=this.lineChunkIndex,n=this.linePos;for(;r<this.chunks.length;){let s=this.chunks[r],i=s.length-n;if(e<i)return s[n+e];e-=i,r++,n=0}}discardLeadingBytes(e){for(;e>0&&this.lineChunkIndex<this.chunks.length;){let n=this.chunks[this.lineChunkIndex].length-this.linePos;e<n?(this.linePos+=e,e=0):(e-=n,this.lineChunkIndex++,this.linePos=0)}this.chunkIndex=this.lineChunkIndex,this.pos=this.linePos,this.dropConsumedChunks()}handleBOM(){let e=this.peekBufferedByte(0),r=this.peekBufferedByte(1),n=this.peekBufferedByte(2);return r===void 0?(e===nE[0]||(this.checkBOM=!1),!0):n===void 0?e===nE[0]&&r===nE[1]?!0:(this.checkBOM=!1,!1):(e===nE[0]&&r===nE[1]&&n===nE[2]&&this.discardLeadingBytes(3),this.checkBOM=!1,!this.hasCurrentByte())}};hue.exports={EventSourceStream:w8}});var Bue=C((uXt,yue)=>{"use strict";var{pipeline:uXe}=Q("node:stream"),{fetching:lXe}=RB(),{makeRequest:dXe}=J0(),{webidl:hl}=gs(),{EventSourceStream:hXe}=fue(),{parseMIMEType:fXe}=Qi(),{createFastMessageEvent:gXe}=Z0(),{isNetworkError:gue}=xB(),{delay:pXe}=b8(),{kEnumerableProperty:Eg}=Ct(),{environmentSettingsObject:pue}=ao(),mue=!1,Eue=3e3,VB=0,Cue=1,JB=2,mXe="anonymous",EXe="use-credentials",sE=class t extends EventTarget{#e={open:null,error:null,message:null};#t=null;#n=!1;#r=VB;#i=null;#s=null;#a;#o;constructor(e,r={}){super(),hl.util.markAsUncloneable(this);let n="EventSource constructor";hl.argumentLengthCheck(arguments,1,n),mue||(mue=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=hl.converters.USVString(e,n,"url"),r=hl.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#a=r.dispatcher,this.#o={lastEventId:"",reconnectionTime:Eue};let s=pue,i;try{i=new URL(e,s.settingsObject.baseUrl),this.#o.origin=i.origin}catch(c){throw new DOMException(c,"SyntaxError")}this.#t=i.href;let o=mXe;r.withCredentials&&(o=EXe,this.#n=!0);let a={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=pue.settingsObject,a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],a.cache="no-store",a.initiator="other",a.urlList=[new URL(this.#t)],this.#i=dXe(a),this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===JB)return;this.#r=VB;let e={request:this.#i,dispatcher:this.#a},r=n=>{gue(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#A()};e.processResponseEndOfBody=r,e.processResponse=n=>{if(gue(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#A();return}let s=n.headersList.get("content-type",!0),i=s!==null?fXe(s):"failure",o=i!=="failure"&&i.essence==="text/event-stream";if(n.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=Cue,this.dispatchEvent(new Event("open")),this.#o.origin=n.urlList[n.urlList.length-1].origin;let a=new hXe({eventSourceSettings:this.#o,push:c=>{this.dispatchEvent(gXe(c.type,c.options))}});uXe(n.body.stream,a,c=>{c?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#s=lXe(e)}async#A(){this.#r!==JB&&(this.#r=VB,this.dispatchEvent(n Line truncated
%s`,F,F,I,n);var V=I.type==="*"?g4:I.type==="?"?f4:"\\"+I.type;s=!0,n=n.slice(0,I.reStart)+V+"\\("+F}f(),i&&(n+="\\\\");var L=!1;switch(n.charAt(0)){case"[":case".":case"(":L=!0}for(var P=a.length-1;P>-1;P--){var k=a[P],j=n.slice(0,k.reStart),Z=n.slice(k.reStart,k.reEnd-8),ne=n.slice(k.reEnd-8,k.reEnd),ce=n.slice(k.reEnd);ne+=ce;var de=j.split("(").length-1,ke=ce;for(g=0;g<de;g++)ke=ke.replace(/\)[+*?]?/,"");ce=ke;var ve="";ce===""&&e!==zx&&(ve="$");var rt=j+Z+ce+ve+ne;n=rt}if(n!==""&&s&&(n="(?=.)"+n),L&&(n=d+n),e===zx)return[n,s];if(!s)return oet(t);var _t=r.nocase?"i":"";try{var Rt=new RegExp("^"+n+"$",_t)}catch{return new RegExp("$.")}return Rt._glob=t,Rt._src=n,Rt}Io.makeRe=function(t,e){return new bn(t,e||{}).makeRe()};bn.prototype.makeRe=iet;function iet(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?g4:e.dot?X$e:Z$e,n=e.nocase?"i":"",s=t.map(function(i){return i.map(function(o){return o===bg?r:typeof o=="string"?aet(o):o._src}).join("\\/")}).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,n)}catch{this.regexp=!1}return this.regexp}Io.match=function(t,e,r){r=r||{};var n=new bn(e,r);return t=t.filter(function(s){return n.match(s)}),n.options.nonull&&!t.length&&t.push(e),t};bn.prototype.match=function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;ob.sep!=="/"&&(e=e.split(ob.sep).join("/")),e=e.split(lde),this.debug(this.pattern,"split",e);var s=this.set;this.debug(this.pattern,"set",s);var i,o;for(o=e.length-1;o>=0&&(i=e[o],!i);o--);for(o=0;o<s.length;o++){var a=s[o],c=e;n.matchBase&&a.length===1&&(c=[i]);var A=this.matchOne(c,a,r);if(A)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate};bn.prototype.matchOne=function(t,e,r){return e.indexOf(bg)!==-1?this._matchGlobstar(t,e,r,0,0):this._matchOne(t,e,r,0,0)};bn.prototype._matchGlobstar=function(t,e,r,n,s){var i,o=-1;for(i=s;i<e.length;i++)if(e[i]===bg){o=i;break}var a=-1;for(i=e.length-1;i>=0;i--)if(e[i]===bg){a=i;break}var c=e.slice(s,o),A=r?e.slice(o+1):e.slice(o+1,a),u=r?[]:e.slice(a+1);if(c.length){var l=t.slice(n,n+c.length);if(!this._matchOne(l,c,r,0,0))return!1;n+=c.length}var d=0;if(u.length){if(u.length+n>t.length)return!1;var h=t.length-u.length;if(this._matchOne(t,u,r,h,0))d=u.length;else{if(t[t.length-1]!==""||n+u.length===t.length||(h--,!this._matchOne(t,u,r,h,0)))return!1;d=u.length+1}}if(!A.length){var f=!!d;for(i=n;i<t.length-d;i++){var g=String(t[i]);if(f=!0,g==="."||g===".."||!this.options.dot&&g.charAt(0)===".")return!1}return r||f}for(var E=[[[],0]],m=E[0],I=0,y=[0],B=0;B<A.length;B++){var F=A[B];F===bg?(y.push(I),m=[[],0],E.push(m)):(m[0].push(F),I++)}for(var V=E.length-1,L=t.length-d,P=0;P<E.length;P++)E[P][1]=L-(y[V--]+E[P][0].length);return!!this._matchGlobStarBodySections(t,E,n,0,r,0,!!d)};bn.prototype._matchGlobStarBodySections=function(t,e,r,n,s,i,o){var a=e[n];if(!a){for(var c=r;c<t.length;c++){o=!0;var A=t[c];if(A==="."||A===".."||!this.options.dot&&A.charAt(0)===".")return!1}return o}for(var u=a[0],l=a[1];r<=l;){var d=this._matchOne(t.slice(0,r+u.length),u,s,r,0);if(d&&i<this.maxGlobstarRecursion){var h=this._matchGlobStarBodySections(t,e,r+u.length,n+1,s,i+1,o);if(h!==!1)return h}var A=t[r];if(A==="."||A===".."||!this.options.dot&&A.charAt(0)===".")return!1;r++}return s||null};bn.prototype._matchOne=function(t,e,r,n,s){var i,o,a,c;for(i=n,o=s,a=t.length,c=e.length;i<a&&o<c;i++,o++){this.debug("matchOne loop");var A=e[o],u=t[i];if(this.debug(e,A,u),A===!1||A===bg)return!1;var l;if(typeof A=="string"?(l=u===A,this.debug("string match",A,u,l)):(l=u.match(A),this.debug("pattern match",A,u,l)),!l)return!1}if(i===a&&o===c)return!0;if(i===a)return r;if(o===c)return i===a-1&&t[i]==="";throw new Error("wtf?")};function oet(t){return t.replace(/\\(.)/g,"$1")}function aet(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var dE=C((C$t,Ede)=>{"use strict";var pet="2.0.0",met=Number.MAX_SAFE_INTEGER||9007199254740991,Eet=16,Cet=250,Iet=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Ede.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:Eet,MAX_SAFE_BUILD_LENGTH:Cet,MAX_SAFE_INTEGER:met,RELEASE_TYPES:Iet,SEMVER_SPEC_VERSION:pet,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var ub=C((I$t,Cde)=>{"use strict";var yet=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};Cde.exports=yet});var hE=C((QA,Ide)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:m4,MAX_SAFE_BUILD_LENGTH:Bet,MAX_LENGTH:bet}=dE(),Qet=ub();QA=Ide.exports={};var wet=QA.re=[],Net=QA.safeRe=[],ye=QA.src=[],Tet=QA.safeSrc=[],Be=QA.t={},xet=0,E4="[a-zA-Z0-9-]",Det=[["\\s",1],["\\d",bet],[E4,Bet]],Ret=t=>{for(let[e,r]of Det)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+Line truncated
`.trim())}};rie.exports=FP});var tN=E((YWt,aie)=>{"use strict";var sie=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:mVe}=Lt(),EVe=lm();oie()===void 0&&iie(new EVe);function iie(t){if(!t||typeof t.dispatch!="function")throw new mVe("Argument agent must implement Agent");Object.defineProperty(globalThis,sie,{value:t,writable:!0,enumerable:!1,configurable:!1})}function oie(){return globalThis[sie]}aie.exports={setGlobalDispatcher:iie,getGlobalDispatcher:oie}});var rN=E((WWt,cie)=>{"use strict";cie.exports=class{#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var uie=E((JWt,Aie)=>{"use strict";var CVe=_S();Aie.exports=t=>{let e=t?.maxRedirections;return r=>function(s,i){let{maxRedirections:o=e,...a}=s;if(!o)return r(s,i);let c=new CVe(r,o,s,i);return r(a,c)}}});var die=E((zWt,lie)=>{"use strict";var IVe=VS();lie.exports=t=>e=>function(n,s){return e(n,new IVe({...n,retryOptions:{...t,...n.retryOptions}},{handler:s,dispatch:e}))}});var fie=E((jWt,hie)=>{"use strict";var yVe=dt(),{InvalidArgumentError:BVe,RequestAbortedError:bVe}=Lt(),QVe=rN(),MP=class extends QVe{#e=1024*1024;#t=null;#n=!1;#r=!1;#s=0;#i=null;#a=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new BVe("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#a=r}onConnect(e){this.#t=e,this.#a.onConnect(this.#o.bind(this))}#o(e){this.#r=!0,this.#i=e}onHeaders(e,r,n,s){let o=yVe.parseHeaders(r)["content-length"];if(o!=null&&o>this.#e)throw new bVe(`Response size (${o}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#a.onHeaders(e,r,n,s)}onError(e){this.#n||(e=this.#i??e,this.#a.onError(e))}onData(e){return this.#s=this.#s+e.length,this.#s>=this.#e&&(this.#n=!0,this.#r?this.#a.onError(this.#i):this.#a.onComplete([])),!0}onComplete(e){if(!this.#n){if(this.#r){this.#a.onError(this.reason);return}this.#a.onComplete(e)}}};function wVe({maxSize:t}={maxSize:1024*1024}){return e=>function(n,s){let{dumpMaxSize:i=t}=n,o=new MP({maxSize:i},s);return e(n,o)}}hie.exports=wVe});var mie=E((KWt,pie)=>{"use strict";var{isIP:SVe}=b("node:net"),{lookup:NVe}=b("node:dns"),TVe=rN(),{InvalidArgumentError:ym,InformationalError:xVe}=Lt(),gie=Math.pow(2,31)-1,LP=class{#e=0;#t=0;#n=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#s}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let s=this.#n.get(e.hostname);if(s==null&&this.full){n(null,e.origin);return}let i={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(s==null)this.lookup(e,i,(o,a)=>{if(o||a==null||a.length===0){n(o??new xVe("No DNS entries found"));return}this.setRecords(e,a);let c=this.#n.get(e.hostname),A=this.pick(e,c,i.affinity),u;typeof A.port=="number"?u=`:${A.port}`:e.port!==""?u=`:${e.port}`:u="",n(null,`${e.protocol}//${A.family===6?`[${A.address}]`:A.address}${u}`)});else{let o=this.pick(e,s,i.affinity);if(o==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let a;typeof o.port=="number"?a=`:${o.port}`:e.port!==""?a=`:${e.port}`:a="",n(null,`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${a}`)}}#r(e,r,n){NVe(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(s,i)=>{if(s)return n(s);let o=new Map;for(let a of i)o.set(`${a.address}:${a.family}`,a);n(null,o.values())})}#s(e,r,n){let s=null,{records:i,offset:o}=r,a;if(this.dualStack?(n==null&&(o==null||o===gie?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),i[n]!=null&&i[n].ips.length>0?a=i[n]:a=i[n===4?6:4]):a=i[n],a==null||a.ips.length===0)return s;a.offset==null||a.offset===gie?a.offset=0:a.offset++;let c=a.offset%a.ips.length;return s=a.ips[c]??null,s==null?s:Date.now()-s.timestamp>s.ttl?(a.ips.splice(c,1),this.pick(e,r,n)):s}setRecords(e,r){let n=Date.now(),s={records:{4:null,6:null}};for(let i of r){i.timestamp=n,typeof i.ttl=="number"?i.ttl=Math.min(i.ttl,this.#e):i.ttl=this.#e;let o=s.records[i.family]??{ips:[]};o.ips.push(i),s.records[i.family]=o}this.#n.set(e.hostname,s)}getHandler(e,r){return new UP(this,e,r)}},UP=class extends TVe{#e=null;#t=null;#n=null;#r=null;#s=null;constructor(e,{origin:r,handler:n,dispatch:s},i){super(n),this.#s=r,this.#r=n,this.#t={...i},this.#e=e,this.#n=s}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#s,this.#t,(r,n)=>{if(r) Line truncated
${i}`;break;case"retry":Kae(i)&&(r[s]=i);break;case"id":$ae(i)&&(r[s]=i);break;case"event":i.length>0&&(r[s]=i);break}}processEvent(e){e.retry&&Kae(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&$ae(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};Xae.exports={EventSourceStream:bO}});var ace=E((NJt,oce)=>{"use strict";var{pipeline:Pze}=b("node:stream"),{fetching:Oze}=ry(),{makeRequest:Hze}=Qm(),{webidl:bu}=Kn(),{EventSourceStream:Gze}=Zae(),{parseMIMEType:qze}=Ks(),{createFastMessageEvent:Yze}=Rm(),{isNetworkError:ece}=ey(),{delay:Vze}=yO(),{kEnumerableProperty:lf}=dt(),{environmentSettingsObject:tce}=xi(),rce=!1,nce=3e3,gy=0,sce=1,py=2,Wze="anonymous",Jze="use-credentials",Fm=class t extends EventTarget{#e={open:null,error:null,message:null};#t=null;#n=!1;#r=gy;#s=null;#i=null;#a;#o;constructor(e,r={}){super(),bu.util.markAsUncloneable(this);let n="EventSource constructor";bu.argumentLengthCheck(arguments,1,n),rce||(rce=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=bu.converters.USVString(e,n,"url"),r=bu.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#a=r.dispatcher,this.#o={lastEventId:"",reconnectionTime:nce};let s=tce,i;try{i=new URL(e,s.settingsObject.baseUrl),this.#o.origin=i.origin}catch(c){throw new DOMException(c,"SyntaxError")}this.#t=i.href;let o=Wze;r.withCredentials&&(o=Jze,this.#n=!0);let a={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=tce.settingsObject,a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],a.cache="no-store",a.initiator="other",a.urlList=[new URL(this.#t)],this.#s=Hze(a),this.#c()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#c(){if(this.#r===py)return;this.#r=gy;let e={request:this.#s,dispatcher:this.#a},r=n=>{ece(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#A()};e.processResponseEndOfBody=r,e.processResponse=n=>{if(ece(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#A();return}let s=n.headersList.get("content-type",!0),i=s!==null?qze(s):"failure",o=i!=="failure"&&i.essence==="text/event-stream";if(n.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=sce,this.dispatchEvent(new Event("open")),this.#o.origin=n.urlList[n.urlList.length-1].origin;let a=new Gze({eventSourceSettings:this.#o,push:c=>{this.dispatchEvent(Yze(c.type,c.options))}});Pze(n.body.stream,a,c=>{c?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#i=Oze(e)}async#A(){this.#r!==py&&(this.#r=gy,this.dispatchEvent(new Event("error")),await Vze(this.#o.reconnectionTime),this.#r===gy&&(this.#o.lastEventId.length&&this.#s.headersList.set("last-event-id",this.#o.lastEventId,!0),this.#c()))}close(){bu.brandCheck(this,t),this.#r!==py&&(this.#r=py,this.#i.abort(),this.#s=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},ice={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:gy,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:sce,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:py,writable:!1}};Object.defineProperties(Fm,ice);Object.defineProperties(Fm.prototype,ice);Object.defineProperties(Fm.prototype,{close:lf,onerror:lf,onmessage:lf,onopen:lf,readyState:lf,url:lf,withCredentials:lf});bu.converters.EventSourceInitDict=bu.dictionaryConverter([{key:"withCredentials",converter:bu.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:bu.converters.any}]);oce.exports={EventSource:Fm,defaultReconnectionTime:nce}});var YN=E((TJt,Ye)=>{"use strict";var zze=Am(),cce=II(),jze=um(),Kze=ine(),$ze=lm(),Xze=zU(),Zze=xne(),eje=Fne(),Ace=Lt(),qN=dt(),{InvalidArgumentError:GN}=Ace,Mm=yse(),tje=BI(),rje=xP(),nje=nie(),sje=kP(),ije=pP(),oje=VS(),{getGlobalDispatcher:uce,setGlobalDispatcher:aje}=tN(),cje=rN(),Aje=_S(),uje=FS();Object.assign(cce.prototype,Mm);Ye.exports.Dispatcher=cce;Ye.exports.Client=zze;Ye.exports.Pool=jze;Ye.exports.BalancedPool=Kze;Ye.exports.Agent=$ze;Ye.exports.ProxyAgent=Xze;Ye.exports.EnvHttpProxyAgent=Zze;Ye.exports Line truncated
%s`,M,M,C,n);var O=C.type==="*"?u3:C.type==="?"?A3:"\\"+C.type;s=!0,n=n.slice(0,C.reStart)+O+"\\("+M}f(),i&&(n+="\\\\");var k=!1;switch(n.charAt(0)){case"[":case".":case"(":k=!0}for(var P=a.length-1;P>-1;P--){var D=a[P],z=n.slice(0,D.reStart),ee=n.slice(D.reStart,D.reEnd-8),te=n.slice(D.reEnd-8,D.reEnd),ce=n.slice(D.reEnd);te+=ce;var ge=z.split("(").length-1,De=ce;for(p=0;p<ge;p++)De=De.replace(/\)[+*?]?/,"");ce=De;var $e="";ce===""&&e!==hT&&($e="$");var st=z+ee+ce+$e+te;n=st}if(n!==""&&s&&(n="(?=.)"+n),k&&(n=d+n),e===hT)return[n,s];if(!s)return P$e(t);var Yt=r.nocase?"i":"";try{var vt=new RegExp("^"+n+"$",Yt)}catch{return new RegExp("$.")}return vt._glob=t,vt._src=n,vt}Oi.makeRe=function(t,e){return new cn(t,e||{}).makeRe()};cn.prototype.makeRe=U$e;function U$e(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?u3:e.dot?R$e:D$e,n=e.nocase?"i":"",s=t.map(function(i){return i.map(function(o){return o===mf?r:typeof o=="string"?O$e(o):o._src}).join("\\/")}).join("|");s="^(?:"+s+")$",this.negate&&(s="^(?!"+s+").*$");try{this.regexp=new RegExp(s,n)}catch{this.regexp=!1}return this.regexp}Oi.match=function(t,e,r){r=r||{};var n=new cn(e,r);return t=t.filter(function(s){return n.match(s)}),n.options.nonull&&!t.length&&t.push(e),t};cn.prototype.match=function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var n=this.options;xy.sep!=="/"&&(e=e.split(xy.sep).join("/")),e=e.split(jAe),this.debug(this.pattern,"split",e);var s=this.set;this.debug(this.pattern,"set",s);var i,o;for(o=e.length-1;o>=0&&(i=e[o],!i);o--);for(o=0;o<s.length;o++){var a=s[o],c=e;n.matchBase&&a.length===1&&(c=[i]);var A=this.matchOne(c,a,r);if(A)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate};cn.prototype.matchOne=function(t,e,r){return e.indexOf(mf)!==-1?this._matchGlobstar(t,e,r,0,0):this._matchOne(t,e,r,0,0)};cn.prototype._matchGlobstar=function(t,e,r,n,s){var i,o=-1;for(i=s;i<e.length;i++)if(e[i]===mf){o=i;break}var a=-1;for(i=e.length-1;i>=0;i--)if(e[i]===mf){a=i;break}var c=e.slice(s,o),A=r?e.slice(o+1):e.slice(o+1,a),u=r?[]:e.slice(a+1);if(c.length){var l=t.slice(n,n+c.length);if(!this._matchOne(l,c,r,0,0))return!1;n+=c.length}var d=0;if(u.length){if(u.length+n>t.length)return!1;var h=t.length-u.length;if(this._matchOne(t,u,r,h,0))d=u.length;else{if(t[t.length-1]!==""||n+u.length===t.length||(h--,!this._matchOne(t,u,r,h,0)))return!1;d=u.length+1}}if(!A.length){var f=!!d;for(i=n;i<t.length-d;i++){var p=String(t[i]);if(f=!0,p==="."||p===".."||!this.options.dot&&p.charAt(0)===".")return!1}return r||f}for(var I=[[[],0]],m=I[0],C=0,y=[0],N=0;N<A.length;N++){var M=A[N];M===mf?(y.push(C),m=[[],0],I.push(m)):(m[0].push(M),C++)}for(var O=I.length-1,k=t.length-d,P=0;P<I.length;P++)I[P][1]=k-(y[O--]+I[P][0].length);return!!this._matchGlobStarBodySections(t,I,n,0,r,0,!!d)};cn.prototype._matchGlobStarBodySections=function(t,e,r,n,s,i,o){var a=e[n];if(!a){for(var c=r;c<t.length;c++){o=!0;var A=t[c];if(A==="."||A===".."||!this.options.dot&&A.charAt(0)===".")return!1}return o}for(var u=a[0],l=a[1];r<=l;){var d=this._matchOne(t.slice(0,r+u.length),u,s,r,0);if(d&&i<this.maxGlobstarRecursion){var h=this._matchGlobStarBodySections(t,e,r+u.length,n+1,s,i+1,o);if(h!==!1)return h}var A=t[r];if(A==="."||A===".."||!this.options.dot&&A.charAt(0)===".")return!1;r++}return s||null};cn.prototype._matchOne=function(t,e,r,n,s){var i,o,a,c;for(i=n,o=s,a=t.length,c=e.length;i<a&&o<c;i++,o++){this.debug("matchOne loop");var A=e[o],u=t[i];if(this.debug(e,A,u),A===!1||A===mf)return!1;var l;if(typeof A=="string"?(l=u===A,this.debug("string match",A,u,l)):(l=u.match(A),this.debug("pattern match",A,u,l)),!l)return!1}if(i===a&&o===c)return!0;if(i===a)return r;if(o===c)return i===a-1&&t[i]==="";throw new Error("wtf?")};function P$e(t){return t.replace(/\\(.)/g,"$1")}function O$e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var Ym=E((_jt,rue)=>{"use strict";var z$e="2.0.0",j$e=Number.MAX_SAFE_INTEGER||9007199254740991,K$e=16,$$e=250,X$e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];rue.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:K$e,MAX_SAFE_BUILD_LENGTH:$$e,MAX_SAFE_INTEGER:j$e,RELEASE_TYPES:X$e,SEMVER_SPEC_VERSION:z$e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var vy=E((Fjt,nue)=>{"use strict";var Z$e=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};nue.exports=Z$e});var Vm=E((Uc,sue)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:d3,MAX_SAFE_BUILD_LENGTH:eXe,MAX_LENGTH:tXe}=Ym(),rXe=vy();Uc=sue.exports={};var nXe=Uc.re=[],sXe=Uc.safeRe=[],me=Uc.src=[],iXe=Uc.safeSrc=[],Ee=Uc.t={},oXe=0,h3="[a-zA-Z0-9-]",aXe=[["\\s",1],["\\d",tXe],[h3,eXe]],cXe=t=>{for(let[e,r]of aXe)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${eLine truncated
`).join(`
`+i),t.push(s+"m+"+_D.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Est()+e+" "+t[0]}function Est(){return Kn.inspectOpts.hideDate?"":new Date().toISOString()+" "}function Cst(...t){return process.stderr.write(MD.formatWithOptions(Kn.inspectOpts,...t)+`
`)}function Ist(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function yst(){return process.env.DEBUG}function Bst(t){t.inspectOpts={};let e=Object.keys(Kn.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Kn.inspectOpts[e[r]]}_D.exports=a6()(Kn);var{formatters:zfe}=_D.exports;zfe.o=function(t){return this.inspectOpts.colors=this.useColors,MD.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};zfe.O=function(t){return this.inspectOpts.colors=this.useColors,MD.inspect(t,this.inspectOpts)}});var LD=C((Ktr,u6)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?u6.exports=Gfe():u6.exports=jfe()});var Zfe=C(vi=>{"use strict";var bst=vi&&vi.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Qst=vi&&vi.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Kfe=vi&&vi.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&bst(e,t,r);return Qst(e,t),e};Object.defineProperty(vi,"__esModule",{value:!0});vi.req=vi.json=vi.toBuffer=void 0;var wst=Kfe(Q("http")),Sst=Kfe(Q("https"));async function Xfe(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}vi.toBuffer=Xfe;async function Nst(t){let r=(await Xfe(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}vi.json=Nst;function Tst(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?Sst:wst).request(t,e),s=new Promise((i,o)=>{n.once("response",i).once("error",o).end()});return n.then=s.then.bind(s),n}vi.req=Tst});var d6=C(bo=>{"use strict";var ege=bo&&bo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),xst=bo&&bo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),tge=bo&&bo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&ege(e,t,r);return xst(e,t),e},Dst=bo&&bo.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&ege(e,t,r)};Object.defineProperty(bo,"__esModule",{value:!0});bo.Agent=void 0;var Rst=tge(Q("net")),$fe=tge(Q("http")),kst=Q("https");Dst(Zfe(),bo);var NA=Symbol("AgentBaseInternalState"),l6=class extends $fe.Agent{constructor(e){super(e),this[NA]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new Rst.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?kst.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(s),o=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,s)).then(a=>{if(this.decrementSockets(i,o),a instanceof $fe.Agent)try{return a.addRequest(e,s)}catch(c){return n(c)}this[NA].currentSocket=a,super.createSocket(e,r,n)},a=>{this.decrementSockets(i,o),n(a)})}createConnection(){let e=this[NA].currentSocket;if(this[NA].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[NA].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[NA]&&(this[NA].defaultPort=e)}get protocol(){return this[NA].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[NA]&&(this[NA].protocol=e)}};bo.Agent=l6});var rge=C(BE=>{"use strict";var vst=BE&&BE.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(BE,"__esModule",{value:!0});BE.parseProxyResponse=void 0;var Fst=vst(LD()),UD=(0,Fst.default)("https-proxy-agent:parse-proxy-response");function Mst(t){return new Promise((e,r)=>{let n=0,s=[];function i(){let u=t.read();u?A(u):t.once("readable",i)}function o(){t.removeListener("end",a),t.removeListener("error",c),t.removeListener("readable",i)}function a(){o(),UD("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function c(u){o(),UD("onerror %o",u),r(u)}function A(u){s.push(u),n+=u.length;let l=Buffer.concat(s,n),d=l.indexOf(`\r
`+i),t.push(s+"m+"+XT.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Ktt()+e+" "+t[0]}function Ktt(){return vn.inspectOpts.hideDate?"":new Date().toISOString()+" "}function $tt(...t){return process.stderr.write($T.formatWithOptions(vn.inspectOpts,...t)+`
`)}function Xtt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function Ztt(){return process.env.DEBUG}function ert(t){t.inspectOpts={};let e=Object.keys(vn.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=vn.inspectOpts[e[r]]}XT.exports=r8()(vn);var{formatters:kde}=XT.exports;kde.o=function(t){return this.inspectOpts.colors=this.useColors,$T.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};kde.O=function(t){return this.inspectOpts.colors=this.useColors,$T.inspect(t,this.inspectOpts)}});var ZT=E((lXt,i8)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?i8.exports=Sde():i8.exports=vde()});var Mde=E(oi=>{"use strict";var trt=oi&&oi.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),rrt=oi&&oi.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),_de=oi&&oi.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&trt(e,t,r);return rrt(e,t),e};Object.defineProperty(oi,"__esModule",{value:!0});oi.req=oi.json=oi.toBuffer=void 0;var nrt=_de(b("http")),srt=_de(b("https"));async function Fde(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}oi.toBuffer=Fde;async function irt(t){let r=(await Fde(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let s=n;throw s.message+=` (input: ${r})`,s}}oi.json=irt;function ort(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?srt:nrt).request(t,e),s=new Promise((i,o)=>{n.once("response",i).once("error",o).end()});return n.then=s.then.bind(s),n}oi.req=ort});var a8=E(qi=>{"use strict";var Ude=qi&&qi.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),art=qi&&qi.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Pde=qi&&qi.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ude(e,t,r);return art(e,t),e},crt=qi&&qi.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ude(e,t,r)};Object.defineProperty(qi,"__esModule",{value:!0});qi.Agent=void 0;var Art=Pde(b("net")),Lde=Pde(b("http")),urt=b("https");crt(Mde(),qi);var Hc=Symbol("AgentBaseInternalState"),o8=class extends Lde.Agent{constructor(e){super(e),this[Hc]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(n=>n.indexOf("(https.js:")!==-1||n.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new Art.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let n=this.sockets[e],s=n.indexOf(r);s!==-1&&(n.splice(s,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?urt.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let s={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(s),o=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,s)).then(a=>{if(this.decrementSockets(i,o),a instanceof Lde.Agent)try{return a.addRequest(e,s)}catch(c){return n(c)}this[Hc].currentSocket=a,super.createSocket(e,r,n)},a=>{this.decrementSockets(i,o),n(a)})}createConnection(){let e=this[Hc].currentSocket;if(this[Hc].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Hc].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Hc]&&(this[Hc].defaultPort=e)}get protocol(){return this[Hc].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Hc]&&(this[Hc].protocol=e)}};qi.Agent=o8});var Ode=E(e0=>{"use strict";var lrt=e0&&e0.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e0,"__esModule",{value:!0});e0.parseProxyResponse=void 0;var drt=lrt(ZT()),ex=(0,drt.default)("https-proxy-agent:parse-proxy-response");function hrt(t){return new Promise((e,r)=>{let n=0,s=[];function i(){let u=t.read();u?A(u):t.once("readable",i)}function o(){t.removeListener("end",a),t.removeListener("error",c),t.removeListener("readable",i)}function a(){o(),ex("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function c(u){o(),ex("onerror %o",u),r(u)}function A(u){s.push(u),n+=u.length;let l=Buffer.concat(s,n),d=l.indexOf(`\r
\r
`);if(d===-1){UD("have not received end of HTTP headers yet..."),i();return}let h=l.slice(0,d).toString("ascii").split(`\r
`),f=h.shift();if(!f)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let g=f.split(" "),E=+g[1],m=g.slice(2).join(" "),I={};for(let y of h){if(!y)continue;let B=y.indexOf(":");if(B===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${y}"`));let F=y.slice(0,B).toLowerCase(),V=y.slice(B+1).trimStart(),L=I[F];typeof L=="string"?I[F]=[L,V]:Array.isArray(L)?L.push(V):I[F]=V}UD("got proxy server response: %o %o",f,I),o(),e({connect:{statusCode:E,statusText:m,headers:I},buffered:l})}t.on("error",c),t.on("end",a),i()})}BE.parseProxyResponse=Mst});var cge=C(Ea=>{"use strict";var _st=Ea&&Ea.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Lst=Ea&&Ea.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),oge=Ea&&Ea.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&_st(e,t,r);return Lst(e,t),e},age=Ea&&Ea.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ea,"__esModule",{value:!0});Ea.HttpsProxyAgent=void 0;var PD=oge(Q("net")),nge=oge(Q("tls")),Ust=age(Q("assert")),Pst=age(LD()),Ost=d6(),Hst=Q("url"),Gst=rge(),Qb=(0,Pst.default)("https-proxy-agent"),sge=t=>t.servername===void 0&&t.host&&!PD.isIP(t.host)?{...t,servername:t.host}:t,OD=class extends Ost.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Hst.URL(e):e,this.proxyHeaders=r?.headers??{},Qb("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?ige(r,"headers"):null,host:n,port:s}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let s;n.protocol==="https:"?(Qb("Creating `tls.Socket`: %o",this.connectOpts),s=nge.connect(sge(this.connectOpts))):(Qb("Creating `net.Socket`: %o",this.connectOpts),s=PD.connect(this.connectOpts));let i=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},o=PD.isIPv6(r.host)?`[${r.host}]`:r.host,a=`CONNECT ${o}:${r.port} HTTP/1.1\r
`);if(d===-1){ex("have not received end of HTTP headers yet..."),i();return}let h=l.slice(0,d).toString("ascii").split(`\r
`),f=h.shift();if(!f)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let p=f.split(" "),I=+p[1],m=p.slice(2).join(" "),C={};for(let y of h){if(!y)continue;let N=y.indexOf(":");if(N===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${y}"`));let M=y.slice(0,N).toLowerCase(),O=y.slice(N+1).trimStart(),k=C[M];typeof k=="string"?C[M]=[k,O]:Array.isArray(k)?k.push(O):C[M]=O}ex("got proxy server response: %o %o",f,C),o(),e({connect:{statusCode:I,statusText:m,headers:C},buffered:l})}t.on("error",c),t.on("end",a),i()})}e0.parseProxyResponse=hrt});var Wde=E(Fo=>{"use strict";var frt=Fo&&Fo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),grt=Fo&&Fo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Yde=Fo&&Fo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&frt(e,t,r);return grt(e,t),e},Vde=Fo&&Fo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Fo,"__esModule",{value:!0});Fo.HttpsProxyAgent=void 0;var tx=Yde(b("net")),Hde=Yde(b("tls")),prt=Vde(b("assert")),mrt=Vde(ZT()),Ert=a8(),Crt=b("url"),Irt=Ode(),zy=(0,mrt.default)("https-proxy-agent"),Gde=t=>t.servername===void 0&&t.host&&!tx.isIP(t.host)?{...t,servername:t.host}:t,rx=class extends Ert.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new Crt.URL(e):e,this.proxyHeaders=r?.headers??{},zy("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?qde(r,"headers"):null,host:n,port:s}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let s;n.protocol==="https:"?(zy("Creating `tls.Socket`: %o",this.connectOpts),s=Hde.connect(Gde(this.connectOpts))):(zy("Creating `net.Socket`: %o",this.connectOpts),s=tx.connect(this.connectOpts));let i=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},o=tx.isIPv6(r.host)?`[${r.host}]`:r.host,a=`CONNECT ${o}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let d=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i["Proxy-Authorization"]=`Basic ${Buffer.from(d).toString("base64")}`}i.Host=`${o}:${r.port}`,i["Proxy-Connection"]||(i["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let d of Object.keys(i))a+=`${d}: ${i[d]}\r
`;let c=(0,Gst.parseProxyResponse)(s);s.write(`${a}\r
`);let{connect:A,buffered:u}=await c;if(e.emit("proxyConnect",A),this.emit("proxyConnect",A,e),A.statusCode===200)return e.once("socket",qst),r.secureEndpoint?(Qb("Upgrading socket connection to TLS"),nge.connect({...ige(sge(r),"host","path","port"),socket:s})):s;s.destroy();let l=new PD.Socket({writable:!1});return l.readable=!0,e.once("socket",d=>{Qb("Replaying proxy buffer for failed request"),(0,Ust.default)(d.listenerCount("data")>0),d.push(u),d.push(null)}),l}};OD.protocols=["http","https"];Ea.HttpsProxyAgent=OD;function qst(t){t.resume()}function ige(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});var lge=C(Ca=>{"use strict";var Yst=Ca&&Ca.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),Vst=Ca&&Ca.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),uge=Ca&&Ca.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Yst(e,t,r);return Vst(e,t),e},Jst=Ca&&Ca.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ca,"__esModule",{value:!0});Ca.HttpProxyAgent=void 0;var Wst=uge(Q("net")),zst=uge(Q("tls")),jst=Jst(LD()),Kst=Q("events"),Xst=d6(),Age=Q("url"),bE=(0,jst.default)("http-proxy-agent"),HD=class extends Xst.Agent{constructor(e,r){super(r),this.proxy=typeof e=="string"?new Age.URL(e):e,this.proxyHeaders=r?.headers??{},bE("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?Zst(r,"headers"):null,host:n,port:s}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,s=r.secureEndpoint?"https:":"http:",i=e.getHeader("host")||"localhost",o=`${s}//${i}`,a=new Age.URL(e.path,o);r.port!==80&&(a.port=String(r.port)),e.path=String(a);let c=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let A=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;c["Proxy-Authorization"]=`Basic ${Buffer.from(A).toString("base64")}`}c["Proxy-Connection"]||(c["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let A of Object.keys(c)){let u=c[A];u&&e.setHeader(A,u)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,s;bE("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(bE("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,s=n.indexOf(`\r
`;let c=(0,Irt.parseProxyResponse)(s);s.write(`${a}\r
`);let{connect:A,buffered:u}=await c;if(e.emit("proxyConnect",A),this.emit("proxyConnect",A,e),A.statusCode===200)return e.once("socket",yrt),r.secureEndpoint?(zy("Upgrading socket connection to TLS"),Hde.connect({...qde(Gde(r),"host","path","port"),socket:s})):s;s.destroy();let l=new tx.Socket({writable:!1});return l.readable=!0,e.once("socket",d=>{zy("Replaying proxy buffer for failed request"),(0,prt.default)(d.listenerCount("data")>0),d.push(u),d.push(null)}),l}};rx.protocols=["http","https"];Fo.HttpsProxyAgent=rx;function yrt(t){t.resume()}function qde(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});var jde=E(Mo=>{"use strict";var Brt=Mo&&Mo.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var s=Object.getOwnPropertyDescriptor(e,r);(!s||("get"in s?!e.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,s)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),brt=Mo&&Mo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),zde=Mo&&Mo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Brt(e,t,r);return brt(e,t),e},Qrt=Mo&&Mo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.HttpProxyAgent=void 0;var wrt=zde(b("net")),Srt=zde(b("tls")),Nrt=Qrt(ZT()),Trt=b("events"),xrt=a8(),Jde=b("url"),t0=(0,Nrt.default)("http-proxy-agent"),nx=class extends xrt.Agent{constructor(e,r){super(r),this.proxy=typeof e=="string"?new Jde.URL(e):e,this.proxyHeaders=r?.headers??{},t0("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),s=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?Rrt(r,"headers"):null,host:n,port:s}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,s=r.secureEndpoint?"https:":"http:",i=e.getHeader("host")||"localhost",o=`${s}//${i}`,a=new Jde.URL(e.path,o);r.port!==80&&(a.port=String(r.port)),e.path=String(a);let c=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let A=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;c["Proxy-Authorization"]=`Basic ${Buffer.from(A).toString("base64")}`}c["Proxy-Connection"]||(c["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let A of Object.keys(c)){let u=c[A];u&&e.setHeader(A,u)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,s;t0("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(t0("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,s=n.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+n.substring(s),bE("Output buffer: %o",e.outputData[0].data));let i;return this.proxy.protocol==="https:"?(bE("Creating `tls.Socket`: %o",this.connectOpts),i=zst.connect(this.connectOpts)):(bE("Creating `net.Socket`: %o",this.connectOpts),i=Wst.connect(this.connectOpts)),await(0,Kst.once)(i,"connect"),i}};HD.protocols=["http","https"];Ca.HttpProxyAgent=HD;function Zst(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});var Mge=C($D=>{"use strict";Object.defineProperty($D,"__esModule",{value:!0});$D.state=void 0;$D.state={instrumenterImplementation:void 0}});var Zge=C(sR=>{"use strict";Object.defineProperty(sR,"__esModule",{value:!0});sR.state=void 0;sR.state={operationRequestMap:new WeakMap}});var U0e=C((eCr,vlt)=>{vlt.exports={name:"@actions/cache",version:"6.2.0",description:"Actions cache lib",keywords:["github","actions","cache"],homepage:"https://github.com/actions/toolkit/tree/main/packages/cache",license:"MIT",type:"module",main:"lib/cache.js",types:"lib/cache.d.ts",exports:{".":{types:"./lib/cache.d.ts",import:"./lib/cache.js"}},directories:{lib:"lib",test:"__tests__"},files:["lib","!.DS_Store"],publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/actions/toolkit.git",directory:"packages/cache"},scripts:{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json",test:'echo "Error: run tests from root" && exit 1',tsc:"tsc && cp src/internal/shared/package-version.cjs lib/internal/shared/"},bugs:{url:"https://github.com/actions/toolkit/issues"},dependencies:{"@actions/core":"^3.0.1","@actions/exec":"^3.0.0","@actions/glob":"^0.6.1","@actions/http-client":"^4.0.1","@actions/io":"^3.0.2","@azure/core-rest-pipeline":"^1.23.0","@azure/storage-blob":"^12.31.0","@protobuf-ts/runtime-rpc":"^2.11.1",semver:"^7.7.4"},devDependencies:{"@protobuf-ts/plugin":"^2.11.1","@types/node":"^25.6.0","@types/semver":"^7.7.1",typescript:"^5.9.3"},overrides:{"uri-js":"npm:uri-js-replace@^1.0.1","node-fetch":"^3.3.2"}}});var O0e=C((tCr,P0e)=>{var Flt=U0e();P0e.exports={version:Flt.version}});var M2=C($E=>{"use strict";Object.defineProperty($E,"__esModule",{value:!0});$E.isJsonObject=$E.typeofJsonValue=void 0;function qlt(t){let e=typeof t;if(e=="object"){if(Array.isArray(t))return"array";if(t===null)return"null"}return e}$E.typeofJsonValue=qlt;function Ylt(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}$E.isJsonObject=Ylt});var L2=C(eC=>{"use strict";Object.defineProperty(eC,"__esModule",{value:!0});eC.base64encode=eC.base64decode=void 0;var Ml="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),_2=[];for(let t=0;t<Ml.length;t++)_2[Ml[t].charCodeAt(0)]=t;_2[45]=Ml.indexOf("+");_2[95]=Ml.indexOf("/");function Vlt(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&(e-=1);let r=new Uint8Array(e),n=0,s=0,i,o=0;for(let a=0;a<t.length;a++){if(i=_2[t.charCodeAt(a)],i===void 0)switch(t[a]){case"=":s=0;case`
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:o=i,s=1;break;case 1:r[n++]=o<<2|(i&48)>>4,o=i,s=2;break;case 2:r[n++]=(o&15)<<4|(i&60)>>2,o=i,s=3;break;case 3:r[n++]=(o&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return r.subarray(0,n)}eC.base64decode=Vlt;function Jlt(t){let e="",r=0,n,s=0;for(let i=0;i<t.length;i++)switch(n=t[i],r){case 0:e+=Ml[n>>2],s=(n&3)<<4,r=1;break;case 1:e+=Ml[s|n>>4],s=(n&15)<<2,r=2;break;case 2:e+=Ml[s|n>>6],e+=Ml[n&63],r=0;break}return r&&(e+=Ml[s],e+="=",r==1&&(e+="=")),e}eC.base64encode=Jlt});var V0e=C(U2=>{"use strict";Object.defineProperty(U2,"__esModule",{value:!0});U2.utf8read=void 0;var pq=t=>String.fromCharCode.apply(String,t);function Wlt(t){if(t.length<1)return"";let e=0,r=[],n=[],s=0,i,o=t.length;for(;e<o;)i=t[e++],i<128?n[s++]=i:i>191&&i<224?n[s++]=(i&31)<<6|t[e++]&63:i>239&&i<365?(i=((i&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[s++]=55296+(i>>10),n[s++]=56320+(i&1023)):n[s++]=(i&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&(r.push(pq(n)),s=0);return r.length?(s&&r.push(pq(n.slice(0,s))),r.join("")):pq(n.slice(0,s))}U2.utf8read=Wlt});var NQ=C(XA=>{"use strict";Object.defineProperty(XA,"__esModule",{value:!0});XA.WireType=XA.mergeBinaryOptions=XA.UnknownFieldHandler=void 0;var zlt;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,s,i,o)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:s,wireType:i,data:o})},t.onWrite=(r,n,s)=>{for(let{no:i,wireType:o,data:a}of t.list(n))s.tag(i,o).raw(a)},t.list=(r,n)=>{if(e(r)){let s=r[t.symbol];return n?s.filter(i=>i.no==n):s}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=r=>r&&Array.isArray(r[t.symbol])})(zlt=XA.UnknownFieldHandler||(XA.UnknownFieldHandler={}));function jlt(t,e){return Object.assign(Object.assign({},t),e)}XA.mergeBinaryOptions=jlt;var Klt;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Klt=XA.WireType||(XA.WireType={}))});var O2=C(Gi=>{"use strict";Object.defineProperty(Gi,"__esModule",{value:!0});Gi.varint32read=Gi.varint32write=Gi.int64toString=Gi.int64fromString=Gi.varint64write=Gi.varint64read=void 0;function Xlt(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}Gi.varint64read=Xlt;function Zlt(t,e,r){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(r.push(c),!a)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),c=(a?o|128:o)&255;if(r.push(c),!a)return}r.push(e>>>31&1)}}Gi.varint64write=Zlt;var P2=65536*65536;function $lt(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function i(o,a){let c=Number(t.slice(o,a));s*=r,n=n*r+c,n>=P2&&(s=s+(n/P2|0),n=n%P2)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,n,s]}Gi.int64fromString=$lt;function edt(t,e){if(e>>>0<=2097151)return""+(P2*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,i=r+n*6777216+s*6710656,o=n+s*8147497,a=s*2,c=1e7;i>=c&&(o+=Math.floor(i/c),i%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function A(u,l){let d=u?String(u):"";return l?"0000000".slice(d.length)+d:d}return A(a,0)+A(o,a)+A(i,1)}Gi.int64toString=edt;function tdt(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}Gi.varint32write=tdt;function rdt(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}Gi.varint32read=rdt});var Bh=C(yh=>{"use strict";Object.defineProperty(yh,"__esModule",{value:!0});yh.PbLong=yh.PbULong=yh.detectBi=void 0;var TQ=O2(),fr;function J0e(){let t=new DataView(new ArrayBuffer(8));fr=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:t}:void 0}yh.detectBi=J0e;J0e();function W0e(t){if(!t)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var z0e=/^-?[0-9]+$/,G2=4294967296,H2=2147483648,q2=c Line truncated
`)}};hk.RpcError=qq});var Vq=C(gk=>{"use strict";Object.defineProperty(gk,"__esModule",{value:!0});gk.mergeRpcOptions=void 0;var QEe=gt();function Qht(t,e){if(!e)return t;let r={};fk(t,r),fk(e,r);for(let n of Object.keys(e)){let s=e[n];switch(n){case"jsonOptions":r.jsonOptions=QEe.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=QEe.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},fk(t.meta,r.meta),fk(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return r}gk.mergeRpcOptions=Qht;function fk(t,e){if(!t)return;let r=e;for(let[n,s]of Object.entries(t))s instanceof Date?r[n]=new Date(s.getTime()):Array.isArray(s)?r[n]=s.concat():r[n]=s}});var Wq=C(tp=>{"use strict";Object.defineProperty(tp,"__esModule",{value:!0});tp.Deferred=tp.DeferredState=void 0;var eu;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(eu=tp.DeferredState||(tp.DeferredState={}));var Jq=class{constructor(e=!0){this._state=eu.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==eu.PENDING)throw new Error(`cannot resolve ${eu[this.state].toLowerCase()}`);this._resolve(e),this._state=eu.RESOLVED}reject(e){if(this.state!==eu.PENDING)throw new Error(`cannot reject ${eu[this.state].toLowerCase()}`);this._reject(e),this._state=eu.REJECTED}resolvePending(e){this._state===eu.PENDING&&this.resolve(e)}rejectPending(e){this._state===eu.PENDING&&this.reject(e)}};tp.Deferred=Jq});var jq=C(pk=>{"use strict";Object.defineProperty(pk,"__esModule",{value:!0});pk.RpcOutputStreamController=void 0;var wEe=Wq(),rp=gt(),zq=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){rp.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){rp.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){rp.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){rp.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let e=this._itState;rp.assert(e,"bad state"),rp.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new wEe.Deferred,e.p.promise)}}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;rp.assert(n.state==wEe.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};pk.RpcOutputStreamController=zq});var Xq=C(aC=>{"use strict";var wht=aC&&aC.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{A(n.next(u))}catch(l){o(l)}}function c(u){try{A(n.throw(u))}catch(l){o(l)}}function A(u){u.done?i(u.value):s(u.value).then(a,c)}A((n=n.apply(t,e||[])).next())})};Object.defineProperty(aC,"__esModule",{value:!0});aC.UnaryCall=void 0;var Kq=class{constructor(e,r,n,s,i,o,a){this.method=e,this.requestHeaders=r,this.request=n,this.headers=s,this.response=i,this.status=o,this.trailers=a}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return wht(this,void 0,void 0,function*(){let[e,r,n,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:s}})}};aC.UnaryCall=Kq});var $q=C(cC=>{"use strict";var Sht=cC&&cC.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{A(n.next(u))}catch(l){o(l)}}function c(u){try{A(n.throw(u))}catch(l){o(l)}}function A(u){u.done?i(u.value):s(u.value).then(a,c)}A((n=n.apply(t,e||[])).next())})};Object.defineProperty(cC,"__esModule",{value:!0});cC.ServerStreamingCall=void 0;var Zq=class{constructor(e Line truncated
`)+4,e.outputData[0].data=e._header+n.substring(s),t0("Output buffer: %o",e.outputData[0].data));let i;return this.proxy.protocol==="https:"?(t0("Creating `tls.Socket`: %o",this.connectOpts),i=Srt.connect(this.connectOpts)):(t0("Creating `net.Socket`: %o",this.connectOpts),i=wrt.connect(this.connectOpts)),await(0,Trt.once)(i,"connect"),i}};nx.protocols=["http","https"];Mo.HttpProxyAgent=nx;function Rrt(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}});var Che=E(gx=>{"use strict";Object.defineProperty(gx,"__esModule",{value:!0});gx.state=void 0;gx.state={instrumenterImplementation:void 0}});var Mhe=E(Ix=>{"use strict";Object.defineProperty(Ix,"__esModule",{value:!0});Ix.state=void 0;Ix.state={operationRequestMap:new WeakMap}});var ppe=E((dgr,Uct)=>{Uct.exports={name:"@actions/cache",version:"6.0.1",description:"Actions cache lib",keywords:["github","actions","cache"],homepage:"https://github.com/actions/toolkit/tree/main/packages/cache",license:"MIT",type:"module",main:"lib/cache.js",types:"lib/cache.d.ts",exports:{".":{types:"./lib/cache.d.ts",import:"./lib/cache.js"}},directories:{lib:"lib",test:"__tests__"},files:["lib","!.DS_Store"],publishConfig:{access:"public"},repository:{type:"git",url:"git+https://github.com/actions/toolkit.git",directory:"packages/cache"},scripts:{"audit-moderate":"npm install && npm audit --json --audit-level=moderate > audit.json",test:'echo "Error: run tests from root" && exit 1',tsc:"tsc && cp src/internal/shared/package-version.cjs lib/internal/shared/"},bugs:{url:"https://github.com/actions/toolkit/issues"},dependencies:{"@actions/core":"^3.0.1","@actions/exec":"^3.0.0","@actions/glob":"^0.6.1","@actions/http-client":"^4.0.1","@actions/io":"^3.0.2","@azure/core-rest-pipeline":"^1.23.0","@azure/storage-blob":"^12.31.0","@protobuf-ts/runtime-rpc":"^2.11.1",semver:"^7.7.4"},devDependencies:{"@protobuf-ts/plugin":"^2.11.1","@types/node":"^25.6.0","@types/semver":"^7.7.1",typescript:"^5.9.3"},overrides:{"uri-js":"npm:uri-js-replace@^1.0.1","node-fetch":"^3.3.2"}}});var Epe=E((hgr,mpe)=>{var Pct=ppe();mpe.exports={version:Pct.version}});var XR=E(w0=>{"use strict";Object.defineProperty(w0,"__esModule",{value:!0});w0.isJsonObject=w0.typeofJsonValue=void 0;function zct(t){let e=typeof t;if(e=="object"){if(Array.isArray(t))return"array";if(t===null)return"null"}return e}w0.typeofJsonValue=zct;function jct(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}w0.isJsonObject=jct});var eD=E(S0=>{"use strict";Object.defineProperty(S0,"__esModule",{value:!0});S0.base64encode=S0.base64decode=void 0;var Gu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),ZR=[];for(let t=0;t<Gu.length;t++)ZR[Gu[t].charCodeAt(0)]=t;ZR[45]=Gu.indexOf("+");ZR[95]=Gu.indexOf("/");function Kct(t){let e=t.length*3/4;t[t.length-2]=="="?e-=2:t[t.length-1]=="="&&(e-=1);let r=new Uint8Array(e),n=0,s=0,i,o=0;for(let a=0;a<t.length;a++){if(i=ZR[t.charCodeAt(a)],i===void 0)switch(t[a]){case"=":s=0;case`
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(s){case 0:o=i,s=1;break;case 1:r[n++]=o<<2|(i&48)>>4,o=i,s=2;break;case 2:r[n++]=(o&15)<<4|(i&60)>>2,o=i,s=3;break;case 3:r[n++]=(o&3)<<6|i,s=0;break}}if(s==1)throw Error("invalid base64 string.");return r.subarray(0,n)}S0.base64decode=Kct;function $ct(t){let e="",r=0,n,s=0;for(let i=0;i<t.length;i++)switch(n=t[i],r){case 0:e+=Gu[n>>2],s=(n&3)<<4,r=1;break;case 1:e+=Gu[s|n>>4],s=(n&15)<<2,r=2;break;case 2:e+=Gu[s|n>>6],e+=Gu[n&63],r=0;break}return r&&(e+=Gu[s],e+="=",r==1&&(e+="=")),e}S0.base64encode=$ct});var bpe=E(tD=>{"use strict";Object.defineProperty(tD,"__esModule",{value:!0});tD.utf8read=void 0;var XH=t=>String.fromCharCode.apply(String,t);function Xct(t){if(t.length<1)return"";let e=0,r=[],n=[],s=0,i,o=t.length;for(;e<o;)i=t[e++],i<128?n[s++]=i:i>191&&i<224?n[s++]=(i&31)<<6|t[e++]&63:i>239&&i<365?(i=((i&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,n[s++]=55296+(i>>10),n[s++]=56320+(i&1023)):n[s++]=(i&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&(r.push(XH(n)),s=0);return r.length?(s&&r.push(XH(n.slice(0,s))),r.join("")):XH(n.slice(0,s))}tD.utf8read=Xct});var YB=E(dA=>{"use strict";Object.defineProperty(dA,"__esModule",{value:!0});dA.WireType=dA.mergeBinaryOptions=dA.UnknownFieldHandler=void 0;var Zct;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,s,i,o)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:s,wireType:i,data:o})},t.onWrite=(r,n,s)=>{for(let{no:i,wireType:o,data:a}of t.list(n))s.tag(i,o).raw(a)},t.list=(r,n)=>{if(e(r)){let s=r[t.symbol];return n?s.filter(i=>i.no==n):s}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=r=>r&&Array.isArray(r[t.symbol])})(Zct=dA.UnknownFieldHandler||(dA.UnknownFieldHandler={}));function eAt(t,e){return Object.assign(Object.assign({},t),e)}dA.mergeBinaryOptions=eAt;var tAt;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(tAt=dA.WireType||(dA.WireType={}))});var nD=E(hi=>{"use strict";Object.defineProperty(hi,"__esModule",{value:!0});hi.varint32read=hi.varint32write=hi.int64toString=hi.int64fromString=hi.varint64write=hi.varint64read=void 0;function rAt(){let t=0,e=0;for(let n=0;n<28;n+=7){let s=this.buf[this.pos++];if(t|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let n=3;n<=31;n+=7){let s=this.buf[this.pos++];if(e|=(s&127)<<n,(s&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}hi.varint64read=rAt;function nAt(t,e,r){for(let i=0;i<28;i=i+7){let o=t>>>i,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(r.push(c),!a)return}let n=t>>>28&15|(e&7)<<4,s=e>>3!=0;if(r.push((s?n|128:n)&255),!!s){for(let i=3;i<31;i=i+7){let o=e>>>i,a=!!(o>>>7),c=(a?o|128:o)&255;if(r.push(c),!a)return}r.push(e>>>31&1)}}hi.varint64write=nAt;var rD=65536*65536;function sAt(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,s=0;function i(o,a){let c=Number(t.slice(o,a));s*=r,n=n*r+c,n>=rD&&(s=s+(n/rD|0),n=n%rD)}return i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,n,s]}hi.int64fromString=sAt;function iAt(t,e){if(e>>>0<=2097151)return""+(rD*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,s=e>>16&65535,i=r+n*6777216+s*6710656,o=n+s*8147497,a=s*2,c=1e7;i>=c&&(o+=Math.floor(i/c),i%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function A(u,l){let d=u?String(u):"";return l?"0000000".slice(d.length)+d:d}return A(a,0)+A(o,a)+A(i,1)}hi.int64toString=iAt;function oAt(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}hi.varint32write=oAt;function aAt(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}hi.varint32read=aAt});var Id=E(Cd=>{"use strict";Object.defineProperty(Cd,"__esModule",{value:!0});Cd.PbLong=Cd.PbULong=Cd.detectBi=void 0;var VB=nD(),ir;function Qpe(){let t=new DataView(new ArrayBuffer(8));ir=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:t}:void 0}Cd.detectBi=Qpe;Qpe();function wpe(t){if(!t)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var Spe=/^-?[0-9]+$/,iD=4294967296,sD=2147483648,oD=c Line truncated
`)}};RD.RpcError=w9});var N9=E(kD=>{"use strict";Object.defineProperty(kD,"__esModule",{value:!0});kD.mergeRpcOptions=void 0;var rme=At();function xut(t,e){if(!e)return t;let r={};DD(t,r),DD(e,r);for(let n of Object.keys(e)){let s=e[n];switch(n){case"jsonOptions":r.jsonOptions=rme.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=rme.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},DD(t.meta,r.meta),DD(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(s):s.concat();break}}return r}kD.mergeRpcOptions=xut;function DD(t,e){if(!t)return;let r=e;for(let[n,s]of Object.entries(t))s instanceof Date?r[n]=new Date(s.getTime()):Array.isArray(s)?r[n]=s.concat():r[n]=s}});var x9=E(jf=>{"use strict";Object.defineProperty(jf,"__esModule",{value:!0});jf.Deferred=jf.DeferredState=void 0;var gA;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(gA=jf.DeferredState||(jf.DeferredState={}));var T9=class{constructor(e=!0){this._state=gA.PENDING,this._promise=new Promise((r,n)=>{this._resolve=r,this._reject=n}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==gA.PENDING)throw new Error(`cannot resolve ${gA[this.state].toLowerCase()}`);this._resolve(e),this._state=gA.RESOLVED}reject(e){if(this.state!==gA.PENDING)throw new Error(`cannot reject ${gA[this.state].toLowerCase()}`);this._reject(e),this._state=gA.REJECTED}resolvePending(e){this._state===gA.PENDING&&this.resolve(e)}rejectPending(e){this._state===gA.PENDING&&this.reject(e)}};jf.Deferred=T9});var D9=E(vD=>{"use strict";Object.defineProperty(vD,"__esModule",{value:!0});vD.RpcOutputStreamController=void 0;var nme=x9(),Kf=At(),R9=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let n=r.indexOf(e);n>=0&&r.splice(n,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,n){Kf.assert((e?1:0)+(r?1:0)+(n?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),n&&this.notifyComplete()}notifyMessage(e){Kf.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){Kf.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){Kf.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let e=this._itState;Kf.assert(e,"bad state"),Kf.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new nme.Deferred,e.p.promise)}}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;Kf.assert(n.state==nme.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};vD.RpcOutputStreamController=R9});var v9=E(v0=>{"use strict";var Rut=v0&&v0.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{A(n.next(u))}catch(l){o(l)}}function c(u){try{A(n.throw(u))}catch(l){o(l)}}function A(u){u.done?i(u.value):s(u.value).then(a,c)}A((n=n.apply(t,e||[])).next())})};Object.defineProperty(v0,"__esModule",{value:!0});v0.UnaryCall=void 0;var k9=class{constructor(e,r,n,s,i,o,a){this.method=e,this.requestHeaders=r,this.request=n,this.headers=s,this.response=i,this.status=o,this.trailers=a}then(e,r){return this.promiseFinished().then(n=>e?Promise.resolve(e(n)):n,n=>r?Promise.resolve(r(n)):Promise.reject(n))}promiseFinished(){return Rut(this,void 0,void 0,function*(){let[e,r,n,s]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:n,trailers:s}})}};v0.UnaryCall=k9});var F9=E(_0=>{"use strict";var Dut=_0&&_0.__awaiter||function(t,e,r,n){function s(i){return i instanceof r?i:new r(function(o){o(i)})}return new(r||(r=Promise))(function(i,o){function a(u){try{A(n.next(u))}catch(l){o(l)}}function c(u){try{A(n.throw(u))}catch(l){o(l)}}function A(u){u.done?i(u.value):s(u.value).then(a,c)}A((n=n.apply(t,e||[])).next())})};Object.defineProperty(_0,"__esModule",{value:!0});_0.ServerStreamingCall=void 0;var _9=class{constructor(e Line truncated
\v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041FLine truncated
\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b
\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b
\v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0