├── .github └── workflows │ ├── publish.yaml │ ├── release.yaml │ └── test.yaml ├── .gitignore ├── .npmignore ├── LICENSE ├── README.md ├── eslint.config.mjs ├── package.json ├── pnpm-lock.yaml ├── src ├── config.ts ├── index.ts ├── uploader.ts └── utils.ts └── tsconfig.json /.github/workflows/publish.yaml: -------------------------------------------------------------------------------- 1 | name: publish 2 | 3 | on: 4 | release: 5 | types: [published, released] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | publish: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Checkout 13 | uses: actions/checkout@v4 14 | 15 | - name: Install pnpm 16 | uses: pnpm/action-setup@v4 17 | with: 18 | version: 9 19 | 20 | - name: Setup Node 21 | uses: actions/setup-node@v4 22 | with: 23 | node-version: 20 24 | registry-url: 'https://registry.npmjs.org' 25 | cache: 'pnpm' 26 | 27 | - name: Install dependencies 28 | run: pnpm install 29 | 30 | - name: Build 31 | run: pnpm run build && ls -lah dist/ 32 | 33 | - name: Publish 34 | id: publish 35 | if: github.repository == 'wayjam/picgo-plugin-s3' 36 | uses: JS-DevTools/npm-publish@v3 37 | with: 38 | registry: 'https://registry.npmjs.org' 39 | token: ${{ secrets.NPM_TOKEN }} 40 | 41 | - name: Output 42 | if: steps.publish.outputs.type != 'none' 43 | run: | 44 | echo "Version changed: ${{ steps.publish.outputs.old-version }} => ${{ steps.publish.outputs.version }}" 45 | -------------------------------------------------------------------------------- /.github/workflows/release.yaml: -------------------------------------------------------------------------------- 1 | name: 0x📦 Release New Version 2 | run-name: 📦 Release ${{ inputs.semver }}/${{ inputs.custom_version }} by @${{ github.actor }} ${{ inputs.dry_run && '(🧪 Dry-Run)' || '' }} 3 | 4 | on: 5 | workflow_dispatch: 6 | inputs: 7 | semver: 8 | type: choice 9 | description: Which version you want to increment? 10 | options: 11 | - patch 12 | - minor 13 | - major 14 | required: true 15 | custom_version: 16 | description: Manual Custom Version (Special Purpose, e.g. 1.0.0) 17 | type: string 18 | required: false 19 | dry_run: 20 | description: "Dry run?" 21 | type: boolean 22 | default: false 23 | 24 | jobs: 25 | release: 26 | runs-on: ubuntu-latest 27 | permissions: 28 | contents: write 29 | actions: write 30 | steps: 31 | - name: Checkout repository 32 | uses: actions/checkout@v4 33 | 34 | - name: Calc Version 35 | id: tag_version 36 | uses: mathieudutour/github-tag-action@v6.2 37 | with: 38 | github_token: ${{ secrets.GITHUB_TOKEN }} 39 | default_bump: ${{ inputs.semver }} 40 | custom_tag: ${{ inputs.custom_version }} 41 | dry_run: "true" 42 | 43 | - name: Bump version and push tag 44 | if: inputs.dry_run == false 45 | run: | 46 | # Configure Git 47 | git config --local user.email "github-actions[bot]@users.noreply.github.com" 48 | git config --local user.name "github-actions[bot]" 49 | 50 | # Update package.json version 51 | npm version ${{ steps.tag_version.outputs.new_version }} --no-git-tag-version 52 | 53 | # Commit changes 54 | git add package.json 55 | git commit -m "release: bump version into ${{ steps.tag_version.outputs.new_tag }}" 56 | git push 57 | 58 | # Create and push tag 59 | git tag ${{ steps.tag_version.outputs.new_tag }} 60 | git push origin ${{ steps.tag_version.outputs.new_tag }} 61 | 62 | - name: Create a GitHub release 63 | if: inputs.dry_run == false 64 | uses: ncipollo/release-action@v1 65 | with: 66 | tag: ${{ steps.tag_version.outputs.new_tag }} 67 | name: ${{ steps.tag_version.outputs.new_tag }} 68 | body: ${{ steps.tag_version.outputs.changelog }} 69 | draft: ${{ inputs.dry_run }} 70 | 71 | - name: Dispatch Build 72 | uses: benc-uk/workflow-dispatch@v1 73 | if: inputs.dry_run == false 74 | with: 75 | workflow: publish.yaml 76 | -------------------------------------------------------------------------------- /.github/workflows/test.yaml: -------------------------------------------------------------------------------- 1 | name: test 2 | 3 | # Controls when the action will run. 4 | on: 5 | # Triggers the workflow on push or pull request events but only for the main branch 6 | push: 7 | branches: 8 | - main 9 | - dev 10 | paths: 11 | - '**.js' 12 | - '**.ts' 13 | - 'package.json' 14 | - 'pnpm-lock.yaml' 15 | pull_request: 16 | types: 17 | - opened 18 | branches: 19 | - main 20 | paths: 21 | - '**.js' 22 | - '**.ts' 23 | - 'package.json' 24 | - 'pnpm-lock.yaml' 25 | 26 | # Allows you to run this workflow manually from the Actions tab 27 | workflow_dispatch: 28 | 29 | jobs: 30 | test: 31 | runs-on: ubuntu-latest 32 | steps: 33 | - name: Checkout 34 | uses: actions/checkout@v4 35 | 36 | - name: Install pnpm 37 | uses: pnpm/action-setup@v4 38 | with: 39 | version: 9 40 | 41 | - name: Setup Node 42 | uses: actions/setup-node@v4 43 | with: 44 | node-version: 20 45 | registry-url: 'https://registry.npmjs.org' 46 | cache: 'pnpm' 47 | 48 | - name: Install dependencies 49 | run: pnpm install 50 | 51 | - name: Build Test 52 | run: pnpm run build && ls -lah dist/ 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist/ 3 | .DS_Store 4 | yarn-error.log 5 | temp.js 6 | package-lock.json 7 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | yarn-error.log 3 | temp.js 4 | package-lock.json 5 | tsconfig.json 6 | tslint.json 7 | pnpm-lock.yaml 8 | .vscode/ 9 | src/ 10 | .travis.yml 11 | .github/ 12 | eslint.config.mjs -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 WayJam So 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 | ## picgo-plugin-s3 3 | 4 | ![github-action](https://github.com/wayjam/picgo-plugin-s3/workflows/publish/badge.svg) 5 | ![license](https://img.shields.io/github/license/wayjam/picgo-plugin-s3) 6 | [![npm](https://img.shields.io/npm/v/picgo-plugin-s3?style=flat)](https://www.npmjs.com/package/picgo-plugin-s3) 7 | 8 | [PicGo](https://github.com/PicGo/PicGo-Core) Amazon S3 上传插件。 9 | 10 | - 支持 Amazon S3 与其他如 backblaze b2 等兼容 S3 API 的云存储 11 | - 支持 PicGO GUI 12 | - 支持 MinIO 13 | 14 | ### 安装 Installation 15 | 16 | GUI 直接搜索 _S3_ 下载即可,Core 版执行 `picgo add s3` 安装。 17 | 18 | ### 配置 Configuration 19 | 20 | ```sh 21 | picgo set uploader aws-s3 22 | ``` 23 | 24 | | Key | 说明 | 例子 | 25 | | -------------------------- | -------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | 26 | | `accessKeyID` | AWS 凭证 ID | | 27 | | `secretAccessKey` | AWS 凭证密钥 | | 28 | | `bucketName` | S3 桶名称 | `gallery` | 29 | | `uploadPath` | 上传路径,详细配置查看以下说明 | `{year}/{month}/{fullName}` | 30 | | `endpoint` | 指定自定义终端节点 | `s3.us-west-2.amazonaws.com` | 31 | | `proxy` | 代理地址 | 支持 http 代理,例如 `http://127.0.0.1:1080` | 32 | | `region` | 指定执行服务请求的区域 | `us-west-1` | 33 | | `pathStyleAccess` | 是否启用 S3 Path style | 默认为 `false`,使用 minio 请设置为 `true` (e.g., https://s3.amazonaws.com// instead of https://.s3.amazonaws.com/) | 34 | | `rejectUnauthorized` | 是否拒绝无效 TLS 证书连接 | 默认为 `true`,如上传失败日志显示证书问题可设置为`false` | 35 | | `acl` | 访问控制列表,上传资源的访问策略 | 默认为 `public-read`, AWS 可选 `private" | "public-read" | "public-read-write" | "authenticated-read" | "aws-exec-read" | "bucket-owner-read" | "bucket-owner-full-control` | 36 | | `outputURLPattern` | 自定义输出 URL 模板,详细配置查看以下说明 | `{protocol}://{host}:{port}/{path}` | 37 | | `urlPrefix` | 最终生成图片 URL 的自定义前缀(已废弃,请使用 outputURLPattern) | `https://img.example.com/my-blog/` | 38 | | `urlSuffix` | 最终生成图片 URL 的自定义后缀(已废弃,请使用 outputURLPattern) | `?oxx=xxx` | 39 | | `disableBucketPrefixToURL` | 开启 `pathStyleAccess` 时,是否要禁用最终生成 URL 中添加 bucket 前缀 (已废弃,请使用 outputURLPattern) | 默认为 `false` | 40 | 41 | #### 通用占位符 Payload 42 | 43 | _上传路径_ 和 _自定义输出 URL 模板_ 支持的通用占位符,插件将会自行用变量替换到实际使用的路径中。 44 | 45 | | payload | 描述 | 46 | | --------------- | ------------------- | 47 | | `{year}` | 当前日期 - 年 | 48 | | `{month}` | 当前日期 - 月 | 49 | | `{day}` | 当前日期 - 日 | 50 | | `{hour}` | 当前日期 - 时 | 51 | | `{minute}` | 当前日期 - 分 | 52 | | `{second}` | 当前日期 - 秒 | 53 | | `{millisecond}` | 当前日期 - 毫秒 | 54 | | `{timestamp}` | Unix 时间戳 | 55 | | `{timestampMS}` | Unix 时间戳(毫秒) | 56 | 57 | #### 上传路径(`uploadPath`) 58 | 59 | 支持占位符方式配置,如 `{year}/{month}/{md5}.{extName}`。除以下列表外,还指出上述通用占位符。 60 | 61 | | payload | 描述 | 62 | | ------------ | ---------------------- | 63 | | `{fullName}` | 完整文件名(含扩展名) | 64 | | `{fileName}` | 文件名(不含扩展名) | 65 | | `{extName}` | 扩展名(不含`.`) | 66 | | `{md5}` | 图片 MD5 计算值 | 67 | | `{sha1}` | 图片 SHA1 计算值 | 68 | | `{sha256}` | 图片 SHA256 计算值 | 69 | 70 | #### 自定义输出 URL 模板(`outputURLPattern`) 71 | 72 | 支持占位符方式配置,如 `{protocol}://{host}:{port}/{path}`。除以下列表外,还指出上述通用占位符。 73 | 74 | | payload | 描述 | 例子 | 75 | | ------------ | ------------------------------------------------------------- | --------------------------------------------------------- | 76 | | `{protocol}` | 原上传 URL 的协议 | `http` 或 `https` | 77 | | `{host}` | 原上传 URL 的域名,可不不使用次此变量改为其他自己的反代的域名 | `example.com` | 78 | | `{port}` | 原上传 URL 的端口 | `80` | 79 | | `{dir}` | 原上传 URL 的目录 | `testBucket/2024/12` | 80 | | `{path}` | 原上传 URL 的完整路径 | `testBucket/2024/12/4aa4f41e38817e5fd38ac870f40dbc70.jpg` | 81 | | `{fileName}` | 文件名(含扩展名) | `test.jpg` | 82 | | `{extName}` | 扩展名(不含`.`) | `jpg` | 83 | | `{query}` | 上传 URL 的 querystirng 部分(不含 `?` ) | `height=100&width=200` | 84 | | `{hash}` | 上传 URL 的 hash 部分(不含 `#` ) | `abc` | 85 | | `{bucket}` | 上传桶名 | `testBucket` | 86 | 87 | 这个配置将会替代原有的 `urlPrefix` 、`urlSuffix`、`disableBucketPrefixToURL` 的配置。 88 | 89 | 另外每个变量都支持**正则替换** 90 | 91 | ``` 92 | 语法: 93 | {payload:/pattern/reFlag,'replacement'} 94 | ``` 95 | 96 | 比如配置为 `{protocol}://example.imgbed/{path:/testBucket/i,'myimage'}`,如果原URL为 `https://cluster-test-1.s3.us-east-001.example.com/testBucket/image.jpg` 则会生成 `https://example.imgbed/myimage/image.jpg`。 97 | 98 | #### 示例 Example 99 | 100 | ```json 101 | "aws-s3": { 102 | "accessKeyID": "xxx", 103 | "secretAccessKey": "xxxxx", 104 | "bucketName": "my-bucket", 105 | "uploadPath": "{year}/{md5}.{extName}", 106 | "endpoint": "s3.us-west-000.backblazeb2.com", 107 | "outputURLPattern": "{protocol}://{host}/{path}" 108 | } 109 | ``` 110 | 111 | 如果 PicGo 像以上配置,执行上传:`picgo upload sample.png`,则最终得到图片地址为:`https://img.example.com/2021/4aa4f41e38817e5fd38ac870f40dbc70.jpg` 112 | 113 | ## 发布 Publish 114 | 115 | With the following command, a versioned commit which modifies the `version` of `package.json` would be genereated and pushed to the origin. Github Action will automatically compile this pacakage and publish it to NPM. 116 | 117 | ```sh 118 | npm run patch 119 | npm run minor 120 | npm run major 121 | ``` 122 | 123 | ## 贡献 Contributing 124 | 125 | Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. 126 | 127 | ## 许可证 License 128 | 129 | Released under the [MIT License](https://github.com/wayjam/picgo-plugin-s3/blob/master/LICENSE). 130 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import prettier from "eslint-plugin-prettier" 2 | import typescriptEslint from "@typescript-eslint/eslint-plugin" 3 | import tsParser from "@typescript-eslint/parser" 4 | import globals from "globals" 5 | import js from "@eslint/js" 6 | import eslintConfigPrettier from "eslint-config-prettier" 7 | 8 | export default [ 9 | { 10 | // Note: there should be no other properties in this object 11 | ignores: ["dist/*"], 12 | }, 13 | js.configs.recommended, 14 | eslintConfigPrettier, 15 | { 16 | languageOptions: { 17 | ecmaVersion: 2022, 18 | globals: { 19 | ...globals.node, 20 | }, 21 | parser: tsParser, 22 | }, 23 | plugins: { 24 | prettier, 25 | "@typescript-eslint": typescriptEslint, 26 | }, 27 | rules: { 28 | "prettier/prettier": [ 29 | "error", 30 | { 31 | semi: false, 32 | }, 33 | ], 34 | }, 35 | }, 36 | ] 37 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "picgo-plugin-s3", 3 | "version": "1.4.1", 4 | "description": "picgo amazon s3 uploader", 5 | "main": "dist/index.js", 6 | "publishConfig": { 7 | "access": "public" 8 | }, 9 | "type": "commonjs", 10 | "homepage": "https://github.com/wayjam/picgo-plugin-s3", 11 | "scripts": { 12 | "test": "echo \"Error: no test specified\" && exit 1", 13 | "build": "tsc -p .", 14 | "dev": "tsc -w -p .", 15 | "pub": "rm -rf dist/* && npm build && npm publish", 16 | "push": "git push origin main && git push origin --tags", 17 | "patch": "npm version patch -m 'bump version into v%s'", 18 | "minor": "npm version minor -m 'bump version into v%s'", 19 | "major": "npm version major -m 'bump version into v%s'" 20 | }, 21 | "keywords": [ 22 | "amazon-s3", 23 | "aws-s3", 24 | "s3", 25 | "picgo", 26 | "picgo-gui-plugin", 27 | "picgo-plugin" 28 | ], 29 | "author": "WayJam So", 30 | "license": "MIT", 31 | "devDependencies": { 32 | "@types/mime": "^3.0.4", 33 | "@eslint/js": "^9.16.0", 34 | "@types/node": "^22.10.1", 35 | "@typescript-eslint/eslint-plugin": "^8.17.0", 36 | "@typescript-eslint/parser": "^8.17.0", 37 | "eslint": "^9.16.0", 38 | "eslint-config-prettier": "^9.1.0", 39 | "eslint-plugin-prettier": "^5.2.1", 40 | "prettier": "^3.4.2", 41 | "typescript": "^5.7.2" 42 | }, 43 | "dependencies": { 44 | "@aws-sdk/client-s3": "~3.729.0", 45 | "@aws-sdk/lib-storage": "~3.729.0", 46 | "@aws-sdk/s3-request-presigner": "~3.729.0", 47 | "@smithy/node-http-handler": "~3.3.1", 48 | "file-type": ">16.5.0 <17.0.0", 49 | "hpagent": "~1.2.0", 50 | "mime": ">=3.0.0 <4.0.0", 51 | "picgo": "^1.5.8" 52 | }, 53 | "pnpm": { 54 | "overrides": { 55 | "got@<11.8.5": ">=11.8.5", 56 | "ejs@<3.1.7": ">=3.1.7", 57 | "http-cache-semantics@<4.1.1": ">=4.1.1", 58 | "axios@>=0.8.1 <0.28.0": ">=0.28.0", 59 | "ejs@<3.1.10": ">=3.1.10" 60 | } 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | overrides: 8 | got@<11.8.5: '>=11.8.5' 9 | ejs@<3.1.7: '>=3.1.7' 10 | http-cache-semantics@<4.1.1: '>=4.1.1' 11 | axios@>=0.8.1 <0.28.0: '>=0.28.0' 12 | ejs@<3.1.10: '>=3.1.10' 13 | 14 | importers: 15 | 16 | .: 17 | dependencies: 18 | '@aws-sdk/client-s3': 19 | specifier: ~3.729.0 20 | version: 3.729.0 21 | '@aws-sdk/lib-storage': 22 | specifier: ~3.729.0 23 | version: 3.729.0(@aws-sdk/client-s3@3.729.0) 24 | '@aws-sdk/s3-request-presigner': 25 | specifier: ~3.729.0 26 | version: 3.729.0 27 | '@smithy/node-http-handler': 28 | specifier: ~3.3.1 29 | version: 3.3.1 30 | file-type: 31 | specifier: '>16.5.0 <17.0.0' 32 | version: 16.5.4 33 | hpagent: 34 | specifier: ~1.2.0 35 | version: 1.2.0 36 | mime: 37 | specifier: '>=3.0.0 <4.0.0' 38 | version: 3.0.0 39 | picgo: 40 | specifier: ^1.5.8 41 | version: 1.5.8 42 | devDependencies: 43 | '@eslint/js': 44 | specifier: ^9.16.0 45 | version: 9.16.0 46 | '@types/mime': 47 | specifier: ^3.0.4 48 | version: 3.0.4 49 | '@types/node': 50 | specifier: ^22.10.1 51 | version: 22.10.1 52 | '@typescript-eslint/eslint-plugin': 53 | specifier: ^8.17.0 54 | version: 8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2) 55 | '@typescript-eslint/parser': 56 | specifier: ^8.17.0 57 | version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) 58 | eslint: 59 | specifier: ^9.16.0 60 | version: 9.16.0 61 | eslint-config-prettier: 62 | specifier: ^9.1.0 63 | version: 9.1.0(eslint@9.16.0) 64 | eslint-plugin-prettier: 65 | specifier: ^5.2.1 66 | version: 5.2.1(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(prettier@3.4.2) 67 | prettier: 68 | specifier: ^3.4.2 69 | version: 3.4.2 70 | typescript: 71 | specifier: ^5.7.2 72 | version: 5.7.2 73 | 74 | packages: 75 | 76 | '@aws-crypto/crc32@5.2.0': 77 | resolution: {integrity: sha512-nLbCWqQNgUiwwtFsen1AdzAtvuLRsQS8rYgMuxCrdKf9kOssamGLuPwyTY9wyYblNr9+1XM8v6zoDTPPSIeANg==} 78 | engines: {node: '>=16.0.0'} 79 | 80 | '@aws-crypto/crc32c@5.2.0': 81 | resolution: {integrity: sha512-+iWb8qaHLYKrNvGRbiYRHSdKRWhto5XlZUEBwDjYNf+ly5SVYG6zEoYIdxvf5R3zyeP16w4PLBn3rH1xc74Rag==} 82 | 83 | '@aws-crypto/sha1-browser@5.2.0': 84 | resolution: {integrity: sha512-OH6lveCFfcDjX4dbAvCFSYUjJZjDr/3XJ3xHtjn3Oj5b9RjojQo8npoLeA/bNwkOkrSQ0wgrHzXk4tDRxGKJeg==} 85 | 86 | '@aws-crypto/sha256-browser@5.2.0': 87 | resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} 88 | 89 | '@aws-crypto/sha256-js@5.2.0': 90 | resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} 91 | engines: {node: '>=16.0.0'} 92 | 93 | '@aws-crypto/supports-web-crypto@5.2.0': 94 | resolution: {integrity: sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==} 95 | 96 | '@aws-crypto/util@5.2.0': 97 | resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} 98 | 99 | '@aws-sdk/client-s3@3.729.0': 100 | resolution: {integrity: sha512-hpagpazcfOYtxE4nDlR/6JcaIdZ3T2BUt2Ev11Zyz2B5G8eC1dWJgvFsW7ws35252Nb6HTLkJajtnM3v9KtXGw==} 101 | engines: {node: '>=18.0.0'} 102 | 103 | '@aws-sdk/client-sso-oidc@3.726.0': 104 | resolution: {integrity: sha512-5JzTX9jwev7+y2Jkzjz0pd1wobB5JQfPOQF3N2DrJ5Pao0/k6uRYwE4NqB0p0HlGrMTDm7xNq7OSPPIPG575Jw==} 105 | engines: {node: '>=18.0.0'} 106 | peerDependencies: 107 | '@aws-sdk/client-sts': ^3.726.0 108 | 109 | '@aws-sdk/client-sso@3.726.0': 110 | resolution: {integrity: sha512-NM5pjv2qglEc4XN3nnDqtqGsSGv1k5YTmzDo3W3pObItHmpS8grSeNfX9zSH+aVl0Q8hE4ZIgvTPNZ+GzwVlqg==} 111 | engines: {node: '>=18.0.0'} 112 | 113 | '@aws-sdk/client-sts@3.726.1': 114 | resolution: {integrity: sha512-qh9Q9Vu1hrM/wMBOBIaskwnE4GTFaZu26Q6WHwyWNfj7J8a40vBxpW16c2vYXHLBtwRKM1be8uRLkmDwghpiNw==} 115 | engines: {node: '>=18.0.0'} 116 | 117 | '@aws-sdk/core@3.723.0': 118 | resolution: {integrity: sha512-UraXNmvqj3vScSsTkjMwQkhei30BhXlW5WxX6JacMKVtl95c7z0qOXquTWeTalYkFfulfdirUhvSZrl+hcyqTw==} 119 | engines: {node: '>=18.0.0'} 120 | 121 | '@aws-sdk/credential-provider-env@3.723.0': 122 | resolution: {integrity: sha512-OuH2yULYUHTVDUotBoP/9AEUIJPn81GQ/YBtZLoo2QyezRJ2QiO/1epVtbJlhNZRwXrToLEDmQGA2QfC8c7pbA==} 123 | engines: {node: '>=18.0.0'} 124 | 125 | '@aws-sdk/credential-provider-http@3.723.0': 126 | resolution: {integrity: sha512-DTsKC6xo/kz/ZSs1IcdbQMTgiYbpGTGEd83kngFc1bzmw7AmK92DBZKNZpumf8R/UfSpTcj9zzUUmrWz1kD0eQ==} 127 | engines: {node: '>=18.0.0'} 128 | 129 | '@aws-sdk/credential-provider-ini@3.726.0': 130 | resolution: {integrity: sha512-seTtcKL2+gZX6yK1QRPr5mDJIBOatrpoyrO8D5b8plYtV/PDbDW3mtDJSWFHet29G61ZmlNElyXRqQCXn9WX+A==} 131 | engines: {node: '>=18.0.0'} 132 | peerDependencies: 133 | '@aws-sdk/client-sts': ^3.726.0 134 | 135 | '@aws-sdk/credential-provider-node@3.726.0': 136 | resolution: {integrity: sha512-jjsewBcw/uLi24x8JbnuDjJad4VA9ROCE94uVRbEnGmUEsds75FWOKp3fWZLQlmjLtzsIbJOZLALkZP86liPaw==} 137 | engines: {node: '>=18.0.0'} 138 | 139 | '@aws-sdk/credential-provider-process@3.723.0': 140 | resolution: {integrity: sha512-fgupvUjz1+jeoCBA7GMv0L6xEk92IN6VdF4YcFhsgRHlHvNgm7ayaoKQg7pz2JAAhG/3jPX6fp0ASNy+xOhmPA==} 141 | engines: {node: '>=18.0.0'} 142 | 143 | '@aws-sdk/credential-provider-sso@3.726.0': 144 | resolution: {integrity: sha512-WxkN76WeB08j2yw7jUH9yCMPxmT9eBFd9ZA/aACG7yzOIlsz7gvG3P2FQ0tVg25GHM0E4PdU3p/ByTOawzcOAg==} 145 | engines: {node: '>=18.0.0'} 146 | 147 | '@aws-sdk/credential-provider-web-identity@3.723.0': 148 | resolution: {integrity: sha512-tl7pojbFbr3qLcOE6xWaNCf1zEfZrIdSJtOPeSXfV/thFMMAvIjgf3YN6Zo1a6cxGee8zrV/C8PgOH33n+Ev/A==} 149 | engines: {node: '>=18.0.0'} 150 | peerDependencies: 151 | '@aws-sdk/client-sts': ^3.723.0 152 | 153 | '@aws-sdk/lib-storage@3.729.0': 154 | resolution: {integrity: sha512-xOR6UftvxbO8QE8Lvtc6uJlxaBgZk4q4ieBNzVcMp2yeVHPe1shjCF+bGJGWZUv5l9/a7IeEiGx49RDpPsE0EQ==} 155 | engines: {node: '>=18.0.0'} 156 | peerDependencies: 157 | '@aws-sdk/client-s3': ^3.729.0 158 | 159 | '@aws-sdk/middleware-bucket-endpoint@3.726.0': 160 | resolution: {integrity: sha512-vpaP80rZqwu0C3ELayIcRIW84/nd1tadeoqllT+N9TDshuEvq4UJ+w47OBHB7RkHFJoc79lXXNYle0fdQdaE/A==} 161 | engines: {node: '>=18.0.0'} 162 | 163 | '@aws-sdk/middleware-expect-continue@3.723.0': 164 | resolution: {integrity: sha512-w/O0EkIzkiqvGu7U8Ke7tue0V0HYM5dZQrz6nVU+R8T2LddWJ+njEIHU4Wh8aHPLQXdZA5NQumv0xLPdEutykw==} 165 | engines: {node: '>=18.0.0'} 166 | 167 | '@aws-sdk/middleware-flexible-checksums@3.729.0': 168 | resolution: {integrity: sha512-GY92MQ7Pr8hK2rwKmOYSGMmfPQRCWRJ3s1aAIyJBpOHUejWdaNAi78vxeUzVkmGdVjUfF6hRTRAxqV7MnHwe/g==} 169 | engines: {node: '>=18.0.0'} 170 | 171 | '@aws-sdk/middleware-host-header@3.723.0': 172 | resolution: {integrity: sha512-LLVzLvk299pd7v4jN9yOSaWDZDfH0SnBPb6q+FDPaOCMGBY8kuwQso7e/ozIKSmZHRMGO3IZrflasHM+rI+2YQ==} 173 | engines: {node: '>=18.0.0'} 174 | 175 | '@aws-sdk/middleware-location-constraint@3.723.0': 176 | resolution: {integrity: sha512-inp9tyrdRWjGOMu1rzli8i2gTo0P4X6L7nNRXNTKfyPNZcBimZ4H0H1B671JofSI5isaklVy5r4pvv2VjjLSHw==} 177 | engines: {node: '>=18.0.0'} 178 | 179 | '@aws-sdk/middleware-logger@3.723.0': 180 | resolution: {integrity: sha512-chASQfDG5NJ8s5smydOEnNK7N0gDMyuPbx7dYYcm1t/PKtnVfvWF+DHCTrRC2Ej76gLJVCVizlAJKM8v8Kg3cg==} 181 | engines: {node: '>=18.0.0'} 182 | 183 | '@aws-sdk/middleware-recursion-detection@3.723.0': 184 | resolution: {integrity: sha512-7usZMtoynT9/jxL/rkuDOFQ0C2mhXl4yCm67Rg7GNTstl67u7w5WN1aIRImMeztaKlw8ExjoTyo6WTs1Kceh7A==} 185 | engines: {node: '>=18.0.0'} 186 | 187 | '@aws-sdk/middleware-sdk-s3@3.723.0': 188 | resolution: {integrity: sha512-wfjOvNJVp8LDWhq4wO5jtSMb8Vgf4tNlR7QTEQfoYc6AGU3WlK5xyUQcpfcpwytEhQTN9u0cJLQpSyXDO+qSCw==} 189 | engines: {node: '>=18.0.0'} 190 | 191 | '@aws-sdk/middleware-ssec@3.723.0': 192 | resolution: {integrity: sha512-Bs+8RAeSMik6ZYCGSDJzJieGsDDh2fRbh1HQG94T8kpwBXVxMYihm6e9Xp2cyl+w9fyyCnh0IdCKChP/DvrdhA==} 193 | engines: {node: '>=18.0.0'} 194 | 195 | '@aws-sdk/middleware-user-agent@3.726.0': 196 | resolution: {integrity: sha512-hZvzuE5S0JmFie1r68K2wQvJbzyxJFdzltj9skgnnwdvLe8F/tz7MqLkm28uV0m4jeHk0LpiBo6eZaPkQiwsZQ==} 197 | engines: {node: '>=18.0.0'} 198 | 199 | '@aws-sdk/region-config-resolver@3.723.0': 200 | resolution: {integrity: sha512-tGF/Cvch3uQjZIj34LY2mg8M2Dr4kYG8VU8Yd0dFnB1ybOEOveIK/9ypUo9ycZpB9oO6q01KRe5ijBaxNueUQg==} 201 | engines: {node: '>=18.0.0'} 202 | 203 | '@aws-sdk/s3-request-presigner@3.729.0': 204 | resolution: {integrity: sha512-5jfIFi/rygbUzyCY3PjcehXJRxwqqP3SS3klKxxR3p+fbZcKoV5sknn8hhYnfSPteCmOLqELNP+EG/9I+F3a2w==} 205 | engines: {node: '>=18.0.0'} 206 | 207 | '@aws-sdk/signature-v4-multi-region@3.723.0': 208 | resolution: {integrity: sha512-lJlVAa5Sl589qO8lwMLVUtnlF1Q7I+6k1Iomv2goY9d1bRl4q2N5Pit2qJVr2AMW0sceQXeh23i2a/CKOqVAdg==} 209 | engines: {node: '>=18.0.0'} 210 | 211 | '@aws-sdk/token-providers@3.723.0': 212 | resolution: {integrity: sha512-hniWi1x4JHVwKElANh9afKIMUhAutHVBRD8zo6usr0PAoj+Waf220+1ULS74GXtLXAPCiNXl5Og+PHA7xT8ElQ==} 213 | engines: {node: '>=18.0.0'} 214 | peerDependencies: 215 | '@aws-sdk/client-sso-oidc': ^3.723.0 216 | 217 | '@aws-sdk/types@3.723.0': 218 | resolution: {integrity: sha512-LmK3kwiMZG1y5g3LGihT9mNkeNOmwEyPk6HGcJqh0wOSV4QpWoKu2epyKE4MLQNUUlz2kOVbVbOrwmI6ZcteuA==} 219 | engines: {node: '>=18.0.0'} 220 | 221 | '@aws-sdk/util-arn-parser@3.723.0': 222 | resolution: {integrity: sha512-ZhEfvUwNliOQROcAk34WJWVYTlTa4694kSVhDSjW6lE1bMataPnIN8A0ycukEzBXmd8ZSoBcQLn6lKGl7XIJ5w==} 223 | engines: {node: '>=18.0.0'} 224 | 225 | '@aws-sdk/util-endpoints@3.726.0': 226 | resolution: {integrity: sha512-sLd30ASsPMoPn3XBK50oe/bkpJ4N8Bpb7SbhoxcY3Lk+fSASaWxbbXE81nbvCnkxrZCvkPOiDHzJCp1E2im71A==} 227 | engines: {node: '>=18.0.0'} 228 | 229 | '@aws-sdk/util-format-url@3.723.0': 230 | resolution: {integrity: sha512-70+xUrdcnencPlCdV9XkRqmgj0vLDb8vm4mcEsgabg5QQ3S80KM0GEuhBAIGMkBWwNQTzCgQy2s7xOUlJPbu+g==} 231 | engines: {node: '>=18.0.0'} 232 | 233 | '@aws-sdk/util-locate-window@3.693.0': 234 | resolution: {integrity: sha512-ttrag6haJLWABhLqtg1Uf+4LgHWIMOVSYL+VYZmAp2v4PUGOwWmWQH0Zk8RM7YuQcLfH/EoR72/Yxz6A4FKcuw==} 235 | engines: {node: '>=16.0.0'} 236 | 237 | '@aws-sdk/util-user-agent-browser@3.723.0': 238 | resolution: {integrity: sha512-Wh9I6j2jLhNFq6fmXydIpqD1WyQLyTfSxjW9B+PXSnPyk3jtQW8AKQur7p97rO8LAUzVI0bv8kb3ZzDEVbquIg==} 239 | 240 | '@aws-sdk/util-user-agent-node@3.726.0': 241 | resolution: {integrity: sha512-iEj6KX9o6IQf23oziorveRqyzyclWai95oZHDJtYav3fvLJKStwSjygO4xSF7ycHcTYeCHSLO1FFOHgGVs4Viw==} 242 | engines: {node: '>=18.0.0'} 243 | peerDependencies: 244 | aws-crt: '>=1.0.0' 245 | peerDependenciesMeta: 246 | aws-crt: 247 | optional: true 248 | 249 | '@aws-sdk/xml-builder@3.723.0': 250 | resolution: {integrity: sha512-5xK2SqGU1mzzsOeemy7cy3fGKxR1sEpUs4pEiIjaT0OIvU+fZaDVUEYWOqsgns6wI90XZEQJlXtI8uAHX/do5Q==} 251 | engines: {node: '>=18.0.0'} 252 | 253 | '@commonify/lowdb@3.0.0': 254 | resolution: {integrity: sha512-GwZq68zStvMENxEzN6EE8pacgY2Rlrs5L00BpvB6NvpDW96JUxIa8PJXd9T7qIdx07ro0ITBtw6HfSJw/qboGw==} 255 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 256 | 257 | '@commonify/steno@2.1.0': 258 | resolution: {integrity: sha512-3W0LmYb84EU82Ky18M+D0tB33W66ccoC/Ot/8mm3uBQFuaTpiWaoxntQGBTL3+bIpV4e77ks53IE3sy9BRFBxA==} 259 | engines: {node: ^14.13.1 || >=16.0.0} 260 | 261 | '@eslint-community/eslint-utils@4.4.1': 262 | resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} 263 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 264 | peerDependencies: 265 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 266 | 267 | '@eslint-community/regexpp@4.12.1': 268 | resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} 269 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 270 | 271 | '@eslint/config-array@0.19.1': 272 | resolution: {integrity: sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==} 273 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 274 | 275 | '@eslint/core@0.9.1': 276 | resolution: {integrity: sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==} 277 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 278 | 279 | '@eslint/eslintrc@3.2.0': 280 | resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} 281 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 282 | 283 | '@eslint/js@9.16.0': 284 | resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} 285 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 286 | 287 | '@eslint/object-schema@2.1.5': 288 | resolution: {integrity: sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==} 289 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 290 | 291 | '@eslint/plugin-kit@0.2.4': 292 | resolution: {integrity: sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==} 293 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 294 | 295 | '@humanfs/core@0.19.1': 296 | resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} 297 | engines: {node: '>=18.18.0'} 298 | 299 | '@humanfs/node@0.16.6': 300 | resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} 301 | engines: {node: '>=18.18.0'} 302 | 303 | '@humanwhocodes/module-importer@1.0.1': 304 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 305 | engines: {node: '>=12.22'} 306 | 307 | '@humanwhocodes/retry@0.3.1': 308 | resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} 309 | engines: {node: '>=18.18'} 310 | 311 | '@humanwhocodes/retry@0.4.1': 312 | resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} 313 | engines: {node: '>=18.18'} 314 | 315 | '@nodelib/fs.scandir@2.1.5': 316 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 317 | engines: {node: '>= 8'} 318 | 319 | '@nodelib/fs.stat@2.0.5': 320 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 321 | engines: {node: '>= 8'} 322 | 323 | '@nodelib/fs.walk@1.2.8': 324 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 325 | engines: {node: '>= 8'} 326 | 327 | '@picgo/i18n@1.0.0': 328 | resolution: {integrity: sha512-D0fqwox9AZ1pnvgFqBKQe+16U08FkPLnUW1wQSBEdn+EvI48IC3jIWDTZd1MSQzXeODnh/w4eAiUyARrf2Hzig==} 329 | 330 | '@picgo/store@2.1.0': 331 | resolution: {integrity: sha512-oD/+4hGaioSVqWmaV5/LEXJ/xfpDrwUYPDGgJx3gEYoNPG2IdIZiO++asSZsafAc03TGPlvtR3L9eOTqPaKj9w==} 332 | 333 | '@pkgr/core@0.1.1': 334 | resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} 335 | engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} 336 | 337 | '@sec-ant/readable-stream@0.4.1': 338 | resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} 339 | 340 | '@sindresorhus/is@7.0.1': 341 | resolution: {integrity: sha512-QWLl2P+rsCJeofkDNIT3WFmb6NrRud1SUYW8dIhXK/46XFV8Q/g7Bsvib0Askb0reRLe+WYPeeE+l5cH7SlkuQ==} 342 | engines: {node: '>=18'} 343 | 344 | '@smithy/abort-controller@3.1.8': 345 | resolution: {integrity: sha512-+3DOBcUn5/rVjlxGvUPKc416SExarAQ+Qe0bqk30YSUjbepwpS7QN0cyKUSifvLJhdMZ0WPzPP5ymut0oonrpQ==} 346 | engines: {node: '>=16.0.0'} 347 | 348 | '@smithy/abort-controller@4.0.1': 349 | resolution: {integrity: sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==} 350 | engines: {node: '>=18.0.0'} 351 | 352 | '@smithy/chunked-blob-reader-native@4.0.0': 353 | resolution: {integrity: sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==} 354 | engines: {node: '>=18.0.0'} 355 | 356 | '@smithy/chunked-blob-reader@5.0.0': 357 | resolution: {integrity: sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==} 358 | engines: {node: '>=18.0.0'} 359 | 360 | '@smithy/config-resolver@4.0.1': 361 | resolution: {integrity: sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==} 362 | engines: {node: '>=18.0.0'} 363 | 364 | '@smithy/core@3.1.1': 365 | resolution: {integrity: sha512-hhUZlBWYuh9t6ycAcN90XOyG76C1AzwxZZgaCVPMYpWqqk9uMFo7HGG5Zu2cEhCJn7DdOi5krBmlibWWWPgdsw==} 366 | engines: {node: '>=18.0.0'} 367 | 368 | '@smithy/credential-provider-imds@4.0.1': 369 | resolution: {integrity: sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==} 370 | engines: {node: '>=18.0.0'} 371 | 372 | '@smithy/eventstream-codec@4.0.1': 373 | resolution: {integrity: sha512-Q2bCAAR6zXNVtJgifsU16ZjKGqdw/DyecKNgIgi7dlqw04fqDu0mnq+JmGphqheypVc64CYq3azSuCpAdFk2+A==} 374 | engines: {node: '>=18.0.0'} 375 | 376 | '@smithy/eventstream-serde-browser@4.0.1': 377 | resolution: {integrity: sha512-HbIybmz5rhNg+zxKiyVAnvdM3vkzjE6ccrJ620iPL8IXcJEntd3hnBl+ktMwIy12Te/kyrSbUb8UCdnUT4QEdA==} 378 | engines: {node: '>=18.0.0'} 379 | 380 | '@smithy/eventstream-serde-config-resolver@4.0.1': 381 | resolution: {integrity: sha512-lSipaiq3rmHguHa3QFF4YcCM3VJOrY9oq2sow3qlhFY+nBSTF/nrO82MUQRPrxHQXA58J5G1UnU2WuJfi465BA==} 382 | engines: {node: '>=18.0.0'} 383 | 384 | '@smithy/eventstream-serde-node@4.0.1': 385 | resolution: {integrity: sha512-o4CoOI6oYGYJ4zXo34U8X9szDe3oGjmHgsMGiZM0j4vtNoT+h80TLnkUcrLZR3+E6HIxqW+G+9WHAVfl0GXK0Q==} 386 | engines: {node: '>=18.0.0'} 387 | 388 | '@smithy/eventstream-serde-universal@4.0.1': 389 | resolution: {integrity: sha512-Z94uZp0tGJuxds3iEAZBqGU2QiaBHP4YytLUjwZWx+oUeohCsLyUm33yp4MMBmhkuPqSbQCXq5hDet6JGUgHWA==} 390 | engines: {node: '>=18.0.0'} 391 | 392 | '@smithy/fetch-http-handler@5.0.1': 393 | resolution: {integrity: sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==} 394 | engines: {node: '>=18.0.0'} 395 | 396 | '@smithy/hash-blob-browser@4.0.1': 397 | resolution: {integrity: sha512-rkFIrQOKZGS6i1D3gKJ8skJ0RlXqDvb1IyAphksaFOMzkn3v3I1eJ8m7OkLj0jf1McP63rcCEoLlkAn/HjcTRw==} 398 | engines: {node: '>=18.0.0'} 399 | 400 | '@smithy/hash-node@4.0.1': 401 | resolution: {integrity: sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==} 402 | engines: {node: '>=18.0.0'} 403 | 404 | '@smithy/hash-stream-node@4.0.1': 405 | resolution: {integrity: sha512-U1rAE1fxmReCIr6D2o/4ROqAQX+GffZpyMt3d7njtGDr2pUNmAKRWa49gsNVhCh2vVAuf3wXzWwNr2YN8PAXIw==} 406 | engines: {node: '>=18.0.0'} 407 | 408 | '@smithy/invalid-dependency@4.0.1': 409 | resolution: {integrity: sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==} 410 | engines: {node: '>=18.0.0'} 411 | 412 | '@smithy/is-array-buffer@2.2.0': 413 | resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} 414 | engines: {node: '>=14.0.0'} 415 | 416 | '@smithy/is-array-buffer@4.0.0': 417 | resolution: {integrity: sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==} 418 | engines: {node: '>=18.0.0'} 419 | 420 | '@smithy/md5-js@4.0.1': 421 | resolution: {integrity: sha512-HLZ647L27APi6zXkZlzSFZIjpo8po45YiyjMGJZM3gyDY8n7dPGdmxIIljLm4gPt/7rRvutLTTkYJpZVfG5r+A==} 422 | engines: {node: '>=18.0.0'} 423 | 424 | '@smithy/middleware-content-length@4.0.1': 425 | resolution: {integrity: sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==} 426 | engines: {node: '>=18.0.0'} 427 | 428 | '@smithy/middleware-endpoint@4.0.2': 429 | resolution: {integrity: sha512-Z9m67CXizGpj8CF/AW/7uHqYNh1VXXOn9Ap54fenWsCa0HnT4cJuE61zqG3cBkTZJDCy0wHJphilI41co/PE5g==} 430 | engines: {node: '>=18.0.0'} 431 | 432 | '@smithy/middleware-retry@4.0.3': 433 | resolution: {integrity: sha512-TiKwwQTwUDeDtwWW8UWURTqu7s6F3wN2pmziLU215u7bqpVT9Mk2oEvURjpRLA+5XeQhM68R5BpAGzVtomsqgA==} 434 | engines: {node: '>=18.0.0'} 435 | 436 | '@smithy/middleware-serde@4.0.1': 437 | resolution: {integrity: sha512-Fh0E2SOF+S+P1+CsgKyiBInAt3o2b6Qk7YOp2W0Qx2XnfTdfMuSDKUEcnrtpxCzgKJnqXeLUZYqtThaP0VGqtA==} 438 | engines: {node: '>=18.0.0'} 439 | 440 | '@smithy/middleware-stack@4.0.1': 441 | resolution: {integrity: sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==} 442 | engines: {node: '>=18.0.0'} 443 | 444 | '@smithy/node-config-provider@4.0.1': 445 | resolution: {integrity: sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==} 446 | engines: {node: '>=18.0.0'} 447 | 448 | '@smithy/node-http-handler@3.3.1': 449 | resolution: {integrity: sha512-fr+UAOMGWh6bn4YSEezBCpJn9Ukp9oR4D32sCjCo7U81evE11YePOQ58ogzyfgmjIO79YeOdfXXqr0jyhPQeMg==} 450 | engines: {node: '>=16.0.0'} 451 | 452 | '@smithy/node-http-handler@4.0.2': 453 | resolution: {integrity: sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==} 454 | engines: {node: '>=18.0.0'} 455 | 456 | '@smithy/property-provider@4.0.1': 457 | resolution: {integrity: sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==} 458 | engines: {node: '>=18.0.0'} 459 | 460 | '@smithy/protocol-http@4.1.7': 461 | resolution: {integrity: sha512-FP2LepWD0eJeOTm0SjssPcgqAlDFzOmRXqXmGhfIM52G7Lrox/pcpQf6RP4F21k0+O12zaqQt5fCDOeBtqY6Cg==} 462 | engines: {node: '>=16.0.0'} 463 | 464 | '@smithy/protocol-http@5.0.1': 465 | resolution: {integrity: sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==} 466 | engines: {node: '>=18.0.0'} 467 | 468 | '@smithy/querystring-builder@3.0.10': 469 | resolution: {integrity: sha512-nT9CQF3EIJtIUepXQuBFb8dxJi3WVZS3XfuDksxSCSn+/CzZowRLdhDn+2acbBv8R6eaJqPupoI/aRFIImNVPQ==} 470 | engines: {node: '>=16.0.0'} 471 | 472 | '@smithy/querystring-builder@4.0.1': 473 | resolution: {integrity: sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==} 474 | engines: {node: '>=18.0.0'} 475 | 476 | '@smithy/querystring-parser@4.0.1': 477 | resolution: {integrity: sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==} 478 | engines: {node: '>=18.0.0'} 479 | 480 | '@smithy/service-error-classification@4.0.1': 481 | resolution: {integrity: sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==} 482 | engines: {node: '>=18.0.0'} 483 | 484 | '@smithy/shared-ini-file-loader@4.0.1': 485 | resolution: {integrity: sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==} 486 | engines: {node: '>=18.0.0'} 487 | 488 | '@smithy/signature-v4@5.0.1': 489 | resolution: {integrity: sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==} 490 | engines: {node: '>=18.0.0'} 491 | 492 | '@smithy/smithy-client@4.1.2': 493 | resolution: {integrity: sha512-0yApeHWBqocelHGK22UivZyShNxFbDNrgREBllGh5Ws0D0rg/yId/CJfeoKKpjbfY2ju8j6WgDUGZHYQmINZ5w==} 494 | engines: {node: '>=18.0.0'} 495 | 496 | '@smithy/types@3.7.1': 497 | resolution: {integrity: sha512-XKLcLXZY7sUQgvvWyeaL/qwNPp6V3dWcUjqrQKjSb+tzYiCy340R/c64LV5j+Tnb2GhmunEX0eou+L+m2hJNYA==} 498 | engines: {node: '>=16.0.0'} 499 | 500 | '@smithy/types@4.1.0': 501 | resolution: {integrity: sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==} 502 | engines: {node: '>=18.0.0'} 503 | 504 | '@smithy/url-parser@4.0.1': 505 | resolution: {integrity: sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==} 506 | engines: {node: '>=18.0.0'} 507 | 508 | '@smithy/util-base64@4.0.0': 509 | resolution: {integrity: sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==} 510 | engines: {node: '>=18.0.0'} 511 | 512 | '@smithy/util-body-length-browser@4.0.0': 513 | resolution: {integrity: sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==} 514 | engines: {node: '>=18.0.0'} 515 | 516 | '@smithy/util-body-length-node@4.0.0': 517 | resolution: {integrity: sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==} 518 | engines: {node: '>=18.0.0'} 519 | 520 | '@smithy/util-buffer-from@2.2.0': 521 | resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} 522 | engines: {node: '>=14.0.0'} 523 | 524 | '@smithy/util-buffer-from@4.0.0': 525 | resolution: {integrity: sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==} 526 | engines: {node: '>=18.0.0'} 527 | 528 | '@smithy/util-config-provider@4.0.0': 529 | resolution: {integrity: sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==} 530 | engines: {node: '>=18.0.0'} 531 | 532 | '@smithy/util-defaults-mode-browser@4.0.3': 533 | resolution: {integrity: sha512-7c5SF1fVK0EOs+2EOf72/qF199zwJflU1d02AevwKbAUPUZyE9RUZiyJxeUmhVxfKDWdUKaaVojNiaDQgnHL9g==} 534 | engines: {node: '>=18.0.0'} 535 | 536 | '@smithy/util-defaults-mode-node@4.0.3': 537 | resolution: {integrity: sha512-CVnD42qYD3JKgDlImZ9+On+MqJHzq9uJgPbMdeBE8c2x8VJ2kf2R3XO/yVFx+30ts5lD/GlL0eFIShY3x9ROgQ==} 538 | engines: {node: '>=18.0.0'} 539 | 540 | '@smithy/util-endpoints@3.0.1': 541 | resolution: {integrity: sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==} 542 | engines: {node: '>=18.0.0'} 543 | 544 | '@smithy/util-hex-encoding@4.0.0': 545 | resolution: {integrity: sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==} 546 | engines: {node: '>=18.0.0'} 547 | 548 | '@smithy/util-middleware@4.0.1': 549 | resolution: {integrity: sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==} 550 | engines: {node: '>=18.0.0'} 551 | 552 | '@smithy/util-retry@4.0.1': 553 | resolution: {integrity: sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==} 554 | engines: {node: '>=18.0.0'} 555 | 556 | '@smithy/util-stream@4.0.2': 557 | resolution: {integrity: sha512-0eZ4G5fRzIoewtHtwaYyl8g2C+osYOT4KClXgfdNEDAgkbe2TYPqcnw4GAWabqkZCax2ihRGPe9LZnsPdIUIHA==} 558 | engines: {node: '>=18.0.0'} 559 | 560 | '@smithy/util-uri-escape@3.0.0': 561 | resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} 562 | engines: {node: '>=16.0.0'} 563 | 564 | '@smithy/util-uri-escape@4.0.0': 565 | resolution: {integrity: sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==} 566 | engines: {node: '>=18.0.0'} 567 | 568 | '@smithy/util-utf8@2.3.0': 569 | resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} 570 | engines: {node: '>=14.0.0'} 571 | 572 | '@smithy/util-utf8@4.0.0': 573 | resolution: {integrity: sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==} 574 | engines: {node: '>=18.0.0'} 575 | 576 | '@smithy/util-waiter@4.0.2': 577 | resolution: {integrity: sha512-piUTHyp2Axx3p/kc2CIJkYSv0BAaheBQmbACZgQSSfWUumWNW+R1lL+H9PDBxKJkvOeEX+hKYEFiwO8xagL8AQ==} 578 | engines: {node: '>=18.0.0'} 579 | 580 | '@szmarczak/http-timer@5.0.1': 581 | resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} 582 | engines: {node: '>=14.16'} 583 | 584 | '@tokenizer/token@0.3.0': 585 | resolution: {integrity: sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==} 586 | 587 | '@types/bson@4.2.4': 588 | resolution: {integrity: sha512-SG23E3JDH6y8qF20a4G9txLuUl+TCV16gxsKyntmGiJez2V9VBJr1Y8WxTBBD6OgBVcvspQ7sxgdNMkXFVcaEA==} 589 | deprecated: This is a stub types definition. bson provides its own type definitions, so you do not need this installed. 590 | 591 | '@types/estree@1.0.6': 592 | resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} 593 | 594 | '@types/graceful-fs@4.1.9': 595 | resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} 596 | 597 | '@types/http-cache-semantics@4.0.4': 598 | resolution: {integrity: sha512-1m0bIFVc7eJWyve9S0RnuRgcQqF/Xd5QsUZAZeQFr1Q3/p9JWoQQEqmVy+DPTNpGXwhgIetAoYF8JSc33q29QA==} 599 | 600 | '@types/json-schema@7.0.15': 601 | resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} 602 | 603 | '@types/lodash@4.17.13': 604 | resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} 605 | 606 | '@types/mime@3.0.4': 607 | resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} 608 | 609 | '@types/node@22.10.1': 610 | resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} 611 | 612 | '@typescript-eslint/eslint-plugin@8.17.0': 613 | resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} 614 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 615 | peerDependencies: 616 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 617 | eslint: ^8.57.0 || ^9.0.0 618 | typescript: '*' 619 | peerDependenciesMeta: 620 | typescript: 621 | optional: true 622 | 623 | '@typescript-eslint/parser@8.17.0': 624 | resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} 625 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 626 | peerDependencies: 627 | eslint: ^8.57.0 || ^9.0.0 628 | typescript: '*' 629 | peerDependenciesMeta: 630 | typescript: 631 | optional: true 632 | 633 | '@typescript-eslint/scope-manager@8.17.0': 634 | resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} 635 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 636 | 637 | '@typescript-eslint/type-utils@8.17.0': 638 | resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} 639 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 640 | peerDependencies: 641 | eslint: ^8.57.0 || ^9.0.0 642 | typescript: '*' 643 | peerDependenciesMeta: 644 | typescript: 645 | optional: true 646 | 647 | '@typescript-eslint/types@8.17.0': 648 | resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} 649 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 650 | 651 | '@typescript-eslint/typescript-estree@8.17.0': 652 | resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} 653 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 654 | peerDependencies: 655 | typescript: '*' 656 | peerDependenciesMeta: 657 | typescript: 658 | optional: true 659 | 660 | '@typescript-eslint/utils@8.17.0': 661 | resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} 662 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 663 | peerDependencies: 664 | eslint: ^8.57.0 || ^9.0.0 665 | typescript: '*' 666 | peerDependenciesMeta: 667 | typescript: 668 | optional: true 669 | 670 | '@typescript-eslint/visitor-keys@8.17.0': 671 | resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} 672 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 673 | 674 | acorn-jsx@5.3.2: 675 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 676 | peerDependencies: 677 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 678 | 679 | acorn@8.14.0: 680 | resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} 681 | engines: {node: '>=0.4.0'} 682 | hasBin: true 683 | 684 | agentkeepalive@4.5.0: 685 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} 686 | engines: {node: '>= 8.0.0'} 687 | 688 | ajv@6.12.6: 689 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 690 | 691 | ansi-escapes@3.2.0: 692 | resolution: {integrity: sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==} 693 | engines: {node: '>=4'} 694 | 695 | ansi-regex@3.0.1: 696 | resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} 697 | engines: {node: '>=4'} 698 | 699 | ansi-regex@4.1.1: 700 | resolution: {integrity: sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==} 701 | engines: {node: '>=6'} 702 | 703 | ansi-styles@3.2.1: 704 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 705 | engines: {node: '>=4'} 706 | 707 | ansi-styles@4.3.0: 708 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 709 | engines: {node: '>=8'} 710 | 711 | any-promise@1.3.0: 712 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 713 | 714 | archive-type@4.0.0: 715 | resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} 716 | engines: {node: '>=4'} 717 | 718 | argparse@2.0.1: 719 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 720 | 721 | array-timsort@1.0.3: 722 | resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} 723 | 724 | array-union@2.1.0: 725 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 726 | engines: {node: '>=8'} 727 | 728 | async@3.2.6: 729 | resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} 730 | 731 | asynckit@0.4.0: 732 | resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} 733 | 734 | axios@1.7.9: 735 | resolution: {integrity: sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw==} 736 | 737 | balanced-match@1.0.2: 738 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 739 | 740 | base64-js@1.5.1: 741 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 742 | 743 | before@0.0.1: 744 | resolution: {integrity: sha512-1J5SWbkoVJH9DTALN8igB4p+nPKZzPrJ/HomqBDLpfUvDXCdjdBmBUcH5McZfur0lftVssVU6BZug5NYh87zTw==} 745 | 746 | bl@1.2.3: 747 | resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} 748 | 749 | block-stream2@2.1.0: 750 | resolution: {integrity: sha512-suhjmLI57Ewpmq00qaygS8UgEq2ly2PCItenIyhMqVjo4t4pGzqMvfgJuX8iWTeSDdfSSqS6j38fL4ToNL7Pfg==} 751 | 752 | bowser@2.11.0: 753 | resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} 754 | 755 | brace-expansion@1.1.11: 756 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 757 | 758 | brace-expansion@2.0.1: 759 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 760 | 761 | braces@3.0.3: 762 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 763 | engines: {node: '>=8'} 764 | 765 | bson@6.10.1: 766 | resolution: {integrity: sha512-P92xmHDQjSKPLHqFxefqMxASNq/aWJMEZugpCjf+AF/pgcUpMMQCg7t7+ewko0/u8AapvF3luf/FoehddEK+sA==} 767 | engines: {node: '>=16.20.1'} 768 | 769 | buffer-alloc-unsafe@1.1.0: 770 | resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} 771 | 772 | buffer-alloc@1.2.0: 773 | resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} 774 | 775 | buffer-crc32@0.2.13: 776 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 777 | 778 | buffer-fill@1.0.0: 779 | resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} 780 | 781 | buffer@5.6.0: 782 | resolution: {integrity: sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw==} 783 | 784 | buffer@5.7.1: 785 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 786 | 787 | cacheable-lookup@7.0.0: 788 | resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} 789 | engines: {node: '>=14.16'} 790 | 791 | cacheable-request@12.0.1: 792 | resolution: {integrity: sha512-Yo9wGIQUaAfIbk+qY0X4cDQgCosecfBe3V9NSyeY4qPC2SAkbCS4Xj79VP8WOzitpJUZKc/wsRCYF5ariDIwkg==} 793 | engines: {node: '>=18'} 794 | 795 | call-bind-apply-helpers@1.0.1: 796 | resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==} 797 | engines: {node: '>= 0.4'} 798 | 799 | call-bind@1.0.8: 800 | resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} 801 | engines: {node: '>= 0.4'} 802 | 803 | callsites@3.1.0: 804 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 805 | engines: {node: '>=6'} 806 | 807 | caw@2.0.1: 808 | resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} 809 | engines: {node: '>=4'} 810 | 811 | chalk@2.4.2: 812 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 813 | engines: {node: '>=4'} 814 | 815 | chalk@4.1.2: 816 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 817 | engines: {node: '>=10'} 818 | 819 | chardet@0.7.0: 820 | resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} 821 | 822 | charenc@0.0.2: 823 | resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} 824 | 825 | cli-cursor@2.1.0: 826 | resolution: {integrity: sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==} 827 | engines: {node: '>=4'} 828 | 829 | cli-width@2.2.1: 830 | resolution: {integrity: sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==} 831 | 832 | color-convert@1.9.3: 833 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 834 | 835 | color-convert@2.0.1: 836 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 837 | engines: {node: '>=7.0.0'} 838 | 839 | color-name@1.1.3: 840 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 841 | 842 | color-name@1.1.4: 843 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 844 | 845 | combined-stream@1.0.8: 846 | resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} 847 | engines: {node: '>= 0.8'} 848 | 849 | commander@2.20.3: 850 | resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} 851 | 852 | commander@8.3.0: 853 | resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} 854 | engines: {node: '>= 12'} 855 | 856 | comment-json@2.4.2: 857 | resolution: {integrity: sha512-T+iXox779qsqneMYx/x5BZyz4xjCeQRmuNVzz8tko7qZUs3MlzpA3RAs+O1XsgcKToNBMIvfVzafGOeiU7RggA==} 858 | engines: {node: '>= 6'} 859 | 860 | comment-json@4.2.5: 861 | resolution: {integrity: sha512-bKw/r35jR3HGt5PEPm1ljsQQGyCrR8sFGNiN5L+ykDHdpO8Smxkrkla9Yi6NkQyUrb8V54PGhfMs6NrIwtxtdw==} 862 | engines: {node: '>= 6'} 863 | 864 | concat-map@0.0.1: 865 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 866 | 867 | config-chain@1.1.13: 868 | resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} 869 | 870 | content-disposition@0.5.4: 871 | resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} 872 | engines: {node: '>= 0.6'} 873 | 874 | content-type@1.0.5: 875 | resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} 876 | engines: {node: '>= 0.6'} 877 | 878 | copy-to@2.0.1: 879 | resolution: {integrity: sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w==} 880 | 881 | core-util-is@1.0.3: 882 | resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} 883 | 884 | crc32@0.2.2: 885 | resolution: {integrity: sha512-PFZEGbDUeoNbL2GHIEpJRQGheXReDody/9axKTxhXtQqIL443wnNigtVZO9iuCIMPApKZRv7k2xr8euXHqNxQQ==} 886 | engines: {node: '>= 0.4.0'} 887 | hasBin: true 888 | 889 | cross-spawn@6.0.6: 890 | resolution: {integrity: sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==} 891 | engines: {node: '>=4.8'} 892 | 893 | cross-spawn@7.0.6: 894 | resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} 895 | engines: {node: '>= 8'} 896 | 897 | crypt@0.0.2: 898 | resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} 899 | 900 | dayjs@1.11.13: 901 | resolution: {integrity: sha512-oaMBel6gjolK862uaPQOVTA7q3TZhuSvuMQAAglQDOWYO9A91IrAOUJEyKVlqJlHE0vq5p5UXxzdPfMH/x6xNg==} 902 | 903 | debug@4.4.0: 904 | resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} 905 | engines: {node: '>=6.0'} 906 | peerDependencies: 907 | supports-color: '*' 908 | peerDependenciesMeta: 909 | supports-color: 910 | optional: true 911 | 912 | decompress-response@6.0.0: 913 | resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 914 | engines: {node: '>=10'} 915 | 916 | decompress-tar@4.1.1: 917 | resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} 918 | engines: {node: '>=4'} 919 | 920 | decompress-tarbz2@4.1.1: 921 | resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} 922 | engines: {node: '>=4'} 923 | 924 | decompress-targz@4.1.1: 925 | resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} 926 | engines: {node: '>=4'} 927 | 928 | decompress-unzip@4.0.1: 929 | resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} 930 | engines: {node: '>=4'} 931 | 932 | decompress@4.2.1: 933 | resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} 934 | engines: {node: '>=4'} 935 | 936 | deep-is@0.1.4: 937 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 938 | 939 | default-user-agent@1.0.0: 940 | resolution: {integrity: sha512-bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw==} 941 | engines: {node: '>= 0.10.0'} 942 | 943 | defer-to-connect@2.0.1: 944 | resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} 945 | engines: {node: '>=10'} 946 | 947 | define-data-property@1.1.4: 948 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 949 | engines: {node: '>= 0.4'} 950 | 951 | delayed-stream@1.0.0: 952 | resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} 953 | engines: {node: '>=0.4.0'} 954 | 955 | destroy@1.2.0: 956 | resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} 957 | engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} 958 | 959 | digest-header@1.1.0: 960 | resolution: {integrity: sha512-glXVh42vz40yZb9Cq2oMOt70FIoWiv+vxNvdKdU8CwjLad25qHM3trLxhl9bVjdr6WaslIXhWpn0NO8T/67Qjg==} 961 | engines: {node: '>= 8.0.0'} 962 | 963 | dir-glob@3.0.1: 964 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 965 | engines: {node: '>=8'} 966 | 967 | download-git-repo@3.0.2: 968 | resolution: {integrity: sha512-N8hWXD4hXqmEcNoR8TBYFntaOcYvEQ7Bz90mgm3bZRTuteGQqwT32VDMnTyD0KTEvb8BWrMc1tVmzuV9u/WrAg==} 969 | 970 | download@7.1.0: 971 | resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} 972 | engines: {node: '>=6'} 973 | 974 | dunder-proto@1.0.0: 975 | resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} 976 | engines: {node: '>= 0.4'} 977 | 978 | ee-first@1.1.1: 979 | resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} 980 | 981 | ejs@3.1.10: 982 | resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} 983 | engines: {node: '>=0.10.0'} 984 | hasBin: true 985 | 986 | encodeurl@1.0.2: 987 | resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} 988 | engines: {node: '>= 0.8'} 989 | 990 | end-of-stream@1.4.4: 991 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 992 | 993 | es-define-property@1.0.1: 994 | resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} 995 | engines: {node: '>= 0.4'} 996 | 997 | es-errors@1.3.0: 998 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 999 | engines: {node: '>= 0.4'} 1000 | 1001 | escape-html@1.0.3: 1002 | resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} 1003 | 1004 | escape-string-regexp@1.0.5: 1005 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 1006 | engines: {node: '>=0.8.0'} 1007 | 1008 | escape-string-regexp@4.0.0: 1009 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 1010 | engines: {node: '>=10'} 1011 | 1012 | eslint-config-prettier@9.1.0: 1013 | resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} 1014 | hasBin: true 1015 | peerDependencies: 1016 | eslint: '>=7.0.0' 1017 | 1018 | eslint-plugin-prettier@5.2.1: 1019 | resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} 1020 | engines: {node: ^14.18.0 || >=16.0.0} 1021 | peerDependencies: 1022 | '@types/eslint': '>=8.0.0' 1023 | eslint: '>=8.0.0' 1024 | eslint-config-prettier: '*' 1025 | prettier: '>=3.0.0' 1026 | peerDependenciesMeta: 1027 | '@types/eslint': 1028 | optional: true 1029 | eslint-config-prettier: 1030 | optional: true 1031 | 1032 | eslint-scope@8.2.0: 1033 | resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} 1034 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1035 | 1036 | eslint-visitor-keys@3.4.3: 1037 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 1038 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 1039 | 1040 | eslint-visitor-keys@4.2.0: 1041 | resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} 1042 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1043 | 1044 | eslint@9.16.0: 1045 | resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} 1046 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1047 | hasBin: true 1048 | peerDependencies: 1049 | jiti: '*' 1050 | peerDependenciesMeta: 1051 | jiti: 1052 | optional: true 1053 | 1054 | espree@10.3.0: 1055 | resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} 1056 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1057 | 1058 | esprima@4.0.1: 1059 | resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} 1060 | engines: {node: '>=4'} 1061 | hasBin: true 1062 | 1063 | esquery@1.6.0: 1064 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 1065 | engines: {node: '>=0.10'} 1066 | 1067 | esrecurse@4.3.0: 1068 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 1069 | engines: {node: '>=4.0'} 1070 | 1071 | estraverse@5.3.0: 1072 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 1073 | engines: {node: '>=4.0'} 1074 | 1075 | esutils@2.0.3: 1076 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 1077 | engines: {node: '>=0.10.0'} 1078 | 1079 | events@3.3.0: 1080 | resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} 1081 | engines: {node: '>=0.8.x'} 1082 | 1083 | ext-list@2.2.2: 1084 | resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} 1085 | engines: {node: '>=0.10.0'} 1086 | 1087 | ext-name@5.0.0: 1088 | resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} 1089 | engines: {node: '>=4'} 1090 | 1091 | extend-shallow@2.0.1: 1092 | resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} 1093 | engines: {node: '>=0.10.0'} 1094 | 1095 | external-editor@3.1.0: 1096 | resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} 1097 | engines: {node: '>=4'} 1098 | 1099 | fast-deep-equal@3.1.3: 1100 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 1101 | 1102 | fast-diff@1.3.0: 1103 | resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} 1104 | 1105 | fast-glob@3.3.2: 1106 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1107 | engines: {node: '>=8.6.0'} 1108 | 1109 | fast-json-stable-stringify@2.1.0: 1110 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 1111 | 1112 | fast-levenshtein@2.0.6: 1113 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 1114 | 1115 | fast-xml-parser@4.4.1: 1116 | resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} 1117 | hasBin: true 1118 | 1119 | fastq@1.17.1: 1120 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1121 | 1122 | fd-slicer@1.1.0: 1123 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 1124 | 1125 | fflate@0.7.4: 1126 | resolution: {integrity: sha512-5u2V/CDW15QM1XbbgS+0DfPxVB+jUKhWEKuuFuHncbk3tEEqzmoXL+2KyOFuKGqOnmdIy0/davWF1CkuwtibCw==} 1127 | 1128 | figures@2.0.0: 1129 | resolution: {integrity: sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==} 1130 | engines: {node: '>=4'} 1131 | 1132 | file-entry-cache@8.0.0: 1133 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 1134 | engines: {node: '>=16.0.0'} 1135 | 1136 | file-type@16.5.4: 1137 | resolution: {integrity: sha512-/yFHK0aGjFEgDJjEKP0pWCplsPFPhwyfwevf/pVxiN0tmE4L9LmwWxWukdJSHdoCli4VgQLehjJtwQBnqmsKcw==} 1138 | engines: {node: '>=10'} 1139 | 1140 | file-type@3.9.0: 1141 | resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} 1142 | engines: {node: '>=0.10.0'} 1143 | 1144 | file-type@4.4.0: 1145 | resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} 1146 | engines: {node: '>=4'} 1147 | 1148 | file-type@5.2.0: 1149 | resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} 1150 | engines: {node: '>=4'} 1151 | 1152 | file-type@6.2.0: 1153 | resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} 1154 | engines: {node: '>=4'} 1155 | 1156 | file-type@8.1.0: 1157 | resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} 1158 | engines: {node: '>=6'} 1159 | 1160 | filelist@1.0.4: 1161 | resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} 1162 | 1163 | filename-reserved-regex@2.0.0: 1164 | resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} 1165 | engines: {node: '>=4'} 1166 | 1167 | filenamify@2.1.0: 1168 | resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} 1169 | engines: {node: '>=4'} 1170 | 1171 | fill-range@7.1.1: 1172 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 1173 | engines: {node: '>=8'} 1174 | 1175 | find-up@5.0.0: 1176 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 1177 | engines: {node: '>=10'} 1178 | 1179 | flat-cache@4.0.1: 1180 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 1181 | engines: {node: '>=16'} 1182 | 1183 | flatted@3.3.2: 1184 | resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} 1185 | 1186 | follow-redirects@1.15.9: 1187 | resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} 1188 | engines: {node: '>=4.0'} 1189 | peerDependencies: 1190 | debug: '*' 1191 | peerDependenciesMeta: 1192 | debug: 1193 | optional: true 1194 | 1195 | form-data-encoder@4.0.2: 1196 | resolution: {integrity: sha512-KQVhvhK8ZkWzxKxOr56CPulAhH3dobtuQ4+hNQ+HekH/Wp5gSOafqRAeTphQUJAIk0GBvHZgJ2ZGRWd5kphMuw==} 1197 | engines: {node: '>= 18'} 1198 | 1199 | form-data@4.0.1: 1200 | resolution: {integrity: sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==} 1201 | engines: {node: '>= 6'} 1202 | 1203 | formstream@1.5.1: 1204 | resolution: {integrity: sha512-q7ORzFqotpwn3Y/GBK2lK7PjtZZwJHz9QE9Phv8zb5IrL9ftGLyi2zjGURON3voK8TaZ+mqJKERYN4lrHYTkUQ==} 1205 | 1206 | fs-constants@1.0.0: 1207 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 1208 | 1209 | fs-extra@6.0.1: 1210 | resolution: {integrity: sha512-GnyIkKhhzXZUWFCaJzvyDLEEgDkPfb4/TPvJCJVuS8MWZgoSsErf++QpiAlDnKFcqhRlm+tIOcencCjyJE6ZCA==} 1211 | 1212 | fs.realpath@1.0.0: 1213 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 1214 | 1215 | function-bind@1.1.2: 1216 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 1217 | 1218 | get-intrinsic@1.2.5: 1219 | resolution: {integrity: sha512-Y4+pKa7XeRUPWFNvOOYHkRYrfzW07oraURSvjDmRVOJ748OrVmeXtpE4+GCEHncjCjkTxPNRt8kEbxDhsn6VTg==} 1220 | engines: {node: '>= 0.4'} 1221 | 1222 | get-proxy@2.1.0: 1223 | resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} 1224 | engines: {node: '>=4'} 1225 | 1226 | get-stream@2.3.1: 1227 | resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} 1228 | engines: {node: '>=0.10.0'} 1229 | 1230 | get-stream@3.0.0: 1231 | resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} 1232 | engines: {node: '>=4'} 1233 | 1234 | get-stream@9.0.1: 1235 | resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} 1236 | engines: {node: '>=18'} 1237 | 1238 | git-clone@0.1.0: 1239 | resolution: {integrity: sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==} 1240 | 1241 | glob-parent@5.1.2: 1242 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1243 | engines: {node: '>= 6'} 1244 | 1245 | glob-parent@6.0.2: 1246 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 1247 | engines: {node: '>=10.13.0'} 1248 | 1249 | glob@7.2.3: 1250 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 1251 | deprecated: Glob versions prior to v9 are no longer supported 1252 | 1253 | globals@14.0.0: 1254 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 1255 | engines: {node: '>=18'} 1256 | 1257 | globby@11.1.0: 1258 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1259 | engines: {node: '>=10'} 1260 | 1261 | gopd@1.2.0: 1262 | resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} 1263 | engines: {node: '>= 0.4'} 1264 | 1265 | got@14.4.5: 1266 | resolution: {integrity: sha512-sq+uET8TnNKRNnjEOPJzMcxeI0irT8BBNmf+GtZcJpmhYsQM1DSKmCROUjPWKsXZ5HzwD5Cf5/RV+QD9BSTxJg==} 1267 | engines: {node: '>=20'} 1268 | 1269 | graceful-fs@4.2.11: 1270 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 1271 | 1272 | graphemer@1.4.0: 1273 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 1274 | 1275 | has-flag@3.0.0: 1276 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1277 | engines: {node: '>=4'} 1278 | 1279 | has-flag@4.0.0: 1280 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 1281 | engines: {node: '>=8'} 1282 | 1283 | has-own-prop@2.0.0: 1284 | resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} 1285 | engines: {node: '>=8'} 1286 | 1287 | has-property-descriptors@1.0.2: 1288 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 1289 | 1290 | has-symbol-support-x@1.4.2: 1291 | resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} 1292 | 1293 | has-symbols@1.1.0: 1294 | resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} 1295 | engines: {node: '>= 0.4'} 1296 | 1297 | has-to-string-tag-x@1.4.1: 1298 | resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} 1299 | 1300 | hasown@2.0.2: 1301 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 1302 | engines: {node: '>= 0.4'} 1303 | 1304 | hpagent@1.2.0: 1305 | resolution: {integrity: sha512-A91dYTeIB6NoXG+PxTQpCCDDnfHsW9kc06Lvpu1TEe9gnd6ZFeiBoRO9JvzEv6xK7EX97/dUE8g/vBMTqTS3CA==} 1306 | engines: {node: '>=14'} 1307 | 1308 | http-cache-semantics@4.1.1: 1309 | resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} 1310 | 1311 | http2-wrapper@2.2.1: 1312 | resolution: {integrity: sha512-V5nVw1PAOgfI3Lmeaj2Exmeg7fenjhRUgz1lPSezy1CuhPYbgQtbQj4jZfEAEMlaL+vupsvhjqCyjzob0yxsmQ==} 1313 | engines: {node: '>=10.19.0'} 1314 | 1315 | humanize-ms@1.2.1: 1316 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 1317 | 1318 | iconv-lite@0.4.24: 1319 | resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} 1320 | engines: {node: '>=0.10.0'} 1321 | 1322 | iconv-lite@0.6.3: 1323 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 1324 | engines: {node: '>=0.10.0'} 1325 | 1326 | ieee754@1.2.1: 1327 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 1328 | 1329 | ignore@5.3.2: 1330 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 1331 | engines: {node: '>= 4'} 1332 | 1333 | image-size@0.8.3: 1334 | resolution: {integrity: sha512-SMtq1AJ+aqHB45c3FsB4ERK0UCiA2d3H1uq8s+8T0Pf8A3W4teyBQyaFaktH6xvZqh+npwlKU7i4fJo0r7TYTg==} 1335 | engines: {node: '>=6.9.0'} 1336 | hasBin: true 1337 | 1338 | import-fresh@3.3.0: 1339 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 1340 | engines: {node: '>=6'} 1341 | 1342 | imurmurhash@0.1.4: 1343 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 1344 | engines: {node: '>=0.8.19'} 1345 | 1346 | inflight@1.0.6: 1347 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 1348 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 1349 | 1350 | inherits@2.0.4: 1351 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 1352 | 1353 | ini@1.3.8: 1354 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 1355 | 1356 | inquirer@6.5.2: 1357 | resolution: {integrity: sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==} 1358 | engines: {node: '>=6.0.0'} 1359 | 1360 | is-buffer@1.1.6: 1361 | resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} 1362 | 1363 | is-core-module@2.15.1: 1364 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 1365 | engines: {node: '>= 0.4'} 1366 | 1367 | is-docker@2.2.1: 1368 | resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} 1369 | engines: {node: '>=8'} 1370 | hasBin: true 1371 | 1372 | is-extendable@0.1.1: 1373 | resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} 1374 | engines: {node: '>=0.10.0'} 1375 | 1376 | is-extglob@2.1.1: 1377 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1378 | engines: {node: '>=0.10.0'} 1379 | 1380 | is-fullwidth-code-point@2.0.0: 1381 | resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} 1382 | engines: {node: '>=4'} 1383 | 1384 | is-glob@4.0.3: 1385 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1386 | engines: {node: '>=0.10.0'} 1387 | 1388 | is-natural-number@4.0.1: 1389 | resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} 1390 | 1391 | is-number@7.0.0: 1392 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1393 | engines: {node: '>=0.12.0'} 1394 | 1395 | is-object@1.0.2: 1396 | resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} 1397 | 1398 | is-plain-obj@1.1.0: 1399 | resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} 1400 | engines: {node: '>=0.10.0'} 1401 | 1402 | is-stream@1.1.0: 1403 | resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} 1404 | engines: {node: '>=0.10.0'} 1405 | 1406 | is-stream@4.0.1: 1407 | resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} 1408 | engines: {node: '>=18'} 1409 | 1410 | is-wsl@2.2.0: 1411 | resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} 1412 | engines: {node: '>=8'} 1413 | 1414 | isarray@1.0.0: 1415 | resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} 1416 | 1417 | isexe@2.0.0: 1418 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1419 | 1420 | isurl@1.0.0: 1421 | resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} 1422 | engines: {node: '>= 4'} 1423 | 1424 | jake@10.9.2: 1425 | resolution: {integrity: sha512-2P4SQ0HrLQ+fw6llpLnOaGAvN2Zu6778SJMrCUwns4fOoG9ayrTiZk3VV8sCPkVZF8ab0zksVpS8FDY5pRCNBA==} 1426 | engines: {node: '>=10'} 1427 | hasBin: true 1428 | 1429 | js-yaml@4.1.0: 1430 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1431 | hasBin: true 1432 | 1433 | json-buffer@3.0.1: 1434 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 1435 | 1436 | json-schema-traverse@0.4.1: 1437 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 1438 | 1439 | json-stable-stringify-without-jsonify@1.0.1: 1440 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 1441 | 1442 | jsonfile@4.0.0: 1443 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 1444 | 1445 | keyv@4.5.4: 1446 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 1447 | 1448 | levn@0.4.1: 1449 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 1450 | engines: {node: '>= 0.8.0'} 1451 | 1452 | locate-path@6.0.0: 1453 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 1454 | engines: {node: '>=10'} 1455 | 1456 | lodash-id@0.14.1: 1457 | resolution: {integrity: sha512-ikQPBTiq/d5m6dfKQlFdIXFzvThPi2Be9/AHxktOnDSfSxE1j9ICbBT5Elk1ke7HSTgM38LHTpmJovo9/klnLg==} 1458 | engines: {node: '>= 4'} 1459 | 1460 | lodash.merge@4.6.2: 1461 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 1462 | 1463 | lodash@4.17.21: 1464 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 1465 | 1466 | lowercase-keys@3.0.0: 1467 | resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} 1468 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1469 | 1470 | make-dir@1.3.0: 1471 | resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} 1472 | engines: {node: '>=4'} 1473 | 1474 | md5@2.3.0: 1475 | resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} 1476 | 1477 | merge2@1.4.1: 1478 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1479 | engines: {node: '>= 8'} 1480 | 1481 | micromatch@4.0.8: 1482 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 1483 | engines: {node: '>=8.6'} 1484 | 1485 | mime-db@1.50.0: 1486 | resolution: {integrity: sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==} 1487 | engines: {node: '>= 0.6'} 1488 | 1489 | mime-db@1.53.0: 1490 | resolution: {integrity: sha512-oHlN/w+3MQ3rba9rqFr6V/ypF10LSkdwUysQL7GkXoTgIWeV+tcXGA852TBxH+gsh8UWoyhR1hKcoMJTuWflpg==} 1491 | engines: {node: '>= 0.6'} 1492 | 1493 | mime-types@2.1.33: 1494 | resolution: {integrity: sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==} 1495 | engines: {node: '>= 0.6'} 1496 | 1497 | mime@2.6.0: 1498 | resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} 1499 | engines: {node: '>=4.0.0'} 1500 | hasBin: true 1501 | 1502 | mime@3.0.0: 1503 | resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} 1504 | engines: {node: '>=10.0.0'} 1505 | hasBin: true 1506 | 1507 | mimic-fn@1.2.0: 1508 | resolution: {integrity: sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==} 1509 | engines: {node: '>=4'} 1510 | 1511 | mimic-response@3.1.0: 1512 | resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 1513 | engines: {node: '>=10'} 1514 | 1515 | mimic-response@4.0.0: 1516 | resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} 1517 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1518 | 1519 | minimatch@3.1.2: 1520 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1521 | 1522 | minimatch@5.1.6: 1523 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1524 | engines: {node: '>=10'} 1525 | 1526 | minimatch@9.0.5: 1527 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 1528 | engines: {node: '>=16 || 14 >=14.17'} 1529 | 1530 | minimist@1.2.8: 1531 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 1532 | 1533 | mkdirp@0.5.6: 1534 | resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} 1535 | hasBin: true 1536 | 1537 | mockdate@3.0.5: 1538 | resolution: {integrity: sha512-iniQP4rj1FhBdBYS/+eQv7j1tadJ9lJtdzgOpvsOHng/GbcDh2Fhdeq+ZRldrPYdXvCyfFUmFeEwEGXZB5I/AQ==} 1539 | 1540 | ms@2.1.3: 1541 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 1542 | 1543 | mute-stream@0.0.7: 1544 | resolution: {integrity: sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==} 1545 | 1546 | mz@2.7.0: 1547 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1548 | 1549 | natural-compare@1.4.0: 1550 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 1551 | 1552 | nice-try@1.0.5: 1553 | resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} 1554 | 1555 | node-hex@1.0.1: 1556 | resolution: {integrity: sha512-iwpZdvW6Umz12ICmu9IYPRxg0tOLGmU3Tq2tKetejCj3oZd7b2nUXwP3a7QA5M9glWy8wlPS1G3RwM/CdsUbdQ==} 1557 | engines: {node: '>=8.0.0'} 1558 | 1559 | normalize-url@8.0.1: 1560 | resolution: {integrity: sha512-IO9QvjUMWxPQQhs60oOu10CRkWCiZzSUkzbXGGV9pviYl1fXYcvkzQ5jV9z8Y6un8ARoVRl4EtC6v6jNqbaJ/w==} 1561 | engines: {node: '>=14.16'} 1562 | 1563 | npm-conf@1.1.3: 1564 | resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} 1565 | engines: {node: '>=4'} 1566 | 1567 | object-assign@4.1.1: 1568 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1569 | engines: {node: '>=0.10.0'} 1570 | 1571 | object-inspect@1.13.3: 1572 | resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} 1573 | engines: {node: '>= 0.4'} 1574 | 1575 | once@1.4.0: 1576 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1577 | 1578 | onetime@2.0.1: 1579 | resolution: {integrity: sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==} 1580 | engines: {node: '>=4'} 1581 | 1582 | optionator@0.9.4: 1583 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 1584 | engines: {node: '>= 0.8.0'} 1585 | 1586 | os-name@1.0.3: 1587 | resolution: {integrity: sha512-f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew==} 1588 | engines: {node: '>=0.10.0'} 1589 | hasBin: true 1590 | 1591 | os-tmpdir@1.0.2: 1592 | resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} 1593 | engines: {node: '>=0.10.0'} 1594 | 1595 | osx-release@1.1.0: 1596 | resolution: {integrity: sha512-ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A==} 1597 | engines: {node: '>=0.10.0'} 1598 | hasBin: true 1599 | 1600 | p-cancelable@4.0.1: 1601 | resolution: {integrity: sha512-wBowNApzd45EIKdO1LaU+LrMBwAcjfPaYtVzV3lmfM3gf8Z4CHZsiIqlM8TZZ8okYvh5A1cP6gTfCRQtwUpaUg==} 1602 | engines: {node: '>=14.16'} 1603 | 1604 | p-event@2.3.1: 1605 | resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} 1606 | engines: {node: '>=6'} 1607 | 1608 | p-finally@1.0.0: 1609 | resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} 1610 | engines: {node: '>=4'} 1611 | 1612 | p-limit@3.1.0: 1613 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 1614 | engines: {node: '>=10'} 1615 | 1616 | p-locate@5.0.0: 1617 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 1618 | engines: {node: '>=10'} 1619 | 1620 | p-timeout@2.0.1: 1621 | resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} 1622 | engines: {node: '>=4'} 1623 | 1624 | parent-module@1.0.1: 1625 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1626 | engines: {node: '>=6'} 1627 | 1628 | path-exists@4.0.0: 1629 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 1630 | engines: {node: '>=8'} 1631 | 1632 | path-is-absolute@1.0.1: 1633 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1634 | engines: {node: '>=0.10.0'} 1635 | 1636 | path-key@2.0.1: 1637 | resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} 1638 | engines: {node: '>=4'} 1639 | 1640 | path-key@3.1.1: 1641 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1642 | engines: {node: '>=8'} 1643 | 1644 | path-parse@1.0.7: 1645 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1646 | 1647 | path-type@4.0.0: 1648 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1649 | engines: {node: '>=8'} 1650 | 1651 | pause-stream@0.0.11: 1652 | resolution: {integrity: sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==} 1653 | 1654 | peek-readable@4.1.0: 1655 | resolution: {integrity: sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==} 1656 | engines: {node: '>=8'} 1657 | 1658 | pend@1.2.0: 1659 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 1660 | 1661 | picgo@1.5.8: 1662 | resolution: {integrity: sha512-z3ATQJeELMkn+g3Cyf3l/AEvSmrDmrFF2bn8ZY/69kEPhixx9NTEpsfRvMeIlLPQM1BTu+ZZ25XWLnPYu5hliA==} 1663 | engines: {node: '>= 12.0.0'} 1664 | hasBin: true 1665 | 1666 | picomatch@2.3.1: 1667 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1668 | engines: {node: '>=8.6'} 1669 | 1670 | pify@2.3.0: 1671 | resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} 1672 | engines: {node: '>=0.10.0'} 1673 | 1674 | pify@3.0.0: 1675 | resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} 1676 | engines: {node: '>=4'} 1677 | 1678 | pinkie-promise@2.0.1: 1679 | resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} 1680 | engines: {node: '>=0.10.0'} 1681 | 1682 | pinkie@2.0.4: 1683 | resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} 1684 | engines: {node: '>=0.10.0'} 1685 | 1686 | prelude-ls@1.2.1: 1687 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 1688 | engines: {node: '>= 0.8.0'} 1689 | 1690 | prettier-linter-helpers@1.0.0: 1691 | resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} 1692 | engines: {node: '>=6.0.0'} 1693 | 1694 | prettier@3.4.2: 1695 | resolution: {integrity: sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==} 1696 | engines: {node: '>=14'} 1697 | hasBin: true 1698 | 1699 | process-nextick-args@2.0.1: 1700 | resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} 1701 | 1702 | proto-list@1.2.4: 1703 | resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} 1704 | 1705 | proxy-from-env@1.1.0: 1706 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1707 | 1708 | pump@3.0.2: 1709 | resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} 1710 | 1711 | punycode@2.3.1: 1712 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1713 | engines: {node: '>=6'} 1714 | 1715 | qiniu@7.14.0: 1716 | resolution: {integrity: sha512-3q7nIQQjqR69k7hbDPfM+hx52BmUxt8J/n9LrmjxypWVEeNK5PTaPS2pnxqaxs0tL9utNOPVfjFiBr18mHOFqQ==} 1717 | engines: {node: '>= 6'} 1718 | 1719 | qs@6.13.1: 1720 | resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} 1721 | engines: {node: '>=0.6'} 1722 | 1723 | queue-microtask@1.2.3: 1724 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1725 | 1726 | queue@6.0.1: 1727 | resolution: {integrity: sha512-AJBQabRCCNr9ANq8v77RJEv73DPbn55cdTb+Giq4X0AVnNVZvMHlYp7XlQiN+1npCZj1DuSmaA2hYVUUDgxFDg==} 1728 | 1729 | quick-lru@5.1.1: 1730 | resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} 1731 | engines: {node: '>=10'} 1732 | 1733 | readable-stream@2.3.8: 1734 | resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} 1735 | 1736 | readable-stream@3.6.2: 1737 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 1738 | engines: {node: '>= 6'} 1739 | 1740 | readable-web-to-node-stream@3.0.2: 1741 | resolution: {integrity: sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==} 1742 | engines: {node: '>=8'} 1743 | 1744 | repeat-string@1.6.1: 1745 | resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} 1746 | engines: {node: '>=0.10'} 1747 | 1748 | resolve-alpn@1.2.1: 1749 | resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} 1750 | 1751 | resolve-from@4.0.0: 1752 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1753 | engines: {node: '>=4'} 1754 | 1755 | resolve@1.22.8: 1756 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 1757 | hasBin: true 1758 | 1759 | responselike@3.0.0: 1760 | resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} 1761 | engines: {node: '>=14.16'} 1762 | 1763 | restore-cursor@2.0.0: 1764 | resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} 1765 | engines: {node: '>=4'} 1766 | 1767 | reusify@1.0.4: 1768 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1769 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1770 | 1771 | rimraf@3.0.2: 1772 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1773 | deprecated: Rimraf versions prior to v4 are no longer supported 1774 | hasBin: true 1775 | 1776 | run-async@2.4.1: 1777 | resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} 1778 | engines: {node: '>=0.12.0'} 1779 | 1780 | run-parallel@1.2.0: 1781 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1782 | 1783 | rxjs@6.6.7: 1784 | resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} 1785 | engines: {npm: '>=2.0.0'} 1786 | 1787 | safe-buffer@5.1.2: 1788 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 1789 | 1790 | safe-buffer@5.2.1: 1791 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1792 | 1793 | safer-buffer@2.1.2: 1794 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1795 | 1796 | seek-bzip@1.0.6: 1797 | resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} 1798 | hasBin: true 1799 | 1800 | semver@5.7.2: 1801 | resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} 1802 | hasBin: true 1803 | 1804 | semver@7.6.3: 1805 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1806 | engines: {node: '>=10'} 1807 | hasBin: true 1808 | 1809 | set-function-length@1.2.2: 1810 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1811 | engines: {node: '>= 0.4'} 1812 | 1813 | shebang-command@1.2.0: 1814 | resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} 1815 | engines: {node: '>=0.10.0'} 1816 | 1817 | shebang-command@2.0.0: 1818 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1819 | engines: {node: '>=8'} 1820 | 1821 | shebang-regex@1.0.0: 1822 | resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} 1823 | engines: {node: '>=0.10.0'} 1824 | 1825 | shebang-regex@3.0.0: 1826 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1827 | engines: {node: '>=8'} 1828 | 1829 | side-channel@1.0.6: 1830 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1831 | engines: {node: '>= 0.4'} 1832 | 1833 | signal-exit@3.0.7: 1834 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1835 | 1836 | slash@3.0.0: 1837 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1838 | engines: {node: '>=8'} 1839 | 1840 | sort-keys-length@1.0.1: 1841 | resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} 1842 | engines: {node: '>=0.10.0'} 1843 | 1844 | sort-keys@1.1.2: 1845 | resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} 1846 | engines: {node: '>=0.10.0'} 1847 | 1848 | statuses@1.5.0: 1849 | resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} 1850 | engines: {node: '>= 0.6'} 1851 | 1852 | stream-browserify@3.0.0: 1853 | resolution: {integrity: sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA==} 1854 | 1855 | string-width@2.1.1: 1856 | resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} 1857 | engines: {node: '>=4'} 1858 | 1859 | string_decoder@1.1.1: 1860 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 1861 | 1862 | string_decoder@1.3.0: 1863 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1864 | 1865 | strip-ansi@4.0.0: 1866 | resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} 1867 | engines: {node: '>=4'} 1868 | 1869 | strip-ansi@5.2.0: 1870 | resolution: {integrity: sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==} 1871 | engines: {node: '>=6'} 1872 | 1873 | strip-dirs@2.1.0: 1874 | resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} 1875 | 1876 | strip-json-comments@3.1.1: 1877 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1878 | engines: {node: '>=8'} 1879 | 1880 | strip-outer@1.0.1: 1881 | resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} 1882 | engines: {node: '>=0.10.0'} 1883 | 1884 | strnum@1.0.5: 1885 | resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} 1886 | 1887 | strtok3@6.3.0: 1888 | resolution: {integrity: sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==} 1889 | engines: {node: '>=10'} 1890 | 1891 | supports-color@5.5.0: 1892 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1893 | engines: {node: '>=4'} 1894 | 1895 | supports-color@7.2.0: 1896 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1897 | engines: {node: '>=8'} 1898 | 1899 | supports-preserve-symlinks-flag@1.0.0: 1900 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1901 | engines: {node: '>= 0.4'} 1902 | 1903 | synckit@0.9.2: 1904 | resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} 1905 | engines: {node: ^14.18.0 || >=16.0.0} 1906 | 1907 | tar-stream@1.6.2: 1908 | resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} 1909 | engines: {node: '>= 0.8.0'} 1910 | 1911 | thenify-all@1.6.0: 1912 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1913 | engines: {node: '>=0.8'} 1914 | 1915 | thenify@3.3.1: 1916 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1917 | 1918 | through@2.3.8: 1919 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 1920 | 1921 | tmp@0.0.33: 1922 | resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} 1923 | engines: {node: '>=0.6.0'} 1924 | 1925 | to-buffer@1.1.1: 1926 | resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} 1927 | 1928 | to-regex-range@5.0.1: 1929 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1930 | engines: {node: '>=8.0'} 1931 | 1932 | token-types@4.2.1: 1933 | resolution: {integrity: sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==} 1934 | engines: {node: '>=10'} 1935 | 1936 | trim-repeated@1.0.0: 1937 | resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} 1938 | engines: {node: '>=0.10.0'} 1939 | 1940 | ts-api-utils@1.4.3: 1941 | resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} 1942 | engines: {node: '>=16'} 1943 | peerDependencies: 1944 | typescript: '>=4.2.0' 1945 | 1946 | tslib@1.14.1: 1947 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 1948 | 1949 | tslib@2.8.1: 1950 | resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} 1951 | 1952 | tunnel-agent@0.6.0: 1953 | resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 1954 | 1955 | tunnel@0.0.6: 1956 | resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} 1957 | engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} 1958 | 1959 | type-check@0.4.0: 1960 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1961 | engines: {node: '>= 0.8.0'} 1962 | 1963 | type-fest@4.30.0: 1964 | resolution: {integrity: sha512-G6zXWS1dLj6eagy6sVhOMQiLtJdxQBHIA9Z6HFUNLOlr6MFOgzV8wvmidtPONfPtEUv0uZsy77XJNzTAfwPDaA==} 1965 | engines: {node: '>=16'} 1966 | 1967 | typescript@4.9.5: 1968 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 1969 | engines: {node: '>=4.2.0'} 1970 | hasBin: true 1971 | 1972 | typescript@5.7.2: 1973 | resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} 1974 | engines: {node: '>=14.17'} 1975 | hasBin: true 1976 | 1977 | unbzip2-stream@1.4.3: 1978 | resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} 1979 | 1980 | undici-types@6.20.0: 1981 | resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} 1982 | 1983 | unescape@1.0.1: 1984 | resolution: {integrity: sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==} 1985 | engines: {node: '>=0.10.0'} 1986 | 1987 | universalify@0.1.2: 1988 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 1989 | engines: {node: '>= 4.0.0'} 1990 | 1991 | uri-js@4.4.1: 1992 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1993 | 1994 | url-to-options@1.0.1: 1995 | resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} 1996 | engines: {node: '>= 4'} 1997 | 1998 | urllib@2.44.0: 1999 | resolution: {integrity: sha512-zRCJqdfYllRDA9bXUtx+vccyRqtJPKsw85f44zH7zPD28PIvjMqIgw9VwoTLV7xTBWZsbebUFVHU5ghQcWku2A==} 2000 | engines: {node: '>= 0.10.0'} 2001 | peerDependencies: 2002 | proxy-agent: ^5.0.0 2003 | peerDependenciesMeta: 2004 | proxy-agent: 2005 | optional: true 2006 | 2007 | util-deprecate@1.0.2: 2008 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 2009 | 2010 | utility@1.18.0: 2011 | resolution: {integrity: sha512-PYxZDA+6QtvRvm//++aGdmKG/cI07jNwbROz0Ql+VzFV1+Z0Dy55NI4zZ7RHc9KKpBePNFwoErqIuqQv/cjiTA==} 2012 | engines: {node: '>= 0.12.0'} 2013 | 2014 | uuid@9.0.1: 2015 | resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} 2016 | hasBin: true 2017 | 2018 | which@1.3.1: 2019 | resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} 2020 | hasBin: true 2021 | 2022 | which@2.0.2: 2023 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2024 | engines: {node: '>= 8'} 2025 | hasBin: true 2026 | 2027 | win-release@1.1.1: 2028 | resolution: {integrity: sha512-iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw==} 2029 | engines: {node: '>=0.10.0'} 2030 | 2031 | word-wrap@1.2.5: 2032 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 2033 | engines: {node: '>=0.10.0'} 2034 | 2035 | wrappy@1.0.2: 2036 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 2037 | 2038 | write-file-atomic@4.0.2: 2039 | resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} 2040 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 2041 | 2042 | xtend@4.0.2: 2043 | resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} 2044 | engines: {node: '>=0.4'} 2045 | 2046 | yauzl@2.10.0: 2047 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 2048 | 2049 | yocto-queue@0.1.0: 2050 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 2051 | engines: {node: '>=10'} 2052 | 2053 | snapshots: 2054 | 2055 | '@aws-crypto/crc32@5.2.0': 2056 | dependencies: 2057 | '@aws-crypto/util': 5.2.0 2058 | '@aws-sdk/types': 3.723.0 2059 | tslib: 2.8.1 2060 | 2061 | '@aws-crypto/crc32c@5.2.0': 2062 | dependencies: 2063 | '@aws-crypto/util': 5.2.0 2064 | '@aws-sdk/types': 3.723.0 2065 | tslib: 2.8.1 2066 | 2067 | '@aws-crypto/sha1-browser@5.2.0': 2068 | dependencies: 2069 | '@aws-crypto/supports-web-crypto': 5.2.0 2070 | '@aws-crypto/util': 5.2.0 2071 | '@aws-sdk/types': 3.723.0 2072 | '@aws-sdk/util-locate-window': 3.693.0 2073 | '@smithy/util-utf8': 2.3.0 2074 | tslib: 2.8.1 2075 | 2076 | '@aws-crypto/sha256-browser@5.2.0': 2077 | dependencies: 2078 | '@aws-crypto/sha256-js': 5.2.0 2079 | '@aws-crypto/supports-web-crypto': 5.2.0 2080 | '@aws-crypto/util': 5.2.0 2081 | '@aws-sdk/types': 3.723.0 2082 | '@aws-sdk/util-locate-window': 3.693.0 2083 | '@smithy/util-utf8': 2.3.0 2084 | tslib: 2.8.1 2085 | 2086 | '@aws-crypto/sha256-js@5.2.0': 2087 | dependencies: 2088 | '@aws-crypto/util': 5.2.0 2089 | '@aws-sdk/types': 3.723.0 2090 | tslib: 2.8.1 2091 | 2092 | '@aws-crypto/supports-web-crypto@5.2.0': 2093 | dependencies: 2094 | tslib: 2.8.1 2095 | 2096 | '@aws-crypto/util@5.2.0': 2097 | dependencies: 2098 | '@aws-sdk/types': 3.723.0 2099 | '@smithy/util-utf8': 2.3.0 2100 | tslib: 2.8.1 2101 | 2102 | '@aws-sdk/client-s3@3.729.0': 2103 | dependencies: 2104 | '@aws-crypto/sha1-browser': 5.2.0 2105 | '@aws-crypto/sha256-browser': 5.2.0 2106 | '@aws-crypto/sha256-js': 5.2.0 2107 | '@aws-sdk/client-sso-oidc': 3.726.0(@aws-sdk/client-sts@3.726.1) 2108 | '@aws-sdk/client-sts': 3.726.1 2109 | '@aws-sdk/core': 3.723.0 2110 | '@aws-sdk/credential-provider-node': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) 2111 | '@aws-sdk/middleware-bucket-endpoint': 3.726.0 2112 | '@aws-sdk/middleware-expect-continue': 3.723.0 2113 | '@aws-sdk/middleware-flexible-checksums': 3.729.0 2114 | '@aws-sdk/middleware-host-header': 3.723.0 2115 | '@aws-sdk/middleware-location-constraint': 3.723.0 2116 | '@aws-sdk/middleware-logger': 3.723.0 2117 | '@aws-sdk/middleware-recursion-detection': 3.723.0 2118 | '@aws-sdk/middleware-sdk-s3': 3.723.0 2119 | '@aws-sdk/middleware-ssec': 3.723.0 2120 | '@aws-sdk/middleware-user-agent': 3.726.0 2121 | '@aws-sdk/region-config-resolver': 3.723.0 2122 | '@aws-sdk/signature-v4-multi-region': 3.723.0 2123 | '@aws-sdk/types': 3.723.0 2124 | '@aws-sdk/util-endpoints': 3.726.0 2125 | '@aws-sdk/util-user-agent-browser': 3.723.0 2126 | '@aws-sdk/util-user-agent-node': 3.726.0 2127 | '@aws-sdk/xml-builder': 3.723.0 2128 | '@smithy/config-resolver': 4.0.1 2129 | '@smithy/core': 3.1.1 2130 | '@smithy/eventstream-serde-browser': 4.0.1 2131 | '@smithy/eventstream-serde-config-resolver': 4.0.1 2132 | '@smithy/eventstream-serde-node': 4.0.1 2133 | '@smithy/fetch-http-handler': 5.0.1 2134 | '@smithy/hash-blob-browser': 4.0.1 2135 | '@smithy/hash-node': 4.0.1 2136 | '@smithy/hash-stream-node': 4.0.1 2137 | '@smithy/invalid-dependency': 4.0.1 2138 | '@smithy/md5-js': 4.0.1 2139 | '@smithy/middleware-content-length': 4.0.1 2140 | '@smithy/middleware-endpoint': 4.0.2 2141 | '@smithy/middleware-retry': 4.0.3 2142 | '@smithy/middleware-serde': 4.0.1 2143 | '@smithy/middleware-stack': 4.0.1 2144 | '@smithy/node-config-provider': 4.0.1 2145 | '@smithy/node-http-handler': 4.0.2 2146 | '@smithy/protocol-http': 5.0.1 2147 | '@smithy/smithy-client': 4.1.2 2148 | '@smithy/types': 4.1.0 2149 | '@smithy/url-parser': 4.0.1 2150 | '@smithy/util-base64': 4.0.0 2151 | '@smithy/util-body-length-browser': 4.0.0 2152 | '@smithy/util-body-length-node': 4.0.0 2153 | '@smithy/util-defaults-mode-browser': 4.0.3 2154 | '@smithy/util-defaults-mode-node': 4.0.3 2155 | '@smithy/util-endpoints': 3.0.1 2156 | '@smithy/util-middleware': 4.0.1 2157 | '@smithy/util-retry': 4.0.1 2158 | '@smithy/util-stream': 4.0.2 2159 | '@smithy/util-utf8': 4.0.0 2160 | '@smithy/util-waiter': 4.0.2 2161 | tslib: 2.8.1 2162 | transitivePeerDependencies: 2163 | - aws-crt 2164 | 2165 | '@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)': 2166 | dependencies: 2167 | '@aws-crypto/sha256-browser': 5.2.0 2168 | '@aws-crypto/sha256-js': 5.2.0 2169 | '@aws-sdk/client-sts': 3.726.1 2170 | '@aws-sdk/core': 3.723.0 2171 | '@aws-sdk/credential-provider-node': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) 2172 | '@aws-sdk/middleware-host-header': 3.723.0 2173 | '@aws-sdk/middleware-logger': 3.723.0 2174 | '@aws-sdk/middleware-recursion-detection': 3.723.0 2175 | '@aws-sdk/middleware-user-agent': 3.726.0 2176 | '@aws-sdk/region-config-resolver': 3.723.0 2177 | '@aws-sdk/types': 3.723.0 2178 | '@aws-sdk/util-endpoints': 3.726.0 2179 | '@aws-sdk/util-user-agent-browser': 3.723.0 2180 | '@aws-sdk/util-user-agent-node': 3.726.0 2181 | '@smithy/config-resolver': 4.0.1 2182 | '@smithy/core': 3.1.1 2183 | '@smithy/fetch-http-handler': 5.0.1 2184 | '@smithy/hash-node': 4.0.1 2185 | '@smithy/invalid-dependency': 4.0.1 2186 | '@smithy/middleware-content-length': 4.0.1 2187 | '@smithy/middleware-endpoint': 4.0.2 2188 | '@smithy/middleware-retry': 4.0.3 2189 | '@smithy/middleware-serde': 4.0.1 2190 | '@smithy/middleware-stack': 4.0.1 2191 | '@smithy/node-config-provider': 4.0.1 2192 | '@smithy/node-http-handler': 4.0.2 2193 | '@smithy/protocol-http': 5.0.1 2194 | '@smithy/smithy-client': 4.1.2 2195 | '@smithy/types': 4.1.0 2196 | '@smithy/url-parser': 4.0.1 2197 | '@smithy/util-base64': 4.0.0 2198 | '@smithy/util-body-length-browser': 4.0.0 2199 | '@smithy/util-body-length-node': 4.0.0 2200 | '@smithy/util-defaults-mode-browser': 4.0.3 2201 | '@smithy/util-defaults-mode-node': 4.0.3 2202 | '@smithy/util-endpoints': 3.0.1 2203 | '@smithy/util-middleware': 4.0.1 2204 | '@smithy/util-retry': 4.0.1 2205 | '@smithy/util-utf8': 4.0.0 2206 | tslib: 2.8.1 2207 | transitivePeerDependencies: 2208 | - aws-crt 2209 | 2210 | '@aws-sdk/client-sso@3.726.0': 2211 | dependencies: 2212 | '@aws-crypto/sha256-browser': 5.2.0 2213 | '@aws-crypto/sha256-js': 5.2.0 2214 | '@aws-sdk/core': 3.723.0 2215 | '@aws-sdk/middleware-host-header': 3.723.0 2216 | '@aws-sdk/middleware-logger': 3.723.0 2217 | '@aws-sdk/middleware-recursion-detection': 3.723.0 2218 | '@aws-sdk/middleware-user-agent': 3.726.0 2219 | '@aws-sdk/region-config-resolver': 3.723.0 2220 | '@aws-sdk/types': 3.723.0 2221 | '@aws-sdk/util-endpoints': 3.726.0 2222 | '@aws-sdk/util-user-agent-browser': 3.723.0 2223 | '@aws-sdk/util-user-agent-node': 3.726.0 2224 | '@smithy/config-resolver': 4.0.1 2225 | '@smithy/core': 3.1.1 2226 | '@smithy/fetch-http-handler': 5.0.1 2227 | '@smithy/hash-node': 4.0.1 2228 | '@smithy/invalid-dependency': 4.0.1 2229 | '@smithy/middleware-content-length': 4.0.1 2230 | '@smithy/middleware-endpoint': 4.0.2 2231 | '@smithy/middleware-retry': 4.0.3 2232 | '@smithy/middleware-serde': 4.0.1 2233 | '@smithy/middleware-stack': 4.0.1 2234 | '@smithy/node-config-provider': 4.0.1 2235 | '@smithy/node-http-handler': 4.0.2 2236 | '@smithy/protocol-http': 5.0.1 2237 | '@smithy/smithy-client': 4.1.2 2238 | '@smithy/types': 4.1.0 2239 | '@smithy/url-parser': 4.0.1 2240 | '@smithy/util-base64': 4.0.0 2241 | '@smithy/util-body-length-browser': 4.0.0 2242 | '@smithy/util-body-length-node': 4.0.0 2243 | '@smithy/util-defaults-mode-browser': 4.0.3 2244 | '@smithy/util-defaults-mode-node': 4.0.3 2245 | '@smithy/util-endpoints': 3.0.1 2246 | '@smithy/util-middleware': 4.0.1 2247 | '@smithy/util-retry': 4.0.1 2248 | '@smithy/util-utf8': 4.0.0 2249 | tslib: 2.8.1 2250 | transitivePeerDependencies: 2251 | - aws-crt 2252 | 2253 | '@aws-sdk/client-sts@3.726.1': 2254 | dependencies: 2255 | '@aws-crypto/sha256-browser': 5.2.0 2256 | '@aws-crypto/sha256-js': 5.2.0 2257 | '@aws-sdk/client-sso-oidc': 3.726.0(@aws-sdk/client-sts@3.726.1) 2258 | '@aws-sdk/core': 3.723.0 2259 | '@aws-sdk/credential-provider-node': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) 2260 | '@aws-sdk/middleware-host-header': 3.723.0 2261 | '@aws-sdk/middleware-logger': 3.723.0 2262 | '@aws-sdk/middleware-recursion-detection': 3.723.0 2263 | '@aws-sdk/middleware-user-agent': 3.726.0 2264 | '@aws-sdk/region-config-resolver': 3.723.0 2265 | '@aws-sdk/types': 3.723.0 2266 | '@aws-sdk/util-endpoints': 3.726.0 2267 | '@aws-sdk/util-user-agent-browser': 3.723.0 2268 | '@aws-sdk/util-user-agent-node': 3.726.0 2269 | '@smithy/config-resolver': 4.0.1 2270 | '@smithy/core': 3.1.1 2271 | '@smithy/fetch-http-handler': 5.0.1 2272 | '@smithy/hash-node': 4.0.1 2273 | '@smithy/invalid-dependency': 4.0.1 2274 | '@smithy/middleware-content-length': 4.0.1 2275 | '@smithy/middleware-endpoint': 4.0.2 2276 | '@smithy/middleware-retry': 4.0.3 2277 | '@smithy/middleware-serde': 4.0.1 2278 | '@smithy/middleware-stack': 4.0.1 2279 | '@smithy/node-config-provider': 4.0.1 2280 | '@smithy/node-http-handler': 4.0.2 2281 | '@smithy/protocol-http': 5.0.1 2282 | '@smithy/smithy-client': 4.1.2 2283 | '@smithy/types': 4.1.0 2284 | '@smithy/url-parser': 4.0.1 2285 | '@smithy/util-base64': 4.0.0 2286 | '@smithy/util-body-length-browser': 4.0.0 2287 | '@smithy/util-body-length-node': 4.0.0 2288 | '@smithy/util-defaults-mode-browser': 4.0.3 2289 | '@smithy/util-defaults-mode-node': 4.0.3 2290 | '@smithy/util-endpoints': 3.0.1 2291 | '@smithy/util-middleware': 4.0.1 2292 | '@smithy/util-retry': 4.0.1 2293 | '@smithy/util-utf8': 4.0.0 2294 | tslib: 2.8.1 2295 | transitivePeerDependencies: 2296 | - aws-crt 2297 | 2298 | '@aws-sdk/core@3.723.0': 2299 | dependencies: 2300 | '@aws-sdk/types': 3.723.0 2301 | '@smithy/core': 3.1.1 2302 | '@smithy/node-config-provider': 4.0.1 2303 | '@smithy/property-provider': 4.0.1 2304 | '@smithy/protocol-http': 5.0.1 2305 | '@smithy/signature-v4': 5.0.1 2306 | '@smithy/smithy-client': 4.1.2 2307 | '@smithy/types': 4.1.0 2308 | '@smithy/util-middleware': 4.0.1 2309 | fast-xml-parser: 4.4.1 2310 | tslib: 2.8.1 2311 | 2312 | '@aws-sdk/credential-provider-env@3.723.0': 2313 | dependencies: 2314 | '@aws-sdk/core': 3.723.0 2315 | '@aws-sdk/types': 3.723.0 2316 | '@smithy/property-provider': 4.0.1 2317 | '@smithy/types': 4.1.0 2318 | tslib: 2.8.1 2319 | 2320 | '@aws-sdk/credential-provider-http@3.723.0': 2321 | dependencies: 2322 | '@aws-sdk/core': 3.723.0 2323 | '@aws-sdk/types': 3.723.0 2324 | '@smithy/fetch-http-handler': 5.0.1 2325 | '@smithy/node-http-handler': 4.0.2 2326 | '@smithy/property-provider': 4.0.1 2327 | '@smithy/protocol-http': 5.0.1 2328 | '@smithy/smithy-client': 4.1.2 2329 | '@smithy/types': 4.1.0 2330 | '@smithy/util-stream': 4.0.2 2331 | tslib: 2.8.1 2332 | 2333 | '@aws-sdk/credential-provider-ini@3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1)': 2334 | dependencies: 2335 | '@aws-sdk/client-sts': 3.726.1 2336 | '@aws-sdk/core': 3.723.0 2337 | '@aws-sdk/credential-provider-env': 3.723.0 2338 | '@aws-sdk/credential-provider-http': 3.723.0 2339 | '@aws-sdk/credential-provider-process': 3.723.0 2340 | '@aws-sdk/credential-provider-sso': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)) 2341 | '@aws-sdk/credential-provider-web-identity': 3.723.0(@aws-sdk/client-sts@3.726.1) 2342 | '@aws-sdk/types': 3.723.0 2343 | '@smithy/credential-provider-imds': 4.0.1 2344 | '@smithy/property-provider': 4.0.1 2345 | '@smithy/shared-ini-file-loader': 4.0.1 2346 | '@smithy/types': 4.1.0 2347 | tslib: 2.8.1 2348 | transitivePeerDependencies: 2349 | - '@aws-sdk/client-sso-oidc' 2350 | - aws-crt 2351 | 2352 | '@aws-sdk/credential-provider-node@3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1)': 2353 | dependencies: 2354 | '@aws-sdk/credential-provider-env': 3.723.0 2355 | '@aws-sdk/credential-provider-http': 3.723.0 2356 | '@aws-sdk/credential-provider-ini': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))(@aws-sdk/client-sts@3.726.1) 2357 | '@aws-sdk/credential-provider-process': 3.723.0 2358 | '@aws-sdk/credential-provider-sso': 3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)) 2359 | '@aws-sdk/credential-provider-web-identity': 3.723.0(@aws-sdk/client-sts@3.726.1) 2360 | '@aws-sdk/types': 3.723.0 2361 | '@smithy/credential-provider-imds': 4.0.1 2362 | '@smithy/property-provider': 4.0.1 2363 | '@smithy/shared-ini-file-loader': 4.0.1 2364 | '@smithy/types': 4.1.0 2365 | tslib: 2.8.1 2366 | transitivePeerDependencies: 2367 | - '@aws-sdk/client-sso-oidc' 2368 | - '@aws-sdk/client-sts' 2369 | - aws-crt 2370 | 2371 | '@aws-sdk/credential-provider-process@3.723.0': 2372 | dependencies: 2373 | '@aws-sdk/core': 3.723.0 2374 | '@aws-sdk/types': 3.723.0 2375 | '@smithy/property-provider': 4.0.1 2376 | '@smithy/shared-ini-file-loader': 4.0.1 2377 | '@smithy/types': 4.1.0 2378 | tslib: 2.8.1 2379 | 2380 | '@aws-sdk/credential-provider-sso@3.726.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))': 2381 | dependencies: 2382 | '@aws-sdk/client-sso': 3.726.0 2383 | '@aws-sdk/core': 3.723.0 2384 | '@aws-sdk/token-providers': 3.723.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1)) 2385 | '@aws-sdk/types': 3.723.0 2386 | '@smithy/property-provider': 4.0.1 2387 | '@smithy/shared-ini-file-loader': 4.0.1 2388 | '@smithy/types': 4.1.0 2389 | tslib: 2.8.1 2390 | transitivePeerDependencies: 2391 | - '@aws-sdk/client-sso-oidc' 2392 | - aws-crt 2393 | 2394 | '@aws-sdk/credential-provider-web-identity@3.723.0(@aws-sdk/client-sts@3.726.1)': 2395 | dependencies: 2396 | '@aws-sdk/client-sts': 3.726.1 2397 | '@aws-sdk/core': 3.723.0 2398 | '@aws-sdk/types': 3.723.0 2399 | '@smithy/property-provider': 4.0.1 2400 | '@smithy/types': 4.1.0 2401 | tslib: 2.8.1 2402 | 2403 | '@aws-sdk/lib-storage@3.729.0(@aws-sdk/client-s3@3.729.0)': 2404 | dependencies: 2405 | '@aws-sdk/client-s3': 3.729.0 2406 | '@smithy/abort-controller': 4.0.1 2407 | '@smithy/middleware-endpoint': 4.0.2 2408 | '@smithy/smithy-client': 4.1.2 2409 | buffer: 5.6.0 2410 | events: 3.3.0 2411 | stream-browserify: 3.0.0 2412 | tslib: 2.8.1 2413 | 2414 | '@aws-sdk/middleware-bucket-endpoint@3.726.0': 2415 | dependencies: 2416 | '@aws-sdk/types': 3.723.0 2417 | '@aws-sdk/util-arn-parser': 3.723.0 2418 | '@smithy/node-config-provider': 4.0.1 2419 | '@smithy/protocol-http': 5.0.1 2420 | '@smithy/types': 4.1.0 2421 | '@smithy/util-config-provider': 4.0.0 2422 | tslib: 2.8.1 2423 | 2424 | '@aws-sdk/middleware-expect-continue@3.723.0': 2425 | dependencies: 2426 | '@aws-sdk/types': 3.723.0 2427 | '@smithy/protocol-http': 5.0.1 2428 | '@smithy/types': 4.1.0 2429 | tslib: 2.8.1 2430 | 2431 | '@aws-sdk/middleware-flexible-checksums@3.729.0': 2432 | dependencies: 2433 | '@aws-crypto/crc32': 5.2.0 2434 | '@aws-crypto/crc32c': 5.2.0 2435 | '@aws-crypto/util': 5.2.0 2436 | '@aws-sdk/core': 3.723.0 2437 | '@aws-sdk/types': 3.723.0 2438 | '@smithy/is-array-buffer': 4.0.0 2439 | '@smithy/node-config-provider': 4.0.1 2440 | '@smithy/protocol-http': 5.0.1 2441 | '@smithy/types': 4.1.0 2442 | '@smithy/util-middleware': 4.0.1 2443 | '@smithy/util-stream': 4.0.2 2444 | '@smithy/util-utf8': 4.0.0 2445 | tslib: 2.8.1 2446 | 2447 | '@aws-sdk/middleware-host-header@3.723.0': 2448 | dependencies: 2449 | '@aws-sdk/types': 3.723.0 2450 | '@smithy/protocol-http': 5.0.1 2451 | '@smithy/types': 4.1.0 2452 | tslib: 2.8.1 2453 | 2454 | '@aws-sdk/middleware-location-constraint@3.723.0': 2455 | dependencies: 2456 | '@aws-sdk/types': 3.723.0 2457 | '@smithy/types': 4.1.0 2458 | tslib: 2.8.1 2459 | 2460 | '@aws-sdk/middleware-logger@3.723.0': 2461 | dependencies: 2462 | '@aws-sdk/types': 3.723.0 2463 | '@smithy/types': 4.1.0 2464 | tslib: 2.8.1 2465 | 2466 | '@aws-sdk/middleware-recursion-detection@3.723.0': 2467 | dependencies: 2468 | '@aws-sdk/types': 3.723.0 2469 | '@smithy/protocol-http': 5.0.1 2470 | '@smithy/types': 4.1.0 2471 | tslib: 2.8.1 2472 | 2473 | '@aws-sdk/middleware-sdk-s3@3.723.0': 2474 | dependencies: 2475 | '@aws-sdk/core': 3.723.0 2476 | '@aws-sdk/types': 3.723.0 2477 | '@aws-sdk/util-arn-parser': 3.723.0 2478 | '@smithy/core': 3.1.1 2479 | '@smithy/node-config-provider': 4.0.1 2480 | '@smithy/protocol-http': 5.0.1 2481 | '@smithy/signature-v4': 5.0.1 2482 | '@smithy/smithy-client': 4.1.2 2483 | '@smithy/types': 4.1.0 2484 | '@smithy/util-config-provider': 4.0.0 2485 | '@smithy/util-middleware': 4.0.1 2486 | '@smithy/util-stream': 4.0.2 2487 | '@smithy/util-utf8': 4.0.0 2488 | tslib: 2.8.1 2489 | 2490 | '@aws-sdk/middleware-ssec@3.723.0': 2491 | dependencies: 2492 | '@aws-sdk/types': 3.723.0 2493 | '@smithy/types': 4.1.0 2494 | tslib: 2.8.1 2495 | 2496 | '@aws-sdk/middleware-user-agent@3.726.0': 2497 | dependencies: 2498 | '@aws-sdk/core': 3.723.0 2499 | '@aws-sdk/types': 3.723.0 2500 | '@aws-sdk/util-endpoints': 3.726.0 2501 | '@smithy/core': 3.1.1 2502 | '@smithy/protocol-http': 5.0.1 2503 | '@smithy/types': 4.1.0 2504 | tslib: 2.8.1 2505 | 2506 | '@aws-sdk/region-config-resolver@3.723.0': 2507 | dependencies: 2508 | '@aws-sdk/types': 3.723.0 2509 | '@smithy/node-config-provider': 4.0.1 2510 | '@smithy/types': 4.1.0 2511 | '@smithy/util-config-provider': 4.0.0 2512 | '@smithy/util-middleware': 4.0.1 2513 | tslib: 2.8.1 2514 | 2515 | '@aws-sdk/s3-request-presigner@3.729.0': 2516 | dependencies: 2517 | '@aws-sdk/signature-v4-multi-region': 3.723.0 2518 | '@aws-sdk/types': 3.723.0 2519 | '@aws-sdk/util-format-url': 3.723.0 2520 | '@smithy/middleware-endpoint': 4.0.2 2521 | '@smithy/protocol-http': 5.0.1 2522 | '@smithy/smithy-client': 4.1.2 2523 | '@smithy/types': 4.1.0 2524 | tslib: 2.8.1 2525 | 2526 | '@aws-sdk/signature-v4-multi-region@3.723.0': 2527 | dependencies: 2528 | '@aws-sdk/middleware-sdk-s3': 3.723.0 2529 | '@aws-sdk/types': 3.723.0 2530 | '@smithy/protocol-http': 5.0.1 2531 | '@smithy/signature-v4': 5.0.1 2532 | '@smithy/types': 4.1.0 2533 | tslib: 2.8.1 2534 | 2535 | '@aws-sdk/token-providers@3.723.0(@aws-sdk/client-sso-oidc@3.726.0(@aws-sdk/client-sts@3.726.1))': 2536 | dependencies: 2537 | '@aws-sdk/client-sso-oidc': 3.726.0(@aws-sdk/client-sts@3.726.1) 2538 | '@aws-sdk/types': 3.723.0 2539 | '@smithy/property-provider': 4.0.1 2540 | '@smithy/shared-ini-file-loader': 4.0.1 2541 | '@smithy/types': 4.1.0 2542 | tslib: 2.8.1 2543 | 2544 | '@aws-sdk/types@3.723.0': 2545 | dependencies: 2546 | '@smithy/types': 4.1.0 2547 | tslib: 2.8.1 2548 | 2549 | '@aws-sdk/util-arn-parser@3.723.0': 2550 | dependencies: 2551 | tslib: 2.8.1 2552 | 2553 | '@aws-sdk/util-endpoints@3.726.0': 2554 | dependencies: 2555 | '@aws-sdk/types': 3.723.0 2556 | '@smithy/types': 4.1.0 2557 | '@smithy/util-endpoints': 3.0.1 2558 | tslib: 2.8.1 2559 | 2560 | '@aws-sdk/util-format-url@3.723.0': 2561 | dependencies: 2562 | '@aws-sdk/types': 3.723.0 2563 | '@smithy/querystring-builder': 4.0.1 2564 | '@smithy/types': 4.1.0 2565 | tslib: 2.8.1 2566 | 2567 | '@aws-sdk/util-locate-window@3.693.0': 2568 | dependencies: 2569 | tslib: 2.8.1 2570 | 2571 | '@aws-sdk/util-user-agent-browser@3.723.0': 2572 | dependencies: 2573 | '@aws-sdk/types': 3.723.0 2574 | '@smithy/types': 4.1.0 2575 | bowser: 2.11.0 2576 | tslib: 2.8.1 2577 | 2578 | '@aws-sdk/util-user-agent-node@3.726.0': 2579 | dependencies: 2580 | '@aws-sdk/middleware-user-agent': 3.726.0 2581 | '@aws-sdk/types': 3.723.0 2582 | '@smithy/node-config-provider': 4.0.1 2583 | '@smithy/types': 4.1.0 2584 | tslib: 2.8.1 2585 | 2586 | '@aws-sdk/xml-builder@3.723.0': 2587 | dependencies: 2588 | '@smithy/types': 4.1.0 2589 | tslib: 2.8.1 2590 | 2591 | '@commonify/lowdb@3.0.0': 2592 | dependencies: 2593 | '@commonify/steno': 2.1.0 2594 | 2595 | '@commonify/steno@2.1.0': {} 2596 | 2597 | '@eslint-community/eslint-utils@4.4.1(eslint@9.16.0)': 2598 | dependencies: 2599 | eslint: 9.16.0 2600 | eslint-visitor-keys: 3.4.3 2601 | 2602 | '@eslint-community/regexpp@4.12.1': {} 2603 | 2604 | '@eslint/config-array@0.19.1': 2605 | dependencies: 2606 | '@eslint/object-schema': 2.1.5 2607 | debug: 4.4.0 2608 | minimatch: 3.1.2 2609 | transitivePeerDependencies: 2610 | - supports-color 2611 | 2612 | '@eslint/core@0.9.1': 2613 | dependencies: 2614 | '@types/json-schema': 7.0.15 2615 | 2616 | '@eslint/eslintrc@3.2.0': 2617 | dependencies: 2618 | ajv: 6.12.6 2619 | debug: 4.4.0 2620 | espree: 10.3.0 2621 | globals: 14.0.0 2622 | ignore: 5.3.2 2623 | import-fresh: 3.3.0 2624 | js-yaml: 4.1.0 2625 | minimatch: 3.1.2 2626 | strip-json-comments: 3.1.1 2627 | transitivePeerDependencies: 2628 | - supports-color 2629 | 2630 | '@eslint/js@9.16.0': {} 2631 | 2632 | '@eslint/object-schema@2.1.5': {} 2633 | 2634 | '@eslint/plugin-kit@0.2.4': 2635 | dependencies: 2636 | levn: 0.4.1 2637 | 2638 | '@humanfs/core@0.19.1': {} 2639 | 2640 | '@humanfs/node@0.16.6': 2641 | dependencies: 2642 | '@humanfs/core': 0.19.1 2643 | '@humanwhocodes/retry': 0.3.1 2644 | 2645 | '@humanwhocodes/module-importer@1.0.1': {} 2646 | 2647 | '@humanwhocodes/retry@0.3.1': {} 2648 | 2649 | '@humanwhocodes/retry@0.4.1': {} 2650 | 2651 | '@nodelib/fs.scandir@2.1.5': 2652 | dependencies: 2653 | '@nodelib/fs.stat': 2.0.5 2654 | run-parallel: 1.2.0 2655 | 2656 | '@nodelib/fs.stat@2.0.5': {} 2657 | 2658 | '@nodelib/fs.walk@1.2.8': 2659 | dependencies: 2660 | '@nodelib/fs.scandir': 2.1.5 2661 | fastq: 1.17.1 2662 | 2663 | '@picgo/i18n@1.0.0': 2664 | dependencies: 2665 | chalk: 4.1.2 2666 | tslib: 2.8.1 2667 | 2668 | '@picgo/store@2.1.0': 2669 | dependencies: 2670 | '@commonify/lowdb': 3.0.0 2671 | '@commonify/steno': 2.1.0 2672 | '@types/bson': 4.2.4 2673 | '@types/graceful-fs': 4.1.9 2674 | '@types/lodash': 4.17.13 2675 | comment-json: 4.2.5 2676 | fflate: 0.7.4 2677 | lodash: 4.17.21 2678 | lodash-id: 0.14.1 2679 | write-file-atomic: 4.0.2 2680 | 2681 | '@pkgr/core@0.1.1': {} 2682 | 2683 | '@sec-ant/readable-stream@0.4.1': {} 2684 | 2685 | '@sindresorhus/is@7.0.1': {} 2686 | 2687 | '@smithy/abort-controller@3.1.8': 2688 | dependencies: 2689 | '@smithy/types': 3.7.1 2690 | tslib: 2.8.1 2691 | 2692 | '@smithy/abort-controller@4.0.1': 2693 | dependencies: 2694 | '@smithy/types': 4.1.0 2695 | tslib: 2.8.1 2696 | 2697 | '@smithy/chunked-blob-reader-native@4.0.0': 2698 | dependencies: 2699 | '@smithy/util-base64': 4.0.0 2700 | tslib: 2.8.1 2701 | 2702 | '@smithy/chunked-blob-reader@5.0.0': 2703 | dependencies: 2704 | tslib: 2.8.1 2705 | 2706 | '@smithy/config-resolver@4.0.1': 2707 | dependencies: 2708 | '@smithy/node-config-provider': 4.0.1 2709 | '@smithy/types': 4.1.0 2710 | '@smithy/util-config-provider': 4.0.0 2711 | '@smithy/util-middleware': 4.0.1 2712 | tslib: 2.8.1 2713 | 2714 | '@smithy/core@3.1.1': 2715 | dependencies: 2716 | '@smithy/middleware-serde': 4.0.1 2717 | '@smithy/protocol-http': 5.0.1 2718 | '@smithy/types': 4.1.0 2719 | '@smithy/util-body-length-browser': 4.0.0 2720 | '@smithy/util-middleware': 4.0.1 2721 | '@smithy/util-stream': 4.0.2 2722 | '@smithy/util-utf8': 4.0.0 2723 | tslib: 2.8.1 2724 | 2725 | '@smithy/credential-provider-imds@4.0.1': 2726 | dependencies: 2727 | '@smithy/node-config-provider': 4.0.1 2728 | '@smithy/property-provider': 4.0.1 2729 | '@smithy/types': 4.1.0 2730 | '@smithy/url-parser': 4.0.1 2731 | tslib: 2.8.1 2732 | 2733 | '@smithy/eventstream-codec@4.0.1': 2734 | dependencies: 2735 | '@aws-crypto/crc32': 5.2.0 2736 | '@smithy/types': 4.1.0 2737 | '@smithy/util-hex-encoding': 4.0.0 2738 | tslib: 2.8.1 2739 | 2740 | '@smithy/eventstream-serde-browser@4.0.1': 2741 | dependencies: 2742 | '@smithy/eventstream-serde-universal': 4.0.1 2743 | '@smithy/types': 4.1.0 2744 | tslib: 2.8.1 2745 | 2746 | '@smithy/eventstream-serde-config-resolver@4.0.1': 2747 | dependencies: 2748 | '@smithy/types': 4.1.0 2749 | tslib: 2.8.1 2750 | 2751 | '@smithy/eventstream-serde-node@4.0.1': 2752 | dependencies: 2753 | '@smithy/eventstream-serde-universal': 4.0.1 2754 | '@smithy/types': 4.1.0 2755 | tslib: 2.8.1 2756 | 2757 | '@smithy/eventstream-serde-universal@4.0.1': 2758 | dependencies: 2759 | '@smithy/eventstream-codec': 4.0.1 2760 | '@smithy/types': 4.1.0 2761 | tslib: 2.8.1 2762 | 2763 | '@smithy/fetch-http-handler@5.0.1': 2764 | dependencies: 2765 | '@smithy/protocol-http': 5.0.1 2766 | '@smithy/querystring-builder': 4.0.1 2767 | '@smithy/types': 4.1.0 2768 | '@smithy/util-base64': 4.0.0 2769 | tslib: 2.8.1 2770 | 2771 | '@smithy/hash-blob-browser@4.0.1': 2772 | dependencies: 2773 | '@smithy/chunked-blob-reader': 5.0.0 2774 | '@smithy/chunked-blob-reader-native': 4.0.0 2775 | '@smithy/types': 4.1.0 2776 | tslib: 2.8.1 2777 | 2778 | '@smithy/hash-node@4.0.1': 2779 | dependencies: 2780 | '@smithy/types': 4.1.0 2781 | '@smithy/util-buffer-from': 4.0.0 2782 | '@smithy/util-utf8': 4.0.0 2783 | tslib: 2.8.1 2784 | 2785 | '@smithy/hash-stream-node@4.0.1': 2786 | dependencies: 2787 | '@smithy/types': 4.1.0 2788 | '@smithy/util-utf8': 4.0.0 2789 | tslib: 2.8.1 2790 | 2791 | '@smithy/invalid-dependency@4.0.1': 2792 | dependencies: 2793 | '@smithy/types': 4.1.0 2794 | tslib: 2.8.1 2795 | 2796 | '@smithy/is-array-buffer@2.2.0': 2797 | dependencies: 2798 | tslib: 2.8.1 2799 | 2800 | '@smithy/is-array-buffer@4.0.0': 2801 | dependencies: 2802 | tslib: 2.8.1 2803 | 2804 | '@smithy/md5-js@4.0.1': 2805 | dependencies: 2806 | '@smithy/types': 4.1.0 2807 | '@smithy/util-utf8': 4.0.0 2808 | tslib: 2.8.1 2809 | 2810 | '@smithy/middleware-content-length@4.0.1': 2811 | dependencies: 2812 | '@smithy/protocol-http': 5.0.1 2813 | '@smithy/types': 4.1.0 2814 | tslib: 2.8.1 2815 | 2816 | '@smithy/middleware-endpoint@4.0.2': 2817 | dependencies: 2818 | '@smithy/core': 3.1.1 2819 | '@smithy/middleware-serde': 4.0.1 2820 | '@smithy/node-config-provider': 4.0.1 2821 | '@smithy/shared-ini-file-loader': 4.0.1 2822 | '@smithy/types': 4.1.0 2823 | '@smithy/url-parser': 4.0.1 2824 | '@smithy/util-middleware': 4.0.1 2825 | tslib: 2.8.1 2826 | 2827 | '@smithy/middleware-retry@4.0.3': 2828 | dependencies: 2829 | '@smithy/node-config-provider': 4.0.1 2830 | '@smithy/protocol-http': 5.0.1 2831 | '@smithy/service-error-classification': 4.0.1 2832 | '@smithy/smithy-client': 4.1.2 2833 | '@smithy/types': 4.1.0 2834 | '@smithy/util-middleware': 4.0.1 2835 | '@smithy/util-retry': 4.0.1 2836 | tslib: 2.8.1 2837 | uuid: 9.0.1 2838 | 2839 | '@smithy/middleware-serde@4.0.1': 2840 | dependencies: 2841 | '@smithy/types': 4.1.0 2842 | tslib: 2.8.1 2843 | 2844 | '@smithy/middleware-stack@4.0.1': 2845 | dependencies: 2846 | '@smithy/types': 4.1.0 2847 | tslib: 2.8.1 2848 | 2849 | '@smithy/node-config-provider@4.0.1': 2850 | dependencies: 2851 | '@smithy/property-provider': 4.0.1 2852 | '@smithy/shared-ini-file-loader': 4.0.1 2853 | '@smithy/types': 4.1.0 2854 | tslib: 2.8.1 2855 | 2856 | '@smithy/node-http-handler@3.3.1': 2857 | dependencies: 2858 | '@smithy/abort-controller': 3.1.8 2859 | '@smithy/protocol-http': 4.1.7 2860 | '@smithy/querystring-builder': 3.0.10 2861 | '@smithy/types': 3.7.1 2862 | tslib: 2.8.1 2863 | 2864 | '@smithy/node-http-handler@4.0.2': 2865 | dependencies: 2866 | '@smithy/abort-controller': 4.0.1 2867 | '@smithy/protocol-http': 5.0.1 2868 | '@smithy/querystring-builder': 4.0.1 2869 | '@smithy/types': 4.1.0 2870 | tslib: 2.8.1 2871 | 2872 | '@smithy/property-provider@4.0.1': 2873 | dependencies: 2874 | '@smithy/types': 4.1.0 2875 | tslib: 2.8.1 2876 | 2877 | '@smithy/protocol-http@4.1.7': 2878 | dependencies: 2879 | '@smithy/types': 3.7.1 2880 | tslib: 2.8.1 2881 | 2882 | '@smithy/protocol-http@5.0.1': 2883 | dependencies: 2884 | '@smithy/types': 4.1.0 2885 | tslib: 2.8.1 2886 | 2887 | '@smithy/querystring-builder@3.0.10': 2888 | dependencies: 2889 | '@smithy/types': 3.7.1 2890 | '@smithy/util-uri-escape': 3.0.0 2891 | tslib: 2.8.1 2892 | 2893 | '@smithy/querystring-builder@4.0.1': 2894 | dependencies: 2895 | '@smithy/types': 4.1.0 2896 | '@smithy/util-uri-escape': 4.0.0 2897 | tslib: 2.8.1 2898 | 2899 | '@smithy/querystring-parser@4.0.1': 2900 | dependencies: 2901 | '@smithy/types': 4.1.0 2902 | tslib: 2.8.1 2903 | 2904 | '@smithy/service-error-classification@4.0.1': 2905 | dependencies: 2906 | '@smithy/types': 4.1.0 2907 | 2908 | '@smithy/shared-ini-file-loader@4.0.1': 2909 | dependencies: 2910 | '@smithy/types': 4.1.0 2911 | tslib: 2.8.1 2912 | 2913 | '@smithy/signature-v4@5.0.1': 2914 | dependencies: 2915 | '@smithy/is-array-buffer': 4.0.0 2916 | '@smithy/protocol-http': 5.0.1 2917 | '@smithy/types': 4.1.0 2918 | '@smithy/util-hex-encoding': 4.0.0 2919 | '@smithy/util-middleware': 4.0.1 2920 | '@smithy/util-uri-escape': 4.0.0 2921 | '@smithy/util-utf8': 4.0.0 2922 | tslib: 2.8.1 2923 | 2924 | '@smithy/smithy-client@4.1.2': 2925 | dependencies: 2926 | '@smithy/core': 3.1.1 2927 | '@smithy/middleware-endpoint': 4.0.2 2928 | '@smithy/middleware-stack': 4.0.1 2929 | '@smithy/protocol-http': 5.0.1 2930 | '@smithy/types': 4.1.0 2931 | '@smithy/util-stream': 4.0.2 2932 | tslib: 2.8.1 2933 | 2934 | '@smithy/types@3.7.1': 2935 | dependencies: 2936 | tslib: 2.8.1 2937 | 2938 | '@smithy/types@4.1.0': 2939 | dependencies: 2940 | tslib: 2.8.1 2941 | 2942 | '@smithy/url-parser@4.0.1': 2943 | dependencies: 2944 | '@smithy/querystring-parser': 4.0.1 2945 | '@smithy/types': 4.1.0 2946 | tslib: 2.8.1 2947 | 2948 | '@smithy/util-base64@4.0.0': 2949 | dependencies: 2950 | '@smithy/util-buffer-from': 4.0.0 2951 | '@smithy/util-utf8': 4.0.0 2952 | tslib: 2.8.1 2953 | 2954 | '@smithy/util-body-length-browser@4.0.0': 2955 | dependencies: 2956 | tslib: 2.8.1 2957 | 2958 | '@smithy/util-body-length-node@4.0.0': 2959 | dependencies: 2960 | tslib: 2.8.1 2961 | 2962 | '@smithy/util-buffer-from@2.2.0': 2963 | dependencies: 2964 | '@smithy/is-array-buffer': 2.2.0 2965 | tslib: 2.8.1 2966 | 2967 | '@smithy/util-buffer-from@4.0.0': 2968 | dependencies: 2969 | '@smithy/is-array-buffer': 4.0.0 2970 | tslib: 2.8.1 2971 | 2972 | '@smithy/util-config-provider@4.0.0': 2973 | dependencies: 2974 | tslib: 2.8.1 2975 | 2976 | '@smithy/util-defaults-mode-browser@4.0.3': 2977 | dependencies: 2978 | '@smithy/property-provider': 4.0.1 2979 | '@smithy/smithy-client': 4.1.2 2980 | '@smithy/types': 4.1.0 2981 | bowser: 2.11.0 2982 | tslib: 2.8.1 2983 | 2984 | '@smithy/util-defaults-mode-node@4.0.3': 2985 | dependencies: 2986 | '@smithy/config-resolver': 4.0.1 2987 | '@smithy/credential-provider-imds': 4.0.1 2988 | '@smithy/node-config-provider': 4.0.1 2989 | '@smithy/property-provider': 4.0.1 2990 | '@smithy/smithy-client': 4.1.2 2991 | '@smithy/types': 4.1.0 2992 | tslib: 2.8.1 2993 | 2994 | '@smithy/util-endpoints@3.0.1': 2995 | dependencies: 2996 | '@smithy/node-config-provider': 4.0.1 2997 | '@smithy/types': 4.1.0 2998 | tslib: 2.8.1 2999 | 3000 | '@smithy/util-hex-encoding@4.0.0': 3001 | dependencies: 3002 | tslib: 2.8.1 3003 | 3004 | '@smithy/util-middleware@4.0.1': 3005 | dependencies: 3006 | '@smithy/types': 4.1.0 3007 | tslib: 2.8.1 3008 | 3009 | '@smithy/util-retry@4.0.1': 3010 | dependencies: 3011 | '@smithy/service-error-classification': 4.0.1 3012 | '@smithy/types': 4.1.0 3013 | tslib: 2.8.1 3014 | 3015 | '@smithy/util-stream@4.0.2': 3016 | dependencies: 3017 | '@smithy/fetch-http-handler': 5.0.1 3018 | '@smithy/node-http-handler': 4.0.2 3019 | '@smithy/types': 4.1.0 3020 | '@smithy/util-base64': 4.0.0 3021 | '@smithy/util-buffer-from': 4.0.0 3022 | '@smithy/util-hex-encoding': 4.0.0 3023 | '@smithy/util-utf8': 4.0.0 3024 | tslib: 2.8.1 3025 | 3026 | '@smithy/util-uri-escape@3.0.0': 3027 | dependencies: 3028 | tslib: 2.8.1 3029 | 3030 | '@smithy/util-uri-escape@4.0.0': 3031 | dependencies: 3032 | tslib: 2.8.1 3033 | 3034 | '@smithy/util-utf8@2.3.0': 3035 | dependencies: 3036 | '@smithy/util-buffer-from': 2.2.0 3037 | tslib: 2.8.1 3038 | 3039 | '@smithy/util-utf8@4.0.0': 3040 | dependencies: 3041 | '@smithy/util-buffer-from': 4.0.0 3042 | tslib: 2.8.1 3043 | 3044 | '@smithy/util-waiter@4.0.2': 3045 | dependencies: 3046 | '@smithy/abort-controller': 4.0.1 3047 | '@smithy/types': 4.1.0 3048 | tslib: 2.8.1 3049 | 3050 | '@szmarczak/http-timer@5.0.1': 3051 | dependencies: 3052 | defer-to-connect: 2.0.1 3053 | 3054 | '@tokenizer/token@0.3.0': {} 3055 | 3056 | '@types/bson@4.2.4': 3057 | dependencies: 3058 | bson: 6.10.1 3059 | 3060 | '@types/estree@1.0.6': {} 3061 | 3062 | '@types/graceful-fs@4.1.9': 3063 | dependencies: 3064 | '@types/node': 22.10.1 3065 | 3066 | '@types/http-cache-semantics@4.0.4': {} 3067 | 3068 | '@types/json-schema@7.0.15': {} 3069 | 3070 | '@types/lodash@4.17.13': {} 3071 | 3072 | '@types/mime@3.0.4': {} 3073 | 3074 | '@types/node@22.10.1': 3075 | dependencies: 3076 | undici-types: 6.20.0 3077 | 3078 | '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2))(eslint@9.16.0)(typescript@5.7.2)': 3079 | dependencies: 3080 | '@eslint-community/regexpp': 4.12.1 3081 | '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) 3082 | '@typescript-eslint/scope-manager': 8.17.0 3083 | '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) 3084 | '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) 3085 | '@typescript-eslint/visitor-keys': 8.17.0 3086 | eslint: 9.16.0 3087 | graphemer: 1.4.0 3088 | ignore: 5.3.2 3089 | natural-compare: 1.4.0 3090 | ts-api-utils: 1.4.3(typescript@5.7.2) 3091 | optionalDependencies: 3092 | typescript: 5.7.2 3093 | transitivePeerDependencies: 3094 | - supports-color 3095 | 3096 | '@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2)': 3097 | dependencies: 3098 | '@typescript-eslint/scope-manager': 8.17.0 3099 | '@typescript-eslint/types': 8.17.0 3100 | '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) 3101 | '@typescript-eslint/visitor-keys': 8.17.0 3102 | debug: 4.4.0 3103 | eslint: 9.16.0 3104 | optionalDependencies: 3105 | typescript: 5.7.2 3106 | transitivePeerDependencies: 3107 | - supports-color 3108 | 3109 | '@typescript-eslint/scope-manager@8.17.0': 3110 | dependencies: 3111 | '@typescript-eslint/types': 8.17.0 3112 | '@typescript-eslint/visitor-keys': 8.17.0 3113 | 3114 | '@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': 3115 | dependencies: 3116 | '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) 3117 | '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) 3118 | debug: 4.4.0 3119 | eslint: 9.16.0 3120 | ts-api-utils: 1.4.3(typescript@5.7.2) 3121 | optionalDependencies: 3122 | typescript: 5.7.2 3123 | transitivePeerDependencies: 3124 | - supports-color 3125 | 3126 | '@typescript-eslint/types@8.17.0': {} 3127 | 3128 | '@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2)': 3129 | dependencies: 3130 | '@typescript-eslint/types': 8.17.0 3131 | '@typescript-eslint/visitor-keys': 8.17.0 3132 | debug: 4.4.0 3133 | fast-glob: 3.3.2 3134 | is-glob: 4.0.3 3135 | minimatch: 9.0.5 3136 | semver: 7.6.3 3137 | ts-api-utils: 1.4.3(typescript@5.7.2) 3138 | optionalDependencies: 3139 | typescript: 5.7.2 3140 | transitivePeerDependencies: 3141 | - supports-color 3142 | 3143 | '@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2)': 3144 | dependencies: 3145 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) 3146 | '@typescript-eslint/scope-manager': 8.17.0 3147 | '@typescript-eslint/types': 8.17.0 3148 | '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) 3149 | eslint: 9.16.0 3150 | optionalDependencies: 3151 | typescript: 5.7.2 3152 | transitivePeerDependencies: 3153 | - supports-color 3154 | 3155 | '@typescript-eslint/visitor-keys@8.17.0': 3156 | dependencies: 3157 | '@typescript-eslint/types': 8.17.0 3158 | eslint-visitor-keys: 4.2.0 3159 | 3160 | acorn-jsx@5.3.2(acorn@8.14.0): 3161 | dependencies: 3162 | acorn: 8.14.0 3163 | 3164 | acorn@8.14.0: {} 3165 | 3166 | agentkeepalive@4.5.0: 3167 | dependencies: 3168 | humanize-ms: 1.2.1 3169 | 3170 | ajv@6.12.6: 3171 | dependencies: 3172 | fast-deep-equal: 3.1.3 3173 | fast-json-stable-stringify: 2.1.0 3174 | json-schema-traverse: 0.4.1 3175 | uri-js: 4.4.1 3176 | 3177 | ansi-escapes@3.2.0: {} 3178 | 3179 | ansi-regex@3.0.1: {} 3180 | 3181 | ansi-regex@4.1.1: {} 3182 | 3183 | ansi-styles@3.2.1: 3184 | dependencies: 3185 | color-convert: 1.9.3 3186 | 3187 | ansi-styles@4.3.0: 3188 | dependencies: 3189 | color-convert: 2.0.1 3190 | 3191 | any-promise@1.3.0: {} 3192 | 3193 | archive-type@4.0.0: 3194 | dependencies: 3195 | file-type: 4.4.0 3196 | 3197 | argparse@2.0.1: {} 3198 | 3199 | array-timsort@1.0.3: {} 3200 | 3201 | array-union@2.1.0: {} 3202 | 3203 | async@3.2.6: {} 3204 | 3205 | asynckit@0.4.0: {} 3206 | 3207 | axios@1.7.9: 3208 | dependencies: 3209 | follow-redirects: 1.15.9 3210 | form-data: 4.0.1 3211 | proxy-from-env: 1.1.0 3212 | transitivePeerDependencies: 3213 | - debug 3214 | 3215 | balanced-match@1.0.2: {} 3216 | 3217 | base64-js@1.5.1: {} 3218 | 3219 | before@0.0.1: {} 3220 | 3221 | bl@1.2.3: 3222 | dependencies: 3223 | readable-stream: 2.3.8 3224 | safe-buffer: 5.2.1 3225 | 3226 | block-stream2@2.1.0: 3227 | dependencies: 3228 | readable-stream: 3.6.2 3229 | 3230 | bowser@2.11.0: {} 3231 | 3232 | brace-expansion@1.1.11: 3233 | dependencies: 3234 | balanced-match: 1.0.2 3235 | concat-map: 0.0.1 3236 | 3237 | brace-expansion@2.0.1: 3238 | dependencies: 3239 | balanced-match: 1.0.2 3240 | 3241 | braces@3.0.3: 3242 | dependencies: 3243 | fill-range: 7.1.1 3244 | 3245 | bson@6.10.1: {} 3246 | 3247 | buffer-alloc-unsafe@1.1.0: {} 3248 | 3249 | buffer-alloc@1.2.0: 3250 | dependencies: 3251 | buffer-alloc-unsafe: 1.1.0 3252 | buffer-fill: 1.0.0 3253 | 3254 | buffer-crc32@0.2.13: {} 3255 | 3256 | buffer-fill@1.0.0: {} 3257 | 3258 | buffer@5.6.0: 3259 | dependencies: 3260 | base64-js: 1.5.1 3261 | ieee754: 1.2.1 3262 | 3263 | buffer@5.7.1: 3264 | dependencies: 3265 | base64-js: 1.5.1 3266 | ieee754: 1.2.1 3267 | 3268 | cacheable-lookup@7.0.0: {} 3269 | 3270 | cacheable-request@12.0.1: 3271 | dependencies: 3272 | '@types/http-cache-semantics': 4.0.4 3273 | get-stream: 9.0.1 3274 | http-cache-semantics: 4.1.1 3275 | keyv: 4.5.4 3276 | mimic-response: 4.0.0 3277 | normalize-url: 8.0.1 3278 | responselike: 3.0.0 3279 | 3280 | call-bind-apply-helpers@1.0.1: 3281 | dependencies: 3282 | es-errors: 1.3.0 3283 | function-bind: 1.1.2 3284 | 3285 | call-bind@1.0.8: 3286 | dependencies: 3287 | call-bind-apply-helpers: 1.0.1 3288 | es-define-property: 1.0.1 3289 | get-intrinsic: 1.2.5 3290 | set-function-length: 1.2.2 3291 | 3292 | callsites@3.1.0: {} 3293 | 3294 | caw@2.0.1: 3295 | dependencies: 3296 | get-proxy: 2.1.0 3297 | isurl: 1.0.0 3298 | tunnel-agent: 0.6.0 3299 | url-to-options: 1.0.1 3300 | 3301 | chalk@2.4.2: 3302 | dependencies: 3303 | ansi-styles: 3.2.1 3304 | escape-string-regexp: 1.0.5 3305 | supports-color: 5.5.0 3306 | 3307 | chalk@4.1.2: 3308 | dependencies: 3309 | ansi-styles: 4.3.0 3310 | supports-color: 7.2.0 3311 | 3312 | chardet@0.7.0: {} 3313 | 3314 | charenc@0.0.2: {} 3315 | 3316 | cli-cursor@2.1.0: 3317 | dependencies: 3318 | restore-cursor: 2.0.0 3319 | 3320 | cli-width@2.2.1: {} 3321 | 3322 | color-convert@1.9.3: 3323 | dependencies: 3324 | color-name: 1.1.3 3325 | 3326 | color-convert@2.0.1: 3327 | dependencies: 3328 | color-name: 1.1.4 3329 | 3330 | color-name@1.1.3: {} 3331 | 3332 | color-name@1.1.4: {} 3333 | 3334 | combined-stream@1.0.8: 3335 | dependencies: 3336 | delayed-stream: 1.0.0 3337 | 3338 | commander@2.20.3: {} 3339 | 3340 | commander@8.3.0: {} 3341 | 3342 | comment-json@2.4.2: 3343 | dependencies: 3344 | core-util-is: 1.0.3 3345 | esprima: 4.0.1 3346 | has-own-prop: 2.0.0 3347 | repeat-string: 1.6.1 3348 | 3349 | comment-json@4.2.5: 3350 | dependencies: 3351 | array-timsort: 1.0.3 3352 | core-util-is: 1.0.3 3353 | esprima: 4.0.1 3354 | has-own-prop: 2.0.0 3355 | repeat-string: 1.6.1 3356 | 3357 | concat-map@0.0.1: {} 3358 | 3359 | config-chain@1.1.13: 3360 | dependencies: 3361 | ini: 1.3.8 3362 | proto-list: 1.2.4 3363 | 3364 | content-disposition@0.5.4: 3365 | dependencies: 3366 | safe-buffer: 5.2.1 3367 | 3368 | content-type@1.0.5: {} 3369 | 3370 | copy-to@2.0.1: {} 3371 | 3372 | core-util-is@1.0.3: {} 3373 | 3374 | crc32@0.2.2: {} 3375 | 3376 | cross-spawn@6.0.6: 3377 | dependencies: 3378 | nice-try: 1.0.5 3379 | path-key: 2.0.1 3380 | semver: 5.7.2 3381 | shebang-command: 1.2.0 3382 | which: 1.3.1 3383 | 3384 | cross-spawn@7.0.6: 3385 | dependencies: 3386 | path-key: 3.1.1 3387 | shebang-command: 2.0.0 3388 | which: 2.0.2 3389 | 3390 | crypt@0.0.2: {} 3391 | 3392 | dayjs@1.11.13: {} 3393 | 3394 | debug@4.4.0: 3395 | dependencies: 3396 | ms: 2.1.3 3397 | 3398 | decompress-response@6.0.0: 3399 | dependencies: 3400 | mimic-response: 3.1.0 3401 | 3402 | decompress-tar@4.1.1: 3403 | dependencies: 3404 | file-type: 5.2.0 3405 | is-stream: 1.1.0 3406 | tar-stream: 1.6.2 3407 | 3408 | decompress-tarbz2@4.1.1: 3409 | dependencies: 3410 | decompress-tar: 4.1.1 3411 | file-type: 6.2.0 3412 | is-stream: 1.1.0 3413 | seek-bzip: 1.0.6 3414 | unbzip2-stream: 1.4.3 3415 | 3416 | decompress-targz@4.1.1: 3417 | dependencies: 3418 | decompress-tar: 4.1.1 3419 | file-type: 5.2.0 3420 | is-stream: 1.1.0 3421 | 3422 | decompress-unzip@4.0.1: 3423 | dependencies: 3424 | file-type: 3.9.0 3425 | get-stream: 2.3.1 3426 | pify: 2.3.0 3427 | yauzl: 2.10.0 3428 | 3429 | decompress@4.2.1: 3430 | dependencies: 3431 | decompress-tar: 4.1.1 3432 | decompress-tarbz2: 4.1.1 3433 | decompress-targz: 4.1.1 3434 | decompress-unzip: 4.0.1 3435 | graceful-fs: 4.2.11 3436 | make-dir: 1.3.0 3437 | pify: 2.3.0 3438 | strip-dirs: 2.1.0 3439 | 3440 | deep-is@0.1.4: {} 3441 | 3442 | default-user-agent@1.0.0: 3443 | dependencies: 3444 | os-name: 1.0.3 3445 | 3446 | defer-to-connect@2.0.1: {} 3447 | 3448 | define-data-property@1.1.4: 3449 | dependencies: 3450 | es-define-property: 1.0.1 3451 | es-errors: 1.3.0 3452 | gopd: 1.2.0 3453 | 3454 | delayed-stream@1.0.0: {} 3455 | 3456 | destroy@1.2.0: {} 3457 | 3458 | digest-header@1.1.0: {} 3459 | 3460 | dir-glob@3.0.1: 3461 | dependencies: 3462 | path-type: 4.0.0 3463 | 3464 | download-git-repo@3.0.2: 3465 | dependencies: 3466 | download: 7.1.0 3467 | git-clone: 0.1.0 3468 | rimraf: 3.0.2 3469 | 3470 | download@7.1.0: 3471 | dependencies: 3472 | archive-type: 4.0.0 3473 | caw: 2.0.1 3474 | content-disposition: 0.5.4 3475 | decompress: 4.2.1 3476 | ext-name: 5.0.0 3477 | file-type: 8.1.0 3478 | filenamify: 2.1.0 3479 | get-stream: 3.0.0 3480 | got: 14.4.5 3481 | make-dir: 1.3.0 3482 | p-event: 2.3.1 3483 | pify: 3.0.0 3484 | 3485 | dunder-proto@1.0.0: 3486 | dependencies: 3487 | call-bind-apply-helpers: 1.0.1 3488 | es-errors: 1.3.0 3489 | gopd: 1.2.0 3490 | 3491 | ee-first@1.1.1: {} 3492 | 3493 | ejs@3.1.10: 3494 | dependencies: 3495 | jake: 10.9.2 3496 | 3497 | encodeurl@1.0.2: {} 3498 | 3499 | end-of-stream@1.4.4: 3500 | dependencies: 3501 | once: 1.4.0 3502 | 3503 | es-define-property@1.0.1: {} 3504 | 3505 | es-errors@1.3.0: {} 3506 | 3507 | escape-html@1.0.3: {} 3508 | 3509 | escape-string-regexp@1.0.5: {} 3510 | 3511 | escape-string-regexp@4.0.0: {} 3512 | 3513 | eslint-config-prettier@9.1.0(eslint@9.16.0): 3514 | dependencies: 3515 | eslint: 9.16.0 3516 | 3517 | eslint-plugin-prettier@5.2.1(eslint-config-prettier@9.1.0(eslint@9.16.0))(eslint@9.16.0)(prettier@3.4.2): 3518 | dependencies: 3519 | eslint: 9.16.0 3520 | prettier: 3.4.2 3521 | prettier-linter-helpers: 1.0.0 3522 | synckit: 0.9.2 3523 | optionalDependencies: 3524 | eslint-config-prettier: 9.1.0(eslint@9.16.0) 3525 | 3526 | eslint-scope@8.2.0: 3527 | dependencies: 3528 | esrecurse: 4.3.0 3529 | estraverse: 5.3.0 3530 | 3531 | eslint-visitor-keys@3.4.3: {} 3532 | 3533 | eslint-visitor-keys@4.2.0: {} 3534 | 3535 | eslint@9.16.0: 3536 | dependencies: 3537 | '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) 3538 | '@eslint-community/regexpp': 4.12.1 3539 | '@eslint/config-array': 0.19.1 3540 | '@eslint/core': 0.9.1 3541 | '@eslint/eslintrc': 3.2.0 3542 | '@eslint/js': 9.16.0 3543 | '@eslint/plugin-kit': 0.2.4 3544 | '@humanfs/node': 0.16.6 3545 | '@humanwhocodes/module-importer': 1.0.1 3546 | '@humanwhocodes/retry': 0.4.1 3547 | '@types/estree': 1.0.6 3548 | '@types/json-schema': 7.0.15 3549 | ajv: 6.12.6 3550 | chalk: 4.1.2 3551 | cross-spawn: 7.0.6 3552 | debug: 4.4.0 3553 | escape-string-regexp: 4.0.0 3554 | eslint-scope: 8.2.0 3555 | eslint-visitor-keys: 4.2.0 3556 | espree: 10.3.0 3557 | esquery: 1.6.0 3558 | esutils: 2.0.3 3559 | fast-deep-equal: 3.1.3 3560 | file-entry-cache: 8.0.0 3561 | find-up: 5.0.0 3562 | glob-parent: 6.0.2 3563 | ignore: 5.3.2 3564 | imurmurhash: 0.1.4 3565 | is-glob: 4.0.3 3566 | json-stable-stringify-without-jsonify: 1.0.1 3567 | lodash.merge: 4.6.2 3568 | minimatch: 3.1.2 3569 | natural-compare: 1.4.0 3570 | optionator: 0.9.4 3571 | transitivePeerDependencies: 3572 | - supports-color 3573 | 3574 | espree@10.3.0: 3575 | dependencies: 3576 | acorn: 8.14.0 3577 | acorn-jsx: 5.3.2(acorn@8.14.0) 3578 | eslint-visitor-keys: 4.2.0 3579 | 3580 | esprima@4.0.1: {} 3581 | 3582 | esquery@1.6.0: 3583 | dependencies: 3584 | estraverse: 5.3.0 3585 | 3586 | esrecurse@4.3.0: 3587 | dependencies: 3588 | estraverse: 5.3.0 3589 | 3590 | estraverse@5.3.0: {} 3591 | 3592 | esutils@2.0.3: {} 3593 | 3594 | events@3.3.0: {} 3595 | 3596 | ext-list@2.2.2: 3597 | dependencies: 3598 | mime-db: 1.53.0 3599 | 3600 | ext-name@5.0.0: 3601 | dependencies: 3602 | ext-list: 2.2.2 3603 | sort-keys-length: 1.0.1 3604 | 3605 | extend-shallow@2.0.1: 3606 | dependencies: 3607 | is-extendable: 0.1.1 3608 | 3609 | external-editor@3.1.0: 3610 | dependencies: 3611 | chardet: 0.7.0 3612 | iconv-lite: 0.4.24 3613 | tmp: 0.0.33 3614 | 3615 | fast-deep-equal@3.1.3: {} 3616 | 3617 | fast-diff@1.3.0: {} 3618 | 3619 | fast-glob@3.3.2: 3620 | dependencies: 3621 | '@nodelib/fs.stat': 2.0.5 3622 | '@nodelib/fs.walk': 1.2.8 3623 | glob-parent: 5.1.2 3624 | merge2: 1.4.1 3625 | micromatch: 4.0.8 3626 | 3627 | fast-json-stable-stringify@2.1.0: {} 3628 | 3629 | fast-levenshtein@2.0.6: {} 3630 | 3631 | fast-xml-parser@4.4.1: 3632 | dependencies: 3633 | strnum: 1.0.5 3634 | 3635 | fastq@1.17.1: 3636 | dependencies: 3637 | reusify: 1.0.4 3638 | 3639 | fd-slicer@1.1.0: 3640 | dependencies: 3641 | pend: 1.2.0 3642 | 3643 | fflate@0.7.4: {} 3644 | 3645 | figures@2.0.0: 3646 | dependencies: 3647 | escape-string-regexp: 1.0.5 3648 | 3649 | file-entry-cache@8.0.0: 3650 | dependencies: 3651 | flat-cache: 4.0.1 3652 | 3653 | file-type@16.5.4: 3654 | dependencies: 3655 | readable-web-to-node-stream: 3.0.2 3656 | strtok3: 6.3.0 3657 | token-types: 4.2.1 3658 | 3659 | file-type@3.9.0: {} 3660 | 3661 | file-type@4.4.0: {} 3662 | 3663 | file-type@5.2.0: {} 3664 | 3665 | file-type@6.2.0: {} 3666 | 3667 | file-type@8.1.0: {} 3668 | 3669 | filelist@1.0.4: 3670 | dependencies: 3671 | minimatch: 5.1.6 3672 | 3673 | filename-reserved-regex@2.0.0: {} 3674 | 3675 | filenamify@2.1.0: 3676 | dependencies: 3677 | filename-reserved-regex: 2.0.0 3678 | strip-outer: 1.0.1 3679 | trim-repeated: 1.0.0 3680 | 3681 | fill-range@7.1.1: 3682 | dependencies: 3683 | to-regex-range: 5.0.1 3684 | 3685 | find-up@5.0.0: 3686 | dependencies: 3687 | locate-path: 6.0.0 3688 | path-exists: 4.0.0 3689 | 3690 | flat-cache@4.0.1: 3691 | dependencies: 3692 | flatted: 3.3.2 3693 | keyv: 4.5.4 3694 | 3695 | flatted@3.3.2: {} 3696 | 3697 | follow-redirects@1.15.9: {} 3698 | 3699 | form-data-encoder@4.0.2: {} 3700 | 3701 | form-data@4.0.1: 3702 | dependencies: 3703 | asynckit: 0.4.0 3704 | combined-stream: 1.0.8 3705 | mime-types: 2.1.33 3706 | 3707 | formstream@1.5.1: 3708 | dependencies: 3709 | destroy: 1.2.0 3710 | mime: 2.6.0 3711 | node-hex: 1.0.1 3712 | pause-stream: 0.0.11 3713 | 3714 | fs-constants@1.0.0: {} 3715 | 3716 | fs-extra@6.0.1: 3717 | dependencies: 3718 | graceful-fs: 4.2.11 3719 | jsonfile: 4.0.0 3720 | universalify: 0.1.2 3721 | 3722 | fs.realpath@1.0.0: {} 3723 | 3724 | function-bind@1.1.2: {} 3725 | 3726 | get-intrinsic@1.2.5: 3727 | dependencies: 3728 | call-bind-apply-helpers: 1.0.1 3729 | dunder-proto: 1.0.0 3730 | es-define-property: 1.0.1 3731 | es-errors: 1.3.0 3732 | function-bind: 1.1.2 3733 | gopd: 1.2.0 3734 | has-symbols: 1.1.0 3735 | hasown: 2.0.2 3736 | 3737 | get-proxy@2.1.0: 3738 | dependencies: 3739 | npm-conf: 1.1.3 3740 | 3741 | get-stream@2.3.1: 3742 | dependencies: 3743 | object-assign: 4.1.1 3744 | pinkie-promise: 2.0.1 3745 | 3746 | get-stream@3.0.0: {} 3747 | 3748 | get-stream@9.0.1: 3749 | dependencies: 3750 | '@sec-ant/readable-stream': 0.4.1 3751 | is-stream: 4.0.1 3752 | 3753 | git-clone@0.1.0: {} 3754 | 3755 | glob-parent@5.1.2: 3756 | dependencies: 3757 | is-glob: 4.0.3 3758 | 3759 | glob-parent@6.0.2: 3760 | dependencies: 3761 | is-glob: 4.0.3 3762 | 3763 | glob@7.2.3: 3764 | dependencies: 3765 | fs.realpath: 1.0.0 3766 | inflight: 1.0.6 3767 | inherits: 2.0.4 3768 | minimatch: 3.1.2 3769 | once: 1.4.0 3770 | path-is-absolute: 1.0.1 3771 | 3772 | globals@14.0.0: {} 3773 | 3774 | globby@11.1.0: 3775 | dependencies: 3776 | array-union: 2.1.0 3777 | dir-glob: 3.0.1 3778 | fast-glob: 3.3.2 3779 | ignore: 5.3.2 3780 | merge2: 1.4.1 3781 | slash: 3.0.0 3782 | 3783 | gopd@1.2.0: {} 3784 | 3785 | got@14.4.5: 3786 | dependencies: 3787 | '@sindresorhus/is': 7.0.1 3788 | '@szmarczak/http-timer': 5.0.1 3789 | cacheable-lookup: 7.0.0 3790 | cacheable-request: 12.0.1 3791 | decompress-response: 6.0.0 3792 | form-data-encoder: 4.0.2 3793 | http2-wrapper: 2.2.1 3794 | lowercase-keys: 3.0.0 3795 | p-cancelable: 4.0.1 3796 | responselike: 3.0.0 3797 | type-fest: 4.30.0 3798 | 3799 | graceful-fs@4.2.11: {} 3800 | 3801 | graphemer@1.4.0: {} 3802 | 3803 | has-flag@3.0.0: {} 3804 | 3805 | has-flag@4.0.0: {} 3806 | 3807 | has-own-prop@2.0.0: {} 3808 | 3809 | has-property-descriptors@1.0.2: 3810 | dependencies: 3811 | es-define-property: 1.0.1 3812 | 3813 | has-symbol-support-x@1.4.2: {} 3814 | 3815 | has-symbols@1.1.0: {} 3816 | 3817 | has-to-string-tag-x@1.4.1: 3818 | dependencies: 3819 | has-symbol-support-x: 1.4.2 3820 | 3821 | hasown@2.0.2: 3822 | dependencies: 3823 | function-bind: 1.1.2 3824 | 3825 | hpagent@1.2.0: {} 3826 | 3827 | http-cache-semantics@4.1.1: {} 3828 | 3829 | http2-wrapper@2.2.1: 3830 | dependencies: 3831 | quick-lru: 5.1.1 3832 | resolve-alpn: 1.2.1 3833 | 3834 | humanize-ms@1.2.1: 3835 | dependencies: 3836 | ms: 2.1.3 3837 | 3838 | iconv-lite@0.4.24: 3839 | dependencies: 3840 | safer-buffer: 2.1.2 3841 | 3842 | iconv-lite@0.6.3: 3843 | dependencies: 3844 | safer-buffer: 2.1.2 3845 | 3846 | ieee754@1.2.1: {} 3847 | 3848 | ignore@5.3.2: {} 3849 | 3850 | image-size@0.8.3: 3851 | dependencies: 3852 | queue: 6.0.1 3853 | 3854 | import-fresh@3.3.0: 3855 | dependencies: 3856 | parent-module: 1.0.1 3857 | resolve-from: 4.0.0 3858 | 3859 | imurmurhash@0.1.4: {} 3860 | 3861 | inflight@1.0.6: 3862 | dependencies: 3863 | once: 1.4.0 3864 | wrappy: 1.0.2 3865 | 3866 | inherits@2.0.4: {} 3867 | 3868 | ini@1.3.8: {} 3869 | 3870 | inquirer@6.5.2: 3871 | dependencies: 3872 | ansi-escapes: 3.2.0 3873 | chalk: 2.4.2 3874 | cli-cursor: 2.1.0 3875 | cli-width: 2.2.1 3876 | external-editor: 3.1.0 3877 | figures: 2.0.0 3878 | lodash: 4.17.21 3879 | mute-stream: 0.0.7 3880 | run-async: 2.4.1 3881 | rxjs: 6.6.7 3882 | string-width: 2.1.1 3883 | strip-ansi: 5.2.0 3884 | through: 2.3.8 3885 | 3886 | is-buffer@1.1.6: {} 3887 | 3888 | is-core-module@2.15.1: 3889 | dependencies: 3890 | hasown: 2.0.2 3891 | 3892 | is-docker@2.2.1: {} 3893 | 3894 | is-extendable@0.1.1: {} 3895 | 3896 | is-extglob@2.1.1: {} 3897 | 3898 | is-fullwidth-code-point@2.0.0: {} 3899 | 3900 | is-glob@4.0.3: 3901 | dependencies: 3902 | is-extglob: 2.1.1 3903 | 3904 | is-natural-number@4.0.1: {} 3905 | 3906 | is-number@7.0.0: {} 3907 | 3908 | is-object@1.0.2: {} 3909 | 3910 | is-plain-obj@1.1.0: {} 3911 | 3912 | is-stream@1.1.0: {} 3913 | 3914 | is-stream@4.0.1: {} 3915 | 3916 | is-wsl@2.2.0: 3917 | dependencies: 3918 | is-docker: 2.2.1 3919 | 3920 | isarray@1.0.0: {} 3921 | 3922 | isexe@2.0.0: {} 3923 | 3924 | isurl@1.0.0: 3925 | dependencies: 3926 | has-to-string-tag-x: 1.4.1 3927 | is-object: 1.0.2 3928 | 3929 | jake@10.9.2: 3930 | dependencies: 3931 | async: 3.2.6 3932 | chalk: 4.1.2 3933 | filelist: 1.0.4 3934 | minimatch: 3.1.2 3935 | 3936 | js-yaml@4.1.0: 3937 | dependencies: 3938 | argparse: 2.0.1 3939 | 3940 | json-buffer@3.0.1: {} 3941 | 3942 | json-schema-traverse@0.4.1: {} 3943 | 3944 | json-stable-stringify-without-jsonify@1.0.1: {} 3945 | 3946 | jsonfile@4.0.0: 3947 | optionalDependencies: 3948 | graceful-fs: 4.2.11 3949 | 3950 | keyv@4.5.4: 3951 | dependencies: 3952 | json-buffer: 3.0.1 3953 | 3954 | levn@0.4.1: 3955 | dependencies: 3956 | prelude-ls: 1.2.1 3957 | type-check: 0.4.0 3958 | 3959 | locate-path@6.0.0: 3960 | dependencies: 3961 | p-locate: 5.0.0 3962 | 3963 | lodash-id@0.14.1: {} 3964 | 3965 | lodash.merge@4.6.2: {} 3966 | 3967 | lodash@4.17.21: {} 3968 | 3969 | lowercase-keys@3.0.0: {} 3970 | 3971 | make-dir@1.3.0: 3972 | dependencies: 3973 | pify: 3.0.0 3974 | 3975 | md5@2.3.0: 3976 | dependencies: 3977 | charenc: 0.0.2 3978 | crypt: 0.0.2 3979 | is-buffer: 1.1.6 3980 | 3981 | merge2@1.4.1: {} 3982 | 3983 | micromatch@4.0.8: 3984 | dependencies: 3985 | braces: 3.0.3 3986 | picomatch: 2.3.1 3987 | 3988 | mime-db@1.50.0: {} 3989 | 3990 | mime-db@1.53.0: {} 3991 | 3992 | mime-types@2.1.33: 3993 | dependencies: 3994 | mime-db: 1.50.0 3995 | 3996 | mime@2.6.0: {} 3997 | 3998 | mime@3.0.0: {} 3999 | 4000 | mimic-fn@1.2.0: {} 4001 | 4002 | mimic-response@3.1.0: {} 4003 | 4004 | mimic-response@4.0.0: {} 4005 | 4006 | minimatch@3.1.2: 4007 | dependencies: 4008 | brace-expansion: 1.1.11 4009 | 4010 | minimatch@5.1.6: 4011 | dependencies: 4012 | brace-expansion: 2.0.1 4013 | 4014 | minimatch@9.0.5: 4015 | dependencies: 4016 | brace-expansion: 2.0.1 4017 | 4018 | minimist@1.2.8: {} 4019 | 4020 | mkdirp@0.5.6: 4021 | dependencies: 4022 | minimist: 1.2.8 4023 | 4024 | mockdate@3.0.5: {} 4025 | 4026 | ms@2.1.3: {} 4027 | 4028 | mute-stream@0.0.7: {} 4029 | 4030 | mz@2.7.0: 4031 | dependencies: 4032 | any-promise: 1.3.0 4033 | object-assign: 4.1.1 4034 | thenify-all: 1.6.0 4035 | 4036 | natural-compare@1.4.0: {} 4037 | 4038 | nice-try@1.0.5: {} 4039 | 4040 | node-hex@1.0.1: {} 4041 | 4042 | normalize-url@8.0.1: {} 4043 | 4044 | npm-conf@1.1.3: 4045 | dependencies: 4046 | config-chain: 1.1.13 4047 | pify: 3.0.0 4048 | 4049 | object-assign@4.1.1: {} 4050 | 4051 | object-inspect@1.13.3: {} 4052 | 4053 | once@1.4.0: 4054 | dependencies: 4055 | wrappy: 1.0.2 4056 | 4057 | onetime@2.0.1: 4058 | dependencies: 4059 | mimic-fn: 1.2.0 4060 | 4061 | optionator@0.9.4: 4062 | dependencies: 4063 | deep-is: 0.1.4 4064 | fast-levenshtein: 2.0.6 4065 | levn: 0.4.1 4066 | prelude-ls: 1.2.1 4067 | type-check: 0.4.0 4068 | word-wrap: 1.2.5 4069 | 4070 | os-name@1.0.3: 4071 | dependencies: 4072 | osx-release: 1.1.0 4073 | win-release: 1.1.1 4074 | 4075 | os-tmpdir@1.0.2: {} 4076 | 4077 | osx-release@1.1.0: 4078 | dependencies: 4079 | minimist: 1.2.8 4080 | 4081 | p-cancelable@4.0.1: {} 4082 | 4083 | p-event@2.3.1: 4084 | dependencies: 4085 | p-timeout: 2.0.1 4086 | 4087 | p-finally@1.0.0: {} 4088 | 4089 | p-limit@3.1.0: 4090 | dependencies: 4091 | yocto-queue: 0.1.0 4092 | 4093 | p-locate@5.0.0: 4094 | dependencies: 4095 | p-limit: 3.1.0 4096 | 4097 | p-timeout@2.0.1: 4098 | dependencies: 4099 | p-finally: 1.0.0 4100 | 4101 | parent-module@1.0.1: 4102 | dependencies: 4103 | callsites: 3.1.0 4104 | 4105 | path-exists@4.0.0: {} 4106 | 4107 | path-is-absolute@1.0.1: {} 4108 | 4109 | path-key@2.0.1: {} 4110 | 4111 | path-key@3.1.1: {} 4112 | 4113 | path-parse@1.0.7: {} 4114 | 4115 | path-type@4.0.0: {} 4116 | 4117 | pause-stream@0.0.11: 4118 | dependencies: 4119 | through: 2.3.8 4120 | 4121 | peek-readable@4.1.0: {} 4122 | 4123 | pend@1.2.0: {} 4124 | 4125 | picgo@1.5.8: 4126 | dependencies: 4127 | '@picgo/i18n': 1.0.0 4128 | '@picgo/store': 2.1.0 4129 | axios: 1.7.9 4130 | chalk: 2.4.2 4131 | commander: 8.3.0 4132 | comment-json: 2.4.2 4133 | cross-spawn: 6.0.6 4134 | dayjs: 1.11.13 4135 | download-git-repo: 3.0.2 4136 | ejs: 3.1.10 4137 | fs-extra: 6.0.1 4138 | globby: 11.1.0 4139 | image-size: 0.8.3 4140 | inquirer: 6.5.2 4141 | is-wsl: 2.2.0 4142 | js-yaml: 4.1.0 4143 | lodash: 4.17.21 4144 | md5: 2.3.0 4145 | mime-types: 2.1.33 4146 | minimatch: 3.1.2 4147 | minimist: 1.2.8 4148 | qiniu: 7.14.0 4149 | resolve: 1.22.8 4150 | rimraf: 3.0.2 4151 | tunnel: 0.0.6 4152 | transitivePeerDependencies: 4153 | - debug 4154 | - proxy-agent 4155 | 4156 | picomatch@2.3.1: {} 4157 | 4158 | pify@2.3.0: {} 4159 | 4160 | pify@3.0.0: {} 4161 | 4162 | pinkie-promise@2.0.1: 4163 | dependencies: 4164 | pinkie: 2.0.4 4165 | 4166 | pinkie@2.0.4: {} 4167 | 4168 | prelude-ls@1.2.1: {} 4169 | 4170 | prettier-linter-helpers@1.0.0: 4171 | dependencies: 4172 | fast-diff: 1.3.0 4173 | 4174 | prettier@3.4.2: {} 4175 | 4176 | process-nextick-args@2.0.1: {} 4177 | 4178 | proto-list@1.2.4: {} 4179 | 4180 | proxy-from-env@1.1.0: {} 4181 | 4182 | pump@3.0.2: 4183 | dependencies: 4184 | end-of-stream: 1.4.4 4185 | once: 1.4.0 4186 | 4187 | punycode@2.3.1: {} 4188 | 4189 | qiniu@7.14.0: 4190 | dependencies: 4191 | agentkeepalive: 4.5.0 4192 | before: 0.0.1 4193 | block-stream2: 2.1.0 4194 | crc32: 0.2.2 4195 | destroy: 1.2.0 4196 | encodeurl: 1.0.2 4197 | formstream: 1.5.1 4198 | mime: 2.6.0 4199 | mkdirp: 0.5.6 4200 | mockdate: 3.0.5 4201 | tunnel-agent: 0.6.0 4202 | typescript: 4.9.5 4203 | urllib: 2.44.0 4204 | transitivePeerDependencies: 4205 | - proxy-agent 4206 | 4207 | qs@6.13.1: 4208 | dependencies: 4209 | side-channel: 1.0.6 4210 | 4211 | queue-microtask@1.2.3: {} 4212 | 4213 | queue@6.0.1: 4214 | dependencies: 4215 | inherits: 2.0.4 4216 | 4217 | quick-lru@5.1.1: {} 4218 | 4219 | readable-stream@2.3.8: 4220 | dependencies: 4221 | core-util-is: 1.0.3 4222 | inherits: 2.0.4 4223 | isarray: 1.0.0 4224 | process-nextick-args: 2.0.1 4225 | safe-buffer: 5.1.2 4226 | string_decoder: 1.1.1 4227 | util-deprecate: 1.0.2 4228 | 4229 | readable-stream@3.6.2: 4230 | dependencies: 4231 | inherits: 2.0.4 4232 | string_decoder: 1.3.0 4233 | util-deprecate: 1.0.2 4234 | 4235 | readable-web-to-node-stream@3.0.2: 4236 | dependencies: 4237 | readable-stream: 3.6.2 4238 | 4239 | repeat-string@1.6.1: {} 4240 | 4241 | resolve-alpn@1.2.1: {} 4242 | 4243 | resolve-from@4.0.0: {} 4244 | 4245 | resolve@1.22.8: 4246 | dependencies: 4247 | is-core-module: 2.15.1 4248 | path-parse: 1.0.7 4249 | supports-preserve-symlinks-flag: 1.0.0 4250 | 4251 | responselike@3.0.0: 4252 | dependencies: 4253 | lowercase-keys: 3.0.0 4254 | 4255 | restore-cursor@2.0.0: 4256 | dependencies: 4257 | onetime: 2.0.1 4258 | signal-exit: 3.0.7 4259 | 4260 | reusify@1.0.4: {} 4261 | 4262 | rimraf@3.0.2: 4263 | dependencies: 4264 | glob: 7.2.3 4265 | 4266 | run-async@2.4.1: {} 4267 | 4268 | run-parallel@1.2.0: 4269 | dependencies: 4270 | queue-microtask: 1.2.3 4271 | 4272 | rxjs@6.6.7: 4273 | dependencies: 4274 | tslib: 1.14.1 4275 | 4276 | safe-buffer@5.1.2: {} 4277 | 4278 | safe-buffer@5.2.1: {} 4279 | 4280 | safer-buffer@2.1.2: {} 4281 | 4282 | seek-bzip@1.0.6: 4283 | dependencies: 4284 | commander: 2.20.3 4285 | 4286 | semver@5.7.2: {} 4287 | 4288 | semver@7.6.3: {} 4289 | 4290 | set-function-length@1.2.2: 4291 | dependencies: 4292 | define-data-property: 1.1.4 4293 | es-errors: 1.3.0 4294 | function-bind: 1.1.2 4295 | get-intrinsic: 1.2.5 4296 | gopd: 1.2.0 4297 | has-property-descriptors: 1.0.2 4298 | 4299 | shebang-command@1.2.0: 4300 | dependencies: 4301 | shebang-regex: 1.0.0 4302 | 4303 | shebang-command@2.0.0: 4304 | dependencies: 4305 | shebang-regex: 3.0.0 4306 | 4307 | shebang-regex@1.0.0: {} 4308 | 4309 | shebang-regex@3.0.0: {} 4310 | 4311 | side-channel@1.0.6: 4312 | dependencies: 4313 | call-bind: 1.0.8 4314 | es-errors: 1.3.0 4315 | get-intrinsic: 1.2.5 4316 | object-inspect: 1.13.3 4317 | 4318 | signal-exit@3.0.7: {} 4319 | 4320 | slash@3.0.0: {} 4321 | 4322 | sort-keys-length@1.0.1: 4323 | dependencies: 4324 | sort-keys: 1.1.2 4325 | 4326 | sort-keys@1.1.2: 4327 | dependencies: 4328 | is-plain-obj: 1.1.0 4329 | 4330 | statuses@1.5.0: {} 4331 | 4332 | stream-browserify@3.0.0: 4333 | dependencies: 4334 | inherits: 2.0.4 4335 | readable-stream: 3.6.2 4336 | 4337 | string-width@2.1.1: 4338 | dependencies: 4339 | is-fullwidth-code-point: 2.0.0 4340 | strip-ansi: 4.0.0 4341 | 4342 | string_decoder@1.1.1: 4343 | dependencies: 4344 | safe-buffer: 5.1.2 4345 | 4346 | string_decoder@1.3.0: 4347 | dependencies: 4348 | safe-buffer: 5.2.1 4349 | 4350 | strip-ansi@4.0.0: 4351 | dependencies: 4352 | ansi-regex: 3.0.1 4353 | 4354 | strip-ansi@5.2.0: 4355 | dependencies: 4356 | ansi-regex: 4.1.1 4357 | 4358 | strip-dirs@2.1.0: 4359 | dependencies: 4360 | is-natural-number: 4.0.1 4361 | 4362 | strip-json-comments@3.1.1: {} 4363 | 4364 | strip-outer@1.0.1: 4365 | dependencies: 4366 | escape-string-regexp: 1.0.5 4367 | 4368 | strnum@1.0.5: {} 4369 | 4370 | strtok3@6.3.0: 4371 | dependencies: 4372 | '@tokenizer/token': 0.3.0 4373 | peek-readable: 4.1.0 4374 | 4375 | supports-color@5.5.0: 4376 | dependencies: 4377 | has-flag: 3.0.0 4378 | 4379 | supports-color@7.2.0: 4380 | dependencies: 4381 | has-flag: 4.0.0 4382 | 4383 | supports-preserve-symlinks-flag@1.0.0: {} 4384 | 4385 | synckit@0.9.2: 4386 | dependencies: 4387 | '@pkgr/core': 0.1.1 4388 | tslib: 2.8.1 4389 | 4390 | tar-stream@1.6.2: 4391 | dependencies: 4392 | bl: 1.2.3 4393 | buffer-alloc: 1.2.0 4394 | end-of-stream: 1.4.4 4395 | fs-constants: 1.0.0 4396 | readable-stream: 2.3.8 4397 | to-buffer: 1.1.1 4398 | xtend: 4.0.2 4399 | 4400 | thenify-all@1.6.0: 4401 | dependencies: 4402 | thenify: 3.3.1 4403 | 4404 | thenify@3.3.1: 4405 | dependencies: 4406 | any-promise: 1.3.0 4407 | 4408 | through@2.3.8: {} 4409 | 4410 | tmp@0.0.33: 4411 | dependencies: 4412 | os-tmpdir: 1.0.2 4413 | 4414 | to-buffer@1.1.1: {} 4415 | 4416 | to-regex-range@5.0.1: 4417 | dependencies: 4418 | is-number: 7.0.0 4419 | 4420 | token-types@4.2.1: 4421 | dependencies: 4422 | '@tokenizer/token': 0.3.0 4423 | ieee754: 1.2.1 4424 | 4425 | trim-repeated@1.0.0: 4426 | dependencies: 4427 | escape-string-regexp: 1.0.5 4428 | 4429 | ts-api-utils@1.4.3(typescript@5.7.2): 4430 | dependencies: 4431 | typescript: 5.7.2 4432 | 4433 | tslib@1.14.1: {} 4434 | 4435 | tslib@2.8.1: {} 4436 | 4437 | tunnel-agent@0.6.0: 4438 | dependencies: 4439 | safe-buffer: 5.2.1 4440 | 4441 | tunnel@0.0.6: {} 4442 | 4443 | type-check@0.4.0: 4444 | dependencies: 4445 | prelude-ls: 1.2.1 4446 | 4447 | type-fest@4.30.0: {} 4448 | 4449 | typescript@4.9.5: {} 4450 | 4451 | typescript@5.7.2: {} 4452 | 4453 | unbzip2-stream@1.4.3: 4454 | dependencies: 4455 | buffer: 5.7.1 4456 | through: 2.3.8 4457 | 4458 | undici-types@6.20.0: {} 4459 | 4460 | unescape@1.0.1: 4461 | dependencies: 4462 | extend-shallow: 2.0.1 4463 | 4464 | universalify@0.1.2: {} 4465 | 4466 | uri-js@4.4.1: 4467 | dependencies: 4468 | punycode: 2.3.1 4469 | 4470 | url-to-options@1.0.1: {} 4471 | 4472 | urllib@2.44.0: 4473 | dependencies: 4474 | any-promise: 1.3.0 4475 | content-type: 1.0.5 4476 | default-user-agent: 1.0.0 4477 | digest-header: 1.1.0 4478 | ee-first: 1.1.1 4479 | formstream: 1.5.1 4480 | humanize-ms: 1.2.1 4481 | iconv-lite: 0.6.3 4482 | pump: 3.0.2 4483 | qs: 6.13.1 4484 | statuses: 1.5.0 4485 | utility: 1.18.0 4486 | 4487 | util-deprecate@1.0.2: {} 4488 | 4489 | utility@1.18.0: 4490 | dependencies: 4491 | copy-to: 2.0.1 4492 | escape-html: 1.0.3 4493 | mkdirp: 0.5.6 4494 | mz: 2.7.0 4495 | unescape: 1.0.1 4496 | 4497 | uuid@9.0.1: {} 4498 | 4499 | which@1.3.1: 4500 | dependencies: 4501 | isexe: 2.0.0 4502 | 4503 | which@2.0.2: 4504 | dependencies: 4505 | isexe: 2.0.0 4506 | 4507 | win-release@1.1.1: 4508 | dependencies: 4509 | semver: 5.7.2 4510 | 4511 | word-wrap@1.2.5: {} 4512 | 4513 | wrappy@1.0.2: {} 4514 | 4515 | write-file-atomic@4.0.2: 4516 | dependencies: 4517 | imurmurhash: 0.1.4 4518 | signal-exit: 3.0.7 4519 | 4520 | xtend@4.0.2: {} 4521 | 4522 | yauzl@2.10.0: 4523 | dependencies: 4524 | buffer-crc32: 0.2.13 4525 | fd-slicer: 1.1.0 4526 | 4527 | yocto-queue@0.1.0: {} 4528 | -------------------------------------------------------------------------------- /src/config.ts: -------------------------------------------------------------------------------- 1 | import { IPicGo, IPluginConfig } from "picgo"; 2 | 3 | export interface IS3UserConfig { 4 | accessKeyID: string; 5 | secretAccessKey: string; 6 | bucketName: string; 7 | uploadPath: string; 8 | region?: string; 9 | endpoint?: string; 10 | proxy?: string; 11 | pathStyleAccess?: boolean; 12 | rejectUnauthorized?: boolean; 13 | acl?: string; 14 | disableBucketPrefixToURL?: boolean; // deprecated, use `outputUrlPattern` instead. 15 | urlPrefix?: string; // deprecated, use `outputUrlPattern` instead. 16 | urlSuffix?: string; // deprecated, use `outputUrlPattern` instead. 17 | outputURLPattern?: string; 18 | } 19 | 20 | function mergePluginConfig(userConfig: IS3UserConfig): IPluginConfig[] { 21 | return [ 22 | { 23 | name: "accessKeyID", 24 | type: "input", 25 | default: userConfig.accessKeyID, 26 | required: true, 27 | message: "access key id", 28 | alias: "应用密钥 ID", 29 | }, 30 | { 31 | name: "secretAccessKey", 32 | type: "password", 33 | default: userConfig.secretAccessKey, 34 | required: true, 35 | message: "secret access key", 36 | alias: "应用密钥", 37 | }, 38 | { 39 | name: "bucketName", 40 | type: "input", 41 | default: userConfig.bucketName, 42 | required: true, 43 | alias: "桶名", 44 | }, 45 | { 46 | name: "uploadPath", 47 | type: "input", 48 | default: userConfig.uploadPath, 49 | required: true, 50 | alias: "上传文件路径", 51 | }, 52 | { 53 | name: "region", 54 | type: "input", 55 | default: userConfig.region, 56 | required: false, 57 | alias: "地区", 58 | }, 59 | { 60 | name: "endpoint", 61 | type: "input", 62 | default: userConfig.endpoint, 63 | required: false, 64 | alias: "自定义节点", 65 | }, 66 | { 67 | name: "proxy", 68 | type: "input", 69 | default: userConfig.proxy, 70 | required: false, 71 | alias: "代理", 72 | message: "http://127.0.0.1:1080", 73 | }, 74 | { 75 | name: "rejectUnauthorized", 76 | type: "confirm", 77 | default: userConfig.rejectUnauthorized || true, 78 | message: "是否拒绝无效TLS证书连接", 79 | required: false, 80 | alias: "拒绝无效TLS证书连接", 81 | }, 82 | { 83 | name: "acl", 84 | type: "input", 85 | default: userConfig.acl || "public-read", 86 | message: "上传资源的访问策略", 87 | required: false, 88 | alias: "ACL 访问控制列表", 89 | }, 90 | { 91 | name: "pathStyleAccess", 92 | type: "confirm", 93 | default: userConfig.pathStyleAccess || false, 94 | message: "enable s3ForcePathStyle or not", 95 | required: false, 96 | alias: "ForcePathStyle", 97 | }, 98 | { 99 | name: "outputURLPattern", 100 | type: "input", 101 | default: userConfig.outputURLPattern || "", 102 | message: "自定义输出 URL 模板", 103 | required: false, 104 | alias: "自定义输出 URL 模板", 105 | }, 106 | { 107 | name: "urlPrefix", 108 | type: "input", 109 | default: userConfig.urlPrefix, 110 | message: "https://img.example.com/bucket-name/(已废弃,请使用 outputURLPattern)", 111 | required: false, 112 | alias: "设置输出图片URL前缀", 113 | }, 114 | { 115 | name: "urlSuffix", 116 | type: "input", 117 | default: userConfig.urlSuffix || "", 118 | message: "例如 ?x-oss-process=xxx(已废弃,请使用 outputURLPattern)", 119 | required: false, 120 | alias: "设定输出图片URL后缀", 121 | }, 122 | { 123 | name: "disableBucketPrefixToURL", 124 | type: "confirm", 125 | default: userConfig.disableBucketPrefixToURL || false, 126 | message: 127 | "开启 `pathStyleAccess` 时,是否要禁用最终生成URL中添加 bucket 前缀(已废弃,请使用 outputURLPattern)", 128 | required: false, 129 | alias: "Bucket 前缀", 130 | }, 131 | ]; 132 | } 133 | 134 | export const getPluginConfig = (ctx: IPicGo): IPluginConfig[] => { 135 | const defaultConfig: IS3UserConfig = { 136 | accessKeyID: "", 137 | secretAccessKey: "", 138 | bucketName: "", 139 | uploadPath: "{year}/{month}/{md5}.{extName}", 140 | pathStyleAccess: false, 141 | rejectUnauthorized: true, 142 | acl: "public-read", 143 | } 144 | let userConfig = ctx.getConfig("picBed.aws-s3") 145 | userConfig = { ...defaultConfig, ...(userConfig || {}) } 146 | return mergePluginConfig(userConfig) 147 | } 148 | 149 | 150 | export function loadUserConfig(ctx: IPicGo): IS3UserConfig { 151 | const userConfig: IS3UserConfig = ctx.getConfig("picBed.aws-s3") 152 | if (!userConfig) { 153 | throw new Error("Can't find amazon s3 uploader config") 154 | } 155 | 156 | return userConfig 157 | } 158 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { IImgInfo, IPicGo, IPluginConfig } from "picgo" 2 | import uploader, { IUploadResult } from "./uploader" 3 | import { FileNameGenerator, OutputURLGenerator } from "./utils" 4 | import { getPluginConfig, loadUserConfig } from "./config" 5 | 6 | const pluginName = "aws-s3" 7 | 8 | const upload = async (ctx: IPicGo) => { 9 | const userConfig = loadUserConfig(ctx) 10 | const client = uploader.createS3Client(userConfig) 11 | const output = ctx.output 12 | 13 | const tasks = output.map((item, idx) => { 14 | const fileNameGenerator = new FileNameGenerator(item) 15 | return uploader.createUploadTask({ 16 | client, 17 | index: idx, 18 | bucketName: userConfig.bucketName, 19 | path: fileNameGenerator.format(userConfig.uploadPath), 20 | item: item, 21 | acl: userConfig.acl || '', 22 | }) 23 | } 24 | ) 25 | 26 | let results: IUploadResult[] 27 | 28 | try { 29 | results = await Promise.all(tasks) 30 | } catch (err) { 31 | ctx.log.error("Upload S3 storage failed, please check your network connection and configuration") 32 | throw err 33 | } 34 | 35 | for (const result of results) { 36 | let { index, url, key, error } = result 37 | delete output[index].buffer 38 | delete output[index].base64Image 39 | output[index].uploadPath = key 40 | if (error) { 41 | output[index].error = error 42 | } else { 43 | output[index].url = url 44 | output[index].imgUrl = url 45 | } 46 | } 47 | 48 | return ctx 49 | } 50 | 51 | const afterUploadPlugins = (ctx: IPicGo) => { 52 | const userConfig = loadUserConfig(ctx) 53 | 54 | let errList: IImgInfo[] = [] 55 | 56 | ctx.output = ctx.output.reduce((acc: IImgInfo[], item) => { 57 | if (item.type != pluginName) { 58 | return [...acc, item] 59 | } 60 | if (item.error || (!item.imgUrl && !item.url)) { 61 | errList.push(item) 62 | return acc 63 | } 64 | const outputURLGenerator = new OutputURLGenerator(userConfig, item) 65 | const url = outputURLGenerator.format() 66 | return [...acc, { 67 | ...item, 68 | imgUrl: url, 69 | url: url, 70 | }] 71 | }, []) 72 | 73 | if (errList.length > 0) { 74 | const msg = `S3 Plugin ${errList.length} of ${ctx.output.length + errList.length} failed.` 75 | for (const item of errList) { 76 | ctx.log.error(`Item ${item.fileName}:`, item.error.message) 77 | } 78 | ctx.emit("notification", { 79 | title: "S3 Plugin Error", 80 | body: msg + " Error list: " + errList.map(item => item.fileName).join(", "), 81 | }) 82 | if (ctx.output.length > 0) { 83 | ctx.log.error(msg) 84 | } else { 85 | throw new Error(msg) 86 | } 87 | } 88 | } 89 | 90 | const config = (ctx: IPicGo): IPluginConfig[] => { 91 | return getPluginConfig(ctx) 92 | } 93 | 94 | export = (ctx: IPicGo) => { 95 | const register = () => { 96 | ctx.helper.uploader.register(pluginName, { 97 | handle: upload, 98 | config, 99 | name: "Amazon S3", 100 | }) 101 | ctx.helper.afterUploadPlugins.register(pluginName, { 102 | handle: afterUploadPlugins, 103 | config, 104 | }) 105 | } 106 | return { 107 | register, 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /src/uploader.ts: -------------------------------------------------------------------------------- 1 | import { 2 | S3Client, 3 | S3ClientConfig, 4 | PutObjectCommand, 5 | GetObjectCommand, 6 | ObjectCannedACL, 7 | } from "@aws-sdk/client-s3" 8 | import { getSignedUrl } from "@aws-sdk/s3-request-presigner" 9 | import { 10 | NodeHttpHandler, 11 | NodeHttpHandlerOptions, 12 | } from "@smithy/node-http-handler" 13 | import { HttpProxyAgent, HttpsProxyAgent } from "hpagent" 14 | import { IImgInfo } from "picgo" 15 | import { extractInfo, getProxyAgent } from "./utils" 16 | import { IS3UserConfig } from "./config" 17 | 18 | export interface IUploadResult { 19 | index: number 20 | key: string 21 | url?: string 22 | versionId?: string 23 | eTag?: string 24 | error?: Error 25 | } 26 | 27 | function createS3Client(opts: IS3UserConfig): S3Client { 28 | let sslEnabled = true 29 | 30 | if (opts.endpoint) { 31 | try { 32 | const u = new URL(opts.endpoint || '') 33 | sslEnabled = u.protocol === 'https:' 34 | } catch (err) { 35 | console.log('Failed to parse endpoint URL, defaulting to HTTPS:', err.message) 36 | } 37 | } 38 | 39 | const httpHandlerOpts: NodeHttpHandlerOptions = {} 40 | if (sslEnabled) { 41 | httpHandlerOpts.httpsAgent = ( 42 | getProxyAgent(opts.proxy, true, opts.rejectUnauthorized) 43 | ) 44 | } else { 45 | httpHandlerOpts.httpAgent = ( 46 | getProxyAgent(opts.proxy, false, opts.rejectUnauthorized) 47 | ) 48 | } 49 | 50 | const clientOptions: S3ClientConfig = { 51 | region: opts.region || 'auto', 52 | endpoint: opts.endpoint || undefined, 53 | credentials: { 54 | accessKeyId: opts.accessKeyID, 55 | secretAccessKey: opts.secretAccessKey, 56 | }, 57 | tls: sslEnabled, 58 | forcePathStyle: opts.pathStyleAccess ?? false, 59 | requestHandler: new NodeHttpHandler(httpHandlerOpts), 60 | requestChecksumCalculation: "WHEN_REQUIRED", 61 | responseChecksumValidation: "WHEN_REQUIRED", 62 | } 63 | 64 | return new S3Client(clientOptions) 65 | } 66 | 67 | interface createUploadTaskOpts { 68 | client: S3Client 69 | bucketName: string 70 | path: string // upload path 71 | item: IImgInfo 72 | index: number 73 | acl: string 74 | } 75 | 76 | async function createUploadTask( 77 | opts: createUploadTaskOpts, 78 | ): Promise { 79 | let result: IUploadResult = { 80 | index: opts.index, 81 | key: opts.path, 82 | } 83 | 84 | if (!opts.item.buffer && !opts.item.base64Image) { 85 | result.error =new Error(`"${opts.item.fileName}" No image data provided: buffer or base64Image is required`) 86 | return result 87 | } 88 | 89 | let body: Buffer 90 | let contentType: string 91 | let contentEncoding: string 92 | 93 | 94 | 95 | try { 96 | ({ body, contentType, contentEncoding } = await extractInfo(opts.item)) 97 | } catch (err) { 98 | result.error = new Error(`Failed to extract ${opts.item.fileName} image info: ${err instanceof Error ? err.message : String(err)}`) 99 | return result 100 | } 101 | 102 | const acl: ObjectCannedACL = opts.acl as ObjectCannedACL 103 | 104 | const command = new PutObjectCommand({ 105 | Bucket: opts.bucketName, 106 | Key: opts.path, 107 | ACL: acl, 108 | Body: body, 109 | ContentType: contentType, 110 | ContentEncoding: contentEncoding, 111 | }) 112 | 113 | try { 114 | const output = await opts.client.send(command) 115 | result.url = await getFileURL(opts, output.ETag || '', output.VersionId || '') 116 | result.versionId = output.VersionId 117 | result.eTag = output.ETag 118 | } catch (err) { 119 | result.error = new Error( 120 | `Failed to upload "${opts.item.fileName}" to S3: ${err instanceof Error ? err.message : String(err)}` 121 | ) 122 | } 123 | return result 124 | } 125 | 126 | async function getFileURL( 127 | opts: createUploadTaskOpts, 128 | eTag: string, 129 | versionId: string, 130 | ): Promise { 131 | try { 132 | const signedUrl = await getSignedUrl( 133 | opts.client, 134 | new GetObjectCommand({ 135 | Bucket: opts.bucketName, 136 | Key: opts.path, 137 | IfMatch: eTag, 138 | VersionId: versionId, 139 | }), 140 | { expiresIn: 3600 }, 141 | ) 142 | const urlObject = new URL(signedUrl) 143 | urlObject.search = "" 144 | return urlObject.href 145 | } catch (err) { 146 | return Promise.reject(err) 147 | } 148 | } 149 | 150 | export default { 151 | createS3Client, 152 | createUploadTask, 153 | getFileURL, 154 | } 155 | -------------------------------------------------------------------------------- /src/utils.ts: -------------------------------------------------------------------------------- 1 | import crypto from "crypto" 2 | import path from "path" 3 | import { fromBuffer } from "file-type" 4 | import mime from "mime" 5 | import { IImgInfo } from "picgo" 6 | import { HttpsProxyAgent, HttpProxyAgent } from "hpagent" 7 | import { IS3UserConfig } from "./config" 8 | 9 | class Generateor { 10 | readonly date: Date 11 | 12 | constructor() { 13 | this.date = new Date() 14 | } 15 | 16 | protected year(): string { 17 | return this.date.getFullYear().toString() 18 | } 19 | 20 | protected month(): string { 21 | return (this.date.getMonth() + 1).toString().padStart(2, '0') 22 | } 23 | 24 | protected day(): string { 25 | return this.date.getDate().toString().padStart(2, '0') 26 | } 27 | 28 | protected hour(): string { 29 | return this.date.getHours().toString().padStart(2, '0') 30 | } 31 | 32 | protected minute(): string { 33 | return this.date.getMinutes().toString().padStart(2, '0') 34 | } 35 | 36 | protected second(): string { 37 | return this.date.getSeconds().toString().padStart(2, '0') 38 | } 39 | 40 | protected millisecond(): string { 41 | return this.date.getMilliseconds().toString().padStart(3, '0') 42 | } 43 | 44 | protected timestamp(): string { 45 | return Math.floor(this.date.getTime() / 1000).toString() 46 | } 47 | 48 | protected timestampMS(): string { 49 | return this.date.getTime().toString() 50 | } 51 | 52 | public format(s?: string): string { 53 | if (!s) { 54 | return '' 55 | } 56 | 57 | const formatters: Record string> = { 58 | year: () => this.year(), 59 | month: () => this.month(), 60 | day: () => this.day(), 61 | hour: () => this.hour(), 62 | minute: () => this.minute(), 63 | second: () => this.second(), 64 | millisecond: () => this.millisecond(), 65 | timestamp: () => this.timestamp(), 66 | timestampMS: () => this.timestampMS(), 67 | } 68 | 69 | return Object.entries(formatters).reduce( 70 | (result, [key, formatter]) => 71 | result.replace(new RegExp(`{${key}}`, 'g'), formatter()), 72 | s 73 | ) 74 | } 75 | } 76 | 77 | export class FileNameGenerator extends Generateor { 78 | readonly info: IImgInfo 79 | 80 | constructor(info: IImgInfo) { 81 | super() 82 | this.info = info 83 | } 84 | 85 | public fullName(): string { 86 | return this.info.fileName || "" 87 | } 88 | 89 | public fileName(): string { 90 | if (!this.info?.fileName) { 91 | return '' 92 | } 93 | const ext = this.info.extname || '' 94 | return this.info.fileName.replace(new RegExp(`${ext}$`), '') 95 | } 96 | 97 | public extName(): string { 98 | return this.info?.extname?.replace('.', '') || '' 99 | } 100 | 101 | public md5(): string { 102 | return crypto.createHash("md5").update(this.imgBuffer()).digest("hex") 103 | } 104 | 105 | public md5B64(): string { 106 | return crypto 107 | .createHash("md5") 108 | .update(this.imgBuffer()) 109 | .digest("base64") 110 | .replace(/\+/g, "-") 111 | .replace(/\//g, "_") 112 | .replace(/=+$/, "") 113 | } 114 | 115 | public md5B64Short(): string { 116 | return crypto 117 | .createHash("md5") 118 | .update(this.imgBuffer()) 119 | .digest("base64") 120 | .replace(/\+/g, "-") 121 | .replace(/\//g, "_") 122 | .slice(0, 7) 123 | } 124 | 125 | public sha1(): string { 126 | return crypto.createHash("sha1").update(this.imgBuffer()).digest("hex") 127 | } 128 | 129 | public sha256(): string { 130 | return crypto.createHash("sha256").update(this.imgBuffer()).digest("hex") 131 | } 132 | 133 | public imgBuffer(): string | Buffer { 134 | return this.info.base64Image ? this.info.base64Image : (this.info.buffer || "") 135 | } 136 | 137 | public format(s?: string): string { 138 | if (!s) { 139 | return this.fullName() 140 | } 141 | 142 | const formatters: Record string> = { 143 | fullName: () => this.fullName(), 144 | fileName: () => this.fileName(), 145 | extName: () => this.extName(), 146 | md5: () => this.md5(), 147 | md5B64: () => this.md5B64(), 148 | md5B64Short: () => this.md5B64Short(), 149 | sha1: () => this.sha1(), 150 | sha256: () => this.sha256(), 151 | } 152 | 153 | return Object.entries(formatters).reduce( 154 | (result, [key, formatter]) => 155 | result.replace(new RegExp(`{${key}}`, 'g'), formatter()), 156 | super.format(s) 157 | ) 158 | } 159 | } 160 | 161 | export class OutputURLGenerator extends Generateor { 162 | readonly _config: IS3UserConfig 163 | 164 | readonly _protocol: string 165 | readonly _host: string 166 | readonly _port: string 167 | readonly _path: string 168 | readonly _query: string 169 | readonly _hash: string 170 | readonly _info: IImgInfo 171 | 172 | constructor(config: IS3UserConfig, info: IImgInfo) { 173 | super() 174 | this._config = config 175 | this._info = info 176 | 177 | // parse the url from storage 178 | const url = info.url || info.imgUrl || '' 179 | 180 | try { 181 | const u = new URL(url) 182 | this._protocol = u.protocol 183 | this._host = u.hostname 184 | this._port = u.port 185 | this._path = u.pathname 186 | this._query = u.search 187 | this._hash = u.hash 188 | } catch (e) { 189 | console.error(`Failed to parse URL: ${url}`, e) 190 | } 191 | } 192 | 193 | public protocol(): string { 194 | if (this._protocol) { 195 | return this._protocol.replace(/(:)$/, '') 196 | } 197 | return "https" 198 | } 199 | 200 | public host(): string { 201 | return this._host 202 | } 203 | 204 | public port(): string { 205 | return this._port 206 | } 207 | 208 | public path(): string { 209 | return this._path.replace(/^(\/)/, '') 210 | } 211 | 212 | public fileName(): string { 213 | if (this._info.fileName) { 214 | return this._info.fileName 215 | } 216 | return path.basename(this.path()) 217 | } 218 | 219 | public extName(): string { 220 | if (this._info.extname) { 221 | return this._info.extname.replace(/^./,'') 222 | } 223 | return path.extname(this.path()).replace(/^./,'') 224 | } 225 | 226 | public dir(): string { 227 | return path.dirname(this.path()) 228 | } 229 | 230 | public originalURL(): string { 231 | let url = this._info.url 232 | if (!url) { 233 | url = this._info.imgUrl 234 | } 235 | return url 236 | } 237 | 238 | public query(): string { 239 | return this._query 240 | } 241 | 242 | public hash(): string { 243 | return this._hash 244 | } 245 | 246 | public bucket(): string { 247 | return this._config.bucketName 248 | } 249 | 250 | public legacyFormat(): string { 251 | let url = this.originalURL() 252 | 253 | let uploadPath = this._info.uploadPath || this.path() 254 | 255 | if (this._config.urlPrefix) { 256 | let urlPrefix = this._config.urlPrefix.replace(/\/?$/, "") 257 | if (this._config.pathStyleAccess && !this._config.disableBucketPrefixToURL) { 258 | urlPrefix += "/" + this._config.bucketName 259 | } 260 | url = `${urlPrefix}/${uploadPath}` 261 | } 262 | 263 | url = `${url}${this._config.urlSuffix || ''}` 264 | 265 | return url 266 | } 267 | 268 | public format(): string { 269 | if (!this._config.outputURLPattern) { 270 | return this.legacyFormat() 271 | } 272 | 273 | const formatters: Record string> = { 274 | protocol: () => this.protocol(), 275 | host: () => this.host(), 276 | port: () => this.port(), 277 | dir: () => this.dir(), 278 | fileName: () => this.fileName(), 279 | path: () => this.path(), 280 | extName: () => this.extName(), 281 | query: () => this.query(), 282 | hash: () => this.hash(), 283 | bucket: () => this.bucket(), 284 | } 285 | 286 | return Object.entries(formatters).reduce( 287 | (result, [key, formatter]) => { 288 | const simplePattern = new RegExp(`{${key}}`, "g") 289 | const advancedPattern = new RegExp(`{${key}:/(.*?)/(\\w)?,['"](.*)['"]}`, "g") 290 | 291 | if (advancedPattern.test(result)) { 292 | result = result.replace(advancedPattern, (match, p1, p2, p3) => { 293 | const r = formatter() 294 | return p2 ? r.replace(new RegExp(p1, p2), p3) : r 295 | }) 296 | } else { 297 | result = result.replace(simplePattern, formatter()) 298 | } 299 | return result 300 | }, 301 | super.format(this._config.outputURLPattern) 302 | ) 303 | } 304 | } 305 | 306 | export async function extractInfo(info: IImgInfo): Promise<{ 307 | body?: Buffer 308 | contentType?: string 309 | contentEncoding?: string 310 | }> { 311 | const result: { 312 | body?: Buffer 313 | contentType?: string 314 | contentEncoding?: string 315 | } = {} 316 | 317 | if (info.base64Image) { 318 | const body = info.base64Image.replace(/^data:[/\w]+;base64,/, "") 319 | result.contentType = info.base64Image.match( 320 | /[^:]\w+\/[\w-+\d.]+(?=;|,)/, 321 | )?.[0] 322 | result.body = Buffer.from(body, "base64") 323 | result.contentEncoding = "base64" 324 | } else { 325 | if (info.extname) { 326 | result.contentType = mime.getType(info.extname) 327 | } 328 | result.body = info.buffer 329 | } 330 | 331 | // fallback to detect from buffer 332 | if (!result.contentType) { 333 | const fileType = await fromBuffer(result.body) 334 | result.contentType = fileType?.mime 335 | } 336 | 337 | return result 338 | } 339 | 340 | function formatHttpProxyURL(url = ""): string { 341 | if (!url) return "" 342 | 343 | if (!/^https?:\/\//.test(url)) { 344 | const [host, port] = url.split(":") 345 | return `http://${host.replace("127.0.0.1", "localhost")}:${port}` 346 | } 347 | 348 | try { 349 | const { protocol, hostname, port } = new URL(url) 350 | return `${protocol}//${hostname.replace("127.0.0.1", "localhost")}:${port}` 351 | } catch (e) { 352 | return "" 353 | } 354 | } 355 | 356 | export function getProxyAgent( 357 | proxy: string | undefined, 358 | sslEnabled: boolean, 359 | rejectUnauthorized: boolean, 360 | ): HttpProxyAgent | HttpsProxyAgent | undefined { 361 | const formatedProxy = formatHttpProxyURL(proxy) 362 | if (!formatedProxy) { 363 | return undefined 364 | } 365 | 366 | const Agent = sslEnabled ? HttpsProxyAgent : HttpProxyAgent 367 | const options = { 368 | keepAlive: true, 369 | keepAliveMsecs: 1000, 370 | scheduling: "lifo" as "lifo" | "fifo" | undefined, 371 | rejectUnauthorized, 372 | proxy: formatedProxy, 373 | } 374 | 375 | return new Agent(options) 376 | } 377 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "module": "CommonJS", 4 | "moduleResolution": "node", 5 | "resolveJsonModule": true, 6 | "esModuleInterop": true, 7 | "allowSyntheticDefaultImports": true, 8 | "sourceMap": false, 9 | "target": "es2017", 10 | "declaration": true, 11 | "outDir": "dist", 12 | // "strictNullChecks": true, 13 | "strictFunctionTypes": true, 14 | // "strict": true, 15 | // It's shit. 16 | // "baseUrl": "src", 17 | // "paths": { 18 | // "@core/*": ["core/*"], 19 | // "@lib/*": ["lib/*"], 20 | // "@plugins/*": ["plugins/*"], 21 | // "@utils/*": ["utils/*"] 22 | // }, 23 | "lib": [ 24 | "es2017", 25 | "es2015", 26 | "es6" 27 | ] 28 | }, 29 | "include": [ 30 | "./src/**/*" 31 | ], 32 | "exclude": [ "node_modules", "dist"] 33 | } 34 | --------------------------------------------------------------------------------