Compare commits

...
Author SHA1 Message Date
github-actions[bot] e1ef5f1536 [dependabot skip] chore: update generated content 2026-09-28 19:24:28 +00:00
dependabot[bot] ec189e673c chore(deps): Bump csv-parse from 7.0.2 to 7.0.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 7.0.2 to 7.0.3.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.3/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-28 19:23:29 +00:00
CrazyMax 8e671d84a3 Merge pull request #729 from crazy-max/git-working-directory
support custom paths in Git context
2026-09-15 13:39:47 +02:00
CrazyMax a539373280 Merge pull request #728 from docker/dependabot/npm_and_yarn/js-yaml-4.3.2
chore(deps): Bump js-yaml from 4.3.1 to 4.3.2
2026-09-15 12:30:34 +02:00
CrazyMax a60f99ff25 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-09-15 12:24:19 +02:00
CrazyMax 1c7071ce1e support custom paths in Git context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-09-15 12:24:18 +02:00
dependabot[bot] 78ec08d276 chore(deps): Bump js-yaml from 4.3.1 to 4.3.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.1 to 4.3.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.2/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.1...4.3.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 10:07:05 +00:00
CrazyMax 00741899ac Merge pull request #727 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.100.0
chore(deps): Bump @docker/actions-toolkit from 0.92.0 to 0.100.0
2026-09-15 12:05:09 +02:00
github-actions[bot] 25b012154c [dependabot skip] chore: update generated content 2026-09-15 09:48:08 +00:00
dependabot[bot] 821a65235e chore(deps): Bump @docker/actions-toolkit from 0.92.0 to 0.100.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.92.0 to 0.100.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.92.0...v0.100.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.100.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-15 09:47:02 +00:00
CrazyMax 0eef5a8fde Merge pull request #726 from docker/dependabot/github_actions/actions/setup-node-7.0.0
chore(deps): Bump actions/setup-node from 6.4.0 to 7.0.0
2026-09-15 11:44:56 +02:00
CrazyMax 9a3496a831 Merge pull request #725 from docker/dependabot/github_actions/actions/checkout-7.0.1
chore(deps): Bump actions/checkout from 7.0.0 to 7.0.1
2026-09-15 11:44:46 +02:00
CrazyMax 36c0ebbaab Merge pull request #724 from docker/dependabot/github_actions/docker/setup-buildx-action-4.3.0
chore(deps): Bump docker/setup-buildx-action from 4.2.0 to 4.3.0
2026-09-15 11:44:36 +02:00
CrazyMax 105ecbec2c Merge pull request #723 from docker/dependabot/github_actions/codeql-actions-03ad6eec6c
chore(deps): Bump the codeql-actions group with 2 updates
2026-09-15 11:44:26 +02:00
CrazyMax 77a5bf1476 Merge pull request #721 from docker/dependabot/github_actions/crazy-max-dot-github-6f52f8ed50
chore(deps): Bump the crazy-max-dot-github group with 2 updates
2026-09-15 11:44:14 +02:00
CrazyMax d734c39441 Merge pull request #712 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.18
chore(deps): Bump brace-expansion from 1.1.14 to 1.1.18
2026-09-15 11:44:03 +02:00
dependabot[bot] d1a36161f1 chore(deps): Bump actions/setup-node from 6.4.0 to 7.0.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.4.0 to 7.0.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e...820762786026740c76f36085b0efc47a31fe5020)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:25:16 +00:00
dependabot[bot] 2a4bfb6409 chore(deps): Bump actions/checkout from 7.0.0 to 7.0.1
Bumps [actions/checkout](https://github.com/actions/checkout) from 7.0.0 to 7.0.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0...3d3c42e5aac5ba805825da76410c181273ba90b1)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:25:10 +00:00
dependabot[bot] 51af017501 chore(deps): Bump docker/setup-buildx-action from 4.2.0 to 4.3.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.2.0 to 4.3.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/bb05f3f5519dd87d3ba754cc423b652a5edd6d2c...37fe631027851001ddb9b187196cc803df7f5f0e)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:24:40 +00:00
dependabot[bot] 85c1a712c2 chore(deps): Bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.36.3 to 4.38.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...b96794f015dfd88f77b49b1c93e0fa7110f94c63)

Updates `github/codeql-action/analyze` from 4.36.3 to 4.38.0
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/54f647b7e1bb85c95cddabcd46b0c578ec92bc1a...b96794f015dfd88f77b49b1c93e0fa7110f94c63)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.38.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:24:34 +00:00
dependabot[bot] 3fd1b59294 chore(deps): Bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/46267a6e61cd56aac2fc79943df180152f4c89d6...f91220cba053bd54299ba645a599ee8ed436f222)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.10.1 to 1.11.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/46267a6e61cd56aac2fc79943df180152f4c89d6...f91220cba053bd54299ba645a599ee8ed436f222)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.11.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 19:22:28 +00:00
github-actions[bot] cefe75597d [dependabot skip] chore: update generated content 2026-09-11 12:22:06 +00:00
dependabot[bot] 44a747c14e chore(deps): Bump brace-expansion from 1.1.14 to 1.1.18
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.14 to 1.1.18.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v1.1.18)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 12:21:12 +00:00
CrazyMax 334e73ab86 Merge pull request #710 from docker/dependabot/npm_and_yarn/postcss-8.5.25
chore(deps): Bump postcss from 8.5.10 to 8.5.28
2026-09-11 14:19:10 +02:00
CrazyMax a65e287521 Merge pull request #707 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.3
chore(deps): Bump moment-timezone from 0.6.2 to 0.6.3
2026-09-11 14:02:25 +02:00
github-actions[bot] 06076441e4 [dependabot skip] chore: update generated content 2026-09-11 11:57:50 +00:00
dependabot[bot] 16b2402ae8 chore(deps): Bump moment-timezone from 0.6.2 to 0.6.3
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.6.2 to 0.6.3.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.6.2...0.6.3)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:56:50 +00:00
CrazyMax fe5ae53f8c Merge pull request #701 from docker/dependabot/npm_and_yarn/csv-parse-7.0.1
chore(deps): Bump csv-parse from 7.0.0 to 7.0.2
2026-09-11 13:54:30 +02:00
github-actions[bot] 8c322d0993 [dependabot skip] chore: update generated content 2026-09-11 11:46:11 +00:00
dependabot[bot] b85971cc18 chore(deps): Bump postcss from 8.5.10 to 8.5.28
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.10 to 8.5.28.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.10...8.5.28)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.25
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:46:01 +00:00
dependabot[bot] 5faed39cb8 chore(deps): Bump csv-parse from 7.0.0 to 7.0.2
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 7.0.0 to 7.0.2.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.2/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-11 11:45:15 +00:00
CrazyMax fa86a8e19a Merge pull request #715 from docker/dependabot/npm_and_yarn/js-yaml-4.3.1
chore(deps): Bump js-yaml from 4.3.0 to 4.3.1
2026-09-11 13:44:37 +02:00
CrazyMax 818bf39daf Merge pull request #713 from docker/dependabot/npm_and_yarn/undici-6.28.0
chore(deps): Bump undici from 6.27.0 to 6.28.0
2026-09-11 13:43:18 +02:00
CrazyMax 7e7495626c Merge pull request #716 from docker/dependabot/npm_and_yarn/postcss-selector-parser-7.1.5
chore(deps): Bump postcss-selector-parser from 7.1.1 to 7.1.5
2026-09-11 13:43:00 +02:00
CrazyMax 63f5656707 Merge pull request #717 from docker/dependabot/npm_and_yarn/humanfs/node-0.16.8
chore(deps): Bump @humanfs/node from 0.16.7 to 0.16.8
2026-09-11 13:42:31 +02:00
CrazyMax 8457f1474c Merge pull request #718 from docker/dependabot/npm_and_yarn/nanoid-3.3.18
chore(deps): Bump nanoid from 3.3.11 to 3.3.18
2026-09-11 13:40:31 +02:00
CrazyMax c1ce55cf4b Merge pull request #704 from docker/dependabot/github_actions/codeql-actions-af2beed448
chore(deps): Bump the codeql-actions group with 2 updates
2026-09-11 13:40:02 +02:00
CrazyMax 0b24e01e4b Merge pull request #700 from docker/dependabot/github_actions/docker/setup-buildx-action-4.2.0
chore(deps): Bump docker/setup-buildx-action from 4.1.0 to 4.2.0
2026-09-11 13:39:52 +02:00
CrazyMax 6630998811 Merge pull request #699 from docker/dependabot/github_actions/docker/bake-action/subaction/matrix-7.3.0
chore(deps): Bump docker/bake-action/subaction/matrix from 7.2.0 to 7.3.0
2026-09-11 13:39:42 +02:00
CrazyMax 721ab41eb2 Merge pull request #698 from docker/dependabot/github_actions/docker/build-push-action-7.3.0
chore(deps): Bump docker/build-push-action from 7.2.0 to 7.3.0
2026-09-11 13:39:32 +02:00
CrazyMax 3c48aca360 Merge pull request #697 from docker/dependabot/github_actions/docker/bake-action-7.3.0
chore(deps): Bump docker/bake-action from 7.2.0 to 7.3.0
2026-09-11 13:39:22 +02:00
dependabot[bot] be5123e520 chore(deps): Bump nanoid from 3.3.11 to 3.3.18
Bumps [nanoid](https://github.com/ai/nanoid) from 3.3.11 to 3.3.18.
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/3.3.18/CHANGELOG.md)
- [Commits](https://github.com/ai/nanoid/compare/3.3.11...3.3.18)

---
updated-dependencies:
- dependency-name: nanoid
  dependency-version: 3.3.18
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-05 08:05:43 +00:00
dependabot[bot] 5e134fc3cf chore(deps): Bump @humanfs/node from 0.16.7 to 0.16.8
Bumps [@humanfs/node](https://github.com/humanwhocodes/humanfs/tree/HEAD/packages/node) from 0.16.7 to 0.16.8.
- [Release notes](https://github.com/humanwhocodes/humanfs/releases)
- [Changelog](https://github.com/humanwhocodes/humanfs/blob/main/packages/node/CHANGELOG.md)
- [Commits](https://github.com/humanwhocodes/humanfs/commits/node-v0.16.8/packages/node)

---
updated-dependencies:
- dependency-name: "@humanfs/node"
  dependency-version: 0.16.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-03 12:25:39 +00:00
dependabot[bot] 75c1523541 chore(deps): Bump postcss-selector-parser from 7.1.1 to 7.1.5
Bumps [postcss-selector-parser](https://github.com/postcss/postcss-selector-parser) from 7.1.1 to 7.1.5.
- [Release notes](https://github.com/postcss/postcss-selector-parser/releases)
- [Changelog](https://github.com/postcss/postcss-selector-parser/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss-selector-parser/compare/v7.1.1...7.1.5)

---
updated-dependencies:
- dependency-name: postcss-selector-parser
  dependency-version: 7.1.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-09-01 22:32:21 +00:00
dependabot[bot] 31e817f601 chore(deps): Bump js-yaml from 4.3.0 to 4.3.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.3.0 to 4.3.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/4.3.1/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.3.0...4.3.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.3.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-28 00:41:15 +00:00
github-actions[bot] fd428be62d [dependabot skip] chore: update generated content 2026-08-05 16:18:40 +00:00
dependabot[bot] 85f67a52da chore(deps): Bump undici from 6.27.0 to 6.28.0
Bumps [undici](https://github.com/nodejs/undici) from 6.27.0 to 6.28.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.27.0...v6.28.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.28.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-08-05 16:17:43 +00:00
dependabot[bot] d6d4c02fe1 chore(deps): Bump the codeql-actions group with 2 updates
Bumps the codeql-actions group with 2 updates: [github/codeql-action/init](https://github.com/github/codeql-action) and [github/codeql-action/analyze](https://github.com/github/codeql-action).


Updates `github/codeql-action/init` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

Updates `github/codeql-action/analyze` from 4.36.2 to 4.36.3
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/8aad20d150bbac5944a9f9d289da16a4b0d87c1e...54f647b7e1bb85c95cddabcd46b0c578ec92bc1a)

---
updated-dependencies:
- dependency-name: github/codeql-action/init
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
- dependency-name: github/codeql-action/analyze
  dependency-version: 4.36.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: codeql-actions
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-09 12:01:34 +00:00
CrazyMax 703896b4f3 Merge pull request #703 from crazy-max/group-codeql-dependabot-updates
chore: group codeql dependabot updates
2026-07-09 13:58:27 +02:00
CrazyMax 1710a9f662 chore: group codeql dependabot updates
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-09 12:43:17 +02:00
dependabot[bot] 0b3ddf66f0 chore(deps): Bump docker/setup-buildx-action from 4.1.0 to 4.2.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5...bb05f3f5519dd87d3ba754cc423b652a5edd6d2c)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-06 19:22:36 +00:00
dependabot[bot] 02a9d84cbc chore(deps): Bump docker/bake-action/subaction/matrix
Bumps [docker/bake-action/subaction/matrix](https://github.com/docker/bake-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/6614cfa25eff9a0b2b2697efb0b6159e7680d584...d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b)

---
updated-dependencies:
- dependency-name: docker/bake-action/subaction/matrix
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 19:25:26 +00:00
dependabot[bot] e956db8a87 chore(deps): Bump docker/build-push-action from 7.2.0 to 7.3.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/f9f3042f7e2789586610d6e8b85c8f03e5195baf...53b7df96c91f9c12dcc8a07bcb9ccacbed38856a)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 19:25:10 +00:00
dependabot[bot] 9293eb8a8a chore(deps): Bump docker/bake-action from 7.2.0 to 7.3.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.2.0 to 7.3.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/6614cfa25eff9a0b2b2697efb0b6159e7680d584...d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-03 19:22:33 +00:00
CrazyMax dc80280410 Merge pull request #696 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.92.0
chore(deps): Bump @docker/actions-toolkit from 0.91.0 to 0.92.0
2026-07-02 10:48:54 +02:00
github-actions[bot] 2b9fe830ef [dependabot skip] chore: update generated content 2026-07-02 08:41:54 +00:00
dependabot[bot] 8128ce30ab chore(deps): Bump @docker/actions-toolkit from 0.91.0 to 0.92.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.91.0 to 0.92.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.91.0...v0.92.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.92.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:40:54 +00:00
CrazyMax 1d1c89551e Merge pull request #695 from docker/dependabot/npm_and_yarn/semver-7.8.5
chore(deps): Bump semver from 7.8.1 to 7.8.5
2026-07-02 10:17:31 +02:00
CrazyMax 7f0c2dd4c8 Merge pull request #694 from docker/dependabot/npm_and_yarn/sigstore-4.1.1
chore(deps): Bump sigstore from 4.1.0 to 4.1.1
2026-07-02 10:16:57 +02:00
github-actions[bot] 025f8c5c81 [dependabot skip] chore: update generated content 2026-07-02 08:15:28 +00:00
dependabot[bot] e98d63c308 chore(deps): Bump semver from 7.8.1 to 7.8.5
Bumps [semver](https://github.com/npm/node-semver) from 7.8.1 to 7.8.5.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.8.1...v7.8.5)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.8.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:14:30 +00:00
dependabot[bot] 37d9379950 chore(deps): Bump sigstore from 4.1.0 to 4.1.1
Bumps [sigstore](https://github.com/sigstore/sigstore-js) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@4.1.0...sigstore@4.1.1)

---
updated-dependencies:
- dependency-name: sigstore
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:14:02 +00:00
CrazyMax a1b8072847 Merge pull request #690 from docker/dependabot/npm_and_yarn/sigstore/core-3.2.1
chore(deps): Bump @sigstore/core from 3.1.0 to 3.2.1
2026-07-02 10:12:02 +02:00
github-actions[bot] e0e338106d [dependabot skip] chore: update generated content 2026-07-02 08:08:04 +00:00
dependabot[bot] 8740eb24f1 chore(deps): Bump @sigstore/core from 3.1.0 to 3.2.1
Bumps [@sigstore/core](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.2.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/core@3.2.1)

---
updated-dependencies:
- dependency-name: "@sigstore/core"
  dependency-version: 3.2.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:07:05 +00:00
CrazyMax 829d9deafc Merge pull request #686 from docker/dependabot/npm_and_yarn/undici-6.27.0
chore(deps): Bump undici from 6.25.0 to 6.27.0
2026-07-02 10:04:48 +02:00
github-actions[bot] c6f28b352d [dependabot skip] chore: update generated content 2026-07-02 08:03:27 +00:00
dependabot[bot] 2538bcf92b chore(deps): Bump undici from 6.25.0 to 6.27.0
Bumps [undici](https://github.com/nodejs/undici) from 6.25.0 to 6.27.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.25.0...v6.27.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.27.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 08:02:28 +00:00
CrazyMax d90dd465e0 Merge pull request #688 from docker/dependabot/npm_and_yarn/js-yaml-4.2.0
chore(deps): Bump js-yaml from 4.1.1 to 4.3.0
2026-07-02 10:00:21 +02:00
CrazyMax 25e0734ed4 Merge pull request #685 from docker/dependabot/npm_and_yarn/vite-7.3.5
chore(deps): Bump vite from 7.3.2 to 7.3.6
2026-07-02 09:59:54 +02:00
CrazyMax e9f6281329 Merge pull request #683 from docker/dependabot/npm_and_yarn/csv-parse-7.0.0
chore(deps): Bump csv-parse from 6.2.1 to 7.0.0
2026-07-02 09:59:28 +02:00
github-actions[bot] 662982e6ad [dependabot skip] chore: update generated content 2026-07-02 07:57:51 +00:00
github-actions[bot] 8cb42a736d [dependabot skip] chore: update generated content 2026-07-02 07:57:45 +00:00
dependabot[bot] a2ac6757c7 chore(deps): Bump js-yaml from 4.1.1 to 4.3.0
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.1 to 4.3.0.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.1...4.3.0)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 07:56:52 +00:00
dependabot[bot] 2f18853aff chore(deps): Bump csv-parse from 6.2.1 to 7.0.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 6.2.1 to 7.0.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@7.0.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 07:56:48 +00:00
CrazyMax 99b992b69c Merge pull request #693 from docker/dependabot/npm_and_yarn/sigstore/verify-3.1.1
chore(deps): Bump @sigstore/verify from 3.1.0 to 3.1.1
2026-07-02 09:55:59 +02:00
CrazyMax f5d3f0bb4f Merge pull request #678 from docker/dependabot/github_actions/crazy-max-dot-github-a6a0ecf511
chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-07-02 09:43:01 +02:00
CrazyMax ad815f93b1 Merge pull request #684 from docker/dependabot/github_actions/actions/checkout-7.0.0
chore(deps): Bump actions/checkout from 6.0.2 to 7.0.0
2026-07-02 09:42:40 +02:00
CrazyMax e7c990b5e8 Merge pull request #681 from docker/dependabot/github_actions/github/codeql-action-4.36.2
chore(deps): Bump github/codeql-action from 4.36.0 to 4.36.2
2026-07-02 09:42:18 +02:00
CrazyMax 41cf1318aa Merge pull request #679 from docker/dependabot/github_actions/codecov/codecov-action-7.0.0
chore(deps): Bump codecov/codecov-action from 6.0.1 to 7.0.0
2026-07-02 09:41:52 +02:00
dependabot[bot] 4f8aff440c chore(deps): Bump @sigstore/verify from 3.1.0 to 3.1.1
Bumps [@sigstore/verify](https://github.com/sigstore/sigstore-js) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/sigstore/sigstore-js/releases)
- [Commits](https://github.com/sigstore/sigstore-js/compare/sigstore@3.1.0...@sigstore/verify@3.1.1)

---
updated-dependencies:
- dependency-name: "@sigstore/verify"
  dependency-version: 3.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-02 04:23:50 +00:00
dependabot[bot] 2785aeedfc chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.8.0 to 1.10.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/9ba6e6f9450baf3b1237f8035c1fdc45932510bd...46267a6e61cd56aac2fc79943df180152f4c89d6)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-07-01 19:22:23 +00:00
CrazyMax 860a41aba4 Merge pull request #692 from crazy-max/fix-yarn-preapprove-actions-toolkit
chore: allow actions-toolkit to bypass yarn age gate
2026-07-01 14:00:37 +02:00
CrazyMax 23422a030c Merge pull request #691 from crazy-max/dependabot-skip-update-dist
dependabot: skip for update-dist commits
2026-07-01 14:00:23 +02:00
CrazyMax 2a674ccb52 chore: allow actions-toolkit to bypass yarn age gate
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-07-01 11:43:32 +02:00
CrazyMax 5185deded3 dependabot: skip for update-dist commits
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-30 11:09:07 +02:00
dependabot[bot] 9f63154d50 chore(deps): Bump vite from 7.3.2 to 7.3.6
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.2 to 7.3.6.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.6/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.6/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-29 14:18:11 +00:00
CrazyMax 45b1914810 Merge pull request #689 from crazy-max/fix-esbuild
preserve names in esbuild bundle
2026-06-29 16:14:58 +02:00
CrazyMax d3cc900f2d preserve names in esbuild bundle
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-06-29 15:01:08 +02:00
dependabot[bot] d8b45f9c76 chore(deps): Bump actions/checkout from 6.0.2 to 7.0.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 6.0.2 to 7.0.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-19 19:22:37 +00:00
temenuzhka-thede 020b7354dd Merge pull request #682 from docker/sec-cli/npm-ci-20260612-184903
fix: replace npm install with npm ci (20260612-184903)
2026-06-12 14:10:33 -05:00
securityeng-bot[bot] 7f842e879c fix: use lockfile-aware install commands 2026-06-12 18:49:05 +00:00
dependabot[bot] 58711ad468 chore(deps): Bump github/codeql-action from 4.36.0 to 4.36.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.36.0 to 4.36.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/7211b7c8077ea37d8641b6271f6a365a22a5fbfa...8aad20d150bbac5944a9f9d289da16a4b0d87c1e)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 19:24:29 +00:00
dependabot[bot] 7a9d9fefe1 chore(deps): Bump codecov/codecov-action from 6.0.1 to 7.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.1 to 7.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/e79a6962e0d4c0c17b229090214935d2e33f8354...fb8b3582c8e4def4969c97caa2f19720cb33a72f)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 19:22:35 +00:00
CrazyMax 3caf19fbe3 Merge pull request #675 from crazy-max/yarn-update
update yarn to 4.15.0
2026-05-28 18:43:59 +02:00
CrazyMax 8016b4facd update yarn to 4.15.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-28 15:13:30 +02:00
CrazyMax 530a407188 Merge pull request #672 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.91.0
chore(deps): Bump @docker/actions-toolkit from 0.90.0 to 0.91.0
2026-05-28 12:59:33 +02:00
github-actions[bot] afa75d4359 chore: update generated content 2026-05-28 10:57:17 +00:00
dependabot[bot] 26a83f6e31 chore(deps): Bump @docker/actions-toolkit from 0.90.0 to 0.91.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.90.0 to 0.91.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.90.0...v0.91.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.91.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 10:56:20 +00:00
CrazyMax 585dfe4a50 Merge pull request #663 from docker/dependabot/npm_and_yarn/actions/core-3.0.1
chore(deps): Bump @actions/core from 3.0.0 to 3.0.1
2026-05-28 12:54:14 +02:00
github-actions[bot] 829c7e6ce9 chore: update generated content 2026-05-28 10:25:16 +00:00
dependabot[bot] 246bbe8935 chore(deps): Bump @actions/core from 3.0.0 to 3.0.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 3.0.0 to 3.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 10:24:18 +00:00
CrazyMax ebb6b285fa Merge pull request #666 from docker/dependabot/npm_and_yarn/actions/github-9.1.1
chore(deps): Bump @actions/github from 9.0.0 to 9.1.1
2026-05-28 12:22:11 +02:00
github-actions[bot] cbc0ced701 chore: update generated content 2026-05-28 10:18:59 +00:00
dependabot[bot] 55d77601d7 chore(deps): Bump @actions/github from 9.0.0 to 9.1.1
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 9.0.0 to 9.1.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 9.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 10:17:58 +00:00
CrazyMax f25e8d2521 Merge pull request #665 from docker/dependabot/npm_and_yarn/semver-7.8.0
chore(deps): Bump semver from 7.7.4 to 7.8.1
2026-05-28 11:35:07 +02:00
github-actions[bot] 8707af5b28 chore: update generated content 2026-05-28 08:44:56 +00:00
dependabot[bot] f5b5258ae1 chore(deps): Bump semver from 7.7.4 to 7.8.1
Bumps [semver](https://github.com/npm/node-semver) from 7.7.4 to 7.8.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.4...v7.8.1)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:43:59 +00:00
CrazyMax 83fa4edf37 Merge pull request #664 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.2
chore(deps): Bump moment-timezone from 0.6.1 to 0.6.2
2026-05-28 10:41:57 +02:00
github-actions[bot] c57fc5591a chore: update generated content 2026-05-28 08:28:29 +00:00
dependabot[bot] 9c446bddcb chore(deps): Bump moment-timezone from 0.6.1 to 0.6.2
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.6.1 to 0.6.2.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.6.1...0.6.2)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:27:31 +00:00
CrazyMax 9da27ef7f4 Merge pull request #673 from docker/dependabot/npm_and_yarn/tmp-0.2.7
chore(deps): Bump tmp from 0.2.5 to 0.2.7
2026-05-28 10:24:48 +02:00
github-actions[bot] ba2f556688 chore: update generated content 2026-05-28 08:21:40 +00:00
dependabot[bot] 47ed4f4109 chore(deps): Bump tmp from 0.2.5 to 0.2.7
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.5 to 0.2.7.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.5...v0.2.7)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 08:20:41 +00:00
CrazyMax e25b2146bd Merge pull request #674 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.1.0
chore(deps): Bump crazy-max/ghaction-dump-context from 3.0.0 to 3.1.0
2026-05-28 09:57:10 +02:00
dependabot[bot] a8639b7509 chore(deps): Bump crazy-max/ghaction-dump-context from 3.0.0 to 3.1.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5d2753e7076f4568c7729971e25231f32147e2d8...4d9eeaf15dd59aa4346919ea84a84ccf514b4db8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-28 07:55:44 +00:00
CrazyMax 4e03f56500 Merge pull request #671 from docker/sec-cli/ignore-scripts-fix-20260527-193116
ci: add ignore-scripts to Node package manager config (20260527-193116)
2026-05-28 09:53:58 +02:00
securityeng-bot[bot] 620026c7c4 ci: enforce ignore-scripts policy for Node package managers 2026-05-27 20:04:39 +00:00
CrazyMax 17e943b674 Merge pull request #667 from docker/dependabot/github_actions/docker/build-push-action-7.2.0
chore(deps): Bump docker/build-push-action from 7.1.0 to 7.2.0
2026-05-26 17:30:38 +02:00
CrazyMax da0e8cb6fa Merge pull request #669 from docker/dependabot/github_actions/docker/setup-buildx-action-4.1.0
chore(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
2026-05-26 17:30:36 +02:00
CrazyMax 62878a8cd8 Merge pull request #670 from docker/dependabot/github_actions/github/codeql-action-4.36.0
chore(deps): Bump github/codeql-action from 4.35.5 to 4.36.0
2026-05-26 17:30:33 +02:00
dependabot[bot] 7fff4a866b chore(deps): Bump github/codeql-action from 4.35.5 to 4.36.0
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.5 to 4.36.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/9e0d7b8d25671d64c341c19c0152d693099fb5ba...7211b7c8077ea37d8641b6271f6a365a22a5fbfa)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.36.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 15:28:46 +00:00
dependabot[bot] 80c12fa72e chore(deps): Bump docker/build-push-action from 7.1.0 to 7.2.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/bcafcacb16a39f128d818304e6c9c0c18556b85f...f9f3042f7e2789586610d6e8b85c8f03e5195baf)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 15:27:35 +00:00
dependabot[bot] cb88e1e24e chore(deps): Bump docker/setup-buildx-action from 4.0.0 to 4.1.0
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 4.0.0 to 4.1.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/4d04d5d9486b7bd6fa91e7baf45bbb4f8b9deedd...d7f5e7f509e45cec5c76c4d5afdd7de93d0b3df5)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: 4.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 15:27:27 +00:00
CrazyMax 8904ec6ac8 Merge pull request #668 from docker/dependabot/github_actions/docker/bake-action-7.2.0
chore(deps): Bump docker/bake-action from 7.1.0 to 7.2.0
2026-05-26 17:26:12 +02:00
dependabot[bot] 133aa67758 chore(deps): Bump docker/bake-action from 7.1.0 to 7.2.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.1.0 to 7.2.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/a66e1c87e2eca0503c343edf1d208c716d54b8a8...6614cfa25eff9a0b2b2697efb0b6159e7680d584)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-26 00:56:40 +00:00
CrazyMax 80c7e94dd9 Merge pull request #613 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.80.0
chore(deps): Bump @docker/actions-toolkit from 0.79.0 to 0.90.0
2026-05-22 14:37:45 +02:00
github-actions[bot] 8e0ddab90c chore: update generated content 2026-05-22 12:36:07 +00:00
dependabot[bot] a8db14bd86 chore(deps): Bump @docker/actions-toolkit from 0.79.0 to 0.90.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.79.0 to 0.90.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.79.0...v0.90.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:35:07 +00:00
CrazyMax 63a7371ee0 Merge pull request #617 from docker/dependabot/npm_and_yarn/csv-parse-6.2.0
chore(deps): Bump csv-parse from 6.1.0 to 6.2.1
2026-05-22 14:32:06 +02:00
github-actions[bot] c6916a6cf8 chore: update generated content 2026-05-22 12:26:28 +00:00
dependabot[bot] aca9205632 chore(deps): Bump csv-parse from 6.1.0 to 6.2.1
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 6.1.0 to 6.2.1.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@6.2.1/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 6.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:25:32 +00:00
CrazyMax 9dcfe60f10 Merge pull request #629 from docker/dependabot/npm_and_yarn/handlebars-4.7.9
chore(deps): Bump handlebars from 4.7.8 to 4.7.9
2026-05-22 14:23:33 +02:00
github-actions[bot] 43dea7677c chore: update generated content 2026-05-22 12:20:24 +00:00
dependabot[bot] 7a56f5af0a chore(deps): Bump handlebars from 4.7.8 to 4.7.9
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.9
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:19:23 +00:00
CrazyMax e49e0aa5de Merge pull request #658 from docker/dependabot/npm_and_yarn/brace-expansion-5.0.6
chore(deps): Bump brace-expansion from 1.1.14 to 5.0.6
2026-05-22 14:16:38 +02:00
github-actions[bot] 97ffca02cc chore: update generated content 2026-05-22 12:14:39 +00:00
dependabot[bot] 792ab493f0 chore(deps): Bump brace-expansion from 1.1.14 to 5.0.6
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.14 to 5.0.6.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.14...v5.0.6)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:13:43 +00:00
CrazyMax 47a52a8886 Merge pull request #657 from docker/dependabot/npm_and_yarn/tar-7.5.15
chore(deps): Bump tar from 6.2.1 to 7.5.15
2026-05-22 14:11:51 +02:00
CrazyMax 30e3a5c71b Merge pull request #620 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.5.6
chore(deps): Bump fast-xml-parser from 5.4.2 to 5.8.0
2026-05-22 14:10:03 +02:00
github-actions[bot] 5677a062dd chore: update generated content 2026-05-22 12:07:22 +00:00
dependabot[bot] 27ad663c44 chore(deps): Bump fast-xml-parser from 5.4.2 to 5.8.0
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.2 to 5.8.0.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.2...v5.8.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:06:30 +00:00
CrazyMax b83758ab83 Merge pull request #614 from docker/dependabot/npm_and_yarn/undici-6.24.0
chore(deps): Bump undici from 6.23.0 to 6.25.0
2026-05-22 14:04:30 +02:00
github-actions[bot] b08aa41573 chore: update generated content 2026-05-22 12:01:11 +00:00
dependabot[bot] 1b54296ddb chore(deps): Bump undici from 6.23.0 to 6.25.0
Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.25.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.25.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.24.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 12:00:16 +00:00
CrazyMax 73ea5d3910 Merge pull request #651 from docker/dependabot/github_actions/crazy-max-dot-github-a3893cf95f
chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-05-22 13:57:53 +02:00
CrazyMax cbf5ecfb6e Merge pull request #652 from docker/dependabot/github_actions/actions/setup-node-6.4.0
chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0
2026-05-22 13:57:34 +02:00
CrazyMax 7635ada344 Merge pull request #656 from docker/dependabot/github_actions/actions/create-github-app-token-3.2.0
chore(deps): Bump actions/create-github-app-token from 3.1.1 to 3.2.0
2026-05-22 13:57:13 +02:00
CrazyMax b97a91b21a Merge pull request #659 from docker/dependabot/github_actions/github/codeql-action-4.35.5
chore(deps): Bump github/codeql-action from 4.35.2 to 4.35.5
2026-05-22 13:56:50 +02:00
CrazyMax eb7e4a1a09 Merge pull request #660 from docker/dependabot/github_actions/codecov/codecov-action-6.0.1
chore(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1
2026-05-22 13:56:30 +02:00
dependabot[bot] 87b2898f8d chore(deps): Bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.6.0 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.6.0 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-21 19:56:04 +00:00
CrazyMax 1b2e78b2f1 Merge pull request #661 from crazy-max/zizmor-fixes
ci: restrict update-dist GitHub App token scope
2026-05-21 14:57:49 +02:00
CrazyMax 0569d83a01 ci: restrict update-dist GitHub App token scope
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-21 14:26:18 +02:00
dependabot[bot] 2852e5544b chore(deps): Bump codecov/codecov-action from 6.0.0 to 6.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2...e79a6962e0d4c0c17b229090214935d2e33f8354)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 02:54:20 +00:00
dependabot[bot] b2d63e72ae chore(deps): Bump github/codeql-action from 4.35.2 to 4.35.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.2 to 4.35.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...9e0d7b8d25671d64c341c19c0152d693099fb5ba)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-19 04:34:16 +00:00
dependabot[bot] 15f2e7f938 chore(deps): Bump tar from 6.2.1 to 7.5.15
Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.1 to 7.5.15.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.15)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:40:01 +00:00
dependabot[bot] c53b86815a chore(deps): Bump actions/create-github-app-token from 3.1.1 to 3.2.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/create-github-app-token/compare/1b10c78c7865c340bc4f6099eb2f838309f1e8c3...bcd2ba49218906704ab6c1aa796996da409d3eb1)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 19:23:31 +00:00
dependabot[bot] 25b70a676c chore(deps): Bump actions/setup-node from 6.3.0 to 6.4.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 22:59:59 +00:00
CrazyMax 4f5b523467 Merge pull request #630 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.13
chore(deps): Bump brace-expansion from 1.1.12 to 1.1.14
2026-04-27 14:19:26 +02:00
github-actions[bot] fc08c1af45 chore: update generated content 2026-04-27 12:17:51 +00:00
dependabot[bot] 53adf7e0c2 chore(deps): Bump brace-expansion from 1.1.12 to 1.1.14
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.12 to 1.1.14.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.14)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 12:16:56 +00:00
Tõnis Tiigi 9725dce4ec Merge pull request #650 from crazy-max/fix-yarnlock
fix malformed yarn.lock
2026-04-27 14:14:02 +02:00
CrazyMax 1ca9d11fdb fix malformed yarn.lock
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-27 09:55:53 +02:00
CrazyMax aa5e42bc43 Merge pull request #621 from docker/dependabot/npm_and_yarn/glob-10.5.0
chore(deps): Bump glob from 10.3.15 to 10.5.0
2026-04-27 09:42:19 +02:00
CrazyMax 09c39d7e3d Merge pull request #623 from docker/dependabot/npm_and_yarn/flatted-3.4.2
chore(deps): Bump flatted from 3.3.3 to 3.4.2
2026-04-27 09:41:59 +02:00
CrazyMax b0d9a8511d Merge pull request #626 from docker/dependabot/npm_and_yarn/picomatch-4.0.4
chore(deps): Bump picomatch from 4.0.3 to 4.0.4
2026-04-27 09:41:41 +02:00
CrazyMax 0b0cf52037 Merge pull request #637 from docker/dependabot/npm_and_yarn/vite-7.3.2
chore(deps): Bump vite from 7.3.1 to 7.3.2
2026-04-27 09:41:04 +02:00
CrazyMax 84dc0051ed Merge pull request #639 from docker/dependabot/npm_and_yarn/lodash-4.18.1
chore(deps): Bump lodash from 4.17.23 to 4.18.1
2026-04-27 09:40:45 +02:00
CrazyMax 6e706bd386 Merge pull request #649 from docker/dependabot/npm_and_yarn/postcss-8.5.10
chore(deps): Bump postcss from 8.5.6 to 8.5.10
2026-04-27 09:40:26 +02:00
CrazyMax b110e1928a Merge pull request #641 from docker/dependabot/github_actions/actions/github-script-9.0.0
chore(deps): Bump actions/github-script from 8.0.0 to 9.0.0
2026-04-27 09:38:25 +02:00
CrazyMax db51f20eda Merge pull request #642 from docker/dependabot/github_actions/docker/bake-action-7.1.0
chore(deps): Bump docker/bake-action from 7.0.0 to 7.1.0
2026-04-27 09:38:08 +02:00
CrazyMax 6600503189 Merge pull request #643 from docker/dependabot/github_actions/docker/build-push-action-7.1.0
chore(deps): Bump docker/build-push-action from 7.0.0 to 7.1.0
2026-04-27 09:37:51 +02:00
CrazyMax 03027a6dec Merge pull request #645 from docker/dependabot/github_actions/github/codeql-action-4.35.2
chore(deps): Bump github/codeql-action from 4.35.1 to 4.35.2
2026-04-27 09:37:35 +02:00
CrazyMax 56e4e9c0bb Merge pull request #640 from docker/dependabot/github_actions/actions/create-github-app-token-3.1.1
chore(deps): Bump actions/create-github-app-token from 3.0.0 to 3.1.1
2026-04-27 09:37:13 +02:00
dependabot[bot] 56dca0c993 chore(deps): Bump vite from 7.3.1 to 7.3.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:43 +00:00
dependabot[bot] 194d9dfbc5 chore(deps): Bump picomatch from 4.0.3 to 4.0.4
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:30 +00:00
dependabot[bot] a39c67c6e6 chore(deps): Bump postcss from 8.5.6 to 8.5.10
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:15 +00:00
Tõnis Tiigi 59ccfb174a Merge pull request #648 from crazy-max/esbuild
replace ncc with esbuild for action bundling
2026-04-24 10:39:23 -07:00
CrazyMax 710075a097 replace ncc with esbuild for action bundling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-24 11:12:40 +02:00
dependabot[bot] da96386992 chore(deps): Bump github/codeql-action from 4.35.1 to 4.35.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c10b8064de6f491fea524254123dbe5e09572f13...95e58e9a2cdfd71adc6e0353d5c52f41a045d225)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 19:23:46 +00:00
Tõnis Tiigi deaa0dee56 Merge pull request #644 from crazy-max/fix-zizmor
ci(zizmor): update rules
2026-04-15 14:25:48 -07:00
CrazyMax 0865878ea7 ci(zizmor): update rules
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-15 16:01:58 +02:00
dependabot[bot] 264f94771d chore(deps): Bump docker/build-push-action from 7.0.0 to 7.1.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/d08e5c354a6adb9ed34480a06d141179aa583294...bcafcacb16a39f128d818304e6c9c0c18556b85f)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:25:05 +00:00
dependabot[bot] a78c5dda00 chore(deps): Bump docker/bake-action from 7.0.0 to 7.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/82490499d2e5613fcead7e128237ef0b0ea210f7...a66e1c87e2eca0503c343edf1d208c716d54b8a8)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:24:53 +00:00
dependabot[bot] c3bf319c22 chore(deps): Bump actions/github-script from 8.0.0 to 9.0.0
Bumps [actions/github-script](https://github.com/actions/github-script) from 8.0.0 to 9.0.0.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:23:26 +00:00
dependabot[bot] dd1f6cb7c8 chore(deps): Bump actions/create-github-app-token from 3.0.0 to 3.1.1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/f8d387b68d61c58ab83c6c016672934102569859...1b10c78c7865c340bc4f6099eb2f838309f1e8c3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 20:23:20 +00:00
dependabot[bot] 42970c56ae chore(deps): Bump lodash from 4.17.23 to 4.18.1
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 08:53:54 +00:00
CrazyMax a7807070e6 Merge pull request #638 from docker/dependabot/github_actions/crazy-max-dot-github-f0991e81fd
chore(deps): Bump the crazy-max-dot-github group with 2 updates
2026-04-09 10:22:09 +02:00
dependabot[bot] 445fddb648 chore(deps): Bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-08 19:22:42 +00:00
CrazyMax c3b064c6d7 Merge pull request #636 from crazy-max/fix-update-dist
ci: stop update-dist reruns after generated dist pushes
2026-04-01 15:08:09 +02:00
CrazyMax 4254c7f183 ci: stop update-dist reruns after generated dist pushes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-01 13:11:03 +02:00
CrazyMax 54262e8fce Merge pull request #634 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0
chore(deps): Bump codecov/codecov-action from 5.5.4 to 6.0.0
2026-03-31 09:30:49 +02:00
CrazyMax 65e2f1ec2d Merge pull request #635 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.0.0
chore(deps): Bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
2026-03-31 09:30:33 +02:00
dependabot[bot] f612a659e4 chore(deps): Bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5355a8e5e6ac5a302e746a1c4b7747a0393863c8...5d2753e7076f4568c7729971e25231f32147e2d8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:52:31 +00:00
dependabot[bot] 1077d4b182 chore(deps): Bump codecov/codecov-action from 5.5.4 to 6.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.4 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/75cd11691c0faa626561e295848008c8a7dddffe...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:52:14 +00:00
Tõnis Tiigi 12e32e61d3 Merge pull request #632 from crazy-max/zizmor
ci: zizmor workflow
2026-03-30 18:49:57 -07:00
CrazyMax 389e17934e fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:50:52 +02:00
CrazyMax 23d4d7612d ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:49:18 +02:00
Tõnis Tiigi 4378dc6be7 Merge pull request #625 from crazy-max/update-crazy-max-actions
ci: bump crazy-max/.github to 1.1.0
2026-03-25 10:43:37 -07:00
CrazyMax 6884e07af7 ci: bump crazy-max/.github to 1.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-25 12:37:50 +01:00
dependabot[bot] c8a967b196 chore(deps): Bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 15:59:28 +00:00
CrazyMax 1107934206 Merge pull request #622 from crazy-max/codeql
ci: enable SAST scanning with CodeQL
2026-03-20 16:57:23 +01:00
CrazyMax 50e32640d5 ci: enable SAST scanning with CodeQL
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-20 11:51:51 +01:00
dependabot[bot] f5764bfd66 chore(deps): Bump glob from 10.3.15 to 10.5.0
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.15 to 10.5.0.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.3.15...v10.5.0)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 01:28:27 +00:00
CrazyMax d24d429af2 Merge pull request #619 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.1
chore(deps): Bump moment-timezone from 0.6.0 to 0.6.1
2026-03-18 23:06:56 +01:00
github-actions[bot] d3cc762016 chore: update generated content 2026-03-18 19:24:41 +00:00
dependabot[bot] e724a31677 chore(deps): Bump moment-timezone from 0.6.0 to 0.6.1
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.6.0 to 0.6.1.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.6.0...0.6.1)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-18 19:23:34 +00:00
Tõnis Tiigi dde548f160 Merge pull request #608 from crazy-max/update-readme
readme: update to v6
2026-03-16 17:57:09 -07:00
Tõnis Tiigi b13d25e5fc Merge pull request #609 from docker/dependabot/github_actions/docker/bake-action-7
chore(deps): Bump docker/bake-action from 6 to 7
2026-03-09 12:35:19 -07:00
CrazyMax f58488e265 Merge pull request #612 from docker/dependabot/github_actions/docker/build-push-action-7
chore(deps): Bump docker/build-push-action from 6 to 7
2026-03-09 16:25:29 +01:00
CrazyMax 414af88e96 ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-09 16:22:40 +01:00
dependabot[bot] 2c2d4fb584 chore(deps): Bump docker/build-push-action from 6 to 7
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 19:22:22 +00:00
CrazyMax 85e876bd3a Merge pull request #610 from docker/dependabot/github_actions/docker/setup-buildx-action-4
chore(deps): Bump docker/setup-buildx-action from 3 to 4
2026-03-06 09:54:50 +01:00
CrazyMax 0b0903be56 readme: update to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 22:25:27 +01:00
dependabot[bot] e2d26b25bd chore(deps): Bump docker/setup-buildx-action from 3 to 4
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 19:22:33 +00:00
dependabot[bot] a26abf68b2 chore(deps): Bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 19:22:30 +00:00
Tõnis Tiigi 030e881283 Merge pull request #607 from crazy-max/allow-comments
preserve comments in list input values with commentNoInfix
2026-03-05 08:21:07 -08:00
CrazyMax 4b529ac4e5 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 17:02:53 +01:00
CrazyMax b0082b33bc preserve comments in list input values with commentNoInfix
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 17:02:53 +01:00
CrazyMax 7b19fec715 Merge pull request #604 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.77.0
chore(deps): Bump @docker/actions-toolkit from 0.68.0 to 0.79.0
2026-03-05 17:00:40 +01:00
CrazyMax 281c9b0599 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:24:56 +01:00
CrazyMax 5f43b3b4f4 test: stabilize github mock setup since ESM
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:23:56 +01:00
CrazyMax 9d53276575 github class moved since actions-toolkit v0.77.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:23:56 +01:00
dependabot[bot] eaa3d3973e chore(deps): Bump @docker/actions-toolkit from 0.68.0 to 0.77.0
Dependabot couldn't find the original pull request head commit, cdad825a9dc17122e84ab473271a55d7b8b3da06.
2026-03-05 08:21:31 +00:00
Tõnis Tiigi 6b695f7a8a Merge pull request #605 from crazy-max/node24
node 24 as default runtime
2026-03-04 17:36:23 -08:00
CrazyMax a1afadcb28 node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 12:40:47 +01:00
CrazyMax c769610e5c Merge pull request #603 from docker/dependabot/npm_and_yarn/semver-7.7.4
chore(deps): Bump semver from 7.7.3 to 7.7.4
2026-03-04 10:52:19 +01:00
github-actions[bot] f0f930b111 chore: update generated content 2026-03-04 09:19:30 +00:00
dependabot[bot] f4771c2b1f chore(deps): Bump semver from 7.7.3 to 7.7.4
Bumps [semver](https://github.com/npm/node-semver) from 7.7.3 to 7.7.4.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.3...v7.7.4)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.4
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-04 09:18:03 +00:00
CrazyMax 538feedf47 Merge pull request #597 from docker/dependabot/npm_and_yarn/actions/github-9.0.0
chore(deps): Bump @actions/github from 6.0.1 to 9.0.0
2026-03-04 10:07:45 +01:00
CrazyMax 2c6e6d9d3b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 16:00:55 +01:00
CrazyMax 8fd476a5a7 replace actions/github/lib/context deep imports with public typing
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 15:59:05 +01:00
dependabot[bot] a33d385eb1 chore(deps): Bump @actions/github from 6.0.1 to 9.0.0
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 6.0.1 to 9.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:57:21 +00:00
CrazyMax cb50be4508 Merge pull request #599 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
chore(deps): Bump @actions/core from 1.11.1 to 3.0.0
2026-03-03 14:55:29 +01:00
github-actions[bot] 8fd95d6f08 chore: update generated content 2026-03-03 13:47:05 +00:00
dependabot[bot] a4e219a90d chore(deps): Bump @actions/core from 1.11.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:45:52 +00:00
CrazyMax 76c27c49eb Merge pull request #600 from docker/dependabot/npm_and_yarn/isaacs/brace-expansion-5.0.1
chore(deps): Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
2026-03-03 14:43:55 +01:00
github-actions[bot] 1ea5d4f1b0 chore: update generated content 2026-03-03 13:42:24 +00:00
dependabot[bot] 91c3fe061e chore(deps): Bump @isaacs/brace-expansion from 5.0.0 to 5.0.1
Bumps @isaacs/brace-expansion from 5.0.0 to 5.0.1.

---
updated-dependencies:
- dependency-name: "@isaacs/brace-expansion"
  dependency-version: 5.0.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:41:02 +00:00
CrazyMax f332e46fa5 Merge pull request #588 from docker/dependabot/npm_and_yarn/lodash-4.17.23
chore(deps): Bump lodash from 4.17.21 to 4.17.23
2026-03-03 14:38:56 +01:00
CrazyMax 51b601f22d Merge pull request #602 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-03 14:38:00 +01:00
CrazyMax 8480620af8 test: use github mock instead of fixture for context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:44:39 +01:00
CrazyMax 8e71445576 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:44:39 +01:00
CrazyMax f57c915b64 dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:44:38 +01:00
CrazyMax d92a8d0b86 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 15:58:17 +01:00
CrazyMax cf6a6ce0f7 switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 15:57:06 +01:00
CrazyMax d5be006250 switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 15:48:21 +01:00
CrazyMax a60f0f62b5 Merge pull request #598 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 21:27:37 +01:00
CrazyMax 10f4f1aaa5 ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:25:39 +01:00
dependabot[bot] 70c914a6f8 chore(deps): Bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 00:40:49 +00:00
Tõnis Tiigi ed95091677 Merge pull request #579 from crazy-max/update-dev-deps
update dev dependencies
2026-01-07 16:39:57 -08:00
CrazyMax 57670b6268 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:09:10 +01:00
CrazyMax d636a41a2f update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:43 +01:00
CrazyMax 9c747a7ed1 fix lint issues
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:42 +01:00
CrazyMax c98baa7757 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 17:07:36 +01:00
CrazyMax ad1f8b1f99 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-05 16:55:49 +01:00
CrazyMax f0a4bc3c2d Merge pull request #574 from osman-butt/update-checkout-v6
docs: update checkout action to v6 in README
2026-01-05 16:45:15 +01:00
osman-butt 9b6cf6ec37 docs: update checkout action to v6 in README
Signed-off-by: osman-butt <butt.osman@gmail.com>
2025-12-10 01:50:17 +01:00
CrazyMax c299e40c65 Merge pull request #569 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.68.0
chore(deps): Bump @docker/actions-toolkit from 0.67.0 to 0.68.0
2025-11-27 13:36:24 +01:00
CrazyMax f015d7914a chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-27 12:42:57 +01:00
dependabot[bot] 121bcc2ca8 chore(deps): Bump @docker/actions-toolkit from 0.67.0 to 0.68.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.67.0 to 0.68.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.67.0...v0.68.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.68.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-27 11:37:44 +00:00
CrazyMax f7b6bf41b9 Merge pull request #564 from docker/dependabot/npm_and_yarn/js-yaml-3.14.2
chore(deps): Bump js-yaml from 3.14.1 to 3.14.2
2025-11-27 12:35:12 +01:00
CrazyMax 0b95c6b860 Merge pull request #565 from docker/dependabot/github_actions/actions/checkout-6
chore(deps): Bump actions/checkout from 5 to 6
2025-11-27 12:34:57 +01:00
CrazyMax 17f70d7525 Merge pull request #568 from motoki317/docs/fix-to-24h-schedule-pattern
docs(README): Fix date format from 12h to 24h in schedule pattern
2025-11-27 12:34:33 +01:00
motoki317 afd7e6d7bb docs(README): Fix date format from 12h to 24h in schedule pattern
hh represents 12h format from 01 to 12 which is probably not suitable
for date tags.
The pattern example in the table below uses the 24h format HH, so this
makes the document consistent.

Signed-off-by: motoki317 <motoki317@gmail.com>
2025-11-27 12:57:49 +09:00
dependabot[bot] 602aff8e11 chore(deps): Bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-20 19:01:45 +00:00
dependabot[bot] aecb1a49a5 chore(deps): Bump js-yaml from 3.14.1 to 3.14.2
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 3.14.1 to 3.14.2.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/3.14.1...3.14.2)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 3.14.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-19 05:05:12 +00:00
CrazyMax 8d8c7c12f7 Merge pull request #559 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.67.0
chore(deps): Bump @docker/actions-toolkit from 0.66.0 to 0.67.0
2025-11-05 16:15:03 +01:00
CrazyMax 15bd03a177 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-05 15:55:58 +01:00
dependabot[bot] fdba5868fb chore(deps): Bump @docker/actions-toolkit from 0.66.0 to 0.67.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.66.0 to 0.67.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.66.0...v0.67.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.67.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-05 13:53:44 +00:00
CrazyMax 318604b99e Merge pull request #539 from docker/dependabot/npm_and_yarn/babel/runtime-corejs3-7.28.2
chore(deps): Bump @babel/runtime-corejs3 from 7.14.7 to 7.28.2
2025-11-04 16:31:36 +01:00
CrazyMax 49c0a55d55 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 16:28:52 +01:00
CrazyMax 486229e3f4 Merge pull request #558 from crazy-max/fix-dist
chore: fix dist
2025-11-04 16:25:53 +01:00
CrazyMax f02aeab1ee chore: fix dist
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 16:22:29 +01:00
dependabot[bot] beafb97305 chore(deps): Bump @babel/runtime-corejs3 from 7.14.7 to 7.28.2
Bumps [@babel/runtime-corejs3](https://github.com/babel/babel/tree/HEAD/packages/babel-runtime-corejs3) from 7.14.7 to 7.28.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.28.2/packages/babel-runtime-corejs3)

---
updated-dependencies:
- dependency-name: "@babel/runtime-corejs3"
  dependency-version: 7.28.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 15:16:45 +00:00
CrazyMax 3ff819c6c5 Merge pull request #557 from crazy-max/yarn-4.9.2
update yarn to 4.9.2
2025-11-04 16:14:33 +01:00
CrazyMax 05838e9769 update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 16:05:10 +01:00
CrazyMax 43fa4ac0d3 Merge pull request #556 from crazy-max/dev-deps
update dev dependencies
2025-11-04 15:27:11 +01:00
CrazyMax b3120f2f18 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:22:53 +01:00
CrazyMax 1f469d21ee update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:21:47 +01:00
CrazyMax b0a2bcfe7b Merge pull request #555 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.66.0
chore(deps): Bump @docker/actions-toolkit from 0.62.1 to 0.66.0
2025-11-04 15:17:27 +01:00
CrazyMax 14973dfd4b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:15:22 +01:00
dependabot[bot] dae123c2bf chore(deps): Bump @docker/actions-toolkit from 0.62.1 to 0.66.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.66.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.66.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.66.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 14:10:29 +00:00
CrazyMax fdb90a51ae Merge pull request #554 from docker/dependabot/npm_and_yarn/multi-c9330d5d78
chore(deps): Bump semver and @types/semver
2025-11-04 15:08:10 +01:00
CrazyMax e5afe339d8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 15:05:58 +01:00
dependabot[bot] 17e37c2a42 chore(deps): Bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.7.2 to 7.7.3
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.2...v7.7.3)

Updates `@types/semver` from 7.7.0 to 7.7.1
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/semver"
  dependency-version: 7.7.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 14:04:06 +00:00
CrazyMax aa0be5b84c Merge pull request #532 from docker/dependabot/npm_and_yarn/csv-parse-6.1.0
chore(deps): Bump csv-parse from 5.6.0 to 6.1.0
2025-11-04 15:01:36 +01:00
CrazyMax 136a4a23fe chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:58:59 +01:00
CrazyMax 5f9eb12581 tag: fix value type
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:58:00 +01:00
CrazyMax be25a4ce07 @types/csv-parse not needed anymore
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:57:39 +01:00
dependabot[bot] eced061233 chore(deps): Bump csv-parse from 5.6.0 to 6.1.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.6.0 to 6.1.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@6.1.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-version: 6.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:53:34 +00:00
CrazyMax e7f20f98b1 Merge pull request #541 from docker/dependabot/npm_and_yarn/tmp-0.2.4
chore(deps): Bump tmp from 0.2.3 to 0.2.5
2025-11-04 14:51:27 +01:00
CrazyMax 95bdd37b1f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:49:05 +01:00
dependabot[bot] 3fb4efdf45 chore(deps): Bump tmp from 0.2.3 to 0.2.4
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4.
- [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md)
- [Commits](https://github.com/raszi/node-tmp/compare/v0.2.3...v0.2.4)

---
updated-dependencies:
- dependency-name: tmp
  dependency-version: 0.2.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:47:59 +00:00
CrazyMax f31cd74edd Merge pull request #540 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.12
chore(deps): Bump brace-expansion from 1.1.11 to 1.1.12
2025-11-04 14:45:31 +01:00
CrazyMax 840a42f4cf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:41:33 +01:00
dependabot[bot] ada8aa8ca0 chore(deps): Bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-04 13:40:16 +00:00
CrazyMax 3fa6bb33cb Merge pull request #550 from osman-butt/docs/update-checkout-v5
docs: update checkout action to v5 in README examples
2025-11-04 14:33:31 +01:00
osman-butt 8aa9733355 docs: update checkout action to v5 in README
Signed-off-by: osman-butt <butt.osman@gmail.com>
2025-11-04 14:25:27 +01:00
CrazyMax d87caff40c Merge pull request #549 from docker/dependabot/github_actions/actions/github-script-8
chore(deps): Bump actions/github-script from 7 to 8
2025-11-04 14:23:12 +01:00
CrazyMax 83e4951424 Merge pull request #553 from crazy-max/tag-names
tag-names output to return tag names without image base name
2025-11-04 14:22:33 +01:00
CrazyMax 9efc8723fe chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:14:12 +01:00
CrazyMax ec2c9a30cf tag-names output to return tag names without image base name
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-04 14:14:11 +01:00
dependabot[bot] e427fa1e40 chore(deps): Bump actions/github-script from 7 to 8
Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-04 19:01:57 +00:00
CrazyMax 032a4b3bda Merge pull request #544 from docker/dependabot/github_actions/actions/checkout-5
chore(deps): Bump actions/checkout from 4 to 5
2025-08-20 14:27:56 +02:00
dependabot[bot] 06e11bf926 chore(deps): Bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 02:15:24 +00:00
CrazyMax c1e51972af Merge pull request #537 from crazy-max/pep440-match
allow to match part of the git tag or value for pep440 type
2025-08-01 10:56:28 +02:00
CrazyMax 89dd65a569 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 10:53:35 +02:00
CrazyMax 699ee45cf1 allow to match part of the git tag or value for pep440 type
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-01 10:52:31 +02:00
CrazyMax e0542a6360 Merge pull request #536 from crazy-max/semver-match
allow to match part of the git tag or value for semver type
2025-08-01 10:41:39 +02:00
CrazyMax b7facdfcef chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 18:15:00 +02:00
CrazyMax 81c60dfb8b allow to match part of the git tag or value for semver type
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 18:13:25 +02:00
CrazyMax de1119515d Merge pull request #535 from crazy-max/not_def_branch
is_not_default_branch global expression
2025-07-31 15:22:34 +02:00
CrazyMax 2f9c64b1b1 Merge pull request #533 from docker/dependabot/npm_and_yarn/form-data-2.5.5
chore(deps): Bump form-data from 2.5.1 to 2.5.5
2025-07-31 15:21:20 +02:00
CrazyMax 510f746975 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 15:19:52 +02:00
CrazyMax 2bc3f4e0f1 is_not_default_branch global expression
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-07-31 15:18:21 +02:00
dependabot[bot] f0cfcb57f6 chore(deps): Bump form-data from 2.5.1 to 2.5.5
Bumps [form-data](https://github.com/form-data/form-data) from 2.5.1 to 2.5.5.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/v2.5.5/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v2.5.1...v2.5.5)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:17:35 +00:00
CrazyMax be19121bfd Merge pull request #528 from crazy-max/update-readme
readme: show additional case for semver
2025-06-25 17:03:18 +02:00
CrazyMax c1eb0314a3 readme: show additional case for semver
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-25 16:56:20 +02:00
CrazyMax b798ed8388 Merge pull request #526 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
chore(deps): Bump @docker/actions-toolkit from 0.56.0 to 0.62.1
2025-06-13 16:17:57 +02:00
CrazyMax 07d42e0b4f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 16:11:25 +02:00
dependabot[bot] 495d5ce528 chore(deps): Bump @docker/actions-toolkit from 0.56.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.56.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.56.0...v0.62.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 14:09:35 +00:00
CrazyMax 54b10fa1b6 Merge pull request #525 from docker/dependabot/npm_and_yarn/moment-timezone-0.6.0
chore(deps): Bump moment-timezone from 0.5.47 to 0.6.0
2025-06-13 16:07:29 +02:00
CrazyMax c49a1eee09 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 16:01:14 +02:00
dependabot[bot] f37a3b6e88 chore(deps): Bump moment-timezone from 0.5.47 to 0.6.0
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.47 to 0.6.0.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.47...0.6.0)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-version: 0.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 13:40:20 +00:00
CrazyMax 85eb7c9324 Merge pull request #524 from docker/dependabot/npm_and_yarn/multi-1172310dfd
chore(deps): Bump semver and @types/semver
2025-06-13 15:38:19 +02:00
CrazyMax a1c21022b0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 15:32:30 +02:00
dependabot[bot] 6547919405 chore(deps): Bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.7.1 to 7.7.2
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.7.1...v7.7.2)

Updates `@types/semver` from 7.5.8 to 7.7.0
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-version: 7.7.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: "@types/semver"
  dependency-version: 7.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 13:20:36 +00:00
CrazyMax 2e80e58e70 Merge pull request #523 from docker/dependabot/npm_and_yarn/actions/github-6.0.1
chore(deps): Bump @actions/github from 6.0.0 to 6.0.1
2025-06-13 15:18:33 +02:00
CrazyMax a51254e5fa chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 15:16:17 +02:00
dependabot[bot] dee3324b00 chore(deps): Bump @actions/github from 6.0.0 to 6.0.1
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 6.0.0 to 6.0.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-07 19:45:38 +00:00
CrazyMax 418e4b98bf Merge pull request #520 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:10:09 +02:00
CrazyMax e8ece87dc8 pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:17:36 +02:00
CrazyMax 12d9b9a905 Merge pull request #519 from crazy-max/fix-codecov
ci: fix missing source for codecov
2025-04-22 14:37:08 +02:00
CrazyMax c88acc31ec ci: fix missing source for codecov
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-22 14:29:47 +02:00
CrazyMax 902fa8ec7d Merge pull request #504 from docker/dependabot/npm_and_yarn/semver-7.7.1
chore(deps): Bump semver from 7.6.3 to 7.7.1
2025-02-26 16:12:33 +01:00
CrazyMax c30b9c27e6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 16:08:18 +01:00
dependabot[bot] 0698804aab chore(deps): Bump semver from 7.6.3 to 7.7.1
Bumps [semver](https://github.com/npm/node-semver) from 7.6.3 to 7.7.1.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.3...v7.7.1)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:56:20 +00:00
CrazyMax bb3eecaaf8 Merge pull request #501 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.47
chore(deps): Bump moment-timezone from 0.5.46 to 0.5.47
2025-02-26 15:53:52 +01:00
CrazyMax 94a839cf6a chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:34:33 +01:00
CrazyMax ecd51a0f6a Merge pull request #509 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.56.0
chore(deps): Bump @docker/actions-toolkit from 0.55.0 to 0.56.0
2025-02-26 15:29:14 +01:00
dependabot[bot] a85b1dbfe6 chore(deps): Bump @docker/actions-toolkit from 0.55.0 to 0.56.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.55.0 to 0.56.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.55.0...v0.56.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:25:36 +00:00
dependabot[bot] 5a76a0efcf chore(deps): Bump moment-timezone from 0.5.46 to 0.5.47
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.46 to 0.5.47.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.46...0.5.47)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:25:02 +00:00
CrazyMax 1cc4a9856a Merge pull request #482 from docker/dependabot/npm_and_yarn/csv-parse-5.6.0
chore(deps): Bump csv-parse from 5.5.6 to 5.6.0
2025-02-26 15:22:56 +01:00
CrazyMax d84de1e022 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:14:04 +01:00
dependabot[bot] 092f0474e9 chore(deps): Bump csv-parse from 5.5.6 to 5.6.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.6 to 5.6.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.6.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:12:00 +00:00
CrazyMax 8b68062745 Merge pull request #507 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.55.0
chore(deps): Bump @docker/actions-toolkit from 0.44.0 to 0.55.0
2025-02-26 15:09:39 +01:00
CrazyMax 0eaca2ee4e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:06:28 +01:00
CrazyMax db44dfae7a Merge pull request #508 from crazy-max/typos
Fix typos
2025-02-26 15:01:46 +01:00
Igor Zubkov 2bd8a81e96 Fix typos
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 14:46:39 +01:00
dependabot[bot] 10ff2155d8 chore(deps): Bump @docker/actions-toolkit from 0.44.0 to 0.55.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.44.0 to 0.55.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.44.0...v0.55.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 13:46:33 +00:00
CrazyMax a1a78f1e24 Merge pull request #506 from Yikun/patch-1
Add pep440 to Latest tag list
2025-02-26 14:43:18 +01:00
CrazyMax 95438bc6e5 Merge pull request #497 from omus/cv/output-env
Support disabling `DOCKER_METADATA_OUTPUT_*` environment variables
2025-02-26 14:37:22 +01:00
CrazyMax 0e4a06e6a2 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 14:33:12 +01:00
CrazyMax a550435c60 use Util.parseBool to parse env
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 14:33:11 +01:00
Curtis Vogt b539e14bf6 Add DOCKER_METADATA_SET_OUTPUT_ENV
Signed-off-by: Curtis Vogt <curtis.vogt@gmail.com>
2025-02-26 14:21:45 +01:00
Yikun Jiang d931b83008 Update README.md
Signed-off-by: Yikun Jiang <yikunkero@gmail.com>
2025-02-16 02:23:35 +08:00
CrazyMax 8e1d5461f0 Merge pull request #494 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:54:58 +01:00
CrazyMax 2af3007824 update build-push-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 12:48:06 +01:00
CrazyMax 0d820067b8 update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 12:48:06 +01:00
Tõnis Tiigi 906ecf0fc0 Merge pull request #489 from crazy-max/labels-template
global expressions support for labels and annotations
2024-12-12 10:28:33 -08:00
CrazyMax f78c299c14 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-09 12:32:17 +01:00
CrazyMax 87ff116aea global expressions support for labels and annotations
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-09 12:29:03 +01:00
CrazyMax b53be03109 Merge pull request #483 from crazy-max/update-readme
readme: update bake-action
2024-11-25 16:53:23 +01:00
CrazyMax 3da9c47fb9 remove UPGRADE.md
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-22 17:00:49 +01:00
CrazyMax f5d655ce8b readme: update bake-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-22 17:00:28 +01:00
CrazyMax 369eb591f4 Merge pull request #480 from crazy-max/back-to-sha-7
back to commit sha length of 7
2024-11-19 18:26:39 +01:00
CrazyMax 7d870ce854 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 18:24:29 +01:00
CrazyMax e44a9cd788 back to commit sha length of 7
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 18:24:29 +01:00
CrazyMax 8cb0002d6a Merge pull request #478 from crazy-max/commit-date-request
commiter_date: fix github api request fallback
2024-11-19 17:54:49 +01:00
CrazyMax e01ddd3e3c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 17:22:11 +01:00
CrazyMax 861d98a3bd commiter_date: fix github api request fallback
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 17:22:11 +01:00
CrazyMax 359e915ab3 Merge pull request #475 from crazy-max/commit-date-changes
commit_date: code cleanup and readme updates
2024-11-19 15:51:51 +01:00
CrazyMax 0c395ebe62 commit_date: code cleanup and readme updates
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-19 15:48:18 +01:00
CrazyMax 115662203e Merge pull request #474 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.5
chore(deps): Bump cross-spawn from 7.0.3 to 7.0.5
2024-11-18 15:13:28 +01:00
dependabot[bot] 95ea8d0c40 chore(deps): Bump cross-spawn from 7.0.3 to 7.0.5
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.5.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.5)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 13:45:03 +00:00
CrazyMax a4c10ad2ed Merge pull request #473 from docker/dependabot/github_actions/codecov/codecov-action-5
chore(deps): Bump codecov/codecov-action from 4 to 5
2024-11-18 14:43:11 +01:00
CrazyMax c85c22ab59 Merge pull request #471 from trim21/commit-date
feat: add variable `commit_date`
2024-11-18 14:41:10 +01:00
Trim21 526d40319b feat: add variable commit_date
Signed-off-by: Trim21 <trim21.me@gmail.com>
2024-11-17 01:04:19 +08:00
dependabot[bot] 86622a92ee chore(deps): Bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-14 19:06:18 +00:00
CrazyMax 44d81d6d2a Merge pull request #472 from crazy-max/ci-context
ci: context job
2024-11-14 08:43:40 +01:00
CrazyMax 9aaeb628e0 ci: context job
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-14 08:36:54 +01:00
CrazyMax 32323e53fe Merge pull request #470 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.44.0
chore(deps): Bump @docker/actions-toolkit from 0.35.0 to 0.44.0
2024-11-13 14:02:33 +01:00
CrazyMax 3d8d1d9406 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-11-13 13:46:36 +01:00
dependabot[bot] 1b250aecdc chore(deps): Bump @docker/actions-toolkit from 0.35.0 to 0.44.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.44.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.44.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-13 12:44:55 +00:00
CrazyMax bd26c982ee Merge pull request #460 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
chore(deps): Bump @actions/core from 1.10.1 to 1.11.1
2024-11-10 21:36:36 +01:00
CrazyMax f574002aaf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 11:25:58 +01:00
dependabot[bot] 30c2f0a1f0 chore(deps): Bump @actions/core from 1.10.1 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 10:22:02 +00:00
CrazyMax 0de3687b53 Merge pull request #459 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.46
chore(deps): Bump moment-timezone from 0.5.45 to 0.5.46
2024-10-31 11:20:39 +01:00
CrazyMax 3229e62531 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 11:16:28 +01:00
dependabot[bot] f829da7245 chore(deps): Bump moment-timezone from 0.5.45 to 0.5.46
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.45 to 0.5.46.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.45...0.5.46)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-31 10:10:31 +00:00
CrazyMax 9b90a2e882 Merge pull request #467 from crazy-max/increase-short-sha-size
increase short commit hash length to 12 for uniqueness
2024-10-31 11:05:50 +01:00
CrazyMax aa662cf9eb chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 10:45:42 +01:00
CrazyMax c6cb763bee DOCKER_METADATA_SHORT_SHA_LENGTH env var to customize short commit SHA length
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 10:45:41 +01:00
CrazyMax bb9c6dd583 increase short commit hash length to 12 for uniqueness
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-31 10:11:17 +01:00
CrazyMax d31acd5065 Merge pull request #464 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:40:50 +02:00
CrazyMax 6df88e4e75 ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:21:03 +02:00
CrazyMax 70b2cdc648 Merge pull request #454 from docker/dependabot/npm_and_yarn/path-to-regexp-6.3.0
chore(deps): Bump path-to-regexp from 6.2.2 to 6.3.0
2024-09-12 22:41:20 +02:00
dependabot[bot] 1a52488bd8 chore(deps): Bump path-to-regexp from 6.2.2 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 19:22:56 +00:00
CrazyMax 60a0d343a0 Merge pull request #441 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
chore(deps): Bump @docker/actions-toolkit from 0.23.0 to 0.35.0
2024-07-23 11:04:00 +02:00
CrazyMax b3bc5a6d84 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-23 10:48:22 +02:00
CrazyMax e6e95c28a4 chore: move func
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-23 10:44:25 +02:00
dependabot[bot] 9ec63a7555 chore(deps): Bump @docker/actions-toolkit from 0.23.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 08:39:57 +00:00
CrazyMax 6970301b80 Merge pull request #440 from docker/dependabot/npm_and_yarn/semver-7.6.3
chore(deps): Bump semver from 7.6.2 to 7.6.3
2024-07-23 10:35:12 +02:00
CrazyMax d155f767a3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-23 10:31:56 +02:00
dependabot[bot] b5b2c1dec6 chore(deps): Bump semver from 7.6.2 to 7.6.3
Bumps [semver](https://github.com/npm/node-semver) from 7.6.2 to 7.6.3.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.2...v7.6.3)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-17 19:38:08 +00:00
CrazyMax a64d0487d7 Merge pull request #424 from docker/dependabot/npm_and_yarn/braces-3.0.3
chore(deps): Bump braces from 3.0.2 to 3.0.3
2024-06-29 14:09:54 +02:00
CrazyMax 68e4cac93d Merge pull request #426 from docker/dependabot/github_actions/docker/build-push-action-6
chore(deps): Bump docker/build-push-action from 5 to 6
2024-06-29 14:09:41 +02:00
CrazyMax 7ba3606742 Merge pull request #425 from docker/dependabot/github_actions/docker/bake-action-5
chore(deps): Bump docker/bake-action from 4 to 5
2024-06-29 14:09:28 +02:00
dependabot[bot] 2331fdf258 chore(deps): Bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 19:28:50 +00:00
dependabot[bot] 24ce540669 chore(deps): Bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-17 19:28:46 +00:00
dependabot[bot] d729db4f91 chore(deps): Bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 15:05:34 +00:00
CrazyMax f7b4ed1238 Merge pull request #415 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 13:02:46 +02:00
CrazyMax 33c4e25305 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:33:21 +02:00
CrazyMax b83177b368 chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:32:06 +02:00
CrazyMax 839b70f9d5 Merge pull request #412 from docker/dependabot/npm_and_yarn/csv-parse-5.5.6
chore(deps): Bump csv-parse from 5.5.5 to 5.5.6
2024-05-15 12:27:22 +02:00
CrazyMax dbacb9a831 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:24:58 +02:00
dependabot[bot] 247cc9691a chore(deps): Bump csv-parse from 5.5.5 to 5.5.6
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.5 to 5.5.6.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.6/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 10:23:02 +00:00
CrazyMax 4c92c35ca9 Merge pull request #411 from docker/dependabot/npm_and_yarn/semver-7.6.2
chore(deps): Bump semver from 7.6.0 to 7.6.2
2024-05-15 12:22:05 +02:00
CrazyMax 9ca1efb941 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:20:02 +02:00
dependabot[bot] 0170173c39 chore(deps): Bump semver from 7.6.0 to 7.6.2
Bumps [semver](https://github.com/npm/node-semver) from 7.6.0 to 7.6.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.6.0...v7.6.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 10:08:12 +00:00
CrazyMax dab39f1537 Merge pull request #413 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
chore(deps): Bump @docker/actions-toolkit from 0.20.0 to 0.23.0
2024-05-15 12:07:13 +02:00
CrazyMax f402fd6ae4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 11:31:16 +02:00
dependabot[bot] b0bbce7f66 chore(deps): Bump @docker/actions-toolkit from 0.20.0 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.20.0 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.20.0...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-14 20:17:26 +00:00
CrazyMax 2ee3d3070b Merge pull request #408 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 12:04:33 +02:00
CrazyMax 6e3a986a06 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:47:24 +02:00
CrazyMax 4fde7ad49c chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:46:34 +02:00
CrazyMax 24b670ad98 update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 10:45:56 +02:00
CrazyMax 1294d94f8e Merge pull request #402 from docker/dependabot/npm_and_yarn/undici-5.28.4
chore(deps): Bump undici from 5.28.3 to 5.28.4
2024-04-11 16:26:21 +02:00
CrazyMax 4ab8e580e1 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-11 15:37:46 +02:00
dependabot[bot] 3617daf484 chore(deps): Bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 12:33:01 +00:00
CrazyMax b5cd5676d4 Merge pull request #400 from docker/dependabot/npm_and_yarn/multi-ad9948e606
chore(deps): Bump semver and @types/semver
2024-04-11 14:31:41 +02:00
CrazyMax 204ddf0626 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-11 14:20:02 +02:00
dependabot[bot] 588ab464f7 chore(deps): Bump semver and @types/semver
Bumps [semver](https://github.com/npm/node-semver) and [@types/semver](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/semver). These dependencies needed to be updated together.

Updates `semver` from 7.5.4 to 7.6.0
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.4...v7.6.0)

Updates `@types/semver` from 7.5.1 to 7.5.8
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/semver)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: "@types/semver"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-11 11:43:29 +00:00
CrazyMax 6ed49e6282 Merge pull request #399 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.20.0
chore(deps): Bump @docker/actions-toolkit from 0.18.0 to 0.20.0
2024-04-11 13:42:35 +02:00
CrazyMax 499da83ec1 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-11 13:40:49 +02:00
dependabot[bot] 1bc39885c1 chore(deps): Bump @docker/actions-toolkit from 0.18.0 to 0.20.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.20.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.20.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 19:14:38 +00:00
CrazyMax c314eea2b2 Merge pull request #395 from crazy-max/bake-cwd-prefix
docs: using bake with remote and local metadata definition
2024-03-25 11:35:50 +01:00
CrazyMax 22d80c023d docs: using bake with remote and local metadata definition
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-25 11:33:52 +01:00
Tõnis Tiigi 38b3677383 Merge pull request #396 from crazy-max/ci-latest-buildx
ci: set buildx version
2024-03-18 15:16:15 -07:00
CrazyMax 3c91de3093 ci: set buildx version
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-18 10:38:16 +01:00
CrazyMax 75359341f6 Merge pull request #383 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.45
chore(deps): Bump moment-timezone from 0.5.44 to 0.5.45
2024-03-13 18:55:50 +01:00
CrazyMax 2432cf717c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 18:54:13 +01:00
CrazyMax c77859c8ba chore(deps): Bump csv-parse from 5.5.3 to 5.5.5
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 18:51:58 +01:00
dependabot[bot] 60ab7b421c chore(deps): Bump moment-timezone from 0.5.44 to 0.5.45
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.44 to 0.5.45.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.44...0.5.45)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-13 17:49:48 +00:00
CrazyMax 7ce1a14667 Merge pull request #391 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.18.0
chore(deps): Bump @docker/actions-toolkit from 0.16.1 to 0.18.0
2024-03-13 18:48:10 +01:00
CrazyMax d06e52bc52 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-13 18:46:46 +01:00
dependabot[bot] 66f0185bb8 chore(deps): Bump @docker/actions-toolkit from 0.16.1 to 0.18.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.1 to 0.18.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.1...v0.18.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-29 19:07:00 +00:00
CrazyMax 232fc64e3a Merge pull request #386 from docker/dependabot/npm_and_yarn/undici-5.28.3
chore(deps): Bump undici from 5.26.3 to 5.28.3
2024-02-23 09:38:00 +01:00
CrazyMax 1b08479748 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:34:46 +01:00
CrazyMax 3a28db68be Merge pull request #387 from crazy-max/bump-gha
bump codecov/codecov-action from 3 to 4
2024-02-23 09:13:06 +01:00
CrazyMax 6bb43c8680 bump codecov/codecov-action from 3 to 4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:05:37 +01:00
dependabot[bot] 41050ffe08 chore(deps): Bump undici from 5.26.3 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.26.3 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.3...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 17:59:42 +00:00
CrazyMax 8e5442c4ef Merge pull request #382 from crazy-max/dont-set-cwd-prefix
don't set cwd:// prefix for local bake files
2024-01-31 14:06:15 +01:00
CrazyMax eda41b71bf chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-31 14:04:39 +01:00
CrazyMax 388c08f740 don't set cwd:// prefix for local bake files
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-31 14:04:39 +01:00
CrazyMax dbef88086f Merge pull request #374 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.44
chore(deps): Bump moment-timezone from 0.5.43 to 0.5.44
2024-01-05 10:58:01 +01:00
CrazyMax b73e7a71ac chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 10:56:26 +01:00
dependabot[bot] b9fba690eb chore(deps): Bump moment-timezone from 0.5.43 to 0.5.44
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.43 to 0.5.44.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.43...0.5.44)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 09:54:17 +00:00
CrazyMax ac82374ba6 Merge pull request #373 from docker/dependabot/npm_and_yarn/moment-2.30.1
chore(deps): Bump moment from 2.29.4 to 2.30.1
2024-01-05 10:51:59 +01:00
CrazyMax c92519a44e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 10:50:35 +01:00
dependabot[bot] 3b4179d34d chore(deps): Bump moment from 2.29.4 to 2.30.1
Bumps [moment](https://github.com/moment/moment) from 2.29.4 to 2.30.1.
- [Changelog](https://github.com/moment/moment/blob/develop/CHANGELOG.md)
- [Commits](https://github.com/moment/moment/compare/2.29.4...2.30.1)

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: moment
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 10:49:11 +01:00
CrazyMax 0784993ef8 Merge pull request #371 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.1
chore(deps): Bump @docker/actions-toolkit from 0.16.0 to 0.16.1
2024-01-05 10:48:32 +01:00
CrazyMax 52c3e9e410 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-05 10:46:26 +01:00
dependabot[bot] 82a5e6726c chore(deps): Bump @docker/actions-toolkit from 0.16.0 to 0.16.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.16.0 to 0.16.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.16.0...v0.16.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-05 09:44:28 +00:00
Tõnis Tiigi 41e1fe3437 Merge pull request #370 from crazy-max/bake-cwd
bake: set cwd:// prefix for bake files path
2024-01-04 09:32:49 -08:00
CrazyMax 48cce1cba0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-04 10:09:14 +01:00
CrazyMax 61879b94bc bake: set cwd:// prefix for bake files path
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-01-04 10:09:06 +01:00
CrazyMax 36ea4ee555 bake: refactor generateBakeFile
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-20 14:48:27 +01:00
CrazyMax 74fa878183 ci: bump buildx to latest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-20 14:38:48 +01:00
CrazyMax 9dc751fe24 Merge pull request #369 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.16.0
chore(deps): Bump @docker/actions-toolkit from 0.15.0 to 0.16.0
2023-12-18 11:47:58 +01:00
CrazyMax c94c54c4e6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-15 20:46:50 +01:00
dependabot[bot] 187f09259d chore(deps): Bump @docker/actions-toolkit from 0.15.0 to 0.16.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.15.0 to 0.16.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.15.0...v0.16.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-15 19:45:27 +00:00
CrazyMax 6d6eaf3451 Merge pull request #365 from docker/dependabot/npm_and_yarn/csv-parse-5.5.3
chore(deps): Bump csv-parse from 5.5.2 to 5.5.3
2023-12-15 20:44:33 +01:00
dependabot[bot] 1484a7ec95 chore(deps): Bump csv-parse from 5.5.2 to 5.5.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.2 to 5.5.3.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.3/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-08 19:40:22 +00:00
CrazyMax 31cebacef4 Merge pull request #363 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.15.0
chore(deps): Bump @docker/actions-toolkit from 0.14.0 to 0.15.0
2023-12-04 01:51:22 -08:00
CrazyMax 394bbab10c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-04 10:49:19 +01:00
dependabot[bot] ee4c9054ec chore(deps): Bump @docker/actions-toolkit from 0.14.0 to 0.15.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.14.0 to 0.15.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.14.0...v0.15.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-04 09:39:45 +00:00
Tõnis Tiigi e6428a5c4e Merge pull request #361 from crazy-max/custom-annotations
custom annotations support
2023-11-30 09:29:27 -08:00
David Karlsson 26b4721af7 Merge pull request #359 from favonia/document-annotations
docs(README): add a hint about multi-arch builds
2023-11-30 15:35:34 +01:00
CrazyMax 352ce8b7fe chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 15:09:51 +01:00
CrazyMax cb0becceaf custom annotations support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 15:09:51 +01:00
favonia 91224bc155 docs(README): add a hint about multi-arch builds
Document probably the most common usage of
`DOCKER_METADATA_ANNOTATIONS_LEVELS`: multi-arch builds.

Signed-off-by: favonia <favonia@gmail.com>
2023-11-30 06:53:25 -06:00
CrazyMax f19c3691d5 Merge pull request #358 from crazy-max/empty-images
feat: allow images input to be empty to output bare tags
2023-11-30 02:04:19 -08:00
CrazyMax 4066f0cede chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:41:57 +01:00
CrazyMax d6a296c454 chore: use anonymous func to generate tags and add tests
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:41:18 +01:00
Jason D'Amour aacea38e07 feat: allow the images input to be empty, to output just tags
Signed-off-by: Jason D'Amour <jasondamour98@gmail.com>
2023-11-30 10:23:11 +01:00
CrazyMax 051f7ea71b Merge pull request #357 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.14.0
chore(deps): Bump @docker/actions-toolkit from 0.13.0 to 0.14.0
2023-11-30 01:21:11 -08:00
CrazyMax 2fc083a3a4 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:15:31 +01:00
dependabot[bot] 488568d6fa chore(deps): Bump @docker/actions-toolkit from 0.13.0 to 0.14.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-30 09:13:28 +00:00
CrazyMax f33ad1e20d Merge pull request #352 from crazy-max/annotations-alt
annotations support
2023-11-30 01:10:44 -08:00
CrazyMax 6bbe00c7bc chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:08:54 +01:00
CrazyMax f0ad8701de annotations support
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-30 10:08:54 +01:00
CrazyMax 2a4836ac76 Merge pull request #353 from crazy-max/split-bake-file
bake: split definition into two files
2023-11-27 00:50:21 -08:00
CrazyMax 9bdb15d11e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-23 17:08:07 +01:00
CrazyMax b94479639a bake: split definition into two files
Allows to either include tags or labels or both definitions.
Keep bake-file output for backward compatibility.

Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-11-23 17:08:07 +01:00
CrazyMax f3c3cad8ad Merge pull request #356 from docker/dependabot/github_actions/actions/github-script-7
chore(deps): Bump actions/github-script from 6 to 7
2023-11-17 05:02:30 -08:00
dependabot[bot] 3b632771f9 chore(deps): Bump actions/github-script from 6 to 7
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 7.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-13 19:28:14 +00:00
CrazyMax 62339db73c Merge pull request #346 from docker/dependabot/npm_and_yarn/csv-parse-5.5.2
chore(deps): Bump csv-parse from 5.5.0 to 5.5.2
2023-10-25 06:44:47 -07:00
CrazyMax f13510ee59 fix yarn.lock
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 15:43:28 +02:00
dependabot[bot] 6796a85d36 chore(deps): Bump csv-parse from 5.5.0 to 5.5.2
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.5.0 to 5.5.2.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.2/packages/csv-parse)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 15:41:52 +02:00
CrazyMax 1ec392100e Merge pull request #348 from docker/dependabot/npm_and_yarn/actions/github-6.0.0
chore(deps): Bump @actions/github from 5.1.1 to 6.0.0
2023-10-25 06:41:31 -07:00
CrazyMax 15f2689f92 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 15:39:40 +02:00
dependabot[bot] ad9adab519 chore(deps): Bump @actions/github from 5.1.1 to 6.0.0
Bumps [@actions/github](https://github.com/actions/toolkit/tree/HEAD/packages/github) from 5.1.1 to 6.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/github/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/github)

---
updated-dependencies:
- dependency-name: "@actions/github"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-25 13:37:52 +00:00
CrazyMax 28aeae210e Merge pull request #349 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.13.0
chore(deps): Bump @docker/actions-toolkit from 0.12.0 to 0.13.0
2023-10-25 06:36:59 -07:00
CrazyMax 5f160a25bd chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-25 15:15:43 +02:00
CrazyMax 05d3089a30 Merge pull request #350 from docker/dependabot/npm_and_yarn/babel/traverse-7.23.2
chore(deps): Bump @babel/traverse from 7.17.3 to 7.23.2
2023-10-25 06:13:07 -07:00
dependabot[bot] b8c52fa5a7 chore(deps): Bump @babel/traverse from 7.17.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 20:40:16 +00:00
dependabot[bot] fa851f2008 chore(deps): Bump @docker/actions-toolkit from 0.12.0 to 0.13.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 19:33:25 +00:00
CrazyMax 879dcbb708 Merge pull request #335 from docker/dependabot/npm_and_yarn/semver-7.5.4
chore(deps): Bump semver from 7.5.3 to 7.5.4
2023-09-15 13:47:51 +02:00
CrazyMax 167d566053 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-15 13:45:49 +02:00
CrazyMax 6dfb6f1404 Merge pull request #341 from crazy-max/community-files
chore: github form templates
2023-09-13 11:42:14 +02:00
CrazyMax 62a438bd07 chore: github form templates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:45:28 +02:00
CrazyMax ee5ff41fc8 chore: update community files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:45:23 +02:00
CrazyMax c0f15f0bfe Merge pull request #339 from docker/dependabot/github_actions/docker/setup-buildx-action-3
chore(deps): Bump docker/setup-buildx-action from 2 to 3
2023-09-13 08:31:36 +02:00
CrazyMax 2c2bddef07 Merge pull request #338 from docker/dependabot/github_actions/docker/setup-qemu-action-3
chore(deps): Bump docker/setup-qemu-action from 2 to 3
2023-09-13 08:31:23 +02:00
CrazyMax 00dcdd5da5 Merge pull request #337 from docker/dependabot/github_actions/docker/bake-action-4
chore(deps): Bump docker/bake-action from 3 to 4
2023-09-13 08:31:13 +02:00
CrazyMax bd87541fe8 Merge pull request #336 from docker/dependabot/github_actions/docker/build-push-action-5
chore(deps): Bump docker/build-push-action from 4 to 5
2023-09-13 08:31:02 +02:00
dependabot[bot] b87668a573 chore(deps): Bump docker/setup-buildx-action from 2 to 3
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:57 +00:00
dependabot[bot] 407b95c632 chore(deps): Bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:55 +00:00
dependabot[bot] 0668f8e3c4 chore(deps): Bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:51 +00:00
dependabot[bot] d0efd7f63f chore(deps): Bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:54:48 +00:00
dependabot[bot] 672cd7b637 chore(deps): Bump semver from 7.5.3 to 7.5.4
Bumps [semver](https://github.com/npm/node-semver) from 7.5.3 to 7.5.4.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.3...v7.5.4)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 19:03:27 +00:00
CrazyMax 1f35ebc704 Merge pull request #334 from crazy-max/bump-major
docs: bump actions to latest major
2023-09-12 15:14:56 +02:00
CrazyMax 413e9a9a6a docs: bump actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 14:17:25 +02:00
CrazyMax 96383f4557 Merge pull request #320 from docker/dependabot/npm_and_yarn/csv-parse-5.5.0
Bump csv-parse from 5.4.0 to 5.5.0
2023-09-12 09:35:54 +02:00
CrazyMax f138b9677b chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:34:10 +02:00
dependabot[bot] 9cf7015b15 Bump csv-parse from 5.4.0 to 5.5.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.4.0 to 5.5.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.5.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 07:32:56 +00:00
CrazyMax 5a8a5ff8df Merge pull request #315 from docker/dependabot/npm_and_yarn/handlebars-4.7.8
Bump handlebars from 4.7.7 to 4.7.8
2023-09-12 09:31:05 +02:00
CrazyMax 2279d9af58 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:29:13 +02:00
dependabot[bot] c659933213 Bump handlebars from 4.7.7 to 4.7.8
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.7 to 4.7.8.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.8/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.7...v4.7.8)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 07:24:46 +00:00
CrazyMax 48d23ccc05 Merge pull request #333 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
Bump @actions/core from 1.10.0 to 1.10.1
2023-09-12 09:17:01 +02:00
CrazyMax b83ffb48d6 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 09:12:10 +02:00
dependabot[bot] 3207f2405f Bump @actions/core from 1.10.0 to 1.10.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 07:00:46 +00:00
CrazyMax 63f4a263e5 Merge pull request #328 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-12 08:23:31 +02:00
CrazyMax 547dcd6d67 chore: node 20 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:59 +02:00
CrazyMax 450eef4207 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax 903f5af663 chore: fix author in package.json
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax 3634bd57d7 vendor: bump @docker/actions-toolkit from 0.6.0 to 0.12.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax d3faf0d1af chore: update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax ff376f4737 chore: update to node 20
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:19:58 +02:00
CrazyMax 79f06a31c0 Merge pull request #330 from frison/master
Update Bake file-reference URI
2023-09-08 11:28:34 +02:00
Tim Frison 6f69513dab Update Bake file-reference URI
Previous URL 404'd

Signed-off-by: Tim Frison <tim.frison@clio.com>
2023-09-07 16:03:19 -06:00
CrazyMax b67fef219a Merge pull request #324 from crazy-max/ci-concurrency
ci: missing concurrency checks
2023-09-05 11:09:54 +02:00
CrazyMax 51990f24d1 ci: missing concurrency checks
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-05 11:02:47 +02:00
CrazyMax 4af6ba2231 Merge pull request #322 from docker/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-05 09:21:23 +02:00
dependabot[bot] 59de4866c5 Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-04 19:14:07 +00:00
CrazyMax 0f8c876baf Merge pull request #317 from crazy-max/rm-codeowners
chore: remove CODEOWNERS
2023-08-08 12:55:36 +02:00
CrazyMax 389ff6bdd5 chore: remove CODEOWNERS
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 12:52:23 +02:00
Tõnis Tiigi 2bcfca25d5 Merge pull request #316 from crazy-max/dependabot-update
chore: set increase as versioning strategy
2023-08-08 09:54:38 +03:00
CrazyMax 05b244eb76 chore: set increase as versioning strategy
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 06:01:53 +02:00
CrazyMax 35e9aff4f5 Merge pull request #306 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.6.0
Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
2023-07-06 09:46:22 +02:00
CrazyMax 1586898b63 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-05 12:37:27 +02:00
dependabot[bot] 7a273586e1 Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 19:30:46 +00:00
CrazyMax ef25336f42 Merge pull request #304 from docker/dependabot/npm_and_yarn/semver-7.5.2
Bump semver from 7.5.1 to 7.5.2
2023-06-26 15:15:32 +02:00
CrazyMax 0ab15faee8 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-26 15:13:35 +02:00
dependabot[bot] 1ea1b02f9b Bump semver from 7.5.1 to 7.5.2
Bumps [semver](https://github.com/npm/node-semver) from 7.5.1 to 7.5.2.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.5.1...v7.5.2)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-25 12:32:27 +00:00
CrazyMax 818d4b7b91 Merge pull request #302 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.5.0
Bump @docker/actions-toolkit from 0.3.0 to 0.5.0
2023-06-13 12:27:30 +02:00
CrazyMax 948134af5e update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 12:24:59 +02:00
CrazyMax ef7eee951a enable comments to avoid breaking change with current impl
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 12:24:00 +02:00
dependabot[bot] 8ec80c3be6 Bump @docker/actions-toolkit from 0.3.0 to 0.5.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.3.0 to 0.5.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.3.0...v0.5.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 10:11:07 +00:00
CrazyMax 38650bbf6b Merge pull request #301 from crazy-max/dedup-labels
dedup and sort labels
2023-06-13 12:02:17 +02:00
CrazyMax ebbd9b4df7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 02:32:15 +02:00
CrazyMax 2dadb92b6b dedup and sort labels
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 02:31:02 +02:00
CrazyMax 2c0bd771b4 Merge pull request #296 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.3.0
Bump @docker/actions-toolkit from 0.1.0 to 0.3.0
2023-06-07 15:56:56 +02:00
CrazyMax b10b364e15 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 15:52:25 +02:00
dependabot[bot] 40a1c6ff52 Bump @docker/actions-toolkit from 0.1.0 to 0.3.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0 to 0.3.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0...v0.3.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:50:58 +00:00
CrazyMax be8ea87c5a Merge pull request #294 from docker/dependabot/npm_and_yarn/csv-parse-5.4.0
Bump csv-parse from 5.3.8 to 5.4.0
2023-06-07 15:49:57 +02:00
CrazyMax dbbf01822b Merge pull request #287 from docker/dependabot/github_actions/docker/bake-action-3
Bump docker/bake-action from 2 to 3
2023-06-02 14:54:17 +02:00
dependabot[bot] 72b4ec2b60 Bump csv-parse from 5.3.8 to 5.4.0
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.8 to 5.4.0.
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.4.0/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-05-26 19:57:59 +00:00
dependabot[bot] 00e2c9d34e Bump docker/bake-action from 2 to 3
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 2 to 3.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 19:57:31 +00:00
CrazyMax c4ee3adeed Merge pull request #285 from docker/dependabot/npm_and_yarn/semver-7.5.0
Bump semver from 7.4.0 to 7.5.0
2023-04-18 09:25:43 +02:00
CrazyMax 3bea1eeada update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-18 09:24:34 +02:00
dependabot[bot] 88c7f0d3f6 Bump semver from 7.4.0 to 7.5.0
Bumps [semver](https://github.com/npm/node-semver) from 7.4.0 to 7.5.0.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.4.0...v7.5.0)

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-18 07:22:30 +00:00
CrazyMax 101f9cbeaf Merge pull request #286 from docker/dependabot/npm_and_yarn/csv-parse-5.3.8
Bump csv-parse from 5.3.6 to 5.3.8
2023-04-18 09:21:45 +02:00
dependabot[bot] 0e44559303 Bump csv-parse from 5.3.6 to 5.3.8
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.6 to 5.3.8.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.3.8/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 19:57:54 +00:00
CrazyMax 517f8b0c3b Merge pull request #281 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.43
Bump moment-timezone from 0.5.42 to 0.5.43
2023-04-17 06:36:44 +02:00
CrazyMax bfaa9197f7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 06:35:13 +02:00
dependabot[bot] 16dbdc96f6 Bump moment-timezone from 0.5.42 to 0.5.43
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.42 to 0.5.43.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.42...0.5.43)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-17 04:32:40 +00:00
CrazyMax bf095b87d3 Merge pull request #284 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0
Bump @docker/actions-toolkit from 0.1.0-beta.19 to 0.1.0
2023-04-17 06:31:29 +02:00
CrazyMax 2ed3c45f27 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 04:43:59 +02:00
CrazyMax 5076359ba6 fix tests implementation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 04:43:58 +02:00
CrazyMax d8f57c18fa update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 04:36:33 +02:00
CrazyMax 80530e08c5 use new implementation from toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 04:33:51 +02:00
dependabot[bot] da933fb889 Bump @docker/actions-toolkit from 0.1.0-beta.19 to 0.1.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.19 to 0.1.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.19...v0.1.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-11 19:57:48 +00:00
CrazyMax 3f6690a76c Merge pull request #278 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.42
Bump moment-timezone from 0.5.41 to 0.5.42
2023-03-30 13:17:59 +02:00
CrazyMax dda839d15b update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-30 13:14:41 +02:00
dependabot[bot] 37f1d84442 Bump moment-timezone from 0.5.41 to 0.5.42
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.41 to 0.5.42.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.41...0.5.42)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-30 13:13:45 +02:00
CrazyMax 1ce942256d Merge pull request #248 from escemi-tech/add-option-to-choose-between-git-or-workflow-context
allows to specify context to fetch git data
2023-03-30 12:58:07 +02:00
Emilien Escalle 8f8c795666 feat: allows to specify context to fetch git data
Signed-off-by: Emilien Escalle <emilien.escalle@escemi.com>
2023-03-30 12:53:58 +02:00
CrazyMax 9ec57ed1fc Merge pull request #274 from crazy-max/update-workflows
ci: split validate and test workflow
2023-03-15 15:20:07 +00:00
CrazyMax 2bdac1078b Merge pull request #268 from docker/dependabot/npm_and_yarn/moment-timezone-0.5.41
Bump moment-timezone from 0.5.40 to 0.5.41
2023-03-12 12:14:59 +00:00
CrazyMax 9e02960866 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-12 12:59:28 +01:00
dependabot[bot] ea910e3ad4 Bump moment-timezone from 0.5.40 to 0.5.41
Bumps [moment-timezone](https://github.com/moment/moment-timezone) from 0.5.40 to 0.5.41.
- [Release notes](https://github.com/moment/moment-timezone/releases)
- [Changelog](https://github.com/moment/moment-timezone/blob/develop/changelog.md)
- [Commits](https://github.com/moment/moment-timezone/compare/0.5.40...0.5.41)

---
updated-dependencies:
- dependency-name: moment-timezone
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-12 11:54:47 +00:00
CrazyMax 8b6629002b Merge pull request #271 from docker/dependabot/npm_and_yarn/csv-parse-5.3.6
Bump csv-parse from 5.3.3 to 5.3.6
2023-03-12 11:53:52 +00:00
dependabot[bot] 1db8e21e35 Bump csv-parse from 5.3.3 to 5.3.6
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.3 to 5.3.6.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.3.6/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-12 11:48:00 +00:00
CrazyMax b30cff8c11 Merge pull request #273 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0-beta.19
Bump @docker/actions-toolkit from 0.1.0-beta.14 to 0.1.0-beta.19
2023-03-12 11:47:04 +00:00
CrazyMax 916b4b90e3 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-12 12:41:51 +01:00
CrazyMax 0ef9f130fa ci: split validate and test workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-12 12:36:59 +01:00
dependabot[bot] f5c49ece12 Bump @docker/actions-toolkit from 0.1.0-beta.14 to 0.1.0-beta.19
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.14 to 0.1.0-beta.19.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.14...v0.1.0-beta.19)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-12 11:33:46 +00:00
CrazyMax 18df8a69c4 Merge pull request #265 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-2
Bump crazy-max/ghaction-dump-context from 1 to 2
2023-03-12 11:32:38 +00:00
CrazyMax 3343011071 Merge pull request #266 from crazy-max/switch-toolkit
switch to actions-toolkit implementation
2023-02-24 19:14:13 +01:00
CrazyMax 0524f79273 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-21 09:23:54 +01:00
CrazyMax b5c378621c switch to actions-toolkit implementation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-21 09:22:45 +01:00
dependabot[bot] a103499e09 Bump crazy-max/ghaction-dump-context from 1 to 2
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 1 to 2.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Changelog](https://github.com/crazy-max/ghaction-dump-context/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/v1...v2)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 19:58:55 +00:00
CrazyMax 766400ca14 Merge pull request #261 from crazy-max/update-build-push
update build-push-action to v4
2023-01-31 15:10:14 +01:00
CrazyMax e2ffd4cc94 update build-push-action to v4
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 19:37:25 +01:00
CrazyMax 6c3ca5dfa6 Merge pull request #258 from crazy-max/ci-fix-json-job
ci: update json job
2023-01-17 17:03:30 +01:00
CrazyMax 235becadd8 ci: update json job
The step in the json job is no longer necessary since it is
already done by the output-env job.

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-13 15:01:54 +01:00
CrazyMax 507c2f2dc5 Merge pull request #257 from crazy-max/env-output
Provide outputs as env vars
2023-01-13 14:33:40 +01:00
CrazyMax 04861f5102 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-13 11:46:25 +01:00
CrazyMax 6729545cde Provide outputs as env vars
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-13 11:46:25 +01:00
55 changed files with 15444 additions and 6249 deletions

No files matched your search

+11 -1
View File
@@ -1,2 +1,12 @@
/coverage
/node_modules
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
-23
View File
@@ -1,23 +0,0 @@
{
"env": {
"node": true,
"es2021": true,
"jest/globals": true
},
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/recommended",
"plugin:jest/recommended",
"plugin:prettier/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": "latest",
"sourceType": "module"
},
"plugins": [
"@typescript-eslint",
"jest",
"prettier"
]
}
+2
View File
@@ -1,3 +1,5 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/__tests__/fixtures/** -linguist-detectable
/dist/** linguist-generated=true
/lib/** linguist-generated=true
-1
View File
@@ -1 +0,0 @@
* @crazy-max
+3
View File
@@ -0,0 +1,3 @@
# Code of conduct
- [Moby community guidelines](https://github.com/moby/moby/blob/master/CONTRIBUTING.md#moby-community-guidelines)
+101
View File
@@ -0,0 +1,101 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Bug Report
description: Report a bug
labels:
- status/triage
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!
If this is a security issue please report it to the [Docker Security team](mailto:security@docker.com).
- type: checkboxes
attributes:
label: Contributing guidelines
description: >
Make sure you've read the contributing guidelines before proceeding.
options:
- label: I've read the [contributing guidelines](https://github.com/docker/metadata-action/blob/master/.github/CONTRIBUTING.md) and wholeheartedly agree
required: true
- type: checkboxes
attributes:
label: "I've found a bug, and:"
description: |
Make sure that your request fulfills all of the following requirements.
If one requirement cannot be satisfied, explain in detail why.
options:
- label: The documentation does not mention anything about my problem
- label: There are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: >
Provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: >
Describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
description: >
Describe precisely what is actually happening.
validations:
required: true
- type: input
attributes:
label: Repository URL
description: >
Enter the URL of the repository where you are experiencing the
issue. If your repository is private, provide a link to a minimal
repository that reproduces the issue.
- type: input
attributes:
label: Workflow run URL
description: >
Enter the URL of the GitHub Action workflow run if public (e.g.
`https://github.com/<user>/<repo>/actions/runs/<id>`)
- type: textarea
attributes:
label: YAML workflow
description: |
Provide the YAML of the workflow that's causing the issue.
Make sure to remove any sensitive information.
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Workflow logs
description: >
[Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
and make sure to remove any sensitive information.
- type: textarea
attributes:
label: BuildKit logs
description: >
If applicable, provide the [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs)
render: text
- type: textarea
attributes:
label: Additional info
description: |
Provide any additional information that could be useful.
-34
View File
@@ -1,34 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
### Behaviour
#### Steps to reproduce this issue
1.
2.
3.
#### Expected behaviour
> Tell us what should happen
#### Actual behaviour
> Tell us what happens instead
### Configuration
* Repository URL (if public):
* Build URL (if public):
```yml
# paste your YAML workflow file here and remove sensitive data
```
### Logs
> Download the [log file of your build](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
> and [attach it](https://docs.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.
+9
View File
@@ -0,0 +1,9 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true
contact_links:
- name: Questions and Discussions
url: https://github.com/docker/metadata-action/discussions/new
about: Use Github Discussions to ask questions and/or open discussion topics.
- name: Documentation
url: https://docs.docker.com/build/ci/github-actions/
about: Read the documentation.
+15
View File
@@ -0,0 +1,15 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Missing functionality? Come tell us about it!
labels:
- kind/enhancement
- status/triage
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the feature you want to see?
validations:
required: true
+12
View File
@@ -0,0 +1,12 @@
# Reporting security issues
The project maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
**Please _DO NOT_ file a public issue**, instead send your report privately to
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated, and we will publicly thank you for it.
We also like to send gifts&mdash;if you'd like Docker swag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.
-32
View File
@@ -1,32 +0,0 @@
# Support [![](https://isitmaintained.com/badge/resolution/docker/metadata-action.svg)](https://isitmaintained.com/project/docker/metadata-action)
## Reporting an issue
Please do a search in [open issues](https://github.com/docker/metadata-action/issues?utf8=%E2%9C%93&q=) to see if the
issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your
[reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place
of a "+1" comment.
:+1: - upvote
:-1: - downvote
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
## Writing good bug reports and feature requests
File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
You are now ready to [create a new issue](https://github.com/docker/metadata-action/issues/new/choose)!
## Closure policy
* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.
+14
View File
@@ -4,6 +4,15 @@ updates:
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
codeql-actions:
patterns:
- "github/codeql-action/*"
labels:
- "dependencies"
- "bot"
@@ -11,6 +20,11 @@ updates:
directory: "/"
schedule:
interval: "daily"
cooldown:
default-days: 2
exclude:
- "@docker/actions-toolkit"
versioning-strategy: "increase"
allow:
- dependency-type: "production"
labels:
+325 -40
View File
@@ -1,8 +1,15 @@
name: ci
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
schedule:
- cron: '0 */4 * * *' # every 4 hours
- cron: '0 10 * * *'
push:
branches:
- 'master'
@@ -10,20 +17,42 @@ on:
tags:
- 'v*.*.*'
pull_request:
branches:
- 'master'
- 'releases/v*'
env:
DOCKER_IMAGE: localhost:5000/name/app
BUILDX_VERSION: latest
jobs:
context:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
context:
- workflow
- git
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Docker meta
uses: ./
with:
context: ${{ matrix.context }}
multi-images:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -37,6 +66,9 @@ jobs:
type=ref,event=tag
type=ref,event=pr
type=sha
-
name: Print envs
run: env|sort
tag-schedule:
runs-on: ubuntu-latest
@@ -51,7 +83,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -81,7 +119,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -109,7 +153,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -134,7 +184,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -151,7 +207,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -161,12 +223,18 @@ jobs:
name=ghcr.io/name/app,enable=${{ github.event_name == 'pull_request' }}
name=ghcr.io/name/release,enable=${{ startsWith(github.ref, 'refs/tags/') }}
labels:
custom-labels-annotations:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -179,13 +247,24 @@ jobs:
org.opencontainers.image.title=MyCustomTitle
org.opencontainers.image.description=this is a "good" example
org.opencontainers.image.vendor=MyCompany
annotations: |
maintainer=Foo
org.opencontainers.image.title=MyFooTitle
org.opencontainers.image.description=this is a "foo" example
org.opencontainers.image.vendor=MyFooCompany
global-exps:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
@@ -193,6 +272,8 @@ jobs:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
labels: |
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
tags: |
type=sha
type=raw,value=gexp-branch-{{branch}}
@@ -200,13 +281,20 @@ jobs:
type=raw,value=gexp-tag-{{tag}}
type=raw,value=gexp-baseref-{{base_ref}}
type=raw,value=gexp-defbranch,enable={{is_default_branch}}
type=raw,value=gexp-notdefbranch,enable={{is_not_default_branch}}
json:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
id: meta
@@ -229,13 +317,19 @@ jobs:
runs-on: ubuntu-latest
services:
registry:
image: registry:2
image: registry:2.8.3@sha256:a3d8aaa63ed8681a604f1dea0aa03f100d5895b6a58ace528858a7b332415373
ports:
- 5000:5000
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver-opts: network=host
-
name: Docker meta
id: docker_meta
@@ -252,17 +346,9 @@ jobs:
type=semver,pattern=v{{major}}.{{minor}}
type=semver,pattern=v{{major}}
type=sha
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
with:
driver-opts: network=host
-
name: Build and push to local registry
uses: docker/build-push-action@v3
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: ./test
file: ./test/Dockerfile
@@ -279,17 +365,18 @@ jobs:
name: Check manifest
run: |
docker buildx imagetools inspect ${{ env.DOCKER_IMAGE }}:${{ steps.docker_meta.outputs.version }}
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@v1
bake:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
-
name: Docker meta
id: docker_meta
@@ -307,19 +394,14 @@ jobs:
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Build
uses: docker/bake-action@v2
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
files: |
./test/docker-bake.hcl
${{ steps.docker_meta.outputs.bake-file }}
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
cwd://${{ steps.docker_meta.outputs.bake-file-labels }}
targets: |
release
@@ -334,7 +416,13 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
id: meta
@@ -346,7 +434,204 @@ jobs:
sep-tags: ${{ matrix.sep }}
-
name: Tags
uses: actions/github-script@v6
uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9.0.0
with:
script: |
console.log(`${{ steps.meta.outputs.tags }}`);
output-env:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
id: meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
labels: |
maintainer=CrazyMax
annotations: |
maintainer=Foo
-
name: Build
uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0
with:
context: ./test
file: ./test/output.Dockerfile
build-args: |
DOCKER_METADATA_OUTPUT_VERSION
DOCKER_METADATA_OUTPUT_TAGS
DOCKER_METADATA_OUTPUT_LABELS
DOCKER_METADATA_OUTPUT_ANNOTATIONS
DOCKER_METADATA_OUTPUT_JSON
no-output-env:
runs-on: ubuntu-latest
env:
DOCKER_METADATA_SET_OUTPUT_ENV: false
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Docker meta
id: meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
labels: |
maintainer=CrazyMax
annotations: |
maintainer=Foo
-
name: No output environment variables set
shell: bash
run: |
[[ "$(printenv | grep "^DOCKER_METADATA_OUTPUT_" | wc -l)" -eq 0 ]] || exit 1
bake-annotations:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
-
name: Docker meta
id: docker_meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
-
name: Build
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
files: |
./test/docker-bake.hcl
cwd://${{ steps.docker_meta.outputs.bake-file-tags }}
cwd://${{ steps.docker_meta.outputs.bake-file-annotations }}
targets: |
release
no-images:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
with:
tags: |
type=schedule
type=ref,event=branch
type=ref,event=tag
type=ref,event=pr
type=sha
-
name: Print envs
run: env|sort
bake-path-context:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: latest
-
name: Docker meta
id: docker_meta
uses: ./
-
name: Build
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
files: |
./test/docker-bake.hcl
${{ steps.docker_meta.outputs.bake-file-tags }}
${{ steps.docker_meta.outputs.bake-file-labels }}
targets: |
release
sha-short:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
short-length:
- ''
- 16
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0
with:
version: ${{ env.BUILDX_VERSION }}
driver: docker
-
name: Docker meta
uses: ./
with:
images: |
${{ env.DOCKER_IMAGE }}
ghcr.io/name/app
tags: |
type=sha
env:
DOCKER_METADATA_SHORT_SHA_LENGTH: ${{ matrix.short-length }}
dump:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Dump context
uses: crazy-max/ghaction-dump-context@4d9eeaf15dd59aa4346919ea84a84ccf514b4db8 # v3.1.0
+46
View File
@@ -0,0 +1,46 @@
name: codeql
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b96794f015dfd88f77b49b1c93e0fa7110f94c63 # v4.38.0
with:
category: "/language:javascript-typescript"
+17
View File
@@ -0,0 +1,17 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
permissions:
contents: read
pull-requests: write
+28
View File
@@ -0,0 +1,28 @@
name: publish
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Publish
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
+13 -12
View File
@@ -1,14 +1,18 @@
name: test
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
branches:
- 'master'
- 'releases/v*'
jobs:
test:
@@ -16,19 +20,16 @@ jobs:
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Validate
uses: docker/bake-action@v2
with:
targets: validate
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Test
uses: docker/bake-action@v2
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
targets: test
-
name: Upload coverage
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@fb8b3582c8e4def4969c97caa2f19720cb33a72f # v7.0.0
with:
file: ./coverage/clover.xml
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }}
+58
View File
@@ -0,0 +1,58 @@
name: update-dist
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
types:
- opened
- synchronize
jobs:
update-dist:
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
runs-on: ubuntu-latest
steps:
-
name: GitHub auth token from GitHub App
id: docker-read-app
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
owner: docker
repositories: metadata-action
permission-contents: write
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token }}
-
name: Build
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
source: .
targets: build
-
name: Commit and push dist
run: |
if [ -n "$(git status --porcelain -- dist)" ]; then
(
set -x
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add dist
git commit -m "[dependabot skip] chore: update generated content"
git push
)
else
echo "No changes in dist"
fi
+46
View File
@@ -0,0 +1,46 @@
name: validate
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
steps:
-
name: Checkout
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
-
name: Generate matrix
id: generate
uses: docker/bake-action/subaction/matrix@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
target: validate
validate:
runs-on: ubuntu-latest
needs:
- prepare
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
-
name: Validate
uses: docker/bake-action@d3418bd7d0e9324001bca92fa8ba175ea7e6dc9b # v7.3.0
with:
targets: ${{ matrix.target }}
+29
View File
@@ -0,0 +1,29 @@
name: zizmor
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
- 'releases/v*'
tags:
- 'v*'
pull_request:
jobs:
zizmor:
uses: crazy-max/.github/.github/workflows/zizmor.yml@f91220cba053bd54299ba645a599ee8ed436f222 # v1.11.0
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic
+14 -57
View File
@@ -1,12 +1,5 @@
/.dev
node_modules/
lib
# https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
# Jetbrains
/.idea
/*.iml
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs
logs
*.log
@@ -14,6 +7,7 @@ npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -24,34 +18,14 @@ pids
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache
*.tsbuildinfo
@@ -61,36 +35,19 @@ typings/
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
# dotenv environment variable files
.env
.env.test
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+6
View File
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/
+1 -2
View File
@@ -6,6 +6,5 @@
"singleQuote": true,
"trailingComma": "none",
"bracketSpacing": false,
"arrowParens": "avoid",
"parser": "typescript"
"arrowParens": "avoid"
}
+24
View File
@@ -0,0 +1,24 @@
# https://yarnpkg.com/configuration/yarnrc
nodeLinker: node-modules
logFilters:
- code: YN0004
level: discard
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
npmPreapprovedPackages:
- "@docker/actions-toolkit"
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
enableScripts: false
npmMinimalAgeGate: 2d
+281 -77
View File
@@ -22,6 +22,7 @@ ___
* [inputs](#inputs)
* [outputs](#outputs)
* [environment variables](#environment-variables)
* [`context` input](#context-input)
* [`images` input](#images-input)
* [`flavor` input](#flavor-input)
* [`tags` input](#tags-input)
@@ -43,10 +44,13 @@ ___
* [`{{sha}}`](#sha)
* [`{{base_ref}}`](#base_ref)
* [`{{is_default_branch}}`](#is_default_branch)
* [`{{is_not_default_branch}}`](#is_not_default_branch)
* [`{{date '<format>' tz='<timezone>'}}`](#date-format-tztimezone)
* [`{{commit_date '<format>' tz='<timezone>'}}`](#commit_date-format-tztimezone)
* [Major version zero](#major-version-zero)
* [JSON output object](#json-output-object)
* [Overwrite labels](#overwrite-labels)
* [Overwrite labels and annotations](#overwrite-labels-and-annotations)
* [Annotations](#annotations)
* [Contributing](#contributing)
## Usage
@@ -71,27 +75,23 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: name/app
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
@@ -125,13 +125,10 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: |
name/app
@@ -143,15 +140,14 @@ jobs:
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v7
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
@@ -203,13 +199,10 @@ jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: |
name/app
@@ -221,16 +214,16 @@ jobs:
type=sha
-
name: Build
uses: docker/bake-action@v2
uses: docker/bake-action@v7
with:
files: |
./docker-bake.hcl
${{ steps.meta.outputs.bake-file }}
cwd://${{ steps.meta.outputs.bake-file }}
targets: build
```
Content of `${{ steps.meta.outputs.bake-file }}` file will look like this with
`refs/tags/v1.2.3` ref:
Content of `${{ steps.meta.outputs.bake-file }}` file, combining tags and
labels, will look like this with `refs/tags/v1.2.3` ref:
```json
{
@@ -261,12 +254,29 @@ Content of `${{ steps.meta.outputs.bake-file }}` file will look like this with
}
```
You can also use the `bake-file-tags` and `bake-file-labels` outputs if you
just want to use tags and/or labels respectively. The following example is
similar to the previous one:
```yaml
-
name: Build
uses: docker/bake-action@v7
with:
files: |
./docker-bake.hcl
cwd://${{ steps.meta.outputs.bake-file-tags }}
cwd://${{ steps.meta.outputs.bake-file-labels }}
targets: build
```
## Customizing
### inputs
Following inputs can be used as `step.with` keys
The following inputs can be used as `step.with` keys:
> [!NOTE]
> `List` type is a newline-delimited string
> ```yaml
> labels: |
@@ -275,33 +285,95 @@ Following inputs can be used as `step.with` keys
> org.opencontainers.image.vendor=MyCompany
> ```
| Name | Type | Description |
|---------------------|--------|----------------------------------------------------------|
| `images` | List | List of Docker images to use as base name for tags |
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
| `flavor` | List | [Flavor](#flavor-input) to apply |
| `labels` | List | List of custom labels |
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
| `bake-target` | String | Bake target name (default `docker-metadata-action`) |
| Name | Type | Description |
|-------------------|--------|--------------------------------------------------------------------------------------------|
| `context` | String | Where to get context data. Allowed options are: `workflow` (default), `git`, `git:<path>`. |
| `images` | List | List of Docker images to use as base name for tags |
| `tags` | List | List of [tags](#tags-input) as key-value pair attributes |
| `flavor` | List | [Flavor](#flavor-input) to apply |
| `labels` | List | List of custom labels |
| `annotations` | List | List of custom annotations |
| `sep-tags` | String | Separator to use for tags output (default `\n`) |
| `sep-labels` | String | Separator to use for labels output (default `\n`) |
| `sep-annotations` | String | Separator to use for annotations output (default `\n`) |
| `bake-target` | String | Bake target name (default `docker-metadata-action`) |
### outputs
Following outputs are available
The following outputs are available:
| Name | Type | Description |
|---------------|---------|--------------------------------------------------------------------------------------------|
| `version` | String | Docker image version |
| `tags` | String | Docker tags |
| `labels` | String | Docker labels |
| `json` | String | JSON output of tags and labels |
| `bake-file` | File | [Bake file definition](https://docs.docker.com/build/customize/bake/file-definition/) path |
| Name | Type | Description |
|-------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `version` | String | Docker image version |
| `tags` | String | Docker tags |
| `tag-names` | String | Docker tag names without image base name |
| `labels` | String | Docker labels |
| `annotations` | String | [Annotations](https://github.com/moby/buildkit/blob/master/docs/annotations.md) |
| `json` | String | JSON output of tags and labels |
| `bake-file-tags` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with tags |
| `bake-file-labels` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with labels |
| `bake-file-annotations` | File | [Bake file definition](https://docs.docker.com/build/bake/reference/) path with [annotations](https://github.com/moby/buildkit/blob/master/docs/annotations.md) |
Alternatively, each output is also exported as an environment variable when `DOCKER_METADATA_SET_OUTPUT_ENV` is `true`:
* `DOCKER_METADATA_OUTPUT_VERSION`
* `DOCKER_METADATA_OUTPUT_TAGS`
* `DOCKER_METADATA_OUTPUT_LABELS`
* `DOCKER_METADATA_OUTPUT_ANNOTATIONS`
* `DOCKER_METADATA_OUTPUT_JSON`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE_TAGS`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE_LABELS`
* `DOCKER_METADATA_OUTPUT_BAKE_FILE_ANNOTATIONS`
So it can be used with our [Docker Build Push action](https://github.com/docker/build-push-action/):
```yaml
- uses: docker/build-push-action@v7
with:
build-args: |
DOCKER_METADATA_OUTPUT_JSON
```
### environment variables
| Name | Type | Description |
|-------------------------------|------|------------------------------------------------------------------------------------------------------------|
| `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event |
| Name | Type | Description |
|--------------------------------------|--------|----------------------------------------------------------------------------------------------------------------------------------------------|
| `DOCKER_METADATA_PR_HEAD_SHA` | Bool | If `true`, set associated head SHA instead of commit SHA that triggered the workflow on pull request event |
| `DOCKER_METADATA_SHORT_SHA_LENGTH` | Number | Specifies the length of the [short commit SHA](#typesha) to ensure uniqueness. Default is `7`, but can be increased for larger repositories. |
| `DOCKER_METADATA_ANNOTATIONS_LEVELS` | String | Comma separated list of annotations levels to set for annotations output separated (default `manifest`) |
| `DOCKER_METADATA_SET_OUTPUT_ENV` | Bool | If `true`, sets each output as an environment variable (default `true`) |
## `context` input
`context` defines where to get context metadata:
```yaml
# default
context: workflow
# or
context: git
```
* `workflow`: Get context metadata from the workflow (GitHub context). See https://docs.github.com/en/actions/learn-github-actions/contexts#github-context
* `git`: Get context metadata from the workflow and overrides some of them with current Git context, such as `ref` and `sha`.
Use `context: git:<path>` when the repository is checked out to a custom path.
The path can be absolute or relative to the current working directory
(normally `$GITHUB_WORKSPACE`):
```yaml
- uses: actions/checkout@v7
with:
path: source
- uses: docker/metadata-action@v6
with:
context: git:source
images: name/app
tags: type=sha
```
The selected checkout supplies the Git ref, SHA, and commit date. Other repository
metadata still comes from the workflow repository.
## `images` input
@@ -326,6 +398,8 @@ images: |
* `name=<string>` image base name
* `enable=<true|false>` enable this entry (default `true`)
If `images` is empty, tags will be generated without base name.
## `flavor` input
`flavor` defines a global behavior for [`tags`](#tags-input):
@@ -400,7 +474,7 @@ tags: |
# handlebars
type=schedule,pattern={{date 'YYYYMMDD'}}
# handlebars with timezone
type=schedule,pattern={{date 'YYYYMMDD-hhmmss' tz='Asia/Tokyo'}}
type=schedule,pattern={{date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}
```
Will be used on [schedule event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule).
@@ -432,6 +506,8 @@ tags: |
type=semver,pattern={{version}}
# use custom value instead of git tag
type=semver,pattern={{version}},value=v1.0.0
# use custom value and match part of it
type=semver,pattern={{version}},value=p1/v1.0.0,match=v(\d.\d.\d)$
```
Will be used on a [push tag event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push)
@@ -447,18 +523,21 @@ with the following expressions:
* `minor` ; minor version identifier
* `patch` ; patch version identifier
| Git tag | Pattern | Output |
|--------------------|----------------------------------------------------------|----------------------|
| `v1.2.3` | `{{raw}}` | `v1.2.3` |
| `v1.2.3` | `{{version}}` | `1.2.3` |
| `v1.2.3` | `{{major}}.{{minor}}` | `1.2` |
| `v1.2.3` | `v{{major}}` | `v1` |
| `v1.2.3` | `{{minor}}` | `2` |
| `v1.2.3` | `{{patch}}` | `3` |
| `v2.0.8-beta.67` | `{{raw}}` | `v2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{version}}` | `2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{major}}.{{minor}}` | `2.0.8-beta.67`* |
| Git tag | Pattern | Match | Output |
|------------------|-----------------------|----------------|------------------|
| `v1.2.3` | `{{raw}}` | | `v1.2.3` |
| `v1.2.3` | `{{version}}` | | `1.2.3` |
| `v1.2.3` | `{{major}}.{{minor}}` | | `1.2` |
| `v1.2.3` | `v{{major}}` | | `v1` |
| `v1.2.3` | `{{minor}}` | | `2` |
| `v1.2.3` | `{{patch}}` | | `3` |
| `p1/v1.2.3` | `{{version}}` | `v(\d.\d.\d)$` | `1.2.3` |
| `v2.0.8-beta.67` | `{{raw}}` | | `v2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{version}}` | | `2.0.8-beta.67` |
| `v2.0.8-beta.67` | `{{major}}` | | `2.0.8-beta.67`* |
| `v2.0.8-beta.67` | `{{major}}.{{minor}}` | | `2.0.8-beta.67`* |
> [!IMPORTANT]
> *Pre-release (rc, beta, alpha) will only extend `{{version}}` (or `{{raw}}`
> if specified) as tag because they are updated frequently, and contain many
> breaking changes that are (by the author's design) not yet fit for public
@@ -468,7 +547,7 @@ Extended attributes and default values:
```yaml
tags: |
type=semver,enable=true,priority=900,prefix=,suffix=,pattern=,value=
type=semver,enable=true,priority=900,prefix=,suffix=,pattern=,value=,match=
```
### `type=pep440`
@@ -479,6 +558,8 @@ tags: |
type=pep440,pattern={{version}}
# use custom value instead of git tag
type=pep440,pattern={{version}},value=1.0.0
# use custom value and match part of it
type=pep440,pattern={{version}},value=p1/v1.0.0,match=v(\d.\d.\d)$
```
Will be used on a [push tag event](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push)
@@ -494,20 +575,22 @@ with the following expressions:
* `minor` ; minor version identifier
* `patch` ; patch version identifier
| Git tag | Pattern | Output |
|--------------------|----------------------------------------------------------|----------------------|
| `1.2.3` | `{{raw}}` | `1.2.3` |
| `1.2.3` | `{{version}}` | `1.2.3` |
| `v1.2.3` | `{{version}}` | `1.2.3` |
| `1.2.3` | `{{major}}.{{minor}}` | `1.2` |
| `1.2.3` | `v{{major}}` | `v1` |
| `v1.2.3rc2` | `{{raw}}` | `v1.2.3rc2` |
| `1.2.3rc2` | `{{version}}` | `1.2.3rc2` |
| `1.2.3rc2` | `{{major}}.{{minor}}` | `1.2.3rc2`* |
| `1.2.3post1` | `{{major}}.{{minor}}` | `1.2.3.post1`* |
| `1.2.3beta2` | `{{major}}.{{minor}}` | `1.2.3b2`* |
| `1.0dev4` | `{{major}}.{{minor}}` | `1.0.dev4`* |
| Git tag | Pattern | Match | Output |
|--------------|-----------------------|----------------|----------------|
| `1.2.3` | `{{raw}}` | | `1.2.3` |
| `1.2.3` | `{{version}}` | | `1.2.3` |
| `v1.2.3` | `{{version}}` | | `1.2.3` |
| `1.2.3` | `{{major}}.{{minor}}` | | `1.2` |
| `1.2.3` | `v{{major}}` | | `v1` |
| `v1.2.3rc2` | `{{raw}}` | | `v1.2.3rc2` |
| `1.2.3rc2` | `{{version}}` | | `1.2.3rc2` |
| `p1/v1.2.3` | `{{version}}` | `v(\d.\d.\d)$` | `1.2.3` |
| `1.2.3rc2` | `{{major}}.{{minor}}` | | `1.2.3rc2`* |
| `1.2.3post1` | `{{major}}.{{minor}}` | | `1.2.3.post1`* |
| `1.2.3beta2` | `{{major}}.{{minor}}` | | `1.2.3b2`* |
| `1.0dev4` | `{{major}}.{{minor}}` | | `1.0.dev4`* |
> [!IMPORTANT]
> *dev/pre/post release will only extend `{{version}}` (or `{{raw}}` if
> specified) as tag because they are updated frequently, and contain many
> breaking changes that are (by the author's design) not yet fit for public
@@ -644,7 +727,26 @@ tags: |
type=sha,format=long
```
Output Git short commit (or long if specified) as Docker tag like `sha-ad132f5`.
Output Git short commit (or long if specified) as Docker tag like
`sha-860c190`.
By default, the length of the short commit SHA is `7` characters. You can
increase this length for larger repositories by setting the
[`DOCKER_METADATA_SHORT_SHA_LENGTH` environment variable](#environment-variables):
```yaml
-
name: Docker meta
id: meta
uses: docker/metadata-action@v6
with:
images: |
name/app
tags: |
type=sha
env:
DOCKER_METADATA_SHORT_SHA_LENGTH: 12
```
Extended attributes and default values:
@@ -678,6 +780,7 @@ generated by default (`auto` mode) for:
* [`type=ref,event=tag`](#typeref)
* [`type=semver,pattern=...`](#typesemver)
* [`type=pep440,pattern=...`](#typepep440)
* [`type=match,pattern=...`](#typematch)
For conditionally tagging with latest for a specific branch name, e.g. if your
@@ -719,7 +822,8 @@ Each tags `type` attribute has a default priority:
### Global expressions
The following [Handlebars' template](https://handlebarsjs.com/guide/) expressions
for `prefix`, `suffix`, `value` and `enable` attributes are available:
for `prefix`, `suffix`, `value` and `enable` attributes of `tags` input are
available:
```yaml
tags: |
@@ -729,6 +833,13 @@ tags: |
type=raw,value=mytag-{{branch}}-{{sha}}
```
They can also be applied to `labels` and `annotations` inputs:
```yaml
labels: |
org.opencontainers.image.created={{commit_date 'YYYY-MM-DDTHH:mm:ss.SSS[Z]'}}
```
#### `{{branch}}`
Returns the branch name that triggered the workflow run. Will be empty if not
@@ -769,6 +880,7 @@ workflow run. Will be empty for a branch reference:
| `push` | `refs/heads/my/branch` | |
| `push tag`* | `refs/tags/v1.2.3` | `master` |
> [!IMPORTANT]
> *`base_ref` is available in the push payload but doesn't always seem to
> return the expected branch when the push tag event occurs. It's also
> [not documented in GitHub docs](https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push).
@@ -780,6 +892,11 @@ workflow run. Will be empty for a branch reference:
Returns `true` if the branch that triggered the workflow run is the default
one, otherwise `false`.
#### `{{is_not_default_branch}}`
Returns `true` if the branch that triggered the workflow run is not the default
one, otherwise `false`.
#### `{{date '<format>' tz='<timezone>'}}`
Returns the current date rendered by its [moment format](https://momentjs.com/docs/#/displaying/format/).
@@ -791,6 +908,20 @@ Default `tz` is UTC.
| `{{date 'dddd, MMMM Do YYYY, h:mm:ss a'}}` | `Friday, January 10th 2020, 3:25:50 pm` |
| `{{date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}` | `20200110-093000` |
#### `{{commit_date '<format>' tz='<timezone>'}}`
Returns the date when the current git commit is committed, rendered by its
[moment format](https://momentjs.com/docs/#/displaying/format/). It falls back
to the current date if the commit date is not available.
Default `tz` is UTC.
| Expression | Output example |
|-----------------------------------------------------|-----------------------------------------|
| `{{commit_date 'YYYYMMDD'}}` | `20200110` |
| `{{commit_date 'dddd, MMMM Do YYYY, h:mm:ss a'}}` | `Friday, January 10th 2020, 3:25:50 pm` |
| `{{commit_date 'YYYYMMDD-HHmmss' tz='Asia/Tokyo'}}` | `20200110-093000` |
### Major version zero
Major version zero (`0.y.z`) is for initial development and **may** change at
@@ -818,13 +949,13 @@ that you can reuse them further in your workflow using the [`fromJSON` function]
```yaml
-
name: Docker meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
id: meta
with:
images: name/app
-
name: Build and push
uses: docker/build-push-action@v3
uses: docker/build-push-action@v7
with:
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
@@ -834,16 +965,17 @@ that you can reuse them further in your workflow using the [`fromJSON` function]
REVISION=${{ fromJSON(steps.meta.outputs.json).labels['org.opencontainers.image.revision'] }}
```
### Overwrite labels
### Overwrite labels and annotations
If some [OCI Image Format Specification](https://github.com/opencontainers/image-spec/blob/master/annotations.md)
labels generated are not suitable, you can overwrite them like this:
generated are not suitable as labels/annotations, you can overwrite them like
this:
```yaml
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
uses: docker/metadata-action@v6
with:
images: name/app
labels: |
@@ -853,6 +985,78 @@ labels generated are not suitable, you can overwrite them like this:
org.opencontainers.image.vendor=MyCompany
```
### Annotations
Since Buildx 0.12, it is possible to set annotations to your image through the
`--annotation` flag.
With the [`build-push-action`](https://github.com/docker/build-push-action/),
you can set the `annotations` input with the value of the `annotations` output
of the `metadata-action`:
```yaml
-
name: Docker meta
uses: docker/metadata-action@v6
with:
images: name/app
-
name: Build and push
uses: docker/build-push-action@v7
with:
tags: ${{ steps.meta.outputs.tags }}
annotations: ${{ steps.meta.outputs.annotations }}
```
The same can be done with the [`bake-action`](https://github.com/docker/bake-action/):
```yaml
-
name: Docker meta
uses: docker/metadata-action@v6
with:
images: name/app
-
name: Build
uses: docker/bake-action@v7
with:
files: |
./docker-bake.hcl
cwd://${{ steps.meta.outputs.bake-file-tags }}
cwd://${{ steps.meta.outputs.bake-file-annotations }}
targets: build
```
Note that annotations can be attached at many different levels within a manifest.
By default, the generated annotations will be attached to image manifests,
but different registries may expect annotations at different places;
a common practice is to read annotations at _image indexes_ if present,
which are often used by multi-arch builds to index platform-specific images.
If you want to specify level(s) for your annotations, you can use the
[`DOCKER_METADATA_ANNOTATIONS_LEVELS` environment variable](#environment-variables)
with a comma separated list of all levels the annotations should be attached to (defaults to `manifest`).
The following configuration demonstrates the ability to attach annotations to both image manifests and image indexes,
though your registry may only need annotations at the index level. (That is, `index` alone may be enough.)
Please consult the documentation of your registry.
```yaml
-
name: Docker meta
uses: docker/metadata-action@v6
with:
images: name/app
env:
DOCKER_METADATA_ANNOTATIONS_LEVELS: manifest,index
-
name: Build and push
uses: docker/build-push-action@v7
with:
tags: ${{ steps.meta.outputs.tags }}
annotations: ${{ steps.meta.outputs.annotations }}
```
More information about annotations in the [BuildKit documentation](https://github.com/moby/buildkit/blob/master/docs/annotations.md).
## Contributing
Want to contribute? Awesome! You can find information about contributing to
-300
View File
@@ -1,300 +0,0 @@
# Upgrade notes
## v2 to v3
* Repository has been moved to docker org. Replace `crazy-max/ghaction-docker-meta@v2`
with `docker/metadata-action@v4`
* The default bake target has been changed: `ghaction-docker-meta` > `docker-metadata-action`
## v1 to v2
* [inputs](#inputs)
* [`tag-sha`](#tag-sha)
* [`tag-edge` / `tag-edge-branch`](#tag-edge--tag-edge-branch)
* [`tag-semver`](#tag-semver)
* [`tag-match` / `tag-match-group`](#tag-match--tag-match-group)
* [`tag-latest`](#tag-latest)
* [`tag-schedule`](#tag-schedule)
* [`tag-custom` / `tag-custom-only`](#tag-custom--tag-custom-only)
* [`label-custom`](#label-custom)
* [Basic workflow](#basic-workflow)
* [Semver workflow](#semver-workflow)
### inputs
| New | Unchanged | Removed |
|------------|-----------------|--------------------|
| `tags` | `images` | `tag-sha` |
| `flavor` | `sep-tags` | `tag-edge` |
| `labels` | `sep-labels` | `tag-edge-branch` |
| | | `tag-semver` |
| | | `tag-match` |
| | | `tag-match-group` |
| | | `tag-latest` |
| | | `tag-schedule` |
| | | `tag-custom` |
| | | `tag-custom-only` |
| | | `label-custom` |
#### `tag-sha`
```yaml
tags: |
type=sha
```
#### `tag-edge` / `tag-edge-branch`
```yaml
tags: |
# default branch
type=edge
# specify branch
type=edge,branch=main
```
#### `tag-semver`
```yaml
tags: |
type=semver,pattern={{version}}
```
#### `tag-match` / `tag-match-group`
```yaml
tags: |
type=match,pattern=v(.*),group=1
```
#### `tag-latest`
`tag-latest` is now handled through the [`flavor` input](README.md#flavor-input):
```yaml
flavor: |
latest=auto
```
See also the notes about ["latest tag" behavior](README.md#latest-tag)
#### `tag-schedule`
```yaml
tags: |
# default tag (nightly)
type=schedule
# specific pattern
type=schedule,pattern={{date 'YYYYMMDD'}}
```
#### `tag-custom` / `tag-custom-only`
```yaml
tags: |
type=raw,value=foo
type=raw,value=bar
# or
type=raw,foo
type=raw,bar
# or
foo
bar
```
#### `label-custom`
Same behavior for `labels`:
```yaml
labels: |
maintainer=CrazyMax
```
### Basic workflow
```yaml
# v1
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v1
with:
images: name/app
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
```yaml
# v2
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: name/app
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
### Semver workflow
```yaml
# v1
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v1
with:
images: name/app
tag-semver: |
{{version}}
{{major}}.{{minor}}
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
```yaml
# v2
name: ci
on:
push:
branches:
- 'master'
tags:
- 'v*'
pull_request:
branches:
- 'master'
jobs:
docker:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v3
-
name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: name/app
tags: |
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
-
name: Login to DockerHub
if: github.event_name != 'pull_request'
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
```
+228 -155
View File
@@ -1,167 +1,240 @@
import {describe, expect, it, jest} from '@jest/globals';
import * as fs from 'fs';
import * as path from 'path';
import {afterEach, beforeEach, describe, expect, test, it, vi} from 'vitest';
import {execFileSync} from 'child_process';
import fs from 'fs';
import path from 'path';
import * as context from '../src/context';
import {Git} from '@docker/actions-toolkit/lib/git.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
jest.spyOn(context, 'tmpDir').mockImplementation((): string => {
const tmpDir = path.join('/tmp/.docker-metadata-action-jest').split(path.sep).join(path.posix.sep);
if (!fs.existsSync(tmpDir)) {
fs.mkdirSync(tmpDir, {recursive: true});
}
return tmpDir;
});
import * as context from '../src/context.js';
import {Meta} from '../src/meta.js';
import repoFixture from './fixtures/repo.json' with {type: 'json'};
describe('getInputList', () => {
it('single line correctly', async () => {
await setInput('foo', 'bar');
const res = context.getInputList('foo');
expect(res).toEqual(['bar']);
const toolkit = new Toolkit({githubToken: 'fake-github-token'});
describe('getInputs', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
});
it('multiline correctly', async () => {
setInput('foo', 'bar\nbaz');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', 'baz']);
it('reads a Git context with a path', () => {
setInput('context', 'git:nested checkout');
expect(context.getInputs().context).toEqual('git:nested checkout');
});
it('empty lines correctly', async () => {
setInput('foo', 'bar\n\nbaz');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', 'baz']);
});
it('comment correctly', async () => {
setInput('foo', 'bar\n#com\n"#taken"\nhello#comment\nbaz');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', '#taken', 'hello', 'baz']);
});
it('comma correctly', async () => {
setInput('foo', 'bar,baz');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', 'baz']);
});
it('empty result correctly', async () => {
setInput('foo', 'bar,baz,');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', 'baz']);
});
it('different new lines correctly', async () => {
setInput('foo', 'bar\r\nbaz');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', 'baz']);
});
it('different new lines and comma correctly', async () => {
setInput('foo', 'bar\r\nbaz,bat');
const res = context.getInputList('foo');
expect(res).toEqual(['bar', 'baz', 'bat']);
});
it('multiline and ignoring comma correctly', async () => {
setInput('cache-from', 'user/app:cache\ntype=local,src=path/to/dir');
const res = context.getInputList('cache-from', true);
expect(res).toEqual(['user/app:cache', 'type=local,src=path/to/dir']);
});
it('different new lines and ignoring comma correctly', async () => {
setInput('cache-from', 'user/app:cache\r\ntype=local,src=path/to/dir');
const res = context.getInputList('cache-from', true);
expect(res).toEqual(['user/app:cache', 'type=local,src=path/to/dir']);
});
it('multiline values', async () => {
setInput(
'secrets',
`GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789
"MYSECRET=aaaaaaaa
bbbbbbb
ccccccccc"
FOO=bar`
);
const res = context.getInputList('secrets', true);
expect(res).toEqual([
'GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789',
`MYSECRET=aaaaaaaa
bbbbbbb
ccccccccc`,
'FOO=bar'
]);
});
it('multiline values with empty lines', async () => {
setInput(
'secrets',
`GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789
"MYSECRET=aaaaaaaa
bbbbbbb
ccccccccc"
FOO=bar
"EMPTYLINE=aaaa
bbbb
ccc"`
);
const res = context.getInputList('secrets', true);
expect(res).toEqual([
'GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789',
`MYSECRET=aaaaaaaa
bbbbbbb
ccccccccc`,
'FOO=bar',
`EMPTYLINE=aaaa
bbbb
ccc`
]);
});
it('multiline values without quotes', async () => {
setInput(
'secrets',
`GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789
MYSECRET=aaaaaaaa
bbbbbbb
ccccccccc
FOO=bar`
);
const res = context.getInputList('secrets', true);
expect(res).toEqual(['GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789', 'MYSECRET=aaaaaaaa', 'bbbbbbb', 'ccccccccc', 'FOO=bar']);
});
it('multiline values escape quotes', async () => {
setInput(
'secrets',
`GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789
"MYSECRET=aaaaaaaa
bbbb""bbb
ccccccccc"
FOO=bar`
);
const res = context.getInputList('secrets', true);
expect(res).toEqual([
'GIT_AUTH_TOKEN=abcdefgh,ijklmno=0123456789',
`MYSECRET=aaaaaaaa
bbbb"bbb
ccccccccc`,
'FOO=bar'
]);
});
});
describe('asyncForEach', () => {
it('executes async tasks sequentially', async () => {
const testValues = [1, 2, 3, 4, 5];
const results: number[] = [];
await context.asyncForEach(testValues, async value => {
results.push(value);
// prettier-ignore
const cases: [number, Map<string, string>, context.Inputs][] = [
[
0,
new Map<string, string>([
['images', 'moby/buildkit\nghcr.io/moby/mbuildkit'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
labels: [],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
1,
new Map<string, string>([
['bake-target', 'metadata'],
['images', 'moby/buildkit'],
['sep-labels', ','],
['sep-tags', ','],
['sep-annotations', ',']
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'metadata',
flavor: [],
githubToken: '',
images: ['moby/buildkit'],
labels: [],
annotations: [],
sepLabels: ',',
sepTags: ',',
sepAnnotations: ',',
tags: [],
}
],
[
2,
new Map<string, string>([
['images', 'moby/buildkit\n#comment\nghcr.io/moby/mbuildkit'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: ['moby/buildkit', 'ghcr.io/moby/mbuildkit'],
labels: [],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
3,
new Map<string, string>([
['labels', 'mylabel=foo#bar\n#comment\nanother=bar'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: [],
labels: ['mylabel=foo#bar', 'another=bar'],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
4,
new Map<string, string>([
['annotations', 'org.opencontainers.image.url=https://example.com/path#readme\n#comment\norg.opencontainers.image.source=https://github.com/docker/metadata-action'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: [],
githubToken: '',
images: [],
labels: [],
annotations: [
'org.opencontainers.image.url=https://example.com/path#readme',
'org.opencontainers.image.source=https://github.com/docker/metadata-action'
],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: [],
}
],
[
5,
new Map<string, string>([
['tags', 'type=raw,value=foo#bar\n#comment'],
['flavor', 'prefix=v#1\n#comment'],
]),
{
context: context.ContextSource.workflow,
bakeTarget: 'docker-metadata-action',
flavor: ['prefix=v#1'],
githubToken: '',
images: [],
labels: [],
annotations: [],
sepLabels: '\n',
sepTags: '\n',
sepAnnotations: '\n',
tags: ['type=raw,value=foo#bar'],
}
],
];
test.each(cases)('[%d] given %o as inputs, returns %o', async (num: number, inputs: Map<string, string>, expected: context.Inputs) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const res = await context.getInputs();
expect(res).toEqual(expected);
});
});
expect(results).toEqual(testValues);
describe('getContext', () => {
afterEach(() => {
vi.restoreAllMocks();
});
it('workflow does not read Git context', async () => {
const gitContext = vi.spyOn(Git, 'context');
const gitCommitDate = vi.spyOn(Git, 'commitDate');
const ctx = await context.getContext(context.ContextSource.workflow, toolkit);
expect(ctx.ref).toEqual('refs/heads/dev');
expect(ctx.sha).toEqual('5f3331d7f7044c18ca9f12c77d961c4d7cf3276a');
expect(ctx.commitDate).toEqual(new Date('2024-11-13T13:42:28.000Z'));
expect(gitContext).not.toHaveBeenCalled();
expect(gitCommitDate).not.toHaveBeenCalled();
});
it.each<[string, string | undefined]>([
['git', undefined],
['git:', ''],
['git:source', 'source'],
['git:C:\\nested checkout', 'C:\\nested checkout']
])('reads %s', async (source, workdir) => {
vi.spyOn(Git, 'context').mockImplementation((): Promise<context.Context> => {
return Promise.resolve({
ref: 'refs/heads/git-test',
sha: 'git-test-sha'
} as context.Context);
});
vi.spyOn(Git, 'commitDate').mockImplementation(async (): Promise<Date> => {
return new Date('2023-01-01T13:42:28.000Z');
});
const ctx = await context.getContext(source, toolkit);
expect(Git.context).toHaveBeenCalledWith(workdir);
expect(Git.commitDate).toHaveBeenCalledWith('git-test-sha', workdir);
expect(ctx.ref).toEqual('refs/heads/git-test');
expect(ctx.sha).toEqual('git-test-sha');
expect(ctx.commitDate).toEqual(new Date('2023-01-01T13:42:28.000Z'));
});
it.each(['workflow:source', 'gitfoo:source', 'invalid'])('rejects invalid context %s', async source => {
await expect(context.getContext(source, toolkit)).rejects.toThrow(`Invalid context source: ${source}`);
});
it.each(['relative', 'absolute'])('reads a selected checkout using a %s path', async pathType => {
const checkoutDir = fs.mkdtempSync(path.join(process.cwd(), 'git context-'));
const workdir = pathType === 'relative' ? path.relative(process.cwd(), checkoutDir) : checkoutDir;
const commitDate = '2024-01-02T03:04:05Z';
const git = (args: string[]) =>
execFileSync('git', args, {
cwd: checkoutDir,
encoding: 'utf8',
stdio: 'pipe',
env: {...process.env, GIT_AUTHOR_DATE: commitDate, GIT_COMMITTER_DATE: commitDate}
}).trim();
try {
git(['init', '--initial-branch=selected-checkout']);
git(['-c', 'user.name=Test', '-c', 'user.email=test@example.com', '-c', 'commit.gpgsign=false', 'commit', '--allow-empty', '-m', 'initial']);
const sha = git(['rev-parse', 'HEAD']);
const ctx = await context.getContext(`git:${workdir}`, toolkit);
expect(ctx.ref).toEqual('refs/heads/selected-checkout');
expect(ctx.sha).toEqual(sha);
expect(ctx.commitDate).toEqual(new Date(commitDate));
git(['checkout', '--detach', 'HEAD']);
git(['branch', '-D', 'selected-checkout']);
const detachedContext = await context.getContext(`git:${workdir}`, toolkit);
expect(detachedContext.ref).toEqual('');
expect(detachedContext.sha).toEqual(sha);
expect(detachedContext.commitDate).toEqual(new Date(commitDate));
const meta = new Meta({...context.getInputs(), images: ['name/app'], tags: ['type=sha,format=long'], flavor: []}, detachedContext, repoFixture);
expect(meta.getTags()).toEqual([`name/app:sha-${sha}`]);
} finally {
fs.rmSync(checkoutDir, {recursive: true, force: true});
}
});
});
+12
View File
@@ -72,11 +72,14 @@
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"forks": 9,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"open_issues": 0,
"is_template": true,
"topics": [
"octocat",
@@ -85,6 +88,7 @@
"api"
],
"has_issues": true,
"has_discussions": false,
"has_projects": true,
"has_wiki": true,
"has_pages": false,
@@ -211,11 +215,15 @@
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"forks": 9,
"license": null,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"open_issues": 0,
"is_template": true,
"topics": [
"octocat",
@@ -322,11 +330,15 @@
"homepage": "https://github.com",
"language": null,
"forks_count": 9,
"forks": 9,
"license": null,
"stargazers_count": 80,
"watchers_count": 80,
"watchers": 80,
"size": 108,
"default_branch": "master",
"open_issues_count": 0,
"open_issues": 0,
"is_template": true,
"topics": [
"octocat",
+4 -3
View File
@@ -1,5 +1,6 @@
import {describe, expect, test} from '@jest/globals';
import {Flavor, Transform} from '../src/flavor';
import {describe, expect, test} from 'vitest';
import {Flavor, Transform} from '../src/flavor.js';
describe('transform', () => {
// prettier-ignore
@@ -174,7 +175,7 @@ describe('transform', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
-14
View File
@@ -1,14 +0,0 @@
import {describe, expect, jest, it} from '@jest/globals';
import * as github from '../src/github';
import * as repoFixture from './fixtures/repo.json';
jest.spyOn(github, 'repo').mockImplementation((): Promise<github.ReposGetResponseData> => {
return <Promise<github.ReposGetResponseData>>(repoFixture as unknown);
});
describe('repo', () => {
it('returns GitHub repository', async () => {
const repo = await github.repo(process.env.GITHUB_TOKEN || '');
expect(repo.name).not.toBeNull();
});
});
+5 -4
View File
@@ -1,5 +1,6 @@
import {describe, expect, test} from '@jest/globals';
import {Transform, Image} from '../src/image';
import {describe, expect, test} from 'vitest';
import {Transform, Image} from '../src/image.js';
describe('transform', () => {
// prettier-ignore
@@ -86,7 +87,7 @@ describe('transform', () => {
[
[`name/foo,name=name/bar,enable=true`], undefined, true
]
])('given %p', async (l: string[], expected: Image[], invalid: boolean) => {
])('given %p', async (l: string[], expected: Image[] | undefined, invalid: boolean) => {
try {
const images = Transform(l);
expect(images).toEqual(expected);
@@ -94,7 +95,7 @@ describe('transform', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
+1769 -926
View File
File diff suppressed because it is too large. Load diff
+252
View File
@@ -0,0 +1,252 @@
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
import {vi} from 'vitest';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-'));
const githubPayload = {
after: '860c1904a1ce19322e91ac35af1ab07466440c37',
base_ref: null,
before: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
commits: [
{
author: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
committer: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
distinct: true,
id: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
message: 'hello dev',
timestamp: '2024-11-13T13:42:28Z',
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
url: 'https://github.com/docker/test-docker-action/commit/5f3331d7f7044c18ca9f12c77d961c4d7cf3276a'
}
],
compare: 'https://github.com/docker/test-docker-action/compare/5f3331d7f704...860c1904a1ce',
created: false,
deleted: false,
forced: false,
head_commit: {
author: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
committer: {
email: 'crazy-max@users.noreply.github.com',
name: 'CrazyMax',
username: 'crazy-max'
},
distinct: true,
id: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
message: 'hello dev',
timestamp: '2024-11-13T13:42:28Z',
tree_id: 'd2c60af597e863787d2d27f569e30495b0b92820',
url: 'https://github.com/docker/test-docker-action/commit/5f3331d7f7044c18ca9f12c77d961c4d7cf3276a'
},
organization: {
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
description: 'Docker helps developers bring their ideas to life by conquering the complexity of app development.',
events_url: 'https://api.github.com/orgs/docker/events',
hooks_url: 'https://api.github.com/orgs/docker/hooks',
id: 5429470,
issues_url: 'https://api.github.com/orgs/docker/issues',
login: 'docker',
members_url: 'https://api.github.com/orgs/docker/members{/member}',
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
public_members_url: 'https://api.github.com/orgs/docker/public_members{/member}',
repos_url: 'https://api.github.com/orgs/docker/repos',
url: 'https://api.github.com/orgs/docker'
},
pusher: {
email: 'github@crazymax.dev',
name: 'crazy-max'
},
ref: 'refs/heads/dev',
repository: {
allow_forking: true,
archive_url: 'https://api.github.com/repos/docker/test-docker-action/{archive_format}{/ref}',
archived: false,
assignees_url: 'https://api.github.com/repos/docker/test-docker-action/assignees{/user}',
blobs_url: 'https://api.github.com/repos/docker/test-docker-action/git/blobs{/sha}',
branches_url: 'https://api.github.com/repos/docker/test-docker-action/branches{/branch}',
clone_url: 'https://github.com/docker/test-docker-action.git',
collaborators_url: 'https://api.github.com/repos/docker/test-docker-action/collaborators{/collaborator}',
comments_url: 'https://api.github.com/repos/docker/test-docker-action/comments{/number}',
commits_url: 'https://api.github.com/repos/docker/test-docker-action/commits{/sha}',
compare_url: 'https://api.github.com/repos/docker/test-docker-action/compare/{base}...{head}',
contents_url: 'https://api.github.com/repos/docker/test-docker-action/contents/{+path}',
contributors_url: 'https://api.github.com/repos/docker/test-docker-action/contributors',
created_at: 1596792180,
default_branch: 'master',
deployments_url: 'https://api.github.com/repos/docker/test-docker-action/deployments',
description: 'Test "Docker" Actions',
disabled: false,
downloads_url: 'https://api.github.com/repos/docker/test-docker-action/downloads',
events_url: 'https://api.github.com/repos/docker/test-docker-action/events',
fork: false,
forks: 1,
forks_count: 1,
forks_url: 'https://api.github.com/repos/docker/test-docker-action/forks',
full_name: 'docker/test-docker-action',
git_commits_url: 'https://api.github.com/repos/docker/test-docker-action/git/commits{/sha}',
git_refs_url: 'https://api.github.com/repos/docker/test-docker-action/git/refs{/sha}',
git_tags_url: 'https://api.github.com/repos/docker/test-docker-action/git/tags{/sha}',
git_url: 'git://github.com/docker/test-docker-action.git',
has_downloads: true,
has_issues: true,
has_pages: false,
has_projects: true,
has_wiki: true,
homepage: '',
hooks_url: 'https://api.github.com/repos/docker/test-docker-action/hooks',
html_url: 'https://github.com/docker/test-docker-action',
id: 285789493,
is_template: false,
issue_comment_url: 'https://api.github.com/repos/docker/test-docker-action/issues/comments{/number}',
issue_events_url: 'https://api.github.com/repos/docker/test-docker-action/issues/events{/number}',
issues_url: 'https://api.github.com/repos/docker/test-docker-action/issues{/number}',
keys_url: 'https://api.github.com/repos/docker/test-docker-action/keys{/key_id}',
labels_url: 'https://api.github.com/repos/docker/test-docker-action/labels{/name}',
language: 'JavaScript',
languages_url: 'https://api.github.com/repos/docker/test-docker-action/languages',
license: {
key: 'mit',
name: 'MIT License',
node_id: 'MDc6TGljZW5zZTEz',
spdx_id: 'MIT',
url: 'https://api.github.com/licenses/mit'
},
master_branch: 'master',
merges_url: 'https://api.github.com/repos/docker/test-docker-action/merges',
milestones_url: 'https://api.github.com/repos/docker/test-docker-action/milestones{/number}',
mirror_url: null,
name: 'test-docker-action',
node_id: 'MDEwOlJlcG9zaXRvcnkyODU3ODk0OTM=',
notifications_url: 'https://api.github.com/repos/docker/test-docker-action/notifications{?since,all,participating}',
open_issues: 6,
open_issues_count: 6,
organization: 'docker',
owner: {
avatar_url: 'https://avatars.githubusercontent.com/u/5429470?v=4',
email: 'info@docker.com',
events_url: 'https://api.github.com/users/docker/events{/privacy}',
followers_url: 'https://api.github.com/users/docker/followers',
following_url: 'https://api.github.com/users/docker/following{/other_user}',
gists_url: 'https://api.github.com/users/docker/gists{/gist_id}',
gravatar_id: '',
html_url: 'https://github.com/docker',
id: 5429470,
login: 'docker',
name: 'docker',
node_id: 'MDEyOk9yZ2FuaXphdGlvbjU0Mjk0NzA=',
organizations_url: 'https://api.github.com/users/docker/orgs',
received_events_url: 'https://api.github.com/users/docker/received_events',
repos_url: 'https://api.github.com/users/docker/repos',
site_admin: false,
starred_url: 'https://api.github.com/users/docker/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/docker/subscriptions',
type: 'Organization',
url: 'https://api.github.com/users/docker'
},
private: true,
pulls_url: 'https://api.github.com/repos/docker/test-docker-action/pulls{/number}',
pushed_at: 1650360446,
releases_url: 'https://api.github.com/repos/docker/test-docker-action/releases{/id}',
size: 796,
ssh_url: 'git@github.com:docker/test-docker-action.git',
stargazers: 0,
stargazers_count: 0,
stargazers_url: 'https://api.github.com/repos/docker/test-docker-action/stargazers',
statuses_url: 'https://api.github.com/repos/docker/test-docker-action/statuses/{sha}',
subscribers_url: 'https://api.github.com/repos/docker/test-docker-action/subscribers',
subscription_url: 'https://api.github.com/repos/docker/test-docker-action/subscription',
svn_url: 'https://github.com/docker/test-docker-action',
tags_url: 'https://api.github.com/repos/docker/test-docker-action/tags',
teams_url: 'https://api.github.com/repos/docker/test-docker-action/teams',
topics: [],
trees_url: 'https://api.github.com/repos/docker/test-docker-action/git/trees{/sha}',
updated_at: '2022-04-19T09:05:09Z',
url: 'https://github.com/docker/test-docker-action',
visibility: 'private',
watchers: 0,
watchers_count: 0
},
sender: {
avatar_url: 'https://avatars.githubusercontent.com/u/1951866?v=4',
events_url: 'https://api.github.com/users/crazy-max/events{/privacy}',
followers_url: 'https://api.github.com/users/crazy-max/followers',
following_url: 'https://api.github.com/users/crazy-max/following{/other_user}',
gists_url: 'https://api.github.com/users/crazy-max/gists{/gist_id}',
gravatar_id: '',
html_url: 'https://github.com/crazy-max',
id: 1951866,
login: 'crazy-max',
node_id: 'MDQ6VXNlcjE5NTE4NjY=',
organizations_url: 'https://api.github.com/users/crazy-max/orgs',
received_events_url: 'https://api.github.com/users/crazy-max/received_events',
repos_url: 'https://api.github.com/users/crazy-max/repos',
site_admin: false,
starred_url: 'https://api.github.com/users/crazy-max/starred{/owner}{/repo}',
subscriptions_url: 'https://api.github.com/users/crazy-max/subscriptions',
type: 'User',
url: 'https://api.github.com/users/crazy-max'
}
};
const githubEventPath = path.join(tmpDir, 'github-event.json');
fs.writeFileSync(githubEventPath, JSON.stringify(githubPayload));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/metadata-action',
GITHUB_REF: 'refs/heads/dev',
GITHUB_RUN_ID: '2188748038',
GITHUB_RUN_ATTEMPT: '1',
GITHUB_RUN_NUMBER: '15',
GITHUB_SHA: '5f3331d7f7044c18ca9f12c77d961c4d7cf3276a',
GITHUB_EVENT_PATH: githubEventPath,
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});
const getCommitMock = vi.hoisted(() =>
vi.fn(async () => ({
data: {
commit: {
committer: {
date: '2024-11-13T13:42:28Z'
}
}
}
}))
);
const getOctokitMock = vi.hoisted(() =>
vi.fn(() => ({
rest: {
repos: {
getCommit: getCommitMock
}
}
}))
);
vi.mock('@actions/github', async importOriginal => {
const actual = await importOriginal<typeof import('@actions/github')>();
return {
...actual,
context: {
...actual.context,
payload: githubPayload
},
getOctokit: getOctokitMock
};
});
+27 -8
View File
@@ -1,5 +1,6 @@
import {describe, expect, test} from '@jest/globals';
import {Transform, Parse, Tag, Type, RefEvent, ShaFormat, DefaultPriorities} from '../src/tag';
import {describe, expect, test} from 'vitest';
import {Transform, Parse, Tag, Type, RefEvent, ShaFormat, DefaultPriorities} from '../src/tag.js';
describe('transform', () => {
// prettier-ignore
@@ -31,7 +32,8 @@ describe('transform', () => {
"priority": DefaultPriorities[Type.Semver],
"enable": "true",
"pattern": "{{version}}",
"value": ""
"value": "",
"match": ""
}
},
{
@@ -105,7 +107,7 @@ describe('transform', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
@@ -146,7 +148,8 @@ describe('parse', () => {
"priority": DefaultPriorities[Type.Semver],
"enable": "true",
"pattern": "{{version}}",
"value": ""
"value": "",
"match": ""
}
} as Tag,
false
@@ -159,7 +162,8 @@ describe('parse', () => {
"priority": "1",
"enable": "true",
"pattern": "{{version}}",
"value": ""
"value": "",
"match": ""
}
} as Tag,
false
@@ -172,7 +176,22 @@ describe('parse', () => {
"priority": "1",
"enable": "true",
"pattern": "{{version}}",
"value": "v1.0.0"
"value": "v1.0.0",
"match": ""
}
} as Tag,
false
],
[
`type=semver,priority=1,enable=true,pattern={{version}},value=p1/v1.0.0,"match=v(\\d.\\d.\\d)$"`,
{
type: Type.Semver,
attrs: {
"priority": "1",
"enable": "true",
"pattern": "{{version}}",
"value": "p1/v1.0.0",
"match": "v(\\d.\\d.\\d)$"
}
} as Tag,
false
@@ -442,7 +461,7 @@ describe('parse', () => {
if (!invalid) {
console.error(err);
}
// eslint-disable-next-line jest/no-conditional-expect
// eslint-disable-next-line vitest/no-conditional-expect
expect(true).toBe(invalid);
}
});
+25 -5
View File
@@ -7,9 +7,13 @@ branding:
color: 'blue'
inputs:
context:
description: 'Where to get context data. Allowed options are "workflow" (default), "git", "git:<path>".'
default: "workflow"
required: true
images:
description: 'List of Docker images to use as base name for tags'
required: true
required: false
tags:
description: 'List of tags as key-value pair attributes'
required: false
@@ -19,12 +23,18 @@ inputs:
labels:
description: 'List of custom labels'
required: false
annotations:
description: 'List of custom annotations'
required: false
sep-tags:
description: 'Separator to use for tags output (default \n)'
required: false
sep-labels:
description: 'Separator to use for labels output (default \n)'
required: false
sep-annotations:
description: 'Separator to use for annotations output (default \n)'
required: false
bake-target:
description: 'Bake target name (default docker-metadata-action)'
required: false
@@ -38,13 +48,23 @@ outputs:
description: 'Generated Docker image version'
tags:
description: 'Generated Docker tags'
tag-names:
description: 'Generated Docker tag names without image base name'
labels:
description: 'Generated Docker labels'
bake-file:
description: 'Bake definiton file'
annotations:
description: 'Generated annotations'
json:
description: 'JSON output of tags and labels'
bake-file-tags:
description: 'Bake definition file with tags'
bake-file-labels:
description: 'Bake definition file with labels'
bake-file-annotations:
description: 'Bake definition file with annotations'
bake-file:
description: 'Bake definition file with tags and labels'
runs:
using: 'node16'
main: 'dist/index.js'
using: 'node24'
main: 'dist/index.cjs'
+46 -28
View File
@@ -1,71 +1,89 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=16
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
yarn install --immutable && mkdir /vendor && cp yarn.lock /vendor
FROM scratch AS vendor-update
COPY --from=deps /vendor /
FROM deps AS vendor-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor-update"'
git status --porcelain -- yarn.lock
exit 1
fi
set -e
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/node_modules \
yarn run build && mkdir /out && cp -Rf dist /out/
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
git add -A
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
git status --porcelain -- dist
exit 1
fi
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
git status --porcelain -- dist
exit 1
fi
EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format \
&& mkdir /out && find . -name '*.ts' -not -path './node_modules/*' | cpio -pdm /out
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM deps AS test
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverageDirectory=/tmp/coverage
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /
Generated Vendored
+316
View File
@@ -0,0 +1,316 @@
var VIe=Object.create;var Mz=Object.defineProperty;var JIe=Object.getOwnPropertyDescriptor;var YIe=Object.getOwnPropertyNames;var $Ie=Object.getPrototypeOf,jIe=Object.prototype.hasOwnProperty;var s=(t,e)=>Mz(t,"name",{value:e,configurable:!0});var m=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),KIe=(t,e)=>{for(var r in e)Mz(t,r,{get:e[r],enumerable:!0})},ZIe=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of YIe(e))!jIe.call(t,o)&&o!==r&&Mz(t,o,{get:()=>e[o],enumerable:!(n=JIe(e,o))||n.enumerable});return t};var w=(t,e,r)=>(r=t!=null?VIe($Ie(t)):{},ZIe(e||!t||!t.__esModule?Mz(r,"default",{value:t,enumerable:!0}):r,t));var i9=m(bA=>{"use strict";var _B0=require("net"),i5e=require("tls"),uI=require("http"),r9=require("https"),s5e=require("events"),QB0=require("assert"),a5e=require("util");bA.httpOverHttp=c5e;bA.httpsOverHttp=u5e;bA.httpOverHttps=p5e;bA.httpsOverHttps=A5e;function c5e(t){var e=new Os(t);return e.request=uI.request,e}s(c5e,"httpOverHttp");function u5e(t){var e=new Os(t);return e.request=uI.request,e.createSocket=n9,e.defaultPort=443,e}s(u5e,"httpsOverHttp");function p5e(t){var e=new Os(t);return e.request=r9.request,e}s(p5e,"httpOverHttps");function A5e(t){var e=new Os(t);return e.request=r9.request,e.createSocket=n9,e.defaultPort=443,e}s(A5e,"httpsOverHttps");function Os(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||uI.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",s(function(n,o,i,a){for(var c=o9(o,i,a),u=0,p=e.requests.length;u<p;++u){var A=e.requests[u];if(A.host===c.host&&A.port===c.port){e.requests.splice(u,1),A.request.onSocket(n);return}}n.destroy(),e.removeSocket(n)},"onFree"))}s(Os,"TunnelingAgent");a5e.inherits(Os,s5e.EventEmitter);Os.prototype.addRequest=s(function(e,r,n,o){var i=this,a=pI({request:e},i.options,o9(r,n,o));if(i.sockets.length>=this.maxSockets){i.requests.push(a);return}i.createSocket(a,function(c){c.on("free",u),c.on("close",p),c.on("agentRemove",p),e.onSocket(c);function u(){i.emit("free",c,a)}s(u,"onFree");function p(A){i.removeSocket(c),c.removeListener("free",u),c.removeListener("close",p),c.removeListener("agentRemove",p)}s(p,"onCloseOrRemove")})},"addRequest");Os.prototype.createSocket=s(function(e,r){var n=this,o={};n.sockets.push(o);var i=pI({},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")),Sa("making CONNECT request");var a=n.request(i);a.useChunkedEncodingByDefault=!1,a.once("response",c),a.once("upgrade",u),a.once("connect",p),a.once("error",A),a.end();function c(l){l.upgrade=!0}s(c,"onResponse");function u(l,b,M){process.nextTick(function(){p(l,b,M)})}s(u,"onUpgrade");function p(l,b,M){if(a.removeAllListeners(),b.removeAllListeners(),l.statusCode!==200){Sa("tunneling socket could not be established, statusCode=%d",l.statusCode),b.destroy();var z=new Error("tunneling socket could not be established, statusCode="+l.statusCode);z.code="ECONNRESET",e.request.emit("error",z),n.removeSocket(o);return}if(M.length>0){Sa("got illegal response body from proxy"),b.destroy();var z=new Error("got illegal response body from proxy");z.code="ECONNRESET",e.request.emit("error",z),n.removeSocket(o);return}return Sa("tunneling connection has established"),n.sockets[n.sockets.indexOf(o)]=b,r(b)}s(p,"onConnect");function A(l){a.removeAllListeners(),Sa(`tunneling socket could not be established, cause=%s
`,l.message,l.stack);var b=new Error("tunneling socket could not be established, cause="+l.message);b.code="ECONNRESET",e.request.emit("error",b),n.removeSocket(o)}s(A,"onError")},"createSocket");Os.prototype.removeSocket=s(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(o){n.request.onSocket(o)})}},"removeSocket");function n9(t,e){var r=this;Os.prototype.createSocket.call(r,t,function(n){var o=t.request.getHeader("host"),i=pI({},r.options,{socket:n,servername:o?o.replace(/:.*$/,""):t.host}),a=i5e.connect(0,i);r.sockets[r.sockets.indexOf(n)]=a,e(a)})}s(n9,"createSecureSocket");function o9(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}s(o9,"toOptions");function pI(t){for(var e=1,r=arguments.length;e<r;++e){var n=arguments[e];if(typeof n=="object")for(var o=Object.keys(n),i=0,a=o.length;i<a;++i){var c=o[i];n[c]!==void 0&&(t[c]=n[c])}}return t}s(pI,"mergeOptions");var Sa;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?Sa=s(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)},"debug"):Sa=s(function(){},"debug");bA.debug=Sa});var Kd=m((UB0,s9)=>{s9.exports=i9()});var G0=m((GB0,a9)=>{a9.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 p0=m((HB0,S9)=>{"use strict";var c9=Symbol.for("undici.error.UND_ERR"),H0=class extends Error{static{s(this,"UndiciError")}constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[c9]===!0}[c9]=!0},u9=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),AI=class extends H0{static{s(this,"ConnectTimeoutError")}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[u9]===!0}[u9]=!0},p9=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),lI=class extends H0{static{s(this,"HeadersTimeoutError")}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[p9]===!0}[p9]=!0},A9=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),dI=class extends H0{static{s(this,"HeadersOverflowError")}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[A9]===!0}[A9]=!0},l9=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),bI=class extends H0{static{s(this,"BodyTimeoutError")}constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT" Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}s(HG,"isValidHeaderValue");function qNe(t,e){let{headersList:r}=e,n=(r.get("referrer-policy",!0)??"").split(","),o="";if(n.length>0)for(let i=n.length;i!==0;i--){let a=n[i-1].trim();if(ANe.has(a)){o=a;break}}o!==""&&(t.referrerPolicy=o)}s(qNe,"setRequestReferrerPolicyOnRedirect");function INe(){return"allowed"}s(INe,"crossOriginResourcePolicyCheck");function RNe(){return"success"}s(RNe,"corsCheck");function NNe(){return"success"}s(NNe,"TAOCheck");function wNe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}s(wNe,"appendFetchMetadata");function SNe(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&&s5(t.origin)&&!s5(cb(t))&&(e=null);break;case"same-origin":Pz(t,cb(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}s(SNe,"appendRequestOriginHeader");function yA(t,e){return t}s(yA,"coarsenTime");function FNe(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:yA(t.domainLookupStartTime,r),domainLookupEndTime:yA(t.domainLookupEndTime,r),connectionStartTime:yA(t.connectionStartTime,r),connectionEndTime:yA(t.connectionEndTime,r),secureConnectionStartTime:yA(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}s(FNe,"clampAndCoarsenConnectionTimingInfo");function WNe(t){return yA(MNe.now(),t)}s(WNe,"coarsenedSharedCurrentTime");function xNe(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}}s(xNe,"createOpaqueTimingInfo");function XG(){return{referrerPolicy:"strict-origin-when-cross-origin"}}s(XG,"makePolicyContainer");function TNe(t){return{referrerPolicy:t.referrerPolicy}}s(TNe,"clonePolicyContainer");function vNe(t){let e=t.referrerPolicy;nu(e);let r=null;if(t.referrer==="client"){let c=QG();if(!c||c.origin==="null")return"no-referrer";r=new URL(c)}else t.referrer instanceof URL&&(r=t.referrer);let n=i5(r),o=i5(r,!0);n.toString().length>4096&&(n=o);let i=Pz(t,n),a=ab(n)&&!ab(t.url);switch(e){case"origin":return o??i5(r,!0);case"unsafe-url":return n;case"same-origin":return i?o:"no-referrer";case"origin-when-cross-origin":return i?n:o;case"strict-origin-when-cross-origin":{let c=cb(t);return Pz(n,c)?n:ab(n)&&!ab(c)?"no-referrer":o}default:return a?"no-referrer":o}}s(vNe,"determineRequestsReferrer");function i5(t,e){return nu(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)}s(i5,"stripURLForReferrer");function ab(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"))}}s(ab,"isURLPotentiallyTrustworthy");function LNe(t,e){if(Qz===void 0)return!0;let r=VG(e);if(r==="no metadata"||r.length===0)return!0;let n=QNe(r),o=PNe(r,n);for(let i of o){let a=i.algo,c=i.hash,u=Qz.createHash(a).update(t).digest("base64");if(u[u.length-1]==="="&&(u[u.length-2]==="="?u=u.slice(0,-2):u=u.slice(0,-1)),kNe(u,c))return!0}return!1}s(LNe,"bytesMatch");var _Ne=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function VG(t){let e=[],r=!0;for(let n of t.split(" ")){r=!1;let o=_Ne.exec(n);if(o===null||o.groups===void 0||o.groups.algo===void 0)continue;let i=o.groups.algo.toLowerCase();kG.includes(i)&&e.push(o.groups)}return r===!0?"no metadata":e}s(VG,"parseMetadata");function QNe(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}s(QNe,"getStrongestMetadata");function PNe(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}s(PNe,"filterMetadataListByAlgorithm");function kNe(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}s(kNe,"compareBase64Mixed");function UNe(t){}s(UNe,"tryUpgradeReque Line truncated
`);function Bwe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}s(Bwe,"isAsciiString");function Dwe(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}s(Dwe,"validateBoundary");function qwe(t,e){Uz(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"),o=[],i={position:0};for(;t[i.position]===13&&t[i.position+1]===10;)i.position+=2;let a=t.length;for(;t[a-1]===10&&t[a-2]===13;)a-=2;for(a!==t.length&&(t=t.subarray(0,a));;){if(t.subarray(i.position,i.position+n.length).equals(n))i.position+=n.length;else return"failure";if(i.position===t.length-2&&Gz(t,Cwe,i)||i.position===t.length-4&&Gz(t,ywe,i))return o;if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let c=Iwe(t,i);if(c==="failure")return"failure";let{name:u,filename:p,contentType:A,encoding:l}=c;i.position+=2;let b;{let z=t.indexOf(n.subarray(2),i.position);if(z===-1)return"failure";b=t.subarray(i.position,z-4),i.position+=b.length,l==="base64"&&(b=Buffer.from(b.toString(),"base64"))}if(t[i.position]!==13||t[i.position+1]!==10)return"failure";i.position+=2;let M;p!==null?(A??="text/plain",Bwe(A)||(A=""),M=new Owe([b],p,{type:A})):M=Mwe(Buffer.from(b)),Uz(sH(u)),Uz(typeof M=="string"&&sH(M)||hwe(M)),o.push(zwe(u,M,p))}}s(qwe,"multipartFormDataParser");function Iwe(t,e){let r=null,n=null,o=null,i=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:n,contentType:o,encoding:i};let a=DA(c=>c!==10&&c!==13&&c!==58,t,e);if(a=d5(a,!0,!0,c=>c===9||c===32),!mwe.test(a.toString())||t[e.position]!==58)return"failure";switch(e.position++,DA(c=>c===32||c===9,t,e),fwe(a)){case"content-disposition":{if(r=n=null,!Gz(t,Ewe,e)||(e.position+=17,r=uH(t,e),r===null))return"failure";if(Gz(t,cH,e)){let c=e.position+cH.length;if(t[c]===42&&(e.position+=1,c+=1),t[c]!==61||t[c+1]!==34||(e.position+=12,n=uH(t,e),n===null))return"failure"}break}case"content-type":{let c=DA(u=>u!==10&&u!==13,t,e);c=d5(c,!1,!0,u=>u===9||u===32),o=aH(c);break}case"content-transfer-encoding":{let c=DA(u=>u!==10&&u!==13,t,e);c=d5(c,!1,!0,u=>u===9||u===32),i=aH(c);break}default:DA(c=>c!==10&&c!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}s(Iwe,"parseMultipartFormDataHeaders");function uH(t,e){Uz(t[e.position-1]===34);let r=DA(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)}s(uH,"parseMultipartFormDataName");function DA(t,e,r){let n=r.position;for(;n<e.length&&t(e[n]);)++n;return e.subarray(r.position,r.position=n)}s(DA,"collectASequenceOfBytes");function d5(t,e,r,n){let o=0,i=t.length-1;if(e)for(;o<t.length&&n(t[o]);)o++;if(r)for(;i>0&&n(t[i]);)i--;return o===0&&i===t.length-1?t:t.subarray(o,i+1)}s(d5,"removeChars");function Gz(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}s(Gz,"bufferStartsWith");pH.exports={multipartFormDataParser:qwe,validateBoundary:Dwe}});var RA=m((wD0,OH)=>{"use strict";var Ab=Xe(),{ReadableStreamFrom:Rwe,isBlobLike:lH,isReadableStreamLike:Nwe,readableStreamClose:wwe,createDeferredPromise:Swe,fullyReadBody:Fwe,extractMimeType:Wwe,utf8DecodeBytes:fH}=wr(),{FormData:dH}=pb(),{kState:IA}=Fa(),{webidl:xwe}=st(),{Blob:Twe}=require("node:buffer"),b5=require("node:assert"),{isErrored:MH,isDisturbed:vwe}=require("node:stream"),{isArrayBuffer:Lwe}=require("node:util/types"),{serializeAMimeType:_we}=tr(),{multipartFormDataParser:Qwe}=AH(),f5;try{let t=require("node:crypto");f5=s(e=>t.randomInt(0,e),"random")}catch{f5=s(t=>Math.floor(Math.random(t)),"random")}var Hz=new TextEncoder;function Pwe(){}s(Pwe,"noop");var mH=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,hH;mH&&(hH=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!vwe(e)&&!MH(e)&&e.cancel("Response object has been garbage collected").catch(Pwe)}));function zH(t,e=!1){let r=null;t instanceof ReadableStream?r=t:lH(t)?r=t.stream():r=new ReadableStream({async pull(u){let p=typeof o=="string"?Hz.encode(o):o;p.byteLength&&u.enqueue(p),queueMicrotask(()=>wwe(u))},start(){},type:"bytes"}),b5(Nwe(r));let n=null,o=null,i=null,a=null;if(typeof t=="string")o=t,a="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)o=t.toString(),a="application/x-www-form-urlencoded;charset=UTF-8";else if(Lwe(t))o=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))o=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(Ab.isFormDataLike(t)){let u=`----formdata-undici-0${`${f5(1e11)}`.padStart(11,"0")}`,p=`--${u}\r
Content-Disposition: form-data`;let A=s(C=>C.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),"escape"),l=s(C=>C.replace(/\r?\n|\r/g,`\r
`),"normalizeLinefeeds"),b=[],M=new Uint8Array([13,10]);i=0;let z=!1;for(let[C,E]of t)if(typeof E=="string"){let B=Hz.encode(p+`; name="${A(l(C))}"\r
\r
${l(E)}\r
`);b.push(B),i+=B.byteLength}else{let B=Hz.encode(`${p}; name="${A(l(C))}"`+(E.name?`; filename="${A(E.name)}"`:"")+`\r
Content-Type: ${E.type||"application/octet-stream"}\r
\r
`);b.push(B,E,M),typeof E.size=="number"?i+=B.byteLength+E.size+M.byteLength:z=!0}let g=Hz.encode(`--${u}--\r
`);b.push(g),i+=g.byteLength,z&&(i=null),o=t,n=s(async function*(){for(let C of b)C.stream?yield*C.stream():yield C},"action"),a=`multipart/form-data; boundary=${u}`}else if(lH(t))o=t,i=t.size,t.type&&(a=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(Ab.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:Rwe(t)}if((typeof o=="string"||Ab.isBuffer(o))&&(i=Buffer.byteLength(o)),n!=null){let u;r=new ReadableStream({async start(){u=n(t)[Symbol.asyncIterator]()},async pull(p){let{value:A,done:l}=await u.next();if(l)queueMicrotask(()=>{p.close(),p.byobRequest?.respond(0)});else if(!MH(r)){let b=new Uint8Array(A);b.byteLength&&p.enqueue(b)}return p.desiredSize>0},async cancel(p){await u.return()},type:"bytes"})}return[{stream:r,source:o,length:i},a]}s(zH,"extractBody");function kwe(t,e=!1){return t instanceof ReadableStream&&(b5(!Ab.isDisturbed(t),"The body has already been consumed."),b5(!t.locked,"The stream is locked.")),zH(t,e)}s(kwe,"safelyExtractBody");function Uwe(t,e){let[r,n]=e.stream.tee();return e.stream=r,{stream:n,length:e.length,source:e.source}}s(Uwe,"cloneBody");function Gwe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}s(Gwe,"throwIfAborted");function Hwe(t){return{blob(){return qA(this,r=>{let n=bH(this);return n===null?n="":n&&(n=_we(n)),new Twe([r],{type:n})},t)},arrayBuffer(){return qA(this,r=>new Uint8Array(r).buffer,t)},text(){return qA(this,fH,t)},json(){return qA(this,Vwe,t)},formData(){return qA(this,r=>{let n=bH(this);if(n!==null)switch(n.essence){case"multipart/form-data":{let o=Qwe(r,n);if(o==="failure")throw new TypeError("Failed to parse body as FormData.");let i=new dH;return i[IA]=o,i}case"application/x-www-form-urlencoded":{let o=new URLSearchParams(r.toString()),i=new dH;for(let[a,c]of o)i.append(a,c);return i}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return qA(this,r=>new Uint8Array(r),t)}}}s(Hwe,"bodyMixinMethods");function Xwe(t){Object.assign(t.prototype,Hwe(t))}s(Xwe,"mixinBody");async function qA(t,e,r){if(xwe.brandCheck(t,r),gH(t))throw new TypeError("Body is unusable: Body has already been read");Gwe(t[IA]);let n=Swe(),o=s(a=>n.reject(a),"errorSteps"),i=s(a=>{try{n.resolve(e(a))}catch(c){o(c)}},"successSteps");return t[IA].body==null?(i(Buffer.allocUnsafe(0)),n.promise):(await Fwe(t[IA].body,i,o),n.promise)}s(qA,"consumeBody");function gH(t){let e=t[IA].body;return e!=null&&(e.stream.locked||Ab.isDisturbed(e.stream))}s(gH,"bodyUnusable");function Vwe(t){return JSON.parse(fH(t))}s(Vwe,"parseJSONFromBytes");function bH(t){let e=t[IA].headersList,r=Wwe(e);return r==="failure"?null:r}s(bH,"bodyMimeType");OH.exports={extractBody:zH,safelyExtractBody:kwe,cloneBody:Uwe,mixinBody:Xwe,streamRegistry:hH,hasFinalizationRegistry:mH,bodyUnusable:gH}});var vH=m((FD0,TH)=>{"use strict";var fe=require("node:assert"),he=Xe(),{channels:EH}=MA(),M5=jI(),{RequestContentLengthMismatchError:ou,ResponseContentLengthMismatchError:CH,RequestAbortedError:wH,InvalidArgumentError:Jwe,HeadersTimeoutError:Ywe,HeadersOverflowError:$we,SocketError:NA,InformationalError:wA,BodyTimeoutError:jwe,HTTPParserError:Kwe,ResponseExceededMaxSizeError:Zwe}=p0(),{kUrl:SH,kReset:rr,kClient:Yz,kParser:T0,kBlocking:bb,kRunning:w1,kPending:FH,kSize:yH,kWriting:Wa,kQueue:ao,kNoRef:lb,kKeepAliveDefaultTimeout:e6e,kHostHeader:t6e,kPendingIdx:r6e,kRunningIdx:bn,kError:Ft,kPipelining:$z,kSocket:su,kKeepAliveTimeoutValue:Kz,kMaxHeadersSize:m5,kKeepAliveMaxTimeout:n6e,kKeepAliveTimeoutThreshold:o6e,kHeadersTimeout:i6e,kBodyTimeout:s6e,kStrictContentLength:g5,kMaxRequests:BH,kCounter:a6e,kMaxResponseSize:c6e,kOnError:DH,kResume:qs,kHTTPContext:WH}=G0(),Sr=hG(),qH=Buffer.alloc(0),Xz=Buffer[Symbol.species],Vz=he.addListener,u6e=he.removeAllListeners,au=Symbol("kIdleSocketValidation"),iu=Symbol("kIdleSocketValidationTimeout"),y5=Symbol("kSocketUsed"),h5;async function p6e(){let t=process.env.JEST_WORKER_ID?e5():void 0,e;try{e=await WebAssembly.compile(OG())}catch{e=await WebAssembly.compile(t||e5())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:s((r,n,o)=>0,"wasm_on_url"),wasm_on_status:s((r,n,o)=>{fe(o1.ptr===r);let i=n-Jo+Vo.byteOffset;return o1.onStatus(new Xz(Vo.buffer,i,o))||0},"wasm_on_status"),wasm_on_message_begin:s(r=>(fe(o1.ptr===r),o1.onMessageBegin()||0),"wasm_on_message_begin"),wasm_on_header_field:s((r,n,o)=>{fe(o1.ptr===r);let i=n-Jo+Vo.byteOffset;return o1.onHeaderField(new Xz(Vo.buffer,i,o))||0},"wasm_on_header_field"),wasm_on_header_value:s((r,n,o)=>{fe(o1.ptr===r);let i=n-Jo+Vo.byteOffset;return o1.onHeaderValue(new Xz(Vo.buffer,i,o))||0},"wasm_on_header_value"),wasm_on_headers_complete:s((r,n,o,i)=>(fe(o1.ptr===r),o1.onHeadersComplete(n,!!o,!!i)||0),"wasm_on_headers_complete"),wasm_on_body:s((r,n,o)=>{fe(o1.ptr===r);let i=n-Jo+Vo.byteOffset;retu Line truncated
`;if(typeof o=="string"?g+=`host: ${o}\r
`:g+=t[t6e],i?g+=`connection: upgrade\r
upgrade: ${i}\r
`:t[$z]&&!M[rr]?g+=`connection: keep-alive\r
`:g+=`connection: close\r
`,Array.isArray(p))for(let C=0;C<p.length;C+=2){let E=p[C+0],B=p[C+1];if(Array.isArray(B))for(let D=0;D<B.length;D++)g+=`${E}: ${B[D]}\r
`;else g+=`${E}: ${B}\r
`}return EH.sendHeaders.hasSubscribers&&EH.sendHeaders.publish({request:e,headers:g,socket:M}),!u||b===0?RH(z,null,t,e,M,A,g,l):he.isBuffer(u)?RH(z,u,t,e,M,A,g,l):he.isBlobLike(u)?typeof u.stream=="function"?NH(z,u.stream(),t,e,M,A,g,l):h6e(z,u,t,e,M,A,g,l):he.isStream(u)?m6e(z,u,t,e,M,A,g,l):he.isIterable(u)?NH(z,u,t,e,M,A,g,l):fe(!1),!0}s(M6e,"writeH1");function m6e(t,e,r,n,o,i,a,c){fe(i!==0||r[w1]===0,"stream body cannot be pipelined");let u=!1,p=new Zz({abort:t,socket:o,request:n,contentLength:i,client:r,expectsPayload:c,header:a}),A=s(function(z){if(!u)try{!p.write(z)&&this.pause&&this.pause()}catch(g){he.destroy(this,g)}},"onData"),l=s(function(){u||e.resume&&e.resume()},"onDrain"),b=s(function(){if(queueMicrotask(()=>{e.removeListener("error",M)}),!u){let z=new wH;queueMicrotask(()=>M(z))}},"onClose"),M=s(function(z){if(!u){if(u=!0,fe(o.destroyed||o[Wa]&&r[w1]<=1),o.off("drain",l).off("error",M),e.removeListener("data",A).removeListener("end",M).removeListener("close",b),!z)try{p.end()}catch(g){z=g}p.destroy(z),z&&(z.code!=="UND_ERR_INFO"||z.message!=="reset")?he.destroy(e,z):he.destroy(e)}},"onFinished");e.on("data",A).on("end",M).on("error",M).on("close",b),e.resume&&e.resume(),o.on("drain",l).on("error",M),e.errorEmitted??e.errored?setImmediate(()=>M(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>M(null)),(e.closeEmitted??e.closed)&&setImmediate(b)}s(m6e,"writeStream");function RH(t,e,r,n,o,i,a,c){try{e?he.isBuffer(e)&&(fe(i===e.byteLength,"buffer body must have content length"),o.cork(),o.write(`${a}content-length: ${i}\r
\r
`,"latin1"),o.write(e),o.uncork(),n.onBodySent(e),!c&&n.reset!==!1&&(o[rr]=!0)):i===0?o.write(`${a}content-length: 0\r
\r
`,"latin1"):(fe(i===null,"no body must not have content length"),o.write(`${a}\r
`,"latin1")),n.onRequestSent(),r[qs]()}catch(u){t(u)}}s(RH,"writeBuffer");async function h6e(t,e,r,n,o,i,a,c){fe(i===e.size,"blob body must have content length");try{if(i!=null&&i!==e.size)throw new ou;let u=Buffer.from(await e.arrayBuffer());o.cork(),o.write(`${a}content-length: ${i}\r
\r
`,"latin1"),o.write(u),o.uncork(),n.onBodySent(u),n.onRequestSent(),!c&&n.reset!==!1&&(o[rr]=!0),r[qs]()}catch(u){t(u)}}s(h6e,"writeBlob");async function NH(t,e,r,n,o,i,a,c){fe(i!==0||r[w1]===0,"iterator body cannot be pipelined");let u=null;function p(){if(u){let b=u;u=null,b()}}s(p,"onDrain");let A=s(()=>new Promise((b,M)=>{fe(u===null),o[Ft]?M(o[Ft]):u=b}),"waitForDrain");o.on("close",p).on("drain",p);let l=new Zz({abort:t,socket:o,request:n,contentLength:i,client:r,expectsPayload:c,header:a});try{for await(let b of e){if(o[Ft])throw o[Ft];l.write(b)||await A()}l.end()}catch(b){l.destroy(b)}finally{o.off("close",p).off("drain",p)}}s(NH,"writeIterable");var Zz=class{static{s(this,"AsyncWriter")}constructor({abort:e,socket:r,request:n,contentLength:o,client:i,expectsPayload:a,header:c}){this.socket=r,this.request=n,this.contentLength=o,this.client=i,this.bytesWritten=0,this.expectsPayload=a,this.header=c,this.abort=e,r[Wa]=!0}write(e){let{socket:r,request:n,contentLength:o,client:i,bytesWritten:a,expectsPayload:c,header:u}=this;if(r[Ft])throw r[Ft];if(r.destroyed)return!1;let p=Buffer.byteLength(e);if(!p)return!0;if(o!==null&&a+p>o){if(i[g5])throw new ou;process.emitWarning(new ou)}r.cork(),a===0&&(!c&&n.reset!==!1&&(r[rr]=!0),o===null?r.write(`${u}transfer-encoding: chunked\r
`,"latin1"):r.write(`${u}content-length: ${o}\r
\r
`,"latin1")),o===null&&r.write(`\r
${p.toString(16)}\r
`,"latin1"),this.bytesWritten+=p;let A=r.write(e);return r.uncork(),n.onBodySent(e),A||r[T0].timeout&&r[T0].timeoutType===SA&&r[T0].timeout.refresh&&r[T0].timeout.refresh(),A}end(){let{socket:e,contentLength:r,client:n,bytesWritten:o,expectsPayload:i,header:a,request:c}=this;if(c.onRequestSent(),e[Wa]=!1,e[Ft])throw e[Ft];if(!e.destroyed){if(o===0?i?e.write(`${a}content-length: 0\r
\r
`,"latin1"):e.write(`${a}\r
`,"latin1"):r===null&&e.write(`\r
0\r
\r
`,"latin1"),r!==null&&o!==r){if(n[g5])throw new ou;process.emitWarning(new ou)}e[T0].timeout&&e[T0].timeoutType===SA&&e[T0].timeout.refresh&&e[T0].timeout.refresh(),n[qs]()}}destroy(e){let{socket:r,client:n,abort:o}=this;r[Wa]=!1,e&&(fe(n[w1]<=1,"pipeline should only contain this request"),o(e))}};TH.exports=l6e});var HH=m((xD0,GH)=>{"use strict";var fn=require("node:assert"),{pipeline:z6e}=require("node:stream"),Ze=Xe(),{RequestContentLengthMismatchError:B5,RequestAbortedError:LH,SocketError:fb,InformationalError:D5}=p0(),{kUrl:eg,kReset:rg,kClient:FA,kRunning:ng,kPending:g6e,kQueue:xa,kPendingIdx:q5,kRunningIdx:co,kError:po,kSocket:$1,kStrictContentLength:O6e,kOnError:I5,kMaxConcurrentStreams:UH,kHTTP2Session:uo,kResume:Ta,kSize:E6e,kHTTPContext:C6e}=G0(),Is=Symbol("open streams"),_H,QH=!1,tg;try{tg=require("node:http2")}catch{tg={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:y6e,HTTP2_HEADER_METHOD:B6e,HTTP2_HEADER_PATH:D6e,HTTP2_HEADER_SCHEME:q6e,HTTP2_HEADER_CONTENT_LENGTH:I6e,HTTP2_HEADER_EXPECT:R6e,HTTP2_HEADER_STATUS:N6e}}=tg;function w6e(t){let e=[];for(let[r,n]of Object.entries(t))if(Array.isArray(n))for(let o of n)e.push(Buffer.from(r),Buffer.from(o));else e.push(Buffer.from(r),Buffer.from(n));return e}s(w6e,"parseH2Headers");async function S6e(t,e){t[$1]=e,QH||(QH=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=tg.connect(t[eg],{createConnection:s(()=>e,"createConnection"),peerMaxConcurrentStreams:t[UH]});r[Is]=0,r[FA]=t,r[$1]=e,Ze.addListener(r,"error",W6e),Ze.addListener(r,"frameError",x6e),Ze.addListener(r,"end",T6e),Ze.addListener(r,"goaway",v6e),Ze.addListener(r,"close",function(){let{[FA]:o}=this,{[$1]:i}=o,a=this[$1][po]||this[po]||new fb("closed",Ze.getSocketInfo(i));if(o[uo]=null,o.destroyed){fn(o[g6e]===0);let c=o[xa].splice(o[co]);for(let u=0;u<c.length;u++){let p=c[u];Ze.errorRequest(o,p,a)}}}),r.unref(),t[uo]=r,e[uo]=r,Ze.addListener(e,"error",function(o){fn(o.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[po]=o,this[FA][I5](o)}),Ze.addListener(e,"end",function(){Ze.destroy(this,new fb("other side closed",Ze.getSocketInfo(this)))}),Ze.addListener(e,"close",function(){let o=this[po]||new fb("closed",Ze.getSocketInfo(this));t[$1]=null,this[uo]!=null&&this[uo].destroy(o),t[q5]=t[co],fn(t[ng]===0),t.emit("disconnect",t[eg],[t],o),t[Ta]()});let n=!1;return e.on("close",()=>{n=!0}),{version:"h2",defaultPipelining:1/0,write(...o){return _6e(t,...o)},resume(){F6e(t)},destroy(o,i){n?queueMicrotask(i):e.destroy(o).on("close",i)},get destroyed(){return e.destroyed},busy(){return!1}}}s(S6e,"connectH2");function F6e(t){let e=t[$1];e?.destroyed===!1&&(t[E6e]===0&&t[UH]===0?(e.unref(),t[uo].unref()):(e.ref(),t[uo].ref()))}s(F6e,"resumeH2");function W6e(t){fn(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[$1][po]=t,this[FA][I5](t)}s(W6e,"onHttp2SessionError");function x6e(t,e,r){if(r===0){let n=new D5(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[$1][po]=n,this[FA][I5](n)}}s(x6e,"onHttp2FrameError");function T6e(){let t=new fb("other side closed",Ze.getSocketInfo(this[$1]));this.destroy(t),Ze.destroy(this[$1],t)}s(T6e,"onHttp2SessionEnd");function v6e(t){let e=this[po]||new fb(`HTTP/2: "GOAWAY" frame received with code ${t}`,Ze.getSocketInfo(this)),r=this[FA];if(r[$1]=null,r[C6e]=null,this[uo]!=null&&(this[uo].destroy(e),this[uo]=null),Ze.destroy(this[$1],e),r[co]<r[xa].length){let n=r[xa][r[co]];r[xa][r[co]++]=null,Ze.errorRequest(r,n,e),r[q5]=r[co]}fn(r[ng]===0),r.emit("disconnect",r[eg],[r],e),r[Ta]()}s(v6e,"onHTTP2GoAway");function L6e(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}s(L6e,"shouldSendContentLength");function _6e(t,e){let r=t[uo],{method:n,path:o,host:i,upgrade:a,expectContinue:c,signal:u,headers:p}=e,{body:A}=e;if(a)return Ze.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let l={};for(let q=0;q<p.length;q+=2){let x=p[q+0],W=p[q+1];if(Array.isArray(W))for(let _=0;_<W.length;_++)l[x]?l[x]+=`,${W[_]}`:l[x]=W[_];else l[x]=W}let b,{hostname:M,port:z}=t[eg];l[y6e]=i||`${M}${z?`:${z}`:""}`,l[B6e]=n;let g=s(q=>{e.aborted||e.completed||(q=q||new LH,Ze.errorRequest(t,e,q),b!=null&&Ze.destroy(b,q),Ze.destroy(A,q),t[xa][t[co]++]=null,t[Ta]())},"abort");try{e.onConnect(g)}catch(q){Ze.errorRequest(t,e,q)}if(e.aborted)return!1;if(n==="CONNECT")return r.ref(),b=r.request(l,{endStream:!1,signal:u}),b.id&&!b.pending?(e.onUpgrade(null,null,b),++r[Is],t[xa][t[co]++]=null):b.once("ready",()=>{e.onUpgrade(null,null,b),++r[Is],t[xa][t[co]++]=null}),b.once("close",()=>{r[Is]-=1,r[Is]===0&&r.unref()}),!0;l[D6e]=o,l[q6e]="https";let C=n==="PUT"||n==="POST"||n==="PATCH";A&&typeof A.read=="function"&&A.read(0);let E=Ze.bodyLength(A);if(Ze.isFormDataLike(A)){_H??=RA().extractBody;let[q,x]=_H(A);l["content-type"]=x,A=q.stream,E=q.length}if(E==null&&(E=e.contentLength),(E===0||!C)&&(E=null),L6e(n)&&E>0&&e.contentLength!=null&&e.contentLength!==E){if(t[O6e])return Ze.errorRequest(t,e, Line truncated
`,this[ASe]=u??3e5,this[pSe]=o??3e5,this[lSe]=B??!0,this[dSe]=q,this[S5]=W,this[La]=null,this[hSe]=ae>-1?ae:-1,this[gSe]=Ne??100,this[g1]=null,this[Ao]=[],this[Ns]=0,this[lo]=0,this[zb]=k=>W5(this,k),this[zSe]=k=>nX(this,k)}get pipelining(){return this[ag]}set pipelining(e){this[ag]=e,this[zb](!0)}get[Eb](){return this[Ao].length-this[lo]}get[Ob](){return this[lo]-this[Ns]}get[gb](){return this[Ao].length-this[Ns]}get[nSe](){return!!this[g1]&&!this[xA]&&!this[g1].destroyed}get[w5](){return!!(this[g1]?.busy(null)||this[gb]>=(rX(this)||1)||this[Eb]>0)}[rSe](e){oX(this),this.once("connect",e)}[mSe](e,r){let n=e.origin||this[$o].origin,o=new $6e(n,e,r);return this[Ao].push(o),this[uu]||(cu.bodyLength(o.body)==null&&cu.isIterable(o.body)?(this[uu]=1,queueMicrotask(()=>W5(this))):this[zb](!0)),this[uu]&&this[_a]!==2&&this[w5]&&(this[_a]=2),this[_a]<2}async[fSe](){return new Promise(e=>{this[gb]?this[La]=e:e(null)})}async[MSe](e){return new Promise(r=>{let n=this[Ao].splice(this[lo]);for(let i=0;i<n.length;i++){let a=n[i];cu.errorRequest(this,a,e)}let o=s(()=>{this[La]&&(this[La](),this[La]=null),r(null)},"callback");this[g1]?(this[g1].destroy(e,o),this[g1]=null):queueMicrotask(o),this[zb]()})}},CSe=sg();function nX(t,e){if(t[Ob]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){Rs(t[lo]===t[Ns]);let r=t[Ao].splice(t[Ns]);for(let n=0;n<r.length;n++){let o=r[n];cu.errorRequest(t,o,e)}Rs(t[gb]===0)}}s(nX,"onError");async function oX(t){Rs(!t[xA]),Rs(!t[g1]);let{host:e,hostname:r,protocol:n,port:o}=t[$o];if(r[0]==="["){let i=r.indexOf("]");Rs(i!==-1);let a=r.substring(1,i);Rs(tX.isIP(a)),r=a}t[xA]=!0,WA.beforeConnect.hasSubscribers&&WA.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:n,port:o,version:t[g1]?.version,servername:t[va],localAddress:t[hb]},connector:t[mb]});try{let i=await new Promise((a,c)=>{t[mb]({host:e,hostname:r,protocol:n,port:o,servername:t[va],localAddress:t[hb]},(u,p)=>{u?c(u):a(p)})});if(t.destroyed){cu.destroy(i.on("error",ZH),new Z6e);return}Rs(i);try{t[g1]=i.alpnProtocol==="h2"?await ESe(t,i):await OSe(t,i)}catch(a){throw i.destroy().on("error",ZH),a}t[xA]=!1,i[bSe]=0,i[S5]=t[S5],i[tSe]=t,i[iSe]=null,WA.connected.hasSubscribers&&WA.connected.publish({connectParams:{host:e,hostname:r,protocol:n,port:o,version:t[g1]?.version,servername:t[va],localAddress:t[hb]},connector:t[mb],socket:i}),t.emit("connect",t[$o],[t])}catch(i){if(t.destroyed)return;if(t[xA]=!1,WA.connectError.hasSubscribers&&WA.connectError.publish({connectParams:{host:e,hostname:r,protocol:n,port:o,version:t[g1]?.version,servername:t[va],localAddress:t[hb]},connector:t[mb],error:i}),i.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(Rs(t[Ob]===0);t[Eb]>0&&t[Ao][t[lo]].servername===t[va];){let a=t[Ao][t[lo]++];cu.errorRequest(t,a,i)}else nX(t,i);t.emit("connectionError",t[$o],[t],i)}t[zb]()}s(oX,"connect");function eX(t){t[_a]=0,t.emit("drain",t[$o],[t])}s(eX,"emitDrain");function W5(t,e){t[uu]!==2&&(t[uu]=2,ySe(t,e),t[uu]=0,t[Ns]>256&&(t[Ao].splice(0,t[Ns]),t[lo]-=t[Ns],t[Ns]=0))}s(W5,"resume");function ySe(t,e){for(;;){if(t.destroyed){Rs(t[Eb]===0);return}if(t[La]&&!t[gb]){t[La](),t[La]=null;return}if(t[g1]&&t[g1].resume(),t[w5])t[_a]=2;else if(t[_a]===2){e?(t[_a]=1,queueMicrotask(()=>eX(t))):eX(t);continue}if(t[Eb]===0||t[Ob]>=(rX(t)||1))return;let r=t[Ao][t[lo]];if(t[$o].protocol==="https:"&&t[va]!==r.servername){if(t[Ob]>0)return;t[va]=r.servername,t[g1]?.destroy(new K6e("servername changed"),()=>{t[g1]=null,W5(t)})}if(t[xA])return;if(!t[g1]){oX(t);return}if(t[g1].destroyed||t[g1].busy(r))return;!r.aborted&&t[g1].write(r)?t[lo]++:t[Ao].splice(t[lo],1)}}s(ySe,"_resume");iX.exports=F5});var x5=m((GD0,sX)=>{"use strict";var cg=class{static{s(this,"FixedCircularBuffer")}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)}};sX.exports=class{static{s(this,"FixedQueue")}constructor(){this.head=this.tail=new cg}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new cg),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var cX=m((XD0,aX)=>{var{kFree:BSe,kConnected:DSe,kPending:qSe,kQueued:ISe,kRunning:RSe,kSize:NSe}=G0(),pu=Symbol("pool"),T5=class{static{s(this,"PoolStats")}constructor(e){this[pu]=e}get connected(){return this[pu][DSe]}get free(){return this[pu][BSe]}get pending(){return this[pu][qSe]}get queued(){return this[pu][ISe]}get running(){return this[pu][RSe]}get size(){return this[pu][NSe]}};aX.exports=T5});var k5=m((JD0,hX)=>{"use strict";var wSe=gA(),SSe=x5(),{kConnected:v5,kSize:uX,kRunning:pX,kPending:AX,kQueued:Cb,kBusy:FSe,kFree:WSe,kUrl:xSe,kClose:TSe,kDestroy:vSe,kDispatch:LSe}=G0(),_Se=cX(),nr=Symbol("client Line truncated
${n.count} ${n.noun} ${n.is} pending:
${e.format(r)}
`.trim())}};BJ.exports=kR});var Dg=m((Xq0,NJ)=>{"use strict";var qJ=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Axe}=p0(),lxe=LA();RJ()===void 0&&IJ(new lxe);function IJ(t){if(!t||typeof t.dispatch!="function")throw new Axe("Argument agent must implement Agent");Object.defineProperty(globalThis,qJ,{value:t,writable:!0,enumerable:!1,configurable:!1})}s(IJ,"setGlobalDispatcher");function RJ(){return globalThis[qJ]}s(RJ,"getGlobalDispatcher");NJ.exports={setGlobalDispatcher:IJ,getGlobalDispatcher:RJ}});var qg=m((Yq0,wJ)=>{"use strict";wJ.exports=class{static{s(this,"DecoratorHandler")}#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 FJ=m((jq0,SJ)=>{"use strict";var dxe=ig();SJ.exports=t=>{let e=t?.maxRedirections;return r=>s(function(o,i){let{maxRedirections:a=e,...c}=o;if(!a)return r(o,i);let u=new dxe(r,a,o,i);return r(c,u)},"redirectInterceptor")}});var xJ=m((Zq0,WJ)=>{"use strict";var bxe=Mg();WJ.exports=t=>e=>s(function(n,o){return e(n,new bxe({...n,retryOptions:{...t,...n.retryOptions}},{handler:o,dispatch:e}))},"retryInterceptor")});var vJ=m((tI0,TJ)=>{"use strict";var fxe=Xe(),{InvalidArgumentError:Mxe,RequestAbortedError:mxe}=p0(),hxe=qg(),UR=class extends hxe{static{s(this,"DumpHandler")}#e=1024*1024;#t=null;#n=!1;#r=!1;#o=0;#i=null;#a=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new Mxe("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.#s.bind(this))}#s(e){this.#r=!0,this.#i=e}onHeaders(e,r,n,o){let a=fxe.parseHeaders(r)["content-length"];if(a!=null&&a>this.#e)throw new mxe(`Response size (${a}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#a.onHeaders(e,r,n,o)}onError(e){this.#n||(e=this.#i??e,this.#a.onError(e))}onData(e){return this.#o=this.#o+e.length,this.#o>=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 zxe({maxSize:t}={maxSize:1024*1024}){return e=>s(function(n,o){let{dumpMaxSize:i=t}=n,a=new UR({maxSize:i},o);return e(n,a)},"Intercept")}s(zxe,"createDumpInterceptor");TJ.exports=zxe});var QJ=m((nI0,_J)=>{"use strict";var{isIP:gxe}=require("node:net"),{lookup:Oxe}=require("node:dns"),Exe=qg(),{InvalidArgumentError:YA,InformationalError:Cxe}=p0(),LJ=Math.pow(2,31)-1,GR=class{static{s(this,"DNSInstance")}#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.#o}get full(){return this.#n.size===this.#t}runLookup(e,r,n){let o=this.#n.get(e.hostname);if(o==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(o==null)this.lookup(e,i,(a,c)=>{if(a||c==null||c.length===0){n(a??new Cxe("No DNS entries found"));return}this.setRecords(e,c);let u=this.#n.get(e.hostname),p=this.pick(e,u,i.affinity),A;typeof p.port=="number"?A=`:${p.port}`:e.port!==""?A=`:${e.port}`:A="",n(null,`${e.protocol}//${p.family===6?`[${p.address}]`:p.address}${A}`)});else{let a=this.pick(e,o,i.affinity);if(a==null){this.#n.delete(e.hostname),this.runLookup(e,r,n);return}let c;typeof a.port=="number"?c=`:${a.port}`:e.port!==""?c=`:${e.port}`:c="",n(null,`${e.protocol}//${a.family===6?`[${a.address}]`:a.address}${c}`)}}#r(e,r,n){Oxe(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(o,i)=>{if(o)return n(o);let a=new Map;for(let c of i)a.set(`${c.address}:${c.family}`,c);n(null,a.values())})}#o(e,r,n){let o=null,{records:i,offset:a}=r,c;if(this.dualStack?(n==null&&(a==null||a===LJ?(r.offset=0,n=4):(r.offset++,n=(r.offset&1)===1?6:4)),i[n]!=null&&i[n].ips.length>0?c=i[n]:c=i[n===4?6:4]):c=i[n],c==null||c.ips.length===0)return o;c.offset==null||c.offset===LJ?c.offset=0:c.offset++;let u=c.offset%c.ips.length;return o=c.ips[u]??null,o==null?o:Date.now()-o.timestamp>o.ttl?(c.ips.splice(u,1),this.pick(e,r,n)):o}setRecords(e,r){let n=Date.now(),o={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 a=o.records[i.family]??{ips:[]};a.ips.push(i),o.records[i.family]=a}this.#n.set(e.hostname,o)}getHandler(e,r){return new HR(this,e,r)}},HR=class extends Exe{static{s(this,"DNSDispatchHandler")}#e=null;#t=null;#n=null Line truncated
${i}`;break;case"retry":hj(i)&&(r[o]=i);break;case"id":zj(i)&&(r[o]=i);break;case"event":i.length>0&&(r[o]=i);break}}processEvent(e){e.retry&&hj(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&zj(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}}};gj.exports={EventSourceStream:WN}});var Rj=m((s50,Ij)=>{"use strict";var{pipeline:w_e}=require("node:stream"),{fetching:S_e}=Tb(),{makeRequest:F_e}=KA(),{webidl:xs}=st(),{EventSourceStream:W_e}=Oj(),{parseMIMEType:x_e}=tr(),{createFastMessageEvent:T_e}=ol(),{isNetworkError:Ej}=Wb(),{delay:v_e}=SN(),{kEnumerableProperty:Bu}=Xe(),{environmentSettingsObject:Cj}=wr(),yj=!1,Bj=3e3,$b=0,Dj=1,jb=2,L_e="anonymous",__e="use-credentials",ul=class t extends EventTarget{static{s(this,"EventSource")}#e={open:null,error:null,message:null};#t=null;#n=!1;#r=$b;#o=null;#i=null;#a;#s;constructor(e,r={}){super(),xs.util.markAsUncloneable(this);let n="EventSource constructor";xs.argumentLengthCheck(arguments,1,n),yj||(yj=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=xs.converters.USVString(e,n,"url"),r=xs.converters.EventSourceInitDict(r,n,"eventSourceInitDict"),this.#a=r.dispatcher,this.#s={lastEventId:"",reconnectionTime:Bj};let o=Cj,i;try{i=new URL(e,o.settingsObject.baseUrl),this.#s.origin=i.origin}catch(u){throw new DOMException(u,"SyntaxError")}this.#t=i.href;let a=L_e;r.withCredentials&&(a=__e,this.#n=!0);let c={redirect:"follow",keepalive:!0,mode:"cors",credentials:a==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};c.client=Cj.settingsObject,c.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],c.cache="no-store",c.initiator="other",c.urlList=[new URL(this.#t)],this.#o=F_e(c),this.#u()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#n}#u(){if(this.#r===jb)return;this.#r=$b;let e={request:this.#o,dispatcher:this.#a},r=s(n=>{Ej(n)&&(this.dispatchEvent(new Event("error")),this.close()),this.#c()},"processEventSourceEndOfBody");e.processResponseEndOfBody=r,e.processResponse=n=>{if(Ej(n))if(n.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#c();return}let o=n.headersList.get("content-type",!0),i=o!==null?x_e(o):"failure",a=i!=="failure"&&i.essence==="text/event-stream";if(n.status!==200||a===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=Dj,this.dispatchEvent(new Event("open")),this.#s.origin=n.urlList[n.urlList.length-1].origin;let c=new W_e({eventSourceSettings:this.#s,push:s(u=>{this.dispatchEvent(T_e(u.type,u.options))},"push")});w_e(n.body.stream,c,u=>{u?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#i=S_e(e)}async#c(){this.#r!==jb&&(this.#r=$b,this.dispatchEvent(new Event("error")),await v_e(this.#s.reconnectionTime),this.#r===$b&&(this.#s.lastEventId.length&&this.#o.headersList.set("last-event-id",this.#s.lastEventId,!0),this.#u()))}close(){xs.brandCheck(this,t),this.#r!==jb&&(this.#r=jb,this.#i.abort(),this.#o=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}},qj={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:$b,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:Dj,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:jb,writable:!1}};Object.defineProperties(ul,qj);Object.defineProperties(ul.prototype,qj);Object.defineProperties(ul.prototype,{close:Bu,onerror:Bu,onmessage:Bu,onopen:Bu,readyState:Bu,url:Bu,withCredentials:Bu});xs.converters.EventSourceInitDict=xs.dictionaryConverter([{key:"withCredentials",converter:xs.converters.boolean,defaultValue:s(()=>!1,"defaultValue")},{key:"dispatcher",converter:xs.converters.any}]);Ij.exports={EventSource:ul,defaultReconnectionTime:Bj}});var Al=m((c50,Oe)=>{"use strict";var Q_e=TA(),Nj=tb(),P_e=vA(),k_e=qX(),U_e=LA(),G_e=tR(),H_e=jX(),X_e=oV(),wj=p0(),bO=Xe(),{InvalidArgumentError:dO}=wj,pl=GV(),V_e=nb(),J_e=TR(),Y_e=DJ(),$_e=_R(),j_e=CR(),K_e=Mg(),{getGlobalDispatcher:Sj,setGlobalDispatcher:Z_e}=Dg(),eQe=qg(),tQe=ig(),rQe=sg();Object.assign(Nj.prototype,pl);Oe.exports.Dispatcher=Nj;Oe.exports.Client=Q_e;Oe.exports.Pool=P_e;Oe.exports.BalancedPool=k_e;Oe.exports.Agent=U_e;Oe.exports. Line truncated
%s`,x,x,B,n);var W=B.type==="*"?_w:B.type==="?"?Lw:"\\"+B.type;o=!0,n=n.slice(0,B.reStart)+W+"\\("+x}z(),i&&(n+="\\\\");var _=!1;switch(n.charAt(0)){case"[":case".":case"(":_=!0}for(var ae=c.length-1;ae>-1;ae--){var Se=c[ae],xe=n.slice(0,Se.reStart),Ne=n.slice(Se.reStart,Se.reEnd-8),Ce=n.slice(Se.reEnd-8,Se.reEnd),we=n.slice(Se.reEnd);Ce+=we;var k=xe.split("(").length-1,Te=we;for(g=0;g<k;g++)Te=Te.replace(/\)[+*?]?/,"");we=Te;var T="";we===""&&e!==LO&&(T="$");var j=xe+Ne+we+T+Ce;n=j}if(n!==""&&o&&(n="(?=.)"+n),_&&(n=b+n),e===LO)return[n,o];if(!o)return g7e(t);var $e=r.nocase?"i":"";try{var m1=new RegExp("^"+n+"$",$e)}catch{return new RegExp("$.")}return m1._glob=t,m1._src=n,m1}s(h7e,"parse");Gr.makeRe=function(t,e){return new ut(t,e||{}).makeRe()};ut.prototype.makeRe=z7e;function z7e(){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?_w:e.dot?A7e:l7e,n=e.nocase?"i":"",o=t.map(function(i){return i.map(function(a){return a===Qw?r:typeof a=="string"?O7e(a):a._src}).join("\\/")}).join("|");o="^(?:"+o+")$",this.negate&&(o="^(?!"+o+").*$");try{this.regexp=new RegExp(o,n)}catch{this.regexp=!1}return this.regexp}s(z7e,"makeRe");Gr.match=function(t,e,r){r=r||{};var n=new ut(e,r);return t=t.filter(function(o){return n.match(o)}),n.options.nonull&&!t.length&&t.push(e),t};ut.prototype.match=s(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;Of.sep!=="/"&&(e=e.split(Of.sep).join("/")),e=e.split(Lee),this.debug(this.pattern,"split",e);var o=this.set;this.debug(this.pattern,"set",o);var i,a;for(a=e.length-1;a>=0&&(i=e[a],!i);a--);for(a=0;a<o.length;a++){var c=o[a],u=e;n.matchBase&&c.length===1&&(u=[i]);var p=this.matchOne(u,c,r);if(p)return n.flipNegate?!0:!this.negate}return n.flipNegate?!1:this.negate},"match");ut.prototype.matchOne=function(t,e,r){var n=this.options;this.debug("matchOne",{this:this,file:t,pattern:e}),this.debug("matchOne",t.length,e.length);for(var o=0,i=0,a=t.length,c=e.length;o<a&&i<c;o++,i++){this.debug("matchOne loop");var u=e[i],p=t[o];if(this.debug(e,u,p),u===!1)return!1;if(u===Qw){this.debug("GLOBSTAR",[e,u,p]);var A=o,l=i+1;if(l===c){for(this.debug("** at the end");o<a;o++)if(t[o]==="."||t[o]===".."||!n.dot&&t[o].charAt(0)===".")return!1;return!0}for(;A<a;){var b=t[A];if(this.debug(`
globstar while`,t,A,e,l,b),this.matchOne(t.slice(A),e.slice(l),r))return this.debug("globstar found match!",A,a,b),!0;if(b==="."||b===".."||!n.dot&&b.charAt(0)==="."){this.debug("dot detected!",t,A,e,l);break}this.debug("globstar swallow a segment, and continue"),A++}return!!(r&&(this.debug(`
>>> no match, partial?`,t,A,e,l),A===a))}var M;if(typeof u=="string"?(M=p===u,this.debug("string match",u,p,M)):(M=p.match(u),this.debug("pattern match",u,p,M)),!M)return!1}if(o===a&&i===c)return!0;if(o===a)return r;if(i===c)return o===a-1&&t[o]==="";throw new Error("wtf?")};function g7e(t){return t.replace(/\\(.)/g,"$1")}s(g7e,"globUnescape");function O7e(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}s(O7e,"regExpEscape")});var Ol=m((_60,Hee)=>{"use strict";var R7e="2.0.0",N7e=Number.MAX_SAFE_INTEGER||9007199254740991,w7e=16,S7e=250,F7e=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Hee.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:w7e,MAX_SAFE_BUILD_LENGTH:S7e,MAX_SAFE_INTEGER:N7e,RELEASE_TYPES:F7e,SEMVER_SPEC_VERSION:R7e,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var yf=m((Q60,Xee)=>{"use strict";var W7e=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};Xee.exports=W7e});var El=m((ii,Vee)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:kw,MAX_SAFE_BUILD_LENGTH:x7e,MAX_LENGTH:T7e}=Ol(),v7e=yf();ii=Vee.exports={};var L7e=ii.re=[],_7e=ii.safeRe=[],re=ii.src=[],Q7e=ii.safeSrc=[],ne=ii.t={},P7e=0,Uw="[a-zA-Z0-9-]",k7e=[["\\s",1],["\\d",T7e],[Uw,x7e]],U7e=s(t=>{for(let[e,r]of k7e)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join(`${e}{1,${r}}`);return t},"makeSafeRegex"),Le=s((t,e,r)=>{let n=U7e(e),o=P7e++;v7e(t,o,e),ne[t]=o,re[o]=e,Q7e[o]=n,L7e[o]=new RegExp(e,r?"g":void 0),_7e[o]=new RegExp(n,r?"g":void 0)},"createToken");Le("NUMERICIDENTIFIER","0|[1-9]\\d*");Le("NUMERICIDENTIFIERLOOSE","\\d+");Le("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${Uw}*`);Le("MAINVERSION",`(${re[ne.NUMERICIDENTIFIER]})\\.(${re[ne.NUMERICIDENTIFIER]})\\.(${re[ne.NUMERICIDENTIFIER]})`);Le("MAINVERSIONLOOSE",`(${re[ne.NUMERICIDENTIFIERLOOSE]})\\.(${re[ne.NUMERICIDENTIFIERLOOSE]})\\.(${re[ne.NUMERICIDENTIFIERLOOSE]})`);Le("PRERELEASEIDENTIFIER",`(?:${re[ne.NONNUMERICIDENTIFIER]}|${re[ne.NUMERICIDENTIFIER]})`);Le("PRERELEASEIDENTIFIERLOOSE",`(?:${re[ne.NONNUMERICIDENTIFIER]}|${re[ne.NUMERICIDENTIFIERLOOSE]})`);Le("PRERELEASE",`(?:-(${re[ne.PRERELEASEIDENTIFIER]}(?:\\.${re[ne.PRERELEASEIDENTIFIER]})*))`);Le("PRERELEASELOOSE",`(?:-?(${re[ne.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${re[ne.PRERELEASEIDENTIFIERLOOSE]})*))`);Le("BUILDIDENTIFIER",`${Uw}+`);Le("BUILD",`(?:\\+(${re[ne.BUILDIDENTIFIER]}(?:\\.${re[ne.BUILDIDENTIFIER]})*))`);Le("FULLPLAIN",`v?${re[ne.MAINVERSION]}${re[ne.PRERELEASE]}?${re[ne.BUILD]}?`);Le("FULL",`^${re[ne.FULLPLAIN]}$`);Le("LOOSEPLAIN",`[v=\\s]*${re[ne.MAINVERSIONLOOSE]}${re[ne.PRERELEASELOOSE]}?${re[ne.BUILD]}?`);Le("LOOSE",`^${re[ne.LOOSEPLAIN]}$`);Le("GTLT","((?:<|>)?=?)");Le("XRANGEIDENTIFIERLOOSE",`${re[ne.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`);Le("XRANGEIDENTIFIER",`${re[ne.NUMERICIDENTIFIER]}|x|X|\\*`);Le("XRANGEPLAIN",`[v=\\s]*(${re[ne.XRANGEIDENTIFIER]})(?:\\.(${re[ne.XRANGEIDENTIFIER]})(?:\\.(${re[ne.XRANGEIDENTIFIER]})(?:${re[ne.PRERELEASE]})?${re[ne.BUILD]}?)?)?`);Le("XRANGEPLAINLOOSE",`[v=\\s]*(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:\\.(${re[ne.XRANGEIDENTIFIERLOOSE]})(?:${re[ne.PRERELEASELOOSE]})?${re[ne.BUILD]}?)?)?`);Le("XRANGE",`^${re[ne.GTLT]}\\s*${re[ne.XRANGEPLAIN]}$`);Le("XRANGELOOSE",`^${re[ne.GTLT]}\\s*${re[ne.XRANGEPLAINLOOSE]}$`);Le("COERCEPLAIN",`(^|[^\\d])(\\d{1,${kw}})(?:\\.(\\d{1,${kw}}))?(?:\\.(\\d{1,${kw}}))?`);Le("COERCE",`${re[ne.COERCEPLAIN]}(?:$|[^\\d])`);Le("COERCEFULL",re[ne.COERCEPLAIN]+`(?:${re[ne.PRERELEASE]})?(?:${re[ne.BUILD]})?(?:$|[^\\d])`);Le("COERCERTL",re[ne.COERCE],!0);Le("COERCERTLFULL",re[ne.COERCEFULL],!0);Le("LONETILDE","(?:~>?)");Le("TILDETRIM",`(\\s*)${re[ne.LONETILDE]}\\s+`,!0);ii.tildeTrimReplace="$1~";Le("TILDE",`^${re[ne.LONETILDE]}${re[ne.XRANGEPLAIN]}$`);Le("TILDELOOSE",`^${re[ne.LONETILDE]}${re[ne.XRANGEPLAINLOOSE]}$`);Le("LONECARET","(?:\\^)");Le("CARETTRIM",`(\\s*)${re[ne.LONECARET]}\\s+`,!0);ii.caretTrimReplace="$1^";Le("CARET",`^${re[ne.LONECARET]}${re[ne.XRANGEPLAIN]}$`);Le("CARETLOOSE",`^${re[ne.LONECARET]}${re[ne.XRANGEPLAINLOOSE]}$`);Le("COMPARATORLOOSE",`^${re[ne.GTLT]}\\s*(${re[ne.LOOSEPLAIN]})$|^$`);Le("COMPARATOR",`^${re[ne.GTLT]}\\s*(${re[ne.FULLPLAIN]})$|^$`);Le("COMPARATORTRIM",`(\\s*)${re[ne.GTLT]}\\s*(${re[ne.LOOSEPLAIN]}|${re[ne.XRANGEPLAIN]})`,!0);ii.comparatorTrimReplace="$1$2$3";Le("HYPHENRANGE",`^\\s*(${re[ne.XRANGEPLAIN]})\\s+-\\s+(${re[ne.XRANGEPLAIN]})\\s*$`);Le("HYPHENRANGELOOSE",`^\\s*(${re[ne.XRANGEPLAINLOOSE]})\\s+-\\s+(${re[ne.XRANGEPLAINLOOSE]})\\s*$`);Le("STAR","(<|>)?=?\\s*\\*");Le("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$");Le("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")});var kO=m((k60,Jee)=>{"use strict";var G7e=Object.freeze({loose:!0}),H7e=Object.freeze({}),X7e=s(t=>t?typeof t!="object"?G7e:t:H7e,"parseOptions");Jee.exports=X7e});var Gw=m((G60,jee)=>{"use strict";var Yee=/^[0-9]+$/,$ee=s((t,e)=>{if(typeof t=="number"&&typeof e=="number")return t===e?0:t<e?-1:1;let r=Yee Line truncated
`).join(`
`+i),t.push(o+"m+"+I3.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=SHe()+e+" "+t[0]}s(wHe,"formatArgs");function SHe(){return lt.inspectOpts.hideDate?"":new Date().toISOString()+" "}s(SHe,"getDate");function FHe(...t){return process.stderr.write(q3.format(...t)+`
`)}s(FHe,"log");function WHe(t){t?process.env.DEBUG=t:delete process.env.DEBUG}s(WHe,"save");function xHe(){return process.env.DEBUG}s(xHe,"load");function THe(t){t.inspectOpts={};let e=Object.keys(lt.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=lt.inspectOpts[e[r]]}s(THe,"init");I3.exports=S6()(lt);var{formatters:Nte}=I3.exports;Nte.o=function(t){return this.inspectOpts.colors=this.useColors,q3.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};Nte.O=function(t){return this.inspectOpts.colors=this.useColors,q3.inspect(t,this.inspectOpts)}});var R3=m((wx0,T6)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?T6.exports=Bte():T6.exports=wte()});var Wte=m(cr=>{"use strict";var vHe=cr&&cr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),LHe=cr&&cr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ste=cr&&cr.__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)&&vHe(e,t,r);return LHe(e,t),e};Object.defineProperty(cr,"__esModule",{value:!0});cr.req=cr.json=cr.toBuffer=void 0;var _He=Ste(require("http")),QHe=Ste(require("https"));async function Fte(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}s(Fte,"toBuffer");cr.toBuffer=Fte;async function PHe(t){let r=(await Fte(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}s(PHe,"json");cr.json=PHe;function kHe(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?QHe:_He).request(t,e),o=new Promise((i,a)=>{n.once("response",i).once("error",a).end()});return n.then=o.then.bind(o),n}s(kHe,"req");cr.req=kHe});var Lte=m(Jr=>{"use strict";var Tte=Jr&&Jr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),UHe=Jr&&Jr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),vte=Jr&&Jr.__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)&&Tte(e,t,r);return UHe(e,t),e},GHe=Jr&&Jr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Tte(e,t,r)};Object.defineProperty(Jr,"__esModule",{value:!0});Jr.Agent=void 0;var HHe=vte(require("net")),xte=vte(require("http")),XHe=require("https");GHe(Wte(),Jr);var ui=Symbol("AgentBaseInternalState"),v6=class extends xte.Agent{static{s(this,"Agent")}constructor(e){super(e),this[ui]={}}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 HHe.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],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?XHe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(o),a=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(i,a),c instanceof xte.Agent)try{return c.addRequest(e,o)}catch(u){return n(u)}this[ui].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(i,a),n(c)})}createConnection(){let e=this[ui].currentSocket;if(this[ui].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[ui].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[ui]&&(this[ui].defaultPort=e)}get protocol(){return this[ui].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[ui]&&(this[ui].protocol=e)}};Jr.Agent=v6});var _te=m(Sl=>{"use strict";var VHe=Sl&&Sl.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Sl,"__esModule",{value:!0});Sl.parseProxyResponse=void 0;var JHe=VHe(R3()),N3=(0,JHe.default)("https-proxy-agent:parse-proxy-response");function YHe(t){return new Promise((e,r)=>{let n=0,o=[];function i(){let A=t.read();A?p(A):t.once("readable",i)}s(i,"read");function a(){t.removeListener("end",c),t.removeListener("error",u),t.removeListener("readable",i)}s(a,"cleanup");function c(){a(),N3("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}s(c,"onend");function u(A){a(),N3("onerror %o",A),r(A)}s(u,"onerror");function p(A){o.push(A),n+=A.length;let l=Buffer.concat(o,n),b=l.indexOf(`\r
\r
`);if(b===-1){N3("have not received end of HTTP headers yet..."),i();return}let M=l.slice(0,b).toString("ascii").split(`\r
`),z=M.shift();if(!z)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let g=z.split(" "),C=+g[1],E=g.slice(2).join(" "),B={};for(let D of M){if(!D)continue;let q=D.indexOf(":");if(q===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${D}"`));let x=D.slice(0,q).toLowerCase(),W=D.slice(q+1).trimStart(),_=B[x];typeof _=="string"?B[x]=[_,W]:Array.isArray(_)?_.push(W):B[x]=W}N3("got proxy server response: %o %o",z,B),a(),e({connect:{statusCode:C,statusText:E,headers:B},buffered:l})}s(p,"ondata"),t.on("error",u),t.on("end",c),i()})}s(YHe,"parseProxyResponse");Sl.parseProxyResponse=YHe});var Hte=m(Rn=>{"use strict";var $He=Rn&&Rn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),jHe=Rn&&Rn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Ute=Rn&&Rn.__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)&&$He(e,t,r);return jHe(e,t),e},Gte=Rn&&Rn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Rn,"__esModule",{value:!0});Rn.HttpsProxyAgent=void 0;var w3=Ute(require("net")),Qte=Ute(require("tls")),KHe=Gte(require("assert")),ZHe=Gte(R3()),eXe=Lte(),tXe=require("url"),rXe=_te(),_f=(0,ZHe.default)("https-proxy-agent"),Pte=s(t=>t.servername===void 0&&t.host&&!w3.isIP(t.host)?{...t,servername:t.host}:t,"setServernameFromNonIpHost"),S3=class extends eXe.Agent{static{s(this,"HttpsProxyAgent")}constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new tXe.URL(e):e,this.proxyHeaders=r?.headers??{},_f("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?kte(r,"headers"):null,host:n,port:o}}async connect(e,r){let{proxy:n}=this;if(!r.host)throw new TypeError('No "host" provided');let o;n.protocol==="https:"?(_f("Creating `tls.Socket`: %o",this.connectOpts),o=Qte.connect(Pte(this.connectOpts))):(_f("Creating `net.Socket`: %o",this.connectOpts),o=w3.connect(this.connectOpts));let i=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},a=w3.isIPv6(r.host)?`[${r.host}]`:r.host,c=`CONNECT ${a}:${r.port} HTTP/1.1\r
`;if(n.username||n.password){let b=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;i["Proxy-Authorization"]=`Basic ${Buffer.from(b).toString("base64")}`}i.Host=`${a}:${r.port}`,i["Proxy-Connection"]||(i["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let b of Object.keys(i))c+=`${b}: ${i[b]}\r
`;let u=(0,rXe.parseProxyResponse)(o);o.write(`${c}\r
`);let{connect:p,buffered:A}=await u;if(e.emit("proxyConnect",p),this.emit("proxyConnect",p,e),p.statusCode===200)return e.once("socket",nXe),r.secureEndpoint?(_f("Upgrading socket connection to TLS"),Qte.connect({...kte(Pte(r),"host","path","port"),socket:o})):o;o.destroy();let l=new w3.Socket({writable:!1});return l.readable=!0,e.once("socket",b=>{_f("Replaying proxy buffer for failed request"),(0,KHe.default)(b.listenerCount("data")>0),b.push(A),b.push(null)}),l}};S3.protocols=["http","https"];Rn.HttpsProxyAgent=S3;function nXe(t){t.resume()}s(nXe,"resume");function kte(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}s(kte,"omit")});var Jte=m(ur=>{"use strict";var oXe=ur&&ur.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),iXe=ur&&ur.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Xte=ur&&ur.__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)&&oXe(e,t,r);return iXe(e,t),e};Object.defineProperty(ur,"__esModule",{value:!0});ur.req=ur.json=ur.toBuffer=void 0;var sXe=Xte(require("http")),aXe=Xte(require("https"));async function Vte(t){let e=0,r=[];for await(let n of t)e+=n.length,r.push(n);return Buffer.concat(r,e)}s(Vte,"toBuffer");ur.toBuffer=Vte;async function cXe(t){let r=(await Vte(t)).toString("utf8");try{return JSON.parse(r)}catch(n){let o=n;throw o.message+=` (input: ${r})`,o}}s(cXe,"json");ur.json=cXe;function uXe(t,e={}){let n=((typeof t=="string"?t:t.href).startsWith("https:")?aXe:sXe).request(t,e),o=new Promise((i,a)=>{n.once("response",i).once("error",a).end()});return n.then=o.then.bind(o),n}s(uXe,"req");ur.req=uXe});var Kte=m(Yr=>{"use strict";var $te=Yr&&Yr.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),pXe=Yr&&Yr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),jte=Yr&&Yr.__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)&&$te(e,t,r);return pXe(e,t),e},AXe=Yr&&Yr.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&$te(e,t,r)};Object.defineProperty(Yr,"__esModule",{value:!0});Yr.Agent=void 0;var lXe=jte(require("net")),Yte=jte(require("http")),dXe=require("https");AXe(Jte(),Yr);var pi=Symbol("AgentBaseInternalState"),L6=class extends Yte.Agent{static{s(this,"Agent")}constructor(e){super(e),this[pi]={}}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 lXe.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],o=n.indexOf(r);o!==-1&&(n.splice(o,1),this.totalSocketCount--,n.length===0&&delete this.sockets[e])}getName(e){return(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?dXe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,n){let o={...r,secureEndpoint:this.isSecureEndpoint(r)},i=this.getName(o),a=this.incrementSockets(i);Promise.resolve().then(()=>this.connect(e,o)).then(c=>{if(this.decrementSockets(i,a),c instanceof Yte.Agent)return c.addRequest(e,o);this[pi].currentSocket=c,super.createSocket(e,r,n)},c=>{this.decrementSockets(i,a),n(c)})}createConnection(){let e=this[pi].currentSocket;if(this[pi].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[pi].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[pi]&&(this[pi].defaultPort=e)}get protocol(){return this[pi].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[pi]&&(this[pi].protocol=e)}};Yr.Agent=L6});var tre=m(Nn=>{"use strict";var bXe=Nn&&Nn.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),fXe=Nn&&Nn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),ere=Nn&&Nn.__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)&&bXe(e,t,r);return fXe(e,t),e},MXe=Nn&&Nn.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Nn,"__esModule",{value:!0});Nn.HttpProxyAgent=void 0;var mXe=ere(require("net")),hXe=ere(require("tls")),zXe=MXe(R3()),gXe=require("events"),OXe=Kte(),Zte=require("url"),Fl=(0,zXe.default)("http-proxy-agent"),F3=class extends OXe.Agent{static{s(this,"HttpProxyAgent")}constructor(e,r){super(r),this.proxy=typeof e=="string"?new Zte.URL(e):e,this.proxyHeaders=r?.headers??{},Fl("Creating new HttpProxyAgent instance: %o",this.proxy.href);let n=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),o=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?EXe(r,"headers"):null,host:n,port:o}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:n}=this,o=r.secureEndpoint?"https:":"http:",i=e.getHeader("host")||"localhost",a=`${o}//${i}`,c=new Zte.URL(e.path,a);r.port!==80&&(c.port=String(r.port)),e.path=String(c);let u=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(n.username||n.password){let p=`${decodeURIComponent(n.username)}:${decodeURIComponent(n.password)}`;u["Proxy-Authorization"]=`Basic ${Buffer.from(p).toString("base64")}`}u["Proxy-Connection"]||(u["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let p of Object.keys(u)){let A=u[p];A&&e.setHeader(p,A)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let n,o;Fl("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(Fl("Patching connection write() output buffer with updated header"),n=e.outputData[0].data,o=n.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+n.substring(o),Fl("Output buffer: %o",e.outputData[0].data));let i;return this.proxy.protocol==="https:"?(Fl("Creating `tls.Socket`: %o",this.connectOpts),i=hXe.connect(this.connectOpts)):(Fl("Creating `net.Socket`: %o",this.connectOpts),i=mXe.connect(this.connectOpts)),await(0,gXe.once)(i,"connect"),i}};F3.protocols=["http","https"];Nn.HttpProxyAgent=F3;function EXe(t,...e){let r={},n;for(n in t)e.includes(n)||(r[n]=t[n]);return r}s(EXe,"omit")});var Cre=m(V3=>{"use strict";Object.defineProperty(V3,"__esModule",{value:!0});V3.state=void 0;V3.state={instrumenterImplementation:void 0}});var Qre=m(K3=>{"use strict";Object.defineProperty(K3,"__esModule",{value:!0});K3.state=void 0;K3.state={operationRequestMap:new WeakMap}});var hie=m(jl=>{"use strict";Object.defineProperty(jl,"__esModule",{value:!0});var kje=require("os"),Uje=require("util");function Gje(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}s(Gje,"_interopDefaultLegacy");var Hje=Gje(Uje);function Xje(t,...e){process.stderr.write(`${Hje.default.format(t,...e)}${kje.EOL}`)}s(Xje,"log");var cie=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,pie,MT=[],mT=[],mC=[];cie&&hT(cie);var Aie=Object.assign(t=>lie(t),{enable:hT,enabled:zT,disable:Vje,log:Xje});function hT(t){pie=t,MT=[],mT=[];let e=/\*/g,r=t.split(",").map(n=>n.trim().replace(e,".*?"));for(let n of r)n.startsWith("-")?mT.push(new RegExp(`^${n.substr(1)}$`)):MT.push(new RegExp(`^${n}$`));for(let n of mC)n.enabled=zT(n.namespace)}s(hT,"enable");function zT(t){if(t.endsWith("*"))return!0;for(let e of mT)if(e.test(t))return!1;for(let e of MT)if(e.test(t))return!0;return!1}s(zT,"enabled");function Vje(){let t=pie||"";return hT(""),t}s(Vje,"disable");function lie(t){let e=Object.assign(r,{enabled:zT(t),destroy:Jje,log:Aie.log,namespace:t,extend:Yje});function r(...n){e.enabled&&(n.length>0&&(n[0]=`${t} ${n[0]}`),e.log(...n))}return s(r,"debug"),mC.push(e),e}s(lie,"createDebugger");function Jje(){let t=mC.indexOf(this);return t>=0?(mC.splice(t,1),!0):!1}s(Jje,"destroy");function Yje(t){let e=lie(`${this.namespace}:${t}`);return e.log=this.log,e}s(Yje,"extend");var DM=Aie,die=new Set,fC=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,hC,zC=DM("azure");zC.log=(...t)=>{DM.log(...t)};var gT=["verbose","info","warning","error"];fC&&(mie(fC)?bie(fC):console.error(`AZURE_LOG_LEVEL set to unknown log level '${fC}'; logging is not enabled. Acceptable values: ${gT.join(", ")}.`));function bie(t){if(t&&!mie(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${gT.join(",")}`);hC=t;let e=[];for(let r of die)Mie(r)&&e.push(r.namespace);DM.enable(e.join(","))}s(bie,"setLogLevel");function $je(){return hC}s($je,"getLogLevel");var uie={verbose:400,info:300,warning:200,error:100};function jje(t){let e=zC.extend(t);return fie(zC,e),{error:MC(e,"error"),warning:MC(e,"warning"),info:MC(e,"info"),verbose:MC(e,"verbose")}}s(jje,"createClientLogger");function fie(t,e){e.log=(...r)=>{t.log(...r)}}s(fie,"patchLogMethod");function MC(t,e){let r=Object.assign(t.extend(e),{level:e});if(fie(t,r),Mie(r)){let n=DM.disable();DM.enable(n+","+r.namespace)}return die.add(r),r}s(MC,"createLogger");function Mie(t){return!!(hC&&uie[t.level]<=uie[hC])}s(Mie,"shouldEnable");function mie(t){return gT.includes(t)}s(mie,"isAzureLogLevel");jl.AzureLogger=zC;jl.createClientLogger=jje;jl.getLogLevel=$je;jl.setLogLevel=bie});var CT=m(IM=>{"use strict";Object.defineProperty(IM,"__esModule",{value:!0});var Kl=new WeakMap,gC=new WeakMap,qM=class t{static{s(this,"AbortSignal")}constructor(){this.onabort=null,Kl.set(this,[]),gC.set(this,!1)}get aborted(){if(!gC.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return gC.get(this)}static get none(){return new t}addEventListener(e,r){if(!Kl.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");Kl.get(this).push(r)}removeEventListener(e,r){if(!Kl.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let n=Kl.get(this),o=n.indexOf(r);o>-1&&n.splice(o,1)}dispatchEvent(e){throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.")}};function zie(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=Kl.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),gC.set(t,!0)}s(zie,"abortSignal");var OT=class extends Error{static{s(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}},ET=class{static{s(this,"AbortController")}constructor(e){if(this._signal=new qM,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){zie(this._signal)}static timeout(e){let r=new qM,n=setTimeout(zie,e,r);return typeof n.unref=="function"&&n.unref(),r}};IM.AbortController=ET;IM.AbortError=OT;IM.AbortSignal=qM});var yie=m(p1=>{"use strict";Object.defineP Line truncated
Polling from: ${r.config.operationLocation}
Operation status: ${A}
Polling status: ${Iie.includes(A)?"Stopped":"Running"}`),A==="succeeded"){let l=a(p,r);if(l!==void 0)return{response:await e(l).catch(Die({state:r,stateProxy:n,isOperationError:c})),status:A}}return{response:p,status:A}}s(qKe,"pollOperationHelper");async function Sie(t){let{poll:e,state:r,stateProxy:n,options:o,getOperationStatus:i,getResourceLocation:a,getOperationLocation:c,isOperationError:u,withOperationLocation:p,getPollingInterval:A,processResult:l,getError:b,updateState:M,setDelay:z,isDone:g,setErrorAsResult:C}=t,{operationLocation:E}=r.config;if(E!==void 0){let{response:B,status:D}=await qKe({poll:e,getOperationStatus:i,state:r,stateProxy:n,operationLocation:E,getResourceLocation:a,isOperationError:u,options:o});if(Nie({status:D,response:B,state:r,stateProxy:n,isDone:g,processResult:l,getError:b,setErrorAsResult:C}),!Iie.includes(D)){let q=A?.(B);q&&z(q);let x=c?.(B,r);if(x!==void 0){let W=E!==x;r.config.operationLocation=x,p?.(x,W)}else p?.(E,!1)}M?.(r,B)}}s(Sie,"pollOperation");function Fie(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}s(Fie,"getOperationLocationPollingUrl");function Wie(t){return t.headers.location}s(Wie,"getLocationHeader");function xie(t){return t.headers["operation-location"]}s(xie,"getOperationLocationHeader");function Tie(t){return t.headers["azure-asyncoperation"]}s(Tie,"getAzureAsyncOperationHeader");function IKe(t){var e;let{location:r,requestMethod:n,requestPath:o,resourceLocationConfig:i}=t;switch(n){case"PUT":return o;case"DELETE":return;case"PATCH":return(e=a())!==null&&e!==void 0?e:o;default:return a()}function a(){switch(i){case"azure-async-operation":return;case"original-uri":return o;default:return r}}s(a,"getDefault")}s(IKe,"findResourceLocation");function vie(t){let{rawResponse:e,requestMethod:r,requestPath:n,resourceLocationConfig:o}=t,i=xie(e),a=Tie(e),c=Fie({operationLocation:i,azureAsyncOperation:a}),u=Wie(e),p=r?.toLocaleUpperCase();return c!==void 0?{mode:"OperationLocation",operationLocation:c,resourceLocation:IKe({requestMethod:p,location:u,requestPath:n,resourceLocationConfig:o})}:u!==void 0?{mode:"ResourceLocation",operationLocation:u}:p==="PUT"&&n?{mode:"Body",operationLocation:n}:void 0}s(vie,"inferLroMode");function Lie(t){let{status:e,statusCode:r}=t;if(typeof e!="string"&&e!==void 0)throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${e}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);switch(e?.toLocaleLowerCase()){case void 0:return WT(r);case"succeeded":return"succeeded";case"failed":return"failed";case"running":case"accepted":case"started":case"canceling":case"cancelling":return"running";case"canceled":case"cancelled":return"canceled";default:return op.verbose(`LRO: unrecognized operation status: ${e}`),e}}s(Lie,"transformStatus");function RKe(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return Lie({status:r,statusCode:t.statusCode})}s(RKe,"getStatus");function NKe(t){var e,r;let{properties:n,provisioningState:o}=(e=t.body)!==null&&e!==void 0?e:{},i=(r=n?.provisioningState)!==null&&r!==void 0?r:o;return Lie({status:i,statusCode:t.statusCode})}s(NKe,"getProvisioningState");function WT(t){return t===202?"running":t<300?"succeeded":"failed"}s(WT,"toOperationStatus");function _ie({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?wKe(new Date(e)):r*1e3}}s(_ie,"parseRetryAfter");function Qie(t){let e=t.flatResponse.error;if(!e){op.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){op.warning("The long-running operation failed but the error property in the response's body doesn't contain code or message");return}return e}s(Qie,"getErrorFromResponse");function wKe(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}s(wKe,"calculatePollingIntervalFromDate");function Pie(t){let{response:e,state:r,operationLocation:n}=t;function o(){var a;switch((a=r.config.metadata)===null||a===void 0?void 0:a.mode){case void 0:return WT(e.rawResponse.statusCode);case"Body":return xT(e,r);default:return"running"}}s(o,"helper");let i=o();return i==="running"&&n===void 0?"succeeded":i}s(Pie,"getStatusFromInitialResponse");async function SKe(t){let{stateProxy:e,resourceLocationConfig:r,processResult:n,lro:o,setErrorAsResult:i}=t;return wie({init:s(async()=>{let a=await o.sendInitialRequest(),c=vie({rawResponse:a.rawResponse,requestPath:o.requestPath,requestMethod:o.requestMethod,resourceLocationConfig:r});return Object.assign({response:a,operationLocation:c?.operationLocation,resourceLocation:c?.resourceLocation},c?.mode?{metadata:{mode:c.mode}}:{})},"init"),stateProxy:e,processResult:n?({flatResponse:a},c)=>n(a,c):({flatResponse:a})=>a,getOperationStatus:Pie,setErrorAsResult:i})}s(SKe,"initHttpOperation");function kie({rawResponse:t},e){var r;switchLine truncated
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:a=i,o=1;break;case 1:r[n++]=a<<2|(i&48)>>4,a=i,o=2;break;case 2:r[n++]=(a&15)<<4|(i&60)>>2,a=i,o=3;break;case 3:r[n++]=(a&3)<<6|i,o=0;break}}if(o==1)throw Error("invalid base64 string.");return r.subarray(0,n)}s(fZe,"base64decode");o2.base64decode=fZe;function MZe(t){let e="",r=0,n,o=0;for(let i=0;i<t.length;i++)switch(n=t[i],r){case 0:e+=na[n>>2],o=(n&3)<<4,r=1;break;case 1:e+=na[o|n>>4],o=(n&15)<<2,r=2;break;case 2:e+=na[o|n>>6],e+=na[n&63],r=0;break}return r&&(e+=na[o],e+="=",r==1&&(e+="=")),e}s(MZe,"base64encode");o2.base64encode=MZe});var Ose=m(_C=>{"use strict";Object.defineProperty(_C,"__esModule",{value:!0});_C.utf8read=void 0;var XT=s(t=>String.fromCharCode.apply(String,t),"fromCharCodes");function mZe(t){if(t.length<1)return"";let e=0,r=[],n=[],o=0,i,a=t.length;for(;e<a;)i=t[e++],i<128?n[o++]=i:i>191&&i<224?n[o++]=(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[o++]=55296+(i>>10),n[o++]=56320+(i&1023)):n[o++]=(i&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&(r.push(XT(n)),o=0);return r.length?(o&&r.push(XT(n.slice(0,o))),r.join("")):XT(n.slice(0,o))}s(mZe,"utf8read");_C.utf8read=mZe});var TM=m(Ti=>{"use strict";Object.defineProperty(Ti,"__esModule",{value:!0});Ti.WireType=Ti.mergeBinaryOptions=Ti.UnknownFieldHandler=void 0;var hZe;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,n,o,i,a)=>{(e(n)?n[t.symbol]:n[t.symbol]=[]).push({no:o,wireType:i,data:a})},t.onWrite=(r,n,o)=>{for(let{no:i,wireType:a,data:c}of t.list(n))o.tag(i,a).raw(c)},t.list=(r,n)=>{if(e(r)){let o=r[t.symbol];return n?o.filter(i=>i.no==n):o}return[]},t.last=(r,n)=>t.list(r,n).slice(-1)[0];let e=s(r=>r&&Array.isArray(r[t.symbol]),"is")})(hZe=Ti.UnknownFieldHandler||(Ti.UnknownFieldHandler={}));function zZe(t,e){return Object.assign(Object.assign({},t),e)}s(zZe,"mergeBinaryOptions");Ti.mergeBinaryOptions=zZe;var gZe;(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"})(gZe=Ti.WireType||(Ti.WireType={}))});var PC=m(Mr=>{"use strict";Object.defineProperty(Mr,"__esModule",{value:!0});Mr.varint32read=Mr.varint32write=Mr.int64toString=Mr.int64fromString=Mr.varint64write=Mr.varint64read=void 0;function OZe(){let t=0,e=0;for(let n=0;n<28;n+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<n,(o&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 o=this.buf[this.pos++];if(e|=(o&127)<<n,(o&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}s(OZe,"varint64read");Mr.varint64read=OZe;function EZe(t,e,r){for(let i=0;i<28;i=i+7){let a=t>>>i,c=!(!(a>>>7)&&e==0),u=(c?a|128:a)&255;if(r.push(u),!c)return}let n=t>>>28&15|(e&7)<<4,o=e>>3!=0;if(r.push((o?n|128:n)&255),!!o){for(let i=3;i<31;i=i+7){let a=e>>>i,c=!!(a>>>7),u=(c?a|128:a)&255;if(r.push(u),!c)return}r.push(e>>>31&1)}}s(EZe,"varint64write");Mr.varint64write=EZe;var QC=65536*65536;function CZe(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,n=0,o=0;function i(a,c){let u=Number(t.slice(a,c));o*=r,n=n*r+u,n>=QC&&(o=o+(n/QC|0),n=n%QC)}return s(i,"add1e6digit"),i(-24,-18),i(-18,-12),i(-12,-6),i(-6),[e,n,o]}s(CZe,"int64fromString");Mr.int64fromString=CZe;function yZe(t,e){if(e>>>0<=2097151)return""+(QC*e+(t>>>0));let r=t&16777215,n=(t>>>24|e<<8)>>>0&16777215,o=e>>16&65535,i=r+n*6777216+o*6710656,a=n+o*8147497,c=o*2,u=1e7;i>=u&&(a+=Math.floor(i/u),i%=u),a>=u&&(c+=Math.floor(a/u),a%=u);function p(A,l){let b=A?String(A):"";return l?"0000000".slice(b.length)+b:b}return s(p,"decimalFrom1e7"),p(c,0)+p(a,c)+p(i,1)}s(yZe,"int64toString");Mr.int64toString=yZe;function BZe(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)}}s(BZe,"varint32write");Mr.varint32write=BZe;function DZe(){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}s(DZe,"varint32read");Mr.varint32read=DZe});var zc=m(hc=>{"use strict";Object.defineProperty(hc,"__esModule",{value:!0});hc.PbLong=hc.PbULong=hc.detectBi=void 0;var vM=PC(),D0;function Ese(){let t=new DataView(new ArrayBuffer(8));D0=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("922337203685477580 Line truncated
`)}};by.RpcError=zv});var Ov=m(My=>{"use strict";Object.defineProperty(My,"__esModule",{value:!0});My.mergeRpcOptions=void 0;var eae=D1();function Je0(t,e){if(!e)return t;let r={};fy(t,r),fy(e,r);for(let n of Object.keys(e)){let o=e[n];switch(n){case"jsonOptions":r.jsonOptions=eae.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=eae.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},fy(t.meta,r.meta),fy(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(o):o.concat();break}}return r}s(Je0,"mergeRpcOptions");My.mergeRpcOptions=Je0;function fy(t,e){if(!t)return;let r=e;for(let[n,o]of Object.entries(t))o instanceof Date?r[n]=new Date(o.getTime()):Array.isArray(o)?r[n]=o.concat():r[n]=o}s(fy,"copy")});var Cv=m(up=>{"use strict";Object.defineProperty(up,"__esModule",{value:!0});up.Deferred=up.DeferredState=void 0;var _i;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(_i=up.DeferredState||(up.DeferredState={}));var Ev=class{static{s(this,"Deferred")}constructor(e=!0){this._state=_i.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!==_i.PENDING)throw new Error(`cannot resolve ${_i[this.state].toLowerCase()}`);this._resolve(e),this._state=_i.RESOLVED}reject(e){if(this.state!==_i.PENDING)throw new Error(`cannot reject ${_i[this.state].toLowerCase()}`);this._reject(e),this._state=_i.REJECTED}resolvePending(e){this._state===_i.PENDING&&this.resolve(e)}rejectPending(e){this._state===_i.PENDING&&this.reject(e)}};up.Deferred=Ev});var Bv=m(my=>{"use strict";Object.defineProperty(my,"__esModule",{value:!0});my.RpcOutputStreamController=void 0;var tae=Cv(),pp=D1(),yv=class{static{s(this,"RpcOutputStreamController")}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){pp.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){pp.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){pp.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(){pp.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:s(()=>{let e=this._itState;pp.assert(e,"bad state"),pp.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 tae.Deferred,e.p.promise)},"next")}}pushIt(e){let r=this._itState;if(r.p){let n=r.p;pp.assert(n.state==tae.DeferredState.PENDING,"iterator contract broken"),"value"in e?n.resolve(e):n.reject(e),delete r.p}else r.q.push(e)}};my.RpcOutputStreamController=yv});var qv=m(A2=>{"use strict";var Ye0=A2&&A2.__awaiter||function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})};Object.defineProperty(A2,"__esModule",{value:!0});A2.UnaryCall=void 0;var Dv=class{static{s(this,"UnaryCall")}constructor(e,r,n,o,i,a,c){this.method=e,this.requestHeaders=r,this.request=n,this.headers=o,this.response=i,this.status=a,this.trailers=c}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 Ye0(this,void 0,void 0,function*(){let[e,r,n,o]=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:o}})}};A2.UnaryCall=Dv});var Rv=m(l2=>{"use strict";var $e0=l2&&l2.__awaiter||function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function Line truncated
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}s(Ei0,"logUnexpecedPropertyAccessOnce");function Ci0(){Object.keys(f4).forEach(function(t){delete f4[t]})}s(Ci0,"resetLoggedProperties")});var m4=m(Ui=>{"use strict";Ui.__esModule=!0;Ui.HandlebarsEnvironment=z_;function dAe(t){return t&&t.__esModule?t:{default:t}}s(dAe,"_interopRequireDefault");var Op=$t(),yi0=sn(),m_=dAe(yi0),Bi0=d_(),Di0=uAe(),qi0=f_(),M4=dAe(qi0),Ii0=M_(),Ri0="4.7.9";Ui.VERSION=Ri0;var Ni0=8;Ui.COMPILER_REVISION=Ni0;var wi0=7;Ui.LAST_COMPATIBLE_COMPILER_REVISION=wi0;var Si0={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};Ui.REVISION_CHANGES=Si0;var h_="[object Object]";function z_(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},Bi0.registerDefaultHelpers(this),Di0.registerDefaultDecorators(this)}s(z_,"HandlebarsEnvironment");z_.prototype={constructor:z_,logger:M4.default,log:M4.default.log,registerHelper:s(function(e,r){if(Op.toString.call(e)===h_){if(r)throw new m_.default("Arg not supported with multiple helpers");Op.extend(this.helpers,e)}else this.helpers[e]=r},"registerHelper"),unregisterHelper:s(function(e){delete this.helpers[e]},"unregisterHelper"),registerPartial:s(function(e,r){if(Op.toString.call(e)===h_)Op.extend(this.partials,e);else{if(typeof r>"u")throw new m_.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},"registerPartial"),unregisterPartial:s(function(e){delete this.partials[e]},"unregisterPartial"),registerDecorator:s(function(e,r){if(Op.toString.call(e)===h_){if(r)throw new m_.default("Arg not supported with multiple decorators");Op.extend(this.decorators,e)}else this.decorators[e]=r},"registerDecorator"),unregisterDecorator:s(function(e){delete this.decorators[e]},"unregisterDecorator"),resetLoggedPropertyAccesses:s(function(){Ii0.resetLoggedProperties()},"resetLoggedPropertyAccesses")};var Fi0=M4.default.log;Ui.log=Fi0;Ui.createFrame=Op.createFrame;Ui.logger=M4.default});var fAe=m((h4,bAe)=>{"use strict";h4.__esModule=!0;function g_(t){this.string=t}s(g_,"SafeString");g_.prototype.toString=g_.prototype.toHTML=function(){return""+this.string};h4.default=g_;bAe.exports=h4.default});var MAe=m(O_=>{"use strict";O_.__esModule=!0;O_.wrapHelper=Wi0;function Wi0(t,e){if(typeof t!="function")return t;var r=s(function(){var o=arguments[arguments.length-1];return arguments[arguments.length-1]=e(o),t.apply(this,arguments)},"wrapper");return r}s(Wi0,"wrapHelper")});var EAe=m(Bc=>{"use strict";Bc.__esModule=!0;Bc.checkRevision=Qi0;Bc.template=Pi0;Bc.wrapProgram=z4;Bc.resolvePartial=ki0;Bc.invokePartial=Ui0;Bc.noop=gAe;function xi0(t){return t&&t.__esModule?t:{default:t}}s(xi0,"_interopRequireDefault");function Ti0(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}s(Ti0,"_interopRequireWildcard");var vi0=$t(),q2=Ti0(vi0),Li0=sn(),ca=xi0(Li0),ua=m4(),mAe=d_(),_i0=MAe(),hAe=M_();function Qi0(t){var e=t&&t[0]||1,r=ua.COMPILER_REVISION;if(!(e>=ua.LAST_COMPATIBLE_COMPILER_REVISION&&e<=ua.COMPILER_REVISION))if(e<ua.LAST_COMPATIBLE_COMPILER_REVISION){var n=ua.REVISION_CHANGES[r],o=ua.REVISION_CHANGES[e];throw new ca.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+n+") or downgrade your runtime to an older version ("+o+").")}else throw new ca.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}s(Qi0,"checkRevision");function Pi0(t,e){if(!e)throw new ca.default("No environment passed to template");if(!t||!t.main)throw new ca.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&t.compiler[0]===7;function n(a,c,u){u.hash&&(c=q2.extend({},c,u.hash),u.ids&&(u.ids[0]=!0)),a=e.VM.resolvePartial.call(this,a,c,u),u.hooks=this.hooks,u.protoAccessControl=this.protoAccessControl;var p=e.VM.invokePartial.call(this,a,c,u);if(p==null&&e.compile&&(u.partials[u.name]=e.compile(a,t.compilerOptions,e),p=u.partials[u.name](c,u)),p!=null){if(u.indent){for(var A=p.split(`
`),l=0,b=A.length;l<b&&!(!A[l]&&l+1===b);l++)A[l]=u.indent+A[l];p=A.join(`
`)}return p}else throw new ca.default("The partial "+u.name+" could not be compiled when running in runtime-only mode")}s(n,"invokePartialWrapper");var o={strict:s(function(c,u,p){if(!c||!(u in c))throw new ca.default('"'+u+'" not defined in '+c,{loc:p});return o.lookupProperty(c,u)},"strict"),lookupProperty:s(function(c,u){var p=c[u];if(p==null||Object.prototype.hasOwnProperty.call(c,u)||hAe.resultIsAllowed(p,o.protoAccessControl,u))return p},"lookupProperty"),lookup:s(function(c,u){for(var p=c.length,A=0;A<p;A++){var l=c[A]&&o.lookupProperty(c[A],u);if(l!=null)return l}},"lookup"),lambda:s(function(c,u){return typeof c=="function"?c.call(u):c},"lambda"),escapeExpression:q2.escapeExpression,invokePartial:n,fn:s(function(c){var u=t[c];return u.decorator=t[c+"_d"],u},"fn"),programs:[],program:s(function(c,u,p,A,l){var b=this.programs[c],M=this.fn(c);return u||l||A||p?b=z4(this,c,M,u,p,A,l):b||(b=this.programs[c]=z4(this,c,M)),b},"program"),data:s(function(c,u){for(;c&&u--;)c=c._parent;return c},"data"),mergeIfNeeded:s(function(c,u){var p=c||u;return c&&u&&c!==u&&(p=q2.extend({},u,c)),p},"mergeIfNeeded"),nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function i(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],u=c.data;i._setup(c),!c.partial&&t.useData&&(u=Gi0(a,u));var p=void 0,A=t.useBlockParams?[]:void 0;t.useDepths&&(c.depths?p=a!=c.depths[0]?[a].concat(c.depths):c.depths:p=[a]);function l(b){return""+t.main(o,b,o.helpers,o.partials,u,A,p)}return s(l,"main"),l=OAe(t.main,l,o,c.depths||[],u,A),l(a,c)}return s(i,"ret"),i.isTop=!0,i._setup=function(a){if(a.partial)o.protoAccessControl=a.protoAccessControl,o.helpers=a.helpers,o.partials=a.partials,o.decorators=a.decorators,o.hooks=a.hooks;else{var c={};zAe(c,e.helpers,o),zAe(c,a.helpers,o),o.helpers=c,t.usePartial&&(o.partials=o.mergeIfNeeded(a.partials,e.partials)),(t.usePartial||t.useDecorators)&&(o.decorators=q2.extend({},e.decorators,a.decorators)),o.hooks={},o.protoAccessControl=hAe.createProtoAccessControl(a);var u=a.allowCallsToHelperMissing||r;mAe.moveHelperToHooks(o,"helperMissing",u),mAe.moveHelperToHooks(o,"blockHelperMissing",u)}},i._child=function(a,c,u,p){if(t.useBlockParams&&!u)throw new ca.default("must pass block params");if(t.useDepths&&!p)throw new ca.default("must pass parent depths");return z4(o,a,t[a],c,0,u,p)},i}s(Pi0,"template");function z4(t,e,r,n,o,i,a){function c(u){var p=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],A=a;return a&&u!=a[0]&&!(u===t.nullContext&&a[0]===null)&&(A=[u].concat(a)),r(t,u,t.helpers,t.partials,p.data||n,i&&[p.blockParams].concat(i),A)}return s(c,"prog"),c=OAe(r,c,t,a,n,i),c.program=e,c.depth=a?a.length:0,c.blockParams=o||0,c}s(z4,"wrapProgram");function ki0(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=g4(r.partials,t)):r.name==="@partial-block"?t=g4(r.data,"partial-block"):t=g4(r.partials,r.name),t}s(ki0,"resolvePartial");function Ui0(t,e,r){var n=g4(r.data,"partial-block");r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var o=void 0;if(r.fn&&r.fn!==gAe&&(function(){r.data=ua.createFrame(r.data);var i=r.fn;o=r.data["partial-block"]=s(function(c){var u=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return u.data=ua.createFrame(u.data),u.data["partial-block"]=n,i(c,u)},"partialBlockWrapper"),i.partials&&(r.partials=q2.extend({},r.partials,i.partials))})(),t===void 0&&o&&(t=o),t===void 0)throw new ca.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}s(Ui0,"invokePartial");function gAe(){return""}s(gAe,"noop");function g4(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}s(g4,"lookupOwnProperty");function Gi0(t,e){return(!e||!("root"in e))&&(e=e?ua.createFrame(e):{},e.root=t),e}s(Gi0,"initData");function OAe(t,e,r,n,o,i){if(t.decorator){var a={};e=t.decorator(e,a,r,n&&n[0],o,i,n),q2.extend(e,a)}return e}s(OAe,"executeDecorators");function zAe(t,e,r){e&&Object.keys(e).forEach(function(n){var o=e[n];t[n]=Hi0(o,r)})}s(zAe,"addHelpers");function Hi0(t,e){var r=e.lookupProperty;return _i0.wrapHelper(t,function(n){return n.lookupProperty=r,n})}s(Hi0,"passLookupPropertyOption")});var E_=m((O4,CAe)=>{"use strict";O4.__esModule=!0;O4.default=function(t){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}};CAe.exports=O4.default});var IAe=m((E4,qAe)=>{"use strict";E4.__esModule=!0;function y_(t){return t&&t.__esModule?t:{default:t}}s(y_,"_interopRequireDefault");function B_(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}s(B_,"_interopRequireWildcard");var Xi0=m4(),yAe=B_(Xi0),Vi0=fAe(),Ji0=y_(Vi0),Yi0=sn(),$i0=y_(Yi0),ji0=$t(),C_=B_(ji0),Ki0=EAe Line truncated
`+this.lexer.showPosition()+`
Expecting `+k.join(", ")+", got '"+(this.terminals_[q]||q)+"'":Te="Parse error on line "+(l+1)+": Unexpected "+(q==1?"end of input":"'"+(this.terminals_[q]||q)+"'"),this.parseError(Te,{text:this.lexer.match,token:this.terminals_[q]||q,line:this.lexer.yylineno,loc:C,expected:k})}}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+q);switch(_[0]){case 1:a.push(q),c.push(this.lexer.yytext),u.push(this.lexer.yylloc),a.push(_[1]),q=null,x?(q=x,x=null):(b=this.lexer.yyleng,A=this.lexer.yytext,l=this.lexer.yylineno,C=this.lexer.yylloc,M>0&&M--);break;case 2:if(Ce=this.productions_[_[1]][1],xe.$=c[c.length-Ce],xe._$={first_line:u[u.length-(Ce||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(Ce||1)].first_column,last_column:u[u.length-1].last_column},E&&(xe._$.range=[u[u.length-(Ce||1)].range[0],u[u.length-1].range[1]]),Se=this.performAction.call(xe,A,b,l,this.yy,_[1],c,u),typeof Se<"u")return Se;Ce&&(a=a.slice(0,-1*Ce*2),c=c.slice(0,-1*Ce),u=u.slice(0,-1*Ce)),a.push(this.productions_[_[1]][0]),c.push(xe.$),u.push(xe._$),we=p[a[a.length-2]][a[a.length-1]],a.push(we);break;case 3:return!0}}return!0},"parse")},e=(function(){var n={EOF:1,parseError:s(function(i,a){if(this.yy.parser)this.yy.parser.parseError(i,a);else throw new Error(i)},"parseError"),setInput:s(function(i){return this._input=i,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var i=this._input[0];this.yytext+=i,this.yyleng++,this.offset++,this.match+=i,this.matched+=i;var a=i.match(/(?:\r\n?|\n).*/g);return a?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),i},"input"),unput:s(function(i){var a=i.length,c=i.split(/(?:\r\n?|\n)/g);this._input=i+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-a-1),this.offset-=a;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===u.length?this.yylloc.first_column:0)+u[u.length-c.length].length-c[0].length:this.yylloc.first_column-a},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-a]),this},"unput"),more:s(function(){return this._more=!0,this},"more"),less:s(function(i){this.unput(this.match.slice(i))},"less"),pastInput:s(function(){var i=this.matched.substr(0,this.matched.length-this.match.length);return(i.length>20?"...":"")+i.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var i=this.match;return i.length<20&&(i+=this._input.substr(0,20-i.length)),(i.substr(0,20)+(i.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var i=this.pastInput(),a=new Array(i.length+1).join("-");return i+this.upcomingInput()+`
`+a+"^"},"showPosition"),next:s(function(){if(this.done)return this.EOF;this._input||(this.done=!0);var i,a,c,u,p,A;this._more||(this.yytext="",this.match="");for(var l=this._currentRules(),b=0;b<l.length&&(c=this._input.match(this.rules[l[b]]),!(c&&(!a||c[0].length>a[0].length)&&(a=c,u=b,!this.options.flex)));b++);return a?(A=a[0].match(/(?:\r\n?|\n).*/g),A&&(this.yylineno+=A.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:A?A[A.length-1].length-A[A.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+a[0].length},this.yytext+=a[0],this.match+=a[0],this.matches=a,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(a[0].length),this.matched+=a[0],i=this.performAction.call(this,this.yy,this,l[u],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:s(function(){var i=this.next();return typeof i<"u"?i:this.lex()},"lex"),begin:s(function(i){this.conditionStack.push(i)},"begin"),popState:s(function(){return this.conditionStack.pop()},"popState"),_currentRules:s(function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},"_currentRules"),topState:s(function(){return this.conditionStack[this.conditionStack.length-2]},"topState"),pushState:s(function(i){this.begin(i)},"begin")};return n.options={},n.performAction=s(function(i,a,c,u){function p(l,b){return a.yytext=a.yytext.substring(l,a.yyleng-b+l)}s(p,"strip");var A=u;switch(c){case 0:if(a.yytext.slice(-2)==="\\\\"?(p(0,1),this.begin("mu")):a.yytext.slice(-1)==="\\"?(p(0,1),this.begin("emu")):this.begin("mu"),a.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(p(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(a.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return a.yytext=p(1,2).replace(/\\"/g,'"'),80;break;case 32:return a.yytext=p(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return a.yytext=a.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},"anonymous"),n.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],n.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},n})();t.lexer=e;function r(){this.yy={}}return s(r,"Parser"),r.prototype=t,t.Parser=r,new r})();y4.default=ts0;wAe.exports=y4.default});var I4=m((q4,xAe)=>{"use strict";q4.__esModule=!0;function rs0(t){return t&&t.__esModule?t:{default:t}}s(rs0,"_interopRequireDefault");var ns0=sn(),q_=rs0(ns0);function B4(){this.parents=[]}s(B4,"Visitor");B4.prototype={constructor:B4,mutating:!1,acceptKey:s(function(e,r){var n=this.accept(e[r]);if(this.mutating){if(n&&!B4.prototype[n.type])throw new q_.default('Unexpected node type "'+n.type+'" found when accepting '+r+" on "+e.type);e[r]=n}},"acceptKey"),acceptRequired:s(function(e,r){if(this.acceptKey(e,r),!e[r])throw new q_.default(e.type+" requires "+r)},"acceptRequired"),acceptArray:s(function(e){for(var r=0,n=e.length;r<n;r++)this.acceptKey(e,r),e[r]||(e.splice(r,1),r--,n--)},"acceptArray"),accept:s(function(e){if(e){if(!this[e.type])throw new q_.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return e}},"accept"),Program:s(function(e){this.acceptArray(e.body)},"Program"),MustacheStatement:D4,Decorator:D4,BlockStatement:FAe,DecoratorBlock:FAe,PartialStatement:WAe,PartialBlockStatement:s(function(e){WAe.call(this,e),this.acceptKey(e,"program")},"PartialBlockStatement"),ContentStatement:s(function(){},"ContentStatement"),CommentStatement:s(function(){},"CommentStatement"),SubExpression:D4,PathExpression:s(function(){},"PathExpressionLine truncated
`])}),e},"merge"),each:s(function(e){for(var r=0,n=this.source.length;r<n;r++)e(this.source[r])},"each"),empty:s(function(){var e=this.currentLocation||{start:{}};return new Bp(e.start.line,e.start.column,this.srcFile)},"empty"),wrap:s(function(e){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof Bp?e:(e=Y_(e,this,r),new Bp(r.start.line,r.start.column,this.srcFile,e))},"wrap"),functionCall:s(function(e,r,n){return n=this.generateList(n),this.wrap([e,r?"."+r+"(":"(",n,")"])},"functionCall"),quotedString:s(function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},"quotedString"),objectLiteral:s(function(e){var r=this,n=[];Object.keys(e).forEach(function(i){var a=Y_(e[i],r);a!=="undefined"&&n.push([r.quotedString(i),":",a])});var o=this.generateList(n);return o.prepend("{"),o.add("}"),o},"objectLiteral"),generateList:s(function(e){for(var r=this.empty(),n=0,o=e.length;n<o;n++)n&&r.add(","),r.add(Y_(e[n],this));return r},"generateList"),generateArray:s(function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r},"generateArray")};T4.default=Mle;mle.exports=T4.default});var Cle=m((v4,Ele)=>{"use strict";v4.__esModule=!0;function Ole(t){return t&&t.__esModule?t:{default:t}}s(Ole,"_interopRequireDefault");var zle=m4(),ea0=sn(),j_=Ole(ea0),ta0=$t(),ra0=hle(),gle=Ole(ra0);function F2(t){this.value=t}s(F2,"Literal");function W2(){}s(W2,"JavaScriptCompiler");W2.prototype={nameLookup:s(function(e,r){return this.internalNameLookup(e,r)},"nameLookup"),depthedLookup:s(function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},"depthedLookup"),compilerInfo:s(function(){var e=zle.COMPILER_REVISION,r=zle.REVISION_CHANGES[e];return[e,r]},"compilerInfo"),appendToBuffer:s(function(e,r,n){return ta0.isArray(e)||(e=[e]),e=this.source.wrap(e,r),this.environment.isSimple?["return ",e,";"]:n?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},"appendToBuffer"),initializeBuffer:s(function(){return this.quotedString("")},"initializeBuffer"),internalNameLookup:s(function(e,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(r),")"]},"internalNameLookup"),lookupPropertyFunctionIsUsed:!1,compile:s(function(e,r,n,o){this.environment=e,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!o,this.name=this.environment.name,this.isChild=!!n,this.context=n||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,r),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var i=e.opcodes,a=void 0,c=void 0,u=void 0,p=void 0;for(u=0,p=i.length;u<p;u++)a=i[u],this.source.currentLocation=a.loc,c=c||a.loc,this[a.opcode].apply(this,a.args);if(this.source.currentLocation=c,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new j_.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
`]),this.decorators.push("return fn;"),o?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
`),this.decorators.push(`}
`),this.decorators=this.decorators.merge()));var A=this.createFunctionContext(o);if(this.isChild)return A;var l={compiler:this.compilerInfo(),main:A};this.decorators&&(l.main_d=this.decorators,l.useDecorators=!0);var b=this.context,M=b.programs,z=b.decorators;for(u=0,p=M.length;u<p;u++)l[u]=M[u],z[u]&&(l[u+"_d"]=z[u],l.useDecorators=!0);return this.environment.usePartial&&(l.usePartial=!0),this.options.data&&(l.useData=!0),this.useDepths&&(l.useDepths=!0),this.useBlockParams&&(l.useBlockParams=!0),this.options.compat&&(l.compat=!0),o?l.compilerOptions=this.options:(l.compiler=JSON.stringify(l.compiler),this.source.currentLocation={start:{line:1,column:0}},l=this.objectLiteral(l),r.srcName?(l=l.toStringWithSourceMap({file:r.destName}),l.map=l.map&&l.map.toString()):l=l.toString()),l},"compile"),preamble:s(function(){this.lastContext=0,this.source=new gle.default(this.options.srcName),this.decorators=new gle.default(this.options.srcName)},"preamble"),createFunctionContext:s(function(e){var r=this,n="",o=this.stackVars.concat(this.registers.list);o.length>0&&(n+=", "+o.join(", "));var i=0;Object.keys(this.aliases).forEach(function(u){var p=r.aliases[u];p.children&&p.referenceCount>1&&(n+=", alias"+ ++i+"="+u,p.children[0]="alias"+i)}),this.lookupPropertyFunctionIsUsed&&(n+=", "+this.lookupPropertyFunctionVarDeclaration());var a=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&a.push("blockParams"),this.useDepths&&a.push("depths");var c=this.mergeSource(n);return e?(a.push(c),Function.apply(this,a)):this.source.wrap(["function(",a.join(","),`) {
`,c,"}"])},"createFunctionContext"),mergeSource:s(function(e){var r=this.environment.isSimple,n=!this.forceBuffer,o=void 0,i=void 0,a=void 0,c=void 0;return this.source.each(function(u){u.appendToBuffer?(a?u.prepend(" + "):a=u,c=u):(a&&(i?a.prepend("buffer += "):o=!0,c.add(";"),a=c=void 0),i=!0,r||(n=!1))}),n?a?(a.prepend("return "),c.add(";")):i||this.source.push('return "";'):(e+=", buffer = "+(o?"":this.initializeBuffer()),a?(a.prepend("return buffer + "),c.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(o?"":`;
`)),this.source.merge()},"mergeSource"),lookupPropertyFunctionVarDeclaration:s(function(){return`
lookupProperty = container.lookupProperty || function(parent, propertyName) {
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
return parent[propertyName];
}
return undefined
}
`.trim()},"lookupPropertyFunctionVarDeclaration"),blockValue:s(function(e){var r=this.aliasable("container.hooks.blockHelperMissing"),n=[this.contextName(0)];this.setupHelperArgs(e,0,n);var o=this.popStack();n.splice(1,0,o),this.push(this.source.functionCall(r,"call",n))},"blockValue"),ambiguousBlockValue:s(function(){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var n=this.topStack();r.splice(1,0,n),this.pushSource(["if (!",this.lastHelper,") { ",n," = ",this.source.functionCall(e,"call",r),"}"])},"ambiguousBlockValue"),appendContent:s(function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},"appendContent"),append:s(function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},"append"),appendEscaped:s(function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},"appendEscaped"),getContext:s(function(e){this.lastContext=e},"getContext"),pushContext:s(function(){this.pushStackLiteral(this.contextName(this.lastContext))},"pushContext"),lookupOnContext:s(function(e,r,n,o){var i=0;!o&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[i++])):this.pushContext(),this.resolvePath("context",e,i,r,n)},"lookupOnContext"),lookupBlockParam:s(function(e,r){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",r,1)},"lookupBlockParam"),lookupData:s(function(e,r,n){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,n)},"lookupData"),resolvePath:s(function(e,r,n,o,i){var a=this;if(this.options.strict||this.options.assumeObjects){this.push(na0(this.options.strict&&i,this,r,n,e));return}for(var c=r.length,u=s(function(A){a.replaceStack(function(l){var b=a.nameLookup(l,r[A],e);return o?[" && ",b]:[" != null ? ",b," : ",l]})},"_loop"),p=n;p<c;p++)u(p)},"resolvePath"),resolvePossibleLambda:s(function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},"resolvePossibleLambda"),pushStringParam:s(function(e,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof e=="string"?this.pushString(e):this.pushStackLiteral(e))},"pushStringParam"),emptyHash:s(function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},"emptyHash"),pushHash:s(function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},"pushHash"),popHash:s(function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},"popHash"),pushString:s(function(e){this.pushStackLiteral(this.quotedString(e))},"pushString"),pushLiteral:s(function(e){this.pushStackLiteral(e)},"pushLiteral"),pushProgram:s(function(e){e!=null?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},"pushProgram"),registerDecorator:s(function(e,r){var n=this.nameLookup("decorators",r,"decorator"),o=this.setupHelperArgs(r,e);this.decorators.push(["var decorator = ",n,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+r+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",o])," || fn;"])},"registerDecorator"),invokeHelper:s(function(e,r,n){var o=this.popStack(),i=this.setupHelper(e,r),a=[];n&&a.push(i.name),a.push(o),this.options.strict||a.push(this.aliasable("container.hooks.helperMissing"));var c=["(",this.itemsSeparatedBy(a,"||"),")"],u=this.source.functionCall(c,"call",i.callParams);this.push(u)},"invokeHelper"),itemsSeparatedBy:s(function(e,r){var n=[];n.push(e[0]);for(var o=1;o<e.length;o++)n.push(r,e[o]);return n},"itemsSeparatedBy"),invokeKnownHelper:s(function(e,r){var n=this.setupHelper(e,r);this.push(this.source.functionCall(n.name,"call",n.callParams))},"invokeKnownHelper"),invokeAmbiguous:s(function(e,r){this.useRegister("helper");var n=this.popStack();this.emptyHash();var o=this.setupHelper(0,e,r),i=this.lastHelper=this.nameLookup("helpers",e,"helper"),a=["(","(helper = ",i," || ",n,")"];this.options.strict||(a[0]="(helper = ",a.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",a,o.paramsInit?["),(",o.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("h Line truncated
`,e};d1.prototype.Program=function(t){var e="",r=t.body,n=void 0,o=void 0;if(t.blockParams){var i="BLOCK PARAMS: [";for(n=0,o=t.blockParams.length;n<o;n++)i+=" "+t.blockParams[n];i+=" ]",e+=this.pad(i)}for(n=0,o=r.length;n<o;n++)e+=this.accept(r[n]);return this.padding--,e};d1.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};d1.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};d1.prototype.BlockStatement=d1.prototype.DecoratorBlock=function(t){var e="";return e+=this.pad((t.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,e+=this.pad(this.SubExpression(t)),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e};d1.prototype.PartialStatement=function(t){var e="PARTIAL:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),this.pad("{{> "+e+" }}")};d1.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")};d1.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};d1.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};d1.prototype.SubExpression=function(t){for(var e=t.params,r=[],n=void 0,o=0,i=e.length;o<i;o++)r.push(this.accept(e[o]));return e="["+r.join(", ")+"]",n=t.hash?" "+this.accept(t.hash):"",this.accept(t.path)+" "+e+n};d1.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};d1.prototype.StringLiteral=function(t){return'"'+t.value+'"'};d1.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};d1.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};d1.prototype.UndefinedLiteral=function(){return"UNDEFINED"};d1.prototype.NullLiteral=function(){return"NULL"};d1.prototype.Hash=function(t){for(var e=t.pairs,r=[],n=0,o=e.length;n<o;n++)r.push(this.accept(e[n]));return"HASH{"+r.join(", ")+"}"};d1.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var eQ=m((_r1,Nle)=>{var Q4=Dle().default,Rle=qle();Q4.PrintVisitor=Rle.PrintVisitor;Q4.print=Rle.print;Nle.exports=Q4;function Ile(t,e){var r=require("fs"),n=r.readFileSync(e,"utf8");t.exports=Q4.compile(n)}s(Ile,"extension");typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=Ile,require.extensions[".hbs"]=Ile)});var X4=m(qc=>{"use strict";Object.defineProperty(qc,"__esModule",{value:!0});qc.Signature=qc.Envelope=void 0;qc.Envelope={fromJSON(t){return{payload:H4(t.payload)?Buffer.from(Ule(t.payload)):Buffer.alloc(0),payloadType:H4(t.payloadType)?globalThis.String(t.payloadType):"",signatures:globalThis.Array.isArray(t?.signatures)?t.signatures.map(e=>qc.Signature.fromJSON(e)):[]}},toJSON(t){let e={};return t.payload.length!==0&&(e.payload=Gle(t.payload)),t.payloadType!==""&&(e.payloadType=t.payloadType),t.signatures?.length&&(e.signatures=t.signatures.map(r=>qc.Signature.toJSON(r))),e}};qc.Signature={fromJSON(t){return{sig:H4(t.sig)?Buffer.from(Ule(t.sig)):Buffer.alloc(0),keyid:H4(t.keyid)?globalThis.String(t.keyid):""}},toJSON(t){let e={};return t.sig.length!==0&&(e.sig=Gle(t.sig)),t.keyid!==""&&(e.keyid=t.keyid),e}};function Ule(t){return Uint8Array.from(globalThis.Buffer.from(t,"base64"))}s(Ule,"bytesFromBase64");function Gle(t){return globalThis.Buffer.from(t).toString("base64")}s(Gle,"base64FromBytes");function H4(t){return t!=null}s(H4,"isSet")});var Xle=m(V4=>{"use strict";Object.defineProperty(V4,"__esModule",{value:!0});V4.Timestamp=void 0;V4.Timestamp={fromJSON(t){return{seconds:Hle(t.seconds)?globalThis.String(t.seconds):"0",nanos:Hle(t.nanos)?globalThis.Number(t.nanos):0}},toJSON(t){let e={};return t.seconds!=="0"&&(e.seconds=t.seconds),t.nanos!==0&&(e.nanos=Math.round(t.nanos)),e}};function Hle(t){return t!=null}s(Hle,"isSet")});var la=m(Be=>{"use strict";Object.defineProperty(Be,"__esModule",{value:!0});Be.TimeRange=Be.X509CertificateChain=Be.SubjectAlternativeName=Be.X509Certificate=Be.DistinguishedName=Be.ObjectIdentifierValuePair=Be.ObjectIdentifier=Be.PublicKeyIdentifier=Be.PublicKey=Be.RFC3161SignedTimestamp=Be.LogId=Be.MessageSignature=Be.HashOutput=Be.SubjectAlternativeNameType=Be.PublicKeyDetails=Be.HashAlgorithm=void 0;Be.hashAlgorithmFromJSON=Jle;Be.hashAlgorithmToJSON=Yle;Be.publicKeyDetailsFromJSON=$le;Be.publicKeyDetailsToJSON=jle;Be.subjectAlternativeNameTypeFromJSON=Kle;Be.subjectAlternativeNameTypeToJSON=Zle;var Ea0=Xle(),Or;(function(t){t[t.HASH_ALGORITHM_UNSPECIFIED=0]="HASH_ALGORITHM_UNSPECIFIED",t[t.SHA2_256=1]="SHA2_256",t[t.SHA2_384=2]="SHA2_384",t[t.SHA2_512=3]="SHA2_512",t[t.SHA3_256=4]="SH Line truncated
`).join(`
`+i),t.push(o+"m+"+SB.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=Yp0()+e+" "+t[0]}s(Jp0,"formatArgs");function Yp0(){return ot.inspectOpts.hideDate?"":new Date().toISOString()+" "}s(Yp0,"getDate");function $p0(...t){return process.stderr.write(wB.formatWithOptions(ot.inspectOpts,...t)+`
`)}s($p0,"log");function jp0(t){t?process.env.DEBUG=t:delete process.env.DEBUG}s(jp0,"save");function Kp0(){return process.env.DEBUG}s(Kp0,"load");function Zp0(t){t.inspectOpts={};let e=Object.keys(ot.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=ot.inspectOpts[e[r]]}s(Zp0,"init");SB.exports=o8()(ot);var{formatters:zde}=SB.exports;zde.o=function(t){return this.inspectOpts.colors=this.useColors,wB.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};zde.O=function(t){return this.inspectOpts.colors=this.useColors,wB.inspect(t,this.inspectOpts)}});var s8=m((Pi1,i8)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?i8.exports=hde():i8.exports=gde()});var WB=m(b1=>{"use strict";Object.defineProperty(b1,"__esModule",{value:!0});b1.DownloadHTTPError=b1.DownloadLengthMismatchError=b1.DownloadError=b1.ExpiredMetadataError=b1.EqualVersionError=b1.BadVersionError=b1.RepositoryError=b1.PersistError=b1.RuntimeError=b1.ValueError=void 0;var a8=class extends Error{static{s(this,"ValueError")}};b1.ValueError=a8;var c8=class extends Error{static{s(this,"RuntimeError")}};b1.RuntimeError=c8;var u8=class extends Error{static{s(this,"PersistError")}};b1.PersistError=u8;var _m=class extends Error{static{s(this,"RepositoryError")}};b1.RepositoryError=_m;var FB=class extends _m{static{s(this,"BadVersionError")}};b1.BadVersionError=FB;var p8=class extends FB{static{s(this,"EqualVersionError")}};b1.EqualVersionError=p8;var A8=class extends _m{static{s(this,"ExpiredMetadataError")}};b1.ExpiredMetadataError=A8;var Qm=class extends Error{static{s(this,"DownloadError")}};b1.DownloadError=Qm;var l8=class extends Qm{static{s(this,"DownloadLengthMismatchError")}};b1.DownloadLengthMismatchError=l8;var d8=class extends Qm{static{s(this,"DownloadHTTPError")}statusCode;constructor(e,r){super(e),this.statusCode=r}};b1.DownloadHTTPError=d8});var Ede=m(ed=>{"use strict";var f8=ed&&ed.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(ed,"__esModule",{value:!0});ed.withTempFile=void 0;var b8=f8(require("fs/promises")),eA0=f8(require("os")),Ode=f8(require("path")),tA0=s(async t=>rA0(async e=>t(Ode.default.join(e,"tempfile"))),"withTempFile");ed.withTempFile=tA0;var rA0=s(async t=>{let e=await b8.default.realpath(eA0.default.tmpdir()),r=await b8.default.mkdtemp(e+Ode.default.sep);try{return await t(r)}finally{await b8.default.rm(r,{force:!0,recursive:!0,maxRetries:3})}},"withTempDir")});var yde=m((Xi1,Cde)=>{var M8=class{static{s(this,"RetryOperation")}#e=1;#t=null;#n=[];#r=null;#o;#i=null;#a;#s;#u=null;#c;constructor(e,r={}){this.#a=[...e],this.#s=[...e],this.#c=r.unref,this.#o=r.maxRetryTime||1/0,r.forever&&(this.#t=[...this.#s])}get timeouts(){return[...this.#s]}get errors(){return[...this.#n]}get attempts(){return this.#e}get mainError(){let e=null;if(this.#n.length){let r=0,n={};for(let o=0;o<this.#n.length;o++){let i=this.#n[o],{message:a}=i;n[a]||(n[a]=0),n[a]++,n[a]>=r&&(e=i,r=n[a])}}return e}reset(){this.#e=1,this.#s=[...this.#a]}stop(){this.#u&&clearTimeout(this.#u),this.#s=[],this.#t=null}retry(e){if(this.#n.push(e),new Date().getTime()-this.#i>=this.#o)return this.#n.unshift(new Error("RetryOperation timeout occurred")),!1;let r=this.#s.shift();if(r===void 0)if(this.#t)this.#n.pop(),r=this.#t.at(-1);else return!1;return this.#u=setTimeout(()=>{this.#e++,this.#r(this.#e)},r),this.#c&&this.#u.unref(),!0}attempt(e){this.#r=e,this.#i=new Date().getTime(),this.#r(this.#e)}};Cde.exports={RetryOperation:M8}});var qde=m((Ji1,Dde)=>{var{RetryOperation:nA0}=yde(),Bde=s((t,e)=>Math.min(Math.round((1+(e.randomize?Math.random():0))*Math.max(e.minTimeout,1)*Math.pow(e.factor,t)),e.maxTimeout),"createTimeout"),oA0=s(t=>t?.code==="EPROMISERETRY"&&Object.hasOwn(t,"retried"),"isRetryError"),iA0=s(async(t,e={})=>{let r=[];if(e instanceof Array)r=[...e];else{e.retries===1/0&&(e.forever=!0,delete e.retries);let o={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1,...e};if(o.minTimeout>o.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");if(o.retries){for(let i=0;i<o.retries;i++)r.push(Bde(i,o));r.sort((i,a)=>i-a)}else e.forever&&r.push(Bde(0,o))}let n=new nA0(r,{forever:e.forever,unref:e.unref,maxRetryTime:e.maxRetryTime});return new Promise(function(o,i){n.attempt(async a=>{try{let c=await t(u=>{throw Object.assign(new Error("Retrying"),{code:"EPROMISERETRY",retried:u})},a,n);return o(c)}catch(c){if(!oA0(c))return i(c);if(!n.retry(c.retried||new Error))return i(c.retried)}})})},"promiseRetry");Dde.exports={promiseRetry:iA0}});var z8=m(Wc=>{"use strict";var h8=Wc&&Wc.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wc,"__esModule",{value:!0});Wc.DefaultFetcher=Wc.BaseFetcher=void 0;var sA0=h8(s8()),Ide=h8(require("fs")),aA0=h8(require("util")),Rde=WB(),cA0=Ede(),uA0=qde(),pA0=(0,sA0.default)("tuf:fetch"),AA0="User-Agent",xB=class{static{s(this,"BaseFetcher")}async downloadFile(e,r,n){return(0,cA0.withTempFile)(async o=>{let i=await this.fetch(e),a=0,c=Ide.default.createWriteStream(o),u=i.getReader();try{for(;;){let{done:p,value:A}=await u.read();if(p)break;if(a+=A.length,a>r)throw new Rde.DownloadLengthMismatchError("Max length reached");await lA0(c,Buffer.from(A))}}finally{u.releaseLock(),await aA0.default.promisify(c.close).bind(c)()}return n(o)})}async downloadBytes(e,r){return this.downloadFile(e,r,async n=>{let o=Ide.defau Line truncated
`).forEach(r=>{r.match(ml0)||r.match(hl0)||(e+=r)}),Buffer.from(e,"base64")}s(zl0,"toDER");function gl0(t,e="CERTIFICATE"){let n=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...n,`-----END ${e}-----`].join(`
`).concat(`
`)}s(gl0,"fromDER")});var jB=m(_c=>{"use strict";Object.defineProperty(_c,"__esModule",{value:!0});_c.SHA2_HASH_ALGOS=_c.RSA_SIGNATURE_ALGOS=_c.ECDSA_SIGNATURE_ALGOS=void 0;_c.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};_c.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};_c.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var U8=m(KB=>{"use strict";Object.defineProperty(KB,"__esModule",{value:!0});KB.RFC3161TimestampVerificationError=void 0;var k8=class extends Error{static{s(this,"RFC3161TimestampVerificationError")}};KB.RFC3161TimestampVerificationError=k8});var ibe=m(ji=>{"use strict";var Ol0=ji&&ji.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),El0=ji&&ji.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Cl0=ji&&ji.__importStar||(function(){var t=s(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Ol0(r,e,n[o]);return El0(r,e),r}})();Object.defineProperty(ji,"__esModule",{value:!0});ji.TSTInfo=void 0;var obe=Cl0(sd()),yl0=jB(),Bl0=U8(),G8=class{static{s(this,"TSTInfo")}root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return yl0.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=obe.digest(this.messageImprintHashAlgorithm,e);if(!obe.bufferEqual(r,this.messageImprintHashedMessage))throw new Bl0.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};ji.TSTInfo=G8});var abe=m(Ki=>{"use strict";var Dl0=Ki&&Ki.__createBinding||(Object.create?(function(t,e,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(e,r);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:s(function(){return e[r]},"get")}),Object.defineProperty(t,n,o)}):(function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]})),ql0=Ki&&Ki.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Il0=Ki&&Ki.__importStar||(function(){var t=s(function(e){return t=Object.getOwnPropertyNames||function(r){var n=[];for(var o in r)Object.prototype.hasOwnProperty.call(r,o)&&(n[n.length]=o);return n},t(e)},"ownKeys");return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=t(e),o=0;o<n.length;o++)n[o]!=="default"&&Dl0(r,e,n[o]);return ql0(r,e),r}})();Object.defineProperty(Ki,"__esModule",{value:!0});Ki.RFC3161Timestamp=void 0;var Rl0=JB(),H8=Il0(sd()),sbe=jB(),Xm=U8(),Nl0=ibe(),wl0="1.2.840.113549.1.7.2",Sl0="1.2.840.113549.1.9.16.1.4",Fl0="1.2.840.113549.1.9.4",X8=class t{static{s(this,"RFC3161Timestamp")}root;constructor(e){this.root=e}static parse(e){let r=Rl0.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return sbe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return sbe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new Nl0.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new Xm.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==wl0)throw new Xm.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==Sl0)throw new Xm.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=H8.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].valu Line truncated
`,Z20=/\u2014 (\S+) (\S+)\n/g;function ed0(t,e){let r=t.inclusionProof,n=EP.fromString(r.checkpoint.envelope),o=hD.fromString(n.note);if(!td0(n,e))throw new dd.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return o}s(ed0,"verifyCheckpoint");function td0(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(n=>{let o=e.find(i=>Pbe.crypto.bufferEqual(i.logID.subarray(0,4),n.keyHint)&&i.baseURL.includes(n.name));return o?Pbe.crypto.verify(r,o.publicKey,n.signature):!1})}s(td0,"verifySignedNote");var EP=class t{static{s(this,"SignedNote")}note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(OP))throw new dd.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(OP),n=e.slice(0,r+1),i=e.slice(r+OP.length).matchAll(Z20),a=Array.from(i,c=>{let[,u,p]=c,A=Buffer.from(p,"base64");if(A.length<5)throw new dd.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:u,keyHint:A.subarray(0,4),signature:A.subarray(4)}});if(a.length===0)throw new dd.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(n,a)}},hD=class t{static{s(this,"LogCheckpoint")}origin;logSize;logHash;rest;constructor(e,r,n,o){this.origin=e,this.logSize=r,this.logHash=n,this.rest=o}static fromString(e){let r=e.trimEnd().split(`
`);if(r.length<3)throw new dd.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let n=r[0],o;try{o=BigInt(r[1])}catch{throw new dd.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint log size"})}let i=Buffer.from(r[2],"base64"),a=r.slice(3);return new t(n,o,i,a)}};jm.LogCheckpoint=hD});var Ube=m(BP=>{"use strict";Object.defineProperty(BP,"__esModule",{value:!0});BP.verifyMerkleInclusion=od0;var yP=Fo(),zD=It(),rd0=Buffer.from([0]),nd0=Buffer.from([1]);function od0(t,e){let r=t.inclusionProof,n;try{n=BigInt(r.logIndex)}catch{throw new zD.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid inclusion proof log index"})}let o=BigInt(e.logSize);if(n<0n||n>=o)throw new zD.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${n}`});let{inner:i,border:a}=id0(n,o);if(r.hashes.length!==i+a)throw new zD.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let c=r.hashes.slice(0,i),u=r.hashes.slice(i),p=Ad0(t.canonicalizedBody),A=ad0(sd0(p,c,n),u);if(!yP.crypto.bufferEqual(A,e.logHash))throw new zD.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}s(od0,"verifyMerkleInclusion");function id0(t,e){let r=cd0(t,e),n=ud0(t>>BigInt(r));return{inner:r,border:n}}s(id0,"decompInclProof");function sd0(t,e,r){return e.reduce((n,o,i)=>r>>BigInt(i)&BigInt(1)?CP(o,n):CP(n,o),t)}s(sd0,"chainInner");function ad0(t,e){return e.reduce((r,n)=>CP(n,r),t)}s(ad0,"chainBorderRight");function cd0(t,e){return pd0(t^e-BigInt(1))}s(cd0,"innerProofSize");function ud0(t){return t.toString(2).split("1").length-1}s(ud0,"onesCount");function pd0(t){return t===0n?0:t.toString(2).length}s(pd0,"bitLength");function CP(t,e){return yP.crypto.digest("sha256",nd0,t,e)}s(CP,"hashChildren");function Ad0(t){return yP.crypto.digest("sha256",rd0,t)}s(Ad0,"hashLeaf")});var Hbe=m(DP=>{"use strict";Object.defineProperty(DP,"__esModule",{value:!0});DP.verifyTLogSET=bd0;var Gbe=Fo(),ld0=It(),dd0=ud();function bd0(t,e){if(!(0,dd0.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(o=>{let i=fd0(t),a=Buffer.from(Gbe.json.canonicalize(i),"utf8"),c=t.inclusionPromise.signedEntryTimestamp;return Gbe.crypto.verify(a,o.publicKey,c)}))throw new ld0.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}s(bd0,"verifyTLogSET");function fd0(t){let{integratedTime:e,logIndex:r,logId:n,canonicalizedBody:o}=t;return{body:o.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:n.keyId.toString("hex")}}s(fd0,"toVerificationPayload")});var Vbe=m(OD=>{"use strict";Object.defineProperty(OD,"__esModule",{value:!0});OD.verifyTLogBody=gd0;OD.verifyTLogInclusion=Od0;var Xbe=vbe(),gD=It(),qP=Lbe(),IP=_be(),Md0=Qbe(),md0=kbe(),hd0=Ube(),zd0=Hbe();function gd0(t,e){let{kind:r,version:n}=t.kindVersion,o;try{o=JSON.parse(t.canonicalizedBody.toString("utf8"))}catch{throw new gD.VerificationError({code:"TLOG_BODY_ERROR",message:"invalid canonicalized body"})}if(r!==o.kind||n!==o.apiVersion)throw new gD.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${n}, received: ${o.kind}/${o.apiVersion}`});switch(r){case"dsse":if(n==qP.DSSE_API_VERSION_V1)return(0,qP.verifyDSSETLogBody)(o,e);{let i=Xbe.Entry.fromJSON(o);return(0,qP.verifyDSSETLogBodyV2)(i,e)}case"intoto":return(0,Md0.verifyIntotoTLogBody)(o,e);case"hashedrekord":if(n==IP.HASHEDREKORD_API_VERSION_V1)return(0,IP.verifyHashedRekordTLogBody)(o,e);{let i=Xbe.Entry.fromJSON(o);return(0,IP.verifyHashedRekordTLogBodyV2)(i,e)}default:throw new gD.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}s(gd0,"verifyTLogBody");function Od0(t,e){let r=!1;if(Ed0(t)&&((0,zd0.verifyTLogSET)(t,e),r=!0),Cd0(t)){let n=(0,md0.verifyCheckpoint)(t,e);(0,hd0.verifyMerkleInclusion)(t,n),r=!0}if(!r)throw new gD.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}s(Od0,"verifyTLogInclusion");function Ed0(t){return t.inclusionPromise!==void 0}s(Ed0,"isTLogEntryWithInclusionPromise");function Cd0(t){return t.inclusionProof!==void 0}s(Cd0,"isTLogEntryWithInclusionProof")});var jbe=m(ED=>{"use strict";Object.defineProperty(ED,"__esModule",{value:!0});ED.Verifier=void 0;var yd0=require("util"),Gp=It(),Jbe=Bbe(),RP=Dbe(),Ybe=Rbe(),$be=Vbe(),wP=class{static{s(this,"Verifier")}trustMaterial;options;constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,timestampThreshold:r.timestampThreshold??r.tsaThreshold??1,tsaThreshold:0}}verify(e,r){let n=this.verifyTimestamps(e),o=this.verifySigningKey(e,n);return this.verifyTLogs(e),this.verifySignature(e,o),r&&this.verifyPolicy(r,o.identity||{}),o}verifyTimestamps(e){let r=[];for(let n of e.timestamps)switch(n.$case){case"time Line truncated
[`+I+"] ";for(F in arguments[0])i(arguments[0],F)&&(y+=F+": "+arguments[0][F]+", ");y=y.slice(0,-2)}else y=arguments[I];O.push(y)}_(d+`
Arguments: `+Array.prototype.slice.call(O).join("")+`
`+new Error().stack),h=!1}return f.apply(this,arguments)},f)}s(ae,"deprecate");var Se={};function xe(d,f){e.deprecationHandler!=null&&e.deprecationHandler(d,f),Se[d]||(_(f),Se[d]=!0)}s(xe,"deprecateSimple"),e.suppressDeprecationWarnings=!1,e.deprecationHandler=null;function Ne(d){return typeof Function<"u"&&d instanceof Function||Object.prototype.toString.call(d)==="[object Function]"}s(Ne,"isFunction");function Ce(d){var f,h;for(h in d)i(d,h)&&(f=d[h],Ne(f)?this[h]=f:this["_"+h]=f);this._config=d,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}s(Ce,"set");function we(d,f){var h=l({},d),O;for(O in f)i(f,O)&&(o(d[O])&&o(f[O])?(h[O]={},l(h[O],d[O]),l(h[O],f[O])):f[O]!=null?h[O]=f[O]:delete h[O]);for(O in d)i(d,O)&&!i(f,O)&&o(d[O])&&(h[O]=l({},h[O]));return h}s(we,"mergeConfigs");function k(d){d!=null&&this.set(d)}s(k,"Locale");var Te;Object.keys?Te=Object.keys:Te=s(function(d){var f,h=[];for(f in d)i(d,f)&&h.push(f);return h},"keys");var T={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function j(d,f,h){var O=this._calendar[d]||this._calendar.sameElse;return Ne(O)?O.call(f,h):O}s(j,"calendar");function $e(d,f,h){var O=""+Math.abs(d),y=f-O.length,I=d>=0;return(I?h?"+":"":"-")+Math.pow(10,Math.max(0,y)).toString().substr(1)+O}s($e,"zeroFill");var m1=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,ze=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,I0={},je={};function X(d,f,h,O){var y=O;typeof O=="string"&&(y=s(function(){return this[O]()},"func")),d&&(je[d]=y),f&&(je[f[0]]=function(){return $e(y.apply(this,arguments),f[1],f[2])}),h&&(je[h]=function(){return this.localeData().ordinal(y.apply(this,arguments),d)})}s(X,"addFormatToken");function Rt(d){return d.match(/\[[\s\S]/)?d.replace(/^\[|\]$/g,""):d.replace(/\\/g,"")}s(Rt,"removeFormattingTokens");function Nt(d){var f=d.match(m1),h,O;for(h=0,O=f.length;h<O;h++)je[f[h]]?f[h]=je[f[h]]:f[h]=Rt(f[h]);return function(y){var I="",F;for(F=0;F<O;F++)I+=Ne(f[F])?f[F].call(y,d):f[F];return I}}s(Nt,"makeFormatFunction");function m0(d,f){return d.isValid()?(f=er(f,d.localeData()),I0[f]=I0[f]||Nt(f),I0[f](d)):d.localeData().invalidDate()}s(m0,"formatMoment");function er(d,f){var h=5;function O(y){return f.longDateFormat(y)||y}for(s(O,"replaceLongDateFormatTokens"),ze.lastIndex=0;h>=0&&ze.test(d);)d=d.replace(ze,O),ze.lastIndex=0,h-=1;return d}s(er,"expandFormat");var $h={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function jh(d){var f=this._longDateFormat[d],h=this._longDateFormat[d.toUpperCase()];return f||!h?f:(this._longDateFormat[d]=h.match(m1).map(function(O){return O==="MMMM"||O==="MM"||O==="DD"||O==="dddd"?O.slice(1):O}).join(""),this._longDateFormat[d])}s(jh,"longDateFormat");var Tq="Invalid date";function $c(){return this._invalidDate}s($c,"invalidDate");var R="%d",v=/\d{1,2}/;function L(d){return this._ordinal.replace("%d",d)}s(L,"ordinal");var G={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function Ie(d,f,h,O){var y=this._relativeTime[h];return Ne(y)?y(d,f,h,O):y.replace(/%d/i,d)}s(Ie,"relativeTime");function n0(d,f){var h=this._relativeTime[d>0?"future":"past"];return Ne(h)?h(f):h.replace(/%s/i,f)}s(n0,"pastFuture");var e1={D:"date",dates:"date",date:"date",d:"day",days:"day",day:"day",e:"weekday",weekdays:"weekday",weekday:"weekday",E:"isoWeekday",isoweekdays:"isoWeekday",isoweekday:"isoWeekday",DDD:"dayOfYear",dayofyears:"dayOfYear",dayofyear:"dayOfYear",h:"hour",hours:"hour",hour:"hour",ms:"millisecond",milliseconds:"millisecond",millisecond:"millisecond",m:"minute",minutes:"minute",minute:"minute",M:"month",months:"month",month:"month",Q:"quarter",quarters:"quarter",quarter:"quarter",s:"second",seconds:"second",second:"second",gg:"weekYear",weekyears:"weekYear",weekyear:"weekYear",GG:"isoWeekYear",isoweekyears:"isoWeekYear",isoweekyear:"isoWeekYear",w:"week",weeks:"week",week:"week",W:"isoWeek",isoweeks:"isoWeek",isoweek:"isoWeek",y:"year",years:"year",year:"year"};function ke(d){return typeof d=="string"?e1[d]||e1[d.toLowerCase()]:void 0}s(ke,"normalizeUnits");function R0(d){var f={},h,O;for(O in d)i(d,O)&&(h=ke(O),h&&(f[h]=d[O]));return f}s(R0,"normalizeObjectUnits");var uU={date:9,day:11,weekday:11,isoWeekday:11,dayOfYear:4,hour:13,millisecond:16,minute:14,month:8,quarter:7,second:15,weekYear:1,isoWeekYear:1,week:5,isoWeek:5,year:1};function ABe(d){var f=[],h;for(h in d)i(d,h)&&f.push({unit:h,priority:uU[h]});return f.sort(function(O,y){return O.priority-y.priority}),f}s(ABe Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}s(zE0,"_nonIterableRest");Rh.exports=zE0,Rh.exports.__esModule=!0,Rh.exports.default=Rh.exports});var MEe=m((df1,Nh)=>{var gE0=e3e(),OE0=H3e(),EE0=bEe(),CE0=fEe();function yE0(t,e){return gE0(t)||OE0(t,e)||EE0(t,e)||CE0()}s(yE0,"_slicedToArray");Nh.exports=yE0,Nh.exports.__esModule=!0,Nh.exports.default=Nh.exports});var hEe=m((ff1,mEe)=>{"use strict";var BE0=hq().forEach,DE0=yh(),qE0=DE0("forEach");mEe.exports=qE0?[].forEach:s(function(e){return BE0(this,e,arguments.length>1?arguments[1]:void 0)},"forEach")});var gEe=m(()=>{"use strict";var IE0=F0(),zEe=hEe();IE0({target:"Array",proto:!0,forced:[].forEach!==zEe},{forEach:zEe})});var EEe=m((zf1,OEe)=>{"use strict";gEe();var RE0=Qo();OEe.exports=RE0("Array","forEach")});var yEe=m((gf1,CEe)=>{"use strict";var NE0=EEe();CEe.exports=NE0});var BEe=m(()=>{});var qEe=m((Cf1,DEe)=>{"use strict";var wE0=Sd(),SE0=Kt(),FE0=Ir(),WE0=yEe();BEe();var I7=Array.prototype,xE0={DOMTokenList:!0,NodeList:!0};DEe.exports=function(t){var e=t.forEach;return t===I7||FE0(I7,t)&&e===I7.forEach||SE0(xE0,wE0(t))?WE0:e}});var R7=m((yf1,IEe)=>{IEe.exports=qEe()});var REe=m(()=>{"use strict";var TE0=F0(),vE0=tq().includes,LE0=f1(),_E0=uk(),QE0=LE0(function(){return!Array(1).includes()});TE0({target:"Array",proto:!0,forced:QE0},{includes:s(function(e){return vE0(this,e,arguments.length>1?arguments[1]:void 0)},"includes")});_E0("includes")});var wEe=m((If1,NEe)=>{"use strict";REe();var PE0=Qo();NEe.exports=PE0("Array","includes")});var FEe=m((Rf1,SEe)=>{"use strict";var kE0=pn(),UE0=Oa(),GE0=N1(),HE0=GE0("match");SEe.exports=function(t){var e;return kE0(t)&&((e=t[HE0])!==void 0?!!e:UE0(t)==="RegExp")}});var xEe=m((Nf1,WEe)=>{"use strict";var XE0=FEe(),VE0=TypeError;WEe.exports=function(t){if(XE0(t))throw new VE0("The method doesn't accept regular expressions");return t}});var vEe=m((wf1,TEe)=>{"use strict";var JE0=N1(),YE0=JE0("match");TEe.exports=function(t){var e=/./;try{"/./"[t](e)}catch{try{return e[YE0]=!1,"/./"[t](e)}catch{}}return!1}});var _Ee=m(()=>{"use strict";var $E0=F0(),jE0=n1(),KE0=xEe(),ZE0=Hp(),LEe=ps(),eC0=vEe(),tC0=jE0("".indexOf);$E0({target:"String",proto:!0,forced:!eC0("includes")},{includes:s(function(e){return!!~tC0(LEe(ZE0(this)),LEe(KE0(e)),arguments.length>1?arguments[1]:void 0)},"includes")})});var PEe=m((xf1,QEe)=>{"use strict";_Ee();var rC0=Qo();QEe.exports=rC0("String","includes")});var GEe=m((Tf1,UEe)=>{"use strict";var kEe=Ir(),nC0=wEe(),oC0=PEe(),N7=Array.prototype,w7=String.prototype;UEe.exports=function(t){var e=t.includes;return t===N7||kEe(N7,t)&&e===N7.includes?nC0:typeof t=="string"||t===w7||kEe(w7,t)&&e===w7.includes?oC0:e}});var XEe=m((vf1,HEe)=>{"use strict";var iC0=GEe();HEe.exports=iC0});var wh=m((Lf1,VEe)=>{VEe.exports=XEe()});var S7=m((_f1,JEe)=>{"use strict";JEe.exports=`
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var jEe=m((Qf1,$Ee)=>{"use strict";var sC0=n1(),aC0=Hp(),cC0=ps(),W7=S7(),YEe=sC0("".replace),uC0=RegExp("^["+W7+"]+"),pC0=RegExp("(^|[^"+W7+"])["+W7+"]+$"),F7=s(function(t){return function(e){var r=cC0(aC0(e));return t&1&&(r=YEe(r,uC0,"")),t&2&&(r=YEe(r,pC0,"$1")),r}},"createMethod");$Ee.exports={start:F7(1),end:F7(2),trim:F7(3)}});var oCe=m((kf1,nCe)=>{"use strict";var tCe=J1(),AC0=f1(),lC0=n1(),dC0=ps(),bC0=jEe().trim,KEe=S7(),Sh=tCe.parseInt,ZEe=tCe.Symbol,eCe=ZEe&&ZEe.iterator,rCe=/^[+-]?0x/i,fC0=lC0(rCe.exec),MC0=Sh(KEe+"08")!==8||Sh(KEe+"0x16")!==22||eCe&&!AC0(function(){Sh(Object(eCe))});nCe.exports=MC0?s(function(e,r){var n=bC0(dC0(e));return Sh(n,r>>>0||(fC0(rCe,n)?16:10))},"parseInt"):Sh});var sCe=m(()=>{"use strict";var mC0=F0(),iCe=oCe();mC0({global:!0,forced:parseInt!==iCe},{parseInt:iCe})});var cCe=m((Xf1,aCe)=>{"use strict";sCe();var hC0=To();aCe.exports=hC0.parseInt});var pCe=m((Vf1,uCe)=>{"use strict";var zC0=cCe();uCe.exports=zC0});var lCe=m((Jf1,ACe)=>{ACe.exports=pCe()});var qq=m((Yf1,dCe)=>{dCe.exports=q7()});var MCe=m(($f1,fCe)=>{"use strict";var bCe=ih(),gC0=TypeError;fCe.exports=function(t,e){if(!delete t[e])throw new gC0("Cannot delete property "+bCe(e)+" of "+bCe(t))}});var zCe=m((jf1,hCe)=>{"use strict";var mCe=mh(),OC0=Math.floor,x7=s(function(t,e){var r=t.length;if(r<8)for(var n=1,o,i;n<r;){for(i=n,o=t[n];i&&e(t[i-1],o)>0;)t[i]=t[--i];i!==n++&&(t[i]=o)}else for(var a=OC0(r/2),c=x7(mCe(t,0,a),e),u=x7(mCe(t,a),e),p=c.length,A=u.length,l=0,b=0;l<p||b<A;)t[l+b]=l<p&&b<A?e(c[l],u[b])<=0?c[l++]:u[b++]:l<p?c[l++]:u[b++];return t},"sort");hCe.exports=x7});var ECe=m((Zf1,OCe)=>{"use strict";var EC0=yd(),gCe=EC0.match(/firefox\/(\d+)/i);OCe.exports=!!gCe&&+gCe[1]});var yCe=m((eM1,CCe)=>{"use strict";var CC0=yd();CCe.exports=/MSIE|Trident/.test(CC0)});var qCe=m((tM1,DCe)=>{"use strict";var yC0=yd(),BCe=yC0.match(/AppleWebKit\/(\d+)\./);DCe.exports=!!BCe&&+BCe[1]});var TCe=m(()=>{"use strict";var BC0=F0(),WCe=n1(),DC0=Vp(),qC0=cs(),ICe=ya(),IC0=MCe(),RCe=ps(),T7=f1(),RC0=zCe(),NC0=yh(),NCe=ECe(),wC0=yCe(),wCe=Bd(),SCe=qCe(),Xc=[],FCe=WCe(Xc.sort),SC0=WCe(Xc.push),FC0=T7(function(){Xc.sort(void 0)}),WC0=T7(function(){Xc.sort(null)}),xC0=NC0("sort"),xCe=!T7(function(){if(wCe)return wCe<70;if(!(NCe&&NCe>3)){if(wC0)return!0;if(SCe)return SCe<603;var t="",e,r,n,o;for(e=65;e<76;e++){switch(r=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:n=3;break;case 68:case 71:n=4;break;default:n=2}for(o=0;o<47;o++)Xc.push({k:r+o,v:n})}for(Xc.sort(function(i,a){return a.v-i.v}),o=0;o<Xc.length;o++)r=Xc[o].k.charAt(0),t.charAt(t.length-1)!==r&&(t+=r);return t!=="DGBEFHACIJK"}}),TC0=FC0||!WC0||!xC0||!xCe,vC0=s(function(t){return function(e,r){return r===void 0?-1:e===void 0?1:t!==void 0?+t(e,r)||0:RCe(e)>RCe(r)?1:-1}},"getSortCompare");BC0({target:"Array",proto:!0,forced:TC0},{sort:s(function(e){e!==void 0&&DC0(e);var r=qC0(this);if(xCe)return e===void 0?FCe(r):FCe(r,e);var n=[],o=ICe(r),i,a;for(a=0;a<o;a++)a in r&&SC0(n,r[a]);for(RC0(n,vC0(e)),i=ICe(n),a=0;a<i;)r[a]=n[a++];for(;a<o;)IC0(r,a++);return r},"sort")})});var LCe=m((iM1,vCe)=>{"use strict";TCe();var LC0=Qo();vCe.exports=LC0("Array","sort")});var QCe=m((sM1,_Ce)=>{"use strict";var _C0=Ir(),QC0=LCe(),v7=Array.prototype;_Ce.exports=function(t){var e=t.sort;return t===v7||_C0(v7,t)&&e===v7.sort?QC0:e}});var kCe=m((aM1,PCe)=>{"use strict";var PC0=QCe();PCe.exports=PC0});var GCe=m((cM1,UCe)=>{UCe.exports=kCe()});var HCe=m(()=>{});var JCe=m((AM1,VCe)=>{"use strict";var kC0=J1(),UC0=f1(),XCe=kC0.RegExp,GC0=!UC0(function(){var t=!0;try{XCe(".","d")}catch{t=!1}var e={},r="",n=t?"dgimsy":"gimsy",o=s(function(u,p){Object.defineProperty(e,u,{get:s(function(){return r+=p,!0},"get")})},"addGetter"),i={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};t&&(i.hasIndices="d");for(var a in i)o(a,i[a]);var c=Object.getOwnPropertyDescriptor(XCe.prototype,"flags").get.call(e);return c!==n||r!==n});VCe.exports={correct:GC0}});var $Ce=m((dM1,YCe)=>{"use strict";var HC0=Ca();YCe.exports=function(){var t=HC0(this),e="";return t.hasIndices&&(e+="d"),t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.unicodeSets&&(e+="v"),t.sticky&&(e+="y"),e}});var ZCe=m((bM1,KCe)=>{"use strict";var XC0=ro(),VC0=Kt(),JC0=Ir(),jCe=JCe(),YC0=$Ce(),$C0=RegExp.prototype;KCe.exports=jCe.correct?function(t){return t.flags}:function(t){return!jCe.correct&&JC0($C0,t)&&!VC0(t,"flags")?XC0(YC0,t):t.flags}});var tye=m((fM1,eye)=>{"use strict";HCe();var jC0=ZCe();eye.exports=jC0});var oye=m((MM1,nye)=>{"use strict";var KC0=Ir(),ZC0=tye(),rye=RegExp.prototype;nye.exports=function(t){return t===rye||KC0(rye,t)?ZC0(t):t.flags}});var sye=m((mM1,iye)=>{"use strict";var ey0=oye();iye.exports=ey0});var cye=m((hM1,aye)=>{aye.exports=sye()});var qye=m((vh,Dye)=>{"use strict";var Zt=ss(),ty0=us();ty0(vh,"__esModule",{ Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,c;return{s:s(function(){r=(0,ry0.default)(t)},"s"),n:s(function(){var p=r.next();return i=p.done,p},"n"),e:s(function(p){a=!0,c=p},"e"),f:s(function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw c}},"f")}}s(xh,"_createForOfIteratorHelper");function py0(t,e){var r;if(t){if(typeof t=="string")return uye(t,e);var n=(0,oo.default)(r=Object.prototype.toString.call(t)).call(r,8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return(0,sy0.default)(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return uye(t,e)}}s(py0,"_unsupportedIterableToArray");function uye(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}s(uye,"_arrayLikeToArray");var k0="xregexp",rA={astral:!1,namespacing:!1},M1={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},As={},Fh={},Td={},L7=[],vd="default",pye="class",Ay0={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},ly0=/\$(?:{([\w$]+)}|<([\w$]+)>|(\d\d?|[\s\S]))/g,dy0=M1.exec.call(/()??/,"")[1]===void 0,by0=(0,tA.default)(/x/)!==void 0,fy0={},fye=fy0.toString;function Q7(t){var e=!0;try{if(new RegExp("",t),t==="y"){var r=(function(){return"gy"})(),n=".a".replace(new RegExp("a",r),".")==="..";n&&(e=!1)}}catch{e=!1}return e}s(Q7,"hasNativeFlag");var Mye=Q7("u"),P7=Q7("y"),mye={g:!0,i:!0,m:!0,u:Mye,y:P7};function hye(t,e,r,n,o){var i;if(t[k0]={captureNames:e},o)return t;if(t.__proto__)t.__proto__=K.prototype;else for(var a in K.prototype)t[a]=K.prototype[a];return t[k0].source=r,t[k0].flags=n&&(0,uy0.default)(i=n.split("")).call(i).join(""),t}s(hye,"augment");function Wh(t){return M1.replace.call(t,/([\s\S])(?=[\s\S]*\1)/g,"")}s(Wh,"clipDuplicates");function oA(t,e){var r;if(!K.isRegExp(t))throw new TypeError("Type RegExp expected");var n=t[k0]||{},o=My0(t),i="",a="",c=null,u=null;return e=e||{},e.removeG&&(a+="g"),e.removeY&&(a+="y"),a&&(o=M1.replace.call(o,new RegExp("[".concat(a,"]+"),"g"),"")),e.addG&&(i+="g"),e.addY&&(i+="y"),i&&(o=Wh(o+i)),e.isInternalOnly||(n.source!==void 0&&(c=n.source),(0,tA.default)(n)!=null&&(u=i?Wh((0,tA.default)(n)+i):(0,tA.default)(n))),t=hye(new RegExp(e.source||t.source,o),my0(t)?(0,oo.default)(r=n.captureNames).call(r,0):null,c,u,e.isInternalOnly),t}s(oA,"copyRegex");function zye(t){return(0,bye.default)(t,16)}s(zye,"dec");function gye(t,e,r){return t.input[t.index-1]==="("||t.input[t.index+t[0].length]===")"||t.input[t.index-1]==="|"||t.input[t.index+t[0].length]==="|"||t.index<1||t.index+t[0].length>=t.input.length||M1.test.call(/^\(\?[:=!]/,t.input.substr(t.index-3,3))||hy0(t.input,t.index+t[0].length,r)?"":"(?:)"}s(gye,"getContextualTokenSeparator");function My0(t){return by0?(0,tA.default)(t):M1.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(t))[1]}s(My0,"getNativeFlags");function my0(t){return!!(t[k0]&&t[k0].captureNames)}s(my0,"hasNamedCapture");function Oye(t){return(0,bye.default)(t,10).toString(16)}s(Oye,"hex");function hy0(t,e,r){var n="\\(\\?#[^)]*\\)",o="#[^#\\n]*",i="[?*+]|{\\d+(?:,\\d*)?}";return M1.test.call((0,nA.default)(r).call(r,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,(0,oo.default)(t).call(t,e))}s(hy0,"isQuantifierNext");function k7(t,e){return fye.call(t)==="[object ".concat(e,"]")}s(k7,"isType");function Eye(t){for(;t.length<4;)t="0".concat(t);return t}s(Eye,"pad4");function zy0(t,e){if(Wh(e)!==e)throw new SyntaxError("Invalid duplicate regex flag ".concat(e));t=M1.replace.call(t,/^\(\?([\w$]+)\)/,function(i,a){if(M1.test.call(/[gy]/,a))throw new SyntaxError("Cannot use flag g or y in mode modifier ".concat(i));return e=Wh(e+a),""});var r=xh(e),n;try{for(r.s();!(n=r.n()).done;){var o=n.value;if(!mye[o])throw new SyntaxError("Unknown regex flag ".concat(o))}}catch(i){r.e(i)}finally{r.f()}return{pattern:t,flags:e}}s(zy0,"prepareFlags");function Cye(t){var e={};return k7(t,"String")?((0,_7.default)(K).call(K,t,/[^\s,]+/,function(r){e[r]=!0}),e):t}s(Cye,"prepareOptions");function Aye(t){if(!/^[\w$]$/.test(t))throw new Error("Flag must be a single character A-Za-z0-9_$");mye[t]=!0}s(Aye,"registerFlag");function gy0(t,e,r,n,o){for(var i=L7.length,a=t[r],c=null,u,p;i--;)if(p=L7[i],!(p.leadChar&&p.leadChar!==a||p.scope!==n&&p.scope!=="all"||p.flag&&!(0,nA.default)(e).call(e,p.flag))&&(u=K.exec(t,p.regex,r,"sticky"),u)){c={matchLength:u[0].length,output:p.handler.call(o,u,n,e),reparse:p.reparse};break}return c}s(gy0,"runTokens");function yye(t){rA.astral=t}s(yye,"setAstral");function Bye(t){rA.namespacing=t}s(Bye,"setNamespacing");f Line truncated
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var i=!0,a=!1,c;return{s:s(function(){r=(0,t40.default)(t)},"s"),n:s(function(){var p=r.next();return i=p.done,p},"n"),e:s(function(p){a=!0,c=p},"e"),f:s(function(){try{!i&&r.return!=null&&r.return()}finally{if(a)throw c}},"f")}}s(u40,"_createForOfIteratorHelper");function p40(t,e){var r;if(t){if(typeof t=="string")return u4e(t,e);var n=(0,s40.default)(r=Object.prototype.toString.call(t)).call(r,8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return(0,i40.default)(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return u4e(t,e)}}s(p40,"_unsupportedIterableToArray");function u4e(t,e){(e==null||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}s(u4e,"_arrayLikeToArray");var A40=s(function(e){var r={},n=e._dec,o=e._hex,i=e._pad4;function a(b){return b.replace(/[- _]+/g,"").toLowerCase()}s(a,"normalize");function c(b){var M=/^\\[xu](.+)/.exec(b);return M?n(M[1]):b.charCodeAt(b[0]==="\\"?1:0)}s(c,"charCode");function u(b){var M="",z=-1;return(0,c40.default)(e).call(e,b,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,function(g){var C=c(g[1]);C>z+1&&(M+="\\u".concat(i(o(z+1))),C>z+2&&(M+="-\\u".concat(i(o(C-1))))),z=c(g[2]||g[1])}),z<65535&&(M+="\\u".concat(i(o(z+1))),z<65534&&(M+="-\\uFFFF")),M}s(u,"invertBmp");function p(b){var M="b!";return r[b][M]||(r[b][M]=u(r[b].bmp))}s(p,"cacheInvertedBmp");function A(b,M){var z=r[b],g="";if(z.bmp&&!z.isBmpLast){var C;g=(0,X7.default)(C="[".concat(z.bmp,"]")).call(C,z.astral?"|":"")}if(z.astral&&(g+=z.astral),z.isBmpLast&&z.bmp){var E;g+=(0,X7.default)(E="".concat(z.astral?"|":"","[")).call(E,z.bmp,"]")}return M?"(?:(?!".concat(g,")(?:[\uD800-\uDBFF][\uDC00-\uDFFF]|[\0-\uFFFF]))"):"(?:".concat(g,")")}s(A,"buildAstral");function l(b,M){var z=M?"a!":"a=";return r[b][z]||(r[b][z]=A(b,M))}s(l,"cacheAstral"),e.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,function(b,M,z){var g="Invalid double negation ",C="Unknown Unicode token ",E="Unicode token missing data ",B="Astral mode required for Unicode token ",D="Astral mode does not support Unicode tokens within character classes",q=b[1]==="P"||!!b[2],x=(0,a40.default)(z).call(z,"A"),W=a(b[4]||b[3]),_=r[W];if(b[1]==="P"&&b[2])throw new SyntaxError(g+b[0]);if(!r.hasOwnProperty(W))throw new SyntaxError(C+b[0]);if(_.inverseOf){if(W=a(_.inverseOf),!r.hasOwnProperty(W)){var ae;throw new ReferenceError((0,X7.default)(ae="".concat(E+b[0]," -> ")).call(ae,_.inverseOf))}_=r[W],q=!q}if(!(_.bmp||x))throw new SyntaxError(B+b[0]);if(x){if(M==="class")throw new SyntaxError(D);return l(W,q)}return M==="class"?q?p(W):_.bmp:"".concat((q?"[^":"[")+_.bmp,"]")},{scope:"all",optionalFlags:"A",leadChar:"\\"}),e.addUnicodeData=function(b){var M="Unicode token requires name",z="Unicode token has no character data ",g=u40(b),C;try{for(g.s();!(C=g.n()).done;){var E=C.value;if(!E.name)throw new Error(M);if(!(E.inverseOf||E.bmp||E.astral))throw new Error(z+E.name);r[a(E.name)]=E,E.alias&&(r[a(E.alias)]=E)}}catch(B){g.e(B)}finally{g.f()}e.cache.flush("patterns")},e._getUnicodeProperty=function(b){var M=a(b);return r[M]}},"_default");Ph.default=A40;p4e.exports=Ph.default});var d4e=m((kM1,l4e)=>{l4e.exports=[{name:"InAdlam",astral:"\uD83A[\uDD00-\uDD5F]"},{name:"InAegean_Numbers",astral:"\uD800[\uDD00-\uDD3F]"},{name:"InAhom",astral:"\uD805[\uDF00-\uDF3F]"},{name:"InAlchemical_Symbols",astral:"\uD83D[\uDF00-\uDF7F]"},{name:"InAlphabetic_Presentation_Forms",bmp:"\uFB00-\uFB4F"},{name:"InAnatolian_Hieroglyphs",astral:"\uD811[\uDC00-\uDE7F]"},{name:"InAncient_Greek_Musical_Notation",astral:"\uD834[\uDE00-\uDE4F]"},{name:"InAncient_Greek_Numbers",astral:"\uD800[\uDD40-\uDD8F]"},{name:"InAncient_Symbols",astral:"\uD800[\uDD90-\uDDCF]"},{name:"InArabic",bmp:"\u0600-\u06FF"},{name:"InArabic_Extended_A",bmp:"\u08A0-\u08FF"},{name:"InArabic_Mathematical_Alphabetic_Symbols",astral:"\uD83B[\uDE00-\uDEFF]"},{name:"InArabic_Presentation_Forms_A",bmp:"\uFB50-\uFDFF"},{name:"InArabic_Presentation_Forms_B",bmp:"\uFE70-\uFEFF"},{name:"InArabic_Supplement",bmp:"\u0750-\u077F"},{name:"InArmenian",bmp:"\u0530-\u058F"},{name:"InArrows",bmp:"\u2190-\u21FF"},{name:"InAvestan",astral:"\uD802[\uDF00-\uDF3F]"},{name:"InBalinese",bmp:"\u1B00-\u1B7F"},{name:"InBamum",bmp:"\uA6A0-\uA6FF"},{name:"InBamum_Supplement",astral:"\uD81A[\uDC00-\uDE3F]"},{name:"InBasic_Latin",bmp:"\0-\x7F"},{name:"InBassa_Vah",astral:"\uD81A[\uDED0-\uDEFF]"},{name:"InBatak",bmp:"\u1BC0-\u1BFF"},{name:"InBengali",bmp:"\u0980-\u09FF"},{name:"InBhaiksuki",astral:"\uD807[\uDC00-\uDC6F]"},{name:"InBlock_Elements",bmp:"\u2580-\u259F"},{name:"InBopomofo",bmp:"\u3100-\u312F"},{name:"InBopomofo_Extended",bmp:"\u31A0-\u31BF"},{name:"InBox_Drawing",bmp:"\u2500-\u257F"},{name:"InBrahmi",astral:"\uD804[\uDC00-\uDC7F]"},{name:"InBraille_Patterns",bmp:"\u2800-\u28FF"},{name:"InBuginese",bmp:"\u1A00-\u1A1F"},{name:"InBuhid",bmp:"\u1740-\u175F"},{ Line truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}s(rK,"getBooleanInput");function jN(t,e){if(process.env.GITHUB_OUTPUT||"")return jd("OUTPUT",zz(t,e));process.stdout.write($N.EOL),Uo("set-output",{name:t},ko(e))}s(jN,"setOutput");function nK(t){process.exitCode=YN.Failure,bl(t)}s(nK,"setFailed");function Ls(){return process.env.RUNNER_DEBUG==="1"}s(Ls,"isDebug");function N(t){Uo("debug",{},t)}s(N,"debug");function bl(t,e={}){Uo("error",iI(e),t instanceof Error?t.toString():t)}s(bl,"error");function s0(t,e={}){Uo("warning",iI(e),t instanceof Error?t.toString():t)}s(s0,"warning");function S(t){process.stdout.write(t+$N.EOL)}s(S,"info");function Ru(t){aI("group",t)}s(Ru,"startGroup");function Nu(){aI("endgroup")}s(Nu,"endGroup");function ct(t,e){return FQe(this,void 0,void 0,function*(){Ru(t);let r;try{r=yield e()}finally{Nu()}return r})}s(ct,"group");function gO(t,e){if(process.env.GITHUB_STATE||"")return jd("STATE",zz(t,e));Uo("save-state",{name:t},ko(e))}s(gO,"saveState");function oK(t){return process.env[`STATE_${t}`]||""}s(oK,"getState");var KM=w(require("fs"),1),pL=w(require("os"),1),AL=w(require("path"),1);var sK=w(require("os"),1);function af(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}s(af,"toCommandValue");function aK(t,e,r){let n=new KN(t,e,r);process.stdout.write(n.toString()+sK.EOL)}s(aK,"issueCommand");var iK="::",KN=class{static{s(this,"Command")}constructor(e,r,n){e||(e="missing.command"),this.command=e,this.properties=r,this.message=n}toString(){let e=iK+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let n in this.properties)if(this.properties.hasOwnProperty(n)){let o=this.properties[n];o&&(r?r=!1:e+=",",e+=`${n}=${xQe(o)}`)}}return e+=`${iK}${WQe(this.message)}`,e}};function WQe(t){return af(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}s(WQe,"escapeData");function xQe(t){return af(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}s(xQe,"escapeProperty");var AK=w(require("os"),1);var uK=require("os"),cf=require("fs");var ZN=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})},{access:TQe,appendFile:vQe,writeFile:LQe}=cf.promises,cK="GITHUB_STEP_SUMMARY";var ew=class{static{s(this,"Summary")}constructor(){this._buffer=""}filePath(){return ZN(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[cK];if(!e)throw new Error(`Unable to find environment variable for $${cK}. Check if your runtime environment supports job summaries.`);try{yield TQe(e,cf.constants.R_OK|cf.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,n={}){let o=Object.entries(n).map(([i,a])=>` ${i}="${a}"`).join("");return r?`<${e}${o}>${r}</${e}>`:`<${e}${o}>`}write(e){return ZN(this,void 0,void 0,function*(){let r=!!e?.overwrite,n=yield this.filePath();return yield(r?LQe:vQe)(n,this._buffer,{encoding:"utf8"}),this.emptyBuffer()})}clear(){return ZN(this,void 0,void 0,function*(){return this.emptyBuffer().write({overwrite:!0})})}stringify(){return this._buffer}isEmptyBuffer(){return this._buffer.length===0}emptyBuffer(){return this._buffer="",this}addRaw(e,r=!1){return this._buffer+=e,r?this.addEOL():this}addEOL(){return this.addRaw(uK.EOL)}addCodeBlock(e,r){let n=Object.assign({},r&&{lang:r}),o=this.wrap("pre",this.wrap("code",e),n);return this.addRaw(o).addEOL()}addList(e,r=!1){let n=r?"ol":"ul",o=e.map(a=>this.wrap("li",a)).join(""),i=this.wrap(n,o);return this.addRaw(i).addEOL()}addTable(e){let r=e.map(o=>{let i=o.map(a=>{if(typeof a=="string")return this.wrap("td",a);let{header:c,data:u,colspan:p,rowspan:A}=a,l=c?"th":"td",b=Object.assign(Object.assign({},p&&{colspan:p}),A&&{rowspan:A});return this.wrap(l,u,b)}).join("");return this.wrap("tr",i)}).join(""),n=this.wrap("table",r);return this.addRaw(n).addEOL()}addDetails(e,r){let n=this.wrap("details",this.wrap("summary",e)+r);return this.addRaw(n).addEOL()}addImage(e,r,n){let{width:o,height:i}=n||{},a=Object.assign(Object.assign({},o&&{width:o}),i&&{height:i}),c=this.wrap("img",null,Object.assign({src:e,alt:r},a));return this.addRaw(c).addEOL()}addHeading(e,r){let n=`h${r}`,o=["h1","h2","h3","h4","h5","h6"].includes(n)?n:"h1",i=this.wrap(o,e);return this.addRaw(i).addEOL()}addSeparator(){let e=this.wrap("hr",null);return this.addRaw(e).addEOL()}addBreak(){let e=this.wrap("br",null);return this.addRaw(e).addEOL()}addQuote(e,r){let n=Object.assign({},r&&{cite:r}),o=this.wrap("blockquote",e,n);return this.addRaw(o).addEOL()}addLinLine truncated
`),e=e.replace(/\r/g,`
`));let o=e.split(`
`).map(i=>i.trim());for(let i of o)!i||i.startsWith("#")||n.patterns.push(new Ef(i));return n.searchPaths.push(...Ww(n.patterns)),n})}static stat(e,r,n){return Pw(this,void 0,void 0,function*(){let o;if(r.followSymbolicLinks)try{o=yield gl.promises.stat(e.path)}catch(i){if(i.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){yn(`Broken symlink '${e.path}'`);return}throw new Error(`No information found for the path '${e.path}'. This may indicate a broken symbolic link.`)}throw i}else o=yield gl.promises.lstat(e.path);if(o.isDirectory()&&r.followSymbolicLinks){let i=yield gl.promises.realpath(e.path);for(;n.length>=e.level;)n.pop();if(n.some(a=>a===i)){yn(`Symlink cycle detected for path '${e.path}' and realpath '${i}'`);return}n.push(i)}return o})}};var q7e=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})};function Gee(t,e){return q7e(this,void 0,void 0,function*(){return yield QO.create(t,e)})}s(Gee,"create");var n3=w(require("crypto"),1),yl=w(require("fs"),1),Wu=w(require("path"),1),v1e=w(x1e(),1),L1e=w(require("util"),1);var Rf;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(Rf||(Rf={}));var Qt;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Qt||(Qt={}));var Hr;(function(t){t.GNU="gnu",t.BSD="bsd"})(Hr||(Hr={}));var e3=2,t3=5e3,c6=5e3,u6=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,T1e=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,Nf="cache.tar",p6="manifest.txt",hF0=10*Math.pow(1024,3),r3="cache read denied:";var Cl=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})},WGe=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=t[i]&&function(a){return new Promise(function(c,u){a=t[i](a),o(c,u,a.done,a.value)})}}function o(i,a,c,u){Promise.resolve(u).then(function(p){i({value:p,done:c})},a)}},xGe="1.0";function wf(){return Cl(this,void 0,void 0,function*(){let t=process.platform==="win32",e=process.env.RUNNER_TEMP||"";if(!e){let n;t?n=process.env.USERPROFILE||"C:\\":process.platform==="darwin"?n="/Users":n="/home",e=Wu.join(n,"actions","temp")}let r=Wu.join(e,n3.randomUUID());return yield vs(r),r})}s(wf,"createTempDirectory");function si(t){return yl.statSync(t).size}s(si,"getArchiveFileSizeInBytes");function A6(t){return Cl(this,void 0,void 0,function*(){var e,r,n,o,i;let a=[],c=(i=process.env.GITHUB_WORKSPACE)!==null&&i!==void 0?i:process.cwd(),u=yield Gee(t.join(`
`),{implicitDescendants:!1});try{for(var p=!0,A=WGe(u.globGenerator()),l;l=yield A.next(),e=l.done,!e;p=!0){o=l.value,p=!1;let M=Wu.relative(c,o).replace(new RegExp(`\\${Wu.sep}`,"g"),"/");N(`Matched: ${M}`),M===""?a.push("."):a.push(`${M}`)}}catch(b){r={error:b}}finally{try{!p&&!e&&(n=A.return)&&(yield n.call(A))}finally{if(r)throw r.error}}return a})}s(A6,"resolvePaths");function Sf(t){return Cl(this,void 0,void 0,function*(){return L1e.promisify(yl.unlink)(t)})}s(Sf,"unlinkFile");function _1e(t){return Cl(this,arguments,void 0,function*(e,r=[]){let n="";r.push("--version"),N(`Checking ${e} ${r.join(" ")}`);try{yield kr(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:s(o=>n+=o.toString(),"stdout"),stderr:s(o=>n+=o.toString(),"stderr")}})}catch(o){N(o.message)}return n=n.trim(),N(n),n})}s(_1e,"getVersion");function Ff(){return Cl(this,void 0,void 0,function*(){let t=yield _1e("zstd",["--quiet"]),e=v1e.clean(t);return N(`zstd version: ${e}`),t===""?Qt.Gzip:Qt.ZstdWithoutLong})}s(Ff,"getCompressionMethod");function oc(t){return t===Qt.Gzip?Rf.Gzip:Rf.Zstd}s(oc,"getCacheFileName");function Q1e(){return Cl(this,void 0,void 0,function*(){return yl.existsSync(u6)?u6:(yield _1e("tar")).toLowerCase().includes("gnu tar")?at("tar"):""})}s(Q1e,"getGnuTarPathOnWindows");function l6(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}s(l6,"assertDefined");function Bl(t,e,r=!1){let n=t.slice();return e&&n.push(e),process.platform==="win32"&&!r&&n.push("windows-only"),n.push(xGe),n3.createHash("sha256").update(n.join("|")).digest("hex")}s(Bl,"getCacheVersion");function P1e(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}s(P1e,"getRuntimeToken");var xf=w(require("http"),1),f6=w(require("https"),1);function d6(t){let e=t.protocol==="https:";if(TGe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new i3(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new i3(`http://${r}`)}else return}s(d6,"getProxyUrl");function TGe(t){if(!t.hostname)return!1;let e=t.hostname;if(vGe(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let n;t.port?n=Number(t.port):t.protocol==="http:"?n=80:t.protocol==="https:"&&(n=443);let o=[t.hostname.toUpperCase()];typeof n=="number"&&o.push(`${o[0]}:${n}`);for(let i of r.split(",").map(a=>a.trim().toUpperCase()).filter(a=>a))if(i==="*"||o.some(a=>a===i||a.endsWith(`.${i}`)||i.startsWith(".")&&a.endsWith(`${i}`)))return!0;return!1}s(TGe,"checkBypass");function vGe(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}s(vGe,"isLoopbackAddress");var i3=class extends URL{static{s(this,"DecodedURL")}constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var ic=w(Kd(),1),k1e=w(Al(),1);var E1=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})},i1;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(i1||(i1={}));var Pt;(function(t){t.Accept="accept",t.ContentType="content-type"})(Pt||(Pt={}));var ks;(function(t){t.ApplicationJson="application/json"})(ks||(ks={}));var _Ge=[i1.MovedPermanently,i1.ResourceMoved,i1.SeeOther,i1.TemporaryRedirect,i1.PermanentRedirect],QGe=[i1.BadGateway,i1.ServiceUnavailable,i1.GatewayTimeout],PGe=["OPTIONS","GET","DELETE","HEAD"],kGe=10,UGe=5,ai=class t extends Error{static{s(this,"HttpClientError")}const Line truncated
${KGe.sanitize({...this,request:{...this.request,agent:n},response:this.response})}`,"value"),enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function A3(t){return t instanceof kt?!0:Tu(t)&&t.name==="RestError"}s(A3,"isRestError");function ar(t,e){return Buffer.from(t,e)}s(ar,"stringToUint8Array");var l3=w(require("node:http"),1),d3=w(require("node:https"),1),B6=w(require("node:zlib"),1),ste=require("node:stream");var qn=Tf("ts-http-runtime");var ZGe={};function vf(t){return t&&typeof t.pipe=="function"}s(vf,"isReadableStream");function ite(t){return t.readable===!1?Promise.resolve():new Promise(e=>{let r=s(()=>{e(),t.removeListener("close",r),t.removeListener("end",r),t.removeListener("error",r)},"handler");t.on("close",r),t.on("end",r),t.on("error",r)})}s(ite,"isStreamComplete");function ate(t){return t&&typeof t.byteLength=="number"}s(ate,"isArrayBuffer");var b3=class extends ste.Transform{static{s(this,"ReportTransform")}loadedBytes=0;progressCallback;_transform(e,r,n){this.push(e),this.loadedBytes+=e.length;try{this.progressCallback({loadedBytes:this.loadedBytes}),n()}catch(o){n(o)}}constructor(e){super(),this.progressCallback=e}},D6=class{static{s(this,"NodeHttpClient")}cachedHttpAgent;cachedHttpsAgents=new WeakMap;async sendRequest(e){let r=new AbortController,n;if(e.abortSignal){if(e.abortSignal.aborted)throw new ci("The operation was aborted. Request has already been canceled.");n=s(p=>{p.type==="abort"&&r.abort()},"abortListener"),e.abortSignal.addEventListener("abort",n)}let o;e.timeout>0&&(o=setTimeout(()=>{let p=new Oo;qn.info(`request to '${p.sanitizeUrl(e.url)}' timed out. canceling...`),r.abort()},e.timeout));let i=e.headers.get("Accept-Encoding"),a=i?.includes("gzip")||i?.includes("deflate"),c=typeof e.body=="function"?e.body():e.body;if(c&&!e.headers.has("Content-Length")){let p=nHe(c);p!==null&&e.headers.set("Content-Length",p)}let u;try{if(c&&e.onUploadProgress){let z=e.onUploadProgress,g=new b3(z);g.on("error",C=>{qn.error("Error in upload progress",C)}),vf(c)?c.pipe(g):g.end(c),c=g}let p=await this.makeRequest(e,r,c);o!==void 0&&clearTimeout(o);let A=eHe(p),b={status:p.statusCode??0,headers:A,request:e};if(e.method==="HEAD")return p.resume(),b;u=a?tHe(p,A):p;let M=e.onDownloadProgress;if(M){let z=new b3(M);z.on("error",g=>{qn.error("Error in download progress",g)}),u.pipe(z),u=z}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(b.status)?b.readableStreamBody=u:b.bodyAsText=await rHe(u),b}finally{if(e.abortSignal&&n){let p=Promise.resolve();vf(c)&&(p=ite(c));let A=Promise.resolve();vf(u)&&(A=ite(u)),Promise.all([p,A]).then(()=>{n&&e.abortSignal?.removeEventListener("abort",n)}).catch(l=>{qn.warning("Error when cleaning up abortListener on httpRequest",l)})}}}makeRequest(e,r,n){let o=new URL(e.url),i=o.protocol!=="https:";if(i&&!e.allowInsecureConnection)throw new Error(`Cannot connect to ${e.url} while allowInsecureConnection is false.`);let c={agent:e.agent??this.getOrCreateAgent(e,i),hostname:o.hostname,path:`${o.pathname}${o.search}`,port:o.port,method:e.method,headers:e.headers.toJSON({preserveCase:!0}),...e.requestOverrides};return new Promise((u,p)=>{let A=i?l3.default.request(c,u):d3.default.request(c,u);A.once("error",l=>{p(new kt(l.message,{code:l.code??kt.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let l=new ci("The operation was aborted. Rejecting from abort signal callback while making request.");A.destroy(l),p(l)}),n&&vf(n)?n.pipe(A):n?typeof n=="string"||Buffer.isBuffer(n)?A.end(n):ate(n)?A.end(ArrayBuffer.isView(n)?Buffer.from(n.buffer):Buffer.from(n)):(qn.error("Unrecognized body type",n),p(new kt("Unrecognized body type"))):A.end()})}getOrCreateAgent(e,r){let n=e.disableKeepAlive;if(r)return n?l3.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new l3.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(n&&!e.tlsSettings)return d3.default.globalAgent;let o=e.tlsSettings??ZGe,i=this.cachedHttpsAgents.get(o);return i&&i.options.keepAlive===!n||(qn.info("No cached TLS Agent exist, creating a new Agent"),i=new d3.default.Agent({keepAlive:!n,...o}),this.cachedHttpsAgents.set(o,i)),i}}};function eHe(t){let e=Xr();for(let r of Object.keys(t.headers)){let n=t.headers[r];Array.isArray(n)?n.length>0&&e.set(r,n[0]):n&&e.set(r,n)}return e}s(eHe,"getResponseHeaders");function tHe(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let n=B6.default.createGunzip();return t.pipe(n),n}else if(r==="deflate"){let n=B6.default.createInflate();return t.pipe(n),n}return t}s(tHe,"getDecodedResponseStream");function rHe(t){return new Promise((e,r)=>{let n=[];t.on("data",o=>{Buffer.isBuffer(o)?n.push(o):n.push(Buffer.from(o))}),t.on("end",()=>{e(Buffer.concat(n).toString("utf8"))}),t.on("error",o=>{o&&o?.name==="AbortError"?r(o):r(new kt(`Error reading response as text: ${o.message}`,{code:kt.PARSE_ERROR}))})})}s(rHe,"streamToText");function nHe(t){return t?Buffer.isBuffer(t)?t.length: Line truncated
`;return e}s(WXe,"encodeHeaders");function xXe(t){return t instanceof Uint8Array?t.byteLength:L3(t)?t.size===-1?void 0:t.size:void 0}s(xXe,"getLength");function TXe(t){let e=0;for(let r of t){let n=xXe(r);if(n===void 0)return;e+=n}return e}s(TXe,"getTotalLength");async function vXe(t,e,r){let n=[ar(`--${r}`,"utf-8"),...e.flatMap(i=>[ar(`\r
`,"utf-8"),ar(WXe(i.headers),"utf-8"),ar(`\r
`,"utf-8"),i.body,ar(`\r
--${r}`,"utf-8")]),ar(`--\r
\r
`,"utf-8")],o=TXe(n);o&&t.headers.set("Content-Length",o),t.body=await Are(n)}s(vXe,"buildRequestBody");var Qf="multipartPolicy",LXe=70,_Xe=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function QXe(t){if(t.length>LXe)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!_Xe.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}s(QXe,"assertValidBoundary");function Q3(){return{name:Qf,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,n=t.headers.get("Content-Type")??"multipart/mixed",o=n.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!o)throw new Error(`Got multipart request body, but content-type header was not multipart: ${n}`);let[,i,a]=o;if(a&&r&&a!==r)throw new Error(`Multipart boundary was specified as ${a} in the header, but got ${r} in the request body`);return r??=a,r?QXe(r):r=FXe(),t.headers.set("Content-Type",`${i}; boundary=${r}`),await vXe(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}s(Q3,"multipartPolicy");function P3(){return p3()}s(P3,"createEmptyPipeline");var lre=a3({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),ML0=lre.logger;function Ai(t){return lre.createClientLogger(t)}s(Ai,"createClientLogger");var li=Ai("core-rest-pipeline");function H6(t={}){return M3({logger:li.info,...t})}s(H6,"logPolicy");var X6=m3;function V6(t={}){return h3(t)}s(V6,"redirectPolicy");var k3=w(require("node:os"),1),U3=w(require("node:process"),1);function dre(){return"User-Agent"}s(dre,"getHeaderName");async function bre(t){if(U3.default&&U3.default.versions){let e=`${k3.default.type()} ${k3.default.release()}; ${k3.default.arch()}`,r=U3.default.versions;r.bun?t.set("Bun",`${r.bun} (${e})`):r.deno?t.set("Deno",`${r.deno} (${e})`):r.node&&t.set("Node",`${r.node} (${e})`)}}s(bre,"setPlatformSpecificData");var G3="1.22.2";function JXe(t){let e=[];for(let[r,n]of t){let o=n?`${r}/${n}`:r;e.push(o)}return e.join(" ")}s(JXe,"getUserAgentString");function fre(){return dre()}s(fre,"getUserAgentHeaderName");async function H3(t){let e=new Map;e.set("core-rest-pipeline",G3),await bre(e);let r=JXe(e);return t?`${t} ${r}`:r}s(H3,"getUserAgentValue");var Mre=fre(),mre="userAgentPolicy";function J6(t={}){let e=H3(t.userAgentPrefix);return{name:mre,async sendRequest(r,n){return r.headers.has(Mre)||r.headers.set(Mre,await e),n(r)}}}s(J6,"userAgentPolicy");var $r=class extends Error{static{s(this,"AbortError")}constructor(e){super(e),this.name="AbortError"}};function Y6(t,e){let{cleanupBeforeAbort:r,abortSignal:n,abortErrorMsg:o}=e??{};return new Promise((i,a)=>{function c(){a(new $r(o??"The operation was aborted."))}s(c,"rejectOnAbort");function u(){n?.removeEventListener("abort",p)}s(u,"removeListeners");function p(){r?.(),u(),c()}if(s(p,"onAbort"),n?.aborted)return c();try{t(A=>{u(),i(A)},A=>{u(),a(A)})}catch(A){a(A)}n?.addEventListener("abort",p)})}s(Y6,"createAbortablePromise");var ZXe="The delay was aborted.";function Pf(t,e){let r,{abortSignal:n,abortErrorMsg:o}=e??{};return Y6(i=>{r=setTimeout(i,t)},{cleanupBeforeAbort:s(()=>clearTimeout(r),"cleanupBeforeAbort"),abortSignal:n,abortErrorMsg:o??ZXe})}s(Pf,"delay");function ac(t){if(Tu(t))return t.message;{let e;try{typeof t=="object"&&t?e=JSON.stringify(t):e=String(t)}catch{e="[unable to stringify input]"}return`Unknown error ${e}`}}s(ac,"getErrorMessage");function hre(t){return Tu(t)}s(hre,"isError");function Wl(){return xu()}s(Wl,"randomUUID");var f0=_u;var zre=Symbol("rawContent");function j6(t){return typeof t[zre]=="function"}s(j6,"hasRawContent");function gre(t){return j6(t)?t[zre]():t}s(gre,"getRawContent");var X3=Qf;function K6(){let t=Q3();return{name:X3,sendRequest:s(async(e,r)=>{if(e.multipartBody)for(let n of e.multipartBody.parts)j6(n.body)&&(n.body=gre(n.body));return t.sendRequest(e,r)},"sendRequest")}}s(K6,"multipartPolicy");var Z6=z3;function eS(){return g3()}s(eS,"decompressResponsePolicy");function tS(t={}){return C3(t)}s(tS,"defaultRetryPolicy");function rS(){return y3()}s(rS,"formDataPolicy");function cc(t){return Q6(t)}s(cc,"getDefaultProxySettings");function nS(t,e){return x3(t,e)}s(nS,"proxyPolicy");var Ore="setClientRequestIdPolicy";function oS(t="x-ms-client-request-id"){return{name:Ore,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}s(oS,"setClientRequestIdPolicy");function iS(t){return T3(t)}s(iS,"agentPolicy");function sS(t){return v3(t)}s(sS,"tlsPolicy");var xl={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function Ere(t={}){let e=new aS(t.parentContext);return t.span&&(e=e.setValue(xl.span,t.span)),t.namespace&&(e=e.setValue(xl.namespace,t.namespace)),e}s(Ere,"createTracingContext");var aS=class t{static{s(this,"TracingContextImpl")}_contextMap;constructor(e){this._contextMap=e i Line truncated
`&&t[i]!=="\r";i++)u+=t[i];if(u=u.trim(),u[u.length-1]==="/"&&(u=u.substring(0,u.length-1),i--),!CJe(u)){let l;return u.trim().length===0?l="Invalid space after '<'.":l="Tag '"+u+"' is an invalid name.",C1("InvalidTag",l,Ut(t,i))}let p=hJe(t,i);if(p===!1)return C1("InvalidAttr","Attributes for '"+u+"' have open quote.",Ut(t,i));let A=p.value;if(i=p.index,A[A.length-1]==="/"){let l=i-A.length;A=A.substring(0,A.length-1);let b=ine(A,e);if(b===!0)n=!0;else return C1(b.err.code,b.err.msg,Ut(t,l+b.err.line))}else if(c)if(p.tagClosed){if(A.trim().length>0)return C1("InvalidTag","Closing tag '"+u+"' can't have attributes or invalid starting.",Ut(t,a));if(r.length===0)return C1("InvalidTag","Closing tag '"+u+"' has not been opened.",Ut(t,a));{let l=r.pop();if(u!==l.tagName){let b=Ut(t,l.tagStartPos);return C1("InvalidTag","Expected closing tag '"+l.tagName+"' (opened in line "+b.line+", col "+b.col+") instead of closing tag '"+u+"'.",Ut(t,a))}r.length==0&&(o=!0)}}else return C1("InvalidTag","Closing tag '"+u+"' doesn't have proper closing.",Ut(t,i));else{let l=ine(A,e);if(l!==!0)return C1(l.err.code,l.err.msg,Ut(t,i-A.length+l.err.line));if(o===!0)return C1("InvalidXml","Multiple possible root nodes found.",Ut(t,i));e.unpairedTags.indexOf(u)!==-1||r.push({tagName:u,tagStartPos:a}),n=!0}for(i++;i<t.length;i++)if(t[i]==="<")if(t[i+1]==="!"){i++,i=one(t,i);continue}else if(t[i+1]==="?"){if(i=nne(t,++i),i.err)return i}else break;else if(t[i]==="&"){let l=OJe(t,i);if(l==-1)return C1("InvalidChar","char '&' is not expected.",Ut(t,i));i=l}else if(o===!0&&!rne(t[i]))return C1("InvalidXml","Extra text at the end",Ut(t,i));t[i]==="<"&&i--}}else{if(rne(t[i]))continue;return C1("InvalidChar","char '"+t[i]+"' is not expected.",Ut(t,i))}if(n){if(r.length==1)return C1("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",Ut(t,r[0].tagStartPos));if(r.length>0)return C1("InvalidXml","Invalid '"+JSON.stringify(r.map(i=>i.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return C1("InvalidXml","Start tag expected.",1);return!0}s(iE,"validate");function rne(t){return t===" "||t===" "||t===`
`||t==="\r"}s(rne,"isWhiteSpace");function nne(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let n=t.substr(r,e-r);if(e>5&&n==="xml")return C1("InvalidXml","XML declaration allowed only at the start of the document.",Ut(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}s(nne,"readPI");function one(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}s(one,"readCommentAndCDATA");var MJe='"',mJe="'";function hJe(t,e){let r="",n="",o=!1;for(;e<t.length;e++){if(t[e]===MJe||t[e]===mJe)n===""?n=t[e]:n!==t[e]||(n="");else if(t[e]===">"&&n===""){o=!0;break}r+=t[e]}return n!==""?!1:{value:r,index:e,tagClosed:o}}s(hJe,"readAttributeStr");var zJe=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function ine(t,e){let r=nE(t,zJe),n={};for(let o=0;o<r.length;o++){if(r[o][1].length===0)return C1("InvalidAttr","Attribute '"+r[o][2]+"' has no space in starting.",Zf(r[o]));if(r[o][3]!==void 0&&r[o][4]===void 0)return C1("InvalidAttr","Attribute '"+r[o][2]+"' is without value.",Zf(r[o]));if(r[o][3]===void 0&&!e.allowBooleanAttributes)return C1("InvalidAttr","boolean attribute '"+r[o][2]+"' is not allowed.",Zf(r[o]));let i=r[o][2];if(!EJe(i))return C1("InvalidAttr","Attribute '"+i+"' is an invalid name.",Zf(r[o]));if(!Object.prototype.hasOwnProperty.call(n,i))n[i]=1;else return C1("InvalidAttr","Attribute '"+i+"' is repeated.",Zf(r[o]))}return!0}s(ine,"validateAttributeString");function gJe(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}s(gJe,"validateNumberAmpersand");function OJe(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,gJe(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}s(OJe,"validateAmpersand");function C1(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}s(C1,"getErrorObject");function EJe(t){return BS(t)}s(EJe,"validateAttrName");function CJe(t){return BS(t)}s(CJe,"validateTagName");function Ut(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}s(Ut,"getLineNumberForPosition");function Zf(t){return t.startIndex+t[1].length}s(Zf,"getPositionFromMatch");var sne={amp:"&",AMP:"&",lt:"<",LT:"<",gt:">",GT:">",quot:'"',QUOT:'"',apos:"'",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",lsquor:"\u201A",rsquor:"\u2019",ldquor:"\u201E",bdquo:"\u201E",comma:",",period:".",colon:":",semi:";",excl:"!",quest:"?",num:"#",dollar:"$",percent:"%",amp:"&",ast:"*",commat:"@",lowbar:"_",verbar:"|",vert:"|",sol:"/",bsol:"\\",lbrace:"{",rbrace:"}",lbrack:"[",rbrack:"]",lpar:"(",rpar:")",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",COPY:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",REG:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",half:"\xBD",frac34:"\xBE",iquest:"\xBF",times:"\xD7",div:"\xF7",divide:"\xF7"},ane={Agrave:"\xC0",agrave:"\xE0",Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",Aring:"\xC5",aring:"\xE5",AElig:"\xC6",aelig:"\xE6",Ccedil:"\xC7",ccedil:"\xE7",Egrave:"\xC8",egrave:"\xE8",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Euml:"\xCB",euml:"\xEB",Igrave:"\xCC",igrave:"\xEC",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",Iuml:"\xCF",iuml:"\xEF",ETH:"\xD0",eth:"\xF0",Ntilde:"\xD1",ntilde:"\xF1",Ograve:"\xD2",ograve:"\xF2",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",Oslash:"\xD8",oslash:"\xF8",Ugrave:"\xD9",ugrave:"\xF9",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",THORN:"\xDE",thorn:"\xFE",szlig:"\xDF",yuml:"\xFF",Yuml:"\u0178"},cne={Amacr:"\u0100",amacr:"\u0101",Abreve:"\u0102",abreve:"\u0103",Aogon:"\u0104",aogon:"\u0105",Cacute:"\u0106",cacute:"\u0107",Ccirc:"\u0108",ccirc:"\u0109",Cdot:"\u010A",cdot:"\u010B",Ccaron:"\u010C",ccaron:"\u010D",Dcaron:"\u010E",dcaron:"\u010F",Dstrok:"\u0110",dstrok:"\u0111",Emacr:"\u0112",emacr:"\u0113",Ecaron:"\u011A",ecaron:"\u011B",Edot:"\u0116",edot:"\u0117",Eogon:"\u0118",eogon:"\u0119",Gcirc:"\u011C",gcirc:"\u011D",Gbreve:"\u011E",gbreve:"\u011F",Gdot:"\u0120",gdot:"\u0121",Gcedil:"\u0122",Hcirc:"\u0124",hcirc:"\Line truncated
`);let e=new Ar("!xml"),r=e,n="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let o=this.options,i=new rM(o.processEntities),a=t.length;for(let c=0;c<a;c++)if(t[c]==="<"){let p=t.charCodeAt(c+1);if(p===47){let A=Ql(t,">",c,"Closing Tag is not closed."),l=t.substring(c+2,A).trim();if(o.removeNSPrefix){let M=l.indexOf(":");M!==-1&&(l=l.substr(M+1))}l=FS(o.transformTagName,l,"",o).tagName,r&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher));let b=this.matcher.getCurrentTag();if(l&&o.unpairedTagsSet.has(l))throw new Error(`Unpaired tag can not be used as closing tag: </${l}>`);b&&o.unpairedTagsSet.has(b)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,r=this.tagsNodeStack.pop(),n="",c=A}else if(p===63){let A=WS(t,c,!1,"?>");if(!A)throw new Error("Pi Tag is not closed.");n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let l=this.buildAttributesMap(A.tagExp,this.matcher,A.tagName,!0);if(l){let b=l[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(b)||1),i.setXmlVersion(Number(b)||1)}if(!(o.ignoreDeclaration&&A.tagName==="?xml"||o.ignorePiTags)){let b=new Ar(A.tagName);b.add(o.textNodeName,""),A.tagName!==A.tagExp&&A.attrExpPresent&&o.ignoreAttributes!==!0&&(b[":@"]=l),this.addChild(r,b,this.readonlyMatcher,c)}c=A.closeIndex+1}else if(p===33&&t.charCodeAt(c+2)===45&&t.charCodeAt(c+3)===45){let A=Ql(t,"-->",c+4,"Comment is not closed.");if(o.commentPropName){let l=t.substring(c+4,A-2);n=this.saveTextToParentTag(n,r,this.readonlyMatcher),r.add(o.commentPropName,[{[o.textNodeName]:l}])}c=A}else if(p===33&&t.charCodeAt(c+2)===68){let A=i.readDocType(t,c);this.entityDecoder.addInputEntities(A.entities),c=A.i}else if(p===33&&t.charCodeAt(c+2)===91){let A=Ql(t,"]]>",c,"CDATA is not closed.")-2,l=t.substring(c+9,A);n=this.saveTextToParentTag(n,r,this.readonlyMatcher);let b=this.parseTextData(l,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);b==null&&(b=""),o.cdataPropName?r.add(o.cdataPropName,[{[o.textNodeName]:l}]):r.add(o.textNodeName,b),c=A+2}else{let A=WS(t,c,o.removeNSPrefix);if(!A){let W=t.substring(Math.max(0,c-50),Math.min(a,c+50));throw new Error(`readTagExp returned undefined at position ${c}. Context: "${W}"`)}let l=A.tagName,b=A.rawTagName,M=A.tagExp,z=A.attrExpPresent,g=A.closeIndex;if({tagName:l,tagExp:M}=FS(o.transformTagName,l,M,o),o.strictReservedNames&&(l===o.commentPropName||l===o.cdataPropName||l===o.textNodeName||l===o.attributesGroupName))throw new Error(`Invalid tag name: ${l}`);r&&n&&r.tagname!=="!xml"&&(n=this.saveTextToParentTag(n,r,this.readonlyMatcher,!1));let C=r;C&&o.unpairedTagsSet.has(C.tagname)&&(r=this.tagsNodeStack.pop(),this.matcher.pop());let E=!1;M.length>0&&M.lastIndexOf("/")===M.length-1&&(E=!0,l[l.length-1]==="/"?(l=l.substr(0,l.length-1),M=l):M=M.substr(0,M.length-1),z=l!==M);let B=null,D={},q;q=XJe(b),l!==e.tagname&&this.matcher.push(l,{},q),l!==M&&z&&(B=this.buildAttributesMap(M,this.matcher,l),B&&(D=HJe(B,o))),l!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let x=c;if(this.isCurrentNodeStopNode){let W="";if(E)c=A.closeIndex;else if(o.unpairedTagsSet.has(l))c=A.closeIndex;else{let ae=this.readStopNodeData(t,b,g+1);if(!ae)throw new Error(`Unexpected end of ${b}`);c=ae.i,W=ae.tagContent}let _=new Ar(l);B&&(_[":@"]=B),_.add(o.textNodeName,W),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,_,this.readonlyMatcher,x)}else{if(E){({tagName:l,tagExp:M}=FS(o.transformTagName,l,M,o));let W=new Ar(l);B&&(W[":@"]=B),this.addChild(r,W,this.readonlyMatcher,x),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(o.unpairedTagsSet.has(l)){let W=new Ar(l);B&&(W[":@"]=B),this.addChild(r,W,this.readonlyMatcher,x),this.matcher.pop(),this.isCurrentNodeStopNode=!1,c=A.closeIndex;continue}else{let W=new Ar(l);if(this.tagsNodeStack.length>o.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),B&&(W[":@"]=B),this.addChild(r,W,this.readonlyMatcher,x),r=W}n="",c=g}}}else n+=t[c];return e.child},"parseXml");function KJe(t,e,r,n){this.options.captureMetaData||(n=void 0);let o=this.options.jPath?r.toString():r,i=this.options.updateTag(e.tagname,o,e[":@"]);i===!1||(typeof i=="string"&&(e.tagname=i),t.addChild(e,n))}s(KJe,"addChild");function ZJe(t,e,r){let n=this.options.processEntities;if(!n||!n.enabled)return t;if(n.allowedTags){let o=this.options.jPath?r.toString():r;if(!(Array.isArray(n.allowedTags)?n.allowedTags.includes(e):n.allowedTags(e,o)))return t}if(n.tagFilter){let o=this.options.jPath?r.toString():r;if(!n.tagFilter(e,o))return t}return this.entityDecoder.decode(t)}s(ZJe,"replaceEntitiesValue");function eYe(t,e,r,n){return t&&(n===void 0&&(n=e.child.length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,n),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}s(eYe,"saveTextToParentTag");function tYe(){return this.stopNodeExpressionsLine truncated
`;function pYe(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(QS(r)==="?xml"){let o=r[":@"];if(o){let i=e.attributeNamePrefix+"version";if(o[i])return o[i]}}return"1.0"}s(pYe,"detectXmlVersionFromArray");function Ine(t,e,r,n,o){return!r.sanitizeName||Gu(t,{xmlVersion:o})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}s(Ine,"resolveTagName");function _S(t,e){let r="";e.format&&(r=uYe);let n=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let a=0;a<e.stopNodes.length;a++){let c=e.stopNodes[a];typeof c=="string"?n.push(new Zr(c)):c instanceof Zr&&n.push(c)}let o=pYe(t,e),i=new fi;return Rne(t,e,r,i,n,o)}s(_S,"toXml");function Rne(t,e,r,n,o,i){let a="",c=!1;if(e.maxNestedTags&&n.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(t!=null){let u=t.toString();return u=LS(u,e),u}return""}for(let u=0;u<t.length;u++){let p=t[u],A=QS(p);if(A===void 0)continue;let b=A===e.textNodeName||A===e.cdataPropName||A===e.commentPropName||A[0]==="?"?A:Ine(A,!1,e,n,i),M=AYe(p[":@"],e);n.push(b,M);let z=dYe(n,o);if(b===e.textNodeName){let D=p[A];z||(D=e.tagValueProcessor(b,D),D=LS(D,e)),c&&(a+=r),a+=D,c=!1,n.pop();continue}else if(b===e.cdataPropName){c&&(a+=r);let D=p[A][0][e.textNodeName],q=pE(D);a+=`<![CDATA[${q}]]>`,c=!1,n.pop();continue}else if(b===e.commentPropName){let D=p[A][0][e.textNodeName],q=uE(D);a+=r+`<!--${q}-->`,c=!0,n.pop();continue}else if(b[0]==="?"){let D=qne(p[":@"],e,z,n,i);a+=(b==="?xml"?"":r)+`<${b}${D}?>`,c=!0,n.pop();continue}let g=r;g!==""&&(g+=e.indentBy);let C=qne(p[":@"],e,z,n,i),E=r+`<${b}${C}`,B;z?B=Nne(p[A],e):B=Rne(p[A],e,g,n,o,i),e.unpairedTags.indexOf(b)!==-1?e.suppressUnpairedNode?a+=E+">":a+=E+"/>":(!B||B.length===0)&&e.suppressEmptyNode?a+=E+"/>":B&&B.endsWith(">")?a+=E+`>${B}${r}</${b}>`:(a+=E+">",B&&r!==""&&(B.includes("/>")||B.includes("</"))?a+=r+e.indentBy+B+r:a+=B,a+=`</${b}>`),c=!0,n.pop()}return a}s(Rne,"arrToStr");function AYe(t,e){if(!t||e.ignoreAttributes)return null;let r={},n=!1;for(let o in t){if(!Object.prototype.hasOwnProperty.call(t,o))continue;let i=o.startsWith(e.attributeNamePrefix)?o.substr(e.attributeNamePrefix.length):o;r[i]=Ac(t[o]),n=!0}return n?r:null}s(AYe,"extractAttributeValues");function Nne(t,e){if(!Array.isArray(t))return t!=null?t.toString():"";let r="";for(let n=0;n<t.length;n++){let o=t[n],i=QS(o);if(i===e.textNodeName)r+=o[i];else if(i===e.cdataPropName)r+=o[i][0][e.textNodeName];else if(i===e.commentPropName)r+=o[i][0][e.textNodeName];else{if(i&&i[0]==="?")continue;if(i){let a=lYe(o[":@"],e),c=Nne(o[i],e);!c||c.length===0?r+=`<${i}${a}/>`:r+=`<${i}${a}>${c}</${i}>`}}}return r}s(Nne,"getRawContent");function lYe(t,e){let r="";if(t&&!e.ignoreAttributes)for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let o=t[n];o===!0&&e.suppressBooleanAttributes?r+=` ${n.substr(e.attributeNamePrefix.length)}`:r+=` ${n.substr(e.attributeNamePrefix.length)}="${Ac(o)}"`}return r}s(lYe,"attr_to_str_raw");function QS(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let n=e[r];if(Object.prototype.hasOwnProperty.call(t,n)&&n!==":@")return n}}s(QS,"propName");function qne(t,e,r,n,o){let i="";if(t&&!e.ignoreAttributes)for(let a in t){if(!Object.prototype.hasOwnProperty.call(t,a))continue;let c=a.substr(e.attributeNamePrefix.length),u=r?c:Ine(c,!0,e,n,o),p;r?p=t[a]:(p=e.attributeValueProcessor(a,t[a]),p=LS(p,e)),p===!0&&e.suppressBooleanAttributes?i+=` ${u}`:i+=` ${u}="${Ac(p)}"`}return i}s(qne,"attr_to_str");function dYe(t,e){if(!e||e.length===0)return!1;for(let r=0;r<e.length;r++)if(t.matches(e[r]))return!0;return!1}s(dYe,"checkStopNode");function LS(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let n=e.entities[r];t=t.replace(n.regex,n.val)}return t}s(LS,"replaceEntitiesValue");function PS(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let r of t)if(typeof r=="string"&&e===r||r instanceof RegExp&&r.test(e))return!0}:()=>!1}s(PS,"getIgnoreAttributesFn");var bYe={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:s(function(t,e){return e},"tagValueProcessor"),attributeValueProcessor:s(function(t,e){return e},"attributeValueProcessor"),preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function dr(t){if(this.options=Object.assign({},bYe,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&ArraLine truncated
`,this.newLine=`
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}s(dr,"Builder");function fYe(t,e){let r=t["?xml"];if(r&&typeof r=="object"){if(e.attributesGroupName&&r[e.attributesGroupName]){let o=r[e.attributesGroupName][e.attributeNamePrefix+"version"];if(o)return o}let n=r[e.attributeNamePrefix+"version"];if(n)return n}return"1.0"}s(fYe,"detectXmlVersionFromObj");function kS(t,e,r,n,o){return!r.sanitizeName||Gu(t,{xmlVersion:o})?t:r.sanitizeName(t,{isAttribute:e,matcher:n.readOnly()})}s(kS,"resolveTagName");dr.prototype.build=function(t){if(this.options.preserveOrder)return _S(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new fi,r=fYe(t,this.options);return this.j2x(t,0,e,r).val}};dr.prototype.j2x=function(t,e,r,n){let o="",i="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let a=this.options.jPath?r.toString():r,c=this.checkStopNode(r);for(let u in t){if(!Object.prototype.hasOwnProperty.call(t,u))continue;let A=u===this.options.textNodeName||u===this.options.cdataPropName||u===this.options.commentPropName||this.options.attributesGroupName&&u===this.options.attributesGroupName||this.isAttribute(u)||u[0]==="?"?u:kS(u,!1,this.options,r,n);if(typeof t[u]>"u")this.isAttribute(u)&&(i+="");else if(t[u]===null)this.isAttribute(u)||A===this.options.cdataPropName||A===this.options.commentPropName?i+="":A[0]==="?"?i+=this.indentate(e)+"<"+A+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+A+"/"+this.tagEndChar;else if(t[u]instanceof Date)i+=this.buildTextValNode(t[u],A,"",e,r);else if(typeof t[u]!="object"){let l=this.isAttribute(u);if(l&&!this.ignoreAttributesFn(l,a)){let b=kS(l,!0,this.options,r,n);o+=this.buildAttrPairStr(b,""+t[u],c)}else if(!l)if(u===this.options.textNodeName){let b=this.options.tagValueProcessor(u,""+t[u]);i+=this.replaceEntitiesValue(b)}else{r.push(A);let b=this.checkStopNode(r);if(r.pop(),b){let M=""+t[u];M===""?i+=this.indentate(e)+"<"+A+this.closeTag(A)+this.tagEndChar:i+=this.indentate(e)+"<"+A+">"+M+"</"+A+this.tagEndChar}else i+=this.buildTextValNode(t[u],A,"",e,r)}}else if(Array.isArray(t[u])){let l=t[u].length,b="",M="";for(let z=0;z<l;z++){let g=t[u][z];if(!(typeof g>"u"))if(g===null)A[0]==="?"?i+=this.indentate(e)+"<"+A+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+A+"/"+this.tagEndChar;else if(typeof g=="object")if(this.options.oneListGroup){r.push(A);let C=this.j2x(g,e+1,r,n);r.pop(),b+=C.val,this.options.attributesGroupName&&g.hasOwnProperty(this.options.attributesGroupName)&&(M+=C.attrStr)}else b+=this.processTextOrObjNode(g,A,e,r,n);else if(this.options.oneListGroup){let C=this.options.tagValueProcessor(A,g);C=this.replaceEntitiesValue(C),b+=C}else{r.push(A);let C=this.checkStopNode(r);if(r.pop(),C){let E=""+g;E===""?b+=this.indentate(e)+"<"+A+this.closeTag(A)+this.tagEndChar:b+=this.indentate(e)+"<"+A+">"+E+"</"+A+this.tagEndChar}else b+=this.buildTextValNode(g,A,"",e,r)}}this.options.oneListGroup&&(b=this.buildObjectNode(b,A,M,e)),i+=b}else if(this.options.attributesGroupName&&u===this.options.attributesGroupName){let l=Object.keys(t[u]),b=l.length;for(let M=0;M<b;M++){let z=kS(l[M],!0,this.options,r,n);o+=this.buildAttrPairStr(z,""+t[u][l[M]],c)}}else i+=this.processTextOrObjNode(t[u],A,e,r,n)}return{attrStr:o,val:i}};dr.prototype.buildAttrPairStr=function(t,e,r){return r||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+Ac(e)+'"'};function MYe(t,e,r,n,o){let i=this.extractAttributes(t);if(n.push(e,i),this.checkStopNode(n)){let u=this.buildRawContent(t),p=this.buildAttributesForStopNode(t);return n.pop(),this.buildObjectNode(u,e,p,r)}let c=this.j2x(t,r+1,n,o);return n.pop(),e[0]==="?"?this.buildTextValNode("",e,c.attrStr,r,n):t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,c.attrStr,r,n):this.buildObjectNode(c.val,e,c.attrStr,r)}s(MYe,"processTextOrObjNode");dr.prototype.extractAttributes=function(t){if(!t||typeof t!="object")return null;let e={},r=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let n=t[this.options.attributesGroupName];for(let o in n){if(!Object.prototype.hasOwnProperty.call(n,o))continue;let i=o.startsWith(this.options.attributeNamePrefix)?o.substring(this.options.attributeNamePrefix.length):o;e[i]=Ac(n[o]),r=!0}}else for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let o=this.isAttribute(n);o&&(e[o]=Ac(t[n]),r=!0)}return r?e:null};dr.prototype.buildRawContent=function(t){if(typeof t=="string")return t;if(typeof t!="object"||t===null)return String(t);if(t[this.options.textNodeName]!==void 0)return t[this.options.textNodeName];let e="";for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||this.isAttribute(r)||this.options.attributesGroupName&&r===this.o Line truncated
`)+`
`+this.getCanonicalizedHeadersString(e)+this.getCanonicalizedResourceString(e),n=this.factory.computeHMACSHA256(r);return e.headers.set(qe.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${n}`),e}getHeaderValueToSign(e,r){let n=e.headers.get(r);return!n||r===qe.CONTENT_LENGTH&&n==="0"?"":n}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(o=>o.name.toLowerCase().startsWith(qe.PREFIX_FOR_STORAGE));r.sort((o,i)=>OE(o.name.toLowerCase(),i.name.toLowerCase())),r=r.filter((o,i,a)=>!(i>0&&o.name.toLowerCase()===a[i-1].name.toLowerCase()));let n="";return r.forEach(o=>{n+=`${o.name.toLowerCase().trimRight()}:${o.value.trimLeft()}
`}),n}getCanonicalizedResourceString(e){let r=hE(e.url)||"/",n="";n+=`/${this.factory.accountName}${r}`;let o=zE(e.url),i={};if(o){let a=[];for(let c in o)if(Object.prototype.hasOwnProperty.call(o,c)){let u=c.toLowerCase();i[u]=o[c],a.push(u)}a.sort();for(let c of a)n+=`
${c}:${decodeURIComponent(i[c])}`}return n}};var s1=class extends Vu{static{s(this,"StorageSharedKeyCredential")}accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new aM(e,r,this)}computeHMACSHA256(e){return(0,Lne.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var P1=Ai("storage-common");var wn;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})(wn||(wn={}));var dc={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:wn.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},BYe=new $r("The operation was aborted."),cM=class extends Mi{static{s(this,"StorageRetryPolicy")}retryOptions;constructor(e,r,n=dc){super(e,r),this.retryOptions={retryPolicyType:n.retryPolicyType?n.retryPolicyType:dc.retryPolicyType,maxTries:n.maxTries&&n.maxTries>=1?Math.floor(n.maxTries):dc.maxTries,tryTimeoutInMs:n.tryTimeoutInMs&&n.tryTimeoutInMs>=0?n.tryTimeoutInMs:dc.tryTimeoutInMs,retryDelayInMs:n.retryDelayInMs&&n.retryDelayInMs>=0?Math.min(n.retryDelayInMs,n.maxRetryDelayInMs?n.maxRetryDelayInMs:dc.maxRetryDelayInMs):dc.retryDelayInMs,maxRetryDelayInMs:n.maxRetryDelayInMs&&n.maxRetryDelayInMs>=0?n.maxRetryDelayInMs:dc.maxRetryDelayInMs,secondaryHost:n.secondaryHost?n.secondaryHost:dc.secondaryHost}}async sendRequest(e){return this.attemptSendRequest(e,!1,1)}async attemptSendRequest(e,r,n){let o=e.clone(),i=r||!this.retryOptions.secondaryHost||!(e.method==="GET"||e.method==="HEAD"||e.method==="OPTIONS")||n%2===1;i||(o.url=mE(o.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(o.url=lc(o.url,Vs.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let a;try{if(P1.info(`RetryPolicy: =====> Try=${n} ${i?"Primary":"Secondary"}`),a=await this._nextPolicy.sendRequest(o),!this.shouldRetry(i,n,a))return a;r=r||!i&&a.status===404}catch(c){if(P1.error(`RetryPolicy: Caught error, message: ${c.message}, code: ${c.code}`),!this.shouldRetry(i,n,a,c))throw c}return await this.delay(i,n,e.abortSignal),this.attemptSendRequest(e,r,++n)}shouldRetry(e,r,n,o){if(r>=this.retryOptions.maxTries)return P1.info(`RetryPolicy: Attempt(s) ${r} >= maxTries ${this.retryOptions.maxTries}, no further try.`),!1;let i=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"];if(o){for(let a of i)if(o.name.toUpperCase().includes(a)||o.message.toUpperCase().includes(a)||o.code&&o.code.toString().toUpperCase()===a)return P1.info(`RetryPolicy: Network error ${a} found, will retry.`),!0}if(n||o){let a=n?n.status:o?o.statusCode:0;if(!e&&a===404)return P1.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(a===503||a===500)return P1.info(`RetryPolicy: Will retry for status code ${a}.`),!0}if(n&&n?.status>=400){let a=n.headers.get(qe.X_MS_CopySourceErrorCode);if(a!==void 0)switch(a){case"InternalError":case"OperationTimedOut":case"ServerBusy":return!0}}return o?.code==="PARSE_ERROR"&&o?.message.startsWith('Error "Error: Unclosed root tag')?(P1.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry."),!0):!1}async delay(e,r,n){let o=0;if(e)switch(this.retryOptions.retryPolicyType){case wn.EXPONENTIAL:o=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case wn.FIXED:o=this.retryOptions.retryDelayInMs;break}else o=Math.random()*1e3;return P1.info(`RetryPolicy: Delay for ${o}ms`),gE(o,n,BYe)}};var uM=class{static{s(this,"StorageRetryPolicyFactory")}retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new cM(e,r,this.retryOptions)}};var DYe="storageBrowserPolicy";function _ne(){return{name:DYe,async sendRequest(t,e){return f0||((t.method==="GET"||t.method==="HEAD")&&(t.url=lc(t.url,Vs.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(qe.COOKIE),t.headers.delete(qe.CONTENT_LENGTH)),e(t)}}}s(_ne,"storageBrowserPolicy");var qYe="StorageCorrectContentLengthPolicy";function Qne(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(qe.CONTENT_LENGTH,Buffer.byteLength(e.body))}return s(t,"correctContentLength"),{name:qYe,async sendRequest(e,r){return t(e),r(e)}}}s(Qne,"storageCorrectContentLengthPolicy");var IYe="storageRetryPolicy",kl={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:wn.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},RYe=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],NYe=new $r("The operation was aborted.");function Pne(t={}){let e=t.retryPolicyType??kl.retryPolicyType,r=t.maxTries??kl.maxTries,n=t.retryDelayInMs??kl.retryDelayInMs,o=t.maxRetryDelayInMs??kl.maxRetryDelayInMs,i=t.secondaryHost??kl.secondaryHost,a=t.tryTimeoutInMs??kl.tryTimeoutInMs;function c({isPrimaryRetry:p,attempt:A,response:l,error:b}){if(A>=r)return Line truncated
`)+`
`+n(i)+o(i),c=(0,kne.createHmac)("sha256",t.accountKey).update(a,"utf8").digest("base64");i.headers.set(qe.AUTHORIZATION,`SharedKey ${t.accountName}:${c}`)}s(e,"signRequest");function r(i,a){let c=i.headers.get(a);return!c||a===qe.CONTENT_LENGTH&&c==="0"?"":c}s(r,"getHeaderValueToSign");function n(i){let a=[];for(let[u,p]of i.headers)u.toLowerCase().startsWith(qe.PREFIX_FOR_STORAGE)&&a.push({name:u,value:p});a.sort((u,p)=>OE(u.name.toLowerCase(),p.name.toLowerCase())),a=a.filter((u,p,A)=>!(p>0&&u.name.toLowerCase()===A[p-1].name.toLowerCase()));let c="";return a.forEach(u=>{c+=`${u.name.toLowerCase().trimRight()}:${u.value.trimLeft()}
`}),c}s(n,"getCanonicalizedHeadersString");function o(i){let a=hE(i.url)||"/",c="";c+=`/${t.accountName}${a}`;let u=zE(i.url),p={};if(u){let A=[];for(let l in u)if(Object.prototype.hasOwnProperty.call(u,l)){let b=l.toLowerCase();p[b]=u[l],A.push(b)}A.sort();for(let l of A)c+=`
${l}:${decodeURIComponent(p[l])}`}return c}return s(o,"getCanonicalizedResourceString"),{name:wYe,async sendRequest(i,a){return e(i),a(i)}}}s(VS,"storageSharedKeyCredentialPolicy");var SYe="storageRequestFailureDetailsParserPolicy";function Une(){return{name:SYe,async sendRequest(t,e){try{return await e(t)}catch(r){throw typeof r=="object"&&r!==null&&r.response&&r.response.parsedBody&&r.response.parsedBody.code==="InvalidHeaderValue"&&r.response.parsedBody.HeaderName==="x-ms-version"&&(r.message=`The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.
`),r}}}}s(Une,"storageRequestFailureDetailsParserPolicy");var Gne=require("node:crypto");var EE=class{static{s(this,"UserDelegationKeyCredential")}accountName;userDelegationKey;key;constructor(e,r){this.accountName=e,this.userDelegationKey=r,this.key=Buffer.from(r.value,"base64")}computeHMACSHA256(e){return(0,Gne.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var CE="12.31.0",yE="2026-02-06";var BE="https://storage.azure.com/.default",Js={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Eo="",JS="*",FYe=1*1024*1024;var WYe=4*FYe;var Hne="AES256",Xne="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",Vne=["Access-Control-Allow-Origin","Cache-Control","Content-Length","Content-Type","Date","Request-Id","traceparent","Transfer-Encoding","User-Agent","x-ms-client-request-id","x-ms-date","x-ms-error-code","x-ms-request-id","x-ms-return-client-request-id","x-ms-version","Accept-Ranges","Content-Disposition","Content-Encoding","Content-Language","Content-MD5","Content-Range","ETag","Last-Modified","Server","Vary","x-ms-content-crc64","x-ms-copy-action","x-ms-copy-completion-time","x-ms-copy-id","x-ms-copy-progress","x-ms-copy-status","x-ms-has-immutability-policy","x-ms-has-legal-hold","x-ms-lease-state","x-ms-lease-status","x-ms-range","x-ms-request-server-encrypted","x-ms-server-encrypted","x-ms-snapshot","x-ms-source-range","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","x-ms-access-tier","x-ms-access-tier-change-time","x-ms-access-tier-inferred","x-ms-account-kind","x-ms-archive-status","x-ms-blob-append-offset","x-ms-blob-cache-control","x-ms-blob-committed-block-count","x-ms-blob-condition-appendpos","x-ms-blob-condition-maxsize","x-ms-blob-content-disposition","x-ms-blob-content-encoding","x-ms-blob-content-language","x-ms-blob-content-length","x-ms-blob-content-md5","x-ms-blob-content-type","x-ms-blob-public-access","x-ms-blob-sequence-number","x-ms-blob-type","x-ms-copy-destination-snapshot","x-ms-creation-time","x-ms-default-encryption-scope","x-ms-delete-snapshots","x-ms-delete-type-permanent","x-ms-deny-encryption-scope-override","x-ms-encryption-algorithm","x-ms-if-sequence-number-eq","x-ms-if-sequence-number-le","x-ms-if-sequence-number-lt","x-ms-incremental-copy","x-ms-lease-action","x-ms-lease-break-period","x-ms-lease-duration","x-ms-lease-id","x-ms-lease-time","x-ms-page-write","x-ms-proposed-lease-id","x-ms-range-get-content-md5","x-ms-rehydrate-priority","x-ms-sequence-number-action","x-ms-sku-name","x-ms-source-content-md5","x-ms-source-if-match","x-ms-source-if-modified-since","x-ms-source-if-none-match","x-ms-source-if-unmodified-since","x-ms-tag-count","x-ms-encryption-key-sha256","x-ms-copy-source-error-code","x-ms-copy-source-status-code","x-ms-if-tags","x-ms-source-if-tags"],Jne=["comp","maxresults","rscc","rscd","rsce","rscl","rsct","se","si","sip","sp","spr","sr","srt","ss","st","sv","include","marker","prefix","copyid","restype","blockid","blocklisttype","delimiter","prevsnapshot","ske","skoid","sks","skt","sktid","skv","snapshot"],Yne="BlobUsesCustomerSpecifiedEncryption",$ne="BlobDoesNotUseCustomerSpecifiedEncryption",jne=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function Ys(t){if(!t||typeof t!="object")return!1;let e=t;return Array.isArray(e.factories)&&typeof e.options=="object"&&typeof e.toServiceClientOptions=="function"}s(Ys,"isPipelineLike");var pM=class{static{s(this,"Pipeline")}factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function y1(t,e={}){t||(t=new V0);let r=new pM([],e);return r._credential=t,r}s(y1,"newPipeline");function xYe(t){let e=[TYe,Kne,vYe,LYe,_Ye,QYe,kYe];if(t.factories.length){let r=t.factories.filter(n=>!e.some(o=>o(n)));if(r.length){let n=r.some(o=>PYe(o));return{wrappedPolicies:CS(r),afterRetry:n}}}}s(xYe,"processDownlevelPipeline");function YS(t){let{httpClient:e,...r}=t.options,n=t._coreHttpClient;n||(n=e?yS(e):XS(),t._coreHttpClient=n);let o=t._corePipeline;if(!o){let i=`azsdk-js-azure-storage-blob/${CE}`,a=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${i}`:`${i}`;o=Xf({...r,loggingOptions:{additionalAllowedHeaderNames:Vne,additionalAllowedQueryParameters:Jne,logger:lE.info},userAgentOptions:{userAgentPrefix:a},serializationOptions:{stringifyXML:AE,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:GS,serializerOptions:{xml:{xmlCharKey:"#"}}}}),o.removePolicy({phase:"Retry"}),o.removePolicy({name:Z6}),o.addPolicy(Qne()),o.addPolicy(Pne(r.retryOptions),{phase:"R Line truncated
`),i=e.computeHMACSHA256(o);return{sasQueryParameters:new qo(t.version,i,n,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:o}}s(xje,"generateBlobSASQueryParameters20150405");function Tje(t,e){if(t=rp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Fi.parse(t.permissions.toString()).toString():o=Wi.parse(t.permissions.toString()).toString());let i=[o||"",t.startsOn?M0(t.startsOn,!1):"",t.expiresOn?M0(t.expiresOn,!1):"",tp(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?Do(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new qo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:i}}s(Tje,"generateBlobSASQueryParameters20181109");function vje(t,e){if(t=rp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Fi.parse(t.permissions.toString()).toString():o=Wi.parse(t.permissions.toString()).toString());let i=[o||"",t.startsOn?M0(t.startsOn,!1):"",t.expiresOn?M0(t.expiresOn,!1):"",tp(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?Do(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new qo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,void 0,void 0,void 0,t.encryptionScope),stringToSign:i}}s(vje,"generateBlobSASQueryParameters20201206");function Lje(t,e){if(t=rp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Fi.parse(t.permissions.toString()).toString():o=Wi.parse(t.permissions.toString()).toString());let i=[o||"",t.startsOn?M0(t.startsOn,!1):"",t.expiresOn?M0(t.expiresOn,!1):"",tp(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?M0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?M0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?Do(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new qo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey),stringToSign:i}}s(Lje,"generateBlobSASQueryParametersUDK20181109");function _je(t,e){if(t=rp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Fi.parse(t.permissions.toString()).toString():o=Wi.parse(t.permissions.toString()).toString());let i=[o||"",t.startsOn?M0(t.startsOn,!1):"",t.expiresOn?M0(t.expiresOn,!1):"",tp(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?M0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?M0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?Do(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new qo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId),stringToSign:i}}s(_je,"generateBlobSASQueryParametersUDK20200210");function Qje(t,e){if(t=rp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Fi.parse(t.permissions.toString()).toString():o=Wi.parse(t.permissions.toString()).toString());let i=[o||"",t.startsOn?M0(t.startsOn,!1):"",t.expiresOn?M0(t.expiresOn,!1):"",tp(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?M0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?M0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?Do(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new qo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope),stringToSign:i}}s(Qje,"generateBlobSASQueryParametersUDK20201206");function Pje(t,e){if(t=rp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",n=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",n=t.versionId));let o;t.permissions&&(t.blobName?o=Fi.parse(t.permissions.toString()).toString():o=Wi.parse(t.permissions.toString()).toString());let i=[o||"",t.startsOn?M0(t.startsOn,!1):"",t.expiresOn?M0(t.expiresOn,!1):"",tp(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?M0(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?M0(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?Do(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,n,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),a=e.computeHMACSHA256(i);return{sasQueryParameters:new qo(t.version,a,o,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope,t.delegatedUserObjectId),stringToSign:i}}s(Pje,"generateBlobSASQueryParametersUDK20250705");function tp(t,e,r){let n=[`/blob/${t}/${e}`];return r&&n.push(`/${r}`),n.join("")}s(tp,"getCanonicalName");function rp(t){let e=t.version?t.version:yE;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}s(rp,"SASSignatureValuesSanityCheckAndAutofill");var EM=class{static{s(this,"BlobLeaseClient")}_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let n=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=n.container):(this._isContainer=!1,this._containerOrBlobOperation=n.blob),r||(r=Wl()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Eo||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Eo||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Ae.withSpan("BlobLeaseClient-acquireLease",r,async n=>be(await this._containerOrBlobOperation.acquireLease({abortSignal:r.abortSignal,duration:e,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},proposedLeaseId:this._leaseId,tracingOptions:n.tracingOptions})))}async changeLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Eo||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Eo||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Ae.withSpan("BlobLeaseClient-changeLease",r,async n=>{let o=be(await this._containerOrBlobOperation.changeLease(this._leaseId,e,{abortSignal:r.abortSignal,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},tracingOptions:n.tracingOptions}));return this._leaseId=e,o})}async releaseLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Eo||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Eo||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Ae.withSpan("BlobLeaseClient-releaseLease",e,async r=>be(await this._containerOrBlobOperation.releaseLease(this._leaseId,{abortSignal:e.abortSignal,modifiedAccessConditions:{...e.conditions,ifTags:e.conditions?.tagConditions},tracingOptions:r.tracingOptions})))}async renewLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Eo||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Eo||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default val Line truncated
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};e2.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var sp=class extends Error{static{s(this,"UsageError")}constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries.
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};sp.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var SM=class extends Error{static{s(this,"RateLimitError")}constructor(e){super(e),this.name="RateLimitError"}};var jKe=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})},_T=class{static{s(this,"UploadProgress")}constructor(e){this.contentLength=e,this.sentBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}setSentBytes(e){this.sentBytes=e}getTransferredBytes(){return this.sentBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.sentBytes,r=(100*(e/this.contentLength)).toFixed(1),n=Date.now()-this.startTime,o=(e/(1024*1024)/(n/1e3)).toFixed(1);S(`Sent ${e} of ${this.contentLength} (${r}%), ${o} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setSentBytes(e.loadedBytes)}}startDisplayTimer(e=1e3){let r=s(()=>{this.display(),this.isDone()||(this.timeoutHandle=setTimeout(r,e))},"displayCallback");this.timeoutHandle=setTimeout(r,e)}stopDisplayTimer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.display()}};function tse(t,e,r){return jKe(this,void 0,void 0,function*(){var n;let o=new ra(t),i=o.getBlockBlobClient(),a=new _T((n=r?.archiveSizeBytes)!==null&&n!==void 0?n:0),c={blockSize:r?.uploadChunkSize,concurrency:r?.uploadConcurrency,maxSingleShotSize:128*1024*1024,onProgress:a.onProgress()};try{a.startDisplayTimer(),N(`BlobClient: ${o.name}:${o.accountName}:${o.containerName}`);let u=yield i.uploadFile(e,c);if(u._response.status>=400)throw new RC(`uploadCacheArchiveSDK: upload failed with status code ${u._response.status}`);return u}catch(u){throw s0(`uploadCacheArchiveSDK: internal error uploading cache archive: ${u.message}`),u}finally{a.stopDisplayTimer()}})}s(tse,"uploadCacheArchiveSDK");var nse=w(require("buffer"),1),xi=w(require("fs"),1),ose=w(require("stream"),1),ise=w(require("util"),1);var NC=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})};function wC(t){return t?t>=200&&t<300:!1}s(wC,"isSuccessStatusCode");function KKe(t){return t?t>=500:!0}s(KKe,"isServerErrorStatusCode");function ZKe(t){return t?[i1.BadGateway,i1.ServiceUnavailable,i1.GatewayTimeout].includes(t):!1}s(ZKe,"isRetryableStatusCode");function eZe(t){return NC(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}s(eZe,"sleep");function rse(t,e,r){return NC(this,arguments,void 0,function*(n,o,i,a=e3,c=t3,u=void 0){let p="",A=1;for(;A<=a;){let l,b,M=!1;try{l=yield o()}catch(z){u&&(l=u(z)),M=!0,p=z.message}if(l&&(b=i(l),!KKe(b)))return l;if(b&&(M=ZKe(b),p=`Cache service responded with ${b}`),N(`${n} - Attempt ${A} of ${a} failed with error: ${p}`),!M){N(`${n} - Error is not retryable`);break}yield eZe(c),A++}throw Error(`${n} failed: ${p}`)})}s(rse,"retry");function FM(t,e){return NC(this,arguments,void 0,function*(r,n,o=e3,i=t3){return yield rse(r,n,a=>a.statusCode,o,i,a=>{if(a instanceof ai)return{statusCode:a.statusCode,result:null,headers:{},error:a}})})}s(FM,"retryTypedResponse");function t2(t,e){return NC(this,arguments,void 0,function*(r,n,o=e3,i=t3){return yield rse(r,n,a=>a.message.statusCode,o,i)})}s(t2,"retryHttpClientResponse");var Tn=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})};function tZe(t,e){return Tn(this,void 0,void 0,function*(){yield ise.promisify(ose.pipeline)(t.message,e)})}s(tZe,"pipeResponseToStream");var SC=class{static{s(this,"DownloadProgress")}constructor(e){this.contentLength=e,this.segmentIndex=0,this.segmentSize=0,this.segmentOffset=0,this.receivedBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}nextSegment(e){this.segmentOffset=this.segmentOffset+this.segmentSize,this.segmentIndex=this.segmentIndex+1,this.segmentSize=e,this.receivedBytes=0,N(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`)}setReceivedBytes(e){th Line truncated
Other caches with similar key:`);for(let c of i?.artifactCaches||[])N(`Cache Key: ${c?.cacheKey}, Cache Version: ${c?.cacheVersion}, Cache Scope: ${c?.scope}, Cache Created: ${c?.creationTime}`)}}})}s(cZe,"printCachesListForDiagnostics");function GT(t,e,r){return fr(this,void 0,void 0,function*(){let n=new hse.URL(t),o=use(r);n.hostname.endsWith(".blob.core.windows.net")?o.useAzureSdk?yield ase(t,e,o):o.concurrentBlobDownloads?yield sse(t,e,o):yield FC(t,e):yield FC(t,e)})}s(GT,"downloadCache");function gse(t,e,r){return fr(this,void 0,void 0,function*(){let n=UT(),o=Bl(e,r?.compressionMethod,r?.enableCrossOsArchive),i={key:t,version:o,cacheSize:r?.cacheSize};return yield FM("reserveCache",()=>fr(this,void 0,void 0,function*(){return n.postJson(xM("caches"),i)}))})}s(gse,"reserveCache");function mse(t,e){return`bytes ${t}-${e}/*`}s(mse,"getContentRange");function uZe(t,e,r,n,o){return fr(this,void 0,void 0,function*(){N(`Uploading chunk of size ${o-n+1} bytes at offset ${n} with content range: ${mse(n,o)}`);let i={"Content-Type":"application/octet-stream","Content-Range":mse(n,o)},a=yield t2(`uploadChunk (start: ${n}, end: ${o})`,()=>fr(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),i)}));if(!wC(a.message.statusCode))throw new Error(`Cache service responded with ${a.message.statusCode} during upload chunk.`)})}s(uZe,"uploadChunk");function pZe(t,e,r,n){return fr(this,void 0,void 0,function*(){let o=si(r),i=xM(`caches/${e.toString()}`),a=r2.openSync(r,"r"),c=QT(n),u=l6("uploadConcurrency",c.uploadConcurrency),p=l6("uploadChunkSize",c.uploadChunkSize),A=[...new Array(u).keys()];N("Awaiting all uploads");let l=0;try{yield Promise.all(A.map(()=>fr(this,void 0,void 0,function*(){for(;l<o;){let b=Math.min(o-l,p),M=l,z=l+b-1;l+=p,yield uZe(t,i,()=>r2.createReadStream(r,{fd:a,start:M,end:z,autoClose:!1}).on("error",g=>{throw new Error(`Cache upload failed because file read failed with ${g.message}`)}),M,z)}})))}finally{r2.closeSync(a)}})}s(pZe,"uploadFile");function AZe(t,e,r){return fr(this,void 0,void 0,function*(){let n={size:r};return yield FM("commitCache",()=>fr(this,void 0,void 0,function*(){return t.postJson(xM(`caches/${e.toString()}`),n)}))})}s(AZe,"commitCache");function HT(t,e,r,n){return fr(this,void 0,void 0,function*(){if(QT(n).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield tse(r,e,n)}else{let i=UT();N("Upload cache"),yield pZe(i,t,e,n),N("Commiting cache");let a=si(e);S(`Cache Size: ~${Math.round(a/(1024*1024))} MB (${a} B)`);let c=yield AZe(i,t,a);if(!wC(c.statusCode))throw new Error(`Cache service responded with ${c.statusCode} during commit cache.`);S("Cache saved successfully")}})}s(HT,"saveCache");var bae=w(aae(),1),q1=w(D1(),1),rn=w(D1(),1),Ap=w(D1(),1),lp=w(D1(),1),dp=w(D1(),1);var _v=w(D1(),1),Qv=w(D1(),1),Aae=w(D1(),1),lae=w(D1(),1),dae=w(D1(),1);var Tv=w(D1(),1),vv=w(D1(),1),cae=w(D1(),1),uae=w(D1(),1),pae=w(D1(),1);var Lv=class extends pae.MessageType{static{s(this,"CacheScope$Type")}constructor(){super("github.actions.results.entities.v1.CacheScope",[{no:1,name:"scope",kind:"scalar",T:9},{no:2,name:"permission",kind:"scalar",T:3}])}create(e){let r={scope:"",permission:"0"};return globalThis.Object.defineProperty(r,uae.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,cae.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,o){let i=o??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,u]=e.tag();switch(c){case 1:i.scope=e.string();break;case 2:i.permission=e.int64().toString();break;default:let p=n.readUnknownField;if(p==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${u}) for ${this.typeName}`);let A=e.skip(u);p!==!1&&(p===!0?vv.UnknownFieldHandler.onRead:p)(this.typeName,i,c,u,A)}}return i}internalBinaryWrite(e,r,n){e.scope!==""&&r.tag(1,Tv.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,Tv.WireType.Varint).int64(e.permission);let o=n.writeUnknownFields;return o!==!1&&(o==!0?vv.UnknownFieldHandler.onWrite:o)(this.typeName,e,r),r}},gy=new Lv;var Pv=class extends dae.MessageType{static{s(this,"CacheMetadata$Type")}constructor(){super("github.actions.results.entities.v1.CacheMetadata",[{no:1,name:"repository_id",kind:"scalar",T:3},{no:2,name:"scope",kind:"message",repeat:1,T:s(()=>gy,"T")}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,lae.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,Aae.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,n,o){let i=o??this.create(),a=e.pos+r;for(;e.pos<a;){let[c,u]=e.tag();switch(c){case 1:i.repositoryId=e.int64().toString();break;case 2:i.scope.push(gy.internalBinaryRead(e,e.uint32(),n));break;default:let p=n.readUnknownField;if(p==="throw")throw new globalThis.Error(`Unknown field ${c} (wire type ${u}) for ${this.typeName}`);let A=e.skip(u);p!==!1&&(p===!0?Qv.UnknownFieldHandler.onRead:p)(this.typeName,i,c,u,A)}}return i}internalBinaryWrite(e,r,n){e.repositoryId!== Line truncated
`));let n=yield rL(r,"create");yield nL(n,t)})}s(iL,"createTar");var h2=function(t,e,r,n){function o(i){return i instanceof r?i:new r(function(a){a(i)})}return s(o,"adopt"),new(r||(r=Promise))(function(i,a){function c(A){try{p(n.next(A))}catch(l){a(l)}}s(c,"fulfilled");function u(A){try{p(n.throw(A))}catch(l){a(l)}}s(u,"rejected");function p(A){A.done?i(A.value):o(A.value).then(c,u)}s(p,"step"),p((n=n.apply(t,e||[])).next())})},No=class t extends Error{static{s(this,"ValidationError")}constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},bp=class t extends Error{static{s(this,"ReserveCacheError")}constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},sL="cache write denied:",yy=class t extends bp{static{s(this,"CacheWriteDeniedError")}constructor(e){super(e),this.name="CacheWriteDeniedError",Object.setPrototypeOf(this,t.prototype)}},hae=r3,By=class t extends Error{static{s(this,"CacheReadDeniedError")}constructor(e){super(e),this.name="CacheReadDeniedError",Object.setPrototypeOf(this,t.prototype)}},Dy=class t extends Error{static{s(this,"FinalizeCacheError")}constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function zae(t){if(!t||t.length===0)throw new No("Path Validation Error: At least one directory or file path is required")}s(zae,"checkPaths");function aL(t){if(t.length>512)throw new No(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new No(`Key Validation Error: ${t} cannot contain commas.`)}s(aL,"checkKey");function cL(){return WM()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}s(cL,"isFeatureAvailable");function gae(t,e,r,n){return h2(this,arguments,void 0,function*(o,i,a,c,u=!1){let p=WM();N(`Cache service version: ${p}`),zae(o);let A=kT();if(!Ase(A)){S(`Cache restore skipped: the effective cache-mode '${A}' does not permit reads.`),N(`Skipped restore for paths [${o.join(", ")}] with primary key '${i}'.`);return}return p==="v2"?yield D00(o,i,a,c,u):yield B00(o,i,a,c,u)})}s(gae,"restoreCache");function B00(t,e,r,n){return h2(this,arguments,void 0,function*(o,i,a,c,u=!1){var p;a=a||[];let A=[i,...a];if(N("Resolved Keys:"),N(JSON.stringify(A)),A.length>10)throw new No("Key Validation Error: Keys are limited to a maximum of 10.");for(let M of A)aL(M);let l=yield Ff(),b="";try{let M;try{M=yield zse(A,o,{compressionMethod:l,enableCrossOsArchive:u})}catch(g){let C=(p=g?.message)!==null&&p!==void 0?p:"";throw C.includes(hae)?new By(C):g}if(!M?.archiveLocation)return;if(c?.lookupOnly)return S("Lookup only - skipping download"),M.cacheKey;b=jM.join(yield wf(),oc(l)),N(`Archive Path: ${b}`),yield GT(M.archiveLocation,b,c),Ls()&&(yield $M(b,l));let z=si(b);return S(`Cache Size: ~${Math.round(z/(1024*1024))} MB (${z} B)`),yield oL(b,l),S("Cache restored successfully"),M.cacheKey}catch(M){let z=M;if(z.name===No.name)throw M;z instanceof ai&&typeof z.statusCode=="number"&&z.statusCode>=500?bl(`Failed to restore: ${M.message}`):s0(`Failed to restore: ${M.message}`)}finally{try{yield Sf(b)}catch(M){N(`Failed to delete archive: ${M}`)}}})}s(B00,"restoreCacheV1");function D00(t,e,r,n){return h2(this,arguments,void 0,function*(o,i,a,c,u=!1){var p;c=Object.assign(Object.assign({},c),{useAzureSdk:!0}),a=a||[];let A=[i,...a];if(N("Resolved Keys:"),N(JSON.stringify(A)),A.length>10)throw new No("Key Validation Error: Keys are limited to a maximum of 10.");for(let b of A)aL(b);let l="";try{let b=tL(),M=yield Ff(),z={key:i,restoreKeys:a,version:Bl(o,M,u)},g;try{g=yield b.GetCacheEntryDownloadURL(z)}catch(B){let D=(p=B?.message)!==null&&p!==void 0?p:"";throw D.includes(hae)?new By(D):B}if(!g.ok){N(`Cache not found for version ${z.version} of keys: ${A.join(", ")}`);return}if(z.key!==g.matchedKey?S(`Cache hit for restore-key: ${g.matchedKey}`):S(`Cache hit for: ${g.matchedKey}`),c?.lookupOnly)return S("Lookup only - skipping download"),g.matchedKey;l=jM.join(yield wf(),oc(M)),N(`Archive path: ${l}`),N(`Starting download of archive to: ${l}`),yield GT(g.signedDownloadUrl,l,c);let E=si(l);return S(`Cache Size: ~${Math.round(E/(1024*1024))} MB (${E} B)`),Ls()&&(yield $M(l,M)),yield oL(l,M),S("Cache restored successfully"),g.matchedKey}catch(b){let M=b;if(M.name===No.name)throw b;M instanceof ai&&typeof M.statusCode=="number"&&M.statusCode>=500?bl(`Failed to restore: ${b.message}`):s0(`Failed to restore: ${b.message}`)}finally{try{l&&(yield Sf(l))}catch(b){N(`Failed to delete archive: ${b}`)}}})}s(D00,"restoreCacheV2");function uL(t,e,r){return h2(this,arguments,void 0,function*(n,o,i,a=!1){let c=WM();N(`Cache service version: ${c}`),zae(n),aL(o);let u=kT();return lse(u)?c==="v2"?yield I00(n,o,i,a):yield q00(n,o,i,a):(S(`Cache save skipped: the effective cache-mode '${u}' does not permit writes.`),N(`Skipped save for paths [${n.join(", ")}] with key '${o}'.`),-1)})}s(uL,"saveCache");function q00(t,e,r){return h2(this,arguments,void Line truncated
`+t.errors.map(e=>` - ${e.message}`).join(`
`)}s(E10,"_buildMessageForResponseErrors");var C10=class extends Error{static{s(this,"GraphqlResponseError")}constructor(t,e,r){super(E10(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},y10=["method","baseUrl","url","headers","request","query","mediaType","operationName"],B10=["query","method","url"],ace=/\/api\/v3\/?$/;function D10(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let a in r)if(B10.includes(a))return Promise.reject(new Error(`[@octokit/graphql] "${a}" cannot be used as variable name`))}let n=typeof e=="string"?Object.assign({query:e},r):e,o=Object.keys(n).reduce((a,c)=>y10.includes(c)?(a[c]=n[c],a):(a.variables||(a.variables={}),a.variables[c]=n[c],a),{}),i=n.baseUrl||t.endpoint.DEFAULTS.baseUrl;return ace.test(i)&&(o.url=i.replace(ace,"/api/graphql")),t(o).then(a=>{if(a.data.errors){let c={};for(let u of Object.keys(a.headers))c[u]=a.headers[u];throw new C10(o,c,a.data)}return a.data.data})}s(D10,"graphql");function EL(t,e){let r=t.defaults(e);return Object.assign(s((o,i)=>D10(r,o,i),"newApi"),{defaults:EL.bind(null,r),endpoint:r.endpoint})}s(EL,"withDefaults");var $e1=EL(rm,{headers:{"user-agent":`octokit-graphql.js/${O10} ${Ec()}`},method:"POST",url:"/graphql"});function cce(t){return EL(t,{method:"POST",url:"/graphql"})}s(cce,"withCustomRequest");var CL="(?:[a-zA-Z0-9_-]+)",uce="\\.",pce=new RegExp(`^${CL}${uce}${CL}${uce}${CL}$`),q10=pce.test.bind(pce);async function I10(t){let e=q10(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),n=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":n?"user-to-server":"oauth"}}s(I10,"auth");function R10(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}s(R10,"withAuthorizationPrefix");async function N10(t,e,r,n){let o=e.endpoint.merge(r,n);return o.headers.authorization=R10(t),e(o)}s(N10,"hook");var Ace=s(function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(I10.bind(null,e),{hook:N10.bind(null,e)})},"createTokenAuth2");var yL="7.0.6";var lce=s(()=>{},"noop"),w10=console.warn.bind(console),S10=console.error.bind(console);function F10(t={}){return typeof t.debug!="function"&&(t.debug=lce),typeof t.info!="function"&&(t.info=lce),typeof t.warn!="function"&&(t.warn=w10),typeof t.error!="function"&&(t.error=S10),t}s(F10,"createLogger");var dce=`octokit-core.js/${yL} ${Ec()}`,Ly=class{static{s(this,"Octokit")}static VERSION=yL;static defaults(e){return class extends this{static{s(this,"OctokitWithDefaults")}constructor(...n){let o=n[0]||{};if(typeof e=="function"){super(e(o));return}super(Object.assign({},e,o,o.userAgent&&e.userAgent?{userAgent:`${o.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static{s(this,"NewOctokit")}static plugins=r.concat(e.filter(o=>!r.includes(o)))}}constructor(e={}){let r=new Qae.Collection,n={baseUrl:rm.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(n.headers["user-agent"]=e.userAgent?`${e.userAgent} ${dce}`:dce,e.baseUrl&&(n.baseUrl=e.baseUrl),e.previews&&(n.mediaType.previews=e.previews),e.timeZone&&(n.headers["time-zone"]=e.timeZone),this.request=rm.defaults(n),this.graphql=cce(this.request).defaults(n),this.log=F10(e.log),this.hook=r,e.authStrategy){let{authStrategy:i,...a}=e,c=i(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:a},e.auth));r.wrap("request",c.hook),this.auth=c}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let i=Ace(e.auth);r.wrap("request",i.hook),this.auth=i}let o=this.constructor;for(let i=0;i<o.plugins.length;++i)Object.assign(this,o.plugins[i](this,e))}request;graphql;log;hook;auth};var BL="17.0.0";var W10={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables" Line truncated
`,a).length:l,p?(c===null?0:c.length)+u.length:0,p?u.length+l:0);return b<M},"__needMoreData"),parse:s(function(n,o,i,a){let{bom:c,comment_no_infix:u,delimiter_auto:p,encoding:A,from_line:l,ltrim:b,max_record_size:M,raw:z,relax_quotes:g,rtrim:C,skip_empty_lines:E,to:B,to_line:D}=this.options,{comment:q,escape:x,quote:W,record_delimiter:_}=this.options,{bomSkipped:ae,delimiterDiscovered:Se,delimiterBufPrevious:xe,rawBuffer:Ne,escapeIsQuote:Ce}=this.state;if(!Se&&p){let j;if(xe===void 0?j=n:xe!==void 0&&n===void 0?j=xe:j=Buffer.concat([xe,n]),n=void 0,o||j.length>p.size)this.options.delimiter=[Buffer.from(Fle(j,this.options.delimiter_auto))],this.state.previousBuf=j,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=j;return}}let{previousBuf:we}=this.state,k;if(we===void 0)if(n===void 0){a();return}else k=n;else we!==void 0&&n===void 0?k=we:k=Buffer.concat([we,n]);if(ae===!1)if(c===!1)this.state.bomSkipped=!0;else if(k.length<3){if(o===!1){this.state.previousBuf=k;return}}else{for(let j in v2)if(v2[j].compare(k,0,v2[j].length)===0){let $e=v2[j].length;this.state.bufBytesStart+=$e,k=k.slice($e);let m1=T2({...this.original_options,encoding:j});for(let ze in m1)this.options[ze]=m1[ze];({comment:q,escape:x,quote:W}=this.options);break}this.state.bomSkipped=!0}let Te=k.length,T;for(T=0;T<Te&&!this.__needMoreData(T,Te,o);T++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),D!==-1&&this.info.lines>D){this.state.stop=!0,a();return}this.state.quoting===!1&&_.length===0&&this.__autoDiscoverRecordDelimiter(k,T)&&(_=this.options.record_delimiter);let j=k[T];if(z===!0&&Ne.append(j),(j===ga0||j===Oa0)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(x!==null&&this.state.quoting===!0&&this.__isEscape(k,T,j)&&T+x.length<Te)if(Ce){if(this.__isQuote(k,T+x.length)){this.state.escaping=!0,T+=x.length-1;continue}}else{this.state.escaping=!0,T+=x.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(k,T))if(this.state.quoting===!0){let ze=k[T+W.length],I0=C&&this.__isCharTrimable(k,T+W.length),je=q!==null&&this.__compareBytes(q,k,T+W.length,ze),X=this.__isDelimiter(k,T+W.length,ze),Rt=_.length===0?this.__autoDiscoverRecordDelimiter(k,T+W.length):this.__isRecordDelimiter(ze,k,T+W.length);if(x!==null&&this.__isEscape(k,T,j)&&this.__isQuote(k,T+x.length))T+=x.length-1;else if(!ze||X||Rt||je||I0){this.state.quoting=!1,this.state.wasQuoting=!0,T+=W.length-1;continue}else if(g===!1){let Nt=this.__error(new Je("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(ze)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(Nt!==void 0)return Nt}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(W),T+=W.length-1}else if(this.state.field.length!==0){if(g===!1){let ze=this.__infoField(),I0=Object.keys(v2).map(X=>v2[X].equals(this.state.field.toString())?X:!1).filter(Boolean)[0],je=this.__error(new Je("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(ze.column)} at line ${ze.lines}, value is ${JSON.stringify(this.state.field.toString(A))}`,I0?`(${I0} bom)`:void 0],this.options,ze,{field:this.state.field}));if(je!==void 0)return je}}else{this.state.quoting=!0,T+=W.length-1;continue}if(this.state.quoting===!1){let ze=this.__isRecordDelimiter(j,k,T);if(ze!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=l){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),T+=ze-1;continue}if(E===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,T+=ze-1;continue}this.info.bytes=this.state.bufBytesStart+T;let X=this.__onField();if(X!==void 0)return X;this.info.bytes=this.state.bufBytesStart+T+ze;let Rt=this.__onRecord(i);if(Rt!==void 0)return Rt;if(B!==-1&&this.info.records>=B){this.state.stop=!0,a();return}}this.state.commenting=!1,T+=ze-1;continue}if(this.state.commenting)continue;if(q!==null&&(u===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(q,k,T,j)!==0){this.state.commenting=!0;continue}let I0=this.__isDelimiter(k,T,j);if(I0!==0){this.info.bytes=this.state.bufBytesStart+T;let je=this.__onField();if(je!==void 0)return je;T+=I0-1;continue}}}if(this.state.commenting===!1&&M!==0&&this.state.record_length+this.state.field.length>M)return this.__error(new Je("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${M}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let $e=b===!1||this.state.quoting===!0||this.state.field.length!==0||!thi Line truncated
`,i),Buffer.from(`
`,i),Buffer.from("\r",i)];e:for(let c=0;c<a.length;c++){let u=a[c].length;for(let p=0;p<u;p++)if(a[c][p]!==n[o+p])continue e;return this.options.record_delimiter.push(a[c]),this.state.recordDelimiterMaxLength=a[c].length,a[c].length}return 0},"__autoDiscoverRecordDelimiter"),__error:s(function(n){let{encoding:o,raw:i,skip_records_with_error:a}=this.options,c=typeof n=="string"?new Error(n):n;if(a){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(c,i?this.state.rawBuffer.toString(o):void 0)}catch(u){return u}return}else return c},"__error"),__infoDataSet:s(function(){return{...this.info,columns:this.options.columns}},"__infoDataSet"),__infoRecord:s(function(){let{columns:n,raw:o,encoding:i}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:n===!0,index:this.state.record.length,raw:o?this.state.rawBuffer.toString(i):void 0}},"__infoRecord"),__infoField:s(function(){let{columns:n}=this.options,o=Array.isArray(n),i=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:i,column:o===!0?n.length>this.state.record.length?n[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}},"__infoField")}},"transform");var cn=s(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=k4(e),o=s(c=>{n.options.objname===void 0?r.push(c):r[c[0]]=c[1]},"push"),i=s(()=>{},"close"),a=n.parse(t,!0,o,i);if(a!==void 0)throw a;return r},"parse");var l0=class t{static{s(this,"Util")}static getInputList(e,r){return this.getList(Ur(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let n=[];if(e=="")return n;let o=cn(e,{columns:!1,relaxQuotes:!0,comment:r?.comment,comment_no_infix:r?.commentNoInfix,relaxColumnCount:!0,skipEmptyLines:!0,quote:r?.quote});for(let i of o)i.length==1?r?.ignoreComma?n.push(i[0]):n.push(...i[0].split(",")):r?.ignoreComma?n.push(i.join(",")):n.push(...i);return n.filter(i=>i).map(i=>r?.trimWhitespace===!1?i:i.trim())}static getInputNumber(e){let r=Ur(e);if(r)return parseInt(r)}static async asyncForEach(e,r){for(let n=0;n<e.length;n++)await r(e[n],n,e)}static isValidURL(e){let r;try{r=new URL(e)}catch{return!1}return r.protocol==="http:"||r.protocol==="https:"}static isValidRef(e){if(t.isValidURL(e))return!0;for(let r of["git://","github.com/","git@"])if(e.startsWith(r))return!0;return!1}static async powershellCommand(e,r){let n=await at("powershell",!0),o=e.replace(/'/g,"''"),i=[];if(r)for(let a in r)i.push(`-${a} '${r[a].replace(/'/g,"''")}'`);return{command:`"${n}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-EncodedCommand",Buffer.from(`& '${o}' ${i.join(" ")}`,"utf16le").toString("base64")]}}static isDirectory(e){try{return xle.default.lstatSync(e).isDirectory()}catch{}return!1}static trimPrefix(e,r){return!e||!r||e.indexOf(r)!==0?e:e.substring(r.length)}static trimSuffix(e,r){if(!e||!r)return e;let n=e.lastIndexOf(r);return n===-1||n+r.length!==e.length?e:e.substring(0,n)}static sleep(e){return new Promise(r=>setTimeout(r,e*1e3))}static hash(e){return nQ.default.createHash("sha256").update(e).digest("hex")}static parseBool(e){if(e===void 0)return!1;switch(e){case"1":case"t":case"T":case"true":case"TRUE":case"True":return!0;case"0":case"f":case"F":case"false":case"FALSE":case"False":return!1;default:throw new Error(`parseBool syntax error: ${e}`)}}static parseBoolOrDefault(e,r=!1){try{return this.parseBool(e)}catch{return r}}static formatFileSize(e){if(e===0)return"0 Bytes";let r=1024,n=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],o=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,o)).toFixed(2))+" "+n[o]}static generateRandomString(e=10){return nQ.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,n){return Tle.default.compile(e,r)(n)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let n=Bm.default.resolve(e);return Bm.default.resolve(r).startsWith(n.endsWith(Bm.default.sep)?n:`${n}${Bm.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),n=Math.floor(r/3600),o=Math.floor(r%3600/60),i=r%60,a=[];return n&&a.push(`${n}h`),o&&a.push(`${o}m`),(i||a.length===0)&&a.push(`${i}s`),a.join("")}};var Bt=class t{static{s(this,"Docker")}static get configDir(){return process.env.DOCKER_CONFIG||Dm.default.join(vle.default.homedir(),".docker")}static configFile(){let e=Dm.default.join(t.configDir,"config.json");if(oQ.default.existsSync(e))return JSON.parse(oQ.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await at("docker",!0).then(e=>(N(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(N(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}),!0 Line truncated
${n}`)},"onRetry")})}static isPullTransientError(e){return/Client\.Timeout exceeded|TLS handshake timeout|i\/o timeout|context deadline exceeded|request canceled|connection reset by peer|connection refused|connection timed out|temporary failure|unexpected EOF|\bEOF\b|server misbehaving/i.test(e)||/\b(500|502|503|504)\b/.test(e)||/\b(service unavailable|bad gateway|gateway timeout|internal server error)\b/i.test(e)}};var O0=class t{static{s(this,"Buildx")}_version;_versionOnce;_standalone;static containerNamePrefix="buildx_buildkit_";constructor(e){this._standalone=e?.standalone,this._version="",this._versionOnce=!1}static get configDir(){return process.env.BUILDX_CONFIG||gr.default.join(Bt.configDir,"buildx")}static get refsDir(){return gr.default.join(t.configDir,"refs")}static get refsGroupDir(){return gr.default.join(t.refsDir,"__group__")}static get certsDir(){return gr.default.join(t.configDir,"certs")}async isStandalone(){let e=this._standalone??!await Bt.isAvailable();return N(`Buildx.isStandalone: ${e}`),e}async getCommand(e){let r=await this.isStandalone();return{command:r?"buildx":"docker",args:r?e:["buildx",...e]}}async isAvailable(){let e=await this.getCommand([]),r=await Ee.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(n=>n.stderr.length>0&&n.exitCode!=0?(N(`Buildx.isAvailable cmd err: ${n.stderr.trim()}`),!1):n.exitCode==0).catch(n=>(N(`Buildx.isAvailable error: ${n}`),!1));return N(`Buildx.isAvailable: ${r}`),r}async version(){if(this._versionOnce)return this._version;this._versionOnce=!0;let e=await this.getCommand(["version"]);return this._version=await Ee.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr.trim());return t.parseVersion(r.stdout.trim())}),this._version}async printVersion(){let e=await this.getCommand(["version"]);await Ee.exec(e.command,e.args,{failOnStdErr:!1})}static parseVersion(e){let r=/\sv?([0-9a-f]{7}|[0-9.]+)/.exec(e);if(!r)throw new Error("Cannot parse buildx version");return r[1]}static getErrorMessage(e){let r=(0,Qle.stripVTControlCharacters)(e).split(/[\r\n]/),n="";for(let o=r.length-1;o>=0;o--){let i=r[o].trim();if(i.startsWith("ERROR:"))return i.slice(6).trim()||"unknown error";n||=i}return n||"unknown error"}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return N("Buildx.versionSatisfies false: undefined version"),!1;let o=Ple.satisfies(n,e)||/^[0-9a-f]{7}$/.exec(n)!==null;return N(`Buildx.versionSatisfies ${n} statisfies ${e}: ${o}`),o}static resolveCertsDriverOpts(e,r,n){let o;try{o=new URL(r)}catch{return[]}if(o.protocol!="tcp:")return[];let i=[];if(Object.keys(n).length==0)return i;let a=o.hostname;if(o.port.length>0&&(a+=`-${o.port}`),n.cacert!==void 0){let c=gr.default.join(t.certsDir,`cacert_${a}.pem`);Vn.default.writeFileSync(c,n.cacert),i.push(`cacert=${c}`)}if(n.cert!==void 0){let c=gr.default.join(t.certsDir,`cert_${a}.pem`);Vn.default.writeFileSync(c,n.cert),i.push(`cert=${c}`)}if(n.key!==void 0){let c=gr.default.join(t.certsDir,`key_${a}.pem`);Vn.default.writeFileSync(c,n.key),i.push(`key=${c}`)}return e!="remote"?[]:i}static localState(e,r){let[n,o,i]=e.split("/");if(!n||!o||!i)throw new Error(`Invalid build reference: ${e}`);let a=gr.default.join(r||t.refsDir,n,o,i);if(!Vn.default.existsSync(a))throw new Error(`Local state not found in ${a}`);return t.fixLocalState(JSON.parse(Vn.default.readFileSync(a,"utf8")))}static fixLocalState(e){let r=s(function(a){let c=a.match(/(.*)(https?:\/{1,2}\S+|ssh:\/{1,2}\S+|git:\/{1,2}\S+)/i);if(c&&c.length==3){let u=c[1],p=c[2];return p.startsWith("https:/")&&!p.startsWith("https://")&&(p=p.replace("https:/","https://")),p.startsWith("http:/")&&!p.startsWith("http://")&&(p=p.replace("http:/","http://")),p.startsWith("ssh:/")&&!p.startsWith("ssh://")&&(p=p.replace("ssh:/","ssh://")),p.startsWith("git:/")&&!p.startsWith("git://")&&(p=p.replace("git:/","git://")),[p,u,!0]}return[a,"",!1]},"fnTrimToValidContext"),[n,o,i]=r(e.LocalPath);return i&&(e.LocalPath=n,e.DockerfilePath.indexOf(o)===0&&(e.DockerfilePath=e.DockerfilePath.substring(o.length))),e.LocalPath=e.LocalPath.endsWith("/-")?"-":e.LocalPath,e.DockerfilePath=e.DockerfilePath.endsWith("/-")?"-":e.DockerfilePath,e}static refs(e,r={}){let{dir:n,builderName:o,nodeName:i,since:a}=e,c=gr.default.resolve(n);if(e.builderName&&(c=gr.default.join(c,e.builderName)),e.nodeName&&(c=gr.default.join(c,e.nodeName)),!Vn.default.existsSync(c))return r;let u=Vn.default.readdirSync(c);for(let p of u){let A=gr.default.join(c,p),l=Vn.default.statSync(A);if(l.isDirectory()){let b={...e};if(o)i||(b.nodeName=p);else{if(p==="__group__")continue;b.builderName=p}t.refs(b,r)}else{if(a&&l.mtime<a)continue;let b=t.fixLocalState(JSON.parse(Vn.default.readFileSync(A,"utf8"))),M=`${o}/${i}/${p}`;r[M]=b}}return r}static async convertWarningsToGitHubAnnotations(e,r,n){if(e.length===0)return;let o=s(function(u){try{return t4.parseURL(u)}catch{}},"fnGitURL"),i=s(function Line truncated
More info: ${u.url}`);let M=u.range&&u.range.length>0?u.range[0]?.start.line:void 0,z=!1;for(let g of a)if(g.remote||g.path.endsWith(p)&&g.content===A){c.push({title:l,message:b,file:g.path,startLine:M}),z=!0;break}z||N(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${p}: ${l}`)}return c}};var Dp=w(require("fs"),1),iQ=w(require("path"),1);var U4=class t{static{s(this,"Build")}buildx;iidFilename;metadataFilename;constructor(e){this.buildx=e?.buildx||new O0,this.iidFilename=`build-iidfile-${l0.generateRandomString()}.txt`,this.metadataFilename=`build-metadata-${l0.generateRandomString()}.json`}async gitContext(e){let r=new Set(["ref","checksum","subdir"]),n=e?.attrs||{},o=Object.entries(n).filter(([M])=>!r.has(M)),i=l0.parseBoolOrDefault(n["fetch-by-commit"]),a=e?.ref||n.ref||Vt.ref;a.startsWith("refs/")?a.startsWith("refs/pull/")&&l0.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF)&&(a=a.replace(/\/merge$/g,"/head")):a=`refs/heads/${a}`;let c=`${A0.serverURL}/${Vt.repo.owner}/${Vt.repo.repo}.git`,u=e?.checksum||n.checksum,p=e?.subdir||n.subdir,A=e?.format;if(!A){if(A="fragment",o.length>0)A="query";else if(l0.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT))try{await this.buildx.versionSatisfies(">=0.29.0")&&(A="query")}catch{}}let l=Vt.sha||a;a.startsWith("refs/pull/")&&a.endsWith("/head")&&(l=typeof Vt.payload.pull_request?.head?.sha=="string"?Vt.payload.pull_request.head.sha:a);let b=u||l;if(A==="query"){let M=[`ref=${i||u?a:b}`],z=i?b:u;z&&M.push(`checksum=${z}`),p&&p!=="."&&M.push(`subdir=${p}`);for(let[g,C]of o)M.push(`${g}=${C}`);return`${c}?${M.join("&")}`}return`${c}#${b}${p&&p!=="."?`:${p}`:""}`}getImageIDFilePath(){return iQ.default.join(u0.tmpDir(),this.iidFilename)}resolveImageID(){let e=this.getImageIDFilePath();if(Dp.default.existsSync(e))return Dp.default.readFileSync(e,{encoding:"utf-8"}).trim()}getMetadataFilePath(){return iQ.default.join(u0.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!Dp.default.existsSync(e))return;let r=Dp.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRef(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.ref"in e)return e["buildx.build.ref"]}resolveProvenance(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.provenance"in e)return e["buildx.build.provenance"]}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}resolveDigest(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"containerimage.digest"in e)return e["containerimage.digest"]}static resolveSecretString(e){let[r,n]=t.resolveSecret(e,{redact:!0});return`id=${r},src=${n}`}static resolveSecretFile(e){let[r,n]=t.resolveSecret(e,{asFile:!0});return`id=${r},src=${n}`}static resolveSecretEnv(e){let[r,n]=t.parseSecretKvp(e);return`id=${r},env=${n}`}static resolveSecret(e,r){let[n,o]=t.parseSecretKvp(e,r?.redact);if(r?.asFile){if(!Dp.default.existsSync(o))throw new Error(`secret file ${o} not found`);return[n,o]}let i=u0.tmpName({tmpdir:u0.tmpDir()});return Dp.default.writeFileSync(i,o),[n,i]}static getProvenanceInput(e){let r=Ur(e);if(!r)return r;try{return rK(e)?`builder-id=${A0.workflowRunURL(!0)}`:"false"}catch{return t.resolveProvenanceAttrs(r)}}static resolveProvenanceAttrs(e){if(!e)return`builder-id=${A0.workflowRunURL(!0)}`;let r=cn(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let n of r)if(n.toString().split(/(?<=^[^=]+?)=/).map(i=>i.trim())[0]=="builder-id")return e;return`${e},builder-id=${A0.workflowRunURL(!0)}`}static resolveCacheToAttrs(e,r){if(!e)return e;let n="registry",o="",i="",a=cn(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let c of a){let u=c.toString().split(/(?<=^[^=]+?)=/).map(p=>p.trim());u[0]==="type"?n=u[1]:u[0]==="repository"?o=u[1]:u[0]==="ghtoken"&&(i=u[1])}return n==="gha"&&(o||(e=`${e},repository=${A0.repository}`),!i&&r&&(e=`${e},ghtoken=${r}`)),e}static hasLocalExporter(e){return t.hasExporterType("local",e)}static hasTarExporter(e){return t.hasExporterType("tar",e)}static hasDockerExporter(e,r){return r||t.hasExporterType("docker",e)}static hasExporterType(e,r){let n=cn(r.join(`
`),{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let o of n){if(o.length==1&&!o[0].startsWith("type="))return e=="local";for(let[i,a]of o.map(c=>c.split("=").map(u=>u.trim())))if(i=="type"&&a==e)return!0}return!1}static hasAttestationType(e,r){let n=cn(r,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let o of n)for(let[i,a]of o.map(c=>c.split("=").map(u=>u.trim())))if(i=="type"&&a==e)return!0;return!1}static resolveAttestationAttrs(e){let r=cn(e,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0}),n=[];for(let o of r)for(let i of o)try{let a=l0.parseBool(i);n.push(`disabled=${!a}`)}catch{n.push(i)}return n.join(",")}static hasGitAuthTokenSecret(e,r){for(let n of e){if(r&&n.startsWith(`GIT_AUTH_TOKEN.${r}=`))return!0;if(n.startsWith("GIT_AUTH_TOKEN="))return!0}return!1}static parseSecretKvp(e,r){let n=e.indexOf("="),o=e.substring(0,n),i=e.substring(n+1);if(o.length==0||i.length==0)throw new Error(`${e} is not a valid secret`);return r&&ei(i),[o,i]}};var sQ=w(require("fs"),1),kle=w(require("path"),1);var G4=class t{static{s(this,"Bake")}buildx;metadataFilename;constructor(e){this.buildx=e?.buildx||new O0,this.metadataFilename=`bake-metadata-${l0.generateRandomString()}.json`}getMetadataFilePath(){return kle.default.join(u0.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!sQ.default.existsSync(e))return;let r=sQ.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRefs(e){if(!e&&(e=this.resolveMetadata(),!e))return;let r=new Array;for(let n in e)"buildx.build.ref"in e[n]&&r.push(e[n]["buildx.build.ref"]);return r.length>0?r:void 0}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}async getDefinition(e,r){r=r||{ignoreReturnCode:!0},r.ignoreReturnCode=!0,r.env=Object.assign({},process.env,r.env||{},e.githubToken?{BUILDX_BAKE_GIT_AUTH_TOKEN:e.githubToken}:{});let n=["bake"],o,i=[],a=[...e.files||[],e.source];if(a){for(let u of a.map(p=>p?p.trim():""))if(u.length!=0){if(!l0.isValidRef(u)){i.push(u);continue}if(o)throw new Error("Only one remote bake definition can be defined");o=u}}o&&n.push(o);for(let u of i)n.push("--file",u);if(e.overrides)for(let u of e.overrides)n.push("--set",u);if(e.vars)for(let u of e.vars)n.push("--var",u);if(e.allow)for(let u of e.allow)n.push("--allow",u);e.call&&n.push("--call",e.call),e.load&&n.push("--load"),e.noCache&&n.push("--no-cache"),e.provenance&&n.push("--provenance",e.provenance),e.push&&n.push("--push"),e.sbom&&n.push("--sbom",e.sbom);let c=await this.buildx.getCommand([...n,"--print",...e.targets||[]]);return await Ee.getExecOutput(c.command,c.args,r).then(u=>{if(u.stderr.length>0&&u.exitCode!=0)throw new Error(`cannot parse bake definitions: ${O0.getErrorMessage(u.stderr)}`);return t.parseDefinition(u.stdout.trim())})}static parseDefinition(e){let r=JSON.parse(e);for(let n in r.target){let o=r.target[n];o.attest&&Array.isArray(o.attest)&&(o.attest=o.attest.map(i=>t.parseAttestEntry(i))),o["cache-from"]&&Array.isArray(o["cache-from"])&&(o["cache-from"]=o["cache-from"].map(i=>t.parseCacheEntry(i))),o["cache-to"]&&Array.isArray(o["cache-to"])&&(o["cache-to"]=o["cache-to"].map(i=>t.parseCacheEntry(i))),o.output&&Array.isArray(o.output)&&(o.output=o.output.map(i=>t.parseExportEntry(i))),o.secret&&Array.isArray(o.secret)&&(o.secret=o.secret.map(i=>t.parseSecretEntry(i))),o.ssh&&Array.isArray(o.ssh)&&(o.ssh=o.ssh.map(i=>t.parseSSHEntry(i)))}return r}static parseAttestEntry(e){if(typeof e!="string")return e;let r={type:""},n=cn(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let o of n){let[i,a]=o.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());switch(i){case"type":r.type=a;break;case"disabled":r.disabled=l0.parseBool(a);break;default:r[i]=a}}return r}static parseCacheEntry(e){if(typeof e!="string")return e;let r={type:""},n=cn(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&!n[0].includes("="))return r.type="registry",r.ref=n[0],r;for(let o of n){let[i,a]=o.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());i==="type"?r.type=a:r[i]=a}return r}static parseExportEntry(e){if(typeof e!="string")return e;let r={type:""},n=cn(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(n.length===1&&n[0]===e&&!e.startsWith("type="))return e!=="-"?(r.type="local",r.dest=e,r):(r.type="tar",r.dest=e,r);for(let o of n){let[i,a]=o.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());i==="type"?r.type=a:r[i]=a}return r}static parseSecretEntry(e){if(typeof e!="string")return e;let r={},n=cn(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0],o="";for(let i of n){let[a,c]=i.toString().split(/(?<=^[^=]+?)=/).map(u=>u.trim());switch(a){case"type":o=c;break;case"id":r.id=c;break;case"source":case"src":r.src=c;break;case"env":r.env=c;break}}return o==="env"&&!r.env&&(r.env=r.src,r.src=void 0),r}static parseSSHEntry(e){if(typeof e!="string")return e;let r={},[n,o]=e.split("=",2);return r.id=n,o&&(r.paths=o.split(",")),r} Line truncated
`)[0])}static async isHeadDetached(e){return await t.exec(["branch","--show-current"],e).then(r=>r.length==0)}static async getDetachedRef(e){let r=await t.exec(["show","-s","--pretty=%D"],e);N(`detached HEAD ref: ${r}`);let n=r.replace(/^grafted, /,"").trim();if(n==="HEAD")return await t.inferRefFromHead(e);let o=n.match(/^HEAD, (.*)$/);if(!o||!o[1])throw new Error(`Cannot find detached HEAD ref in "${r}"`);let i=o[1].trim();if(i.startsWith("tag: "))return await t.findDetachedTagRef(i,r,e);if(i.match(/^pull\/\d+\/(head|merge)$/))return`refs/${i}`;let c=i.match(/^[^/]+\/[^/]+, (.+)$/);if(c)return`refs/heads/${c[1].trim()}`;let u=i.match(/^[^/]+\/(.+)$/);if(u)return`refs/heads/${u[1].trim()}`;throw new Error(`Unsupported detached HEAD ref in "${r}"`)}static async exec(e=[],r){return await Ee.getExecOutput("git",e,{cwd:r,ignoreReturnCode:!0,silent:!0}).then(n=>{if(n.stderr.length>0&&n.exitCode!=0)throw new Error(n.stderr);return n.stdout.trim()})}static async inferRefFromHead(e){let r=await t.findContainingRef("refs/heads/",e);if(r)return r;let n=await t.findContainingRef("refs/remotes/",e);if(n){let a=n.match(/^refs\/remotes\/[^/]+\/(.+)$/);return a?`refs/heads/${a[1]}`:n}let o=await t.exec(["tag","--contains","HEAD"],e),[i]=o.split(`
`).map(a=>a.trim()).filter(a=>a.length>0);return i?`refs/tags/${i}`:""}static async findDetachedTagRef(e,r,n){let i=(await t.exec(["for-each-ref","--format=%(refname)","--points-at","HEAD","refs/tags/"],n)).split(`
`).map(a=>a.trim()).filter(a=>a.length>0).sort((a,c)=>c.length-a.length);for(let a of i){let c=`tag: ${a.slice(10)}`;if(e===c||e.startsWith(`${c}, `))return a}if(i.length===1)return i[0];throw new Error(`Cannot find detached tag ref in "${r}"`)}static async findContainingRef(e,r){let n=await t.exec(["for-each-ref","--format=%(refname)","--contains","HEAD","--sort=-committerdate",e],r),[o]=n.split(`
`).map(i=>i.trim()).filter(i=>i.length>0);return o}static async commitDate(e,r){return new Date(await t.exec(["show","-s",'--format="%ci"',e],r))}};var ofe=require("crypto"),rs=w(require("fs"),1),ns=w(require("path"),1);var fd=w(bQ(),1),ife=w(R8(),1),Md=w(Zbe(),1);var tfe=require("util");var SP=w(bQ(),1);var rfe=w(Un(),1);var efe="application/vnd.oci.empty.v1+json";var Dr=class{static{s(this,"Cosign")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"cosign",this._version="",this._versionOnce=!1}async isAvailable(){let e=await Ee.getExecOutput(this.binPath,[],{ignoreReturnCode:!0,silent:!0}).then(r=>r.stderr.length>0&&r.exitCode!=0?(N(`Cosign.isAvailable cmd err: ${r.stderr.trim()}`),!1):r.exitCode==0).catch(r=>(N(`Cosign.isAvailable error: ${r}`),!1));return N(`Cosign.isAvailable: ${e}`),e}async version(){return this._versionOnce?this._version:(this._versionOnce=!0,this._version=await Ee.getExecOutput(this.binPath,["version","--json"],{ignoreReturnCode:!0,silent:!0}).then(e=>{if(e.stderr.length>0&&e.exitCode!=0)throw new Error(e.stderr.trim());return JSON.parse(e.stdout.trim()).gitVersion}),this._version)}async printVersion(){await Ee.exec(this.binPath,["version","--json"],{failOnStdErr:!1})}static getErrorMessage(e){let r=(0,tfe.stripVTControlCharacters)(e).split(/[\r\n]/);for(let n=r.length-1;n>=0;n--){let o=r[n].trim();if(o)return o}return"unknown error"}async versionSatisfies(e,r){let n=r??await this.version();if(!n)return N("Cosign.versionSatisfies false: undefined version"),!1;let o=rfe.satisfies(n,e)||/^[0-9a-f]{7}$/.exec(n)!==null;return N(`Cosign.versionSatisfies ${n} statisfies ${e}: ${o}`),o}static parseCommandOutput(e){let r,n,o,i;for(let a of e.split(/\r?\n/)){let c=a.trim();if(!c.startsWith("{")||!c.endsWith("}"))continue;let u;try{u=JSON.parse(c)}catch{continue}if(u&&Array.isArray(u.errors)&&u.errors.length>0&&(i=u.errors),!r&&u&&Array.isArray(u.manifests)&&u.manifests.length>0){let p=u.manifests[0];p?.artifactType===SP.BUNDLE_V03_MEDIA_TYPE&&typeof p.digest=="string"?r=p.digest:p?.artifactType===efe&&typeof p.digest=="string"&&(n=p.digest)}if(!o&&u&&u.mediaType===SP.BUNDLE_V03_MEDIA_TYPE&&(o=u),o&&(r||n)){i=void 0;break}}return{bundle:o,signatureManifestDigest:r||n,errors:i}}};var FP=w(require("fs"),1);var CD=class t{static{s(this,"ImageTools")}buildx;constructor(e){this.buildx=e?.buildx||new O0}async getCommand(e){return await this.buildx.getCommand(["imagetools",...e])}async getInspectCommand(e){return await this.getCommand(["inspect",...e])}async getCreateCommand(e){return await this.getCommand(["create",...e])}async inspectImage(e){return await this.inspect(e,"{{json .Image}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"config"),r;throw new Error("Unexpected output format")})}async inspectManifest(e){return await this.inspect(e,"{{json .Manifest}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"manifests"),r;throw new Error("Unexpected output format")})}async attestationDescriptors(e){let r=await this.inspectManifest(e);if(typeof r!="object"||r===null||!("manifests"in r)||!Array.isArray(r.manifests))throw new Error(`No descriptor found for ${e.name}`);let n=r.manifests.filter(a=>a.annotations?.["vnd.docker.reference.type"]==="attestation-manifest");if(!e.platform)return n;let o=e.platform,i=new Map;for(let a of r.manifests)a.digest&&i.set(a.digest,a);return n.filter(a=>{let c=a.annotations?.["vnd.docker.reference.digest"];if(!c)return!1;let u=i.get(c);return u?u.platform?.os===o.os&&u.platform?.architecture===o.architecture&&(u.platform?.variant??"")===(o.variant??""):!1})}async attestationDigests(e){return(await this.attestationDescriptors(e)).map(r=>r.digest)}async create(e){let r=[],n=u0.tmpName({tmpdir:u0.tmpDir(),template:"imagetools-metadata-XXXXXX"}),o=[],i=[];for(let c of e.sources){if(c.startsWith("cwd://")){let u=c.substring(6);u.length>0&&o.push(u);continue}i.push(c)}if(e.tags)for(let c of e.tags)r.push("--tag",c);if(e.platforms)for(let c of e.platforms)r.push("--platform",c);if(e.annotations)for(let c of e.annotations)r.push("--annotation",c);e.dryRun?r.push("--dry-run"):r.push("--metadata-file",n);for(let c of o)r.push("--file",c);for(let c of i)r.push(c);let a=await this.getCreateCommand(r);if(e.skipExec){S(`[command]${a.command} ${a.args.join(" ")}`),S("Skipped create command");return}return await Ee.getExecOutput(a.command,a.args,{ignoreReturnCode:!0,silent:e.silent}).then(c=>{if(c.stderr.length>0&&c.exitCode!=0)throw new Error(c.stderr.trim());if(!e.dryRun){if(!FP.default.existsSync(n))return;let u=FP.default.readFileSync(n,{encoding:"utf-8"}).trim();if(u===""||u==="null")return;let p=JSON.parse(u),A=p["containerimage.descriptor"];return A?{digest:p["containerimage.digest"]||A.digest,descriptor:A,imageNames:p["image.name"]?p["image.name"].split(",").map(l=>l.trim()):[]}:void 0}})}async inspect(e,r,n){let o=await this.getInspectCommand([e Line truncated
${a.message}`),await new Promise(p=>setTimeout(p,Math.pow(2,c)*100))}throw a??new Error(`ImageTools inspect command failed for ${e.name}`)}async execInspect(e,r,n){return await Ee.getExecOutput(e,r,{ignoreReturnCode:!0,silent:!0}).then(o=>{if(o.stderr.length>0&&o.exitCode!=0)throw new Error(o.stderr.trim());return n(JSON.parse(o.stdout))})}static isManifestUnknownError(e){return/(MANIFEST_UNKNOWN|manifest unknown)/i.test(e)||/:\s*not found$/i.test(e)}};var bd="https://search.sigstore.dev";var nfe="slsaprovenance1",kc=class t{static{s(this,"Sigstore")}cosign;imageTools;constructor(e){this.cosign=e?.cosign||new Dr,this.imageTools=e?.imageTools||new CD}async signAttestationManifests(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign attestation manifests");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n={noTransparencyLog:e.noTransparencyLog,rekorV2:e.rekorV2},o=await this.cosignSigningConfigArgs(n);for(let i of e.imageNames){let a=await this.imageTools.attestationDigests({name:`${i}@${e.imageDigest}`,retryOnManifestUnknown:e.retryOnManifestUnknown,retryLimit:e.retryLimit});for(let c of a){let u=`${i}@${c}`;await ct(`Signing attestation manifest ${u}`,async()=>{let p=["sign","--yes","--oidc-provider","github-actions","--registry-referrers-mode","oci-1-1",...await this.bundleFormatArgs(),...o];S(`[command]${this.cosign.binPath} ${[...p,u].join(" ")}`);let A=await Ee.getExecOutput(this.cosign.binPath,["--verbose",...p,u],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),l=Dr.parseCommandOutput(A.stderr.trim());if(A.exitCode!=0)if(l.errors&&l.errors.length>0){let M=l.errors.map(z=>`- [${z.code}] ${z.message} : ${z.detail}`).join(`
`);throw new Error(`Cosign sign command failed with errors:
${M}`)}else throw new Error(`Cosign sign command failed with: ${Dr.getErrorMessage(A.stderr)}`);let b=t.parseBundle((0,fd.bundleFromJSON)(l.bundle));b.tlogID&&await this.logTransparencyUpload(b.tlogID,n),S(`Signature manifest pushed: https://oci.dag.dev/?referrers=${u}`),r[u]={...b,imageName:i}})}}}catch(n){throw new Error(`Signing BuildKit attestation manifests failed: ${n.message}`)}return r}async verifySignedManifests(e,r){let n={};for(let[o,i]of Object.entries(e))await ct(`Verifying signature of ${o}`,async()=>{let a=await this.verifyImageAttestation(o,{certificateIdentityRegexp:r.certificateIdentityRegexp,noTransparencyLog:r.noTransparencyLog||!i.tlogID,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});S(`Signature manifest verified: https://oci.dag.dev/?image=${i.imageName}@${a.signatureManifestDigest}`),n[o]=a});return n}async verifyImageAttestations(e,r){let n={},o=await this.imageTools.attestationDigests({name:e,platform:r.platform,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});if(o.length===0)throw new Error(`No attestation manifests found for ${e}`);let i=e.split(":",1)[0];for(let a of o){let c=`${i}@${a}`,u=await this.verifyImageAttestation(c,r);S(`Signature manifest verified: https://oci.dag.dev/?image=${i}@${u.signatureManifestDigest}`),n[c]=u}return n}async verifyImageAttestation(e,r){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed manifests");let n=["verify","--experimental-oci11",...await this.bundleFormatArgs(),"--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp];if(r.noTransparencyLog&&n.push("--use-signed-timestamps","--insecure-ignore-tlog"),!r.retryOnManifestUnknown){S(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);let a=await Ee.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})});if(a.exitCode!==0)throw new Error(`Cosign verify command failed with: ${Dr.getErrorMessage(a.stderr)}`);let c=Dr.parseCommandOutput(a.stderr.trim());return{cosignArgs:n,signatureManifestDigest:c.signatureManifestDigest}}let o=r.retryLimit??15,i;S(`[command]${this.cosign.binPath} ${[...n,e].join(" ")}`);for(let a=0;a<o;a++){let c=await Ee.getExecOutput(this.cosign.binPath,["--verbose",...n,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),u=Dr.parseCommandOutput(c.stderr.trim());if(c.exitCode===0)return{cosignArgs:n,signatureManifestDigest:u.signatureManifestDigest};if(u.errors&&u.errors.length>0){let p=u.errors.map(A=>`- [${A.code}] ${A.message} : ${A.detail}`).join(`
`);if(i=new Error(`Cosign verify command failed with errors:
${p}`),u.errors.some(A=>A.code==="MANIFEST_UNKNOWN"))S(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${a+1}/${o}...
${p}`),await new Promise(A=>setTimeout(A,Math.pow(2,a)*100));else throw i}else throw new Error(`Cosign verify command failed with: ${Dr.getErrorMessage(c.stderr)}`)}throw i}async signProvenanceBlobs(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign provenance blobs");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let n={noTransparencyLog:e.noTransparencyLog,rekorV2:e.rekorV2},o=await this.cosignSigningConfigArgs(n),i=t.getProvenanceBlobs(e);for(let a of Object.keys(i))await ct(`Signing ${a}`,async()=>{let c=i[a],u=ns.default.join(ns.default.dirname(a),`${e.name??"provenance"}.sigstore.json`),p=t.getProvenanceSubjects(c);if(p.length===0){s0(`No subjects found in provenance ${a}, skip signing.`);return}let A=ns.default.join(ns.default.dirname(a),p[0].name),l=["attest-blob","--yes","--oidc-provider","github-actions",...await this.bundleFormatArgs(),"--statement",a,"--type",nfe,"--bundle",u,...o];S(`[command]${this.cosign.binPath} ${[...l,A].join(" ")}`);let b=await Ee.getExecOutput(this.cosign.binPath,["--verbose",...l,A],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),M=Dr.parseCommandOutput(b.stderr.trim());if(b.exitCode!=0)if(M.errors&&M.errors.length>0){let g=M.errors.map(C=>`- [${C.code}] ${C.message} : ${C.detail}`).join(`
`);throw new Error(`Cosign attest-blob command failed with errors:
${g}`)}else throw new Error(`Cosign attest-blob command failed with: ${Dr.getErrorMessage(b.stderr)}`);let z=t.parseBundle((0,fd.bundleFromJSON)(JSON.parse(rs.default.readFileSync(u,{encoding:"utf-8"}))));S("Provenance blob signed for:");for(let g of p){let[C,E]=Object.entries(g.digest)[0]||[];S(` - ${g.name} (${C}:${E})`)}z.tlogID&&await this.logTransparencyUpload(z.tlogID,n),S(`Sigstore bundle written to: ${u}`),r[a]={...z,bundlePath:u,subjects:p}})}catch(n){throw new Error(`Signing BuildKit provenance blobs failed: ${n.message}`)}return r}async verifySignedArtifacts(e,r){let n={};if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed artifacts");for(let[o,i]of Object.entries(e)){let a=ns.default.dirname(o);await ct(`Verifying signature bundle ${i.bundlePath}`,async()=>{for(let c of i.subjects){let u=ns.default.join(a,c.name);S(`Verifying signed artifact ${u}`);let p=["verify-blob-attestation",...await this.bundleFormatArgs(),"--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp,"--type",r.predicateType??nfe];(r.noTransparencyLog||!i.tlogID)&&p.push("--use-signed-timestamps","--insecure-ignore-tlog");let A=await Ee.getExecOutput(this.cosign.binPath,[...p,"--bundle",i.bundlePath,u],{ignoreReturnCode:!0});if(A.stderr.length>0&&A.exitCode!=0)throw new Error(A.stderr);n[u]={bundlePath:i.bundlePath,cosignArgs:p}}})}return n}async verifyArtifact(e,r,n){S("Verifying keyless verification bundle signature");let o=JSON.parse(rs.default.readFileSync(r,"utf-8")),i=(0,fd.bundleFromJSON)(o);S("Fetching Sigstore TUF trusted root metadata");let a=await ife.getTrustedRoot({retry:{retries:5}}),c=(0,Md.toTrustMaterial)(a);try{S("Verifying artifact signature");let u=(0,Md.toSignedEntity)(i,rs.default.readFileSync(e)),p=t.parseCertificate(i),A=i.verificationMaterial.tlogEntries,l=A.length>0?A[0].logIndex:void 0,M=new Md.Verifier(c).verify(u,{subjectAlternativeName:n?.subjectAlternativeName,extensions:n?.issuer?{issuer:n.issuer}:void 0});return N(`Sigstore.verifyArtifact signer: ${JSON.stringify(M)}`),{payload:o,certificate:p.toString(),tlogID:l}}catch(u){throw new Error(`Failed to verify artifact signature: ${u}`)}}static noTransparencyLog(e){return e??A0.context.payload.repository?.private??!1}async cosignSigningConfigArgs(e){let r=[],n=t.noTransparencyLog(e.noTransparencyLog);if(S(`Upload to transparency log: ${n?"disabled":"enabled"}`),await this.cosign.versionSatisfies(">=3.0.4")){let o=await this.useRekorV2(e);await ct("Creating Sigstore protobuf signing config",async()=>{let i=u0.tmpName({template:"signing-config-XXXXXX.json",tmpdir:u0.tmpDir()}),a=["signing-config","create",o?"--with-default-rekor-v2=true":"--with-default-services=true",`--out=${i}`];n&&a.push("--no-default-rekor=true"),await Ee.exec(this.cosign.binPath,a,{env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),S(JSON.stringify(JSON.parse(rs.default.readFileSync(i,{encoding:"utf-8"})),null,2)),r.push(`--signing-config=${i}`)})}else r.push("--use-signing-config"),n&&r.push("--tlog-upload=false");return r}async logTransparencyUpload(e,r){if(await this.useRekorV2(r)){S(`Attestation signature uploaded to Rekor v2 transparency log with index ${e}`);return}S(`Attestation signature uploaded to Rekor transparency log: ${bd}?logIndex=${e}`)}async useRekorV2(e){return e.rekorV2===!0&&!t.noTransparencyLog(e.noTransparencyLog)&&await this.cosign.versionSatisfies(">=3.1.1")}static getProvenanceBlobs(e){let r=ns.default.join(e.localExportDir,"provenance.json");if(rs.default.existsSync(r))return{[r]:rs.default.readFileSync(r)};let n=rs.default.readdirSync(e.localExportDir,{withFileTypes:!0}),o=n.filter(i=>i.isDirectory());if(o.length>0&&o.length===n.length&&o.every(i=>rs.default.existsSync(ns.default.join(e.localExportDir,i.name,"provenance.json")))){let i={};for(let a of o){let c=ns.default.join(e.localExportDir,a.name,"provenance.json");i[c]=rs.default.readFileSync(c)}return i}throw new Error(`No valid provenance.json found in ${e.localExportDir}`)}static getProvenanceSubjects(e){return JSON.parse(e.toString()).subject.map(n=>({name:n.name,digest:n.digest}))}static parseBundle(e){let r=t.parseCertificate(e),n=e.verificationMaterial.tlogEntries,o=n.length>0?n[0].logIndex:void 0;return{payload:(0,fd.bundleToJSON)(e),certificate:r.toString(),tlogID:o}}static parseCertificate(e){let r;switch(e.verificationMaterial.content.$case){case"x509CertificateChain":r=e.verificationMaterial.content.x509CertificateChain.certificates[0].rawBytes;break;case"certificate":r=e.verificationMaterial.content.certificate.rawBytes;break;default:throw new Error("Bundle must contain an x509 certificate")}return new ofe.X509Certificate(r)}async bundleFormatArgs(){return await this.cosign.versionSatisfies(">=3.1.1")?[]:["--new-bundle-format"]}};var yD=class t{static{s(this,"Install")}standalone;githubToken;sigstore;constructor(e){this.standalone=e?.standalone,this.githubToke Line truncated
`)){let[p,...A]=u.split(":"),l=p.toLowerCase(),b=A.map(M=>M.trim()).join(":");if(p.length!=0)switch(!0){case l=="name":n=void 0,r.name==null?r.name=b:(i&&o.gcPolicy&&(o.gcPolicy.push(i),i=void 0),o.name&&r.nodes.push(o),o={name:b});break;case l=="driver":n=void 0,r.driver=b;break;case l=="last activity":n=void 0,r.lastActivity=new Date(b);break;case l=="endpoint":n=void 0,o.endpoint=b;break;case l=="driver options":n=void 0,o["driver-opts"]=(b.match(/([a-zA-Z0-9_.]+)="([^"]*)"/g)||[]).map(M=>M.replace(/^(.*)="(.*)"$/g,"$1=$2"));break;case l=="status":n=void 0,o.status=b;break;case l=="buildkit daemon flags":case l=="flags":n=void 0,o["buildkitd-flags"]=b;break;case l=="buildkit version":case l=="buildkit":n=void 0,o.buildkit=b;break;case l=="platforms":{if(n=void 0,!b)break;let M=[];if(b.includes("*"))for(let z of b.split(", "))z.includes("*")&&M.push(z.replace(/\*/g,""));else M=b.split(", ");o.platforms=M.join(",");break}case l=="features":n="features",o.features={};break;case l=="labels":n="label",o.labels={};break;case l=="devices":n="devices",o.devices=o.devices||[];break;case l.startsWith("gc policy rule#"):n="gcpolicy",o.gcPolicy&&i&&(o.gcPolicy.push(i),i=void 0);break;case l.startsWith("file#"):n="file",c=p.split("#")[1],o.files=o.files||{},o.files[c]="";break;default:switch(n&&n!=="devices"&&o.devices&&a&&(o.devices.push(a),a=void 0),n||""){case"features":{o.features=o.features||{},o.features[p.trim()]=!!b;break}case"label":{o.labels=o.labels||{},o.labels[p.trim()]=b;break}case"devices":{switch(l.trim()){case"name":{o.devices&&a&&o.devices.push(a),a={},a.name=b;break}case"on-demand":{a&&b&&(a.onDemand=b=="true");break}case"automatically allowed":{a&&b&&(a.autoAllow=b=="true");break}case"annotations":{a&&(a.annotations=a.annotations||{});break}default:a&&a.annotations&&(a.annotations[p.trim()]=b)}break}case"gcpolicy":{switch(o.gcPolicy=o.gcPolicy||[],i=i||{},l.trim()){case"all":{i.all=b=="true";break}case"filters":{b&&(i.filter=b.split(","));break}case"keep duration":{i.keepDuration=b;break}case"keep bytes":{i.keepBytes=b;break}case"reserved space":{i.reservedSpace=b;break}case"max used space":{i.maxUsedSpace=b;break}case"min free space":{i.minFreeSpace=b;break}}break}case"file":{c&&o.files&&(o.files[c].length>0&&(o.files[c]+=`
`),o.files[c]+=u.replace(/^\s>\s?/,""));break}}}}return a&&o.devices&&o.devices.push(a),i&&o.gcPolicy&&o.gcPolicy.push(i),o.name&&r.nodes.push(o),r}};var sfe=w(Un(),1);var BD=w(require("fs"),1);var DD=class{static{s(this,"Config")}resolveFromString(e){return this.resolve(e,!1)}resolveFromFile(e){return this.resolve(e,!0)}resolve(e,r){if(r){if(!BD.default.existsSync(e))throw new Error(`config file ${e} not found`);e=BD.default.readFileSync(e,{encoding:"utf-8"})}let n=u0.tmpName({tmpdir:u0.tmpDir()});return BD.default.writeFileSync(n,e),n}};var qD=class{static{s(this,"BuildKit")}buildx;config;constructor(e){this.config=new DD,this.buildx=e?.buildx||new O0}async getVersion(e){if(!e.buildkit&&e.name)try{return await this.getVersionWithinImage(e.name)}catch(r){s0(r)}return e.buildkit}async getVersionWithinImage(e){return N(`BuildKit.getVersionWithinImage nodeName: ${e}`),Bt.getExecOutput(["inspect","--format","{{.Config.Image}}",`${O0.containerNamePrefix}${e}`],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.exitCode==0&&r.stdout.length>0)return N(`BuildKit.getVersionWithinImage image: ${r.stdout.trim()}`),Bt.getExecOutput(["run","--rm",r.stdout.trim(),"--version"],{ignoreReturnCode:!0,silent:!0}).then(n=>{if(n.exitCode==0&&n.stdout.length>0)return`${r.stdout.trim()} => ${n.stdout.trim()}`;if(n.stderr.length>0)throw new Error(r.stderr.trim());return n.stdout.trim()});if(r.stderr.length>0)throw new Error(r.stderr.trim());return r.stdout.trim()})}async versionSatisfies(e,r,n){n||(n=await new hd({buildx:this.buildx}).inspect(e));for(let o of n.nodes){let i=o.buildkit;if(N(`BuildKit.versionSatisfies ${i}: ${r}`),!i)try{i=await this.getVersionWithinImage(o.name||"")}catch{return N(`BuildKit.versionSatisfies ${o.name}: can't get version`),!1}if(N(`BuildKit.versionSatisfies ${o.name}: version ${i}`),n.driver=="docker"&&!i.endsWith("-moby")||!sfe.satisfies(i.replace(/-moby$/,""),r))return!1}return!0}};var ID=class t{static{s(this,"Compose")}_version;_versionOnce;_standalone;constructor(e){this._standalone=e?.standalone,this._version="",this._versionOnce=!1}async isStandalone(){let e=this._standalone??!await Bt.isAvailable();return N(`Compose.isStandalone: ${e}`),e}async getCommand(e){let r=await this.isStandalone();return{command:r?"compose":"docker",args:r?e:["compose",...e]}}async isAvailable(){let e=await this.getCommand([]),r=await Ee.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(n=>n.stderr.length>0&&n.exitCode!=0?(N(`Compose.isAvailable cmd err: ${n.stderr.trim()}`),!1):n.exitCode==0).catch(n=>(N(`Compose.isAvailable error: ${n}`),!1));return N(`Compose.isAvailable: ${r}`),r}async version(){if(this._versionOnce)return this._version;this._versionOnce=!0;let e=await this.getCommand(["version"]);return this._version=await Ee.getExecOutput(e.command,e.args,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr.trim());return t.parseVersion(r.stdout.trim())}),this._version}async printVersion(){let e=await this.getCommand(["version"]);await Ee.exec(e.command,e.args,{failOnStdErr:!1})}static parseVersion(e){let r=/\sv?([0-9a-f]{7}|[0-9.]+)/.exec(e);if(!r)throw new Error("Cannot parse compose version");return r[1]}};var za=w(require("fs"),1),is=w(require("os"),1),zd=w(require("path"),1);var ND=w(Un(),1),xP=w(require("util"),1);var RD=class t{static{s(this,"Install")}standalone;githubToken;constructor(e){this.standalone=e?.standalone,this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN}async download(e,r){let n=await t.getDownloadVersion(e);N(`Install.download version: ${n.version}`);let o=await t.getRelease(n,this.githubToken);N(`Install.download release tag name: ${o.tag_name}`);let i=await this.vspec(o.tag_name);N(`Install.download vspec: ${i}`);let a=ND.clean(i)||"";if(!ND.valid(a))throw new Error(`Invalid Compose version "${i}".`);let c=new nt({htcName:n.key!="official"?`compose-dl-bin-${n.key}`:"compose-dl-bin",htcVersion:i,baseCacheDir:zd.default.join(is.default.homedir(),".bin","docker-compose"),cacheFile:is.default.platform()=="win32"?"docker-compose.exe":"docker-compose",ghaNoCache:r}),u=await c.find();if(u)return S(`Compose binary found in ${u}`),u;let p=xP.format(n.downloadURL,i,this.filename());S(`Downloading ${p}`);let A=await Cn(p,void 0,this.githubToken);N(`Install.download htcDownloadPath: ${A}`);let l=await c.save(A);return S(`Cached to ${l}`),l}async installStandalone(e,r){S("Standalone mode"),r=r||u0.tmpDir();let n=zd.default.join(r,"compose-bin-standalone");za.default.existsSync(n)||za.default.mkdirSync(n,{recursive:!0});let o=is.default.platform()=="win32"?"compose.exe":"compose",i=zd.default.join(n,o);return za.default.copyFileSync(e,i),S("Fixing perms"),za.default.chmodSync(i,"0755"),ri(n),S("Added Compose to PATH"),S(`Binary path: ${i}`),i}async installPlugin(e,r){S("Docker plugin mode"),r=r||Bt.configDir;let n=zd.default.join(r,"cli-plugins");za.default.existsSync(n)||za.default.mkdirSync(n,{recursive:!0});let o=is.default Line truncated
# syntax=docker/dockerfile:1
ARG GO_VERSION="1.24"
ARG ALPINE_VERSION="3.22"
FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.7.0 AS xx
FROM --platform=$BUILDPLATFORM golang:\${GO_VERSION}-alpine\${ALPINE_VERSION} AS builder-base
COPY --from=xx / /
RUN apk add --no-cache git
ENV GOTOOLCHAIN=auto
ENV CGO_ENABLED=0
WORKDIR /src
RUN --mount=type=cache,target=/go/pkg/mod \\
--mount=type=bind,source=go.mod,target=go.mod \\
--mount=type=bind,source=go.sum,target=go.sum \\
go mod download
FROM builder-base AS version
RUN --mount=type=bind,target=. <<'EOT'
git rev-parse HEAD 2>/dev/null || {
echo >&2 "Failed to get git revision, make sure --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 is set when building from Git directly"
exit 1
}
set -ex
export PKG=sigs.k8s.io BUILDDATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") TREESTATE=$(if ! git diff --no-ext-diff --quiet --exit-code; then echo dirty; else echo clean; fi) VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) COMMIT=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi);
echo "-X \${PKG}/release-utils/version.gitVersion=\${VERSION} -X \${PKG}/release-utils/version.gitCommit=\${COMMIT} -X \${PKG}/release-utils/version.gitTreeState=\${TREESTATE} -X \${PKG}/release-utils/version.buildDate=\${BUILDDATE}" > /tmp/.ldflags;
echo -n "\${VERSION}" > /tmp/.version;
EOT
FROM builder-base AS builder
ARG TARGETPLATFORM
RUN --mount=type=bind,target=. \\
--mount=type=cache,target=/root/.cache,id=cosign-$TARGETPLATFORM \\
--mount=source=/tmp/.ldflags,target=/tmp/.ldflags,from=version \\
--mount=type=cache,target=/go/pkg/mod <<EOT
set -ex
xx-go build -trimpath -ldflags "-s -w $(cat /tmp/.ldflags)" -o /out/cosign ./cmd/cosign
xx-verify --static /out/cosign
EOT
FROM scratch
COPY --from=builder /out /
`;var wD=class t{static{s(this,"Install")}githubToken;buildx;sigstore;constructor(e){this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.buildx=e?.buildx||new O0,this.sigstore=e?.sigstore||new kc}async download(e){let r=await t.getDownloadVersion(e.version);N(`Install.download version: ${r.version}`);let n=await t.getRelease(r,this.githubToken);N(`Install.download release tag name: ${n.tag_name}`);let o=await this.vspec(n.tag_name);N(`Install.download vspec: ${o}`);let i=Od.clean(o)||"";if(!Od.valid(i))throw new Error(`Invalid Cosign version "${o}".`);let a=new nt({htcName:"cosign-dl-bin",htcVersion:o,baseCacheDir:gd.default.join(Wo.default.homedir(),".bin"),cacheFile:Wo.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:e.ghaNoCache}),c=await a.find();if(c)return S(`Cosign binary found in ${c}`),c;let u=TP.format(r.downloadURL,o,this.filename());S(`Downloading ${u}`);let p=await Cn(u,void 0,this.githubToken);N(`Install.download htcDownloadPath: ${p}`),e.verifySignature&&Od.satisfies(o,">=3.0.1")&&await this.verifySignature(p,u);let A=await a.save(p,e.skipState);return S(`Cached to ${A}`),A}async build(e,r,n){let o=await this.vspec(e);N(`Install.build vspec: ${o}`);let i=new nt({htcName:"cosign-build-bin",htcVersion:o,baseCacheDir:gd.default.join(Wo.default.homedir(),".bin"),cacheFile:Wo.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:r}),a=await i.find();if(a)return S(`Cosign binary found in ${a}`),a;let c=gd.default.join(u0.tmpDir(),"cosign-build-cache"),u=await this.buildCommand(e,c),p=await Ee.getExecOutput(u.command,u.args,{ignoreReturnCode:!0,input:Buffer.from(afe)}).then(l=>{if(l.stderr.length>0&&l.exitCode!=0)throw new Error(`build failed with: ${O0.getErrorMessage(l.stderr)}`);return`${c}/cosign`}),A=await i.save(p,n);return S(`Cached to ${A}`),A}async install(e,r){r=r||u0.tmpDir();let n=gd.default.join(r,"cosign-bin");Km.default.existsSync(n)||Km.default.mkdirSync(n,{recursive:!0});let o=Wo.default.platform()=="win32"?"cosign.exe":"cosign",i=gd.default.join(n,o);return Km.default.copyFileSync(e,i),S("Fixing perms"),Km.default.chmodSync(i,"0755"),ri(n),S("Added Cosign to PATH"),S(`Binary path: ${i}`),i}async buildCommand(e,r){let n=await new O0({standalone:!0}).isAvailable(),o=await new O0({standalone:!1}).isAvailable(),i=!1;if(await this.buildx.isStandalone()&&n)N("Install.buildCommand: Buildx standalone found, build with it"),i=!0;else if(!await this.buildx.isStandalone()&&o)N("Install.buildCommand: Buildx plugin found, build with it"),i=!1;else if(n)N("Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it"),i=!0;else if(o)N("Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it"),i=!1;else throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${e}`);let a=["build","--platform","local","--build-arg","BUILDKIT_CONTEXT_KEEP_GIT_DIR=1","--output",`type=local,dest=${r}`];return process.env.GIT_AUTH_TOKEN&&a.push("--secret","id=GIT_AUTH_TOKEN"),a.push("-f-",e),await new O0({standalone:i}).getCommand(a)}async verifySignature(e,r){let n=`${r}.sigstore.json`;S(`Downloading keyless verification bundle at ${n}`);let o=await Cn(n,void 0,this.githubToken);N(`Install.verifySignature bundlePath: ${o}`);let i=await this.sigstore.verifyArtifact(e,o,{subjectAlternativeName:"keyless@projectsigstore.iam.gserviceaccount.com",issuer:"https://accounts.google.com"});S(`Cosign binary signature verified! ${i.tlogID?`${bd}?logIndex=${i.tlogID}`:""}`)}filename(){let e;switch(Wo.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=Wo.default.arch();break}}let r=Wo.default.platform()=="win32"?"windows":Wo.default.platform(),n=Wo.default.platform()=="win32"?".exe":"";return TP.format("cosign-%s-%s%s",r,e,n)}async vspec(e){if(!l0.isValidRef(e)){let p=e.replace(/^v+|v+$/g,"");return S(`Use ${p} version spec cache key for ${e}`),p}let[r,n]=e.split("#");n.length==0&&(n="master");let o;n.match(/^[0-9a-fA-F]{40}$/)?o=n:o=await Aa.remoteSha(r,n,process.env.GIT_AUTH_TOKEN);let[i,a]=r.substring(19).split("/"),c=`${i}/${l0.trimSuffix(a,".git")}/${o}`,u=l0.hash(c);return S(`Use ${u} version spec cache key for ${c}`),u}static async getDownloadVersion(e){return{version:e,downloadURL:"https://github.com/sigstore/cosign/releases/download/v%s/%s",contentOpts:{owner:"docker",repo:"actions-toolkit",ref:"main",path:".github/cosign-releases.json"}}}static async getRelease(e,r){let o=await new A0({token:r}).releases("Cosign",e.contentOpts);if(!o[e.version])throw new Error(`Cannot find Cosign release ${e.version} in releases JSON`);return o[e.version]}};var cfe=w(Un(),1);var SD=class{static{s(this,"Regctl")}binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"regctl",this._version="",this._versionOnce=!1}async blobGet(e){return await Ee.getExecOutput(this.binPath,["blob","get",e.repository,e.digest],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stder Line truncated
`,sepLabels:Ur("sep-labels",{trimWhitespace:!1})||`
`,sepAnnotations:Ur("sep-annotations",{trimWhitespace:!1})||`
`,bakeTarget:Ur("bake-target")||"docker-metadata-action",githubToken:Ur("github-token")}}s(Afe,"getInputs");async function lfe(t,e){if(t.startsWith("git:"))return await pfe(t.slice(4));switch(t){case"workflow":return await Id0(e);case"git":return await pfe();default:throw new Error(`Invalid context source: ${t}`)}}s(lfe,"getContext");async function Id0(t){let e=A0.context;return/pull_request_target/.test(e.eventName)&&(e.ref=`refs/pull/${e.payload.number}/merge`),/true/i.test(process.env.DOCKER_METADATA_PR_HEAD_SHA||"")&&(/pull_request/.test(e.eventName)||/pull_request_target/.test(e.eventName))&&e.payload?.pull_request?.head?.sha!=null&&(e.sha=e.payload.pull_request.head.sha),{commitDate:await Rd0(e.sha,t),...e}}s(Id0,"getContextFromWorkflow");async function pfe(t){let e=await Aa.context(t);return{commitDate:await Aa.commitDate(e.sha,t),...e}}s(pfe,"getContextFromGit");async function Rd0(t,e){let r=A0.context.payload;if(r.commits){let n=r.commits.find(o=>o.id===t)?.timestamp;if(n)return new Date(n)}if(r.head_commit&&r.head_commit.id===t)return new Date(r.head_commit.timestamp);try{let n=await e.github.octokit.rest.repos.getCommit({owner:A0.context.repo.owner,repo:A0.context.repo.repo,ref:t});if(n.data.commit.committer?.date)return new Date(n.data.commit.committer.date);throw new Error("Committer date not found")}catch(n){return N(`Failed to get commit date from GitHub API: ${n.message}`),new Date}}s(Rd0,"getCommitDateFromWorkflow");var Ia=w(eQ(),1),cBe=w(require("fs"),1),uBe=w(require("path"),1),Yh=w(hfe(),1),An=w(Z4e(),1),Pd=w(Un(),1);var Ye=class t extends Error{static{s(this,"CsvError")}constructor(e,r,n,...o){Array.isArray(r)&&(r=r.join(" ").trim()),super(r),Error.captureStackTrace!==void 0&&Error.captureStackTrace(this,t),this.code=e;for(let i of o)for(let a in i){let c=i[a];this[a]=Buffer.isBuffer(c)?c.toString(n.encoding):c==null?c:JSON.parse(JSON.stringify(c))}}};var Jh=s(function(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)},"is_object");var wq=s(function(t){let e=[];for(let r=0,n=t.length;r<n;r++){let o=t[r];if(o==null||o===!1)e[r]={disabled:!0};else if(typeof o=="string"||typeof o=="number")e[r]={name:`${o}`};else if(Jh(o)){if(typeof o.name!="string")throw new Ye("CSV_OPTION_COLUMNS_MISSING_NAME",["Option columns missing name:",`property "name" is required at position ${r}`,"when column is an object literal"]);e[r]=o}else throw new Ye("CSV_INVALID_COLUMN_DEFINITION",["Invalid column definition:","expect a string or a literal object,",`got ${JSON.stringify(o)} at position ${r}`])}return e},"normalize_columns_array");var iU=class{static{s(this,"ResizeableBuffer")}constructor(e=100){this.size=e,this.length=0,this.buf=Buffer.allocUnsafe(e)}prepend(e){if(Buffer.isBuffer(e)){let r=this.length+e.length;if(r>=this.size&&(this.resize(),r>=this.size))throw Error("INVALID_BUFFER_STATE");let n=this.buf;this.buf=Buffer.allocUnsafe(this.size),e.copy(this.buf,0),n.copy(this.buf,e.length),this.length+=e.length}else{let r=this.length++;r===this.size&&this.resize();let n=this.clone();this.buf[0]=e,n.copy(this.buf,1,0,r)}}append(e){let r=this.length++;r===this.size&&this.resize(),this.buf[r]=e}clone(){return Buffer.from(this.buf.slice(0,this.length))}resize(){let e=this.length;this.size=this.size*2;let r=Buffer.allocUnsafe(this.size);this.buf.copy(r,0,0,e),this.buf=r}toString(e){return e?this.buf.toString(e,0,this.length):Uint8Array.prototype.slice.call(this.buf.slice(0,this.length))}toJSON(){return this.toString("utf8")}reset(){this.length=0}},sU=iU;var eBe=s(function(t){let e=[32,9,10,13,12,11,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288,65279].reduce((n,o)=>{let i=Buffer.from(String.fromCharCode(o),t.encoding);return o!==63&&i.length===1&&i[0]===63||n.push(i),n},[]),r=new Uint8Array(256);for(let n of e)r[n[0]]=1;return{bomSkipped:!1,bufBytesStart:0,castField:t.cast_function,commenting:!1,delimiterBufPrevious:void 0,delimiterDiscovered:!1,error:void 0,enabled:t.from_line===1,escaping:!1,escapeIsQuote:Buffer.isBuffer(t.escape)&&Buffer.isBuffer(t.quote)&&Buffer.compare(t.escape,t.quote)===0,expectedRecordLength:Array.isArray(t.columns)?t.columns.length:void 0,field:new sU(20),firstLineToHeaders:t.cast_first_line_to_header,needMoreDataSize:Math.max(t.comment!==null?t.comment.length:0,...t.delimiter?t.delimiter.map(n=>n.length):[],t.delimiter_auto?1:0,t.quote!==null?t.quote.length:0,...e.map(n=>n.length)),previousBuf:void 0,quoting:!1,stop:!1,rawBuffer:new sU(100),record:[],recordHasError:!1,record_length:0,recordDelimiterMaxLength:t.record_delimiter.length===0?0:Math.max(...t.record_delimiter.map(n=>n.length)),trimChars:[Buffer.from(" ",t.encoding)[0],Buffer.from(" ",t.encoding)[0]],wasQuoting:!1,wasRowDelimiter:!1,timchars:e,timcharFirstBytes:r}},"init_state");var tBe=s(function(t){return t.replace(/([A-Z])/g,function(e,r){return"_"+r.toLowerCase()})},"underscore");var _d=s(function(t){let e={};for(let n in t)e[tBe(n)]=t[n];if(e.encoding===void 0||e.encodi Line truncated
`,a).length:l,p?(c===null?0:c.length)+u.length:0,p?u.length+l:0);return b<M},"__needMoreData"),parse:s(function(n,o,i,a){let{bom:c,comment_no_infix:u,delimiter_auto:p,encoding:A,from_line:l,ltrim:b,max_record_size:M,raw:z,relax_quotes:g,rtrim:C,skip_empty_lines:E,to:B,to_line:D}=this.options,{comment:q,escape:x,quote:W,record_delimiter:_}=this.options,{bomSkipped:ae,delimiterDiscovered:Se,delimiterBufPrevious:xe,rawBuffer:Ne,escapeIsQuote:Ce}=this.state;if(!Se&&p){let j;if(xe===void 0?j=n:xe!==void 0&&n===void 0?j=xe:j=Buffer.concat([xe,n]),n=void 0,o||j.length>p.size)this.options.delimiter=[Buffer.from(rBe(j,this.options.delimiter_auto))],this.state.previousBuf=j,this.state.delimiterBufPrevious=void 0,this.state.delimiterDiscovered=!0;else{this.state.delimiterBufPrevious=j;return}}let{previousBuf:we}=this.state,k;if(we===void 0)if(n===void 0){a();return}else k=n;else we!==void 0&&n===void 0?k=we:k=Buffer.concat([we,n]);if(ae===!1)if(c===!1)this.state.bomSkipped=!0;else if(k.length<3){if(o===!1){this.state.previousBuf=k;return}}else{for(let j in Qd)if(Qd[j].compare(k,0,Qd[j].length)===0){let $e=Qd[j].length;this.state.bufBytesStart+=$e,k=k.slice($e);let m1=_d({...this.original_options,encoding:j});for(let ze in m1)this.options[ze]=m1[ze];({comment:q,escape:x,quote:W}=this.options);break}this.state.bomSkipped=!0}let Te=k.length,T;for(T=0;T<Te&&!this.__needMoreData(T,Te,o);T++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),D!==-1&&this.info.lines>D){this.state.stop=!0,a();return}this.state.quoting===!1&&_.length===0&&this.__autoDiscoverRecordDelimiter(k,T)&&(_=this.options.record_delimiter);let j=k[T];if(z===!0&&Ne.append(j),(j===zB0||j===gB0)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(x!==null&&this.state.quoting===!0&&this.__isEscape(k,T,j)&&T+x.length<Te)if(Ce){if(this.__isQuote(k,T+x.length)){this.state.escaping=!0,T+=x.length-1;continue}}else{this.state.escaping=!0,T+=x.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(k,T))if(this.state.quoting===!0){let ze=k[T+W.length],I0=C&&this.__isCharTrimable(k,T+W.length),je=q!==null&&this.__compareBytes(q,k,T+W.length,ze),X=this.__isDelimiter(k,T+W.length,ze),Rt=_.length===0?this.__autoDiscoverRecordDelimiter(k,T+W.length):this.__isRecordDelimiter(ze,k,T+W.length);if(x!==null&&this.__isEscape(k,T,j)&&this.__isQuote(k,T+x.length))T+=x.length-1;else if(!ze||X||Rt||je||I0){this.state.quoting=!1,this.state.wasQuoting=!0,T+=W.length-1;continue}else if(g===!1){let Nt=this.__error(new Ye("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(ze)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(Nt!==void 0)return Nt}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(W),T+=W.length-1}else if(this.state.field.length!==0){if(g===!1){let ze=this.__infoField(),I0=Object.keys(Qd).map(X=>Qd[X].equals(this.state.field.toString())?X:!1).filter(Boolean)[0],je=this.__error(new Ye("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(ze.column)} at line ${ze.lines}, value is ${JSON.stringify(this.state.field.toString(A))}`,I0?`(${I0} bom)`:void 0],this.options,ze,{field:this.state.field}));if(je!==void 0)return je}}else{this.state.quoting=!0,T+=W.length-1;continue}if(this.state.quoting===!1){let ze=this.__isRecordDelimiter(j,k,T);if(ze!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=l){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),T+=ze-1;continue}if(E===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,T+=ze-1;continue}this.info.bytes=this.state.bufBytesStart+T;let X=this.__onField();if(X!==void 0)return X;this.info.bytes=this.state.bufBytesStart+T+ze;let Rt=this.__onRecord(i);if(Rt!==void 0)return Rt;if(B!==-1&&this.info.records>=B){this.state.stop=!0,a();return}}this.state.commenting=!1,T+=ze-1;continue}if(this.state.commenting)continue;if(q!==null&&(u===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(q,k,T,j)!==0){this.state.commenting=!0;continue}let I0=this.__isDelimiter(k,T,j);if(I0!==0){this.info.bytes=this.state.bufBytesStart+T;let je=this.__onField();if(je!==void 0)return je;T+=I0-1;continue}}}if(this.state.commenting===!1&&M!==0&&this.state.record_length+this.state.field.length>M)return this.__error(new Ye("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${M}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let $e=b===!1||this.state.quoting===!0||this.state.field.length!==0||!thi Line truncated
`,i),Buffer.from(`
`,i),Buffer.from("\r",i)];e:for(let c=0;c<a.length;c++){let u=a[c].length;for(let p=0;p<u;p++)if(a[c][p]!==n[o+p])continue e;return this.options.record_delimiter.push(a[c]),this.state.recordDelimiterMaxLength=a[c].length,a[c].length}return 0},"__autoDiscoverRecordDelimiter"),__error:s(function(n){let{encoding:o,raw:i,skip_records_with_error:a}=this.options,c=typeof n=="string"?new Error(n):n;if(a){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(c,i?this.state.rawBuffer.toString(o):void 0)}catch(u){return u}return}else return c},"__error"),__infoDataSet:s(function(){return{...this.info,columns:this.options.columns}},"__infoDataSet"),__infoRecord:s(function(){let{columns:n,raw:o,encoding:i}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:n===!0,index:this.state.record.length,raw:o?this.state.rawBuffer.toString(i):void 0}},"__infoRecord"),__infoField:s(function(){let{columns:n}=this.options,o=Array.isArray(n),i=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:i,column:o===!0?n.length>this.state.record.length?n[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}},"__infoField")}},"transform");var iA=s(function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?Object.create(null):[],n=Sq(e),o=s(c=>{n.options.objname===void 0?r.push(c):r[c[0]]=c[1]},"push"),i=s(()=>{},"close"),a=n.parse(t,!0,o,i);if(a!==void 0)throw a;return r},"parse");function iBe(t){let e=[];if(t.length==1){let r=!1,n=iA(t[0],{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let o of n){let i=o.toString().split("=").map(a=>a.trim());if(i.length==1)e.push({name:i[0],enable:!0});else{r=!0;break}}if(!r)return oBe(e)}e=[];for(let r of t){let n={name:"",enable:!0},o=iA(r,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let i of o){let a=i.toString().split("=").map(c=>c.trim());if(a.length==1)n.name=a[0];else{let c=a[0].toLowerCase(),u=a[1];switch(c){case"name":{n.name=u;break}case"enable":{if(!["true","false"].includes(u))throw new Error(`Invalid enable attribute value: ${r}`);n.enable=/true/i.test(u);break}default:throw new Error(`Unknown image attribute: ${r}`)}}}if(n.name.length==0)throw new Error(`Image name attribute empty: ${r}`);e.push(n)}return oBe(e)}s(iBe,"Transform");function oBe(t){Ru("Processing images input");for(let e of t)S(`name=${e.name},enable=${e.enable}`);return Nu(),t}s(oBe,"output");var cU=(u=>(u.Schedule="schedule",u.Semver="semver",u.Pep440="pep440",u.Match="match",u.Edge="edge",u.Ref="ref",u.Raw="raw",u.Sha="sha",u))(cU||{}),Fq=(n=>(n.Branch="branch",n.Tag="tag",n.PR="pr",n))(Fq||{}),Wq=(r=>(r.Short="short",r.Long="long",r))(Wq||{}),aU=class{static{s(this,"Tag")}type;attrs;constructor(){this.attrs={}}toString(){let e=[`type=${this.type}`];for(let r in this.attrs)e.push(`${r}=${this.attrs[r]}`);return e.join(",")}},EB0={schedule:"1000",semver:"900",pep440:"900",match:"800",edge:"700",ref:"600",raw:"200",sha:"100"};function sBe(t){let e=[];t.length==0&&(t=["type=schedule","type=ref,event=branch","type=ref,event=tag","type=ref,event=pr"]);for(let n of t)e.push(CB0(n));let r=e.sort((n,o)=>Number(n.attrs.priority)<Number(o.attrs.priority)?1:Number(n.attrs.priority)>Number(o.attrs.priority)?-1:0);Ru("Processing tags input");for(let n of r)S(n.toString());return Nu(),r}s(sBe,"Transform");function CB0(t){let e=iA(t,{relaxColumnCount:!0,skipEmptyLines:!0})[0],r=new aU;for(let n of e){let o=n.toString().split(/(?<=^[^=]+?)=/).map(i=>i.trim());if(o.length==1)r.attrs.value=o[0];else{let i=o[0].toLowerCase(),a=o[1];switch(i){case"type":{if(!Object.values(cU).includes(a))throw new Error(`Unknown tag type attribute: ${a}`);r.type=a;break}default:{r.attrs[i]=a;break}}}}switch(r.type==null&&(r.type="raw"),r.type){case"schedule":{Object.prototype.hasOwnProperty.call(r.attrs,"pattern")||(r.attrs.pattern="nightly");break}case"semver":case"pep440":{if(!Object.prototype.hasOwnProperty.call(r.attrs,"pattern"))throw new Error(`Missing pattern attribute for ${t}`);Object.prototype.hasOwnProperty.call(r.attrs,"value")||(r.attrs.value=""),Object.prototype.hasOwnProperty.call(r.attrs,"match")||(r.attrs.match="");break}case"match":{if(!Object.prototype.hasOwnProperty.call(r.attrs,"pattern"))throw new Error(`Missing pattern attribute for ${t}`);if(Object.prototype.hasOwnProperty.call(r.attrs,"group")||(r.attrs.group="0"),isNaN(+r.attrs.group))throw new Error(`Invalid match group for ${t}`);Object.prototype.hasOwnProperty.call(r.attrs,"value")||(r.attrs.value="");break}case"edge":{Object.prototype.hasOwnProperty.call(r.attrs,"branch")||(r.attrs.branch="");break}case"ref":{if(!Object.prototype.hasOwnProperty.call(r.attrs,"event"))throw new Error(`Missing event attribute for ${t}`);if(!Object.keys(Fq).map(n=>Fq[n]).includes(r.attrs.event))throw new Error(`Invalid event for ${t}`);r.attrs.event=="pr"&&!Object.prototype.hasOwnProperty.call(r.attrs,"prefix")&&(r.attrs.prefix="pr-");break}case" Line truncated
/*! Bundled license information:
undici/lib/web/fetch/body.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
tmp/lib/tmp.js:
(*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*)
moment/moment.js:
(*! moment.js *)
(*! version : 2.30.1 *)
(*! authors : Tim Wood, Iskren Chernev, Moment.js contributors *)
(*! license : MIT *)
(*! momentjs.com *)
moment-timezone/moment-timezone.js:
(*! moment-timezone.js *)
(*! version : 0.6.3 *)
(*! Copyright (c) JS Foundation and other contributors *)
(*! license : MIT *)
(*! github.com/moment/moment-timezone *)
xregexp/lib/xregexp.js:
(*!
* XRegExp 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2007-present MIT License
*)
xregexp/lib/addons/build.js:
(*!
* XRegExp.build 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
*)
xregexp/lib/addons/matchrecursive.js:
(*!
* XRegExp.matchRecursive 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2009-present MIT License
*)
xregexp/lib/addons/unicode-base.js:
(*!
* XRegExp Unicode Base 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2008-present MIT License
*)
xregexp/lib/addons/unicode-blocks.js:
(*!
* XRegExp Unicode Blocks 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
xregexp/lib/addons/unicode-categories.js:
(*!
* XRegExp Unicode Categories 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
xregexp/lib/addons/unicode-properties.js:
(*!
* XRegExp Unicode Properties 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
xregexp/lib/addons/unicode-scripts.js:
(*!
* XRegExp Unicode Scripts 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*)
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
//# sourceMappingURL=index.cjs.map
Generated Vendored
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../node_modules/tunnel/lib/tunnel.js", "../node_modules/tunnel/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/constants.js", "../node_modules/undici/lib/core/tree.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/core/diagnostics.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher/dispatcher.js", "../node_modules/undici/lib/dispatcher/dispatcher-base.js", "../node_modules/undici/lib/util/timers.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/lib/llhttp/utils.js", "../node_modules/undici/lib/llhttp/constants.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/web/fetch/constants.js", "../node_modules/undici/lib/web/fetch/global.js", "../node_modules/undici/lib/web/fetch/data-url.js", "../node_modules/undici/lib/web/fetch/webidl.js", "../node_modules/undici/lib/web/fetch/util.js", "../node_modules/undici/lib/web/fetch/symbols.js", "../node_modules/undici/lib/web/fetch/file.js", "../node_modules/undici/lib/web/fetch/formdata.js", "../node_modules/undici/lib/web/fetch/formdata-parser.js", "../node_modules/undici/lib/web/fetch/body.js", "../node_modules/undici/lib/dispatcher/client-h1.js", "../node_modules/undici/lib/dispatcher/client-h2.js", "../node_modules/undici/lib/handler/redirect-handler.js", "../node_modules/undici/lib/interceptor/redirect-interceptor.js", "../node_modules/undici/lib/dispatcher/client.js", "../node_modules/undici/lib/dispatcher/fixed-queue.js", "../node_modules/undici/lib/dispatcher/pool-stats.js", "../node_modules/undici/lib/dispatcher/pool-base.js", "../node_modules/undici/lib/dispatcher/pool.js", "../node_modules/undici/lib/dispatcher/balanced-pool.js", "../node_modules/undici/lib/dispatcher/agent.js", "../node_modules/undici/lib/dispatcher/proxy-agent.js", "../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js", "../node_modules/undici/lib/handler/retry-handler.js", "../node_modules/undici/lib/dispatcher/retry-agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/decorator-handler.js", "../node_modules/undici/lib/interceptor/redirect.js", "../node_modules/undici/lib/interceptor/retry.js", "../node_modules/undici/lib/interceptor/dump.js", "../node_modules/undici/lib/interceptor/dns.js", "../node_modules/undici/lib/web/fetch/headers.js", "../node_modules/undici/lib/web/fetch/response.js", "../node_modules/undici/lib/web/fetch/dispatcher-weakref.js", "../node_modules/undici/lib/web/fetch/request.js", "../node_modules/undici/lib/web/fetch/index.js", "../node_modules/undici/lib/web/fileapi/symbols.js", "../node_modules/undici/lib/web/fileapi/progressevent.js", "../node_modules/undici/lib/web/fileapi/encoding.js", "../node_modules/undici/lib/web/fileapi/util.js", "../node_modules/undici/lib/web/fileapi/filereader.js", "../node_modules/undici/lib/web/cache/symbols.js", "../node_modules/undici/lib/web/cache/util.js", "../node_modules/undici/lib/web/cache/cache.js", "../node_modules/undici/lib/web/cache/cachestorage.js", "../node_modules/undici/lib/web/cookies/constants.js", "../node_modules/undici/lib/web/cookies/util.js", "../node_modules/undici/lib/web/cookies/parse.js", "../node_modules/undici/lib/web/cookies/index.js", "../node_modules/undici/lib/web/websocket/events.js", "../node_modules/undici/lib/web/websocket/constants.js", "../node_modules/undici/lib/web/websocket/symbols.js", "../node_modules/undici/lib/web/websocket/util.js", "../node_modules/undici/lib/web/websocket/frame.js", "../node_modules/undici/lib/web/websocket/connection.js", "../node_modules/undici/lib/web/websocket/permessage-deflate.js", "../node_modules/undici/lib/web/websocket/receiver.js", "../node_modules/undici/lib/web/websocket/sender.js", "../node_modules/undici/lib/web/websocket/websocket.js", "../node_modules/undici/lib/web/eventsource/util.js", "../node_modules/undici/lib/web/eventsource/eventsource-stream.js",Line truncated
"sourcesContent": ["'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('Line truncated
"mappings": "ipBAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,IAAM,QAAQ,KAAK,EACnBC,IAAM,QAAQ,KAAK,EACnBC,GAAO,QAAQ,MAAM,EACrBC,GAAQ,QAAQ,OAAO,EACvBC,IAAS,QAAQ,QAAQ,EACzBC,IAAS,QAAQ,QAAQ,EACzBC,IAAO,QAAQ,MAAM,EAGzBP,GAAQ,aAAeQ,IACvBR,GAAQ,cAAgBS,IACxBT,GAAQ,cAAgBU,IACxBV,GAAQ,eAAiBW,IAGzB,SAASH,IAAaI,EAAS,CAC7B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACdU,CACT,CAJSE,EAAAP,IAAA,gBAMT,SAASC,IAAcG,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACrBU,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAN,IAAA,iBAQT,SAASC,IAAcE,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACfS,CACT,CAJSE,EAAAL,IAAA,iBAMT,SAASC,IAAeC,EAAS,CAC/B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACtBS,EAAM,aAAeG,GACrBH,EAAM,YAAc,IACbA,CACT,CANSE,EAAAJ,IAAA,kBAST,SAASG,GAAeF,EAAS,CAC/B,IAAIK,EAAO,KACXA,EAAK,QAAUL,GAAW,CAAC,EAC3BK,EAAK,aAAeA,EAAK,QAAQ,OAAS,CAAC,EAC3CA,EAAK,WAAaA,EAAK,QAAQ,YAAcd,GAAK,MAAM,kBACxDc,EAAK,SAAW,CAAC,EACjBA,EAAK,QAAU,CAAC,EAEhBA,EAAK,GAAG,OAAQF,EAAA,SAAgBG,EAAQC,EAAMC,EAAMC,EAAc,CAEhE,QADIT,EAAUU,GAAUH,EAAMC,EAAMC,CAAY,EACvCE,EAAI,EAAGC,EAAMP,EAAK,SAAS,OAAQM,EAAIC,EAAK,EAAED,EAAG,CACxD,IAAIE,EAAUR,EAAK,SAASM,CAAC,EAC7B,GAAIE,EAAQ,OAASb,EAAQ,MAAQa,EAAQ,OAASb,EAAQ,KAAM,CAGlEK,EAAK,SAAS,OAAOM,EAAG,CAAC,EACzBE,EAAQ,QAAQ,SAASP,CAAM,EAC/B,MACF,CACF,CACAA,EAAO,QAAQ,EACfD,EAAK,aAAaC,CAAM,CAC1B,EAdgB,SAcf,CACH,CAvBSH,EAAAD,GAAA,kBAwBTP,IAAK,SAASO,GAAgBT,IAAO,YAAY,EAEjDS,GAAe,UAAU,WAAaC,EAAA,SAAoBW,EAAKP,EAAMC,EAAMC,EAAc,CACvF,IAAIJ,EAAO,KACPL,EAAUe,GAAa,CAAC,QAASD,CAAG,EAAGT,EAAK,QAASK,GAAUH,EAAMC,EAAMC,CAAY,CAAC,EAE5F,GAAIJ,EAAK,QAAQ,QAAU,KAAK,WAAY,CAE1CA,EAAK,SAAS,KAAKL,CAAO,EAC1B,MACF,CAGAK,EAAK,aAAaL,EAAS,SAASM,EAAQ,CAC1CA,EAAO,GAAG,OAAQU,CAAM,EACxBV,EAAO,GAAG,QAASW,CAAe,EAClCX,EAAO,GAAG,cAAeW,CAAe,EACxCH,EAAI,SAASR,CAAM,EAEnB,SAASU,GAAS,CAChBX,EAAK,KAAK,OAAQC,EAAQN,CAAO,CACnC,CAFSG,EAAAa,EAAA,UAIT,SAASC,EAAgBC,EAAK,CAC5Bb,EAAK,aAAaC,CAAM,EACxBA,EAAO,eAAe,OAAQU,CAAM,EACpCV,EAAO,eAAe,QAASW,CAAe,EAC9CX,EAAO,eAAe,cAAeW,CAAe,CACtD,CALSd,EAAAc,EAAA,kBAMX,CAAC,CACH,EA5BsC,cA8BtCf,GAAe,UAAU,aAAeC,EAAA,SAAsBH,EAASmB,EAAI,CACzE,IAAId,EAAO,KACPe,EAAc,CAAC,EACnBf,EAAK,QAAQ,KAAKe,CAAW,EAE7B,IAAIC,EAAiBN,GAAa,CAAC,EAAGV,EAAK,aAAc,CACvD,OAAQ,UACR,KAAML,EAAQ,KAAO,IAAMA,EAAQ,KACnC,MAAO,GACP,QAAS,CACP,KAAMA,EAAQ,KAAO,IAAMA,EAAQ,IACrC,CACF,CAAC,EACGA,EAAQ,eACVqB,EAAe,aAAerB,EAAQ,cAEpCqB,EAAe,YACjBA,EAAe,QAAUA,EAAe,SAAW,CAAC,EACpDA,EAAe,QAAQ,qBAAqB,EAAI,SAC5C,IAAI,OAAOA,EAAe,SAAS,EAAE,SAAS,QAAQ,GAG5DC,GAAM,wBAAwB,EAC9B,IAAIC,EAAalB,EAAK,QAAQgB,CAAc,EAC5CE,EAAW,4BAA8B,GACzCA,EAAW,KAAK,WAAYC,CAAU,EACtCD,EAAW,KAAK,UAAWE,CAAS,EACpCF,EAAW,KAAK,UAAWG,CAAS,EACpCH,EAAW,KAAK,QAASI,CAAO,EAChCJ,EAAW,IAAI,EAEf,SAASC,EAAWI,EAAK,CAEvBA,EAAI,QAAU,EAChB,CAHSzB,EAAAqB,EAAA,cAKT,SAASC,EAAUG,EAAKtB,EAAQuB,EAAM,CAEpC,QAAQ,SAAS,UAAW,CAC1BH,EAAUE,EAAKtB,EAAQuB,CAAI,CAC7B,CAAC,CACH,CALS1B,EAAAsB,EAAA,aAOT,SAASC,EAAUE,EAAKtB,EAAQuB,EAAM,CAIpC,GAHAN,EAAW,mBAAmB,EAC9BjB,EAAO,mBAAmB,EAEtBsB,EAAI,aAAe,IAAK,CAC1BN,GAAM,2DACJM,EAAI,UAAU,EAChBtB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,yDACJF,EAAI,UAAU,EAChCE,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,GAAIS,EAAK,OAAS,EAAG,CACnBP,GAAM,sCAAsC,EAC5ChB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,sCAAsC,EAC5DA,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,OAAAE,GAAM,sCAAsC,EAC5CjB,EAAK,QAAQA,EAAK,QAAQ,QAAQe,CAAW,CAAC,EAAId,EAC3Ca,EAAGb,CAAM,CAClB,CA3BSH,EAAAuB,EAAA,aA6BT,SAASC,EAAQI,EAAO,CACtBR,EAAW,mBAAmB,EAE9BD,GAAM;AAAA,EACAS,EAAM,QAASA,EAAM,KAAK,EAChC,IAAID,EAAQ,IAAI,MAAM,oDACWC,EAAM,OAAO,EAC9CD,EAAM,KAAO,aACb9B,EAAQ,QAAQ,KAAK,QAAS8B,CAAK,EACnCzB,EAAK,aAAae,CAAW,CAC/B,CAVSjB,EAAAwB,EAAA,UAWX,EAnFwC,gBAqFxCzB,GAAe,UAAU,aAAeC,EAAA,SAAsBG,EAAQ,CACpE,IAAI0B,EAAM,KAAK,QAAQ,QAAQ1B,CAAM,EACrC,GAAI0B,IAAQ,GAGZ,MAAK,QAAQ,OAAOA,EAAK,CAAC,EAE1B,IAAInB,EAAU,KAAK,SAAS,MAAM,EAC9BA,GAGF,KAAK,aAAaA,EAAS,SAASP,EAAQ,CAC1CO,EAAQ,QAAQ,SAASP,CAAM,CACjC,CAAC,EAEL,EAfwC,gBAiBxC,SAASF,GAAmBJ,EAASmB,EAAI,CACvC,IAAId,EAAO,KACXH,GAAe,UAAU,aAAa,KAAKG,EAAML,EAAS,SAASM,EAAQ,CACzE,IAAI2B,EAAajC,EAAQ,QAAQ,UAAU,MAAM,EAC7CkC,EAAanB,GAAa,CAAC,EAAGV,EAAK,QAAS,CAC9C,OAAQC,EACR,WAAY2B,EAAaA,EAAW,QAAQ,OAAQ,EAAE,EAAIjC,EAAQ,IACpE,CAAC,EAGGmC,EAAe7C,IAAI,QAAQ,EAAG4C,CAAU,EAC5C7B,EAAK,QAAQA,EAAK,QAAQ,QAAQC,CAAM,CAAC,EAAI6B,EAC7ChB,EAAGgB,CAAY,CACjB,CAAC,CACH,CAdShC,EAAAC,GAAA,sBAiBT,SAASM,GAAUH,EAAMC,EAAMC,EAAc,CAC3C,OAAI,OAAOF,GAAS,SACX,CACL,KAAMA,EACN,KAAMC,EACN,aAAcC,CAChB,EAEKF,CACT,CATSJ,EAAAO,GAAA,aAWT,SAASK,GAAaqB,EAAQ,CAC5B,QAASzB,EAAI,EAAGC,EAAM,UAAU,OAAQD,EAAIC,EAAK,EAAED,EAAG,CACpD,IAAI0B,EAAY,UAAU1B,CAAC,EAC3B,GAAI,OAAO0B,GAAc,SAEvB,QADIC,EAAO,OAAO,KAAKD,CAAS,EACvBE,EAAI,EAAGC,EAASF,EAAK,OAAQC,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAIE,EAAIH,EAAKC,CAAC,EACVF,EAAUI,CAAC,IAAM,SACnBL,EAAOK,CAAC,EAAIJ,EAAUI,CAAC,EAE3B,CAEJ,CACA,OAAOL,CACT,CAdSjC,EAAAY,GAAA,gBAiBT,IAAIO,GACA,QAAQ,IAAI,YAAc,aAAa,KAAK,QAAQ,IAAI,UAAU,EACpEA,GAAQnB,EAAA,UAAW,CACjB,IAAIuC,EAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAC3C,OAAOA,EAAK,CAAC,GAAM,SACrBA,EAAK,CAAC,EAAI,WALine truncated
"names": ["require_tunnel", "__commonJSMin", "exports", "net", "tls", "http", "https", "events", "assert", "util", "httpOverHttp", "httpsOverHttp", "httpOverHttps", "httpsOverHttps", "options", "agent", "TunnelingAgent", "__name", "createSecureSocket", "self", "socket", "host", "port", "localAddress", "toOptions", "i", "len", "pending", "req", "mergeOptions", "onFree", "onCloseOrRemove", "err", "cb", "placeholder", "connectOptions", "debug", "connectReq", "onResponse", "onUpgrade", "onConnect", "onError", "res", "head", "error", "cause", "pos", "hostHeader", "tlsOptions", "secureSocket", "target", "overrides", "keys", "j", "keyLen", "k", "args", "require_tunnel", "__commonJSMin", "exports", "module", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "kUndiciError", "UndiciError", "__name", "message", "instance", "kConnectTimeoutError", "ConnectTimeoutError", "kHeadersTimeoutError", "HeadersTimeoutError", "kHeadersOverflowError", "HeadersOverflowError", "kBodyTimeoutError", "BodyTimeoutError", "kResponseStatusCodeError", "ResponseStatusCodeError", "statusCode", "headers", "body", "kInvalidArgumentError", "InvalidArgumentError", "kInvalidReturnValueError", "InvalidReturnValueError", "kAbortError", "AbortError", "kRequestAbortedError", "RequestAbortedError", "kInformationalError", "InformationalError", "kRequestContentLengthMismatchError", "RequestContentLengthMismatchError", "kResponseContentLengthMismatchError", "ResponseContentLengthMismatchError", "kClientDestroyedError", "ClientDestroyedError", "kClientClosedError", "ClientClosedError", "kSocketError", "SocketError", "socket", "kNotSupportedError", "NotSupportedError", "kBalancedPoolMissingUpstreamError", "BalancedPoolMissingUpstreamError", "kHTTPParserError", "HTTPParserError", "code", "data", "kResponseExceededMaxSizeError", "ResponseExceededMaxSizeError", "kRequestRetryError", "RequestRetryError", "kResponseError", "ResponseError", "kSecureProxyConnectionError", "SecureProxyConnectionError", "cause", "options", "kMessageSizeExceededError", "MessageSizeExceededError", "require_constants", "__commonJSMin", "exports", "module", "headerNameLowerCasedRecord", "wellknownHeaderNames", "i", "key", "lowerCasedKey", "require_tree", "__commonJSMin", "exports", "module", "wellknownHeaderNames", "headerNameLowerCasedRecord", "TstNode", "_TstNode", "__name", "key", "value", "index", "length", "node", "code", "keylength", "TernarySearchTree", "tree", "i", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "kListeners", "kBody", "IncomingMessage", "stream", "net", "Blob", "nodeUtil", "stringify", "EE", "InvalidArgumentError", "headerNameLowerCasedRecord", "tree", "nodeMajor", "nodeMinor", "v", "BodyAsyncIterable", "__name", "body", "wrapRequestBody", "isStream", "bodyLength", "isIterable", "nop", "obj", "isBlobLike", "object", "sTag", "buildURL", "url", "queryParams", "stringified", "isValidPort", "port", "value", "isHttpOrHttpsPrefixed", "parseURL", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "state", "isBuffer", "isDestroyed", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "headerNameToString", "bufferToLowerCasedHeaderName", "parseHeaders", "headers", "i", "key", "headersValue", "x", "parseRawHeaders", "len", "ret", "hasContentLength", "contentDispositionIdx", "kLen", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "buf", "reason", "isFormDataLike", "addAbortListener", "signal", "listener", "hasToWellFormed", "hasIsWellFormed", "toUSVString", "isUSVString", "isTokenCharCode", "c", "isValidHTTPToken", "characters", "headerCharRegex", "isValidHeaderValue", "parseRangeHeader", "range", "addListener", "name", "removeAllListeners", "errorRequest", "client", "request", "kEnumerableProperty", "normalizedMethodRecordsBase", "normalizedMethodRecords", "require_diagnostics", "__commonJSMin", "exports", "module", "diagnosticsChannel", "util", "undiciDebugLog", "fetchDebuglog", "websocketDebuglog", "isClientSet", "channels", "debuglog", "evt", "version", "protocol", "port", "host", "error", "method", "path", "origin", "statusCode", "address", "websocket", "code", "reason", "err", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "isValidHTTPToken", "isValidHeaderValue", "isStream", "destroy", "isBuffer", "isFormDataLike", "isIterable", "isBlobLike", "buildURL", "validateHandler", "getServerName", "normalizedMethodRecords", "channels", "headerNameLowerCasedRecord", "invalidPathRegex", "kHandler", "Request", "__name", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "resetLine truncated
}
Generated Vendored
-66
View File
@@ -1,66 +0,0 @@
require('./sourcemap-register.js');(()=>{var __webpack_modules__={7351:function(p,o,a){"use strict";var t=this&&this.__createBinding||(Object.create?function(p,o,a,t){if(t===undefined)t=a;Object.defineProperty(p,t,{enumerable:true,get:function(){return o[a]}})}:function(p,o,a,t){if(t===undefined)t=a;p[t]=o[a]});var b=this&&this.__setModuleDefault||(Object.create?function(p,o){Object.defineProperty(p,"default",{enumerable:true,value:o})}:function(p,o){p["default"]=o});var d=this&&this.__importStar||function(p){if(p&&p.__esModule)return p;var o={};if(p!=null)for(var a in p)if(a!=="default"&&Object.hasOwnProperty.call(p,a))t(o,p,a);b(o,p);return o};Object.defineProperty(o,"__esModule",{value:true});o.issue=o.issueCommand=void 0;const M=d(a(2037));const r=a(5278);function issueCommand(p,o,a){const t=new Command(p,o,a);process.stdout.write(t.toString()+M.EOL)}o.issueCommand=issueCommand;function issue(p,o=""){issueCommand(p,{},o)}o.issue=issue;const z="::";class Command{constructor(p,o,a){if(!p){p="missing.command"}this.command=p;this.properties=o;this.message=a}toString(){let p=z+this.command;if(this.properties&&Object.keys(this.properties).length>0){p+=" ";let o=true;for(const a in this.properties){if(this.properties.hasOwnProperty(a)){const t=this.properties[a];if(t){if(o){o=false}else{p+=","}p+=`${a}=${escapeProperty(t)}`}}}}p+=`${z}${escapeData(this.message)}`;return p}}function escapeData(p){return r.toCommandValue(p).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function escapeProperty(p){return r.toCommandValue(p).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}},2186:function(p,o,a){"use strict";var t=this&&this.__createBinding||(Object.create?function(p,o,a,t){if(t===undefined)t=a;Object.defineProperty(p,t,{enumerable:true,get:function(){return o[a]}})}:function(p,o,a,t){if(t===undefined)t=a;p[t]=o[a]});var b=this&&this.__setModuleDefault||(Object.create?function(p,o){Object.defineProperty(p,"default",{enumerable:true,value:o})}:function(p,o){p["default"]=o});var d=this&&this.__importStar||function(p){if(p&&p.__esModule)return p;var o={};if(p!=null)for(var a in p)if(a!=="default"&&Object.hasOwnProperty.call(p,a))t(o,p,a);b(o,p);return o};var M=this&&this.__awaiter||function(p,o,a,t){function adopt(p){return p instanceof a?p:new a((function(o){o(p)}))}return new(a||(a=Promise))((function(a,b){function fulfilled(p){try{step(t.next(p))}catch(p){b(p)}}function rejected(p){try{step(t["throw"](p))}catch(p){b(p)}}function step(p){p.done?a(p.value):adopt(p.value).then(fulfilled,rejected)}step((t=t.apply(p,o||[])).next())}))};Object.defineProperty(o,"__esModule",{value:true});o.getIDToken=o.getState=o.saveState=o.group=o.endGroup=o.startGroup=o.info=o.notice=o.warning=o.error=o.debug=o.isDebug=o.setFailed=o.setCommandEcho=o.setOutput=o.getBooleanInput=o.getMultilineInput=o.getInput=o.addPath=o.setSecret=o.exportVariable=o.ExitCode=void 0;const r=a(7351);const z=a(717);const c=a(5278);const i=d(a(2037));const O=d(a(1017));const u=a(8041);var l;(function(p){p[p["Success"]=0]="Success";p[p["Failure"]=1]="Failure"})(l=o.ExitCode||(o.ExitCode={}));function exportVariable(p,o){const a=c.toCommandValue(o);process.env[p]=a;const t=process.env["GITHUB_ENV"]||"";if(t){return z.issueFileCommand("ENV",z.prepareKeyValueMessage(p,o))}r.issueCommand("set-env",{name:p},a)}o.exportVariable=exportVariable;function setSecret(p){r.issueCommand("add-mask",{},p)}o.setSecret=setSecret;function addPath(p){const o=process.env["GITHUB_PATH"]||"";if(o){z.issueFileCommand("PATH",p)}else{r.issueCommand("add-path",{},p)}process.env["PATH"]=`${p}${O.delimiter}${process.env["PATH"]}`}o.addPath=addPath;function getInput(p,o){const a=process.env[`INPUT_${p.replace(/ /g,"_").toUpperCase()}`]||"";if(o&&o.required&&!a){throw new Error(`Input required and not supplied: ${p}`)}if(o&&o.trimWhitespace===false){return a}return a.trim()}o.getInput=getInput;function getMultilineInput(p,o){const a=getInput(p,o).split("\n").filter((p=>p!==""));if(o&&o.trimWhitespace===false){return a}return a.map((p=>p.trim()))}o.getMultilineInput=getMultilineInput;function getBooleanInput(p,o){const a=["true","True","TRUE"];const t=["false","False","FALSE"];const b=getInput(p,o);if(a.includes(b))return true;if(t.includes(b))return false;throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${p}\n`+`Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}o.getBooleanInput=getBooleanInput;function setOutput(p,o){const a=process.env["GITHUB_OUTPUT"]||"";if(a){return z.issueFileCommand("OUTPUT",z.prepareKeyValueMessage(p,o))}process.stdout.write(i.EOL);r.issueCommand("set-output",{name:p},c.toCommandValue(o))}o.setOutput=setOutput;function setCommandEcho(p){r.issue("echo",p?"on":"off")}o.setCommandEcho=setCommandEcho;function setFailed(p){process.exitCode=l.Failure;error(p)}o.setFailed=setFailed;function isDebug(){return process.env["RUNNER_DEBUG"]==="1"}o.isDeLine truncated
/*!
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
*
* Copyright (c) 2014-2017, Jon Schlinkert.
* Released under the MIT License.
*/function isObject(p){return Object.prototype.toString.call(p)==="[object Object]"}function isPlainObject(p){var o,a;if(isObject(p)===false)return false;o=p.constructor;if(o===undefined)return true;a=o.prototype;if(isObject(a)===false)return false;if(a.hasOwnProperty("isPrototypeOf")===false){return false}return true}o.isPlainObject=isPlainObject},7129:(p,o,a)=>{"use strict";const t=a(665);const b=Symbol("max");const d=Symbol("length");const M=Symbol("lengthCalculator");const r=Symbol("allowStale");const z=Symbol("maxAge");const c=Symbol("dispose");const i=Symbol("noDisposeOnSet");const O=Symbol("lruList");const u=Symbol("cache");const l=Symbol("updateAgeOnGet");const naiveLength=()=>1;class LRUCache{constructor(p){if(typeof p==="number")p={max:p};if(!p)p={};if(p.max&&(typeof p.max!=="number"||p.max<0))throw new TypeError("max must be a non-negative number");const o=this[b]=p.max||Infinity;const a=p.length||naiveLength;this[M]=typeof a!=="function"?naiveLength:a;this[r]=p.stale||false;if(p.maxAge&&typeof p.maxAge!=="number")throw new TypeError("maxAge must be a number");this[z]=p.maxAge||0;this[c]=p.dispose;this[i]=p.noDisposeOnSet||false;this[l]=p.updateAgeOnGet||false;this.reset()}set max(p){if(typeof p!=="number"||p<0)throw new TypeError("max must be a non-negative number");this[b]=p||Infinity;trim(this)}get max(){return this[b]}set allowStale(p){this[r]=!!p}get allowStale(){return this[r]}set maxAge(p){if(typeof p!=="number")throw new TypeError("maxAge must be a non-negative number");this[z]=p;trim(this)}get maxAge(){return this[z]}set lengthCalculator(p){if(typeof p!=="function")p=naiveLength;if(p!==this[M]){this[M]=p;this[d]=0;this[O].forEach((p=>{p.length=this[M](p.value,p.key);this[d]+=p.length}))}trim(this)}get lengthCalculator(){return this[M]}get length(){return this[d]}get itemCount(){return this[O].length}rforEach(p,o){o=o||this;for(let a=this[O].tail;a!==null;){const t=a.prev;forEachStep(this,p,a,o);a=t}}forEach(p,o){o=o||this;for(let a=this[O].head;a!==null;){const t=a.next;forEachStep(this,p,a,o);a=t}}keys(){return this[O].toArray().map((p=>p.key))}values(){return this[O].toArray().map((p=>p.value))}reset(){if(this[c]&&this[O]&&this[O].length){this[O].forEach((p=>this[c](p.key,p.value)))}this[u]=new Map;this[O]=new t;this[d]=0}dump(){return this[O].map((p=>isStale(this,p)?false:{k:p.key,v:p.value,e:p.now+(p.maxAge||0)})).toArray().filter((p=>p))}dumpLru(){return this[O]}set(p,o,a){a=a||this[z];if(a&&typeof a!=="number")throw new TypeError("maxAge must be a number");const t=a?Date.now():0;const r=this[M](o,p);if(this[u].has(p)){if(r>this[b]){del(this,this[u].get(p));return false}const M=this[u].get(p);const z=M.value;if(this[c]){if(!this[i])this[c](p,z.value)}z.now=t;z.maxAge=a;z.value=o;this[d]+=r-z.length;z.length=r;this.get(p);trim(this);return true}const l=new Entry(p,o,r,t,a);if(l.length>this[b]){if(this[c])this[c](p,o);return false}this[d]+=l.length;this[O].unshift(l);this[u].set(p,this[O].head);trim(this);return true}has(p){if(!this[u].has(p))return false;const o=this[u].get(p).value;return!isStale(this,o)}get(p){return get(this,p,true)}peek(p){return get(this,p,false)}pop(){const p=this[O].tail;if(!p)return null;del(this,p);return p.value}del(p){del(this,this[u].get(p))}load(p){this.reset();const o=Date.now();for(let a=p.length-1;a>=0;a--){const t=p[a];const b=t.e||0;if(b===0)this.set(t.k,t.v);else{const p=b-o;if(p>0){this.set(t.k,t.v,p)}}}}prune(){this[u].forEach(((p,o)=>get(this,o,false)))}}const get=(p,o,a)=>{const t=p[u].get(o);if(t){const o=t.value;if(isStale(p,o)){del(p,t);if(!p[r])return undefined}else{if(a){if(p[l])t.value.now=Date.now();p[O].unshiftNode(t)}}return o.value}};const isStale=(p,o)=>{if(!o||!o.maxAge&&!p[z])return false;const a=Date.now()-o.now;return o.maxAge?a>o.maxAge:p[z]&&a>p[z]};const trim=p=>{if(p[d]>p[b]){for(let o=p[O].tail;p[d]>p[b]&&o!==null;){const a=o.prev;del(p,o);o=a}}};const del=(p,o)=>{if(o){const a=o.value;if(p[c])p[c](a.key,a.value);p[d]-=a.length;p[u].delete(a.key);p[O].removeNode(o)}};class Entry{constructor(p,o,a,t,b){this.key=p;this.value=o;this.length=a;this.now=t;this.maxAge=b||0}}const forEachStep=(p,o,a,t)=>{let b=a.value;if(isStale(p,b)){del(p,a);if(!p[r])b=undefined}if(b)o.call(t,b.value,b.key,p)};p.exports=LRUCache},7936:(p,o,a)=>{var t=p.exports=a(6345);t.tz.load(a(1128))},6345:function(p,o,a){
//! moment-timezone.js
//! version : 0.5.40
//! Copyright (c) JS Foundation and other contributors
//! license : MIT
//! github.com/moment/moment-timezone
(function(o,t){"use strict";if(true&&p.exports){p.exports=t(a(9623))}else if(typeof define==="function"&&define.amd){define(["moment"],t)}else{t(o.moment)}})(this,(function(p){"use strict";if(p.version===undefined&&p.default){p=p.default}var o="0.5.40",a={},t={},b={},d={},M={},r;if(!p||typeof p.version!=="string"){logError("Moment Timezone requires Moment.js. See https://momentjs.com/timezone/docs/#/use-it/browser/")}var z=p.version.split("."),c=+z[0],i=+z[1];if(c<2||c===2&&i<6){logError("Moment Timezone requires Moment.js >= 2.6.0. You are using Moment.js "+p.version+". See momentjs.com")}function charCodeToInt(p){if(p>96){return p-87}else if(p>64){return p-29}return p-48}function unpackBase60(p){var o=0,a=p.split("."),t=a[0],b=a[1]||"",d=1,M,r=0,z=1;if(p.charCodeAt(0)===45){o=1;z=-1}for(o;o<t.length;o++){M=charCodeToInt(t.charCodeAt(o));r=60*r+M}for(o=0;o<b.length;o++){d=d/60;M=charCodeToInt(b.charCodeAt(o));r+=M*d}return r*z}function arrayToInt(p){for(var o=0;o<p.length;o++){p[o]=unpackBase60(p[o])}}function intToUntil(p,o){for(var a=0;a<o;a++){p[a]=Math.round((p[a-1]||0)+p[a]*6e4)}p[o-1]=Infinity}function mapIndices(p,o){var a=[],t;for(t=0;t<o.length;t++){a[t]=p[o[t]]}return a}function unpack(p){var o=p.split("|"),a=o[2].split(" "),t=o[3].split(""),b=o[4].split(" ");arrayToInt(a);arrayToInt(t);arrayToInt(b);intToUntil(b,t.length);return{name:o[0],abbrs:mapIndices(o[1].split(" "),t),offsets:mapIndices(a,t),untils:b,population:o[5]|0}}function Zone(p){if(p){this._set(unpack(p))}}Zone.prototype={_set:function(p){this.name=p.name;this.abbrs=p.abbrs;this.untils=p.untils;this.offsets=p.offsets;this.population=p.population},_index:function(p){var o=+p,a=this.untils,t;for(t=0;t<a.length;t++){if(o<a[t]){return t}}},countries:function(){var p=this.name;return Object.keys(b).filter((function(o){return b[o].zones.indexOf(p)!==-1}))},parse:function(p){var o=+p,a=this.offsets,t=this.untils,b=t.length-1,d,M,r,z;for(z=0;z<b;z++){d=a[z];M=a[z+1];r=a[z?z-1:z];if(d<M&&tz.moveAmbiguousForward){d=M}else if(d>r&&tz.moveInvalidForward){d=r}if(o<t[z]-d*6e4){return a[z]}}return a[b]},abbr:function(p){return this.abbrs[this._index(p)]},offset:function(p){logError("zone.offset has been deprecated in favor of zone.utcOffset");return this.offsets[this._index(p)]},utcOffset:function(p){return this.offsets[this._index(p)]}};function Country(p,o){this.name=p;this.zones=o}function OffsetAt(p){var o=p.toTimeString();var a=o.match(/\([a-z ]+\)/i);if(a&&a[0]){a=a[0].match(/[A-Z]/g);a=a?a.join(""):undefined}else{a=o.match(/[A-Z]{3,5}/g);a=a?a[0]:undefined}if(a==="GMT"){a=undefined}this.at=+p;this.abbr=a;this.offset=p.getTimezoneOffset()}function ZoneScore(p){this.zone=p;this.offsetScore=0;this.abbrScore=0}ZoneScore.prototype.scoreOffsetAt=function(p){this.offsetScore+=Math.abs(this.zone.utcOffset(p.at)-p.offset);if(this.zone.abbr(p.at).replace(/[^A-Z]/g,"")!==p.abbr){this.abbrScore++}};function findChange(p,o){var a,t;while(t=((o.at-p.at)/12e4|0)*6e4){a=new OffsetAt(new Date(p.at+t));if(a.offset===p.offset){p=a}else{o=a}}return p}function userOffsets(){var p=(new Date).getFullYear()-2,o=new OffsetAt(new Date(p,0,1)),a=[o],t,b,d;for(d=1;d<48;d++){b=new OffsetAt(new Date(p,d,1));if(b.offset!==o.offset){t=findChange(o,b);a.push(t);a.push(new OffsetAt(new Date(t.at+6e4)))}o=b}for(d=0;d<4;d++){a.push(new OffsetAt(new Date(p+d,0,1)));a.push(new OffsetAt(new Date(p+d,6,1)))}return a}function sortZoneScores(p,o){if(p.offsetScore!==o.offsetScore){return p.offsetScore-o.offsetScore}if(p.abbrScore!==o.abbrScore){return p.abbrScore-o.abbrScore}if(p.zone.population!==o.zone.population){return o.zone.population-p.zone.population}return o.zone.name.localeCompare(p.zone.name)}function addToGuesses(p,o){var a,t;arrayToInt(o);for(a=0;a<o.length;a++){t=o[a];M[t]=M[t]||{};M[t][p]=true}}function guessesForUserOffsets(p){var o=p.length,a={},t=[],b,r,z;for(b=0;b<o;b++){z=M[p[b].offset]||{};for(r in z){if(z.hasOwnProperty(r)){a[r]=true}}}for(b in a){if(a.hasOwnProperty(b)){t.push(d[b])}}return t}function rebuildGuess(){try{var p=Intl.DateTimeFormat().resolvedOptions().timeZone;if(p&&p.length>3){var o=d[normalizeName(p)];if(o){return o}logError("Moment Timezone found "+p+" from the Intl api, but did not have that data loaded.")}}catch(p){}var a=userOffsets(),t=a.length,b=guessesForUserOffsets(a),M=[],r,z,c;for(z=0;z<b.length;z++){r=new ZoneScore(getZone(b[z]),t);for(c=0;c<t;c++){r.scoreOffsetAt(a[c])}M.push(r)}M.sort(sortZoneScores);return M.length>0?M[0].zone.name:undefined}function guess(p){if(!r||p){r=rebuildGuess()}return r}function normalizeName(p){return(p||"").toLowerCase().replace(/\//g,"_")}function addZone(p){var o,t,b,M;if(typeof p==="string"){p=[p]}for(o=0;o<p.length;o++){b=p[o].split("|");t=b[0];M=normalizeName(t);a[M]=p[o];d[M]=t;addToGuesses(M,b[2].split(" "))}}function getZone(p,o){p=normalizeName(p);var b=a[p];var M;if(b instanceof Zone){return b}if(typeof b==="string"){b=new Zone(b);a[p]=b;return b}if(t[p]&&o!==getZone&&(M=getZone(t[p],getZone))Line truncated
//! moment.js
//! version : 2.29.4
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
(function(o,a){true?p.exports=a():0})(this,(function(){"use strict";var o;function hooks(){return o.apply(null,arguments)}function setHookCallback(p){o=p}function isArray(p){return p instanceof Array||Object.prototype.toString.call(p)==="[object Array]"}function isObject(p){return p!=null&&Object.prototype.toString.call(p)==="[object Object]"}function hasOwnProp(p,o){return Object.prototype.hasOwnProperty.call(p,o)}function isObjectEmpty(p){if(Object.getOwnPropertyNames){return Object.getOwnPropertyNames(p).length===0}else{var o;for(o in p){if(hasOwnProp(p,o)){return false}}return true}}function isUndefined(p){return p===void 0}function isNumber(p){return typeof p==="number"||Object.prototype.toString.call(p)==="[object Number]"}function isDate(p){return p instanceof Date||Object.prototype.toString.call(p)==="[object Date]"}function map(p,o){var a=[],t,b=p.length;for(t=0;t<b;++t){a.push(o(p[t],t))}return a}function extend(p,o){for(var a in o){if(hasOwnProp(o,a)){p[a]=o[a]}}if(hasOwnProp(o,"toString")){p.toString=o.toString}if(hasOwnProp(o,"valueOf")){p.valueOf=o.valueOf}return p}function createUTC(p,o,a,t){return createLocalOrUTC(p,o,a,t,true).utc()}function defaultParsingFlags(){return{empty:false,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:false,invalidEra:null,invalidMonth:null,invalidFormat:false,userInvalidated:false,iso:false,parsedDateParts:[],era:null,meridiem:null,rfc2822:false,weekdayMismatch:false}}function getParsingFlags(p){if(p._pf==null){p._pf=defaultParsingFlags()}return p._pf}var a;if(Array.prototype.some){a=Array.prototype.some}else{a=function(p){var o=Object(this),a=o.length>>>0,t;for(t=0;t<a;t++){if(t in o&&p.call(this,o[t],t,o)){return true}}return false}}function isValid(p){if(p._isValid==null){var o=getParsingFlags(p),t=a.call(o.parsedDateParts,(function(p){return p!=null})),b=!isNaN(p._d.getTime())&&o.overflow<0&&!o.empty&&!o.invalidEra&&!o.invalidMonth&&!o.invalidWeekday&&!o.weekdayMismatch&&!o.nullInput&&!o.invalidFormat&&!o.userInvalidated&&(!o.meridiem||o.meridiem&&t);if(p._strict){b=b&&o.charsLeftOver===0&&o.unusedTokens.length===0&&o.bigHour===undefined}if(Object.isFrozen==null||!Object.isFrozen(p)){p._isValid=b}else{return b}}return p._isValid}function createInvalid(p){var o=createUTC(NaN);if(p!=null){extend(getParsingFlags(o),p)}else{getParsingFlags(o).userInvalidated=true}return o}var t=hooks.momentProperties=[],b=false;function copyConfig(p,o){var a,b,d,M=t.length;if(!isUndefined(o._isAMomentObject)){p._isAMomentObject=o._isAMomentObject}if(!isUndefined(o._i)){p._i=o._i}if(!isUndefined(o._f)){p._f=o._f}if(!isUndefined(o._l)){p._l=o._l}if(!isUndefined(o._strict)){p._strict=o._strict}if(!isUndefined(o._tzm)){p._tzm=o._tzm}if(!isUndefined(o._isUTC)){p._isUTC=o._isUTC}if(!isUndefined(o._offset)){p._offset=o._offset}if(!isUndefined(o._pf)){p._pf=getParsingFlags(o)}if(!isUndefined(o._locale)){p._locale=o._locale}if(M>0){for(a=0;a<M;a++){b=t[a];d=o[b];if(!isUndefined(d)){p[b]=d}}}return p}function Moment(p){copyConfig(this,p);this._d=new Date(p._d!=null?p._d.getTime():NaN);if(!this.isValid()){this._d=new Date(NaN)}if(b===false){b=true;hooks.updateOffset(this);b=false}}function isMoment(p){return p instanceof Moment||p!=null&&p._isAMomentObject!=null}function warn(p){if(hooks.suppressDeprecationWarnings===false&&typeof console!=="undefined"&&console.warn){console.warn("Deprecation warning: "+p)}}function deprecate(p,o){var a=true;return extend((function(){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(null,p)}if(a){var t=[],b,d,M,r=arguments.length;for(d=0;d<r;d++){b="";if(typeof arguments[d]==="object"){b+="\n["+d+"] ";for(M in arguments[0]){if(hasOwnProp(arguments[0],M)){b+=M+": "+arguments[0][M]+", "}}b=b.slice(0,-2)}else{b=arguments[d]}t.push(b)}warn(p+"\nArguments: "+Array.prototype.slice.call(t).join("")+"\n"+(new Error).stack);a=false}return o.apply(this,arguments)}),o)}var d={};function deprecateSimple(p,o){if(hooks.deprecationHandler!=null){hooks.deprecationHandler(p,o)}if(!d[p]){warn(o);d[p]=true}}hooks.suppressDeprecationWarnings=false;hooks.deprecationHandler=null;function isFunction(p){return typeof Function!=="undefined"&&p instanceof Function||Object.prototype.toString.call(p)==="[object Function]"}function set(p){var o,a;for(a in p){if(hasOwnProp(p,a)){o=p[a];if(isFunction(o)){this[a]=o}else{this["_"+a]=o}}}this._config=p;this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs(p,o){var a=extend({},p),t;for(t in o){if(hasOwnProp(o,t)){if(isObject(p[t])&&isObject(o[t])){a[t]={};extend(a[t],p[t]);extend(a[t],o[t])}else if(o[t]!=null){a[t]=o[t]}else{delete a[t]}}}for(t in p){if(hasOwnProp(p,t)&&!hasOwnProp(o,t)&&isObject(p[t])){a[t]=extend({},a[t])}}return a}function Locale(p){if(p!=null){this.set(p)}}var M;if(Object.keys){M=Object.keys}else{M=function(p){var o,a=[];for(o in p){if(hasOwnProp(p,o)){a.push(o)}}return a}}var r={sameDay:Line truncated
//! moment.js
hooks.version="2.29.4";setHookCallback(createLocal);hooks.fn=He;hooks.min=min;hooks.max=max;hooks.now=now;hooks.utc=createUTC;hooks.unix=createUnix;hooks.months=listMonths;hooks.isDate=isDate;hooks.locale=getSetGlobalLocale;hooks.invalid=createInvalid;hooks.duration=createDuration;hooks.isMoment=isMoment;hooks.weekdays=listWeekdays;hooks.parseZone=createInZone;hooks.localeData=getLocale;hooks.isDuration=isDuration;hooks.monthsShort=listMonthsShort;hooks.weekdaysMin=listWeekdaysMin;hooks.defineLocale=defineLocale;hooks.updateLocale=updateLocale;hooks.locales=listLocales;hooks.weekdaysShort=listWeekdaysShort;hooks.normalizeUnits=normalizeUnits;hooks.relativeTimeRounding=getSetRelativeTimeRounding;hooks.relativeTimeThreshold=getSetRelativeTimeThreshold;hooks.calendarFormat=getCalendarFormat;hooks.prototype=He;hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};return hooks}))},467:(p,o,a)=>{"use strict";Object.defineProperty(o,"__esModule",{value:true});function _interopDefault(p){return p&&typeof p==="object"&&"default"in p?p["default"]:p}var t=_interopDefault(a(2781));var b=_interopDefault(a(3685));var d=_interopDefault(a(7310));var M=_interopDefault(a(3323));var r=_interopDefault(a(5687));var z=_interopDefault(a(9796));const c=t.Readable;const i=Symbol("buffer");const O=Symbol("type");class Blob{constructor(){this[O]="";const p=arguments[0];const o=arguments[1];const a=[];let t=0;if(p){const o=p;const b=Number(o.length);for(let p=0;p<b;p++){const b=o[p];let d;if(b instanceof Buffer){d=b}else if(ArrayBuffer.isView(b)){d=Buffer.from(b.buffer,b.byteOffset,b.byteLength)}else if(b instanceof ArrayBuffer){d=Buffer.from(b)}else if(b instanceof Blob){d=b[i]}else{d=Buffer.from(typeof b==="string"?b:String(b))}t+=d.length;a.push(d)}}this[i]=Buffer.concat(a);let b=o&&o.type!==undefined&&String(o.type).toLowerCase();if(b&&!/[^\u0020-\u007E]/.test(b)){this[O]=b}}get size(){return this[i].length}get type(){return this[O]}text(){return Promise.resolve(this[i].toString())}arrayBuffer(){const p=this[i];const o=p.buffer.slice(p.byteOffset,p.byteOffset+p.byteLength);return Promise.resolve(o)}stream(){const p=new c;p._read=function(){};p.push(this[i]);p.push(null);return p}toString(){return"[object Blob]"}slice(){const p=this.size;const o=arguments[0];const a=arguments[1];let t,b;if(o===undefined){t=0}else if(o<0){t=Math.max(p+o,0)}else{t=Math.min(o,p)}if(a===undefined){b=p}else if(a<0){b=Math.max(p+a,0)}else{b=Math.min(a,p)}const d=Math.max(b-t,0);const M=this[i];const r=M.slice(t,t+d);const z=new Blob([],{type:arguments[2]});z[i]=r;return z}}Object.defineProperties(Blob.prototype,{size:{enumerable:true},type:{enumerable:true},slice:{enumerable:true}});Object.defineProperty(Blob.prototype,Symbol.toStringTag,{value:"Blob",writable:false,enumerable:false,configurable:true});function FetchError(p,o,a){Error.call(this,p);this.message=p;this.type=o;if(a){this.code=this.errno=a.code}Error.captureStackTrace(this,this.constructor)}FetchError.prototype=Object.create(Error.prototype);FetchError.prototype.constructor=FetchError;FetchError.prototype.name="FetchError";let u;try{u=a(2877).convert}catch(p){}const l=Symbol("Body internals");const A=t.PassThrough;function Body(p){var o=this;var a=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{},b=a.size;let d=b===undefined?0:b;var M=a.timeout;let r=M===undefined?0:M;if(p==null){p=null}else if(isURLSearchParams(p)){p=Buffer.from(p.toString())}else if(isBlob(p));else if(Buffer.isBuffer(p));else if(Object.prototype.toString.call(p)==="[object ArrayBuffer]"){p=Buffer.from(p)}else if(ArrayBuffer.isView(p)){p=Buffer.from(p.buffer,p.byteOffset,p.byteLength)}else if(p instanceof t);else{p=Buffer.from(String(p))}this[l]={body:p,disturbed:false,error:null};this.size=d;this.timeout=r;if(p instanceof t){p.on("error",(function(p){const a=p.name==="AbortError"?p:new FetchError(`Invalid response body while trying to fetch ${o.url}: ${p.message}`,"system",p);o[l].error=a}))}}Body.prototype={get body(){return this[l].body},get bodyUsed(){return this[l].disturbed},arrayBuffer(){return consumeBody.call(this).then((function(p){return p.buffer.slice(p.byteOffset,p.byteOffset+p.byteLength)}))},blob(){let p=this.headers&&this.headers.get("content-type")||"";return consumeBody.call(this).then((function(o){return Object.assign(new Blob([],{type:p.toLowerCase()}),{[i]:o})}))},json(){var p=this;return consumeBody.call(this).then((function(o){try{return JSON.parse(o.toString())}catch(o){return Body.Promise.reject(new FetchError(`invalid json response body at ${p.url} reason: ${o.message}`,"invalid-json"))}}))},text(){return consumeBody.call(this).then((function(p){return p.toString()}))},buffer(){return consumeBody.call(this)},textConverted(){var p=this;return consumeBody.call(this).then((function(o){return coLine truncated
/*!
* XRegExp.build 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
*/var c=function _default(p){var o="xregexp";var a=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*\]/g;var t=p.union([/\({{([\w$]+)}}\)|{{([\w$]+)}}/,a],"g",{conjunction:"or"});function deanchor(p){var o=/^(?:\(\?:\))*\^/;var a=/\$(?:\(\?:\))*$/;if(o.test(p)&&a.test(p)&&a.test(p.replace(/\\[\s\S]/g,""))){return p.replace(o,"").replace(a,"")}return p}function asXRegExp(a,t){var b=t?"x":"";return p.isRegExp(a)?a[o]&&a[o].captureNames?a:p(a.source,b):p(a,b)}function interpolate(o){return o instanceof RegExp?o:p.escape(o)}function reduceToSubpatternsObject(p,o,a){p["subpattern".concat(a)]=o;return p}function embedSubpatternAfter(p,o,a){var t=o<a.length-1;return p+(t?"{{subpattern".concat(o,"}}"):"")}p.tag=function(o){return function(a){var t,b;for(var d=arguments.length,M=new Array(d>1?d-1:0),c=1;c<d;c++){M[c-1]=arguments[c]}var i=(0,z["default"])(t=(0,r["default"])(M).call(M,interpolate)).call(t,reduceToSubpatternsObject,{});var O=(0,r["default"])(b=a.raw).call(b,embedSubpatternAfter).join("");return p.build(O,i,o)}};p.build=function(b,r,z){z=z||"";var c=(0,M["default"])(z).call(z,"x");var i=/^\(\?([\w$]+)\)/.exec(b);if(i){z=p._clipDuplicates(z+i[1])}var O={};for(var u in r){if(r.hasOwnProperty(u)){var l=asXRegExp(r[u],c);O[u]={pattern:deanchor(l.source),names:l[o].captureNames||[]}}}var A=asXRegExp(b,c);var q=0;var m;var W=0;var h=[0];var R=A[o].captureNames||[];var g=A.source.replace(t,(function(p,o,t,b,M){var r=o||t;var z;var c;var i;if(r){var u;if(!O.hasOwnProperty(r)){throw new ReferenceError("Undefined property ".concat(p))}if(o){z=R[W];h[++W]=++q;c="(?<".concat(z||r,">")}else{c="(?:"}m=q;var l=O[r].pattern.replace(a,(function(p,o,a){if(o){z=O[r].names[q-m];++q;if(z){return"(?<".concat(z,">")}}else if(a){i=+a-1;return O[r].names[i]?"\\k<".concat(O[r].names[i],">"):"\\".concat(+a+m)}return p}));return(0,d["default"])(u="".concat(c)).call(u,l,")")}if(b){z=R[W];h[++W]=++q;if(z){return"(?<".concat(z,">")}}else if(M){i=+M-1;return R[i]?"\\k<".concat(R[i],">"):"\\".concat(h[+M])}return p}));return p(g,z)}};o["default"]=c;p.exports=o.default},4811:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(9188));var M=t(a(466));var r=t(a(6611));
/*!
* XRegExp.matchRecursive 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2009-present MIT License
*/var z=function _default(p){function row(p,o,a,t){return{name:p,value:o,start:a,end:t}}p.matchRecursive=function(o,a,t,b,z){b=b||"";z=z||{};var c=(0,r["default"])(b).call(b,"g");var i=(0,r["default"])(b).call(b,"y");var O=b.replace(/y/g,"");var u=z,l=u.escapeChar;var A=z.valueNames;var q=[];var m=0;var W=0;var h=0;var R=0;var g;var v;var L;var _;var N;a=p(a,O);t=p(t,O);if(l){var w,B;if(l.length>1){throw new Error("Cannot use more than one escape character")}l=p.escape(l);N=new RegExp((0,M["default"])(w=(0,M["default"])(B="(?:".concat(l,"[\\S\\s]|(?:(?!")).call(B,p.union([a,t],"",{conjunction:"or"}).source,")[^")).call(w,l,"])+)+"),b.replace(/[^imu]+/g,""))}while(true){if(l){h+=(p.exec(o,N,h,"sticky")||[""])[0].length}L=p.exec(o,a,h);_=p.exec(o,t,h);if(L&&_){if(L.index<=_.index){_=null}else{L=null}}if(L||_){W=(L||_).index;h=W+(L||_)[0].length}else if(!m){break}if(i&&!m&&W>R){break}if(L){if(!m){g=W;v=h}++m}else if(_&&m){if(!--m){if(A){if(A[0]&&g>R){q.push(row(A[0],(0,d["default"])(o).call(o,R,g),R,g))}if(A[1]){q.push(row(A[1],(0,d["default"])(o).call(o,g,v),g,v))}if(A[2]){q.push(row(A[2],(0,d["default"])(o).call(o,v,W),v,W))}if(A[3]){q.push(row(A[3],(0,d["default"])(o).call(o,W,h),W,h))}}else{q.push((0,d["default"])(o).call(o,v,W))}R=h;if(!c){break}}}else{throw new Error("Unbalanced delimiter found in string")}if(W===h){++h}}if(c&&!i&&A&&A[0]&&o.length>R){q.push(row(A[0],(0,d["default"])(o).call(o,R),R,o.length))}return q}};o["default"]=z;p.exports=o.default},3110:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(2038));var M=t(a(5401));var r=t(a(9640));var z=t(a(7652));var c=t(a(3361));var i=t(a(9188));var O=t(a(6611));var u=t(a(466));var l=t(a(669));function _createForOfIteratorHelper(p,o){var a;if(typeof z["default"]==="undefined"||(0,r["default"])(p)==null){if((0,M["default"])(p)||(a=_unsupportedIterableToArray(p))||o&&p&&typeof p.length==="number"){if(a)p=a;var t=0;var b=function F(){};return{s:b,n:function n(){if(t>=p.length)return{done:true};return{done:false,value:p[t++]}},e:function e(p){throw p},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var c=true,i=false,O;return{s:function s(){a=(0,d["default"])(p)},n:function n(){var p=a.next();c=p.done;return p},e:function e(p){i=true;O=p},f:function f(){try{if(!c&&a["return"]!=null)a["return"]()}finally{if(i)throw O}}}}function _unsupportedIterableToArray(p,o){var a;if(!p)return;if(typeof p==="string")return _arrayLikeToArray(p,o);var t=(0,i["default"])(a=Object.prototype.toString.call(p)).call(a,8,-1);if(t==="Object"&&p.constructor)t=p.constructor.name;if(t==="Map"||t==="Set")return(0,c["default"])(p);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _arrayLikeToArray(p,o)}function _arrayLikeToArray(p,o){if(o==null||o>p.length)o=p.length;for(var a=0,t=new Array(o);a<o;a++){t[a]=p[a]}return t}
/*!
* XRegExp Unicode Base 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2008-present MIT License
*/var A=function _default(p){var o={};var a=p._dec;var t=p._hex;var b=p._pad4;function normalize(p){return p.replace(/[- _]+/g,"").toLowerCase()}function charCode(p){var o=/^\\[xu](.+)/.exec(p);return o?a(o[1]):p.charCodeAt(p[0]==="\\"?1:0)}function invertBmp(o){var a="";var d=-1;(0,l["default"])(p).call(p,o,/(\\x..|\\u....|\\?[\s\S])(?:-(\\x..|\\u....|\\?[\s\S]))?/,(function(p){var o=charCode(p[1]);if(o>d+1){a+="\\u".concat(b(t(d+1)));if(o>d+2){a+="-\\u".concat(b(t(o-1)))}}d=charCode(p[2]||p[1])}));if(d<65535){a+="\\u".concat(b(t(d+1)));if(d<65534){a+="-\\uFFFF"}}return a}function cacheInvertedBmp(p){var a="b!";return o[p][a]||(o[p][a]=invertBmp(o[p].bmp))}function buildAstral(p,a){var t=o[p];var b="";if(t.bmp&&!t.isBmpLast){var d;b=(0,u["default"])(d="[".concat(t.bmp,"]")).call(d,t.astral?"|":"")}if(t.astral){b+=t.astral}if(t.isBmpLast&&t.bmp){var M;b+=(0,u["default"])(M="".concat(t.astral?"|":"","[")).call(M,t.bmp,"]")}return a?"(?:(?!".concat(b,")(?:[\ud800-\udbff][\udc00-\udfff]|[\0-￿]))"):"(?:".concat(b,")")}function cacheAstral(p,a){var t=a?"a!":"a=";return o[p][t]||(o[p][t]=buildAstral(p,a))}p.addToken(/\\([pP])(?:{(\^?)([^}]*)}|([A-Za-z]))/,(function(p,a,t){var b="Invalid double negation ";var d="Unknown Unicode token ";var M="Unicode token missing data ";var r="Astral mode required for Unicode token ";var z="Astral mode does not support Unicode tokens within character classes";var c=p[1]==="P"||!!p[2];var i=(0,O["default"])(t).call(t,"A");var l=normalize(p[4]||p[3]);var A=o[l];if(p[1]==="P"&&p[2]){throw new SyntaxError(b+p[0])}if(!o.hasOwnProperty(l)){throw new SyntaxError(d+p[0])}if(A.inverseOf){l=normalize(A.inverseOf);if(!o.hasOwnProperty(l)){var q;throw new ReferenceError((0,u["default"])(q="".concat(M+p[0]," -> ")).call(q,A.inverseOf))}A=o[l];c=!c}if(!(A.bmp||i)){throw new SyntaxError(r+p[0])}if(i){if(a==="class"){throw new SyntaxError(z)}return cacheAstral(l,c)}return a==="class"?c?cacheInvertedBmp(l):A.bmp:"".concat((c?"[^":"[")+A.bmp,"]")}),{scope:"all",optionalFlags:"A",leadChar:"\\"});p.addUnicodeData=function(a){var t="Unicode token requires name";var b="Unicode token has no character data ";var d=_createForOfIteratorHelper(a),M;try{for(d.s();!(M=d.n()).done;){var r=M.value;if(!r.name){throw new Error(t)}if(!(r.inverseOf||r.bmp||r.astral)){throw new Error(b+r.name)}o[normalize(r.name)]=r;if(r.alias){o[normalize(r.alias)]=r}}}catch(p){d.e(p)}finally{d.f()}p.cache.flush("patterns")};p._getUnicodeProperty=function(p){var a=normalize(p);return o[a]}};o["default"]=A;p.exports=o.default},4686:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(5826));
/*!
* XRegExp Unicode Blocks 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var M=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Blocks")}p.addUnicodeData(d["default"])};o["default"]=M;p.exports=o.default},1996:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(8537));
/*!
* XRegExp Unicode Categories 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var M=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Categories")}p.addUnicodeData(d["default"])};o["default"]=M;p.exports=o.default},9250:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(616));
/*!
* XRegExp Unicode Properties 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2012-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var M=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Properties")}var o=d["default"];o.push({name:"Assigned",inverseOf:"Cn"});p.addUnicodeData(o)};o["default"]=M;p.exports=o.default},5715:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(2524));
/*!
* XRegExp Unicode Scripts 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2010-present MIT License
* Unicode data by Mathias Bynens <mathiasbynens.be>
*/var M=function _default(p){if(!p.addUnicodeData){throw new ReferenceError("Unicode Base must be loaded before Unicode Scripts")}p.addUnicodeData(d["default"])};o["default"]=M;p.exports=o.default},7750:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(8612));var M=t(a(380));var r=t(a(4811));var z=t(a(3110));var c=t(a(4686));var i=t(a(1996));var O=t(a(9250));var u=t(a(5715));(0,M["default"])(d["default"]);(0,r["default"])(d["default"]);(0,z["default"])(d["default"]);(0,c["default"])(d["default"]);(0,i["default"])(d["default"]);(0,O["default"])(d["default"]);(0,u["default"])(d["default"]);var l=d["default"];o["default"]=l;p.exports=o.default},8612:(p,o,a)=>{"use strict";var t=a(515);var b=a(4218);b(o,"__esModule",{value:true});o["default"]=void 0;var d=t(a(2038));var M=t(a(5401));var r=t(a(9640));var z=t(a(7652));var c=t(a(3361));var i=t(a(466));var O=t(a(3781));var u=t(a(6761));var l=t(a(8135));var A=t(a(669));var q=t(a(6611));var m=t(a(1308));var W=t(a(9188));var h=t(a(8979));var R=t(a(3046));function _createForOfIteratorHelper(p,o){var a;if(typeof z["default"]==="undefined"||(0,r["default"])(p)==null){if((0,M["default"])(p)||(a=_unsupportedIterableToArray(p))||o&&p&&typeof p.length==="number"){if(a)p=a;var t=0;var b=function F(){};return{s:b,n:function n(){if(t>=p.length)return{done:true};return{done:false,value:p[t++]}},e:function e(p){throw p},f:b}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var c=true,i=false,O;return{s:function s(){a=(0,d["default"])(p)},n:function n(){var p=a.next();c=p.done;return p},e:function e(p){i=true;O=p},f:function f(){try{if(!c&&a["return"]!=null)a["return"]()}finally{if(i)throw O}}}}function _unsupportedIterableToArray(p,o){var a;if(!p)return;if(typeof p==="string")return _arrayLikeToArray(p,o);var t=(0,W["default"])(a=Object.prototype.toString.call(p)).call(a,8,-1);if(t==="Object"&&p.constructor)t=p.constructor.name;if(t==="Map"||t==="Set")return(0,c["default"])(p);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return _arrayLikeToArray(p,o)}function _arrayLikeToArray(p,o){if(o==null||o>p.length)o=p.length;for(var a=0,t=new Array(o);a<o;a++){t[a]=p[a]}return t}
/*!
* XRegExp 4.4.1
* <xregexp.com>
* Steven Levithan (c) 2007-present MIT License
*/var g="xregexp";var v={astral:false,namespacing:false};var L={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split};var _={};var N={};var w={};var B=[];var T="default";var y="class";var E={default:/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?(?:[:=!]|<[=!])|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,class:/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/};var S=/\$(?:{([\w$]+)}|<([\w$]+)>|(\d\d?|[\s\S]))/g;var X=L.exec.call(/()??/,"")[1]===undefined;var k=(0,R["default"])(/x/)!==undefined;var P={},C=P.toString;function hasNativeFlag(p){var o=true;try{new RegExp("",p);if(p==="y"){var a=function(){return"gy"}();var t=".a".replace(new RegExp("a",a),".")==="..";if(t){o=false}}}catch(p){o=false}return o}var D=hasNativeFlag("u");var x=hasNativeFlag("y");var I={g:true,i:true,m:true,u:D,y:x};function augment(p,o,a,t,b){var d;p[g]={captureNames:o};if(b){return p}if(p.__proto__){p.__proto__=XRegExp.prototype}else{for(var M in XRegExp.prototype){p[M]=XRegExp.prototype[M]}}p[g].source=a;p[g].flags=t?(0,h["default"])(d=t.split("")).call(d).join(""):t;return p}function clipDuplicates(p){return L.replace.call(p,/([\s\S])(?=[\s\S]*\1)/g,"")}function copyRegex(p,o){var a;if(!XRegExp.isRegExp(p)){throw new TypeError("Type RegExp expected")}var t=p[g]||{};var b=getNativeFlags(p);var d="";var M="";var r=null;var z=null;o=o||{};if(o.removeG){M+="g"}if(o.removeY){M+="y"}if(M){b=L.replace.call(b,new RegExp("[".concat(M,"]+"),"g"),"")}if(o.addG){d+="g"}if(o.addY){d+="y"}if(d){b=clipDuplicates(b+d)}if(!o.isInternalOnly){if(t.source!==undefined){r=t.source}if((0,R["default"])(t)!=null){z=d?clipDuplicates((0,R["default"])(t)+d):(0,R["default"])(t)}}p=augment(new RegExp(o.source||p.source,b),hasNamedCapture(p)?(0,W["default"])(a=t.captureNames).call(a,0):null,r,z,o.isInternalOnly);return p}function dec(p){return(0,m["default"])(p,16)}function getContextualTokenSeparator(p,o,a){if(p.input[p.index-1]==="("||p.input[p.index+p[0].length]===")"||p.input[p.index-1]==="|"||p.input[p.index+p[0].length]==="|"||p.index<1||p.index+p[0].length>=p.input.length||L.test.call(/^\(\?[:=!]/,p.input.substr(p.index-3,3))||isQuantifierNext(p.input,p.index+p[0].length,a)){return""}return"(?:)"}function getNativeFlags(p){return k?(0,R["default"])(p):L.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(p))[1]}function hasNamedCapture(p){return!!(p[g]&&p[g].captureNames)}function hex(p){return(0,m["default"])(p,10).toString(16)}function isQuantifierNext(p,o,a){var t="\\(\\?#[^)]*\\)";var b="#[^#\\n]*";var d="[?*+]|{\\d+(?:,\\d*)?}";return L.test.call((0,q["default"])(a).call(a,"x")?/^(?:\s|#[^#\n]*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,(0,W["default"])(p).call(p,o))}function isType(p,o){return C.call(p)==="[object ".concat(o,"]")}function pad4(p){while(p.length<4){p="0".concat(p)}return p}function prepareFlags(p,o){if(clipDuplicates(o)!==o){throw new SyntaxError("Invalid duplicate regex flag ".concat(o))}p=L.replace.call(p,/^\(\?([\w$]+)\)/,(function(p,a){if(L.test.call(/[gy]/,a)){throw new SyntaxError("Cannot use flag g or y in mode modifier ".concat(p))}o=clipDuplicates(o+a);return""}));var a=_createForOfIteratorHelper(o),t;try{for(a.s();!(t=a.n()).done;){var b=t.value;if(!I[b]){throw new SyntaxError("Unknown regex flag ".concat(b))}}}catch(p){a.e(p)}finally{a.f()}return{pattern:p,flags:o}}function prepareOptions(p){var o={};if(isType(p,"String")){(0,A["default"])(XRegExp).call(XRegExp,p,/[^\s,]+/,(function(p){o[p]=true}));return o}return p}function registerFlag(p){if(!/^[\w$]$/.test(p)){throw new Error("Flag must be a single character A-Za-z0-9_$")}I[p]=true}function runTokens(p,o,a,t,b){var d=B.length;var M=p[a];var r=null;var z;var c;while(d--){c=B[d];if(c.leadChar&&c.leadChar!==M||c.scope!==t&&c.scope!=="all"||c.flag&&!(0,q["default"])(o).call(o,c.flag)){continue}z=XRegExp.exec(p,c.regex,a,"sticky");if(z){r={matchLength:z[0].length,output:c.handler.call(b,z,t,o),reparse:c.reparse};break}}return r}function setAstral(p){v.astral=p}function setNamespacing(p){v.namespacing=p}function toObject(p){if(p==null){throw new TypeError("Cannot convert null or undefined to object")}return p}function XRegExp(p,o){if(XRegExp.isRegExp(p)){if(o!==undefined){throw new TypeError("Cannot supply flags when copying a RegExp")}return copyRegex(p)}p=p===undefined?"":String(p);o=o===undefined?"":String(o);if(XRegExp.isInstalled("astral")&&!(0,q["default"])(o).call(o,"A")){o+="A"}if(!w[p]){w[p]={}}if(!w[p][o]){var a={hasNamedCapture:false,captureNames:[]};var t=T;var b="";var d=0;var M;var r=prepareFlags(p,o);var z=r.pattern;var c=(0,R["default"])(r);while(d<z.length){do{M=runTokens(z,c,d,t,a);if(M&&M.reparse){z=(0,W["default"])(z).call(z,0,d)+M.output+(0,W["default"])(z).call(z,d+M.matchLength)}}while(M&&M.reparsLine truncated
//# sourceMappingURL=index.js.map
Generated Vendored
-1
View File
@@ -1 +0,0 @@
{"version":3,"sources":["../webpack:/docker-metadata-action/node_modules/@actions/core/lib/command.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/core.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/file-command.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/oidc-utils.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/path-utils.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/summary.js","../webpack:/docker-metadata-action/node_modules/@actions/core/lib/utils.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/context.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/github.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/internal/utils.js","../webpack:/docker-metadata-action/node_modules/@actions/github/lib/utils.js","../webpack:/docker-metadata-action/node_modules/@actions/http-client/lib/auth.js","../webpack:/docker-metadata-action/node_modules/@actions/http-client/lib/index.js","../webpack:/docker-metadata-action/node_modules/@actions/http-client/lib/proxy.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/array/from.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/array/is-array.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/concat.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/flags.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/for-each.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/includes.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/index-of.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/map.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/reduce.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/slice.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/instance/sort.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/object/create.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/object/define-property.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/parse-int.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js-stable/symbol.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/array/from.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/array/is-array.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/get-iterator-method.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/get-iterator.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/instance/slice.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/core-js/symbol.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/arrayLikeToArray.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/arrayWithHoles.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/interopRequireDefault.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/iterableToArrayLimit.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/nonIterableRest.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/slicedToArray.js","../webpack:/docker-metadata-action/node_modules/@babel/runtime-corejs3/helpers/unsupportedIterableToArray.js","../webpack:/docker-metadata-action/node_modules/@octokit/auth-token/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/core/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/endpoint/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/graphql/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/graphql/node_modules/@octokit/request-error/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/graphql/node_modules/@octokit/request/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/plugin-paginate-rest/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/plugin-rest-endpoint-methods/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/request/dist-node/index.js","../webpack:/docker-metadata-action/node_modules/@octokit/request/nodLine truncated
Generated Vendored
+4733 -376
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
-1
View File
@@ -1 +0,0 @@
(()=>{var e={650:e=>{var r=Object.prototype.toString;var n=typeof Buffer.alloc==="function"&&typeof Buffer.allocUnsafe==="function"&&typeof Buffer.from==="function";function isArrayBuffer(e){return r.call(e).slice(8,-1)==="ArrayBuffer"}function fromArrayBuffer(e,r,t){r>>>=0;var o=e.byteLength-r;if(o<0){throw new RangeError("'offset' is out of bounds")}if(t===undefined){t=o}else{t>>>=0;if(t>o){throw new RangeError("'length' is out of bounds")}}return n?Buffer.from(e.slice(r,r+t)):new Buffer(new Uint8Array(e.slice(r,r+t)))}function fromString(e,r){if(typeof r!=="string"||r===""){r="utf8"}if(!Buffer.isEncoding(r)){throw new TypeError('"encoding" must be a valid string encoding')}return n?Buffer.from(e,r):new Buffer(e,r)}function bufferFrom(e,r,t){if(typeof e==="number"){throw new TypeError('"value" argument must not be a number')}if(isArrayBuffer(e)){return fromArrayBuffer(e,r,t)}if(typeof e==="string"){return fromString(e,r)}return n?Buffer.from(e):new Buffer(e)}e.exports=bufferFrom},284:(e,r,n)=>{e=n.nmd(e);var t=n(596).SourceMapConsumer;var o=n(17);var i;try{i=n(147);if(!i.existsSync||!i.readFileSync){i=null}}catch(e){}var a=n(650);function dynamicRequire(e,r){return e.require(r)}var u=false;var s=false;var l=false;var c="auto";var p={};var f={};var g=/^data:application\/json[^,]+base64,/;var h=[];var d=[];function isInBrowser(){if(c==="browser")return true;if(c==="node")return false;return typeof window!=="undefined"&&typeof XMLHttpRequest==="function"&&!(window.require&&window.module&&window.process&&window.process.type==="renderer")}function hasGlobalProcessEventEmitter(){return typeof process==="object"&&process!==null&&typeof process.on==="function"}function globalProcessVersion(){if(typeof process==="object"&&process!==null){return process.version}else{return""}}function globalProcessStderr(){if(typeof process==="object"&&process!==null){return process.stderr}}function globalProcessExit(e){if(typeof process==="object"&&process!==null&&typeof process.exit==="function"){return process.exit(e)}}function handlerExec(e){return function(r){for(var n=0;n<e.length;n++){var t=e[n](r);if(t){return t}}return null}}var m=handlerExec(h);h.push((function(e){e=e.trim();if(/^file:/.test(e)){e=e.replace(/file:\/\/\/(\w:)?/,(function(e,r){return r?"":"/"}))}if(e in p){return p[e]}var r="";try{if(!i){var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);if(n.readyState===4&&n.status===200){r=n.responseText}}else if(i.existsSync(e)){r=i.readFileSync(e,"utf8")}}catch(e){}return p[e]=r}));function supportRelativeURL(e,r){if(!e)return r;var n=o.dirname(e);var t=/^\w+:\/\/[^\/]*/.exec(n);var i=t?t[0]:"";var a=n.slice(i.length);if(i&&/^\/\w\:/.test(a)){i+="/";return i+o.resolve(n.slice(i.length),r).replace(/\\/g,"/")}return i+o.resolve(n.slice(i.length),r)}function retrieveSourceMapURL(e){var r;if(isInBrowser()){try{var n=new XMLHttpRequest;n.open("GET",e,false);n.send(null);r=n.readyState===4?n.responseText:null;var t=n.getResponseHeader("SourceMap")||n.getResponseHeader("X-SourceMap");if(t){return t}}catch(e){}}r=m(e);var o=/(?:\/\/[@#][\s]*sourceMappingURL=([^\s'"]+)[\s]*$)|(?:\/\*[@#][\s]*sourceMappingURL=([^\s*'"]+)[\s]*(?:\*\/)[\s]*$)/gm;var i,a;while(a=o.exec(r))i=a;if(!i)return null;return i[1]}var v=handlerExec(d);d.push((function(e){var r=retrieveSourceMapURL(e);if(!r)return null;var n;if(g.test(r)){var t=r.slice(r.indexOf(",")+1);n=a(t,"base64").toString();r=e}else{r=supportRelativeURL(e,r);n=m(r)}if(!n){return null}return{url:r,map:n}}));function mapSourcePosition(e){var r=f[e.source];if(!r){var n=v(e.source);if(n){r=f[e.source]={url:n.url,map:new t(n.map)};if(r.map.sourcesContent){r.map.sources.forEach((function(e,n){var t=r.map.sourcesContent[n];if(t){var o=supportRelativeURL(r.url,e);p[o]=t}}))}}else{r=f[e.source]={url:null,map:null}}}if(r&&r.map&&typeof r.map.originalPositionFor==="function"){var o=r.map.originalPositionFor(e);if(o.source!==null){o.source=supportRelativeURL(r.url,o.source);return o}}return e}function mapEvalOrigin(e){var r=/^eval at ([^(]+) \((.+):(\d+):(\d+)\)$/.exec(e);if(r){var n=mapSourcePosition({source:r[2],line:+r[3],column:r[4]-1});return"eval at "+r[1]+" ("+n.source+":"+n.line+":"+(n.column+1)+")"}r=/^eval at ([^(]+) \((.+)\)$/.exec(e);if(r){return"eval at "+r[1]+" ("+mapEvalOrigin(r[2])+")"}return e}function CallSiteToString(){var e;var r="";if(this.isNative()){r="native"}else{e=this.getScriptNameOrSourceURL();if(!e&&this.isEval()){r=this.getEvalOrigin();r+=", "}if(e){r+=e}else{r+="<anonymous>"}var n=this.getLineNumber();if(n!=null){r+=":"+n;var t=this.getColumnNumber();if(t){r+=":"+t}}}var o="";var i=this.getFunctionName();var a=true;var u=this.isConstructor();var s=!(this.isToplevel()||u);if(s){var l=this.getTypeName();if(l==="[object Object]"){l="null"}var c=this.getMethodName();if(i){if(l&&i.indexOf(l)!=0){o+=l+"."}o+=i;if(c&&i.indexOf("."+c)!=i.length-c.length-1){o+=" [as "+c+"]"}}else{o+=l+"."+(c||"<anonymous>")}}else if(u){o+="new "+(i||"<anonymous>")}else if(i){o+=i}elLine truncated
+15 -2
View File
@@ -1,9 +1,15 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" {
targets = ["build"]
}
group "pre-checkin" {
targets = ["vendor-update", "format", "build"]
targets = ["vendor", "format", "build"]
}
group "validate" {
@@ -11,42 +17,49 @@ group "validate" {
}
target "build" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."]
}
target "build-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
}
target "format" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."]
}
target "lint" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
}
target "vendor-update" {
target "vendor" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
}
target "vendor-validate" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
+52
View File
@@ -0,0 +1,52 @@
import {defineConfig} from 'eslint/config';
import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import vitest from '@vitest/eslint-plugin';
import globals from 'globals';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
import eslintPluginPrettier from 'eslint-plugin-prettier';
export default defineConfig([
{
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
},
js.configs.recommended,
...tseslint.configs['flat/recommended'],
eslintConfigPrettier,
{
languageOptions: {
globals: {
...globals.node
}
}
},
{
files: ['__tests__/**'],
...vitest.configs.recommended,
languageOptions: {
globals: {
...globals.node,
...vitest.environments.env.globals
}
},
rules: {
...vitest.configs.recommended.rules,
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0
}
},
{
plugins: {
prettier: eslintPluginPrettier
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);
-13
View File
@@ -1,13 +0,0 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
setupFiles: ['dotenv/config'],
testMatch: ['**/*.test.ts'],
transform: {
'^.+\\.ts$': 'ts-jest'
},
moduleNameMapper: {
'^csv-parse/sync': '<rootDir>/node_modules/csv-parse/dist/cjs/sync.cjs'
},
verbose: true
};
+34 -36
View File
@@ -1,13 +1,14 @@
{
"name": "docker-metadata-action",
"description": "GitHub Action to extract metadata (tags, labels) for Docker",
"main": "lib/main.js",
"type": "module",
"main": "src/main.ts",
"scripts": {
"build": "ncc build src/main.ts --source-map --minify --license licenses.txt",
"lint": "eslint src/**/*.ts __tests__/**/*.ts",
"format": "eslint --fix src/**/*.ts __tests__/**/*.ts",
"test": "jest --coverage",
"all": "yarn run build && yarn run format && yarn test"
"build": "esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs --sourcemap --minify --keep-names && yarn run license",
"lint": "eslint --max-warnings=0 .",
"format": "eslint --fix .",
"test": "vitest run",
"license": "generate-license-file --input package.json --output dist/licenses.txt --overwrite --ci --no-spinner --eol lf"
},
"repository": {
"type": "git",
@@ -20,40 +21,37 @@
"tag",
"label"
],
"author": "Docker",
"contributors": [
{
"name": "CrazyMax",
"url": "https://crazymax.dev"
}
],
"author": "Docker Inc.",
"license": "Apache-2.0",
"packageManager": "yarn@4.15.0",
"dependencies": {
"@actions/core": "^1.10.0",
"@actions/github": "^5.1.1",
"@actions/core": "^3.0.1",
"@actions/github": "^9.1.1",
"@docker/actions-toolkit": "^0.100.0",
"@renovate/pep440": "^1.0.0",
"csv-parse": "^5.3.3",
"handlebars": "^4.7.7",
"moment": "^2.29.4",
"moment-timezone": "^0.5.40",
"semver": "^7.3.7"
"csv-parse": "^7.0.3",
"handlebars": "^4.7.9",
"moment": "^2.30.1",
"moment-timezone": "^0.6.3",
"semver": "^7.8.5"
},
"devDependencies": {
"@types/csv-parse": "^1.2.2",
"@types/node": "^16.11.26",
"@types/semver": "^7.3.9",
"@typescript-eslint/eslint-plugin": "^5.14.0",
"@typescript-eslint/parser": "^5.14.0",
"@vercel/ncc": "^0.33.3",
"dotenv": "^16.0.0",
"eslint": "^8.11.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-jest": "^26.1.1",
"eslint-plugin-prettier": "^4.0.0",
"jest": "^27.2.5",
"prettier": "^2.3.1",
"ts-jest": "^27.1.2",
"ts-node": "^10.7.0",
"typescript": "^4.4.4"
"@eslint/js": "^9.39.3",
"@types/node": "^24.11.0",
"@types/semver": "^7.7.1",
"@typescript-eslint/eslint-plugin": "^8.56.1",
"@typescript-eslint/parser": "^8.56.1",
"@vitest/coverage-v8": "^4.0.18",
"@vitest/eslint-plugin": "^1.6.9",
"dotenv": "^17.3.1",
"esbuild": "^0.28.0",
"eslint": "^9.39.3",
"eslint-config-prettier": "^10.1.8",
"eslint-plugin-prettier": "^5.5.5",
"generate-license-file": "^4.1.1",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
}
}
+115 -48
View File
@@ -1,74 +1,141 @@
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
import * as core from '@actions/core';
import {parse} from 'csv-parse/sync';
let _tmpDir: string;
import {Util} from '@docker/actions-toolkit/lib/util.js';
import {Git} from '@docker/actions-toolkit/lib/git.js';
import {GitHub} from '@docker/actions-toolkit/lib/github/github.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
type GithubContext = typeof GitHub.context;
export interface Context extends GithubContext {
commitDate: Date;
}
export interface Inputs {
context: string;
images: string[];
tags: string[];
flavor: string[];
labels: string[];
annotations: string[];
sepTags: string;
sepLabels: string;
sepAnnotations: string;
bakeTarget: string;
githubToken: string;
}
export function tmpDir(): string {
if (!_tmpDir) {
_tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-metadata-action-')).split(path.sep).join(path.posix.sep);
}
return _tmpDir;
}
export function getInputs(): Inputs {
return {
images: getInputList('images', true),
tags: getInputList('tags', true),
flavor: getInputList('flavor', true),
labels: getInputList('labels', true),
context: core.getInput('context') || ContextSource.workflow,
images: Util.getInputList('images', {ignoreComma: true, comment: '#', commentNoInfix: true}),
tags: Util.getInputList('tags', {ignoreComma: true, comment: '#', commentNoInfix: true}),
flavor: Util.getInputList('flavor', {ignoreComma: true, comment: '#', commentNoInfix: true}),
labels: Util.getInputList('labels', {ignoreComma: true, comment: '#', commentNoInfix: true}),
annotations: Util.getInputList('annotations', {ignoreComma: true, comment: '#', commentNoInfix: true}),
sepTags: core.getInput('sep-tags', {trimWhitespace: false}) || `\n`,
sepLabels: core.getInput('sep-labels', {trimWhitespace: false}) || `\n`,
sepAnnotations: core.getInput('sep-annotations', {trimWhitespace: false}) || `\n`,
bakeTarget: core.getInput('bake-target') || `docker-metadata-action`,
githubToken: core.getInput('github-token')
};
}
export function getInputList(name: string, ignoreComma?: boolean): string[] {
const res: Array<string> = [];
const items = core.getInput(name);
if (items == '') {
return res;
}
const records = parse(items, {
columns: false,
relaxQuotes: true,
comment: '#',
relaxColumnCount: true,
skipEmptyLines: true
});
for (const record of records as Array<string[]>) {
if (record.length == 1) {
res.push(record[0]);
continue;
} else if (!ignoreComma) {
res.push(...record);
continue;
}
res.push(record.join(','));
}
return res.filter(item => item).map(pat => pat.trim());
export enum ContextSource {
workflow = 'workflow',
git = 'git'
}
export const asyncForEach = async (array, callback) => {
for (let index = 0; index < array.length; index++) {
await callback(array[index], index, array);
export async function getContext(source: string, toolkit: Toolkit): Promise<Context> {
if (source.startsWith(`${ContextSource.git}:`)) {
return await getContextFromGit(source.slice(ContextSource.git.length + 1));
}
};
switch (source) {
case ContextSource.workflow:
return await getContextFromWorkflow(toolkit);
case ContextSource.git:
return await getContextFromGit();
default:
throw new Error(`Invalid context source: ${source}`);
}
}
async function getContextFromWorkflow(toolkit: Toolkit): Promise<Context> {
const context = GitHub.context;
// Needs to override Git reference with pr ref instead of upstream branch ref
// for pull_request_target event
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
if (/pull_request_target/.test(context.eventName)) {
context.ref = `refs/pull/${context.payload.number}/merge`;
}
// DOCKER_METADATA_PR_HEAD_SHA env var can be used to set associated head
// SHA instead of commit SHA that triggered the workflow on pull request
// event.
if (/true/i.test(process.env.DOCKER_METADATA_PR_HEAD_SHA || '')) {
if ((/pull_request/.test(context.eventName) || /pull_request_target/.test(context.eventName)) && context.payload?.pull_request?.head?.sha != undefined) {
context.sha = context.payload.pull_request.head.sha;
}
}
return {
commitDate: await getCommitDateFromWorkflow(context.sha, toolkit),
...context
} as Context;
}
async function getContextFromGit(workdir?: string): Promise<Context> {
const ctx = await Git.context(workdir);
return {
commitDate: await Git.commitDate(ctx.sha, workdir),
...ctx
} as Context;
}
async function getCommitDateFromWorkflow(sha: string, toolkit: Toolkit): Promise<Date> {
const event = GitHub.context.payload as unknown as {
// branch push
commits?: Array<{
timestamp: string;
// commit sha
id: string;
}>;
// tags
head_commit?: {
timestamp: string;
// commit sha
id: string;
};
};
if (event.commits) {
const commitDate = event.commits.find(x => x.id === sha)?.timestamp;
if (commitDate) {
return new Date(commitDate);
}
}
if (event.head_commit) {
if (event.head_commit.id === sha) {
return new Date(event.head_commit.timestamp);
}
}
// fallback to github api for commit date
try {
const commit = await toolkit.github.octokit.rest.repos.getCommit({
owner: GitHub.context.repo.owner,
repo: GitHub.context.repo.repo,
ref: sha
});
if (commit.data.commit.committer?.date) {
return new Date(commit.data.commit.committer.date);
}
throw new Error('Committer date not found');
} catch (error) {
core.debug(`Failed to get commit date from GitHub API: ${error.message}`);
return new Date();
}
}
-16
View File
@@ -1,16 +0,0 @@
import * as github from '@actions/github';
import {Context} from '@actions/github/lib/context';
import {components as OctoOpenApiTypes} from '@octokit/openapi-types';
export type ReposGetResponseData = OctoOpenApiTypes['schemas']['repository'];
export function context(): Context {
return github.context;
}
export async function repo(token: string): Promise<ReposGetResponseData> {
return github
.getOctokit(token)
.rest.repos.get({...github.context.repo})
.then(response => response.data as ReposGetResponseData);
}
+91 -56
View File
@@ -1,34 +1,37 @@
import * as fs from 'fs';
import {getInputs, Inputs} from './context';
import * as github from './github';
import {Meta, Version} from './meta';
import * as core from '@actions/core';
import {Context} from '@actions/github/lib/context';
import * as actionsToolkit from '@docker/actions-toolkit';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
async function run() {
try {
const inputs: Inputs = await getInputs();
if (inputs.images.length == 0) {
throw new Error(`images input required`);
}
import {getContext, getInputs, Inputs} from './context.js';
import {Meta, Version} from './meta.js';
const context: Context = github.context();
const repo: github.ReposGetResponseData = await github.repo(inputs.githubToken);
core.startGroup(`Context info`);
core.info(`eventName: ${context.eventName}`);
core.info(`sha: ${context.sha}`);
core.info(`ref: ${context.ref}`);
core.info(`workflow: ${context.workflow}`);
core.info(`action: ${context.action}`);
core.info(`actor: ${context.actor}`);
core.info(`runNumber: ${context.runNumber}`);
core.info(`runId: ${context.runId}`);
core.endGroup();
actionsToolkit.run(
// main
async () => {
const inputs: Inputs = getInputs();
const toolkit = new Toolkit({githubToken: inputs.githubToken});
const context = await getContext(inputs.context, toolkit);
const repo = await toolkit.github.repoData();
const setOutput = outputEnvEnabled() ? setOutputAndEnv : core.setOutput;
await core.group(`Context info`, async () => {
core.info(`eventName: ${context.eventName}`);
core.info(`sha: ${context.sha}`);
core.info(`ref: ${context.ref}`);
core.info(`workflow: ${context.workflow}`);
core.info(`action: ${context.action}`);
core.info(`actor: ${context.actor}`);
core.info(`runNumber: ${context.runNumber}`);
core.info(`runId: ${context.runId}`);
core.info(`commitDate: ${context.commitDate}`);
});
if (core.isDebug()) {
core.startGroup(`Webhook payload`);
core.info(JSON.stringify(context.payload, null, 2));
core.endGroup();
await core.group(`Webhook payload`, async () => {
core.info(JSON.stringify(context.payload, null, 2));
});
}
const meta: Meta = new Meta(inputs, context, repo);
@@ -37,50 +40,82 @@ async function run() {
if (meta.version.main == undefined || meta.version.main.length == 0) {
core.warning(`No Docker image version has been generated. Check tags input.`);
} else {
core.startGroup(`Docker image version`);
core.info(version.main || '');
core.endGroup();
await core.group(`Docker image version`, async () => {
core.info(version.main || '');
});
}
core.setOutput('version', version.main || '');
setOutput('version', version.main || '');
// Docker tags
const tags: Array<string> = meta.getTags();
const tags = meta.getTags();
if (tags.length == 0) {
core.warning('No Docker tag has been generated. Check tags input.');
} else {
core.startGroup(`Docker tags`);
for (const tag of tags) {
core.info(tag);
}
core.endGroup();
await core.group(`Docker tags`, async () => {
for (const tag of tags) {
core.info(tag);
}
});
}
core.setOutput('tags', tags.join(inputs.sepTags));
setOutput('tags', tags.join(inputs.sepTags));
setOutput('tag-names', meta.getTags(true).join(inputs.sepTags));
// Docker labels
const labels: Array<string> = meta.getLabels();
core.startGroup(`Docker labels`);
for (const label of labels) {
core.info(label);
}
core.endGroup();
core.setOutput('labels', labels.join(inputs.sepLabels));
await core.group(`Docker labels`, async () => {
for (const label of labels) {
core.info(label);
}
setOutput('labels', labels.join(inputs.sepLabels));
});
// Annotations
const annotationsRaw: Array<string> = meta.getAnnotations();
const annotationsLevels = process.env.DOCKER_METADATA_ANNOTATIONS_LEVELS || 'manifest';
await core.group(`Annotations`, async () => {
const annotations: Array<string> = [];
for (const level of annotationsLevels.split(',')) {
annotations.push(
...annotationsRaw.map(label => {
const v = `${level}:${label}`;
core.info(v);
return v;
})
);
}
setOutput(`annotations`, annotations.join(inputs.sepAnnotations));
});
// JSON
const jsonOutput = meta.getJSON();
core.startGroup(`JSON output`);
core.info(JSON.stringify(jsonOutput, null, 2));
core.endGroup();
core.setOutput('json', jsonOutput);
const jsonOutput = meta.getJSON(annotationsLevels.split(','));
await core.group(`JSON output`, async () => {
core.info(JSON.stringify(jsonOutput, null, 2));
setOutput('json', JSON.stringify(jsonOutput));
});
// Bake file definition
const bakeFile: string = meta.getBakeFile();
core.startGroup(`Bake file definition`);
core.info(fs.readFileSync(bakeFile, 'utf8'));
core.endGroup();
core.setOutput('bake-file', bakeFile);
} catch (error) {
core.setFailed(error.message);
// Bake files
for (const kind of ['tags', 'labels', 'annotations:' + annotationsLevels]) {
const outputName = kind.split(':')[0];
const bakeFile: string = meta.getBakeFile(kind);
await core.group(`Bake file definition (${outputName})`, async () => {
core.info(fs.readFileSync(bakeFile, 'utf8'));
setOutput(`bake-file-${outputName}`, bakeFile);
});
}
// Bake file with tags and labels
setOutput(`bake-file`, `${meta.getBakeFileTagsLabels()}`);
}
);
function setOutputAndEnv(name: string, value: string) {
core.setOutput(name, value);
core.exportVariable(`DOCKER_METADATA_OUTPUT_${name.replace(/\W/g, '_').toUpperCase()}`, value);
}
run();
function outputEnvEnabled(): boolean {
if (process.env.DOCKER_METADATA_SET_OUTPUT_ENV) {
return Util.parseBool(process.env.DOCKER_METADATA_SET_OUTPUT_ENV);
}
return true;
}
+225 -89
View File
@@ -4,13 +4,16 @@ import * as path from 'path';
import moment from 'moment-timezone';
import * as pep440 from '@renovate/pep440';
import * as semver from 'semver';
import {Inputs, tmpDir} from './context';
import {ReposGetResponseData} from './github';
import * as icl from './image';
import * as tcl from './tag';
import * as fcl from './flavor';
import * as core from '@actions/core';
import {Context} from '@actions/github/lib/context';
import {Context as ToolkitContext} from '@docker/actions-toolkit/lib/context.js';
import {GitHubRepo} from '@docker/actions-toolkit/lib/types/github/github.js';
import {Inputs, Context} from './context.js';
import * as icl from './image.js';
import * as tcl from './tag.js';
import * as fcl from './flavor.js';
const defaultShortShaLength = 7;
export interface Version {
main: string | undefined;
@@ -23,29 +26,13 @@ export class Meta {
private readonly inputs: Inputs;
private readonly context: Context;
private readonly repo: ReposGetResponseData;
private readonly repo: GitHubRepo;
private readonly images: icl.Image[];
private readonly tags: tcl.Tag[];
private readonly flavor: fcl.Flavor;
private readonly date: Date;
constructor(inputs: Inputs, context: Context, repo: ReposGetResponseData) {
// Needs to override Git reference with pr ref instead of upstream branch ref
// for pull_request_target event
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
if (/pull_request_target/.test(context.eventName)) {
context.ref = `refs/pull/${context.payload.number}/merge`;
}
// DOCKER_METADATA_PR_HEAD_SHA env var can be used to set associated head
// SHA instead of commit SHA that triggered the workflow on pull request
// event.
if (/true/i.test(process.env.DOCKER_METADATA_PR_HEAD_SHA || '')) {
if ((/pull_request/.test(context.eventName) || /pull_request_target/.test(context.eventName)) && context.payload?.pull_request?.head?.sha != undefined) {
context.sha = context.payload.pull_request.head.sha;
}
}
constructor(inputs: Inputs, context: Context, repo: GitHubRepo) {
this.inputs = inputs;
this.context = context;
this.repo = repo;
@@ -127,6 +114,7 @@ export class Meta {
}
const currentDate = this.date;
const commitDate = this.context.commitDate;
const vraw = this.setValue(
handlebars.compile(tag.attrs['pattern'])({
date: function (format, options) {
@@ -142,6 +130,20 @@ export class Meta {
}
});
return m.tz(tz).format(format);
},
commit_date: function (format, options) {
const m = moment(commitDate);
let tz = 'UTC';
Object.keys(options.hash).forEach(key => {
switch (key) {
case 'tz':
tz = options.hash[key];
break;
default:
throw new Error(`Unknown ${key} attribute`);
}
});
return m.tz(tz).format(format);
}
}),
tag
@@ -159,8 +161,20 @@ export class Meta {
if (tag.attrs['value'].length > 0) {
vraw = this.setGlobalExp(tag.attrs['value']);
} else {
vraw = this.context.ref.replace(/^refs\/tags\//g, '').replace(/\//g, '-');
vraw = this.context.ref.replace(/^refs\/tags\//g, '');
}
if (tag.attrs['match'].length > 0) {
const tmatch = vraw.match(tag.attrs['match']);
if (!tmatch) {
core.warning(`${tag.attrs['match']} does not match ${vraw}.`);
} else {
vraw = tmatch[1];
}
}
vraw = vraw.replace(/\//g, '-');
if (!semver.valid(vraw)) {
core.warning(`${vraw} is not a valid semver. More info: https://semver.org/`);
return version;
@@ -168,7 +182,7 @@ export class Meta {
let latest = false;
const sver = semver.parse(vraw, {
includePrerelease: true
loose: true
});
if (semver.prerelease(vraw)) {
if (Meta.isRawStatement(tag.attrs['pattern'])) {
@@ -193,8 +207,20 @@ export class Meta {
if (tag.attrs['value'].length > 0) {
vraw = this.setGlobalExp(tag.attrs['value']);
} else {
vraw = this.context.ref.replace(/^refs\/tags\//g, '').replace(/\//g, '-');
vraw = this.context.ref.replace(/^refs\/tags\//g, '');
}
if (tag.attrs['match'].length > 0) {
const tmatch = vraw.match(tag.attrs['match']);
if (!tmatch) {
core.warning(`${tag.attrs['match']} does not match ${vraw}.`);
} else {
vraw = tmatch[1];
}
}
vraw = vraw.replace(/\//g, '-');
if (!pep440.valid(vraw)) {
core.warning(`${vraw} does not conform to PEP 440. More info: https://www.python.org/dev/peps/pep-0440`);
return version;
@@ -321,7 +347,7 @@ export class Meta {
let val = this.context.sha;
if (tag.attrs['format'] === tcl.ShaFormat.Short) {
val = this.context.sha.substring(0, 7);
val = Meta.shortSha(this.context.sha);
}
const vraw = this.setValue(val, tag);
@@ -350,7 +376,7 @@ export class Meta {
if (hp.body.length == 1 && hp.body[0].type == 'MustacheStatement') {
return hp.body[0]['path']['parts'].length == 1 && hp.body[0]['path']['parts'][0] == 'raw';
}
} catch (err) {
} catch {
return false;
}
return false;
@@ -370,58 +396,76 @@ export class Meta {
return val;
}
private setGlobalExp(val): string {
const ctx = this.context;
private setGlobalExp(val: string): string {
const context = this.context;
const currentDate = this.date;
const commitDate = this.context.commitDate;
return handlebars.compile(val)({
branch: function () {
if (!/^refs\/heads\//.test(ctx.ref)) {
if (!/^refs\/heads\//.test(context.ref)) {
return '';
}
return ctx.ref.replace(/^refs\/heads\//g, '');
return context.ref.replace(/^refs\/heads\//g, '');
},
tag: function () {
if (!/^refs\/tags\//.test(ctx.ref)) {
if (!/^refs\/tags\//.test(context.ref)) {
return '';
}
return ctx.ref.replace(/^refs\/tags\//g, '');
return context.ref.replace(/^refs\/tags\//g, '');
},
sha: function () {
return ctx.sha.substring(0, 7);
return Meta.shortSha(context.sha);
},
base_ref: function () {
if (/^refs\/tags\//.test(ctx.ref) && ctx.payload?.base_ref != undefined) {
return ctx.payload.base_ref.replace(/^refs\/heads\//g, '');
if (/^refs\/tags\//.test(context.ref) && context.payload?.base_ref != undefined) {
return context.payload.base_ref.replace(/^refs\/heads\//g, '');
}
// FIXME: keep this for backward compatibility even if doesn't always seem
// to return the expected branch. See the comment below.
if (/^refs\/pull\//.test(ctx.ref) && ctx.payload?.pull_request?.base?.ref != undefined) {
return ctx.payload.pull_request.base.ref;
if (/^refs\/pull\//.test(context.ref) && context.payload?.pull_request?.base?.ref != undefined) {
return context.payload.pull_request.base.ref;
}
return '';
},
commit_date: function (format, options) {
const m = moment(commitDate);
let tz = 'UTC';
Object.keys(options.hash).forEach(key => {
switch (key) {
case 'tz':
tz = options.hash[key];
break;
default:
throw new Error(`Unknown ${key} attribute`);
}
});
return m.tz(tz).format(format);
},
is_default_branch: function () {
const branch = ctx.ref.replace(/^refs\/heads\//g, '');
const branch = context.ref.replace(/^refs\/heads\//g, '');
// TODO: "base_ref" is available in the push payload but doesn't always seem to
// return the expected branch when the push tag event occurs. It's also not
// documented in GitHub docs: https://docs.github.com/en/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push
// more context: https://github.com/docker/metadata-action/pull/192#discussion_r854673012
// if (/^refs\/tags\//.test(ctx.ref) && ctx.payload?.base_ref != undefined) {
// branch = ctx.payload.base_ref.replace(/^refs\/heads\//g, '');
// if (/^refs\/tags\//.test(context.ref) && context.payload?.base_ref != undefined) {
// branch = context.payload.base_ref.replace(/^refs\/heads\//g, '');
// }
if (branch == undefined || branch.length == 0) {
return 'false';
}
if (ctx.payload?.repository?.default_branch == branch) {
if (context.payload?.repository?.default_branch == branch) {
return 'true';
}
// following events always trigger for last commit on default branch
// https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
if (/create/.test(ctx.eventName) || /discussion/.test(ctx.eventName) || /issues/.test(ctx.eventName) || /schedule/.test(ctx.eventName)) {
if (/create/.test(context.eventName) || /discussion/.test(context.eventName) || /issues/.test(context.eventName) || /schedule/.test(context.eventName)) {
return 'true';
}
return 'false';
},
is_not_default_branch: function () {
return this.is_default_branch() === 'false' ? 'true' : 'false';
},
date: function (format, options) {
const m = moment(currentDate);
let tz = 'UTC';
@@ -450,26 +494,51 @@ export class Meta {
return images;
}
public getTags(): Array<string> {
public getTags(namesOnly?: boolean): Array<string> {
if (!this.version.main) {
return [];
}
if (namesOnly) {
return this.generateTags(this.version.main);
}
const tags: Array<string> = [];
for (const imageName of this.getImageNames()) {
tags.push(`${imageName}:${this.version.main}`);
for (const partial of this.version.partial) {
tags.push(`${imageName}:${partial}`);
}
if (this.version.latest) {
const latestTag = `${this.flavor.prefixLatest ? this.flavor.prefix : ''}latest${this.flavor.suffixLatest ? this.flavor.suffix : ''}`;
tags.push(`${imageName}:${Meta.sanitizeTag(latestTag)}`);
const images = this.getImageNames();
if (images.length > 0) {
for (const imageName of images) {
tags.push(...this.generateTags(this.version.main, imageName));
}
} else {
tags.push(...this.generateTags(this.version.main));
}
return tags;
}
private generateTags(version: string, imageName?: string): Array<string> {
const tags: Array<string> = [];
const prefix = imageName ? `${imageName}:` : '';
tags.push(`${prefix}${version}`);
for (const partial of this.version.partial) {
tags.push(`${prefix}${partial}`);
}
if (this.version.latest) {
const latestTag = `${this.flavor.prefixLatest ? this.flavor.prefix : ''}latest${this.flavor.suffixLatest ? this.flavor.suffix : ''}`;
tags.push(`${prefix}${Meta.sanitizeTag(latestTag)}`);
}
return tags;
}
public getLabels(): Array<string> {
const labels: Array<string> = [
return this.getOCIAnnotationsWithCustoms(this.inputs.labels);
}
public getAnnotations(): Array<string> {
return this.getOCIAnnotationsWithCustoms(this.inputs.annotations);
}
private getOCIAnnotationsWithCustoms(extra: string[]): Array<string> {
const res: Array<string> = [
`org.opencontainers.image.title=${this.repo.name || ''}`,
`org.opencontainers.image.description=${this.repo.description || ''}`,
`org.opencontainers.image.url=${this.repo.html_url || ''}`,
@@ -479,12 +548,87 @@ export class Meta {
`org.opencontainers.image.revision=${this.context.sha || ''}`,
`org.opencontainers.image.licenses=${this.repo.license?.spdx_id || ''}`
];
labels.push(...this.inputs.labels);
return labels;
extra.forEach(label => {
res.push(this.setGlobalExp(label));
});
return Array.from(
new Map<string, string>(
res
.map(label => label.split('='))
// eslint-disable-next-line @typescript-eslint/no-unused-vars
.filter(([_key, ...values]) => values.length > 0)
.map(([key, ...values]) => [key, values.join('=')] as [string, string])
)
)
.sort((a, b) => a[0].localeCompare(b[0]))
.map(([key, value]) => `${key}=${value}`);
}
public getJSON(): unknown {
public getJSON(alevels: string[]): unknown {
const annotations: Array<string> = [];
for (const level of alevels) {
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
}
return {
tags: this.getTags(),
'tag-names': this.getTags(true),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {}),
annotations: annotations
};
}
public getBakeFile(kind: string): string {
if (kind == 'tags') {
return this.generateBakeFile(
{
tags: this.getTags(),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
},
kind
);
} else if (kind == 'labels') {
return this.generateBakeFile(
{
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {})
},
kind
);
} else if (kind.startsWith('annotations:')) {
const name = kind.split(':')[0];
const annotations: Array<string> = [];
for (const level of kind.split(':')[1].split(',')) {
annotations.push(...this.getAnnotations().map(label => `${level}:${label}`));
}
return this.generateBakeFile(
{
annotations: annotations
},
name
);
}
throw new Error(`Unknown bake file type: ${kind}`);
}
public getBakeFileTagsLabels(): string {
return this.generateBakeFile({
tags: this.getTags(),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
@@ -493,39 +637,17 @@ export class Meta {
}
res[matches[1]] = matches[2];
return res;
}, {})
};
}, {}),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
});
}
public getBakeFile(): string {
const bakeFile = path.join(tmpDir(), 'docker-metadata-action-bake.json').split(path.sep).join(path.posix.sep);
fs.writeFileSync(
bakeFile,
JSON.stringify(
{
target: {
[this.inputs.bakeTarget]: {
tags: this.getTags(),
labels: this.getLabels().reduce((res, label) => {
const matches = label.match(/([^=]*)=(.*)/);
if (!matches) {
return res;
}
res[matches[1]] = matches[2];
return res;
}, {}),
args: {
DOCKER_META_IMAGES: this.getImageNames().join(','),
DOCKER_META_VERSION: this.version.main
}
}
}
},
null,
2
)
);
private generateBakeFile(dt, suffix?: string): string {
const bakeFile = path.join(ToolkitContext.tmpDir(), `docker-metadata-action-bake${suffix ? `-${suffix}` : ''}.json`);
fs.writeFileSync(bakeFile, JSON.stringify({target: {[this.inputs.bakeTarget]: dt}}, null, 2));
return bakeFile;
}
@@ -536,4 +658,18 @@ export class Meta {
private static sanitizeTag(tag: string): string {
return tag.replace(/[^a-zA-Z0-9._-]+/g, '-');
}
private static shortSha(sha: string): string {
let shortShaLength = defaultShortShaLength;
if (process.env.DOCKER_METADATA_SHORT_SHA_LENGTH) {
if (isNaN(Number(process.env.DOCKER_METADATA_SHORT_SHA_LENGTH))) {
throw new Error(`DOCKER_METADATA_SHORT_SHA_LENGTH is not a valid number: ${process.env.DOCKER_METADATA_SHORT_SHA_LENGTH}`);
}
shortShaLength = Number(process.env.DOCKER_METADATA_SHORT_SHA_LENGTH);
}
if (shortShaLength >= sha.length) {
return sha;
}
return sha.substring(0, shortShaLength);
}
}
+5 -2
View File
@@ -104,10 +104,10 @@ export function Parse(s: string): Tag {
const value = parts[1];
switch (key) {
case 'type': {
if (!Object.values(Type).includes(value)) {
if (!Object.values(Type).includes(value as Type)) {
throw new Error(`Unknown tag type attribute: ${value}`);
}
tag.type = value;
tag.type = value as Type;
break;
}
default: {
@@ -137,6 +137,9 @@ export function Parse(s: string): Tag {
if (!Object.prototype.hasOwnProperty.call(tag.attrs, 'value')) {
tag.attrs['value'] = '';
}
if (!Object.prototype.hasOwnProperty.call(tag.attrs, 'match')) {
tag.attrs['match'] = '';
}
break;
}
case Type.Match: {
+14
View File
@@ -0,0 +1,14 @@
# syntax=docker/dockerfile:1
FROM alpine
RUN apk add --no-cache coreutils jq
ARG DOCKER_METADATA_OUTPUT_VERSION
ARG DOCKER_METADATA_OUTPUT_TAGS
ARG DOCKER_METADATA_OUTPUT_LABELS
ARG DOCKER_METADATA_OUTPUT_ANNOTATIONS
ARG DOCKER_METADATA_OUTPUT_JSON
RUN printenv DOCKER_METADATA_OUTPUT_VERSION
RUN printenv DOCKER_METADATA_OUTPUT_TAGS
RUN printenv DOCKER_METADATA_OUTPUT_LABELS
RUN printenv DOCKER_METADATA_OUTPUT_ANNOTATIONS
RUN printenv DOCKER_METADATA_OUTPUT_JSON
RUN echo $DOCKER_METADATA_OUTPUT_JSON | jq
+5 -8
View File
@@ -1,20 +1,17 @@
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"module": "nodenext",
"moduleResolution": "nodenext",
"esModuleInterop": true,
"newLine": "lf",
"outDir": "./lib",
"rootDir": "./src",
"esModuleInterop": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"noImplicitAny": false,
"resolveJsonModule": true,
"useUnknownInCatchVariables": false,
},
"exclude": [
"node_modules",
"**/*.test.ts",
"jest.config.ts"
"include": [
"src/**/*.ts"
]
}
+16
View File
@@ -0,0 +1,16 @@
import {defineConfig} from 'vitest/config';
export default defineConfig({
test: {
clearMocks: true,
environment: 'node',
setupFiles: ['./__tests__/setup.unit.ts'],
include: ['**/*.test.ts'],
coverage: {
provider: 'v8',
reporter: ['clover'],
include: ['src/**/*.ts'],
exclude: ['src/**/main.ts']
}
}
});
+6393 -3813
View File
File diff suppressed because it is too large. Load diff