├── .eslintignore
├── .eslintrc.cjs
├── .gitignore
├── .npmrc
├── .prettierignore
├── .prettierrc
├── LICENSE.md
├── README.md
├── package-lock.json
├── package.json
├── pocketbase
├── .gitignore
└── pb_schema.json
├── src
├── app.html
├── hooks.server.js
├── lib
│ └── utils.js
└── routes
│ ├── +error.svelte
│ ├── +layout.server.js
│ ├── +layout.svelte
│ ├── +page.server.js
│ ├── +page.svelte
│ ├── [slug]
│ └── +page.server.js
│ ├── generated
│ └── [slug]
│ │ └── +page.svelte
│ └── login
│ ├── +page.server.js
│ └── +page.svelte
├── static
├── assets
│ ├── pocketbase.svg
│ ├── svelte.svg
│ └── wavesBg.webp
└── favicon.png
├── svelte.config.js
└── vite.config.js
/.eslintignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: ['eslint:recommended', 'prettier'],
4 | plugins: ['svelte3'],
5 | overrides: [{ files: ['*.svelte'], processor: 'svelte3/svelte3' }],
6 | parserOptions: {
7 | sourceType: 'module',
8 | ecmaVersion: 2020
9 | },
10 | env: {
11 | browser: true,
12 | es2017: true,
13 | node: true
14 | }
15 | };
16 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # dotenv environment variable files
2 | .env
3 | .env.*
4 | !.env.example
5 | .env.development.local
6 | .env.test.local
7 | .env.production.local
8 | .env.local
9 |
10 | # SvelteKit build / generate output
11 | /.svelte-kit
12 | /package
13 | /build
14 |
15 | # Dependency directories
16 | node_modules
17 |
18 | # Optional npm cache directory
19 | .npm
20 |
21 | # Optional eslint cache
22 | .eslintcache
23 |
24 | # DS_Store
25 | .DS_Store
26 |
27 | # VS Code
28 | .vscode
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | engine-strict=true
2 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | node_modules
3 | /build
4 | /.svelte-kit
5 | /package
6 | .env
7 | .env.*
8 | !.env.example
9 |
10 | # Ignore files for PNPM, NPM and YARN
11 | pnpm-lock.yaml
12 | package-lock.json
13 | yarn.lock
14 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "useTabs": true,
3 | "singleQuote": true,
4 | "trailingComma": "none",
5 | "printWidth": 100,
6 | "plugins": ["prettier-plugin-svelte"],
7 | "pluginSearchDirs": ["."],
8 | "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }]
9 | }
10 |
--------------------------------------------------------------------------------
/LICENSE.md:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 Germán Heim
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
Svelte Shortener
7 |
8 |
9 | An open-source URL Shortener written in SvelteKit with PocketBase
10 |
11 | Report Bug
12 | ·
13 | Request Feature
14 |
15 |
16 | Work in progress
17 |
18 |
19 | ### Table of Contents
20 |
21 | -
22 | Demo
23 |
24 | -
25 | Tech Stack
26 |
27 | -
28 | Deployment
29 |
34 |
35 | - PocketBase Schema
36 | - Run Locally
37 | - Contributing
38 | - License
39 | - Acknowledgments
40 |
41 |
42 |
43 | ## Demo
44 | 
45 |
46 | [Live demo](https://demo-svelte-shortener.vercel.app/)
47 |
48 | * Email: test@user.com
49 | * Password: testuser123
50 |
51 | ## Tech Stack
52 | * [SvelteKit](https://kit.svelte.dev/)
53 | * [PocketBase](https://pocketbase.io)
54 |
55 | Also uses [svelte-french-toast](https://svelte-french-toast.com/) and [svelte-icons-pack](https://leshak.github.io/svelte-icons-pack/).
56 |
57 | ## Deployment
58 | ### Prerequisites
59 | To setup your own instance of Svelte Shortener you will need a PocketBase deployment. If you don't already have one, consider hosting in [Fly.io](https://fly.io) (see [Host for free in Fly.io](https://github.com/pocketbase/pocketbase/discussions/537)) or [PocketHost](https://pockethost.io/).
60 |
61 | To configure your PocketBase, you will need to import the [schema](/pocketbase/pb_schema.json) by going to your PocketBase instance, and clicking on `Import collections` inside settings. After this, you will need to create a new verified user. This will be the user you will use to authenticate yourself.
62 |
63 | ### Deploy
64 | After getting your database set up, you will need to deploy the actual WebApp. You can do this by clicking the button below, and filling in the required environment variable (your PocketBase URL):
65 |
66 | [](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2FGermanHeim%2Fsvelte-shortener&env=POCKETBASE_URL&envDescription=Set%20your%20PocketBase%20URL%20(without%20%2F_%2F%20or%20%2Fapi%2F))
67 |
68 | You can also deploy it manually by cloning the repo and running `npm run build` and `npm run preview` (or `npm run start`).
69 |
70 | ## Run Locally
71 |
72 | To run Svelte Shortener locally, you will need to clone the repo and install the dependencies:
73 |
74 | ```bash
75 | # Clone the project
76 | git clone https://github.com/GermanHeim/svelte-shortener
77 |
78 | # Go to the project directory
79 | cd svelte-shortener
80 |
81 | # Install dependencies
82 | npm install
83 | ```
84 |
85 | After this, you will need to run the PocketBase instance. To do so, you will need to donwload the executable from [here](https://pocketbase.io/) and move it to the `pocketbase` directory.
86 | You can now run `./pocketbase serve` inside the pocketbase directory. This will start a PocketBase instance in `127.0.0.1:8090`.
87 |
88 | Import the [schema](/pocketbase/pb_schema.json) by going to your PocketBase instance, and clicking on `Import collections` inside settings. After this, you will need to create a new verified user. This will be the user you will use to authenticate yourself.
89 |
90 | Create an `.env` file in the root directory of the project, and add the following variable:
91 | * `POCKETBASE_URL` - The URL of your PocketBase instance (without `/_/` or `/api/`)
92 |
93 | Now go to the root directory of the project and run `npm run dev`. This will start the SvelteKit instance.
94 |
95 | ## PocketBase Schema
96 |
97 | The PocketBase schema is located in the [pocketbase](/pocketbase) folder. You can import it by going to your PocketBase instance, and clicking on `Import collections` inside settings.
98 |
99 | It consists of the following collections:
100 | * `users` - Stores the users that are used for authentication
101 | * `links` - Stores the links that are shortened, including the slug to be used and the original URL
102 |
103 | The slug field inside the `links` collection is a unique index, so you can't have two links with the same slug. Also, only users that are verified can create links, to avoid anyone else to create links.
104 |
105 | ## Contributing
106 |
107 | Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
108 |
109 | If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
110 |
111 | 1. Fork the Project
112 | 2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
113 | 3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
114 | 4. Push to the Branch (`git push origin feature/AmazingFeature`)
115 | 5. Open a Pull Request
116 |
117 | ## License
118 |
119 | Distributed under the MIT License. See [`LICENSE.md`](/LICENSE.md) for more information.
120 |
121 | ## Acknowledgments
122 |
123 | The UI is highly inspired on PocketBase.
124 | The logo was made from the PocketBase's logo, using Feather's link icon.
125 | The background that is used was made by [rawpixel.com](https://rawpixel.com) and it was downloaded from [Freepik](https://www.freepik.com/free-vector/monochrome-abstract-contour-line-illustration_3841780.htm#query=topography&position=10&from_view=keyword).
126 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-shortener",
3 | "version": "0.0.1",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "svelte-shortener",
9 | "version": "0.0.1",
10 | "dependencies": {
11 | "pocketbase": "^0.9.1",
12 | "svelte-french-toast": "^1.0.3",
13 | "svelte-icons-pack": "^2.0.0"
14 | },
15 | "devDependencies": {
16 | "@sveltejs/adapter-auto": "^1.0.0",
17 | "@sveltejs/kit": "^1.0.0",
18 | "eslint": "^8.28.0",
19 | "eslint-config-prettier": "^8.5.0",
20 | "eslint-plugin-svelte3": "^4.0.0",
21 | "prettier": "^2.8.0",
22 | "prettier-plugin-svelte": "^2.8.1",
23 | "svelte": "^3.54.0",
24 | "vite": "^4.0.0"
25 | }
26 | },
27 | "node_modules/@esbuild/android-arm": {
28 | "version": "0.16.14",
29 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.14.tgz",
30 | "integrity": "sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg==",
31 | "cpu": [
32 | "arm"
33 | ],
34 | "dev": true,
35 | "optional": true,
36 | "os": [
37 | "android"
38 | ],
39 | "engines": {
40 | "node": ">=12"
41 | }
42 | },
43 | "node_modules/@esbuild/android-arm64": {
44 | "version": "0.16.14",
45 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz",
46 | "integrity": "sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ==",
47 | "cpu": [
48 | "arm64"
49 | ],
50 | "dev": true,
51 | "optional": true,
52 | "os": [
53 | "android"
54 | ],
55 | "engines": {
56 | "node": ">=12"
57 | }
58 | },
59 | "node_modules/@esbuild/android-x64": {
60 | "version": "0.16.14",
61 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.14.tgz",
62 | "integrity": "sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw==",
63 | "cpu": [
64 | "x64"
65 | ],
66 | "dev": true,
67 | "optional": true,
68 | "os": [
69 | "android"
70 | ],
71 | "engines": {
72 | "node": ">=12"
73 | }
74 | },
75 | "node_modules/@esbuild/darwin-arm64": {
76 | "version": "0.16.14",
77 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz",
78 | "integrity": "sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw==",
79 | "cpu": [
80 | "arm64"
81 | ],
82 | "dev": true,
83 | "optional": true,
84 | "os": [
85 | "darwin"
86 | ],
87 | "engines": {
88 | "node": ">=12"
89 | }
90 | },
91 | "node_modules/@esbuild/darwin-x64": {
92 | "version": "0.16.14",
93 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz",
94 | "integrity": "sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg==",
95 | "cpu": [
96 | "x64"
97 | ],
98 | "dev": true,
99 | "optional": true,
100 | "os": [
101 | "darwin"
102 | ],
103 | "engines": {
104 | "node": ">=12"
105 | }
106 | },
107 | "node_modules/@esbuild/freebsd-arm64": {
108 | "version": "0.16.14",
109 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz",
110 | "integrity": "sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw==",
111 | "cpu": [
112 | "arm64"
113 | ],
114 | "dev": true,
115 | "optional": true,
116 | "os": [
117 | "freebsd"
118 | ],
119 | "engines": {
120 | "node": ">=12"
121 | }
122 | },
123 | "node_modules/@esbuild/freebsd-x64": {
124 | "version": "0.16.14",
125 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz",
126 | "integrity": "sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw==",
127 | "cpu": [
128 | "x64"
129 | ],
130 | "dev": true,
131 | "optional": true,
132 | "os": [
133 | "freebsd"
134 | ],
135 | "engines": {
136 | "node": ">=12"
137 | }
138 | },
139 | "node_modules/@esbuild/linux-arm": {
140 | "version": "0.16.14",
141 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz",
142 | "integrity": "sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w==",
143 | "cpu": [
144 | "arm"
145 | ],
146 | "dev": true,
147 | "optional": true,
148 | "os": [
149 | "linux"
150 | ],
151 | "engines": {
152 | "node": ">=12"
153 | }
154 | },
155 | "node_modules/@esbuild/linux-arm64": {
156 | "version": "0.16.14",
157 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz",
158 | "integrity": "sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q==",
159 | "cpu": [
160 | "arm64"
161 | ],
162 | "dev": true,
163 | "optional": true,
164 | "os": [
165 | "linux"
166 | ],
167 | "engines": {
168 | "node": ">=12"
169 | }
170 | },
171 | "node_modules/@esbuild/linux-ia32": {
172 | "version": "0.16.14",
173 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz",
174 | "integrity": "sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA==",
175 | "cpu": [
176 | "ia32"
177 | ],
178 | "dev": true,
179 | "optional": true,
180 | "os": [
181 | "linux"
182 | ],
183 | "engines": {
184 | "node": ">=12"
185 | }
186 | },
187 | "node_modules/@esbuild/linux-loong64": {
188 | "version": "0.16.14",
189 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz",
190 | "integrity": "sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg==",
191 | "cpu": [
192 | "loong64"
193 | ],
194 | "dev": true,
195 | "optional": true,
196 | "os": [
197 | "linux"
198 | ],
199 | "engines": {
200 | "node": ">=12"
201 | }
202 | },
203 | "node_modules/@esbuild/linux-mips64el": {
204 | "version": "0.16.14",
205 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz",
206 | "integrity": "sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg==",
207 | "cpu": [
208 | "mips64el"
209 | ],
210 | "dev": true,
211 | "optional": true,
212 | "os": [
213 | "linux"
214 | ],
215 | "engines": {
216 | "node": ">=12"
217 | }
218 | },
219 | "node_modules/@esbuild/linux-ppc64": {
220 | "version": "0.16.14",
221 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz",
222 | "integrity": "sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg==",
223 | "cpu": [
224 | "ppc64"
225 | ],
226 | "dev": true,
227 | "optional": true,
228 | "os": [
229 | "linux"
230 | ],
231 | "engines": {
232 | "node": ">=12"
233 | }
234 | },
235 | "node_modules/@esbuild/linux-riscv64": {
236 | "version": "0.16.14",
237 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz",
238 | "integrity": "sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A==",
239 | "cpu": [
240 | "riscv64"
241 | ],
242 | "dev": true,
243 | "optional": true,
244 | "os": [
245 | "linux"
246 | ],
247 | "engines": {
248 | "node": ">=12"
249 | }
250 | },
251 | "node_modules/@esbuild/linux-s390x": {
252 | "version": "0.16.14",
253 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz",
254 | "integrity": "sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA==",
255 | "cpu": [
256 | "s390x"
257 | ],
258 | "dev": true,
259 | "optional": true,
260 | "os": [
261 | "linux"
262 | ],
263 | "engines": {
264 | "node": ">=12"
265 | }
266 | },
267 | "node_modules/@esbuild/linux-x64": {
268 | "version": "0.16.14",
269 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz",
270 | "integrity": "sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA==",
271 | "cpu": [
272 | "x64"
273 | ],
274 | "dev": true,
275 | "optional": true,
276 | "os": [
277 | "linux"
278 | ],
279 | "engines": {
280 | "node": ">=12"
281 | }
282 | },
283 | "node_modules/@esbuild/netbsd-x64": {
284 | "version": "0.16.14",
285 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz",
286 | "integrity": "sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw==",
287 | "cpu": [
288 | "x64"
289 | ],
290 | "dev": true,
291 | "optional": true,
292 | "os": [
293 | "netbsd"
294 | ],
295 | "engines": {
296 | "node": ">=12"
297 | }
298 | },
299 | "node_modules/@esbuild/openbsd-x64": {
300 | "version": "0.16.14",
301 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz",
302 | "integrity": "sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg==",
303 | "cpu": [
304 | "x64"
305 | ],
306 | "dev": true,
307 | "optional": true,
308 | "os": [
309 | "openbsd"
310 | ],
311 | "engines": {
312 | "node": ">=12"
313 | }
314 | },
315 | "node_modules/@esbuild/sunos-x64": {
316 | "version": "0.16.14",
317 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz",
318 | "integrity": "sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw==",
319 | "cpu": [
320 | "x64"
321 | ],
322 | "dev": true,
323 | "optional": true,
324 | "os": [
325 | "sunos"
326 | ],
327 | "engines": {
328 | "node": ">=12"
329 | }
330 | },
331 | "node_modules/@esbuild/win32-arm64": {
332 | "version": "0.16.14",
333 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz",
334 | "integrity": "sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg==",
335 | "cpu": [
336 | "arm64"
337 | ],
338 | "dev": true,
339 | "optional": true,
340 | "os": [
341 | "win32"
342 | ],
343 | "engines": {
344 | "node": ">=12"
345 | }
346 | },
347 | "node_modules/@esbuild/win32-ia32": {
348 | "version": "0.16.14",
349 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz",
350 | "integrity": "sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g==",
351 | "cpu": [
352 | "ia32"
353 | ],
354 | "dev": true,
355 | "optional": true,
356 | "os": [
357 | "win32"
358 | ],
359 | "engines": {
360 | "node": ">=12"
361 | }
362 | },
363 | "node_modules/@esbuild/win32-x64": {
364 | "version": "0.16.14",
365 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz",
366 | "integrity": "sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw==",
367 | "cpu": [
368 | "x64"
369 | ],
370 | "dev": true,
371 | "optional": true,
372 | "os": [
373 | "win32"
374 | ],
375 | "engines": {
376 | "node": ">=12"
377 | }
378 | },
379 | "node_modules/@eslint/eslintrc": {
380 | "version": "1.4.1",
381 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
382 | "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
383 | "dev": true,
384 | "dependencies": {
385 | "ajv": "^6.12.4",
386 | "debug": "^4.3.2",
387 | "espree": "^9.4.0",
388 | "globals": "^13.19.0",
389 | "ignore": "^5.2.0",
390 | "import-fresh": "^3.2.1",
391 | "js-yaml": "^4.1.0",
392 | "minimatch": "^3.1.2",
393 | "strip-json-comments": "^3.1.1"
394 | },
395 | "engines": {
396 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
397 | },
398 | "funding": {
399 | "url": "https://opencollective.com/eslint"
400 | }
401 | },
402 | "node_modules/@humanwhocodes/config-array": {
403 | "version": "0.11.8",
404 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
405 | "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
406 | "dev": true,
407 | "dependencies": {
408 | "@humanwhocodes/object-schema": "^1.2.1",
409 | "debug": "^4.1.1",
410 | "minimatch": "^3.0.5"
411 | },
412 | "engines": {
413 | "node": ">=10.10.0"
414 | }
415 | },
416 | "node_modules/@humanwhocodes/module-importer": {
417 | "version": "1.0.1",
418 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
419 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
420 | "dev": true,
421 | "engines": {
422 | "node": ">=12.22"
423 | },
424 | "funding": {
425 | "type": "github",
426 | "url": "https://github.com/sponsors/nzakas"
427 | }
428 | },
429 | "node_modules/@humanwhocodes/object-schema": {
430 | "version": "1.2.1",
431 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
432 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
433 | "dev": true
434 | },
435 | "node_modules/@jridgewell/sourcemap-codec": {
436 | "version": "1.4.14",
437 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
438 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
439 | "dev": true
440 | },
441 | "node_modules/@nodelib/fs.scandir": {
442 | "version": "2.1.5",
443 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
444 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
445 | "dev": true,
446 | "dependencies": {
447 | "@nodelib/fs.stat": "2.0.5",
448 | "run-parallel": "^1.1.9"
449 | },
450 | "engines": {
451 | "node": ">= 8"
452 | }
453 | },
454 | "node_modules/@nodelib/fs.stat": {
455 | "version": "2.0.5",
456 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
457 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
458 | "dev": true,
459 | "engines": {
460 | "node": ">= 8"
461 | }
462 | },
463 | "node_modules/@nodelib/fs.walk": {
464 | "version": "1.2.8",
465 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
466 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
467 | "dev": true,
468 | "dependencies": {
469 | "@nodelib/fs.scandir": "2.1.5",
470 | "fastq": "^1.6.0"
471 | },
472 | "engines": {
473 | "node": ">= 8"
474 | }
475 | },
476 | "node_modules/@polka/url": {
477 | "version": "1.0.0-next.21",
478 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
479 | "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
480 | "dev": true
481 | },
482 | "node_modules/@sveltejs/adapter-auto": {
483 | "version": "1.0.0",
484 | "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0.tgz",
485 | "integrity": "sha512-yKyPvlLVua1bJ/42FrR3X041mFGdB4GzTZOAEoHUcNBRE5Mhx94+eqHpC3hNvAOiLEDcKfVO0ObyKSu7qldU+w==",
486 | "dev": true,
487 | "dependencies": {
488 | "import-meta-resolve": "^2.2.0"
489 | },
490 | "peerDependencies": {
491 | "@sveltejs/kit": "^1.0.0"
492 | }
493 | },
494 | "node_modules/@sveltejs/kit": {
495 | "version": "1.0.3",
496 | "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.3.tgz",
497 | "integrity": "sha512-Mv6KSeJTvHC6RIuLDMPZ8E60zafmyMHjjoXXKwRnD0gdTGdNqnkTd8D9KdJe6zOKKkz7ccldbCtsWW4/XPwgmg==",
498 | "dev": true,
499 | "hasInstallScript": true,
500 | "dependencies": {
501 | "@sveltejs/vite-plugin-svelte": "^2.0.0",
502 | "@types/cookie": "^0.5.1",
503 | "cookie": "^0.5.0",
504 | "devalue": "^4.2.0",
505 | "esm-env": "^1.0.0",
506 | "kleur": "^4.1.5",
507 | "magic-string": "^0.27.0",
508 | "mime": "^3.0.0",
509 | "sade": "^1.8.1",
510 | "set-cookie-parser": "^2.5.1",
511 | "sirv": "^2.0.2",
512 | "tiny-glob": "^0.2.9",
513 | "undici": "5.14.0"
514 | },
515 | "bin": {
516 | "svelte-kit": "svelte-kit.js"
517 | },
518 | "engines": {
519 | "node": "^16.14 || >=18"
520 | },
521 | "peerDependencies": {
522 | "svelte": "^3.54.0",
523 | "vite": "^4.0.0"
524 | }
525 | },
526 | "node_modules/@sveltejs/vite-plugin-svelte": {
527 | "version": "2.0.2",
528 | "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz",
529 | "integrity": "sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==",
530 | "dev": true,
531 | "dependencies": {
532 | "debug": "^4.3.4",
533 | "deepmerge": "^4.2.2",
534 | "kleur": "^4.1.5",
535 | "magic-string": "^0.27.0",
536 | "svelte-hmr": "^0.15.1",
537 | "vitefu": "^0.2.3"
538 | },
539 | "engines": {
540 | "node": "^14.18.0 || >= 16"
541 | },
542 | "peerDependencies": {
543 | "svelte": "^3.54.0",
544 | "vite": "^4.0.0"
545 | }
546 | },
547 | "node_modules/@types/cookie": {
548 | "version": "0.5.1",
549 | "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.1.tgz",
550 | "integrity": "sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==",
551 | "dev": true
552 | },
553 | "node_modules/acorn": {
554 | "version": "8.8.1",
555 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
556 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
557 | "dev": true,
558 | "bin": {
559 | "acorn": "bin/acorn"
560 | },
561 | "engines": {
562 | "node": ">=0.4.0"
563 | }
564 | },
565 | "node_modules/acorn-jsx": {
566 | "version": "5.3.2",
567 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
568 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
569 | "dev": true,
570 | "peerDependencies": {
571 | "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
572 | }
573 | },
574 | "node_modules/ajv": {
575 | "version": "6.12.6",
576 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
577 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
578 | "dev": true,
579 | "dependencies": {
580 | "fast-deep-equal": "^3.1.1",
581 | "fast-json-stable-stringify": "^2.0.0",
582 | "json-schema-traverse": "^0.4.1",
583 | "uri-js": "^4.2.2"
584 | },
585 | "funding": {
586 | "type": "github",
587 | "url": "https://github.com/sponsors/epoberezkin"
588 | }
589 | },
590 | "node_modules/ansi-regex": {
591 | "version": "5.0.1",
592 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
593 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
594 | "dev": true,
595 | "engines": {
596 | "node": ">=8"
597 | }
598 | },
599 | "node_modules/ansi-styles": {
600 | "version": "4.3.0",
601 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
602 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
603 | "dev": true,
604 | "dependencies": {
605 | "color-convert": "^2.0.1"
606 | },
607 | "engines": {
608 | "node": ">=8"
609 | },
610 | "funding": {
611 | "url": "https://github.com/chalk/ansi-styles?sponsor=1"
612 | }
613 | },
614 | "node_modules/argparse": {
615 | "version": "2.0.1",
616 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
617 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
618 | "dev": true
619 | },
620 | "node_modules/balanced-match": {
621 | "version": "1.0.2",
622 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
623 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
624 | "dev": true
625 | },
626 | "node_modules/brace-expansion": {
627 | "version": "1.1.11",
628 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
629 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
630 | "dev": true,
631 | "dependencies": {
632 | "balanced-match": "^1.0.0",
633 | "concat-map": "0.0.1"
634 | }
635 | },
636 | "node_modules/busboy": {
637 | "version": "1.6.0",
638 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
639 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
640 | "dev": true,
641 | "dependencies": {
642 | "streamsearch": "^1.1.0"
643 | },
644 | "engines": {
645 | "node": ">=10.16.0"
646 | }
647 | },
648 | "node_modules/callsites": {
649 | "version": "3.1.0",
650 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
651 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
652 | "dev": true,
653 | "engines": {
654 | "node": ">=6"
655 | }
656 | },
657 | "node_modules/chalk": {
658 | "version": "4.1.2",
659 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
660 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
661 | "dev": true,
662 | "dependencies": {
663 | "ansi-styles": "^4.1.0",
664 | "supports-color": "^7.1.0"
665 | },
666 | "engines": {
667 | "node": ">=10"
668 | },
669 | "funding": {
670 | "url": "https://github.com/chalk/chalk?sponsor=1"
671 | }
672 | },
673 | "node_modules/color-convert": {
674 | "version": "2.0.1",
675 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
676 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
677 | "dev": true,
678 | "dependencies": {
679 | "color-name": "~1.1.4"
680 | },
681 | "engines": {
682 | "node": ">=7.0.0"
683 | }
684 | },
685 | "node_modules/color-name": {
686 | "version": "1.1.4",
687 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
688 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
689 | "dev": true
690 | },
691 | "node_modules/concat-map": {
692 | "version": "0.0.1",
693 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
694 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
695 | "dev": true
696 | },
697 | "node_modules/cookie": {
698 | "version": "0.5.0",
699 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
700 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
701 | "dev": true,
702 | "engines": {
703 | "node": ">= 0.6"
704 | }
705 | },
706 | "node_modules/cross-spawn": {
707 | "version": "7.0.3",
708 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
709 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
710 | "dev": true,
711 | "dependencies": {
712 | "path-key": "^3.1.0",
713 | "shebang-command": "^2.0.0",
714 | "which": "^2.0.1"
715 | },
716 | "engines": {
717 | "node": ">= 8"
718 | }
719 | },
720 | "node_modules/debug": {
721 | "version": "4.3.4",
722 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
723 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
724 | "dev": true,
725 | "dependencies": {
726 | "ms": "2.1.2"
727 | },
728 | "engines": {
729 | "node": ">=6.0"
730 | },
731 | "peerDependenciesMeta": {
732 | "supports-color": {
733 | "optional": true
734 | }
735 | }
736 | },
737 | "node_modules/deep-is": {
738 | "version": "0.1.4",
739 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
740 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
741 | "dev": true
742 | },
743 | "node_modules/deepmerge": {
744 | "version": "4.2.2",
745 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
746 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
747 | "dev": true,
748 | "engines": {
749 | "node": ">=0.10.0"
750 | }
751 | },
752 | "node_modules/devalue": {
753 | "version": "4.2.0",
754 | "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.2.0.tgz",
755 | "integrity": "sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==",
756 | "dev": true
757 | },
758 | "node_modules/doctrine": {
759 | "version": "3.0.0",
760 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
761 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
762 | "dev": true,
763 | "dependencies": {
764 | "esutils": "^2.0.2"
765 | },
766 | "engines": {
767 | "node": ">=6.0.0"
768 | }
769 | },
770 | "node_modules/esbuild": {
771 | "version": "0.16.14",
772 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.14.tgz",
773 | "integrity": "sha512-6xAn3O6ZZyoxZAEkwfI9hw4cEqSr/o1ViJtnkvImVkblmUN65Md04o0S/7H1WNu1XGf1Cjij/on7VO4psIYjkw==",
774 | "dev": true,
775 | "hasInstallScript": true,
776 | "bin": {
777 | "esbuild": "bin/esbuild"
778 | },
779 | "engines": {
780 | "node": ">=12"
781 | },
782 | "optionalDependencies": {
783 | "@esbuild/android-arm": "0.16.14",
784 | "@esbuild/android-arm64": "0.16.14",
785 | "@esbuild/android-x64": "0.16.14",
786 | "@esbuild/darwin-arm64": "0.16.14",
787 | "@esbuild/darwin-x64": "0.16.14",
788 | "@esbuild/freebsd-arm64": "0.16.14",
789 | "@esbuild/freebsd-x64": "0.16.14",
790 | "@esbuild/linux-arm": "0.16.14",
791 | "@esbuild/linux-arm64": "0.16.14",
792 | "@esbuild/linux-ia32": "0.16.14",
793 | "@esbuild/linux-loong64": "0.16.14",
794 | "@esbuild/linux-mips64el": "0.16.14",
795 | "@esbuild/linux-ppc64": "0.16.14",
796 | "@esbuild/linux-riscv64": "0.16.14",
797 | "@esbuild/linux-s390x": "0.16.14",
798 | "@esbuild/linux-x64": "0.16.14",
799 | "@esbuild/netbsd-x64": "0.16.14",
800 | "@esbuild/openbsd-x64": "0.16.14",
801 | "@esbuild/sunos-x64": "0.16.14",
802 | "@esbuild/win32-arm64": "0.16.14",
803 | "@esbuild/win32-ia32": "0.16.14",
804 | "@esbuild/win32-x64": "0.16.14"
805 | }
806 | },
807 | "node_modules/escape-string-regexp": {
808 | "version": "4.0.0",
809 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
810 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
811 | "dev": true,
812 | "engines": {
813 | "node": ">=10"
814 | },
815 | "funding": {
816 | "url": "https://github.com/sponsors/sindresorhus"
817 | }
818 | },
819 | "node_modules/eslint": {
820 | "version": "8.31.0",
821 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz",
822 | "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==",
823 | "dev": true,
824 | "dependencies": {
825 | "@eslint/eslintrc": "^1.4.1",
826 | "@humanwhocodes/config-array": "^0.11.8",
827 | "@humanwhocodes/module-importer": "^1.0.1",
828 | "@nodelib/fs.walk": "^1.2.8",
829 | "ajv": "^6.10.0",
830 | "chalk": "^4.0.0",
831 | "cross-spawn": "^7.0.2",
832 | "debug": "^4.3.2",
833 | "doctrine": "^3.0.0",
834 | "escape-string-regexp": "^4.0.0",
835 | "eslint-scope": "^7.1.1",
836 | "eslint-utils": "^3.0.0",
837 | "eslint-visitor-keys": "^3.3.0",
838 | "espree": "^9.4.0",
839 | "esquery": "^1.4.0",
840 | "esutils": "^2.0.2",
841 | "fast-deep-equal": "^3.1.3",
842 | "file-entry-cache": "^6.0.1",
843 | "find-up": "^5.0.0",
844 | "glob-parent": "^6.0.2",
845 | "globals": "^13.19.0",
846 | "grapheme-splitter": "^1.0.4",
847 | "ignore": "^5.2.0",
848 | "import-fresh": "^3.0.0",
849 | "imurmurhash": "^0.1.4",
850 | "is-glob": "^4.0.0",
851 | "is-path-inside": "^3.0.3",
852 | "js-sdsl": "^4.1.4",
853 | "js-yaml": "^4.1.0",
854 | "json-stable-stringify-without-jsonify": "^1.0.1",
855 | "levn": "^0.4.1",
856 | "lodash.merge": "^4.6.2",
857 | "minimatch": "^3.1.2",
858 | "natural-compare": "^1.4.0",
859 | "optionator": "^0.9.1",
860 | "regexpp": "^3.2.0",
861 | "strip-ansi": "^6.0.1",
862 | "strip-json-comments": "^3.1.0",
863 | "text-table": "^0.2.0"
864 | },
865 | "bin": {
866 | "eslint": "bin/eslint.js"
867 | },
868 | "engines": {
869 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
870 | },
871 | "funding": {
872 | "url": "https://opencollective.com/eslint"
873 | }
874 | },
875 | "node_modules/eslint-config-prettier": {
876 | "version": "8.6.0",
877 | "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz",
878 | "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==",
879 | "dev": true,
880 | "bin": {
881 | "eslint-config-prettier": "bin/cli.js"
882 | },
883 | "peerDependencies": {
884 | "eslint": ">=7.0.0"
885 | }
886 | },
887 | "node_modules/eslint-plugin-svelte3": {
888 | "version": "4.0.0",
889 | "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-4.0.0.tgz",
890 | "integrity": "sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==",
891 | "dev": true,
892 | "peerDependencies": {
893 | "eslint": ">=8.0.0",
894 | "svelte": "^3.2.0"
895 | }
896 | },
897 | "node_modules/eslint-scope": {
898 | "version": "7.1.1",
899 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
900 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
901 | "dev": true,
902 | "dependencies": {
903 | "esrecurse": "^4.3.0",
904 | "estraverse": "^5.2.0"
905 | },
906 | "engines": {
907 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
908 | }
909 | },
910 | "node_modules/eslint-utils": {
911 | "version": "3.0.0",
912 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
913 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
914 | "dev": true,
915 | "dependencies": {
916 | "eslint-visitor-keys": "^2.0.0"
917 | },
918 | "engines": {
919 | "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
920 | },
921 | "funding": {
922 | "url": "https://github.com/sponsors/mysticatea"
923 | },
924 | "peerDependencies": {
925 | "eslint": ">=5"
926 | }
927 | },
928 | "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
929 | "version": "2.1.0",
930 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
931 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
932 | "dev": true,
933 | "engines": {
934 | "node": ">=10"
935 | }
936 | },
937 | "node_modules/eslint-visitor-keys": {
938 | "version": "3.3.0",
939 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
940 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
941 | "dev": true,
942 | "engines": {
943 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
944 | }
945 | },
946 | "node_modules/esm-env": {
947 | "version": "1.0.0",
948 | "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz",
949 | "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==",
950 | "dev": true
951 | },
952 | "node_modules/espree": {
953 | "version": "9.4.1",
954 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
955 | "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
956 | "dev": true,
957 | "dependencies": {
958 | "acorn": "^8.8.0",
959 | "acorn-jsx": "^5.3.2",
960 | "eslint-visitor-keys": "^3.3.0"
961 | },
962 | "engines": {
963 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
964 | },
965 | "funding": {
966 | "url": "https://opencollective.com/eslint"
967 | }
968 | },
969 | "node_modules/esquery": {
970 | "version": "1.4.0",
971 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
972 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
973 | "dev": true,
974 | "dependencies": {
975 | "estraverse": "^5.1.0"
976 | },
977 | "engines": {
978 | "node": ">=0.10"
979 | }
980 | },
981 | "node_modules/esrecurse": {
982 | "version": "4.3.0",
983 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
984 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
985 | "dev": true,
986 | "dependencies": {
987 | "estraverse": "^5.2.0"
988 | },
989 | "engines": {
990 | "node": ">=4.0"
991 | }
992 | },
993 | "node_modules/estraverse": {
994 | "version": "5.3.0",
995 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
996 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
997 | "dev": true,
998 | "engines": {
999 | "node": ">=4.0"
1000 | }
1001 | },
1002 | "node_modules/esutils": {
1003 | "version": "2.0.3",
1004 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
1005 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
1006 | "dev": true,
1007 | "engines": {
1008 | "node": ">=0.10.0"
1009 | }
1010 | },
1011 | "node_modules/fast-deep-equal": {
1012 | "version": "3.1.3",
1013 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1014 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1015 | "dev": true
1016 | },
1017 | "node_modules/fast-json-stable-stringify": {
1018 | "version": "2.1.0",
1019 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
1020 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
1021 | "dev": true
1022 | },
1023 | "node_modules/fast-levenshtein": {
1024 | "version": "2.0.6",
1025 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
1026 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
1027 | "dev": true
1028 | },
1029 | "node_modules/fastq": {
1030 | "version": "1.15.0",
1031 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
1032 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
1033 | "dev": true,
1034 | "dependencies": {
1035 | "reusify": "^1.0.4"
1036 | }
1037 | },
1038 | "node_modules/file-entry-cache": {
1039 | "version": "6.0.1",
1040 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
1041 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
1042 | "dev": true,
1043 | "dependencies": {
1044 | "flat-cache": "^3.0.4"
1045 | },
1046 | "engines": {
1047 | "node": "^10.12.0 || >=12.0.0"
1048 | }
1049 | },
1050 | "node_modules/find-up": {
1051 | "version": "5.0.0",
1052 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
1053 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
1054 | "dev": true,
1055 | "dependencies": {
1056 | "locate-path": "^6.0.0",
1057 | "path-exists": "^4.0.0"
1058 | },
1059 | "engines": {
1060 | "node": ">=10"
1061 | },
1062 | "funding": {
1063 | "url": "https://github.com/sponsors/sindresorhus"
1064 | }
1065 | },
1066 | "node_modules/flat-cache": {
1067 | "version": "3.0.4",
1068 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
1069 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
1070 | "dev": true,
1071 | "dependencies": {
1072 | "flatted": "^3.1.0",
1073 | "rimraf": "^3.0.2"
1074 | },
1075 | "engines": {
1076 | "node": "^10.12.0 || >=12.0.0"
1077 | }
1078 | },
1079 | "node_modules/flatted": {
1080 | "version": "3.2.7",
1081 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
1082 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
1083 | "dev": true
1084 | },
1085 | "node_modules/fs.realpath": {
1086 | "version": "1.0.0",
1087 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1088 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1089 | "dev": true
1090 | },
1091 | "node_modules/fsevents": {
1092 | "version": "2.3.2",
1093 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
1094 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
1095 | "dev": true,
1096 | "hasInstallScript": true,
1097 | "optional": true,
1098 | "os": [
1099 | "darwin"
1100 | ],
1101 | "engines": {
1102 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1103 | }
1104 | },
1105 | "node_modules/function-bind": {
1106 | "version": "1.1.1",
1107 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
1108 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
1109 | "dev": true
1110 | },
1111 | "node_modules/glob": {
1112 | "version": "7.2.3",
1113 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1114 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1115 | "dev": true,
1116 | "dependencies": {
1117 | "fs.realpath": "^1.0.0",
1118 | "inflight": "^1.0.4",
1119 | "inherits": "2",
1120 | "minimatch": "^3.1.1",
1121 | "once": "^1.3.0",
1122 | "path-is-absolute": "^1.0.0"
1123 | },
1124 | "engines": {
1125 | "node": "*"
1126 | },
1127 | "funding": {
1128 | "url": "https://github.com/sponsors/isaacs"
1129 | }
1130 | },
1131 | "node_modules/glob-parent": {
1132 | "version": "6.0.2",
1133 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
1134 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
1135 | "dev": true,
1136 | "dependencies": {
1137 | "is-glob": "^4.0.3"
1138 | },
1139 | "engines": {
1140 | "node": ">=10.13.0"
1141 | }
1142 | },
1143 | "node_modules/globals": {
1144 | "version": "13.19.0",
1145 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
1146 | "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
1147 | "dev": true,
1148 | "dependencies": {
1149 | "type-fest": "^0.20.2"
1150 | },
1151 | "engines": {
1152 | "node": ">=8"
1153 | },
1154 | "funding": {
1155 | "url": "https://github.com/sponsors/sindresorhus"
1156 | }
1157 | },
1158 | "node_modules/globalyzer": {
1159 | "version": "0.1.0",
1160 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
1161 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
1162 | "dev": true
1163 | },
1164 | "node_modules/globrex": {
1165 | "version": "0.1.2",
1166 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
1167 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
1168 | "dev": true
1169 | },
1170 | "node_modules/grapheme-splitter": {
1171 | "version": "1.0.4",
1172 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
1173 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
1174 | "dev": true
1175 | },
1176 | "node_modules/has": {
1177 | "version": "1.0.3",
1178 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
1179 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
1180 | "dev": true,
1181 | "dependencies": {
1182 | "function-bind": "^1.1.1"
1183 | },
1184 | "engines": {
1185 | "node": ">= 0.4.0"
1186 | }
1187 | },
1188 | "node_modules/has-flag": {
1189 | "version": "4.0.0",
1190 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
1191 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
1192 | "dev": true,
1193 | "engines": {
1194 | "node": ">=8"
1195 | }
1196 | },
1197 | "node_modules/ignore": {
1198 | "version": "5.2.4",
1199 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
1200 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
1201 | "dev": true,
1202 | "engines": {
1203 | "node": ">= 4"
1204 | }
1205 | },
1206 | "node_modules/import-fresh": {
1207 | "version": "3.3.0",
1208 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
1209 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
1210 | "dev": true,
1211 | "dependencies": {
1212 | "parent-module": "^1.0.0",
1213 | "resolve-from": "^4.0.0"
1214 | },
1215 | "engines": {
1216 | "node": ">=6"
1217 | },
1218 | "funding": {
1219 | "url": "https://github.com/sponsors/sindresorhus"
1220 | }
1221 | },
1222 | "node_modules/import-meta-resolve": {
1223 | "version": "2.2.0",
1224 | "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.0.tgz",
1225 | "integrity": "sha512-CpPOtiCHxP9HdtDM5F45tNiAe66Cqlv3f5uHoJjt+KlaLrUh9/Wz9vepADZ78SlqEo62aDWZtj9ydMGXV+CPnw==",
1226 | "dev": true,
1227 | "funding": {
1228 | "type": "github",
1229 | "url": "https://github.com/sponsors/wooorm"
1230 | }
1231 | },
1232 | "node_modules/imurmurhash": {
1233 | "version": "0.1.4",
1234 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
1235 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
1236 | "dev": true,
1237 | "engines": {
1238 | "node": ">=0.8.19"
1239 | }
1240 | },
1241 | "node_modules/inflight": {
1242 | "version": "1.0.6",
1243 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1244 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1245 | "dev": true,
1246 | "dependencies": {
1247 | "once": "^1.3.0",
1248 | "wrappy": "1"
1249 | }
1250 | },
1251 | "node_modules/inherits": {
1252 | "version": "2.0.4",
1253 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1254 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1255 | "dev": true
1256 | },
1257 | "node_modules/is-core-module": {
1258 | "version": "2.11.0",
1259 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
1260 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
1261 | "dev": true,
1262 | "dependencies": {
1263 | "has": "^1.0.3"
1264 | },
1265 | "funding": {
1266 | "url": "https://github.com/sponsors/ljharb"
1267 | }
1268 | },
1269 | "node_modules/is-extglob": {
1270 | "version": "2.1.1",
1271 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1272 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1273 | "dev": true,
1274 | "engines": {
1275 | "node": ">=0.10.0"
1276 | }
1277 | },
1278 | "node_modules/is-glob": {
1279 | "version": "4.0.3",
1280 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1281 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1282 | "dev": true,
1283 | "dependencies": {
1284 | "is-extglob": "^2.1.1"
1285 | },
1286 | "engines": {
1287 | "node": ">=0.10.0"
1288 | }
1289 | },
1290 | "node_modules/is-path-inside": {
1291 | "version": "3.0.3",
1292 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
1293 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
1294 | "dev": true,
1295 | "engines": {
1296 | "node": ">=8"
1297 | }
1298 | },
1299 | "node_modules/isexe": {
1300 | "version": "2.0.0",
1301 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1302 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1303 | "dev": true
1304 | },
1305 | "node_modules/js-sdsl": {
1306 | "version": "4.2.0",
1307 | "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
1308 | "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
1309 | "dev": true,
1310 | "funding": {
1311 | "type": "opencollective",
1312 | "url": "https://opencollective.com/js-sdsl"
1313 | }
1314 | },
1315 | "node_modules/js-yaml": {
1316 | "version": "4.1.0",
1317 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
1318 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
1319 | "dev": true,
1320 | "dependencies": {
1321 | "argparse": "^2.0.1"
1322 | },
1323 | "bin": {
1324 | "js-yaml": "bin/js-yaml.js"
1325 | }
1326 | },
1327 | "node_modules/json-schema-traverse": {
1328 | "version": "0.4.1",
1329 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
1330 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
1331 | "dev": true
1332 | },
1333 | "node_modules/json-stable-stringify-without-jsonify": {
1334 | "version": "1.0.1",
1335 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
1336 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
1337 | "dev": true
1338 | },
1339 | "node_modules/kleur": {
1340 | "version": "4.1.5",
1341 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
1342 | "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
1343 | "dev": true,
1344 | "engines": {
1345 | "node": ">=6"
1346 | }
1347 | },
1348 | "node_modules/levn": {
1349 | "version": "0.4.1",
1350 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
1351 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
1352 | "dev": true,
1353 | "dependencies": {
1354 | "prelude-ls": "^1.2.1",
1355 | "type-check": "~0.4.0"
1356 | },
1357 | "engines": {
1358 | "node": ">= 0.8.0"
1359 | }
1360 | },
1361 | "node_modules/locate-path": {
1362 | "version": "6.0.0",
1363 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
1364 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
1365 | "dev": true,
1366 | "dependencies": {
1367 | "p-locate": "^5.0.0"
1368 | },
1369 | "engines": {
1370 | "node": ">=10"
1371 | },
1372 | "funding": {
1373 | "url": "https://github.com/sponsors/sindresorhus"
1374 | }
1375 | },
1376 | "node_modules/lodash.merge": {
1377 | "version": "4.6.2",
1378 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
1379 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
1380 | "dev": true
1381 | },
1382 | "node_modules/magic-string": {
1383 | "version": "0.27.0",
1384 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
1385 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
1386 | "dev": true,
1387 | "dependencies": {
1388 | "@jridgewell/sourcemap-codec": "^1.4.13"
1389 | },
1390 | "engines": {
1391 | "node": ">=12"
1392 | }
1393 | },
1394 | "node_modules/mime": {
1395 | "version": "3.0.0",
1396 | "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
1397 | "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
1398 | "dev": true,
1399 | "bin": {
1400 | "mime": "cli.js"
1401 | },
1402 | "engines": {
1403 | "node": ">=10.0.0"
1404 | }
1405 | },
1406 | "node_modules/minimatch": {
1407 | "version": "3.1.2",
1408 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1409 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1410 | "dev": true,
1411 | "dependencies": {
1412 | "brace-expansion": "^1.1.7"
1413 | },
1414 | "engines": {
1415 | "node": "*"
1416 | }
1417 | },
1418 | "node_modules/mri": {
1419 | "version": "1.2.0",
1420 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
1421 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
1422 | "dev": true,
1423 | "engines": {
1424 | "node": ">=4"
1425 | }
1426 | },
1427 | "node_modules/mrmime": {
1428 | "version": "1.0.1",
1429 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
1430 | "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
1431 | "dev": true,
1432 | "engines": {
1433 | "node": ">=10"
1434 | }
1435 | },
1436 | "node_modules/ms": {
1437 | "version": "2.1.2",
1438 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
1439 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
1440 | "dev": true
1441 | },
1442 | "node_modules/nanoid": {
1443 | "version": "3.3.4",
1444 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
1445 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
1446 | "dev": true,
1447 | "bin": {
1448 | "nanoid": "bin/nanoid.cjs"
1449 | },
1450 | "engines": {
1451 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
1452 | }
1453 | },
1454 | "node_modules/natural-compare": {
1455 | "version": "1.4.0",
1456 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
1457 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
1458 | "dev": true
1459 | },
1460 | "node_modules/once": {
1461 | "version": "1.4.0",
1462 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1463 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1464 | "dev": true,
1465 | "dependencies": {
1466 | "wrappy": "1"
1467 | }
1468 | },
1469 | "node_modules/optionator": {
1470 | "version": "0.9.1",
1471 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
1472 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
1473 | "dev": true,
1474 | "dependencies": {
1475 | "deep-is": "^0.1.3",
1476 | "fast-levenshtein": "^2.0.6",
1477 | "levn": "^0.4.1",
1478 | "prelude-ls": "^1.2.1",
1479 | "type-check": "^0.4.0",
1480 | "word-wrap": "^1.2.3"
1481 | },
1482 | "engines": {
1483 | "node": ">= 0.8.0"
1484 | }
1485 | },
1486 | "node_modules/p-limit": {
1487 | "version": "3.1.0",
1488 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
1489 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
1490 | "dev": true,
1491 | "dependencies": {
1492 | "yocto-queue": "^0.1.0"
1493 | },
1494 | "engines": {
1495 | "node": ">=10"
1496 | },
1497 | "funding": {
1498 | "url": "https://github.com/sponsors/sindresorhus"
1499 | }
1500 | },
1501 | "node_modules/p-locate": {
1502 | "version": "5.0.0",
1503 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
1504 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
1505 | "dev": true,
1506 | "dependencies": {
1507 | "p-limit": "^3.0.2"
1508 | },
1509 | "engines": {
1510 | "node": ">=10"
1511 | },
1512 | "funding": {
1513 | "url": "https://github.com/sponsors/sindresorhus"
1514 | }
1515 | },
1516 | "node_modules/parent-module": {
1517 | "version": "1.0.1",
1518 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
1519 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
1520 | "dev": true,
1521 | "dependencies": {
1522 | "callsites": "^3.0.0"
1523 | },
1524 | "engines": {
1525 | "node": ">=6"
1526 | }
1527 | },
1528 | "node_modules/path-exists": {
1529 | "version": "4.0.0",
1530 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
1531 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
1532 | "dev": true,
1533 | "engines": {
1534 | "node": ">=8"
1535 | }
1536 | },
1537 | "node_modules/path-is-absolute": {
1538 | "version": "1.0.1",
1539 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1540 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
1541 | "dev": true,
1542 | "engines": {
1543 | "node": ">=0.10.0"
1544 | }
1545 | },
1546 | "node_modules/path-key": {
1547 | "version": "3.1.1",
1548 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1549 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1550 | "dev": true,
1551 | "engines": {
1552 | "node": ">=8"
1553 | }
1554 | },
1555 | "node_modules/path-parse": {
1556 | "version": "1.0.7",
1557 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1558 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1559 | "dev": true
1560 | },
1561 | "node_modules/picocolors": {
1562 | "version": "1.0.0",
1563 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
1564 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
1565 | "dev": true
1566 | },
1567 | "node_modules/pocketbase": {
1568 | "version": "0.9.1",
1569 | "resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.9.1.tgz",
1570 | "integrity": "sha512-a9S/WHak+mgr3WI8bD2tz3lFVFzoy6ZgKTBlUXwIH4VLTKVU3JKeAKxqIFBF7av4qblmB+52tX8sWLS08Ftm/w=="
1571 | },
1572 | "node_modules/postcss": {
1573 | "version": "8.4.20",
1574 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
1575 | "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
1576 | "dev": true,
1577 | "funding": [
1578 | {
1579 | "type": "opencollective",
1580 | "url": "https://opencollective.com/postcss/"
1581 | },
1582 | {
1583 | "type": "tidelift",
1584 | "url": "https://tidelift.com/funding/github/npm/postcss"
1585 | }
1586 | ],
1587 | "dependencies": {
1588 | "nanoid": "^3.3.4",
1589 | "picocolors": "^1.0.0",
1590 | "source-map-js": "^1.0.2"
1591 | },
1592 | "engines": {
1593 | "node": "^10 || ^12 || >=14"
1594 | }
1595 | },
1596 | "node_modules/prelude-ls": {
1597 | "version": "1.2.1",
1598 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
1599 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
1600 | "dev": true,
1601 | "engines": {
1602 | "node": ">= 0.8.0"
1603 | }
1604 | },
1605 | "node_modules/prettier": {
1606 | "version": "2.8.1",
1607 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
1608 | "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
1609 | "dev": true,
1610 | "bin": {
1611 | "prettier": "bin-prettier.js"
1612 | },
1613 | "engines": {
1614 | "node": ">=10.13.0"
1615 | },
1616 | "funding": {
1617 | "url": "https://github.com/prettier/prettier?sponsor=1"
1618 | }
1619 | },
1620 | "node_modules/prettier-plugin-svelte": {
1621 | "version": "2.9.0",
1622 | "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.9.0.tgz",
1623 | "integrity": "sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==",
1624 | "dev": true,
1625 | "peerDependencies": {
1626 | "prettier": "^1.16.4 || ^2.0.0",
1627 | "svelte": "^3.2.0"
1628 | }
1629 | },
1630 | "node_modules/punycode": {
1631 | "version": "2.1.1",
1632 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
1633 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
1634 | "dev": true,
1635 | "engines": {
1636 | "node": ">=6"
1637 | }
1638 | },
1639 | "node_modules/queue-microtask": {
1640 | "version": "1.2.3",
1641 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
1642 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
1643 | "dev": true,
1644 | "funding": [
1645 | {
1646 | "type": "github",
1647 | "url": "https://github.com/sponsors/feross"
1648 | },
1649 | {
1650 | "type": "patreon",
1651 | "url": "https://www.patreon.com/feross"
1652 | },
1653 | {
1654 | "type": "consulting",
1655 | "url": "https://feross.org/support"
1656 | }
1657 | ]
1658 | },
1659 | "node_modules/regexpp": {
1660 | "version": "3.2.0",
1661 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
1662 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
1663 | "dev": true,
1664 | "engines": {
1665 | "node": ">=8"
1666 | },
1667 | "funding": {
1668 | "url": "https://github.com/sponsors/mysticatea"
1669 | }
1670 | },
1671 | "node_modules/resolve": {
1672 | "version": "1.22.1",
1673 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
1674 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
1675 | "dev": true,
1676 | "dependencies": {
1677 | "is-core-module": "^2.9.0",
1678 | "path-parse": "^1.0.7",
1679 | "supports-preserve-symlinks-flag": "^1.0.0"
1680 | },
1681 | "bin": {
1682 | "resolve": "bin/resolve"
1683 | },
1684 | "funding": {
1685 | "url": "https://github.com/sponsors/ljharb"
1686 | }
1687 | },
1688 | "node_modules/resolve-from": {
1689 | "version": "4.0.0",
1690 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
1691 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
1692 | "dev": true,
1693 | "engines": {
1694 | "node": ">=4"
1695 | }
1696 | },
1697 | "node_modules/reusify": {
1698 | "version": "1.0.4",
1699 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1700 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
1701 | "dev": true,
1702 | "engines": {
1703 | "iojs": ">=1.0.0",
1704 | "node": ">=0.10.0"
1705 | }
1706 | },
1707 | "node_modules/rimraf": {
1708 | "version": "3.0.2",
1709 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
1710 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
1711 | "dev": true,
1712 | "dependencies": {
1713 | "glob": "^7.1.3"
1714 | },
1715 | "bin": {
1716 | "rimraf": "bin.js"
1717 | },
1718 | "funding": {
1719 | "url": "https://github.com/sponsors/isaacs"
1720 | }
1721 | },
1722 | "node_modules/rollup": {
1723 | "version": "3.9.1",
1724 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.9.1.tgz",
1725 | "integrity": "sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==",
1726 | "dev": true,
1727 | "bin": {
1728 | "rollup": "dist/bin/rollup"
1729 | },
1730 | "engines": {
1731 | "node": ">=14.18.0",
1732 | "npm": ">=8.0.0"
1733 | },
1734 | "optionalDependencies": {
1735 | "fsevents": "~2.3.2"
1736 | }
1737 | },
1738 | "node_modules/run-parallel": {
1739 | "version": "1.2.0",
1740 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
1741 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
1742 | "dev": true,
1743 | "funding": [
1744 | {
1745 | "type": "github",
1746 | "url": "https://github.com/sponsors/feross"
1747 | },
1748 | {
1749 | "type": "patreon",
1750 | "url": "https://www.patreon.com/feross"
1751 | },
1752 | {
1753 | "type": "consulting",
1754 | "url": "https://feross.org/support"
1755 | }
1756 | ],
1757 | "dependencies": {
1758 | "queue-microtask": "^1.2.2"
1759 | }
1760 | },
1761 | "node_modules/sade": {
1762 | "version": "1.8.1",
1763 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
1764 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
1765 | "dev": true,
1766 | "dependencies": {
1767 | "mri": "^1.1.0"
1768 | },
1769 | "engines": {
1770 | "node": ">=6"
1771 | }
1772 | },
1773 | "node_modules/set-cookie-parser": {
1774 | "version": "2.5.1",
1775 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz",
1776 | "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==",
1777 | "dev": true
1778 | },
1779 | "node_modules/shebang-command": {
1780 | "version": "2.0.0",
1781 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1782 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1783 | "dev": true,
1784 | "dependencies": {
1785 | "shebang-regex": "^3.0.0"
1786 | },
1787 | "engines": {
1788 | "node": ">=8"
1789 | }
1790 | },
1791 | "node_modules/shebang-regex": {
1792 | "version": "3.0.0",
1793 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1794 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1795 | "dev": true,
1796 | "engines": {
1797 | "node": ">=8"
1798 | }
1799 | },
1800 | "node_modules/sirv": {
1801 | "version": "2.0.2",
1802 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
1803 | "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==",
1804 | "dev": true,
1805 | "dependencies": {
1806 | "@polka/url": "^1.0.0-next.20",
1807 | "mrmime": "^1.0.0",
1808 | "totalist": "^3.0.0"
1809 | },
1810 | "engines": {
1811 | "node": ">= 10"
1812 | }
1813 | },
1814 | "node_modules/source-map-js": {
1815 | "version": "1.0.2",
1816 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
1817 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
1818 | "dev": true,
1819 | "engines": {
1820 | "node": ">=0.10.0"
1821 | }
1822 | },
1823 | "node_modules/streamsearch": {
1824 | "version": "1.1.0",
1825 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
1826 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
1827 | "dev": true,
1828 | "engines": {
1829 | "node": ">=10.0.0"
1830 | }
1831 | },
1832 | "node_modules/strip-ansi": {
1833 | "version": "6.0.1",
1834 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
1835 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
1836 | "dev": true,
1837 | "dependencies": {
1838 | "ansi-regex": "^5.0.1"
1839 | },
1840 | "engines": {
1841 | "node": ">=8"
1842 | }
1843 | },
1844 | "node_modules/strip-json-comments": {
1845 | "version": "3.1.1",
1846 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
1847 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
1848 | "dev": true,
1849 | "engines": {
1850 | "node": ">=8"
1851 | },
1852 | "funding": {
1853 | "url": "https://github.com/sponsors/sindresorhus"
1854 | }
1855 | },
1856 | "node_modules/supports-color": {
1857 | "version": "7.2.0",
1858 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
1859 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
1860 | "dev": true,
1861 | "dependencies": {
1862 | "has-flag": "^4.0.0"
1863 | },
1864 | "engines": {
1865 | "node": ">=8"
1866 | }
1867 | },
1868 | "node_modules/supports-preserve-symlinks-flag": {
1869 | "version": "1.0.0",
1870 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
1871 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
1872 | "dev": true,
1873 | "engines": {
1874 | "node": ">= 0.4"
1875 | },
1876 | "funding": {
1877 | "url": "https://github.com/sponsors/ljharb"
1878 | }
1879 | },
1880 | "node_modules/svelte": {
1881 | "version": "3.55.0",
1882 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.55.0.tgz",
1883 | "integrity": "sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA==",
1884 | "engines": {
1885 | "node": ">= 8"
1886 | }
1887 | },
1888 | "node_modules/svelte-french-toast": {
1889 | "version": "1.0.3",
1890 | "resolved": "https://registry.npmjs.org/svelte-french-toast/-/svelte-french-toast-1.0.3.tgz",
1891 | "integrity": "sha512-HBdutlqUx5FroucvcmMJstmTJDedXayiOSXubBYW6iL5x1PdHp+bOflGx5NxsOa6+EQckJnnVv1vJYgGsg7ngQ==",
1892 | "dependencies": {
1893 | "svelte-writable-derived": "^2.1.3"
1894 | }
1895 | },
1896 | "node_modules/svelte-hmr": {
1897 | "version": "0.15.1",
1898 | "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.1.tgz",
1899 | "integrity": "sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==",
1900 | "dev": true,
1901 | "engines": {
1902 | "node": "^12.20 || ^14.13.1 || >= 16"
1903 | },
1904 | "peerDependencies": {
1905 | "svelte": ">=3.19.0"
1906 | }
1907 | },
1908 | "node_modules/svelte-icons-pack": {
1909 | "version": "2.0.0",
1910 | "resolved": "https://registry.npmjs.org/svelte-icons-pack/-/svelte-icons-pack-2.0.0.tgz",
1911 | "integrity": "sha512-B0EjVQrdURQCY/n//vBmJA/cbrT6ngv6Ja4FXVXUlZjcSKhoXpIgmcQQ0lPH5PpCcJNKbDQYyxPnUW1KTrkWJA=="
1912 | },
1913 | "node_modules/svelte-writable-derived": {
1914 | "version": "2.1.6",
1915 | "resolved": "https://registry.npmjs.org/svelte-writable-derived/-/svelte-writable-derived-2.1.6.tgz",
1916 | "integrity": "sha512-vqOXuiESMZyP/kt/RD+nOk2RVHNakDm1K1hmfeGAKc4jzcSp5hEkUi43MDbkVlMurkSBlcMVTQwRQy4LcBT2lw==",
1917 | "funding": {
1918 | "url": "https://ko-fi.com/pixievoltno1"
1919 | },
1920 | "peerDependencies": {
1921 | "svelte": "^3.2.1"
1922 | }
1923 | },
1924 | "node_modules/text-table": {
1925 | "version": "0.2.0",
1926 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
1927 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
1928 | "dev": true
1929 | },
1930 | "node_modules/tiny-glob": {
1931 | "version": "0.2.9",
1932 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
1933 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
1934 | "dev": true,
1935 | "dependencies": {
1936 | "globalyzer": "0.1.0",
1937 | "globrex": "^0.1.2"
1938 | }
1939 | },
1940 | "node_modules/totalist": {
1941 | "version": "3.0.0",
1942 | "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz",
1943 | "integrity": "sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==",
1944 | "dev": true,
1945 | "engines": {
1946 | "node": ">=6"
1947 | }
1948 | },
1949 | "node_modules/type-check": {
1950 | "version": "0.4.0",
1951 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
1952 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
1953 | "dev": true,
1954 | "dependencies": {
1955 | "prelude-ls": "^1.2.1"
1956 | },
1957 | "engines": {
1958 | "node": ">= 0.8.0"
1959 | }
1960 | },
1961 | "node_modules/type-fest": {
1962 | "version": "0.20.2",
1963 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
1964 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
1965 | "dev": true,
1966 | "engines": {
1967 | "node": ">=10"
1968 | },
1969 | "funding": {
1970 | "url": "https://github.com/sponsors/sindresorhus"
1971 | }
1972 | },
1973 | "node_modules/undici": {
1974 | "version": "5.14.0",
1975 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.14.0.tgz",
1976 | "integrity": "sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==",
1977 | "dev": true,
1978 | "dependencies": {
1979 | "busboy": "^1.6.0"
1980 | },
1981 | "engines": {
1982 | "node": ">=12.18"
1983 | }
1984 | },
1985 | "node_modules/uri-js": {
1986 | "version": "4.4.1",
1987 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1988 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1989 | "dev": true,
1990 | "dependencies": {
1991 | "punycode": "^2.1.0"
1992 | }
1993 | },
1994 | "node_modules/vite": {
1995 | "version": "4.0.4",
1996 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
1997 | "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
1998 | "dev": true,
1999 | "dependencies": {
2000 | "esbuild": "^0.16.3",
2001 | "postcss": "^8.4.20",
2002 | "resolve": "^1.22.1",
2003 | "rollup": "^3.7.0"
2004 | },
2005 | "bin": {
2006 | "vite": "bin/vite.js"
2007 | },
2008 | "engines": {
2009 | "node": "^14.18.0 || >=16.0.0"
2010 | },
2011 | "optionalDependencies": {
2012 | "fsevents": "~2.3.2"
2013 | },
2014 | "peerDependencies": {
2015 | "@types/node": ">= 14",
2016 | "less": "*",
2017 | "sass": "*",
2018 | "stylus": "*",
2019 | "sugarss": "*",
2020 | "terser": "^5.4.0"
2021 | },
2022 | "peerDependenciesMeta": {
2023 | "@types/node": {
2024 | "optional": true
2025 | },
2026 | "less": {
2027 | "optional": true
2028 | },
2029 | "sass": {
2030 | "optional": true
2031 | },
2032 | "stylus": {
2033 | "optional": true
2034 | },
2035 | "sugarss": {
2036 | "optional": true
2037 | },
2038 | "terser": {
2039 | "optional": true
2040 | }
2041 | }
2042 | },
2043 | "node_modules/vitefu": {
2044 | "version": "0.2.4",
2045 | "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
2046 | "integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==",
2047 | "dev": true,
2048 | "peerDependencies": {
2049 | "vite": "^3.0.0 || ^4.0.0"
2050 | },
2051 | "peerDependenciesMeta": {
2052 | "vite": {
2053 | "optional": true
2054 | }
2055 | }
2056 | },
2057 | "node_modules/which": {
2058 | "version": "2.0.2",
2059 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2060 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2061 | "dev": true,
2062 | "dependencies": {
2063 | "isexe": "^2.0.0"
2064 | },
2065 | "bin": {
2066 | "node-which": "bin/node-which"
2067 | },
2068 | "engines": {
2069 | "node": ">= 8"
2070 | }
2071 | },
2072 | "node_modules/word-wrap": {
2073 | "version": "1.2.3",
2074 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
2075 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
2076 | "dev": true,
2077 | "engines": {
2078 | "node": ">=0.10.0"
2079 | }
2080 | },
2081 | "node_modules/wrappy": {
2082 | "version": "1.0.2",
2083 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2084 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2085 | "dev": true
2086 | },
2087 | "node_modules/yocto-queue": {
2088 | "version": "0.1.0",
2089 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
2090 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
2091 | "dev": true,
2092 | "engines": {
2093 | "node": ">=10"
2094 | },
2095 | "funding": {
2096 | "url": "https://github.com/sponsors/sindresorhus"
2097 | }
2098 | }
2099 | },
2100 | "dependencies": {
2101 | "@esbuild/android-arm": {
2102 | "version": "0.16.14",
2103 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.14.tgz",
2104 | "integrity": "sha512-u0rITLxFIeYAvtJXBQNhNuV4YZe+MD1YvIWT7Nicj8hZAtRVZk2PgNH6KclcKDVHz1ChLKXRfX7d7tkbQBUfrg==",
2105 | "dev": true,
2106 | "optional": true
2107 | },
2108 | "@esbuild/android-arm64": {
2109 | "version": "0.16.14",
2110 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.14.tgz",
2111 | "integrity": "sha512-hTqB6Iq13pW4xaydeqQrs8vPntUnMjbkq+PgGiBMi69eYk74naG2ftHWqKnxn874kNrt5Or3rQ0PJutx2doJuQ==",
2112 | "dev": true,
2113 | "optional": true
2114 | },
2115 | "@esbuild/android-x64": {
2116 | "version": "0.16.14",
2117 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.14.tgz",
2118 | "integrity": "sha512-jir51K4J0K5Rt0KOcippjSNdOl7akKDVz5I6yrqdk4/m9y+rldGptQUF7qU4YpX8U61LtR+w2Tu2Ph+K/UaJOw==",
2119 | "dev": true,
2120 | "optional": true
2121 | },
2122 | "@esbuild/darwin-arm64": {
2123 | "version": "0.16.14",
2124 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.14.tgz",
2125 | "integrity": "sha512-vrlaP81IuwPaw1fyX8fHCmivP3Gr73ojVEZy+oWJLAiZVcG8o8Phwun/XDnYIFUHxIoUnMFEpg9o38MIvlw8zw==",
2126 | "dev": true,
2127 | "optional": true
2128 | },
2129 | "@esbuild/darwin-x64": {
2130 | "version": "0.16.14",
2131 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.14.tgz",
2132 | "integrity": "sha512-KV1E01eC2hGYA2qzFDRCK4wdZCRUvMwCNcobgpiiOzp5QXpJBqFPdxI69j8vvzuU7oxFXDgANwEkXvpeQqyOyg==",
2133 | "dev": true,
2134 | "optional": true
2135 | },
2136 | "@esbuild/freebsd-arm64": {
2137 | "version": "0.16.14",
2138 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.14.tgz",
2139 | "integrity": "sha512-xRM1RQsazSvL42BNa5XC7ytD4ZDp0ZyJcH7aB0SlYUcHexJUKiDNKR7dlRVlpt6W0DvoRPU2nWK/9/QWS4u2fw==",
2140 | "dev": true,
2141 | "optional": true
2142 | },
2143 | "@esbuild/freebsd-x64": {
2144 | "version": "0.16.14",
2145 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.14.tgz",
2146 | "integrity": "sha512-7ALTAn6YRRf1O6fw9jmn0rWmOx3XfwDo7njGtjy1LXhDGUjTY/vohEPM3ii5MQ411vJv1r498EEx2aBQTJcrEw==",
2147 | "dev": true,
2148 | "optional": true
2149 | },
2150 | "@esbuild/linux-arm": {
2151 | "version": "0.16.14",
2152 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.14.tgz",
2153 | "integrity": "sha512-X6xULug66ulrr4IzrW7qq+eq9n4MtEyagdWvj4o4cmWr+JXOT47atjpDF9j5M2zHY0UQBmqnHhwl+tXpkpIb2w==",
2154 | "dev": true,
2155 | "optional": true
2156 | },
2157 | "@esbuild/linux-arm64": {
2158 | "version": "0.16.14",
2159 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.14.tgz",
2160 | "integrity": "sha512-TLh2OcbBUQcMYRH4GbiDkDZfZ4t1A3GgmeXY27dHSI6xrU7IkO00MGBiJySmEV6sH3Wa6pAN6UtaVL0DwkGW4Q==",
2161 | "dev": true,
2162 | "optional": true
2163 | },
2164 | "@esbuild/linux-ia32": {
2165 | "version": "0.16.14",
2166 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.14.tgz",
2167 | "integrity": "sha512-oBZkcZ56UZDFCAfE3Fd/Jgy10EoS7Td77NzNGenM+HSY8BkdQAcI9VF9qgwdOLZ+tuftWD7UqZ26SAhtvA3XhA==",
2168 | "dev": true,
2169 | "optional": true
2170 | },
2171 | "@esbuild/linux-loong64": {
2172 | "version": "0.16.14",
2173 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.14.tgz",
2174 | "integrity": "sha512-udz/aEHTcuHP+xdWOJmZ5C9RQXHfZd/EhCnTi1Hfay37zH3lBxn/fNs85LA9HlsniFw2zccgcbrrTMKk7Cn1Qg==",
2175 | "dev": true,
2176 | "optional": true
2177 | },
2178 | "@esbuild/linux-mips64el": {
2179 | "version": "0.16.14",
2180 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.14.tgz",
2181 | "integrity": "sha512-kJ2iEnikUOdC1SiTGbH0fJUgpZwa0ITDTvj9EHf9lm3I0hZ4Yugsb3M6XSl696jVxrEocLe519/8CbSpQWFSrg==",
2182 | "dev": true,
2183 | "optional": true
2184 | },
2185 | "@esbuild/linux-ppc64": {
2186 | "version": "0.16.14",
2187 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.14.tgz",
2188 | "integrity": "sha512-kclKxvZvX5YhykwlJ/K9ljiY4THe5vXubXpWmr7q3Zu3WxKnUe1VOZmhkEZlqtnJx31GHPEV4SIG95IqTdfgfg==",
2189 | "dev": true,
2190 | "optional": true
2191 | },
2192 | "@esbuild/linux-riscv64": {
2193 | "version": "0.16.14",
2194 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.14.tgz",
2195 | "integrity": "sha512-fdwP9Dc+Kx/cZwp9T9kNqjAE/PQjfrxbio4rZ3XnC3cVvZBjuxpkiyu/tuCwt6SbAK5th6AYNjFdEV9kGC020A==",
2196 | "dev": true,
2197 | "optional": true
2198 | },
2199 | "@esbuild/linux-s390x": {
2200 | "version": "0.16.14",
2201 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.14.tgz",
2202 | "integrity": "sha512-++fw3P4fQk9nqvdzbANRqimKspL8pDCnSpXomyhV7V/ISha/BZIYvZwLBWVKp9CVWKwWPJ4ktsezuLIvlJRHqA==",
2203 | "dev": true,
2204 | "optional": true
2205 | },
2206 | "@esbuild/linux-x64": {
2207 | "version": "0.16.14",
2208 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.14.tgz",
2209 | "integrity": "sha512-TomtswAuzBf2NnddlrS4W01Tv85RM9YtATB3OugY6On0PLM4Ksz5qvQKVAjtzPKoLgL1FiZtfc8mkZc4IgoMEA==",
2210 | "dev": true,
2211 | "optional": true
2212 | },
2213 | "@esbuild/netbsd-x64": {
2214 | "version": "0.16.14",
2215 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.14.tgz",
2216 | "integrity": "sha512-U06pfx8P5CqyoPNfqIJmnf+5/r4mJ1S62G4zE6eOjS59naQcxi6GnscUCPH3b+hRG0qdKoGX49RAyiqW+M9aSw==",
2217 | "dev": true,
2218 | "optional": true
2219 | },
2220 | "@esbuild/openbsd-x64": {
2221 | "version": "0.16.14",
2222 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.14.tgz",
2223 | "integrity": "sha512-/Jl8XVaWEZNu9rZw+n792GIBupQwHo6GDoapHSb/2xp/Ku28eK6QpR2O9cPBkzHH4OOoMH0LB6zg/qczJ5TTGg==",
2224 | "dev": true,
2225 | "optional": true
2226 | },
2227 | "@esbuild/sunos-x64": {
2228 | "version": "0.16.14",
2229 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.14.tgz",
2230 | "integrity": "sha512-2iI7D34uTbDn/TaSiUbEHz+fUa8KbN90vX5yYqo12QGpu6T8Jl+kxODsWuMCwoTVlqUpwfPV22nBbFPME9OPtw==",
2231 | "dev": true,
2232 | "optional": true
2233 | },
2234 | "@esbuild/win32-arm64": {
2235 | "version": "0.16.14",
2236 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.14.tgz",
2237 | "integrity": "sha512-SjlM7AHmQVTiGBJE/nqauY1aDh80UBsXZ94g4g60CDkrDMseatiqALVcIuElg4ZSYzJs8hsg5W6zS2zLpZTVgg==",
2238 | "dev": true,
2239 | "optional": true
2240 | },
2241 | "@esbuild/win32-ia32": {
2242 | "version": "0.16.14",
2243 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.14.tgz",
2244 | "integrity": "sha512-z06t5zqk8ak0Xom5HG81z2iOQ1hNWYsFQp3sczVLVx+dctWdgl80tNRyTbwjaFfui2vFO12dfE3trCTvA+HO4g==",
2245 | "dev": true,
2246 | "optional": true
2247 | },
2248 | "@esbuild/win32-x64": {
2249 | "version": "0.16.14",
2250 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.14.tgz",
2251 | "integrity": "sha512-ED1UpWcM6lAbalbbQ9TrGqJh4Y9TaASUvu8bI/0mgJcxhSByJ6rbpgqRhxYMaQ682WfA71nxUreaTO7L275zrw==",
2252 | "dev": true,
2253 | "optional": true
2254 | },
2255 | "@eslint/eslintrc": {
2256 | "version": "1.4.1",
2257 | "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz",
2258 | "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==",
2259 | "dev": true,
2260 | "requires": {
2261 | "ajv": "^6.12.4",
2262 | "debug": "^4.3.2",
2263 | "espree": "^9.4.0",
2264 | "globals": "^13.19.0",
2265 | "ignore": "^5.2.0",
2266 | "import-fresh": "^3.2.1",
2267 | "js-yaml": "^4.1.0",
2268 | "minimatch": "^3.1.2",
2269 | "strip-json-comments": "^3.1.1"
2270 | }
2271 | },
2272 | "@humanwhocodes/config-array": {
2273 | "version": "0.11.8",
2274 | "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz",
2275 | "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==",
2276 | "dev": true,
2277 | "requires": {
2278 | "@humanwhocodes/object-schema": "^1.2.1",
2279 | "debug": "^4.1.1",
2280 | "minimatch": "^3.0.5"
2281 | }
2282 | },
2283 | "@humanwhocodes/module-importer": {
2284 | "version": "1.0.1",
2285 | "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz",
2286 | "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==",
2287 | "dev": true
2288 | },
2289 | "@humanwhocodes/object-schema": {
2290 | "version": "1.2.1",
2291 | "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
2292 | "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
2293 | "dev": true
2294 | },
2295 | "@jridgewell/sourcemap-codec": {
2296 | "version": "1.4.14",
2297 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
2298 | "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==",
2299 | "dev": true
2300 | },
2301 | "@nodelib/fs.scandir": {
2302 | "version": "2.1.5",
2303 | "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
2304 | "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
2305 | "dev": true,
2306 | "requires": {
2307 | "@nodelib/fs.stat": "2.0.5",
2308 | "run-parallel": "^1.1.9"
2309 | }
2310 | },
2311 | "@nodelib/fs.stat": {
2312 | "version": "2.0.5",
2313 | "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
2314 | "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
2315 | "dev": true
2316 | },
2317 | "@nodelib/fs.walk": {
2318 | "version": "1.2.8",
2319 | "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
2320 | "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
2321 | "dev": true,
2322 | "requires": {
2323 | "@nodelib/fs.scandir": "2.1.5",
2324 | "fastq": "^1.6.0"
2325 | }
2326 | },
2327 | "@polka/url": {
2328 | "version": "1.0.0-next.21",
2329 | "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz",
2330 | "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==",
2331 | "dev": true
2332 | },
2333 | "@sveltejs/adapter-auto": {
2334 | "version": "1.0.0",
2335 | "resolved": "https://registry.npmjs.org/@sveltejs/adapter-auto/-/adapter-auto-1.0.0.tgz",
2336 | "integrity": "sha512-yKyPvlLVua1bJ/42FrR3X041mFGdB4GzTZOAEoHUcNBRE5Mhx94+eqHpC3hNvAOiLEDcKfVO0ObyKSu7qldU+w==",
2337 | "dev": true,
2338 | "requires": {
2339 | "import-meta-resolve": "^2.2.0"
2340 | }
2341 | },
2342 | "@sveltejs/kit": {
2343 | "version": "1.0.3",
2344 | "resolved": "https://registry.npmjs.org/@sveltejs/kit/-/kit-1.0.3.tgz",
2345 | "integrity": "sha512-Mv6KSeJTvHC6RIuLDMPZ8E60zafmyMHjjoXXKwRnD0gdTGdNqnkTd8D9KdJe6zOKKkz7ccldbCtsWW4/XPwgmg==",
2346 | "dev": true,
2347 | "requires": {
2348 | "@sveltejs/vite-plugin-svelte": "^2.0.0",
2349 | "@types/cookie": "^0.5.1",
2350 | "cookie": "^0.5.0",
2351 | "devalue": "^4.2.0",
2352 | "esm-env": "^1.0.0",
2353 | "kleur": "^4.1.5",
2354 | "magic-string": "^0.27.0",
2355 | "mime": "^3.0.0",
2356 | "sade": "^1.8.1",
2357 | "set-cookie-parser": "^2.5.1",
2358 | "sirv": "^2.0.2",
2359 | "tiny-glob": "^0.2.9",
2360 | "undici": "5.14.0"
2361 | }
2362 | },
2363 | "@sveltejs/vite-plugin-svelte": {
2364 | "version": "2.0.2",
2365 | "resolved": "https://registry.npmjs.org/@sveltejs/vite-plugin-svelte/-/vite-plugin-svelte-2.0.2.tgz",
2366 | "integrity": "sha512-xCEan0/NNpQuL0l5aS42FjwQ6wwskdxC3pW1OeFtEKNZwRg7Evro9lac9HesGP6TdFsTv2xMes5ASQVKbCacxg==",
2367 | "dev": true,
2368 | "requires": {
2369 | "debug": "^4.3.4",
2370 | "deepmerge": "^4.2.2",
2371 | "kleur": "^4.1.5",
2372 | "magic-string": "^0.27.0",
2373 | "svelte-hmr": "^0.15.1",
2374 | "vitefu": "^0.2.3"
2375 | }
2376 | },
2377 | "@types/cookie": {
2378 | "version": "0.5.1",
2379 | "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.5.1.tgz",
2380 | "integrity": "sha512-COUnqfB2+ckwXXSFInsFdOAWQzCCx+a5hq2ruyj+Vjund94RJQd4LG2u9hnvJrTgunKAaax7ancBYlDrNYxA0g==",
2381 | "dev": true
2382 | },
2383 | "acorn": {
2384 | "version": "8.8.1",
2385 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.1.tgz",
2386 | "integrity": "sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==",
2387 | "dev": true
2388 | },
2389 | "acorn-jsx": {
2390 | "version": "5.3.2",
2391 | "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
2392 | "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
2393 | "dev": true,
2394 | "requires": {}
2395 | },
2396 | "ajv": {
2397 | "version": "6.12.6",
2398 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
2399 | "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
2400 | "dev": true,
2401 | "requires": {
2402 | "fast-deep-equal": "^3.1.1",
2403 | "fast-json-stable-stringify": "^2.0.0",
2404 | "json-schema-traverse": "^0.4.1",
2405 | "uri-js": "^4.2.2"
2406 | }
2407 | },
2408 | "ansi-regex": {
2409 | "version": "5.0.1",
2410 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
2411 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
2412 | "dev": true
2413 | },
2414 | "ansi-styles": {
2415 | "version": "4.3.0",
2416 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
2417 | "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
2418 | "dev": true,
2419 | "requires": {
2420 | "color-convert": "^2.0.1"
2421 | }
2422 | },
2423 | "argparse": {
2424 | "version": "2.0.1",
2425 | "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
2426 | "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
2427 | "dev": true
2428 | },
2429 | "balanced-match": {
2430 | "version": "1.0.2",
2431 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
2432 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
2433 | "dev": true
2434 | },
2435 | "brace-expansion": {
2436 | "version": "1.1.11",
2437 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
2438 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
2439 | "dev": true,
2440 | "requires": {
2441 | "balanced-match": "^1.0.0",
2442 | "concat-map": "0.0.1"
2443 | }
2444 | },
2445 | "busboy": {
2446 | "version": "1.6.0",
2447 | "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz",
2448 | "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==",
2449 | "dev": true,
2450 | "requires": {
2451 | "streamsearch": "^1.1.0"
2452 | }
2453 | },
2454 | "callsites": {
2455 | "version": "3.1.0",
2456 | "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
2457 | "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
2458 | "dev": true
2459 | },
2460 | "chalk": {
2461 | "version": "4.1.2",
2462 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
2463 | "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
2464 | "dev": true,
2465 | "requires": {
2466 | "ansi-styles": "^4.1.0",
2467 | "supports-color": "^7.1.0"
2468 | }
2469 | },
2470 | "color-convert": {
2471 | "version": "2.0.1",
2472 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
2473 | "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
2474 | "dev": true,
2475 | "requires": {
2476 | "color-name": "~1.1.4"
2477 | }
2478 | },
2479 | "color-name": {
2480 | "version": "1.1.4",
2481 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
2482 | "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
2483 | "dev": true
2484 | },
2485 | "concat-map": {
2486 | "version": "0.0.1",
2487 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
2488 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
2489 | "dev": true
2490 | },
2491 | "cookie": {
2492 | "version": "0.5.0",
2493 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
2494 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
2495 | "dev": true
2496 | },
2497 | "cross-spawn": {
2498 | "version": "7.0.3",
2499 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
2500 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
2501 | "dev": true,
2502 | "requires": {
2503 | "path-key": "^3.1.0",
2504 | "shebang-command": "^2.0.0",
2505 | "which": "^2.0.1"
2506 | }
2507 | },
2508 | "debug": {
2509 | "version": "4.3.4",
2510 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
2511 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
2512 | "dev": true,
2513 | "requires": {
2514 | "ms": "2.1.2"
2515 | }
2516 | },
2517 | "deep-is": {
2518 | "version": "0.1.4",
2519 | "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
2520 | "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==",
2521 | "dev": true
2522 | },
2523 | "deepmerge": {
2524 | "version": "4.2.2",
2525 | "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
2526 | "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
2527 | "dev": true
2528 | },
2529 | "devalue": {
2530 | "version": "4.2.0",
2531 | "resolved": "https://registry.npmjs.org/devalue/-/devalue-4.2.0.tgz",
2532 | "integrity": "sha512-mbjoAaCL2qogBKgeFxFPOXAUsZchircF+B/79LD4sHH0+NHfYm8gZpQrskKDn5gENGt35+5OI1GUF7hLVnkPDw==",
2533 | "dev": true
2534 | },
2535 | "doctrine": {
2536 | "version": "3.0.0",
2537 | "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
2538 | "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
2539 | "dev": true,
2540 | "requires": {
2541 | "esutils": "^2.0.2"
2542 | }
2543 | },
2544 | "esbuild": {
2545 | "version": "0.16.14",
2546 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.14.tgz",
2547 | "integrity": "sha512-6xAn3O6ZZyoxZAEkwfI9hw4cEqSr/o1ViJtnkvImVkblmUN65Md04o0S/7H1WNu1XGf1Cjij/on7VO4psIYjkw==",
2548 | "dev": true,
2549 | "requires": {
2550 | "@esbuild/android-arm": "0.16.14",
2551 | "@esbuild/android-arm64": "0.16.14",
2552 | "@esbuild/android-x64": "0.16.14",
2553 | "@esbuild/darwin-arm64": "0.16.14",
2554 | "@esbuild/darwin-x64": "0.16.14",
2555 | "@esbuild/freebsd-arm64": "0.16.14",
2556 | "@esbuild/freebsd-x64": "0.16.14",
2557 | "@esbuild/linux-arm": "0.16.14",
2558 | "@esbuild/linux-arm64": "0.16.14",
2559 | "@esbuild/linux-ia32": "0.16.14",
2560 | "@esbuild/linux-loong64": "0.16.14",
2561 | "@esbuild/linux-mips64el": "0.16.14",
2562 | "@esbuild/linux-ppc64": "0.16.14",
2563 | "@esbuild/linux-riscv64": "0.16.14",
2564 | "@esbuild/linux-s390x": "0.16.14",
2565 | "@esbuild/linux-x64": "0.16.14",
2566 | "@esbuild/netbsd-x64": "0.16.14",
2567 | "@esbuild/openbsd-x64": "0.16.14",
2568 | "@esbuild/sunos-x64": "0.16.14",
2569 | "@esbuild/win32-arm64": "0.16.14",
2570 | "@esbuild/win32-ia32": "0.16.14",
2571 | "@esbuild/win32-x64": "0.16.14"
2572 | }
2573 | },
2574 | "escape-string-regexp": {
2575 | "version": "4.0.0",
2576 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
2577 | "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
2578 | "dev": true
2579 | },
2580 | "eslint": {
2581 | "version": "8.31.0",
2582 | "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.31.0.tgz",
2583 | "integrity": "sha512-0tQQEVdmPZ1UtUKXjX7EMm9BlgJ08G90IhWh0PKDCb3ZLsgAOHI8fYSIzYVZej92zsgq+ft0FGsxhJ3xo2tbuA==",
2584 | "dev": true,
2585 | "requires": {
2586 | "@eslint/eslintrc": "^1.4.1",
2587 | "@humanwhocodes/config-array": "^0.11.8",
2588 | "@humanwhocodes/module-importer": "^1.0.1",
2589 | "@nodelib/fs.walk": "^1.2.8",
2590 | "ajv": "^6.10.0",
2591 | "chalk": "^4.0.0",
2592 | "cross-spawn": "^7.0.2",
2593 | "debug": "^4.3.2",
2594 | "doctrine": "^3.0.0",
2595 | "escape-string-regexp": "^4.0.0",
2596 | "eslint-scope": "^7.1.1",
2597 | "eslint-utils": "^3.0.0",
2598 | "eslint-visitor-keys": "^3.3.0",
2599 | "espree": "^9.4.0",
2600 | "esquery": "^1.4.0",
2601 | "esutils": "^2.0.2",
2602 | "fast-deep-equal": "^3.1.3",
2603 | "file-entry-cache": "^6.0.1",
2604 | "find-up": "^5.0.0",
2605 | "glob-parent": "^6.0.2",
2606 | "globals": "^13.19.0",
2607 | "grapheme-splitter": "^1.0.4",
2608 | "ignore": "^5.2.0",
2609 | "import-fresh": "^3.0.0",
2610 | "imurmurhash": "^0.1.4",
2611 | "is-glob": "^4.0.0",
2612 | "is-path-inside": "^3.0.3",
2613 | "js-sdsl": "^4.1.4",
2614 | "js-yaml": "^4.1.0",
2615 | "json-stable-stringify-without-jsonify": "^1.0.1",
2616 | "levn": "^0.4.1",
2617 | "lodash.merge": "^4.6.2",
2618 | "minimatch": "^3.1.2",
2619 | "natural-compare": "^1.4.0",
2620 | "optionator": "^0.9.1",
2621 | "regexpp": "^3.2.0",
2622 | "strip-ansi": "^6.0.1",
2623 | "strip-json-comments": "^3.1.0",
2624 | "text-table": "^0.2.0"
2625 | }
2626 | },
2627 | "eslint-config-prettier": {
2628 | "version": "8.6.0",
2629 | "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.6.0.tgz",
2630 | "integrity": "sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==",
2631 | "dev": true,
2632 | "requires": {}
2633 | },
2634 | "eslint-plugin-svelte3": {
2635 | "version": "4.0.0",
2636 | "resolved": "https://registry.npmjs.org/eslint-plugin-svelte3/-/eslint-plugin-svelte3-4.0.0.tgz",
2637 | "integrity": "sha512-OIx9lgaNzD02+MDFNLw0GEUbuovNcglg+wnd/UY0fbZmlQSz7GlQiQ1f+yX0XvC07XPcDOnFcichqI3xCwp71g==",
2638 | "dev": true,
2639 | "requires": {}
2640 | },
2641 | "eslint-scope": {
2642 | "version": "7.1.1",
2643 | "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
2644 | "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
2645 | "dev": true,
2646 | "requires": {
2647 | "esrecurse": "^4.3.0",
2648 | "estraverse": "^5.2.0"
2649 | }
2650 | },
2651 | "eslint-utils": {
2652 | "version": "3.0.0",
2653 | "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
2654 | "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
2655 | "dev": true,
2656 | "requires": {
2657 | "eslint-visitor-keys": "^2.0.0"
2658 | },
2659 | "dependencies": {
2660 | "eslint-visitor-keys": {
2661 | "version": "2.1.0",
2662 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
2663 | "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
2664 | "dev": true
2665 | }
2666 | }
2667 | },
2668 | "eslint-visitor-keys": {
2669 | "version": "3.3.0",
2670 | "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
2671 | "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
2672 | "dev": true
2673 | },
2674 | "esm-env": {
2675 | "version": "1.0.0",
2676 | "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.0.0.tgz",
2677 | "integrity": "sha512-Cf6VksWPsTuW01vU9Mk/3vRue91Zevka5SjyNf3nEpokFRuqt/KjUQoGAwq9qMmhpLTHmXzSIrFRw8zxWzmFBA==",
2678 | "dev": true
2679 | },
2680 | "espree": {
2681 | "version": "9.4.1",
2682 | "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz",
2683 | "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==",
2684 | "dev": true,
2685 | "requires": {
2686 | "acorn": "^8.8.0",
2687 | "acorn-jsx": "^5.3.2",
2688 | "eslint-visitor-keys": "^3.3.0"
2689 | }
2690 | },
2691 | "esquery": {
2692 | "version": "1.4.0",
2693 | "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
2694 | "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
2695 | "dev": true,
2696 | "requires": {
2697 | "estraverse": "^5.1.0"
2698 | }
2699 | },
2700 | "esrecurse": {
2701 | "version": "4.3.0",
2702 | "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
2703 | "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
2704 | "dev": true,
2705 | "requires": {
2706 | "estraverse": "^5.2.0"
2707 | }
2708 | },
2709 | "estraverse": {
2710 | "version": "5.3.0",
2711 | "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
2712 | "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
2713 | "dev": true
2714 | },
2715 | "esutils": {
2716 | "version": "2.0.3",
2717 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
2718 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
2719 | "dev": true
2720 | },
2721 | "fast-deep-equal": {
2722 | "version": "3.1.3",
2723 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
2724 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
2725 | "dev": true
2726 | },
2727 | "fast-json-stable-stringify": {
2728 | "version": "2.1.0",
2729 | "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
2730 | "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
2731 | "dev": true
2732 | },
2733 | "fast-levenshtein": {
2734 | "version": "2.0.6",
2735 | "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
2736 | "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
2737 | "dev": true
2738 | },
2739 | "fastq": {
2740 | "version": "1.15.0",
2741 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
2742 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
2743 | "dev": true,
2744 | "requires": {
2745 | "reusify": "^1.0.4"
2746 | }
2747 | },
2748 | "file-entry-cache": {
2749 | "version": "6.0.1",
2750 | "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
2751 | "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
2752 | "dev": true,
2753 | "requires": {
2754 | "flat-cache": "^3.0.4"
2755 | }
2756 | },
2757 | "find-up": {
2758 | "version": "5.0.0",
2759 | "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
2760 | "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
2761 | "dev": true,
2762 | "requires": {
2763 | "locate-path": "^6.0.0",
2764 | "path-exists": "^4.0.0"
2765 | }
2766 | },
2767 | "flat-cache": {
2768 | "version": "3.0.4",
2769 | "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
2770 | "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
2771 | "dev": true,
2772 | "requires": {
2773 | "flatted": "^3.1.0",
2774 | "rimraf": "^3.0.2"
2775 | }
2776 | },
2777 | "flatted": {
2778 | "version": "3.2.7",
2779 | "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
2780 | "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
2781 | "dev": true
2782 | },
2783 | "fs.realpath": {
2784 | "version": "1.0.0",
2785 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
2786 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
2787 | "dev": true
2788 | },
2789 | "fsevents": {
2790 | "version": "2.3.2",
2791 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
2792 | "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
2793 | "dev": true,
2794 | "optional": true
2795 | },
2796 | "function-bind": {
2797 | "version": "1.1.1",
2798 | "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
2799 | "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
2800 | "dev": true
2801 | },
2802 | "glob": {
2803 | "version": "7.2.3",
2804 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
2805 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
2806 | "dev": true,
2807 | "requires": {
2808 | "fs.realpath": "^1.0.0",
2809 | "inflight": "^1.0.4",
2810 | "inherits": "2",
2811 | "minimatch": "^3.1.1",
2812 | "once": "^1.3.0",
2813 | "path-is-absolute": "^1.0.0"
2814 | }
2815 | },
2816 | "glob-parent": {
2817 | "version": "6.0.2",
2818 | "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
2819 | "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
2820 | "dev": true,
2821 | "requires": {
2822 | "is-glob": "^4.0.3"
2823 | }
2824 | },
2825 | "globals": {
2826 | "version": "13.19.0",
2827 | "resolved": "https://registry.npmjs.org/globals/-/globals-13.19.0.tgz",
2828 | "integrity": "sha512-dkQ957uSRWHw7CFXLUtUHQI3g3aWApYhfNR2O6jn/907riyTYKVBmxYVROkBcY614FSSeSJh7Xm7SrUWCxvJMQ==",
2829 | "dev": true,
2830 | "requires": {
2831 | "type-fest": "^0.20.2"
2832 | }
2833 | },
2834 | "globalyzer": {
2835 | "version": "0.1.0",
2836 | "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz",
2837 | "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==",
2838 | "dev": true
2839 | },
2840 | "globrex": {
2841 | "version": "0.1.2",
2842 | "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz",
2843 | "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==",
2844 | "dev": true
2845 | },
2846 | "grapheme-splitter": {
2847 | "version": "1.0.4",
2848 | "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz",
2849 | "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==",
2850 | "dev": true
2851 | },
2852 | "has": {
2853 | "version": "1.0.3",
2854 | "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
2855 | "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
2856 | "dev": true,
2857 | "requires": {
2858 | "function-bind": "^1.1.1"
2859 | }
2860 | },
2861 | "has-flag": {
2862 | "version": "4.0.0",
2863 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
2864 | "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
2865 | "dev": true
2866 | },
2867 | "ignore": {
2868 | "version": "5.2.4",
2869 | "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
2870 | "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==",
2871 | "dev": true
2872 | },
2873 | "import-fresh": {
2874 | "version": "3.3.0",
2875 | "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
2876 | "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
2877 | "dev": true,
2878 | "requires": {
2879 | "parent-module": "^1.0.0",
2880 | "resolve-from": "^4.0.0"
2881 | }
2882 | },
2883 | "import-meta-resolve": {
2884 | "version": "2.2.0",
2885 | "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.0.tgz",
2886 | "integrity": "sha512-CpPOtiCHxP9HdtDM5F45tNiAe66Cqlv3f5uHoJjt+KlaLrUh9/Wz9vepADZ78SlqEo62aDWZtj9ydMGXV+CPnw==",
2887 | "dev": true
2888 | },
2889 | "imurmurhash": {
2890 | "version": "0.1.4",
2891 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
2892 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
2893 | "dev": true
2894 | },
2895 | "inflight": {
2896 | "version": "1.0.6",
2897 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
2898 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
2899 | "dev": true,
2900 | "requires": {
2901 | "once": "^1.3.0",
2902 | "wrappy": "1"
2903 | }
2904 | },
2905 | "inherits": {
2906 | "version": "2.0.4",
2907 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
2908 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
2909 | "dev": true
2910 | },
2911 | "is-core-module": {
2912 | "version": "2.11.0",
2913 | "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
2914 | "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
2915 | "dev": true,
2916 | "requires": {
2917 | "has": "^1.0.3"
2918 | }
2919 | },
2920 | "is-extglob": {
2921 | "version": "2.1.1",
2922 | "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
2923 | "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
2924 | "dev": true
2925 | },
2926 | "is-glob": {
2927 | "version": "4.0.3",
2928 | "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
2929 | "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
2930 | "dev": true,
2931 | "requires": {
2932 | "is-extglob": "^2.1.1"
2933 | }
2934 | },
2935 | "is-path-inside": {
2936 | "version": "3.0.3",
2937 | "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
2938 | "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
2939 | "dev": true
2940 | },
2941 | "isexe": {
2942 | "version": "2.0.0",
2943 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
2944 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
2945 | "dev": true
2946 | },
2947 | "js-sdsl": {
2948 | "version": "4.2.0",
2949 | "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.2.0.tgz",
2950 | "integrity": "sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==",
2951 | "dev": true
2952 | },
2953 | "js-yaml": {
2954 | "version": "4.1.0",
2955 | "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
2956 | "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
2957 | "dev": true,
2958 | "requires": {
2959 | "argparse": "^2.0.1"
2960 | }
2961 | },
2962 | "json-schema-traverse": {
2963 | "version": "0.4.1",
2964 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
2965 | "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
2966 | "dev": true
2967 | },
2968 | "json-stable-stringify-without-jsonify": {
2969 | "version": "1.0.1",
2970 | "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
2971 | "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
2972 | "dev": true
2973 | },
2974 | "kleur": {
2975 | "version": "4.1.5",
2976 | "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
2977 | "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
2978 | "dev": true
2979 | },
2980 | "levn": {
2981 | "version": "0.4.1",
2982 | "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
2983 | "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
2984 | "dev": true,
2985 | "requires": {
2986 | "prelude-ls": "^1.2.1",
2987 | "type-check": "~0.4.0"
2988 | }
2989 | },
2990 | "locate-path": {
2991 | "version": "6.0.0",
2992 | "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
2993 | "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
2994 | "dev": true,
2995 | "requires": {
2996 | "p-locate": "^5.0.0"
2997 | }
2998 | },
2999 | "lodash.merge": {
3000 | "version": "4.6.2",
3001 | "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
3002 | "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
3003 | "dev": true
3004 | },
3005 | "magic-string": {
3006 | "version": "0.27.0",
3007 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz",
3008 | "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==",
3009 | "dev": true,
3010 | "requires": {
3011 | "@jridgewell/sourcemap-codec": "^1.4.13"
3012 | }
3013 | },
3014 | "mime": {
3015 | "version": "3.0.0",
3016 | "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz",
3017 | "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==",
3018 | "dev": true
3019 | },
3020 | "minimatch": {
3021 | "version": "3.1.2",
3022 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
3023 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
3024 | "dev": true,
3025 | "requires": {
3026 | "brace-expansion": "^1.1.7"
3027 | }
3028 | },
3029 | "mri": {
3030 | "version": "1.2.0",
3031 | "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
3032 | "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
3033 | "dev": true
3034 | },
3035 | "mrmime": {
3036 | "version": "1.0.1",
3037 | "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz",
3038 | "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==",
3039 | "dev": true
3040 | },
3041 | "ms": {
3042 | "version": "2.1.2",
3043 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
3044 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
3045 | "dev": true
3046 | },
3047 | "nanoid": {
3048 | "version": "3.3.4",
3049 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
3050 | "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
3051 | "dev": true
3052 | },
3053 | "natural-compare": {
3054 | "version": "1.4.0",
3055 | "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
3056 | "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
3057 | "dev": true
3058 | },
3059 | "once": {
3060 | "version": "1.4.0",
3061 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
3062 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
3063 | "dev": true,
3064 | "requires": {
3065 | "wrappy": "1"
3066 | }
3067 | },
3068 | "optionator": {
3069 | "version": "0.9.1",
3070 | "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
3071 | "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
3072 | "dev": true,
3073 | "requires": {
3074 | "deep-is": "^0.1.3",
3075 | "fast-levenshtein": "^2.0.6",
3076 | "levn": "^0.4.1",
3077 | "prelude-ls": "^1.2.1",
3078 | "type-check": "^0.4.0",
3079 | "word-wrap": "^1.2.3"
3080 | }
3081 | },
3082 | "p-limit": {
3083 | "version": "3.1.0",
3084 | "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
3085 | "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
3086 | "dev": true,
3087 | "requires": {
3088 | "yocto-queue": "^0.1.0"
3089 | }
3090 | },
3091 | "p-locate": {
3092 | "version": "5.0.0",
3093 | "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
3094 | "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
3095 | "dev": true,
3096 | "requires": {
3097 | "p-limit": "^3.0.2"
3098 | }
3099 | },
3100 | "parent-module": {
3101 | "version": "1.0.1",
3102 | "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
3103 | "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
3104 | "dev": true,
3105 | "requires": {
3106 | "callsites": "^3.0.0"
3107 | }
3108 | },
3109 | "path-exists": {
3110 | "version": "4.0.0",
3111 | "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
3112 | "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
3113 | "dev": true
3114 | },
3115 | "path-is-absolute": {
3116 | "version": "1.0.1",
3117 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
3118 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
3119 | "dev": true
3120 | },
3121 | "path-key": {
3122 | "version": "3.1.1",
3123 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
3124 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
3125 | "dev": true
3126 | },
3127 | "path-parse": {
3128 | "version": "1.0.7",
3129 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
3130 | "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
3131 | "dev": true
3132 | },
3133 | "picocolors": {
3134 | "version": "1.0.0",
3135 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
3136 | "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
3137 | "dev": true
3138 | },
3139 | "pocketbase": {
3140 | "version": "0.9.1",
3141 | "resolved": "https://registry.npmjs.org/pocketbase/-/pocketbase-0.9.1.tgz",
3142 | "integrity": "sha512-a9S/WHak+mgr3WI8bD2tz3lFVFzoy6ZgKTBlUXwIH4VLTKVU3JKeAKxqIFBF7av4qblmB+52tX8sWLS08Ftm/w=="
3143 | },
3144 | "postcss": {
3145 | "version": "8.4.20",
3146 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.20.tgz",
3147 | "integrity": "sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==",
3148 | "dev": true,
3149 | "requires": {
3150 | "nanoid": "^3.3.4",
3151 | "picocolors": "^1.0.0",
3152 | "source-map-js": "^1.0.2"
3153 | }
3154 | },
3155 | "prelude-ls": {
3156 | "version": "1.2.1",
3157 | "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
3158 | "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
3159 | "dev": true
3160 | },
3161 | "prettier": {
3162 | "version": "2.8.1",
3163 | "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.1.tgz",
3164 | "integrity": "sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==",
3165 | "dev": true
3166 | },
3167 | "prettier-plugin-svelte": {
3168 | "version": "2.9.0",
3169 | "resolved": "https://registry.npmjs.org/prettier-plugin-svelte/-/prettier-plugin-svelte-2.9.0.tgz",
3170 | "integrity": "sha512-3doBi5NO4IVgaNPtwewvrgPpqAcvNv0NwJNflr76PIGgi9nf1oguQV1Hpdm9TI2ALIQVn/9iIwLpBO5UcD2Jiw==",
3171 | "dev": true,
3172 | "requires": {}
3173 | },
3174 | "punycode": {
3175 | "version": "2.1.1",
3176 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
3177 | "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
3178 | "dev": true
3179 | },
3180 | "queue-microtask": {
3181 | "version": "1.2.3",
3182 | "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
3183 | "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
3184 | "dev": true
3185 | },
3186 | "regexpp": {
3187 | "version": "3.2.0",
3188 | "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
3189 | "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
3190 | "dev": true
3191 | },
3192 | "resolve": {
3193 | "version": "1.22.1",
3194 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
3195 | "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
3196 | "dev": true,
3197 | "requires": {
3198 | "is-core-module": "^2.9.0",
3199 | "path-parse": "^1.0.7",
3200 | "supports-preserve-symlinks-flag": "^1.0.0"
3201 | }
3202 | },
3203 | "resolve-from": {
3204 | "version": "4.0.0",
3205 | "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
3206 | "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
3207 | "dev": true
3208 | },
3209 | "reusify": {
3210 | "version": "1.0.4",
3211 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
3212 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
3213 | "dev": true
3214 | },
3215 | "rimraf": {
3216 | "version": "3.0.2",
3217 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
3218 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
3219 | "dev": true,
3220 | "requires": {
3221 | "glob": "^7.1.3"
3222 | }
3223 | },
3224 | "rollup": {
3225 | "version": "3.9.1",
3226 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.9.1.tgz",
3227 | "integrity": "sha512-GswCYHXftN8ZKGVgQhTFUJB/NBXxrRGgO2NCy6E8s1rwEJ4Q9/VttNqcYfEvx4dTo4j58YqdC3OVztPzlKSX8w==",
3228 | "dev": true,
3229 | "requires": {
3230 | "fsevents": "~2.3.2"
3231 | }
3232 | },
3233 | "run-parallel": {
3234 | "version": "1.2.0",
3235 | "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
3236 | "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
3237 | "dev": true,
3238 | "requires": {
3239 | "queue-microtask": "^1.2.2"
3240 | }
3241 | },
3242 | "sade": {
3243 | "version": "1.8.1",
3244 | "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
3245 | "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
3246 | "dev": true,
3247 | "requires": {
3248 | "mri": "^1.1.0"
3249 | }
3250 | },
3251 | "set-cookie-parser": {
3252 | "version": "2.5.1",
3253 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz",
3254 | "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==",
3255 | "dev": true
3256 | },
3257 | "shebang-command": {
3258 | "version": "2.0.0",
3259 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
3260 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
3261 | "dev": true,
3262 | "requires": {
3263 | "shebang-regex": "^3.0.0"
3264 | }
3265 | },
3266 | "shebang-regex": {
3267 | "version": "3.0.0",
3268 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
3269 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
3270 | "dev": true
3271 | },
3272 | "sirv": {
3273 | "version": "2.0.2",
3274 | "resolved": "https://registry.npmjs.org/sirv/-/sirv-2.0.2.tgz",
3275 | "integrity": "sha512-4Qog6aE29nIjAOKe/wowFTxOdmbEZKb+3tsLljaBRzJwtqto0BChD2zzH0LhgCSXiI+V7X+Y45v14wBZQ1TK3w==",
3276 | "dev": true,
3277 | "requires": {
3278 | "@polka/url": "^1.0.0-next.20",
3279 | "mrmime": "^1.0.0",
3280 | "totalist": "^3.0.0"
3281 | }
3282 | },
3283 | "source-map-js": {
3284 | "version": "1.0.2",
3285 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
3286 | "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
3287 | "dev": true
3288 | },
3289 | "streamsearch": {
3290 | "version": "1.1.0",
3291 | "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
3292 | "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==",
3293 | "dev": true
3294 | },
3295 | "strip-ansi": {
3296 | "version": "6.0.1",
3297 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
3298 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
3299 | "dev": true,
3300 | "requires": {
3301 | "ansi-regex": "^5.0.1"
3302 | }
3303 | },
3304 | "strip-json-comments": {
3305 | "version": "3.1.1",
3306 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
3307 | "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
3308 | "dev": true
3309 | },
3310 | "supports-color": {
3311 | "version": "7.2.0",
3312 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
3313 | "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
3314 | "dev": true,
3315 | "requires": {
3316 | "has-flag": "^4.0.0"
3317 | }
3318 | },
3319 | "supports-preserve-symlinks-flag": {
3320 | "version": "1.0.0",
3321 | "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
3322 | "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
3323 | "dev": true
3324 | },
3325 | "svelte": {
3326 | "version": "3.55.0",
3327 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.55.0.tgz",
3328 | "integrity": "sha512-uGu2FVMlOuey4JoKHKrpZFkoYyj0VLjJdz47zX5+gVK5odxHM40RVhar9/iK2YFRVxvfg9FkhfVlR0sjeIrOiA=="
3329 | },
3330 | "svelte-french-toast": {
3331 | "version": "1.0.3",
3332 | "resolved": "https://registry.npmjs.org/svelte-french-toast/-/svelte-french-toast-1.0.3.tgz",
3333 | "integrity": "sha512-HBdutlqUx5FroucvcmMJstmTJDedXayiOSXubBYW6iL5x1PdHp+bOflGx5NxsOa6+EQckJnnVv1vJYgGsg7ngQ==",
3334 | "requires": {
3335 | "svelte-writable-derived": "^2.1.3"
3336 | }
3337 | },
3338 | "svelte-hmr": {
3339 | "version": "0.15.1",
3340 | "resolved": "https://registry.npmjs.org/svelte-hmr/-/svelte-hmr-0.15.1.tgz",
3341 | "integrity": "sha512-BiKB4RZ8YSwRKCNVdNxK/GfY+r4Kjgp9jCLEy0DuqAKfmQtpL38cQK3afdpjw4sqSs4PLi3jIPJIFp259NkZtA==",
3342 | "dev": true,
3343 | "requires": {}
3344 | },
3345 | "svelte-icons-pack": {
3346 | "version": "2.0.0",
3347 | "resolved": "https://registry.npmjs.org/svelte-icons-pack/-/svelte-icons-pack-2.0.0.tgz",
3348 | "integrity": "sha512-B0EjVQrdURQCY/n//vBmJA/cbrT6ngv6Ja4FXVXUlZjcSKhoXpIgmcQQ0lPH5PpCcJNKbDQYyxPnUW1KTrkWJA=="
3349 | },
3350 | "svelte-writable-derived": {
3351 | "version": "2.1.6",
3352 | "resolved": "https://registry.npmjs.org/svelte-writable-derived/-/svelte-writable-derived-2.1.6.tgz",
3353 | "integrity": "sha512-vqOXuiESMZyP/kt/RD+nOk2RVHNakDm1K1hmfeGAKc4jzcSp5hEkUi43MDbkVlMurkSBlcMVTQwRQy4LcBT2lw==",
3354 | "requires": {}
3355 | },
3356 | "text-table": {
3357 | "version": "0.2.0",
3358 | "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
3359 | "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
3360 | "dev": true
3361 | },
3362 | "tiny-glob": {
3363 | "version": "0.2.9",
3364 | "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz",
3365 | "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==",
3366 | "dev": true,
3367 | "requires": {
3368 | "globalyzer": "0.1.0",
3369 | "globrex": "^0.1.2"
3370 | }
3371 | },
3372 | "totalist": {
3373 | "version": "3.0.0",
3374 | "resolved": "https://registry.npmjs.org/totalist/-/totalist-3.0.0.tgz",
3375 | "integrity": "sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==",
3376 | "dev": true
3377 | },
3378 | "type-check": {
3379 | "version": "0.4.0",
3380 | "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
3381 | "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
3382 | "dev": true,
3383 | "requires": {
3384 | "prelude-ls": "^1.2.1"
3385 | }
3386 | },
3387 | "type-fest": {
3388 | "version": "0.20.2",
3389 | "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
3390 | "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
3391 | "dev": true
3392 | },
3393 | "undici": {
3394 | "version": "5.14.0",
3395 | "resolved": "https://registry.npmjs.org/undici/-/undici-5.14.0.tgz",
3396 | "integrity": "sha512-yJlHYw6yXPPsuOH0x2Ib1Km61vu4hLiRRQoafs+WUgX1vO64vgnxiCEN9dpIrhZyHFsai3F0AEj4P9zy19enEQ==",
3397 | "dev": true,
3398 | "requires": {
3399 | "busboy": "^1.6.0"
3400 | }
3401 | },
3402 | "uri-js": {
3403 | "version": "4.4.1",
3404 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
3405 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
3406 | "dev": true,
3407 | "requires": {
3408 | "punycode": "^2.1.0"
3409 | }
3410 | },
3411 | "vite": {
3412 | "version": "4.0.4",
3413 | "resolved": "https://registry.npmjs.org/vite/-/vite-4.0.4.tgz",
3414 | "integrity": "sha512-xevPU7M8FU0i/80DMR+YhgrzR5KS2ORy1B4xcX/cXLsvnUWvfHuqMmVU6N0YiJ4JWGRJJsLCgjEzKjG9/GKoSw==",
3415 | "dev": true,
3416 | "requires": {
3417 | "esbuild": "^0.16.3",
3418 | "fsevents": "~2.3.2",
3419 | "postcss": "^8.4.20",
3420 | "resolve": "^1.22.1",
3421 | "rollup": "^3.7.0"
3422 | }
3423 | },
3424 | "vitefu": {
3425 | "version": "0.2.4",
3426 | "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-0.2.4.tgz",
3427 | "integrity": "sha512-fanAXjSaf9xXtOOeno8wZXIhgia+CZury481LsDaV++lSvcU2R9Ch2bPh3PYFyoHW+w9LqAeYRISVQjUIew14g==",
3428 | "dev": true,
3429 | "requires": {}
3430 | },
3431 | "which": {
3432 | "version": "2.0.2",
3433 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
3434 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
3435 | "dev": true,
3436 | "requires": {
3437 | "isexe": "^2.0.0"
3438 | }
3439 | },
3440 | "word-wrap": {
3441 | "version": "1.2.3",
3442 | "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
3443 | "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
3444 | "dev": true
3445 | },
3446 | "wrappy": {
3447 | "version": "1.0.2",
3448 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
3449 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
3450 | "dev": true
3451 | },
3452 | "yocto-queue": {
3453 | "version": "0.1.0",
3454 | "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
3455 | "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
3456 | "dev": true
3457 | }
3458 | }
3459 | }
3460 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "svelte-shortener",
3 | "version": "0.0.1",
4 | "private": true,
5 | "scripts": {
6 | "dev": "vite dev",
7 | "build": "vite build",
8 | "preview": "vite preview",
9 | "lint": "prettier --plugin-search-dir . --check . && eslint .",
10 | "format": "prettier --plugin-search-dir . --write ."
11 | },
12 | "devDependencies": {
13 | "@sveltejs/adapter-auto": "^1.0.0",
14 | "@sveltejs/kit": "^1.0.0",
15 | "eslint": "^8.28.0",
16 | "eslint-config-prettier": "^8.5.0",
17 | "eslint-plugin-svelte3": "^4.0.0",
18 | "prettier": "^2.8.0",
19 | "prettier-plugin-svelte": "^2.8.1",
20 | "svelte": "^3.54.0",
21 | "vite": "^4.0.0"
22 | },
23 | "type": "module",
24 | "dependencies": {
25 | "pocketbase": "^0.9.1",
26 | "svelte-french-toast": "^1.0.3",
27 | "svelte-icons-pack": "^2.0.0"
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/pocketbase/.gitignore:
--------------------------------------------------------------------------------
1 | /pb_data*
2 | /pb_data_backup
3 | *.exe
--------------------------------------------------------------------------------
/pocketbase/pb_schema.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "id": "_pb_users_auth_",
4 | "name": "users",
5 | "type": "auth",
6 | "system": false,
7 | "schema": [
8 | {
9 | "id": "users_name",
10 | "name": "name",
11 | "type": "text",
12 | "system": false,
13 | "required": false,
14 | "unique": false,
15 | "options": {
16 | "min": null,
17 | "max": null,
18 | "pattern": ""
19 | }
20 | },
21 | {
22 | "id": "users_avatar",
23 | "name": "avatar",
24 | "type": "file",
25 | "system": false,
26 | "required": false,
27 | "unique": false,
28 | "options": {
29 | "maxSelect": 1,
30 | "maxSize": 5242880,
31 | "mimeTypes": [
32 | "image/jpg",
33 | "image/jpeg",
34 | "image/png",
35 | "image/svg+xml",
36 | "image/gif"
37 | ],
38 | "thumbs": null
39 | }
40 | }
41 | ],
42 | "listRule": null,
43 | "viewRule": null,
44 | "createRule": null,
45 | "updateRule": null,
46 | "deleteRule": null,
47 | "options": {
48 | "allowEmailAuth": true,
49 | "allowOAuth2Auth": false,
50 | "allowUsernameAuth": false,
51 | "exceptEmailDomains": null,
52 | "manageRule": null,
53 | "minPasswordLength": 8,
54 | "onlyEmailDomains": null,
55 | "requireEmail": true
56 | }
57 | },
58 | {
59 | "id": "b34feb3559zcnxc",
60 | "name": "links",
61 | "type": "base",
62 | "system": false,
63 | "schema": [
64 | {
65 | "id": "kqxzdonw",
66 | "name": "slug",
67 | "type": "text",
68 | "system": false,
69 | "required": true,
70 | "unique": true,
71 | "options": {
72 | "min": 2,
73 | "max": 32,
74 | "pattern": ""
75 | }
76 | },
77 | {
78 | "id": "aw3kniph",
79 | "name": "redirect",
80 | "type": "url",
81 | "system": false,
82 | "required": true,
83 | "unique": false,
84 | "options": {
85 | "exceptDomains": null,
86 | "onlyDomains": null
87 | }
88 | }
89 | ],
90 | "listRule": "",
91 | "viewRule": "",
92 | "createRule": "@request.auth.id != \"\" && @request.auth.verified = true",
93 | "updateRule": null,
94 | "deleteRule": null,
95 | "options": {}
96 | }
97 | ]
--------------------------------------------------------------------------------
/src/app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Svelte Shortener
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | %sveltekit.head%
13 |
14 |
15 | %sveltekit.body%
16 |
17 |
18 |
--------------------------------------------------------------------------------
/src/hooks.server.js:
--------------------------------------------------------------------------------
1 | import PocketBase from 'pocketbase';
2 | import { serializeNonPOJOs } from '$lib/utils';
3 | import { POCKETBASE_URL } from '$env/static/private';
4 |
5 | export const handle = async ({ event, resolve }) => {
6 | event.locals.pb = new PocketBase(POCKETBASE_URL);
7 | event.locals.pb.authStore.loadFromCookie(event.request.headers.get('cookie') || '');
8 |
9 | try {
10 | if (event.locals.pb.authStore.isValid) {
11 | await event.locals.pb.collection('users').authRefresh();
12 | event.locals.user = serializeNonPOJOs(event.locals.pb.authStore.model);
13 | }
14 | } catch (_) {
15 | event.locals.pb.authStore.clear();
16 | event.locals.user = undefined;
17 | }
18 |
19 | const response = await resolve(event);
20 | response.headers.set('set-cookie', event.locals.pb.authStore.exportToCookie({ secure: true }));
21 | return response;
22 | };
--------------------------------------------------------------------------------
/src/lib/utils.js:
--------------------------------------------------------------------------------
1 | export const serializeNonPOJOs = (obj) => {
2 | return structuredClone(obj);
3 | };
4 |
5 | export const pocketbase_url = 'http://127.0.0.1:8090';
6 |
7 | export const validURL = (str) => {
8 | var pattern = new RegExp('^(https?:\\/\\/)?'+
9 | '((([a-z\\d]([a-z\\d-]*[a-z\\d])*)\\.)+[a-z]{2,}|'+
10 | '((\\d{1,3}\\.){3}\\d{1,3}))'+
11 | '(\\:\\d+)?(\\/[-a-z\\d%_.~+]*)*'+
12 | '(\\?[;&a-z\\d%_.~+=-]*)?'+
13 | '(\\#[-a-z\\d_]*)?$','i');
14 | return !!pattern.test(str);
15 | };
16 |
17 | export const generateRandomSlug = () => {
18 | [...Array(Math.floor(Math.random() * (10 - 5 + 1)) + 5)].map(()=>(~~(Math.random()*36)).toString(36)).join('');
19 | };
--------------------------------------------------------------------------------
/src/routes/+error.svelte:
--------------------------------------------------------------------------------
1 |
7 |
8 | {#if $page}
9 |
10 |
11 |
{$page.status}: {$page.error.message}
12 |
Something went wrong.
13 |
14 |
15 |
16 | {/if}
17 |
18 |
107 |
--------------------------------------------------------------------------------
/src/routes/+layout.server.js:
--------------------------------------------------------------------------------
1 | export const load = ({ locals }) => {
2 | if (locals.user) {
3 | return {
4 | user: locals.user,
5 | };
6 | }
7 |
8 | return {
9 | user: undefined,
10 | };
11 | };
--------------------------------------------------------------------------------
/src/routes/+layout.svelte:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/src/routes/+page.server.js:
--------------------------------------------------------------------------------
1 | import { redirect, error } from '@sveltejs/kit';
2 | import { validURL, generateRandomSlug } from '$lib/utils';
3 |
4 | const reservedSlugs = ['login', 'generated'];
5 |
6 | export const load = ({ locals }) => {
7 | if (!locals.user) {
8 | throw redirect(303, '/login');
9 | }
10 | };
11 |
12 | export const actions = {
13 | shorten: async ({ request, locals }) => {
14 | const body = await request.formData();
15 |
16 | if (!body.get('redirect').startsWith('http' || 'https')) {
17 | body.set('redirect', `https://${body.get('redirect')}`);
18 | }
19 |
20 | if (!validURL(body.get('redirect'))) {
21 | throw error(400, 'Invalid URL');
22 | }
23 |
24 | if (!body.get('slug')) {
25 | body.set('slug', generateRandomSlug());
26 | }
27 |
28 | if (body.get('slug').includes('/')) {
29 | body.set('slug', body.get('slug').replace('/', '-'));
30 | }
31 |
32 | if (reservedSlugs.includes(body.get('slug'))) {
33 | throw error(400, 'Slug is reserved');
34 | }
35 |
36 | const data = {
37 | "slug": body.get('slug'),
38 | "redirect": body.get('redirect')
39 | };
40 |
41 | try {
42 | await locals.pb.collection('links').create(data);
43 | } catch (err) {
44 | console.log('Error: ', err);
45 | throw error(500, err);
46 | }
47 |
48 | throw redirect(303, `/generated/${body.get('slug')}`);
49 | }
50 | };
--------------------------------------------------------------------------------
/src/routes/+page.svelte:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 |

9 |
Svelte Shortener
10 |
Shorten your links
11 |
18 |
19 |
Built with
20 |
28 |
29 |
30 |
31 |
32 |
225 |
--------------------------------------------------------------------------------
/src/routes/[slug]/+page.server.js:
--------------------------------------------------------------------------------
1 | import { redirect, error } from '@sveltejs/kit';
2 |
3 | export const load = async ({ params, locals }) => {
4 | const slug = params.slug;
5 | const link = await locals.pb.collection('links').getFullList(undefined, { filter: `slug = "${slug}"` });
6 | if (link) {
7 | throw redirect(303, link[0].redirect);
8 | } else {
9 | throw error(404, 'Page not found');
10 | }
11 | };
--------------------------------------------------------------------------------
/src/routes/generated/[slug]/+page.svelte:
--------------------------------------------------------------------------------
1 |
12 |
13 |
14 |
15 | {#await host}
16 |
Loading shortened URL...
17 | {:then}
18 |
URL Shortened
19 |
20 |
21 | {host}/{$page.params.slug}
24 |
25 |
26 |
38 |
39 |
42 | {/await}
43 |
44 |
45 |
46 |
190 |
--------------------------------------------------------------------------------
/src/routes/login/+page.server.js:
--------------------------------------------------------------------------------
1 | import { error, redirect } from '@sveltejs/kit';
2 |
3 | export const actions = {
4 | login: async ({ request, locals }) => {
5 | const body = Object.fromEntries(await request.formData());
6 |
7 | try {
8 | await locals.pb.collection('users').authWithPassword(body.email, body.password);
9 | } catch (err) {
10 | console.log('Error: ', err);
11 | throw error(400, err.data.message);
12 | }
13 |
14 | throw redirect(303, '/');
15 | }
16 | };
--------------------------------------------------------------------------------
/src/routes/login/+page.svelte:
--------------------------------------------------------------------------------
1 |
28 |
29 |
30 |
31 |
Login
32 |
51 |
52 |
53 |
54 |
164 |
--------------------------------------------------------------------------------
/static/assets/pocketbase.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/svelte.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/assets/wavesBg.webp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GermanHeim/svelte-shortener/f4fc8197f9248f82ea00fe9749c15e41cf97e577/static/assets/wavesBg.webp
--------------------------------------------------------------------------------
/static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/GermanHeim/svelte-shortener/f4fc8197f9248f82ea00fe9749c15e41cf97e577/static/favicon.png
--------------------------------------------------------------------------------
/svelte.config.js:
--------------------------------------------------------------------------------
1 | import adapter from '@sveltejs/adapter-auto';
2 |
3 | /** @type {import('@sveltejs/kit').Config} */
4 | const config = {
5 | kit: {
6 | adapter: adapter()
7 | }
8 | };
9 |
10 | export default config;
11 |
--------------------------------------------------------------------------------
/vite.config.js:
--------------------------------------------------------------------------------
1 | import { sveltekit } from '@sveltejs/kit/vite';
2 |
3 | /** @type {import('vite').UserConfig} */
4 | const config = {
5 | plugins: [sveltekit()]
6 | };
7 |
8 | export default config;
9 |
--------------------------------------------------------------------------------