├── .env.example ├── .gitignore ├── .nvmrc ├── LICENSE ├── README.md ├── components ├── FileUploader.tsx └── MultipartFileUploader.tsx ├── next-env.d.ts ├── package-lock.json ├── package.json ├── pages ├── api │ ├── multipart-upload │ │ └── [endpoint].ts │ └── upload.ts └── index.tsx ├── public ├── favicon.ico └── vercel.svg ├── styles ├── Home.module.css └── globals.css └── tsconfig.json /.env.example: -------------------------------------------------------------------------------- 1 | R2_ACCOUNT_ID= 2 | R2_ACCESS_KEY_ID= 3 | R2_SECRET_KEY_ID= 4 | R2_BUCKET_NAME= 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # next.js 12 | /.next/ 13 | /out/ 14 | 15 | # production 16 | /build 17 | 18 | # misc 19 | .DS_Store 20 | 21 | # debug 22 | npm-debug.log* 23 | yarn-debug.log* 24 | yarn-error.log* 25 | 26 | # local env files 27 | .env.local 28 | .env.development.local 29 | .env.test.local 30 | .env.production.local 31 | -------------------------------------------------------------------------------- /.nvmrc: -------------------------------------------------------------------------------- 1 | 18 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Datopian 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 | # Cloudflare R2 bucket File Uploader 2 | 3 | A minimal and flexible uploader component tailored for Cloudflare R2 bucket. It supports multipart upload and was tested with files up to ~10 GB size. Fully compatible with [PortalJS](https://portaljs.com/). 4 | 5 | - R2 blob storage support (or any S3 API compatible storage) 6 | - Tested with ~10 GB files 7 | - ~~File content hashing~~ Removed to improve performance. 8 | - Drag and drop 9 | - URL pre-signing 10 | - Multipart upload support 11 | - Customizable 12 | 13 | r2-bucket-uploader 14 | 15 | The intent of this repo is to provide simple to use and simple to copy and paste file uploader component for Next.js. 16 | 17 | The file uploader components use [Uppy](https://uppy.io/) under the hood and are accompanied by the necessary API routes. 18 | 19 | The components were written mainly to be used with R2 but any blob storage with a S3-compatible API should work with just a few tweaks. 20 | 21 | Good for simple projects or for bootstrapping more complex file-uploading workflows when customized. 22 | 23 | ## Setup 24 | 25 | This repo provides two different sets of component and API routes, one for simple uploads and the other for multipart uploads. If your application is meant to handle large files, multipart upload is the recommended approach. Choose one and follow the instructions below. 26 | 27 | ### Install the dependencies 28 | 29 | On your project, run: 30 | 31 | ```bash 32 | npm i @uppy/core @uppy/react @uppy/aws-s3 @uppy/dashboard @uppy/drag-drop @uppy/progress-bar @uppy/file-input crypto-hash @aws-sdk/client-s3 @aws-sdk/s3-request-presigner 33 | ``` 34 | 35 | If you want to use the multipart upload component, one more dependency is required: 36 | 37 | ```bash 38 | npm i @uppy/aws-s3-multipart 39 | ``` 40 | 41 | ### Copy the component and the API routes into your project 42 | 43 | #### Simple upload 44 | 45 | Copy the following file to the components folder of your project: 46 | 47 | https://github.com/datopian/r2-bucket-uploader/blob/main/components/FileUploader.tsx 48 | 49 | Next, copy the following file into your project's `pages/api/` folder: 50 | 51 | https://github.com/datopian/r2-bucket-uploader/blob/main/pages/api/upload.ts 52 | 53 | #### Multipart upload 54 | 55 | Copy the following file to the components folder of your project: 56 | 57 | https://github.com/datopian/r2-bucket-uploader/blob/main/components/MultipartFileUploader.tsx 58 | 59 | Next, copy the following folder into your project's `pages/api/` folder: 60 | 61 | https://github.com/datopian/r2-bucket-uploader/blob/main/pages/api/multipart-upload 62 | 63 | ### Set the environment variables 64 | 65 | In your `.env` file, set the following environment variables: 66 | 67 | ```bash 68 | R2_ACCOUNT_ID= 69 | R2_ACCESS_KEY_ID= 70 | R2_SECRET_KEY_ID= 71 | R2_BUCKET_NAME= 72 | ``` 73 | 74 | The values should be available from the R2 management dashboard on Cloudflare. 75 | 76 | ### Set the CORS settings for the R2 bucket 77 | 78 | Create the following CORS settings in order to make the upload components work with your bucket: 79 | 80 | ```json 81 | [ 82 | { 83 | "AllowedOrigins": ["*"], 84 | "AllowedMethods": ["GET", "PUT"], 85 | "AllowedHeaders": ["Authorization", "content-type"], 86 | "ExposeHeaders": ["ETag", "Location"], 87 | "MaxAgeSeconds": 3000 88 | }, 89 | { 90 | "AllowedOrigins": ["*"], 91 | "AllowedMethods": ["GET"], 92 | "AllowedHeaders": ["*"] 93 | } 94 | ] 95 | ``` 96 | 97 | Optionally, to increase security you can also customize the `AllowedOrigins` properties. 98 | 99 | ### Use the component 100 | 101 | Now you can import `` or `` anywhere in your project. E.g.: 102 | 103 | ```jsx 104 | // pages/index.js 105 | import FileUploader from "@components/FileUploader"; 106 | import MultipartFileUploader from "@components/MultipartFileUploader"; 107 | 108 | export default function Home() { 109 | return ( 110 |
111 |

Upload an image:

112 | 113 | alert(JSON.stringify(result))} 115 | /> 116 | 117 | {/* OR */} 118 | 119 | alert(JSON.stringify(result))} 121 | /> 122 |
123 | ); 124 | } 125 | ``` 126 | -------------------------------------------------------------------------------- /components/FileUploader.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Uppy, { type UploadResult, UppyFile } from "@uppy/core"; 3 | import AwsS3, { type AwsS3UploadParameters } from "@uppy/aws-s3"; 4 | import { Dashboard } from "@uppy/react"; 5 | import { sha256 } from "crypto-hash"; 6 | 7 | // Uppy styles 8 | import "@uppy/core/dist/style.min.css"; 9 | import "@uppy/dashboard/dist/style.min.css"; 10 | 11 | export async function getUploadParameters(file: UppyFile) { 12 | const response = await fetch("/api/upload", { 13 | method: "POST", 14 | headers: { 15 | accept: "application/json", 16 | }, 17 | body: JSON.stringify({ 18 | filename: file.name, 19 | contentType: file.type, 20 | }), 21 | }); 22 | if (!response.ok) throw new Error("Unsuccessful request"); 23 | 24 | // Parse the JSON response. 25 | // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment 26 | const data: { url: string; method: "PUT" } = await response.json(); 27 | 28 | // Return an object in the correct shape. 29 | const object: AwsS3UploadParameters = { 30 | method: data.method, 31 | url: data.url, 32 | fields: {}, // For presigned PUT uploads, this should be left empty. 33 | // Provide content type header required by S3 34 | headers: { 35 | "Content-Type": file.type ? file.type : "application/octet-stream", 36 | }, 37 | }; 38 | return object; 39 | } 40 | 41 | export function FileUploader({ 42 | onUploadSuccess, 43 | }: { 44 | onUploadSuccess: (result: UploadResult) => void; 45 | }) { 46 | const uppy = React.useMemo(() => { 47 | const uppy = new Uppy({ 48 | autoProceed: true, 49 | restrictions: { 50 | maxNumberOfFiles: 3, 51 | }, 52 | }).use(AwsS3, { 53 | id: "AwsS3", 54 | getUploadParameters: (file: UppyFile) => getUploadParameters(file), 55 | }); 56 | return uppy; 57 | }, []); 58 | uppy.on("complete", (result) => { 59 | onUploadSuccess(result); 60 | }); 61 | return ; 62 | } 63 | -------------------------------------------------------------------------------- /components/MultipartFileUploader.tsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import Uppy, { type UploadResult } from "@uppy/core"; 3 | import { Dashboard } from "@uppy/react"; 4 | import AwsS3Multipart from "@uppy/aws-s3-multipart"; 5 | 6 | // Uppy styles 7 | import "@uppy/core/dist/style.min.css"; 8 | import "@uppy/dashboard/dist/style.min.css"; 9 | 10 | const fetchUploadApiEndpoint = async (endpoint: string, data: any) => { 11 | const res = await fetch(`/api/multipart-upload/${endpoint}`, { 12 | method: "POST", 13 | body: JSON.stringify(data), 14 | headers: { 15 | accept: "application/json", 16 | "Content-Type": "application/json", 17 | }, 18 | }); 19 | 20 | return res.json(); 21 | }; 22 | 23 | export function MultipartFileUploader({ 24 | onUploadSuccess, 25 | }: { 26 | onUploadSuccess: (result: UploadResult) => void; 27 | }) { 28 | const uppy = React.useMemo(() => { 29 | const uppy = new Uppy({ 30 | autoProceed: true, 31 | }).use(AwsS3Multipart, { 32 | createMultipartUpload: async (file) => { 33 | const contentType = file.type; 34 | return fetchUploadApiEndpoint("create-multipart-upload", { 35 | file, 36 | contentType, 37 | }); 38 | }, 39 | listParts: (file, props) => 40 | fetchUploadApiEndpoint("list-parts", { file, ...props }), 41 | signPart: (file, props) => 42 | fetchUploadApiEndpoint("sign-part", { file, ...props }), 43 | abortMultipartUpload: (file, props) => 44 | fetchUploadApiEndpoint("abort-multipart-upload", { file, ...props }), 45 | completeMultipartUpload: (file, props) => 46 | fetchUploadApiEndpoint("complete-multipart-upload", { file, ...props }), 47 | }); 48 | return uppy; 49 | }, []); 50 | uppy.on("complete", (result) => { 51 | onUploadSuccess(result); 52 | }); 53 | uppy.on("upload-success", (file, response) => { 54 | uppy.setFileState(file.id, { 55 | progress: uppy.getState().files[file.id].progress, 56 | uploadURL: response.body.Location, 57 | response: response, 58 | isPaused: false, 59 | }); 60 | }); 61 | 62 | return ; 63 | } 64 | -------------------------------------------------------------------------------- /next-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | /// 3 | 4 | // NOTE: This file should not be edited 5 | // see https://nextjs.org/docs/basic-features/typescript for more information. 6 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "r2-bucket-uploader", 3 | "lockfileVersion": 2, 4 | "requires": true, 5 | "packages": { 6 | "": { 7 | "dependencies": { 8 | "@aws-sdk/client-s3": "^3.410.0", 9 | "@aws-sdk/s3-request-presigner": "^3.410.0", 10 | "@uppy/aws-s3": "^3.3.0", 11 | "@uppy/aws-s3-multipart": "^3.6.0", 12 | "@uppy/core": "^3.5.0", 13 | "@uppy/dashboard": "^3.5.2", 14 | "@uppy/drag-drop": "^3.0.3", 15 | "@uppy/file-input": "^3.0.3", 16 | "@uppy/progress-bar": "^3.0.3", 17 | "@uppy/react": "^3.1.3", 18 | "crypto-hash": "^2.0.1", 19 | "next": "latest", 20 | "react": "18.2.0", 21 | "react-dom": "18.2.0" 22 | }, 23 | "devDependencies": { 24 | "@types/node": "20.6.0", 25 | "@types/react": "18.2.21", 26 | "typescript": "5.2.2" 27 | }, 28 | "engines": { 29 | "node": ">=18" 30 | } 31 | }, 32 | "node_modules/@aws-crypto/crc32": { 33 | "version": "3.0.0", 34 | "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", 35 | "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", 36 | "dependencies": { 37 | "@aws-crypto/util": "^3.0.0", 38 | "@aws-sdk/types": "^3.222.0", 39 | "tslib": "^1.11.1" 40 | } 41 | }, 42 | "node_modules/@aws-crypto/crc32/node_modules/tslib": { 43 | "version": "1.14.1", 44 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 45 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 46 | }, 47 | "node_modules/@aws-crypto/crc32c": { 48 | "version": "3.0.0", 49 | "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", 50 | "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", 51 | "dependencies": { 52 | "@aws-crypto/util": "^3.0.0", 53 | "@aws-sdk/types": "^3.222.0", 54 | "tslib": "^1.11.1" 55 | } 56 | }, 57 | "node_modules/@aws-crypto/crc32c/node_modules/tslib": { 58 | "version": "1.14.1", 59 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 60 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 61 | }, 62 | "node_modules/@aws-crypto/ie11-detection": { 63 | "version": "3.0.0", 64 | "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", 65 | "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", 66 | "dependencies": { 67 | "tslib": "^1.11.1" 68 | } 69 | }, 70 | "node_modules/@aws-crypto/ie11-detection/node_modules/tslib": { 71 | "version": "1.14.1", 72 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 73 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 74 | }, 75 | "node_modules/@aws-crypto/sha1-browser": { 76 | "version": "3.0.0", 77 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", 78 | "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", 79 | "dependencies": { 80 | "@aws-crypto/ie11-detection": "^3.0.0", 81 | "@aws-crypto/supports-web-crypto": "^3.0.0", 82 | "@aws-crypto/util": "^3.0.0", 83 | "@aws-sdk/types": "^3.222.0", 84 | "@aws-sdk/util-locate-window": "^3.0.0", 85 | "@aws-sdk/util-utf8-browser": "^3.0.0", 86 | "tslib": "^1.11.1" 87 | } 88 | }, 89 | "node_modules/@aws-crypto/sha1-browser/node_modules/tslib": { 90 | "version": "1.14.1", 91 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 92 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 93 | }, 94 | "node_modules/@aws-crypto/sha256-browser": { 95 | "version": "3.0.0", 96 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", 97 | "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", 98 | "dependencies": { 99 | "@aws-crypto/ie11-detection": "^3.0.0", 100 | "@aws-crypto/sha256-js": "^3.0.0", 101 | "@aws-crypto/supports-web-crypto": "^3.0.0", 102 | "@aws-crypto/util": "^3.0.0", 103 | "@aws-sdk/types": "^3.222.0", 104 | "@aws-sdk/util-locate-window": "^3.0.0", 105 | "@aws-sdk/util-utf8-browser": "^3.0.0", 106 | "tslib": "^1.11.1" 107 | } 108 | }, 109 | "node_modules/@aws-crypto/sha256-browser/node_modules/tslib": { 110 | "version": "1.14.1", 111 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 112 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 113 | }, 114 | "node_modules/@aws-crypto/sha256-js": { 115 | "version": "3.0.0", 116 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", 117 | "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", 118 | "dependencies": { 119 | "@aws-crypto/util": "^3.0.0", 120 | "@aws-sdk/types": "^3.222.0", 121 | "tslib": "^1.11.1" 122 | } 123 | }, 124 | "node_modules/@aws-crypto/sha256-js/node_modules/tslib": { 125 | "version": "1.14.1", 126 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 127 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 128 | }, 129 | "node_modules/@aws-crypto/supports-web-crypto": { 130 | "version": "3.0.0", 131 | "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", 132 | "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", 133 | "dependencies": { 134 | "tslib": "^1.11.1" 135 | } 136 | }, 137 | "node_modules/@aws-crypto/supports-web-crypto/node_modules/tslib": { 138 | "version": "1.14.1", 139 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 140 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 141 | }, 142 | "node_modules/@aws-crypto/util": { 143 | "version": "3.0.0", 144 | "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", 145 | "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", 146 | "dependencies": { 147 | "@aws-sdk/types": "^3.222.0", 148 | "@aws-sdk/util-utf8-browser": "^3.0.0", 149 | "tslib": "^1.11.1" 150 | } 151 | }, 152 | "node_modules/@aws-crypto/util/node_modules/tslib": { 153 | "version": "1.14.1", 154 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 155 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 156 | }, 157 | "node_modules/@aws-sdk/client-s3": { 158 | "version": "3.410.0", 159 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.410.0.tgz", 160 | "integrity": "sha512-9pInvFl3xgk+CnbHFZVk0wAicZUiokIGQ05e/ZDBHjiWK5ph/XeQ4CCTuh7JxT0yABNhua8/6txsyq/uNXOzoA==", 161 | "dependencies": { 162 | "@aws-crypto/sha1-browser": "3.0.0", 163 | "@aws-crypto/sha256-browser": "3.0.0", 164 | "@aws-crypto/sha256-js": "3.0.0", 165 | "@aws-sdk/client-sts": "3.410.0", 166 | "@aws-sdk/credential-provider-node": "3.410.0", 167 | "@aws-sdk/middleware-bucket-endpoint": "3.410.0", 168 | "@aws-sdk/middleware-expect-continue": "3.410.0", 169 | "@aws-sdk/middleware-flexible-checksums": "3.410.0", 170 | "@aws-sdk/middleware-host-header": "3.410.0", 171 | "@aws-sdk/middleware-location-constraint": "3.410.0", 172 | "@aws-sdk/middleware-logger": "3.410.0", 173 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 174 | "@aws-sdk/middleware-sdk-s3": "3.410.0", 175 | "@aws-sdk/middleware-signing": "3.410.0", 176 | "@aws-sdk/middleware-ssec": "3.410.0", 177 | "@aws-sdk/middleware-user-agent": "3.410.0", 178 | "@aws-sdk/signature-v4-multi-region": "3.410.0", 179 | "@aws-sdk/types": "3.410.0", 180 | "@aws-sdk/util-endpoints": "3.410.0", 181 | "@aws-sdk/util-user-agent-browser": "3.410.0", 182 | "@aws-sdk/util-user-agent-node": "3.410.0", 183 | "@aws-sdk/xml-builder": "3.310.0", 184 | "@smithy/config-resolver": "^2.0.7", 185 | "@smithy/eventstream-serde-browser": "^2.0.6", 186 | "@smithy/eventstream-serde-config-resolver": "^2.0.6", 187 | "@smithy/eventstream-serde-node": "^2.0.6", 188 | "@smithy/fetch-http-handler": "^2.1.2", 189 | "@smithy/hash-blob-browser": "^2.0.6", 190 | "@smithy/hash-node": "^2.0.6", 191 | "@smithy/hash-stream-node": "^2.0.6", 192 | "@smithy/invalid-dependency": "^2.0.6", 193 | "@smithy/md5-js": "^2.0.6", 194 | "@smithy/middleware-content-length": "^2.0.8", 195 | "@smithy/middleware-endpoint": "^2.0.6", 196 | "@smithy/middleware-retry": "^2.0.9", 197 | "@smithy/middleware-serde": "^2.0.6", 198 | "@smithy/middleware-stack": "^2.0.0", 199 | "@smithy/node-config-provider": "^2.0.9", 200 | "@smithy/node-http-handler": "^2.1.2", 201 | "@smithy/protocol-http": "^3.0.2", 202 | "@smithy/smithy-client": "^2.1.3", 203 | "@smithy/types": "^2.3.0", 204 | "@smithy/url-parser": "^2.0.6", 205 | "@smithy/util-base64": "^2.0.0", 206 | "@smithy/util-body-length-browser": "^2.0.0", 207 | "@smithy/util-body-length-node": "^2.1.0", 208 | "@smithy/util-defaults-mode-browser": "^2.0.7", 209 | "@smithy/util-defaults-mode-node": "^2.0.9", 210 | "@smithy/util-retry": "^2.0.0", 211 | "@smithy/util-stream": "^2.0.9", 212 | "@smithy/util-utf8": "^2.0.0", 213 | "@smithy/util-waiter": "^2.0.6", 214 | "fast-xml-parser": "4.2.5", 215 | "tslib": "^2.5.0" 216 | }, 217 | "engines": { 218 | "node": ">=14.0.0" 219 | } 220 | }, 221 | "node_modules/@aws-sdk/client-sso": { 222 | "version": "3.410.0", 223 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.410.0.tgz", 224 | "integrity": "sha512-MC9GrgwtlOuSL2WS3DRM3dQ/5y+49KSMMJRH6JiEcU5vE0dX/OtEcX+VfEwpi73x5pSfIjm7xnzjzOFx+sQBIg==", 225 | "dependencies": { 226 | "@aws-crypto/sha256-browser": "3.0.0", 227 | "@aws-crypto/sha256-js": "3.0.0", 228 | "@aws-sdk/middleware-host-header": "3.410.0", 229 | "@aws-sdk/middleware-logger": "3.410.0", 230 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 231 | "@aws-sdk/middleware-user-agent": "3.410.0", 232 | "@aws-sdk/types": "3.410.0", 233 | "@aws-sdk/util-endpoints": "3.410.0", 234 | "@aws-sdk/util-user-agent-browser": "3.410.0", 235 | "@aws-sdk/util-user-agent-node": "3.410.0", 236 | "@smithy/config-resolver": "^2.0.7", 237 | "@smithy/fetch-http-handler": "^2.1.2", 238 | "@smithy/hash-node": "^2.0.6", 239 | "@smithy/invalid-dependency": "^2.0.6", 240 | "@smithy/middleware-content-length": "^2.0.8", 241 | "@smithy/middleware-endpoint": "^2.0.6", 242 | "@smithy/middleware-retry": "^2.0.9", 243 | "@smithy/middleware-serde": "^2.0.6", 244 | "@smithy/middleware-stack": "^2.0.0", 245 | "@smithy/node-config-provider": "^2.0.9", 246 | "@smithy/node-http-handler": "^2.1.2", 247 | "@smithy/protocol-http": "^3.0.2", 248 | "@smithy/smithy-client": "^2.1.3", 249 | "@smithy/types": "^2.3.0", 250 | "@smithy/url-parser": "^2.0.6", 251 | "@smithy/util-base64": "^2.0.0", 252 | "@smithy/util-body-length-browser": "^2.0.0", 253 | "@smithy/util-body-length-node": "^2.1.0", 254 | "@smithy/util-defaults-mode-browser": "^2.0.7", 255 | "@smithy/util-defaults-mode-node": "^2.0.9", 256 | "@smithy/util-retry": "^2.0.0", 257 | "@smithy/util-utf8": "^2.0.0", 258 | "tslib": "^2.5.0" 259 | }, 260 | "engines": { 261 | "node": ">=14.0.0" 262 | } 263 | }, 264 | "node_modules/@aws-sdk/client-sts": { 265 | "version": "3.410.0", 266 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.410.0.tgz", 267 | "integrity": "sha512-e6VMrBJtnTxxUXwDmkADGIvyppmDMFf4+cGGA68tVCUm1cFNlCI6M/67bVSIPN/WVKAAfhEL5O2vVXCM7aatYg==", 268 | "dependencies": { 269 | "@aws-crypto/sha256-browser": "3.0.0", 270 | "@aws-crypto/sha256-js": "3.0.0", 271 | "@aws-sdk/credential-provider-node": "3.410.0", 272 | "@aws-sdk/middleware-host-header": "3.410.0", 273 | "@aws-sdk/middleware-logger": "3.410.0", 274 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 275 | "@aws-sdk/middleware-sdk-sts": "3.410.0", 276 | "@aws-sdk/middleware-signing": "3.410.0", 277 | "@aws-sdk/middleware-user-agent": "3.410.0", 278 | "@aws-sdk/types": "3.410.0", 279 | "@aws-sdk/util-endpoints": "3.410.0", 280 | "@aws-sdk/util-user-agent-browser": "3.410.0", 281 | "@aws-sdk/util-user-agent-node": "3.410.0", 282 | "@smithy/config-resolver": "^2.0.7", 283 | "@smithy/fetch-http-handler": "^2.1.2", 284 | "@smithy/hash-node": "^2.0.6", 285 | "@smithy/invalid-dependency": "^2.0.6", 286 | "@smithy/middleware-content-length": "^2.0.8", 287 | "@smithy/middleware-endpoint": "^2.0.6", 288 | "@smithy/middleware-retry": "^2.0.9", 289 | "@smithy/middleware-serde": "^2.0.6", 290 | "@smithy/middleware-stack": "^2.0.0", 291 | "@smithy/node-config-provider": "^2.0.9", 292 | "@smithy/node-http-handler": "^2.1.2", 293 | "@smithy/protocol-http": "^3.0.2", 294 | "@smithy/smithy-client": "^2.1.3", 295 | "@smithy/types": "^2.3.0", 296 | "@smithy/url-parser": "^2.0.6", 297 | "@smithy/util-base64": "^2.0.0", 298 | "@smithy/util-body-length-browser": "^2.0.0", 299 | "@smithy/util-body-length-node": "^2.1.0", 300 | "@smithy/util-defaults-mode-browser": "^2.0.7", 301 | "@smithy/util-defaults-mode-node": "^2.0.9", 302 | "@smithy/util-retry": "^2.0.0", 303 | "@smithy/util-utf8": "^2.0.0", 304 | "fast-xml-parser": "4.2.5", 305 | "tslib": "^2.5.0" 306 | }, 307 | "engines": { 308 | "node": ">=14.0.0" 309 | } 310 | }, 311 | "node_modules/@aws-sdk/credential-provider-env": { 312 | "version": "3.410.0", 313 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.410.0.tgz", 314 | "integrity": "sha512-c7TB9LbN0PkFOsXI0lcRJnqPNOmc4VBvrHf8jP/BkTDg4YUoKQKOFd4d0SqzODmlZiAyoMQVZTR4ISZo95Zj4Q==", 315 | "dependencies": { 316 | "@aws-sdk/types": "3.410.0", 317 | "@smithy/property-provider": "^2.0.0", 318 | "@smithy/types": "^2.3.0", 319 | "tslib": "^2.5.0" 320 | }, 321 | "engines": { 322 | "node": ">=14.0.0" 323 | } 324 | }, 325 | "node_modules/@aws-sdk/credential-provider-ini": { 326 | "version": "3.410.0", 327 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.410.0.tgz", 328 | "integrity": "sha512-D8rcr5bRCFD0f42MPQ7K6TWZq5d3pfqrKINL1/bpfkK5BJbvq1BGYmR88UC6CLpTRtZ1LHY2HgYG0fp/2zjjww==", 329 | "dependencies": { 330 | "@aws-sdk/credential-provider-env": "3.410.0", 331 | "@aws-sdk/credential-provider-process": "3.410.0", 332 | "@aws-sdk/credential-provider-sso": "3.410.0", 333 | "@aws-sdk/credential-provider-web-identity": "3.410.0", 334 | "@aws-sdk/types": "3.410.0", 335 | "@smithy/credential-provider-imds": "^2.0.0", 336 | "@smithy/property-provider": "^2.0.0", 337 | "@smithy/shared-ini-file-loader": "^2.0.6", 338 | "@smithy/types": "^2.3.0", 339 | "tslib": "^2.5.0" 340 | }, 341 | "engines": { 342 | "node": ">=14.0.0" 343 | } 344 | }, 345 | "node_modules/@aws-sdk/credential-provider-node": { 346 | "version": "3.410.0", 347 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.410.0.tgz", 348 | "integrity": "sha512-0wmVm33T/j1FS7MZ/j+WsPlgSc0YnCXnpbWSov1Mn6R86SHI2b2JhdIPRRE4XbGfyW2QGNUl2CwoZVaqhXeF5g==", 349 | "dependencies": { 350 | "@aws-sdk/credential-provider-env": "3.410.0", 351 | "@aws-sdk/credential-provider-ini": "3.410.0", 352 | "@aws-sdk/credential-provider-process": "3.410.0", 353 | "@aws-sdk/credential-provider-sso": "3.410.0", 354 | "@aws-sdk/credential-provider-web-identity": "3.410.0", 355 | "@aws-sdk/types": "3.410.0", 356 | "@smithy/credential-provider-imds": "^2.0.0", 357 | "@smithy/property-provider": "^2.0.0", 358 | "@smithy/shared-ini-file-loader": "^2.0.6", 359 | "@smithy/types": "^2.3.0", 360 | "tslib": "^2.5.0" 361 | }, 362 | "engines": { 363 | "node": ">=14.0.0" 364 | } 365 | }, 366 | "node_modules/@aws-sdk/credential-provider-process": { 367 | "version": "3.410.0", 368 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.410.0.tgz", 369 | "integrity": "sha512-BMju1hlDCDNkkSZpKF5SQ8G0WCLRj6/Jvw9QmudLHJuVwYJXEW1r2AsVMg98OZ3hB9G+MAvHruHZIbMiNmUMXQ==", 370 | "dependencies": { 371 | "@aws-sdk/types": "3.410.0", 372 | "@smithy/property-provider": "^2.0.0", 373 | "@smithy/shared-ini-file-loader": "^2.0.6", 374 | "@smithy/types": "^2.3.0", 375 | "tslib": "^2.5.0" 376 | }, 377 | "engines": { 378 | "node": ">=14.0.0" 379 | } 380 | }, 381 | "node_modules/@aws-sdk/credential-provider-sso": { 382 | "version": "3.410.0", 383 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.410.0.tgz", 384 | "integrity": "sha512-zEaoY/sY+KYTlQUkp9dvveAHf175b8RIt0DsQkDrRPtrg/RBHR00r5rFvz9+nrwsR8546RaBU7h/zzTaQGhmcA==", 385 | "dependencies": { 386 | "@aws-sdk/client-sso": "3.410.0", 387 | "@aws-sdk/token-providers": "3.410.0", 388 | "@aws-sdk/types": "3.410.0", 389 | "@smithy/property-provider": "^2.0.0", 390 | "@smithy/shared-ini-file-loader": "^2.0.6", 391 | "@smithy/types": "^2.3.0", 392 | "tslib": "^2.5.0" 393 | }, 394 | "engines": { 395 | "node": ">=14.0.0" 396 | } 397 | }, 398 | "node_modules/@aws-sdk/credential-provider-web-identity": { 399 | "version": "3.410.0", 400 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.410.0.tgz", 401 | "integrity": "sha512-cE0l8LmEHdWbDkdPNgrfdYSgp4/cIVXrjUKI1QCATA729CrHZ/OQjB/maOBOrMHO9YTiggko887NkslVvwVB7w==", 402 | "dependencies": { 403 | "@aws-sdk/types": "3.410.0", 404 | "@smithy/property-provider": "^2.0.0", 405 | "@smithy/types": "^2.3.0", 406 | "tslib": "^2.5.0" 407 | }, 408 | "engines": { 409 | "node": ">=14.0.0" 410 | } 411 | }, 412 | "node_modules/@aws-sdk/middleware-bucket-endpoint": { 413 | "version": "3.410.0", 414 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.410.0.tgz", 415 | "integrity": "sha512-pUGrpFgCKf9fDHu01JJhhw+MUImheS0HFlZwNG37OMubkxUAbCdmYGewGxfTCUvWyZJtx9bVjrSu6gG7w+RARg==", 416 | "dependencies": { 417 | "@aws-sdk/types": "3.410.0", 418 | "@aws-sdk/util-arn-parser": "3.310.0", 419 | "@smithy/node-config-provider": "^2.0.9", 420 | "@smithy/protocol-http": "^3.0.2", 421 | "@smithy/types": "^2.3.0", 422 | "@smithy/util-config-provider": "^2.0.0", 423 | "tslib": "^2.5.0" 424 | }, 425 | "engines": { 426 | "node": ">=14.0.0" 427 | } 428 | }, 429 | "node_modules/@aws-sdk/middleware-expect-continue": { 430 | "version": "3.410.0", 431 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.410.0.tgz", 432 | "integrity": "sha512-e5YqGCNmW99GZjEPPujJ02RlEZql19U40oORysBhVF7mKz8BBvF3s8l37tvu37oxebDEkh1u/2cm2+ggOXxLjQ==", 433 | "dependencies": { 434 | "@aws-sdk/types": "3.410.0", 435 | "@smithy/protocol-http": "^3.0.2", 436 | "@smithy/types": "^2.3.0", 437 | "tslib": "^2.5.0" 438 | }, 439 | "engines": { 440 | "node": ">=14.0.0" 441 | } 442 | }, 443 | "node_modules/@aws-sdk/middleware-flexible-checksums": { 444 | "version": "3.410.0", 445 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.410.0.tgz", 446 | "integrity": "sha512-IK7KlvEKtrQVBfmAp/MmGd0wbWLuN2GZwwfAmsU0qFb0f5vOVUbKDsu6tudtDKCBG9uXyTEsx3/QGvoK2zDy+g==", 447 | "dependencies": { 448 | "@aws-crypto/crc32": "3.0.0", 449 | "@aws-crypto/crc32c": "3.0.0", 450 | "@aws-sdk/types": "3.410.0", 451 | "@smithy/is-array-buffer": "^2.0.0", 452 | "@smithy/protocol-http": "^3.0.2", 453 | "@smithy/types": "^2.3.0", 454 | "@smithy/util-utf8": "^2.0.0", 455 | "tslib": "^2.5.0" 456 | }, 457 | "engines": { 458 | "node": ">=14.0.0" 459 | } 460 | }, 461 | "node_modules/@aws-sdk/middleware-host-header": { 462 | "version": "3.410.0", 463 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.410.0.tgz", 464 | "integrity": "sha512-ED/OVcyITln5rrxnajZP+V0PN1nug+gSDHJDqdDo/oLy7eiDr/ZWn3nlWW7WcMplQ1/Jnb+hK0UetBp/25XooA==", 465 | "dependencies": { 466 | "@aws-sdk/types": "3.410.0", 467 | "@smithy/protocol-http": "^3.0.2", 468 | "@smithy/types": "^2.3.0", 469 | "tslib": "^2.5.0" 470 | }, 471 | "engines": { 472 | "node": ">=14.0.0" 473 | } 474 | }, 475 | "node_modules/@aws-sdk/middleware-location-constraint": { 476 | "version": "3.410.0", 477 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.410.0.tgz", 478 | "integrity": "sha512-jAftSpOpw/5AdpOJ/cGiXCb+Vv22KXR5QZmxmllUDsnlm18672tpRaI2plmu/1d98CVvqhY61eSklFMrIf2c4w==", 479 | "dependencies": { 480 | "@aws-sdk/types": "3.410.0", 481 | "@smithy/types": "^2.3.0", 482 | "tslib": "^2.5.0" 483 | }, 484 | "engines": { 485 | "node": ">=14.0.0" 486 | } 487 | }, 488 | "node_modules/@aws-sdk/middleware-logger": { 489 | "version": "3.410.0", 490 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.410.0.tgz", 491 | "integrity": "sha512-YtmKYCVtBfScq3/UFJk+aSZOktKJBNZL9DaSc2aPcy/goCVsYDOkGwtHk0jIkC1JRSNCkVTqL7ya60sSr8zaQQ==", 492 | "dependencies": { 493 | "@aws-sdk/types": "3.410.0", 494 | "@smithy/types": "^2.3.0", 495 | "tslib": "^2.5.0" 496 | }, 497 | "engines": { 498 | "node": ">=14.0.0" 499 | } 500 | }, 501 | "node_modules/@aws-sdk/middleware-recursion-detection": { 502 | "version": "3.410.0", 503 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.410.0.tgz", 504 | "integrity": "sha512-KWaes5FLzRqj28vaIEE4Bimpga2E596WdPF2HaH6zsVMJddoRDsc3ZX9ZhLOGrXzIO1RqBd0QxbLrM0S/B2aOQ==", 505 | "dependencies": { 506 | "@aws-sdk/types": "3.410.0", 507 | "@smithy/protocol-http": "^3.0.2", 508 | "@smithy/types": "^2.3.0", 509 | "tslib": "^2.5.0" 510 | }, 511 | "engines": { 512 | "node": ">=14.0.0" 513 | } 514 | }, 515 | "node_modules/@aws-sdk/middleware-sdk-s3": { 516 | "version": "3.410.0", 517 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.410.0.tgz", 518 | "integrity": "sha512-K2sG2V1ZkezYMCIy3uMt0MwtflcfIwLptwm0iFLaYitiINZQ1tcslk9ggAjyTHg0rslDSI4/zjkhy8VHFOV7HA==", 519 | "dependencies": { 520 | "@aws-sdk/types": "3.410.0", 521 | "@aws-sdk/util-arn-parser": "3.310.0", 522 | "@smithy/protocol-http": "^3.0.2", 523 | "@smithy/types": "^2.3.0", 524 | "tslib": "^2.5.0" 525 | }, 526 | "engines": { 527 | "node": ">=14.0.0" 528 | } 529 | }, 530 | "node_modules/@aws-sdk/middleware-sdk-sts": { 531 | "version": "3.410.0", 532 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.410.0.tgz", 533 | "integrity": "sha512-YfBpctDocRR4CcROoDueJA7D+aMLBV8nTFfmVNdLLLgyuLZ/AUR11VQSu1lf9gQZKl8IpKE/BLf2fRE/qV1ZuA==", 534 | "dependencies": { 535 | "@aws-sdk/middleware-signing": "3.410.0", 536 | "@aws-sdk/types": "3.410.0", 537 | "@smithy/types": "^2.3.0", 538 | "tslib": "^2.5.0" 539 | }, 540 | "engines": { 541 | "node": ">=14.0.0" 542 | } 543 | }, 544 | "node_modules/@aws-sdk/middleware-signing": { 545 | "version": "3.410.0", 546 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.410.0.tgz", 547 | "integrity": "sha512-KBAZ/eoAJUSJv5us2HsKwK2OszG2s9FEyKpEhgnHLcbbKzW873zHBH5GcOGEQu4AWArTy2ndzJu3FF+9/J9hJQ==", 548 | "dependencies": { 549 | "@aws-sdk/types": "3.410.0", 550 | "@smithy/property-provider": "^2.0.0", 551 | "@smithy/protocol-http": "^3.0.2", 552 | "@smithy/signature-v4": "^2.0.0", 553 | "@smithy/types": "^2.3.0", 554 | "@smithy/util-middleware": "^2.0.0", 555 | "tslib": "^2.5.0" 556 | }, 557 | "engines": { 558 | "node": ">=14.0.0" 559 | } 560 | }, 561 | "node_modules/@aws-sdk/middleware-ssec": { 562 | "version": "3.410.0", 563 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.410.0.tgz", 564 | "integrity": "sha512-DNsjVTXoxIh+PuW9o45CFaMiconbuZRm19MC3NA1yNCaCj3ZxD5OdXAutq6UjQdrx8UG4EjUlCJEEvBKmboITw==", 565 | "dependencies": { 566 | "@aws-sdk/types": "3.410.0", 567 | "@smithy/types": "^2.3.0", 568 | "tslib": "^2.5.0" 569 | }, 570 | "engines": { 571 | "node": ">=14.0.0" 572 | } 573 | }, 574 | "node_modules/@aws-sdk/middleware-user-agent": { 575 | "version": "3.410.0", 576 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.410.0.tgz", 577 | "integrity": "sha512-ZayDtLfvCZUohSxQc/49BfoU/y6bDHLfLdyyUJbJ54Sv8zQcrmdyKvCBFUZwE6tHQgAmv9/ZT18xECMl+xiONA==", 578 | "dependencies": { 579 | "@aws-sdk/types": "3.410.0", 580 | "@aws-sdk/util-endpoints": "3.410.0", 581 | "@smithy/protocol-http": "^3.0.2", 582 | "@smithy/types": "^2.3.0", 583 | "tslib": "^2.5.0" 584 | }, 585 | "engines": { 586 | "node": ">=14.0.0" 587 | } 588 | }, 589 | "node_modules/@aws-sdk/s3-request-presigner": { 590 | "version": "3.410.0", 591 | "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.410.0.tgz", 592 | "integrity": "sha512-In2/XPdPA874XH0MdhLJ7tG74Yay/ATCMpMQcy+summlPhmO1G3BiKMoaDPRks+zJNhgiy6++PlcP93fwDSxcA==", 593 | "dependencies": { 594 | "@aws-sdk/signature-v4-multi-region": "3.410.0", 595 | "@aws-sdk/types": "3.410.0", 596 | "@aws-sdk/util-format-url": "3.410.0", 597 | "@smithy/middleware-endpoint": "^2.0.6", 598 | "@smithy/protocol-http": "^3.0.2", 599 | "@smithy/smithy-client": "^2.1.3", 600 | "@smithy/types": "^2.3.0", 601 | "tslib": "^2.5.0" 602 | }, 603 | "engines": { 604 | "node": ">=14.0.0" 605 | } 606 | }, 607 | "node_modules/@aws-sdk/signature-v4-multi-region": { 608 | "version": "3.410.0", 609 | "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.410.0.tgz", 610 | "integrity": "sha512-abgcl9/i9frxGUVAfHHWj49UMCFEmzkYwKmV/4kw9MYn6BZ3HKb5M00tBLn9/PcAKfANS7O+qJRiEQT66rmfhg==", 611 | "dependencies": { 612 | "@aws-sdk/types": "3.410.0", 613 | "@smithy/protocol-http": "^3.0.2", 614 | "@smithy/signature-v4": "^2.0.0", 615 | "@smithy/types": "^2.3.0", 616 | "tslib": "^2.5.0" 617 | }, 618 | "engines": { 619 | "node": ">=14.0.0" 620 | }, 621 | "peerDependencies": { 622 | "@aws-sdk/signature-v4-crt": "^3.118.0" 623 | }, 624 | "peerDependenciesMeta": { 625 | "@aws-sdk/signature-v4-crt": { 626 | "optional": true 627 | } 628 | } 629 | }, 630 | "node_modules/@aws-sdk/token-providers": { 631 | "version": "3.410.0", 632 | "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.410.0.tgz", 633 | "integrity": "sha512-d5Nc0xydkH/X0LA1HDyhGY5sEv4LuADFk+QpDtT8ogLilcre+b1jpdY8Sih/gd1KoGS1H+d1tz2hSGwUHAbUbw==", 634 | "dependencies": { 635 | "@aws-crypto/sha256-browser": "3.0.0", 636 | "@aws-crypto/sha256-js": "3.0.0", 637 | "@aws-sdk/middleware-host-header": "3.410.0", 638 | "@aws-sdk/middleware-logger": "3.410.0", 639 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 640 | "@aws-sdk/middleware-user-agent": "3.410.0", 641 | "@aws-sdk/types": "3.410.0", 642 | "@aws-sdk/util-endpoints": "3.410.0", 643 | "@aws-sdk/util-user-agent-browser": "3.410.0", 644 | "@aws-sdk/util-user-agent-node": "3.410.0", 645 | "@smithy/config-resolver": "^2.0.7", 646 | "@smithy/fetch-http-handler": "^2.1.2", 647 | "@smithy/hash-node": "^2.0.6", 648 | "@smithy/invalid-dependency": "^2.0.6", 649 | "@smithy/middleware-content-length": "^2.0.8", 650 | "@smithy/middleware-endpoint": "^2.0.6", 651 | "@smithy/middleware-retry": "^2.0.9", 652 | "@smithy/middleware-serde": "^2.0.6", 653 | "@smithy/middleware-stack": "^2.0.0", 654 | "@smithy/node-config-provider": "^2.0.9", 655 | "@smithy/node-http-handler": "^2.1.2", 656 | "@smithy/property-provider": "^2.0.0", 657 | "@smithy/protocol-http": "^3.0.2", 658 | "@smithy/shared-ini-file-loader": "^2.0.6", 659 | "@smithy/smithy-client": "^2.1.3", 660 | "@smithy/types": "^2.3.0", 661 | "@smithy/url-parser": "^2.0.6", 662 | "@smithy/util-base64": "^2.0.0", 663 | "@smithy/util-body-length-browser": "^2.0.0", 664 | "@smithy/util-body-length-node": "^2.1.0", 665 | "@smithy/util-defaults-mode-browser": "^2.0.7", 666 | "@smithy/util-defaults-mode-node": "^2.0.9", 667 | "@smithy/util-retry": "^2.0.0", 668 | "@smithy/util-utf8": "^2.0.0", 669 | "tslib": "^2.5.0" 670 | }, 671 | "engines": { 672 | "node": ">=14.0.0" 673 | } 674 | }, 675 | "node_modules/@aws-sdk/types": { 676 | "version": "3.410.0", 677 | "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.410.0.tgz", 678 | "integrity": "sha512-D7iaUCszv/v04NDaZUmCmekamy6VD/lKozm/3gS9+dkfU6cC2CsNoUfPV8BlV6dPdw0oWgF91am3I1stdvfVrQ==", 679 | "dependencies": { 680 | "@smithy/types": "^2.3.0", 681 | "tslib": "^2.5.0" 682 | }, 683 | "engines": { 684 | "node": ">=14.0.0" 685 | } 686 | }, 687 | "node_modules/@aws-sdk/util-arn-parser": { 688 | "version": "3.310.0", 689 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz", 690 | "integrity": "sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==", 691 | "dependencies": { 692 | "tslib": "^2.5.0" 693 | }, 694 | "engines": { 695 | "node": ">=14.0.0" 696 | } 697 | }, 698 | "node_modules/@aws-sdk/util-endpoints": { 699 | "version": "3.410.0", 700 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.410.0.tgz", 701 | "integrity": "sha512-iNiqJyC7N3+8zFwnXUqcWSxrZecVZLToo1iTQQdeYL2af1IcOtRgb7n8jpAI/hmXhBSx2+3RI+Y7pxyFo1vu+w==", 702 | "dependencies": { 703 | "@aws-sdk/types": "3.410.0", 704 | "tslib": "^2.5.0" 705 | }, 706 | "engines": { 707 | "node": ">=14.0.0" 708 | } 709 | }, 710 | "node_modules/@aws-sdk/util-format-url": { 711 | "version": "3.410.0", 712 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.410.0.tgz", 713 | "integrity": "sha512-ftxPYq7RBxJMQrOCJARx8+sQccmG+6y7mm9JzfXOHOfS1aWnYQizTitJ7PMA8p90xrUAFQ2CmjT0jaEGWg5VGQ==", 714 | "dependencies": { 715 | "@aws-sdk/types": "3.410.0", 716 | "@smithy/querystring-builder": "^2.0.6", 717 | "@smithy/types": "^2.3.0", 718 | "tslib": "^2.5.0" 719 | }, 720 | "engines": { 721 | "node": ">=14.0.0" 722 | } 723 | }, 724 | "node_modules/@aws-sdk/util-locate-window": { 725 | "version": "3.310.0", 726 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", 727 | "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", 728 | "dependencies": { 729 | "tslib": "^2.5.0" 730 | }, 731 | "engines": { 732 | "node": ">=14.0.0" 733 | } 734 | }, 735 | "node_modules/@aws-sdk/util-user-agent-browser": { 736 | "version": "3.410.0", 737 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.410.0.tgz", 738 | "integrity": "sha512-i1G/XGpXGMRT2zEiAhi1xucJsfCWk8nNYjk/LbC0sA+7B9Huri96YAzVib12wkHPsJQvZxZC6CpQDIHWm4lXMA==", 739 | "dependencies": { 740 | "@aws-sdk/types": "3.410.0", 741 | "@smithy/types": "^2.3.0", 742 | "bowser": "^2.11.0", 743 | "tslib": "^2.5.0" 744 | } 745 | }, 746 | "node_modules/@aws-sdk/util-user-agent-node": { 747 | "version": "3.410.0", 748 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.410.0.tgz", 749 | "integrity": "sha512-bK70t1jHRl8HrJXd4hEIwc5PBZ7U0w+81AKFnanIVKZwZedd6nLibUXDTK14z/Jp2GFcBqd4zkt2YLGkRt/U4A==", 750 | "dependencies": { 751 | "@aws-sdk/types": "3.410.0", 752 | "@smithy/node-config-provider": "^2.0.9", 753 | "@smithy/types": "^2.3.0", 754 | "tslib": "^2.5.0" 755 | }, 756 | "engines": { 757 | "node": ">=14.0.0" 758 | }, 759 | "peerDependencies": { 760 | "aws-crt": ">=1.0.0" 761 | }, 762 | "peerDependenciesMeta": { 763 | "aws-crt": { 764 | "optional": true 765 | } 766 | } 767 | }, 768 | "node_modules/@aws-sdk/util-utf8-browser": { 769 | "version": "3.259.0", 770 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", 771 | "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", 772 | "dependencies": { 773 | "tslib": "^2.3.1" 774 | } 775 | }, 776 | "node_modules/@aws-sdk/xml-builder": { 777 | "version": "3.310.0", 778 | "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz", 779 | "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==", 780 | "dependencies": { 781 | "tslib": "^2.5.0" 782 | }, 783 | "engines": { 784 | "node": ">=14.0.0" 785 | } 786 | }, 787 | "node_modules/@next/env": { 788 | "version": "13.4.19", 789 | "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.19.tgz", 790 | "integrity": "sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ==" 791 | }, 792 | "node_modules/@next/swc-darwin-arm64": { 793 | "version": "13.4.19", 794 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.19.tgz", 795 | "integrity": "sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==", 796 | "cpu": [ 797 | "arm64" 798 | ], 799 | "optional": true, 800 | "os": [ 801 | "darwin" 802 | ], 803 | "engines": { 804 | "node": ">= 10" 805 | } 806 | }, 807 | "node_modules/@next/swc-darwin-x64": { 808 | "version": "13.4.19", 809 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.19.tgz", 810 | "integrity": "sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==", 811 | "cpu": [ 812 | "x64" 813 | ], 814 | "optional": true, 815 | "os": [ 816 | "darwin" 817 | ], 818 | "engines": { 819 | "node": ">= 10" 820 | } 821 | }, 822 | "node_modules/@next/swc-linux-arm64-gnu": { 823 | "version": "13.4.19", 824 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.19.tgz", 825 | "integrity": "sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==", 826 | "cpu": [ 827 | "arm64" 828 | ], 829 | "optional": true, 830 | "os": [ 831 | "linux" 832 | ], 833 | "engines": { 834 | "node": ">= 10" 835 | } 836 | }, 837 | "node_modules/@next/swc-linux-arm64-musl": { 838 | "version": "13.4.19", 839 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.19.tgz", 840 | "integrity": "sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==", 841 | "cpu": [ 842 | "arm64" 843 | ], 844 | "optional": true, 845 | "os": [ 846 | "linux" 847 | ], 848 | "engines": { 849 | "node": ">= 10" 850 | } 851 | }, 852 | "node_modules/@next/swc-linux-x64-gnu": { 853 | "version": "13.4.19", 854 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.19.tgz", 855 | "integrity": "sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==", 856 | "cpu": [ 857 | "x64" 858 | ], 859 | "optional": true, 860 | "os": [ 861 | "linux" 862 | ], 863 | "engines": { 864 | "node": ">= 10" 865 | } 866 | }, 867 | "node_modules/@next/swc-linux-x64-musl": { 868 | "version": "13.4.19", 869 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.19.tgz", 870 | "integrity": "sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==", 871 | "cpu": [ 872 | "x64" 873 | ], 874 | "optional": true, 875 | "os": [ 876 | "linux" 877 | ], 878 | "engines": { 879 | "node": ">= 10" 880 | } 881 | }, 882 | "node_modules/@next/swc-win32-arm64-msvc": { 883 | "version": "13.4.19", 884 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.19.tgz", 885 | "integrity": "sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==", 886 | "cpu": [ 887 | "arm64" 888 | ], 889 | "optional": true, 890 | "os": [ 891 | "win32" 892 | ], 893 | "engines": { 894 | "node": ">= 10" 895 | } 896 | }, 897 | "node_modules/@next/swc-win32-ia32-msvc": { 898 | "version": "13.4.19", 899 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.19.tgz", 900 | "integrity": "sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==", 901 | "cpu": [ 902 | "ia32" 903 | ], 904 | "optional": true, 905 | "os": [ 906 | "win32" 907 | ], 908 | "engines": { 909 | "node": ">= 10" 910 | } 911 | }, 912 | "node_modules/@next/swc-win32-x64-msvc": { 913 | "version": "13.4.19", 914 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.19.tgz", 915 | "integrity": "sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==", 916 | "cpu": [ 917 | "x64" 918 | ], 919 | "optional": true, 920 | "os": [ 921 | "win32" 922 | ], 923 | "engines": { 924 | "node": ">= 10" 925 | } 926 | }, 927 | "node_modules/@smithy/abort-controller": { 928 | "version": "2.0.6", 929 | "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.6.tgz", 930 | "integrity": "sha512-4I7g0lyGUlW2onf8mD76IzU37oRWSHsQ5zlW5MjDzgg4I4J9bOK4500Gx6qOuoN7+GulAnGLe1YwyrIluzhakg==", 931 | "dependencies": { 932 | "@smithy/types": "^2.3.0", 933 | "tslib": "^2.5.0" 934 | }, 935 | "engines": { 936 | "node": ">=14.0.0" 937 | } 938 | }, 939 | "node_modules/@smithy/chunked-blob-reader": { 940 | "version": "2.0.0", 941 | "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz", 942 | "integrity": "sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==", 943 | "dependencies": { 944 | "tslib": "^2.5.0" 945 | } 946 | }, 947 | "node_modules/@smithy/chunked-blob-reader-native": { 948 | "version": "2.0.0", 949 | "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz", 950 | "integrity": "sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==", 951 | "dependencies": { 952 | "@smithy/util-base64": "^2.0.0", 953 | "tslib": "^2.5.0" 954 | } 955 | }, 956 | "node_modules/@smithy/config-resolver": { 957 | "version": "2.0.7", 958 | "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.7.tgz", 959 | "integrity": "sha512-J4J1AWiqaApC+3I9U++SuxAQ3BOoM5VoYnpFzCZcb63aLF80Zpc/nq2pFR1OsEIYyg2UYNdcBKKfHABmwo4WgQ==", 960 | "dependencies": { 961 | "@smithy/node-config-provider": "^2.0.9", 962 | "@smithy/types": "^2.3.0", 963 | "@smithy/util-config-provider": "^2.0.0", 964 | "@smithy/util-middleware": "^2.0.0", 965 | "tslib": "^2.5.0" 966 | }, 967 | "engines": { 968 | "node": ">=14.0.0" 969 | } 970 | }, 971 | "node_modules/@smithy/credential-provider-imds": { 972 | "version": "2.0.9", 973 | "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.9.tgz", 974 | "integrity": "sha512-K7WZRkHS5HZofRgK+O8W4YXXyaVexU1K6hp9vlUL/8CsnrFbZS9quyH/6hTROrYh2PuJr24yii1kc83NJdxMGQ==", 975 | "dependencies": { 976 | "@smithy/node-config-provider": "^2.0.9", 977 | "@smithy/property-provider": "^2.0.7", 978 | "@smithy/types": "^2.3.0", 979 | "@smithy/url-parser": "^2.0.6", 980 | "tslib": "^2.5.0" 981 | }, 982 | "engines": { 983 | "node": ">=14.0.0" 984 | } 985 | }, 986 | "node_modules/@smithy/eventstream-codec": { 987 | "version": "2.0.6", 988 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.6.tgz", 989 | "integrity": "sha512-J9xL82mlYRUMXFnB9VaThXkD7z2JLr52FIVZMoQQ1dxZG5ub+NOGmzaTTZC/cMmKXI/nwCoFuwDWCTjwQhYhQA==", 990 | "dependencies": { 991 | "@aws-crypto/crc32": "3.0.0", 992 | "@smithy/types": "^2.3.0", 993 | "@smithy/util-hex-encoding": "^2.0.0", 994 | "tslib": "^2.5.0" 995 | } 996 | }, 997 | "node_modules/@smithy/eventstream-serde-browser": { 998 | "version": "2.0.6", 999 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.6.tgz", 1000 | "integrity": "sha512-cNJqAkmArHytV0CjBka3CKnU/J6zNlOZynvo2Txj98a0cxKeug8gL6SQTpoTyGk+M4LicjcrzQtDs06mU8U0Ag==", 1001 | "dependencies": { 1002 | "@smithy/eventstream-serde-universal": "^2.0.6", 1003 | "@smithy/types": "^2.3.0", 1004 | "tslib": "^2.5.0" 1005 | }, 1006 | "engines": { 1007 | "node": ">=14.0.0" 1008 | } 1009 | }, 1010 | "node_modules/@smithy/eventstream-serde-config-resolver": { 1011 | "version": "2.0.6", 1012 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.6.tgz", 1013 | "integrity": "sha512-jODu0MWaP06kzBMUtSd4Ga3S2DnTp3tfjPgdjaw9K/Z4yI7J9rUB73aNGo6ZxxH/vl/k66b5NZJ/3O1AzZ4ggw==", 1014 | "dependencies": { 1015 | "@smithy/types": "^2.3.0", 1016 | "tslib": "^2.5.0" 1017 | }, 1018 | "engines": { 1019 | "node": ">=14.0.0" 1020 | } 1021 | }, 1022 | "node_modules/@smithy/eventstream-serde-node": { 1023 | "version": "2.0.6", 1024 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.6.tgz", 1025 | "integrity": "sha512-ua7ok1g16p7OGAVZntn1l3wegN8RtsyPBl9ebqEDeSxdm+iuEfkAS1E/JFs6S6UBfr8Z0tbql5jTT9iVwIFGGA==", 1026 | "dependencies": { 1027 | "@smithy/eventstream-serde-universal": "^2.0.6", 1028 | "@smithy/types": "^2.3.0", 1029 | "tslib": "^2.5.0" 1030 | }, 1031 | "engines": { 1032 | "node": ">=14.0.0" 1033 | } 1034 | }, 1035 | "node_modules/@smithy/eventstream-serde-universal": { 1036 | "version": "2.0.6", 1037 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.6.tgz", 1038 | "integrity": "sha512-bH1TElelS8tlqll6cJAWKM11Es+pE9htRzjiiFG1+xcyKaM90UFNRX5oKZIrJugZlmP37pvfRwSJ/3ZaaqSBIA==", 1039 | "dependencies": { 1040 | "@smithy/eventstream-codec": "^2.0.6", 1041 | "@smithy/types": "^2.3.0", 1042 | "tslib": "^2.5.0" 1043 | }, 1044 | "engines": { 1045 | "node": ">=14.0.0" 1046 | } 1047 | }, 1048 | "node_modules/@smithy/fetch-http-handler": { 1049 | "version": "2.1.2", 1050 | "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.2.tgz", 1051 | "integrity": "sha512-3Gm3pQm4viUPU+e7KkRScS9t5phBxSNRS8rQSZ+HeCwK/busrX0/2HJZiwLvGblqPqi1laJB0lD18AdiOioJww==", 1052 | "dependencies": { 1053 | "@smithy/protocol-http": "^3.0.2", 1054 | "@smithy/querystring-builder": "^2.0.6", 1055 | "@smithy/types": "^2.3.0", 1056 | "@smithy/util-base64": "^2.0.0", 1057 | "tslib": "^2.5.0" 1058 | } 1059 | }, 1060 | "node_modules/@smithy/hash-blob-browser": { 1061 | "version": "2.0.6", 1062 | "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.6.tgz", 1063 | "integrity": "sha512-zmJCRb80WDthCZqQ9LiKeFUEmyPM9WUcd0jYa7tlU3p0LsDnaFKuUS+MT0uJehPGyUEicbi1KBdUmtoqEAQr1A==", 1064 | "dependencies": { 1065 | "@smithy/chunked-blob-reader": "^2.0.0", 1066 | "@smithy/chunked-blob-reader-native": "^2.0.0", 1067 | "@smithy/types": "^2.3.0", 1068 | "tslib": "^2.5.0" 1069 | } 1070 | }, 1071 | "node_modules/@smithy/hash-node": { 1072 | "version": "2.0.6", 1073 | "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.6.tgz", 1074 | "integrity": "sha512-xz7fzFxSzxohKGGyKPbLReRrY01JOZgRDHIXSks3PxQxG9c8PJMa5nUw0stH8UOySUgkofmMy0n7vTUsF5Mdqg==", 1075 | "dependencies": { 1076 | "@smithy/types": "^2.3.0", 1077 | "@smithy/util-buffer-from": "^2.0.0", 1078 | "@smithy/util-utf8": "^2.0.0", 1079 | "tslib": "^2.5.0" 1080 | }, 1081 | "engines": { 1082 | "node": ">=14.0.0" 1083 | } 1084 | }, 1085 | "node_modules/@smithy/hash-stream-node": { 1086 | "version": "2.0.6", 1087 | "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.6.tgz", 1088 | "integrity": "sha512-BWtWJ8Ppc8z+Rz9XBu4Hcl+pC+9BKV5GvbQpXZf4IsQX6oTwqo0qJK7Lwe5mYM0hRnqgwjn2mhQ303fIRN7AMw==", 1089 | "dependencies": { 1090 | "@smithy/types": "^2.3.0", 1091 | "@smithy/util-utf8": "^2.0.0", 1092 | "tslib": "^2.5.0" 1093 | }, 1094 | "engines": { 1095 | "node": ">=14.0.0" 1096 | } 1097 | }, 1098 | "node_modules/@smithy/invalid-dependency": { 1099 | "version": "2.0.6", 1100 | "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.6.tgz", 1101 | "integrity": "sha512-L5MUyl9mzawIvBxr0Hg3J/Q5qZFXKcBgMk0PacfK3Mthp4WAR6h7iMxdSQ23Q7X/kxOrpZuoYEdh1BWLKbDc8Q==", 1102 | "dependencies": { 1103 | "@smithy/types": "^2.3.0", 1104 | "tslib": "^2.5.0" 1105 | } 1106 | }, 1107 | "node_modules/@smithy/is-array-buffer": { 1108 | "version": "2.0.0", 1109 | "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", 1110 | "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", 1111 | "dependencies": { 1112 | "tslib": "^2.5.0" 1113 | }, 1114 | "engines": { 1115 | "node": ">=14.0.0" 1116 | } 1117 | }, 1118 | "node_modules/@smithy/md5-js": { 1119 | "version": "2.0.6", 1120 | "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.6.tgz", 1121 | "integrity": "sha512-Ek2qSFFICJa2E0RRVsIkQ6c1jeJTESwF24SMh3liKFNbr2Ax4uJiWsLhDBDQFOhJwjp1mbC4lN85isfGS+KhQg==", 1122 | "dependencies": { 1123 | "@smithy/types": "^2.3.0", 1124 | "@smithy/util-utf8": "^2.0.0", 1125 | "tslib": "^2.5.0" 1126 | } 1127 | }, 1128 | "node_modules/@smithy/middleware-content-length": { 1129 | "version": "2.0.8", 1130 | "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.8.tgz", 1131 | "integrity": "sha512-fHJFsscHXrYhUSWMFJNXfsZW8KsyhWQfBgU3b0nvDfpm+NAeQLqKYNhywGrDwZQc1k+lt7Fw9faAquhNPxTZRA==", 1132 | "dependencies": { 1133 | "@smithy/protocol-http": "^3.0.2", 1134 | "@smithy/types": "^2.3.0", 1135 | "tslib": "^2.5.0" 1136 | }, 1137 | "engines": { 1138 | "node": ">=14.0.0" 1139 | } 1140 | }, 1141 | "node_modules/@smithy/middleware-endpoint": { 1142 | "version": "2.0.6", 1143 | "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.6.tgz", 1144 | "integrity": "sha512-MuSPPtEHFal/M77tR3ffLsdOfX29IZpA990nGuoPj5zQnAYrA4PYBGoqqrASQKm8Xb3C0NwuYzOATT7WX4f5Pg==", 1145 | "dependencies": { 1146 | "@smithy/middleware-serde": "^2.0.6", 1147 | "@smithy/types": "^2.3.0", 1148 | "@smithy/url-parser": "^2.0.6", 1149 | "@smithy/util-middleware": "^2.0.0", 1150 | "tslib": "^2.5.0" 1151 | }, 1152 | "engines": { 1153 | "node": ">=14.0.0" 1154 | } 1155 | }, 1156 | "node_modules/@smithy/middleware-retry": { 1157 | "version": "2.0.9", 1158 | "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.9.tgz", 1159 | "integrity": "sha512-gneEqWj4l/ZjHdZPk0BFMXoTalRArdQ8i579/KqJgBAc6Ux5vnR/SSppkMCkj2kOQYwdypvzSPeqEW3ZrvIg6g==", 1160 | "dependencies": { 1161 | "@smithy/node-config-provider": "^2.0.9", 1162 | "@smithy/protocol-http": "^3.0.2", 1163 | "@smithy/service-error-classification": "^2.0.0", 1164 | "@smithy/types": "^2.3.0", 1165 | "@smithy/util-middleware": "^2.0.0", 1166 | "@smithy/util-retry": "^2.0.0", 1167 | "tslib": "^2.5.0", 1168 | "uuid": "^8.3.2" 1169 | }, 1170 | "engines": { 1171 | "node": ">=14.0.0" 1172 | } 1173 | }, 1174 | "node_modules/@smithy/middleware-serde": { 1175 | "version": "2.0.6", 1176 | "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.6.tgz", 1177 | "integrity": "sha512-8/GODBngYbrS28CMZtaHIL4R9rLNSQ/zgb+N1OAZ02NwBUawlnLDcatve9YRzhJC/IWz0/pt+WimJZaO1sGcig==", 1178 | "dependencies": { 1179 | "@smithy/types": "^2.3.0", 1180 | "tslib": "^2.5.0" 1181 | }, 1182 | "engines": { 1183 | "node": ">=14.0.0" 1184 | } 1185 | }, 1186 | "node_modules/@smithy/middleware-stack": { 1187 | "version": "2.0.0", 1188 | "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz", 1189 | "integrity": "sha512-31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ==", 1190 | "dependencies": { 1191 | "tslib": "^2.5.0" 1192 | }, 1193 | "engines": { 1194 | "node": ">=14.0.0" 1195 | } 1196 | }, 1197 | "node_modules/@smithy/node-config-provider": { 1198 | "version": "2.0.9", 1199 | "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.9.tgz", 1200 | "integrity": "sha512-TlSPbCwtT/jgNnmPQqKuCR5CFN8UIrCCHRrgUfs3NqRMuaLLeP8TPe1fSKq2J8h1M/jd4BF853gneles0gWevg==", 1201 | "dependencies": { 1202 | "@smithy/property-provider": "^2.0.7", 1203 | "@smithy/shared-ini-file-loader": "^2.0.8", 1204 | "@smithy/types": "^2.3.0", 1205 | "tslib": "^2.5.0" 1206 | }, 1207 | "engines": { 1208 | "node": ">=14.0.0" 1209 | } 1210 | }, 1211 | "node_modules/@smithy/node-http-handler": { 1212 | "version": "2.1.2", 1213 | "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.2.tgz", 1214 | "integrity": "sha512-PdEEDCShuM8zxGoaRxmGB/1ikB8oeqz+ZAF9VIA8FCP3E59j8zDTF+wCELoWd1Y6gtxr+RcTAg5sA8nvn5qH/w==", 1215 | "dependencies": { 1216 | "@smithy/abort-controller": "^2.0.6", 1217 | "@smithy/protocol-http": "^3.0.2", 1218 | "@smithy/querystring-builder": "^2.0.6", 1219 | "@smithy/types": "^2.3.0", 1220 | "tslib": "^2.5.0" 1221 | }, 1222 | "engines": { 1223 | "node": ">=14.0.0" 1224 | } 1225 | }, 1226 | "node_modules/@smithy/property-provider": { 1227 | "version": "2.0.7", 1228 | "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.7.tgz", 1229 | "integrity": "sha512-XT8Tl7YNxM8tCtGqy7v7DSf6PxyXaPE9cdA/Yj4dEw2b05V3RrPqsP+t5XJiZu0yIsQ7pdeYZWv2sSEWVjNeAg==", 1230 | "dependencies": { 1231 | "@smithy/types": "^2.3.0", 1232 | "tslib": "^2.5.0" 1233 | }, 1234 | "engines": { 1235 | "node": ">=14.0.0" 1236 | } 1237 | }, 1238 | "node_modules/@smithy/protocol-http": { 1239 | "version": "3.0.2", 1240 | "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.2.tgz", 1241 | "integrity": "sha512-LUOWCPRihvJBkdSs+ivK9m1f/rMfF3n9Zpzg8qdry2eIG4HQqqLBMWQyF9bgk7JhsrrOa3//jJKhXzvL7wL5Xw==", 1242 | "dependencies": { 1243 | "@smithy/types": "^2.3.0", 1244 | "tslib": "^2.5.0" 1245 | }, 1246 | "engines": { 1247 | "node": ">=14.0.0" 1248 | } 1249 | }, 1250 | "node_modules/@smithy/querystring-builder": { 1251 | "version": "2.0.6", 1252 | "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.6.tgz", 1253 | "integrity": "sha512-HnU00shCGoV8vKJZTiNBkNvR9NogU3NIUaVMAGJPSqNGJj3psWo+TUrC0BVCDcwiCljXwXCFGJqIcsWtClrktQ==", 1254 | "dependencies": { 1255 | "@smithy/types": "^2.3.0", 1256 | "@smithy/util-uri-escape": "^2.0.0", 1257 | "tslib": "^2.5.0" 1258 | }, 1259 | "engines": { 1260 | "node": ">=14.0.0" 1261 | } 1262 | }, 1263 | "node_modules/@smithy/querystring-parser": { 1264 | "version": "2.0.6", 1265 | "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.6.tgz", 1266 | "integrity": "sha512-i4LKoXHP7pTFAPjLIJyQXYOhWokbcFha3WWsX74sAKmuluv0XM2cxONZoFxwEzmWhsNyM6buSwJSZXyPiec0AQ==", 1267 | "dependencies": { 1268 | "@smithy/types": "^2.3.0", 1269 | "tslib": "^2.5.0" 1270 | }, 1271 | "engines": { 1272 | "node": ">=14.0.0" 1273 | } 1274 | }, 1275 | "node_modules/@smithy/service-error-classification": { 1276 | "version": "2.0.0", 1277 | "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.0.tgz", 1278 | "integrity": "sha512-2z5Nafy1O0cTf69wKyNjGW/sNVMiqDnb4jgwfMG8ye8KnFJ5qmJpDccwIbJNhXIfbsxTg9SEec2oe1cexhMJvw==", 1279 | "engines": { 1280 | "node": ">=14.0.0" 1281 | } 1282 | }, 1283 | "node_modules/@smithy/shared-ini-file-loader": { 1284 | "version": "2.0.8", 1285 | "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.8.tgz", 1286 | "integrity": "sha512-4u+V+Dv7JGpJ0tppB5rxCem7WhdFux950z4cGPhV0kHTPkKe8DDgINzOlVa2RBu5dI33D02OBJcxFjhW4FPORg==", 1287 | "dependencies": { 1288 | "@smithy/types": "^2.3.0", 1289 | "tslib": "^2.5.0" 1290 | }, 1291 | "engines": { 1292 | "node": ">=14.0.0" 1293 | } 1294 | }, 1295 | "node_modules/@smithy/signature-v4": { 1296 | "version": "2.0.6", 1297 | "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.6.tgz", 1298 | "integrity": "sha512-4zNTi8w4sky07YKq7oYucZt4ogY00IEaS1NFDXxmCN5V/ywE0WiK+WMim+8wtYQmB0qy3oExZR4LoCAml6j/rA==", 1299 | "dependencies": { 1300 | "@smithy/eventstream-codec": "^2.0.6", 1301 | "@smithy/is-array-buffer": "^2.0.0", 1302 | "@smithy/types": "^2.3.0", 1303 | "@smithy/util-hex-encoding": "^2.0.0", 1304 | "@smithy/util-middleware": "^2.0.0", 1305 | "@smithy/util-uri-escape": "^2.0.0", 1306 | "@smithy/util-utf8": "^2.0.0", 1307 | "tslib": "^2.5.0" 1308 | }, 1309 | "engines": { 1310 | "node": ">=14.0.0" 1311 | } 1312 | }, 1313 | "node_modules/@smithy/smithy-client": { 1314 | "version": "2.1.3", 1315 | "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.3.tgz", 1316 | "integrity": "sha512-nSMMp2AKqcG/ruzCY01ogrMdbq/WS1cvGStTsw7yd6bTpp/bGtlOgXvy3h7e0zP7w2DH1AtvIwzYBD6ejZePsQ==", 1317 | "dependencies": { 1318 | "@smithy/middleware-stack": "^2.0.0", 1319 | "@smithy/types": "^2.3.0", 1320 | "@smithy/util-stream": "^2.0.9", 1321 | "tslib": "^2.5.0" 1322 | }, 1323 | "engines": { 1324 | "node": ">=14.0.0" 1325 | } 1326 | }, 1327 | "node_modules/@smithy/types": { 1328 | "version": "2.3.0", 1329 | "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.0.tgz", 1330 | "integrity": "sha512-pJce3rd39MElkV57UTPAoSYAApjQLELUxjU5adHNLYk9gnPvyIGbJNJTZVVFu00BrgZH3W/cQe8QuFcknDyodQ==", 1331 | "dependencies": { 1332 | "tslib": "^2.5.0" 1333 | }, 1334 | "engines": { 1335 | "node": ">=14.0.0" 1336 | } 1337 | }, 1338 | "node_modules/@smithy/url-parser": { 1339 | "version": "2.0.6", 1340 | "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.6.tgz", 1341 | "integrity": "sha512-9i6j5QW6bapHZ4rtkXOAm0hOUG1+5IVdVJXNSUTcNskwJchZH5IQuDNPCbgUi/u2P8EZazKt4wXT51QxOXCz1A==", 1342 | "dependencies": { 1343 | "@smithy/querystring-parser": "^2.0.6", 1344 | "@smithy/types": "^2.3.0", 1345 | "tslib": "^2.5.0" 1346 | } 1347 | }, 1348 | "node_modules/@smithy/util-base64": { 1349 | "version": "2.0.0", 1350 | "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", 1351 | "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", 1352 | "dependencies": { 1353 | "@smithy/util-buffer-from": "^2.0.0", 1354 | "tslib": "^2.5.0" 1355 | }, 1356 | "engines": { 1357 | "node": ">=14.0.0" 1358 | } 1359 | }, 1360 | "node_modules/@smithy/util-body-length-browser": { 1361 | "version": "2.0.0", 1362 | "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", 1363 | "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", 1364 | "dependencies": { 1365 | "tslib": "^2.5.0" 1366 | } 1367 | }, 1368 | "node_modules/@smithy/util-body-length-node": { 1369 | "version": "2.1.0", 1370 | "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", 1371 | "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", 1372 | "dependencies": { 1373 | "tslib": "^2.5.0" 1374 | }, 1375 | "engines": { 1376 | "node": ">=14.0.0" 1377 | } 1378 | }, 1379 | "node_modules/@smithy/util-buffer-from": { 1380 | "version": "2.0.0", 1381 | "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", 1382 | "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", 1383 | "dependencies": { 1384 | "@smithy/is-array-buffer": "^2.0.0", 1385 | "tslib": "^2.5.0" 1386 | }, 1387 | "engines": { 1388 | "node": ">=14.0.0" 1389 | } 1390 | }, 1391 | "node_modules/@smithy/util-config-provider": { 1392 | "version": "2.0.0", 1393 | "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", 1394 | "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", 1395 | "dependencies": { 1396 | "tslib": "^2.5.0" 1397 | }, 1398 | "engines": { 1399 | "node": ">=14.0.0" 1400 | } 1401 | }, 1402 | "node_modules/@smithy/util-defaults-mode-browser": { 1403 | "version": "2.0.7", 1404 | "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.7.tgz", 1405 | "integrity": "sha512-s1caKxC7Y87Q72Goll//clZs2WNBfG9WtFDWVRS+Qgk147YPCOUYtkpuD0XZAh/vbayObFz5tQ1fiX4G19HSCA==", 1406 | "dependencies": { 1407 | "@smithy/property-provider": "^2.0.7", 1408 | "@smithy/types": "^2.3.0", 1409 | "bowser": "^2.11.0", 1410 | "tslib": "^2.5.0" 1411 | }, 1412 | "engines": { 1413 | "node": ">= 10.0.0" 1414 | } 1415 | }, 1416 | "node_modules/@smithy/util-defaults-mode-node": { 1417 | "version": "2.0.9", 1418 | "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.9.tgz", 1419 | "integrity": "sha512-HlV4iNL3/PgPpmDGs0+XrAKtwFQ8rOs5P2y5Dye8dUYaJauadlzHRrNKk7wH2aBYswvT2HM+PIgXamvrE7xbcw==", 1420 | "dependencies": { 1421 | "@smithy/config-resolver": "^2.0.7", 1422 | "@smithy/credential-provider-imds": "^2.0.9", 1423 | "@smithy/node-config-provider": "^2.0.9", 1424 | "@smithy/property-provider": "^2.0.7", 1425 | "@smithy/types": "^2.3.0", 1426 | "tslib": "^2.5.0" 1427 | }, 1428 | "engines": { 1429 | "node": ">= 10.0.0" 1430 | } 1431 | }, 1432 | "node_modules/@smithy/util-hex-encoding": { 1433 | "version": "2.0.0", 1434 | "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", 1435 | "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", 1436 | "dependencies": { 1437 | "tslib": "^2.5.0" 1438 | }, 1439 | "engines": { 1440 | "node": ">=14.0.0" 1441 | } 1442 | }, 1443 | "node_modules/@smithy/util-middleware": { 1444 | "version": "2.0.0", 1445 | "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.0.tgz", 1446 | "integrity": "sha512-eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA==", 1447 | "dependencies": { 1448 | "tslib": "^2.5.0" 1449 | }, 1450 | "engines": { 1451 | "node": ">=14.0.0" 1452 | } 1453 | }, 1454 | "node_modules/@smithy/util-retry": { 1455 | "version": "2.0.0", 1456 | "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.0.tgz", 1457 | "integrity": "sha512-/dvJ8afrElasuiiIttRJeoS2sy8YXpksQwiM/TcepqdRVp7u4ejd9C4IQURHNjlfPUT7Y6lCDSa2zQJbdHhVTg==", 1458 | "dependencies": { 1459 | "@smithy/service-error-classification": "^2.0.0", 1460 | "tslib": "^2.5.0" 1461 | }, 1462 | "engines": { 1463 | "node": ">= 14.0.0" 1464 | } 1465 | }, 1466 | "node_modules/@smithy/util-stream": { 1467 | "version": "2.0.9", 1468 | "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.9.tgz", 1469 | "integrity": "sha512-Fn2/3IMwqu0l2hOC7K3bbtSqFEJ6nOzMLoPVIhuH84yw/95itNkFBwVbIIiAfDaout0ZfZ26+5ch86E2q3avww==", 1470 | "dependencies": { 1471 | "@smithy/fetch-http-handler": "^2.1.2", 1472 | "@smithy/node-http-handler": "^2.1.2", 1473 | "@smithy/types": "^2.3.0", 1474 | "@smithy/util-base64": "^2.0.0", 1475 | "@smithy/util-buffer-from": "^2.0.0", 1476 | "@smithy/util-hex-encoding": "^2.0.0", 1477 | "@smithy/util-utf8": "^2.0.0", 1478 | "tslib": "^2.5.0" 1479 | }, 1480 | "engines": { 1481 | "node": ">=14.0.0" 1482 | } 1483 | }, 1484 | "node_modules/@smithy/util-uri-escape": { 1485 | "version": "2.0.0", 1486 | "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", 1487 | "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", 1488 | "dependencies": { 1489 | "tslib": "^2.5.0" 1490 | }, 1491 | "engines": { 1492 | "node": ">=14.0.0" 1493 | } 1494 | }, 1495 | "node_modules/@smithy/util-utf8": { 1496 | "version": "2.0.0", 1497 | "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", 1498 | "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", 1499 | "dependencies": { 1500 | "@smithy/util-buffer-from": "^2.0.0", 1501 | "tslib": "^2.5.0" 1502 | }, 1503 | "engines": { 1504 | "node": ">=14.0.0" 1505 | } 1506 | }, 1507 | "node_modules/@smithy/util-waiter": { 1508 | "version": "2.0.6", 1509 | "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.6.tgz", 1510 | "integrity": "sha512-wjxvKB4XSfgpOg3lr4RulnVhd21fMMC4CPARBwrSN7+3U28fwOifv8f7T+Ibay9DAQTj9qXxmd8ag6WXBRgNhg==", 1511 | "dependencies": { 1512 | "@smithy/abort-controller": "^2.0.6", 1513 | "@smithy/types": "^2.3.0", 1514 | "tslib": "^2.5.0" 1515 | }, 1516 | "engines": { 1517 | "node": ">=14.0.0" 1518 | } 1519 | }, 1520 | "node_modules/@swc/helpers": { 1521 | "version": "0.5.1", 1522 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", 1523 | "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", 1524 | "dependencies": { 1525 | "tslib": "^2.4.0" 1526 | } 1527 | }, 1528 | "node_modules/@transloadit/prettier-bytes": { 1529 | "version": "0.0.9", 1530 | "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.9.tgz", 1531 | "integrity": "sha512-pCvdmea/F3Tn4hAtHqNXmjcixSaroJJ+L3STXlYJdir1g1m2mRQpWbN8a4SvgQtaw2930Ckhdx8qXdXBFMKbAA==" 1532 | }, 1533 | "node_modules/@types/node": { 1534 | "version": "20.6.0", 1535 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", 1536 | "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==", 1537 | "dev": true 1538 | }, 1539 | "node_modules/@types/prop-types": { 1540 | "version": "15.7.5", 1541 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 1542 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 1543 | "dev": true 1544 | }, 1545 | "node_modules/@types/react": { 1546 | "version": "18.2.21", 1547 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", 1548 | "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", 1549 | "dev": true, 1550 | "dependencies": { 1551 | "@types/prop-types": "*", 1552 | "@types/scheduler": "*", 1553 | "csstype": "^3.0.2" 1554 | } 1555 | }, 1556 | "node_modules/@types/scheduler": { 1557 | "version": "0.16.3", 1558 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 1559 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", 1560 | "dev": true 1561 | }, 1562 | "node_modules/@uppy/aws-s3": { 1563 | "version": "3.3.0", 1564 | "resolved": "https://registry.npmjs.org/@uppy/aws-s3/-/aws-s3-3.3.0.tgz", 1565 | "integrity": "sha512-M+dzWWdCZHBaauZTitLHA/ciDU8FMJ310fyTZ10PiBOPCyw+aGDtfzoyYVmaDHf5jkw/mIOgyQjO8VM+pTjAzA==", 1566 | "dependencies": { 1567 | "@uppy/aws-s3-multipart": "^3.6.0", 1568 | "@uppy/companion-client": "^3.4.0", 1569 | "@uppy/utils": "^5.5.0", 1570 | "@uppy/xhr-upload": "^3.4.0", 1571 | "nanoid": "^4.0.0" 1572 | }, 1573 | "peerDependencies": { 1574 | "@uppy/core": "^3.5.0" 1575 | } 1576 | }, 1577 | "node_modules/@uppy/aws-s3-multipart": { 1578 | "version": "3.6.0", 1579 | "resolved": "https://registry.npmjs.org/@uppy/aws-s3-multipart/-/aws-s3-multipart-3.6.0.tgz", 1580 | "integrity": "sha512-4TYOptKsofNks11ktRbrGaPvEapd3hj+IIatcAxjJ0RX4SwwjMbvSNKzS3PBbwLnpVfAIFHA/n5S9EgKocVmYg==", 1581 | "dependencies": { 1582 | "@uppy/companion-client": "^3.4.0", 1583 | "@uppy/utils": "^5.5.0" 1584 | }, 1585 | "peerDependencies": { 1586 | "@uppy/core": "^3.5.0" 1587 | } 1588 | }, 1589 | "node_modules/@uppy/aws-s3/node_modules/nanoid": { 1590 | "version": "4.0.2", 1591 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 1592 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 1593 | "funding": [ 1594 | { 1595 | "type": "github", 1596 | "url": "https://github.com/sponsors/ai" 1597 | } 1598 | ], 1599 | "bin": { 1600 | "nanoid": "bin/nanoid.js" 1601 | }, 1602 | "engines": { 1603 | "node": "^14 || ^16 || >=18" 1604 | } 1605 | }, 1606 | "node_modules/@uppy/companion-client": { 1607 | "version": "3.4.0", 1608 | "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-3.4.0.tgz", 1609 | "integrity": "sha512-mGm3I/VdlaXvvYnbkidQDk3ttPY7VjvRwoHdXaAOHsIwPZBFUlCRggw84TQN9NejiasqTK/U7xvARDunjVhGBA==", 1610 | "dependencies": { 1611 | "@uppy/utils": "^5.5.0", 1612 | "namespace-emitter": "^2.0.1" 1613 | } 1614 | }, 1615 | "node_modules/@uppy/core": { 1616 | "version": "3.5.0", 1617 | "resolved": "https://registry.npmjs.org/@uppy/core/-/core-3.5.0.tgz", 1618 | "integrity": "sha512-Ujm3VrFkqCNnsqvjZL1RQhIdccbjUxfLJW6EhirYcOLr1kCUjhgKSE/iOJnC2eadohHwOWFTx+X8e9bhH6HT7g==", 1619 | "dependencies": { 1620 | "@transloadit/prettier-bytes": "0.0.9", 1621 | "@uppy/store-default": "^3.0.3", 1622 | "@uppy/utils": "^5.5.0", 1623 | "lodash": "^4.17.21", 1624 | "mime-match": "^1.0.2", 1625 | "namespace-emitter": "^2.0.1", 1626 | "nanoid": "^4.0.0", 1627 | "preact": "^10.5.13" 1628 | } 1629 | }, 1630 | "node_modules/@uppy/core/node_modules/nanoid": { 1631 | "version": "4.0.2", 1632 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 1633 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 1634 | "funding": [ 1635 | { 1636 | "type": "github", 1637 | "url": "https://github.com/sponsors/ai" 1638 | } 1639 | ], 1640 | "bin": { 1641 | "nanoid": "bin/nanoid.js" 1642 | }, 1643 | "engines": { 1644 | "node": "^14 || ^16 || >=18" 1645 | } 1646 | }, 1647 | "node_modules/@uppy/dashboard": { 1648 | "version": "3.5.2", 1649 | "resolved": "https://registry.npmjs.org/@uppy/dashboard/-/dashboard-3.5.2.tgz", 1650 | "integrity": "sha512-6CWhqqm93Uo2QpwYrDRCVrpxStCCK359Wr8CvaOi14BJrcE8JyPczXbrzHMzbjKt2Rz8G3TzQUa1r9nZkylrGQ==", 1651 | "dependencies": { 1652 | "@transloadit/prettier-bytes": "0.0.7", 1653 | "@uppy/informer": "^3.0.3", 1654 | "@uppy/provider-views": "^3.5.0", 1655 | "@uppy/status-bar": "^3.2.4", 1656 | "@uppy/thumbnail-generator": "^3.0.4", 1657 | "@uppy/utils": "^5.5.0", 1658 | "classnames": "^2.2.6", 1659 | "is-shallow-equal": "^1.0.1", 1660 | "lodash": "^4.17.21", 1661 | "memoize-one": "^6.0.0", 1662 | "nanoid": "^4.0.0", 1663 | "preact": "^10.5.13" 1664 | }, 1665 | "peerDependencies": { 1666 | "@uppy/core": "^3.5.0" 1667 | } 1668 | }, 1669 | "node_modules/@uppy/dashboard/node_modules/@transloadit/prettier-bytes": { 1670 | "version": "0.0.7", 1671 | "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", 1672 | "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" 1673 | }, 1674 | "node_modules/@uppy/dashboard/node_modules/nanoid": { 1675 | "version": "4.0.2", 1676 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 1677 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 1678 | "funding": [ 1679 | { 1680 | "type": "github", 1681 | "url": "https://github.com/sponsors/ai" 1682 | } 1683 | ], 1684 | "bin": { 1685 | "nanoid": "bin/nanoid.js" 1686 | }, 1687 | "engines": { 1688 | "node": "^14 || ^16 || >=18" 1689 | } 1690 | }, 1691 | "node_modules/@uppy/drag-drop": { 1692 | "version": "3.0.3", 1693 | "resolved": "https://registry.npmjs.org/@uppy/drag-drop/-/drag-drop-3.0.3.tgz", 1694 | "integrity": "sha512-0bCgQKxg+9vkxQipTgrX9yQIuK9a0hZrkipm1+Ynq6jTeig49b7II1bWYnoKdiYhi6nRE4UnDJf4z09yCAU7rA==", 1695 | "dependencies": { 1696 | "@uppy/utils": "^5.4.3", 1697 | "preact": "^10.5.13" 1698 | }, 1699 | "peerDependencies": { 1700 | "@uppy/core": "^3.4.0" 1701 | } 1702 | }, 1703 | "node_modules/@uppy/file-input": { 1704 | "version": "3.0.3", 1705 | "resolved": "https://registry.npmjs.org/@uppy/file-input/-/file-input-3.0.3.tgz", 1706 | "integrity": "sha512-tYmbQIWjNPnKFFzBmZcNHFyMkfPAPSOrse+3qnmSWYzGKWaZfKP1zM0MiABZO/AH5X6hhLIQDRY8TsyiPfmJ9w==", 1707 | "dependencies": { 1708 | "@uppy/utils": "^5.4.3", 1709 | "preact": "^10.5.13" 1710 | }, 1711 | "peerDependencies": { 1712 | "@uppy/core": "^3.4.0" 1713 | } 1714 | }, 1715 | "node_modules/@uppy/informer": { 1716 | "version": "3.0.3", 1717 | "resolved": "https://registry.npmjs.org/@uppy/informer/-/informer-3.0.3.tgz", 1718 | "integrity": "sha512-jMMlZ0bCJ2ruJJ0LMl7pJrM/b0e9vjVEHvYYdQghnRSRDSMONcTJXEqNZ0Lu4x7OZR1SGvqqchFk7n3vAsuERw==", 1719 | "dependencies": { 1720 | "@uppy/utils": "^5.4.3", 1721 | "preact": "^10.5.13" 1722 | }, 1723 | "peerDependencies": { 1724 | "@uppy/core": "^3.4.0" 1725 | } 1726 | }, 1727 | "node_modules/@uppy/progress-bar": { 1728 | "version": "3.0.3", 1729 | "resolved": "https://registry.npmjs.org/@uppy/progress-bar/-/progress-bar-3.0.3.tgz", 1730 | "integrity": "sha512-s0iRCnDQ5zcyk8ZyTF46W7Kkf9S1hH1oj2+GBYDdFzc72tgrx49arHs3YobkH7X9whhc/qTskLe32cyC9oe6ZQ==", 1731 | "dependencies": { 1732 | "@uppy/utils": "^5.4.3", 1733 | "preact": "^10.5.13" 1734 | }, 1735 | "peerDependencies": { 1736 | "@uppy/core": "^3.4.0" 1737 | } 1738 | }, 1739 | "node_modules/@uppy/provider-views": { 1740 | "version": "3.5.0", 1741 | "resolved": "https://registry.npmjs.org/@uppy/provider-views/-/provider-views-3.5.0.tgz", 1742 | "integrity": "sha512-xSp5xQ6NsPLS2XJdsdBQCLgQELEd0BvVM2R34/XFyGTSqeA4NJKHfM6kSKwjW/jkj26CyFN5nth6CGeNaaKQ+w==", 1743 | "dependencies": { 1744 | "@uppy/utils": "^5.4.3", 1745 | "classnames": "^2.2.6", 1746 | "nanoid": "^4.0.0", 1747 | "p-queue": "^7.3.4", 1748 | "preact": "^10.5.13" 1749 | }, 1750 | "peerDependencies": { 1751 | "@uppy/core": "^3.4.0" 1752 | } 1753 | }, 1754 | "node_modules/@uppy/provider-views/node_modules/nanoid": { 1755 | "version": "4.0.2", 1756 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 1757 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 1758 | "funding": [ 1759 | { 1760 | "type": "github", 1761 | "url": "https://github.com/sponsors/ai" 1762 | } 1763 | ], 1764 | "bin": { 1765 | "nanoid": "bin/nanoid.js" 1766 | }, 1767 | "engines": { 1768 | "node": "^14 || ^16 || >=18" 1769 | } 1770 | }, 1771 | "node_modules/@uppy/react": { 1772 | "version": "3.1.3", 1773 | "resolved": "https://registry.npmjs.org/@uppy/react/-/react-3.1.3.tgz", 1774 | "integrity": "sha512-nzSpJ2PZ3lGp0wwGAxlvyIemUKE1HIITzLA9h6sUJLrweVndbXcZzxGvLm2M09l3lAE8LeybRo5Pnsn8adaH+w==", 1775 | "dependencies": { 1776 | "@uppy/utils": "^5.4.1", 1777 | "prop-types": "^15.6.1" 1778 | }, 1779 | "peerDependencies": { 1780 | "@uppy/core": "^3.3.1", 1781 | "@uppy/dashboard": "^3.4.2", 1782 | "@uppy/drag-drop": "^3.0.2", 1783 | "@uppy/file-input": "^3.0.2", 1784 | "@uppy/progress-bar": "^3.0.2", 1785 | "@uppy/status-bar": "^3.2.2", 1786 | "react": "^16.0.0 || ^17.0.0 || ^18.0.0" 1787 | }, 1788 | "peerDependenciesMeta": { 1789 | "@uppy/dashboard": { 1790 | "optional": true 1791 | }, 1792 | "@uppy/drag-drop": { 1793 | "optional": true 1794 | }, 1795 | "@uppy/file-input": { 1796 | "optional": true 1797 | }, 1798 | "@uppy/progress-bar": { 1799 | "optional": true 1800 | }, 1801 | "@uppy/status-bar": { 1802 | "optional": true 1803 | } 1804 | } 1805 | }, 1806 | "node_modules/@uppy/status-bar": { 1807 | "version": "3.2.4", 1808 | "resolved": "https://registry.npmjs.org/@uppy/status-bar/-/status-bar-3.2.4.tgz", 1809 | "integrity": "sha512-WuK0LRmz7H7iBDV0VO+iUNoXmhbyeCEAWzslX0nqhkGuMchIQprVwd80ZegACySajqcpV1RDNxdhmgtCbRn8wA==", 1810 | "dependencies": { 1811 | "@transloadit/prettier-bytes": "0.0.9", 1812 | "@uppy/utils": "^5.4.3", 1813 | "classnames": "^2.2.6", 1814 | "preact": "^10.5.13" 1815 | }, 1816 | "peerDependencies": { 1817 | "@uppy/core": "^3.4.0" 1818 | } 1819 | }, 1820 | "node_modules/@uppy/store-default": { 1821 | "version": "3.0.3", 1822 | "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-3.0.3.tgz", 1823 | "integrity": "sha512-/zlvQNj4HjkthI+7dNdj/8mOlTg1Zb1gJ/ZsOxof0g3xXD+OAwm7asRnOwpfj2dos+lExdW/zMn8XsRGsuvb6Q==" 1824 | }, 1825 | "node_modules/@uppy/thumbnail-generator": { 1826 | "version": "3.0.4", 1827 | "resolved": "https://registry.npmjs.org/@uppy/thumbnail-generator/-/thumbnail-generator-3.0.4.tgz", 1828 | "integrity": "sha512-f7E+4F6UWunX3jnV3wfL+k5zQaukKmD1z2qYbmRg5OuE9CxDJrNdAVk14KDAi79seejPJa6VVfCgGjTlIGLaRA==", 1829 | "dependencies": { 1830 | "@uppy/utils": "^5.4.3", 1831 | "exifr": "^7.0.0" 1832 | }, 1833 | "peerDependencies": { 1834 | "@uppy/core": "^3.4.0" 1835 | } 1836 | }, 1837 | "node_modules/@uppy/utils": { 1838 | "version": "5.5.0", 1839 | "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-5.5.0.tgz", 1840 | "integrity": "sha512-hNeYEbihSq/dKK7CZ3euvv3pN2NAO0z1x2FFoZsTajSxY4f7PPOZJoltvOQEKx1vFljhLvOY33s3KNlvXjogqg==", 1841 | "dependencies": { 1842 | "lodash": "^4.17.21", 1843 | "preact": "^10.5.13" 1844 | } 1845 | }, 1846 | "node_modules/@uppy/xhr-upload": { 1847 | "version": "3.4.0", 1848 | "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-3.4.0.tgz", 1849 | "integrity": "sha512-JfJWYkV4NCkeDgS80XpSZwV6D7ssVgTeVckE/h96Sg+ehc7kXCb1aqurzOLZJJmuRiZZzcLpZEMRXYSu1tIPRQ==", 1850 | "dependencies": { 1851 | "@uppy/companion-client": "^3.4.0", 1852 | "@uppy/utils": "^5.5.0", 1853 | "nanoid": "^4.0.0" 1854 | }, 1855 | "peerDependencies": { 1856 | "@uppy/core": "^3.5.0" 1857 | } 1858 | }, 1859 | "node_modules/@uppy/xhr-upload/node_modules/nanoid": { 1860 | "version": "4.0.2", 1861 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 1862 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==", 1863 | "funding": [ 1864 | { 1865 | "type": "github", 1866 | "url": "https://github.com/sponsors/ai" 1867 | } 1868 | ], 1869 | "bin": { 1870 | "nanoid": "bin/nanoid.js" 1871 | }, 1872 | "engines": { 1873 | "node": "^14 || ^16 || >=18" 1874 | } 1875 | }, 1876 | "node_modules/bowser": { 1877 | "version": "2.11.0", 1878 | "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", 1879 | "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" 1880 | }, 1881 | "node_modules/busboy": { 1882 | "version": "1.6.0", 1883 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 1884 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 1885 | "dependencies": { 1886 | "streamsearch": "^1.1.0" 1887 | }, 1888 | "engines": { 1889 | "node": ">=10.16.0" 1890 | } 1891 | }, 1892 | "node_modules/caniuse-lite": { 1893 | "version": "1.0.30001533", 1894 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001533.tgz", 1895 | "integrity": "sha512-9aY/b05NKU4Yl2sbcJhn4A7MsGwR1EPfW/nrqsnqVA0Oq50wpmPaGI+R1Z0UKlUl96oxUkGEOILWtOHck0eCWw==", 1896 | "funding": [ 1897 | { 1898 | "type": "opencollective", 1899 | "url": "https://opencollective.com/browserslist" 1900 | }, 1901 | { 1902 | "type": "tidelift", 1903 | "url": "https://tidelift.com/funding/github/npm/caniuse-lite" 1904 | }, 1905 | { 1906 | "type": "github", 1907 | "url": "https://github.com/sponsors/ai" 1908 | } 1909 | ] 1910 | }, 1911 | "node_modules/classnames": { 1912 | "version": "2.3.2", 1913 | "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", 1914 | "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" 1915 | }, 1916 | "node_modules/client-only": { 1917 | "version": "0.0.1", 1918 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 1919 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 1920 | }, 1921 | "node_modules/crypto-hash": { 1922 | "version": "2.0.1", 1923 | "resolved": "https://registry.npmjs.org/crypto-hash/-/crypto-hash-2.0.1.tgz", 1924 | "integrity": "sha512-t4mkp7Vh6MuCZRBf0XLzBOfhkH3nW6YEAotMDSjshVQ1GffCMGdPLSr7pKH0rdXY02jTjAZ7QW2apD0buaZXcQ==", 1925 | "engines": { 1926 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1927 | }, 1928 | "funding": { 1929 | "url": "https://github.com/sponsors/sindresorhus" 1930 | } 1931 | }, 1932 | "node_modules/csstype": { 1933 | "version": "3.1.2", 1934 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 1935 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 1936 | "dev": true 1937 | }, 1938 | "node_modules/eventemitter3": { 1939 | "version": "5.0.1", 1940 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 1941 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 1942 | }, 1943 | "node_modules/exifr": { 1944 | "version": "7.1.3", 1945 | "resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz", 1946 | "integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw==" 1947 | }, 1948 | "node_modules/fast-xml-parser": { 1949 | "version": "4.2.5", 1950 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", 1951 | "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", 1952 | "funding": [ 1953 | { 1954 | "type": "paypal", 1955 | "url": "https://paypal.me/naturalintelligence" 1956 | }, 1957 | { 1958 | "type": "github", 1959 | "url": "https://github.com/sponsors/NaturalIntelligence" 1960 | } 1961 | ], 1962 | "dependencies": { 1963 | "strnum": "^1.0.5" 1964 | }, 1965 | "bin": { 1966 | "fxparser": "src/cli/cli.js" 1967 | } 1968 | }, 1969 | "node_modules/glob-to-regexp": { 1970 | "version": "0.4.1", 1971 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 1972 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 1973 | }, 1974 | "node_modules/graceful-fs": { 1975 | "version": "4.2.11", 1976 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1977 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 1978 | }, 1979 | "node_modules/is-shallow-equal": { 1980 | "version": "1.0.1", 1981 | "resolved": "https://registry.npmjs.org/is-shallow-equal/-/is-shallow-equal-1.0.1.tgz", 1982 | "integrity": "sha512-lq5RvK+85Hs5J3p4oA4256M1FEffzmI533ikeDHvJd42nouRRx5wBzt36JuviiGe5dIPyHON/d0/Up+PBo6XkQ==" 1983 | }, 1984 | "node_modules/js-tokens": { 1985 | "version": "4.0.0", 1986 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 1987 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 1988 | }, 1989 | "node_modules/lodash": { 1990 | "version": "4.17.21", 1991 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1992 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 1993 | }, 1994 | "node_modules/loose-envify": { 1995 | "version": "1.4.0", 1996 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 1997 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 1998 | "dependencies": { 1999 | "js-tokens": "^3.0.0 || ^4.0.0" 2000 | }, 2001 | "bin": { 2002 | "loose-envify": "cli.js" 2003 | } 2004 | }, 2005 | "node_modules/memoize-one": { 2006 | "version": "6.0.0", 2007 | "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", 2008 | "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" 2009 | }, 2010 | "node_modules/mime-match": { 2011 | "version": "1.0.2", 2012 | "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", 2013 | "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", 2014 | "dependencies": { 2015 | "wildcard": "^1.1.0" 2016 | } 2017 | }, 2018 | "node_modules/namespace-emitter": { 2019 | "version": "2.0.1", 2020 | "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", 2021 | "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" 2022 | }, 2023 | "node_modules/nanoid": { 2024 | "version": "3.3.6", 2025 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 2026 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", 2027 | "funding": [ 2028 | { 2029 | "type": "github", 2030 | "url": "https://github.com/sponsors/ai" 2031 | } 2032 | ], 2033 | "bin": { 2034 | "nanoid": "bin/nanoid.cjs" 2035 | }, 2036 | "engines": { 2037 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 2038 | } 2039 | }, 2040 | "node_modules/next": { 2041 | "version": "13.4.19", 2042 | "resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz", 2043 | "integrity": "sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==", 2044 | "dependencies": { 2045 | "@next/env": "13.4.19", 2046 | "@swc/helpers": "0.5.1", 2047 | "busboy": "1.6.0", 2048 | "caniuse-lite": "^1.0.30001406", 2049 | "postcss": "8.4.14", 2050 | "styled-jsx": "5.1.1", 2051 | "watchpack": "2.4.0", 2052 | "zod": "3.21.4" 2053 | }, 2054 | "bin": { 2055 | "next": "dist/bin/next" 2056 | }, 2057 | "engines": { 2058 | "node": ">=16.8.0" 2059 | }, 2060 | "optionalDependencies": { 2061 | "@next/swc-darwin-arm64": "13.4.19", 2062 | "@next/swc-darwin-x64": "13.4.19", 2063 | "@next/swc-linux-arm64-gnu": "13.4.19", 2064 | "@next/swc-linux-arm64-musl": "13.4.19", 2065 | "@next/swc-linux-x64-gnu": "13.4.19", 2066 | "@next/swc-linux-x64-musl": "13.4.19", 2067 | "@next/swc-win32-arm64-msvc": "13.4.19", 2068 | "@next/swc-win32-ia32-msvc": "13.4.19", 2069 | "@next/swc-win32-x64-msvc": "13.4.19" 2070 | }, 2071 | "peerDependencies": { 2072 | "@opentelemetry/api": "^1.1.0", 2073 | "react": "^18.2.0", 2074 | "react-dom": "^18.2.0", 2075 | "sass": "^1.3.0" 2076 | }, 2077 | "peerDependenciesMeta": { 2078 | "@opentelemetry/api": { 2079 | "optional": true 2080 | }, 2081 | "sass": { 2082 | "optional": true 2083 | } 2084 | } 2085 | }, 2086 | "node_modules/object-assign": { 2087 | "version": "4.1.1", 2088 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 2089 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", 2090 | "engines": { 2091 | "node": ">=0.10.0" 2092 | } 2093 | }, 2094 | "node_modules/p-queue": { 2095 | "version": "7.4.1", 2096 | "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.4.1.tgz", 2097 | "integrity": "sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA==", 2098 | "dependencies": { 2099 | "eventemitter3": "^5.0.1", 2100 | "p-timeout": "^5.0.2" 2101 | }, 2102 | "engines": { 2103 | "node": ">=12" 2104 | }, 2105 | "funding": { 2106 | "url": "https://github.com/sponsors/sindresorhus" 2107 | } 2108 | }, 2109 | "node_modules/p-timeout": { 2110 | "version": "5.1.0", 2111 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", 2112 | "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==", 2113 | "engines": { 2114 | "node": ">=12" 2115 | }, 2116 | "funding": { 2117 | "url": "https://github.com/sponsors/sindresorhus" 2118 | } 2119 | }, 2120 | "node_modules/picocolors": { 2121 | "version": "1.0.0", 2122 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 2123 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 2124 | }, 2125 | "node_modules/postcss": { 2126 | "version": "8.4.14", 2127 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 2128 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 2129 | "funding": [ 2130 | { 2131 | "type": "opencollective", 2132 | "url": "https://opencollective.com/postcss/" 2133 | }, 2134 | { 2135 | "type": "tidelift", 2136 | "url": "https://tidelift.com/funding/github/npm/postcss" 2137 | } 2138 | ], 2139 | "dependencies": { 2140 | "nanoid": "^3.3.4", 2141 | "picocolors": "^1.0.0", 2142 | "source-map-js": "^1.0.2" 2143 | }, 2144 | "engines": { 2145 | "node": "^10 || ^12 || >=14" 2146 | } 2147 | }, 2148 | "node_modules/preact": { 2149 | "version": "10.17.1", 2150 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz", 2151 | "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==", 2152 | "funding": { 2153 | "type": "opencollective", 2154 | "url": "https://opencollective.com/preact" 2155 | } 2156 | }, 2157 | "node_modules/prop-types": { 2158 | "version": "15.8.1", 2159 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 2160 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 2161 | "dependencies": { 2162 | "loose-envify": "^1.4.0", 2163 | "object-assign": "^4.1.1", 2164 | "react-is": "^16.13.1" 2165 | } 2166 | }, 2167 | "node_modules/react": { 2168 | "version": "18.2.0", 2169 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 2170 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 2171 | "dependencies": { 2172 | "loose-envify": "^1.1.0" 2173 | }, 2174 | "engines": { 2175 | "node": ">=0.10.0" 2176 | } 2177 | }, 2178 | "node_modules/react-dom": { 2179 | "version": "18.2.0", 2180 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 2181 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 2182 | "dependencies": { 2183 | "loose-envify": "^1.1.0", 2184 | "scheduler": "^0.23.0" 2185 | }, 2186 | "peerDependencies": { 2187 | "react": "^18.2.0" 2188 | } 2189 | }, 2190 | "node_modules/react-is": { 2191 | "version": "16.13.1", 2192 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 2193 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 2194 | }, 2195 | "node_modules/scheduler": { 2196 | "version": "0.23.0", 2197 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 2198 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 2199 | "dependencies": { 2200 | "loose-envify": "^1.1.0" 2201 | } 2202 | }, 2203 | "node_modules/source-map-js": { 2204 | "version": "1.0.2", 2205 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 2206 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", 2207 | "engines": { 2208 | "node": ">=0.10.0" 2209 | } 2210 | }, 2211 | "node_modules/streamsearch": { 2212 | "version": "1.1.0", 2213 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 2214 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", 2215 | "engines": { 2216 | "node": ">=10.0.0" 2217 | } 2218 | }, 2219 | "node_modules/strnum": { 2220 | "version": "1.0.5", 2221 | "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 2222 | "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 2223 | }, 2224 | "node_modules/styled-jsx": { 2225 | "version": "5.1.1", 2226 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", 2227 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", 2228 | "dependencies": { 2229 | "client-only": "0.0.1" 2230 | }, 2231 | "engines": { 2232 | "node": ">= 12.0.0" 2233 | }, 2234 | "peerDependencies": { 2235 | "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" 2236 | }, 2237 | "peerDependenciesMeta": { 2238 | "@babel/core": { 2239 | "optional": true 2240 | }, 2241 | "babel-plugin-macros": { 2242 | "optional": true 2243 | } 2244 | } 2245 | }, 2246 | "node_modules/tslib": { 2247 | "version": "2.6.2", 2248 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 2249 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 2250 | }, 2251 | "node_modules/typescript": { 2252 | "version": "5.2.2", 2253 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", 2254 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", 2255 | "dev": true, 2256 | "bin": { 2257 | "tsc": "bin/tsc", 2258 | "tsserver": "bin/tsserver" 2259 | }, 2260 | "engines": { 2261 | "node": ">=14.17" 2262 | } 2263 | }, 2264 | "node_modules/uuid": { 2265 | "version": "8.3.2", 2266 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 2267 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", 2268 | "bin": { 2269 | "uuid": "dist/bin/uuid" 2270 | } 2271 | }, 2272 | "node_modules/watchpack": { 2273 | "version": "2.4.0", 2274 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 2275 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 2276 | "dependencies": { 2277 | "glob-to-regexp": "^0.4.1", 2278 | "graceful-fs": "^4.1.2" 2279 | }, 2280 | "engines": { 2281 | "node": ">=10.13.0" 2282 | } 2283 | }, 2284 | "node_modules/wildcard": { 2285 | "version": "1.1.2", 2286 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", 2287 | "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" 2288 | }, 2289 | "node_modules/zod": { 2290 | "version": "3.21.4", 2291 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", 2292 | "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", 2293 | "funding": { 2294 | "url": "https://github.com/sponsors/colinhacks" 2295 | } 2296 | } 2297 | }, 2298 | "dependencies": { 2299 | "@aws-crypto/crc32": { 2300 | "version": "3.0.0", 2301 | "resolved": "https://registry.npmjs.org/@aws-crypto/crc32/-/crc32-3.0.0.tgz", 2302 | "integrity": "sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==", 2303 | "requires": { 2304 | "@aws-crypto/util": "^3.0.0", 2305 | "@aws-sdk/types": "^3.222.0", 2306 | "tslib": "^1.11.1" 2307 | }, 2308 | "dependencies": { 2309 | "tslib": { 2310 | "version": "1.14.1", 2311 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2312 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2313 | } 2314 | } 2315 | }, 2316 | "@aws-crypto/crc32c": { 2317 | "version": "3.0.0", 2318 | "resolved": "https://registry.npmjs.org/@aws-crypto/crc32c/-/crc32c-3.0.0.tgz", 2319 | "integrity": "sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==", 2320 | "requires": { 2321 | "@aws-crypto/util": "^3.0.0", 2322 | "@aws-sdk/types": "^3.222.0", 2323 | "tslib": "^1.11.1" 2324 | }, 2325 | "dependencies": { 2326 | "tslib": { 2327 | "version": "1.14.1", 2328 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2329 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2330 | } 2331 | } 2332 | }, 2333 | "@aws-crypto/ie11-detection": { 2334 | "version": "3.0.0", 2335 | "resolved": "https://registry.npmjs.org/@aws-crypto/ie11-detection/-/ie11-detection-3.0.0.tgz", 2336 | "integrity": "sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==", 2337 | "requires": { 2338 | "tslib": "^1.11.1" 2339 | }, 2340 | "dependencies": { 2341 | "tslib": { 2342 | "version": "1.14.1", 2343 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2344 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2345 | } 2346 | } 2347 | }, 2348 | "@aws-crypto/sha1-browser": { 2349 | "version": "3.0.0", 2350 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha1-browser/-/sha1-browser-3.0.0.tgz", 2351 | "integrity": "sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==", 2352 | "requires": { 2353 | "@aws-crypto/ie11-detection": "^3.0.0", 2354 | "@aws-crypto/supports-web-crypto": "^3.0.0", 2355 | "@aws-crypto/util": "^3.0.0", 2356 | "@aws-sdk/types": "^3.222.0", 2357 | "@aws-sdk/util-locate-window": "^3.0.0", 2358 | "@aws-sdk/util-utf8-browser": "^3.0.0", 2359 | "tslib": "^1.11.1" 2360 | }, 2361 | "dependencies": { 2362 | "tslib": { 2363 | "version": "1.14.1", 2364 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2365 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2366 | } 2367 | } 2368 | }, 2369 | "@aws-crypto/sha256-browser": { 2370 | "version": "3.0.0", 2371 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-3.0.0.tgz", 2372 | "integrity": "sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==", 2373 | "requires": { 2374 | "@aws-crypto/ie11-detection": "^3.0.0", 2375 | "@aws-crypto/sha256-js": "^3.0.0", 2376 | "@aws-crypto/supports-web-crypto": "^3.0.0", 2377 | "@aws-crypto/util": "^3.0.0", 2378 | "@aws-sdk/types": "^3.222.0", 2379 | "@aws-sdk/util-locate-window": "^3.0.0", 2380 | "@aws-sdk/util-utf8-browser": "^3.0.0", 2381 | "tslib": "^1.11.1" 2382 | }, 2383 | "dependencies": { 2384 | "tslib": { 2385 | "version": "1.14.1", 2386 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2387 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2388 | } 2389 | } 2390 | }, 2391 | "@aws-crypto/sha256-js": { 2392 | "version": "3.0.0", 2393 | "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-3.0.0.tgz", 2394 | "integrity": "sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==", 2395 | "requires": { 2396 | "@aws-crypto/util": "^3.0.0", 2397 | "@aws-sdk/types": "^3.222.0", 2398 | "tslib": "^1.11.1" 2399 | }, 2400 | "dependencies": { 2401 | "tslib": { 2402 | "version": "1.14.1", 2403 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2404 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2405 | } 2406 | } 2407 | }, 2408 | "@aws-crypto/supports-web-crypto": { 2409 | "version": "3.0.0", 2410 | "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-3.0.0.tgz", 2411 | "integrity": "sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==", 2412 | "requires": { 2413 | "tslib": "^1.11.1" 2414 | }, 2415 | "dependencies": { 2416 | "tslib": { 2417 | "version": "1.14.1", 2418 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2419 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2420 | } 2421 | } 2422 | }, 2423 | "@aws-crypto/util": { 2424 | "version": "3.0.0", 2425 | "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-3.0.0.tgz", 2426 | "integrity": "sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==", 2427 | "requires": { 2428 | "@aws-sdk/types": "^3.222.0", 2429 | "@aws-sdk/util-utf8-browser": "^3.0.0", 2430 | "tslib": "^1.11.1" 2431 | }, 2432 | "dependencies": { 2433 | "tslib": { 2434 | "version": "1.14.1", 2435 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2436 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2437 | } 2438 | } 2439 | }, 2440 | "@aws-sdk/client-s3": { 2441 | "version": "3.410.0", 2442 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.410.0.tgz", 2443 | "integrity": "sha512-9pInvFl3xgk+CnbHFZVk0wAicZUiokIGQ05e/ZDBHjiWK5ph/XeQ4CCTuh7JxT0yABNhua8/6txsyq/uNXOzoA==", 2444 | "requires": { 2445 | "@aws-crypto/sha1-browser": "3.0.0", 2446 | "@aws-crypto/sha256-browser": "3.0.0", 2447 | "@aws-crypto/sha256-js": "3.0.0", 2448 | "@aws-sdk/client-sts": "3.410.0", 2449 | "@aws-sdk/credential-provider-node": "3.410.0", 2450 | "@aws-sdk/middleware-bucket-endpoint": "3.410.0", 2451 | "@aws-sdk/middleware-expect-continue": "3.410.0", 2452 | "@aws-sdk/middleware-flexible-checksums": "3.410.0", 2453 | "@aws-sdk/middleware-host-header": "3.410.0", 2454 | "@aws-sdk/middleware-location-constraint": "3.410.0", 2455 | "@aws-sdk/middleware-logger": "3.410.0", 2456 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 2457 | "@aws-sdk/middleware-sdk-s3": "3.410.0", 2458 | "@aws-sdk/middleware-signing": "3.410.0", 2459 | "@aws-sdk/middleware-ssec": "3.410.0", 2460 | "@aws-sdk/middleware-user-agent": "3.410.0", 2461 | "@aws-sdk/signature-v4-multi-region": "3.410.0", 2462 | "@aws-sdk/types": "3.410.0", 2463 | "@aws-sdk/util-endpoints": "3.410.0", 2464 | "@aws-sdk/util-user-agent-browser": "3.410.0", 2465 | "@aws-sdk/util-user-agent-node": "3.410.0", 2466 | "@aws-sdk/xml-builder": "3.310.0", 2467 | "@smithy/config-resolver": "^2.0.7", 2468 | "@smithy/eventstream-serde-browser": "^2.0.6", 2469 | "@smithy/eventstream-serde-config-resolver": "^2.0.6", 2470 | "@smithy/eventstream-serde-node": "^2.0.6", 2471 | "@smithy/fetch-http-handler": "^2.1.2", 2472 | "@smithy/hash-blob-browser": "^2.0.6", 2473 | "@smithy/hash-node": "^2.0.6", 2474 | "@smithy/hash-stream-node": "^2.0.6", 2475 | "@smithy/invalid-dependency": "^2.0.6", 2476 | "@smithy/md5-js": "^2.0.6", 2477 | "@smithy/middleware-content-length": "^2.0.8", 2478 | "@smithy/middleware-endpoint": "^2.0.6", 2479 | "@smithy/middleware-retry": "^2.0.9", 2480 | "@smithy/middleware-serde": "^2.0.6", 2481 | "@smithy/middleware-stack": "^2.0.0", 2482 | "@smithy/node-config-provider": "^2.0.9", 2483 | "@smithy/node-http-handler": "^2.1.2", 2484 | "@smithy/protocol-http": "^3.0.2", 2485 | "@smithy/smithy-client": "^2.1.3", 2486 | "@smithy/types": "^2.3.0", 2487 | "@smithy/url-parser": "^2.0.6", 2488 | "@smithy/util-base64": "^2.0.0", 2489 | "@smithy/util-body-length-browser": "^2.0.0", 2490 | "@smithy/util-body-length-node": "^2.1.0", 2491 | "@smithy/util-defaults-mode-browser": "^2.0.7", 2492 | "@smithy/util-defaults-mode-node": "^2.0.9", 2493 | "@smithy/util-retry": "^2.0.0", 2494 | "@smithy/util-stream": "^2.0.9", 2495 | "@smithy/util-utf8": "^2.0.0", 2496 | "@smithy/util-waiter": "^2.0.6", 2497 | "fast-xml-parser": "4.2.5", 2498 | "tslib": "^2.5.0" 2499 | } 2500 | }, 2501 | "@aws-sdk/client-sso": { 2502 | "version": "3.410.0", 2503 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.410.0.tgz", 2504 | "integrity": "sha512-MC9GrgwtlOuSL2WS3DRM3dQ/5y+49KSMMJRH6JiEcU5vE0dX/OtEcX+VfEwpi73x5pSfIjm7xnzjzOFx+sQBIg==", 2505 | "requires": { 2506 | "@aws-crypto/sha256-browser": "3.0.0", 2507 | "@aws-crypto/sha256-js": "3.0.0", 2508 | "@aws-sdk/middleware-host-header": "3.410.0", 2509 | "@aws-sdk/middleware-logger": "3.410.0", 2510 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 2511 | "@aws-sdk/middleware-user-agent": "3.410.0", 2512 | "@aws-sdk/types": "3.410.0", 2513 | "@aws-sdk/util-endpoints": "3.410.0", 2514 | "@aws-sdk/util-user-agent-browser": "3.410.0", 2515 | "@aws-sdk/util-user-agent-node": "3.410.0", 2516 | "@smithy/config-resolver": "^2.0.7", 2517 | "@smithy/fetch-http-handler": "^2.1.2", 2518 | "@smithy/hash-node": "^2.0.6", 2519 | "@smithy/invalid-dependency": "^2.0.6", 2520 | "@smithy/middleware-content-length": "^2.0.8", 2521 | "@smithy/middleware-endpoint": "^2.0.6", 2522 | "@smithy/middleware-retry": "^2.0.9", 2523 | "@smithy/middleware-serde": "^2.0.6", 2524 | "@smithy/middleware-stack": "^2.0.0", 2525 | "@smithy/node-config-provider": "^2.0.9", 2526 | "@smithy/node-http-handler": "^2.1.2", 2527 | "@smithy/protocol-http": "^3.0.2", 2528 | "@smithy/smithy-client": "^2.1.3", 2529 | "@smithy/types": "^2.3.0", 2530 | "@smithy/url-parser": "^2.0.6", 2531 | "@smithy/util-base64": "^2.0.0", 2532 | "@smithy/util-body-length-browser": "^2.0.0", 2533 | "@smithy/util-body-length-node": "^2.1.0", 2534 | "@smithy/util-defaults-mode-browser": "^2.0.7", 2535 | "@smithy/util-defaults-mode-node": "^2.0.9", 2536 | "@smithy/util-retry": "^2.0.0", 2537 | "@smithy/util-utf8": "^2.0.0", 2538 | "tslib": "^2.5.0" 2539 | } 2540 | }, 2541 | "@aws-sdk/client-sts": { 2542 | "version": "3.410.0", 2543 | "resolved": "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.410.0.tgz", 2544 | "integrity": "sha512-e6VMrBJtnTxxUXwDmkADGIvyppmDMFf4+cGGA68tVCUm1cFNlCI6M/67bVSIPN/WVKAAfhEL5O2vVXCM7aatYg==", 2545 | "requires": { 2546 | "@aws-crypto/sha256-browser": "3.0.0", 2547 | "@aws-crypto/sha256-js": "3.0.0", 2548 | "@aws-sdk/credential-provider-node": "3.410.0", 2549 | "@aws-sdk/middleware-host-header": "3.410.0", 2550 | "@aws-sdk/middleware-logger": "3.410.0", 2551 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 2552 | "@aws-sdk/middleware-sdk-sts": "3.410.0", 2553 | "@aws-sdk/middleware-signing": "3.410.0", 2554 | "@aws-sdk/middleware-user-agent": "3.410.0", 2555 | "@aws-sdk/types": "3.410.0", 2556 | "@aws-sdk/util-endpoints": "3.410.0", 2557 | "@aws-sdk/util-user-agent-browser": "3.410.0", 2558 | "@aws-sdk/util-user-agent-node": "3.410.0", 2559 | "@smithy/config-resolver": "^2.0.7", 2560 | "@smithy/fetch-http-handler": "^2.1.2", 2561 | "@smithy/hash-node": "^2.0.6", 2562 | "@smithy/invalid-dependency": "^2.0.6", 2563 | "@smithy/middleware-content-length": "^2.0.8", 2564 | "@smithy/middleware-endpoint": "^2.0.6", 2565 | "@smithy/middleware-retry": "^2.0.9", 2566 | "@smithy/middleware-serde": "^2.0.6", 2567 | "@smithy/middleware-stack": "^2.0.0", 2568 | "@smithy/node-config-provider": "^2.0.9", 2569 | "@smithy/node-http-handler": "^2.1.2", 2570 | "@smithy/protocol-http": "^3.0.2", 2571 | "@smithy/smithy-client": "^2.1.3", 2572 | "@smithy/types": "^2.3.0", 2573 | "@smithy/url-parser": "^2.0.6", 2574 | "@smithy/util-base64": "^2.0.0", 2575 | "@smithy/util-body-length-browser": "^2.0.0", 2576 | "@smithy/util-body-length-node": "^2.1.0", 2577 | "@smithy/util-defaults-mode-browser": "^2.0.7", 2578 | "@smithy/util-defaults-mode-node": "^2.0.9", 2579 | "@smithy/util-retry": "^2.0.0", 2580 | "@smithy/util-utf8": "^2.0.0", 2581 | "fast-xml-parser": "4.2.5", 2582 | "tslib": "^2.5.0" 2583 | } 2584 | }, 2585 | "@aws-sdk/credential-provider-env": { 2586 | "version": "3.410.0", 2587 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.410.0.tgz", 2588 | "integrity": "sha512-c7TB9LbN0PkFOsXI0lcRJnqPNOmc4VBvrHf8jP/BkTDg4YUoKQKOFd4d0SqzODmlZiAyoMQVZTR4ISZo95Zj4Q==", 2589 | "requires": { 2590 | "@aws-sdk/types": "3.410.0", 2591 | "@smithy/property-provider": "^2.0.0", 2592 | "@smithy/types": "^2.3.0", 2593 | "tslib": "^2.5.0" 2594 | } 2595 | }, 2596 | "@aws-sdk/credential-provider-ini": { 2597 | "version": "3.410.0", 2598 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.410.0.tgz", 2599 | "integrity": "sha512-D8rcr5bRCFD0f42MPQ7K6TWZq5d3pfqrKINL1/bpfkK5BJbvq1BGYmR88UC6CLpTRtZ1LHY2HgYG0fp/2zjjww==", 2600 | "requires": { 2601 | "@aws-sdk/credential-provider-env": "3.410.0", 2602 | "@aws-sdk/credential-provider-process": "3.410.0", 2603 | "@aws-sdk/credential-provider-sso": "3.410.0", 2604 | "@aws-sdk/credential-provider-web-identity": "3.410.0", 2605 | "@aws-sdk/types": "3.410.0", 2606 | "@smithy/credential-provider-imds": "^2.0.0", 2607 | "@smithy/property-provider": "^2.0.0", 2608 | "@smithy/shared-ini-file-loader": "^2.0.6", 2609 | "@smithy/types": "^2.3.0", 2610 | "tslib": "^2.5.0" 2611 | } 2612 | }, 2613 | "@aws-sdk/credential-provider-node": { 2614 | "version": "3.410.0", 2615 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.410.0.tgz", 2616 | "integrity": "sha512-0wmVm33T/j1FS7MZ/j+WsPlgSc0YnCXnpbWSov1Mn6R86SHI2b2JhdIPRRE4XbGfyW2QGNUl2CwoZVaqhXeF5g==", 2617 | "requires": { 2618 | "@aws-sdk/credential-provider-env": "3.410.0", 2619 | "@aws-sdk/credential-provider-ini": "3.410.0", 2620 | "@aws-sdk/credential-provider-process": "3.410.0", 2621 | "@aws-sdk/credential-provider-sso": "3.410.0", 2622 | "@aws-sdk/credential-provider-web-identity": "3.410.0", 2623 | "@aws-sdk/types": "3.410.0", 2624 | "@smithy/credential-provider-imds": "^2.0.0", 2625 | "@smithy/property-provider": "^2.0.0", 2626 | "@smithy/shared-ini-file-loader": "^2.0.6", 2627 | "@smithy/types": "^2.3.0", 2628 | "tslib": "^2.5.0" 2629 | } 2630 | }, 2631 | "@aws-sdk/credential-provider-process": { 2632 | "version": "3.410.0", 2633 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.410.0.tgz", 2634 | "integrity": "sha512-BMju1hlDCDNkkSZpKF5SQ8G0WCLRj6/Jvw9QmudLHJuVwYJXEW1r2AsVMg98OZ3hB9G+MAvHruHZIbMiNmUMXQ==", 2635 | "requires": { 2636 | "@aws-sdk/types": "3.410.0", 2637 | "@smithy/property-provider": "^2.0.0", 2638 | "@smithy/shared-ini-file-loader": "^2.0.6", 2639 | "@smithy/types": "^2.3.0", 2640 | "tslib": "^2.5.0" 2641 | } 2642 | }, 2643 | "@aws-sdk/credential-provider-sso": { 2644 | "version": "3.410.0", 2645 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.410.0.tgz", 2646 | "integrity": "sha512-zEaoY/sY+KYTlQUkp9dvveAHf175b8RIt0DsQkDrRPtrg/RBHR00r5rFvz9+nrwsR8546RaBU7h/zzTaQGhmcA==", 2647 | "requires": { 2648 | "@aws-sdk/client-sso": "3.410.0", 2649 | "@aws-sdk/token-providers": "3.410.0", 2650 | "@aws-sdk/types": "3.410.0", 2651 | "@smithy/property-provider": "^2.0.0", 2652 | "@smithy/shared-ini-file-loader": "^2.0.6", 2653 | "@smithy/types": "^2.3.0", 2654 | "tslib": "^2.5.0" 2655 | } 2656 | }, 2657 | "@aws-sdk/credential-provider-web-identity": { 2658 | "version": "3.410.0", 2659 | "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.410.0.tgz", 2660 | "integrity": "sha512-cE0l8LmEHdWbDkdPNgrfdYSgp4/cIVXrjUKI1QCATA729CrHZ/OQjB/maOBOrMHO9YTiggko887NkslVvwVB7w==", 2661 | "requires": { 2662 | "@aws-sdk/types": "3.410.0", 2663 | "@smithy/property-provider": "^2.0.0", 2664 | "@smithy/types": "^2.3.0", 2665 | "tslib": "^2.5.0" 2666 | } 2667 | }, 2668 | "@aws-sdk/middleware-bucket-endpoint": { 2669 | "version": "3.410.0", 2670 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.410.0.tgz", 2671 | "integrity": "sha512-pUGrpFgCKf9fDHu01JJhhw+MUImheS0HFlZwNG37OMubkxUAbCdmYGewGxfTCUvWyZJtx9bVjrSu6gG7w+RARg==", 2672 | "requires": { 2673 | "@aws-sdk/types": "3.410.0", 2674 | "@aws-sdk/util-arn-parser": "3.310.0", 2675 | "@smithy/node-config-provider": "^2.0.9", 2676 | "@smithy/protocol-http": "^3.0.2", 2677 | "@smithy/types": "^2.3.0", 2678 | "@smithy/util-config-provider": "^2.0.0", 2679 | "tslib": "^2.5.0" 2680 | } 2681 | }, 2682 | "@aws-sdk/middleware-expect-continue": { 2683 | "version": "3.410.0", 2684 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.410.0.tgz", 2685 | "integrity": "sha512-e5YqGCNmW99GZjEPPujJ02RlEZql19U40oORysBhVF7mKz8BBvF3s8l37tvu37oxebDEkh1u/2cm2+ggOXxLjQ==", 2686 | "requires": { 2687 | "@aws-sdk/types": "3.410.0", 2688 | "@smithy/protocol-http": "^3.0.2", 2689 | "@smithy/types": "^2.3.0", 2690 | "tslib": "^2.5.0" 2691 | } 2692 | }, 2693 | "@aws-sdk/middleware-flexible-checksums": { 2694 | "version": "3.410.0", 2695 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-flexible-checksums/-/middleware-flexible-checksums-3.410.0.tgz", 2696 | "integrity": "sha512-IK7KlvEKtrQVBfmAp/MmGd0wbWLuN2GZwwfAmsU0qFb0f5vOVUbKDsu6tudtDKCBG9uXyTEsx3/QGvoK2zDy+g==", 2697 | "requires": { 2698 | "@aws-crypto/crc32": "3.0.0", 2699 | "@aws-crypto/crc32c": "3.0.0", 2700 | "@aws-sdk/types": "3.410.0", 2701 | "@smithy/is-array-buffer": "^2.0.0", 2702 | "@smithy/protocol-http": "^3.0.2", 2703 | "@smithy/types": "^2.3.0", 2704 | "@smithy/util-utf8": "^2.0.0", 2705 | "tslib": "^2.5.0" 2706 | } 2707 | }, 2708 | "@aws-sdk/middleware-host-header": { 2709 | "version": "3.410.0", 2710 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.410.0.tgz", 2711 | "integrity": "sha512-ED/OVcyITln5rrxnajZP+V0PN1nug+gSDHJDqdDo/oLy7eiDr/ZWn3nlWW7WcMplQ1/Jnb+hK0UetBp/25XooA==", 2712 | "requires": { 2713 | "@aws-sdk/types": "3.410.0", 2714 | "@smithy/protocol-http": "^3.0.2", 2715 | "@smithy/types": "^2.3.0", 2716 | "tslib": "^2.5.0" 2717 | } 2718 | }, 2719 | "@aws-sdk/middleware-location-constraint": { 2720 | "version": "3.410.0", 2721 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.410.0.tgz", 2722 | "integrity": "sha512-jAftSpOpw/5AdpOJ/cGiXCb+Vv22KXR5QZmxmllUDsnlm18672tpRaI2plmu/1d98CVvqhY61eSklFMrIf2c4w==", 2723 | "requires": { 2724 | "@aws-sdk/types": "3.410.0", 2725 | "@smithy/types": "^2.3.0", 2726 | "tslib": "^2.5.0" 2727 | } 2728 | }, 2729 | "@aws-sdk/middleware-logger": { 2730 | "version": "3.410.0", 2731 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.410.0.tgz", 2732 | "integrity": "sha512-YtmKYCVtBfScq3/UFJk+aSZOktKJBNZL9DaSc2aPcy/goCVsYDOkGwtHk0jIkC1JRSNCkVTqL7ya60sSr8zaQQ==", 2733 | "requires": { 2734 | "@aws-sdk/types": "3.410.0", 2735 | "@smithy/types": "^2.3.0", 2736 | "tslib": "^2.5.0" 2737 | } 2738 | }, 2739 | "@aws-sdk/middleware-recursion-detection": { 2740 | "version": "3.410.0", 2741 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.410.0.tgz", 2742 | "integrity": "sha512-KWaes5FLzRqj28vaIEE4Bimpga2E596WdPF2HaH6zsVMJddoRDsc3ZX9ZhLOGrXzIO1RqBd0QxbLrM0S/B2aOQ==", 2743 | "requires": { 2744 | "@aws-sdk/types": "3.410.0", 2745 | "@smithy/protocol-http": "^3.0.2", 2746 | "@smithy/types": "^2.3.0", 2747 | "tslib": "^2.5.0" 2748 | } 2749 | }, 2750 | "@aws-sdk/middleware-sdk-s3": { 2751 | "version": "3.410.0", 2752 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.410.0.tgz", 2753 | "integrity": "sha512-K2sG2V1ZkezYMCIy3uMt0MwtflcfIwLptwm0iFLaYitiINZQ1tcslk9ggAjyTHg0rslDSI4/zjkhy8VHFOV7HA==", 2754 | "requires": { 2755 | "@aws-sdk/types": "3.410.0", 2756 | "@aws-sdk/util-arn-parser": "3.310.0", 2757 | "@smithy/protocol-http": "^3.0.2", 2758 | "@smithy/types": "^2.3.0", 2759 | "tslib": "^2.5.0" 2760 | } 2761 | }, 2762 | "@aws-sdk/middleware-sdk-sts": { 2763 | "version": "3.410.0", 2764 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.410.0.tgz", 2765 | "integrity": "sha512-YfBpctDocRR4CcROoDueJA7D+aMLBV8nTFfmVNdLLLgyuLZ/AUR11VQSu1lf9gQZKl8IpKE/BLf2fRE/qV1ZuA==", 2766 | "requires": { 2767 | "@aws-sdk/middleware-signing": "3.410.0", 2768 | "@aws-sdk/types": "3.410.0", 2769 | "@smithy/types": "^2.3.0", 2770 | "tslib": "^2.5.0" 2771 | } 2772 | }, 2773 | "@aws-sdk/middleware-signing": { 2774 | "version": "3.410.0", 2775 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.410.0.tgz", 2776 | "integrity": "sha512-KBAZ/eoAJUSJv5us2HsKwK2OszG2s9FEyKpEhgnHLcbbKzW873zHBH5GcOGEQu4AWArTy2ndzJu3FF+9/J9hJQ==", 2777 | "requires": { 2778 | "@aws-sdk/types": "3.410.0", 2779 | "@smithy/property-provider": "^2.0.0", 2780 | "@smithy/protocol-http": "^3.0.2", 2781 | "@smithy/signature-v4": "^2.0.0", 2782 | "@smithy/types": "^2.3.0", 2783 | "@smithy/util-middleware": "^2.0.0", 2784 | "tslib": "^2.5.0" 2785 | } 2786 | }, 2787 | "@aws-sdk/middleware-ssec": { 2788 | "version": "3.410.0", 2789 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.410.0.tgz", 2790 | "integrity": "sha512-DNsjVTXoxIh+PuW9o45CFaMiconbuZRm19MC3NA1yNCaCj3ZxD5OdXAutq6UjQdrx8UG4EjUlCJEEvBKmboITw==", 2791 | "requires": { 2792 | "@aws-sdk/types": "3.410.0", 2793 | "@smithy/types": "^2.3.0", 2794 | "tslib": "^2.5.0" 2795 | } 2796 | }, 2797 | "@aws-sdk/middleware-user-agent": { 2798 | "version": "3.410.0", 2799 | "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.410.0.tgz", 2800 | "integrity": "sha512-ZayDtLfvCZUohSxQc/49BfoU/y6bDHLfLdyyUJbJ54Sv8zQcrmdyKvCBFUZwE6tHQgAmv9/ZT18xECMl+xiONA==", 2801 | "requires": { 2802 | "@aws-sdk/types": "3.410.0", 2803 | "@aws-sdk/util-endpoints": "3.410.0", 2804 | "@smithy/protocol-http": "^3.0.2", 2805 | "@smithy/types": "^2.3.0", 2806 | "tslib": "^2.5.0" 2807 | } 2808 | }, 2809 | "@aws-sdk/s3-request-presigner": { 2810 | "version": "3.410.0", 2811 | "resolved": "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.410.0.tgz", 2812 | "integrity": "sha512-In2/XPdPA874XH0MdhLJ7tG74Yay/ATCMpMQcy+summlPhmO1G3BiKMoaDPRks+zJNhgiy6++PlcP93fwDSxcA==", 2813 | "requires": { 2814 | "@aws-sdk/signature-v4-multi-region": "3.410.0", 2815 | "@aws-sdk/types": "3.410.0", 2816 | "@aws-sdk/util-format-url": "3.410.0", 2817 | "@smithy/middleware-endpoint": "^2.0.6", 2818 | "@smithy/protocol-http": "^3.0.2", 2819 | "@smithy/smithy-client": "^2.1.3", 2820 | "@smithy/types": "^2.3.0", 2821 | "tslib": "^2.5.0" 2822 | } 2823 | }, 2824 | "@aws-sdk/signature-v4-multi-region": { 2825 | "version": "3.410.0", 2826 | "resolved": "https://registry.npmjs.org/@aws-sdk/signature-v4-multi-region/-/signature-v4-multi-region-3.410.0.tgz", 2827 | "integrity": "sha512-abgcl9/i9frxGUVAfHHWj49UMCFEmzkYwKmV/4kw9MYn6BZ3HKb5M00tBLn9/PcAKfANS7O+qJRiEQT66rmfhg==", 2828 | "requires": { 2829 | "@aws-sdk/types": "3.410.0", 2830 | "@smithy/protocol-http": "^3.0.2", 2831 | "@smithy/signature-v4": "^2.0.0", 2832 | "@smithy/types": "^2.3.0", 2833 | "tslib": "^2.5.0" 2834 | } 2835 | }, 2836 | "@aws-sdk/token-providers": { 2837 | "version": "3.410.0", 2838 | "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.410.0.tgz", 2839 | "integrity": "sha512-d5Nc0xydkH/X0LA1HDyhGY5sEv4LuADFk+QpDtT8ogLilcre+b1jpdY8Sih/gd1KoGS1H+d1tz2hSGwUHAbUbw==", 2840 | "requires": { 2841 | "@aws-crypto/sha256-browser": "3.0.0", 2842 | "@aws-crypto/sha256-js": "3.0.0", 2843 | "@aws-sdk/middleware-host-header": "3.410.0", 2844 | "@aws-sdk/middleware-logger": "3.410.0", 2845 | "@aws-sdk/middleware-recursion-detection": "3.410.0", 2846 | "@aws-sdk/middleware-user-agent": "3.410.0", 2847 | "@aws-sdk/types": "3.410.0", 2848 | "@aws-sdk/util-endpoints": "3.410.0", 2849 | "@aws-sdk/util-user-agent-browser": "3.410.0", 2850 | "@aws-sdk/util-user-agent-node": "3.410.0", 2851 | "@smithy/config-resolver": "^2.0.7", 2852 | "@smithy/fetch-http-handler": "^2.1.2", 2853 | "@smithy/hash-node": "^2.0.6", 2854 | "@smithy/invalid-dependency": "^2.0.6", 2855 | "@smithy/middleware-content-length": "^2.0.8", 2856 | "@smithy/middleware-endpoint": "^2.0.6", 2857 | "@smithy/middleware-retry": "^2.0.9", 2858 | "@smithy/middleware-serde": "^2.0.6", 2859 | "@smithy/middleware-stack": "^2.0.0", 2860 | "@smithy/node-config-provider": "^2.0.9", 2861 | "@smithy/node-http-handler": "^2.1.2", 2862 | "@smithy/property-provider": "^2.0.0", 2863 | "@smithy/protocol-http": "^3.0.2", 2864 | "@smithy/shared-ini-file-loader": "^2.0.6", 2865 | "@smithy/smithy-client": "^2.1.3", 2866 | "@smithy/types": "^2.3.0", 2867 | "@smithy/url-parser": "^2.0.6", 2868 | "@smithy/util-base64": "^2.0.0", 2869 | "@smithy/util-body-length-browser": "^2.0.0", 2870 | "@smithy/util-body-length-node": "^2.1.0", 2871 | "@smithy/util-defaults-mode-browser": "^2.0.7", 2872 | "@smithy/util-defaults-mode-node": "^2.0.9", 2873 | "@smithy/util-retry": "^2.0.0", 2874 | "@smithy/util-utf8": "^2.0.0", 2875 | "tslib": "^2.5.0" 2876 | } 2877 | }, 2878 | "@aws-sdk/types": { 2879 | "version": "3.410.0", 2880 | "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.410.0.tgz", 2881 | "integrity": "sha512-D7iaUCszv/v04NDaZUmCmekamy6VD/lKozm/3gS9+dkfU6cC2CsNoUfPV8BlV6dPdw0oWgF91am3I1stdvfVrQ==", 2882 | "requires": { 2883 | "@smithy/types": "^2.3.0", 2884 | "tslib": "^2.5.0" 2885 | } 2886 | }, 2887 | "@aws-sdk/util-arn-parser": { 2888 | "version": "3.310.0", 2889 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.310.0.tgz", 2890 | "integrity": "sha512-jL8509owp/xB9+Or0pvn3Fe+b94qfklc2yPowZZIFAkFcCSIdkIglz18cPDWnYAcy9JGewpMS1COXKIUhZkJsA==", 2891 | "requires": { 2892 | "tslib": "^2.5.0" 2893 | } 2894 | }, 2895 | "@aws-sdk/util-endpoints": { 2896 | "version": "3.410.0", 2897 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.410.0.tgz", 2898 | "integrity": "sha512-iNiqJyC7N3+8zFwnXUqcWSxrZecVZLToo1iTQQdeYL2af1IcOtRgb7n8jpAI/hmXhBSx2+3RI+Y7pxyFo1vu+w==", 2899 | "requires": { 2900 | "@aws-sdk/types": "3.410.0", 2901 | "tslib": "^2.5.0" 2902 | } 2903 | }, 2904 | "@aws-sdk/util-format-url": { 2905 | "version": "3.410.0", 2906 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.410.0.tgz", 2907 | "integrity": "sha512-ftxPYq7RBxJMQrOCJARx8+sQccmG+6y7mm9JzfXOHOfS1aWnYQizTitJ7PMA8p90xrUAFQ2CmjT0jaEGWg5VGQ==", 2908 | "requires": { 2909 | "@aws-sdk/types": "3.410.0", 2910 | "@smithy/querystring-builder": "^2.0.6", 2911 | "@smithy/types": "^2.3.0", 2912 | "tslib": "^2.5.0" 2913 | } 2914 | }, 2915 | "@aws-sdk/util-locate-window": { 2916 | "version": "3.310.0", 2917 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.310.0.tgz", 2918 | "integrity": "sha512-qo2t/vBTnoXpjKxlsC2e1gBrRm80M3bId27r0BRB2VniSSe7bL1mmzM+/HFtujm0iAxtPM+aLEflLJlJeDPg0w==", 2919 | "requires": { 2920 | "tslib": "^2.5.0" 2921 | } 2922 | }, 2923 | "@aws-sdk/util-user-agent-browser": { 2924 | "version": "3.410.0", 2925 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.410.0.tgz", 2926 | "integrity": "sha512-i1G/XGpXGMRT2zEiAhi1xucJsfCWk8nNYjk/LbC0sA+7B9Huri96YAzVib12wkHPsJQvZxZC6CpQDIHWm4lXMA==", 2927 | "requires": { 2928 | "@aws-sdk/types": "3.410.0", 2929 | "@smithy/types": "^2.3.0", 2930 | "bowser": "^2.11.0", 2931 | "tslib": "^2.5.0" 2932 | } 2933 | }, 2934 | "@aws-sdk/util-user-agent-node": { 2935 | "version": "3.410.0", 2936 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.410.0.tgz", 2937 | "integrity": "sha512-bK70t1jHRl8HrJXd4hEIwc5PBZ7U0w+81AKFnanIVKZwZedd6nLibUXDTK14z/Jp2GFcBqd4zkt2YLGkRt/U4A==", 2938 | "requires": { 2939 | "@aws-sdk/types": "3.410.0", 2940 | "@smithy/node-config-provider": "^2.0.9", 2941 | "@smithy/types": "^2.3.0", 2942 | "tslib": "^2.5.0" 2943 | } 2944 | }, 2945 | "@aws-sdk/util-utf8-browser": { 2946 | "version": "3.259.0", 2947 | "resolved": "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.259.0.tgz", 2948 | "integrity": "sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==", 2949 | "requires": { 2950 | "tslib": "^2.3.1" 2951 | } 2952 | }, 2953 | "@aws-sdk/xml-builder": { 2954 | "version": "3.310.0", 2955 | "resolved": "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.310.0.tgz", 2956 | "integrity": "sha512-TqELu4mOuSIKQCqj63fGVs86Yh+vBx5nHRpWKNUNhB2nPTpfbziTs5c1X358be3peVWA4wPxW7Nt53KIg1tnNw==", 2957 | "requires": { 2958 | "tslib": "^2.5.0" 2959 | } 2960 | }, 2961 | "@next/env": { 2962 | "version": "13.4.19", 2963 | "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.19.tgz", 2964 | "integrity": "sha512-FsAT5x0jF2kkhNkKkukhsyYOrRqtSxrEhfliniIq0bwWbuXLgyt3Gv0Ml+b91XwjwArmuP7NxCiGd++GGKdNMQ==" 2965 | }, 2966 | "@next/swc-darwin-arm64": { 2967 | "version": "13.4.19", 2968 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.19.tgz", 2969 | "integrity": "sha512-vv1qrjXeGbuF2mOkhkdxMDtv9np7W4mcBtaDnHU+yJG+bBwa6rYsYSCI/9Xm5+TuF5SbZbrWO6G1NfTh1TMjvQ==", 2970 | "optional": true 2971 | }, 2972 | "@next/swc-darwin-x64": { 2973 | "version": "13.4.19", 2974 | "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.19.tgz", 2975 | "integrity": "sha512-jyzO6wwYhx6F+7gD8ddZfuqO4TtpJdw3wyOduR4fxTUCm3aLw7YmHGYNjS0xRSYGAkLpBkH1E0RcelyId6lNsw==", 2976 | "optional": true 2977 | }, 2978 | "@next/swc-linux-arm64-gnu": { 2979 | "version": "13.4.19", 2980 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.19.tgz", 2981 | "integrity": "sha512-vdlnIlaAEh6H+G6HrKZB9c2zJKnpPVKnA6LBwjwT2BTjxI7e0Hx30+FoWCgi50e+YO49p6oPOtesP9mXDRiiUg==", 2982 | "optional": true 2983 | }, 2984 | "@next/swc-linux-arm64-musl": { 2985 | "version": "13.4.19", 2986 | "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.19.tgz", 2987 | "integrity": "sha512-aU0HkH2XPgxqrbNRBFb3si9Ahu/CpaR5RPmN2s9GiM9qJCiBBlZtRTiEca+DC+xRPyCThTtWYgxjWHgU7ZkyvA==", 2988 | "optional": true 2989 | }, 2990 | "@next/swc-linux-x64-gnu": { 2991 | "version": "13.4.19", 2992 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.19.tgz", 2993 | "integrity": "sha512-htwOEagMa/CXNykFFeAHHvMJeqZfNQEoQvHfsA4wgg5QqGNqD5soeCer4oGlCol6NGUxknrQO6VEustcv+Md+g==", 2994 | "optional": true 2995 | }, 2996 | "@next/swc-linux-x64-musl": { 2997 | "version": "13.4.19", 2998 | "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.19.tgz", 2999 | "integrity": "sha512-4Gj4vvtbK1JH8ApWTT214b3GwUh9EKKQjY41hH/t+u55Knxi/0wesMzwQRhppK6Ddalhu0TEttbiJ+wRcoEj5Q==", 3000 | "optional": true 3001 | }, 3002 | "@next/swc-win32-arm64-msvc": { 3003 | "version": "13.4.19", 3004 | "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.19.tgz", 3005 | "integrity": "sha512-bUfDevQK4NsIAHXs3/JNgnvEY+LRyneDN788W2NYiRIIzmILjba7LaQTfihuFawZDhRtkYCv3JDC3B4TwnmRJw==", 3006 | "optional": true 3007 | }, 3008 | "@next/swc-win32-ia32-msvc": { 3009 | "version": "13.4.19", 3010 | "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.19.tgz", 3011 | "integrity": "sha512-Y5kikILFAr81LYIFaw6j/NrOtmiM4Sf3GtOc0pn50ez2GCkr+oejYuKGcwAwq3jiTKuzF6OF4iT2INPoxRycEA==", 3012 | "optional": true 3013 | }, 3014 | "@next/swc-win32-x64-msvc": { 3015 | "version": "13.4.19", 3016 | "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.19.tgz", 3017 | "integrity": "sha512-YzA78jBDXMYiINdPdJJwGgPNT3YqBNNGhsthsDoWHL9p24tEJn9ViQf/ZqTbwSpX/RrkPupLfuuTH2sf73JBAw==", 3018 | "optional": true 3019 | }, 3020 | "@smithy/abort-controller": { 3021 | "version": "2.0.6", 3022 | "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-2.0.6.tgz", 3023 | "integrity": "sha512-4I7g0lyGUlW2onf8mD76IzU37oRWSHsQ5zlW5MjDzgg4I4J9bOK4500Gx6qOuoN7+GulAnGLe1YwyrIluzhakg==", 3024 | "requires": { 3025 | "@smithy/types": "^2.3.0", 3026 | "tslib": "^2.5.0" 3027 | } 3028 | }, 3029 | "@smithy/chunked-blob-reader": { 3030 | "version": "2.0.0", 3031 | "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-2.0.0.tgz", 3032 | "integrity": "sha512-k+J4GHJsMSAIQPChGBrjEmGS+WbPonCXesoqP9fynIqjn7rdOThdH8FAeCmokP9mxTYKQAKoHCLPzNlm6gh7Wg==", 3033 | "requires": { 3034 | "tslib": "^2.5.0" 3035 | } 3036 | }, 3037 | "@smithy/chunked-blob-reader-native": { 3038 | "version": "2.0.0", 3039 | "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-2.0.0.tgz", 3040 | "integrity": "sha512-HM8V2Rp1y8+1343tkZUKZllFhEQPNmpNdgFAncbTsxkZ18/gqjk23XXv3qGyXWp412f3o43ZZ1UZHVcHrpRnCQ==", 3041 | "requires": { 3042 | "@smithy/util-base64": "^2.0.0", 3043 | "tslib": "^2.5.0" 3044 | } 3045 | }, 3046 | "@smithy/config-resolver": { 3047 | "version": "2.0.7", 3048 | "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-2.0.7.tgz", 3049 | "integrity": "sha512-J4J1AWiqaApC+3I9U++SuxAQ3BOoM5VoYnpFzCZcb63aLF80Zpc/nq2pFR1OsEIYyg2UYNdcBKKfHABmwo4WgQ==", 3050 | "requires": { 3051 | "@smithy/node-config-provider": "^2.0.9", 3052 | "@smithy/types": "^2.3.0", 3053 | "@smithy/util-config-provider": "^2.0.0", 3054 | "@smithy/util-middleware": "^2.0.0", 3055 | "tslib": "^2.5.0" 3056 | } 3057 | }, 3058 | "@smithy/credential-provider-imds": { 3059 | "version": "2.0.9", 3060 | "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-2.0.9.tgz", 3061 | "integrity": "sha512-K7WZRkHS5HZofRgK+O8W4YXXyaVexU1K6hp9vlUL/8CsnrFbZS9quyH/6hTROrYh2PuJr24yii1kc83NJdxMGQ==", 3062 | "requires": { 3063 | "@smithy/node-config-provider": "^2.0.9", 3064 | "@smithy/property-provider": "^2.0.7", 3065 | "@smithy/types": "^2.3.0", 3066 | "@smithy/url-parser": "^2.0.6", 3067 | "tslib": "^2.5.0" 3068 | } 3069 | }, 3070 | "@smithy/eventstream-codec": { 3071 | "version": "2.0.6", 3072 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-2.0.6.tgz", 3073 | "integrity": "sha512-J9xL82mlYRUMXFnB9VaThXkD7z2JLr52FIVZMoQQ1dxZG5ub+NOGmzaTTZC/cMmKXI/nwCoFuwDWCTjwQhYhQA==", 3074 | "requires": { 3075 | "@aws-crypto/crc32": "3.0.0", 3076 | "@smithy/types": "^2.3.0", 3077 | "@smithy/util-hex-encoding": "^2.0.0", 3078 | "tslib": "^2.5.0" 3079 | } 3080 | }, 3081 | "@smithy/eventstream-serde-browser": { 3082 | "version": "2.0.6", 3083 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-2.0.6.tgz", 3084 | "integrity": "sha512-cNJqAkmArHytV0CjBka3CKnU/J6zNlOZynvo2Txj98a0cxKeug8gL6SQTpoTyGk+M4LicjcrzQtDs06mU8U0Ag==", 3085 | "requires": { 3086 | "@smithy/eventstream-serde-universal": "^2.0.6", 3087 | "@smithy/types": "^2.3.0", 3088 | "tslib": "^2.5.0" 3089 | } 3090 | }, 3091 | "@smithy/eventstream-serde-config-resolver": { 3092 | "version": "2.0.6", 3093 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-2.0.6.tgz", 3094 | "integrity": "sha512-jODu0MWaP06kzBMUtSd4Ga3S2DnTp3tfjPgdjaw9K/Z4yI7J9rUB73aNGo6ZxxH/vl/k66b5NZJ/3O1AzZ4ggw==", 3095 | "requires": { 3096 | "@smithy/types": "^2.3.0", 3097 | "tslib": "^2.5.0" 3098 | } 3099 | }, 3100 | "@smithy/eventstream-serde-node": { 3101 | "version": "2.0.6", 3102 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-2.0.6.tgz", 3103 | "integrity": "sha512-ua7ok1g16p7OGAVZntn1l3wegN8RtsyPBl9ebqEDeSxdm+iuEfkAS1E/JFs6S6UBfr8Z0tbql5jTT9iVwIFGGA==", 3104 | "requires": { 3105 | "@smithy/eventstream-serde-universal": "^2.0.6", 3106 | "@smithy/types": "^2.3.0", 3107 | "tslib": "^2.5.0" 3108 | } 3109 | }, 3110 | "@smithy/eventstream-serde-universal": { 3111 | "version": "2.0.6", 3112 | "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-2.0.6.tgz", 3113 | "integrity": "sha512-bH1TElelS8tlqll6cJAWKM11Es+pE9htRzjiiFG1+xcyKaM90UFNRX5oKZIrJugZlmP37pvfRwSJ/3ZaaqSBIA==", 3114 | "requires": { 3115 | "@smithy/eventstream-codec": "^2.0.6", 3116 | "@smithy/types": "^2.3.0", 3117 | "tslib": "^2.5.0" 3118 | } 3119 | }, 3120 | "@smithy/fetch-http-handler": { 3121 | "version": "2.1.2", 3122 | "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-2.1.2.tgz", 3123 | "integrity": "sha512-3Gm3pQm4viUPU+e7KkRScS9t5phBxSNRS8rQSZ+HeCwK/busrX0/2HJZiwLvGblqPqi1laJB0lD18AdiOioJww==", 3124 | "requires": { 3125 | "@smithy/protocol-http": "^3.0.2", 3126 | "@smithy/querystring-builder": "^2.0.6", 3127 | "@smithy/types": "^2.3.0", 3128 | "@smithy/util-base64": "^2.0.0", 3129 | "tslib": "^2.5.0" 3130 | } 3131 | }, 3132 | "@smithy/hash-blob-browser": { 3133 | "version": "2.0.6", 3134 | "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-2.0.6.tgz", 3135 | "integrity": "sha512-zmJCRb80WDthCZqQ9LiKeFUEmyPM9WUcd0jYa7tlU3p0LsDnaFKuUS+MT0uJehPGyUEicbi1KBdUmtoqEAQr1A==", 3136 | "requires": { 3137 | "@smithy/chunked-blob-reader": "^2.0.0", 3138 | "@smithy/chunked-blob-reader-native": "^2.0.0", 3139 | "@smithy/types": "^2.3.0", 3140 | "tslib": "^2.5.0" 3141 | } 3142 | }, 3143 | "@smithy/hash-node": { 3144 | "version": "2.0.6", 3145 | "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-2.0.6.tgz", 3146 | "integrity": "sha512-xz7fzFxSzxohKGGyKPbLReRrY01JOZgRDHIXSks3PxQxG9c8PJMa5nUw0stH8UOySUgkofmMy0n7vTUsF5Mdqg==", 3147 | "requires": { 3148 | "@smithy/types": "^2.3.0", 3149 | "@smithy/util-buffer-from": "^2.0.0", 3150 | "@smithy/util-utf8": "^2.0.0", 3151 | "tslib": "^2.5.0" 3152 | } 3153 | }, 3154 | "@smithy/hash-stream-node": { 3155 | "version": "2.0.6", 3156 | "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-2.0.6.tgz", 3157 | "integrity": "sha512-BWtWJ8Ppc8z+Rz9XBu4Hcl+pC+9BKV5GvbQpXZf4IsQX6oTwqo0qJK7Lwe5mYM0hRnqgwjn2mhQ303fIRN7AMw==", 3158 | "requires": { 3159 | "@smithy/types": "^2.3.0", 3160 | "@smithy/util-utf8": "^2.0.0", 3161 | "tslib": "^2.5.0" 3162 | } 3163 | }, 3164 | "@smithy/invalid-dependency": { 3165 | "version": "2.0.6", 3166 | "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-2.0.6.tgz", 3167 | "integrity": "sha512-L5MUyl9mzawIvBxr0Hg3J/Q5qZFXKcBgMk0PacfK3Mthp4WAR6h7iMxdSQ23Q7X/kxOrpZuoYEdh1BWLKbDc8Q==", 3168 | "requires": { 3169 | "@smithy/types": "^2.3.0", 3170 | "tslib": "^2.5.0" 3171 | } 3172 | }, 3173 | "@smithy/is-array-buffer": { 3174 | "version": "2.0.0", 3175 | "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.0.0.tgz", 3176 | "integrity": "sha512-z3PjFjMyZNI98JFRJi/U0nGoLWMSJlDjAW4QUX2WNZLas5C0CmVV6LJ01JI0k90l7FvpmixjWxPFmENSClQ7ug==", 3177 | "requires": { 3178 | "tslib": "^2.5.0" 3179 | } 3180 | }, 3181 | "@smithy/md5-js": { 3182 | "version": "2.0.6", 3183 | "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-2.0.6.tgz", 3184 | "integrity": "sha512-Ek2qSFFICJa2E0RRVsIkQ6c1jeJTESwF24SMh3liKFNbr2Ax4uJiWsLhDBDQFOhJwjp1mbC4lN85isfGS+KhQg==", 3185 | "requires": { 3186 | "@smithy/types": "^2.3.0", 3187 | "@smithy/util-utf8": "^2.0.0", 3188 | "tslib": "^2.5.0" 3189 | } 3190 | }, 3191 | "@smithy/middleware-content-length": { 3192 | "version": "2.0.8", 3193 | "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-2.0.8.tgz", 3194 | "integrity": "sha512-fHJFsscHXrYhUSWMFJNXfsZW8KsyhWQfBgU3b0nvDfpm+NAeQLqKYNhywGrDwZQc1k+lt7Fw9faAquhNPxTZRA==", 3195 | "requires": { 3196 | "@smithy/protocol-http": "^3.0.2", 3197 | "@smithy/types": "^2.3.0", 3198 | "tslib": "^2.5.0" 3199 | } 3200 | }, 3201 | "@smithy/middleware-endpoint": { 3202 | "version": "2.0.6", 3203 | "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-2.0.6.tgz", 3204 | "integrity": "sha512-MuSPPtEHFal/M77tR3ffLsdOfX29IZpA990nGuoPj5zQnAYrA4PYBGoqqrASQKm8Xb3C0NwuYzOATT7WX4f5Pg==", 3205 | "requires": { 3206 | "@smithy/middleware-serde": "^2.0.6", 3207 | "@smithy/types": "^2.3.0", 3208 | "@smithy/url-parser": "^2.0.6", 3209 | "@smithy/util-middleware": "^2.0.0", 3210 | "tslib": "^2.5.0" 3211 | } 3212 | }, 3213 | "@smithy/middleware-retry": { 3214 | "version": "2.0.9", 3215 | "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-2.0.9.tgz", 3216 | "integrity": "sha512-gneEqWj4l/ZjHdZPk0BFMXoTalRArdQ8i579/KqJgBAc6Ux5vnR/SSppkMCkj2kOQYwdypvzSPeqEW3ZrvIg6g==", 3217 | "requires": { 3218 | "@smithy/node-config-provider": "^2.0.9", 3219 | "@smithy/protocol-http": "^3.0.2", 3220 | "@smithy/service-error-classification": "^2.0.0", 3221 | "@smithy/types": "^2.3.0", 3222 | "@smithy/util-middleware": "^2.0.0", 3223 | "@smithy/util-retry": "^2.0.0", 3224 | "tslib": "^2.5.0", 3225 | "uuid": "^8.3.2" 3226 | } 3227 | }, 3228 | "@smithy/middleware-serde": { 3229 | "version": "2.0.6", 3230 | "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-2.0.6.tgz", 3231 | "integrity": "sha512-8/GODBngYbrS28CMZtaHIL4R9rLNSQ/zgb+N1OAZ02NwBUawlnLDcatve9YRzhJC/IWz0/pt+WimJZaO1sGcig==", 3232 | "requires": { 3233 | "@smithy/types": "^2.3.0", 3234 | "tslib": "^2.5.0" 3235 | } 3236 | }, 3237 | "@smithy/middleware-stack": { 3238 | "version": "2.0.0", 3239 | "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-2.0.0.tgz", 3240 | "integrity": "sha512-31XC1xNF65nlbc16yuh3wwTudmqs6qy4EseQUGF8A/p2m/5wdd/cnXJqpniy/XvXVwkHPz/GwV36HqzHtIKATQ==", 3241 | "requires": { 3242 | "tslib": "^2.5.0" 3243 | } 3244 | }, 3245 | "@smithy/node-config-provider": { 3246 | "version": "2.0.9", 3247 | "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-2.0.9.tgz", 3248 | "integrity": "sha512-TlSPbCwtT/jgNnmPQqKuCR5CFN8UIrCCHRrgUfs3NqRMuaLLeP8TPe1fSKq2J8h1M/jd4BF853gneles0gWevg==", 3249 | "requires": { 3250 | "@smithy/property-provider": "^2.0.7", 3251 | "@smithy/shared-ini-file-loader": "^2.0.8", 3252 | "@smithy/types": "^2.3.0", 3253 | "tslib": "^2.5.0" 3254 | } 3255 | }, 3256 | "@smithy/node-http-handler": { 3257 | "version": "2.1.2", 3258 | "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-2.1.2.tgz", 3259 | "integrity": "sha512-PdEEDCShuM8zxGoaRxmGB/1ikB8oeqz+ZAF9VIA8FCP3E59j8zDTF+wCELoWd1Y6gtxr+RcTAg5sA8nvn5qH/w==", 3260 | "requires": { 3261 | "@smithy/abort-controller": "^2.0.6", 3262 | "@smithy/protocol-http": "^3.0.2", 3263 | "@smithy/querystring-builder": "^2.0.6", 3264 | "@smithy/types": "^2.3.0", 3265 | "tslib": "^2.5.0" 3266 | } 3267 | }, 3268 | "@smithy/property-provider": { 3269 | "version": "2.0.7", 3270 | "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-2.0.7.tgz", 3271 | "integrity": "sha512-XT8Tl7YNxM8tCtGqy7v7DSf6PxyXaPE9cdA/Yj4dEw2b05V3RrPqsP+t5XJiZu0yIsQ7pdeYZWv2sSEWVjNeAg==", 3272 | "requires": { 3273 | "@smithy/types": "^2.3.0", 3274 | "tslib": "^2.5.0" 3275 | } 3276 | }, 3277 | "@smithy/protocol-http": { 3278 | "version": "3.0.2", 3279 | "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-3.0.2.tgz", 3280 | "integrity": "sha512-LUOWCPRihvJBkdSs+ivK9m1f/rMfF3n9Zpzg8qdry2eIG4HQqqLBMWQyF9bgk7JhsrrOa3//jJKhXzvL7wL5Xw==", 3281 | "requires": { 3282 | "@smithy/types": "^2.3.0", 3283 | "tslib": "^2.5.0" 3284 | } 3285 | }, 3286 | "@smithy/querystring-builder": { 3287 | "version": "2.0.6", 3288 | "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-2.0.6.tgz", 3289 | "integrity": "sha512-HnU00shCGoV8vKJZTiNBkNvR9NogU3NIUaVMAGJPSqNGJj3psWo+TUrC0BVCDcwiCljXwXCFGJqIcsWtClrktQ==", 3290 | "requires": { 3291 | "@smithy/types": "^2.3.0", 3292 | "@smithy/util-uri-escape": "^2.0.0", 3293 | "tslib": "^2.5.0" 3294 | } 3295 | }, 3296 | "@smithy/querystring-parser": { 3297 | "version": "2.0.6", 3298 | "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-2.0.6.tgz", 3299 | "integrity": "sha512-i4LKoXHP7pTFAPjLIJyQXYOhWokbcFha3WWsX74sAKmuluv0XM2cxONZoFxwEzmWhsNyM6buSwJSZXyPiec0AQ==", 3300 | "requires": { 3301 | "@smithy/types": "^2.3.0", 3302 | "tslib": "^2.5.0" 3303 | } 3304 | }, 3305 | "@smithy/service-error-classification": { 3306 | "version": "2.0.0", 3307 | "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-2.0.0.tgz", 3308 | "integrity": "sha512-2z5Nafy1O0cTf69wKyNjGW/sNVMiqDnb4jgwfMG8ye8KnFJ5qmJpDccwIbJNhXIfbsxTg9SEec2oe1cexhMJvw==" 3309 | }, 3310 | "@smithy/shared-ini-file-loader": { 3311 | "version": "2.0.8", 3312 | "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-2.0.8.tgz", 3313 | "integrity": "sha512-4u+V+Dv7JGpJ0tppB5rxCem7WhdFux950z4cGPhV0kHTPkKe8DDgINzOlVa2RBu5dI33D02OBJcxFjhW4FPORg==", 3314 | "requires": { 3315 | "@smithy/types": "^2.3.0", 3316 | "tslib": "^2.5.0" 3317 | } 3318 | }, 3319 | "@smithy/signature-v4": { 3320 | "version": "2.0.6", 3321 | "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-2.0.6.tgz", 3322 | "integrity": "sha512-4zNTi8w4sky07YKq7oYucZt4ogY00IEaS1NFDXxmCN5V/ywE0WiK+WMim+8wtYQmB0qy3oExZR4LoCAml6j/rA==", 3323 | "requires": { 3324 | "@smithy/eventstream-codec": "^2.0.6", 3325 | "@smithy/is-array-buffer": "^2.0.0", 3326 | "@smithy/types": "^2.3.0", 3327 | "@smithy/util-hex-encoding": "^2.0.0", 3328 | "@smithy/util-middleware": "^2.0.0", 3329 | "@smithy/util-uri-escape": "^2.0.0", 3330 | "@smithy/util-utf8": "^2.0.0", 3331 | "tslib": "^2.5.0" 3332 | } 3333 | }, 3334 | "@smithy/smithy-client": { 3335 | "version": "2.1.3", 3336 | "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-2.1.3.tgz", 3337 | "integrity": "sha512-nSMMp2AKqcG/ruzCY01ogrMdbq/WS1cvGStTsw7yd6bTpp/bGtlOgXvy3h7e0zP7w2DH1AtvIwzYBD6ejZePsQ==", 3338 | "requires": { 3339 | "@smithy/middleware-stack": "^2.0.0", 3340 | "@smithy/types": "^2.3.0", 3341 | "@smithy/util-stream": "^2.0.9", 3342 | "tslib": "^2.5.0" 3343 | } 3344 | }, 3345 | "@smithy/types": { 3346 | "version": "2.3.0", 3347 | "resolved": "https://registry.npmjs.org/@smithy/types/-/types-2.3.0.tgz", 3348 | "integrity": "sha512-pJce3rd39MElkV57UTPAoSYAApjQLELUxjU5adHNLYk9gnPvyIGbJNJTZVVFu00BrgZH3W/cQe8QuFcknDyodQ==", 3349 | "requires": { 3350 | "tslib": "^2.5.0" 3351 | } 3352 | }, 3353 | "@smithy/url-parser": { 3354 | "version": "2.0.6", 3355 | "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-2.0.6.tgz", 3356 | "integrity": "sha512-9i6j5QW6bapHZ4rtkXOAm0hOUG1+5IVdVJXNSUTcNskwJchZH5IQuDNPCbgUi/u2P8EZazKt4wXT51QxOXCz1A==", 3357 | "requires": { 3358 | "@smithy/querystring-parser": "^2.0.6", 3359 | "@smithy/types": "^2.3.0", 3360 | "tslib": "^2.5.0" 3361 | } 3362 | }, 3363 | "@smithy/util-base64": { 3364 | "version": "2.0.0", 3365 | "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-2.0.0.tgz", 3366 | "integrity": "sha512-Zb1E4xx+m5Lud8bbeYi5FkcMJMnn+1WUnJF3qD7rAdXpaL7UjkFQLdmW5fHadoKbdHpwH9vSR8EyTJFHJs++tA==", 3367 | "requires": { 3368 | "@smithy/util-buffer-from": "^2.0.0", 3369 | "tslib": "^2.5.0" 3370 | } 3371 | }, 3372 | "@smithy/util-body-length-browser": { 3373 | "version": "2.0.0", 3374 | "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-2.0.0.tgz", 3375 | "integrity": "sha512-JdDuS4ircJt+FDnaQj88TzZY3+njZ6O+D3uakS32f2VNnDo3vyEuNdBOh/oFd8Df1zSZOuH1HEChk2AOYDezZg==", 3376 | "requires": { 3377 | "tslib": "^2.5.0" 3378 | } 3379 | }, 3380 | "@smithy/util-body-length-node": { 3381 | "version": "2.1.0", 3382 | "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-2.1.0.tgz", 3383 | "integrity": "sha512-/li0/kj/y3fQ3vyzn36NTLGmUwAICb7Jbe/CsWCktW363gh1MOcpEcSO3mJ344Gv2dqz8YJCLQpb6hju/0qOWw==", 3384 | "requires": { 3385 | "tslib": "^2.5.0" 3386 | } 3387 | }, 3388 | "@smithy/util-buffer-from": { 3389 | "version": "2.0.0", 3390 | "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.0.0.tgz", 3391 | "integrity": "sha512-/YNnLoHsR+4W4Vf2wL5lGv0ksg8Bmk3GEGxn2vEQt52AQaPSCuaO5PM5VM7lP1K9qHRKHwrPGktqVoAHKWHxzw==", 3392 | "requires": { 3393 | "@smithy/is-array-buffer": "^2.0.0", 3394 | "tslib": "^2.5.0" 3395 | } 3396 | }, 3397 | "@smithy/util-config-provider": { 3398 | "version": "2.0.0", 3399 | "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-2.0.0.tgz", 3400 | "integrity": "sha512-xCQ6UapcIWKxXHEU4Mcs2s7LcFQRiU3XEluM2WcCjjBtQkUN71Tb+ydGmJFPxMUrW/GWMgQEEGipLym4XG0jZg==", 3401 | "requires": { 3402 | "tslib": "^2.5.0" 3403 | } 3404 | }, 3405 | "@smithy/util-defaults-mode-browser": { 3406 | "version": "2.0.7", 3407 | "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-2.0.7.tgz", 3408 | "integrity": "sha512-s1caKxC7Y87Q72Goll//clZs2WNBfG9WtFDWVRS+Qgk147YPCOUYtkpuD0XZAh/vbayObFz5tQ1fiX4G19HSCA==", 3409 | "requires": { 3410 | "@smithy/property-provider": "^2.0.7", 3411 | "@smithy/types": "^2.3.0", 3412 | "bowser": "^2.11.0", 3413 | "tslib": "^2.5.0" 3414 | } 3415 | }, 3416 | "@smithy/util-defaults-mode-node": { 3417 | "version": "2.0.9", 3418 | "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-2.0.9.tgz", 3419 | "integrity": "sha512-HlV4iNL3/PgPpmDGs0+XrAKtwFQ8rOs5P2y5Dye8dUYaJauadlzHRrNKk7wH2aBYswvT2HM+PIgXamvrE7xbcw==", 3420 | "requires": { 3421 | "@smithy/config-resolver": "^2.0.7", 3422 | "@smithy/credential-provider-imds": "^2.0.9", 3423 | "@smithy/node-config-provider": "^2.0.9", 3424 | "@smithy/property-provider": "^2.0.7", 3425 | "@smithy/types": "^2.3.0", 3426 | "tslib": "^2.5.0" 3427 | } 3428 | }, 3429 | "@smithy/util-hex-encoding": { 3430 | "version": "2.0.0", 3431 | "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-2.0.0.tgz", 3432 | "integrity": "sha512-c5xY+NUnFqG6d7HFh1IFfrm3mGl29lC+vF+geHv4ToiuJCBmIfzx6IeHLg+OgRdPFKDXIw6pvi+p3CsscaMcMA==", 3433 | "requires": { 3434 | "tslib": "^2.5.0" 3435 | } 3436 | }, 3437 | "@smithy/util-middleware": { 3438 | "version": "2.0.0", 3439 | "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-2.0.0.tgz", 3440 | "integrity": "sha512-eCWX4ECuDHn1wuyyDdGdUWnT4OGyIzV0LN1xRttBFMPI9Ff/4heSHVxneyiMtOB//zpXWCha1/SWHJOZstG7kA==", 3441 | "requires": { 3442 | "tslib": "^2.5.0" 3443 | } 3444 | }, 3445 | "@smithy/util-retry": { 3446 | "version": "2.0.0", 3447 | "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-2.0.0.tgz", 3448 | "integrity": "sha512-/dvJ8afrElasuiiIttRJeoS2sy8YXpksQwiM/TcepqdRVp7u4ejd9C4IQURHNjlfPUT7Y6lCDSa2zQJbdHhVTg==", 3449 | "requires": { 3450 | "@smithy/service-error-classification": "^2.0.0", 3451 | "tslib": "^2.5.0" 3452 | } 3453 | }, 3454 | "@smithy/util-stream": { 3455 | "version": "2.0.9", 3456 | "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-2.0.9.tgz", 3457 | "integrity": "sha512-Fn2/3IMwqu0l2hOC7K3bbtSqFEJ6nOzMLoPVIhuH84yw/95itNkFBwVbIIiAfDaout0ZfZ26+5ch86E2q3avww==", 3458 | "requires": { 3459 | "@smithy/fetch-http-handler": "^2.1.2", 3460 | "@smithy/node-http-handler": "^2.1.2", 3461 | "@smithy/types": "^2.3.0", 3462 | "@smithy/util-base64": "^2.0.0", 3463 | "@smithy/util-buffer-from": "^2.0.0", 3464 | "@smithy/util-hex-encoding": "^2.0.0", 3465 | "@smithy/util-utf8": "^2.0.0", 3466 | "tslib": "^2.5.0" 3467 | } 3468 | }, 3469 | "@smithy/util-uri-escape": { 3470 | "version": "2.0.0", 3471 | "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-2.0.0.tgz", 3472 | "integrity": "sha512-ebkxsqinSdEooQduuk9CbKcI+wheijxEb3utGXkCoYQkJnwTnLbH1JXGimJtUkQwNQbsbuYwG2+aFVyZf5TLaw==", 3473 | "requires": { 3474 | "tslib": "^2.5.0" 3475 | } 3476 | }, 3477 | "@smithy/util-utf8": { 3478 | "version": "2.0.0", 3479 | "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.0.0.tgz", 3480 | "integrity": "sha512-rctU1VkziY84n5OXe3bPNpKR001ZCME2JCaBBFgtiM2hfKbHFudc/BkMuPab8hRbLd0j3vbnBTTZ1igBf0wgiQ==", 3481 | "requires": { 3482 | "@smithy/util-buffer-from": "^2.0.0", 3483 | "tslib": "^2.5.0" 3484 | } 3485 | }, 3486 | "@smithy/util-waiter": { 3487 | "version": "2.0.6", 3488 | "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-2.0.6.tgz", 3489 | "integrity": "sha512-wjxvKB4XSfgpOg3lr4RulnVhd21fMMC4CPARBwrSN7+3U28fwOifv8f7T+Ibay9DAQTj9qXxmd8ag6WXBRgNhg==", 3490 | "requires": { 3491 | "@smithy/abort-controller": "^2.0.6", 3492 | "@smithy/types": "^2.3.0", 3493 | "tslib": "^2.5.0" 3494 | } 3495 | }, 3496 | "@swc/helpers": { 3497 | "version": "0.5.1", 3498 | "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", 3499 | "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", 3500 | "requires": { 3501 | "tslib": "^2.4.0" 3502 | } 3503 | }, 3504 | "@transloadit/prettier-bytes": { 3505 | "version": "0.0.9", 3506 | "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.9.tgz", 3507 | "integrity": "sha512-pCvdmea/F3Tn4hAtHqNXmjcixSaroJJ+L3STXlYJdir1g1m2mRQpWbN8a4SvgQtaw2930Ckhdx8qXdXBFMKbAA==" 3508 | }, 3509 | "@types/node": { 3510 | "version": "20.6.0", 3511 | "resolved": "https://registry.npmjs.org/@types/node/-/node-20.6.0.tgz", 3512 | "integrity": "sha512-najjVq5KN2vsH2U/xyh2opaSEz6cZMR2SetLIlxlj08nOcmPOemJmUK2o4kUzfLqfrWE0PIrNeE16XhYDd3nqg==", 3513 | "dev": true 3514 | }, 3515 | "@types/prop-types": { 3516 | "version": "15.7.5", 3517 | "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz", 3518 | "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==", 3519 | "dev": true 3520 | }, 3521 | "@types/react": { 3522 | "version": "18.2.21", 3523 | "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.21.tgz", 3524 | "integrity": "sha512-neFKG/sBAwGxHgXiIxnbm3/AAVQ/cMRS93hvBpg8xYRbeQSPVABp9U2bRnPf0iI4+Ucdv3plSxKK+3CW2ENJxA==", 3525 | "dev": true, 3526 | "requires": { 3527 | "@types/prop-types": "*", 3528 | "@types/scheduler": "*", 3529 | "csstype": "^3.0.2" 3530 | } 3531 | }, 3532 | "@types/scheduler": { 3533 | "version": "0.16.3", 3534 | "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", 3535 | "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==", 3536 | "dev": true 3537 | }, 3538 | "@uppy/aws-s3": { 3539 | "version": "3.3.0", 3540 | "resolved": "https://registry.npmjs.org/@uppy/aws-s3/-/aws-s3-3.3.0.tgz", 3541 | "integrity": "sha512-M+dzWWdCZHBaauZTitLHA/ciDU8FMJ310fyTZ10PiBOPCyw+aGDtfzoyYVmaDHf5jkw/mIOgyQjO8VM+pTjAzA==", 3542 | "requires": { 3543 | "@uppy/aws-s3-multipart": "^3.6.0", 3544 | "@uppy/companion-client": "^3.4.0", 3545 | "@uppy/utils": "^5.5.0", 3546 | "@uppy/xhr-upload": "^3.4.0", 3547 | "nanoid": "^4.0.0" 3548 | }, 3549 | "dependencies": { 3550 | "nanoid": { 3551 | "version": "4.0.2", 3552 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 3553 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 3554 | } 3555 | } 3556 | }, 3557 | "@uppy/aws-s3-multipart": { 3558 | "version": "3.6.0", 3559 | "resolved": "https://registry.npmjs.org/@uppy/aws-s3-multipart/-/aws-s3-multipart-3.6.0.tgz", 3560 | "integrity": "sha512-4TYOptKsofNks11ktRbrGaPvEapd3hj+IIatcAxjJ0RX4SwwjMbvSNKzS3PBbwLnpVfAIFHA/n5S9EgKocVmYg==", 3561 | "requires": { 3562 | "@uppy/companion-client": "^3.4.0", 3563 | "@uppy/utils": "^5.5.0" 3564 | } 3565 | }, 3566 | "@uppy/companion-client": { 3567 | "version": "3.4.0", 3568 | "resolved": "https://registry.npmjs.org/@uppy/companion-client/-/companion-client-3.4.0.tgz", 3569 | "integrity": "sha512-mGm3I/VdlaXvvYnbkidQDk3ttPY7VjvRwoHdXaAOHsIwPZBFUlCRggw84TQN9NejiasqTK/U7xvARDunjVhGBA==", 3570 | "requires": { 3571 | "@uppy/utils": "^5.5.0", 3572 | "namespace-emitter": "^2.0.1" 3573 | } 3574 | }, 3575 | "@uppy/core": { 3576 | "version": "3.5.0", 3577 | "resolved": "https://registry.npmjs.org/@uppy/core/-/core-3.5.0.tgz", 3578 | "integrity": "sha512-Ujm3VrFkqCNnsqvjZL1RQhIdccbjUxfLJW6EhirYcOLr1kCUjhgKSE/iOJnC2eadohHwOWFTx+X8e9bhH6HT7g==", 3579 | "requires": { 3580 | "@transloadit/prettier-bytes": "0.0.9", 3581 | "@uppy/store-default": "^3.0.3", 3582 | "@uppy/utils": "^5.5.0", 3583 | "lodash": "^4.17.21", 3584 | "mime-match": "^1.0.2", 3585 | "namespace-emitter": "^2.0.1", 3586 | "nanoid": "^4.0.0", 3587 | "preact": "^10.5.13" 3588 | }, 3589 | "dependencies": { 3590 | "nanoid": { 3591 | "version": "4.0.2", 3592 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 3593 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 3594 | } 3595 | } 3596 | }, 3597 | "@uppy/dashboard": { 3598 | "version": "3.5.2", 3599 | "resolved": "https://registry.npmjs.org/@uppy/dashboard/-/dashboard-3.5.2.tgz", 3600 | "integrity": "sha512-6CWhqqm93Uo2QpwYrDRCVrpxStCCK359Wr8CvaOi14BJrcE8JyPczXbrzHMzbjKt2Rz8G3TzQUa1r9nZkylrGQ==", 3601 | "requires": { 3602 | "@transloadit/prettier-bytes": "0.0.7", 3603 | "@uppy/informer": "^3.0.3", 3604 | "@uppy/provider-views": "^3.5.0", 3605 | "@uppy/status-bar": "^3.2.4", 3606 | "@uppy/thumbnail-generator": "^3.0.4", 3607 | "@uppy/utils": "^5.5.0", 3608 | "classnames": "^2.2.6", 3609 | "is-shallow-equal": "^1.0.1", 3610 | "lodash": "^4.17.21", 3611 | "memoize-one": "^6.0.0", 3612 | "nanoid": "^4.0.0", 3613 | "preact": "^10.5.13" 3614 | }, 3615 | "dependencies": { 3616 | "@transloadit/prettier-bytes": { 3617 | "version": "0.0.7", 3618 | "resolved": "https://registry.npmjs.org/@transloadit/prettier-bytes/-/prettier-bytes-0.0.7.tgz", 3619 | "integrity": "sha512-VeJbUb0wEKbcwaSlj5n+LscBl9IPgLPkHVGBkh00cztv6X4L/TJXK58LzFuBKX7/GAfiGhIwH67YTLTlzvIzBA==" 3620 | }, 3621 | "nanoid": { 3622 | "version": "4.0.2", 3623 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 3624 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 3625 | } 3626 | } 3627 | }, 3628 | "@uppy/drag-drop": { 3629 | "version": "3.0.3", 3630 | "resolved": "https://registry.npmjs.org/@uppy/drag-drop/-/drag-drop-3.0.3.tgz", 3631 | "integrity": "sha512-0bCgQKxg+9vkxQipTgrX9yQIuK9a0hZrkipm1+Ynq6jTeig49b7II1bWYnoKdiYhi6nRE4UnDJf4z09yCAU7rA==", 3632 | "requires": { 3633 | "@uppy/utils": "^5.4.3", 3634 | "preact": "^10.5.13" 3635 | } 3636 | }, 3637 | "@uppy/file-input": { 3638 | "version": "3.0.3", 3639 | "resolved": "https://registry.npmjs.org/@uppy/file-input/-/file-input-3.0.3.tgz", 3640 | "integrity": "sha512-tYmbQIWjNPnKFFzBmZcNHFyMkfPAPSOrse+3qnmSWYzGKWaZfKP1zM0MiABZO/AH5X6hhLIQDRY8TsyiPfmJ9w==", 3641 | "requires": { 3642 | "@uppy/utils": "^5.4.3", 3643 | "preact": "^10.5.13" 3644 | } 3645 | }, 3646 | "@uppy/informer": { 3647 | "version": "3.0.3", 3648 | "resolved": "https://registry.npmjs.org/@uppy/informer/-/informer-3.0.3.tgz", 3649 | "integrity": "sha512-jMMlZ0bCJ2ruJJ0LMl7pJrM/b0e9vjVEHvYYdQghnRSRDSMONcTJXEqNZ0Lu4x7OZR1SGvqqchFk7n3vAsuERw==", 3650 | "requires": { 3651 | "@uppy/utils": "^5.4.3", 3652 | "preact": "^10.5.13" 3653 | } 3654 | }, 3655 | "@uppy/progress-bar": { 3656 | "version": "3.0.3", 3657 | "resolved": "https://registry.npmjs.org/@uppy/progress-bar/-/progress-bar-3.0.3.tgz", 3658 | "integrity": "sha512-s0iRCnDQ5zcyk8ZyTF46W7Kkf9S1hH1oj2+GBYDdFzc72tgrx49arHs3YobkH7X9whhc/qTskLe32cyC9oe6ZQ==", 3659 | "requires": { 3660 | "@uppy/utils": "^5.4.3", 3661 | "preact": "^10.5.13" 3662 | } 3663 | }, 3664 | "@uppy/provider-views": { 3665 | "version": "3.5.0", 3666 | "resolved": "https://registry.npmjs.org/@uppy/provider-views/-/provider-views-3.5.0.tgz", 3667 | "integrity": "sha512-xSp5xQ6NsPLS2XJdsdBQCLgQELEd0BvVM2R34/XFyGTSqeA4NJKHfM6kSKwjW/jkj26CyFN5nth6CGeNaaKQ+w==", 3668 | "requires": { 3669 | "@uppy/utils": "^5.4.3", 3670 | "classnames": "^2.2.6", 3671 | "nanoid": "^4.0.0", 3672 | "p-queue": "^7.3.4", 3673 | "preact": "^10.5.13" 3674 | }, 3675 | "dependencies": { 3676 | "nanoid": { 3677 | "version": "4.0.2", 3678 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 3679 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 3680 | } 3681 | } 3682 | }, 3683 | "@uppy/react": { 3684 | "version": "3.1.3", 3685 | "resolved": "https://registry.npmjs.org/@uppy/react/-/react-3.1.3.tgz", 3686 | "integrity": "sha512-nzSpJ2PZ3lGp0wwGAxlvyIemUKE1HIITzLA9h6sUJLrweVndbXcZzxGvLm2M09l3lAE8LeybRo5Pnsn8adaH+w==", 3687 | "requires": { 3688 | "@uppy/utils": "^5.4.1", 3689 | "prop-types": "^15.6.1" 3690 | } 3691 | }, 3692 | "@uppy/status-bar": { 3693 | "version": "3.2.4", 3694 | "resolved": "https://registry.npmjs.org/@uppy/status-bar/-/status-bar-3.2.4.tgz", 3695 | "integrity": "sha512-WuK0LRmz7H7iBDV0VO+iUNoXmhbyeCEAWzslX0nqhkGuMchIQprVwd80ZegACySajqcpV1RDNxdhmgtCbRn8wA==", 3696 | "requires": { 3697 | "@transloadit/prettier-bytes": "0.0.9", 3698 | "@uppy/utils": "^5.4.3", 3699 | "classnames": "^2.2.6", 3700 | "preact": "^10.5.13" 3701 | } 3702 | }, 3703 | "@uppy/store-default": { 3704 | "version": "3.0.3", 3705 | "resolved": "https://registry.npmjs.org/@uppy/store-default/-/store-default-3.0.3.tgz", 3706 | "integrity": "sha512-/zlvQNj4HjkthI+7dNdj/8mOlTg1Zb1gJ/ZsOxof0g3xXD+OAwm7asRnOwpfj2dos+lExdW/zMn8XsRGsuvb6Q==" 3707 | }, 3708 | "@uppy/thumbnail-generator": { 3709 | "version": "3.0.4", 3710 | "resolved": "https://registry.npmjs.org/@uppy/thumbnail-generator/-/thumbnail-generator-3.0.4.tgz", 3711 | "integrity": "sha512-f7E+4F6UWunX3jnV3wfL+k5zQaukKmD1z2qYbmRg5OuE9CxDJrNdAVk14KDAi79seejPJa6VVfCgGjTlIGLaRA==", 3712 | "requires": { 3713 | "@uppy/utils": "^5.4.3", 3714 | "exifr": "^7.0.0" 3715 | } 3716 | }, 3717 | "@uppy/utils": { 3718 | "version": "5.5.0", 3719 | "resolved": "https://registry.npmjs.org/@uppy/utils/-/utils-5.5.0.tgz", 3720 | "integrity": "sha512-hNeYEbihSq/dKK7CZ3euvv3pN2NAO0z1x2FFoZsTajSxY4f7PPOZJoltvOQEKx1vFljhLvOY33s3KNlvXjogqg==", 3721 | "requires": { 3722 | "lodash": "^4.17.21", 3723 | "preact": "^10.5.13" 3724 | } 3725 | }, 3726 | "@uppy/xhr-upload": { 3727 | "version": "3.4.0", 3728 | "resolved": "https://registry.npmjs.org/@uppy/xhr-upload/-/xhr-upload-3.4.0.tgz", 3729 | "integrity": "sha512-JfJWYkV4NCkeDgS80XpSZwV6D7ssVgTeVckE/h96Sg+ehc7kXCb1aqurzOLZJJmuRiZZzcLpZEMRXYSu1tIPRQ==", 3730 | "requires": { 3731 | "@uppy/companion-client": "^3.4.0", 3732 | "@uppy/utils": "^5.5.0", 3733 | "nanoid": "^4.0.0" 3734 | }, 3735 | "dependencies": { 3736 | "nanoid": { 3737 | "version": "4.0.2", 3738 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz", 3739 | "integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==" 3740 | } 3741 | } 3742 | }, 3743 | "bowser": { 3744 | "version": "2.11.0", 3745 | "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", 3746 | "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" 3747 | }, 3748 | "busboy": { 3749 | "version": "1.6.0", 3750 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", 3751 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", 3752 | "requires": { 3753 | "streamsearch": "^1.1.0" 3754 | } 3755 | }, 3756 | "caniuse-lite": { 3757 | "version": "1.0.30001533", 3758 | "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001533.tgz", 3759 | "integrity": "sha512-9aY/b05NKU4Yl2sbcJhn4A7MsGwR1EPfW/nrqsnqVA0Oq50wpmPaGI+R1Z0UKlUl96oxUkGEOILWtOHck0eCWw==" 3760 | }, 3761 | "classnames": { 3762 | "version": "2.3.2", 3763 | "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", 3764 | "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" 3765 | }, 3766 | "client-only": { 3767 | "version": "0.0.1", 3768 | "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", 3769 | "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" 3770 | }, 3771 | "crypto-hash": { 3772 | "version": "2.0.1", 3773 | "resolved": "https://registry.npmjs.org/crypto-hash/-/crypto-hash-2.0.1.tgz", 3774 | "integrity": "sha512-t4mkp7Vh6MuCZRBf0XLzBOfhkH3nW6YEAotMDSjshVQ1GffCMGdPLSr7pKH0rdXY02jTjAZ7QW2apD0buaZXcQ==" 3775 | }, 3776 | "csstype": { 3777 | "version": "3.1.2", 3778 | "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", 3779 | "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==", 3780 | "dev": true 3781 | }, 3782 | "eventemitter3": { 3783 | "version": "5.0.1", 3784 | "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", 3785 | "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" 3786 | }, 3787 | "exifr": { 3788 | "version": "7.1.3", 3789 | "resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz", 3790 | "integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw==" 3791 | }, 3792 | "fast-xml-parser": { 3793 | "version": "4.2.5", 3794 | "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.2.5.tgz", 3795 | "integrity": "sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==", 3796 | "requires": { 3797 | "strnum": "^1.0.5" 3798 | } 3799 | }, 3800 | "glob-to-regexp": { 3801 | "version": "0.4.1", 3802 | "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", 3803 | "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==" 3804 | }, 3805 | "graceful-fs": { 3806 | "version": "4.2.11", 3807 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 3808 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 3809 | }, 3810 | "is-shallow-equal": { 3811 | "version": "1.0.1", 3812 | "resolved": "https://registry.npmjs.org/is-shallow-equal/-/is-shallow-equal-1.0.1.tgz", 3813 | "integrity": "sha512-lq5RvK+85Hs5J3p4oA4256M1FEffzmI533ikeDHvJd42nouRRx5wBzt36JuviiGe5dIPyHON/d0/Up+PBo6XkQ==" 3814 | }, 3815 | "js-tokens": { 3816 | "version": "4.0.0", 3817 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 3818 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" 3819 | }, 3820 | "lodash": { 3821 | "version": "4.17.21", 3822 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 3823 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" 3824 | }, 3825 | "loose-envify": { 3826 | "version": "1.4.0", 3827 | "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", 3828 | "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", 3829 | "requires": { 3830 | "js-tokens": "^3.0.0 || ^4.0.0" 3831 | } 3832 | }, 3833 | "memoize-one": { 3834 | "version": "6.0.0", 3835 | "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", 3836 | "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" 3837 | }, 3838 | "mime-match": { 3839 | "version": "1.0.2", 3840 | "resolved": "https://registry.npmjs.org/mime-match/-/mime-match-1.0.2.tgz", 3841 | "integrity": "sha512-VXp/ugGDVh3eCLOBCiHZMYWQaTNUHv2IJrut+yXA6+JbLPXHglHwfS/5A5L0ll+jkCY7fIzRJcH6OIunF+c6Cg==", 3842 | "requires": { 3843 | "wildcard": "^1.1.0" 3844 | } 3845 | }, 3846 | "namespace-emitter": { 3847 | "version": "2.0.1", 3848 | "resolved": "https://registry.npmjs.org/namespace-emitter/-/namespace-emitter-2.0.1.tgz", 3849 | "integrity": "sha512-N/sMKHniSDJBjfrkbS/tpkPj4RAbvW3mr8UAzvlMHyun93XEm83IAvhWtJVHo+RHn/oO8Job5YN4b+wRjSVp5g==" 3850 | }, 3851 | "nanoid": { 3852 | "version": "3.3.6", 3853 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", 3854 | "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==" 3855 | }, 3856 | "next": { 3857 | "version": "13.4.19", 3858 | "resolved": "https://registry.npmjs.org/next/-/next-13.4.19.tgz", 3859 | "integrity": "sha512-HuPSzzAbJ1T4BD8e0bs6B9C1kWQ6gv8ykZoRWs5AQoiIuqbGHHdQO7Ljuvg05Q0Z24E2ABozHe6FxDvI6HfyAw==", 3860 | "requires": { 3861 | "@next/env": "13.4.19", 3862 | "@next/swc-darwin-arm64": "13.4.19", 3863 | "@next/swc-darwin-x64": "13.4.19", 3864 | "@next/swc-linux-arm64-gnu": "13.4.19", 3865 | "@next/swc-linux-arm64-musl": "13.4.19", 3866 | "@next/swc-linux-x64-gnu": "13.4.19", 3867 | "@next/swc-linux-x64-musl": "13.4.19", 3868 | "@next/swc-win32-arm64-msvc": "13.4.19", 3869 | "@next/swc-win32-ia32-msvc": "13.4.19", 3870 | "@next/swc-win32-x64-msvc": "13.4.19", 3871 | "@swc/helpers": "0.5.1", 3872 | "busboy": "1.6.0", 3873 | "caniuse-lite": "^1.0.30001406", 3874 | "postcss": "8.4.14", 3875 | "styled-jsx": "5.1.1", 3876 | "watchpack": "2.4.0", 3877 | "zod": "3.21.4" 3878 | } 3879 | }, 3880 | "object-assign": { 3881 | "version": "4.1.1", 3882 | "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", 3883 | "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" 3884 | }, 3885 | "p-queue": { 3886 | "version": "7.4.1", 3887 | "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-7.4.1.tgz", 3888 | "integrity": "sha512-vRpMXmIkYF2/1hLBKisKeVYJZ8S2tZ0zEAmIJgdVKP2nq0nh4qCdf8bgw+ZgKrkh71AOCaqzwbJJk1WtdcF3VA==", 3889 | "requires": { 3890 | "eventemitter3": "^5.0.1", 3891 | "p-timeout": "^5.0.2" 3892 | } 3893 | }, 3894 | "p-timeout": { 3895 | "version": "5.1.0", 3896 | "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-5.1.0.tgz", 3897 | "integrity": "sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==" 3898 | }, 3899 | "picocolors": { 3900 | "version": "1.0.0", 3901 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", 3902 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" 3903 | }, 3904 | "postcss": { 3905 | "version": "8.4.14", 3906 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", 3907 | "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", 3908 | "requires": { 3909 | "nanoid": "^3.3.4", 3910 | "picocolors": "^1.0.0", 3911 | "source-map-js": "^1.0.2" 3912 | } 3913 | }, 3914 | "preact": { 3915 | "version": "10.17.1", 3916 | "resolved": "https://registry.npmjs.org/preact/-/preact-10.17.1.tgz", 3917 | "integrity": "sha512-X9BODrvQ4Ekwv9GURm9AKAGaomqXmip7NQTZgY7gcNmr7XE83adOMJvd3N42id1tMFU7ojiynRsYnY6/BRFxLA==" 3918 | }, 3919 | "prop-types": { 3920 | "version": "15.8.1", 3921 | "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", 3922 | "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", 3923 | "requires": { 3924 | "loose-envify": "^1.4.0", 3925 | "object-assign": "^4.1.1", 3926 | "react-is": "^16.13.1" 3927 | } 3928 | }, 3929 | "react": { 3930 | "version": "18.2.0", 3931 | "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", 3932 | "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", 3933 | "requires": { 3934 | "loose-envify": "^1.1.0" 3935 | } 3936 | }, 3937 | "react-dom": { 3938 | "version": "18.2.0", 3939 | "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", 3940 | "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", 3941 | "requires": { 3942 | "loose-envify": "^1.1.0", 3943 | "scheduler": "^0.23.0" 3944 | } 3945 | }, 3946 | "react-is": { 3947 | "version": "16.13.1", 3948 | "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", 3949 | "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" 3950 | }, 3951 | "scheduler": { 3952 | "version": "0.23.0", 3953 | "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", 3954 | "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", 3955 | "requires": { 3956 | "loose-envify": "^1.1.0" 3957 | } 3958 | }, 3959 | "source-map-js": { 3960 | "version": "1.0.2", 3961 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", 3962 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" 3963 | }, 3964 | "streamsearch": { 3965 | "version": "1.1.0", 3966 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", 3967 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==" 3968 | }, 3969 | "strnum": { 3970 | "version": "1.0.5", 3971 | "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", 3972 | "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" 3973 | }, 3974 | "styled-jsx": { 3975 | "version": "5.1.1", 3976 | "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", 3977 | "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", 3978 | "requires": { 3979 | "client-only": "0.0.1" 3980 | } 3981 | }, 3982 | "tslib": { 3983 | "version": "2.6.2", 3984 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", 3985 | "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" 3986 | }, 3987 | "typescript": { 3988 | "version": "5.2.2", 3989 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", 3990 | "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", 3991 | "dev": true 3992 | }, 3993 | "uuid": { 3994 | "version": "8.3.2", 3995 | "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", 3996 | "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" 3997 | }, 3998 | "watchpack": { 3999 | "version": "2.4.0", 4000 | "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", 4001 | "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", 4002 | "requires": { 4003 | "glob-to-regexp": "^0.4.1", 4004 | "graceful-fs": "^4.1.2" 4005 | } 4006 | }, 4007 | "wildcard": { 4008 | "version": "1.1.2", 4009 | "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-1.1.2.tgz", 4010 | "integrity": "sha512-DXukZJxpHA8LuotRwL0pP1+rS6CS7FF2qStDDE1C7DDg2rLud2PXRMuEDYIPhgEezwnlHNL4c+N6MfMTjCGTng==" 4011 | }, 4012 | "zod": { 4013 | "version": "3.21.4", 4014 | "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", 4015 | "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==" 4016 | } 4017 | } 4018 | } 4019 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "build": "next build", 5 | "dev": "next dev", 6 | "start": "next start" 7 | }, 8 | "dependencies": { 9 | "@aws-sdk/client-s3": "^3.410.0", 10 | "@aws-sdk/s3-request-presigner": "^3.410.0", 11 | "@uppy/aws-s3": "^3.3.0", 12 | "@uppy/aws-s3-multipart": "^3.6.0", 13 | "@uppy/core": "^3.5.0", 14 | "@uppy/dashboard": "^3.5.2", 15 | "@uppy/drag-drop": "^3.0.3", 16 | "@uppy/file-input": "^3.0.3", 17 | "@uppy/progress-bar": "^3.0.3", 18 | "@uppy/react": "^3.1.3", 19 | "crypto-hash": "^2.0.1", 20 | "next": "latest", 21 | "react": "18.2.0", 22 | "react-dom": "18.2.0" 23 | }, 24 | "engines": { 25 | "node": ">=18" 26 | }, 27 | "devDependencies": { 28 | "@types/node": "20.6.0", 29 | "@types/react": "18.2.21", 30 | "typescript": "5.2.2" 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /pages/api/multipart-upload/[endpoint].ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from "next"; 2 | import { 3 | UploadPartCommand, 4 | S3Client, 5 | ListPartsCommand, 6 | CreateMultipartUploadCommand, 7 | CompleteMultipartUploadCommand, 8 | AbortMultipartUploadCommand, 9 | } from "@aws-sdk/client-s3"; 10 | import { getSignedUrl } from "@aws-sdk/s3-request-presigner"; 11 | 12 | const { R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_KEY_ID, R2_BUCKET_NAME } = 13 | process.env; 14 | 15 | const R2 = new S3Client({ 16 | region: "auto", 17 | endpoint: `https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com`, 18 | credentials: { 19 | accessKeyId: R2_ACCESS_KEY_ID, 20 | secretAccessKey: R2_SECRET_KEY_ID, 21 | }, 22 | }); 23 | 24 | export default async function handler( 25 | req: NextApiRequest, 26 | res: NextApiResponse 27 | ) { 28 | const { endpoint } = req.query; 29 | 30 | switch (endpoint) { 31 | case "create-multipart-upload": 32 | return createMultipartUpload(req, res); 33 | case "prepare-upload-parts": 34 | return prepareUploadParts(req, res); 35 | case "complete-multipart-upload": 36 | return completeMultipartUpload(req, res); 37 | case "list-parts": 38 | return listParts(req, res); 39 | case "abort-multipart-upload": 40 | return abortMultipartUpload(req, res); 41 | case "sign-part": 42 | return signPart(req, res); 43 | } 44 | return res.status(404).end(); 45 | } 46 | 47 | export async function createMultipartUpload( 48 | req: NextApiRequest, 49 | res: NextApiResponse 50 | ) { 51 | const { file, contentType } = req.body; 52 | const filename = file.name; 53 | try { 54 | const params = { 55 | Bucket: R2_BUCKET_NAME, 56 | Key: `resources/${filename}`, 57 | ContentType: contentType, 58 | }; 59 | 60 | const command = new CreateMultipartUploadCommand({ ...params }); 61 | const response = await R2.send(command); 62 | return res.status(200).json({ 63 | uploadId: response.UploadId, 64 | key: response.Key, 65 | }); 66 | } catch (err) { 67 | console.log("Error", err); 68 | return res.status(500).json({ source: { status: 500 } }); 69 | } 70 | } 71 | 72 | export async function prepareUploadParts( 73 | req: NextApiRequest, 74 | res: NextApiResponse 75 | ) { 76 | const { partData } = req.body; 77 | 78 | const parts = partData.parts; 79 | 80 | const response = { 81 | presignedUrls: {}, 82 | }; 83 | 84 | for (let part of parts) { 85 | try { 86 | const params = { 87 | Bucket: R2_BUCKET_NAME, 88 | Key: partData.key, 89 | PartNumber: part.number, 90 | UploadId: partData.uploadId, 91 | }; 92 | const command = new UploadPartCommand({ ...params }); 93 | const url = await getSignedUrl(R2, command, { expiresIn: 3600 }); 94 | 95 | response.presignedUrls[part.number] = url; 96 | } catch (err) { 97 | console.log("Error", err); 98 | return res.status(500).json(err); 99 | } 100 | } 101 | 102 | return res.status(200).json(response); 103 | } 104 | 105 | export async function listParts(req: NextApiRequest, res: NextApiResponse) { 106 | const { key, uploadId } = req.body; 107 | 108 | try { 109 | const params = { 110 | Bucket: R2_BUCKET_NAME, 111 | Key: key, 112 | UploadId: uploadId, 113 | }; 114 | const command = new ListPartsCommand({ ...params }); 115 | const response = await R2.send(command); 116 | 117 | return res.status(200).json(response["Parts"]); 118 | } catch (err) { 119 | console.log("Error", err); 120 | return res.status(500).json(err); 121 | } 122 | } 123 | 124 | export async function completeMultipartUpload( 125 | req: NextApiRequest, 126 | res: NextApiResponse 127 | ) { 128 | const { key, uploadId, parts } = req.body; 129 | 130 | try { 131 | const params = { 132 | Bucket: R2_BUCKET_NAME, 133 | Key: key, 134 | UploadId: uploadId, 135 | MultipartUpload: { Parts: parts }, 136 | }; 137 | const command = new CompleteMultipartUploadCommand({ ...params }); 138 | const response = await R2.send(command); 139 | return res.status(200).json(response); 140 | } catch (err) { 141 | console.log("Error", err); 142 | return res.status(500).json(err); 143 | } 144 | } 145 | 146 | export async function abortMultipartUpload( 147 | req: NextApiRequest, 148 | res: NextApiResponse 149 | ) { 150 | const { key, uploadId } = req.body; 151 | 152 | try { 153 | const params = { 154 | Bucket: R2_BUCKET_NAME, 155 | Key: key, 156 | UploadId: uploadId, 157 | }; 158 | const command = new AbortMultipartUploadCommand({ ...params }); 159 | const response = await R2.send(command); 160 | 161 | return res.status(200).json(response); 162 | } catch (err) { 163 | console.log("Error", err); 164 | return res.status(500).json(err); 165 | } 166 | } 167 | 168 | export async function signPart(req: NextApiRequest, res: NextApiResponse) { 169 | const { key, uploadId } = req.body; 170 | const partNumber = parseInt(req.body.partNumber); 171 | 172 | const params = { 173 | Bucket: R2_BUCKET_NAME, 174 | Key: key, 175 | PartNumber: partNumber, 176 | UploadId: uploadId, 177 | }; 178 | 179 | const command = new UploadPartCommand({ ...params }); 180 | const url = await getSignedUrl(R2, command, { expiresIn: 3600 }); 181 | return res.status(200).json({ 182 | url: url, 183 | }); 184 | } 185 | -------------------------------------------------------------------------------- /pages/api/upload.ts: -------------------------------------------------------------------------------- 1 | import type { NextApiRequest, NextApiResponse } from "next"; 2 | import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3"; 3 | import { getSignedUrl } from "@aws-sdk/s3-request-presigner"; 4 | 5 | const { R2_ACCOUNT_ID, R2_ACCESS_KEY_ID, R2_SECRET_KEY_ID, R2_BUCKET_NAME } = 6 | process.env; 7 | 8 | const R2 = new S3Client({ 9 | region: "auto", 10 | endpoint: `https://${R2_ACCOUNT_ID}.r2.cloudflarestorage.com`, 11 | credentials: { 12 | accessKeyId: R2_ACCESS_KEY_ID, 13 | secretAccessKey: R2_SECRET_KEY_ID, 14 | }, 15 | }); 16 | 17 | export default async function handler( 18 | req: NextApiRequest, 19 | res: NextApiResponse 20 | ) { 21 | // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment 22 | const { filename, contentType } = JSON.parse(req.body as string); 23 | const signedUrl = await getSignedUrl( 24 | R2, 25 | new PutObjectCommand({ 26 | Bucket: R2_BUCKET_NAME, 27 | Key: `resources/${filename}`, 28 | ContentType: contentType as string, 29 | }), 30 | { expiresIn: 3600 } 31 | ); 32 | res.setHeader("Access-Control-Allow-Origin", "*"); 33 | res.json({ 34 | url: signedUrl, 35 | method: "PUT", 36 | }); 37 | res.end(); 38 | } 39 | -------------------------------------------------------------------------------- /pages/index.tsx: -------------------------------------------------------------------------------- 1 | import Head from "next/head"; 2 | import { FileUploader } from "../components/FileUploader"; 3 | import { MultipartFileUploader } from "../components/MultipartFileUploader"; 4 | import styles from "../styles/Home.module.css"; 5 | 6 | 7 | export default function Home() { 8 | return ( 9 |
10 | 11 | R2 bucket File Uploader 12 | 13 | 14 | 15 |
16 |

Upload files to R2 bucket

17 | 18 |

19 | You can drag and drop file(s) or directories below to upload them into 20 | a blob storage bucket. 21 |

22 | 23 |
24 |

Simple upload

25 | console.log(JSON.stringify(result))} 27 | /> 28 |
29 | 30 |
31 | 32 |
33 |

Multipart upload

34 | console.log(JSON.stringify(result))} 36 | /> 37 |
38 |
39 | 40 | 71 | 72 | 96 |
97 | ); 98 | } 99 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datopian/r2-bucket-uploader/2537eb5f63225f758a621cb2512e94c0fe317c29/public/favicon.ico -------------------------------------------------------------------------------- /public/vercel.svg: -------------------------------------------------------------------------------- 1 | 3 | 4 | -------------------------------------------------------------------------------- /styles/Home.module.css: -------------------------------------------------------------------------------- 1 | .container { 2 | min-height: 100vh; 3 | padding: 0 0.5rem; 4 | display: flex; 5 | flex-direction: column; 6 | justify-content: center; 7 | align-items: center; 8 | } 9 | 10 | .title a { 11 | color: #60a5fa; 12 | text-decoration: none; 13 | } 14 | 15 | .title a:hover, 16 | .title a:focus, 17 | .title a:active { 18 | text-decoration: underline; 19 | } 20 | 21 | .title { 22 | margin: 0 0 1rem; 23 | line-height: 1.15; 24 | font-size: 1.6rem; 25 | } 26 | 27 | .title { 28 | text-align: center; 29 | } 30 | 31 | .title, 32 | .description { 33 | text-align: center; 34 | } 35 | 36 | .description { 37 | line-height: 1.5; 38 | font-size: 1rem; 39 | } 40 | 41 | .grid { 42 | display: flex; 43 | align-items: center; 44 | justify-content: center; 45 | flex-wrap: wrap; 46 | 47 | max-width: 800px; 48 | margin-top: 3rem; 49 | } 50 | 51 | .card { 52 | margin: 1rem; 53 | flex-basis: 45%; 54 | padding: 1.5rem; 55 | text-align: left; 56 | color: inherit; 57 | text-decoration: none; 58 | border: 1px solid #eaeaea; 59 | border-radius: 10px; 60 | transition: 61 | color 0.15s ease, 62 | border-color 0.15s ease; 63 | } 64 | 65 | .card:hover, 66 | .card:focus, 67 | .card:active { 68 | color: #0070f3; 69 | border-color: #0070f3; 70 | } 71 | 72 | .card h3 { 73 | margin: 0 0 1rem 0; 74 | font-size: 1.5rem; 75 | } 76 | 77 | .card p { 78 | margin: 0; 79 | font-size: 1.25rem; 80 | line-height: 1.5; 81 | } 82 | 83 | .logo { 84 | height: 1em; 85 | } 86 | 87 | @media (max-width: 600px) { 88 | .grid { 89 | width: 100%; 90 | flex-direction: column; 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /styles/globals.css: -------------------------------------------------------------------------------- 1 | html, 2 | body { 3 | padding: 0; 4 | margin: 0; 5 | font-family: 6 | Inter, 7 | -apple-system, 8 | BlinkMacSystemFont, 9 | Segoe UI, 10 | Roboto, 11 | Oxygen, 12 | Ubuntu, 13 | Cantarell, 14 | Fira Sans, 15 | Droid Sans, 16 | Helvetica Neue, 17 | sans-serif; 18 | } 19 | 20 | a { 21 | color: inherit; 22 | text-decoration: none; 23 | } 24 | 25 | * { 26 | box-sizing: border-box; 27 | } 28 | 29 | img { 30 | max-width: 100%; 31 | height: auto; 32 | } 33 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "lib": [ 4 | "dom", 5 | "dom.iterable", 6 | "esnext" 7 | ], 8 | "allowJs": true, 9 | "skipLibCheck": true, 10 | "strict": false, 11 | "noEmit": true, 12 | "incremental": true, 13 | "esModuleInterop": true, 14 | "module": "esnext", 15 | "moduleResolution": "node", 16 | "resolveJsonModule": true, 17 | "isolatedModules": true, 18 | "jsx": "preserve" 19 | }, 20 | "include": [ 21 | "next-env.d.ts", 22 | "**/*.ts", 23 | "**/*.tsx" 24 | ], 25 | "exclude": [ 26 | "node_modules" 27 | ] 28 | } 29 | --------------------------------------------------------------------------------