hlarcher HF Staff commited on
Commit
75f825b
·
unverified ·
1 Parent(s): 02d3589

feat: add analytics data sending for bandwidth and latency measurements

Browse files
package-lock.json CHANGED
@@ -8,6 +8,7 @@
8
  "name": "huggingface-fast",
9
  "version": "0.0.1",
10
  "dependencies": {
 
11
  "@fortawesome/fontawesome-free": "^6.7.2",
12
  "chart.js": "^4.4.9"
13
  },
@@ -20,6 +21,7 @@
20
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
21
  "@tailwindcss/typography": "^0.5.15",
22
  "@tailwindcss/vite": "^4.0.0",
 
23
  "eslint": "^9.18.0",
24
  "eslint-config-prettier": "^10.0.1",
25
  "eslint-plugin-svelte": "^3.0.0",
@@ -49,6 +51,645 @@
49
  "node": ">=6.0.0"
50
  }
51
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  "node_modules/@esbuild/aix-ppc64": {
53
  "version": "0.25.5",
54
  "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
@@ -978,145 +1619,726 @@
978
  "linux"
979
  ]
980
  },
981
- "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
982
- "version": "4.41.1",
983
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz",
984
- "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==",
985
- "cpu": [
986
- "loong64"
987
- ],
988
- "dev": true,
989
- "license": "MIT",
990
- "optional": true,
991
- "os": [
992
- "linux"
993
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
994
  },
995
- "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
996
- "version": "4.41.1",
997
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz",
998
- "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==",
999
- "cpu": [
1000
- "ppc64"
1001
- ],
1002
- "dev": true,
1003
- "license": "MIT",
1004
- "optional": true,
1005
- "os": [
1006
- "linux"
1007
- ]
1008
  },
1009
- "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1010
- "version": "4.41.1",
1011
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz",
1012
- "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==",
1013
- "cpu": [
1014
- "riscv64"
1015
- ],
1016
- "dev": true,
1017
- "license": "MIT",
1018
- "optional": true,
1019
- "os": [
1020
- "linux"
1021
- ]
 
 
1022
  },
1023
- "node_modules/@rollup/rollup-linux-riscv64-musl": {
1024
- "version": "4.41.1",
1025
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz",
1026
- "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==",
1027
- "cpu": [
1028
- "riscv64"
1029
- ],
1030
- "dev": true,
1031
- "license": "MIT",
1032
- "optional": true,
1033
- "os": [
1034
- "linux"
1035
- ]
 
 
 
 
1036
  },
1037
- "node_modules/@rollup/rollup-linux-s390x-gnu": {
1038
- "version": "4.41.1",
1039
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz",
1040
- "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==",
1041
- "cpu": [
1042
- "s390x"
1043
- ],
1044
- "dev": true,
1045
- "license": "MIT",
1046
- "optional": true,
1047
- "os": [
1048
- "linux"
1049
- ]
1050
  },
1051
- "node_modules/@rollup/rollup-linux-x64-gnu": {
1052
- "version": "4.41.1",
1053
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz",
1054
- "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==",
1055
- "cpu": [
1056
- "x64"
1057
- ],
1058
- "dev": true,
1059
- "license": "MIT",
1060
- "optional": true,
1061
- "os": [
1062
- "linux"
1063
- ]
1064
  },
1065
- "node_modules/@rollup/rollup-linux-x64-musl": {
1066
- "version": "4.41.1",
1067
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz",
1068
- "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==",
1069
- "cpu": [
1070
- "x64"
1071
- ],
1072
- "dev": true,
1073
- "license": "MIT",
1074
- "optional": true,
1075
- "os": [
1076
- "linux"
1077
- ]
1078
  },
1079
- "node_modules/@rollup/rollup-win32-arm64-msvc": {
1080
- "version": "4.41.1",
1081
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz",
1082
- "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==",
1083
- "cpu": [
1084
- "arm64"
1085
- ],
1086
- "dev": true,
1087
- "license": "MIT",
1088
- "optional": true,
1089
- "os": [
1090
- "win32"
1091
- ]
1092
  },
1093
- "node_modules/@rollup/rollup-win32-ia32-msvc": {
1094
- "version": "4.41.1",
1095
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz",
1096
- "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==",
1097
- "cpu": [
1098
- "ia32"
1099
- ],
1100
- "dev": true,
1101
- "license": "MIT",
1102
- "optional": true,
1103
- "os": [
1104
- "win32"
1105
- ]
 
 
 
 
 
1106
  },
1107
- "node_modules/@rollup/rollup-win32-x64-msvc": {
1108
- "version": "4.41.1",
1109
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz",
1110
- "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==",
1111
- "cpu": [
1112
- "x64"
1113
- ],
1114
- "dev": true,
1115
- "license": "MIT",
1116
- "optional": true,
1117
- "os": [
1118
- "win32"
1119
- ]
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1120
  },
1121
  "node_modules/@sveltejs/acorn-typescript": {
1122
  "version": "1.0.5",
@@ -1534,6 +2756,22 @@
1534
  "dev": true,
1535
  "license": "MIT"
1536
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1537
  "node_modules/@typescript-eslint/eslint-plugin": {
1538
  "version": "8.33.0",
1539
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz",
@@ -1878,6 +3116,12 @@
1878
  "dev": true,
1879
  "license": "MIT"
1880
  },
 
 
 
 
 
 
1881
  "node_modules/brace-expansion": {
1882
  "version": "1.1.11",
1883
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -2448,6 +3692,28 @@
2448
  "dev": true,
2449
  "license": "MIT"
2450
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
2451
  "node_modules/fastq": {
2452
  "version": "1.19.1",
2453
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
@@ -3166,6 +4432,15 @@
3166
  "url": "https://github.com/sponsors/isaacs"
3167
  }
3168
  },
 
 
 
 
 
 
 
 
 
3169
  "node_modules/mri": {
3170
  "version": "1.2.0",
3171
  "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
@@ -3219,6 +4494,12 @@
3219
  "dev": true,
3220
  "license": "MIT"
3221
  },
 
 
 
 
 
 
3222
  "node_modules/optionator": {
3223
  "version": "0.9.4",
3224
  "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -3799,6 +5080,18 @@
3799
  "url": "https://github.com/sponsors/sindresorhus"
3800
  }
3801
  },
 
 
 
 
 
 
 
 
 
 
 
 
3802
  "node_modules/supports-color": {
3803
  "version": "7.2.0",
3804
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
@@ -3993,6 +5286,12 @@
3993
  "typescript": ">=4.8.4"
3994
  }
3995
  },
 
 
 
 
 
 
3996
  "node_modules/type-check": {
3997
  "version": "0.4.0",
3998
  "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -4043,6 +5342,13 @@
4043
  "typescript": ">=4.8.4 <5.9.0"
4044
  }
4045
  },
 
 
 
 
 
 
 
4046
  "node_modules/uri-js": {
4047
  "version": "4.4.1",
4048
  "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
@@ -4060,6 +5366,19 @@
4060
  "dev": true,
4061
  "license": "MIT"
4062
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
4063
  "node_modules/vite": {
4064
  "version": "6.3.5",
4065
  "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
 
8
  "name": "huggingface-fast",
9
  "version": "0.0.1",
10
  "dependencies": {
11
+ "@aws-sdk/client-dynamodb": "^3.821.0",
12
  "@fortawesome/fontawesome-free": "^6.7.2",
13
  "chart.js": "^4.4.9"
14
  },
 
21
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
22
  "@tailwindcss/typography": "^0.5.15",
23
  "@tailwindcss/vite": "^4.0.0",
24
+ "@types/node": "^22.15.29",
25
  "eslint": "^9.18.0",
26
  "eslint-config-prettier": "^10.0.1",
27
  "eslint-plugin-svelte": "^3.0.0",
 
51
  "node": ">=6.0.0"
52
  }
53
  },
54
+ "node_modules/@aws-crypto/sha256-browser": {
55
+ "version": "5.2.0",
56
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-browser/-/sha256-browser-5.2.0.tgz",
57
+ "integrity": "sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==",
58
+ "license": "Apache-2.0",
59
+ "dependencies": {
60
+ "@aws-crypto/sha256-js": "^5.2.0",
61
+ "@aws-crypto/supports-web-crypto": "^5.2.0",
62
+ "@aws-crypto/util": "^5.2.0",
63
+ "@aws-sdk/types": "^3.222.0",
64
+ "@aws-sdk/util-locate-window": "^3.0.0",
65
+ "@smithy/util-utf8": "^2.0.0",
66
+ "tslib": "^2.6.2"
67
+ }
68
+ },
69
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/is-array-buffer": {
70
+ "version": "2.2.0",
71
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
72
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
73
+ "license": "Apache-2.0",
74
+ "dependencies": {
75
+ "tslib": "^2.6.2"
76
+ },
77
+ "engines": {
78
+ "node": ">=14.0.0"
79
+ }
80
+ },
81
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-buffer-from": {
82
+ "version": "2.2.0",
83
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
84
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
85
+ "license": "Apache-2.0",
86
+ "dependencies": {
87
+ "@smithy/is-array-buffer": "^2.2.0",
88
+ "tslib": "^2.6.2"
89
+ },
90
+ "engines": {
91
+ "node": ">=14.0.0"
92
+ }
93
+ },
94
+ "node_modules/@aws-crypto/sha256-browser/node_modules/@smithy/util-utf8": {
95
+ "version": "2.3.0",
96
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
97
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
98
+ "license": "Apache-2.0",
99
+ "dependencies": {
100
+ "@smithy/util-buffer-from": "^2.2.0",
101
+ "tslib": "^2.6.2"
102
+ },
103
+ "engines": {
104
+ "node": ">=14.0.0"
105
+ }
106
+ },
107
+ "node_modules/@aws-crypto/sha256-js": {
108
+ "version": "5.2.0",
109
+ "resolved": "https://registry.npmjs.org/@aws-crypto/sha256-js/-/sha256-js-5.2.0.tgz",
110
+ "integrity": "sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==",
111
+ "license": "Apache-2.0",
112
+ "dependencies": {
113
+ "@aws-crypto/util": "^5.2.0",
114
+ "@aws-sdk/types": "^3.222.0",
115
+ "tslib": "^2.6.2"
116
+ },
117
+ "engines": {
118
+ "node": ">=16.0.0"
119
+ }
120
+ },
121
+ "node_modules/@aws-crypto/supports-web-crypto": {
122
+ "version": "5.2.0",
123
+ "resolved": "https://registry.npmjs.org/@aws-crypto/supports-web-crypto/-/supports-web-crypto-5.2.0.tgz",
124
+ "integrity": "sha512-iAvUotm021kM33eCdNfwIN//F77/IADDSs58i+MDaOqFrVjZo9bAal0NK7HurRuWLLpF1iLX7gbWrjHjeo+YFg==",
125
+ "license": "Apache-2.0",
126
+ "dependencies": {
127
+ "tslib": "^2.6.2"
128
+ }
129
+ },
130
+ "node_modules/@aws-crypto/util": {
131
+ "version": "5.2.0",
132
+ "resolved": "https://registry.npmjs.org/@aws-crypto/util/-/util-5.2.0.tgz",
133
+ "integrity": "sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==",
134
+ "license": "Apache-2.0",
135
+ "dependencies": {
136
+ "@aws-sdk/types": "^3.222.0",
137
+ "@smithy/util-utf8": "^2.0.0",
138
+ "tslib": "^2.6.2"
139
+ }
140
+ },
141
+ "node_modules/@aws-crypto/util/node_modules/@smithy/is-array-buffer": {
142
+ "version": "2.2.0",
143
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-2.2.0.tgz",
144
+ "integrity": "sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==",
145
+ "license": "Apache-2.0",
146
+ "dependencies": {
147
+ "tslib": "^2.6.2"
148
+ },
149
+ "engines": {
150
+ "node": ">=14.0.0"
151
+ }
152
+ },
153
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-buffer-from": {
154
+ "version": "2.2.0",
155
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-2.2.0.tgz",
156
+ "integrity": "sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==",
157
+ "license": "Apache-2.0",
158
+ "dependencies": {
159
+ "@smithy/is-array-buffer": "^2.2.0",
160
+ "tslib": "^2.6.2"
161
+ },
162
+ "engines": {
163
+ "node": ">=14.0.0"
164
+ }
165
+ },
166
+ "node_modules/@aws-crypto/util/node_modules/@smithy/util-utf8": {
167
+ "version": "2.3.0",
168
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-2.3.0.tgz",
169
+ "integrity": "sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==",
170
+ "license": "Apache-2.0",
171
+ "dependencies": {
172
+ "@smithy/util-buffer-from": "^2.2.0",
173
+ "tslib": "^2.6.2"
174
+ },
175
+ "engines": {
176
+ "node": ">=14.0.0"
177
+ }
178
+ },
179
+ "node_modules/@aws-sdk/client-dynamodb": {
180
+ "version": "3.821.0",
181
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-dynamodb/-/client-dynamodb-3.821.0.tgz",
182
+ "integrity": "sha512-7GyFMN0B7NW6rv1pT0PSWcAFPsziEYnxdZUnF/sMsgXz5U0peviCnuPGUL5jqYL6sf6HgXLYYooHVjqLnVMVVQ==",
183
+ "license": "Apache-2.0",
184
+ "dependencies": {
185
+ "@aws-crypto/sha256-browser": "5.2.0",
186
+ "@aws-crypto/sha256-js": "5.2.0",
187
+ "@aws-sdk/core": "3.821.0",
188
+ "@aws-sdk/credential-provider-node": "3.821.0",
189
+ "@aws-sdk/middleware-endpoint-discovery": "3.821.0",
190
+ "@aws-sdk/middleware-host-header": "3.821.0",
191
+ "@aws-sdk/middleware-logger": "3.821.0",
192
+ "@aws-sdk/middleware-recursion-detection": "3.821.0",
193
+ "@aws-sdk/middleware-user-agent": "3.821.0",
194
+ "@aws-sdk/region-config-resolver": "3.821.0",
195
+ "@aws-sdk/types": "3.821.0",
196
+ "@aws-sdk/util-endpoints": "3.821.0",
197
+ "@aws-sdk/util-user-agent-browser": "3.821.0",
198
+ "@aws-sdk/util-user-agent-node": "3.821.0",
199
+ "@smithy/config-resolver": "^4.1.4",
200
+ "@smithy/core": "^3.5.1",
201
+ "@smithy/fetch-http-handler": "^5.0.4",
202
+ "@smithy/hash-node": "^4.0.4",
203
+ "@smithy/invalid-dependency": "^4.0.4",
204
+ "@smithy/middleware-content-length": "^4.0.4",
205
+ "@smithy/middleware-endpoint": "^4.1.9",
206
+ "@smithy/middleware-retry": "^4.1.10",
207
+ "@smithy/middleware-serde": "^4.0.8",
208
+ "@smithy/middleware-stack": "^4.0.4",
209
+ "@smithy/node-config-provider": "^4.1.3",
210
+ "@smithy/node-http-handler": "^4.0.6",
211
+ "@smithy/protocol-http": "^5.1.2",
212
+ "@smithy/smithy-client": "^4.4.1",
213
+ "@smithy/types": "^4.3.1",
214
+ "@smithy/url-parser": "^4.0.4",
215
+ "@smithy/util-base64": "^4.0.0",
216
+ "@smithy/util-body-length-browser": "^4.0.0",
217
+ "@smithy/util-body-length-node": "^4.0.0",
218
+ "@smithy/util-defaults-mode-browser": "^4.0.17",
219
+ "@smithy/util-defaults-mode-node": "^4.0.17",
220
+ "@smithy/util-endpoints": "^3.0.6",
221
+ "@smithy/util-middleware": "^4.0.4",
222
+ "@smithy/util-retry": "^4.0.5",
223
+ "@smithy/util-utf8": "^4.0.0",
224
+ "@smithy/util-waiter": "^4.0.5",
225
+ "@types/uuid": "^9.0.1",
226
+ "tslib": "^2.6.2",
227
+ "uuid": "^9.0.1"
228
+ },
229
+ "engines": {
230
+ "node": ">=18.0.0"
231
+ }
232
+ },
233
+ "node_modules/@aws-sdk/client-sso": {
234
+ "version": "3.821.0",
235
+ "resolved": "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.821.0.tgz",
236
+ "integrity": "sha512-aDEBZUKUd/+Tvudi0d9KQlqt2OW2P27LATZX0jkNC8yVk4145bAPS04EYoqdKLuyUn/U33DibEOgKUpxZB12jQ==",
237
+ "license": "Apache-2.0",
238
+ "dependencies": {
239
+ "@aws-crypto/sha256-browser": "5.2.0",
240
+ "@aws-crypto/sha256-js": "5.2.0",
241
+ "@aws-sdk/core": "3.821.0",
242
+ "@aws-sdk/middleware-host-header": "3.821.0",
243
+ "@aws-sdk/middleware-logger": "3.821.0",
244
+ "@aws-sdk/middleware-recursion-detection": "3.821.0",
245
+ "@aws-sdk/middleware-user-agent": "3.821.0",
246
+ "@aws-sdk/region-config-resolver": "3.821.0",
247
+ "@aws-sdk/types": "3.821.0",
248
+ "@aws-sdk/util-endpoints": "3.821.0",
249
+ "@aws-sdk/util-user-agent-browser": "3.821.0",
250
+ "@aws-sdk/util-user-agent-node": "3.821.0",
251
+ "@smithy/config-resolver": "^4.1.4",
252
+ "@smithy/core": "^3.5.1",
253
+ "@smithy/fetch-http-handler": "^5.0.4",
254
+ "@smithy/hash-node": "^4.0.4",
255
+ "@smithy/invalid-dependency": "^4.0.4",
256
+ "@smithy/middleware-content-length": "^4.0.4",
257
+ "@smithy/middleware-endpoint": "^4.1.9",
258
+ "@smithy/middleware-retry": "^4.1.10",
259
+ "@smithy/middleware-serde": "^4.0.8",
260
+ "@smithy/middleware-stack": "^4.0.4",
261
+ "@smithy/node-config-provider": "^4.1.3",
262
+ "@smithy/node-http-handler": "^4.0.6",
263
+ "@smithy/protocol-http": "^5.1.2",
264
+ "@smithy/smithy-client": "^4.4.1",
265
+ "@smithy/types": "^4.3.1",
266
+ "@smithy/url-parser": "^4.0.4",
267
+ "@smithy/util-base64": "^4.0.0",
268
+ "@smithy/util-body-length-browser": "^4.0.0",
269
+ "@smithy/util-body-length-node": "^4.0.0",
270
+ "@smithy/util-defaults-mode-browser": "^4.0.17",
271
+ "@smithy/util-defaults-mode-node": "^4.0.17",
272
+ "@smithy/util-endpoints": "^3.0.6",
273
+ "@smithy/util-middleware": "^4.0.4",
274
+ "@smithy/util-retry": "^4.0.5",
275
+ "@smithy/util-utf8": "^4.0.0",
276
+ "tslib": "^2.6.2"
277
+ },
278
+ "engines": {
279
+ "node": ">=18.0.0"
280
+ }
281
+ },
282
+ "node_modules/@aws-sdk/core": {
283
+ "version": "3.821.0",
284
+ "resolved": "https://registry.npmjs.org/@aws-sdk/core/-/core-3.821.0.tgz",
285
+ "integrity": "sha512-8eB3wKbmfciQFmxFq7hAjy7mXdUs7vBOR5SwT0ZtQBg0Txc18Lc9tMViqqdO6/KU7OukA6ib2IAVSjIJJEN7FQ==",
286
+ "license": "Apache-2.0",
287
+ "dependencies": {
288
+ "@aws-sdk/types": "3.821.0",
289
+ "@smithy/core": "^3.5.1",
290
+ "@smithy/node-config-provider": "^4.1.3",
291
+ "@smithy/property-provider": "^4.0.4",
292
+ "@smithy/protocol-http": "^5.1.2",
293
+ "@smithy/signature-v4": "^5.1.2",
294
+ "@smithy/smithy-client": "^4.4.1",
295
+ "@smithy/types": "^4.3.1",
296
+ "@smithy/util-middleware": "^4.0.4",
297
+ "fast-xml-parser": "4.4.1",
298
+ "tslib": "^2.6.2"
299
+ },
300
+ "engines": {
301
+ "node": ">=18.0.0"
302
+ }
303
+ },
304
+ "node_modules/@aws-sdk/credential-provider-env": {
305
+ "version": "3.821.0",
306
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.821.0.tgz",
307
+ "integrity": "sha512-C+s/A72pd7CXwEsJj9+Uq9T726iIfIF18hGRY8o82xcIEfOyakiPnlisku8zZOaAu+jm0CihbbYN4NyYNQ+HZQ==",
308
+ "license": "Apache-2.0",
309
+ "dependencies": {
310
+ "@aws-sdk/core": "3.821.0",
311
+ "@aws-sdk/types": "3.821.0",
312
+ "@smithy/property-provider": "^4.0.4",
313
+ "@smithy/types": "^4.3.1",
314
+ "tslib": "^2.6.2"
315
+ },
316
+ "engines": {
317
+ "node": ">=18.0.0"
318
+ }
319
+ },
320
+ "node_modules/@aws-sdk/credential-provider-http": {
321
+ "version": "3.821.0",
322
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-http/-/credential-provider-http-3.821.0.tgz",
323
+ "integrity": "sha512-gIRzTLnAsRfRSNarCag7G7rhcHagz4x5nNTWRihQs5cwTOghEExDy7Tj5m4TEkv3dcTAsNn+l4tnR4nZXo6R+Q==",
324
+ "license": "Apache-2.0",
325
+ "dependencies": {
326
+ "@aws-sdk/core": "3.821.0",
327
+ "@aws-sdk/types": "3.821.0",
328
+ "@smithy/fetch-http-handler": "^5.0.4",
329
+ "@smithy/node-http-handler": "^4.0.6",
330
+ "@smithy/property-provider": "^4.0.4",
331
+ "@smithy/protocol-http": "^5.1.2",
332
+ "@smithy/smithy-client": "^4.4.1",
333
+ "@smithy/types": "^4.3.1",
334
+ "@smithy/util-stream": "^4.2.2",
335
+ "tslib": "^2.6.2"
336
+ },
337
+ "engines": {
338
+ "node": ">=18.0.0"
339
+ }
340
+ },
341
+ "node_modules/@aws-sdk/credential-provider-ini": {
342
+ "version": "3.821.0",
343
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.821.0.tgz",
344
+ "integrity": "sha512-VRTrmsca8kBHtY1tTek1ce+XkK/H0fzodBKcilM/qXjTyumMHPAzVAxKZfSvGC+28/pXyQzhOEyxZfw7giCiWA==",
345
+ "license": "Apache-2.0",
346
+ "dependencies": {
347
+ "@aws-sdk/core": "3.821.0",
348
+ "@aws-sdk/credential-provider-env": "3.821.0",
349
+ "@aws-sdk/credential-provider-http": "3.821.0",
350
+ "@aws-sdk/credential-provider-process": "3.821.0",
351
+ "@aws-sdk/credential-provider-sso": "3.821.0",
352
+ "@aws-sdk/credential-provider-web-identity": "3.821.0",
353
+ "@aws-sdk/nested-clients": "3.821.0",
354
+ "@aws-sdk/types": "3.821.0",
355
+ "@smithy/credential-provider-imds": "^4.0.6",
356
+ "@smithy/property-provider": "^4.0.4",
357
+ "@smithy/shared-ini-file-loader": "^4.0.4",
358
+ "@smithy/types": "^4.3.1",
359
+ "tslib": "^2.6.2"
360
+ },
361
+ "engines": {
362
+ "node": ">=18.0.0"
363
+ }
364
+ },
365
+ "node_modules/@aws-sdk/credential-provider-node": {
366
+ "version": "3.821.0",
367
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.821.0.tgz",
368
+ "integrity": "sha512-oBgbcgOXWMgknAfhIdTeHSSVIv+k2LXN9oTbxu1r++o4WWBWrEQ8mHU0Zo9dfr7Uaoqi3pezYZznsBkXnMLEOg==",
369
+ "license": "Apache-2.0",
370
+ "dependencies": {
371
+ "@aws-sdk/credential-provider-env": "3.821.0",
372
+ "@aws-sdk/credential-provider-http": "3.821.0",
373
+ "@aws-sdk/credential-provider-ini": "3.821.0",
374
+ "@aws-sdk/credential-provider-process": "3.821.0",
375
+ "@aws-sdk/credential-provider-sso": "3.821.0",
376
+ "@aws-sdk/credential-provider-web-identity": "3.821.0",
377
+ "@aws-sdk/types": "3.821.0",
378
+ "@smithy/credential-provider-imds": "^4.0.6",
379
+ "@smithy/property-provider": "^4.0.4",
380
+ "@smithy/shared-ini-file-loader": "^4.0.4",
381
+ "@smithy/types": "^4.3.1",
382
+ "tslib": "^2.6.2"
383
+ },
384
+ "engines": {
385
+ "node": ">=18.0.0"
386
+ }
387
+ },
388
+ "node_modules/@aws-sdk/credential-provider-process": {
389
+ "version": "3.821.0",
390
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.821.0.tgz",
391
+ "integrity": "sha512-e18ucfqKB3ICNj5RP/FEdvUfhVK6E9MALOsl8pKP13mwegug46p/1BsZWACD5n+Zf9ViiiHxIO7td03zQixfwA==",
392
+ "license": "Apache-2.0",
393
+ "dependencies": {
394
+ "@aws-sdk/core": "3.821.0",
395
+ "@aws-sdk/types": "3.821.0",
396
+ "@smithy/property-provider": "^4.0.4",
397
+ "@smithy/shared-ini-file-loader": "^4.0.4",
398
+ "@smithy/types": "^4.3.1",
399
+ "tslib": "^2.6.2"
400
+ },
401
+ "engines": {
402
+ "node": ">=18.0.0"
403
+ }
404
+ },
405
+ "node_modules/@aws-sdk/credential-provider-sso": {
406
+ "version": "3.821.0",
407
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.821.0.tgz",
408
+ "integrity": "sha512-Dt+pheBLom4O/egO4L75/72k9C1qtUOLl0F0h6lmqZe4Mvhz+wDtjoO/MdGC/P1q0kcIX/bBKr0NQ3cIvAH8pA==",
409
+ "license": "Apache-2.0",
410
+ "dependencies": {
411
+ "@aws-sdk/client-sso": "3.821.0",
412
+ "@aws-sdk/core": "3.821.0",
413
+ "@aws-sdk/token-providers": "3.821.0",
414
+ "@aws-sdk/types": "3.821.0",
415
+ "@smithy/property-provider": "^4.0.4",
416
+ "@smithy/shared-ini-file-loader": "^4.0.4",
417
+ "@smithy/types": "^4.3.1",
418
+ "tslib": "^2.6.2"
419
+ },
420
+ "engines": {
421
+ "node": ">=18.0.0"
422
+ }
423
+ },
424
+ "node_modules/@aws-sdk/credential-provider-web-identity": {
425
+ "version": "3.821.0",
426
+ "resolved": "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.821.0.tgz",
427
+ "integrity": "sha512-FF5wnRJkxSQaCVVvWNv53K1MhTMgH8d+O+MHTbkv51gVIgVATrtfFQMKBLcEAxzXrgAliIO3LiNv+1TqqBZ+BA==",
428
+ "license": "Apache-2.0",
429
+ "dependencies": {
430
+ "@aws-sdk/core": "3.821.0",
431
+ "@aws-sdk/nested-clients": "3.821.0",
432
+ "@aws-sdk/types": "3.821.0",
433
+ "@smithy/property-provider": "^4.0.4",
434
+ "@smithy/types": "^4.3.1",
435
+ "tslib": "^2.6.2"
436
+ },
437
+ "engines": {
438
+ "node": ">=18.0.0"
439
+ }
440
+ },
441
+ "node_modules/@aws-sdk/endpoint-cache": {
442
+ "version": "3.804.0",
443
+ "resolved": "https://registry.npmjs.org/@aws-sdk/endpoint-cache/-/endpoint-cache-3.804.0.tgz",
444
+ "integrity": "sha512-TQVDkA/lV6ua75ELZaichMzlp6x7tDa1bqdy/+0ZftmODPtKXuOOEcJxmdN7Ui/YRo1gkRz2D9txYy7IlNg1Og==",
445
+ "license": "Apache-2.0",
446
+ "dependencies": {
447
+ "mnemonist": "0.38.3",
448
+ "tslib": "^2.6.2"
449
+ },
450
+ "engines": {
451
+ "node": ">=18.0.0"
452
+ }
453
+ },
454
+ "node_modules/@aws-sdk/middleware-endpoint-discovery": {
455
+ "version": "3.821.0",
456
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-endpoint-discovery/-/middleware-endpoint-discovery-3.821.0.tgz",
457
+ "integrity": "sha512-8EguERzvpzTN2WrPaspK/F9GSkAzBQbecgIaCL49rJWKAso+ewmVVPnrXGzbeGVXTk4G0XuWSjt8wqUzZyt7wQ==",
458
+ "license": "Apache-2.0",
459
+ "dependencies": {
460
+ "@aws-sdk/endpoint-cache": "3.804.0",
461
+ "@aws-sdk/types": "3.821.0",
462
+ "@smithy/node-config-provider": "^4.1.3",
463
+ "@smithy/protocol-http": "^5.1.2",
464
+ "@smithy/types": "^4.3.1",
465
+ "tslib": "^2.6.2"
466
+ },
467
+ "engines": {
468
+ "node": ">=18.0.0"
469
+ }
470
+ },
471
+ "node_modules/@aws-sdk/middleware-host-header": {
472
+ "version": "3.821.0",
473
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.821.0.tgz",
474
+ "integrity": "sha512-xSMR+sopSeWGx5/4pAGhhfMvGBHioVBbqGvDs6pG64xfNwM5vq5s5v6D04e2i+uSTj4qGa71dLUs5I0UzAK3sw==",
475
+ "license": "Apache-2.0",
476
+ "dependencies": {
477
+ "@aws-sdk/types": "3.821.0",
478
+ "@smithy/protocol-http": "^5.1.2",
479
+ "@smithy/types": "^4.3.1",
480
+ "tslib": "^2.6.2"
481
+ },
482
+ "engines": {
483
+ "node": ">=18.0.0"
484
+ }
485
+ },
486
+ "node_modules/@aws-sdk/middleware-logger": {
487
+ "version": "3.821.0",
488
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.821.0.tgz",
489
+ "integrity": "sha512-0cvI0ipf2tGx7fXYEEN5fBeZDz2RnHyb9xftSgUsEq7NBxjV0yTZfLJw6Za5rjE6snC80dRN8+bTNR1tuG89zA==",
490
+ "license": "Apache-2.0",
491
+ "dependencies": {
492
+ "@aws-sdk/types": "3.821.0",
493
+ "@smithy/types": "^4.3.1",
494
+ "tslib": "^2.6.2"
495
+ },
496
+ "engines": {
497
+ "node": ">=18.0.0"
498
+ }
499
+ },
500
+ "node_modules/@aws-sdk/middleware-recursion-detection": {
501
+ "version": "3.821.0",
502
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.821.0.tgz",
503
+ "integrity": "sha512-efmaifbhBoqKG3bAoEfDdcM8hn1psF+4qa7ykWuYmfmah59JBeqHLfz5W9m9JoTwoKPkFcVLWZxnyZzAnVBOIg==",
504
+ "license": "Apache-2.0",
505
+ "dependencies": {
506
+ "@aws-sdk/types": "3.821.0",
507
+ "@smithy/protocol-http": "^5.1.2",
508
+ "@smithy/types": "^4.3.1",
509
+ "tslib": "^2.6.2"
510
+ },
511
+ "engines": {
512
+ "node": ">=18.0.0"
513
+ }
514
+ },
515
+ "node_modules/@aws-sdk/middleware-user-agent": {
516
+ "version": "3.821.0",
517
+ "resolved": "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.821.0.tgz",
518
+ "integrity": "sha512-rw8q3TxygMg3VrofN04QyWVCCyGwz3bVthYmBZZseENPWG3Krz1OCKcyqjkTcAxMQlEywOske+GIiOasGKnJ3w==",
519
+ "license": "Apache-2.0",
520
+ "dependencies": {
521
+ "@aws-sdk/core": "3.821.0",
522
+ "@aws-sdk/types": "3.821.0",
523
+ "@aws-sdk/util-endpoints": "3.821.0",
524
+ "@smithy/core": "^3.5.1",
525
+ "@smithy/protocol-http": "^5.1.2",
526
+ "@smithy/types": "^4.3.1",
527
+ "tslib": "^2.6.2"
528
+ },
529
+ "engines": {
530
+ "node": ">=18.0.0"
531
+ }
532
+ },
533
+ "node_modules/@aws-sdk/nested-clients": {
534
+ "version": "3.821.0",
535
+ "resolved": "https://registry.npmjs.org/@aws-sdk/nested-clients/-/nested-clients-3.821.0.tgz",
536
+ "integrity": "sha512-2IuHcUsWw44ftSEDYU4dvktTEqgyDvkOcfpoGC/UmT4Qo6TVCP3U5tWEGpNK9nN+7nLvekruxxG/jaMt5/oWVw==",
537
+ "license": "Apache-2.0",
538
+ "dependencies": {
539
+ "@aws-crypto/sha256-browser": "5.2.0",
540
+ "@aws-crypto/sha256-js": "5.2.0",
541
+ "@aws-sdk/core": "3.821.0",
542
+ "@aws-sdk/middleware-host-header": "3.821.0",
543
+ "@aws-sdk/middleware-logger": "3.821.0",
544
+ "@aws-sdk/middleware-recursion-detection": "3.821.0",
545
+ "@aws-sdk/middleware-user-agent": "3.821.0",
546
+ "@aws-sdk/region-config-resolver": "3.821.0",
547
+ "@aws-sdk/types": "3.821.0",
548
+ "@aws-sdk/util-endpoints": "3.821.0",
549
+ "@aws-sdk/util-user-agent-browser": "3.821.0",
550
+ "@aws-sdk/util-user-agent-node": "3.821.0",
551
+ "@smithy/config-resolver": "^4.1.4",
552
+ "@smithy/core": "^3.5.1",
553
+ "@smithy/fetch-http-handler": "^5.0.4",
554
+ "@smithy/hash-node": "^4.0.4",
555
+ "@smithy/invalid-dependency": "^4.0.4",
556
+ "@smithy/middleware-content-length": "^4.0.4",
557
+ "@smithy/middleware-endpoint": "^4.1.9",
558
+ "@smithy/middleware-retry": "^4.1.10",
559
+ "@smithy/middleware-serde": "^4.0.8",
560
+ "@smithy/middleware-stack": "^4.0.4",
561
+ "@smithy/node-config-provider": "^4.1.3",
562
+ "@smithy/node-http-handler": "^4.0.6",
563
+ "@smithy/protocol-http": "^5.1.2",
564
+ "@smithy/smithy-client": "^4.4.1",
565
+ "@smithy/types": "^4.3.1",
566
+ "@smithy/url-parser": "^4.0.4",
567
+ "@smithy/util-base64": "^4.0.0",
568
+ "@smithy/util-body-length-browser": "^4.0.0",
569
+ "@smithy/util-body-length-node": "^4.0.0",
570
+ "@smithy/util-defaults-mode-browser": "^4.0.17",
571
+ "@smithy/util-defaults-mode-node": "^4.0.17",
572
+ "@smithy/util-endpoints": "^3.0.6",
573
+ "@smithy/util-middleware": "^4.0.4",
574
+ "@smithy/util-retry": "^4.0.5",
575
+ "@smithy/util-utf8": "^4.0.0",
576
+ "tslib": "^2.6.2"
577
+ },
578
+ "engines": {
579
+ "node": ">=18.0.0"
580
+ }
581
+ },
582
+ "node_modules/@aws-sdk/region-config-resolver": {
583
+ "version": "3.821.0",
584
+ "resolved": "https://registry.npmjs.org/@aws-sdk/region-config-resolver/-/region-config-resolver-3.821.0.tgz",
585
+ "integrity": "sha512-t8og+lRCIIy5nlId0bScNpCkif8sc0LhmtaKsbm0ZPm3sCa/WhCbSZibjbZ28FNjVCV+p0D9RYZx0VDDbtWyjw==",
586
+ "license": "Apache-2.0",
587
+ "dependencies": {
588
+ "@aws-sdk/types": "3.821.0",
589
+ "@smithy/node-config-provider": "^4.1.3",
590
+ "@smithy/types": "^4.3.1",
591
+ "@smithy/util-config-provider": "^4.0.0",
592
+ "@smithy/util-middleware": "^4.0.4",
593
+ "tslib": "^2.6.2"
594
+ },
595
+ "engines": {
596
+ "node": ">=18.0.0"
597
+ }
598
+ },
599
+ "node_modules/@aws-sdk/token-providers": {
600
+ "version": "3.821.0",
601
+ "resolved": "https://registry.npmjs.org/@aws-sdk/token-providers/-/token-providers-3.821.0.tgz",
602
+ "integrity": "sha512-qJ7wgKhdxGbPg718zWXbCYKDuSWZNU3TSw64hPRW6FtbZrIyZxObpiTKC6DKwfsVoZZhHEoP/imGykN1OdOTJA==",
603
+ "license": "Apache-2.0",
604
+ "dependencies": {
605
+ "@aws-sdk/core": "3.821.0",
606
+ "@aws-sdk/nested-clients": "3.821.0",
607
+ "@aws-sdk/types": "3.821.0",
608
+ "@smithy/property-provider": "^4.0.4",
609
+ "@smithy/shared-ini-file-loader": "^4.0.4",
610
+ "@smithy/types": "^4.3.1",
611
+ "tslib": "^2.6.2"
612
+ },
613
+ "engines": {
614
+ "node": ">=18.0.0"
615
+ }
616
+ },
617
+ "node_modules/@aws-sdk/types": {
618
+ "version": "3.821.0",
619
+ "resolved": "https://registry.npmjs.org/@aws-sdk/types/-/types-3.821.0.tgz",
620
+ "integrity": "sha512-Znroqdai1a90TlxGaJ+FK1lwC0fHpo97Xjsp5UKGR5JODYm7f9+/fF17ebO1KdoBr/Rm0UIFiF5VmI8ts9F1eA==",
621
+ "license": "Apache-2.0",
622
+ "dependencies": {
623
+ "@smithy/types": "^4.3.1",
624
+ "tslib": "^2.6.2"
625
+ },
626
+ "engines": {
627
+ "node": ">=18.0.0"
628
+ }
629
+ },
630
+ "node_modules/@aws-sdk/util-endpoints": {
631
+ "version": "3.821.0",
632
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-endpoints/-/util-endpoints-3.821.0.tgz",
633
+ "integrity": "sha512-Uknt/zUZnLE76zaAAPEayOeF5/4IZ2puTFXvcSCWHsi9m3tqbb9UozlnlVqvCZLCRWfQryZQoG2W4XSS3qgk5A==",
634
+ "license": "Apache-2.0",
635
+ "dependencies": {
636
+ "@aws-sdk/types": "3.821.0",
637
+ "@smithy/types": "^4.3.1",
638
+ "@smithy/util-endpoints": "^3.0.6",
639
+ "tslib": "^2.6.2"
640
+ },
641
+ "engines": {
642
+ "node": ">=18.0.0"
643
+ }
644
+ },
645
+ "node_modules/@aws-sdk/util-locate-window": {
646
+ "version": "3.804.0",
647
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.804.0.tgz",
648
+ "integrity": "sha512-zVoRfpmBVPodYlnMjgVjfGoEZagyRF5IPn3Uo6ZvOZp24chnW/FRstH7ESDHDDRga4z3V+ElUQHKpFDXWyBW5A==",
649
+ "license": "Apache-2.0",
650
+ "dependencies": {
651
+ "tslib": "^2.6.2"
652
+ },
653
+ "engines": {
654
+ "node": ">=18.0.0"
655
+ }
656
+ },
657
+ "node_modules/@aws-sdk/util-user-agent-browser": {
658
+ "version": "3.821.0",
659
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.821.0.tgz",
660
+ "integrity": "sha512-irWZHyM0Jr1xhC+38OuZ7JB6OXMLPZlj48thElpsO1ZSLRkLZx5+I7VV6k3sp2yZ7BYbKz/G2ojSv4wdm7XTLw==",
661
+ "license": "Apache-2.0",
662
+ "dependencies": {
663
+ "@aws-sdk/types": "3.821.0",
664
+ "@smithy/types": "^4.3.1",
665
+ "bowser": "^2.11.0",
666
+ "tslib": "^2.6.2"
667
+ }
668
+ },
669
+ "node_modules/@aws-sdk/util-user-agent-node": {
670
+ "version": "3.821.0",
671
+ "resolved": "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.821.0.tgz",
672
+ "integrity": "sha512-YwMXc9EvuzJgnLBTyiQly2juPujXwDgcMHB0iSN92tHe7Dd1jJ1feBmTgdClaaqCeHFUaFpw+3JU/ZUJ6LjR+A==",
673
+ "license": "Apache-2.0",
674
+ "dependencies": {
675
+ "@aws-sdk/middleware-user-agent": "3.821.0",
676
+ "@aws-sdk/types": "3.821.0",
677
+ "@smithy/node-config-provider": "^4.1.3",
678
+ "@smithy/types": "^4.3.1",
679
+ "tslib": "^2.6.2"
680
+ },
681
+ "engines": {
682
+ "node": ">=18.0.0"
683
+ },
684
+ "peerDependencies": {
685
+ "aws-crt": ">=1.0.0"
686
+ },
687
+ "peerDependenciesMeta": {
688
+ "aws-crt": {
689
+ "optional": true
690
+ }
691
+ }
692
+ },
693
  "node_modules/@esbuild/aix-ppc64": {
694
  "version": "0.25.5",
695
  "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.5.tgz",
 
1619
  "linux"
1620
  ]
1621
  },
1622
+ "node_modules/@rollup/rollup-linux-loongarch64-gnu": {
1623
+ "version": "4.41.1",
1624
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.1.tgz",
1625
+ "integrity": "sha512-bkCfDJ4qzWfFRCNt5RVV4DOw6KEgFTUZi2r2RuYhGWC8WhCA8lCAJhDeAmrM/fdiAH54m0mA0Vk2FGRPyzI+tw==",
1626
+ "cpu": [
1627
+ "loong64"
1628
+ ],
1629
+ "dev": true,
1630
+ "license": "MIT",
1631
+ "optional": true,
1632
+ "os": [
1633
+ "linux"
1634
+ ]
1635
+ },
1636
+ "node_modules/@rollup/rollup-linux-powerpc64le-gnu": {
1637
+ "version": "4.41.1",
1638
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.1.tgz",
1639
+ "integrity": "sha512-3mr3Xm+gvMX+/8EKogIZSIEF0WUu0HL9di+YWlJpO8CQBnoLAEL/roTCxuLncEdgcfJcvA4UMOf+2dnjl4Ut1A==",
1640
+ "cpu": [
1641
+ "ppc64"
1642
+ ],
1643
+ "dev": true,
1644
+ "license": "MIT",
1645
+ "optional": true,
1646
+ "os": [
1647
+ "linux"
1648
+ ]
1649
+ },
1650
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
1651
+ "version": "4.41.1",
1652
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.1.tgz",
1653
+ "integrity": "sha512-3rwCIh6MQ1LGrvKJitQjZFuQnT2wxfU+ivhNBzmxXTXPllewOF7JR1s2vMX/tWtUYFgphygxjqMl76q4aMotGw==",
1654
+ "cpu": [
1655
+ "riscv64"
1656
+ ],
1657
+ "dev": true,
1658
+ "license": "MIT",
1659
+ "optional": true,
1660
+ "os": [
1661
+ "linux"
1662
+ ]
1663
+ },
1664
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
1665
+ "version": "4.41.1",
1666
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.1.tgz",
1667
+ "integrity": "sha512-LdIUOb3gvfmpkgFZuccNa2uYiqtgZAz3PTzjuM5bH3nvuy9ty6RGc/Q0+HDFrHrizJGVpjnTZ1yS5TNNjFlklw==",
1668
+ "cpu": [
1669
+ "riscv64"
1670
+ ],
1671
+ "dev": true,
1672
+ "license": "MIT",
1673
+ "optional": true,
1674
+ "os": [
1675
+ "linux"
1676
+ ]
1677
+ },
1678
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
1679
+ "version": "4.41.1",
1680
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.1.tgz",
1681
+ "integrity": "sha512-oIE6M8WC9ma6xYqjvPhzZYk6NbobIURvP/lEbh7FWplcMO6gn7MM2yHKA1eC/GvYwzNKK/1LYgqzdkZ8YFxR8g==",
1682
+ "cpu": [
1683
+ "s390x"
1684
+ ],
1685
+ "dev": true,
1686
+ "license": "MIT",
1687
+ "optional": true,
1688
+ "os": [
1689
+ "linux"
1690
+ ]
1691
+ },
1692
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
1693
+ "version": "4.41.1",
1694
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.1.tgz",
1695
+ "integrity": "sha512-cWBOvayNvA+SyeQMp79BHPK8ws6sHSsYnK5zDcsC3Hsxr1dgTABKjMnMslPq1DvZIp6uO7kIWhiGwaTdR4Og9A==",
1696
+ "cpu": [
1697
+ "x64"
1698
+ ],
1699
+ "dev": true,
1700
+ "license": "MIT",
1701
+ "optional": true,
1702
+ "os": [
1703
+ "linux"
1704
+ ]
1705
+ },
1706
+ "node_modules/@rollup/rollup-linux-x64-musl": {
1707
+ "version": "4.41.1",
1708
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.1.tgz",
1709
+ "integrity": "sha512-y5CbN44M+pUCdGDlZFzGGBSKCA4A/J2ZH4edTYSSxFg7ce1Xt3GtydbVKWLlzL+INfFIZAEg1ZV6hh9+QQf9YQ==",
1710
+ "cpu": [
1711
+ "x64"
1712
+ ],
1713
+ "dev": true,
1714
+ "license": "MIT",
1715
+ "optional": true,
1716
+ "os": [
1717
+ "linux"
1718
+ ]
1719
+ },
1720
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
1721
+ "version": "4.41.1",
1722
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.1.tgz",
1723
+ "integrity": "sha512-lZkCxIrjlJlMt1dLO/FbpZbzt6J/A8p4DnqzSa4PWqPEUUUnzXLeki/iyPLfV0BmHItlYgHUqJe+3KiyydmiNQ==",
1724
+ "cpu": [
1725
+ "arm64"
1726
+ ],
1727
+ "dev": true,
1728
+ "license": "MIT",
1729
+ "optional": true,
1730
+ "os": [
1731
+ "win32"
1732
+ ]
1733
+ },
1734
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
1735
+ "version": "4.41.1",
1736
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.1.tgz",
1737
+ "integrity": "sha512-+psFT9+pIh2iuGsxFYYa/LhS5MFKmuivRsx9iPJWNSGbh2XVEjk90fmpUEjCnILPEPJnikAU6SFDiEUyOv90Pg==",
1738
+ "cpu": [
1739
+ "ia32"
1740
+ ],
1741
+ "dev": true,
1742
+ "license": "MIT",
1743
+ "optional": true,
1744
+ "os": [
1745
+ "win32"
1746
+ ]
1747
+ },
1748
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
1749
+ "version": "4.41.1",
1750
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.1.tgz",
1751
+ "integrity": "sha512-Wq2zpapRYLfi4aKxf2Xff0tN+7slj2d4R87WEzqw7ZLsVvO5zwYCIuEGSZYiK41+GlwUo1HiR+GdkLEJnCKTCw==",
1752
+ "cpu": [
1753
+ "x64"
1754
+ ],
1755
+ "dev": true,
1756
+ "license": "MIT",
1757
+ "optional": true,
1758
+ "os": [
1759
+ "win32"
1760
+ ]
1761
+ },
1762
+ "node_modules/@smithy/abort-controller": {
1763
+ "version": "4.0.4",
1764
+ "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.4.tgz",
1765
+ "integrity": "sha512-gJnEjZMvigPDQWHrW3oPrFhQtkrgqBkyjj3pCIdF3A5M6vsZODG93KNlfJprv6bp4245bdT32fsHK4kkH3KYDA==",
1766
+ "license": "Apache-2.0",
1767
+ "dependencies": {
1768
+ "@smithy/types": "^4.3.1",
1769
+ "tslib": "^2.6.2"
1770
+ },
1771
+ "engines": {
1772
+ "node": ">=18.0.0"
1773
+ }
1774
+ },
1775
+ "node_modules/@smithy/config-resolver": {
1776
+ "version": "4.1.4",
1777
+ "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.1.4.tgz",
1778
+ "integrity": "sha512-prmU+rDddxHOH0oNcwemL+SwnzcG65sBF2yXRO7aeXIn/xTlq2pX7JLVbkBnVLowHLg4/OL4+jBmv9hVrVGS+w==",
1779
+ "license": "Apache-2.0",
1780
+ "dependencies": {
1781
+ "@smithy/node-config-provider": "^4.1.3",
1782
+ "@smithy/types": "^4.3.1",
1783
+ "@smithy/util-config-provider": "^4.0.0",
1784
+ "@smithy/util-middleware": "^4.0.4",
1785
+ "tslib": "^2.6.2"
1786
+ },
1787
+ "engines": {
1788
+ "node": ">=18.0.0"
1789
+ }
1790
+ },
1791
+ "node_modules/@smithy/core": {
1792
+ "version": "3.5.1",
1793
+ "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.5.1.tgz",
1794
+ "integrity": "sha512-xSw7bZEFKwOKrm/iv8e2BLt2ur98YZdrRD6nII8ditQeUsY2Q1JmIQ0rpILOhaLKYxxG2ivnoOpokzr9qLyDWA==",
1795
+ "license": "Apache-2.0",
1796
+ "dependencies": {
1797
+ "@smithy/middleware-serde": "^4.0.8",
1798
+ "@smithy/protocol-http": "^5.1.2",
1799
+ "@smithy/types": "^4.3.1",
1800
+ "@smithy/util-base64": "^4.0.0",
1801
+ "@smithy/util-body-length-browser": "^4.0.0",
1802
+ "@smithy/util-middleware": "^4.0.4",
1803
+ "@smithy/util-stream": "^4.2.2",
1804
+ "@smithy/util-utf8": "^4.0.0",
1805
+ "tslib": "^2.6.2"
1806
+ },
1807
+ "engines": {
1808
+ "node": ">=18.0.0"
1809
+ }
1810
+ },
1811
+ "node_modules/@smithy/credential-provider-imds": {
1812
+ "version": "4.0.6",
1813
+ "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.6.tgz",
1814
+ "integrity": "sha512-hKMWcANhUiNbCJouYkZ9V3+/Qf9pteR1dnwgdyzR09R4ODEYx8BbUysHwRSyex4rZ9zapddZhLFTnT4ZijR4pw==",
1815
+ "license": "Apache-2.0",
1816
+ "dependencies": {
1817
+ "@smithy/node-config-provider": "^4.1.3",
1818
+ "@smithy/property-provider": "^4.0.4",
1819
+ "@smithy/types": "^4.3.1",
1820
+ "@smithy/url-parser": "^4.0.4",
1821
+ "tslib": "^2.6.2"
1822
+ },
1823
+ "engines": {
1824
+ "node": ">=18.0.0"
1825
+ }
1826
+ },
1827
+ "node_modules/@smithy/fetch-http-handler": {
1828
+ "version": "5.0.4",
1829
+ "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.4.tgz",
1830
+ "integrity": "sha512-AMtBR5pHppYMVD7z7G+OlHHAcgAN7v0kVKEpHuTO4Gb199Gowh0taYi9oDStFeUhetkeP55JLSVlTW1n9rFtUw==",
1831
+ "license": "Apache-2.0",
1832
+ "dependencies": {
1833
+ "@smithy/protocol-http": "^5.1.2",
1834
+ "@smithy/querystring-builder": "^4.0.4",
1835
+ "@smithy/types": "^4.3.1",
1836
+ "@smithy/util-base64": "^4.0.0",
1837
+ "tslib": "^2.6.2"
1838
+ },
1839
+ "engines": {
1840
+ "node": ">=18.0.0"
1841
+ }
1842
+ },
1843
+ "node_modules/@smithy/hash-node": {
1844
+ "version": "4.0.4",
1845
+ "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.4.tgz",
1846
+ "integrity": "sha512-qnbTPUhCVnCgBp4z4BUJUhOEkVwxiEi1cyFM+Zj6o+aY8OFGxUQleKWq8ltgp3dujuhXojIvJWdoqpm6dVO3lQ==",
1847
+ "license": "Apache-2.0",
1848
+ "dependencies": {
1849
+ "@smithy/types": "^4.3.1",
1850
+ "@smithy/util-buffer-from": "^4.0.0",
1851
+ "@smithy/util-utf8": "^4.0.0",
1852
+ "tslib": "^2.6.2"
1853
+ },
1854
+ "engines": {
1855
+ "node": ">=18.0.0"
1856
+ }
1857
+ },
1858
+ "node_modules/@smithy/invalid-dependency": {
1859
+ "version": "4.0.4",
1860
+ "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.4.tgz",
1861
+ "integrity": "sha512-bNYMi7WKTJHu0gn26wg8OscncTt1t2b8KcsZxvOv56XA6cyXtOAAAaNP7+m45xfppXfOatXF3Sb1MNsLUgVLTw==",
1862
+ "license": "Apache-2.0",
1863
+ "dependencies": {
1864
+ "@smithy/types": "^4.3.1",
1865
+ "tslib": "^2.6.2"
1866
+ },
1867
+ "engines": {
1868
+ "node": ">=18.0.0"
1869
+ }
1870
+ },
1871
+ "node_modules/@smithy/is-array-buffer": {
1872
+ "version": "4.0.0",
1873
+ "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz",
1874
+ "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==",
1875
+ "license": "Apache-2.0",
1876
+ "dependencies": {
1877
+ "tslib": "^2.6.2"
1878
+ },
1879
+ "engines": {
1880
+ "node": ">=18.0.0"
1881
+ }
1882
+ },
1883
+ "node_modules/@smithy/middleware-content-length": {
1884
+ "version": "4.0.4",
1885
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.4.tgz",
1886
+ "integrity": "sha512-F7gDyfI2BB1Kc+4M6rpuOLne5LOcEknH1n6UQB69qv+HucXBR1rkzXBnQTB2q46sFy1PM/zuSJOB532yc8bg3w==",
1887
+ "license": "Apache-2.0",
1888
+ "dependencies": {
1889
+ "@smithy/protocol-http": "^5.1.2",
1890
+ "@smithy/types": "^4.3.1",
1891
+ "tslib": "^2.6.2"
1892
+ },
1893
+ "engines": {
1894
+ "node": ">=18.0.0"
1895
+ }
1896
+ },
1897
+ "node_modules/@smithy/middleware-endpoint": {
1898
+ "version": "4.1.9",
1899
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.1.9.tgz",
1900
+ "integrity": "sha512-AjDgX4UjORLltD/LZCBQTwjQqEfyrx/GeDTHcYLzIgf87pIT70tMWnN87NQpJru1K4ITirY2htSOxNECZJCBOg==",
1901
+ "license": "Apache-2.0",
1902
+ "dependencies": {
1903
+ "@smithy/core": "^3.5.1",
1904
+ "@smithy/middleware-serde": "^4.0.8",
1905
+ "@smithy/node-config-provider": "^4.1.3",
1906
+ "@smithy/shared-ini-file-loader": "^4.0.4",
1907
+ "@smithy/types": "^4.3.1",
1908
+ "@smithy/url-parser": "^4.0.4",
1909
+ "@smithy/util-middleware": "^4.0.4",
1910
+ "tslib": "^2.6.2"
1911
+ },
1912
+ "engines": {
1913
+ "node": ">=18.0.0"
1914
+ }
1915
+ },
1916
+ "node_modules/@smithy/middleware-retry": {
1917
+ "version": "4.1.10",
1918
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.1.10.tgz",
1919
+ "integrity": "sha512-RyhcA3sZIIvAo6r48b2Nx2qfg0OnyohlaV0fw415xrQyx5HQ2bvHl9vs/WBiDXIP49mCfws5wX4308c9Pi/isw==",
1920
+ "license": "Apache-2.0",
1921
+ "dependencies": {
1922
+ "@smithy/node-config-provider": "^4.1.3",
1923
+ "@smithy/protocol-http": "^5.1.2",
1924
+ "@smithy/service-error-classification": "^4.0.5",
1925
+ "@smithy/smithy-client": "^4.4.1",
1926
+ "@smithy/types": "^4.3.1",
1927
+ "@smithy/util-middleware": "^4.0.4",
1928
+ "@smithy/util-retry": "^4.0.5",
1929
+ "tslib": "^2.6.2",
1930
+ "uuid": "^9.0.1"
1931
+ },
1932
+ "engines": {
1933
+ "node": ">=18.0.0"
1934
+ }
1935
+ },
1936
+ "node_modules/@smithy/middleware-serde": {
1937
+ "version": "4.0.8",
1938
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.8.tgz",
1939
+ "integrity": "sha512-iSSl7HJoJaGyMIoNn2B7czghOVwJ9nD7TMvLhMWeSB5vt0TnEYyRRqPJu/TqW76WScaNvYYB8nRoiBHR9S1Ddw==",
1940
+ "license": "Apache-2.0",
1941
+ "dependencies": {
1942
+ "@smithy/protocol-http": "^5.1.2",
1943
+ "@smithy/types": "^4.3.1",
1944
+ "tslib": "^2.6.2"
1945
+ },
1946
+ "engines": {
1947
+ "node": ">=18.0.0"
1948
+ }
1949
+ },
1950
+ "node_modules/@smithy/middleware-stack": {
1951
+ "version": "4.0.4",
1952
+ "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.4.tgz",
1953
+ "integrity": "sha512-kagK5ggDrBUCCzI93ft6DjteNSfY8Ulr83UtySog/h09lTIOAJ/xUSObutanlPT0nhoHAkpmW9V5K8oPyLh+QA==",
1954
+ "license": "Apache-2.0",
1955
+ "dependencies": {
1956
+ "@smithy/types": "^4.3.1",
1957
+ "tslib": "^2.6.2"
1958
+ },
1959
+ "engines": {
1960
+ "node": ">=18.0.0"
1961
+ }
1962
+ },
1963
+ "node_modules/@smithy/node-config-provider": {
1964
+ "version": "4.1.3",
1965
+ "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.1.3.tgz",
1966
+ "integrity": "sha512-HGHQr2s59qaU1lrVH6MbLlmOBxadtzTsoO4c+bF5asdgVik3I8o7JIOzoeqWc5MjVa+vD36/LWE0iXKpNqooRw==",
1967
+ "license": "Apache-2.0",
1968
+ "dependencies": {
1969
+ "@smithy/property-provider": "^4.0.4",
1970
+ "@smithy/shared-ini-file-loader": "^4.0.4",
1971
+ "@smithy/types": "^4.3.1",
1972
+ "tslib": "^2.6.2"
1973
+ },
1974
+ "engines": {
1975
+ "node": ">=18.0.0"
1976
+ }
1977
+ },
1978
+ "node_modules/@smithy/node-http-handler": {
1979
+ "version": "4.0.6",
1980
+ "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.6.tgz",
1981
+ "integrity": "sha512-NqbmSz7AW2rvw4kXhKGrYTiJVDHnMsFnX4i+/FzcZAfbOBauPYs2ekuECkSbtqaxETLLTu9Rl/ex6+I2BKErPA==",
1982
+ "license": "Apache-2.0",
1983
+ "dependencies": {
1984
+ "@smithy/abort-controller": "^4.0.4",
1985
+ "@smithy/protocol-http": "^5.1.2",
1986
+ "@smithy/querystring-builder": "^4.0.4",
1987
+ "@smithy/types": "^4.3.1",
1988
+ "tslib": "^2.6.2"
1989
+ },
1990
+ "engines": {
1991
+ "node": ">=18.0.0"
1992
+ }
1993
+ },
1994
+ "node_modules/@smithy/property-provider": {
1995
+ "version": "4.0.4",
1996
+ "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.4.tgz",
1997
+ "integrity": "sha512-qHJ2sSgu4FqF4U/5UUp4DhXNmdTrgmoAai6oQiM+c5RZ/sbDwJ12qxB1M6FnP+Tn/ggkPZf9ccn4jqKSINaquw==",
1998
+ "license": "Apache-2.0",
1999
+ "dependencies": {
2000
+ "@smithy/types": "^4.3.1",
2001
+ "tslib": "^2.6.2"
2002
+ },
2003
+ "engines": {
2004
+ "node": ">=18.0.0"
2005
+ }
2006
+ },
2007
+ "node_modules/@smithy/protocol-http": {
2008
+ "version": "5.1.2",
2009
+ "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.1.2.tgz",
2010
+ "integrity": "sha512-rOG5cNLBXovxIrICSBm95dLqzfvxjEmuZx4KK3hWwPFHGdW3lxY0fZNXfv2zebfRO7sJZ5pKJYHScsqopeIWtQ==",
2011
+ "license": "Apache-2.0",
2012
+ "dependencies": {
2013
+ "@smithy/types": "^4.3.1",
2014
+ "tslib": "^2.6.2"
2015
+ },
2016
+ "engines": {
2017
+ "node": ">=18.0.0"
2018
+ }
2019
+ },
2020
+ "node_modules/@smithy/querystring-builder": {
2021
+ "version": "4.0.4",
2022
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.4.tgz",
2023
+ "integrity": "sha512-SwREZcDnEYoh9tLNgMbpop+UTGq44Hl9tdj3rf+yeLcfH7+J8OXEBaMc2kDxtyRHu8BhSg9ADEx0gFHvpJgU8w==",
2024
+ "license": "Apache-2.0",
2025
+ "dependencies": {
2026
+ "@smithy/types": "^4.3.1",
2027
+ "@smithy/util-uri-escape": "^4.0.0",
2028
+ "tslib": "^2.6.2"
2029
+ },
2030
+ "engines": {
2031
+ "node": ">=18.0.0"
2032
+ }
2033
+ },
2034
+ "node_modules/@smithy/querystring-parser": {
2035
+ "version": "4.0.4",
2036
+ "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.4.tgz",
2037
+ "integrity": "sha512-6yZf53i/qB8gRHH/l2ZwUG5xgkPgQF15/KxH0DdXMDHjesA9MeZje/853ifkSY0x4m5S+dfDZ+c4x439PF0M2w==",
2038
+ "license": "Apache-2.0",
2039
+ "dependencies": {
2040
+ "@smithy/types": "^4.3.1",
2041
+ "tslib": "^2.6.2"
2042
+ },
2043
+ "engines": {
2044
+ "node": ">=18.0.0"
2045
+ }
2046
+ },
2047
+ "node_modules/@smithy/service-error-classification": {
2048
+ "version": "4.0.5",
2049
+ "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.5.tgz",
2050
+ "integrity": "sha512-LvcfhrnCBvCmTee81pRlh1F39yTS/+kYleVeLCwNtkY8wtGg8V/ca9rbZZvYIl8OjlMtL6KIjaiL/lgVqHD2nA==",
2051
+ "license": "Apache-2.0",
2052
+ "dependencies": {
2053
+ "@smithy/types": "^4.3.1"
2054
+ },
2055
+ "engines": {
2056
+ "node": ">=18.0.0"
2057
+ }
2058
+ },
2059
+ "node_modules/@smithy/shared-ini-file-loader": {
2060
+ "version": "4.0.4",
2061
+ "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.4.tgz",
2062
+ "integrity": "sha512-63X0260LoFBjrHifPDs+nM9tV0VMkOTl4JRMYNuKh/f5PauSjowTfvF3LogfkWdcPoxsA9UjqEOgjeYIbhb7Nw==",
2063
+ "license": "Apache-2.0",
2064
+ "dependencies": {
2065
+ "@smithy/types": "^4.3.1",
2066
+ "tslib": "^2.6.2"
2067
+ },
2068
+ "engines": {
2069
+ "node": ">=18.0.0"
2070
+ }
2071
+ },
2072
+ "node_modules/@smithy/signature-v4": {
2073
+ "version": "5.1.2",
2074
+ "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.1.2.tgz",
2075
+ "integrity": "sha512-d3+U/VpX7a60seHziWnVZOHuEgJlclufjkS6zhXvxcJgkJq4UWdH5eOBLzHRMx6gXjsdT9h6lfpmLzbrdupHgQ==",
2076
+ "license": "Apache-2.0",
2077
+ "dependencies": {
2078
+ "@smithy/is-array-buffer": "^4.0.0",
2079
+ "@smithy/protocol-http": "^5.1.2",
2080
+ "@smithy/types": "^4.3.1",
2081
+ "@smithy/util-hex-encoding": "^4.0.0",
2082
+ "@smithy/util-middleware": "^4.0.4",
2083
+ "@smithy/util-uri-escape": "^4.0.0",
2084
+ "@smithy/util-utf8": "^4.0.0",
2085
+ "tslib": "^2.6.2"
2086
+ },
2087
+ "engines": {
2088
+ "node": ">=18.0.0"
2089
+ }
2090
+ },
2091
+ "node_modules/@smithy/smithy-client": {
2092
+ "version": "4.4.1",
2093
+ "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.4.1.tgz",
2094
+ "integrity": "sha512-XPbcHRfd0iwx8dY5XCBCGyI7uweMW0oezYezxXcG8ANgvZ5YPuC6Ylh+n0bTHpdU3SCMZOnhzgVklYz+p3fIhw==",
2095
+ "license": "Apache-2.0",
2096
+ "dependencies": {
2097
+ "@smithy/core": "^3.5.1",
2098
+ "@smithy/middleware-endpoint": "^4.1.9",
2099
+ "@smithy/middleware-stack": "^4.0.4",
2100
+ "@smithy/protocol-http": "^5.1.2",
2101
+ "@smithy/types": "^4.3.1",
2102
+ "@smithy/util-stream": "^4.2.2",
2103
+ "tslib": "^2.6.2"
2104
+ },
2105
+ "engines": {
2106
+ "node": ">=18.0.0"
2107
+ }
2108
+ },
2109
+ "node_modules/@smithy/types": {
2110
+ "version": "4.3.1",
2111
+ "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.3.1.tgz",
2112
+ "integrity": "sha512-UqKOQBL2x6+HWl3P+3QqFD4ncKq0I8Nuz9QItGv5WuKuMHuuwlhvqcZCoXGfc+P1QmfJE7VieykoYYmrOoFJxA==",
2113
+ "license": "Apache-2.0",
2114
+ "dependencies": {
2115
+ "tslib": "^2.6.2"
2116
+ },
2117
+ "engines": {
2118
+ "node": ">=18.0.0"
2119
+ }
2120
+ },
2121
+ "node_modules/@smithy/url-parser": {
2122
+ "version": "4.0.4",
2123
+ "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.4.tgz",
2124
+ "integrity": "sha512-eMkc144MuN7B0TDA4U2fKs+BqczVbk3W+qIvcoCY6D1JY3hnAdCuhCZODC+GAeaxj0p6Jroz4+XMUn3PCxQQeQ==",
2125
+ "license": "Apache-2.0",
2126
+ "dependencies": {
2127
+ "@smithy/querystring-parser": "^4.0.4",
2128
+ "@smithy/types": "^4.3.1",
2129
+ "tslib": "^2.6.2"
2130
+ },
2131
+ "engines": {
2132
+ "node": ">=18.0.0"
2133
+ }
2134
+ },
2135
+ "node_modules/@smithy/util-base64": {
2136
+ "version": "4.0.0",
2137
+ "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz",
2138
+ "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==",
2139
+ "license": "Apache-2.0",
2140
+ "dependencies": {
2141
+ "@smithy/util-buffer-from": "^4.0.0",
2142
+ "@smithy/util-utf8": "^4.0.0",
2143
+ "tslib": "^2.6.2"
2144
+ },
2145
+ "engines": {
2146
+ "node": ">=18.0.0"
2147
+ }
2148
+ },
2149
+ "node_modules/@smithy/util-body-length-browser": {
2150
+ "version": "4.0.0",
2151
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz",
2152
+ "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==",
2153
+ "license": "Apache-2.0",
2154
+ "dependencies": {
2155
+ "tslib": "^2.6.2"
2156
+ },
2157
+ "engines": {
2158
+ "node": ">=18.0.0"
2159
+ }
2160
+ },
2161
+ "node_modules/@smithy/util-body-length-node": {
2162
+ "version": "4.0.0",
2163
+ "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz",
2164
+ "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==",
2165
+ "license": "Apache-2.0",
2166
+ "dependencies": {
2167
+ "tslib": "^2.6.2"
2168
+ },
2169
+ "engines": {
2170
+ "node": ">=18.0.0"
2171
+ }
2172
+ },
2173
+ "node_modules/@smithy/util-buffer-from": {
2174
+ "version": "4.0.0",
2175
+ "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz",
2176
+ "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==",
2177
+ "license": "Apache-2.0",
2178
+ "dependencies": {
2179
+ "@smithy/is-array-buffer": "^4.0.0",
2180
+ "tslib": "^2.6.2"
2181
+ },
2182
+ "engines": {
2183
+ "node": ">=18.0.0"
2184
+ }
2185
  },
2186
+ "node_modules/@smithy/util-config-provider": {
2187
+ "version": "4.0.0",
2188
+ "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz",
2189
+ "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==",
2190
+ "license": "Apache-2.0",
2191
+ "dependencies": {
2192
+ "tslib": "^2.6.2"
2193
+ },
2194
+ "engines": {
2195
+ "node": ">=18.0.0"
2196
+ }
 
 
2197
  },
2198
+ "node_modules/@smithy/util-defaults-mode-browser": {
2199
+ "version": "4.0.17",
2200
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.17.tgz",
2201
+ "integrity": "sha512-HXq5181qnXmIwB7VrwqwP8rsJybHMoYuJnNoXy4PROs2pfSI4sWDMASF2i+7Lo+u64Y6xowhegcdxczowgJtZg==",
2202
+ "license": "Apache-2.0",
2203
+ "dependencies": {
2204
+ "@smithy/property-provider": "^4.0.4",
2205
+ "@smithy/smithy-client": "^4.4.1",
2206
+ "@smithy/types": "^4.3.1",
2207
+ "bowser": "^2.11.0",
2208
+ "tslib": "^2.6.2"
2209
+ },
2210
+ "engines": {
2211
+ "node": ">=18.0.0"
2212
+ }
2213
  },
2214
+ "node_modules/@smithy/util-defaults-mode-node": {
2215
+ "version": "4.0.17",
2216
+ "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.17.tgz",
2217
+ "integrity": "sha512-RfU2A5LjFhEHw4Nwl1GZNitK4AUWu5jGtigAUDoQtfDUvYHpQxcuLw2QGAdKDtKRflIiHSZ8wXBDR36H9R2Ang==",
2218
+ "license": "Apache-2.0",
2219
+ "dependencies": {
2220
+ "@smithy/config-resolver": "^4.1.4",
2221
+ "@smithy/credential-provider-imds": "^4.0.6",
2222
+ "@smithy/node-config-provider": "^4.1.3",
2223
+ "@smithy/property-provider": "^4.0.4",
2224
+ "@smithy/smithy-client": "^4.4.1",
2225
+ "@smithy/types": "^4.3.1",
2226
+ "tslib": "^2.6.2"
2227
+ },
2228
+ "engines": {
2229
+ "node": ">=18.0.0"
2230
+ }
2231
  },
2232
+ "node_modules/@smithy/util-endpoints": {
2233
+ "version": "3.0.6",
2234
+ "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.6.tgz",
2235
+ "integrity": "sha512-YARl3tFL3WgPuLzljRUnrS2ngLiUtkwhQtj8PAL13XZSyUiNLQxwG3fBBq3QXFqGFUXepIN73pINp3y8c2nBmA==",
2236
+ "license": "Apache-2.0",
2237
+ "dependencies": {
2238
+ "@smithy/node-config-provider": "^4.1.3",
2239
+ "@smithy/types": "^4.3.1",
2240
+ "tslib": "^2.6.2"
2241
+ },
2242
+ "engines": {
2243
+ "node": ">=18.0.0"
2244
+ }
2245
  },
2246
+ "node_modules/@smithy/util-hex-encoding": {
2247
+ "version": "4.0.0",
2248
+ "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz",
2249
+ "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==",
2250
+ "license": "Apache-2.0",
2251
+ "dependencies": {
2252
+ "tslib": "^2.6.2"
2253
+ },
2254
+ "engines": {
2255
+ "node": ">=18.0.0"
2256
+ }
 
 
2257
  },
2258
+ "node_modules/@smithy/util-middleware": {
2259
+ "version": "4.0.4",
2260
+ "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.4.tgz",
2261
+ "integrity": "sha512-9MLKmkBmf4PRb0ONJikCbCwORACcil6gUWojwARCClT7RmLzF04hUR4WdRprIXal7XVyrddadYNfp2eF3nrvtQ==",
2262
+ "license": "Apache-2.0",
2263
+ "dependencies": {
2264
+ "@smithy/types": "^4.3.1",
2265
+ "tslib": "^2.6.2"
2266
+ },
2267
+ "engines": {
2268
+ "node": ">=18.0.0"
2269
+ }
 
2270
  },
2271
+ "node_modules/@smithy/util-retry": {
2272
+ "version": "4.0.5",
2273
+ "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.5.tgz",
2274
+ "integrity": "sha512-V7MSjVDTlEt/plmOFBn1762Dyu5uqMrV2Pl2X0dYk4XvWfdWJNe9Bs5Bzb56wkCuiWjSfClVMGcsuKrGj7S/yg==",
2275
+ "license": "Apache-2.0",
2276
+ "dependencies": {
2277
+ "@smithy/service-error-classification": "^4.0.5",
2278
+ "@smithy/types": "^4.3.1",
2279
+ "tslib": "^2.6.2"
2280
+ },
2281
+ "engines": {
2282
+ "node": ">=18.0.0"
2283
+ }
2284
  },
2285
+ "node_modules/@smithy/util-stream": {
2286
+ "version": "4.2.2",
2287
+ "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.2.2.tgz",
2288
+ "integrity": "sha512-aI+GLi7MJoVxg24/3J1ipwLoYzgkB4kUfogZfnslcYlynj3xsQ0e7vk4TnTro9hhsS5PvX1mwmkRqqHQjwcU7w==",
2289
+ "license": "Apache-2.0",
2290
+ "dependencies": {
2291
+ "@smithy/fetch-http-handler": "^5.0.4",
2292
+ "@smithy/node-http-handler": "^4.0.6",
2293
+ "@smithy/types": "^4.3.1",
2294
+ "@smithy/util-base64": "^4.0.0",
2295
+ "@smithy/util-buffer-from": "^4.0.0",
2296
+ "@smithy/util-hex-encoding": "^4.0.0",
2297
+ "@smithy/util-utf8": "^4.0.0",
2298
+ "tslib": "^2.6.2"
2299
+ },
2300
+ "engines": {
2301
+ "node": ">=18.0.0"
2302
+ }
2303
  },
2304
+ "node_modules/@smithy/util-uri-escape": {
2305
+ "version": "4.0.0",
2306
+ "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz",
2307
+ "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==",
2308
+ "license": "Apache-2.0",
2309
+ "dependencies": {
2310
+ "tslib": "^2.6.2"
2311
+ },
2312
+ "engines": {
2313
+ "node": ">=18.0.0"
2314
+ }
2315
+ },
2316
+ "node_modules/@smithy/util-utf8": {
2317
+ "version": "4.0.0",
2318
+ "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz",
2319
+ "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==",
2320
+ "license": "Apache-2.0",
2321
+ "dependencies": {
2322
+ "@smithy/util-buffer-from": "^4.0.0",
2323
+ "tslib": "^2.6.2"
2324
+ },
2325
+ "engines": {
2326
+ "node": ">=18.0.0"
2327
+ }
2328
+ },
2329
+ "node_modules/@smithy/util-waiter": {
2330
+ "version": "4.0.5",
2331
+ "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.5.tgz",
2332
+ "integrity": "sha512-4QvC49HTteI1gfemu0I1syWovJgPvGn7CVUoN9ZFkdvr/cCFkrEL7qNCdx/2eICqDWEGnnr68oMdSIPCLAriSQ==",
2333
+ "license": "Apache-2.0",
2334
+ "dependencies": {
2335
+ "@smithy/abort-controller": "^4.0.4",
2336
+ "@smithy/types": "^4.3.1",
2337
+ "tslib": "^2.6.2"
2338
+ },
2339
+ "engines": {
2340
+ "node": ">=18.0.0"
2341
+ }
2342
  },
2343
  "node_modules/@sveltejs/acorn-typescript": {
2344
  "version": "1.0.5",
 
2756
  "dev": true,
2757
  "license": "MIT"
2758
  },
2759
+ "node_modules/@types/node": {
2760
+ "version": "22.15.29",
2761
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.29.tgz",
2762
+ "integrity": "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ==",
2763
+ "dev": true,
2764
+ "license": "MIT",
2765
+ "dependencies": {
2766
+ "undici-types": "~6.21.0"
2767
+ }
2768
+ },
2769
+ "node_modules/@types/uuid": {
2770
+ "version": "9.0.8",
2771
+ "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz",
2772
+ "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==",
2773
+ "license": "MIT"
2774
+ },
2775
  "node_modules/@typescript-eslint/eslint-plugin": {
2776
  "version": "8.33.0",
2777
  "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.33.0.tgz",
 
3116
  "dev": true,
3117
  "license": "MIT"
3118
  },
3119
+ "node_modules/bowser": {
3120
+ "version": "2.11.0",
3121
+ "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz",
3122
+ "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==",
3123
+ "license": "MIT"
3124
+ },
3125
  "node_modules/brace-expansion": {
3126
  "version": "1.1.11",
3127
  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
 
3692
  "dev": true,
3693
  "license": "MIT"
3694
  },
3695
+ "node_modules/fast-xml-parser": {
3696
+ "version": "4.4.1",
3697
+ "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz",
3698
+ "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==",
3699
+ "funding": [
3700
+ {
3701
+ "type": "github",
3702
+ "url": "https://github.com/sponsors/NaturalIntelligence"
3703
+ },
3704
+ {
3705
+ "type": "paypal",
3706
+ "url": "https://paypal.me/naturalintelligence"
3707
+ }
3708
+ ],
3709
+ "license": "MIT",
3710
+ "dependencies": {
3711
+ "strnum": "^1.0.5"
3712
+ },
3713
+ "bin": {
3714
+ "fxparser": "src/cli/cli.js"
3715
+ }
3716
+ },
3717
  "node_modules/fastq": {
3718
  "version": "1.19.1",
3719
  "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz",
 
4432
  "url": "https://github.com/sponsors/isaacs"
4433
  }
4434
  },
4435
+ "node_modules/mnemonist": {
4436
+ "version": "0.38.3",
4437
+ "resolved": "https://registry.npmjs.org/mnemonist/-/mnemonist-0.38.3.tgz",
4438
+ "integrity": "sha512-2K9QYubXx/NAjv4VLq1d1Ly8pWNC5L3BrixtdkyTegXWJIqY+zLNDhhX/A+ZwWt70tB1S8H4BE8FLYEFyNoOBw==",
4439
+ "license": "MIT",
4440
+ "dependencies": {
4441
+ "obliterator": "^1.6.1"
4442
+ }
4443
+ },
4444
  "node_modules/mri": {
4445
  "version": "1.2.0",
4446
  "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
 
4494
  "dev": true,
4495
  "license": "MIT"
4496
  },
4497
+ "node_modules/obliterator": {
4498
+ "version": "1.6.1",
4499
+ "resolved": "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz",
4500
+ "integrity": "sha512-9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==",
4501
+ "license": "MIT"
4502
+ },
4503
  "node_modules/optionator": {
4504
  "version": "0.9.4",
4505
  "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
 
5080
  "url": "https://github.com/sponsors/sindresorhus"
5081
  }
5082
  },
5083
+ "node_modules/strnum": {
5084
+ "version": "1.1.2",
5085
+ "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.1.2.tgz",
5086
+ "integrity": "sha512-vrN+B7DBIoTTZjnPNewwhx6cBA/H+IS7rfW68n7XxC1y7uoiGQBxaKzqucGUgavX15dJgiGztLJ8vxuEzwqBdA==",
5087
+ "funding": [
5088
+ {
5089
+ "type": "github",
5090
+ "url": "https://github.com/sponsors/NaturalIntelligence"
5091
+ }
5092
+ ],
5093
+ "license": "MIT"
5094
+ },
5095
  "node_modules/supports-color": {
5096
  "version": "7.2.0",
5097
  "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
 
5286
  "typescript": ">=4.8.4"
5287
  }
5288
  },
5289
+ "node_modules/tslib": {
5290
+ "version": "2.8.1",
5291
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
5292
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
5293
+ "license": "0BSD"
5294
+ },
5295
  "node_modules/type-check": {
5296
  "version": "0.4.0",
5297
  "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
 
5342
  "typescript": ">=4.8.4 <5.9.0"
5343
  }
5344
  },
5345
+ "node_modules/undici-types": {
5346
+ "version": "6.21.0",
5347
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
5348
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
5349
+ "dev": true,
5350
+ "license": "MIT"
5351
+ },
5352
  "node_modules/uri-js": {
5353
  "version": "4.4.1",
5354
  "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
 
5366
  "dev": true,
5367
  "license": "MIT"
5368
  },
5369
+ "node_modules/uuid": {
5370
+ "version": "9.0.1",
5371
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz",
5372
+ "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==",
5373
+ "funding": [
5374
+ "https://github.com/sponsors/broofa",
5375
+ "https://github.com/sponsors/ctavan"
5376
+ ],
5377
+ "license": "MIT",
5378
+ "bin": {
5379
+ "uuid": "dist/bin/uuid"
5380
+ }
5381
+ },
5382
  "node_modules/vite": {
5383
  "version": "6.3.5",
5384
  "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz",
package.json CHANGED
@@ -22,6 +22,7 @@
22
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
23
  "@tailwindcss/typography": "^0.5.15",
24
  "@tailwindcss/vite": "^4.0.0",
 
25
  "eslint": "^9.18.0",
26
  "eslint-config-prettier": "^10.0.1",
27
  "eslint-plugin-svelte": "^3.0.0",
@@ -37,6 +38,7 @@
37
  "vite": "^6.2.6"
38
  },
39
  "dependencies": {
 
40
  "@fortawesome/fontawesome-free": "^6.7.2",
41
  "chart.js": "^4.4.9"
42
  }
 
22
  "@sveltejs/vite-plugin-svelte": "^5.0.0",
23
  "@tailwindcss/typography": "^0.5.15",
24
  "@tailwindcss/vite": "^4.0.0",
25
+ "@types/node": "^22.15.29",
26
  "eslint": "^9.18.0",
27
  "eslint-config-prettier": "^10.0.1",
28
  "eslint-plugin-svelte": "^3.0.0",
 
38
  "vite": "^6.2.6"
39
  },
40
  "dependencies": {
41
+ "@aws-sdk/client-dynamodb": "^3.821.0",
42
  "@fortawesome/fontawesome-free": "^6.7.2",
43
  "chart.js": "^4.4.9"
44
  }
src/lib/index.ts CHANGED
@@ -85,6 +85,8 @@ export async function bandwidthTest(
85
  // stream is finished
86
  const elapsedMs = performance.now() - startTime;
87
  onProgress(elapsedMs, loadedBytes, totalBytes, bytesPerSecond, true);
 
 
88
  break;
89
  }
90
 
@@ -145,3 +147,32 @@ export async function getClientInfo(): Promise<ClientInfo> {
145
  })
146
  );
147
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
85
  // stream is finished
86
  const elapsedMs = performance.now() - startTime;
87
  onProgress(elapsedMs, loadedBytes, totalBytes, bytesPerSecond, true);
88
+ // send analytics data
89
+ await sendAnalyticsData(bytesPerSecond, latencySum / numLatencyTests, cdnPop);
90
  break;
91
  }
92
 
 
147
  })
148
  );
149
  }
150
+
151
+ export async function sendAnalyticsData(bytesPerSecond: number, latency: number, location: string) {
152
+ // send measurements to analytics API
153
+ const measurements = {
154
+ bandwidth: bytesPerSecond,
155
+ latency,
156
+ location
157
+ };
158
+ console.log('Sending analytics data');
159
+ return new Promise((resolve) => {
160
+ fetch('/analytics', {
161
+ method: 'POST',
162
+ headers: {
163
+ 'Content-Type': 'application/json'
164
+ },
165
+ body: JSON.stringify(measurements)
166
+ })
167
+ .then((response) => {
168
+ if (!response.ok) {
169
+ throw new Error(`Network response was not ok: ${response.status}`);
170
+ }
171
+ resolve(response);
172
+ })
173
+ .catch((error) => {
174
+ console.error('Error sending bandwidth data:', error);
175
+ resolve(null);
176
+ });
177
+ });
178
+ }
src/routes/+page.svelte CHANGED
@@ -1,14 +1,14 @@
1
  <script lang="ts">
2
- import { bandwidthTest, getClientInfo } from '$lib';
3
  import { Chart, registerables } from 'chart.js';
4
  import type { Action } from 'svelte/action';
5
  import { onMount } from 'svelte';
6
 
7
  Chart.register(...registerables);
8
 
9
- const MaxTestDurationSec = 20;
10
 
11
- let currentBandwidth = $state('0');
12
  let accumulatedBandwidth = 0;
13
  let numBandwidthMeasurements = 0;
14
  let currentLatency = $state(0);
@@ -44,9 +44,9 @@
44
  numBandwidthMeasurements++;
45
  // calculate the average bandwidth
46
  if (numBandwidthMeasurements > 0) {
47
- currentBandwidth = (accumulatedBandwidth / numBandwidthMeasurements).toFixed(2);
48
  } else {
49
- currentBandwidth = '0';
50
  }
51
  // update the bandwidth measurements array
52
  bandwidthMeasurements.push(mbps); // convert Bps to Mbps
@@ -83,10 +83,10 @@
83
  progress = 0;
84
  bandwidthMeasurements = [];
85
  timeMeasurements = [];
86
- currentBandwidth = '0';
87
  currentLatency = 0;
88
  bandwidthTest(bandwidthCallback, latencyCallback, serverLocationCallback);
89
- testTimeoutHandler = setTimeout(() => {
90
  console.log('Test timed out after', MaxTestDurationSec, 'seconds');
91
  testStatus = 'Completed';
92
  progress = 100;
@@ -96,6 +96,14 @@
96
  testStatus = 'Stopped';
97
  clearTimeout(testTimeoutHandler);
98
  };
 
 
 
 
 
 
 
 
99
  //counter(callback);
100
  //bandwidthTest(bandwidthCallback, latencyCallback);
101
 
@@ -202,7 +210,9 @@
202
  <i class="fas fa-download mr-2"></i>
203
  <span>Download Speed</span>
204
  </div>
205
- <div id="download-speed" class="text-2xl font-bold text-indigo-600">{currentBandwidth}</div>
 
 
206
  <div class="text-sm text-gray-400">Mbps</div>
207
  </div>
208
  <div class="rounded-lg bg-gray-50 p-4 text-center">
@@ -240,7 +250,7 @@
240
  ? 'bg-indigo-100 hover:bg-indigo-100'
241
  : 'glow bg-indigo-600 hover:bg-indigo-700'} flex items-center justify-center rounded-lg px-6 py-3 font-medium text-white transition-all"
242
  onclick={startTest}
243
- disabled={testStatus !== 'Idle' && testStatus !== 'Stopped'}
244
  >
245
  <i class="fas fa-play mr-2"></i>
246
  Start Test
 
1
  <script lang="ts">
2
+ import { bandwidthTest, getClientInfo, sendAnalyticsData } from '$lib';
3
  import { Chart, registerables } from 'chart.js';
4
  import type { Action } from 'svelte/action';
5
  import { onMount } from 'svelte';
6
 
7
  Chart.register(...registerables);
8
 
9
+ const MaxTestDurationSec = 5;
10
 
11
+ let currentBandwidth = $state(0);
12
  let accumulatedBandwidth = 0;
13
  let numBandwidthMeasurements = 0;
14
  let currentLatency = $state(0);
 
44
  numBandwidthMeasurements++;
45
  // calculate the average bandwidth
46
  if (numBandwidthMeasurements > 0) {
47
+ currentBandwidth = accumulatedBandwidth / numBandwidthMeasurements;
48
  } else {
49
+ currentBandwidth = 0;
50
  }
51
  // update the bandwidth measurements array
52
  bandwidthMeasurements.push(mbps); // convert Bps to Mbps
 
83
  progress = 0;
84
  bandwidthMeasurements = [];
85
  timeMeasurements = [];
86
+ currentBandwidth = 0;
87
  currentLatency = 0;
88
  bandwidthTest(bandwidthCallback, latencyCallback, serverLocationCallback);
89
+ testTimeoutHandler = setTimeout(async () => {
90
  console.log('Test timed out after', MaxTestDurationSec, 'seconds');
91
  testStatus = 'Completed';
92
  progress = 100;
 
96
  testStatus = 'Stopped';
97
  clearTimeout(testTimeoutHandler);
98
  };
99
+ $effect(() => {
100
+ (async () => {
101
+ if (testStatus === 'Completed') {
102
+ // send analytics event
103
+ await sendAnalyticsData(currentBandwidth, currentLatency, serverLocation);
104
+ }
105
+ })();
106
+ });
107
  //counter(callback);
108
  //bandwidthTest(bandwidthCallback, latencyCallback);
109
 
 
210
  <i class="fas fa-download mr-2"></i>
211
  <span>Download Speed</span>
212
  </div>
213
+ <div id="download-speed" class="text-2xl font-bold text-indigo-600">
214
+ {currentBandwidth.toFixed(2)}
215
+ </div>
216
  <div class="text-sm text-gray-400">Mbps</div>
217
  </div>
218
  <div class="rounded-lg bg-gray-50 p-4 text-center">
 
250
  ? 'bg-indigo-100 hover:bg-indigo-100'
251
  : 'glow bg-indigo-600 hover:bg-indigo-700'} flex items-center justify-center rounded-lg px-6 py-3 font-medium text-white transition-all"
252
  onclick={startTest}
253
+ disabled={testStatus === 'Running'}
254
  >
255
  <i class="fas fa-play mr-2"></i>
256
  Start Test
src/routes/analytics/+server.ts ADDED
@@ -0,0 +1,55 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ // src/routes/api/bandwidth/+server.ts
2
+ import { json } from '@sveltejs/kit';
3
+ import { DynamoDBClient, PutItemCommand } from '@aws-sdk/client-dynamodb';
4
+ import { randomUUID } from 'crypto';
5
+
6
+ const REGION = process.env.AWS_REGION || 'us-east-1'; // Fallback region if none is set
7
+ const TABLE_NAME = process.env.DYNAMODB_TABLE;
8
+
9
+ if (!TABLE_NAME) {
10
+ console.error(
11
+ 'DYNAMODB_TABLE environment variable is not set. Please set DYNAMODB_TABLE to your DynamoDB table name.'
12
+ );
13
+ }
14
+
15
+ const ddbClient = new DynamoDBClient({ region: REGION });
16
+
17
+ export async function POST({ request }) {
18
+ try {
19
+ const { bandwidth, latency, location } = await request.json();
20
+
21
+ if (
22
+ typeof bandwidth !== 'number' ||
23
+ typeof latency !== 'number' ||
24
+ typeof location !== 'string'
25
+ ) {
26
+ return json({ error: 'Invalid data' }, { status: 400 });
27
+ }
28
+
29
+ if (!TABLE_NAME) {
30
+ return json({ error: 'failed to save measurements' }, { status: 500 });
31
+ }
32
+
33
+ const item = {
34
+ id: { S: randomUUID() }, // primary key
35
+ bandwidth: { N: bandwidth.toString() },
36
+ latency: { N: latency.toString() },
37
+ location: { S: location },
38
+ timestamp: { S: new Date().toISOString() }
39
+ };
40
+
41
+ const putParams = {
42
+ TableName: TABLE_NAME,
43
+ Item: item
44
+ };
45
+
46
+ await ddbClient.send(new PutItemCommand(putParams));
47
+
48
+ console.log('Received bandwidth data:', { bandwidth, latency, location });
49
+
50
+ return json({ success: true });
51
+ } catch (error) {
52
+ console.error('Error processing bandwidth data:', error);
53
+ return json({ error: 'Unable to process the request' }, { status: 500 });
54
+ }
55
+ }