mydapitt commited on
Commit
b688d12
·
1 Parent(s): 09e0cc8
Files changed (18) hide show
  1. .gitattributes +0 -35
  2. .gitignore +1 -0
  3. .m +0 -0
  4. .replit +2 -0
  5. Dockerfile +15 -0
  6. Procfile +1 -0
  7. README.md +39 -9
  8. index.html +736 -0
  9. index.js +135 -0
  10. lib/r2.js +58 -0
  11. package-lock.json +1731 -0
  12. package.json +41 -0
  13. public/file/6hDbYgtCzKzf.jpg +0 -0
  14. public/index.html +37 -0
  15. public/index.html.bak +37 -0
  16. space.yaml +3 -0
  17. vercel.json +16 -0
  18. yarn.lock +1131 -0
.gitattributes DELETED
@@ -1,35 +0,0 @@
1
- *.7z filter=lfs diff=lfs merge=lfs -text
2
- *.arrow filter=lfs diff=lfs merge=lfs -text
3
- *.bin filter=lfs diff=lfs merge=lfs -text
4
- *.bz2 filter=lfs diff=lfs merge=lfs -text
5
- *.ckpt filter=lfs diff=lfs merge=lfs -text
6
- *.ftz filter=lfs diff=lfs merge=lfs -text
7
- *.gz filter=lfs diff=lfs merge=lfs -text
8
- *.h5 filter=lfs diff=lfs merge=lfs -text
9
- *.joblib filter=lfs diff=lfs merge=lfs -text
10
- *.lfs.* filter=lfs diff=lfs merge=lfs -text
11
- *.mlmodel filter=lfs diff=lfs merge=lfs -text
12
- *.model filter=lfs diff=lfs merge=lfs -text
13
- *.msgpack filter=lfs diff=lfs merge=lfs -text
14
- *.npy filter=lfs diff=lfs merge=lfs -text
15
- *.npz filter=lfs diff=lfs merge=lfs -text
16
- *.onnx filter=lfs diff=lfs merge=lfs -text
17
- *.ot filter=lfs diff=lfs merge=lfs -text
18
- *.parquet filter=lfs diff=lfs merge=lfs -text
19
- *.pb filter=lfs diff=lfs merge=lfs -text
20
- *.pickle filter=lfs diff=lfs merge=lfs -text
21
- *.pkl filter=lfs diff=lfs merge=lfs -text
22
- *.pt filter=lfs diff=lfs merge=lfs -text
23
- *.pth filter=lfs diff=lfs merge=lfs -text
24
- *.rar filter=lfs diff=lfs merge=lfs -text
25
- *.safetensors filter=lfs diff=lfs merge=lfs -text
26
- saved_model/**/* filter=lfs diff=lfs merge=lfs -text
27
- *.tar.* filter=lfs diff=lfs merge=lfs -text
28
- *.tar filter=lfs diff=lfs merge=lfs -text
29
- *.tflite filter=lfs diff=lfs merge=lfs -text
30
- *.tgz filter=lfs diff=lfs merge=lfs -text
31
- *.wasm filter=lfs diff=lfs merge=lfs -text
32
- *.xz filter=lfs diff=lfs merge=lfs -text
33
- *.zip filter=lfs diff=lfs merge=lfs -text
34
- *.zst filter=lfs diff=lfs merge=lfs -text
35
- *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.gitignore ADDED
@@ -0,0 +1 @@
 
 
1
+ node_modules
.m ADDED
File without changes
.replit ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ language = "nodejs"
2
+ run = "npm start"
Dockerfile ADDED
@@ -0,0 +1,15 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM node:18-bullseye-slim
2
+
3
+ RUN sed -i "s|deb.debian.org/debian|debian.curvee.eu.org|g" /etc/apt/sources.list && \
4
+ apt-get update && \
5
+ apt upgrade -y && \
6
+ apt install git python3 -y --no-install-recommends
7
+
8
+ RUN npm install
9
+
10
+ RUN mkdir E1
11
+ WORKDIR /E1
12
+ COPY . /E1
13
+ EXPOSE 3000 4000 5000 10000 443 80
14
+
15
+ CMD ["node", "index.js"]
Procfile ADDED
@@ -0,0 +1 @@
 
 
1
+ web: node app.js
README.md CHANGED
@@ -1,11 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  ---
2
- title: Xerrus
3
- emoji: 👀
4
- colorFrom: red
5
- colorTo: gray
6
- sdk: docker
7
- pinned: false
8
- short_description: Test
9
- ---
10
 
11
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <p align="center">
2
+ <img src="https://raw.githubusercontent.com/Xinz-Team/XinzBot/main/media/Itsuki.jpg" alt="XINZ BOT" width="128" height="128"/>
3
+ </p>
4
+ <p align="center">
5
+ <a href="#"><img title="Express Uploader" src="https://img.shields.io/badge/Express Uploader-green?colorA=%23ff0000&colorB=%23017e40&style=for-the-badge"></a>
6
+ </p>
7
+ <p align="center">
8
+ <a href="https://github.com/zennn08"><img title="Author" src="https://img.shields.io/badge/Author-zennn08-red.svg?style=for-the-badge&logo=github"></a>
9
+ </p>
10
+ <p align="center">
11
+ <a href="https://github.com/zennn08/followers"><img title="Followers" src="https://img.shields.io/github/followers/zennn08?color=blue&style=flat-square"></a>
12
+ <a href="https://github.com/zennn08/megumikato2/stargazers/"><img title="Stars" src="https://img.shields.io/github/stars/zennn08/express-uploader?color=red&style=flat-square"></a>
13
+ <a href="https://github.com/zennn08/megumikato2/network/members"><img title="Forks" src="https://img.shields.io/github/forks/zennn08/express-uploader?color=red&style=flat-square"></a>
14
+ <a href="https://github.com/zennn08/megumikato2/watchers"><img title="Watching" src="https://img.shields.io/github/watchers/zennn08/express-uploader?label=Watchers&color=blue&style=flat-square"></a>
15
+ </p>
16
+
17
  ---
 
 
 
 
 
 
 
 
18
 
19
+ [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/zennn08/express-uploader/)
20
+
21
+ [![Run on Repl.it](https://repl.it/badge/github/zennn08/express-uploader)](https://repl.it/github/zennn08/express-uploader)
22
+
23
+ # Install
24
+
25
+ ```bash
26
+ > git clone https://github.com/zennn08/express-uploader
27
+ > cd express-uploader
28
+ > npm i
29
+ ```
30
+
31
+ # Start
32
+
33
+ ```bash
34
+ > npm start
35
+ ```
36
+
37
+ Check your site in [http://localhost:8000](http://localhost:8000)
38
+
39
+ # Donation
40
+
41
+ [![Trakteer](https://trakteer.id/images/mix/navbar-logo-lite-white-beta.png)](https://trakteer.id/aqulzz)
index.html ADDED
@@ -0,0 +1,736 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!doctype html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="description" content="">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1">
7
+ <title>Documentation</title>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
9
+ <link href="https://fonts.googleapis.com/css?family=Nunito+Sans:300,400,600,700,800,900" rel="stylesheet">
10
+ <link rel="author" href="">
11
+ <style>
12
+ /* css variables*/
13
+ :root {
14
+ --primary-color: #432E30;
15
+ --primary-color-light: #8E7474;
16
+ --accent-color: #FE6A6B;
17
+ --accent-color-light: #FFE4E4;
18
+ --accent-color-dark: #B94B4C;
19
+ --white-color: #FAFBFC;
20
+ --light-gray-color: #C6CBD1;
21
+ --medium-gray-color: #959DA5;
22
+ --dark-gray-color: #444D56;
23
+ --bg-color: #F8F8FA;
24
+ --code-bg-color: #F0E8E8;
25
+ }
26
+
27
+ /* normalized */
28
+ html, body {
29
+ padding: 0;
30
+ margin: 0;
31
+ font-family: 'Nunito Sans', sans-serif;
32
+ background-color: white;
33
+ }
34
+
35
+ p {
36
+ font-weight: 300;
37
+ color: #4A4A4A;
38
+ }
39
+
40
+ a, a:hover {
41
+ text-decoration: none;
42
+ color: var(--primary-color);
43
+ }
44
+
45
+ hr {
46
+ padding: 1rem 0;
47
+ border: 0;
48
+ border-bottom: 1px solid var(--bg-color);
49
+ }
50
+
51
+ * {
52
+ box-sizing: border-box;
53
+ }
54
+
55
+ /* global components */
56
+
57
+ /* typography */
58
+ .section__title {
59
+ color: var(--primary-color);
60
+ }
61
+
62
+ /* tabs */
63
+ .tab__container {
64
+ position: relative;
65
+ }
66
+
67
+ .tab__container > ul {
68
+ position: absolute;
69
+ list-style: none;
70
+ margin: 0;
71
+ right: 1rem;
72
+ top: -2rem;
73
+ padding-left: 0;
74
+ }
75
+
76
+ .tab__container .code {
77
+ white-space: normal;
78
+ padding: 1rem 1.5rem;
79
+ }
80
+
81
+ .tab {
82
+ display: inline-block;
83
+ padding: 0.3rem 0.5rem;
84
+ font-weight: 200;
85
+ cursor: pointer;
86
+ }
87
+
88
+ .tab.active {
89
+ border-bottom: 1px solid var(--primary-color);
90
+ font-weight: 700;
91
+ display: inline-block;
92
+ }
93
+
94
+ .tab__pane {
95
+ display: none;
96
+ }
97
+
98
+ .tab__pane.active {
99
+ display: block;
100
+ }
101
+
102
+ /* code */
103
+ .code {
104
+ border-radius: 3px;
105
+ font-family: Space Mono, SFMono-Regular, Menlo,Monaco, Consolas, Liberation Mono, Courier New, monospace;
106
+ background: var(--bg-color);
107
+ border: 1px solid var(--code-bg-color);
108
+ color: var(--primary-color-light);
109
+ }
110
+
111
+ .code--block {
112
+ white-space: pre-line;
113
+ padding: 0 1.5rem;
114
+ }
115
+
116
+ .code--inline {
117
+ padding: 3px 6px;
118
+ font-size: 80%;
119
+ }
120
+
121
+ /* buttons */
122
+ .button--primary {
123
+ padding: 10px 22px;
124
+ background-color: var(--accent-color);
125
+ color: white;
126
+ position: relative;
127
+ text-decoration: none;
128
+ border: 0;
129
+ transition: all .3s ease-out;
130
+ }
131
+
132
+ .button--primary:after {
133
+ position: absolute;
134
+ content: "";
135
+ width: 1rem;
136
+ height: 1rem;
137
+ background-color: var(--accent-color-light);
138
+ right: -0.4rem;
139
+ top: -0.4rem;
140
+ transition: all 0.3s ease-out;
141
+ }
142
+
143
+ .button--primary:hover {
144
+ text-shadow: 0px 1px 1px var(--accent-color-dark);
145
+ color: white;
146
+ transform: translate3D(0, -3px, 0);
147
+ }
148
+
149
+ .button--primary:hover::after {
150
+ transform: rotate(90deg);
151
+ }
152
+
153
+ .button--secondary {
154
+ padding: 10px 22px;
155
+ border: 2px solid var(--primary-color);
156
+ transition: all 0.5s ease-out;
157
+ }
158
+
159
+ .button--secondary:hover {
160
+ border-color: var(--accent-color);
161
+ color: var(--accent-color);
162
+ }
163
+
164
+ /* links */
165
+ .link {
166
+ text-decoration: none;
167
+ transition: all 0.3s ease-out;
168
+ }
169
+
170
+ .link:hover {
171
+ color: var(--accent-color);
172
+ }
173
+
174
+ .link--dark {
175
+ color: var(--primary-color);
176
+ }
177
+
178
+ .link--light {
179
+ color: var(--accent-color);
180
+ }
181
+
182
+ /* menu */
183
+ nav {
184
+ display: grid;
185
+ grid-template-columns: 70px auto;
186
+ }
187
+
188
+ .menu {
189
+ margin: 0;
190
+ text-align: right;
191
+ overflow: hidden;
192
+ list-style: none;
193
+ }
194
+
195
+ .toggle {
196
+ display: none;
197
+ position: relative;
198
+ }
199
+
200
+ .toggle span,
201
+ .toggle span:before,
202
+ .toggle span:after {
203
+ content: '';
204
+ position: absolute;
205
+ height: 2px;
206
+ width: 18px;
207
+ border-radius: 2px;
208
+ background: var(--primary-color);
209
+ display: block;
210
+ cursor: pointer;
211
+ transition: all 0.3s ease-in-out;
212
+ right: 0;
213
+ }
214
+
215
+ .toggle span:before {
216
+ top: -6px;
217
+ }
218
+
219
+ .toggle span:after {
220
+ bottom: -6px;
221
+ }
222
+
223
+ .toggle.open span{
224
+ background-color: transparent;
225
+ }
226
+
227
+ .toggle.open span:before,
228
+ .toggle.open span:after {
229
+ top: 0;
230
+ }
231
+
232
+ .toggle.open span:before {
233
+ transform: rotate(45deg);
234
+ }
235
+
236
+ .toggle.open span:after {
237
+ transform: rotate(-45deg);
238
+ }
239
+
240
+ .menu__item {
241
+ padding: 1rem;
242
+ display: inline-block;
243
+ }
244
+
245
+ .menu__item.toggle {
246
+ display: none;
247
+ }
248
+
249
+ /* table */
250
+ table {
251
+ border-collapse: collapse;
252
+ width: 100%;
253
+ transition: color .3s ease-out;
254
+ margin-bottom: 2rem;
255
+ }
256
+
257
+ table td, table th {
258
+ border: 1px solid var(--code-bg-color);
259
+ padding: 0.8rem;
260
+ font-weight: 300;
261
+ }
262
+
263
+ table th {
264
+ text-align: left;
265
+ background-color: white;
266
+ border-color: white;
267
+ border-bottom-color: var(--code-bg-color);
268
+ }
269
+
270
+ table td:first-child {
271
+ background-color: var(--bg-color);
272
+ font-weight: 600;
273
+ }
274
+
275
+ @media screen and (max-width: 600px) {
276
+ nav {
277
+ grid-template-columns: 70px auto;
278
+ }
279
+
280
+ .menu__item{
281
+ display: none;
282
+ }
283
+
284
+ .menu__item.toggle {
285
+ display: inline-block;
286
+ }
287
+
288
+ .menu {
289
+ text-align: right;
290
+ padding: 0.5rem 1rem;
291
+ }
292
+
293
+ .toggle {
294
+ display: block;
295
+ }
296
+
297
+ .menu.responsive .menu__item:not(:first-child) {
298
+ display: block;
299
+ padding: 0 0 0.5rem 0;
300
+ }
301
+ }
302
+
303
+ /* layout */
304
+ .wrapper {
305
+ margin: 0 auto;
306
+ width: 70%;
307
+ }
308
+
309
+ .footer {
310
+ text-align: center;
311
+ background-color: var(--primary-color);
312
+ padding: 2rem;
313
+ color: white;
314
+ }
315
+
316
+ @keyframes fadeUp {
317
+ 0% {
318
+ opacity: 0;
319
+ transform: translate3d(0,30px,0);
320
+ }
321
+ 100% {
322
+ transform: translate3d(0,0,0);
323
+ }
324
+ }
325
+ html, body {
326
+ display: flex;
327
+ flex-direction: column;
328
+ min-height: 100vh;
329
+ }
330
+
331
+ /* layout */
332
+ .header {
333
+ border-bottom: 1px solid var(--code-bg-color);
334
+ grid-template-columns: 1fr 150px 60% 1fr;
335
+ }
336
+
337
+ .wrapper {
338
+ display: flex;
339
+ flex-grow: 1;
340
+ }
341
+
342
+ /* logo */
343
+ .logo {
344
+ font-weight: 900;
345
+ color: var(--primary-color);
346
+ font-size: 1.4em;
347
+ grid-column: 2;
348
+ }
349
+
350
+ .logo__thin {
351
+ font-weight: 300;
352
+ }
353
+
354
+ /* menu */
355
+ .menu {
356
+ grid-template-columns: 1fr 180px 60% 1fr;
357
+ }
358
+
359
+ .menu__item {
360
+ padding: 1.5rem 1rem;
361
+ }
362
+
363
+ /* doc */
364
+ .doc__bg {
365
+ position: fixed;
366
+ top: 0;
367
+ left: 0;
368
+ bottom: 0;
369
+ width: 28%;
370
+ background-color: var(--bg-color);
371
+ z-index: -1;
372
+ }
373
+
374
+ .doc__nav {
375
+ flex-basis: 20%;
376
+ font-weight: 200;
377
+ }
378
+
379
+ .doc__nav ul {
380
+ list-style: none;
381
+ padding-left: 0;
382
+ line-height: 1.8;
383
+ }
384
+
385
+ .doc__nav ul.fixed {
386
+ position: fixed;
387
+ top: 2rem;
388
+ }
389
+
390
+ .doc__nav li:hover {
391
+ color: var(--primary-color-light);
392
+ cursor: pointer;
393
+ transition: color .3s ease-in-out;
394
+ }
395
+
396
+ .doc__nav .selected {
397
+ color: var(--accent-color);
398
+ position: relative;
399
+ }
400
+
401
+ .doc__nav .selected:after {
402
+ position: absolute;
403
+ content: "";
404
+ width: 1rem;
405
+ height: 1rem;
406
+ background-color: var(--accent-color);
407
+ left: -1.5rem;
408
+ top: 0.3rem;
409
+ }
410
+
411
+ .doc__content {
412
+ flex-basis: 80%;
413
+ padding: 0 0 5rem 1rem;
414
+ }
415
+
416
+ @media (max-width: 750px) {
417
+ .wrapper {
418
+ flex-direction: column;
419
+ }
420
+ .doc__content {
421
+ padding-left: 0;
422
+ }
423
+ .doc__nav ul {
424
+ border-bottom: 1px solid var(--code-bg-color);
425
+ padding-bottom: 0.5rem;
426
+ }
427
+ .doc__nav ul.fixed {
428
+ /* nutralized the fixed menu for mobile*/
429
+ position: relative;
430
+ top: 0;
431
+ }
432
+ .doc__nav li {
433
+ display: inline-block;
434
+ padding-right: 1rem;
435
+ }
436
+ .doc__nav .selected:after {
437
+ display: none;
438
+ }
439
+ }
440
+
441
+ </style>
442
+ </head>
443
+ <body>
444
+ <div class="doc__bg"></div>
445
+ <nav class="header">
446
+ <h1 class="logo">Docs <span class="logo__thin"></span></h1>
447
+ <ul class="menu">
448
+ <div class="menu__item toggle"><span></span></div>
449
+ <li class="menu__item"><a href="https://github.com/MyDapitt" class="link link--dark"><i class="fa fa-github"></i> Github</a></li>
450
+ <li class="menu__item"><a href="index.html" class="link link--dark"><i class="fa fa-home"></i> Home</a></li>
451
+ </ul>
452
+ </nav>
453
+ <div class="wrapper">
454
+ <aside class="doc__nav">
455
+ <ul>
456
+ <li class="js-btn selected">Docs</li>
457
+ <li class="js-btn">Configuration</li>
458
+ <li class="js-btn">Endpoint</li>
459
+ <li class="js-btn">Sample Library</li>
460
+ </ul>
461
+ </aside>
462
+ <article class="doc__content">
463
+ <section class="js-section">
464
+ <h3 class="section__title">JS Code Snippet</h3>
465
+ <div class="code__block code__block--notabs">
466
+ <pre class="code code--block">
467
+ <code>
468
+ //JS Code Snippet//
469
+
470
+ /* If you are using CommonJS, use the following modules:
471
+ file-type version "16.5.3"
472
+ node-fetch version "2.6.0" */
473
+
474
+
475
+ async function uploader(buffer) {
476
+ let { ext } = await type.fromBuffer(buffer);
477
+ bodyForm = new FormData();
478
+ bodyForm.append("file", buffer, "file." + ext);
479
+
480
+ let response = await fetch("https://f.curvee.eu.org/upload", {
481
+ method: "post",
482
+ body: bodyForm,
483
+ });
484
+
485
+ return {
486
+ status: response.status,
487
+ result: (await response.json()).result,
488
+ };
489
+ }
490
+
491
+
492
+ module.exports = { uploader }
493
+ </code>
494
+ </pre>
495
+ </div>
496
+ </section>
497
+ <article class="doc__content">
498
+ <section class="js-section">
499
+ <h3 class="section__title">Call Function</h3>
500
+ <div class="code__block code__block--notabs">
501
+ <pre class="code code--block">
502
+ <code>
503
+ // Call Function
504
+
505
+ const { uploader } = require('../lib/uploader')
506
+ const { getBuffer } = require('../lib/function')
507
+ const link = `https://example.com/img.jpg`
508
+ var buf = await getBuffer(link)
509
+ let res = await uploader(buf)
510
+ console.log(res)
511
+ </code>
512
+ </pre>
513
+ </div>
514
+ </section>
515
+ <article class="doc__content">
516
+ <section class="js-section">
517
+ <h3 class="section__title">Function getBuffer</h3>
518
+ <div class="code__block code__block--notabs">
519
+ <pre class="code code--block">
520
+ <code>
521
+ // getBuffer
522
+
523
+ const axios = require('axios');
524
+ const FileType = require('file-type');
525
+ const fetch = require('node-fetch');
526
+
527
+ const getBuffer = async (url, options) => {
528
+ try {
529
+ options ? options : {}
530
+ const res = await axios({
531
+ method: "get",
532
+ url,
533
+ headers: {
534
+ 'DNT': 1,
535
+ 'Upgrade-Insecure-Request': 1
536
+ },
537
+ ...options,
538
+ responseType: 'arraybuffer'
539
+ })
540
+ return res.data
541
+ } catch (e) {
542
+ console.log(`Error : ${e}`)
543
+ }
544
+ }
545
+
546
+ module.exports = { getBuffer }
547
+ </code>
548
+ </pre>
549
+ </div>
550
+ </section>
551
+ <section class="js-section">
552
+ <h3 class="section__title">Endpoint List</h3>
553
+ <table id="customers">
554
+ <tr>
555
+ <th>Endpoint</th>
556
+ <th>Description</th>
557
+ <th>Status</th>
558
+ </tr>
559
+ <tr>
560
+ <td>/upload</td>
561
+ <td>Upload Files with buffer.</td>
562
+ <td>true</td>
563
+ </tr>
564
+ </table>
565
+ <hr/>
566
+ </section>
567
+ <article class="doc__content">
568
+ <section class="js-section">
569
+ <h3 class="section__title">Sample Library</h3>
570
+ <div class="code__block code__block--notabs">
571
+ <pre class="code code--block">
572
+ <code>
573
+ const fetch = require('node-fetch')
574
+ const FormData = require('form-data')
575
+ const { fromBuffer } = require('file-type')
576
+
577
+ /**
578
+ * Upload image to url
579
+ * Supported mimetype:
580
+ * - `image/jpeg`
581
+ * - `image/jpg`
582
+ * - `image/png`s
583
+ * - `video/mp4`s
584
+ * - `all files`
585
+ * @param {Buffer} buffer Image Buffer
586
+ */
587
+
588
+ module.exports = async buffer => {
589
+ let { ext } = await fromBuffer(buffer);
590
+ let bodyForm = new FormData();
591
+ bodyForm.append("file", buffer, "file." + ext);
592
+ let res = await fetch("https://f.curvee.eu.org/upload", {
593
+ method: "post",
594
+ body: bodyForm,
595
+ });
596
+ let data = await res.json();
597
+ let resultUrl = data.result ? data.result.url : '';
598
+ return resultUrl;
599
+ }
600
+ </code>
601
+ </pre>
602
+ </div>
603
+ </section>
604
+ <section class="js-section">
605
+ <h3 class="section__title">Issues</h3>
606
+ <p>If you encounter any problems, please contact me by contacting me on GitHub, I will be happy to answer any questions you have.</p>
607
+ </section>
608
+ </article>
609
+ </div>
610
+ <footer class="footer">© Copyright<a href="https://github.com/MyDapitt" target="_blank" class="link link--light"> Davitt </a>.</footer>
611
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
612
+ <script>hljs.initHighlightingOnLoad();</script>
613
+ <script>
614
+ var get = function (selector, scope) {
615
+ scope = scope ? scope : document;
616
+ return scope.querySelector(selector);
617
+ };
618
+
619
+ var getAll = function (selector, scope) {
620
+ scope = scope ? scope : document;
621
+ return scope.querySelectorAll(selector);
622
+ };
623
+
624
+ // setup typewriter effect in the terminal demo
625
+ if (document.getElementsByClassName('demo').length > 0) {
626
+ var i = 0;
627
+ var txt = `elemet`;
628
+ var speed = 60;
629
+
630
+ function typeItOut () {
631
+ if (i < txt.length) {
632
+ document.getElementsByClassName('demo')[0].innerHTML += txt.charAt(i);
633
+ i++;
634
+ setTimeout(typeItOut, speed);
635
+ }
636
+ }
637
+
638
+ setTimeout(typeItOut, 1800);
639
+ }
640
+
641
+ // toggle tabs on codeblock
642
+ window.addEventListener("load", function() {
643
+ // get all tab_containers in the document
644
+ var tabContainers = getAll(".tab__container");
645
+
646
+ // bind click event to each tab container
647
+ for (var i = 0; i < tabContainers.length; i++) {
648
+ get('.tab__menu', tabContainers[i]).addEventListener("click", tabClick);
649
+ }
650
+
651
+ // each click event is scoped to the tab_container
652
+ function tabClick (event) {
653
+ var scope = event.currentTarget.parentNode;
654
+ var clickedTab = event.target;
655
+ var tabs = getAll('.tab', scope);
656
+ var panes = getAll('.tab__pane', scope);
657
+ var activePane = get(`.${clickedTab.getAttribute('data-tab')}`, scope);
658
+
659
+ // remove all active tab classes
660
+ for (var i = 0; i < tabs.length; i++) {
661
+ tabs[i].classList.remove('active');
662
+ }
663
+
664
+ // remove all active pane classes
665
+ for (var i = 0; i < panes.length; i++) {
666
+ panes[i].classList.remove('active');
667
+ }
668
+
669
+ // apply active classes on desired tab and pane
670
+ clickedTab.classList.add('active');
671
+ activePane.classList.add('active');
672
+ }
673
+ });
674
+
675
+ //in page scrolling for documentaiton page
676
+ var btns = getAll('.js-btn');
677
+ var sections = getAll('.js-section');
678
+
679
+ function setActiveLink(event) {
680
+ // remove all active tab classes
681
+ for (var i = 0; i < btns.length; i++) {
682
+ btns[i].classList.remove('selected');
683
+ }
684
+
685
+ event.target.classList.add('selected');
686
+ }
687
+
688
+ function smoothScrollTo(i, event) {
689
+ var element = sections[i];
690
+ setActiveLink(event);
691
+
692
+ window.scrollTo({
693
+ 'behavior': 'smooth',
694
+ 'top': element.offsetTop - 20,
695
+ 'left': 0
696
+ });
697
+ }
698
+
699
+ if (btns.length && sections.length > 0) {
700
+ for (var i = 0; i<btns.length; i++) {
701
+ btns[i].addEventListener('click', smoothScrollTo.bind(this,i));
702
+ }
703
+ }
704
+
705
+ // fix menu to page-top once user starts scrolling
706
+ window.addEventListener('scroll', function () {
707
+ var docNav = get('.doc__nav > ul');
708
+
709
+ if( docNav) {
710
+ if (window.pageYOffset > 63) {
711
+ docNav.classList.add('fixed');
712
+ } else {
713
+ docNav.classList.remove('fixed');
714
+ }
715
+ }
716
+ });
717
+
718
+ // responsive navigation
719
+ var topNav = get('.menu');
720
+ var icon = get('.toggle');
721
+
722
+ window.addEventListener('load', function(){
723
+ function showNav() {
724
+ if (topNav.className === 'menu') {
725
+ topNav.className += ' responsive';
726
+ icon.className += ' open';
727
+ } else {
728
+ topNav.className = 'menu';
729
+ icon.classList.remove('open');
730
+ }
731
+ }
732
+ icon.addEventListener('click', showNav);
733
+ });
734
+ </script>
735
+ </body>
736
+ </html>
index.js ADDED
@@ -0,0 +1,135 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const express = require('express');
2
+ const multer = require('multer');
3
+ const AWS = require('aws-sdk');
4
+ const path = require('path');
5
+ const axios = require('axios');
6
+ const app = express();
7
+ const port = process.env.PORT || 7861 || 7860 || 8000 || 3000 || 8080 || 2022;
8
+
9
+ // Configure AWS R2
10
+ const r2 = new AWS.S3({
11
+ endpoint: 'https://90ea285cb6b03a79a36923f11a34c3a2.r2.cloudflarestorage.com',
12
+ accessKeyId: '769433fbf8d0d975144746b83eb2619e',
13
+ secretAccessKey: '1679293fecd820a92788bbc6825ff948117284e0a5bcdea025903f06bfc57716',
14
+ region: 'auto',
15
+ signatureVersion: 'v4',
16
+ });
17
+
18
+ // Use memory storage for multer
19
+ const upload = multer({ storage: multer.memoryStorage() });
20
+
21
+ // Function to upload buffer to R2
22
+ async function uploadToR2(buffer, filename) {
23
+ const params = {
24
+ Bucket: 'bookworm',
25
+ Key: `file/${filename}`, // Path in bucket
26
+ Body: buffer,
27
+ ACL: 'public-read',
28
+ };
29
+ return r2.upload(params).promise();
30
+ }
31
+
32
+ // Handle GET requests at /
33
+ app.get('/', (req, res) => {
34
+ res.sendFile(path.join(__dirname, 'index.html'), (err) => {
35
+ if (err) {
36
+ res.status(err.status).end();
37
+ }
38
+ });
39
+ });
40
+
41
+ // Handle GET requests at /upload
42
+ app.get('/upload', (req, res) => {
43
+ res.status(405).json({
44
+ status: false,
45
+ message: "Method not allowed. Please use POST to upload files."
46
+ });
47
+ });
48
+
49
+ // Handle POST requests at /upload
50
+ app.post('/upload', upload.single('file'), async (req, res) => {
51
+ if (!req.file) {
52
+ return res.status(400).json({ status: false, message: "No file uploaded" });
53
+ }
54
+
55
+ const encodedOriginalName = encodeURIComponent(req.file.originalname);
56
+ const filename = `v-${randomName(4)}-${encodedOriginalName}`;
57
+
58
+ try {
59
+ const r2Response = await uploadToR2(req.file.buffer, filename);
60
+ res.status(200).json({
61
+ status: true,
62
+ message: "File uploaded successfully",
63
+ result: {
64
+ size: req.file.size,
65
+ original_name: req.file.originalname,
66
+ mimetype: req.file.mimetype,
67
+ url: `https://file.curvee.eu.org/file/${filename}`,
68
+ }
69
+ });
70
+ } catch (error) {
71
+ console.error(error);
72
+ res.status(500).json({
73
+ status: false,
74
+ message: "Error uploading to R2",
75
+ error: error.message,
76
+ });
77
+ }
78
+ });
79
+
80
+ // Fetcher
81
+
82
+ app.get('/get', async (req, res) => {
83
+ const userAgent = req.get('User-Agent');
84
+ const { url } = req.query;
85
+
86
+ // Validasi parameter url
87
+ if (!url) {
88
+ return res.status(400).json({
89
+ status: 400,
90
+ message: "Please input parameter url!"
91
+ });
92
+ }
93
+
94
+ try {
95
+ // Ambil data dari URL menggunakan axios
96
+ const response = await axios.get(url, {
97
+ headers: {
98
+ "User-Agent": userAgent
99
+ }
100
+ });
101
+
102
+ // Kirimkan data hasil fetch
103
+ res.status(200).send(response.data);
104
+
105
+ } catch (e) {
106
+ // Tangani error jika ada
107
+ res.status(500).json({
108
+ status: 500,
109
+ message: "Error fetching the URL.",
110
+ error: e.message
111
+ });
112
+ console.log(e);
113
+ }
114
+ });
115
+
116
+ // Handle 404 and redirect to /
117
+ app.use((req, res) => {
118
+ res.redirect('/');
119
+ });
120
+
121
+
122
+ // Start server
123
+ app.listen(port, () => {
124
+ console.log(`App listening at http://localhost:${port}`);
125
+ });
126
+
127
+ // Function to generate random name
128
+ function randomName(length) {
129
+ let result = '';
130
+ const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
131
+ for (let i = 0; i < length; i++) {
132
+ result += characters.charAt(Math.floor(Math.random() * characters.length));
133
+ }
134
+ return result;
135
+ }
lib/r2.js ADDED
@@ -0,0 +1,58 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ const AWS = require('aws-sdk');
2
+ const fs = require('fs');
3
+ const { fromBuffer } = require('file-type'); // Perbaikan di sini
4
+ const path = require('path');
5
+ const crypto = require('crypto');
6
+
7
+ // Konfigurasi AWS SDK untuk Cloudflare R2
8
+ const r2 = new AWS.S3({
9
+ endpoint: 'https://90ea285cb6b03a79a36923f11a34c3a2.r2.cloudflarestorage.com',
10
+ accessKeyId: '769433fbf8d0d975144746b83eb2619e',
11
+ secretAccessKey: '1679293fecd820a92788bbc6825ff948117284e0a5bcdea025903f06bfc57716',
12
+ region: 'auto',
13
+ signatureVersion: 'v4',
14
+ });
15
+
16
+ // Nama bucket dan file yang ingin diupload
17
+
18
+ async function uFile(buffer) {
19
+ const r2 = new AWS.S3({
20
+ endpoint: 'https://90ea285cb6b03a79a36923f11a34c3a2.r2.cloudflarestorage.com',
21
+ accessKeyId: '769433fbf8d0d975144746b83eb2619e',
22
+ secretAccessKey: '1679293fecd820a92788bbc6825ff948117284e0a5bcdea025903f06bfc57716',
23
+ region: 'auto',
24
+ signatureVersion: 'v4',
25
+ });
26
+ const { ext } = fromBuffer(buffer);
27
+ const fileName = 'file/' + rFileName() + '.' + ext; // Memperbaiki nama variabel
28
+ try {
29
+ const params = {
30
+ Bucket: 'bookworm',
31
+ Key: fileName,
32
+ Body: buffer,
33
+ ACL: 'public-read', // Ubah sesuai kebutuhan
34
+ };
35
+
36
+ const data = r2.upload(params).promise();
37
+ return {
38
+ status: 'success',
39
+ message: 'File uploaded successfully.',
40
+ location: `https://file.curvee.eu.org/${fileName}`,
41
+ };
42
+ } catch (error) {
43
+ return {
44
+ status: 'error',
45
+ message: 'Error uploading file',
46
+ error: error.message,
47
+ };
48
+ }
49
+ };
50
+
51
+ function rFileName() {
52
+ const randomBytes = crypto.randomBytes(10).toString('hex'); // 20 karakter heksadesimal
53
+ return randomBytes;
54
+ }
55
+
56
+ function getFileExtension(fileName) {
57
+ return path.extname(fileName);
58
+ }
package-lock.json ADDED
@@ -0,0 +1,1731 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "express-uploader",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "express-uploader",
9
+ "version": "1.0.0",
10
+ "license": "ISC",
11
+ "dependencies": {
12
+ "aws-sdk": "^2.1691.0",
13
+ "axios": "^1.7.7",
14
+ "cheerio": "^1.0.0-rc.10",
15
+ "cookie-parser": "^1.4.5",
16
+ "cors": "^2.8.5",
17
+ "express": "^4.17.1",
18
+ "file-type": "^16.5.3",
19
+ "form-data": "^4.0.0",
20
+ "fs": "^0.0.1-security",
21
+ "morgan": "^1.10.0",
22
+ "multer": "^1.4.3",
23
+ "node-fetch": "^2.6.0",
24
+ "path": "^0.12.7"
25
+ }
26
+ },
27
+ "node_modules/@tokenizer/token": {
28
+ "version": "0.3.0",
29
+ "resolved": "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz",
30
+ "integrity": "sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A=="
31
+ },
32
+ "node_modules/accepts": {
33
+ "version": "1.3.8",
34
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
35
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
36
+ "dependencies": {
37
+ "mime-types": "~2.1.34",
38
+ "negotiator": "0.6.3"
39
+ },
40
+ "engines": {
41
+ "node": ">= 0.6"
42
+ }
43
+ },
44
+ "node_modules/append-field": {
45
+ "version": "1.0.0",
46
+ "resolved": "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz",
47
+ "integrity": "sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw=="
48
+ },
49
+ "node_modules/array-flatten": {
50
+ "version": "1.1.1",
51
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
52
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
53
+ },
54
+ "node_modules/asynckit": {
55
+ "version": "0.4.0",
56
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
57
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
58
+ },
59
+ "node_modules/available-typed-arrays": {
60
+ "version": "1.0.7",
61
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
62
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
63
+ "dependencies": {
64
+ "possible-typed-array-names": "^1.0.0"
65
+ },
66
+ "engines": {
67
+ "node": ">= 0.4"
68
+ },
69
+ "funding": {
70
+ "url": "https://github.com/sponsors/ljharb"
71
+ }
72
+ },
73
+ "node_modules/aws-sdk": {
74
+ "version": "2.1691.0",
75
+ "resolved": "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1691.0.tgz",
76
+ "integrity": "sha512-/F2YC+DlsY3UBM2Bdnh5RLHOPNibS/+IcjUuhP8XuctyrN+MlL+fWDAiela32LTDk7hMy4rx8MTgvbJ+0blO5g==",
77
+ "hasInstallScript": true,
78
+ "dependencies": {
79
+ "buffer": "4.9.2",
80
+ "events": "1.1.1",
81
+ "ieee754": "1.1.13",
82
+ "jmespath": "0.16.0",
83
+ "querystring": "0.2.0",
84
+ "sax": "1.2.1",
85
+ "url": "0.10.3",
86
+ "util": "^0.12.4",
87
+ "uuid": "8.0.0",
88
+ "xml2js": "0.6.2"
89
+ },
90
+ "engines": {
91
+ "node": ">= 10.0.0"
92
+ }
93
+ },
94
+ "node_modules/axios": {
95
+ "version": "1.7.7",
96
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
97
+ "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
98
+ "dependencies": {
99
+ "follow-redirects": "^1.15.6",
100
+ "form-data": "^4.0.0",
101
+ "proxy-from-env": "^1.1.0"
102
+ }
103
+ },
104
+ "node_modules/base64-js": {
105
+ "version": "1.5.1",
106
+ "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
107
+ "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
108
+ "funding": [
109
+ {
110
+ "type": "github",
111
+ "url": "https://github.com/sponsors/feross"
112
+ },
113
+ {
114
+ "type": "patreon",
115
+ "url": "https://www.patreon.com/feross"
116
+ },
117
+ {
118
+ "type": "consulting",
119
+ "url": "https://feross.org/support"
120
+ }
121
+ ]
122
+ },
123
+ "node_modules/basic-auth": {
124
+ "version": "2.0.1",
125
+ "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz",
126
+ "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==",
127
+ "dependencies": {
128
+ "safe-buffer": "5.1.2"
129
+ },
130
+ "engines": {
131
+ "node": ">= 0.8"
132
+ }
133
+ },
134
+ "node_modules/basic-auth/node_modules/safe-buffer": {
135
+ "version": "5.1.2",
136
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
137
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
138
+ },
139
+ "node_modules/body-parser": {
140
+ "version": "1.20.3",
141
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
142
+ "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
143
+ "dependencies": {
144
+ "bytes": "3.1.2",
145
+ "content-type": "~1.0.5",
146
+ "debug": "2.6.9",
147
+ "depd": "2.0.0",
148
+ "destroy": "1.2.0",
149
+ "http-errors": "2.0.0",
150
+ "iconv-lite": "0.4.24",
151
+ "on-finished": "2.4.1",
152
+ "qs": "6.13.0",
153
+ "raw-body": "2.5.2",
154
+ "type-is": "~1.6.18",
155
+ "unpipe": "1.0.0"
156
+ },
157
+ "engines": {
158
+ "node": ">= 0.8",
159
+ "npm": "1.2.8000 || >= 1.4.16"
160
+ }
161
+ },
162
+ "node_modules/body-parser/node_modules/iconv-lite": {
163
+ "version": "0.4.24",
164
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
165
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
166
+ "dependencies": {
167
+ "safer-buffer": ">= 2.1.2 < 3"
168
+ },
169
+ "engines": {
170
+ "node": ">=0.10.0"
171
+ }
172
+ },
173
+ "node_modules/boolbase": {
174
+ "version": "1.0.0",
175
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
176
+ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
177
+ },
178
+ "node_modules/buffer": {
179
+ "version": "4.9.2",
180
+ "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
181
+ "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
182
+ "dependencies": {
183
+ "base64-js": "^1.0.2",
184
+ "ieee754": "^1.1.4",
185
+ "isarray": "^1.0.0"
186
+ }
187
+ },
188
+ "node_modules/buffer-from": {
189
+ "version": "1.1.2",
190
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
191
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
192
+ },
193
+ "node_modules/busboy": {
194
+ "version": "0.2.14",
195
+ "resolved": "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz",
196
+ "integrity": "sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==",
197
+ "dependencies": {
198
+ "dicer": "0.2.5",
199
+ "readable-stream": "1.1.x"
200
+ },
201
+ "engines": {
202
+ "node": ">=0.8.0"
203
+ }
204
+ },
205
+ "node_modules/bytes": {
206
+ "version": "3.1.2",
207
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
208
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
209
+ "engines": {
210
+ "node": ">= 0.8"
211
+ }
212
+ },
213
+ "node_modules/call-bind": {
214
+ "version": "1.0.7",
215
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
216
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
217
+ "dependencies": {
218
+ "es-define-property": "^1.0.0",
219
+ "es-errors": "^1.3.0",
220
+ "function-bind": "^1.1.2",
221
+ "get-intrinsic": "^1.2.4",
222
+ "set-function-length": "^1.2.1"
223
+ },
224
+ "engines": {
225
+ "node": ">= 0.4"
226
+ },
227
+ "funding": {
228
+ "url": "https://github.com/sponsors/ljharb"
229
+ }
230
+ },
231
+ "node_modules/cheerio": {
232
+ "version": "1.0.0",
233
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz",
234
+ "integrity": "sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==",
235
+ "dependencies": {
236
+ "cheerio-select": "^2.1.0",
237
+ "dom-serializer": "^2.0.0",
238
+ "domhandler": "^5.0.3",
239
+ "domutils": "^3.1.0",
240
+ "encoding-sniffer": "^0.2.0",
241
+ "htmlparser2": "^9.1.0",
242
+ "parse5": "^7.1.2",
243
+ "parse5-htmlparser2-tree-adapter": "^7.0.0",
244
+ "parse5-parser-stream": "^7.1.2",
245
+ "undici": "^6.19.5",
246
+ "whatwg-mimetype": "^4.0.0"
247
+ },
248
+ "engines": {
249
+ "node": ">=18.17"
250
+ },
251
+ "funding": {
252
+ "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
253
+ }
254
+ },
255
+ "node_modules/cheerio-select": {
256
+ "version": "2.1.0",
257
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz",
258
+ "integrity": "sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==",
259
+ "dependencies": {
260
+ "boolbase": "^1.0.0",
261
+ "css-select": "^5.1.0",
262
+ "css-what": "^6.1.0",
263
+ "domelementtype": "^2.3.0",
264
+ "domhandler": "^5.0.3",
265
+ "domutils": "^3.0.1"
266
+ },
267
+ "funding": {
268
+ "url": "https://github.com/sponsors/fb55"
269
+ }
270
+ },
271
+ "node_modules/combined-stream": {
272
+ "version": "1.0.8",
273
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
274
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
275
+ "dependencies": {
276
+ "delayed-stream": "~1.0.0"
277
+ },
278
+ "engines": {
279
+ "node": ">= 0.8"
280
+ }
281
+ },
282
+ "node_modules/concat-stream": {
283
+ "version": "1.6.2",
284
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
285
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
286
+ "engines": [
287
+ "node >= 0.8"
288
+ ],
289
+ "dependencies": {
290
+ "buffer-from": "^1.0.0",
291
+ "inherits": "^2.0.3",
292
+ "readable-stream": "^2.2.2",
293
+ "typedarray": "^0.0.6"
294
+ }
295
+ },
296
+ "node_modules/concat-stream/node_modules/readable-stream": {
297
+ "version": "2.3.8",
298
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
299
+ "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
300
+ "dependencies": {
301
+ "core-util-is": "~1.0.0",
302
+ "inherits": "~2.0.3",
303
+ "isarray": "~1.0.0",
304
+ "process-nextick-args": "~2.0.0",
305
+ "safe-buffer": "~5.1.1",
306
+ "string_decoder": "~1.1.1",
307
+ "util-deprecate": "~1.0.1"
308
+ }
309
+ },
310
+ "node_modules/concat-stream/node_modules/safe-buffer": {
311
+ "version": "5.1.2",
312
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
313
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
314
+ },
315
+ "node_modules/concat-stream/node_modules/string_decoder": {
316
+ "version": "1.1.1",
317
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
318
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
319
+ "dependencies": {
320
+ "safe-buffer": "~5.1.0"
321
+ }
322
+ },
323
+ "node_modules/content-disposition": {
324
+ "version": "0.5.4",
325
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
326
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
327
+ "dependencies": {
328
+ "safe-buffer": "5.2.1"
329
+ },
330
+ "engines": {
331
+ "node": ">= 0.6"
332
+ }
333
+ },
334
+ "node_modules/content-type": {
335
+ "version": "1.0.5",
336
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
337
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
338
+ "engines": {
339
+ "node": ">= 0.6"
340
+ }
341
+ },
342
+ "node_modules/cookie": {
343
+ "version": "0.7.2",
344
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
345
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
346
+ "engines": {
347
+ "node": ">= 0.6"
348
+ }
349
+ },
350
+ "node_modules/cookie-parser": {
351
+ "version": "1.4.7",
352
+ "resolved": "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz",
353
+ "integrity": "sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==",
354
+ "dependencies": {
355
+ "cookie": "0.7.2",
356
+ "cookie-signature": "1.0.6"
357
+ },
358
+ "engines": {
359
+ "node": ">= 0.8.0"
360
+ }
361
+ },
362
+ "node_modules/cookie-signature": {
363
+ "version": "1.0.6",
364
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
365
+ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
366
+ },
367
+ "node_modules/core-util-is": {
368
+ "version": "1.0.3",
369
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
370
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
371
+ },
372
+ "node_modules/cors": {
373
+ "version": "2.8.5",
374
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz",
375
+ "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==",
376
+ "dependencies": {
377
+ "object-assign": "^4",
378
+ "vary": "^1"
379
+ },
380
+ "engines": {
381
+ "node": ">= 0.10"
382
+ }
383
+ },
384
+ "node_modules/css-select": {
385
+ "version": "5.1.0",
386
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz",
387
+ "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==",
388
+ "dependencies": {
389
+ "boolbase": "^1.0.0",
390
+ "css-what": "^6.1.0",
391
+ "domhandler": "^5.0.2",
392
+ "domutils": "^3.0.1",
393
+ "nth-check": "^2.0.1"
394
+ },
395
+ "funding": {
396
+ "url": "https://github.com/sponsors/fb55"
397
+ }
398
+ },
399
+ "node_modules/css-what": {
400
+ "version": "6.1.0",
401
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
402
+ "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
403
+ "engines": {
404
+ "node": ">= 6"
405
+ },
406
+ "funding": {
407
+ "url": "https://github.com/sponsors/fb55"
408
+ }
409
+ },
410
+ "node_modules/debug": {
411
+ "version": "2.6.9",
412
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
413
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
414
+ "dependencies": {
415
+ "ms": "2.0.0"
416
+ }
417
+ },
418
+ "node_modules/define-data-property": {
419
+ "version": "1.1.4",
420
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
421
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
422
+ "dependencies": {
423
+ "es-define-property": "^1.0.0",
424
+ "es-errors": "^1.3.0",
425
+ "gopd": "^1.0.1"
426
+ },
427
+ "engines": {
428
+ "node": ">= 0.4"
429
+ },
430
+ "funding": {
431
+ "url": "https://github.com/sponsors/ljharb"
432
+ }
433
+ },
434
+ "node_modules/delayed-stream": {
435
+ "version": "1.0.0",
436
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
437
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
438
+ "engines": {
439
+ "node": ">=0.4.0"
440
+ }
441
+ },
442
+ "node_modules/depd": {
443
+ "version": "2.0.0",
444
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
445
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
446
+ "engines": {
447
+ "node": ">= 0.8"
448
+ }
449
+ },
450
+ "node_modules/destroy": {
451
+ "version": "1.2.0",
452
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
453
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
454
+ "engines": {
455
+ "node": ">= 0.8",
456
+ "npm": "1.2.8000 || >= 1.4.16"
457
+ }
458
+ },
459
+ "node_modules/dicer": {
460
+ "version": "0.2.5",
461
+ "resolved": "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz",
462
+ "integrity": "sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==",
463
+ "dependencies": {
464
+ "readable-stream": "1.1.x",
465
+ "streamsearch": "0.1.2"
466
+ },
467
+ "engines": {
468
+ "node": ">=0.8.0"
469
+ }
470
+ },
471
+ "node_modules/dom-serializer": {
472
+ "version": "2.0.0",
473
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz",
474
+ "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==",
475
+ "dependencies": {
476
+ "domelementtype": "^2.3.0",
477
+ "domhandler": "^5.0.2",
478
+ "entities": "^4.2.0"
479
+ },
480
+ "funding": {
481
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
482
+ }
483
+ },
484
+ "node_modules/domelementtype": {
485
+ "version": "2.3.0",
486
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
487
+ "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
488
+ "funding": [
489
+ {
490
+ "type": "github",
491
+ "url": "https://github.com/sponsors/fb55"
492
+ }
493
+ ]
494
+ },
495
+ "node_modules/domhandler": {
496
+ "version": "5.0.3",
497
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz",
498
+ "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==",
499
+ "dependencies": {
500
+ "domelementtype": "^2.3.0"
501
+ },
502
+ "engines": {
503
+ "node": ">= 4"
504
+ },
505
+ "funding": {
506
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
507
+ }
508
+ },
509
+ "node_modules/domutils": {
510
+ "version": "3.1.0",
511
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz",
512
+ "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==",
513
+ "dependencies": {
514
+ "dom-serializer": "^2.0.0",
515
+ "domelementtype": "^2.3.0",
516
+ "domhandler": "^5.0.3"
517
+ },
518
+ "funding": {
519
+ "url": "https://github.com/fb55/domutils?sponsor=1"
520
+ }
521
+ },
522
+ "node_modules/ee-first": {
523
+ "version": "1.1.1",
524
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
525
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
526
+ },
527
+ "node_modules/encodeurl": {
528
+ "version": "2.0.0",
529
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
530
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
531
+ "engines": {
532
+ "node": ">= 0.8"
533
+ }
534
+ },
535
+ "node_modules/encoding-sniffer": {
536
+ "version": "0.2.0",
537
+ "resolved": "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz",
538
+ "integrity": "sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==",
539
+ "dependencies": {
540
+ "iconv-lite": "^0.6.3",
541
+ "whatwg-encoding": "^3.1.1"
542
+ },
543
+ "funding": {
544
+ "url": "https://github.com/fb55/encoding-sniffer?sponsor=1"
545
+ }
546
+ },
547
+ "node_modules/entities": {
548
+ "version": "4.5.0",
549
+ "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
550
+ "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
551
+ "engines": {
552
+ "node": ">=0.12"
553
+ },
554
+ "funding": {
555
+ "url": "https://github.com/fb55/entities?sponsor=1"
556
+ }
557
+ },
558
+ "node_modules/es-define-property": {
559
+ "version": "1.0.0",
560
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
561
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
562
+ "dependencies": {
563
+ "get-intrinsic": "^1.2.4"
564
+ },
565
+ "engines": {
566
+ "node": ">= 0.4"
567
+ }
568
+ },
569
+ "node_modules/es-errors": {
570
+ "version": "1.3.0",
571
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
572
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
573
+ "engines": {
574
+ "node": ">= 0.4"
575
+ }
576
+ },
577
+ "node_modules/escape-html": {
578
+ "version": "1.0.3",
579
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
580
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
581
+ },
582
+ "node_modules/etag": {
583
+ "version": "1.8.1",
584
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
585
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
586
+ "engines": {
587
+ "node": ">= 0.6"
588
+ }
589
+ },
590
+ "node_modules/events": {
591
+ "version": "1.1.1",
592
+ "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz",
593
+ "integrity": "sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==",
594
+ "engines": {
595
+ "node": ">=0.4.x"
596
+ }
597
+ },
598
+ "node_modules/express": {
599
+ "version": "4.21.1",
600
+ "resolved": "https://registry.npmjs.org/express/-/express-4.21.1.tgz",
601
+ "integrity": "sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==",
602
+ "dependencies": {
603
+ "accepts": "~1.3.8",
604
+ "array-flatten": "1.1.1",
605
+ "body-parser": "1.20.3",
606
+ "content-disposition": "0.5.4",
607
+ "content-type": "~1.0.4",
608
+ "cookie": "0.7.1",
609
+ "cookie-signature": "1.0.6",
610
+ "debug": "2.6.9",
611
+ "depd": "2.0.0",
612
+ "encodeurl": "~2.0.0",
613
+ "escape-html": "~1.0.3",
614
+ "etag": "~1.8.1",
615
+ "finalhandler": "1.3.1",
616
+ "fresh": "0.5.2",
617
+ "http-errors": "2.0.0",
618
+ "merge-descriptors": "1.0.3",
619
+ "methods": "~1.1.2",
620
+ "on-finished": "2.4.1",
621
+ "parseurl": "~1.3.3",
622
+ "path-to-regexp": "0.1.10",
623
+ "proxy-addr": "~2.0.7",
624
+ "qs": "6.13.0",
625
+ "range-parser": "~1.2.1",
626
+ "safe-buffer": "5.2.1",
627
+ "send": "0.19.0",
628
+ "serve-static": "1.16.2",
629
+ "setprototypeof": "1.2.0",
630
+ "statuses": "2.0.1",
631
+ "type-is": "~1.6.18",
632
+ "utils-merge": "1.0.1",
633
+ "vary": "~1.1.2"
634
+ },
635
+ "engines": {
636
+ "node": ">= 0.10.0"
637
+ }
638
+ },
639
+ "node_modules/express/node_modules/cookie": {
640
+ "version": "0.7.1",
641
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
642
+ "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
643
+ "engines": {
644
+ "node": ">= 0.6"
645
+ }
646
+ },
647
+ "node_modules/file-type": {
648
+ "version": "16.5.3",
649
+ "resolved": "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz",
650
+ "integrity": "sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==",
651
+ "dependencies": {
652
+ "readable-web-to-node-stream": "^3.0.0",
653
+ "strtok3": "^6.2.4",
654
+ "token-types": "^4.1.1"
655
+ },
656
+ "engines": {
657
+ "node": ">=10"
658
+ },
659
+ "funding": {
660
+ "url": "https://github.com/sindresorhus/file-type?sponsor=1"
661
+ }
662
+ },
663
+ "node_modules/finalhandler": {
664
+ "version": "1.3.1",
665
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
666
+ "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
667
+ "dependencies": {
668
+ "debug": "2.6.9",
669
+ "encodeurl": "~2.0.0",
670
+ "escape-html": "~1.0.3",
671
+ "on-finished": "2.4.1",
672
+ "parseurl": "~1.3.3",
673
+ "statuses": "2.0.1",
674
+ "unpipe": "~1.0.0"
675
+ },
676
+ "engines": {
677
+ "node": ">= 0.8"
678
+ }
679
+ },
680
+ "node_modules/follow-redirects": {
681
+ "version": "1.15.9",
682
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
683
+ "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
684
+ "funding": [
685
+ {
686
+ "type": "individual",
687
+ "url": "https://github.com/sponsors/RubenVerborgh"
688
+ }
689
+ ],
690
+ "engines": {
691
+ "node": ">=4.0"
692
+ },
693
+ "peerDependenciesMeta": {
694
+ "debug": {
695
+ "optional": true
696
+ }
697
+ }
698
+ },
699
+ "node_modules/for-each": {
700
+ "version": "0.3.3",
701
+ "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz",
702
+ "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==",
703
+ "dependencies": {
704
+ "is-callable": "^1.1.3"
705
+ }
706
+ },
707
+ "node_modules/form-data": {
708
+ "version": "4.0.1",
709
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz",
710
+ "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==",
711
+ "dependencies": {
712
+ "asynckit": "^0.4.0",
713
+ "combined-stream": "^1.0.8",
714
+ "mime-types": "^2.1.12"
715
+ },
716
+ "engines": {
717
+ "node": ">= 6"
718
+ }
719
+ },
720
+ "node_modules/forwarded": {
721
+ "version": "0.2.0",
722
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
723
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
724
+ "engines": {
725
+ "node": ">= 0.6"
726
+ }
727
+ },
728
+ "node_modules/fresh": {
729
+ "version": "0.5.2",
730
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
731
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
732
+ "engines": {
733
+ "node": ">= 0.6"
734
+ }
735
+ },
736
+ "node_modules/fs": {
737
+ "version": "0.0.1-security",
738
+ "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz",
739
+ "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w=="
740
+ },
741
+ "node_modules/function-bind": {
742
+ "version": "1.1.2",
743
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
744
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
745
+ "funding": {
746
+ "url": "https://github.com/sponsors/ljharb"
747
+ }
748
+ },
749
+ "node_modules/get-intrinsic": {
750
+ "version": "1.2.4",
751
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
752
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
753
+ "dependencies": {
754
+ "es-errors": "^1.3.0",
755
+ "function-bind": "^1.1.2",
756
+ "has-proto": "^1.0.1",
757
+ "has-symbols": "^1.0.3",
758
+ "hasown": "^2.0.0"
759
+ },
760
+ "engines": {
761
+ "node": ">= 0.4"
762
+ },
763
+ "funding": {
764
+ "url": "https://github.com/sponsors/ljharb"
765
+ }
766
+ },
767
+ "node_modules/gopd": {
768
+ "version": "1.0.1",
769
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
770
+ "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
771
+ "dependencies": {
772
+ "get-intrinsic": "^1.1.3"
773
+ },
774
+ "funding": {
775
+ "url": "https://github.com/sponsors/ljharb"
776
+ }
777
+ },
778
+ "node_modules/has-property-descriptors": {
779
+ "version": "1.0.2",
780
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
781
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
782
+ "dependencies": {
783
+ "es-define-property": "^1.0.0"
784
+ },
785
+ "funding": {
786
+ "url": "https://github.com/sponsors/ljharb"
787
+ }
788
+ },
789
+ "node_modules/has-proto": {
790
+ "version": "1.0.3",
791
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
792
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
793
+ "engines": {
794
+ "node": ">= 0.4"
795
+ },
796
+ "funding": {
797
+ "url": "https://github.com/sponsors/ljharb"
798
+ }
799
+ },
800
+ "node_modules/has-symbols": {
801
+ "version": "1.0.3",
802
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
803
+ "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
804
+ "engines": {
805
+ "node": ">= 0.4"
806
+ },
807
+ "funding": {
808
+ "url": "https://github.com/sponsors/ljharb"
809
+ }
810
+ },
811
+ "node_modules/has-tostringtag": {
812
+ "version": "1.0.2",
813
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
814
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
815
+ "dependencies": {
816
+ "has-symbols": "^1.0.3"
817
+ },
818
+ "engines": {
819
+ "node": ">= 0.4"
820
+ },
821
+ "funding": {
822
+ "url": "https://github.com/sponsors/ljharb"
823
+ }
824
+ },
825
+ "node_modules/hasown": {
826
+ "version": "2.0.2",
827
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
828
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
829
+ "dependencies": {
830
+ "function-bind": "^1.1.2"
831
+ },
832
+ "engines": {
833
+ "node": ">= 0.4"
834
+ }
835
+ },
836
+ "node_modules/htmlparser2": {
837
+ "version": "9.1.0",
838
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz",
839
+ "integrity": "sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==",
840
+ "funding": [
841
+ "https://github.com/fb55/htmlparser2?sponsor=1",
842
+ {
843
+ "type": "github",
844
+ "url": "https://github.com/sponsors/fb55"
845
+ }
846
+ ],
847
+ "dependencies": {
848
+ "domelementtype": "^2.3.0",
849
+ "domhandler": "^5.0.3",
850
+ "domutils": "^3.1.0",
851
+ "entities": "^4.5.0"
852
+ }
853
+ },
854
+ "node_modules/http-errors": {
855
+ "version": "2.0.0",
856
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
857
+ "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
858
+ "dependencies": {
859
+ "depd": "2.0.0",
860
+ "inherits": "2.0.4",
861
+ "setprototypeof": "1.2.0",
862
+ "statuses": "2.0.1",
863
+ "toidentifier": "1.0.1"
864
+ },
865
+ "engines": {
866
+ "node": ">= 0.8"
867
+ }
868
+ },
869
+ "node_modules/iconv-lite": {
870
+ "version": "0.6.3",
871
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz",
872
+ "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==",
873
+ "dependencies": {
874
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
875
+ },
876
+ "engines": {
877
+ "node": ">=0.10.0"
878
+ }
879
+ },
880
+ "node_modules/ieee754": {
881
+ "version": "1.1.13",
882
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz",
883
+ "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg=="
884
+ },
885
+ "node_modules/inherits": {
886
+ "version": "2.0.4",
887
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
888
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
889
+ },
890
+ "node_modules/ipaddr.js": {
891
+ "version": "1.9.1",
892
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
893
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
894
+ "engines": {
895
+ "node": ">= 0.10"
896
+ }
897
+ },
898
+ "node_modules/is-arguments": {
899
+ "version": "1.1.1",
900
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz",
901
+ "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==",
902
+ "dependencies": {
903
+ "call-bind": "^1.0.2",
904
+ "has-tostringtag": "^1.0.0"
905
+ },
906
+ "engines": {
907
+ "node": ">= 0.4"
908
+ },
909
+ "funding": {
910
+ "url": "https://github.com/sponsors/ljharb"
911
+ }
912
+ },
913
+ "node_modules/is-callable": {
914
+ "version": "1.2.7",
915
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz",
916
+ "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==",
917
+ "engines": {
918
+ "node": ">= 0.4"
919
+ },
920
+ "funding": {
921
+ "url": "https://github.com/sponsors/ljharb"
922
+ }
923
+ },
924
+ "node_modules/is-generator-function": {
925
+ "version": "1.0.10",
926
+ "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
927
+ "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==",
928
+ "dependencies": {
929
+ "has-tostringtag": "^1.0.0"
930
+ },
931
+ "engines": {
932
+ "node": ">= 0.4"
933
+ },
934
+ "funding": {
935
+ "url": "https://github.com/sponsors/ljharb"
936
+ }
937
+ },
938
+ "node_modules/is-typed-array": {
939
+ "version": "1.1.13",
940
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
941
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
942
+ "dependencies": {
943
+ "which-typed-array": "^1.1.14"
944
+ },
945
+ "engines": {
946
+ "node": ">= 0.4"
947
+ },
948
+ "funding": {
949
+ "url": "https://github.com/sponsors/ljharb"
950
+ }
951
+ },
952
+ "node_modules/isarray": {
953
+ "version": "1.0.0",
954
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
955
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
956
+ },
957
+ "node_modules/jmespath": {
958
+ "version": "0.16.0",
959
+ "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz",
960
+ "integrity": "sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==",
961
+ "engines": {
962
+ "node": ">= 0.6.0"
963
+ }
964
+ },
965
+ "node_modules/media-typer": {
966
+ "version": "0.3.0",
967
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
968
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
969
+ "engines": {
970
+ "node": ">= 0.6"
971
+ }
972
+ },
973
+ "node_modules/merge-descriptors": {
974
+ "version": "1.0.3",
975
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
976
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
977
+ "funding": {
978
+ "url": "https://github.com/sponsors/sindresorhus"
979
+ }
980
+ },
981
+ "node_modules/methods": {
982
+ "version": "1.1.2",
983
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
984
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
985
+ "engines": {
986
+ "node": ">= 0.6"
987
+ }
988
+ },
989
+ "node_modules/mime": {
990
+ "version": "1.6.0",
991
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
992
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
993
+ "bin": {
994
+ "mime": "cli.js"
995
+ },
996
+ "engines": {
997
+ "node": ">=4"
998
+ }
999
+ },
1000
+ "node_modules/mime-db": {
1001
+ "version": "1.52.0",
1002
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1003
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1004
+ "engines": {
1005
+ "node": ">= 0.6"
1006
+ }
1007
+ },
1008
+ "node_modules/mime-types": {
1009
+ "version": "2.1.35",
1010
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1011
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1012
+ "dependencies": {
1013
+ "mime-db": "1.52.0"
1014
+ },
1015
+ "engines": {
1016
+ "node": ">= 0.6"
1017
+ }
1018
+ },
1019
+ "node_modules/minimist": {
1020
+ "version": "1.2.8",
1021
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
1022
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
1023
+ "funding": {
1024
+ "url": "https://github.com/sponsors/ljharb"
1025
+ }
1026
+ },
1027
+ "node_modules/mkdirp": {
1028
+ "version": "0.5.6",
1029
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz",
1030
+ "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==",
1031
+ "dependencies": {
1032
+ "minimist": "^1.2.6"
1033
+ },
1034
+ "bin": {
1035
+ "mkdirp": "bin/cmd.js"
1036
+ }
1037
+ },
1038
+ "node_modules/morgan": {
1039
+ "version": "1.10.0",
1040
+ "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz",
1041
+ "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==",
1042
+ "dependencies": {
1043
+ "basic-auth": "~2.0.1",
1044
+ "debug": "2.6.9",
1045
+ "depd": "~2.0.0",
1046
+ "on-finished": "~2.3.0",
1047
+ "on-headers": "~1.0.2"
1048
+ },
1049
+ "engines": {
1050
+ "node": ">= 0.8.0"
1051
+ }
1052
+ },
1053
+ "node_modules/morgan/node_modules/on-finished": {
1054
+ "version": "2.3.0",
1055
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
1056
+ "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==",
1057
+ "dependencies": {
1058
+ "ee-first": "1.1.1"
1059
+ },
1060
+ "engines": {
1061
+ "node": ">= 0.8"
1062
+ }
1063
+ },
1064
+ "node_modules/ms": {
1065
+ "version": "2.0.0",
1066
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1067
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
1068
+ },
1069
+ "node_modules/multer": {
1070
+ "version": "1.4.3",
1071
+ "resolved": "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz",
1072
+ "integrity": "sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==",
1073
+ "deprecated": "Multer 1.x is affected by CVE-2022-24434. This is fixed in v1.4.4-lts.1 which drops support for versions of Node.js before 6. Please upgrade to at least Node.js 6 and version 1.4.4-lts.1 of Multer. If you need support for older versions of Node.js, we are open to accepting patches that would fix the CVE on the main 1.x release line, whilst maintaining compatibility with Node.js 0.10.",
1074
+ "dependencies": {
1075
+ "append-field": "^1.0.0",
1076
+ "busboy": "^0.2.11",
1077
+ "concat-stream": "^1.5.2",
1078
+ "mkdirp": "^0.5.4",
1079
+ "object-assign": "^4.1.1",
1080
+ "on-finished": "^2.3.0",
1081
+ "type-is": "^1.6.4",
1082
+ "xtend": "^4.0.0"
1083
+ },
1084
+ "engines": {
1085
+ "node": ">= 0.10.0"
1086
+ }
1087
+ },
1088
+ "node_modules/negotiator": {
1089
+ "version": "0.6.3",
1090
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1091
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
1092
+ "engines": {
1093
+ "node": ">= 0.6"
1094
+ }
1095
+ },
1096
+ "node_modules/node-fetch": {
1097
+ "version": "2.6.0",
1098
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
1099
+ "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
1100
+ "engines": {
1101
+ "node": "4.x || >=6.0.0"
1102
+ }
1103
+ },
1104
+ "node_modules/nth-check": {
1105
+ "version": "2.1.1",
1106
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
1107
+ "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
1108
+ "dependencies": {
1109
+ "boolbase": "^1.0.0"
1110
+ },
1111
+ "funding": {
1112
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
1113
+ }
1114
+ },
1115
+ "node_modules/object-assign": {
1116
+ "version": "4.1.1",
1117
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1118
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
1119
+ "engines": {
1120
+ "node": ">=0.10.0"
1121
+ }
1122
+ },
1123
+ "node_modules/object-inspect": {
1124
+ "version": "1.13.2",
1125
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
1126
+ "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
1127
+ "engines": {
1128
+ "node": ">= 0.4"
1129
+ },
1130
+ "funding": {
1131
+ "url": "https://github.com/sponsors/ljharb"
1132
+ }
1133
+ },
1134
+ "node_modules/on-finished": {
1135
+ "version": "2.4.1",
1136
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
1137
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
1138
+ "dependencies": {
1139
+ "ee-first": "1.1.1"
1140
+ },
1141
+ "engines": {
1142
+ "node": ">= 0.8"
1143
+ }
1144
+ },
1145
+ "node_modules/on-headers": {
1146
+ "version": "1.0.2",
1147
+ "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
1148
+ "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
1149
+ "engines": {
1150
+ "node": ">= 0.8"
1151
+ }
1152
+ },
1153
+ "node_modules/parse5": {
1154
+ "version": "7.2.1",
1155
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz",
1156
+ "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==",
1157
+ "dependencies": {
1158
+ "entities": "^4.5.0"
1159
+ },
1160
+ "funding": {
1161
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
1162
+ }
1163
+ },
1164
+ "node_modules/parse5-htmlparser2-tree-adapter": {
1165
+ "version": "7.1.0",
1166
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz",
1167
+ "integrity": "sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==",
1168
+ "dependencies": {
1169
+ "domhandler": "^5.0.3",
1170
+ "parse5": "^7.0.0"
1171
+ },
1172
+ "funding": {
1173
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
1174
+ }
1175
+ },
1176
+ "node_modules/parse5-parser-stream": {
1177
+ "version": "7.1.2",
1178
+ "resolved": "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz",
1179
+ "integrity": "sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==",
1180
+ "dependencies": {
1181
+ "parse5": "^7.0.0"
1182
+ },
1183
+ "funding": {
1184
+ "url": "https://github.com/inikulin/parse5?sponsor=1"
1185
+ }
1186
+ },
1187
+ "node_modules/parseurl": {
1188
+ "version": "1.3.3",
1189
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1190
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
1191
+ "engines": {
1192
+ "node": ">= 0.8"
1193
+ }
1194
+ },
1195
+ "node_modules/path": {
1196
+ "version": "0.12.7",
1197
+ "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz",
1198
+ "integrity": "sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==",
1199
+ "dependencies": {
1200
+ "process": "^0.11.1",
1201
+ "util": "^0.10.3"
1202
+ }
1203
+ },
1204
+ "node_modules/path-to-regexp": {
1205
+ "version": "0.1.10",
1206
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
1207
+ "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w=="
1208
+ },
1209
+ "node_modules/path/node_modules/inherits": {
1210
+ "version": "2.0.3",
1211
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
1212
+ "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
1213
+ },
1214
+ "node_modules/path/node_modules/util": {
1215
+ "version": "0.10.4",
1216
+ "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
1217
+ "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
1218
+ "dependencies": {
1219
+ "inherits": "2.0.3"
1220
+ }
1221
+ },
1222
+ "node_modules/peek-readable": {
1223
+ "version": "4.1.0",
1224
+ "resolved": "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz",
1225
+ "integrity": "sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==",
1226
+ "engines": {
1227
+ "node": ">=8"
1228
+ },
1229
+ "funding": {
1230
+ "type": "github",
1231
+ "url": "https://github.com/sponsors/Borewit"
1232
+ }
1233
+ },
1234
+ "node_modules/possible-typed-array-names": {
1235
+ "version": "1.0.0",
1236
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
1237
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
1238
+ "engines": {
1239
+ "node": ">= 0.4"
1240
+ }
1241
+ },
1242
+ "node_modules/process": {
1243
+ "version": "0.11.10",
1244
+ "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
1245
+ "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
1246
+ "engines": {
1247
+ "node": ">= 0.6.0"
1248
+ }
1249
+ },
1250
+ "node_modules/process-nextick-args": {
1251
+ "version": "2.0.1",
1252
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
1253
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
1254
+ },
1255
+ "node_modules/proxy-addr": {
1256
+ "version": "2.0.7",
1257
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1258
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1259
+ "dependencies": {
1260
+ "forwarded": "0.2.0",
1261
+ "ipaddr.js": "1.9.1"
1262
+ },
1263
+ "engines": {
1264
+ "node": ">= 0.10"
1265
+ }
1266
+ },
1267
+ "node_modules/proxy-from-env": {
1268
+ "version": "1.1.0",
1269
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
1270
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
1271
+ },
1272
+ "node_modules/punycode": {
1273
+ "version": "1.3.2",
1274
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
1275
+ "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
1276
+ },
1277
+ "node_modules/qs": {
1278
+ "version": "6.13.0",
1279
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
1280
+ "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
1281
+ "dependencies": {
1282
+ "side-channel": "^1.0.6"
1283
+ },
1284
+ "engines": {
1285
+ "node": ">=0.6"
1286
+ },
1287
+ "funding": {
1288
+ "url": "https://github.com/sponsors/ljharb"
1289
+ }
1290
+ },
1291
+ "node_modules/querystring": {
1292
+ "version": "0.2.0",
1293
+ "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
1294
+ "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
1295
+ "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
1296
+ "engines": {
1297
+ "node": ">=0.4.x"
1298
+ }
1299
+ },
1300
+ "node_modules/range-parser": {
1301
+ "version": "1.2.1",
1302
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1303
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
1304
+ "engines": {
1305
+ "node": ">= 0.6"
1306
+ }
1307
+ },
1308
+ "node_modules/raw-body": {
1309
+ "version": "2.5.2",
1310
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
1311
+ "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
1312
+ "dependencies": {
1313
+ "bytes": "3.1.2",
1314
+ "http-errors": "2.0.0",
1315
+ "iconv-lite": "0.4.24",
1316
+ "unpipe": "1.0.0"
1317
+ },
1318
+ "engines": {
1319
+ "node": ">= 0.8"
1320
+ }
1321
+ },
1322
+ "node_modules/raw-body/node_modules/iconv-lite": {
1323
+ "version": "0.4.24",
1324
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1325
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1326
+ "dependencies": {
1327
+ "safer-buffer": ">= 2.1.2 < 3"
1328
+ },
1329
+ "engines": {
1330
+ "node": ">=0.10.0"
1331
+ }
1332
+ },
1333
+ "node_modules/readable-stream": {
1334
+ "version": "1.1.14",
1335
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz",
1336
+ "integrity": "sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==",
1337
+ "dependencies": {
1338
+ "core-util-is": "~1.0.0",
1339
+ "inherits": "~2.0.1",
1340
+ "isarray": "0.0.1",
1341
+ "string_decoder": "~0.10.x"
1342
+ }
1343
+ },
1344
+ "node_modules/readable-stream/node_modules/isarray": {
1345
+ "version": "0.0.1",
1346
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz",
1347
+ "integrity": "sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ=="
1348
+ },
1349
+ "node_modules/readable-web-to-node-stream": {
1350
+ "version": "3.0.2",
1351
+ "resolved": "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz",
1352
+ "integrity": "sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==",
1353
+ "dependencies": {
1354
+ "readable-stream": "^3.6.0"
1355
+ },
1356
+ "engines": {
1357
+ "node": ">=8"
1358
+ },
1359
+ "funding": {
1360
+ "type": "github",
1361
+ "url": "https://github.com/sponsors/Borewit"
1362
+ }
1363
+ },
1364
+ "node_modules/readable-web-to-node-stream/node_modules/readable-stream": {
1365
+ "version": "3.6.2",
1366
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
1367
+ "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
1368
+ "dependencies": {
1369
+ "inherits": "^2.0.3",
1370
+ "string_decoder": "^1.1.1",
1371
+ "util-deprecate": "^1.0.1"
1372
+ },
1373
+ "engines": {
1374
+ "node": ">= 6"
1375
+ }
1376
+ },
1377
+ "node_modules/readable-web-to-node-stream/node_modules/string_decoder": {
1378
+ "version": "1.3.0",
1379
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
1380
+ "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
1381
+ "dependencies": {
1382
+ "safe-buffer": "~5.2.0"
1383
+ }
1384
+ },
1385
+ "node_modules/safe-buffer": {
1386
+ "version": "5.2.1",
1387
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
1388
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
1389
+ "funding": [
1390
+ {
1391
+ "type": "github",
1392
+ "url": "https://github.com/sponsors/feross"
1393
+ },
1394
+ {
1395
+ "type": "patreon",
1396
+ "url": "https://www.patreon.com/feross"
1397
+ },
1398
+ {
1399
+ "type": "consulting",
1400
+ "url": "https://feross.org/support"
1401
+ }
1402
+ ]
1403
+ },
1404
+ "node_modules/safer-buffer": {
1405
+ "version": "2.1.2",
1406
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
1407
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
1408
+ },
1409
+ "node_modules/sax": {
1410
+ "version": "1.2.1",
1411
+ "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz",
1412
+ "integrity": "sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA=="
1413
+ },
1414
+ "node_modules/send": {
1415
+ "version": "0.19.0",
1416
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
1417
+ "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
1418
+ "dependencies": {
1419
+ "debug": "2.6.9",
1420
+ "depd": "2.0.0",
1421
+ "destroy": "1.2.0",
1422
+ "encodeurl": "~1.0.2",
1423
+ "escape-html": "~1.0.3",
1424
+ "etag": "~1.8.1",
1425
+ "fresh": "0.5.2",
1426
+ "http-errors": "2.0.0",
1427
+ "mime": "1.6.0",
1428
+ "ms": "2.1.3",
1429
+ "on-finished": "2.4.1",
1430
+ "range-parser": "~1.2.1",
1431
+ "statuses": "2.0.1"
1432
+ },
1433
+ "engines": {
1434
+ "node": ">= 0.8.0"
1435
+ }
1436
+ },
1437
+ "node_modules/send/node_modules/encodeurl": {
1438
+ "version": "1.0.2",
1439
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
1440
+ "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
1441
+ "engines": {
1442
+ "node": ">= 0.8"
1443
+ }
1444
+ },
1445
+ "node_modules/send/node_modules/ms": {
1446
+ "version": "2.1.3",
1447
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1448
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
1449
+ },
1450
+ "node_modules/serve-static": {
1451
+ "version": "1.16.2",
1452
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
1453
+ "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
1454
+ "dependencies": {
1455
+ "encodeurl": "~2.0.0",
1456
+ "escape-html": "~1.0.3",
1457
+ "parseurl": "~1.3.3",
1458
+ "send": "0.19.0"
1459
+ },
1460
+ "engines": {
1461
+ "node": ">= 0.8.0"
1462
+ }
1463
+ },
1464
+ "node_modules/set-function-length": {
1465
+ "version": "1.2.2",
1466
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
1467
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
1468
+ "dependencies": {
1469
+ "define-data-property": "^1.1.4",
1470
+ "es-errors": "^1.3.0",
1471
+ "function-bind": "^1.1.2",
1472
+ "get-intrinsic": "^1.2.4",
1473
+ "gopd": "^1.0.1",
1474
+ "has-property-descriptors": "^1.0.2"
1475
+ },
1476
+ "engines": {
1477
+ "node": ">= 0.4"
1478
+ }
1479
+ },
1480
+ "node_modules/setprototypeof": {
1481
+ "version": "1.2.0",
1482
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
1483
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
1484
+ },
1485
+ "node_modules/side-channel": {
1486
+ "version": "1.0.6",
1487
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
1488
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
1489
+ "dependencies": {
1490
+ "call-bind": "^1.0.7",
1491
+ "es-errors": "^1.3.0",
1492
+ "get-intrinsic": "^1.2.4",
1493
+ "object-inspect": "^1.13.1"
1494
+ },
1495
+ "engines": {
1496
+ "node": ">= 0.4"
1497
+ },
1498
+ "funding": {
1499
+ "url": "https://github.com/sponsors/ljharb"
1500
+ }
1501
+ },
1502
+ "node_modules/statuses": {
1503
+ "version": "2.0.1",
1504
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
1505
+ "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
1506
+ "engines": {
1507
+ "node": ">= 0.8"
1508
+ }
1509
+ },
1510
+ "node_modules/streamsearch": {
1511
+ "version": "0.1.2",
1512
+ "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz",
1513
+ "integrity": "sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==",
1514
+ "engines": {
1515
+ "node": ">=0.8.0"
1516
+ }
1517
+ },
1518
+ "node_modules/string_decoder": {
1519
+ "version": "0.10.31",
1520
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz",
1521
+ "integrity": "sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ=="
1522
+ },
1523
+ "node_modules/strtok3": {
1524
+ "version": "6.3.0",
1525
+ "resolved": "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz",
1526
+ "integrity": "sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==",
1527
+ "dependencies": {
1528
+ "@tokenizer/token": "^0.3.0",
1529
+ "peek-readable": "^4.1.0"
1530
+ },
1531
+ "engines": {
1532
+ "node": ">=10"
1533
+ },
1534
+ "funding": {
1535
+ "type": "github",
1536
+ "url": "https://github.com/sponsors/Borewit"
1537
+ }
1538
+ },
1539
+ "node_modules/toidentifier": {
1540
+ "version": "1.0.1",
1541
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1542
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
1543
+ "engines": {
1544
+ "node": ">=0.6"
1545
+ }
1546
+ },
1547
+ "node_modules/token-types": {
1548
+ "version": "4.2.1",
1549
+ "resolved": "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz",
1550
+ "integrity": "sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==",
1551
+ "dependencies": {
1552
+ "@tokenizer/token": "^0.3.0",
1553
+ "ieee754": "^1.2.1"
1554
+ },
1555
+ "engines": {
1556
+ "node": ">=10"
1557
+ },
1558
+ "funding": {
1559
+ "type": "github",
1560
+ "url": "https://github.com/sponsors/Borewit"
1561
+ }
1562
+ },
1563
+ "node_modules/token-types/node_modules/ieee754": {
1564
+ "version": "1.2.1",
1565
+ "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
1566
+ "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
1567
+ "funding": [
1568
+ {
1569
+ "type": "github",
1570
+ "url": "https://github.com/sponsors/feross"
1571
+ },
1572
+ {
1573
+ "type": "patreon",
1574
+ "url": "https://www.patreon.com/feross"
1575
+ },
1576
+ {
1577
+ "type": "consulting",
1578
+ "url": "https://feross.org/support"
1579
+ }
1580
+ ]
1581
+ },
1582
+ "node_modules/type-is": {
1583
+ "version": "1.6.18",
1584
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
1585
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
1586
+ "dependencies": {
1587
+ "media-typer": "0.3.0",
1588
+ "mime-types": "~2.1.24"
1589
+ },
1590
+ "engines": {
1591
+ "node": ">= 0.6"
1592
+ }
1593
+ },
1594
+ "node_modules/typedarray": {
1595
+ "version": "0.0.6",
1596
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
1597
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
1598
+ },
1599
+ "node_modules/undici": {
1600
+ "version": "6.20.1",
1601
+ "resolved": "https://registry.npmjs.org/undici/-/undici-6.20.1.tgz",
1602
+ "integrity": "sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==",
1603
+ "engines": {
1604
+ "node": ">=18.17"
1605
+ }
1606
+ },
1607
+ "node_modules/unpipe": {
1608
+ "version": "1.0.0",
1609
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1610
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
1611
+ "engines": {
1612
+ "node": ">= 0.8"
1613
+ }
1614
+ },
1615
+ "node_modules/url": {
1616
+ "version": "0.10.3",
1617
+ "resolved": "https://registry.npmjs.org/url/-/url-0.10.3.tgz",
1618
+ "integrity": "sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==",
1619
+ "dependencies": {
1620
+ "punycode": "1.3.2",
1621
+ "querystring": "0.2.0"
1622
+ }
1623
+ },
1624
+ "node_modules/util": {
1625
+ "version": "0.12.5",
1626
+ "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz",
1627
+ "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==",
1628
+ "dependencies": {
1629
+ "inherits": "^2.0.3",
1630
+ "is-arguments": "^1.0.4",
1631
+ "is-generator-function": "^1.0.7",
1632
+ "is-typed-array": "^1.1.3",
1633
+ "which-typed-array": "^1.1.2"
1634
+ }
1635
+ },
1636
+ "node_modules/util-deprecate": {
1637
+ "version": "1.0.2",
1638
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
1639
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
1640
+ },
1641
+ "node_modules/utils-merge": {
1642
+ "version": "1.0.1",
1643
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
1644
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
1645
+ "engines": {
1646
+ "node": ">= 0.4.0"
1647
+ }
1648
+ },
1649
+ "node_modules/uuid": {
1650
+ "version": "8.0.0",
1651
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz",
1652
+ "integrity": "sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==",
1653
+ "bin": {
1654
+ "uuid": "dist/bin/uuid"
1655
+ }
1656
+ },
1657
+ "node_modules/vary": {
1658
+ "version": "1.1.2",
1659
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1660
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
1661
+ "engines": {
1662
+ "node": ">= 0.8"
1663
+ }
1664
+ },
1665
+ "node_modules/whatwg-encoding": {
1666
+ "version": "3.1.1",
1667
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz",
1668
+ "integrity": "sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==",
1669
+ "dependencies": {
1670
+ "iconv-lite": "0.6.3"
1671
+ },
1672
+ "engines": {
1673
+ "node": ">=18"
1674
+ }
1675
+ },
1676
+ "node_modules/whatwg-mimetype": {
1677
+ "version": "4.0.0",
1678
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz",
1679
+ "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==",
1680
+ "engines": {
1681
+ "node": ">=18"
1682
+ }
1683
+ },
1684
+ "node_modules/which-typed-array": {
1685
+ "version": "1.1.15",
1686
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
1687
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
1688
+ "dependencies": {
1689
+ "available-typed-arrays": "^1.0.7",
1690
+ "call-bind": "^1.0.7",
1691
+ "for-each": "^0.3.3",
1692
+ "gopd": "^1.0.1",
1693
+ "has-tostringtag": "^1.0.2"
1694
+ },
1695
+ "engines": {
1696
+ "node": ">= 0.4"
1697
+ },
1698
+ "funding": {
1699
+ "url": "https://github.com/sponsors/ljharb"
1700
+ }
1701
+ },
1702
+ "node_modules/xml2js": {
1703
+ "version": "0.6.2",
1704
+ "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
1705
+ "integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
1706
+ "dependencies": {
1707
+ "sax": ">=0.6.0",
1708
+ "xmlbuilder": "~11.0.0"
1709
+ },
1710
+ "engines": {
1711
+ "node": ">=4.0.0"
1712
+ }
1713
+ },
1714
+ "node_modules/xmlbuilder": {
1715
+ "version": "11.0.1",
1716
+ "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
1717
+ "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==",
1718
+ "engines": {
1719
+ "node": ">=4.0"
1720
+ }
1721
+ },
1722
+ "node_modules/xtend": {
1723
+ "version": "4.0.2",
1724
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
1725
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
1726
+ "engines": {
1727
+ "node": ">=0.4"
1728
+ }
1729
+ }
1730
+ }
1731
+ }
package.json ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "express-uploader",
3
+ "version": "1.0.0",
4
+ "description": "",
5
+ "exports": "./app.js",
6
+ "engine": {
7
+ "node": ">=20.18.0"
8
+ },
9
+ "scripts": {
10
+ "test": "echo \"Error: no test specified\" && exit 1",
11
+ "start": "node app"
12
+ },
13
+ "repository": {
14
+ "type": "git",
15
+ "url": "git+https://github.com/zennn08/express-uploader.git"
16
+ },
17
+ "keywords": [
18
+ "express-uploader"
19
+ ],
20
+ "author": "aqulzz",
21
+ "license": "ISC",
22
+ "bugs": {
23
+ "url": "https://github.com/zennn08/express-uploader/issues"
24
+ },
25
+ "homepage": "https://github.com/zennn08/express-uploader#readme",
26
+ "dependencies": {
27
+ "aws-sdk": "^2.1691.0",
28
+ "axios": "^1.7.7",
29
+ "cheerio": "^1.0.0-rc.10",
30
+ "cookie-parser": "^1.4.5",
31
+ "cors": "^2.8.5",
32
+ "express": "^4.17.1",
33
+ "file-type": "^16.5.3",
34
+ "form-data": "^4.0.0",
35
+ "fs": "^0.0.1-security",
36
+ "morgan": "^1.10.0",
37
+ "multer": "^1.4.3",
38
+ "node-fetch": "^2.6.0",
39
+ "path": "^0.12.7"
40
+ }
41
+ }
public/file/6hDbYgtCzKzf.jpg ADDED
public/index.html ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <meta name="description" content="Simple Uploader using express.js by Aqulzz">
9
+ <meta property="og:image" content="https://k.top4top.io/p_20648gkga1.jpg">
10
+ <link rel="icon" href="https://k.top4top.io/p_20648gkga1.jpg">
11
+ <link rel="shortcut icon" href="https://k.top4top.io/p_20648gkga1.jpg">
12
+ <title>Aqul Uploader</title>
13
+ </head>
14
+
15
+ <body>
16
+ <h1>Single Upload by Aqulzz</h1>
17
+ <form action="/upload" method="POST" enctype="multipart/form-data">
18
+ <div>
19
+ <label>Select File :</label><br>
20
+ <input type="file" name="file" id="file">
21
+ </div>
22
+
23
+ <button style="margin-top: 1rem">Upload</button>
24
+ </form>
25
+ <br>
26
+ <h2>Multi Upload by Aqulzz</h2>
27
+ <form action="/multi-upload" method="POST" enctype="multipart/form-data">
28
+ <div>
29
+ <label>Pilih gambar</label> <br>
30
+ <input type="file" name="files" multiple>
31
+ </div>
32
+
33
+ <button style="margin-top: 1rem">Upload</button>
34
+ </form>
35
+ </body>
36
+
37
+ </html>
public/index.html.bak ADDED
@@ -0,0 +1,37 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
7
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
8
+ <meta name="description" content="Simple Uploader using express.js by Aqulzz">
9
+ <meta property="og:image" content="https://k.top4top.io/p_20648gkga1.jpg">
10
+ <link rel="icon" href="https://k.top4top.io/p_20648gkga1.jpg">
11
+ <link rel="shortcut icon" href="https://k.top4top.io/p_20648gkga1.jpg">
12
+ <title>Aqul Uploader</title>
13
+ </head>
14
+
15
+ <body>
16
+ <h1>Single Upload by Aqulzz</h1>
17
+ <form action="/upload" method="POST" enctype="multipart/form-data">
18
+ <div>
19
+ <label>Select File :</label><br>
20
+ <input type="file" name="file" id="file">
21
+ </div>
22
+
23
+ <button style="margin-top: 1rem">Upload</button>
24
+ </form>
25
+ <br>
26
+ <h2>Multi Upload by Aqulzz</h2>
27
+ <form action="/multi-upload" method="POST" enctype="multipart/form-data">
28
+ <div>
29
+ <label>Pilih gambar</label> <br>
30
+ <input type="file" name="files" multiple>
31
+ </div>
32
+
33
+ <button style="margin-top: 1rem">Upload</button>
34
+ </form>
35
+ </body>
36
+
37
+ </html>
space.yaml ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ title: "R2 CDN"
2
+ sdk: docker # Atau framework lain yang sesuai, seperti streamlit
3
+ app_port: 7860
vercel.json ADDED
@@ -0,0 +1,16 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "version": 2,
3
+ "builds": [
4
+ {
5
+ "src": "./index.js",
6
+ "use": "@vercel/node"
7
+ }
8
+ ],
9
+ "routes": [
10
+ {
11
+ "src": "/(.*)",
12
+ "dest": "/"
13
+ }
14
+ ]
15
+ }
16
+
yarn.lock ADDED
@@ -0,0 +1,1131 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2
+ # yarn lockfile v1
3
+
4
+
5
+ "@tokenizer/token@^0.3.0":
6
+ version "0.3.0"
7
+ resolved "https://registry.npmjs.org/@tokenizer/token/-/token-0.3.0.tgz"
8
+ integrity sha512-OvjF+z51L3ov0OyAU0duzsYuvO01PH7x4t6DJx+guahgTnBHkhJdG7soQeTSFLWN3efnHyibZ4Z8l2EuWwJN3A==
9
+
10
+ accepts@~1.3.8:
11
+ version "1.3.8"
12
+ resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
13
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
14
+ dependencies:
15
+ mime-types "~2.1.34"
16
+ negotiator "0.6.3"
17
+
18
+ append-field@^1.0.0:
19
+ version "1.0.0"
20
+ resolved "https://registry.npmjs.org/append-field/-/append-field-1.0.0.tgz"
21
+ integrity sha512-klpgFSWLW1ZEs8svjfb7g4qWY0YS5imI82dTg+QahUvJ8YqAY0P10Uk8tTyh9ZGuYEZEMaeJYCF5BFuX552hsw==
22
+
23
+ array-flatten@1.1.1:
24
+ version "1.1.1"
25
+ resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
26
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
27
+
28
+ asynckit@^0.4.0:
29
+ version "0.4.0"
30
+ resolved "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz"
31
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
32
+
33
+ available-typed-arrays@^1.0.7:
34
+ version "1.0.7"
35
+ resolved "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz"
36
+ integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==
37
+ dependencies:
38
+ possible-typed-array-names "^1.0.0"
39
+
40
+ aws-sdk@^2.1691.0:
41
+ version "2.1691.0"
42
+ resolved "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1691.0.tgz"
43
+ integrity sha512-/F2YC+DlsY3UBM2Bdnh5RLHOPNibS/+IcjUuhP8XuctyrN+MlL+fWDAiela32LTDk7hMy4rx8MTgvbJ+0blO5g==
44
+ dependencies:
45
+ buffer "4.9.2"
46
+ events "1.1.1"
47
+ ieee754 "1.1.13"
48
+ jmespath "0.16.0"
49
+ querystring "0.2.0"
50
+ sax "1.2.1"
51
+ url "0.10.3"
52
+ util "^0.12.4"
53
+ uuid "8.0.0"
54
+ xml2js "0.6.2"
55
+
56
+ axios@^1.7.7:
57
+ version "1.7.7"
58
+ resolved "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz"
59
+ integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==
60
+ dependencies:
61
+ follow-redirects "^1.15.6"
62
+ form-data "^4.0.0"
63
+ proxy-from-env "^1.1.0"
64
+
65
+ base64-js@^1.0.2:
66
+ version "1.5.1"
67
+ resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
68
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
69
+
70
+ basic-auth@~2.0.1:
71
+ version "2.0.1"
72
+ resolved "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz"
73
+ integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
74
+ dependencies:
75
+ safe-buffer "5.1.2"
76
+
77
+ body-parser@1.20.3:
78
+ version "1.20.3"
79
+ resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz"
80
+ integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
81
+ dependencies:
82
+ bytes "3.1.2"
83
+ content-type "~1.0.5"
84
+ debug "2.6.9"
85
+ depd "2.0.0"
86
+ destroy "1.2.0"
87
+ http-errors "2.0.0"
88
+ iconv-lite "0.4.24"
89
+ on-finished "2.4.1"
90
+ qs "6.13.0"
91
+ raw-body "2.5.2"
92
+ type-is "~1.6.18"
93
+ unpipe "1.0.0"
94
+
95
+ boolbase@^1.0.0:
96
+ version "1.0.0"
97
+ resolved "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz"
98
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
99
+
100
+ buffer-from@^1.0.0:
101
+ version "1.1.2"
102
+ resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz"
103
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
104
+
105
+ buffer@4.9.2:
106
+ version "4.9.2"
107
+ resolved "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz"
108
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
109
+ dependencies:
110
+ base64-js "^1.0.2"
111
+ ieee754 "^1.1.4"
112
+ isarray "^1.0.0"
113
+
114
+ busboy@^0.2.11:
115
+ version "0.2.14"
116
+ resolved "https://registry.npmjs.org/busboy/-/busboy-0.2.14.tgz"
117
+ integrity sha512-InWFDomvlkEj+xWLBfU3AvnbVYqeTWmQopiW0tWWEy5yehYm2YkGEc59sUmw/4ty5Zj/b0WHGs1LgecuBSBGrg==
118
+ dependencies:
119
+ dicer "0.2.5"
120
+ readable-stream "1.1.x"
121
+
122
+ bytes@3.1.2:
123
+ version "3.1.2"
124
+ resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
125
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
126
+
127
+ call-bind@^1.0.2, call-bind@^1.0.7:
128
+ version "1.0.7"
129
+ resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz"
130
+ integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
131
+ dependencies:
132
+ es-define-property "^1.0.0"
133
+ es-errors "^1.3.0"
134
+ function-bind "^1.1.2"
135
+ get-intrinsic "^1.2.4"
136
+ set-function-length "^1.2.1"
137
+
138
+ cheerio-select@^2.1.0:
139
+ version "2.1.0"
140
+ resolved "https://registry.npmjs.org/cheerio-select/-/cheerio-select-2.1.0.tgz"
141
+ integrity sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==
142
+ dependencies:
143
+ boolbase "^1.0.0"
144
+ css-select "^5.1.0"
145
+ css-what "^6.1.0"
146
+ domelementtype "^2.3.0"
147
+ domhandler "^5.0.3"
148
+ domutils "^3.0.1"
149
+
150
+ cheerio@^1.0.0-rc.10:
151
+ version "1.0.0"
152
+ resolved "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0.tgz"
153
+ integrity sha512-quS9HgjQpdaXOvsZz82Oz7uxtXiy6UIsIQcpBj7HRw2M63Skasm9qlDocAM7jNuaxdhpPU7c4kJN+gA5MCu4ww==
154
+ dependencies:
155
+ cheerio-select "^2.1.0"
156
+ dom-serializer "^2.0.0"
157
+ domhandler "^5.0.3"
158
+ domutils "^3.1.0"
159
+ encoding-sniffer "^0.2.0"
160
+ htmlparser2 "^9.1.0"
161
+ parse5 "^7.1.2"
162
+ parse5-htmlparser2-tree-adapter "^7.0.0"
163
+ parse5-parser-stream "^7.1.2"
164
+ undici "^6.19.5"
165
+ whatwg-mimetype "^4.0.0"
166
+
167
+ combined-stream@^1.0.8:
168
+ version "1.0.8"
169
+ resolved "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
170
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
171
+ dependencies:
172
+ delayed-stream "~1.0.0"
173
+
174
+ concat-stream@^1.5.2:
175
+ version "1.6.2"
176
+ resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz"
177
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
178
+ dependencies:
179
+ buffer-from "^1.0.0"
180
+ inherits "^2.0.3"
181
+ readable-stream "^2.2.2"
182
+ typedarray "^0.0.6"
183
+
184
+ content-disposition@0.5.4:
185
+ version "0.5.4"
186
+ resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
187
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
188
+ dependencies:
189
+ safe-buffer "5.2.1"
190
+
191
+ content-type@~1.0.4, content-type@~1.0.5:
192
+ version "1.0.5"
193
+ resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
194
+ integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
195
+
196
+ cookie-parser@^1.4.5:
197
+ version "1.4.7"
198
+ resolved "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.7.tgz"
199
+ integrity sha512-nGUvgXnotP3BsjiLX2ypbQnWoGUPIIfHQNZkkC668ntrzGWEZVW70HDEB1qnNGMicPje6EttlIgzo51YSwNQGw==
200
+ dependencies:
201
+ cookie "0.7.2"
202
+ cookie-signature "1.0.6"
203
+
204
+ cookie-signature@1.0.6:
205
+ version "1.0.6"
206
+ resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz"
207
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
208
+
209
+ cookie@0.7.1:
210
+ version "0.7.1"
211
+ resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz"
212
+ integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
213
+
214
+ cookie@0.7.2:
215
+ version "0.7.2"
216
+ resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz"
217
+ integrity sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==
218
+
219
+ core-util-is@~1.0.0:
220
+ version "1.0.3"
221
+ resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz"
222
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
223
+
224
+ cors@^2.8.5:
225
+ version "2.8.5"
226
+ resolved "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz"
227
+ integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==
228
+ dependencies:
229
+ object-assign "^4"
230
+ vary "^1"
231
+
232
+ css-select@^5.1.0:
233
+ version "5.1.0"
234
+ resolved "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz"
235
+ integrity sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==
236
+ dependencies:
237
+ boolbase "^1.0.0"
238
+ css-what "^6.1.0"
239
+ domhandler "^5.0.2"
240
+ domutils "^3.0.1"
241
+ nth-check "^2.0.1"
242
+
243
+ css-what@^6.1.0:
244
+ version "6.1.0"
245
+ resolved "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz"
246
+ integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
247
+
248
+ debug@2.6.9:
249
+ version "2.6.9"
250
+ resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz"
251
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
252
+ dependencies:
253
+ ms "2.0.0"
254
+
255
+ define-data-property@^1.1.4:
256
+ version "1.1.4"
257
+ resolved "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz"
258
+ integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
259
+ dependencies:
260
+ es-define-property "^1.0.0"
261
+ es-errors "^1.3.0"
262
+ gopd "^1.0.1"
263
+
264
+ delayed-stream@~1.0.0:
265
+ version "1.0.0"
266
+ resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
267
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
268
+
269
+ depd@~2.0.0, depd@2.0.0:
270
+ version "2.0.0"
271
+ resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
272
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
273
+
274
+ destroy@1.2.0:
275
+ version "1.2.0"
276
+ resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
277
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
278
+
279
+ dicer@0.2.5:
280
+ version "0.2.5"
281
+ resolved "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz"
282
+ integrity sha512-FDvbtnq7dzlPz0wyYlOExifDEZcu8h+rErEXgfxqmLfRfC/kJidEFh4+effJRO3P0xmfqyPbSMG0LveNRfTKVg==
283
+ dependencies:
284
+ readable-stream "1.1.x"
285
+ streamsearch "0.1.2"
286
+
287
+ dom-serializer@^2.0.0:
288
+ version "2.0.0"
289
+ resolved "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz"
290
+ integrity sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==
291
+ dependencies:
292
+ domelementtype "^2.3.0"
293
+ domhandler "^5.0.2"
294
+ entities "^4.2.0"
295
+
296
+ domelementtype@^2.3.0:
297
+ version "2.3.0"
298
+ resolved "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz"
299
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
300
+
301
+ domhandler@^5.0.2, domhandler@^5.0.3:
302
+ version "5.0.3"
303
+ resolved "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz"
304
+ integrity sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==
305
+ dependencies:
306
+ domelementtype "^2.3.0"
307
+
308
+ domutils@^3.0.1, domutils@^3.1.0:
309
+ version "3.1.0"
310
+ resolved "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz"
311
+ integrity sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==
312
+ dependencies:
313
+ dom-serializer "^2.0.0"
314
+ domelementtype "^2.3.0"
315
+ domhandler "^5.0.3"
316
+
317
+ ee-first@1.1.1:
318
+ version "1.1.1"
319
+ resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
320
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
321
+
322
+ encodeurl@~1.0.2:
323
+ version "1.0.2"
324
+ resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
325
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
326
+
327
+ encodeurl@~2.0.0:
328
+ version "2.0.0"
329
+ resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz"
330
+ integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
331
+
332
+ encoding-sniffer@^0.2.0:
333
+ version "0.2.0"
334
+ resolved "https://registry.npmjs.org/encoding-sniffer/-/encoding-sniffer-0.2.0.tgz"
335
+ integrity sha512-ju7Wq1kg04I3HtiYIOrUrdfdDvkyO9s5XM8QAj/bN61Yo/Vb4vgJxy5vi4Yxk01gWHbrofpPtpxM8bKger9jhg==
336
+ dependencies:
337
+ iconv-lite "^0.6.3"
338
+ whatwg-encoding "^3.1.1"
339
+
340
+ entities@^4.2.0, entities@^4.5.0:
341
+ version "4.5.0"
342
+ resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
343
+ integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
344
+
345
+ es-define-property@^1.0.0:
346
+ version "1.0.0"
347
+ resolved "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz"
348
+ integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
349
+ dependencies:
350
+ get-intrinsic "^1.2.4"
351
+
352
+ es-errors@^1.3.0:
353
+ version "1.3.0"
354
+ resolved "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
355
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
356
+
357
+ escape-html@~1.0.3:
358
+ version "1.0.3"
359
+ resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
360
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
361
+
362
+ etag@~1.8.1:
363
+ version "1.8.1"
364
+ resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
365
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
366
+
367
+ events@1.1.1:
368
+ version "1.1.1"
369
+ resolved "https://registry.npmjs.org/events/-/events-1.1.1.tgz"
370
+ integrity sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==
371
+
372
+ express@^4.17.1:
373
+ version "4.21.1"
374
+ resolved "https://registry.npmjs.org/express/-/express-4.21.1.tgz"
375
+ integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ==
376
+ dependencies:
377
+ accepts "~1.3.8"
378
+ array-flatten "1.1.1"
379
+ body-parser "1.20.3"
380
+ content-disposition "0.5.4"
381
+ content-type "~1.0.4"
382
+ cookie "0.7.1"
383
+ cookie-signature "1.0.6"
384
+ debug "2.6.9"
385
+ depd "2.0.0"
386
+ encodeurl "~2.0.0"
387
+ escape-html "~1.0.3"
388
+ etag "~1.8.1"
389
+ finalhandler "1.3.1"
390
+ fresh "0.5.2"
391
+ http-errors "2.0.0"
392
+ merge-descriptors "1.0.3"
393
+ methods "~1.1.2"
394
+ on-finished "2.4.1"
395
+ parseurl "~1.3.3"
396
+ path-to-regexp "0.1.10"
397
+ proxy-addr "~2.0.7"
398
+ qs "6.13.0"
399
+ range-parser "~1.2.1"
400
+ safe-buffer "5.2.1"
401
+ send "0.19.0"
402
+ serve-static "1.16.2"
403
+ setprototypeof "1.2.0"
404
+ statuses "2.0.1"
405
+ type-is "~1.6.18"
406
+ utils-merge "1.0.1"
407
+ vary "~1.1.2"
408
+
409
+ file-type@^16.5.3:
410
+ version "16.5.3"
411
+ resolved "https://registry.npmjs.org/file-type/-/file-type-16.5.3.tgz"
412
+ integrity sha512-uVsl7iFhHSOY4bEONLlTK47iAHtNsFHWP5YE4xJfZ4rnX7S1Q3wce09XgqSC7E/xh8Ncv/be1lNoyprlUH/x6A==
413
+ dependencies:
414
+ readable-web-to-node-stream "^3.0.0"
415
+ strtok3 "^6.2.4"
416
+ token-types "^4.1.1"
417
+
418
+ finalhandler@1.3.1:
419
+ version "1.3.1"
420
+ resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz"
421
+ integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
422
+ dependencies:
423
+ debug "2.6.9"
424
+ encodeurl "~2.0.0"
425
+ escape-html "~1.0.3"
426
+ on-finished "2.4.1"
427
+ parseurl "~1.3.3"
428
+ statuses "2.0.1"
429
+ unpipe "~1.0.0"
430
+
431
+ follow-redirects@^1.15.6:
432
+ version "1.15.9"
433
+ resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz"
434
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
435
+
436
+ for-each@^0.3.3:
437
+ version "0.3.3"
438
+ resolved "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz"
439
+ integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==
440
+ dependencies:
441
+ is-callable "^1.1.3"
442
+
443
+ form-data@^4.0.0:
444
+ version "4.0.1"
445
+ resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz"
446
+ integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==
447
+ dependencies:
448
+ asynckit "^0.4.0"
449
+ combined-stream "^1.0.8"
450
+ mime-types "^2.1.12"
451
+
452
+ forwarded@0.2.0:
453
+ version "0.2.0"
454
+ resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz"
455
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
456
+
457
+ fresh@0.5.2:
458
+ version "0.5.2"
459
+ resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
460
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
461
+
462
+ fs@^0.0.1-security:
463
+ version "0.0.1-security"
464
+ resolved "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz"
465
+ integrity sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==
466
+
467
+ function-bind@^1.1.2:
468
+ version "1.1.2"
469
+ resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
470
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
471
+
472
+ get-intrinsic@^1.1.3, get-intrinsic@^1.2.4:
473
+ version "1.2.4"
474
+ resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz"
475
+ integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
476
+ dependencies:
477
+ es-errors "^1.3.0"
478
+ function-bind "^1.1.2"
479
+ has-proto "^1.0.1"
480
+ has-symbols "^1.0.3"
481
+ hasown "^2.0.0"
482
+
483
+ gopd@^1.0.1:
484
+ version "1.0.1"
485
+ resolved "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
486
+ integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==
487
+ dependencies:
488
+ get-intrinsic "^1.1.3"
489
+
490
+ has-property-descriptors@^1.0.2:
491
+ version "1.0.2"
492
+ resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
493
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
494
+ dependencies:
495
+ es-define-property "^1.0.0"
496
+
497
+ has-proto@^1.0.1:
498
+ version "1.0.3"
499
+ resolved "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz"
500
+ integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
501
+
502
+ has-symbols@^1.0.3:
503
+ version "1.0.3"
504
+ resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
505
+ integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
506
+
507
+ has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
508
+ version "1.0.2"
509
+ resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz"
510
+ integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
511
+ dependencies:
512
+ has-symbols "^1.0.3"
513
+
514
+ hasown@^2.0.0:
515
+ version "2.0.2"
516
+ resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
517
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
518
+ dependencies:
519
+ function-bind "^1.1.2"
520
+
521
+ htmlparser2@^9.1.0:
522
+ version "9.1.0"
523
+ resolved "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.1.0.tgz"
524
+ integrity sha512-5zfg6mHUoaer/97TxnGpxmbR7zJtPwIYFMZ/H5ucTlPZhKvtum05yiPK3Mgai3a0DyVxv7qYqoweaEd2nrYQzQ==
525
+ dependencies:
526
+ domelementtype "^2.3.0"
527
+ domhandler "^5.0.3"
528
+ domutils "^3.1.0"
529
+ entities "^4.5.0"
530
+
531
+ http-errors@2.0.0:
532
+ version "2.0.0"
533
+ resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
534
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
535
+ dependencies:
536
+ depd "2.0.0"
537
+ inherits "2.0.4"
538
+ setprototypeof "1.2.0"
539
+ statuses "2.0.1"
540
+ toidentifier "1.0.1"
541
+
542
+ iconv-lite@^0.6.3, iconv-lite@0.6.3:
543
+ version "0.6.3"
544
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz"
545
+ integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==
546
+ dependencies:
547
+ safer-buffer ">= 2.1.2 < 3.0.0"
548
+
549
+ iconv-lite@0.4.24:
550
+ version "0.4.24"
551
+ resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
552
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
553
+ dependencies:
554
+ safer-buffer ">= 2.1.2 < 3"
555
+
556
+ ieee754@^1.1.4, ieee754@1.1.13:
557
+ version "1.1.13"
558
+ resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz"
559
+ integrity sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==
560
+
561
+ ieee754@^1.2.1:
562
+ version "1.2.1"
563
+ resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
564
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
565
+
566
+ inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3, inherits@2.0.4:
567
+ version "2.0.4"
568
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
569
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
570
+
571
+ inherits@2.0.3:
572
+ version "2.0.3"
573
+ resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz"
574
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
575
+
576
+ ipaddr.js@1.9.1:
577
+ version "1.9.1"
578
+ resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz"
579
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
580
+
581
+ is-arguments@^1.0.4:
582
+ version "1.1.1"
583
+ resolved "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz"
584
+ integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
585
+ dependencies:
586
+ call-bind "^1.0.2"
587
+ has-tostringtag "^1.0.0"
588
+
589
+ is-callable@^1.1.3:
590
+ version "1.2.7"
591
+ resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz"
592
+ integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
593
+
594
+ is-generator-function@^1.0.7:
595
+ version "1.0.10"
596
+ resolved "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz"
597
+ integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
598
+ dependencies:
599
+ has-tostringtag "^1.0.0"
600
+
601
+ is-typed-array@^1.1.3:
602
+ version "1.1.13"
603
+ resolved "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz"
604
+ integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==
605
+ dependencies:
606
+ which-typed-array "^1.1.14"
607
+
608
+ isarray@^1.0.0, isarray@~1.0.0:
609
+ version "1.0.0"
610
+ resolved "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz"
611
+ integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
612
+
613
+ isarray@0.0.1:
614
+ version "0.0.1"
615
+ resolved "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
616
+ integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
617
+
618
+ jmespath@0.16.0:
619
+ version "0.16.0"
620
+ resolved "https://registry.npmjs.org/jmespath/-/jmespath-0.16.0.tgz"
621
+ integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==
622
+
623
+ media-typer@0.3.0:
624
+ version "0.3.0"
625
+ resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
626
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
627
+
628
+ merge-descriptors@1.0.3:
629
+ version "1.0.3"
630
+ resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz"
631
+ integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
632
+
633
+ methods@~1.1.2:
634
+ version "1.1.2"
635
+ resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz"
636
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
637
+
638
+ mime-db@1.52.0:
639
+ version "1.52.0"
640
+ resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz"
641
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
642
+
643
+ mime-types@^2.1.12, mime-types@~2.1.24, mime-types@~2.1.34:
644
+ version "2.1.35"
645
+ resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz"
646
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
647
+ dependencies:
648
+ mime-db "1.52.0"
649
+
650
+ mime@1.6.0:
651
+ version "1.6.0"
652
+ resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz"
653
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
654
+
655
+ minimist@^1.2.6:
656
+ version "1.2.8"
657
+ resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz"
658
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
659
+
660
+ mkdirp@^0.5.4:
661
+ version "0.5.6"
662
+ resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz"
663
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
664
+ dependencies:
665
+ minimist "^1.2.6"
666
+
667
+ morgan@^1.10.0:
668
+ version "1.10.0"
669
+ resolved "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz"
670
+ integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
671
+ dependencies:
672
+ basic-auth "~2.0.1"
673
+ debug "2.6.9"
674
+ depd "~2.0.0"
675
+ on-finished "~2.3.0"
676
+ on-headers "~1.0.2"
677
+
678
+ ms@2.0.0:
679
+ version "2.0.0"
680
+ resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
681
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
682
+
683
+ ms@2.1.3:
684
+ version "2.1.3"
685
+ resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
686
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
687
+
688
+ multer@^1.4.3:
689
+ version "1.4.3"
690
+ resolved "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz"
691
+ integrity sha512-np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==
692
+ dependencies:
693
+ append-field "^1.0.0"
694
+ busboy "^0.2.11"
695
+ concat-stream "^1.5.2"
696
+ mkdirp "^0.5.4"
697
+ object-assign "^4.1.1"
698
+ on-finished "^2.3.0"
699
+ type-is "^1.6.4"
700
+ xtend "^4.0.0"
701
+
702
+ negotiator@0.6.3:
703
+ version "0.6.3"
704
+ resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz"
705
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
706
+
707
+ node-fetch@^2.6.0:
708
+ version "2.6.0"
709
+ resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz"
710
+ integrity sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==
711
+
712
+ nth-check@^2.0.1:
713
+ version "2.1.1"
714
+ resolved "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz"
715
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
716
+ dependencies:
717
+ boolbase "^1.0.0"
718
+
719
+ object-assign@^4, object-assign@^4.1.1:
720
+ version "4.1.1"
721
+ resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
722
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
723
+
724
+ object-inspect@^1.13.1:
725
+ version "1.13.2"
726
+ resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz"
727
+ integrity sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==
728
+
729
+ on-finished@^2.3.0, on-finished@2.4.1:
730
+ version "2.4.1"
731
+ resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
732
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
733
+ dependencies:
734
+ ee-first "1.1.1"
735
+
736
+ on-finished@~2.3.0:
737
+ version "2.3.0"
738
+ resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz"
739
+ integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
740
+ dependencies:
741
+ ee-first "1.1.1"
742
+
743
+ on-headers@~1.0.2:
744
+ version "1.0.2"
745
+ resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz"
746
+ integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
747
+
748
+ parse5-htmlparser2-tree-adapter@^7.0.0:
749
+ version "7.1.0"
750
+ resolved "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-7.1.0.tgz"
751
+ integrity sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==
752
+ dependencies:
753
+ domhandler "^5.0.3"
754
+ parse5 "^7.0.0"
755
+
756
+ parse5-parser-stream@^7.1.2:
757
+ version "7.1.2"
758
+ resolved "https://registry.npmjs.org/parse5-parser-stream/-/parse5-parser-stream-7.1.2.tgz"
759
+ integrity sha512-JyeQc9iwFLn5TbvvqACIF/VXG6abODeB3Fwmv/TGdLk2LfbWkaySGY72at4+Ty7EkPZj854u4CrICqNk2qIbow==
760
+ dependencies:
761
+ parse5 "^7.0.0"
762
+
763
+ parse5@^7.0.0, parse5@^7.1.2:
764
+ version "7.2.1"
765
+ resolved "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz"
766
+ integrity sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==
767
+ dependencies:
768
+ entities "^4.5.0"
769
+
770
+ parseurl@~1.3.3:
771
+ version "1.3.3"
772
+ resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz"
773
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
774
+
775
+ path-to-regexp@0.1.10:
776
+ version "0.1.10"
777
+ resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz"
778
+ integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==
779
+
780
+ path@^0.12.7:
781
+ version "0.12.7"
782
+ resolved "https://registry.npmjs.org/path/-/path-0.12.7.tgz"
783
+ integrity sha512-aXXC6s+1w7otVF9UletFkFcDsJeO7lSZBPUQhtb5O0xJe8LtYhj/GxldoL09bBj9+ZmE2hNoHqQSFMN5fikh4Q==
784
+ dependencies:
785
+ process "^0.11.1"
786
+ util "^0.10.3"
787
+
788
+ peek-readable@^4.1.0:
789
+ version "4.1.0"
790
+ resolved "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz"
791
+ integrity sha512-ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==
792
+
793
+ possible-typed-array-names@^1.0.0:
794
+ version "1.0.0"
795
+ resolved "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz"
796
+ integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==
797
+
798
+ process-nextick-args@~2.0.0:
799
+ version "2.0.1"
800
+ resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz"
801
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
802
+
803
+ process@^0.11.1:
804
+ version "0.11.10"
805
+ resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz"
806
+ integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
807
+
808
+ proxy-addr@~2.0.7:
809
+ version "2.0.7"
810
+ resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz"
811
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
812
+ dependencies:
813
+ forwarded "0.2.0"
814
+ ipaddr.js "1.9.1"
815
+
816
+ proxy-from-env@^1.1.0:
817
+ version "1.1.0"
818
+ resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
819
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
820
+
821
+ punycode@1.3.2:
822
+ version "1.3.2"
823
+ resolved "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz"
824
+ integrity sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==
825
+
826
+ qs@6.13.0:
827
+ version "6.13.0"
828
+ resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz"
829
+ integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
830
+ dependencies:
831
+ side-channel "^1.0.6"
832
+
833
+ querystring@0.2.0:
834
+ version "0.2.0"
835
+ resolved "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz"
836
+ integrity sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==
837
+
838
+ range-parser@~1.2.1:
839
+ version "1.2.1"
840
+ resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz"
841
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
842
+
843
+ raw-body@2.5.2:
844
+ version "2.5.2"
845
+ resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz"
846
+ integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
847
+ dependencies:
848
+ bytes "3.1.2"
849
+ http-errors "2.0.0"
850
+ iconv-lite "0.4.24"
851
+ unpipe "1.0.0"
852
+
853
+ readable-stream@^2.2.2:
854
+ version "2.3.8"
855
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz"
856
+ integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
857
+ dependencies:
858
+ core-util-is "~1.0.0"
859
+ inherits "~2.0.3"
860
+ isarray "~1.0.0"
861
+ process-nextick-args "~2.0.0"
862
+ safe-buffer "~5.1.1"
863
+ string_decoder "~1.1.1"
864
+ util-deprecate "~1.0.1"
865
+
866
+ readable-stream@^3.6.0:
867
+ version "3.6.2"
868
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz"
869
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
870
+ dependencies:
871
+ inherits "^2.0.3"
872
+ string_decoder "^1.1.1"
873
+ util-deprecate "^1.0.1"
874
+
875
+ readable-stream@1.1.x:
876
+ version "1.1.14"
877
+ resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz"
878
+ integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==
879
+ dependencies:
880
+ core-util-is "~1.0.0"
881
+ inherits "~2.0.1"
882
+ isarray "0.0.1"
883
+ string_decoder "~0.10.x"
884
+
885
+ readable-web-to-node-stream@^3.0.0:
886
+ version "3.0.2"
887
+ resolved "https://registry.npmjs.org/readable-web-to-node-stream/-/readable-web-to-node-stream-3.0.2.tgz"
888
+ integrity sha512-ePeK6cc1EcKLEhJFt/AebMCLL+GgSKhuygrZ/GLaKZYEecIgIECf4UaUuaByiGtzckwR4ain9VzUh95T1exYGw==
889
+ dependencies:
890
+ readable-stream "^3.6.0"
891
+
892
+ safe-buffer@~5.1.0, safe-buffer@~5.1.1:
893
+ version "5.1.2"
894
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
895
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
896
+
897
+ safe-buffer@~5.2.0, safe-buffer@5.2.1:
898
+ version "5.2.1"
899
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
900
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
901
+
902
+ safe-buffer@5.1.2:
903
+ version "5.1.2"
904
+ resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
905
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
906
+
907
+ "safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0":
908
+ version "2.1.2"
909
+ resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
910
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
911
+
912
+ sax@>=0.6.0, sax@1.2.1:
913
+ version "1.2.1"
914
+ resolved "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz"
915
+ integrity sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==
916
+
917
+ send@0.19.0:
918
+ version "0.19.0"
919
+ resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz"
920
+ integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
921
+ dependencies:
922
+ debug "2.6.9"
923
+ depd "2.0.0"
924
+ destroy "1.2.0"
925
+ encodeurl "~1.0.2"
926
+ escape-html "~1.0.3"
927
+ etag "~1.8.1"
928
+ fresh "0.5.2"
929
+ http-errors "2.0.0"
930
+ mime "1.6.0"
931
+ ms "2.1.3"
932
+ on-finished "2.4.1"
933
+ range-parser "~1.2.1"
934
+ statuses "2.0.1"
935
+
936
+ serve-static@1.16.2:
937
+ version "1.16.2"
938
+ resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz"
939
+ integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
940
+ dependencies:
941
+ encodeurl "~2.0.0"
942
+ escape-html "~1.0.3"
943
+ parseurl "~1.3.3"
944
+ send "0.19.0"
945
+
946
+ set-function-length@^1.2.1:
947
+ version "1.2.2"
948
+ resolved "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz"
949
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
950
+ dependencies:
951
+ define-data-property "^1.1.4"
952
+ es-errors "^1.3.0"
953
+ function-bind "^1.1.2"
954
+ get-intrinsic "^1.2.4"
955
+ gopd "^1.0.1"
956
+ has-property-descriptors "^1.0.2"
957
+
958
+ setprototypeof@1.2.0:
959
+ version "1.2.0"
960
+ resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
961
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
962
+
963
+ side-channel@^1.0.6:
964
+ version "1.0.6"
965
+ resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz"
966
+ integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
967
+ dependencies:
968
+ call-bind "^1.0.7"
969
+ es-errors "^1.3.0"
970
+ get-intrinsic "^1.2.4"
971
+ object-inspect "^1.13.1"
972
+
973
+ statuses@2.0.1:
974
+ version "2.0.1"
975
+ resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
976
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
977
+
978
+ streamsearch@0.1.2:
979
+ version "0.1.2"
980
+ resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz"
981
+ integrity sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==
982
+
983
+ string_decoder@^1.1.1:
984
+ version "1.3.0"
985
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz"
986
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
987
+ dependencies:
988
+ safe-buffer "~5.2.0"
989
+
990
+ string_decoder@~0.10.x:
991
+ version "0.10.31"
992
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
993
+ integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
994
+
995
+ string_decoder@~1.1.1:
996
+ version "1.1.1"
997
+ resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz"
998
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
999
+ dependencies:
1000
+ safe-buffer "~5.1.0"
1001
+
1002
+ strtok3@^6.2.4:
1003
+ version "6.3.0"
1004
+ resolved "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz"
1005
+ integrity sha512-fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==
1006
+ dependencies:
1007
+ "@tokenizer/token" "^0.3.0"
1008
+ peek-readable "^4.1.0"
1009
+
1010
+ toidentifier@1.0.1:
1011
+ version "1.0.1"
1012
+ resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
1013
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
1014
+
1015
+ token-types@^4.1.1:
1016
+ version "4.2.1"
1017
+ resolved "https://registry.npmjs.org/token-types/-/token-types-4.2.1.tgz"
1018
+ integrity sha512-6udB24Q737UD/SDsKAHI9FCRP7Bqc9D/MQUV02ORQg5iskjtLJlZJNdN4kKtcdtwCeWIwIHDGaUsTsCCAa8sFQ==
1019
+ dependencies:
1020
+ "@tokenizer/token" "^0.3.0"
1021
+ ieee754 "^1.2.1"
1022
+
1023
+ type-is@^1.6.4, type-is@~1.6.18:
1024
+ version "1.6.18"
1025
+ resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
1026
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
1027
+ dependencies:
1028
+ media-typer "0.3.0"
1029
+ mime-types "~2.1.24"
1030
+
1031
+ typedarray@^0.0.6:
1032
+ version "0.0.6"
1033
+ resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
1034
+ integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
1035
+
1036
+ undici@^6.19.5:
1037
+ version "6.20.1"
1038
+ resolved "https://registry.npmjs.org/undici/-/undici-6.20.1.tgz"
1039
+ integrity sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==
1040
+
1041
+ unpipe@~1.0.0, unpipe@1.0.0:
1042
+ version "1.0.0"
1043
+ resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
1044
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
1045
+
1046
+ url@0.10.3:
1047
+ version "0.10.3"
1048
+ resolved "https://registry.npmjs.org/url/-/url-0.10.3.tgz"
1049
+ integrity sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==
1050
+ dependencies:
1051
+ punycode "1.3.2"
1052
+ querystring "0.2.0"
1053
+
1054
+ util-deprecate@^1.0.1, util-deprecate@~1.0.1:
1055
+ version "1.0.2"
1056
+ resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz"
1057
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
1058
+
1059
+ util@^0.10.3:
1060
+ version "0.10.4"
1061
+ resolved "https://registry.npmjs.org/util/-/util-0.10.4.tgz"
1062
+ integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
1063
+ dependencies:
1064
+ inherits "2.0.3"
1065
+
1066
+ util@^0.12.4:
1067
+ version "0.12.5"
1068
+ resolved "https://registry.npmjs.org/util/-/util-0.12.5.tgz"
1069
+ integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
1070
+ dependencies:
1071
+ inherits "^2.0.3"
1072
+ is-arguments "^1.0.4"
1073
+ is-generator-function "^1.0.7"
1074
+ is-typed-array "^1.1.3"
1075
+ which-typed-array "^1.1.2"
1076
+
1077
+ utils-merge@1.0.1:
1078
+ version "1.0.1"
1079
+ resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz"
1080
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
1081
+
1082
+ uuid@8.0.0:
1083
+ version "8.0.0"
1084
+ resolved "https://registry.npmjs.org/uuid/-/uuid-8.0.0.tgz"
1085
+ integrity sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==
1086
+
1087
+ vary@^1, vary@~1.1.2:
1088
+ version "1.1.2"
1089
+ resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz"
1090
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
1091
+
1092
+ whatwg-encoding@^3.1.1:
1093
+ version "3.1.1"
1094
+ resolved "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-3.1.1.tgz"
1095
+ integrity sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==
1096
+ dependencies:
1097
+ iconv-lite "0.6.3"
1098
+
1099
+ whatwg-mimetype@^4.0.0:
1100
+ version "4.0.0"
1101
+ resolved "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz"
1102
+ integrity sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==
1103
+
1104
+ which-typed-array@^1.1.14, which-typed-array@^1.1.2:
1105
+ version "1.1.15"
1106
+ resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz"
1107
+ integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==
1108
+ dependencies:
1109
+ available-typed-arrays "^1.0.7"
1110
+ call-bind "^1.0.7"
1111
+ for-each "^0.3.3"
1112
+ gopd "^1.0.1"
1113
+ has-tostringtag "^1.0.2"
1114
+
1115
+ xml2js@0.6.2:
1116
+ version "0.6.2"
1117
+ resolved "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz"
1118
+ integrity sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==
1119
+ dependencies:
1120
+ sax ">=0.6.0"
1121
+ xmlbuilder "~11.0.0"
1122
+
1123
+ xmlbuilder@~11.0.0:
1124
+ version "11.0.1"
1125
+ resolved "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz"
1126
+ integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
1127
+
1128
+ xtend@^4.0.0:
1129
+ version "4.0.2"
1130
+ resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz"
1131
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==